@charset "UTF-8";
div.c-color-block {
  display: inline-block;
  height: 126px;
  width: 126px; }
  div.c-color-block.v-green {
    background-color: #00E63C; }
  div.c-color-block.v-black {
    background-color: #000000; }
  div.c-color-block.v-red {
    background-color: #FF3C00; }
  div.c-color-block.v-pink {
    background-color: #F03CA5; }
  div.c-color-block.v-yellow {
    background-color: #FFE600; }
  div.c-color-block.v-blue {
    background-color: #0096FA; }
  div.c-color-block.v-grey {
    background-color: #E6E6E6; }

/**
 * @license
 * MyFonts Webfont Build ID 2700764, 2013-12-03T11:38:10-0500
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed Webfonts(s).
 *
 * You may obtain a valid license at the URLs below.
 *
 * Webfont: Corbel Bold Italic by Ascender
 * URL: http://www.myfonts.com/fonts/ascender/corbel/bold-italic/
 *
 * Webfont: Corbel by Ascender
 * URL: http://www.myfonts.com/fonts/ascender/corbel/regular/
 *
 * Webfont: Corbel Bold by Ascender
 * URL: http://www.myfonts.com/fonts/ascender/corbel/bold/
 *
 * Webfont: Corbel Italic by Ascender
 * URL: http://www.myfonts.com/fonts/ascender/corbel/italic/
 *
 *
 * License: http://www.myfonts.com/viewlicense?type=web&buildid=2700764
 * Licensed pageviews: 250,000
 * Webfonts copyright: &#x00A9; 2007 Microsoft Corporation. All Rights Reserved.
 *
 * © 2013 MyFonts Inc
*/
/* @import must be at top of file, otherwise CSS will not work */
@font-face {
  font-family: 'Corbel';
  font-weight: bold;
  font-style: italic;
  src: url('/static/fonts/corbel/2935DC_0_0.eot?803300173f2e');
  src: url('/static/fonts/corbel/2935DC_0_0.eot?&803300173f2e#iefix') format("embedded-opentype"), url('/static/fonts/corbel/2935DC_0_0.woff?803300173f2e') format("woff"), url('/static/fonts/corbel/2935DC_0_0.ttf?803300173f2e') format("truetype"), url('/static/fonts/corbel/2935DC_0_0.svg?803300173f2e#wf') format("svg"); }

@font-face {
  font-family: 'Corbel';
  font-weight: normal;
  font-style: normal;
  src: url('/static/fonts/corbel/2935DC_1_0.eot?803300173f2e');
  src: url('/static/fonts/corbel/2935DC_1_0.eot?&803300173f2e#iefix') format("embedded-opentype"), url('/static/fonts/corbel/2935DC_1_0.woff?803300173f2e') format("woff"), url('/static/fonts/corbel/2935DC_1_0.ttf?803300173f2e') format("truetype"), url('/static/fonts/corbel/2935DC_1_0.svg?803300173f2e#wf') format("svg"); }

@font-face {
  font-family: 'Corbel';
  font-weight: bold;
  font-style: normal;
  src: url('/static/fonts/corbel/2935DC_2_0.eot?803300173f2e');
  src: url('/static/fonts/corbel/2935DC_2_0.eot?&803300173f2e#iefix') format("embedded-opentype"), url('/static/fonts/corbel/2935DC_2_0.woff?803300173f2e') format("woff"), url('/static/fonts/corbel/2935DC_2_0.ttf?803300173f2e') format("truetype"), url('/static/fonts/corbel/2935DC_2_0.svg?803300173f2e#wf') format("svg"); }

@font-face {
  font-family: 'Corbel';
  font-weight: normal;
  font-style: italic;
  src: url('/static/fonts/corbel/2935DC_3_0.eot?803300173f2e');
  src: url('/static/fonts/corbel/2935DC_3_0.eot?&803300173f2e#iefix') format("embedded-opentype"), url('/static/fonts/corbel/2935DC_3_0.woff?803300173f2e') format("woff"), url('/static/fonts/corbel/2935DC_3_0.ttf?803300173f2e') format("truetype"), url('/static/fonts/corbel/2935DC_3_0.svg?803300173f2e#wf') format("svg"); }

/*
 * OTHER FONTS: Klavika and icons
 */
@font-face {
  font-family: 'Klavika';
  src: url('/static/fonts/klavika-bold-webfont.eot?803300173f2e');
  src: local("☺"), url('/static/fonts/klavika-bold-webfont.woff?803300173f2e') format("woff"), url('/static/fonts/klavika-bold-webfont.svg?803300173f2e') format("svg");
  font-weight: bold;
  font-style: normal; }

@font-face {
  font-family: 'Klavika';
  src: url('/static/fonts/klavika-regular-webfont.eot?803300173f2e');
  src: local("☺"), url('/static/fonts/klavika-regular-webfont.woff?803300173f2e') format("woff"), url('/static/fonts/klavika-regular-webfont.svg?803300173f2e') format("svg");
  font-weight: normal;
  font-style: normal; }

/**
   * @license
   * MyFonts Webfont Build ID 3187250, 2016-03-16T04:25:04-0400
   *
   * The fonts listed in this notice are subject to the End User License
   * Agreement(s) entered into by the website owner. All other parties are
   * explicitly restricted from using the Licensed Webfonts(s).
   *
   * You may obtain a valid license at the URLs below.
   *
   * Webfont: Campton-Book by Rene Bieder
   * URL: http://www.myfonts.com/fonts/rene-bieder/campton/book/
   *
   * Webfont: Campton-Medium by Rene Bieder
   * URL: http://www.myfonts.com/fonts/rene-bieder/campton/medium/
   *
   *
   * License: http://www.myfonts.com/viewlicense?type=web&buildid=3187250
   * Licensed pageviews: 10,000
   * Webfonts copyright: Copyright &#x00A9; 2014 by Ren&#x00E9; Bieder. All rights reserved.
   *
   * © 2016 MyFonts Inc
  */
/* @import must be at top of file, otherwise CSS will not work */
@font-face {
  font-family: 'Campton Book';
  src: url('/static/fonts/campton-webfonts/30E1AE_0_0.eot?803300173f2e');
  src: url('/static/fonts/campton-webfonts/30E1AE_0_0.eot?&803300173f2e#iefix') format("embedded-opentype"), url('/static/fonts/campton-webfonts/30E1AE_0_0.woff2?803300173f2e') format("woff2"), url('/static/fonts/campton-webfonts/30E1AE_0_0.woff?803300173f2e') format("woff"), url('/static/fonts/campton-webfonts/30E1AE_0_0.ttf?803300173f2e') format("truetype"); }

@font-face {
  font-family: 'Campton Medium';
  src: url('/static/fonts/campton-webfonts/30E1AE_1_0.eot?803300173f2e');
  src: url('/static/fonts/campton-webfonts/30E1AE_1_0.eot?&803300173f2e#iefix') format("embedded-opentype"), url('/static/fonts/campton-webfonts/30E1AE_1_0.woff2?803300173f2e') format("woff2"), url('/static/fonts/campton-webfonts/30E1AE_1_0.woff?803300173f2e') format("woff"), url('/static/fonts/campton-webfonts/30E1AE_1_0.ttf?803300173f2e') format("truetype"); }

@font-face {
  font-family: 'icons';
  src: url('/static/fonts/icomoon.ttf?nemo&803300173f2e') format("truetype");
  font-weight: normal;
  font-style: normal; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, button {
  -webkit-backface-visibility: hidden;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

* {
  box-sizing: border-box; }
  *::before, *::after {
    box-sizing: border-box;
    -webkit-backface-visibility: hidden; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  background: transparent;
  border-radius: 0; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

a {
  color: black;
  text-decoration: none; }

.c-pink-icon.v-arrow-down::after {
  font-size: 30px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-arrow-down::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-arrow-down::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-arrow-down::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-arrow-down::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-arrow-down::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-arrow-left::after {
  font-size: 50px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-arrow-left::after {
    font-size: 50px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-arrow-left::after {
    font-size: 50px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-arrow-left::after {
    font-size: 50px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-arrow-left::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-arrow-left::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-arrow-right::after {
  font-size: 50px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-arrow-right::after {
    font-size: 50px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-arrow-right::after {
    font-size: 50px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-arrow-right::after {
    font-size: 50px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-arrow-right::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-arrow-right::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ;";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-arrow-up::after {
  font-size: 50px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-arrow-up::after {
    font-size: 50px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-arrow-up::after {
    font-size: 50px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-arrow-up::after {
    font-size: 50px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-arrow-up::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-arrow-up::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-close::after {
  font-size: 25px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-close::after {
    font-size: 25px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-close::after {
    font-size: 25px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-close::after {
    font-size: 25px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-close::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-close::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-facebook::after {
  font-size: 35px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-facebook::after {
    font-size: 35px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-facebook::after {
    font-size: 35px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-facebook::after {
    font-size: 35px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-facebook::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-facebook::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-hamburger::after {
  font-size: 20px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-hamburger::after {
    font-size: 20px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-hamburger::after {
    font-size: 20px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-hamburger::after {
    font-size: 20px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-hamburger::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-hamburger::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-instagram::after {
  font-size: 40px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-instagram::after {
    font-size: 40px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-instagram::after {
    font-size: 40px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-instagram::after {
    font-size: 40px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-instagram::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-instagram::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-mail::after {
  font-size: 35px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-mail::after {
    font-size: 35px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-mail::after {
    font-size: 35px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-mail::after {
    font-size: 35px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-mail::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-mail::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-pinterest::after {
  font-size: 40px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-pinterest::after {
    font-size: 40px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-pinterest::after {
    font-size: 40px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-pinterest::after {
    font-size: 40px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-pinterest::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-pinterest::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-search::after {
  font-size: 25px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-search::after {
    font-size: 25px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-search::after {
    font-size: 25px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-search::after {
    font-size: 25px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-search::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-search::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-triangle-right::after {
  font-size: 16px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-triangle-right::after {
    font-size: 16px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-triangle-right::after {
    font-size: 16px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-triangle-right::after {
    font-size: 16px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-triangle-right::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-triangle-right::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-twitter::after {
  font-size: 22.5px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-twitter::after {
    font-size: 22.5px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-twitter::after {
    font-size: 22.5px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-twitter::after {
    font-size: 22.5px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-twitter::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-twitter::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-big-triangle-right::after {
  font-size: 30px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-big-triangle-right::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-big-triangle-right::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-big-triangle-right::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-big-triangle-right::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-big-triangle-right::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-big-triangle-left::after {
  font-size: 30px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-big-triangle-left::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-big-triangle-left::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-big-triangle-left::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-big-triangle-left::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-big-triangle-left::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-chevron-left::after {
  font-size: 30px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-chevron-left::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-chevron-left::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-chevron-left::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-chevron-left::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-chevron-left::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

.c-pink-icon.v-chevron-right::after {
  font-size: 30px;
  height: 50px;
  line-height: 50px;
  width: 50px; }

@media screen and (max-width: 1199px) {
  .c-pink-icon.v-chevron-right::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 899px) {
  .c-pink-icon.v-chevron-right::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

@media screen and (max-width: 529px) {
  .c-pink-icon.v-chevron-right::after {
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    width: 50px; } }

.c-pink-icon.v-chevron-right::after {
  background-color: #F03CA5;
  color: #000000; }

.c-pink-icon.v-chevron-right::after {
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-family: icons;
  content: " ";
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  vertical-align: bottom; }

/* A size variation of a configured c-text-icon-button-old */
/* A size variation of a configured c-text-icon-button */
.c-coloured-label {
  font-family: Campton Medium, sans-serif;
  font-size: 16px;
  line-height: 50px;
  text-decoration: none;
  color: #000000;
  display: inline-block;
  height: 50px;
  line-height: 50px;
  padding-left: 25px;
  padding-right: 25px;
  background-color: #00E63C; }
  body.theme-yellow .c-coloured-label {
    background-color: #FFE600; }
  body.theme-purple .c-coloured-label {
    background-color: #F03CA5; }
  body.theme-blue .c-coloured-label {
    background-color: #0096FA; }
  body.theme-orange .c-coloured-label {
    background-color: #FF3C00; }
  body.theme-green .c-coloured-label {
    background-color: #00E63C; }
  body.theme-pink .c-coloured-label {
    background-color: #F03CA5; }

.ribbon {
  font-family: Campton Medium, sans-serif;
  font-size: 16px;
  line-height: 50px;
  text-decoration: none;
  font-size: 12px;
  text-transform: uppercase;
  position: absolute;
  left: 0px;
  top: 0px;
  display: block;
  height: 30px;
  line-height: 30px;
  background-color: #00E63C;
  color: #000000;
  padding: 0 15px;
  z-index: 1; }
  .ribbon span {
    font-size: 16px; }

.ribbon-category {
  font-family: Campton Medium, sans-serif;
  font-size: 16px;
  line-height: 50px;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.5px;
  position: absolute;
  left: 0px;
  bottom: 0px;
  display: block;
  height: 30px;
  line-height: 30px;
  background-color: #000000;
  color: #FFFFFF;
  z-index: 1;
  padding: 0 22px; }
  @media screen and (max-width: 665px) {
    .ribbon-category {
      padding: 0 10px;
      width: 100%;
      overflow: hidden; } }

.page-representation__header .ribbon-category {
  font-weight: 300; }

.ribbon-mobile {
  font-family: Campton Medium, sans-serif;
  font-size: 16px;
  line-height: 50px;
  text-decoration: none;
  font-size: 12px;
  text-transform: uppercase;
  height: 20px;
  line-height: 20px;
  background-color: #00E63C;
  color: #000000;
  padding: 0 10px;
  z-index: 1;
  display: block;
  width: 100%;
  overflow: hidden; }

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased; }

.c-rich-text a:not(.contest-video):not(.button) {
  font-family: Campton Book, sans-serif;
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  text-transform: none;
  color: #000000;
  text-decoration: underline; }
  .c-rich-text a:not(.contest-video):not(.button):hover {
    text-decoration: none; }
  .c-rich-text a:not(.contest-video):not(.button)::-moz-selection {
    color: #FFFFFF; }
  .c-rich-text a:not(.contest-video):not(.button)::selection {
    color: #FFFFFF; }

.c-rich-text strong, .c-rich-text b {
  font-weight: bold; }

.c-rich-text em, .c-rich-text i {
  font-style: italic; }

.c-rich-text ol {
  font-family: Campton Book, sans-serif;
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  text-transform: none;
  counter-reset: foo;
  display: table; }
  .c-rich-text ol a:not(.contest-video):not(.button) {
    font-family: Campton Book, sans-serif;
    font-size: 16px;
    line-height: 24px;
    text-decoration: none;
    text-transform: none;
    color: #000000;
    text-decoration: underline; }
    .c-rich-text ol a:not(.contest-video):not(.button):hover {
      text-decoration: none; }
    .c-rich-text ol a:not(.contest-video):not(.button)::-moz-selection {
      color: #FFFFFF; }
    .c-rich-text ol a:not(.contest-video):not(.button)::selection {
      color: #FFFFFF; }
  .c-rich-text ol strong, .c-rich-text ol b {
    font-weight: bold; }
  .c-rich-text ol em, .c-rich-text ol i {
    font-style: italic; }
  .c-rich-text ol li {
    list-style: none;
    counter-increment: foo;
    display: table-row; }
    .c-rich-text ol li::before {
      content: counter(foo) ".";
      display: table-cell;
      text-align: right;
      padding-right: 11px; }

.c-rich-text ul {
  font-family: Campton Book, sans-serif;
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  text-transform: none;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-left: 7px; }
  .c-rich-text ul a:not(.contest-video):not(.button) {
    font-family: Campton Book, sans-serif;
    font-size: 16px;
    line-height: 24px;
    text-decoration: none;
    text-transform: none;
    color: #000000;
    text-decoration: underline; }
    .c-rich-text ul a:not(.contest-video):not(.button):hover {
      text-decoration: none; }
    .c-rich-text ul a:not(.contest-video):not(.button)::-moz-selection {
      color: #FFFFFF; }
    .c-rich-text ul a:not(.contest-video):not(.button)::selection {
      color: #FFFFFF; }
  .c-rich-text ul strong, .c-rich-text ul b {
    font-weight: bold; }
  .c-rich-text ul em, .c-rich-text ul i {
    font-style: italic; }
  .c-rich-text ul li {
    position: relative;
    display: block;
    padding-left: 25px;
    padding-bottom: 5px; }
  .c-rich-text ul:not(.content-list-downloads):not(.content-list-links):not(.arrangements):not(.page-share-wrapper) > li::before {
    content: "■";
    padding-right: 10px;
    color: #000000;
    position: relative;
    left: 0; }

.c-rich-text h3 {
  hyphens: none;
  font-family: Campton Book, sans-serif;
  font-size: 40px;
  line-height: 44px; }
  @media screen and (max-width: 529px) {
    .c-rich-text h3 {
      font-size: 26px;
      line-height: 30px; } }

.c-rich-text h4 {
  hyphens: none;
  font-family: Campton Medium, sans-serif;
  font-size: 18px;
  line-height: 25px; }

.animated {
  display: block;
  height: 100%;
  overflow: hidden;
  width: 100%; }
  .animated img {
    display: none; }
  .animated:before {
    content: ' ';
    height: 100%;
    position: absolute;
    width: 100%; }

.animated img:first-child {
  display: block; }

.theme-overview-page .theme-list .theme-selector:hover {
  top: 0; }

.discover-blocks {
  opacity: 0.0;
  transition: opacity 200ms ease-in; }
  .discover-blocks.masonry-initialized {
    opacity: 1.0; }

.discover-item {
  height: 320px;
  margin-bottom: 20px;
  width: 300px; }
  .discover-item.discover-item--base {
    height: 320px;
    width: 300px; }
    @media screen and (max-width: 659px) {
      .discover-item.discover-item--base {
        height: 0;
        padding-bottom: 106.66667%;
        width: 100%; } }
  .discover-item.discover-item--broad {
    height: 320px;
    width: 620px; }
    @media screen and (max-width: 659px) {
      .discover-item.discover-item--broad {
        height: 0;
        padding-bottom: 51.6129%;
        width: 100%; } }
  .discover-item.discover-item--long {
    height: 550px;
    width: 300px; }
    @media screen and (max-width: 659px) {
      .discover-item.discover-item--long {
        height: 0;
        padding-bottom: 183.33333%;
        width: 100%; } }
  .discover-item.discover-item--small {
    height: 210px;
    width: 300px; }
    @media screen and (max-width: 659px) {
      .discover-item.discover-item--small {
        height: 0;
        padding-bottom: 70%;
        width: 100%; } }
  .discover-item .discover-item__header {
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    top: auto;
    z-index: 4; }
    .discover-item .discover-item__header .discover-icon {
      content: '';
      background-color: #E6E6E6;
      display: block;
      height: 50px;
      position: absolute;
      bottom: auto;
      left: 0;
      right: auto;
      top: 0;
      width: 50px; }
  .discover-item .discover-item__title {
    background-color: #E6E6E6;
    padding: 20px;
    position: absolute;
    bottom: auto;
    left: 50px;
    right: auto;
    top: 50px;
    transition: transform 250ms ease;
    font: normal 400 26px/30px Campton Book, sans-serif;
    width: 215px; }
  .discover-item .experiment,
  .discover-item .qanda,
  .discover-item .tidbit,
  .discover-item .video-button,
  .discover-item img {
    height: 100%;
    width: 100%; }
  @media screen and (max-width: 659px) {
    .discover-item .experiment,
    .discover-item .qanda,
    .discover-item .tidbit {
      left: 0;
      position: absolute;
      top: 0; } }
  .discover-item:hover .discover-item__title {
    transform: translate(-50px, 0); }

.thema-zien-landing .v-grey + .page-section-pushcontent {
  background-color: #E6E6E6;
  transition: background-color 0.2s;
  margin-bottom: 0;
  max-width: 100%; }

.thema-zien-landing .page-section.page-section-content.v-white {
  padding-bottom: 0px; }

.thema-zien-landing :not(.v-grey) + .page-section-pushcontent .section-inner {
  background-color: #E6E6E6; }

.thema-zien-landing .page-section-pushcontent .section-inner {
  background-color: #FFFFFF;
  transition: background-color 0.2s;
  max-width: 780px; }

.thema-zien-landing .page-section-pushcontent .section-inner:hover {
  background-color: #00E63C; }

.thema-zien-landing .page-section-pushcontent figure {
  max-width: initial;
  width: 100%; }

.thema-zien-landing .page-section-pushcontent figure .e-desktop {
  display: none;
  height: 250px;
  object-fit: cover; }
  @media screen and (max-width: 979px) {
    .thema-zien-landing .page-section-pushcontent figure .e-desktop {
      height: 190px; } }
  @media screen and (max-width: 659px) {
    .thema-zien-landing .page-section-pushcontent figure .e-desktop {
      height: 130px; } }

.thema-zien-landing .page-section-pushcontent figure .e-mobile {
  display: inline-block;
  height: 250px;
  object-fit: cover; }
  @media screen and (max-width: 979px) {
    .thema-zien-landing .page-section-pushcontent figure .e-mobile {
      height: 190px; } }
  @media screen and (max-width: 659px) {
    .thema-zien-landing .page-section-pushcontent figure .e-mobile {
      height: 130px; } }

.thema-zien-landing .page-section-pushcontent .content-info {
  width: 100%;
  position: relative; }
  .thema-zien-landing .page-section-pushcontent .content-info .content-info__title {
    hyphens: none;
    font-size: 26px;
    line-height: 30px;
    padding-bottom: 20px; }

.thema-zien-landing .page-section-pushcontent .content-info::after {
  content: "";
  font-family: icons;
  font-size: 14px;
  line-height: 24px;
  text-align: center;
  width: 25px;
  height: 25px;
  position: absolute;
  display: block;
  padding-top: 1px;
  bottom: 0;
  right: 0;
  color: #000000;
  background: #00E63C;
  clear: left; }

.thema-zien-landing .page-section-pushcontent .content-info a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  opacity: 0; }

.thema-zien-landing .page-section-pushcontent .content-info p:not(:last-child) {
  margin-bottom: 0px; }

.thema-zien-landing .button-block {
  padding: 0;
  padding-bottom: 0px;
  margin-top: 20px;
  margin-bottom: 0px;
  text-align: left; }
  @media screen and (min-width: 980px) {
    .thema-zien-landing .button-block {
      text-align: left; } }
  @media screen and (min-width: 660px) {
    .thema-zien-landing .button-block {
      text-align: left; } }

.thema-zien-landing .page-section-content {
  padding-bottom: 20px;
  padding-top: 20px; }

.thema-zien-landing .page-section-content:nth-of-type(3), .thema-zien-landing #zo-te-zien-at-the-museum-anchor {
  padding-bottom: 0; }

.thema-zien-landing .page-section > h2 {
  padding-bottom: 20px; }

.thema-zien-landing .page-section:last-child {
  padding-top: 0px;
  padding-bottom: 40px; }

.thema-zien-landing .other-activities {
  max-width: 940px;
  margin-left: 60px;
  font-size: 0;
  margin-right: 20px; }
  @media screen and (min-width: 980px) {
    .thema-zien-landing .other-activities {
      margin-left: 80px;
      margin-right: 60px; } }
  @media screen and (max-width: 659px) {
    .thema-zien-landing .other-activities {
      margin-left: 20px;
      margin-right: 20px; } }
  .thema-zien-landing .other-activities .page-representation-simple, .thema-zien-landing .other-activities .page-representation {
    display: inline-block;
    width: 246px;
    margin-left: 0;
    margin-right: 20px; }
    @media screen and (max-width: 659px) {
      .thema-zien-landing .other-activities .page-representation-simple, .thema-zien-landing .other-activities .page-representation {
        width: 100%; } }
  .thema-zien-landing .other-activities .page-representation-simple:last-child, .thema-zien-landing .other-activities .page-representation:last-child {
    margin-right: 0px; }
  .thema-zien-landing .other-activities .c-grid-intro h2 {
    background-color: transparent;
    padding-top: 0px; }

.thema-zien-landing .figure-center-landscape.content-video, .thema-zien-landing .figure-left-landscape.content-video, .thema-zien-landing .figure-right-landscape.content-video {
  width: initial; }

.thema-zien-landing .figure-left-landscape.content-video {
  margin-right: 60px; }
  @media screen and (min-width: 980px) {
    .thema-zien-landing .figure-left-landscape.content-video {
      margin-right: 80px; } }
  @media screen and (max-width: 659px) {
    .thema-zien-landing .figure-left-landscape.content-video {
      margin-right: 20px; } }

.thema-zien-landing .discover-blocks {
  margin-left: 60px;
  margin-right: 20px; }
  @media screen and (min-width: 980px) {
    .thema-zien-landing .discover-blocks {
      margin-left: 80px; } }
  @media screen and (max-width: 659px) {
    .thema-zien-landing .discover-blocks {
      margin-left: 20px;
      margin-right: 20px; } }

.thema-zien-landing .discover-item {
  height: 266px;
  margin-bottom: 20px;
  width: 246px; }
  .thema-zien-landing .discover-item.discover-item--base {
    height: 266px;
    width: 246px; }
    @media screen and (max-width: 659px) {
      .thema-zien-landing .discover-item.discover-item--base {
        height: 0;
        padding-bottom: 108.13008%;
        width: 100%; } }
  .thema-zien-landing .discover-item.discover-item--broad {
    height: 266px;
    width: 512px; }
    @media screen and (max-width: 659px) {
      .thema-zien-landing .discover-item.discover-item--broad {
        height: 0;
        padding-bottom: 51.95312%;
        width: 100%; } }
  .thema-zien-landing .discover-item.discover-item--long {
    height: 550px;
    width: 246px; }
    @media screen and (max-width: 659px) {
      .thema-zien-landing .discover-item.discover-item--long {
        height: 0;
        padding-bottom: 223.57724%;
        width: 100%; } }
  .thema-zien-landing .discover-item.discover-item--small {
    height: 264px;
    width: 246px; }
    @media screen and (max-width: 659px) {
      .thema-zien-landing .discover-item.discover-item--small {
        height: 0;
        padding-bottom: 107.31707%;
        width: 100%; } }
  .thema-zien-landing .discover-item .discover-item__title {
    padding: 20px;
    position: absolute;
    bottom: auto;
    left: 50px;
    right: auto;
    top: 50px;
    transition: transform 250ms ease;
    font: normal 400 26px/30px Campton Book, sans-serif;
    width: 146px;
    font-size: 16px;
    line-height: 20px; }
  .thema-zien-landing .discover-item .discover-icon {
    background-color: #E6E6E6;
    display: block;
    height: 50px;
    position: absolute;
    bottom: auto;
    left: 0;
    right: auto;
    top: 0;
    width: 50px; }

.contest .discover-item__header .icon-contest {
  background: url('/static/discover/images/icon-si.svg') no-repeat center;
  background-color: #FF3C00; }

.contest .discover-item__title {
  background-color: #FF3C00; }

.contest-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start; }

.contest-image {
  margin-bottom: 30px;
  margin-right: 30px;
  position: relative;
  width: calc(33.33333% - 30px); }
  @media screen and (max-width: 1023px) {
    .contest-image {
      width: calc(50% - 30px); } }
  @media screen and (max-width: 659px) {
    .contest-image {
      width: calc(100% - 30px); } }
  .contest-image img {
    width: 100%; }
  .contest-image figcaption {
    font: normal 400 20px/30px Campton Book, sans-serif; }

.ranking {
  position: absolute;
  bottom: auto;
  left: 10px;
  right: auto;
  top: 10px;
  z-index: 2; }
  .ranking .ranking__container {
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    top: auto; }
  .ranking .ranking__number {
    align-items: center;
    color: #000000;
    display: flex;
    flex-direction: row;
    justify-content: center;
    height: 42px;
    position: absolute;
    bottom: auto;
    left: 0;
    right: auto;
    top: 0;
    font: normal 400 16px/22px Campton Medium, sans-serif;
    width: 40px; }
  .ranking.ranking--rank-1 .ranking__prize {
    fill: #cfb53b; }
  .ranking.ranking--rank-2 .ranking__prize {
    fill: #e6e8fa; }
  .ranking.ranking--rank-3 .ranking__prize {
    fill: #8c7853; }

.discover-conclusion {
  background-color: #00E63C; }
  .discover-detail-content .discover-conclusion.discover-detail-content__main:last-child {
    flex-grow: 1;
    padding: 0; }
  .discover-conclusion .discover-conclusion__switch-button[aria-expanded='true'] {
    display: none; }
  .discover-conclusion .discover-conclusion__switch-button[aria-expanded='false'] {
    display: block; }
  .discover-conclusion .discover-conclusion__title {
    margin-bottom: 20px;
    font: normal 400 26px/34px Campton Book, sans-serif; }
  .discover-conclusion .discover-conclusion__initial {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    transition: opacity 200ms ease-in; }
  .discover-conclusion .discover-conclusion__switch-button {
    font-family: Campton Medium, sans-serif;
    font-size: 16px;
    line-height: 50px;
    text-decoration: none;
    text-transform: none;
    height: 50px;
    line-height: 50px;
    padding-left: 25px;
    padding-right: 0;
    background-color: #00E63C;
    color: #000000;
    display: inline-block;
    vertical-align: bottom;
    background-color: #FFFFFF; }
    .discover-conclusion .discover-conclusion__switch-button::after {
      font-size: 16px;
      height: 50px;
      line-height: 50px;
      width: 50px;
      margin-right: 10px; }
    @media screen and (max-width: 1199px) {
      .discover-conclusion .discover-conclusion__switch-button::after {
        font-size: 16px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    @media screen and (max-width: 899px) {
      .discover-conclusion .discover-conclusion__switch-button::after {
        font-size: 16px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    @media screen and (max-width: 529px) {
      .discover-conclusion .discover-conclusion__switch-button::after {
        font-size: 16px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    @media screen and (max-width: 1199px) {
      .discover-conclusion .discover-conclusion__switch-button {
        height: 50px;
        line-height: 50px; } }
    @media screen and (max-width: 899px) {
      .discover-conclusion .discover-conclusion__switch-button {
        height: 50px;
        line-height: 50px;
        padding-right: 7px; }
        .discover-conclusion .discover-conclusion__switch-button::after {
          margin-right: 7px; } }
    @media screen and (max-width: 529px) {
      .discover-conclusion .discover-conclusion__switch-button {
        height: 50px;
        line-height: 50px; } }
    .discover-conclusion .discover-conclusion__switch-button::after {
      font-size: 16px;
      height: 50px;
      line-height: 50px;
      width: 50px; }
    @media screen and (max-width: 1199px) {
      .discover-conclusion .discover-conclusion__switch-button::after {
        font-size: 16px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    @media screen and (max-width: 899px) {
      .discover-conclusion .discover-conclusion__switch-button::after {
        font-size: 16px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    @media screen and (max-width: 529px) {
      .discover-conclusion .discover-conclusion__switch-button::after {
        font-size: 16px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    .discover-conclusion .discover-conclusion__switch-button::after {
      background-color: transparent;
      color: #000000; }
    .discover-conclusion .discover-conclusion__switch-button::after {
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      font-family: icons;
      content: " ";
      box-sizing: border-box;
      display: inline-block;
      text-align: center;
      text-decoration: none;
      vertical-align: bottom; }
    .discover-conclusion .discover-conclusion__switch-button.v-green {
      background-color: #00E63C;
      color: #000000; }
      .discover-conclusion .discover-conclusion__switch-button.v-green::before, .discover-conclusion .discover-conclusion__switch-button.v-green::after {
        background-color: transparent;
        color: #000000; }
    .discover-conclusion .discover-conclusion__switch-button.v-black {
      background-color: #000000;
      color: #FFFFFF; }
      .discover-conclusion .discover-conclusion__switch-button.v-black::before, .discover-conclusion .discover-conclusion__switch-button.v-black::after {
        background-color: transparent;
        color: #FFFFFF; }
    .discover-conclusion .discover-conclusion__switch-button.v-grey {
      background-color: #E6E6E6;
      color: #000000; }
      .discover-conclusion .discover-conclusion__switch-button.v-grey::before, .discover-conclusion .discover-conclusion__switch-button.v-grey::after {
        background-color: transparent;
        color: #000000; }
    .discover-conclusion .discover-conclusion__switch-button.v-yellow {
      background-color: #000000;
      color: #FFE600; }
      .discover-conclusion .discover-conclusion__switch-button.v-yellow::before, .discover-conclusion .discover-conclusion__switch-button.v-yellow::after {
        background-color: transparent;
        color: #FFE600; }
    .discover-conclusion .discover-conclusion__switch-button.v-iyellow {
      background-color: #FFE600;
      color: #000000; }
      .discover-conclusion .discover-conclusion__switch-button.v-iyellow::before, .discover-conclusion .discover-conclusion__switch-button.v-iyellow::after {
        background-color: transparent;
        color: #000000; }
    .discover-conclusion .discover-conclusion__switch-button:hover, .discover-conclusion .discover-conclusion__switch-button.on-hover, .discover-conclusion .discover-conclusion__switch-button:active, .discover-conclusion .discover-conclusion__switch-button.on-click {
      background-color: #000000;
      color: #FFFFFF;
      cursor: pointer;
      text-decoration: none; }
      .discover-conclusion .discover-conclusion__switch-button:hover::after, .discover-conclusion .discover-conclusion__switch-button.on-hover::after, .discover-conclusion .discover-conclusion__switch-button:active::after, .discover-conclusion .discover-conclusion__switch-button.on-click::after {
        color: #FFFFFF; }
      .discover-conclusion .discover-conclusion__switch-button:hover.v-black, .discover-conclusion .discover-conclusion__switch-button.on-hover.v-black, .discover-conclusion .discover-conclusion__switch-button:active.v-black, .discover-conclusion .discover-conclusion__switch-button.on-click.v-black {
        background-color: #FFFFFF;
        color: #000000; }
        .discover-conclusion .discover-conclusion__switch-button:hover.v-black::after, .discover-conclusion .discover-conclusion__switch-button.on-hover.v-black::after, .discover-conclusion .discover-conclusion__switch-button:active.v-black::after, .discover-conclusion .discover-conclusion__switch-button.on-click.v-black::after {
          background-color: #FFFFFF;
          color: #000000; }
      .discover-conclusion .discover-conclusion__switch-button:hover:before, .discover-conclusion .discover-conclusion__switch-button.on-hover:before, .discover-conclusion .discover-conclusion__switch-button:active:before, .discover-conclusion .discover-conclusion__switch-button.on-click:before {
        color: #fff; }
  .discover-conclusion .discover-conclusion__switch[aria-hidden='fals'] {
    display: block;
    transform: scale(1);
    animation-name: discover-conclusion__switch;
    animation-duration: 200ms; }

@keyframes discover-conclusion__switch {
  0% {
    transform: scale(0); }
  100% {
    transform: scale(1); } }
  .discover-conclusion .discover-conclusion__switch[aria-hidden='true'] {
    display: none;
    transform: scale(0);
    transform-origin: 50px 25px;
    transition: transform 200ms ease-in; }
    @media screen and (max-width: 979px) {
      .discover-conclusion .discover-conclusion__switch[aria-hidden='true'] {
        padding-bottom: 20px; } }
  .discover-conclusion .experiment-conclusion .conclusion-inner {
    max-width: 940px;
    width: 100%; }
    @media screen and (max-width: 979px) {
      .discover-conclusion .experiment-conclusion .conclusion-inner {
        max-width: 620px; } }
  .discover-conclusion .experiment-conclusion h2 {
    hyphens: none;
    font-family: Campton Book, sans-serif;
    font-size: 40px;
    line-height: 44px;
    padding-bottom: 15px; }
    @media screen and (max-width: 529px) {
      .discover-conclusion .experiment-conclusion h2 {
        font-size: 26px;
        line-height: 30px; } }
  .discover-conclusion .experiment-conclusion .hidden {
    display: none; }
    .discover-conclusion .experiment-conclusion .hidden::after {
      clear: both;
      content: "";
      display: table; }
    .discover-conclusion .experiment-conclusion .hidden figure {
      background-color: #000000;
      float: left;
      height: 300px;
      margin-bottom: 30px;
      width: 380px; }
      .discover-conclusion .experiment-conclusion .hidden figure img {
        width: 100%;
        height: 100%; }
    .discover-conclusion .experiment-conclusion .hidden p {
      font-family: Campton Book, sans-serif;
      font-size: 16px;
      line-height: 24px;
      text-decoration: none;
      text-transform: none;
      float: left;
      margin: 0;
      padding: 0 20px;
      width: calc(100% - 380px); }
    @media screen and (max-width: 999px) {
      .discover-conclusion .experiment-conclusion .hidden figure {
        height: 0;
        padding-bottom: 78.94737%;
        position: relative;
        width: 100%; }
      .discover-conclusion .experiment-conclusion .hidden p {
        max-width: 400px;
        width: 100%; }
      .discover-conclusion .experiment-conclusion .hidden img {
        left: 0;
        position: absolute;
        top: 0; } }

.discover-content a:not(.contest-video):not(.button) {
  font-family: Campton Book, sans-serif;
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  text-transform: none;
  color: #000000;
  text-decoration: underline; }
  .discover-content a:not(.contest-video):not(.button):hover {
    text-decoration: none; }
  .discover-content a:not(.contest-video):not(.button)::-moz-selection {
    color: #FFFFFF; }
  .discover-content a:not(.contest-video):not(.button)::selection {
    color: #FFFFFF; }

.discover-content strong, .discover-content b {
  font-weight: bold; }

.discover-content em, .discover-content i {
  font-style: italic; }

.discover-content figure {
  position: relative; }

.discover-content figcaption span:nth-child(1) {
  color: #FFFFFF;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 10px 8px;
  position: absolute;
  bottom: auto;
  left: 0;
  right: auto;
  top: 0;
  font: normal 400 13px/20px Campton Medium, sans-serif;
  width: 100%;
  padding-right: 160px; }

.discover-content figcaption span:nth-child(2) {
  cursor: pointer;
  display: block;
  padding: 6px 8px;
  position: absolute;
  bottom: auto;
  left: auto;
  right: 0;
  top: 0; }
  .discover-content figcaption span:nth-child(2)::after {
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    font-family: icons;
    content: " ";
    font-size: 16px;
    color: #E6E6E6; }

.discover-content img {
  height: auto;
  width: 100%; }

.discover-content ul {
  font-family: Campton Book, sans-serif;
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  text-transform: none;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-left: 7px; }
  .discover-content ul a:not(.contest-video):not(.button) {
    font-family: Campton Book, sans-serif;
    font-size: 16px;
    line-height: 24px;
    text-decoration: none;
    text-transform: none;
    color: #000000;
    text-decoration: underline; }
    .discover-content ul a:not(.contest-video):not(.button):hover {
      text-decoration: none; }
    .discover-content ul a:not(.contest-video):not(.button)::-moz-selection {
      color: #FFFFFF; }
    .discover-content ul a:not(.contest-video):not(.button)::selection {
      color: #FFFFFF; }
  .discover-content ul strong, .discover-content ul b {
    font-weight: bold; }
  .discover-content ul em, .discover-content ul i {
    font-style: italic; }
  .discover-content ul li {
    position: relative;
    display: block;
    padding-left: 25px;
    padding-bottom: 5px; }
  .discover-content ul:not(.content-list-downloads):not(.content-list-links):not(.arrangements):not(.page-share-wrapper) > li::before {
    content: "■";
    padding-right: 10px;
    color: #000000;
    position: relative;
    left: 0; }

.discover-content ol {
  font-family: Campton Book, sans-serif;
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  text-transform: none;
  counter-reset: foo;
  display: table; }
  .discover-content ol a:not(.contest-video):not(.button) {
    font-family: Campton Book, sans-serif;
    font-size: 16px;
    line-height: 24px;
    text-decoration: none;
    text-transform: none;
    color: #000000;
    text-decoration: underline; }
    .discover-content ol a:not(.contest-video):not(.button):hover {
      text-decoration: none; }
    .discover-content ol a:not(.contest-video):not(.button)::-moz-selection {
      color: #FFFFFF; }
    .discover-content ol a:not(.contest-video):not(.button)::selection {
      color: #FFFFFF; }
  .discover-content ol strong, .discover-content ol b {
    font-weight: bold; }
  .discover-content ol em, .discover-content ol i {
    font-style: italic; }
  .discover-content ol li {
    list-style: none;
    counter-increment: foo;
    display: table-row; }
    .discover-content ol li::before {
      content: counter(foo) ".";
      display: table-cell;
      text-align: right;
      padding-right: 11px; }

.discover-content a {
  font-weight: normal;
  text-decoration: underline; }

.discover-content p, .discover-content ul, .discover-content ol {
  margin-bottom: 20px;
  font: normal 400 20px/30px Campton Book, sans-serif; }
  .discover-content p:last-child, .discover-content ul:last-child, .discover-content ol:last-child {
    margin-bottom: 0; }

.discover-content h3 {
  font: normal 400 26px/34px Campton Book, sans-serif; }

.discover-content h4 {
  font: normal 400 26px/30px Campton Book, sans-serif; }

.discover-content form {
  background-color: transparent;
  margin-bottom: 30px;
  padding: 0; }
  .discover-content form .errorlist {
    margin-left: 200px;
    width: 320px; }

.discover-content.discover-content--portrait img {
  height: 400px;
  width: auto; }

.show-caption {
  color: #FFFFFF;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 10px 8px;
  position: absolute;
  bottom: auto;
  left: 0;
  right: auto;
  top: 0;
  font: normal 400 13px/20px Campton Medium, sans-serif;
  z-index: 9999;
  cursor: pointer;
  display: block;
  padding: 6px 8px;
  position: absolute;
  bottom: auto;
  left: auto;
  right: 0;
  top: 0; }
  .show-caption::after {
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    font-family: icons;
    content: " ";
    font-size: 16px;
    color: #E6E6E6; }

.show-caption:focus-within {
  outline: 2px solid #295DC7; }

.caption-text {
  display: none; }

.caption-text--open {
  display: block; }

.discover-detail-aside {
  background-color: #FFFFFF;
  display: flex;
  flex-direction: column;
  height: auto;
  min-width: 260px;
  position: relative;
  bottom: auto;
  left: auto;
  right: auto;
  top: auto;
  width: 260px; }
  @media screen and (max-width: 1023px) {
    .discover-detail-aside {
      position: static;
      bottom: auto;
      left: auto;
      right: auto;
      top: auto;
      width: 100%; } }
  .discover-detail-aside .discover-detail-aside__related {
    background-color: #FFFFFF;
    flex-grow: 1;
    padding: 30px 30px 100px;
    width: 100%; }
    @media screen and (max-width: 1023px) {
      .discover-detail-aside .discover-detail-aside__related {
        margin-top: 0; } }
  .discover-detail-aside .discover-detail-aside__related-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly; }
  .discover-detail-aside .discover-related-item:not(:last-child) {
    margin-bottom: 30px; }
  @media screen and (max-width: 1023px) {
    .discover-detail-aside .discover-related-item {
      margin-bottom: 30px;
      margin-left: 40px;
      margin-right: 40px; } }
  @media screen and (max-width: 659px) {
    .discover-detail-aside .discover-related-item {
      margin-right: 0;
      margin-left: 0; } }
  .discover-detail-aside .discover-detail-aside__title {
    font: normal 400 26px/30px Campton Book, sans-serif;
    margin-bottom: 30px; }

.discover-detail-aside__back {
  display: flex;
  flex-direction: row;
  overflow: hidden;
  font-family: Campton Medium, sans-serif;
  font-size: 16px;
  line-height: 50px;
  text-decoration: none;
  text-transform: none;
  height: 50px;
  line-height: 50px;
  padding-left: 0;
  padding-right: 25px;
  background-color: #00E63C;
  color: #000000;
  display: inline-block;
  vertical-align: bottom;
  padding: 0;
  width: auto; }
  .discover-detail-aside__back::before {
    font-size: 16px;
    height: 50px;
    line-height: 50px;
    width: 50px;
    margin-left: 10px; }
  @media screen and (max-width: 1199px) {
    .discover-detail-aside__back::before {
      font-size: 16px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  @media screen and (max-width: 899px) {
    .discover-detail-aside__back::before {
      font-size: 16px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  @media screen and (max-width: 529px) {
    .discover-detail-aside__back::before {
      font-size: 16px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  @media screen and (max-width: 1199px) {
    .discover-detail-aside__back {
      height: 50px;
      line-height: 50px; } }
  @media screen and (max-width: 899px) {
    .discover-detail-aside__back {
      height: 50px;
      line-height: 50px;
      padding-left: 7px; }
      .discover-detail-aside__back::before {
        margin-left: 7px; } }
  @media screen and (max-width: 529px) {
    .discover-detail-aside__back {
      height: 50px;
      line-height: 50px; } }
  .discover-detail-aside__back::before {
    font-size: 16px;
    height: 50px;
    line-height: 50px;
    width: 50px; }
  @media screen and (max-width: 1199px) {
    .discover-detail-aside__back::before {
      font-size: 16px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  @media screen and (max-width: 899px) {
    .discover-detail-aside__back::before {
      font-size: 16px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  @media screen and (max-width: 529px) {
    .discover-detail-aside__back::before {
      font-size: 16px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  .discover-detail-aside__back::before {
    background-color: transparent;
    color: #000000; }
  .discover-detail-aside__back::before {
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    font-family: icons;
    content: " ";
    box-sizing: border-box;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    vertical-align: bottom; }
  .discover-detail-aside__back.v-green {
    background-color: #00E63C;
    color: #000000; }
    .discover-detail-aside__back.v-green::before, .discover-detail-aside__back.v-green::after {
      background-color: transparent;
      color: #000000; }
  .discover-detail-aside__back.v-black {
    background-color: #000000;
    color: #FFFFFF; }
    .discover-detail-aside__back.v-black::before, .discover-detail-aside__back.v-black::after {
      background-color: transparent;
      color: #FFFFFF; }
  .discover-detail-aside__back.v-grey {
    background-color: #E6E6E6;
    color: #000000; }
    .discover-detail-aside__back.v-grey::before, .discover-detail-aside__back.v-grey::after {
      background-color: transparent;
      color: #000000; }
  .discover-detail-aside__back.v-yellow {
    background-color: #000000;
    color: #FFE600; }
    .discover-detail-aside__back.v-yellow::before, .discover-detail-aside__back.v-yellow::after {
      background-color: transparent;
      color: #FFE600; }
  .discover-detail-aside__back.v-iyellow {
    background-color: #FFE600;
    color: #000000; }
    .discover-detail-aside__back.v-iyellow::before, .discover-detail-aside__back.v-iyellow::after {
      background-color: transparent;
      color: #000000; }
  .discover-detail-aside__back:hover, .discover-detail-aside__back.on-hover, .discover-detail-aside__back:active, .discover-detail-aside__back.on-click {
    background-color: #000000;
    color: #FFFFFF;
    cursor: pointer;
    text-decoration: none; }
    .discover-detail-aside__back:hover::after, .discover-detail-aside__back.on-hover::after, .discover-detail-aside__back:active::after, .discover-detail-aside__back.on-click::after {
      color: #FFFFFF; }
    .discover-detail-aside__back:hover.v-black, .discover-detail-aside__back.on-hover.v-black, .discover-detail-aside__back:active.v-black, .discover-detail-aside__back.on-click.v-black {
      background-color: #FFFFFF;
      color: #000000; }
      .discover-detail-aside__back:hover.v-black::after, .discover-detail-aside__back.on-hover.v-black::after, .discover-detail-aside__back:active.v-black::after, .discover-detail-aside__back.on-click.v-black::after {
        background-color: #FFFFFF;
        color: #000000; }
    .discover-detail-aside__back:hover:before, .discover-detail-aside__back.on-hover:before, .discover-detail-aside__back:active:before, .discover-detail-aside__back.on-click:before {
      color: #fff; }
  .discover-detail-aside__back::before {
    font-size: 16px;
    height: 50px;
    line-height: 50px;
    width: 50px; }
  @media screen and (max-width: 1199px) {
    .discover-detail-aside__back::before {
      font-size: 16px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  @media screen and (max-width: 899px) {
    .discover-detail-aside__back::before {
      font-size: 16px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  @media screen and (max-width: 529px) {
    .discover-detail-aside__back::before {
      font-size: 16px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  .discover-detail-aside__back::before {
    background-color: transparent;
    color: #000000; }
  .discover-detail-aside__back::before {
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    font-family: icons;
    content: " ";
    box-sizing: border-box;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    vertical-align: bottom;
    margin-left: 20px;
    margin-right: 5px;
    width: auto; }
  .discover-detail-aside__back:last-child {
    margin-bottom: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    right: auto;
    top: auto; }
    @media screen and (min-width: 530px) and (max-width: 1023px) {
      .discover-detail-aside__back:last-child {
        display: none; } }
    @media screen and (max-width: 529px) {
      .discover-detail-aside__back:last-child {
        width: 100%; } }
  @media screen and (max-width: 1023px) {
    .discover-detail-aside__back {
      min-width: 260px;
      padding: 0;
      position: absolute;
      bottom: auto;
      left: auto;
      right: 0;
      top: 0;
      width: 260px; } }
  @media screen and (max-width: 529px) {
    .discover-detail-aside__back {
      min-width: 120px;
      width: 120px; } }
  @media screen and (max-width: 529px) {
    .discover-detail-aside__back .landscape {
      display: none; } }
  .discover-detail-aside__back .mobile {
    display: none; }
    @media screen and (max-width: 529px) {
      .discover-detail-aside__back .mobile {
        display: inline-block; } }

.discover-detail-aside .discover-detail-aside__back:last-child {
  left: 0;
  right: auto;
  margin-bottom: 0;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: auto;
  top: auto; }
  @media screen and (min-width: 530px) and (max-width: 1023px) {
    .discover-detail-aside .discover-detail-aside__back:last-child {
      display: none; } }
  @media screen and (max-width: 529px) {
    .discover-detail-aside .discover-detail-aside__back:last-child {
      width: 100%; } }

.discover-detail-aside__related {
  position: relative; }

.discover-detail-aside {
  position: relative;
  padding-top: 75px; }
  .discover-detail-aside .discover-detail-aside__related {
    padding-top: 0; }

.discover-experiment-page .discover-detail-aside {
  margin-top: 250px; }
  @media screen and (max-width: 1023px) {
    .discover-experiment-page .discover-detail-aside {
      margin-top: 0; } }

.discover-experiment-page .discover-detail-aside__back {
  display: block;
  height: 51px;
  padding-right: 20px;
  max-width: 260px;
  width: 100%;
  z-index: 100;
  position: absolute;
  top: 250px;
  right: 0; }
  @media screen and (max-width: 899px) {
    .discover-experiment-page .discover-detail-aside__back {
      width: 120px;
      min-width: 120px; } }

.discover-experiment-page .discover-detail-aside .discover-detail-aside__back {
  margin-bottom: 0; }

.discover-tidbit-page .discover-detail-aside,
.discover-qanda-page .discover-detail-aside {
  margin-top: 50px;
  padding-top: 80px; }
  @media screen and (max-width: 1023px) {
    .discover-tidbit-page .discover-detail-aside,
    .discover-qanda-page .discover-detail-aside {
      margin-top: 0; } }

.discover-tidbit-page .discover-detail-aside__back,
.discover-qanda-page .discover-detail-aside__back {
  display: block;
  height: 51px;
  padding-right: 20px;
  max-width: 260px;
  width: 100%;
  z-index: 100;
  position: absolute;
  top: 50px;
  right: 0; }
  @media screen and (max-width: 899px) {
    .discover-tidbit-page .discover-detail-aside__back,
    .discover-qanda-page .discover-detail-aside__back {
      width: 120px;
      min-width: 120px; } }

.discover-qanda-page .discover-detail-aside .discover-detail-aside__back {
  margin-bottom: 0; }

.discover-detail-content {
  display: flex;
  flex-direction: row;
  position: relative;
  bottom: auto;
  left: auto;
  right: auto;
  top: auto;
  z-index: 2; }
  @media screen and (max-width: 1023px) {
    .discover-detail-content {
      flex-direction: column; } }
  .discover-detail-content .discover-detail-content__title {
    margin-bottom: 50px;
    font: normal 400 60px/62px Campton Book, sans-serif; }
    @media screen and (max-width: 659px) {
      .discover-detail-content .discover-detail-content__title {
        margin-bottom: 20px;
        font: normal 400 40px/42px Campton Book, sans-serif; } }
  .discover-detail-content .discover-detail-content__label {
    align-items: center;
    background-color: #E6E6E6;
    display: flex;
    flex-direction: row;
    height: 50px;
    padding: 10px;
    position: absolute;
    bottom: auto;
    left: auto;
    right: 260px;
    top: 50px;
    font: normal 400 16px/22px Campton Medium, sans-serif; }
    .discover-detail-content .discover-detail-content__label::before {
      content: '';
      display: inline-block;
      height: 50px;
      width: 50px; }
    .discover-detail-content .discover-detail-content__label span {
      margin: 0 10px;
      position: relative;
      bottom: auto;
      left: auto;
      right: auto;
      top: 2px; }
    @media screen and (max-width: 899px) {
      .discover-detail-content .discover-detail-content__label {
        right: 120px; } }
  .discover-detail-content .discover-detail-content__wrapper {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    width: 100%; }
  .discover-detail-content .discover-detail-content__main {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    align-items: flex-start;
    height: auto;
    margin-left: 200px;
    width: 100%; }
    .discover-detail-content .discover-detail-content__main:not(:last-child) {
      flex-grow: 0; }
    .discover-detail-content .discover-detail-content__main:last-child {
      padding-bottom: 50px; }
      @media screen and (max-width: 659px) {
        .discover-detail-content .discover-detail-content__main:last-child {
          padding-bottom: 25px; } }
    @media screen and (max-width: 1299px) {
      .discover-detail-content .discover-detail-content__main {
        margin-left: 0;
        width: 100%; } }
    @media screen and (max-width: 659px) {
      .discover-detail-content .discover-detail-content__main {
        align-items: center; } }
  .discover-detail-content .discover-detail-content__main-wrapper {
    padding: 50px 80px;
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    top: auto;
    width: 844px; }
    @media screen and (max-width: 1299px) {
      .discover-detail-content .discover-detail-content__main-wrapper {
        padding: 50px;
        width: 764px; } }
    @media screen and (max-width: 1023px) {
      .discover-detail-content .discover-detail-content__main-wrapper {
        width: 100%; } }
    @media screen and (max-width: 659px) {
      .discover-detail-content .discover-detail-content__main-wrapper {
        padding: 40px 20px 20px;
        width: 100%; } }

.discover-detail-header {
  background-size: cover;
  background-color: #FFFFFF;
  height: 100px;
  position: absolute;
  bottom: auto;
  left: 0;
  right: auto;
  top: 0;
  z-index: 0;
  width: 100%; }
  .discover-detail-header .discover-detail-header__tag {
    display: block;
    object-fit: cover;
    object-position: 55% 28%;
    height: 100%;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 0; }

.discover-filter-bar {
  width: 770px; }
  @media screen and (max-width: 979px) {
    .discover-filter-bar {
      width: 100%; } }
  .discover-filter-bar .discover-filter-bar__themes {
    display: flex;
    flex-direction: row;
    position: relative; }
    @media screen and (max-width: 979px) {
      .discover-filter-bar .discover-filter-bar__themes {
        flex-direction: column; } }
  .discover-filter-bar .discover-filter-bar__search-form {
    display: flex;
    flex-direction: row;
    overflow: hidden;
    width: 100%; }
    @media screen and (min-width: 980px) {
      .discover-filter-bar .discover-filter-bar__search-form {
        transition: width 0.5s ease-in;
        width: 50px;
        position: absolute;
        right: 0; } }
    .discover-filter-bar .discover-filter-bar__search-form .filter-form__label {
      display: none; }
  .discover-filter-bar .discover-filter-bar__search {
    height: 50px;
    width: 100%;
    padding-left: 20px;
    vertical-align: bottom;
    border: 2px solid #E6E6E6;
    border-right: none;
    background-color: #FFFFFF;
    font-family: Campton Book, sans-serif;
    font-size: 16px;
    line-height: 24px;
    text-decoration: none;
    text-transform: none; }
    @media screen and (min-width: 980px) {
      .discover-filter-bar .discover-filter-bar__search {
        flex-grow: 1;
        transition: padding 0.5s ease-in; } }
  @media screen and (min-width: 980px) {
    .discover-filter-bar .c-icon-button.v-search {
      position: relative;
      z-index: 2; } }
  .discover-filter-bar .discover-filter-bar__close-button {
    position: absolute;
    pointer-events: none;
    right: 0;
    z-index: 1; }
    .discover-filter-bar .discover-filter-bar__close-button::after {
      background-color: #F4F4F4;
      border-top: 2px solid #E6E6E6;
      border-right: 2px solid #E6E6E6;
      border-bottom: 2px solid #E6E6E6; }
    @media screen and (max-width: 979px) {
      .discover-filter-bar .discover-filter-bar__close-button {
        pointer-events: all;
        display: none; } }
    .discover-filter-bar .discover-filter-bar__close-button:hover::after {
      background-color: #000;
      border-color: #000; }
  @media screen and (min-width: 980px) {
    .discover-filter-bar:not(.discover-filter-bar--open) .discover-filter-bar__search {
      padding: 0;
      width: 0; } }
  @media screen and (min-width: 980px) {
    .discover-filter-bar--open .discover-filter-bar__search-form {
      width: 770px; } }
  @media screen and (min-width: 980px) {
    .discover-filter-bar--open .discover-filter-bar__search {
      pointer-events: all; } }
  @media screen and (min-width: 980px) {
    .discover-filter-bar--open .discover-filter-bar__close-button {
      pointer-events: all; } }

.discover-filter-bar--open .c-icon-button.v-search {
  pointer-events: none; }

.discover-filter-bar-theme {
  display: flex;
  flex-direction: row;
  height: 50px;
  width: 240px; }
  @media screen and (max-width: 979px) {
    .discover-filter-bar-theme {
      width: 100%; } }
  .discover-filter-bar-theme.discover-filter-bar-theme--diy {
    background-color: #FFE600; }
    .discover-filter-bar-theme.discover-filter-bar-theme--diy::before {
      background: url('/static/discover/images/icon-diy.svg?803300173f2e') no-repeat center; }
  .discover-filter-bar-theme.discover-filter-bar-theme--ty {
    background-color: #0096FA; }
    .discover-filter-bar-theme.discover-filter-bar-theme--ty::before {
      background: url('/static/discover/images/icon-ty.svg?803300173f2e') no-repeat center; }
  .discover-filter-bar-theme.discover-filter-bar-theme--dyk {
    background-color: #F03CA5; }
    .discover-filter-bar-theme.discover-filter-bar-theme--dyk::before {
      background: url('/static/discover/images/icon-dyk.svg?803300173f2e') no-repeat center; }
  .discover-filter-bar-theme::before {
    content: '';
    display: inline-block;
    height: 50px;
    width: 50px; }
  .discover-filter-bar-theme .discover-filter-bar-theme__label {
    display: inline-flex;
    margin: 0;
    padding: 0;
    position: relative;
    width: 190px; }
    @media screen and (max-width: 979px) {
      .discover-filter-bar-theme .discover-filter-bar-theme__label {
        width: calc(100% - 50px); } }
  .discover-filter-bar-theme .discover-filter-bar-theme__title {
    align-self: center;
    overflow: hidden;
    font: normal 400 16px/22px Campton Medium, sans-serif;
    width: 140px; }
    @media screen and (max-width: 979px) {
      .discover-filter-bar-theme .discover-filter-bar-theme__title {
        width: calc(100% - 100px); } }
  .discover-filter-bar-theme .discover-filter-bar-theme__input {
    height: 50px;
    margin: 0;
    padding: 0;
    visibility: hidden;
    width: 50px; }
    .discover-filter-bar-theme .discover-filter-bar-theme__input:checked + .discover-filter-bar-theme__checkbox::after {
      display: block; }
  .discover-filter-bar-theme .discover-filter-bar-theme__checkbox {
    background-color: #FFFFFF;
    height: 20px;
    margin: 0;
    padding: 0;
    position: absolute;
    bottom: auto;
    left: auto;
    right: 20px;
    top: 15px;
    width: 20px;
    cursor: pointer; }
    .discover-filter-bar-theme .discover-filter-bar-theme__checkbox::after {
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      font-family: icons;
      content: " ";
      display: none;
      font-size: 24px;
      position: relative;
      bottom: 3px;
      left: 1px; }

.discover-filter-bar__themes .discover-filter-bar-theme .discover-filter-bar-theme__input {
  visibility: visible;
  width: 20px;
  height: 20px;
  margin-top: 15px;
  margin-left: 10px;
  position: absolute;
  right: 20px; }
  .discover-filter-bar__themes .discover-filter-bar-theme .discover-filter-bar-theme__input:focus-within {
    outline: 2px solid #005fcc; }
  .discover-filter-bar__themes .discover-filter-bar-theme .discover-filter-bar-theme__input:focus {
    outline: 2px solid #005fcc; }

.discover-overview-content {
  background-color: #FFFFFF;
  display: flex;
  padding-bottom: 100px;
  position: relative;
  bottom: auto;
  left: auto;
  right: auto;
  top: auto;
  z-index: 2; }
  @media screen and (max-width: 659px) {
    .discover-overview-content {
      padding: 0 20px; } }
  .discover-overview-content .discover-overview-content__title {
    overflow: hidden;
    padding: 30px 80px;
    position: absolute;
    bottom: 100%;
    left: 0;
    right: auto;
    top: auto;
    font: normal 400 60px/62px Campton Book, sans-serif;
    width: 710px;
    max-width: 100%; }
    @media screen and (min-width: 1570px) {
      .discover-overview-content .discover-overview-content__title {
        padding: 30px 0; } }
    @media screen and (max-width: 979px) {
      .discover-overview-content .discover-overview-content__title {
        max-width: 600px;
        font: normal 400 40px/42px Campton Book, sans-serif; } }
    @media screen and (max-width: 659px) {
      .discover-overview-content .discover-overview-content__title {
        max-width: 360px;
        padding: 30px 0; } }
  .discover-overview-content .discover-overview-content__page-intro {
    font-family: Campton Book, sans-serif;
    font-size: 22px;
    line-height: 32px;
    clear: left;
    margin-bottom: 25px;
    margin-top: -10px;
    overflow: hidden;
    padding-left: 80px;
    padding-right: 80px;
    width: 830px;
    max-width: 100%; }
    @media screen and (max-width: 529px) {
      .discover-overview-content .discover-overview-content__page-intro {
        font-size: 16px;
        line-height: 24px; } }
    @media screen and (min-width: 1570px) {
      .discover-overview-content .discover-overview-content__page-intro {
        padding-left: 0; } }
    @media screen and (max-width: 979px) {
      .discover-overview-content .discover-overview-content__page-intro {
        max-width: 700px; } }
    @media screen and (max-width: 659px) {
      .discover-overview-content .discover-overview-content__page-intro {
        max-width: 360px;
        padding-left: 0;
        padding-right: 0; } }
  .discover-overview-content .discover-overview-content__wrapper {
    margin-left: auto;
    margin-right: auto;
    max-width: 1260px;
    width: 100%;
    margin-top: 205px;
    position: relative;
    width: 100%; }
    @media screen and (max-width: 1299px) {
      .discover-overview-content .discover-overview-content__wrapper {
        max-width: 940px; } }
    @media screen and (max-width: 979px) {
      .discover-overview-content .discover-overview-content__wrapper {
        max-width: 620px; } }
    @media screen and (max-width: 979px) {
      .discover-overview-content .discover-overview-content__wrapper {
        margin-top: 175px; } }
    @media screen and (max-width: 659px) {
      .discover-overview-content .discover-overview-content__wrapper {
        margin-top: 250px; } }

.discover-overview-header {
  background-color: #FFFFFF;
  height: 100px;
  position: absolute;
  bottom: auto;
  left: 0;
  right: auto;
  top: 0;
  z-index: 0;
  width: 100%; }

.discover-related-item {
  width: 100%; }
  @media screen and (max-width: 1023px) {
    .discover-related-item {
      width: 260px; } }
  @media screen and (max-width: 529px) {
    .discover-related-item {
      overflow: hidden;
      width: 100%; } }
  .discover-related-item.discover-related-item--diy {
    background-color: #FFE600; }
    @media screen and (max-width: 529px) {
      .discover-related-item.discover-related-item--diy .discover-related-item__title {
        background-color: #FFE600; } }
  .discover-related-item.discover-related-item--ty {
    background-color: #0096FA; }
    @media screen and (max-width: 529px) {
      .discover-related-item.discover-related-item--ty .discover-related-item__title {
        background-color: #0096FA; } }
  .discover-related-item.discover-related-item--dyk {
    background-color: #F03CA5; }
    @media screen and (max-width: 529px) {
      .discover-related-item.discover-related-item--dyk .discover-related-item__title {
        background-color: #F03CA5; } }
  @media screen and (max-width: 529px) {
    .discover-related-item .discover-related-item__image-wrapper {
      height: 0;
      padding-bottom: 80%;
      position: relative;
      bottom: auto;
      left: auto;
      right: auto;
      top: auto;
      top: -40px; } }
  .discover-related-item .discover-related-item__image,
  .discover-related-item .animated {
    height: 160px;
    width: 100%; }
    @media screen and (max-width: 529px) {
      .discover-related-item .discover-related-item__image,
      .discover-related-item .animated {
        height: 100%;
        position: absolute;
        bottom: auto;
        left: 0;
        right: auto;
        top: 0;
        width: 100%; } }
  .discover-related-item .animated::before {
    display: none; }
  .discover-related-item .discover-related-item__title {
    padding: 10px 15px;
    font: normal 400 18px/20px Campton Book, sans-serif; }
    @media screen and (max-width: 1023px) {
      .discover-related-item .discover-related-item__title {
        align-items: center;
        display: flex;
        flex-direction: row;
        height: calc(100% - 160px); } }
    @media screen and (max-width: 529px) {
      .discover-related-item .discover-related-item__title {
        height: auto;
        margin-top: -80px;
        padding: 20px 30px;
        position: relative;
        z-index: 4; } }

.discover-content-video {
  height: 0;
  position: relative;
  padding-bottom: 56.25%; }
  .discover-content-video iframe {
    height: 100%;
    position: absolute;
    bottom: auto;
    left: 0;
    right: auto;
    top: 0;
    width: 100%; }

.experiment .discover-item__header .icon-experiment {
  background: url('/static/discover/images/icon-diy.svg?803300173f2e') no-repeat center;
  background-color: #FFE600; }

.experiment .discover-item__title {
  background-color: #FFE600; }

.qanda .discover-item__header .icon-qanda {
  background: url('/static/discover/images/icon-ty.svg?803300173f2e') no-repeat center;
  background-color: #0096FA; }

.qanda .discover-item__title {
  background-color: #0096FA; }

.discover-requirements {
  display: flex;
  flex-direction: row;
  justify-content: flex-start; }
  @media screen and (max-width: 659px) {
    .discover-requirements {
      flex-direction: column; } }
  .discover-requirements .discover-requirements__list {
    flex-grow: 1; }
  .discover-requirements .discover-requirements__item {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    flex-direction: row; }
  .discover-requirements .discover-requirements__checkbox {
    display: inline-block;
    height: 50px;
    margin-right: 10px;
    position: relative; }
    @media screen and (max-width: 659px) {
      .discover-requirements .discover-requirements__checkbox {
        height: 35px; } }
  .discover-requirements .discover-requirements__checkbox-input {
    height: 50px;
    margin: 0;
    padding: 0;
    visibility: hidden;
    width: 24px; }
    .discover-requirements .discover-requirements__checkbox-input:checked + .discover-requirements__checkbox-face::after {
      display: block; }
    @media screen and (max-width: 659px) {
      .discover-requirements .discover-requirements__checkbox-input {
        height: 35px;
        margin: 0;
        padding: 0;
        visibility: hidden;
        width: 24px; }
        .discover-requirements .discover-requirements__checkbox-input:checked + .discover-requirements__checkbox-face::after {
          display: block; } }
  .discover-requirements .discover-requirements__checkbox-face {
    background-color: #FFFFFF;
    height: 24px;
    margin: 0;
    padding: 0;
    position: absolute;
    bottom: auto;
    left: auto;
    right: 0px;
    top: 10px;
    width: 24px; }
    .discover-requirements .discover-requirements__checkbox-face::after {
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      font-family: icons;
      content: " ";
      display: none;
      font-size: 24px;
      position: relative;
      bottom: 0px;
      left: 1px; }
    @media screen and (max-width: 659px) {
      .discover-requirements .discover-requirements__checkbox-face {
        background-color: #FFFFFF;
        height: 24px;
        margin: 0;
        padding: 0;
        position: absolute;
        bottom: auto;
        left: auto;
        right: 0px;
        top: 2.5px;
        width: 24px; }
        .discover-requirements .discover-requirements__checkbox-face::after {
          font-weight: normal;
          font-variant: normal;
          text-transform: none;
          -webkit-font-smoothing: antialiased;
          text-rendering: optimizeLegibility;
          font-family: icons;
          content: " ";
          display: none;
          font-size: 24px;
          position: relative;
          bottom: 0px;
          left: 1px; } }
  .discover-requirements .discover-requirements__requirement-title {
    font: normal 400 16px/22px Campton Medium, sans-serif; }
    .discover-requirements .discover-requirements__requirement-title a {
      text-decoration: underline; }

.discover-detail-content__main-wrapper .discover-requirements .discover-requirements__checkbox-input {
  visibility: visible !important;
  width: 24px;
  height: 24px;
  margin-top: 10px; }
  @media screen and (max-width: 659px) {
    .discover-detail-content__main-wrapper .discover-requirements .discover-requirements__checkbox-input {
      margin-top: 3px; } }
  .discover-detail-content__main-wrapper .discover-requirements .discover-requirements__checkbox-input:focus-within {
    outline: 2px solid #005fcc; }
  .discover-detail-content__main-wrapper .discover-requirements .discover-requirements__checkbox-input:focus {
    outline: 2px solid #005fcc; }

.step-viewer {
  position: relative;
  bottom: auto;
  left: auto;
  right: auto;
  top: auto;
  width: 85%; }
  @media screen and (max-width: 767px) {
    .step-viewer {
      width: 100%; } }
  .step-viewer .swiper-container {
    overflow: visible; }
  @media screen and (max-width: 767px) {
    .step-viewer .swiper-wrapper {
      flex-direction: column; } }
  .step-viewer .swiper-button-prev,
  .step-viewer .swiper-button-next {
    height: auto;
    top: 180px;
    width: auto;
    transition: transform 200ms ease-in; }
    .step-viewer .swiper-button-prev.swiper-button-disabled,
    .step-viewer .swiper-button-next.swiper-button-disabled {
      transform: scale(0);
      transition: transform 200ms ease-in; }
  .step-viewer .swiper-button-next {
    cursor: pointer;
    display: block;
    font-size: 0;
    right: -80px; }
    .step-viewer .swiper-button-next::after {
      font-size: 30px;
      height: 50px;
      line-height: 50px;
      width: 50px; }
    @media screen and (max-width: 1199px) {
      .step-viewer .swiper-button-next::after {
        font-size: 30px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    @media screen and (max-width: 899px) {
      .step-viewer .swiper-button-next::after {
        font-size: 30px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    @media screen and (max-width: 529px) {
      .step-viewer .swiper-button-next::after {
        font-size: 30px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    .step-viewer .swiper-button-next::after {
      background-color: #000000;
      color: #FFFFFF; }
    .step-viewer .swiper-button-next::after {
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      font-family: icons;
      content: " ";
      box-sizing: border-box;
      display: inline-block;
      text-align: center;
      text-decoration: none;
      vertical-align: bottom; }
    .step-viewer .swiper-button-next.v-pink::after {
      background-color: #F03CA5;
      color: #000000; }
    .step-viewer .swiper-button-next.v-green::after {
      background-color: #00E63C;
      color: #000000; }
    .step-viewer .swiper-button-next.v-white::after {
      background-color: #FFFFFF;
      color: #000000; }
    .step-viewer .swiper-button-next.v-black::after {
      background-color: #000000;
      color: #FFFFFF; }
    .step-viewer .swiper-button-next.v-trans::after {
      background-color: rgba(0, 0, 0, 0.4);
      color: #FFFFFF; }
    .step-viewer .swiper-button-next:hover::after, .step-viewer .swiper-button-next.on-hover::after, .step-viewer .swiper-button-next:active::after, .step-viewer .swiper-button-next.on-click::after, .step-viewer .swiper-button-next.on-active::after {
      background-color: #000000;
      color: #FFFFFF; }
    .step-viewer .swiper-button-next:hover.v-black::after, .step-viewer .swiper-button-next.on-hover.v-black::after, .step-viewer .swiper-button-next:active.v-black::after, .step-viewer .swiper-button-next.on-click.v-black::after, .step-viewer .swiper-button-next.on-active.v-black::after {
      background-color: #FFFFFF;
      color: #000000; }
    .step-viewer .swiper-button-next.v-mobile::after {
      font-size: 30px;
      height: 50px;
      line-height: 50px;
      width: 50px; }
    @media screen and (max-width: 1199px) {
      .step-viewer .swiper-button-next.v-mobile::after {
        font-size: 30px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    @media screen and (max-width: 899px) {
      .step-viewer .swiper-button-next.v-mobile::after {
        font-size: 30px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    @media screen and (max-width: 529px) {
      .step-viewer .swiper-button-next.v-mobile::after {
        font-size: 30px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    .step-viewer .swiper-button-next.v-mobile::after {
      background-color: #000000;
      color: #000000; }
    .step-viewer .swiper-button-next.v-mobile::after {
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      font-family: icons;
      content: " ";
      box-sizing: border-box;
      display: inline-block;
      text-align: center;
      text-decoration: none;
      vertical-align: bottom; }
    .step-viewer .swiper-button-next.v-mobile:active::after, .step-viewer .swiper-button-next.v-mobile.on-click::after {
      background-color: #000000;
      color: #FFFFFF; }
    @media screen and (max-width: 1299px) {
      .step-viewer .swiper-button-next {
        right: -25px; } }
    @media screen and (max-width: 767px) {
      .step-viewer .swiper-button-next {
        display: none; } }
  .step-viewer .swiper-button-prev {
    cursor: pointer;
    display: block;
    font-size: 0;
    left: -80px; }
    .step-viewer .swiper-button-prev::after {
      font-size: 30px;
      height: 50px;
      line-height: 50px;
      width: 50px; }
    @media screen and (max-width: 1199px) {
      .step-viewer .swiper-button-prev::after {
        font-size: 30px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    @media screen and (max-width: 899px) {
      .step-viewer .swiper-button-prev::after {
        font-size: 30px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    @media screen and (max-width: 529px) {
      .step-viewer .swiper-button-prev::after {
        font-size: 30px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    .step-viewer .swiper-button-prev::after {
      background-color: #000000;
      color: #FFFFFF; }
    .step-viewer .swiper-button-prev::after {
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      font-family: icons;
      content: " ";
      box-sizing: border-box;
      display: inline-block;
      text-align: center;
      text-decoration: none;
      vertical-align: bottom; }
    .step-viewer .swiper-button-prev.v-pink::after {
      background-color: #F03CA5;
      color: #000000; }
    .step-viewer .swiper-button-prev.v-green::after {
      background-color: #00E63C;
      color: #000000; }
    .step-viewer .swiper-button-prev.v-white::after {
      background-color: #FFFFFF;
      color: #000000; }
    .step-viewer .swiper-button-prev.v-black::after {
      background-color: #000000;
      color: #FFFFFF; }
    .step-viewer .swiper-button-prev.v-trans::after {
      background-color: rgba(0, 0, 0, 0.4);
      color: #FFFFFF; }
    .step-viewer .swiper-button-prev:hover::after, .step-viewer .swiper-button-prev.on-hover::after, .step-viewer .swiper-button-prev:active::after, .step-viewer .swiper-button-prev.on-click::after, .step-viewer .swiper-button-prev.on-active::after {
      background-color: #000000;
      color: #FFFFFF; }
    .step-viewer .swiper-button-prev:hover.v-black::after, .step-viewer .swiper-button-prev.on-hover.v-black::after, .step-viewer .swiper-button-prev:active.v-black::after, .step-viewer .swiper-button-prev.on-click.v-black::after, .step-viewer .swiper-button-prev.on-active.v-black::after {
      background-color: #FFFFFF;
      color: #000000; }
    .step-viewer .swiper-button-prev.v-mobile::after {
      font-size: 30px;
      height: 50px;
      line-height: 50px;
      width: 50px; }
    @media screen and (max-width: 1199px) {
      .step-viewer .swiper-button-prev.v-mobile::after {
        font-size: 30px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    @media screen and (max-width: 899px) {
      .step-viewer .swiper-button-prev.v-mobile::after {
        font-size: 30px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    @media screen and (max-width: 529px) {
      .step-viewer .swiper-button-prev.v-mobile::after {
        font-size: 30px;
        height: 50px;
        line-height: 50px;
        width: 50px; } }
    .step-viewer .swiper-button-prev.v-mobile::after {
      background-color: #000000;
      color: #000000; }
    .step-viewer .swiper-button-prev.v-mobile::after {
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      font-family: icons;
      content: " ";
      box-sizing: border-box;
      display: inline-block;
      text-align: center;
      text-decoration: none;
      vertical-align: bottom; }
    .step-viewer .swiper-button-prev.v-mobile:active::after, .step-viewer .swiper-button-prev.v-mobile.on-click::after {
      background-color: #000000;
      color: #FFFFFF; }
    @media screen and (max-width: 1299px) {
      .step-viewer .swiper-button-prev {
        left: -25px; } }
    @media screen and (max-width: 767px) {
      .step-viewer .swiper-button-prev {
        display: none; } }
  @media screen and (max-width: 767px) {
    .step-viewer .step-viewer-step {
      margin-bottom: 20px; } }

.step-viewer-step {
  background-color: #FFFFFF;
  margin-right: 110px;
  position: relative;
  bottom: auto;
  left: auto;
  right: auto;
  top: auto;
  transition: opacity 400ms ease; }
  @media screen and (max-width: 1299px) {
    .step-viewer-step {
      margin-right: 50px; } }
  .step-viewer-step.step-viewer-step--conclusion {
    background-color: #00E63C; }
    .step-viewer-step.step-viewer-step--conclusion .step-viewer-step__header {
      display: none; }
    .step-viewer-step.step-viewer-step--conclusion .step-viewer-step__description {
      padding: 40px; }
      @media screen and (max-width: 659px) {
        .step-viewer-step.step-viewer-step--conclusion .step-viewer-step__description {
          padding: 20px; } }
    .step-viewer-step.step-viewer-step--conclusion:not(.swiper-slide-active)::after {
      display: none; }
  @media screen and (min-width: 768px) {
    .step-viewer-step:not(.swiper-slide-active) {
      opacity: 0.0; } }
  @media screen and (min-width: 768px) {
    .step-viewer-step.swiper-slide-active ~ .swiper-slide {
      opacity: 0.6; } }
  .step-viewer-step .step-viewer-step__header {
    align-items: center;
    background-color: #FFFFFF;
    display: flex;
    flex-direction: row;
    height: 50px;
    padding: 0 20px;
    position: absolute;
    bottom: auto;
    left: 0;
    right: auto;
    top: 0;
    z-index: 2;
    font: normal 400 20px/30px Campton Book, sans-serif; }
  .step-viewer-step .step-viewer-step__image-container {
    background-color: #E6E6E6;
    height: 0;
    padding-bottom: 66.66667%;
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    top: auto; }
  .step-viewer-step .step-viewer-step__image {
    position: absolute;
    bottom: auto;
    left: 0;
    right: auto;
    top: 0;
    height: 100%;
    width: 100%; }
  .step-viewer-step .step-viewer-step__description {
    overflow: hidden;
    padding: 25px 20px;
    font: normal 400 18px/25px Campton Book, sans-serif; }
  .step-viewer-step .discover-content h3 {
    margin-bottom: 20px; }

.theme-list {
  text-align: left; }
  .theme-list a {
    background-color: #00E63C;
    font-family: Campton Medium, sans-serif;
    font-size: 16px;
    line-height: 50px;
    text-decoration: none;
    text-transform: none;
    background-color: #00E63C;
    color: #000000;
    display: inline-block;
    padding-left: 20px;
    padding-right: 20px;
    vertical-align: bottom; }
    body.theme-yellow .theme-list a {
      background-color: #FFE600; }
    body.theme-purple .theme-list a {
      background-color: #F03CA5; }
    body.theme-blue .theme-list a {
      background-color: #0096FA; }
    body.theme-orange .theme-list a {
      background-color: #FF3C00; }
    body.theme-green .theme-list a {
      background-color: #00E63C; }
    body.theme-pink .theme-list a {
      background-color: #F03CA5; }
    .theme-list a:hover, .theme-list a.on-hover, .theme-list a:active, .theme-list a.on-click {
      background-color: #000000;
      color: #FFFFFF;
      cursor: pointer;
      outline: none; }
    .theme-list a.active {
      background-color: #00E63C;
      color: #000000; }
  .theme-list button {
    font-family: Campton Medium, sans-serif;
    font-size: 16px;
    line-height: 50px;
    text-decoration: none;
    text-transform: none;
    background-color: #FFFFFF;
    color: #000000;
    display: inline-block;
    padding-left: 20px;
    padding-right: 20px;
    vertical-align: bottom; }
    .theme-list button:hover, .theme-list button.on-hover, .theme-list button:active, .theme-list button.on-click {
      background-color: #00E63C;
      color: #000000;
      cursor: pointer;
      outline: none; }
    .theme-list button.active {
      background-color: #00E63C;
      color: #000000; }
  .theme-list li {
    display: inline-block;
    font-size: 0;
    margin-bottom: 10px; }
    .theme-list li:not(:last-child) {
      margin-right: 5px; }

.tidbit .discover-item__header .icon-tidbit {
  background: url('/static/discover/images/icon-dyk.svg?803300173f2e') no-repeat center;
  background-color: #F03CA5; }

.tidbit .discover-item__title {
  background-color: #F03CA5; }

@media screen {
  .discover-detail-content .discover-detail-content__main:first-child {
    margin-top: 100px; } }

.discover-overview-page .c-main-logo {
  width: 100px; }

@media screen and (max-width: 529px) {
  .discover-overview-page .c-side-navigation .e-visible-icons {
    width: 50px; } }

.discover-overview-page .page-overview-section {
  background-color: #FFFFFF; }

.discover-overview-page .discover-filter-bar {
  margin-bottom: 40px; }
  @media screen and (max-width: 659px) {
    .discover-overview-page .discover-filter-bar {
      margin-bottom: 20px; } }

.discover-contest-page .discover-detail-header {
  background-color: #FF3C00;
  height: 300px; }

.discover-contest-page .discover-detail-content__background {
  background-color: #FF3C00; }

.discover-contest-page .discover-detail-aside {
  background-color: transparent; }
  .discover-contest-page .discover-detail-aside .discover-detail-aside__back {
    margin-bottom: 200px; }
    .discover-contest-page .discover-detail-aside .discover-detail-aside__back:last-child {
      margin-bottom: 0; }

.discover-contest-page .discover-detail-content__main:first-child {
  margin-top: 300px; }

.discover-contest-page .discover-detail-content__label {
  background-color: #FF3C00;
  top: 250px; }
  .discover-contest-page .discover-detail-content__label::before {
    background: url('/static/discover/images/icon-si.svg') no-repeat center; }

@media screen and (min-width: 660px) {
  .discover-contest-page .discover-detail-content__title {
    background-color: #FFFFFF;
    align-items: center;
    display: flex;
    height: 200px;
    margin-bottom: 0;
    padding-left: 30px;
    padding-right: 30px;
    position: absolute;
    bottom: 100%;
    left: 0;
    right: auto;
    top: auto; } }

.discover-detail-page .c-main-logo {
  max-width: 200px; }
  @media screen and (max-width: 1299px) {
    .discover-detail-page .c-main-logo {
      max-width: 100px; } }

.discover-detail-page .page-wrapper {
  background-color: #FFFFFF; }

.discover-detail-page .discover-content {
  margin-bottom: 30px; }
  .discover-detail-page .discover-content:last-child {
    margin-bottom: 0; }

.discover-detail-page .discover-detail-page__button-print {
  font-family: Campton Medium, sans-serif;
  font-size: 16px;
  line-height: 50px;
  text-decoration: none;
  text-transform: none;
  height: 50px;
  line-height: 50px;
  padding-left: 25px;
  padding-right: 0;
  background-color: #FFFFFF;
  color: #000000;
  display: inline-block;
  vertical-align: bottom; }
  .discover-detail-page .discover-detail-page__button-print::after {
    font-size: 16px;
    height: 50px;
    line-height: 50px;
    width: 50px;
    margin-right: 10px; }
  @media screen and (max-width: 1199px) {
    .discover-detail-page .discover-detail-page__button-print::after {
      font-size: 16px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  @media screen and (max-width: 899px) {
    .discover-detail-page .discover-detail-page__button-print::after {
      font-size: 16px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  @media screen and (max-width: 529px) {
    .discover-detail-page .discover-detail-page__button-print::after {
      font-size: 16px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  @media screen and (max-width: 1199px) {
    .discover-detail-page .discover-detail-page__button-print {
      height: 50px;
      line-height: 50px; } }
  @media screen and (max-width: 899px) {
    .discover-detail-page .discover-detail-page__button-print {
      height: 50px;
      line-height: 50px;
      padding-right: 7px; }
      .discover-detail-page .discover-detail-page__button-print::after {
        margin-right: 7px; } }
  @media screen and (max-width: 529px) {
    .discover-detail-page .discover-detail-page__button-print {
      height: 50px;
      line-height: 50px; } }
  .discover-detail-page .discover-detail-page__button-print::after {
    font-size: 20px;
    height: 50px;
    line-height: 50px;
    width: 50px; }
  @media screen and (max-width: 1199px) {
    .discover-detail-page .discover-detail-page__button-print::after {
      font-size: 20px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  @media screen and (max-width: 899px) {
    .discover-detail-page .discover-detail-page__button-print::after {
      font-size: 20px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  @media screen and (max-width: 529px) {
    .discover-detail-page .discover-detail-page__button-print::after {
      font-size: 20px;
      height: 50px;
      line-height: 50px;
      width: 50px; } }
  .discover-detail-page .discover-detail-page__button-print::after {
    background-color: transparent;
    color: #000000; }
  .discover-detail-page .discover-detail-page__button-print::after {
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    font-family: icons;
    content: " ";
    box-sizing: border-box;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    vertical-align: bottom; }
  .discover-detail-page .discover-detail-page__button-print.v-green {
    background-color: #00E63C;
    color: #000000; }
    .discover-detail-page .discover-detail-page__button-print.v-green::before, .discover-detail-page .discover-detail-page__button-print.v-green::after {
      background-color: transparent;
      color: #000000; }
  .discover-detail-page .discover-detail-page__button-print.v-black {
    background-color: #000000;
    color: #FFFFFF; }
    .discover-detail-page .discover-detail-page__button-print.v-black::before, .discover-detail-page .discover-detail-page__button-print.v-black::after {
      background-color: transparent;
      color: #FFFFFF; }
  .discover-detail-page .discover-detail-page__button-print.v-grey {
    background-color: #E6E6E6;
    color: #000000; }
    .discover-detail-page .discover-detail-page__button-print.v-grey::before, .discover-detail-page .discover-detail-page__button-print.v-grey::after {
      background-color: transparent;
      color: #000000; }
  .discover-detail-page .discover-detail-page__button-print.v-yellow {
    background-color: #000000;
    color: #FFE600; }
    .discover-detail-page .discover-detail-page__button-print.v-yellow::before, .discover-detail-page .discover-detail-page__button-print.v-yellow::after {
      background-color: transparent;
      color: #FFE600; }
  .discover-detail-page .discover-detail-page__button-print.v-iyellow {
    background-color: #FFE600;
    color: #000000; }
    .discover-detail-page .discover-detail-page__button-print.v-iyellow::before, .discover-detail-page .discover-detail-page__button-print.v-iyellow::after {
      background-color: transparent;
      color: #000000; }
  .discover-detail-page .discover-detail-page__button-print:hover, .discover-detail-page .discover-detail-page__button-print.on-hover, .discover-detail-page .discover-detail-page__button-print:active, .discover-detail-page .discover-detail-page__button-print.on-click {
    background-color: #00E63C;
    color: #000000;
    cursor: pointer;
    text-decoration: none; }
    .discover-detail-page .discover-detail-page__button-print:hover::after, .discover-detail-page .discover-detail-page__button-print.on-hover::after, .discover-detail-page .discover-detail-page__button-print:active::after, .discover-detail-page .discover-detail-page__button-print.on-click::after {
      color: #000000; }
    .discover-detail-page .discover-detail-page__button-print:hover.v-black, .discover-detail-page .discover-detail-page__button-print.on-hover.v-black, .discover-detail-page .discover-detail-page__button-print:active.v-black, .discover-detail-page .discover-detail-page__button-print.on-click.v-black {
      background-color: #000000;
      color: #00E63C; }
      .discover-detail-page .discover-detail-page__button-print:hover.v-black::after, .discover-detail-page .discover-detail-page__button-print.on-hover.v-black::after, .discover-detail-page .discover-detail-page__button-print:active.v-black::after, .discover-detail-page .discover-detail-page__button-print.on-click.v-black::after {
        background-color: #FFFFFF;
        color: #000000; }
    .discover-detail-page .discover-detail-page__button-print:hover:before, .discover-detail-page .discover-detail-page__button-print.on-hover:before, .discover-detail-page .discover-detail-page__button-print:active:before, .discover-detail-page .discover-detail-page__button-print.on-click:before {
      color: #fff; }

.discover-detail-page .discover-detail-page__header {
  margin-bottom: 30px;
  font: normal 400 26px/34px Campton Book, sans-serif; }

.discover-detail-page .discover-detail-page__divider {
  border-width: 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  margin-bottom: 35px; }
  .discover-detail-page .discover-detail-page__divider::after {
    background: #000000;
    content: '';
    display: block;
    height: 2px;
    width: 100%; }

.discover-detail-page .discover-requirements {
  margin-bottom: 30px;
  margin-top: -10px; }

.discover-experiment-page .discover-detail-header {
  background-color: #FFE600;
  height: 300px; }

.discover-experiment-page .discover-detail-content__background {
  background-color: #FFE600; }

.discover-experiment-page .discover-detail-aside {
  background-color: transparent; }
  .discover-experiment-page .discover-detail-aside .discover-detail-aside__back:last-child {
    margin-bottom: 0; }

.discover-experiment-page .discover-detail-content__label {
  background-color: #FFE600;
  top: 250px; }
  .discover-experiment-page .discover-detail-content__label::before {
    background: url('/static/discover/images/icon-diy.svg?803300173f2e') no-repeat center; }

@media screen and (min-width: 660px) {
  .discover-experiment-page .discover-detail-content__title {
    background-color: #FFFFFF;
    align-items: center;
    display: flex;
    height: 200px;
    margin-bottom: 0;
    padding-left: 30px;
    padding-right: 30px;
    position: absolute;
    bottom: 100%;
    left: 0;
    right: auto;
    top: auto; } }

.discover-experiment-page .discover-experiment-page__duration {
  font: normal 400 20px/30px Campton Medium, sans-serif;
  display: inline-block;
  margin-bottom: 10px; }
  .discover-experiment-page .discover-experiment-page__duration::before {
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    font-family: icons;
    content: " ";
    margin-right: 10px; }

.discover-experiment-page .step-viewer {
  margin-bottom: 30px; }

.discover-qanda-page .discover-detail-content__background {
  background-color: #0096FA; }

.discover-qanda-page .discover-detail-content__label {
  background-color: #0096FA; }
  .discover-qanda-page .discover-detail-content__label::before {
    background: url('/static/discover/images/icon-ty.svg?803300173f2e') no-repeat center; }

.discover-tidbit-page .discover-detail-content__background {
  background-color: #F03CA5; }

.discover-tidbit-page .discover-detail-content__label {
  background-color: #F03CA5; }
  .discover-tidbit-page .discover-detail-content__label::before {
    background: url('/static/discover/images/icon-dyk.svg?803300173f2e') no-repeat center; }

.discover-tidbit-page .discover-detail-aside {
  background-color: #fff; }

.discover-tidbit-page .discover-detail-content .discover-detail-aside {
  background-color: #fff; }

@media screen {
  .discover-experiment-page .discover-detail-content__main:first-child {
    margin-top: 300px; } }

.experiment-page section > h2 {
  padding-left: 80px;
  padding-right: 80px;
  hyphens: none;
  font-family: Campton Book, sans-serif;
  font-size: 40px;
  line-height: 44px;
  background-color: transparent;
  margin-bottom: 20px; }
  @media screen and (max-width: 1199px) {
    .experiment-page section > h2 {
      padding-left: 80px;
      padding-right: 80px; } }
  @media screen and (max-width: 899px) {
    .experiment-page section > h2 {
      padding-left: 60px;
      padding-right: 60px; } }
  @media screen and (max-width: 529px) {
    .experiment-page section > h2 {
      padding-left: 20px;
      padding-right: 20px; } }
  @media screen and (max-width: 529px) {
    .experiment-page section > h2 {
      font-size: 26px;
      line-height: 30px; } }

.experiment-duration {
  margin-left: 80px;
  margin-right: 80px;
  hyphens: none;
  font-family: Campton Medium, sans-serif;
  font-size: 18px;
  line-height: 25px; }
  @media screen and (max-width: 1199px) {
    .experiment-duration {
      margin-left: 80px;
      margin-right: 80px; } }
  @media screen and (max-width: 899px) {
    .experiment-duration {
      margin-left: 60px;
      margin-right: 60px; } }
  @media screen and (max-width: 529px) {
    .experiment-duration {
      margin-left: 20px;
      margin-right: 20px; } }
  .experiment-duration::before {
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    font-family: icons;
    content: " ";
    margin-right: 10px; }

.experiment-aside-image-left {
  display: none; }

.experiment-aside-image-right {
  display: none; }

.experiment-requirements {
  max-width: 940px;
  width: 100%;
  padding-left: 80px;
  padding-right: 80px;
  margin-bottom: 40px;
  font-family: Campton Book, sans-serif;
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  text-transform: none; }
  @media screen and (max-width: 979px) {
    .experiment-requirements {
      max-width: 620px; } }
  @media screen and (max-width: 1199px) {
    .experiment-requirements {
      padding-left: 80px;
      padding-right: 80px; } }
  @media screen and (max-width: 899px) {
    .experiment-requirements {
      padding-left: 60px;
      padding-right: 60px; } }
  @media screen and (max-width: 529px) {
    .experiment-requirements {
      padding-left: 20px;
      padding-right: 20px; } }
  .experiment-requirements h2 {
    hyphens: none;
    font-family: Campton Book, sans-serif;
    font-size: 26px;
    line-height: 30px;
    margin-bottom: 20px; }
    @media screen and (max-width: 529px) {
      .experiment-requirements h2 {
        font-family: Campton Medium, sans-serif;
        font-size: 18px;
        line-height: 25px; } }
  .experiment-requirements ul {
    float: left;
    width: 50%; }
    .experiment-requirements ul:not(:first-of-type) {
      padding-left: 35px; }
  .experiment-requirements li {
    min-height: 32px; }
    .experiment-requirements li label {
      line-height: 27px;
      position: relative;
      vertical-align: middle; }
      .experiment-requirements li label .e-face {
        background-color: #FFFFFF;
        cursor: pointer;
        display: inline-block;
        height: 20px;
        left: 0;
        position: absolute;
        vertical-align: middle;
        width: 20px; }
      .experiment-requirements li label input {
        position: relative;
        height: 20px;
        width: 20px;
        z-index: 1000; }
      .experiment-requirements li label input:checked + .e-face::after {
        color: #00E63C;
        content: "";
        display: block;
        font-family: icons;
        position: absolute;
        left: -1px;
        font-size: 22px;
        top: -3px; }
        body.theme-yellow .experiment-requirements li label input:checked + .e-face::after {
          color: #FFE600; }
        body.theme-purple .experiment-requirements li label input:checked + .e-face::after {
          color: #F03CA5; }
        body.theme-blue .experiment-requirements li label input:checked + .e-face::after {
          color: #0096FA; }
        body.theme-orange .experiment-requirements li label input:checked + .e-face::after {
          color: #FF3C00; }
        body.theme-green .experiment-requirements li label input:checked + .e-face::after {
          color: #00E63C; }
        body.theme-pink .experiment-requirements li label input:checked + .e-face::after {
          color: #F03CA5; }
      .experiment-requirements li label input {
        margin-right: 10px;
        vertical-align: middle;
        visibility: hidden; }
  @media screen and (max-width: 499px) {
    .experiment-requirements ul {
      width: 100%; }
      .experiment-requirements ul:not(:first-of-type) {
        padding-left: 0; } }

.experiment-inner {
  background-color: #E6E6E6;
  padding: 35px 35px 20px 35px; }
  .experiment-inner::after {
    clear: both;
    content: "";
    display: table; }

.experiment-start {
  hyphens: none;
  font-family: Campton Book, sans-serif;
  font-size: 40px;
  line-height: 44px;
  background-color: #E6E6E6;
  padding-top: 35px; }
  @media screen and (max-width: 529px) {
    .experiment-start {
      font-size: 26px;
      line-height: 30px; } }

.experiment-steps-section {
  background-color: #E6E6E6; }

.experiment-step {
  padding-left: 80px;
  padding-right: 80px;
  max-width: 940px;
  width: 100%;
  position: relative;
  margin-bottom: 35px; }
  .experiment-step::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 1199px) {
    .experiment-step {
      padding-left: 80px;
      padding-right: 80px; } }
  @media screen and (max-width: 899px) {
    .experiment-step {
      padding-left: 60px;
      padding-right: 60px; } }
  @media screen and (max-width: 529px) {
    .experiment-step {
      padding-left: 20px;
      padding-right: 20px; } }
  @media screen and (max-width: 979px) {
    .experiment-step {
      max-width: 620px; } }
  .experiment-step:last-child {
    margin-bottom: 60px; }
  .experiment-step .experiment-step-inner {
    background-color: #FFFFFF;
    position: relative; }
    .experiment-step .experiment-step-inner::after {
      clear: both;
      content: "";
      display: table; }
  .experiment-step .step-number {
    line-height: 50px;
    position: absolute;
    left: 0;
    z-index: 100;
    font-family: Campton Medium, sans-serif;
    font-size: 16px;
    line-height: 50px;
    text-decoration: none;
    color: #000000;
    display: inline-block;
    height: 50px;
    line-height: 50px;
    padding-left: 25px;
    padding-right: 25px;
    text-transform: uppercase;
    background-color: #00E63C; }
    body.theme-yellow .experiment-step .step-number {
      background-color: #FFE600; }
    body.theme-purple .experiment-step .step-number {
      background-color: #F03CA5; }
    body.theme-blue .experiment-step .step-number {
      background-color: #0096FA; }
    body.theme-orange .experiment-step .step-number {
      background-color: #FF3C00; }
    body.theme-green .experiment-step .step-number {
      background-color: #00E63C; }
    body.theme-pink .experiment-step .step-number {
      background-color: #F03CA5; }
  .experiment-step .experiment-step-figure {
    background-color: #000000;
    display: inline-block;
    float: left;
    height: 300px;
    width: 380px;
    margin: 0 20px 0 0;
    font-size: 0; }
    .experiment-step .experiment-step-figure img {
      width: 100%; }
    .experiment-step .experiment-step-figure .e-mobile {
      display: none; }
    @media screen and (max-width: 999px) {
      .experiment-step .experiment-step-figure {
        float: left;
        margin: 0 0 20px 0;
        height: 0;
        padding-bottom: 78.94737%;
        width: 100%; }
        .experiment-step .experiment-step-figure .e-mobile {
          display: block; }
        .experiment-step .experiment-step-figure .e-desktop {
          display: none; } }
  .experiment-step .experiment-step-text {
    font-family: Campton Book, sans-serif;
    font-size: 16px;
    line-height: 24px;
    text-decoration: none;
    text-transform: none;
    padding: 20px; }
    .experiment-step .experiment-step-text a:not(.contest-video):not(.button) {
      font-family: Campton Book, sans-serif;
      font-size: 16px;
      line-height: 24px;
      text-decoration: none;
      text-transform: none;
      color: #000000;
      text-decoration: underline; }
      .experiment-step .experiment-step-text a:not(.contest-video):not(.button):hover {
        text-decoration: none; }
      .experiment-step .experiment-step-text a:not(.contest-video):not(.button)::-moz-selection {
        color: #FFFFFF; }
      .experiment-step .experiment-step-text a:not(.contest-video):not(.button)::selection {
        color: #FFFFFF; }
    .experiment-step .experiment-step-text strong, .experiment-step .experiment-step-text b {
      font-weight: bold; }
    .experiment-step .experiment-step-text em, .experiment-step .experiment-step-text i {
      font-style: italic; }
    .experiment-step .experiment-step-text p + p {
      padding-top: 10px; }

.experiment-page .page-share {
  margin-top: 30px;
  margin-bottom: 10px; }

.experiment-page .discover-list-container {
  padding-top: 20px;
  padding-bottom: 100px; }

.experiment-page .other-experiments {
  background-color: #E6E6E6;
  padding-top: 35px; }
  .experiment-page .other-experiments .discover-blocks {
    padding-left: 80px;
    padding-right: 80px; }
    @media screen and (max-width: 1199px) {
      .experiment-page .other-experiments .discover-blocks {
        padding-left: 80px;
        padding-right: 80px; } }
    @media screen and (max-width: 899px) {
      .experiment-page .other-experiments .discover-blocks {
        padding-left: 60px;
        padding-right: 60px; } }
    @media screen and (max-width: 529px) {
      .experiment-page .other-experiments .discover-blocks {
        padding-left: 20px;
        padding-right: 20px; } }

.experiment-page .more-themes {
  padding-left: 80px;
  padding-right: 80px; }
  @media screen and (max-width: 1199px) {
    .experiment-page .more-themes {
      padding-left: 80px;
      padding-right: 80px; } }
  @media screen and (max-width: 899px) {
    .experiment-page .more-themes {
      padding-left: 60px;
      padding-right: 60px; } }
  @media screen and (max-width: 529px) {
    .experiment-page .more-themes {
      padding-left: 20px;
      padding-right: 20px; } }

.theme-overview-page .page-header {
  border: 5px solid red; }
  .theme-overview-page .page-header .page-header-image {
    height: 510px; }

.theme-overview-page .page-sections {
  margin-top: 510px; }
  .theme-overview-page .page-sections .inner-margined {
    margin-top: 0; }
  .theme-overview-page .page-sections .page-left-spacer {
    display: none; }

.theme-overview-page .header-wrapper {
  position: absolute;
  width: 480px;
  left: 19.53125%;
  padding-top: 9.76562%;
  top: -510px;
  width: 440px; }
  @media screen and (max-width: 1535px) {
    .theme-overview-page .header-wrapper {
      width: 360px; } }
  @media screen and (max-width: 529px) {
    .theme-overview-page .header-wrapper {
      width: calc(100% - 100px); } }
  .theme-overview-page .header-wrapper h1 {
    hyphens: none;
    font-family: Campton Book, sans-serif;
    font-size: 50px;
    line-height: 52px;
    background-color: #FFFFFF;
    padding: 30px; }
    @media screen and (max-width: 529px) {
      .theme-overview-page .header-wrapper h1 {
        font-size: 32px;
        line-height: 36px; } }

.theme-overview-page .page-overview-section {
  margin-left: auto;
  margin-right: auto;
  max-width: 1260px;
  width: 100%;
  padding-top: 35px;
  padding-bottom: 80px; }
  @media screen and (max-width: 1299px) {
    .theme-overview-page .page-overview-section {
      max-width: 940px; } }
  @media screen and (max-width: 979px) {
    .theme-overview-page .page-overview-section {
      max-width: 620px; } }
  @media screen and (max-width: 659px) {
    .theme-overview-page .page-overview-section {
      margin-left: 20px;
      margin-right: 20px;
      width: calc(100% - 40px); } }
  .theme-overview-page .page-overview-section::after {
    clear: both;
    content: "";
    display: table; }

@media screen and (min-width: 1536px) {
  .theme-overview-page .header-wrapper {
    left: 300px;
    padding-top: 150px; } }

@media screen and (max-width: 529px) {
  .theme-overview-page .header-wrapper {
    position: static;
    width: 100%;
    padding-top: 0; }
    .theme-overview-page .header-wrapper h1 {
      padding: 20px; }
  .theme-overview-page .page-header {
    border: 5px solid red; }
    .theme-overview-page .page-header .page-header-image {
      height: 235px; }
  .theme-overview-page .page-sections {
    margin-top: 235px; }
    .theme-overview-page .page-sections .inner-margined {
      max-width: 100%; } }

.theme-overview-page .page-section.theme-footer {
  padding-top: 60px;
  background: #E6E6E6 !important;
  width: 100%; }
  .theme-overview-page .page-section.theme-footer h2 {
    hyphens: none;
    font-family: Campton Book, sans-serif;
    font-size: 50px;
    line-height: 52px;
    margin-bottom: 15px; }
    @media screen and (max-width: 529px) {
      .theme-overview-page .page-section.theme-footer h2 {
        font-size: 32px;
        line-height: 36px; } }
  .theme-overview-page .page-section.theme-footer p {
    font-family: Campton Book, sans-serif;
    font-size: 16px;
    line-height: 24px;
    text-decoration: none;
    text-transform: none; }
  .theme-overview-page .page-section.theme-footer .footer-text {
    padding-left: 80px;
    padding-right: 80px;
    margin-left: auto;
    margin-right: auto;
    max-width: 940px;
    width: 100%; }
    @media screen and (max-width: 1199px) {
      .theme-overview-page .page-section.theme-footer .footer-text {
        padding-left: 80px;
        padding-right: 80px; } }
    @media screen and (max-width: 899px) {
      .theme-overview-page .page-section.theme-footer .footer-text {
        padding-left: 60px;
        padding-right: 60px; } }
    @media screen and (max-width: 529px) {
      .theme-overview-page .page-section.theme-footer .footer-text {
        padding-left: 20px;
        padding-right: 20px; } }
    @media screen and (max-width: 979px) {
      .theme-overview-page .page-section.theme-footer .footer-text {
        max-width: 620px; } }
  .theme-overview-page .page-section.theme-footer .page-section-related {
    padding-left: 80px;
    padding-right: 80px;
    margin-left: auto;
    margin-right: auto;
    max-width: 940px;
    width: 100%; }
    @media screen and (max-width: 1199px) {
      .theme-overview-page .page-section.theme-footer .page-section-related {
        padding-left: 80px;
        padding-right: 80px; } }
    @media screen and (max-width: 899px) {
      .theme-overview-page .page-section.theme-footer .page-section-related {
        padding-left: 60px;
        padding-right: 60px; } }
    @media screen and (max-width: 529px) {
      .theme-overview-page .page-section.theme-footer .page-section-related {
        padding-left: 20px;
        padding-right: 20px; } }
    @media screen and (max-width: 979px) {
      .theme-overview-page .page-section.theme-footer .page-section-related {
        max-width: 620px; } }
  .theme-overview-page .page-section.theme-footer .page-section-related {
    margin-top: 0; }
  .theme-overview-page .page-section.theme-footer .extended-related-pages {
    padding: 0; }

body {
  background-color: #E6E6E6; }

body.theme-yellow.theme-overview-page .page-sections .inner-margined {
  background-color: #FFE600; }

body.theme-purple.theme-overview-page .page-sections .inner-margined {
  background-color: #F03CA5; }

body.theme-blue.theme-overview-page .page-sections .inner-margined {
  background-color: #0096FA; }

body.theme-orange.theme-overview-page .page-sections .inner-margined {
  background-color: #FF3C00; }

body.theme-green.theme-overview-page .page-sections .inner-margined {
  background-color: #E6E6E6; }

body.theme-pink.theme-overview-page .page-sections .inner-margined {
  background-color: #F03CA5; }

body {
  background-color: #E6E6E6; }

body.theme-yellow.theme-overview-page .page-section {
  background-color: #FFE600; }

body.theme-purple.theme-overview-page .page-section {
  background-color: #F03CA5; }

body.theme-blue.theme-overview-page .page-section {
  background-color: #0096FA; }

body.theme-orange.theme-overview-page .page-section {
  background-color: #FF3C00; }

body.theme-green.theme-overview-page .page-section {
  background-color: #E6E6E6; }

body.theme-pink.theme-overview-page .page-section {
  background-color: #F03CA5; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY292ZXIuY3NzIiwic291cmNlcyI6WyJkaXNjb3Zlci5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL19ib3VyYm9uLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vc2V0dGluZ3MvX2Fzc2V0LXBpcGVsaW5lLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19hc3NpZ24taW5wdXRzLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19jb250YWlucy5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fY29udGFpbnMtZmFsc3kuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX2lzLWxlbmd0aC5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGlnaHQuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX2lzLW51bWJlci5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9faXMtc2l6ZS5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX3B4LXRvLXJlbS5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fc2hhZGUuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX3N0cmlwLXVuaXRzLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL190aW50LnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX3VucGFjay5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fbW9kdWxhci1zY2FsZS5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX2NvbnZlcnQtdW5pdHMuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19kaXJlY3Rpb25hbC12YWx1ZXMuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19mb250LXNvdXJjZS1kZWNsYXJhdGlvbi5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19saW5lYXItYW5nbGUtcGFyc2VyLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vaGVscGVycy9fbGluZWFyLWdyYWRpZW50LXBhcnNlci5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vaGVscGVycy9fbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlci5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1hcmctcGFyc2VyLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vaGVscGVycy9fcmVuZGVyLWdyYWRpZW50cy5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19zdHItdG8tbnVtLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vY3NzMy9fYW5pbWF0aW9uLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9jc3MzL19iYWNrZ3JvdW5kLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vY3NzMy9fYmFja2dyb3VuZC1pbWFnZS5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2NzczMvX2NhbGMuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9jc3MzL19jb2x1bW5zLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vY3NzMy9fZmlsdGVyLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vY3NzMy9fZmxleC1ib3guc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9jc3MzL19mb250LWZhY2Uuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9jc3MzL19mb250LWZlYXR1cmUtc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9jc3MzL19oaWRwaS1tZWRpYS1xdWVyeS5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2NzczMvX2h5cGhlbnMuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9jc3MzL19pbWFnZS1yZW5kZXJpbmcuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9jc3MzL19rZXlmcmFtZXMuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9jc3MzL19saW5lYXItZ3JhZGllbnQuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9jc3MzL19wZXJzcGVjdGl2ZS5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2NzczMvX3BsYWNlaG9sZGVyLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vY3NzMy9fcmFkaWFsLWdyYWRpZW50LnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vY3NzMy9fc2VsZWN0aW9uLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vY3NzMy9fdGV4dC1kZWNvcmF0aW9uLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2NzczMvX3VzZXItc2VsZWN0LnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vYWRkb25zL19ib3JkZXItY29sb3Iuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2JvcmRlci1zdHlsZS5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXdpZHRoLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vYWRkb25zL19idXR0b25zLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vYWRkb25zL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2ZvbnQtc3RhY2tzLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vYWRkb25zL19oaWRlLXRleHQuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9hZGRvbnMvX21hcmdpbi5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2FkZG9ucy9fcGFkZGluZy5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2FkZG9ucy9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vYWRkb25zL19yZXRpbmEtaW1hZ2Uuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9hZGRvbnMvX3NpemUuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy92ZW5kb3IvYm91cmJvbi9hZGRvbnMvX3RleHQtaW5wdXRzLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vYWRkb25zL190aW1pbmctZnVuY3Rpb25zLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vYWRkb25zL190cmlhbmdsZS5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2FkZG9ucy9fd29yZC13cmFwLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvdmVuZG9yL2JvdXJib24vX2JvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZy5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL25lbW8vYmFzZS9fYWxsLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvbmVtby9iYXNlL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL25lbW8vYmFzZS9fY2FsY3VsYXRpb25zLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvbmVtby9iYXNlL19jb2xvcnMuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy9uZW1vL2Jhc2UvX3RoZW1lcy5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL25lbW8vYmFzZS9fY29uZmlnLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvbmVtby9iYXNlL19mb250cy5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL25lbW8vYmFzZS9fdGFyZ2V0cy5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL25lbW8vYmFzZS9fbGF5ZXJzLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvbmVtby9iYXNlL19sYXlvdXQuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy9uZW1vL2Jhc2UvX2Zvcm1zLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvbmVtby9iYXNlL19yZXNldC5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL25lbW8vYmFzZS9fc2VjdGlvbnMuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy9uZW1vL2Jhc2UvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL25lbW8vc2Fzcy9uZW1vL2Jhc2UvX3V0aWxzLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvbmVtby9iYXNlL19pY29ucy5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL25lbW8vYmFzZS9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vbmVtby9zYXNzL25lbW8vYmFzZS9fbGFiZWxzLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvbmVtby9iYXNlL19jb21wb25lbnRzLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvbmVtby9iYXNlL190ZXh0LnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvbmVtby9iYXNlL192aWRlby5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi9uZW1vL3Nhc3MvZmFicmlxdWUvX2hlbHBlcnMuc2NzcyIsImNvbXBvbmVudHMvX2FsbC5zY3NzIiwiY29tcG9uZW50cy9fYW5pbWF0ZWQuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnNfZGlzY292ZXIuc2NzcyIsImNvbXBvbmVudHMvX2Jsb2Nrcy5zY3NzIiwiY29tcG9uZW50cy9fYmxvY2tzX3RoZW1hX3ppZW4uc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlc3Quc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlc3QtaW1hZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2Rpc2NvdmVyLWNvbmNsdXNpb24uc2NzcyIsImNvbXBvbmVudHMvX2Rpc2NvdmVyLWNvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX2Rpc2NvdmVyLWRldGFpbC1hc2lkZS5zY3NzIiwiY29tcG9uZW50cy9fZGlzY292ZXItZGV0YWlsLWNvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX2Rpc2NvdmVyLWRldGFpbC1oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2Rpc2NvdmVyLWZpbHRlci1iYXIuc2NzcyIsImNvbXBvbmVudHMvX2Rpc2NvdmVyLWZpbHRlci1iYXItdGhlbWUuc2NzcyIsImNvbXBvbmVudHMvX2Rpc2NvdmVyLW92ZXJ2aWV3LWNvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX2Rpc2NvdmVyLW92ZXJ2aWV3LWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fZGlzY292ZXItcmVsYXRlZC1pdGVtLnNjc3MiLCJjb21wb25lbnRzL19kaXNjb3Zlci12aWRlby5zY3NzIiwiY29tcG9uZW50cy9fZXhwZXJpbWVudC5zY3NzIiwiY29tcG9uZW50cy9fbGlnaHRib3guc2NzcyIsImNvbXBvbmVudHMvX3FhbmRhLnNjc3MiLCJjb21wb25lbnRzL19yZXF1aXJlbWVudHMuc2NzcyIsImNvbXBvbmVudHMvX3N0ZXAtdmlld2VyLnNjc3MiLCJjb21wb25lbnRzL19zdGVwLXZpZXdlci1zdGVwLnNjc3MiLCJjb21wb25lbnRzL190aGVtZS1saXN0LnNjc3MiLCJjb21wb25lbnRzL190aWRiaXQuc2NzcyIsInNlY3Rpb25zL19hbGwuc2NzcyIsInNlY3Rpb25zL19vdmVydmlldy5zY3NzIiwic2VjdGlvbnMvX2NvbnRlc3QtcGFnZS5zY3NzIiwic2VjdGlvbnMvX2RldGFpbC1wYWdlLnNjc3MiLCJzZWN0aW9ucy9fZXhwZXJpbWVudC1wYWdlLnNjc3MiLCJzZWN0aW9ucy9fcWFuZGEtcGFnZS5zY3NzIiwic2VjdGlvbnMvX3RpZGJpdC1wYWdlLnNjc3MiLCJ2aWV3cy9fYWxsLnNjc3MiLCJ2aWV3cy9fZGV0YWlsLnNjc3MiLCJ2aWV3cy9fb3ZlcnZpZXcuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiLi4vLi4vbmVtby9zYXNzL3ZlbmRvci9ib3VyYm9uL2JvdXJib25cIjtcblxuQGltcG9ydCBcIi4uLy4uL25lbW8vc2Fzcy9uZW1vL2Jhc2UvYWxsXCI7XG5AaW1wb3J0IFwic2V0dGluZ3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9uZW1vL3Nhc3MvZmFicmlxdWUvaGVscGVyc1wiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9hbGxcIjtcblxuQG1lZGlhIHNjcmVlbiB7XG4gIC5kaXNjb3Zlci1kZXRhaWwtY29udGVudCB7XG4gICAgLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X19tYWluIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiBnZXQtaGVpZ2h0KCdoZWFkZXInKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGltcG9ydCBcInNlY3Rpb25zL2FsbFwiO1xuXG5AbWVkaWEgc2NyZWVuIHtcbiAgLmRpc2NvdmVyLWV4cGVyaW1lbnQtcGFnZSB7XG4gICAgLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X19tYWluIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiBnZXQtaGVpZ2h0KCdleHBlcmltZW50LWhlYWRlcicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW1wb3J0IFwidmlld3MvYWxsXCI7IiwiLy8gQm91cmJvbiA0LjIuMlxuLy8gaHR0cDovL2JvdXJib24uaW9cbi8vIENvcHlyaWdodCAyMDExLTIwMTUgdGhvdWdodGJvdCwgaW5jLlxuLy8gTUlUIExpY2Vuc2VcblxuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnbi1pbnB1dHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnMtZmFsc3lcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxpZ2h0XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLW51bWJlclwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1zaXplXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLWVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLXJlbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zaGFkZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zdHJpcC11bml0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90aW50XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RyYW5zaXRpb24tcHJvcGVydHktbmFtZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy91bnBhY2tcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvbW9kdWxhci1zY2FsZVwiO1xuXG5AaW1wb3J0IFwiaGVscGVycy9jb252ZXJ0LXVuaXRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9kaXJlY3Rpb25hbC12YWx1ZXNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uXCI7XG5AaW1wb3J0IFwiaGVscGVycy9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItYW5nbGUtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWFyZy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zaGFwZS1zaXplLXN0cmlwcGVyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zdHItdG8tbnVtXCI7XG5cbkBpbXBvcnQgXCJjc3MzL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xuQGltcG9ydCBcImNzczMvYmFja2ZhY2UtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZFwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9jYWxjXCI7XG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcbkBpbXBvcnQgXCJjc3MzL2ZsZXgtYm94XCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiO1xuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJjc3MzL2h5cGhlbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiY3NzMy9saW5lYXItZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xuQGltcG9ydCBcImNzczMvcmFkaWFsLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9zZWxlY3Rpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RleHQtZGVjb3JhdGlvblwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNmb3JtXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy91c2VyLXNlbGVjdFwiO1xuXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1jb2xvclwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1zdHlsZVwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItd2lkdGhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImFkZG9ucy9mb250LXN0YWNrc1wiO1xuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJhZGRvbnMvbWFyZ2luXCI7XG5AaW1wb3J0IFwiYWRkb25zL3BhZGRpbmdcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGV4dC1pbnB1dHNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcblxuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgb3IgZGlzYWJsZSB2ZW5kb3IgcHJlZml4ZXNcblxuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbW96aWxsYTogICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itc3BlYzogICAgICB0cnVlICFkZWZhdWx0O1xuIiwiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIGdsb2JhbCBzZXR0aW5nIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBgJGFzc2V0LXBpcGVsaW5lYCB2YXJpYWJsZSBmb3IgYWxsIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBpdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xcblxuJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcbiIsIkBmdW5jdGlvbiBhc3NpZ24taW5wdXRzKCRpbnB1dHMsICRwc2V1ZG86IG51bGwpIHtcbiAgJGxpc3Q6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGNvbnRhaW5zIGEgdmFsdWUocykuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWx1ZXNcbi8vLyAgIEEgc2luZ2xlIHZhbHVlIG9yIGxpc3Qgb2YgdmFsdWVzIHRvIGNoZWNrIGZvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgY29udGFpbnMoJGxpc3QsICR2YWx1ZSlcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhbHVlcy4uLikge1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmIHR5cGUtb2YoaW5kZXgoJGxpc3QsICR2YWx1ZSkpICE9IFwibnVtYmVyXCIge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGRvZXMgbm90IGNvbnRhaW5zIGEgdmFsdWUuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIGxlbmd0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcblxuQGZ1bmN0aW9uIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudWxsXCIgYW5kIChzdHItc2xpY2UoJHZhbHVlICsgXCJcIiwgMSwgNCkgPT0gXCJjYWxjXCJcbiAgICAgICBvciBpbmRleChhdXRvIGluaGVyaXQgaW5pdGlhbCAwLCAkdmFsdWUpXG4gICAgICAgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCBub3QodW5pdGxlc3MoJHZhbHVlKSkpKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb2dyYW1hdGljYWxseSBkZXRlcm1pbmVzIHdoZXRoZXIgYSBjb2xvciBpcyBsaWdodCBvciBkYXJrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3JvYm90cy50aG91Z2h0Ym90LmNvbS9jbG9zZXItbG9vay1jb2xvci1saWdodG5lc3Ncbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3IgKEhleCl9ICRjb2xvclxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBpcy1saWdodCgkY29sb3IpXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gaXMtbGlnaHQoJGhleC1jb2xvcikge1xuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWdyZWVuOiBncmVlbihyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWxpZ2h0bmVzczogKCQtbG9jYWwtcmVkICogMC4yMTI2ICsgJC1sb2NhbC1ncmVlbiAqIDAuNzE1MiArICQtbG9jYWwtYmx1ZSAqIDAuMDcyMikgLyAyNTU7XG5cbiAgQHJldHVybiAkLWxvY2FsLWxpZ2h0bmVzcyA+IDAuNjtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXG5cbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XG4gIEByZXR1cm4gY29udGFpbnMoXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCIgMCAxIDIgMyA0IDUgNiA3IDggOSwgJHZhbHVlKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1Mgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIGNvbnRhaW5zKFwiZmlsbFwiIFwiZml0LWNvbnRlbnRcIiBcIm1pbi1jb250ZW50XCIgXCJtYXgtY29udGVudFwiLCAkdmFsdWUpO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCBibGFjay5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiBibGFjayB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjZmZiYjUyLCA2MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY0YTIwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3J9XG5cbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCMwMDAsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3RyaXBzIHRoZSB1bml0IGZyb20gYSBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoV2l0aCBVbml0KX0gJHZhbHVlXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICRkaW1lbnNpb246IHN0cmlwLXVuaXRzKDEwZW0pO1xuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgJGRpbWVuc2lvbjogMTA7XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXIgKFVuaXRsZXNzKX1cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWx1ZSkge1xuICBAcmV0dXJuICgkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCB3aGl0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiB3aGl0ZSB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCM2ZWNhYTYsIDQwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGRmYzk7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCkge1xuICBAcmV0dXJuIG1peCgjZmZmLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcbi8vIEV4YW1wbGU6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoKHRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmQpLCBtb3opIC0+IC1tb3otdHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkbmV3LXByb3BzOiAoKTtcblxuICBAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xuICAgICRuZXctcHJvcHM6IGFwcGVuZCgkbmV3LXByb3BzLCB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3IpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRuZXctcHJvcHM7XG59XG5cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3I6IGZhbHNlKSB7XG4gIC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxuICBAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcbiAgICBAcmV0dXJuIHVucXVvdGUoJy0nKyR2ZW5kb3IrJy0nKyRwcm9wKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkcHJvcDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ29udmVydHMgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3J0aGFuZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogdW5wYWNrKDFlbSAyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IDFlbSAyZW0gMWVtIDJlbTtcbi8vLyAgIH1cblxuQGZ1bmN0aW9uIHVucGFjaygkc2hvcnRoYW5kKSB7XG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSk7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc2hvcnRoYW5kO1xuICB9XG59XG4iLCIvLyBTY2FsaW5nIFZhcmlhYmxlc1xuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xuJG1pbm9yLXNlY29uZDogICAgIDEuMDY3O1xuJG1ham9yLXNlY29uZDogICAgIDEuMTI1O1xuJG1pbm9yLXRoaXJkOiAgICAgIDEuMjtcbiRtYWpvci10aGlyZDogICAgICAxLjI1O1xuJHBlcmZlY3QtZm91cnRoOiAgIDEuMzMzO1xuJGF1Z21lbnRlZC1mb3VydGg6IDEuNDE0O1xuJHBlcmZlY3QtZmlmdGg6ICAgIDEuNTtcbiRtaW5vci1zaXh0aDogICAgICAxLjY7XG4kbWFqb3Itc2l4dGg6ICAgICAgMS42Njc7XG4kbWlub3Itc2V2ZW50aDogICAgMS43Nzg7XG4kbWFqb3Itc2V2ZW50aDogICAgMS44NzU7XG4kb2N0YXZlOiAgICAgICAgICAgMjtcbiRtYWpvci10ZW50aDogICAgICAyLjU7XG4kbWFqb3ItZWxldmVudGg6ICAgMi42Njc7XG4kbWFqb3ItdHdlbGZ0aDogICAgMztcbiRkb3VibGUtb2N0YXZlOiAgICA0O1xuXG4kbW9kdWxhci1zY2FsZS1yYXRpbzogJHBlcmZlY3QtZm91cnRoICFkZWZhdWx0O1xuJG1vZHVsYXItc2NhbGUtYmFzZTogZW0oJGVtLWJhc2UpICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWU6ICRtb2R1bGFyLXNjYWxlLWJhc2UsICRyYXRpbzogJG1vZHVsYXItc2NhbGUtcmF0aW8pIHtcbiAgJHYxOiBudGgoJHZhbHVlLCAxKTtcbiAgJHYyOiBudGgoJHZhbHVlLCBsZW5ndGgoJHZhbHVlKSk7XG4gICR2YWx1ZTogJHYxO1xuXG4gIC8vIHNjYWxlICR2MiB0byBqdXN0IGFib3ZlICR2MVxuICBAd2hpbGUgJHYyID4gJHYxIHtcbiAgICAkdjI6ICgkdjIgLyAkcmF0aW8pOyAvLyB3aWxsIGJlIG9mZi1ieS0xXG4gIH1cbiAgQHdoaWxlICR2MiA8ICR2MSB7XG4gICAgJHYyOiAoJHYyICogJHJhdGlvKTsgLy8gd2lsbCBmaXggb2ZmLWJ5LTFcbiAgfVxuXG4gIC8vIGNoZWNrIEFGVEVSIHNjYWxpbmcgJHYyIHRvIHByZXZlbnQgZG91YmxlLWNvdW50aW5nIGNvcm5lci1jYXNlXG4gICRkb3VibGUtc3RyYW5kZWQ6ICR2MiA+ICR2MTtcblxuICBAaWYgJGluY3JlbWVudCA+IDAge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGluY3JlbWVudCB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAqICRyYXRpbykgPiAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyICogJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgKiAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGluY3JlbWVudCA8IDAge1xuICAgIC8vIGFkanVzdCAkdjIgdG8ganVzdCBiZWxvdyAkdjFcbiAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCB7XG4gICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAkaW5jcmVtZW50IHRocm91Z2ggLTEge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgLyAkcmF0aW8pIDwgJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxIC8gJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHN0ci10by1udW0gZm4uXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX2NvbnZlcnQtdW5pdHMoJG51bWJlciwgJHVuaXQpIHtcbiAgJHN0cmluZ3M6IFwicHhcIiwgXCJjbVwiLCBcIm1tXCIsIFwiJVwiLCBcImNoXCIsIFwicGljYVwiLCBcImluXCIsIFwiZW1cIiwgXCJyZW1cIiwgXCJwdFwiLCBcInBjXCIsIFwiZXhcIiwgXCJ2d1wiLCBcInZoXCIsIFwidm1pblwiLCBcInZtYXhcIiwgXCJkZWdcIiwgXCJyYWRcIiwgXCJncmFkXCIsIFwidHVyblwiO1xuICAkdW5pdHM6ICAgMXB4LCAxY20sIDFtbSwgMSUsIDFjaCwgMXBpY2EsIDFpbiwgMWVtLCAxcmVtLCAxcHQsIDFwYywgMWV4LCAxdncsIDF2aCwgMXZtaW4sIDF2bWF4LCAxZGVnLCAxcmFkLCAxZ3JhZCwgMXR1cm47XG4gICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICR1bml0KTtcblxuICBAaWYgbm90ICRpbmRleCB7XG4gICAgQHdhcm4gXCJVbmtub3duIHVuaXQgYCN7JHVuaXR9YC5cIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT0gXCJudW1iZXJcIiB7XG4gICAgQHdhcm4gXCJgI3skbnVtYmVyfSBpcyBub3QgYSBudW1iZXJgXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlciAqIG50aCgkdW5pdHMsICRpbmRleCk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHMgZm9yIHdyaXRpbmcgcHJvcGVydGllcyBsaWtlIHRoZSBmb2xsb3dpbmdcbi8vL1xuLy8vIEBpZ25vcmUgWW91IGNhbiBhbHNvIHVzZSBgZmFsc2VgIGluc3RlYWQgb2YgYG51bGxgLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBkaXJlY3Rpb25hbCB2YWx1ZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAwIDEwcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG5cbkBmdW5jdGlvbiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpIHtcbiAgJG91dHB1dDogbnVsbDtcblxuICAkYTogbnRoKCR2YWxzLCAxKTtcbiAgJGI6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCAyKSk7XG4gICRjOiBpZihsZW5ndGgoJHZhbHMpIDwgMywgJGEsIG50aCgkdmFscywgMykpO1xuICAkZDogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIGlmKGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSkpO1xuXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cblxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gT3V0cHV0IGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsIGZvciBpbnN0YW5jZSBgbWFyZ2luYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcmVcbi8vLyAgIFByZWZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZlxuLy8vICAgU3VmZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgdmFsdWVzXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbGxhcHNlLWRpcmVjdGlvbmFsc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcblxuQG1peGluIGRpcmVjdGlvbmFsLXByb3BlcnR5KCRwcmUsICRzdWYsICR2YWxzKSB7XG4gIC8vIFByb3BlcnR5IE5hbWVzXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcmUgKyBcIi1ib3R0b21cIiArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcmUgKyAgICAgICAgICAgICBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xuXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHM7XG4gIH1cbn1cbiIsIi8vIFVzZWQgZm9yIGNyZWF0aW5nIHRoZSBzb3VyY2Ugc3RyaW5nIGZvciBmb250cyB1c2luZyBAZm9udC1mYWNlXG4vLyBSZWZlcmVuY2U6IGh0dHA6Ly9nb28uZ2wvUnUxYktQXG5cbkBmdW5jdGlvbiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICBAcmV0dXJuIGZvbnQtdXJsO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybDtcbiAgfVxufVxuXG5AZnVuY3Rpb24gZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzLFxuICAkZm9udC11cmwpIHtcblxuICAkc3JjOiBudWxsO1xuXG4gICRmb3JtYXRzLW1hcDogKFxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiQGZ1bmN0aW9uIF9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC10eXBlLCAkZ3JhZGllbnQtcG9zaXRpb25zKSB7XG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcbiAgJG9mZnNldDogbnVsbDtcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XG4gIH1cblxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xuICB9XG5cbiAgQGlmICRvZmZzZXQge1xuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogaXMtbnVtYmVyKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAwKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRhYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiAgQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxICk7XG4gICR2YWwtMjogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRoYXMtbXVsdGlwbGUtdmFscyArIDEsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdmFsLTM6IG51bGw7XG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcblxuICBAaWYgJGhhcy12YWwtMyB7XG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcbiAgICAkdmFsLTI6IHN0ci1zbGljZSgkdmFsLTIsIDAsICRoYXMtdmFsLTMgLSAxKTtcbiAgfVxuXG4gICRwb3M6IF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMSkgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0yKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTMpO1xuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcblxuICAvLyBVc2Ugb2xkIHNwZWMgZm9yIHdlYmtpdFxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xuICBAZWFjaCAkdmFsdWUgaW4gJGcxLCAkZzIge1xuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcbiAgICB9XG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJGcxOiBudWxsO1xuICAgIH1cblxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XG5cbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHBvcyA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XG5cbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkZzIge1xuICAgICAgICAgICAgJGcyOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG5cbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcblxuICAvLyBBZGQgY29tbWFcbiAgQGlmICgkc3BlYyAhPSBcIiAgXCIpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIjtcbiAgfVxuXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XG5cbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRpcy1zcGVjLXN5bnRheCA9PSAxIHtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQHJldHVybiAkZ3JhZGllbnRzO1xufVxuIiwiLy8gVXNlciBmb3IgbGluZWFyIGFuZCByYWRpYWwgZ3JhZGllbnRzIHdpdGhpbiBiYWNrZ3JvdW5kLWltYWdlIG9yIGJvcmRlci1pbWFnZSBwcm9wZXJ0aWVzXG5cbkBmdW5jdGlvbiBfcmVuZGVyLWdyYWRpZW50cygkZ3JhZGllbnQtcG9zaXRpb25zLCAkZ3JhZGllbnRzLCAkZ3JhZGllbnQtdHlwZSwgJHZlbmRvcjogZmFsc2UpIHtcbiAgJHByZS1zcGVjOiBudWxsO1xuICAkc3BlYzogbnVsbDtcbiAgJHZlbmRvci1ncmFkaWVudHM6IG51bGw7XG4gIEBpZiAkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIge1xuICAgIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zIHtcbiAgICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IHJhZGlhbCB7XG4gICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gIH1cblxuICBAaWYgJHZlbmRvciB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IC0jeyR2ZW5kb3J9LSN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHByZS1zcGVjfSAkZ3JhZGllbnRzKTtcbiAgfVxuICBAZWxzZSBpZiAkdmVuZG9yID09IGZhbHNlIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogXCIjeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRzcGVjfSAjeyRncmFkaWVudHN9KVwiO1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiB1bnF1b3RlKCR2ZW5kb3ItZ3JhZGllbnRzKTtcbiAgfVxuICBAcmV0dXJuICR2ZW5kb3ItZ3JhZGllbnRzO1xufVxuIiwiQGZ1bmN0aW9uIF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKSB7XG4gICRzaGFwZS1zaXplLXNwZWM6IG51bGw7XG4gIEBlYWNoICR2YWx1ZSBpbiAkc2hhcGUtc2l6ZSB7XG4gICAgQGlmICgkdmFsdWUgPT0gXCJjb3ZlclwiKSBvciAoJHZhbHVlID09IFwiY29udGFpblwiKSB7XG4gICAgICAkdmFsdWU6IG51bGw7XG4gICAgfVxuICAgICRzaGFwZS1zaXplLXNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyR2YWx1ZX1cIjtcbiAgfVxuICBAcmV0dXJuICRzaGFwZS1zaXplLXNwZWM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIGxpbmVhci9yYWRpYWwtZ3JhZGllbnQtcGFyc2Vycy5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfc3RyLXRvLW51bSgkc3RyaW5nKSB7XG4gIC8vIE1hdHJpY2VzXG4gICRzdHJpbmdzOiBcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIjtcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xuXG4gIC8vIFJlc3VsdFxuICAkcmVzdWx0OiAwO1xuICAkZGl2aWRlcjogMDtcbiAgJG1pbnVzOiBmYWxzZTtcblxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcblxuICAgIEBpZiAkY2hhcmFjdGVyID09IFwiLVwiIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09IFwiLlwiIHtcbiAgICAgICRkaXZpZGVyOiAxO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiBub3QgJGluZGV4IHtcbiAgICAgICAgJHJlc3VsdDogaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xuICAgICAgICBAcmV0dXJuIF9jb252ZXJ0LXVuaXRzKCRyZXN1bHQsIHN0ci1zbGljZSgkc3RyaW5nLCAkaSkpO1xuICAgICAgfVxuXG4gICAgICAkbnVtYmVyOiBudGgoJG51bWJlcnMsICRpbmRleCk7XG5cbiAgICAgIEBpZiAkZGl2aWRlciA9PSAwIHtcbiAgICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIE1vdmUgdGhlIGRlY2ltYWwgZG90IHRvIHRoZSBsZWZ0XG4gICAgICAgICRkaXZpZGVyOiAkZGl2aWRlciAqIDEwO1xuICAgICAgICAkbnVtYmVyOiAkbnVtYmVyIC8gJGRpdmlkZXI7XG4gICAgICB9XG5cbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAkbnVtYmVyO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbn1cbiIsIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxuLy8gRWFjaCBvZiB0aGVzZSBtaXhpbnMgc3VwcG9ydCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMgb2YgdmFsdWVzLCB3aGljaCBhbGxvd3MgZGlmZmVyZW50IHRyYW5zaXRpb25zIGZvciBpbmRpdmlkdWFsIHByb3BlcnRpZXMgdG8gYmUgZGVzY3JpYmVkIGluIGEgc2luZ2xlIHN0eWxlIHJ1bGUuIEVhY2ggdmFsdWUgaW4gdGhlIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIHZhbHVlIGF0IHRoYXQgc2FtZSBwb3NpdGlvbiBpbiB0aGUgb3RoZXIgcHJvcGVydGllcy5cblxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9ucy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24sICRhbmltYXRpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCR2YWx1ZXMuLi4pIHtcbiAgLy8gaW5maW5pdGUgfCA8bnVtYmVyPlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkdmFsdWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9ucy4uLikge1xuICAvLyBub3JtYWwgfCBhbHRlcm5hdGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSgkc3RhdGVzLi4uKSB7XG4gIC8vIHJ1bm5pbmcgfCBwYXVzZWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkbW9kZXMuLi4pIHtcbiAgLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gYXBwZWFyYW5jZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCJAbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxuLy8gbm90YXRpb24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kcy4uLikge1xuICAkd2Via2l0LWJhY2tncm91bmRzOiAoKTtcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xuXG4gIEBlYWNoICRiYWNrZ3JvdW5kIGluICRiYWNrZ3JvdW5kcyB7XG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkYmFja2dyb3VuZC10eXBlOiB0eXBlLW9mKCRiYWNrZ3JvdW5kKTtcblxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciAkYmFja2dyb3VuZC10eXBlID09IGxpc3Qge1xuICAgICAgJGJhY2tncm91bmQtc3RyOiBpZigkYmFja2dyb3VuZC10eXBlID09IGxpc3QsIG50aCgkYmFja2dyb3VuZCwgMSksICRiYWNrZ3JvdW5kKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDAsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDAsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICR3ZWJraXQtYmFja2dyb3VuZHM6IGFwcGVuZCgkd2Via2l0LWJhY2tncm91bmRzLCAkd2Via2l0LWJhY2tncm91bmQsIGNvbW1hKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kczogICBhcHBlbmQoJHNwZWMtYmFja2dyb3VuZHMsICAgJHNwZWMtYmFja2dyb3VuZCwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkd2Via2l0LWJhY2tncm91bmRzO1xuICBiYWNrZ3JvdW5kOiAkc3BlYy1iYWNrZ3JvdW5kcztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQtaW1hZ2UgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoXG4vLyBncmFkaWVudHMsIG9yIGZvciBzdHJpbmdpbmcgbXVsdGlwbGUgZ3JhZGllbnRzIHRvZ2V0aGVyLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSgkaW1hZ2VzLi4uKSB7XG4gICR3ZWJraXQtaW1hZ2VzOiAoKTtcbiAgJHNwZWMtaW1hZ2VzOiAoKTtcblxuICBAZWFjaCAkaW1hZ2UgaW4gJGltYWdlcyB7XG4gICAgJHdlYmtpdC1pbWFnZTogKCk7XG4gICAgJHNwZWMtaW1hZ2U6ICgpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRpbWFnZSkgPT0gc3RyaW5nKSB7XG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRpbWFnZSwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRpbWFnZSwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogJGltYWdlO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAkaW1hZ2U7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiAgbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkd2Via2l0LWltYWdlczogYXBwZW5kKCR3ZWJraXQtaW1hZ2VzLCAkd2Via2l0LWltYWdlLCBjb21tYSk7XG4gICAgJHNwZWMtaW1hZ2VzOiAgIGFwcGVuZCgkc3BlYy1pbWFnZXMsICAgJHNwZWMtaW1hZ2UsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogJHdlYmtpdC1pbWFnZXM7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzcGVjLWltYWdlcztcbn1cbiIsIkBtaXhpbiBib3JkZXItaW1hZ2UoJGJvcmRlcnMuLi4pIHtcbiAgJHdlYmtpdC1ib3JkZXJzOiAoKTtcbiAgJHNwZWMtYm9yZGVyczogKCk7XG5cbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XG4gICAgJHdlYmtpdC1ib3JkZXI6ICgpO1xuICAgICRzcGVjLWJvcmRlcjogKCk7XG4gICAgJGJvcmRlci10eXBlOiB0eXBlLW9mKCRib3JkZXIpO1xuXG4gICAgQGlmICRib3JkZXItdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XG4gICAgICAkYm9yZGVyLXN0cjogaWYoJGJvcmRlci10eXBlID09IGxpc3QsIG50aCgkYm9yZGVyLCAxKSwgJGJvcmRlcik7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDAsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1ib3JkZXJzOiBhcHBlbmQoJHdlYmtpdC1ib3JkZXJzLCAkd2Via2l0LWJvcmRlciwgY29tbWEpO1xuICAgICRzcGVjLWJvcmRlcnM6ICAgYXBwZW5kKCRzcGVjLWJvcmRlcnMsICAgJHNwZWMtYm9yZGVyLCAgIGNvbW1hKTtcbiAgfVxuXG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiAkd2Via2l0LWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLWltYWdlOiAkc3BlYy1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi8vRXhhbXBsZXM6XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikgMjAgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIDIwIDMwIDQwIDUwIHN0cmV0Y2ggcm91bmQpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XG4iLCJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skdmFsdWV9KTtcbn1cbiIsIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcbiAgLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgaW50ZWdlclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tY291bnQsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCRsZW5ndGg6IG5vcm1hbCkge1xuICAvLyBub3JtYWwgfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuICAvLyA8Ym9yZGVyLXdpZHRoPiB8fCA8Ym9yZGVyLXN0eWxlPiB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLWNvbG9yLCAkY29sb3IsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1zdHlsZSgkc3R5bGU6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XG4gIC8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXdpZHRoLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGZpbHRlcigkZnVuY3Rpb246IG5vbmUpIHtcbiAgLy8gPGZpbHRlci1mdW5jdGlvbj4gWzxmaWx0ZXItZnVuY3Rpb25dKiB8IG5vbmVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCAkZnVuY3Rpb24sIHdlYmtpdCBzcGVjKTtcbn1cbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbi8vIGZsZXggfCBpbmxpbmUtZmxleFxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAvLyAyMDA5XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogYm94O1xuXG4gICAgLy8gMjAxMlxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfSBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IG5vcm1hbDtcblxuICBAaWYgJHZhbHVlID09IHJvdyB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICR2YWx1ZS0yMDA5LCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH1cblxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDExIC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDEyIC0gZmxleC1mbG93IChmbGV4LWRpcmVjdGlvbiB8fCBmbGV4LXdyYXApXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXgtb3JkZXIgKGludGVnZXIpXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIob3JkZXIsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50O1xufVxuXG4vLyAyMDEyIC0gZmxleC1ncm93IChudW1iZXIpXG5AbWl4aW4gZmxleC1ncm93KCRudW1iZXI6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1ncm93LCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wb3NpdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtc2hyaW5rIChudW1iZXIpXG5AbWl4aW4gZmxleC1zaHJpbmsoJG51bWJlcjogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXNocmluaywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWJhc2lzIChudW1iZXIpXG5AbWl4aW4gZmxleC1iYXNpcygkd2lkdGg6IGF1dG8pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1iYXNpcywgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHdpZHRoO1xufVxuXG4vLyAyMDA5IC0gYm94LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTEgLSBmbGV4LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTIgLSBqdXN0aWZ5LWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQpXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCR2YWx1ZTogZmxleC1zdGFydCkge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1pdGVtcyAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcblxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLXNlbGYsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJHZhbHVlLTIwMTE7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWxpbmUtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5IHwgZGlzdHJpYnV0ZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xufVxuIiwiQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxufVxuIiwiQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IHJvdW5kKCRyYXRpbyAqIDk2ZHBpKSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBtaXhpbiBoeXBoZW5zKCRoeXBoZW5hdGlvbjogbm9uZSkge1xuICAvLyBub25lIHwgbWFudWFsIHwgYXV0b1xuICBAaW5jbHVkZSBwcmVmaXhlcihoeXBoZW5zLCAkaHlwaGVuYXRpb24sIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XG5cbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7IC8vIElFOCtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xuICB9XG59XG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkZzEsICRnMjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xuICAkcG9zLXR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHBvcy1zcGVjOiBudWxsO1xuICAkcG9zLWRlZ3JlZTogbnVsbDtcblxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xuICAgICRnMTA6ICRnOTsgJGc5OiAkZzg7ICRnODogJGc3OyAkZzc6ICRnNjsgJGc2OiAkZzU7XG4gICAgJGc1OiAkZzQ7ICRnNDogJGczOyAkZzM6ICRnMjsgJGcyOiAkZzE7ICRnMTogJHBvcztcbiAgICAkcG9zOiBudWxsO1xuICB9XG5cbiAgQGlmICRwb3Mge1xuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XG4gIH1cblxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcblxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRnMSwgMSk7XG5cbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRnMSwgJGcyLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRwb3M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRzaGFwZS1zaXplOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcblxuICAkZGF0YTogX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSk7XG4gICRnMTogIG50aCgkZGF0YSwgMSk7XG4gICRnMjogIG50aCgkZGF0YSwgMik7XG4gICRwb3M6IG50aCgkZGF0YSwgMyk7XG4gICRzaGFwZS1zaXplOiBudGgoJGRhdGEsIDQpO1xuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFN0cmlwIGRlcHJlY2F0ZWQgY292ZXIvY29udGFpbiBmb3Igc3BlY1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmlyc3QtY29sb3I6IG50aCgkZnVsbCwgMSk7XG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRmaXJzdC1jb2xvciwgMSk7XG5cbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICAvLyBBZGQgQ29tbWFzIGFuZCBzcGFjZXNcbiAgJHNoYXBlLXNpemU6IGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LCBcIiwgbnVsbCk7XG4gICRwb3M6ICAgICAgICBpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcbiAgJHNoYXBlLXNpemUtc3BlYzogaWYoKCRzaGFwZS1zaXplLXNwZWMgIT0gXCIgXCIpIGFuZCAoJHBvcyA9PSBudWxsKSwgXCIjeyRzaGFwZS1zaXplLXNwZWN9LCBcIiwgXCIjeyRzaGFwZS1zaXplLXNwZWN9IFwiKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCh1bnF1b3RlKCN7JHBvc30jeyRzaGFwZS1zaXplfSN7JGZ1bGx9KSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJyYWRpYWwtZ3JhZGllbnQoI3skc2hhcGUtc2l6ZS1zcGVjfSN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE91dHB1dHMgdGhlIHNwZWMgYW5kIHByZWZpeGVkIHZlcnNpb25zIG9mIHRoZSBgOjpzZWxlY3Rpb25gIHBzZXVkby1lbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sfSAkY3VycmVudC1zZWxlY3RvciBbZmFsc2VdXG4vLy8gICBJZiBzZXQgdG8gYHRydWVgLCBpdCB0YWtlcyB0aGUgY3VycmVudCBlbGVtZW50IGludG8gY29uc2lkZXJhdGlvbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzZWxlY3Rpb24odHJ1ZSkge1xuLy8vICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50OjotbW96LXNlbGVjdGlvbiB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OjpzZWxlY3Rpb24ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xuLy8vICAgfVxuXG5AbWl4aW4gc2VsZWN0aW9uKCRjdXJyZW50LXNlbGVjdG9yOiBmYWxzZSkge1xuICBAaWYgJGN1cnJlbnQtc2VsZWN0b3Ige1xuICAgICY6Oi1tb3otc2VsZWN0aW9uIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICY6OnNlbGVjdGlvbiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIDo6LW1vei1zZWxlY3Rpb24ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgOjpzZWxlY3Rpb24ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCR2YWx1ZSkge1xuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XG4vLyBub25lIHx8IHVuZGVybGluZSB8fCBvdmVybGluZSB8fCBsaW5lLXRocm91Z2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLXN0eWxlLCAkc3R5bGUsIG1veiB3ZWJraXQpO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWNvbG9yKCRjb2xvcjogY3VycmVudENvbG9yKSB7XG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcbn1cbiIsIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XG4gIC8vIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4gIC8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IGZsYXQpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcblxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMuLi4pIHtcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xuICAkd2Via2l0OiAoKTtcbiAgJG1vejogKCk7XG4gICRzcGVjOiAoKTtcblxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiBudGgoJGxpc3QsIDEpID09IFwidHJhbnNmb3JtXCIge1xuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MjogLW1vei10cmFuc2Zvcm07XG4gICAgICAkbGlzdDM6ICgpO1xuXG4gICAgICBAZWFjaCAkdmFyIGluICRsaXN0IHtcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XG5cbiAgICAgICAgQGlmICR2YXIgIT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0MSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhbGwgMC4xNXMgZWFzZS1vdXQgMHM7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnRpZXMuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItY29sb3JgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1jb2xvcigjYTYwYjU1ICM3NmNkOWMgbnVsbCAjZThhZTFhKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XG4vLy8gICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc2Y2Q5Yztcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1jb2xvcmBcblxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIGNvbG9yLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIGNvcm5lcnMgb24gdGhlIHNpZGUgb2YgYSBib3guXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGlpXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg1cHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoM3B4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItcmFkaXVzYFxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1zdHlsZWAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRhc2hlZCBudWxsIHNvbGlkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1zdHlsZWBcblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci13aWR0aCgxZW0gbnVsbCAyMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXdpZHRoYFxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCBidXR0b25zLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC1idXR0b25zfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSxcbi8vLyAgICN7JGFsbC1idXR0b25zLWhvdmVyfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWFjdGl2ZX0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgYnV0dG9uLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcbi8vLyAgIGJ1dHRvbjpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBkb3VibGUgYXNzaWduZWQgdmFyaWFibGVzIChMaW5lcyA1OeKAkzYyKSBpbiB2NS4wLjBcblxuJGJ1dHRvbnMtbGlzdDogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuJGFsbC1idXR0b25zOiAgICAgICAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0KTtcbiRhbGwtYnV0dG9ucy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtYnV0dG9ucy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgZm9jdXMpO1xuJGFsbC1idXR0b25zLWhvdmVyOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBob3Zlcik7XG5cbiRhbGwtYnV0dG9uLWlucHV0czogICAgICAgICRhbGwtYnV0dG9ucztcbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6ICRhbGwtYnV0dG9ucy1hY3RpdmU7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtZm9jdXM6ICAkYWxsLWJ1dHRvbnMtZm9jdXM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6ICAkYWxsLWJ1dHRvbnMtaG92ZXI7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gVHJ1bmNhdGVzIHRleHQgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdG8gcmVwcmVzZW50IG92ZXJmbG93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMTAwJV1cbi8vLyAgIE1heC13aWR0aCBmb3IgdGhlIHN0cmluZyB0byByZXNwZWN0IGJlZm9yZSBiZWluZyB0cnVuY2F0ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbi8vLyAgIH1cblxuQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW9yZ2lhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG5cbi8vLyBIZWx2ZXRpY2EgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBMdWNpZGEgR3JhbmRlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIE1vbm9zcGFjZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBcIkNvbnNvbGFzXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XG5cbi8vLyBWZXJkYW5hIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbiIsIi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGhlaWdodCBhcmd1bWVudCBpbiB2NS4wLjBcblxuQG1peGluIGhpZGUtdGV4dCgkaGVpZ2h0OiBudWxsKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiAkaGVpZ2h0IHtcbiAgICBAd2FybiBcIlRoZSBgaGlkZS10ZXh0YCBtaXhpbiBoYXMgY2hhbmdlZCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGEgaGVpZ2h0LiBUaGUgaGVpZ2h0IGFyZ3VtZW50IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2VwdGVkIGluIHY1LjAuMFwiO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBtYXJnaW5gIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDEwcHggM2VtIDIwdmgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHZoO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBtYXJnaW5gXG5cbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgcGFkZGluZ2Agb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMnZoIG51bGwgMTBweCA1JSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuLy8vICAgICBwYWRkaW5nLXRvcDogMTJ2aDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYHBhZGRpbmdgXG5cbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbi4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtQb3NpdGlvbn0gJHBvc2l0aW9uIFtyZWxhdGl2ZV1cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRjb29yZGluYXRlcyBbbnVsbCBudWxsIG51bGwgbnVsbF1cbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgNC12YWx1ZSBzeW50YXggZm9yIHRoZSBlZGdlcyBvZiBhIGJveFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbGVmdDogMTBlbTtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gdW5wYWNrXG5cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkb2Zmc2V0czogKFxuICAgIHRvcDogICAgbnRoKCRjb29yZGluYXRlcywgMSksXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxuICAgIGxlZnQ6ICAgbnRoKCRjb29yZGluYXRlcywgNClcbiAgKTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsIkBtaXhpbiByZXRpbmEtaW1hZ2UoJGZpbGVuYW1lLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uOiBwbmcsICRyZXRpbmEtZmlsZW5hbWU6IG51bGwsICRyZXRpbmEtc3VmZml4OiBfMngsICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICB1cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhpZHBpIHtcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXG4vLy8gICBBIGxpc3Qgb2YgYXQgbW9zdCAyIHNpemUgdmFsdWVzLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0byAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDJlbTtcbi8vLyAgICAgaGVpZ2h0OiAyZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZWZhY3RvciBpbiA1LjAuMCB0byB1c2UgYSBjb21tYS1zZXBhcmF0ZWQgYXJndW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JGhlaWdodH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkaGVpZ2h0YCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCB0ZXh0LWJhc2VkIGlucHV0cy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtdGV4dC1pbnB1dHN9YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1mb2N1c30sXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWFjdGl2ZX0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuLy8vICAgdGV4dGFyZWEge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4vLy8gICB0ZXh0YXJlYTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpob3Zlcixcbi8vLyAgIHRleHRhcmVhOmhvdmVyIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTphY3RpdmUsXG4vLy8gICB0ZXh0YXJlYTphY3RpdmUge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdGV4dC1pbnB1dHMtbGlzdDogJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJwYXNzd29yZFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRleHRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXScsXG4gICAgICAgICAgICAgICAgICAgJ3RleHRhcmVhJztcblxuJGFsbC10ZXh0LWlucHV0czogICAgICAgIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QpO1xuJGFsbC10ZXh0LWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGFjdGl2ZSk7XG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgZm9jdXMpO1xuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGhvdmVyKTtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxuLy8vXG4vLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtb2VkIGhlcmU6IGh0dHA6Ly9qcXVlcnl1aS5jb20vcmVzb3VyY2VzL2RlbW9zL2VmZmVjdC9lYXNpbmcuaHRtbFxuLy8vXG4vLy8gQHR5cGUgY3ViaWMtYmV6aWVyXG5cbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4kZWFzZS1vdXQtcXVhZDogICAgIGN1YmljLWJlemllcigwLjI1MCwgIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuJGVhc2Utb3V0LWN1YmljOiAgICBjdWJpYy1iZXppZXIoMC4yMTUsICAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWFydDogICAgY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVpbnQ6ICAgIGN1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xuJGVhc2Utb3V0LXNpbmU6ICAgICBjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKTtcbiRlYXNlLW91dC1leHBvOiAgICAgY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtY2lyYzogICAgIGN1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWJhY2s6ICAgICBjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcblxuJGVhc2UtaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KTtcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZS1pbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKTtcbiRlYXNlLWluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7XG4iLCJAbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpID09IDIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGNoYW5nZSB0aGUgYHdvcmQtd3JhcGAgcHJvcGVydHkuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdyYXAgW2JyZWFrLXdvcmRdXG4vLy8gICBWYWx1ZSBmb3IgdGhlIGB3b3JkLWJyZWFrYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLndyYXBwZXIge1xuLy8vICAgICBAaW5jbHVkZSB3b3JkLXdyYXAoYnJlYWstd29yZCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vLyAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuLy8vICAgfVxuXG5AbWl4aW4gd29yZC13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XG4gIG92ZXJmbG93LXdyYXA6ICR3cmFwO1xuICB3b3JkLXdyYXA6ICR3cmFwO1xuXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIH0gQGVsc2Uge1xuICAgIHdvcmQtYnJlYWs6ICR3cmFwO1xuICB9XG59XG4iLCIvLyBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG5cbkBtaXhpbiBpbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQHdhcm4gXCJUaGUgaW5saW5lLWJsb2NrIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIEB3YXJuIFwiVGhlIGJ1dHRvbiBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xuICAvLyBHcmF5c2NhbGUgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIC8vIENvbG9yZWQgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cbn1cblxuLy8gU2ltcGxlIEJ1dHRvblxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGNvbG9yLW1haW4tZ3JleXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xNCUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTglLCAgJGxpZ2h0bmVzczogIDE1JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTElKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICAxNSUsICRsaWdodG5lc3M6IC0xOCUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkY29sb3ItbWFpbi1ncmV5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNyUsICRsaWdodG5lc3M6ICA1JSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA4JSwgJGxpZ2h0bmVzczogLTE0JSk7XG5cbiAgICBAaWYgJGNvbG9yLW1haW4tZ3JleXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA5JSwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDclLCAkbGlnaHRuZXNzOiAtMTclKTtcblxuICAgIEBpZiAkY29sb3ItbWFpbi1ncmV5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBTaGlueSBCdXR0b25cbkBtaXhpbiBzaGlueSgkYmFzZS1jb2xvciwgJGNvbG9yLW1haW4tZ3JleXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkY29sb3ItbWFpbi1ncmV5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkZm91cnRoLXN0b3A6ICAgZ3JheXNjYWxlKCRmb3VydGgtc3RvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc2Vjb25kLXN0b3A6ICAgZ3JheXNjYWxlKCRzZWNvbmQtc3RvcCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICAgICR0aGlyZC1zdG9wOiAgICBncmF5c2NhbGUoJHRoaXJkLXN0b3ApO1xuICB9XG5cbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGJhc2UtY29sb3IgMCUsICRzZWNvbmQtc3RvcCA1MCUsICR0aGlyZC1zdG9wIDUwJSwgJGZvdXJ0aC1zdG9wIDEwMCUpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTMsICRncmVlbjogLTE1LCAkYmx1ZTogLTE4KTtcbiAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTY2LCAkZ3JlZW46IC02MiwgJGJsdWU6IC01MSk7XG4gICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC05MywgJGdyZWVuOiAtODUsICRibHVlOiAtNjYpO1xuICAgICRmb3VydGgtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICRncmVlbjogLTgwLCAkYmx1ZTogLTYzKTtcblxuICAgIEBpZiAkY29sb3ItbWFpbi1ncmV5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkZmlyc3Qtc3RvcC1ob3ZlciAgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZC1zdG9wLWhvdmVyIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcmQtc3RvcC1ob3ZlciAgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3VydGgtc3RvcC1ob3ZlciAxMDAlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGNvbG9yLW1haW4tZ3JleXNjYWxlID09IHRydWUge1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwcHggMCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBQaWxsIEJ1dHRvblxuQG1peGluIHBpbGwoJGJhc2UtY29sb3IsICRjb2xvci1tYWluLWdyZXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTExJSwgJGxpZ2h0bmVzczogLTI2JSk7XG4gICRib3JkZXItc2lkZXM6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIxJSwgJGxpZ2h0bmVzczogLTIxJSk7XG4gICRib3JkZXItdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTMwJSwgJGxpZ2h0bmVzczogLTE1JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTElLCAgJGxpZ2h0bmVzczogIDclKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTQlLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtMTklLCAkbGlnaHRuZXNzOiAtMTUlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGNvbG9yLW1haW4tZ3JleXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XG5cbiAgICBAaWYgJGNvbG9yLW1haW4tZ3JleXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAgICRib3JkZXItc2lkZXM6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG5cbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA0LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNiwgICRzYXR1cmF0aW9uOiAtMi41JSwgJGxpZ2h0bmVzczogLTMwJSk7XG4gICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDExLCAkc2F0dXJhdGlvbjogIDYlLCAgICRsaWdodG5lc3M6IC0zMSUpO1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA5LCAgJHNhdHVyYXRpb246ICAyJSwgICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA1LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xuXG4gICAgQGlmICRjb2xvci1tYWluLWdyZXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIEZsYXQgQnV0dG9uXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGNvbG9yLW1haW4tZ3JleXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA0JSwgJGxpZ2h0bmVzczogNSUpO1xuXG4gICAgQGlmICRjb2xvci1tYWluLWdyZXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcblxuICAgIEBpZiAkY29sb3ItbWFpbi1ncmV5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gRmxleGlibGUgZ3JpZFxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ncmlkIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcblxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcblxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcbn1cblxuQG1peGluIGJveC1zaXppbmcoJGJveCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIEB3YXJuIFwiVGhlIGJveC1zaXppbmcgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gVGhpcyBwcm9wZXJ0eSBjYW4gbm93IGJlIHVzZWQgdW4tcHJlZml4ZWQuXCI7XG59XG4iLCJcbkBpZiB2YXJpYWJsZV9leGlzdHMoJ3dpdGgtYmFzZS1jc3MnKSA9PSBmYWxzZSB7XG4gICR3aXRoLWJhc2UtY3NzOiBmYWxzZSAhZ2xvYmFsO1xufVxuXG5AaW1wb3J0IFwiYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJjYWxjdWxhdGlvbnNcIjtcbkBpbXBvcnQgXCJjb2xvcnNcIjtcbkBpbXBvcnQgXCJ0aGVtZXNcIjtcbkBpbXBvcnQgXCJjb25maWdcIjtcbkBpbXBvcnQgXCJmb250c1wiO1xuQGltcG9ydCBcInRhcmdldHNcIjtcbkBpbXBvcnQgXCJsYXllcnNcIjtcbkBpbXBvcnQgXCJsYXlvdXRcIjtcbkBpbXBvcnQgXCJmb3Jtc1wiO1xuQGltcG9ydCBcInJlc2V0XCI7XG5AaW1wb3J0IFwic2VjdGlvbnNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidXRpbHNcIjtcblxuQGltcG9ydCBcImljb25zXCI7XG5cbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwibGFiZWxzXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzXCI7XG5AaW1wb3J0IFwidGV4dFwiO1xuQGltcG9ydCBcInZpZGVvXCI7XG4iLCIkYnJlYWtwb2ludC1leHRyYXNtYWxsOiAzNzBweDtcbiRicmVha3BvaW50LW1vYmlsZTogNTMwcHg7XG4kYnJlYWtwb2ludC1tb2JpbGUtb3ZlcnZpZXctYmxvY2tzOiA2NjZweDtcbiRicmVha3BvaW50LXNtYWxsOiA2MjBweCArIDQwcHg7IC8vIDY2MHB4IC0tIDIgKiAzMDAgKyAzICogMjBcbiRicmVha3BvaW50LXBvcnRyYWl0OiA5MDBweDtcbiRicmVha3BvaW50LW1lZGl1bTogOTQwcHggKyA0MHB4OyAvLyA5ODBweCAtLSAzICogMzAwICsgNCAqIDIwXG4kYnJlYWtwb2ludC1pcGFkLWxhbmRzY2FwZTogMTAyNHB4O1xuJGJyZWFrcG9pbnQtbGFuZHNjYXBlOiAxMjAwcHg7XG4kYnJlYWtwb2ludC1sYXJnZTogMTI2MHB4ICsgNDBweDsgLy8gMTMwMHB4IC0tIDQgKiAzMDAgKyA1ICogMjBcbiRicmVha3BvaW50LWZ1bGwtbG9nbzogMTU3MHB4O1xuXG5AbWl4aW4gYWJvdmUoJHdpZHRoKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBiZWxvdygkd2lkdGgpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHdpZHRoIC0gMSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBiZXR3ZWVuKCR3aWR0aDEsICR3aWR0aDIpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoMSkgYW5kIChtYXgtd2lkdGg6ICR3aWR0aDIgLSAxKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIlxuQGZ1bmN0aW9uIGJlemllcl9heGlzKCR4MSwgJHgyLCAkdCkge1xuICAkY3g6IDMuMCAqICR4MTtcbiAgJGJ4OiAzLjAgKiAoJHgyIC0gJHgxKSAtICRjeDtcbiAgJGF4OiAxLjAgLSAkY3ggLSAkYng7XG4gIEByZXR1cm4gJHQgKiAoJGN4ICsgKCR0ICogKCRieCArICgkdCAqICRheCkpKSk7XG59XG5cbkBmdW5jdGlvbiBiZXppZXJfZGVyaXZhdGUoJHgxLCAkeDIsICR4KSB7XG4gICRjeDogMy4wICogJHgxO1xuICAkYng6IDMuMCAqICgkeDIgLSAkeDEpIC0gJGN4O1xuICAkYXg6IDEuMCAtICRjeCAtICRieDtcbiAgQHJldHVybiAoKDMuMCAqICRheCAqICR4ICsgMi4wICogJGJ4KSAqICR4KSArICRjeDtcbn1cblxuQGZ1bmN0aW9uIGN1YmljLWJlemllcigkeDEsICR5MSwgJHgyLCAkeTIsICRwZXJjZW50YWdlKSB7XG4gICR4OiAkcGVyY2VudGFnZTtcbiAgJGk6IDA7XG4gIEB3aGlsZSAoJGkgPCAxMCkge1xuICAgICR6OiBiZXppZXJfYXhpcygkeDEsICR4MiwgJHgpIC0gJHBlcmNlbnRhZ2U7XG4gICAgJGFic3o6IGFicygkeik7XG4gICAgQGlmICRhYnN6IDwgMC4wMDAwMDEge1xuICAgIC8vIHBvb3JtYW5zIGJyZWFrXG4gICAgICAkaTogMTA7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkeDogJHggLSAoJHogLyBiZXppZXJfZGVyaXZhdGUoJHgxLCAkeDIsICR4KSk7XG4gICAgICAkaTogJGkgKyAxO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGJlemllcl9heGlzKCR5MSwgJHkyLCAkeCk7XG59XG4iLCIvLyBSZWRlc2lnbiBjb2xvcnNcbiRjb2xvci1tYWluLWdyZWVuOiAjMDBFNjNDO1xuJGNvbG9yLW1haW4tYmxhY2s6ICMwMDAwMDA7XG4kY29sb3ItbWFpbi1yZWQ6ICNGRjNDMDA7XG4kY29sb3ItbWFpbi1waW5rOiAjRjAzQ0E1O1xuJGNvbG9yLW1haW4teWVsbG93OiAjRkZFNjAwO1xuJGNvbG9yLW1haW4tYmx1ZTogIzAwOTZGQTtcbiRjb2xvci1tYWluLXdoaXRlOiAjRkZGRkZGO1xuJGNvbG9yLW1haW4tZ3JleTogI0U2RTZFNjtcblxuLy8gU2Vjb25kYXJ5IGNvbG9yc1xuJGNvbG9yLXNlY29uZGFyeS1ncmVlbjogIzAwQzMzMztcbiRjb2xvci1saWdodGVzdC1ncmV5OiAjRjRGNEY0O1xuJGNvbG9yLXNlY29uZGFyeS1ncmV5OiAjNzA3MDcwO1xuJGNvbG9yLXRlcnRpYXJ5LWdyZXk6ICM2NjY2NjY7XG4kY29sb3ItZ3JleS05OTogIzc2NzY3NjtcbiRjb2xvci1hbmQteWV0LWFub3RoZXItZ3JleTogI2NmY2ZjZjtcbiRjb2xvci1zZWNvbmRhcnktYmxhY2s6ICMzMzMzMzM7XG5cbi8vIFNvY2lhbCBtZWRpYSBjb2xvcnNcbiRmYWNlYm9vay1ibHVlOiAjM0I1OTk4O1xuJHR3aXR0ZXItYmx1ZTogIzAwQUNFRTtcbiR5b3V0dWJlLXJlZDogI0NEMzMyRDtcblxuJG1haW4tY29sb3JzOiAoXG4gICAgXCJncmVlblwiICRjb2xvci1tYWluLWdyZWVuLFxuICAgIFwiYmxhY2tcIiAkY29sb3ItbWFpbi1ibGFjayxcbiAgICBcInJlZFwiICRjb2xvci1tYWluLXJlZCxcbiAgICBcInBpbmtcIiAkY29sb3ItbWFpbi1waW5rLFxuICAgIFwieWVsbG93XCIgJGNvbG9yLW1haW4teWVsbG93LFxuICAgIFwiYmx1ZVwiICRjb2xvci1tYWluLWJsdWUsXG4gICAgXCJncmV5XCIgJGNvbG9yLW1haW4tZ3JleVxuKTtcblxuZGl2LmMtY29sb3ItYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTI2cHg7XG4gIHdpZHRoOiAxMjZweDtcblxuICBAZWFjaCAkY29sb3IgaW4gJG1haW4tY29sb3JzIHtcbiAgICAkbmFtZTogbnRoKCRjb2xvciwgMSk7XG4gICAgJHZhbHVlOiBudGgoJGNvbG9yLCAyKTtcblxuICAgICYudi0jeyRuYW1lfSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkd2l0aC1iYXNlLWNzcyB7XG4gIEBpbmNsdWRlIHNlbGVjdGlvbigpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbi1ncmVlbjtcbiAgICBjb2xvcjogJGNvbG9yLW1haW4tYmxhY2s7XG4gIH1cbn1cbiIsIi8vXG4vLyBSRVNUWUxJTkdcbi8vXG5cbi8vIGZvciBtYWluIGNvbG9yOiBAaW5jbHVkZSB0aGVtZWQtbWFpbjtcbi8vIGZvciBzdXBwb3J0IGNvbG9yOiBAaW5jbHVkZSB0aGVtZWQtc3VwcG9ydDtcblxuJHRoZW1lczogcGluaywgYmx1ZSwgcmVkLCB5ZWxsb3csIGdyZXk7XG4kdGhlbWUtZGVmYXVsdC1zdXBwb3J0OiAkY29sb3ItbWFpbi1ncmVlbjtcblxuLy8gcGluayB0aGVtZVxuJHRoZW1lLXBpbmstYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tcGluaztcbiR0aGVtZS1waW5rLXN1cHBvcnQ6ICRjb2xvci1tYWluLXBpbms7XG5cbi8vIGJsdWUgdGhlbWVcbiR0aGVtZS1ibHVlLWJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLWJsdWU7XG4kdGhlbWUtYmx1ZS1zdXBwb3J0OiAkY29sb3ItbWFpbi1ibHVlO1xuXG4vLyByZWQgdGhlbWVcbiR0aGVtZS1yZWQtYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tcmVkO1xuJHRoZW1lLXJlZC1zdXBwb3J0OiAkY29sb3ItbWFpbi1yZWQ7XG5cbi8vIHllbGxvdyB0aGVtZVxuJHRoZW1lLXllbGxvdy1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbi15ZWxsb3c7XG4kdGhlbWUteWVsbG93LXN1cHBvcnQ6ICRjb2xvci1tYWluLXllbGxvdztcblxuLy8gZ3JleSB0aGVtZVxuJHRoZW1lLWdyZXktYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tZ3JleTtcbiR0aGVtZS1ncmV5LXN1cHBvcnQ6ICRjb2xvci1tYWluLWdyZWVuO1xuXG4vL1xuLy8gT0xEIFRIRU1FUyBSRUZBQ1RPUkVEXG4vL1xuXG4kdGhlbWUteWVsbG93LWJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLXllbGxvdztcbiR0aGVtZS15ZWxsb3ctYmFja2dyb3VuZDogJGNvbG9yLW1haW4teWVsbG93O1xuJHRoZW1lLXllbGxvdy1iYWNrZ3JvdW5kLWZhZGU6ICRjb2xvci1tYWluLXllbGxvdztcbiR0aGVtZS15ZWxsb3ctYmFja2dyb3VuZC1mYWRlLWZpeGVkOiAkY29sb3ItbWFpbi15ZWxsb3c7XG4kdGhlbWUteWVsbG93LWJhY2tncm91bmQtcmV2ZXJzZWQ6ICRjb2xvci1tYWluLXllbGxvdztcbiR0aGVtZS15ZWxsb3ctc3VwcG9ydDogJGNvbG9yLW1haW4teWVsbG93O1xuJHRoZW1lLXllbGxvdy1zdXBwb3J0LWNvbXBsZW1lbnQ6ICRjb2xvci1tYWluLXllbGxvdztcbiR0aGVtZS15ZWxsb3ctc2lnbmFsOiAkY29sb3ItbWFpbi15ZWxsb3c7XG5cbiR0aGVtZS1wdXJwbGUtYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tcGluaztcbiR0aGVtZS1wdXJwbGUtYmFja2dyb3VuZDogJGNvbG9yLW1haW4tcGluaztcbiR0aGVtZS1wdXJwbGUtYmFja2dyb3VuZC1mYWRlOiAkY29sb3ItbWFpbi1waW5rO1xuJHRoZW1lLXB1cnBsZS1iYWNrZ3JvdW5kLWZhZGUtZml4ZWQ6ICRjb2xvci1tYWluLXBpbms7XG4kdGhlbWUtcHVycGxlLWJhY2tncm91bmQtcmV2ZXJzZWQ6ICRjb2xvci1tYWluLXBpbms7XG4kdGhlbWUtcHVycGxlLXN1cHBvcnQ6ICRjb2xvci1tYWluLXBpbms7XG4kdGhlbWUtcHVycGxlLXN1cHBvcnQtY29tcGxlbWVudDogJGNvbG9yLW1haW4tcGluaztcbiR0aGVtZS1wdXJwbGUtc2lnbmFsOiAkY29sb3ItbWFpbi1waW5rO1xuXG4kdGhlbWUtYmx1ZS1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbi1ibHVlO1xuJHRoZW1lLWJsdWUtYmFja2dyb3VuZDogJGNvbG9yLW1haW4tYmx1ZTtcbiR0aGVtZS1ibHVlLWJhY2tncm91bmQtZmFkZTogJGNvbG9yLW1haW4tYmx1ZTtcbiR0aGVtZS1ibHVlLWJhY2tncm91bmQtZmFkZS1maXhlZDogJGNvbG9yLW1haW4tYmx1ZTtcbiR0aGVtZS1ibHVlLWJhY2tncm91bmQtcmV2ZXJzZWQ6ICRjb2xvci1tYWluLWJsdWU7XG4kdGhlbWUtYmx1ZS1zdXBwb3J0OiAkY29sb3ItbWFpbi1ibHVlO1xuJHRoZW1lLWJsdWUtc3VwcG9ydC1jb21wbGVtZW50OiAkY29sb3ItbWFpbi1ibHVlO1xuJHRoZW1lLWJsdWUtc2lnbmFsOiAkY29sb3ItbWFpbi1ibHVlO1xuXG4kdGhlbWUtb3JhbmdlLWJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLXJlZDtcbiR0aGVtZS1vcmFuZ2UtYmFja2dyb3VuZDogJGNvbG9yLW1haW4tcmVkO1xuJHRoZW1lLW9yYW5nZS1iYWNrZ3JvdW5kLWZhZGU6ICRjb2xvci1tYWluLXJlZDtcbiR0aGVtZS1vcmFuZ2UtYmFja2dyb3VuZC1mYWRlLWZpeGVkOiAkY29sb3ItbWFpbi1yZWQ7XG4kdGhlbWUtb3JhbmdlLWJhY2tncm91bmQtcmV2ZXJzZWQ6ICRjb2xvci1tYWluLXJlZDtcbiR0aGVtZS1vcmFuZ2Utc3VwcG9ydDogJGNvbG9yLW1haW4tcmVkO1xuJHRoZW1lLW9yYW5nZS1zdXBwb3J0LWNvbXBsZW1lbnQ6ICRjb2xvci1tYWluLXJlZDtcbiR0aGVtZS1vcmFuZ2Utc2lnbmFsOiAkY29sb3ItbWFpbi1yZWQ7XG5cbiR0aGVtZS1ncmVlbi1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbi1ncmV5O1xuJHRoZW1lLWdyZWVuLWJhY2tncm91bmQ6ICRjb2xvci1tYWluLWdyZXk7XG4kdGhlbWUtZ3JlZW4tYmFja2dyb3VuZC1mYWRlOiAkY29sb3ItbWFpbi1ncmV5O1xuJHRoZW1lLWdyZWVuLWJhY2tncm91bmQtZmFkZS1maXhlZDogJGNvbG9yLW1haW4tZ3JleTtcbiR0aGVtZS1ncmVlbi1iYWNrZ3JvdW5kLXJldmVyc2VkOiAkY29sb3ItbWFpbi1ncmV5O1xuJHRoZW1lLWdyZWVuLXN1cHBvcnQ6ICRjb2xvci1tYWluLWdyZWVuO1xuJHRoZW1lLWdyZWVuLXN1cHBvcnQtY29tcGxlbWVudDogJGNvbG9yLW1haW4tZ3JlZW47XG4kdGhlbWUtZ3JlZW4tc2lnbmFsOiAkY29sb3ItbWFpbi1ncmVlbjtcblxuJHRoZW1lLXBpbmstYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tcGluaztcbiR0aGVtZS1waW5rLWJhY2tncm91bmQ6ICRjb2xvci1tYWluLXBpbms7XG4kdGhlbWUtcGluay1iYWNrZ3JvdW5kLWZhZGU6ICRjb2xvci1tYWluLXBpbms7XG4kdGhlbWUtcGluay1iYWNrZ3JvdW5kLWZhZGUtZml4ZWQ6ICRjb2xvci1tYWluLXBpbms7XG4kdGhlbWUtcGluay1iYWNrZ3JvdW5kLXJldmVyc2VkOiAkY29sb3ItbWFpbi1waW5rO1xuJHRoZW1lLXBpbmstc3VwcG9ydDogJGNvbG9yLW1haW4tcGluaztcbiR0aGVtZS1waW5rLXN1cHBvcnQtY29tcGxlbWVudDogJGNvbG9yLW1haW4tcGluaztcbiR0aGVtZS1waW5rLXNpZ25hbDogJGNvbG9yLW1haW4tcGluaztcblxuJHRoZW1lLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tZ3JleTtcbiR0aGVtZS1kZWZhdWx0LWJhY2tncm91bmQ6ICRjb2xvci1tYWluLWdyZXk7XG4kdGhlbWUtZGVmYXVsdC1iYWNrZ3JvdW5kLWZhZGU6ICRjb2xvci1tYWluLWdyZXk7XG4kdGhlbWUtZGVmYXVsdC1iYWNrZ3JvdW5kLWZhZGUtZml4ZWQ6ICRjb2xvci1tYWluLWdyZXk7XG4kdGhlbWUtZGVmYXVsdC1jb2xvcjogJGNvbG9yLW1haW4tZ3JleTtcbiR0aGVtZS1kZWZhdWx0LWJhY2tncm91bmQtcmV2ZXJzZWQ6ICRjb2xvci1tYWluLWdyZXk7XG4kdGhlbWUtZGVmYXVsdC1zdXBwb3J0OiAkY29sb3ItbWFpbi1ncmVlbjtcbiR0aGVtZS1kZWZhdWx0LXN1cHBvcnQtY29tcGxlbWVudDogJGNvbG9yLW1haW4tZ3JlZW47XG4kdGhlbWUtZGVmYXVsdC1zaWduYWw6ICRjb2xvci1tYWluLWdyZWVuO1xuXG5AbWl4aW4gdGhlbWVkIHtcbiAgQGNvbnRlbnQ7XG5cbiAgYm9keS50aGVtZS15ZWxsb3cgJiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgYm9keS50aGVtZS1wdXJwbGUgJiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgYm9keS50aGVtZS1ibHVlICYge1xuICAgIEBjb250ZW50O1xuICB9XG4gIGJvZHkudGhlbWUtb3JhbmdlICYge1xuICAgIEBjb250ZW50O1xuICB9XG4gIGJvZHkudGhlbWUtZ3JlZW4gJiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgYm9keS50aGVtZS1waW5rICYge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIG1haW4gYmFja2dyb3VuZCBjb2xvcnNcblxuQG1peGluIHRoZW1lZC1tYWluKCRzZWxlY3RvcjogJyYnLCAkYm9keS1maWx0ZXI6JycpIHtcbiAgYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuXG4gIGJvZHkudGhlbWUteWVsbG93I3skYm9keS1maWx0ZXJ9ICN7JHNlbGVjdG9yfSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4teWVsbG93O1xuICB9XG4gIGJvZHkudGhlbWUtcHVycGxlI3skYm9keS1maWx0ZXJ9ICN7JHNlbGVjdG9yfSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tcGluaztcbiAgfVxuICBib2R5LnRoZW1lLWJsdWUjeyRib2R5LWZpbHRlcn0gI3skc2VsZWN0b3J9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbi1ibHVlO1xuICB9XG4gIGJvZHkudGhlbWUtb3JhbmdlI3skYm9keS1maWx0ZXJ9ICN7JHNlbGVjdG9yfSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tcmVkO1xuICB9XG4gIGJvZHkudGhlbWUtZ3JlZW4jeyRib2R5LWZpbHRlcn0gI3skc2VsZWN0b3J9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbi1ncmV5O1xuICB9XG4gIGJvZHkudGhlbWUtcGluayN7JGJvZHktZmlsdGVyfSAjeyRzZWxlY3Rvcn0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLXBpbms7XG4gIH1cbn1cblxuLy8gc3VwcG9ydCBjb2xvcnNcblxuQG1peGluIHRoZW1lZC1zdXBwb3J0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWRlZmF1bHQtc3VwcG9ydDtcblxuICBib2R5LnRoZW1lLXllbGxvdyAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUteWVsbG93LXN1cHBvcnQ7XG4gIH1cbiAgYm9keS50aGVtZS1wdXJwbGUgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLXB1cnBsZS1zdXBwb3J0O1xuICB9XG4gIGJvZHkudGhlbWUtYmx1ZSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtYmx1ZS1zdXBwb3J0O1xuICB9XG4gIGJvZHkudGhlbWUtb3JhbmdlICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1vcmFuZ2Utc3VwcG9ydDtcbiAgfVxuICBib2R5LnRoZW1lLWdyZWVuICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1ncmVlbi1zdXBwb3J0O1xuICB9XG4gIGJvZHkudGhlbWUtcGluayAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtcGluay1zdXBwb3J0O1xuICB9XG59XG5cbi8vIHNpZ25hbCBjb2xvcnNcblxuQG1peGluIHRoZW1lZC1zaWduYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtZGVmYXVsdC1zaWduYWw7XG5cbiAgYm9keS50aGVtZS15ZWxsb3cgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLXllbGxvdy1zaWduYWw7XG4gIH1cbiAgYm9keS50aGVtZS1wdXJwbGUgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLXB1cnBsZS1zaWduYWw7XG4gIH1cbiAgYm9keS50aGVtZS1ibHVlICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1ibHVlLXNpZ25hbDtcbiAgfVxuICBib2R5LnRoZW1lLW9yYW5nZSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtb3JhbmdlLXNpZ25hbDtcbiAgfVxuICBib2R5LnRoZW1lLWdyZWVuICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1ncmVlbi1zaWduYWw7XG4gIH1cbiAgYm9keS50aGVtZS1waW5rICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1waW5rLXNpZ25hbDtcbiAgfVxufVxuXG4vLyBmb3IgaWNvbnNcblxuQG1peGluIHRoZW1lZC1zaWduYWwtY29sb3Ige1xuICBjb2xvcjogJHRoZW1lLWRlZmF1bHQtc2lnbmFsO1xuXG4gIGJvZHkudGhlbWUteWVsbG93ICYge1xuICAgIGNvbG9yOiAkdGhlbWUteWVsbG93LXNpZ25hbDtcbiAgfVxuICBib2R5LnRoZW1lLXB1cnBsZSAmIHtcbiAgICBjb2xvcjogJHRoZW1lLXB1cnBsZS1zaWduYWw7XG4gIH1cbiAgYm9keS50aGVtZS1ibHVlICYge1xuICAgIGNvbG9yOiAkdGhlbWUtYmx1ZS1zaWduYWw7XG4gIH1cbiAgYm9keS50aGVtZS1vcmFuZ2UgJiB7XG4gICAgY29sb3I6ICR0aGVtZS1vcmFuZ2Utc2lnbmFsO1xuICB9XG4gIGJvZHkudGhlbWUtZ3JlZW4gJiB7XG4gICAgY29sb3I6ICR0aGVtZS1ncmVlbi1zaWduYWw7XG4gIH1cbiAgYm9keS50aGVtZS1waW5rICYge1xuICAgIGNvbG9yOiAkdGhlbWUtcGluay1zaWduYWw7XG4gIH1cbn1cblxuQG1peGluIHRoZW1lZC1zaWduYWwtZmlsbCB7XG4gIGZpbGw6ICR0aGVtZS1kZWZhdWx0LXN1cHBvcnQ7XG5cbiAgYm9keS50aGVtZS15ZWxsb3cgJiB7XG4gICAgZmlsbDogJHRoZW1lLXllbGxvdy1zdXBwb3J0O1xuICB9XG4gIGJvZHkudGhlbWUtcHVycGxlICYge1xuICAgIGZpbGw6ICR0aGVtZS1wdXJwbGUtc3VwcG9ydDtcbiAgfVxuICBib2R5LnRoZW1lLWJsdWUgJiB7XG4gICAgZmlsbDogJHRoZW1lLWJsdWUtc3VwcG9ydDtcbiAgfVxuICBib2R5LnRoZW1lLW9yYW5nZSAmIHtcbiAgICBmaWxsOiAkdGhlbWUtb3JhbmdlLXN1cHBvcnQ7XG4gIH1cbiAgYm9keS50aGVtZS1ncmVlbiAmIHtcbiAgICBmaWxsOiAkdGhlbWUtZ3JlZW4tc3VwcG9ydDtcbiAgfVxuICBib2R5LnRoZW1lLXBpbmsgJiB7XG4gICAgZmlsbDogJHRoZW1lLXBpbmstc3VwcG9ydDtcbiAgfVxufVxuXG5AbWl4aW4gdGhlbWVkLXN1cHBvcnQtY29sb3Ige1xuICBjb2xvcjogJHRoZW1lLWRlZmF1bHQtc3VwcG9ydDtcblxuICBib2R5LnRoZW1lLXllbGxvdyAmIHtcbiAgICBjb2xvcjogJHRoZW1lLXllbGxvdy1zdXBwb3J0O1xuICB9XG4gIGJvZHkudGhlbWUtcHVycGxlICYge1xuICAgIGNvbG9yOiAkdGhlbWUtcHVycGxlLXN1cHBvcnQ7XG4gIH1cbiAgYm9keS50aGVtZS1ibHVlICYge1xuICAgIGNvbG9yOiAkdGhlbWUtYmx1ZS1zdXBwb3J0O1xuICB9XG4gIGJvZHkudGhlbWUtb3JhbmdlICYge1xuICAgIGNvbG9yOiAkdGhlbWUtb3JhbmdlLXN1cHBvcnQ7XG4gIH1cbiAgYm9keS50aGVtZS1ncmVlbiAmIHtcbiAgICBjb2xvcjogJHRoZW1lLWdyZWVuLXN1cHBvcnQ7XG4gIH1cbiAgYm9keS50aGVtZS1waW5rICYge1xuICAgIGNvbG9yOiAkdGhlbWUtcGluay1zdXBwb3J0O1xuICB9XG59XG5cbi8vIGJveC1zaGFkb3cgY29sb3JzXG4vLyBOT1RFOiB3ZSBjYW4gcHJvYmFibHkgbG9zZSB0aGVzZSBhZnRlciB0aGUgcmVkZXNpZ24gaXMgZmluaXNoZWRcbiRkZWZhdWx0LWJveC1zaGFkb3ctaW5zZXQ6IDA7XG5AbWl4aW4gdGhlbWVkLWJveC1zaGFkb3coJG9wYWNpdHk6IDAuNSxcbiRob2ZmOiAkZGVmYXVsdC1ib3gtc2hhZG93LWgtb2Zmc2V0LFxuJHZvZmY6ICRkZWZhdWx0LWJveC1zaGFkb3ctdi1vZmZzZXQsXG4kYmx1cjogJGRlZmF1bHQtYm94LXNoYWRvdy1ibHVyLFxuJHNwcmVhZDogJGRlZmF1bHQtYm94LXNoYWRvdy1zcHJlYWQsXG4kaW5zZXQ6ICRkZWZhdWx0LWJveC1zaGFkb3ctaW5zZXQpIHtcbiAgYm94LXNoYWRvdzogcmdiYSgkdGhlbWUtZGVmYXVsdC1jb2xvciwgJG9wYWNpdHkpICRob2ZmICR2b2ZmICRibHVyICRzcHJlYWQ7XG5cbiAgYm9keS50aGVtZS15ZWxsb3cgJiB7XG4gICAgYm94LXNoYWRvdzogcmdiYSgkY29sb3ItbWFpbi15ZWxsb3csICRvcGFjaXR5KSAkaG9mZiAkdm9mZiAkYmx1ciAkc3ByZWFkO1xuICB9XG4gIGJvZHkudGhlbWUtcHVycGxlICYge1xuICAgIGJveC1zaGFkb3c6IHJnYmEoJGNvbG9yLW1haW4tcGluaywgJG9wYWNpdHkpICRob2ZmICR2b2ZmICRibHVyICRzcHJlYWQ7XG4gIH1cbiAgYm9keS50aGVtZS1ibHVlICYge1xuICAgIGJveC1zaGFkb3c6IHJnYmEoJGNvbG9yLW1haW4tYmx1ZSwgJG9wYWNpdHkpICRob2ZmICR2b2ZmICRibHVyICRzcHJlYWQ7XG4gIH1cbiAgYm9keS50aGVtZS1vcmFuZ2UgJiB7XG4gICAgYm94LXNoYWRvdzogcmdiYSgkY29sb3ItbWFpbi1yZWQsICRvcGFjaXR5KSAkaG9mZiAkdm9mZiAkYmx1ciAkc3ByZWFkO1xuICB9XG4gIGJvZHkudGhlbWUtZ3JlZW4gJiB7XG4gICAgYm94LXNoYWRvdzogcmdiYSgkY29sb3ItbWFpbi1ncmVlbiwgJG9wYWNpdHkpICRob2ZmICR2b2ZmICRibHVyICRzcHJlYWQ7XG4gIH1cbiAgYm9keS50aGVtZS1waW5rICYge1xuICAgIGJveC1zaGFkb3c6IHJnYmEoJGNvbG9yLW1haW4tcGluaywgJG9wYWNpdHkpICRob2ZmICR2b2ZmICRibHVyICRzcHJlYWQ7XG4gIH1cbn1cbiIsIiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSA6IHRydWUgIWRlZmF1bHQ7XG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCA6IHRydWUgIWRlZmF1bHQ7XG4kc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyA6IGZhbHNlICFkZWZhdWx0O1xuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSA6IGZhbHNlICFkZWZhdWx0O1xuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgOiB0cnVlICFkZWZhdWx0O1xuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCA6IGZhbHNlICFkZWZhdWx0O1xuIiwiLyoqXG4gKiBAbGljZW5zZVxuICogTXlGb250cyBXZWJmb250IEJ1aWxkIElEIDI3MDA3NjQsIDIwMTMtMTItMDNUMTE6Mzg6MTAtMDUwMFxuICpcbiAqIFRoZSBmb250cyBsaXN0ZWQgaW4gdGhpcyBub3RpY2UgYXJlIHN1YmplY3QgdG8gdGhlIEVuZCBVc2VyIExpY2Vuc2VcbiAqIEFncmVlbWVudChzKSBlbnRlcmVkIGludG8gYnkgdGhlIHdlYnNpdGUgb3duZXIuIEFsbCBvdGhlciBwYXJ0aWVzIGFyZVxuICogZXhwbGljaXRseSByZXN0cmljdGVkIGZyb20gdXNpbmcgdGhlIExpY2Vuc2VkIFdlYmZvbnRzKHMpLlxuICpcbiAqIFlvdSBtYXkgb2J0YWluIGEgdmFsaWQgbGljZW5zZSBhdCB0aGUgVVJMcyBiZWxvdy5cbiAqXG4gKiBXZWJmb250OiBDb3JiZWwgQm9sZCBJdGFsaWMgYnkgQXNjZW5kZXJcbiAqIFVSTDogaHR0cDovL3d3dy5teWZvbnRzLmNvbS9mb250cy9hc2NlbmRlci9jb3JiZWwvYm9sZC1pdGFsaWMvXG4gKlxuICogV2ViZm9udDogQ29yYmVsIGJ5IEFzY2VuZGVyXG4gKiBVUkw6IGh0dHA6Ly93d3cubXlmb250cy5jb20vZm9udHMvYXNjZW5kZXIvY29yYmVsL3JlZ3VsYXIvXG4gKlxuICogV2ViZm9udDogQ29yYmVsIEJvbGQgYnkgQXNjZW5kZXJcbiAqIFVSTDogaHR0cDovL3d3dy5teWZvbnRzLmNvbS9mb250cy9hc2NlbmRlci9jb3JiZWwvYm9sZC9cbiAqXG4gKiBXZWJmb250OiBDb3JiZWwgSXRhbGljIGJ5IEFzY2VuZGVyXG4gKiBVUkw6IGh0dHA6Ly93d3cubXlmb250cy5jb20vZm9udHMvYXNjZW5kZXIvY29yYmVsL2l0YWxpYy9cbiAqXG4gKlxuICogTGljZW5zZTogaHR0cDovL3d3dy5teWZvbnRzLmNvbS92aWV3bGljZW5zZT90eXBlPXdlYiZidWlsZGlkPTI3MDA3NjRcbiAqIExpY2Vuc2VkIHBhZ2V2aWV3czogMjUwLDAwMFxuICogV2ViZm9udHMgY29weXJpZ2h0OiAmI3gwMEE5OyAyMDA3IE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiDCqSAyMDEzIE15Rm9udHMgSW5jXG4qL1xuXG5cbi8qIEBpbXBvcnQgbXVzdCBiZSBhdCB0b3Agb2YgZmlsZSwgb3RoZXJ3aXNlIENTUyB3aWxsIG5vdCB3b3JrICovXG5cbkBmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiAnQ29yYmVsJztmb250LXdlaWdodDogYm9sZDtmb250LXN0eWxlOiBpdGFsaWM7c3JjOiB1cmwoJy4uL2ZvbnRzL2NvcmJlbC8yOTM1RENfMF8wLmVvdCcpO3NyYzogdXJsKCcuLi9mb250cy9jb3JiZWwvMjkzNURDXzBfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnLi4vZm9udHMvY29yYmVsLzI5MzVEQ18wXzAud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnLi4vZm9udHMvY29yYmVsLzI5MzVEQ18wXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLHVybCgnLi4vZm9udHMvY29yYmVsLzI5MzVEQ18wXzAuc3ZnI3dmJykgZm9ybWF0KCdzdmcnKTt9XG5cblxuQGZvbnQtZmFjZSB7Zm9udC1mYW1pbHk6ICdDb3JiZWwnO2ZvbnQtd2VpZ2h0OiBub3JtYWw7Zm9udC1zdHlsZTogbm9ybWFsO3NyYzogdXJsKCcuLi9mb250cy9jb3JiZWwvMjkzNURDXzFfMC5lb3QnKTtzcmM6IHVybCgnLi4vZm9udHMvY29yYmVsLzI5MzVEQ18xXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJy4uL2ZvbnRzL2NvcmJlbC8yOTM1RENfMV8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSx1cmwoJy4uL2ZvbnRzL2NvcmJlbC8yOTM1RENfMV8wLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoJy4uL2ZvbnRzL2NvcmJlbC8yOTM1RENfMV8wLnN2ZyN3ZicpIGZvcm1hdCgnc3ZnJyk7fVxuXG5cbkBmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiAnQ29yYmVsJztmb250LXdlaWdodDogYm9sZDtmb250LXN0eWxlOiBub3JtYWw7c3JjOiB1cmwoJy4uL2ZvbnRzL2NvcmJlbC8yOTM1RENfMl8wLmVvdCcpO3NyYzogdXJsKCcuLi9mb250cy9jb3JiZWwvMjkzNURDXzJfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnLi4vZm9udHMvY29yYmVsLzI5MzVEQ18yXzAud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnLi4vZm9udHMvY29yYmVsLzI5MzVEQ18yXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLHVybCgnLi4vZm9udHMvY29yYmVsLzI5MzVEQ18yXzAuc3ZnI3dmJykgZm9ybWF0KCdzdmcnKTt9XG5cblxuQGZvbnQtZmFjZSB7Zm9udC1mYW1pbHk6ICdDb3JiZWwnO2ZvbnQtd2VpZ2h0OiBub3JtYWw7Zm9udC1zdHlsZTogaXRhbGljO3NyYzogdXJsKCcuLi9mb250cy9jb3JiZWwvMjkzNURDXzNfMC5lb3QnKTtzcmM6IHVybCgnLi4vZm9udHMvY29yYmVsLzI5MzVEQ18zXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJy4uL2ZvbnRzL2NvcmJlbC8yOTM1RENfM18wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSx1cmwoJy4uL2ZvbnRzL2NvcmJlbC8yOTM1RENfM18wLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoJy4uL2ZvbnRzL2NvcmJlbC8yOTM1RENfM18wLnN2ZyN3ZicpIGZvcm1hdCgnc3ZnJyk7fVxuXG4vKlxuICogT1RIRVIgRk9OVFM6IEtsYXZpa2EgYW5kIGljb25zXG4gKi9cblxuJGFwaTogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZihub3QgJGFwaSl7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdLbGF2aWthJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMva2xhdmlrYS1ib2xkLXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiBsb2NhbCgn4pi6JyksIHVybCgnLi4vZm9udHMva2xhdmlrYS1ib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJy4uL2ZvbnRzL2tsYXZpa2EtYm9sZC13ZWJmb250LnN2ZycpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnS2xhdmlrYSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2tsYXZpa2EtcmVndWxhci13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogbG9jYWwoJ+KYuicpLCB1cmwoJy4uL2ZvbnRzL2tsYXZpa2EtcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcuLi9mb250cy9rbGF2aWthLXJlZ3VsYXItd2ViZm9udC5zdmcnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG5cbiAgLyoqXG4gICAqIEBsaWNlbnNlXG4gICAqIE15Rm9udHMgV2ViZm9udCBCdWlsZCBJRCAzMTg3MjUwLCAyMDE2LTAzLTE2VDA0OjI1OjA0LTA0MDBcbiAgICpcbiAgICogVGhlIGZvbnRzIGxpc3RlZCBpbiB0aGlzIG5vdGljZSBhcmUgc3ViamVjdCB0byB0aGUgRW5kIFVzZXIgTGljZW5zZVxuICAgKiBBZ3JlZW1lbnQocykgZW50ZXJlZCBpbnRvIGJ5IHRoZSB3ZWJzaXRlIG93bmVyLiBBbGwgb3RoZXIgcGFydGllcyBhcmVcbiAgICogZXhwbGljaXRseSByZXN0cmljdGVkIGZyb20gdXNpbmcgdGhlIExpY2Vuc2VkIFdlYmZvbnRzKHMpLlxuICAgKlxuICAgKiBZb3UgbWF5IG9idGFpbiBhIHZhbGlkIGxpY2Vuc2UgYXQgdGhlIFVSTHMgYmVsb3cuXG4gICAqXG4gICAqIFdlYmZvbnQ6IENhbXB0b24tQm9vayBieSBSZW5lIEJpZWRlclxuICAgKiBVUkw6IGh0dHA6Ly93d3cubXlmb250cy5jb20vZm9udHMvcmVuZS1iaWVkZXIvY2FtcHRvbi9ib29rL1xuICAgKlxuICAgKiBXZWJmb250OiBDYW1wdG9uLU1lZGl1bSBieSBSZW5lIEJpZWRlclxuICAgKiBVUkw6IGh0dHA6Ly93d3cubXlmb250cy5jb20vZm9udHMvcmVuZS1iaWVkZXIvY2FtcHRvbi9tZWRpdW0vXG4gICAqXG4gICAqXG4gICAqIExpY2Vuc2U6IGh0dHA6Ly93d3cubXlmb250cy5jb20vdmlld2xpY2Vuc2U/dHlwZT13ZWImYnVpbGRpZD0zMTg3MjUwXG4gICAqIExpY2Vuc2VkIHBhZ2V2aWV3czogMTAsMDAwXG4gICAqIFdlYmZvbnRzIGNvcHlyaWdodDogQ29weXJpZ2h0ICYjeDAwQTk7IDIwMTQgYnkgUmVuJiN4MDBFOTsgQmllZGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICAgKlxuICAgKiDCqSAyMDE2IE15Rm9udHMgSW5jXG4gICovXG5cblxuICAvKiBAaW1wb3J0IG11c3QgYmUgYXQgdG9wIG9mIGZpbGUsIG90aGVyd2lzZSBDU1Mgd2lsbCBub3Qgd29yayAqL1xuICBAZm9udC1mYWNlIHtmb250LWZhbWlseTogJ0NhbXB0b24gQm9vayc7c3JjOiB1cmwoJy9zdGF0aWMvZm9udHMvY2FtcHRvbi13ZWJmb250cy8zMEUxQUVfMF8wLmVvdCcpO3NyYzogdXJsKCcvc3RhdGljL2ZvbnRzL2NhbXB0b24td2ViZm9udHMvMzBFMUFFXzBfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnL3N0YXRpYy9mb250cy9jYW1wdG9uLXdlYmZvbnRzLzMwRTFBRV8wXzAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksdXJsKCcvc3RhdGljL2ZvbnRzL2NhbXB0b24td2ViZm9udHMvMzBFMUFFXzBfMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCcvc3RhdGljL2ZvbnRzL2NhbXB0b24td2ViZm9udHMvMzBFMUFFXzBfMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7fVxuICBAZm9udC1mYWNlIHtmb250LWZhbWlseTogJ0NhbXB0b24gTWVkaXVtJztzcmM6IHVybCgnL3N0YXRpYy9mb250cy9jYW1wdG9uLXdlYmZvbnRzLzMwRTFBRV8xXzAuZW90Jyk7c3JjOiB1cmwoJy9zdGF0aWMvZm9udHMvY2FtcHRvbi13ZWJmb250cy8zMEUxQUVfMV8wLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCcvc3RhdGljL2ZvbnRzL2NhbXB0b24td2ViZm9udHMvMzBFMUFFXzFfMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSx1cmwoJy9zdGF0aWMvZm9udHMvY2FtcHRvbi13ZWJmb250cy8zMEUxQUVfMV8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSx1cmwoJy9zdGF0aWMvZm9udHMvY2FtcHRvbi13ZWJmb250cy8zMEUxQUVfMV8wLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTt9XG5cbiAgLy9AZm9udC1mYWNlIHtcbiAgLy8gIGZvbnQtZmFtaWx5OiAnQ2FtcHRvbiBCb29rJztcbiAgLy8gIHNyYzogdXJsKCcuLi9mb250cy9jYW1wdG9uL2Jvb2sub3RmJyk7XG4gIC8vICBmb250LXdlaWdodDogbm9ybWFsO1xuICAvLyAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAvL31cbiAgLy9cbiAgLy9AZm9udC1mYWNlIHtcbiAgLy8gIGZvbnQtZmFtaWx5OiAnQ2FtcHRvbiBNZWRpdW0nO1xuICAvLyAgc3JjOiB1cmwoJy4uL2ZvbnRzL2NhbXB0b24vbWVkaXVtLm90ZicpO1xuICAvLyAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgLy8gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgLy99XG4gIC8vXG4gIC8vQGZvbnQtZmFjZSB7XG4gIC8vICBmb250LWZhbWlseTogJ0NhbXB0b24gU2VtaUJvbGQnO1xuICAvLyAgc3JjOiB1cmwoJy4uL2ZvbnRzL2NhbXB0b24vc2VtaWJvbGQub3RmJyk7XG4gIC8vICBmb250LXdlaWdodDogbm9ybWFsO1xuICAvLyAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAvL31cblxufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29ucyc7XG5cbiAgc3JjOiB1cmwoJy9zdGF0aWMvZm9udHMvaWNvbW9vbi50dGY/bmVtbycpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcblxuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuJGtsYXZpa2E6IEtsYXZpa2EsIHNhbnMtc2VyaWY7XG4kY29yYmVsOiBDb3JiZWwsIHNhbnMtc2VyaWY7XG4kY29yYmVsLXJlZ3VsYXI6IENvcmJlbCBXMDEgUmVndWxhciwgc2Fucy1zZXJpZjtcbiRjb3JiZWwtYm9sZDogQ29yYmVsIFcwMSBCb2xkLCBzYW5zLXNlcmlmO1xuJGNvcmJlbC1pdGFsaWM6IENvcmJlbCBXMDEgSXRhbGljLCBzYW5zLXNlcmlmO1xuJGNvcmJlbC1ib2xkLWl0YWxpYzogQ29yYmVsIFcwMSBCb2xkIEl0YWxpYywgc2Fucy1zZXJpZjtcblxuJGZvbnQtY2FtcHRvbi1ib29rOiBDYW1wdG9uIEJvb2ssIHNhbnMtc2VyaWY7XG4kZm9udC1jYW1wdG9uLW1lZGl1bTogQ2FtcHRvbiBNZWRpdW0sIHNhbnMtc2VyaWY7XG4kZm9udC1jYW1wdG9uLXNlbWlib2xkOiBDYW1wdG9uIFNlbWlCb2xkLCBzYW5zLXNlcmlmO1xuXG5cbiRkZWZhdWx0LWZvbnQtc2l6ZTogMTlweDtcblxuLy8gUmVkZXNpZ25cblxuJGZvbnQtYmFzZSAgOiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiIsIiR0YXJnZXQtZGVidWc6IHRydWU7XG5cbi8vIFNldHRpbmdzXG5cbiR0YXJnZXQtaGFzLWhvdmVyOiB0cnVlICFkZWZhdWx0OyAvLyB0cnVlIGJ5IGRlZmF1bHRcblxuJHRhcmdldC10YWJsZXQtbGFuZHNjYXBlLXdpZHRoOiAxMDI0cHg7XG4kdGFyZ2V0LXRhYmxldC1wb3J0cmFpdC13aWR0aDogNzY4cHg7XG4kdGFyZ2V0LW1vYmlsZS1wb3J0cmFpdC13aWR0aDogMzIwcHg7XG5cbiR0YXJnZXQtdGFibGV0LWxhbmRzY2FwZS1icmVha3BvaW50OiAkdGFyZ2V0LXRhYmxldC1sYW5kc2NhcGUtd2lkdGg7XG4kdGFyZ2V0LXRhYmxldC1wb3J0cmFpdC1icmVha3BvaW50OiAoKCR0YXJnZXQtdGFibGV0LWxhbmRzY2FwZS13aWR0aCArICR0YXJnZXQtdGFibGV0LXBvcnRyYWl0LXdpZHRoKS8yKTtcbiR0YXJnZXQtbW9iaWxlLWJyZWFrcG9pbnQ6ICgoJHRhcmdldC10YWJsZXQtcG9ydHJhaXQtd2lkdGggKyAkdGFyZ2V0LW1vYmlsZS1wb3J0cmFpdC13aWR0aCkvMik7XG5cbi8vIFBsYWNlaG9sZGVycyAmIG1peGluc1xuXG5AbWl4aW4gZGVza3RvcCB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkdGFyZ2V0LXRhYmxldC1sYW5kc2NhcGUtYnJlYWtwb2ludCArIDFweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiB0YWJsZXQtbGFuZHNjYXBlIHtcbiAgQG1lZGlhICh3aWR0aDogJHRhcmdldC10YWJsZXQtbGFuZHNjYXBlLWJyZWFrcG9pbnQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gdGFibGV0LXBvcnRyYWl0IHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR0YXJnZXQtdGFibGV0LWxhbmRzY2FwZS13aWR0aCAtIDFweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtb2JpbGUge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHRhcmdldC1tb2JpbGUtYnJlYWtwb2ludCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtbGFuZHNjYXBlIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSBhbmQgKG1heC1oZWlnaHQ6IDUyOXB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIlxuLy9cbi8vIERlZmluZSB6LWluZGV4IGxheWVyc1xuLy9cblxuJGxheWVyLWxpZ2h0Ym94OiAxMzM3O1xuJGxheWVyLWhlYWRlcjogNzAwO1xuJGxheWVyLW1lbnUtb3ZlcmxheTogNjAwO1xuJGxheWVyLW1haW4tbWVudTogNjAwO1xuJGxheWVyLXNwZWNpYWw6IDQwMDtcbiRsYXllci1uYXZpZ2F0aW9uOiAzMDA7XG4kbGF5ZXItY29udGVudC13aWRnZXQ6IDIwMDtcbiRsYXllci1jb250ZW50OiAxMDA7XG4iLCIvL1xuLy8gQmFzZSBsYXlvdXQgY2xhc3NlcyBhbmQgbWl4aW5zXG4vL1xuXG4kZ3JpZC10aWxlOiA2MHB4O1xuJGdyaWQtdGlsZS1sYW5kc2NhcGU6IDYwcHg7IC8vIG9wdGltaXplZCBmb3IgaXBhZFxuJGdyaWQtdGlsZS1wb3J0cmFpdDogNDBweDsgLy8gb3B0aW1pemVkIGZvciBpcGFkXG4kZ3JpZC10aWxlLW1vYmlsZTogNDBweDsgLy8gVE9ETzogcHJvYmFibHkgZGlmZmVyZW50IG1ldGhvZFxuXG4kZ3V0dGVyOiAyMHB4O1xuJGd1dHRlci1sYW5kc2NhcGU6IDIwcHg7XG4kZ3V0dGVyLXBvcnRyYWl0OiAyMHB4O1xuJGd1dHRlci1tb2JpbGU6IDIwcHg7XG5cbiRjb2x1bW4tY291bnQ6IDEyO1xuJGNvbHVtbi1jb3VudC1sYW5kc2NhcGU6IDEyO1xuJGNvbHVtbi1jb3VudC1wb3J0cmFpdDogMTI7XG4kY29sdW1uLWNvdW50LW1vYmlsZTogMTI7XG5cbiRzaWRlLXBhZGRpbmctZGVza3RvcDogJGd1dHRlciArICRncmlkLXRpbGU7XG4kc2lkZS1wYWRkaW5nLW1vYmlsZTogJGd1dHRlci1tb2JpbGU7XG5cbi8vIExvZ29cbiRsb2dvZmFjdG9yOiAoMjUwLzEyODApIC8gMTAwO1xuJGxvZ29zaXplOiAoMjUwLzEyODApICogMTAwJTtcbiRsb2dvbWF4d2lkdGg6IDMwMHB4O1xuJGxvZ29taW5zaXplOiAxMDBweDtcblxuLy8gQnJlYWtwb2ludCBmb3Igd2hlbiB0aGUgbWF4LXdpZHRoIHdpbGwgYmUgaW4gZWZmZWN0XG4kYnJlYWtwb2ludC1tYXhsb2dvd2lkdGg6IDE1MzZweDsgLy8gU2ljayBtYXRoIHZlcnNpb246ICN7JGxvZ29tYXh3aWR0aCAvICRsb2dvc2l6ZSAqIDEwMCV9O1xuXG4vLyBCbG9ja3MsIHVzZWQgZm9yIGV4YW1wbGUgb24gaG9tZSBwYWdlXG4kYmxvY2stc2l6ZTogJGxvZ29zaXplICogMC42O1xuJGJsb2NrLXNpemUtbW9iaWxlOiAxMDBweDtcblxuLy8gSGVhZGVyXG4kaGVhZGVyLXdpdGgtaW1hZ2Utc2l6ZTogNjIwcHg7XG4kaGVhZGVyLXdpdGgtaW1hZ2Utc2l6ZS1zaW1wbGU6IDUxMHB4O1xuJGhlYWRlci13aXRoLWltYWdlLXNpemUtbW9iaWxlOiAyOTBweDtcbiRoZWFkZXItd2l0aC1pbWFnZS1zaXplLXNpbXBsZS1tb2JpbGU6IDIzNXB4O1xuJGhlYWRlci1oZWlnaHQtc2ltcGxlLW92ZXJ2aWV3LXBhZ2U6IDE2MHB4O1xuJGhlYWRlci1oZWlnaHQtZXZlbnRsaXN0OiAyMjVweDtcblxuJG1heC13aWR0aC0tc21hbGw6IDYyMHB4OyAvLyAyICogMzAwICsgMSAqIDIwXG4kbWF4LXdpZHRoOiA5NDBweDtcbiR3aWR0aDogMTAwJTtcbiRtYXgtd2lkdGgtLWxhcmdlOiAxMjYwcHg7ICAvLyA0ICogMzAwICsgMyAqIDIwXG5cbi8vIFBhZGRpbmdzICYgbWFyZ2luc1xuJG1hcmdpbjogMzVweDtcbiRtYXJnaW4tc21hbGw6IDIwcHg7XG5cbkBtaXhpbiBtYXgtd2lkdGgoJGNlbnRlcjpmYWxzZSwgJGxhcmdlOmZhbHNlKSB7XG4gIEBpZiAkY2VudGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgQGlmICRsYXJnZSB7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoLS1sYXJnZTtcbiAgfSBAZWxzZSB7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG4gIHdpZHRoOiAkd2lkdGg7XG5cbiAgQGlmICRsYXJnZSB7XG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGgtLXNtYWxsO1xuICB9XG59XG5cbkBtaXhpbiBjb250ZW50LXdyYXBwZXIge1xuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1wb3J0cmFpdCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBjb250ZW50LXdyYXBwZXItYWJzb2x1dGUge1xuICBAaW5jbHVkZSBjb250ZW50LXdyYXBwZXI7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG59XG5cbkBtaXhpbiBjb250ZW50LWNvbHVtbiB7XG4gIHdpZHRoOiA3NjBweDtcblxuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1sYW5kc2NhcGUpIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skZ3JpZC10aWxlLWxhbmRzY2FwZSAqIDN9KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXBvcnRyYWl0KSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGdyaWQtdGlsZS1wb3J0cmFpdCAqIDN9KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LW1vYmlsZSkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRncmlkLXRpbGUtbW9iaWxlICogMn0pO1xuICB9XG59XG5cbi8vIEFkZCBwYWRkaW5nIG9yIG1hcmdpbiBiYXNlZCBvbiBncmlkLXRpbGVzXG5AbWl4aW4gZ3JpZC1wYWRkaW5nKCRjb2x1bW5zOjEsICRtb2RlOlwicGFkZGluZ1wiKSB7XG4gIEBpZiAkbW9kZSA9PSBcInBhZGRpbmdcIiB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2lkZS1wYWRkaW5nLWRlc2t0b3A7XG4gICAgcGFkZGluZy1yaWdodDogJHNpZGUtcGFkZGluZy1kZXNrdG9wO1xuICB9IEBlbHNlIGlmICRtb2RlID09IFwibWFyZ2luXCIge1xuICAgIG1hcmdpbi1sZWZ0OiAkc2lkZS1wYWRkaW5nLWRlc2t0b3A7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc2lkZS1wYWRkaW5nLWRlc2t0b3A7XG4gIH0gQGVsc2UgaWYgJG1vZGUgPT0gXCJsZWZ0XCIge1xuICAgIGxlZnQ6ICRzaWRlLXBhZGRpbmctZGVza3RvcDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LWxhbmRzY2FwZSkge1xuICAgIEBpZiAkbW9kZSA9PSBcInBhZGRpbmdcIiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLXRpbGUtbGFuZHNjYXBlICsgJGd1dHRlci1sYW5kc2NhcGU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC10aWxlLWxhbmRzY2FwZSArICRndXR0ZXItbGFuZHNjYXBlO1xuICAgIH0gQGVsc2UgaWYgJG1vZGUgPT0gXCJtYXJnaW5cIiB7XG4gICAgICBtYXJnaW4tbGVmdDogJGdyaWQtdGlsZS1sYW5kc2NhcGUgKyAkZ3V0dGVyLWxhbmRzY2FwZTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGdyaWQtdGlsZS1sYW5kc2NhcGUgKyAkZ3V0dGVyLWxhbmRzY2FwZTtcbiAgICB9IEBlbHNlIGlmICRtb2RlID09IFwibGVmdFwiIHtcbiAgICAgIGxlZnQ6ICRncmlkLXRpbGUtbGFuZHNjYXBlICsgJGd1dHRlci1sYW5kc2NhcGU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtcG9ydHJhaXQpIHtcbiAgICBAaWYgJG1vZGUgPT0gXCJwYWRkaW5nXCIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC10aWxlLXBvcnRyYWl0ICsgJGd1dHRlci1wb3J0cmFpdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLXRpbGUtcG9ydHJhaXQgKyAkZ3V0dGVyLXBvcnRyYWl0O1xuICAgIH0gQGVsc2UgaWYgJG1vZGUgPT0gXCJtYXJnaW5cIiB7XG4gICAgICBtYXJnaW4tbGVmdDogJGdyaWQtdGlsZS1wb3J0cmFpdCArICRndXR0ZXItcG9ydHJhaXQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLXRpbGUtcG9ydHJhaXQgKyAkZ3V0dGVyLXBvcnRyYWl0O1xuICAgIH0gQGVsc2UgaWYgJG1vZGUgPT0gXCJsZWZ0XCIge1xuICAgICAgbGVmdDogJGdyaWQtdGlsZS1wb3J0cmFpdCArICRndXR0ZXItcG9ydHJhaXQ7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgQGlmICRtb2RlID09IFwicGFkZGluZ1wiIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHNpZGUtcGFkZGluZy1tb2JpbGU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkc2lkZS1wYWRkaW5nLW1vYmlsZTtcbiAgICB9IEBlbHNlIGlmICRtb2RlID09IFwibWFyZ2luXCIge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzaWRlLXBhZGRpbmctbW9iaWxlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkc2lkZS1wYWRkaW5nLW1vYmlsZTtcbiAgICB9IEBlbHNlIGlmICRtb2RlID09IFwibGVmdFwiIHtcbiAgICAgIGxlZnQ6ICRzaWRlLXBhZGRpbmctbW9iaWxlO1xuICAgIH1cbiAgfVxufVxuXG4vLyByZXR1cm4gdGhlIGdyaWQgcGFkZGluZyB3aWR0aFxuQG1peGluIGdyaWQtcGFkZGluZy13aWR0aCgpIHtcbiAgd2lkdGg6ICRncmlkLXRpbGUgKyAkZ3V0dGVyO1xuXG4gIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LWxhbmRzY2FwZSkge1xuICAgIHdpZHRoOiAkZ3JpZC10aWxlLWxhbmRzY2FwZSArICRndXR0ZXItbGFuZHNjYXBlO1xuICB9XG5cbiAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtcG9ydHJhaXQpIHtcbiAgICB3aWR0aDogJGdyaWQtdGlsZS1wb3J0cmFpdCArICRndXR0ZXItcG9ydHJhaXQ7XG4gIH1cblxuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICB3aWR0aDogJGd1dHRlci1tb2JpbGU7XG4gIH1cbn1cblxuQG1peGluIGxheW91dC1oZWFkZXItMSB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG5AbWl4aW4gbGF5b3V0LWhlYWRlci0yIHtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG59XG5cbkBtaXhpbiBsYXlvdXQtaGVhZGVyLTMge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuQG1peGluIGxheW91dC1oZWFkZXItNCB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG5AbWl4aW4gbGF5b3V0LWhlYWRlci01IHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbkBtaXhpbiBsYXlvdXQtcGFyYWdyYXBoIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5cbi8vIChNYWluKSB0ZXh0IGJsb2NrIGFkamFjZW50IHRvIGNvbG9yZWQgYmxvY2tcbkBtaXhpbiB0ZXh0LWJsb2NrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNDgwcHg7XG5cbiAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbWF4bG9nb3dpZHRoKSB7XG4gICAgd2lkdGg6IDM2MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGJsb2NrLXNpemUtbW9iaWxlfSk7XG4gIH1cbn1cblxuQGlmICR3aXRoLWJhc2UtY3NzIHtcbiAgLmNvbnRlbnQtY29sdW1uIHtcbiAgICBAaW5jbHVkZSBjb250ZW50LWNvbHVtbjtcbiAgfVxuXG4gIC5jb250ZW50LWNvbHVtbiB7XG4gICAgQGluY2x1ZGUgY29udGVudC13cmFwcGVyO1xuICB9XG59XG4iLCJAbWl4aW4gaW5wdXQtZmllbGQoJGJvcmRlcjp0cnVlKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgQGlmICRib3JkZXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1tYWluLWdyZXk7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4td2hpdGU7XG4gIEBpbmNsdWRlIHR5cG9ncmFwaHktZGVmYXVsdCgpO1xufSIsImh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8sIGJ1dHRvbiB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRmb250OiBpbmhlcml0O1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuYm9keSB7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxuYnV0dG9uIHtcblx0QGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG59XG5vbCwgdWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuYmxvY2txdW90ZSwgcSB7XG5cdHF1b3Rlczogbm9uZTtcbn1cbmJsb2NrcXVvdGU6OmJlZm9yZSwgYmxvY2txdW90ZTo6YWZ0ZXIsXG5xOjpiZWZvcmUsIHE6OmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdGNvbnRlbnQ6IG5vbmU7XG59XG50YWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGJvcmRlci1zcGFjaW5nOiAwO1xufVxuYSB7XG4gIGNvbG9yOiBibGFjaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufSIsIkBtaXhpbiBjb250ZW50LXNlY3Rpb24tYmxvY2soJG1vZGU6XCJwYWRkaW5nXCIpIHtcbiAgQGluY2x1ZGUgZ3JpZC1wYWRkaW5nKCRtb2RlOiRtb2RlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4td2hpdGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogJGxheWVyLWNvbnRlbnQ7XG59XG5cbkBtaXhpbiBhZGQtc2VjdGlvbi1ib3JkZXIoJGxvY2F0aW9uOidiZWZvcmUnKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjojeyRsb2NhdGlvbn0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogODRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LWJsYWNrO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG4iLCJAbWl4aW4gdHlwb2dyYXBoeS0xIHtcbiAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnktZ3JleTtcbiAgZm9udC1mYW1pbHk6ICRjb3JiZWw7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgbGluZS1oZWlnaHQ6IDEyNSU7XG59XG5cbi8vIFJlZGVzaWduXG5cbkBtaXhpbiB0eXBvZ3JhcGh5LWRlZmF1bHQoJGxpbmUtaGVpZ2h0OjI0cHggMjRweCkge1xuICAvL2h5cGhlbnM6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1jYW1wdG9uLWJvb2s7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IG50aCgkbGluZS1oZWlnaHQsIDEpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5AbWl4aW4gdHlwb2dyYXBoeS1kZWZhdWx0LWJvbGQoJGxpbmUtaGVpZ2h0OjI0cHggMjRweCkge1xuICAvL2h5cGhlbnM6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1jYW1wdG9uLW1lZGl1bTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogbnRoKCRsaW5lLWhlaWdodCwgMSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbkBtaXhpbiB0eXBvZ3JhcGh5LXNtYWxsIHtcbiAgQGluY2x1ZGUgdHlwb2dyYXBoeS1kZWZhdWx0O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xufVxuXG5AbWl4aW4gdHlwb2dyYXBoeS1zY2llbmNlLW11c2V1bSB7XG4gIGh5cGhlbnM6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1jYW1wdG9uLWJvb2s7XG4gIGZvbnQtc2l6ZTogNTBweDtcbiAgbGluZS1oZWlnaHQ6IDUycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBtaXhpbiB0eXBvZ3JhcGh5LWhlYWRlci0xIHtcbiAgaHlwaGVuczogbm9uZTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWNhbXB0b24tYm9vaztcbiAgZm9udC1zaXplOiA3MHB4O1xuICBsaW5lLWhlaWdodDogNzJweDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuXG4gIEBpbmNsdWRlIGJlbG93KDUzMHB4KSB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICB9XG59XG5cbkBtaXhpbiB0eXBvZ3JhcGh5LWhlYWRlci0yIHtcbiAgaHlwaGVuczogbm9uZTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWNhbXB0b24tYm9vaztcbiAgZm9udC1zaXplOiA1MHB4O1xuICBsaW5lLWhlaWdodDogNTJweDtcblxuICBAaW5jbHVkZSBiZWxvdyg1MzBweCkge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgfVxufVxuXG4vLyBGb3IgbXVsdGlsaW5lIHRpdGxlcyB0aGUgYnJlYWtwb2ludCB0byB0aGUgc21hbGxlciBmb250IGlzIGluY3JlYXNlZFxuQG1peGluIHR5cG9ncmFwaHktaGVhZGVyLTItbXVsdGlsaW5lIHtcbiAgaHlwaGVuczogbm9uZTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWNhbXB0b24tYm9vaztcbiAgZm9udC1zaXplOiA1MHB4O1xuICBsaW5lLWhlaWdodDogNTJweDtcblxuICBAaW5jbHVkZSBiZWxvdyg3NjBweCkge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgfVxufVxuXG5AbWl4aW4gdHlwb2dyYXBoeS1oZWFkZXItMygkbGluZS1oZWlnaHQ6IDQ0cHggMzBweCkge1xuICBoeXBoZW5zOiBub25lO1xuICBmb250LWZhbWlseTogJGZvbnQtY2FtcHRvbi1ib29rO1xuICBmb250LXNpemU6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiBudGgoJGxpbmUtaGVpZ2h0LCAxKTtcblxuICBAaW5jbHVkZSBiZWxvdyg1MzBweCkge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBsaW5lLWhlaWdodDogbnRoKCRsaW5lLWhlaWdodCwgMik7XG4gIH1cbn1cblxuQG1peGluIHR5cG9ncmFwaHktaGVhZGVyLTQoJGxpbmUtaGVpZ2h0OjMwcHggMjVweCkge1xuICBoeXBoZW5zOiBub25lO1xuICBmb250LWZhbWlseTogJGZvbnQtY2FtcHRvbi1ib29rO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiBudGgoJGxpbmUtaGVpZ2h0LCAxKTtcblxuICBAaW5jbHVkZSBiZWxvdyg1MzBweCkge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jYW1wdG9uLW1lZGl1bTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IG50aCgkbGluZS1oZWlnaHQsIDIpO1xuICB9XG59XG5cbi8vIEZvciBtdWx0aWxpbmUgdGl0bGVzIHRoZSBicmVha3BvaW50IHRvIHRoZSBzbWFsbGVyIGZvbnQgaXMgaW5jcmVhc2VkXG5AbWl4aW4gdHlwb2dyYXBoeS1oZWFkZXItNC1tdWx0aWxpbmUoJGxpbmUtaGVpZ2h0OjMwcHggMjVweCkge1xuICBoeXBoZW5zOiBub25lO1xuICBmb250LWZhbWlseTogJGZvbnQtY2FtcHRvbi1ib29rO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiBudGgoJGxpbmUtaGVpZ2h0LCAxKTtcblxuICBAaW5jbHVkZSBiZWxvdyg3NjBweCkge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1jYW1wdG9uLW1lZGl1bTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IG50aCgkbGluZS1oZWlnaHQsIDIpO1xuICB9XG59XG5cbkBtaXhpbiB0eXBvZ3JhcGh5LWhlYWRlci01IHtcbiAgaHlwaGVuczogbm9uZTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWNhbXB0b24tbWVkaXVtO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xufVxuXG5AbWl4aW4gdHlwb2dyYXBoeS1pbnRybyB7XG4gIC8vaHlwaGVuczogbm9uZTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWNhbXB0b24tYm9vaztcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcblxuICBAaW5jbHVkZSBiZWxvdyg1MzBweCkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxufVxuXG5AbWl4aW4gdHlwb2dyYXBoeS1wYXJhZ3JhcGgge1xuICBAaW5jbHVkZSB0eXBvZ3JhcGh5LWRlZmF1bHQ7XG59XG5cbkBtaXhpbiB0eXBvZ3JhcGh5LWJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1jYW1wdG9uLW1lZGl1bTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogNTBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuQG1peGluIHR5cG9ncmFwaHktbGFiZWwge1xuICBmb250LWZhbWlseTogJGZvbnQtY2FtcHRvbi1tZWRpdW07XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1peGluIHR5cG9ncmFwaHktY2FwdGlvbiB7XG4gIEBpbmNsdWRlIHR5cG9ncmFwaHktcGFyYWdyYXBoO1xuICBmb250LWZhbWlseTogJGZvbnQtY2FtcHRvbi1tZWRpdW07XG59XG5cbkBpZiAkd2l0aC1iYXNlLWNzcyB7XG4gIC5jLXR5cG9ncmFwaHktZGVmYXVsdCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1kZWZhdWx0O1xuICB9XG5cbiAgLmMtdHlwb2dyYXBoeS1oZWFkZXItMSB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1oZWFkZXItMTtcbiAgfVxuXG4gIC5jLXR5cG9ncmFwaHktaGVhZGVyLTIge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktaGVhZGVyLTI7XG4gIH1cblxuICAuYy10eXBvZ3JhcGh5LWhlYWRlci0zIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LWhlYWRlci0zO1xuICB9XG5cbiAgLmMtdHlwb2dyYXBoeS1oZWFkZXItNCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1oZWFkZXItNDtcbiAgfVxuXG4gIC5jLXR5cG9ncmFwaHktaGVhZGVyLTUge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktaGVhZGVyLTU7XG4gIH1cblxuICAuYy10eXBvZ3JhcGh5LWludHJvIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LWludHJvO1xuICB9XG5cbiAgLmMtdHlwb2dyYXBoeS1wYXJhZ3JhcGgge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktcGFyYWdyYXBoO1xuICB9XG59XG4iLCIvL1xuLy8gSG92ZXItbWl4aW5cbi8vIElmIHRhcmdldCBwbGF0Zm9ybSBoYXMgaG92ZXItc3RhdGVzLCBpdCB3aWxsIHJlbmRlciB0aGVtIHdpdGggOmhvdmVyXG4vLyBPdGhlcndpc2UgaXQgd2lsbCB1c2UgOmFjdGl2ZSBhcyB0aGUgXCJob3ZlclwiLXN0YXRlXG4vL1xuLy9AbWl4aW4gaG92ZXIge1xuLy8gIEBpZiAkdGFyZ2V0LWhhcy1ob3ZlciB7XG4vLyAgICAmOmhvdmVyLCAub24taG92ZXIge1xuLy8gICAgICBAY29udGVudDtcbi8vICAgIH1cbi8vICB9IEBlbHNlIHtcbi8vICAgICY6YWN0aXZlLCAub24tYWN0aXZlIHtcbi8vICAgICAgQGNvbnRlbnQ7XG4vLyAgICB9XG4vLyAgfVxuLy99XG4vL3Nob3VsZG4ndCB3ZSB1c2UgdGhpcz9cblxuQG1peGluIGhvdmVyIHtcbiAgYm9keS5uby10b3VjaCAmOmhvdmVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vYm9keS50b3VjaCAmOmFjdGl2ZSB7XG4gIC8vICBAY29udGVudDtcbiAgLy99XG59XG5cbkBtaXhpbiBjaGVja2JveCgpIHtcbiAgLmUtZmFjZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4td2hpdGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogMjBweDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIHotaW5kZXg6IDEwMDA7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgLmUtZmFjZTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHRoZW1lZC1zaWduYWwtY29sb3I7XG4gICAgY29udGVudDogJGljb24tY2hlY2s7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IGljb25zO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICB0b3A6IC0zcHg7XG4gIH1cbn1cbiIsIlxuJGljb24tZG93bmxvYWQ6ICdcXGUwMDAnO1xuJGljb24tY2xvc2U6ICdcXGUwMDEnO1xuJGljb24tZnVsbC1hcnJvdy1sZWZ0OiAnXFxlMDAyJztcbiRpY29uLWZ1bGwtYXJyb3ctcmlnaHQ6ICdcXGUwMDMnO1xuJGljb24tdGV4dC1hcnJvdy1sZWZ0OiAnXFxlMDA0JztcbiRpY29uLXRleHQtYXJyb3ctcmlnaHQ6ICdcXGUwMDUnO1xuJGljb24tc2VhcmNoOiAnXFxlMDA2JztcbiRpY29uLWNoZWNrOiAnXFxlMDA3JztcbiRpY29uLWNhbWVyYTogJ1xcZTkwZic7XG4kaWNvbi1kb3duLWFycm93OiAnXFxlMDA4JztcbiRpY29uLWNhYmFyZXQ6ICdcXGUwMDknO1xuJGljb24tYnVmZmV0OiAnXFxlMDBhJztcbiRpY29uLXJlY2VwdGlvbjogJ1xcZTAwYic7XG4kaWNvbi10aGVhdGVyOiAnXFxlMDBjJztcbiRpY29uLWRpbmVyOiAnXFxlMDBkJztcbiRpY29uLXUtc2hhcGU6ICdcXGUwMGUnO1xuJGljb24tcGhvbmU6ICdcXGUwMGYnO1xuJGljb24tbWFpbDogJ1xcZTAxMCc7XG4kaWNvbi1jbG9jazogJ1xcZTAxMSc7XG4kaWNvbi1iaWctZG93bi1hcnJvdzogJ1xcZTAxMic7XG5cbiRpY29uLXR3aXR0ZXI6ICdcXGU2MDAnO1xuJGljb24tcGludGVyZXN0OiAnXFxlNjAxJztcbiRpY29uLWZhY2Vib29rOiAnXFxlNjAyJztcbiRpY29uLXlvdXR1YmU6ICdcXGU2MDMnO1xuJGljb24tY2FsZW5kYXI6ICdcXGU2MDQnO1xuXG4kaWNvbi1wYXJ0eTogJ1xcZTkwMCc7XG5cbiRpY29uLWNoZXZyb24tbGVmdDogJ1xcZTkwMSc7XG4kaWNvbi1jaGV2cm9uLXJpZ2h0OiAnXFxlOTAyJztcblxuJGljb24tYXJyb3ctZG93bjogJ1xcZTkwMyc7XG4kaWNvbi1pbnN0YWdyYW06ICdcXGU5MDQnO1xuJGljb24tcGludGVyZXN0MjogJ1xcZTkwNSc7XG4kaWNvbi10d2l0dGVyMjogJ1xcZTkwNic7XG4kaWNvbi1mYWNlYm9vazI6ICdcXGU5MDcnO1xuJGljb24tY2xvc2UtMjogJ1xcZTkwOCc7XG4kaWNvbi1hcnJvdy11cDogJ1xcZTkwOSc7XG4kaWNvbi1wbGF5OiAnXFxlOTBhJztcbiRpY29uLXByaW50OiAnXFxlOTEzJztcbiRpY29uLWFycm93LXJpZ2h0OiAnO1xcZTkwYic7XG4kaWNvbi1hcnJvdy1sZWZ0OiAnXFxlOTBjJztcbiRpY29uLWhhbWJ1cmdlcjI6ICdcXGU5MGQnO1xuJGljb24taGFtYnVyZ2VyOiAnXFxlOTBlJztcbiRpY29uLXRyaWFuZ2xlLXVwOiAnXFxlOTEwJztcbiRpY29uLXRyaWFuZ2xlLWxlZnQ6ICdcXGU5MTEnO1xuJGljb24tdHJpYW5nbGUtcmlnaHQ6ICdcXGU5MTInO1xuXG4kaWNvbi1kYXRhLWFycm93LXJpZ2h0OiBcImFycm93LXJpZ2h0XCIgJGljb24tYXJyb3ctcmlnaHQgMTAwO1xuJGljb24tZGF0YS10cmlhbmdsZS1yaWdodDogXCJ0cmlhbmdsZS1yaWdodFwiICRpY29uLXRyaWFuZ2xlLXJpZ2h0IDMyO1xuJGljb24tZGF0YS10cmlhbmdsZS1sZWZ0OiBcInRyaWFuZ2xlLWxlZnRcIiAkaWNvbi10cmlhbmdsZS1sZWZ0IDMyO1xuJGljb24tZGF0YS10cmlhbmdsZS11cDogXCJ0cmlhbmdsZS11cFwiICRpY29uLXRyaWFuZ2xlLXVwIDMyO1xuJGljb24tZGF0YS1jbG9zZTogXCJjbG9zZVwiICRpY29uLWNsb3NlLTIgNTA7XG4kaWNvbi1kYXRhLWZhY2Vib29rOiBcImZhY2Vib29rXCIgJGljb24tZmFjZWJvb2sgNzA7XG4kaWNvbi1kYXRhLXR3aXR0ZXI6IFwiZmFjZWJvb2tcIiAkaWNvbi10d2l0dGVyIDgwO1xuJGljb24tZGF0YS1pbnN0YWdyYW06IFwiZmFjZWJvb2tcIiAkaWNvbi1pbnN0YWdyYW0gNTA7XG4kaWNvbi1kYXRhLW1haWw6IFwiZmFjZWJvb2tcIiAkaWNvbi1tYWlsIDU1O1xuJGljb24tZGF0YS1oYW1idXJnZXI6IFwiaGFtYnVyZ2VyXCIgJGljb24taGFtYnVyZ2VyIDQwO1xuJGljb24tZGF0YS1wcmludDogXCJwcmludFwiICRpY29uLXByaW50IDQwO1xuJGljb24tZGF0YS1zZWFyY2g6IFwic2VhcmNoXCIgJGljb24tc2VhcmNoIDUwO1xuJGljb24tZGF0YS1jaGV2cm9uLWxlZnQ6IFwiY2hldnJvbi1sZWZ0XCIgJGljb24tY2hldnJvbi1sZWZ0IDYwO1xuJGljb24tZGF0YS1jaGV2cm9uLXJpZ2h0OiBcImNoZXZyb24tcmlnaHRcIiAkaWNvbi1jaGV2cm9uLXJpZ2h0IDYwO1xuXG4kaWNvbi1kYXRhLWJpZy10cmlhbmdsZS1yaWdodDogXCJiaWctdHJpYW5nbGUtcmlnaHRcIiAkaWNvbi10cmlhbmdsZS1yaWdodCA2MDtcbiRpY29uLWRhdGEtYmlnLXRyaWFuZ2xlLWxlZnQ6IFwiYmlnLXRyaWFuZ2xlLWxlZnRcIiAkaWNvbi10cmlhbmdsZS1sZWZ0IDYwO1xuXG4kYnV0dG9uLXNpemU6IDUwcHg7XG4kYnV0dG9uLXNpemUtbGFuZHNjYXBlOiA1MHB4O1xuJGJ1dHRvbi1zaXplLXBvcnRyYWl0OiA1MHB4O1xuJGJ1dHRvbi1zaXplLW1vYmlsZTogNTBweDtcblxuLy9cbi8vIEljb24gbGlicmFyeVxuLy9cbi8vIGFyZ3VtZW50czpcbi8vICA8XCJuYW1lL3NsdWdcIj4gPGljb24gY29kZT4gPHBlcmNlbnRhZ2UgYXQgd2hpY2ggc2l6ZSBpY29uIHNob3VsZCBiZSByZW5kZXJlZD5cbi8vXG4kaWNvbnM6IChcbiAgICAgICAgXCJhcnJvdy1kb3duXCIgJGljb24tYXJyb3ctZG93biA2MCxcbiAgICAgICAgXCJhcnJvdy1sZWZ0XCIgJGljb24tYXJyb3ctbGVmdCAxMDAsXG4gICAgICAgICRpY29uLWRhdGEtYXJyb3ctcmlnaHQsXG4gICAgICAgIFwiYXJyb3ctdXBcIiAkaWNvbi1hcnJvdy11cCAxMDAsXG4gICAgICAgICRpY29uLWRhdGEtY2xvc2UsXG4gICAgICAgICRpY29uLWRhdGEtZmFjZWJvb2ssXG4gICAgICAgICRpY29uLWRhdGEtaGFtYnVyZ2VyLFxuICAgICAgICBcImluc3RhZ3JhbVwiICRpY29uLWluc3RhZ3JhbSA4MCxcbiAgICAgICAgXCJtYWlsXCIgJGljb24tbWFpbCA3MCxcbiAgICAgICAgXCJwaW50ZXJlc3RcIiAkaWNvbi1waW50ZXJlc3QyIDgwLFxuICAgICAgICAkaWNvbi1kYXRhLXNlYXJjaCxcbiAgICAgICAgJGljb24tZGF0YS10cmlhbmdsZS1yaWdodCxcbiAgICAgICAgXCJ0d2l0dGVyXCIgJGljb24tdHdpdHRlcjIgNDUsXG4gICAgICAgICRpY29uLWRhdGEtYmlnLXRyaWFuZ2xlLXJpZ2h0LFxuICAgICAgICAkaWNvbi1kYXRhLWJpZy10cmlhbmdsZS1sZWZ0LFxuICAgICAgICAkaWNvbi1kYXRhLWNoZXZyb24tbGVmdCxcbiAgICAgICAgJGljb24tZGF0YS1jaGV2cm9uLXJpZ2h0LFxuKTtcblxuJGJ1dHRvbi1pY29uczogKFxuKTtcblxuQG1peGluIGFkZC1pY29uKCRwdWEsICRsb2NhdGlvbjonYWZ0ZXInKSB7XG4gICY6OiN7JGxvY2F0aW9ufSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIGZvbnQtZmFtaWx5OiBpY29ucztcbiAgICBjb250ZW50OiBcIiAjeyRwdWF9XCI7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJhc2UtaWNvbi1yYXcoJGljb24sICRiZy1jb2xvcjokY29sb3ItbWFpbi1waW5rLCAkZmctY29sb3I6JGNvbG9yLW1haW4tYmxhY2ssICRsb2NhdGlvbjonYWZ0ZXInKSB7XG4gIEBpbmNsdWRlIGljb24tY29sb3ItdmFyaWF0aW9uKCRiZy1jb2xvciwgJGZnLWNvbG9yLCAkbG9jYXRpb246ICRsb2NhdGlvbik7XG4gIEBpbmNsdWRlIGFkZC1pY29uKCRpY29uLCAkbG9jYXRpb246ICRsb2NhdGlvbikge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBAY29udGVudDtcbiAgfVxuO1xufVxuXG5AbWl4aW4gYmFzZS1pY29uKCRpY29uLXR1cGxlLCAkc2l6ZSwgJGJnLWNvbG9yOiRjb2xvci1tYWluLXBpbmssICRmZy1jb2xvcjokY29sb3ItbWFpbi1ibGFjaywgJHJhdGlvOjEwMCxcbiAgICAgICAgICAgICAgICAgJGxvY2F0aW9uOidhZnRlcicpIHtcbiAgQGluY2x1ZGUgaWNvbi1zaXplLXZhcmlhdGlvbigkaWNvbi10dXBsZSwgJHNpemUsICRyYXRpbywgJGxvY2F0aW9uOiAkbG9jYXRpb24pO1xuICBAaW5jbHVkZSBiYXNlLWljb24tcmF3KFxuICAgICAgICAgICAgICAgICAgbnRoKCRpY29uLXR1cGxlLCAyKSxcbiAgICAgICAgICAgICAgICAgICRiZy1jb2xvcixcbiAgICAgICAgICAgICAgICAgICRmZy1jb2xvcixcbiAgICAgICAgICAkbG9jYXRpb246ICRsb2NhdGlvblxuICApIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaWNvbi12YXJpYXRpb25zKCRzaXplOiRidXR0b24tc2l6ZSwgJGJnLWNvbG9yOiRjb2xvci1tYWluLXBpbmssICRmZy1jb2xvcjokY29sb3ItbWFpbi1ibGFjaywgJHJhdGlvOjEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGljb24tdHVwbGU6IGZhbHNlKSB7XG4gIEBpZiAkaWNvbi10dXBsZSB7XG4gICAgQGluY2x1ZGUgYmFzZS1pY29uKCRpY29uLXR1cGxlLCAkc2l6ZSwgJGJnLWNvbG9yLCAkZmctY29sb3IsICRyYXRpbyk7XG4gIH0gQGVsc2Uge1xuICAgIEBlYWNoICRpY29uIGluICRpY29ucyB7XG4gICAgICAkbmFtZTogbnRoKCRpY29uLCAxKTtcbiAgICAgICR2YWx1ZTogbnRoKCRpY29uLCAyKTtcbiAgICAgICRpY29uLXNpemU6IG50aCgkaWNvbiwgMyk7XG5cbiAgICAgICYudi0jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGJhc2UtaWNvbigkaWNvbiwgJHNpemUsICRiZy1jb2xvciwgJGZnLWNvbG9yLCAkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaWNvbi1jb2xvci12YXJpYXRpb24oJGJnLWNvbG9yOmZhbHNlLCAkZmctY29sb3I6ZmFsc2UsICRsb2NhdGlvbjonYWZ0ZXInKSB7XG4gICY6OiN7JGxvY2F0aW9ufSB7XG4gICAgQGlmICgkYmctY29sb3IpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcbiAgICB9XG4gICAgQGlmICgkZmctY29sb3IpIHtcbiAgICAgIGNvbG9yOiAkZmctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpY29uLXNpemUtdmFyaWF0aW9uLWNhbGN1bGF0b3IoJGljb24tdHVwbGUsICRzaXplLCAkYnV0dG9uLXNpemUsICRyYXRpbywgJG1vZGUpIHtcbiAgJGljb24tc2l6ZTogbnRoKCRpY29uLXR1cGxlLCAzKSAqICRzaXplICogJHJhdGlvIC8gMTAwIC8gMTAwO1xuXG4gIEBpZiAoJGljb24tc2l6ZSkge1xuICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcbiAgfSBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAkc2l6ZTtcbiAgfVxuO1xuICBoZWlnaHQ6ICRzaXplO1xuICBAaWYgJG1vZGUgPT0gXCJsaW5lLWhlaWdodFwiIHtcbiAgICBsaW5lLWhlaWdodDogJHNpemU7XG4gIH0gQGVsc2UgaWYgJG1vZGUgPT0gXCJwYWRkaW5nXCIge1xuICAgIHBhZGRpbmctdG9wOiAoJHNpemUgLSAkaWNvbi1zaXplKSAvIDI7XG4gIH1cbiAgd2lkdGg6ICRzaXplO1xufVxuXG5AbWl4aW4gaWNvbi1zaXplLXZhcmlhdGlvbigkaWNvbi10dXBsZSwgJHNpemUsICRyYXRpbzoxMDAsICRtb2RlOlwibGluZS1oZWlnaHRcIiwgJGxvY2F0aW9uOlwiYWZ0ZXJcIikge1xuICAmOjojeyRsb2NhdGlvbn0ge1xuICAgIEBpbmNsdWRlIGljb24tc2l6ZS12YXJpYXRpb24tY2FsY3VsYXRvcigkaWNvbi10dXBsZSwgJHNpemUsICRidXR0b24tc2l6ZSwgJHJhdGlvLCAkbW9kZSk7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1sYW5kc2NhcGUpIHtcbiAgICAmOjojeyRsb2NhdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgaWNvbi1zaXplLXZhcmlhdGlvbi1jYWxjdWxhdG9yKCRpY29uLXR1cGxlLCAkc2l6ZSwgJGJ1dHRvbi1zaXplLWxhbmRzY2FwZSwgJHJhdGlvLCAkbW9kZSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtcG9ydHJhaXQpIHtcbiAgICAmOjojeyRsb2NhdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgaWNvbi1zaXplLXZhcmlhdGlvbi1jYWxjdWxhdG9yKCRpY29uLXR1cGxlLCAkc2l6ZSwgJGJ1dHRvbi1zaXplLXBvcnRyYWl0LCAkcmF0aW8sICRtb2RlKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAmOjojeyRsb2NhdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgaWNvbi1zaXplLXZhcmlhdGlvbi1jYWxjdWxhdG9yKCRpY29uLXR1cGxlLCAkc2l6ZSwgJGJ1dHRvbi1zaXplLW1vYmlsZSwgJHJhdGlvLCAkbW9kZSk7XG4gICAgfVxuICB9XG59XG5cbi5jLXBpbmstaWNvbiB7XG4gIEBpbmNsdWRlIGljb24tdmFyaWF0aW9ucztcbn1cblxuQG1peGluIGFycm93LWJlZm9yZSB7XG4gICY6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjb2xvci1tYWluLWJsYWNrO1xuICAgIGNvbnRlbnQ6IFwiI3skaWNvbi1mdWxsLWFycm93LXJpZ2h0fVwiO1xuICAgIGZvbnQtZmFtaWx5OiBpY29ucztcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xuICAgIC8vIHRvIHJlbW92ZXIgaG92ZXIgdW5kZXJsaW5lXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmYWNpbGl0eS1pY29uKCRpY29uKSB7XG4gICY6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IGljb25zO1xuICAgIGNvbnRlbnQ6ICRpY29uO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAwO1xuICB9XG59XG4iLCIvL1xuLy8gSWNvbiBCdXR0b25cbi8vXG5cbiRpY29uLWJ1dHRvbi1jb2xvcnM6IChcbiAgICBcInBpbmtcIiAkY29sb3ItbWFpbi1waW5rICRjb2xvci1tYWluLWJsYWNrIGZhbHNlLFxuICAgIFwiZ3JlZW5cIiAkY29sb3ItbWFpbi1ncmVlbiAkY29sb3ItbWFpbi1ibGFjayBmYWxzZSxcbiAgICBcIndoaXRlXCIgJGNvbG9yLW1haW4td2hpdGUgJGNvbG9yLW1haW4tYmxhY2sgZmFsc2UsXG4gICAgXCJibGFja1wiICRjb2xvci1tYWluLWJsYWNrICRjb2xvci1tYWluLXdoaXRlIHRydWUsXG4gICAgXCJ0cmFuc1wiIHJnYmEoJGNvbG9yLW1haW4tYmxhY2ssIDAuNCkgJGNvbG9yLW1haW4td2hpdGUgZmFsc2UsXG4pO1xuXG5AbWl4aW4gaWNvbi1idXR0b24oJGhlaWdodDogJGJ1dHRvbi1zaXplLCAkbW9iaWxlLWhlaWdodDogJGJ1dHRvbi1zaXplLW1vYmlsZSwgJGJnLWNvbG9yOiAkY29sb3ItbWFpbi1ncmVlbiwgJGZnLWNvbG9yOiAkY29sb3ItbWFpbi1ibGFjayxcbiAgICAgICAgICAgICAgICAgICAkaWNvbjogZmFsc2UpIHtcbiAgQGluY2x1ZGUgaWNvbi12YXJpYXRpb25zKCRoZWlnaHQsICRiZy1jb2xvcjokYmctY29sb3IsICRmZy1jb2xvcjokZmctY29sb3IsICRpY29uLXR1cGxlOiRpY29uKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwO1xuXG4gIEBlYWNoICR2YXJpYXRpb24gaW4gJGljb24tYnV0dG9uLWNvbG9ycyB7XG4gICAgJG5hbWU6IG50aCgkdmFyaWF0aW9uLCAxKTtcbiAgICAkdi1iZy1jb2xvcjogbnRoKCR2YXJpYXRpb24sIDIpO1xuICAgICR2LWZnLWNvbG9yOiBudGgoJHZhcmlhdGlvbiwgMyk7XG5cbiAgICAmLnYtI3skbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgaWNvbi1jb2xvci12YXJpYXRpb24oJHYtYmctY29sb3IsICR2LWZnLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLCAmLm9uLWhvdmVyLFxuICAmOmFjdGl2ZSwgJi5vbi1jbGljaywgJi5vbi1hY3RpdmUge1xuICAgIEBpbmNsdWRlIGljb24tY29sb3ItdmFyaWF0aW9uKCRjb2xvci1tYWluLWJsYWNrLCAkY29sb3ItbWFpbi13aGl0ZSk7XG5cbiAgICBAZWFjaCAkdmFyaWF0aW9uIGluICRpY29uLWJ1dHRvbi1jb2xvcnMge1xuICAgICAgJG5hbWU6IG50aCgkdmFyaWF0aW9uLCAxKTtcbiAgICAgICR2LWJnLWNvbG9yOiBudGgoJHZhcmlhdGlvbiwgMik7XG4gICAgICAkdi1mZy1jb2xvcjogbnRoKCR2YXJpYXRpb24sIDMpO1xuICAgICAgJGludmVyc2U6IG50aCgkdmFyaWF0aW9uLCA0KTtcblxuICAgICAgQGlmICRpbnZlcnNlIHtcbiAgICAgICAgJi52LSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWNvbG9yLXZhcmlhdGlvbigkdi1mZy1jb2xvciwgJHYtYmctY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi52LW1vYmlsZSB7XG4gICAgQGluY2x1ZGUgaWNvbi12YXJpYXRpb25zKCRtb2JpbGUtaGVpZ2h0LCAkYmctY29sb3I6ICRiZy1jb2xvciwgJGljb24tdHVwbGU6ICRpY29uKTtcblxuICAgICY6YWN0aXZlLCAmLm9uLWNsaWNrIHtcbiAgICAgIEBpbmNsdWRlIGljb24tY29sb3ItdmFyaWF0aW9uKCRjb2xvci1tYWluLWJsYWNrLCAkY29sb3ItbWFpbi13aGl0ZSk7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBpZiAkd2l0aC1iYXNlLWNzcyB7XG4gIC5jLWljb24tYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBpY29uLWJ1dHRvbjtcbiAgfVxuXG4gIC5jLXNoYXJlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgaWNvbi1idXR0b24oJGhlaWdodDogNDBweCwgJGJnLWNvbG9yOiAkY29sb3ItbWFpbi1ncmV5LCAkZmctY29sb3I6ICRjb2xvci1tYWluLWJsYWNrKTtcbiAgfVxuXG4gIC52LWZhY2Vib29rOjphZnRlciB7XG4gICAgcGFkZGluZy1yaWdodDogMTNweDtcbiAgfVxufVxuXG4vL1xuLy8gVGV4dCBJY29uIEJ1dHRvblxuLy9cblxuJHRleHQtYnV0dG9uLWNvbG9yczogKFxuICAgIFwiZ3JlZW5cIiAkY29sb3ItbWFpbi1ncmVlbiAkY29sb3ItbWFpbi1ibGFjayBmYWxzZSxcbiAgICBcImJsYWNrXCIgJGNvbG9yLW1haW4tYmxhY2sgJGNvbG9yLW1haW4td2hpdGUgdHJ1ZSxcbiAgICBcImdyZXlcIiAkY29sb3ItbWFpbi1ncmV5ICRjb2xvci1tYWluLWJsYWNrIGZhbHNlLFxuICAgIFwieWVsbG93XCIgJGNvbG9yLW1haW4tYmxhY2sgJGNvbG9yLW1haW4teWVsbG93IGZhbHNlLFxuICAgIFwiaXllbGxvd1wiICRjb2xvci1tYWluLXllbGxvdyAkY29sb3ItbWFpbi1ibGFjayBmYWxzZSxcbik7XG5cbi8qIEEgc2l6ZSB2YXJpYXRpb24gb2YgYSBjb25maWd1cmVkIGMtdGV4dC1pY29uLWJ1dHRvbi1vbGQgKi9cbkBtaXhpbiB0ZXh0LWljb24tYnV0dG9uLXNpemUtdmFyaWF0aW9uKCRzaXplLCAkaWNvbi1yYXRpbzogMTAwLCAkbG9jYXRpb246J2FmdGVyJykge1xuICBoZWlnaHQ6ICRzaXplO1xuICBsaW5lLWhlaWdodDogJHNpemU7XG4gIEBpZiAkbG9jYXRpb24gPT0gJ2FmdGVyJyB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH0gQGVsc2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgaWNvbi1zaXplLXZhcmlhdGlvbigkaWNvbi1kYXRhLXRyaWFuZ2xlLXJpZ2h0LCAkc2l6ZSwgJHJhdGlvOiAkaWNvbi1yYXRpbywgJGxvY2F0aW9uOiRsb2NhdGlvbikge1xuICAgIEBpZiAkbG9jYXRpb24gPT0gJ2FmdGVyJyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1sYW5kc2NhcGUpIHtcbiAgICBoZWlnaHQ6ICRzaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXBvcnRyYWl0KSB7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHNpemU7XG4gICAgQGlmICRsb2NhdGlvbiA9PSAnYWZ0ZXInIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogN3B4O1xuICAgIH1cblxuICAgICY6OiN7JGxvY2F0aW9ufSB7XG4gICAgICBAaWYgJGxvY2F0aW9uID09ICdhZnRlcicge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LW1vYmlsZSkge1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRzaXplO1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0LWljb24tYnV0dG9uKCRiZy1jb2xvcjokY29sb3ItbWFpbi1ncmVlbiwgJGZnLWNvbG9yOiRjb2xvci1tYWluLWJsYWNrLCAkaG92ZXItYmctY29sb3I6JGNvbG9yLW1haW4tYmxhY2ssXG4gICAgJGhvdmVyLWZnLWNvbG9yOiRjb2xvci1tYWluLXdoaXRlLCAkaWNvbjokaWNvbi1kYXRhLXRyaWFuZ2xlLXJpZ2h0LCAkc2l6ZTogJGJ1dHRvbi1zaXplLCAkbG9jYXRpb246J2FmdGVyJykge1xuICBAaW5jbHVkZSB0eXBvZ3JhcGh5LWJ1dHRvbjtcbiAgQGluY2x1ZGUgdGV4dC1pY29uLWJ1dHRvbi1zaXplLXZhcmlhdGlvbigkc2l6ZSwgJGxvY2F0aW9uOiRsb2NhdGlvbik7XG4gIEBpbmNsdWRlIGJhc2UtaWNvbigkaWNvbiwgJHNpemUsIHRyYW5zcGFyZW50LCAkbG9jYXRpb246JGxvY2F0aW9uKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yO1xuICBjb2xvcjogJGZnLWNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cbiAgQGVhY2ggJHZhcmlhdGlvbiBpbiAkdGV4dC1idXR0b24tY29sb3JzIHtcbiAgICAkbmFtZTogbnRoKCR2YXJpYXRpb24sIDEpO1xuICAgICRiZy1jb2xvcjogbnRoKCR2YXJpYXRpb24sIDIpO1xuICAgICRmZy1jb2xvcjogbnRoKCR2YXJpYXRpb24sIDMpO1xuXG4gICAgJi52LSN7JG5hbWV9IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcbiAgICAgIGNvbG9yOiAkZmctY29sb3I7XG5cbiAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICRmZy1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLCAmLm9uLWhvdmVyLFxuICAmOmFjdGl2ZSwgJi5vbi1jbGljayB7XG4gICAgQGluY2x1ZGUgaWNvbi1jb2xvci12YXJpYXRpb24oJGZnLWNvbG9yOiRob3Zlci1mZy1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnLWNvbG9yO1xuICAgIGNvbG9yOiAkaG92ZXItZmctY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIEBlYWNoICR2YXJpYXRpb24gaW4gJGljb24tYnV0dG9uLWNvbG9ycyB7XG4gICAgICAkbmFtZTogbnRoKCR2YXJpYXRpb24sIDEpO1xuICAgICAgJHYtYmctY29sb3I6IG50aCgkdmFyaWF0aW9uLCAyKTtcbiAgICAgICR2LWZnLWNvbG9yOiBudGgoJHZhcmlhdGlvbiwgMyk7XG4gICAgICAkaW52ZXJzZTogbnRoKCR2YXJpYXRpb24sIDQpO1xuXG4gICAgICBAaWYgJGludmVyc2Uge1xuICAgICAgICAmLnYtI3skbmFtZX0ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1mZy1jb2xvcjtcbiAgICAgICAgICBjb2xvcjogJGhvdmVyLWJnLWNvbG9yO1xuICAgICAgICAgIEBpbmNsdWRlIGljb24tY29sb3ItdmFyaWF0aW9uKCR2LWZnLWNvbG9yLCAkdi1iZy1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG5cbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJHdpdGgtYmFzZS1jc3Mge1xuICAuYy10ZXh0LWljb24tYnV0dG9uIHtcbiAgICBAaW5jbHVkZSB0ZXh0LWljb24tYnV0dG9uO1xuXG4gICAgJi52LXNjcm9sbC11cC1idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYmFzZS1pY29uKCRpY29uLWRhdGEtdHJpYW5nbGUtdXAsICRidXR0b24tc2l6ZSwgdHJhbnNwYXJlbnQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4teWVsbG93O1xuICAgIH1cblxuICAgICYudi1mb290ZXItYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIHRleHQtaWNvbi1idXR0b24tc2l6ZS12YXJpYXRpb24oJGJ1dHRvbi1zaXplLCAkbG9jYXRpb246J2JlZm9yZScpO1xuICAgICAgQGluY2x1ZGUgYmFzZS1pY29uKCRpY29uLWRhdGEtdHJpYW5nbGUtcmlnaHQsICRidXR0b24tc2l6ZSwgdHJhbnNwYXJlbnQsICRmZy1jb2xvcjokY29sb3ItbWFpbi1ncmVlbiwgJGxvY2F0aW9uOidiZWZvcmUnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLWJsYWNrO1xuICAgICAgY29sb3I6ICRjb2xvci1tYWluLXdoaXRlO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdGV4dC1idXR0b24oJGJnLWNvbG9yOiRjb2xvci1tYWluLWdyZWVuLCAkZmctY29sb3I6JGNvbG9yLW1haW4tYmxhY2ssICRob3Zlci1iZy1jb2xvcjokY29sb3ItbWFpbi1ibGFjayxcbiAgICAkaG92ZXItZmctY29sb3I6JGNvbG9yLW1haW4td2hpdGUpIHtcbiAgJHNpemU6ICRidXR0b24tc2l6ZTtcbiAgQGluY2x1ZGUgdHlwb2dyYXBoeS1idXR0b247XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcbiAgY29sb3I6ICRmZy1jb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cbiAgJjpob3ZlciwgJi5vbi1ob3ZlcixcbiAgJjphY3RpdmUsICYub24tY2xpY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iZy1jb2xvcjtcbiAgICBjb2xvcjogJGhvdmVyLWZnLWNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbkBpZiAkd2l0aC1iYXNlLWNzcyB7XG4gIC5jLXRleHQtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSB0ZXh0LWJ1dHRvbjtcbiAgfVxufVxuXG4vL1xuLy8gRXhwZXJpbWVudGFsIGJ1dHRvblxuLy9cblxuLyogQSBzaXplIHZhcmlhdGlvbiBvZiBhIGNvbmZpZ3VyZWQgYy10ZXh0LWljb24tYnV0dG9uICovXG5AbWl4aW4gdGV4dC1pY29uLWJ1dHRvbi1leHBlcmltZW50LTItc2l6ZS12YXJpYXRpb24oJHNpemUsICRob3Jpem9udGFsLXBhZGRpbmcsICRib3JkZXIsICRvZmZzZXQtZmFjdG9yKSB7XG4gICRvZmZzZXQ6IC0kc2l6ZSAqICRvZmZzZXQtZmFjdG9yIC0gJHNpemUgKiAkYm9yZGVyICogMC41O1xuICBoZWlnaHQ6ICRzaXplO1xuICBsaW5lLWhlaWdodDogJHNpemUgKyAkb2Zmc2V0ICogMS43NTtcbiAgbWFyZ2luLWxlZnQ6IC0gJG9mZnNldDtcbiAgcGFkZGluZy1sZWZ0OiAkaG9yaXpvbnRhbC1wYWRkaW5nO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiAkc2l6ZSAqICRib3JkZXIgc29saWQgJGNvbG9yLW1haW4tYmxhY2s7XG4gICAgbGVmdDogJG9mZnNldDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArICN7JHNpemUgKiAkYm9yZGVyICogMC41fSk7XG4gICAgdG9wOiAkb2Zmc2V0O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRzaXplICogJGJvcmRlciAqIDAuNX0pO1xuICB9XG5cbiAgQGluY2x1ZGUgaWNvbi1zaXplLXZhcmlhdGlvbihcInJhbmRvbSBzdHJpbmcgMjMzXCIgJGljb24tYXJyb3ctcmlnaHQgNjAsICRzaXplLCAkbW9kZTogXCJwYWRkaW5nXCIpIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tbGVmdDogJGhvcml6b250YWwtcGFkZGluZztcbiAgICB0b3A6IC0kc2l6ZSAqICRvZmZzZXQtZmFjdG9yIC0gJHNpemUgKiAkYm9yZGVyICogMC4yNTtcbiAgICBsZWZ0OiAtJHNpemUgKiAkb2Zmc2V0LWZhY3RvciAtICRzaXplICogJGJvcmRlciAqIDAuMjU7XG4gIH1cbn1cblxuJGljb24tYnV0dG9uLWV4cGVyaW1lbnQtMi1jb2xvcnM6IChcbiAgICBcInBpbmtcIiAkY29sb3ItbWFpbi1waW5rICRjb2xvci1tYWluLWJsYWNrLFxuICAgIFwiZ3JleVwiICRjb2xvci1tYWluLWdyZXkgJGNvbG9yLW1haW4tYmxhY2ssXG4gICAgXCJibHVlXCIgJGNvbG9yLW1haW4tYmx1ZSAkY29sb3ItbWFpbi1ibGFjayxcbiAgICBcInllbGxvd1wiICRjb2xvci1tYWluLXllbGxvdyAkY29sb3ItbWFpbi1ibGFjayxcbiAgICBcImdyZWVuXCIgJGNvbG9yLW1haW4tZ3JlZW4gJGNvbG9yLW1haW4tYmxhY2ssXG4pO1xuXG5AbWl4aW4gaWNvbi1idXR0b24tZXhwZXJpbWVudC0yKCRzaXplLCAkYm9yZGVyLWZhY3RvciwgJG9mZnNldC1mYWN0b3IsICRwYWRkaW5nLWgpIHtcbiAgQGluY2x1ZGUgdHlwb2dyYXBoeS1idXR0b247XG4gIEBpbmNsdWRlIHRleHQtaWNvbi1idXR0b24tZXhwZXJpbWVudC0yLXNpemUtdmFyaWF0aW9uKCRzaXplLCAkcGFkZGluZy1oLCAkYm9yZGVyLWZhY3RvciwgJG9mZnNldC1mYWN0b3IpO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB6LWluZGV4OiAyO1xuXG4gIEBpbmNsdWRlIGJhc2UtaWNvbihcInJhbmRvbSBzdHJpbmdcIiAkaWNvbi1hcnJvdy1yaWdodCA2MCwgJHNpemUsIHRyYW5zcGFyZW50KSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICBAZWFjaCAkdmFyaWF0aW9uIGluICRpY29uLWJ1dHRvbi1leHBlcmltZW50LTItY29sb3JzIHtcbiAgICAkbmFtZTogbnRoKCR2YXJpYXRpb24sIDEpO1xuICAgICRiZy1jb2xvcjogbnRoKCR2YXJpYXRpb24sIDIpO1xuICAgICRmZy1jb2xvcjogbnRoKCR2YXJpYXRpb24sIDMpO1xuXG4gICAgJi52LSN7JG5hbWV9IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcbiAgICAgIGNvbG9yOiAkZmctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciwgJi5vbi1ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGV4dC1pY29uLWJ1dHRvbi1leHBlcmltZW50LTItc2l6ZS12YXJpYXRpb24oJHNpemUsICRwYWRkaW5nLWgsICRib3JkZXItZmFjdG9yLCAwKTtcbiAgICAkb2Zmc2V0OiAtJHNpemUgKiAkb2Zmc2V0LWZhY3RvciAtICRzaXplICogJGJvcmRlci1mYWN0b3IgKiAwLjU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAtICRvZmZzZXQ7XG4gIH1cbn1cblxuQGlmICR3aXRoLWJhc2UtY3NzIHtcbiAgLmMtaWNvbi1idXR0b24tZXhwZXJpbWVudC0yIHtcbiAgICAkYm9yZGVyLWZhY3RvcjogMC4xMjtcbiAgICAkb2Zmc2V0LWZhY3RvcjogMC4xNTtcbiAgICAkc2l6ZTogMTtcbiAgICBAaW5jbHVkZSBpY29uLWJ1dHRvbi1leHBlcmltZW50LTIoJHNpemUsICRib3JkZXItZmFjdG9yLCAkb2Zmc2V0LWZhY3RvciwgMCk7XG4gICAgQGluY2x1ZGUgaWNvbi12YXJpYXRpb25zKCRzaXplLCBmYWxzZSwgJHJhdGlvOiA3NSk7XG4gIH1cblxuICAuYy10ZXh0LWljb24tYnV0dG9uLWV4cGVyaW1lbnQtMiB7XG4gICAgJHBhZGRpbmctaDogMjVweDtcbiAgICAkYm9yZGVyLWZhY3RvcjogMC4xMjtcbiAgICAkb2Zmc2V0LWZhY3RvcjogMC4xNTtcbiAgICAkc2l6ZTogMTtcbiAgICBAaW5jbHVkZSBpY29uLWJ1dHRvbi1leHBlcmltZW50LTIoJHNpemUsICRib3JkZXItZmFjdG9yLCAkb2Zmc2V0LWZhY3RvciwgJHBhZGRpbmctaCk7XG5cbiAgICAmLnYtbW9iaWxlIHtcbiAgICAgICRzaXplOiAxO1xuICAgICAgJHBhZGRpbmctaDogMjBweDtcbiAgICAgIEBpbmNsdWRlIHRleHQtaWNvbi1idXR0b24tZXhwZXJpbWVudC0yLXNpemUtdmFyaWF0aW9uKCRzaXplLCAkcGFkZGluZy1oLCAkYm9yZGVyLWZhY3RvciwgJG9mZnNldC1mYWN0b3IpO1xuXG4gICAgICAmOmhvdmVyLCAmLm9uLWhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1pY29uLWJ1dHRvbi1leHBlcmltZW50LTItc2l6ZS12YXJpYXRpb24oJHNpemUsICRwYWRkaW5nLWgsICRib3JkZXItZmFjdG9yLCAwKTtcbiAgICAgICAgJG9mZnNldDogLSRzaXplICogJG9mZnNldC1mYWN0b3IgLSAkc2l6ZSAqICRib3JkZXItZmFjdG9yICogMC41O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtICRvZmZzZXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gbGFiZWwoXG4gICRoZWlnaHQ6IDUwcHgsXG4gICRsaW5lLWhlaWdodDogNTBweCxcbiAgJHBhZGRpbmctaG9yaXpvbnRhbDogMjVweCxcbiAgJGZnLWNvbG9yOiAkY29sb3ItbWFpbi1ibGFjayxcbiAgJGxpbms6IGZhbHNlLFxuICAkdXBwZXJjYXNlOiBmYWxzZSxcbiAgJG1vZGU6IFwiZ3JpZFwiKSB7XG4gICRoZWlnaHQtcHg6ICRoZWlnaHQ7XG5cbiAgQGluY2x1ZGUgdHlwb2dyYXBoeS1sYWJlbDtcblxuICBjb2xvcjogJGZnLWNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogJGhlaWdodC1weDtcbiAgbGluZS1oZWlnaHQ6ICRoZWlnaHQtcHg7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctaG9yaXpvbnRhbDtcblxuICBAaWYgJGxpbmsge1xuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLWJsYWNrO1xuICAgICAgY29sb3I6ICRjb2xvci1tYWluLXdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vIExhYmVsIHdpdGggYmFja2dyb3VuZCBjb2xvciwgYW5kIG1vZGUgd2l0aCBob3ZlciBjb2xvci5cbkBtaXhpbiBjb2xvdXJlZC1sYWJlbChcbiAgJGhlaWdodDogNTBweCxcbiAgJGxpbmUtaGVpZ2h0OiA1MHB4LFxuICAkcGFkZGluZy1ob3Jpem9udGFsOiAyNXB4LFxuICAkZmctY29sb3I6ICRjb2xvci1tYWluLWJsYWNrLFxuICAkbGluazogZmFsc2UsXG4gICR1cHBlcmNhc2U6IGZhbHNlLFxuICAkbW9kZTogXCJncmlkXCIpIHtcbiAgQGluY2x1ZGUgbGFiZWwoJGhlaWdodCwgJGxpbmUtaGVpZ2h0LCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZmctY29sb3IsICRsaW5rLCAkdXBwZXJjYXNlLCAkbW9kZSk7XG4gIEBpbmNsdWRlIHRoZW1lZC1zdXBwb3J0O1xufVxuXG5AbWl4aW4gc21hbGwtYmxhY2stbGFiZWwge1xuICBAaW5jbHVkZSB0eXBvZ3JhcGh5LWxhYmVsO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMHB4O1xuICB0b3A6IDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLWJsYWNrO1xuICBjb2xvcjogJGNvbG9yLW1haW4td2hpdGU7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgei1pbmRleDogMTtcbn1cblxuQG1peGluIHJpYmJvbi1sYWJlbCB7XG4gIEBpbmNsdWRlIHR5cG9ncmFwaHktbGFiZWw7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwcHg7XG4gIHRvcDogMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tZ3JlZW47XG4gIGNvbG9yOiAkY29sb3ItbWFpbi1ibGFjaztcbiAgcGFkZGluZzogMCAxNXB4O1xuICB6LWluZGV4OiAxO1xufVxuXG4uYy1jb2xvdXJlZC1sYWJlbCB7XG4gIEBpbmNsdWRlIGNvbG91cmVkLWxhYmVsO1xufVxuXG4vLyBmaWdjYXB0aW9uXG5AbWl4aW4gZmlnY2FwdGlvbi1sYWJlbCB7XG4gIEBpbmNsdWRlIHR5cG9ncmFwaHktbGFiZWw7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLWJsYWNrO1xuICBjb2xvcjogJGNvbG9yLW1haW4td2hpdGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA1MHB4O1xuICBsaW5lLWhlaWdodDogNTBweDtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xufVxuXG5AbWl4aW4gY29sb3VyZWQtbGFiZWwtc21hbGwge1xuICBAaW5jbHVkZSB0eXBvZ3JhcGh5LWxhYmVsO1xuICBmb250LXNpemU6IDE2cHg7IFxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtaW4taGVpZ2h0OiAzMnB4O1xuICBsaW5lLWhlaWdodDogMzVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAaW5jbHVkZSB0aGVtZWQtc3VwcG9ydDtcbiAgY29sb3I6ICRjb2xvci1tYWluLWJsYWNrO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5yaWJib24ge1xuICBAaW5jbHVkZSByaWJib24tbGFiZWw7XG5cbiAgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5cbkBtaXhpbiByaWJib24tY2F0ZWdvcnktbGFiZWwge1xuICBAaW5jbHVkZSB0eXBvZ3JhcGh5LWxhYmVsO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwcHg7XG4gIGJvdHRvbTogMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tYmxhY2s7XG4gIGNvbG9yOiAkY29sb3ItbWFpbi13aGl0ZTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogMCAyMnB4O1xuXG4gIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LW1vYmlsZS1vdmVydmlldy1ibG9ja3MpIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4ucmliYm9uLWNhdGVnb3J5IHtcbiAgQGluY2x1ZGUgcmliYm9uLWNhdGVnb3J5LWxhYmVsO1xufVxuXG4ucGFnZS1yZXByZXNlbnRhdGlvbl9faGVhZGVyIHtcbiAgLnJpYmJvbi1jYXRlZ29yeSB7XG4gICBmb250LXdlaWdodDogMzAwO1xuICB9XG59XG5cbkBtaXhpbiByaWJib24tbW9iaWxlLWxhYmVsIHtcbiAgQGluY2x1ZGUgdHlwb2dyYXBoeS1sYWJlbDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbi1ncmVlbjtcbiAgY29sb3I6ICRjb2xvci1tYWluLWJsYWNrO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJpYmJvbi1tb2JpbGUge1xuICBAaW5jbHVkZSByaWJib24tbW9iaWxlLWxhYmVsO1xufVxuIiwiJG1haW4tbWVudS1zaWRlLXdpZHRoOiA0MjBweDtcbiRvdmVydmlldy1ibG9jay1oZWlnaHQ6IDM2MHB4OyIsImJvZHkge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG5AbWl4aW4gcmljaC10ZXh0KCRsaW5rLWNvbG9yOiRjb2xvci1tYWluLWJsYWNrLCAkbGluay11bmRlcmxpbmU6dHJ1ZSkge1xuICBhOm5vdCguY29udGVzdC12aWRlbyk6bm90KC5idXR0b24pIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LXBhcmFncmFwaDtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG5cbiAgICBAaWYgJGxpbmstdW5kZXJsaW5lIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHNlbGVjdGlvbih0cnVlKSB7XG4gICAgICBjb2xvcjogJGNvbG9yLW1haW4td2hpdGU7XG4gICAgfVxuICB9XG5cbiAgc3Ryb25nLCBiIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIGVtLCBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cbn1cblxuQG1peGluIHVsLXN0eWxpbmcoJGFjY2VudC1jb2xvcjokY29sb3ItbWFpbi1ibGFjaywgJGxpbmstY29sb3I6JGNvbG9yLW1haW4tYmxhY2ssICRsaW5rLXVuZGVybGluZTp0cnVlKSB7XG4gIEBpbmNsdWRlIHR5cG9ncmFwaHktZGVmYXVsdDtcbiAgQGluY2x1ZGUgcmljaC10ZXh0O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiA3cHg7XG5cbiAgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgfVxuXG4gICY6bm90KC5jb250ZW50LWxpc3QtZG93bmxvYWRzKTpub3QoLmNvbnRlbnQtbGlzdC1saW5rcyk6bm90KC5hcnJhbmdlbWVudHMpOm5vdCgucGFnZS1zaGFyZS13cmFwcGVyKSA+IGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4pagXCI7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBjb2xvcjogJGNvbG9yLW1haW4tYmxhY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQG1peGluIG9sLXN0eWxpbmcoJGxpbmstY29sb3I6JGNvbG9yLW1haW4tYmxhY2ssICRsaW5rLXVuZGVybGluZTp0cnVlKSB7XG4gIEBpbmNsdWRlIHR5cG9ncmFwaHktZGVmYXVsdDtcbiAgQGluY2x1ZGUgcmljaC10ZXh0KCRsaW5rLXVuZGVybGluZTokbGluay11bmRlcmxpbmUpO1xuXG4gIGNvdW50ZXItcmVzZXQ6IGZvbztcbiAgZGlzcGxheTogdGFibGU7XG5cbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IGZvbztcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogY291bnRlcihmb28pIFwiLlwiO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgcGFkZGluZy1yaWdodDogMTFweDtcbiAgICB9XG4gIH1cbn1cblxuXG4uYy1yaWNoLXRleHQge1xuICBAaW5jbHVkZSByaWNoLXRleHQ7XG5cbiAgb2wge1xuICAgIEBpbmNsdWRlIG9sLXN0eWxpbmc7XG4gIH1cblxuICB1bCB7XG4gICAgQGluY2x1ZGUgdWwtc3R5bGluZztcbiAgfVxuXG4gIGgzIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LWhlYWRlci0zO1xuICB9XG5cbiAgaDQge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktaGVhZGVyLTU7XG4gIH1cbn1cbiIsIkBtaXhpbiB2aWRlby1wbGF5LWJ1dHRvbigpIHtcblxuICAmOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250OiBub3JtYWwgMzBweC82MHB4IGljb25zO1xuICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgIC8vIGZpeCBmb250IHBsYWNlbWVudFxuICAgIGNvbnRlbnQ6ICRpY29uLXBsYXk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgICBjb2xvcjogJGNvbG9yLW1haW4td2hpdGU7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuICB9XG59XG5cbi8vLnZpZGVvLWxpbmsge1xuLy8gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICBjdXJzb3I6IHBvaW50ZXI7XG4vLyAgQGV4dGVuZCAldmlkZW8tcGxheS1idXR0b247XG4vL31cbi8vLmNvbnRlc3QtdmlkZW8gLnZpZGVve1xuLy8gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICBAZXh0ZW5kICV2aWRlby1wbGF5LWJ1dHRvbjtcbi8vICAmOmFmdGVyIHtcbi8vICAgIG1hcmdpbi10b3A6IC01MHB4O1xuLy8gIH1cbi8vfSIsIiRicmVha3BvaW50LXN0ZXAtdmlld2VyLXZlcnRpY2FsOiA3NjhweDtcblxuJG92ZXJ2aWV3OiAoXG4gICdndXR0ZXInOiAyMHB4LFxuKTtcblxuJGhlaWdodHM6IChcbiAgJ2hlYWRlcic6IDEwMHB4LFxuICAnZXhwZXJpbWVudC1oZWFkZXInOiAzMDBweCxcbiAgJ292ZXJ2aWV3LWhlYWRlcic6IDIwNXB4LFxuICAnb3ZlcnZpZXctaGVhZGVyLXRhYmxldCc6IDE3NXB4LFxuICAnb3ZlcnZpZXctaGVhZGVyLW1vYmlsZSc6IDI1MHB4LFxuKTtcblxuJG1hcmdpbnM6IChcbiAgJ2hvcml6b250YWwtbWFyZ2luLW1vYmlsZSc6IDIwcHgsXG4gICdjb21wb25lbnQtdmVydGljYWwnOiA0MHB4LFxuICAnY29tcG9uZW50LXZlcnRpY2FsLW1vYmlsZSc6IDIwcHgsXG4gICdndXR0ZXInOiBtYXBfZ2V0KCRvdmVydmlldywgJ2d1dHRlcicpLFxuICAnc3RlcC12aWV3ZXItZ3V0dGVyJzogMTEwcHgsXG4gICdzdGVwLXZpZXdlci1ndXR0ZXItLWxhbmRzY2FwZSc6IDUwcHgsXG4pO1xuXG4kcGFkZGluZ3M6IChcbiAgJ2NvbnRlbnQtcGFkZGluZy1ob3Jpem9udGFsLS1tb2JpbGUnOiA0MHB4LFxuICAnY29udGVudC1wYWRkaW5nLWhvcml6b250YWwtLWxhbmRzY2FwZSc6IDQwcHgsXG4gICdjb250ZW50LXBhZGRpbmctaG9yaXpvbnRhbCc6IDgwcHgsXG4gICdjb250ZW50LXBhZGRpbmctdmVydGljYWwnOiA1MHB4LFxuKTtcblxuJHBhbGV0dGU6IChcbiAgJ2JsYWNrJzogJGNvbG9yLW1haW4tYmxhY2ssXG4gICdibGFjay10cmFuc3BhcmVudCc6IHJnYmEoJGNvbG9yLW1haW4tYmxhY2ssIC44KSxcbiAgJ2JsdWUnOiAkY29sb3ItbWFpbi1ibHVlLFxuICAnZ3JlZW4nOiAkY29sb3ItbWFpbi1ncmVlbixcbiAgJ2dyZXknOiAkY29sb3ItbWFpbi1ncmV5LFxuICAncGluayc6ICRjb2xvci1tYWluLXBpbmssXG4gICdyYW5rLWdvbGQnOiAjY2ZiNTNiLFxuICAncmFuay1zaWx2ZXInOiAjZTZlOGZhLFxuICAncmFuay1icm9uemUnOiAjOGM3ODUzLFxuICAncmVkJzogJGNvbG9yLW1haW4tcmVkLFxuICAndHJhbnNwYXJlbnQnOiB0cmFuc3BhcmVudCxcbiAgJ3doaXRlJzogJGNvbG9yLW1haW4td2hpdGUsXG4gICd5ZWxsb3cnOiAkY29sb3ItbWFpbi15ZWxsb3csXG4pO1xuXG4kdHlwb2dyYXBoaWVzOiAoXG4gICdpdGVtLWxhYmVsJzogKFxuICAgICdmb250Jzogbm9ybWFsIDQwMCAyNnB4IC8gMzBweCAkZm9udC1jYW1wdG9uLWJvb2ssXG4gICksXG4gICdjaGVja2JveC1sYWJlbCc6IChcbiAgICAnZm9udCc6IG5vcm1hbCA0MDAgMTZweCAvIDIycHggJGZvbnQtY2FtcHRvbi1tZWRpdW0sXG4gICksXG4gICdkZXRhaWwtbGFiZWwnOiAoXG4gICAgJ2ZvbnQnOiBub3JtYWwgNDAwIDE2cHggLyAyMnB4ICRmb250LWNhbXB0b24tbWVkaXVtLFxuICApLFxuICAnZmlndXJlLWNhcHRpb24nOiAoXG4gICAgJ2ZvbnQnOiBub3JtYWwgNDAwIDEzcHggLyAyMHB4ICRmb250LWNhbXB0b24tbWVkaXVtLFxuICApLFxuICAncmVsYXRlZC1pdGVtLWxhYmVsJzogKFxuICAgICAgJ2ZvbnQnOiBub3JtYWwgNDAwIDE4cHggLyAyMHB4ICRmb250LWNhbXB0b24tYm9vayxcbiAgKSxcbiAgJ3N0ZXAtaGVhZGVyJzogKFxuICAgICAgJ2ZvbnQnOiBub3JtYWwgNDAwIDIwcHggLyAzMHB4ICRmb250LWNhbXB0b24tYm9vayxcbiAgKSxcbiAgJ3N0ZXAtZGVzY3JpcHRpb24nOiAoXG4gICAgICAnZm9udCc6IG5vcm1hbCA0MDAgMThweCAvIDI1cHggJGZvbnQtY2FtcHRvbi1ib29rLFxuICApLFxuICAnZGV0YWlsLWhlYWRlcic6IChcbiAgICAgICdmb250Jzogbm9ybWFsIDQwMCA2MHB4IC8gNjJweCAkZm9udC1jYW1wdG9uLWJvb2ssXG4gICksXG4gICdkZXRhaWwtaGVhZGVyLW1vYmlsZSc6IChcbiAgICAgICdmb250Jzogbm9ybWFsIDQwMCA0MHB4IC8gNDJweCAkZm9udC1jYW1wdG9uLWJvb2ssXG4gICksXG4gICdkZXRhaWwtc3ViaGVhZGVyJzogKFxuICAgICAgJ2ZvbnQnOiBub3JtYWwgNDAwIDI2cHggLyAzNHB4ICRmb250LWNhbXB0b24tYm9vayxcbiAgKSxcbiAgJ2RldGFpbC1kdXJhdGlvbic6IChcbiAgICAgICdmb250Jzogbm9ybWFsIDQwMCAyMHB4IC8gMzBweCAkZm9udC1jYW1wdG9uLW1lZGl1bSxcbiAgKSxcbiAgJ2RldGFpbC1jb250ZW50JzogKFxuICAgICAgJ2ZvbnQnOiBub3JtYWwgNDAwIDIwcHggLyAzMHB4ICRmb250LWNhbXB0b24tYm9vayxcbiAgKSxcbiAgJ292ZXJ2aWV3LWhlYWRlcic6IChcbiAgICAgICdmb250Jzogbm9ybWFsIDQwMCA2MHB4IC8gNjJweCAkZm9udC1jYW1wdG9uLWJvb2ssXG4gICksXG4gICdvdmVydmlldy1oZWFkZXItbW9iaWxlJzogKFxuICAgICAgJ2ZvbnQnOiBub3JtYWwgNDAwIDQwcHggLyA0MnB4ICRmb250LWNhbXB0b24tYm9vayxcbiAgKSxcbik7XG5cbiR3aWR0aHM6IChcbiAgJ2RldGFpbC1hc2lkZSc6IDI2MHB4LFxuICAnZGV0YWlsLWNvbnRlbnQtbGFuZHNjYXBlJzogMTAyNHB4IC0gMjYwcHgsXG4gICdkZXRhaWwtY29udGVudCc6IDExMDRweCAtIDI2MHB4LFxuKTtcbiIsIkBmdW5jdGlvbiBnZXQtaGVpZ2h0KCRuYW1lKSB7XG4gIEByZXR1cm4gbWFwX2dldCgkaGVpZ2h0cywgJG5hbWUpO1xufVxuXG5AZnVuY3Rpb24gZ2V0LW1hcmdpbigkbmFtZSkge1xuICBAcmV0dXJuIG1hcF9nZXQoJG1hcmdpbnMsICRuYW1lKTtcbn1cblxuQGZ1bmN0aW9uIGdldC1wYWRkaW5nKCRuYW1lKSB7XG4gIEByZXR1cm4gbWFwX2dldCgkcGFkZGluZ3MsICRuYW1lKTtcbn1cblxuQGZ1bmN0aW9uIGdldC13aWR0aCgkbmFtZSkge1xuICBAcmV0dXJuIG1hcF9nZXQoJHdpZHRocywgJG5hbWUpO1xufVxuXG5AbWl4aW4gY29sb3JpemUoJGZvcmVncm91bmQ6ZmFsc2UsICRiYWNrZ3JvdW5kOmZhbHNlLCAkZmlsbDpmYWxzZSkge1xuICBAaWYgJGZvcmVncm91bmQge1xuICAgIGNvbG9yOiBtYXBfZ2V0KCRwYWxldHRlLCAkZm9yZWdyb3VuZCk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcF9nZXQoJHBhbGV0dGUsICRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZmlsbCB7XG4gICAgZmlsbDogbWFwX2dldCgkcGFsZXR0ZSwgJGZpbGwpO1xuICB9XG59XG5cbkBtaXhpbiBjaGVja2JveC1pbnB1dCgkZmFjZS1jbGFzcywgJGhlaWdodDokYnV0dG9uLXNpemUsICR3aWR0aDokYnV0dG9uLXNpemUpIHtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6ICR3aWR0aDtcblxuICAmOmNoZWNrZWQgKyAuI3skZmFjZS1jbGFzc30ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY2hlY2tib3gtZmFjZSgkdG9wLW9mZnNldDowLCAkcmlnaHQtb2Zmc2V0OjVweCwgJHNpemU6MjBweCwgJGhlaWdodDogJGJ1dHRvbi1zaXplLCAkd2lkdGg6JGJ1dHRvbi1zaXplKSB7XG4gIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOiAnd2hpdGUnKTtcbiAgaGVpZ2h0OiAkc2l6ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICAkb2Zmc2V0OiAoJHdpZHRoIC0gJHNpemUpIC8gMjtcbiAgJG9mZnNldC10b3A6ICgkaGVpZ2h0IC0gJHNpemUpIC8gMjsgLy8gYXV0b21hdGljOyBuZWVkcyB0byBiZSByZWFkanVzdGVkIHdpdGggdGhlIG1hbnVhbCB0b3Atb2Zmc2V0XG4gIEBpbmNsdWRlIHBvc2l0aW9uKCRyaWdodDokb2Zmc2V0ICsgJHJpZ2h0LW9mZnNldCwgJHRvcDokb2Zmc2V0LXRvcCArICR0b3Atb2Zmc2V0KTtcbiAgd2lkdGg6ICRzaXplO1xuXG4gIEBpbmNsdWRlIGFkZC1pY29uKCRpY29uLWNoZWNrKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogM3B4ICsgJHRvcC1vZmZzZXQ7XG4gICAgbGVmdDogMXB4O1xuICB9XG59XG5cbkBtaXhpbiBwb3NpdGlvbigkdHlwZTonYWJzb2x1dGUnLCAkdG9wOmF1dG8sICRyaWdodDphdXRvLCAkYm90dG9tOmF1dG8sICRsZWZ0OmF1dG8sICR6LWluZGV4Om51bGwpIHtcbiAgcG9zaXRpb246ICN7JHR5cGV9O1xuICBib3R0b206ICRib3R0b207XG4gIGxlZnQ6ICRsZWZ0O1xuICByaWdodDogJHJpZ2h0O1xuICB0b3A6ICR0b3A7XG4gIEBpZiAkei1pbmRleCB7XG4gICAgei1pbmRleDogJHotaW5kZXg7XG4gIH1cbn1cblxuQG1peGluIHR5cG9ncmFwaHkoJHR5cGUpIHtcbiAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gbWFwX2dldCgkdHlwb2dyYXBoaWVzLCAkdHlwZSkge1xuICAgIEBpZiAkcHJvcGVydHkgPT0gJ2NvbG9yJyB7XG4gICAgICBAaW5jbHVkZSBjb2xvcml6ZSgkZm9yZWdyb3VuZDokdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiYW5pbWF0ZWRcIjtcbkBpbXBvcnQgXCJidXR0b25zX2Rpc2NvdmVyXCI7XG5AaW1wb3J0IFwiYmxvY2tzXCI7XG5AaW1wb3J0IFwiYmxvY2tzX3RoZW1hX3ppZW5cIjtcbkBpbXBvcnQgXCJjb250ZXN0XCI7XG5AaW1wb3J0IFwiY29udGVzdC1pbWFnZVwiO1xuQGltcG9ydCBcImRpc2NvdmVyLWNvbmNsdXNpb25cIjtcbkBpbXBvcnQgXCJkaXNjb3Zlci1jb250ZW50XCI7XG5AaW1wb3J0IFwiZGlzY292ZXItZGV0YWlsLWFzaWRlXCI7XG5AaW1wb3J0IFwiZGlzY292ZXItZGV0YWlsLWNvbnRlbnRcIjtcbkBpbXBvcnQgXCJkaXNjb3Zlci1kZXRhaWwtaGVhZGVyXCI7XG5AaW1wb3J0IFwiZGlzY292ZXItZmlsdGVyLWJhclwiO1xuQGltcG9ydCBcImRpc2NvdmVyLWZpbHRlci1iYXItdGhlbWVcIjtcbkBpbXBvcnQgXCJkaXNjb3Zlci1vdmVydmlldy1jb250ZW50XCI7XG5AaW1wb3J0IFwiZGlzY292ZXItb3ZlcnZpZXctaGVhZGVyXCI7XG5AaW1wb3J0IFwiZGlzY292ZXItcmVsYXRlZC1pdGVtXCI7XG5AaW1wb3J0IFwiZGlzY292ZXItdmlkZW9cIjtcbkBpbXBvcnQgXCJleHBlcmltZW50XCI7XG5AaW1wb3J0IFwibGlnaHRib3hcIjtcbkBpbXBvcnQgXCJxYW5kYVwiO1xuQGltcG9ydCBcInJlcXVpcmVtZW50c1wiO1xuQGltcG9ydCBcInN0ZXAtdmlld2VyXCI7XG5AaW1wb3J0IFwic3RlcC12aWV3ZXItc3RlcFwiO1xuQGltcG9ydCBcInRoZW1lLWxpc3RcIjtcbkBpbXBvcnQgXCJ0aWRiaXRcIjtcbiIsIi5hbmltYXRlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uYW5pbWF0ZWQgaW1nOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4iLCIudGhlbWUtb3ZlcnZpZXctcGFnZSB7XG4gIC50aGVtZS1saXN0IHtcbiAgICAudGhlbWUtc2VsZWN0b3I6aG92ZXIge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufSIsIiRiYXNlLWRpbWVuc2lvbjogMzAwcHg7XG4kbG9uZzogNTUwcHg7XG4kZ3JpZC1wYWRkaW5nOiBtYXBfZ2V0KCRvdmVydmlldywgJ2d1dHRlcicpO1xuXG4kZm9ybWF0czogKFxuICAnYmFzZSc6ICgkYmFzZS1kaW1lbnNpb24sICRiYXNlLWRpbWVuc2lvbiArICRncmlkLXBhZGRpbmcpLCAvLyAzMDB4MzIwXG4gICdicm9hZCc6ICgkYmFzZS1kaW1lbnNpb24gKiAyICsgJGdyaWQtcGFkZGluZywgJGJhc2UtZGltZW5zaW9uICsgJGdyaWQtcGFkZGluZyksIC8vIDYyMHgzMjBcbiAgJ2xvbmcnOiAoJGJhc2UtZGltZW5zaW9uLCAkbG9uZyksIC8vIDMwMHg1NTBcbiAgJ3NtYWxsJzogKCRiYXNlLWRpbWVuc2lvbiwgJGxvbmcgLSAkYmFzZS1kaW1lbnNpb24gLSAkZ3JpZC1wYWRkaW5nICogMiksIC8vIDMwMHgyMTBcbik7XG5cbi5kaXNjb3Zlci1ibG9ja3Mge1xuICBvcGFjaXR5OiAwLjA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZS1pbjtcblxuICAmLm1hc29ucnktaW5pdGlhbGl6ZWQge1xuICAgIG9wYWNpdHk6IDEuMDtcbiAgfVxufVxuXG4uZGlzY292ZXItaXRlbSB7XG4gIGhlaWdodDogbnRoKG1hcF9nZXQoJGZvcm1hdHMsICdiYXNlJyksIDIpO1xuICBtYXJnaW4tYm90dG9tOiBnZXQtbWFyZ2luKCdndXR0ZXInKTtcbiAgd2lkdGg6IG50aChtYXBfZ2V0KCRmb3JtYXRzLCAnYmFzZScpLCAxKTtcblxuICBAZWFjaCAkZm9ybWF0LCAkZGltZW5zaW9ucyBpbiAkZm9ybWF0cyB7XG4gICAgJi5kaXNjb3Zlci1pdGVtLS0jeyRmb3JtYXR9IHtcbiAgICAgIGhlaWdodDogbnRoKCRkaW1lbnNpb25zLCAyKTtcbiAgICAgIHdpZHRoOiBudGgoJGRpbWVuc2lvbnMsIDEpO1xuXG4gICAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1zbWFsbCkge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKG50aCgkZGltZW5zaW9ucywgMikgLyBudGgoJGRpbWVuc2lvbnMsIDEpKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRpc2NvdmVyLWl0ZW1fX2hlYWRlciB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oJ3JlbGF0aXZlJywgJHotaW5kZXg6NCk7XG5cbiAgICAuZGlzY292ZXItaWNvbiB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOidncmV5Jyk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogJGJ1dHRvbi1zaXplO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJGxlZnQ6MCwgJHRvcDowKTtcbiAgICAgIHdpZHRoOiAkYnV0dG9uLXNpemU7XG4gICAgfVxuICB9XG5cbiAgLmRpc2NvdmVyLWl0ZW1fX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDonZ3JleScpO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oJGxlZnQ6JGJ1dHRvbi1zaXplLCAkdG9wOiRidXR0b24tc2l6ZSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGVhc2U7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeSgnaXRlbS1sYWJlbCcpO1xuICAgIHdpZHRoOiAyMTVweDtcbiAgfVxuXG4gIC5leHBlcmltZW50LFxuICAucWFuZGEsXG4gIC50aWRiaXQsXG4gIC52aWRlby1idXR0b24sXG4gIGltZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmV4cGVyaW1lbnQsXG4gIC5xYW5kYSxcbiAgLnRpZGJpdCB7XG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtc21hbGwpIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgLmRpc2NvdmVyLWl0ZW1fX3RpdGxlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0kYnV0dG9uLXNpemUsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiJGJhc2UtZGltZW5zaW9uOiAyNDZweDtcbiRsb25nOiA1NTBweDtcbiRncmlkLXBhZGRpbmc6IG1hcF9nZXQoJG92ZXJ2aWV3LCAnZ3V0dGVyJyk7XG5cbiRmb3JtYXRzOiAoXG4gICdiYXNlJzogKCRiYXNlLWRpbWVuc2lvbiwgJGJhc2UtZGltZW5zaW9uICsgJGdyaWQtcGFkZGluZyksIC8vIDMwMHgzMjBcbiAgJ2Jyb2FkJzogKCRiYXNlLWRpbWVuc2lvbiAqIDIgKyAkZ3JpZC1wYWRkaW5nLCAkYmFzZS1kaW1lbnNpb24gKyAkZ3JpZC1wYWRkaW5nKSwgLy8gNjIweDMyMFxuICAnbG9uZyc6ICgkYmFzZS1kaW1lbnNpb24sICRsb25nKSwgLy8gMzAweDU1MFxuICAnc21hbGwnOiAoJGJhc2UtZGltZW5zaW9uLCAkbG9uZyAtICRiYXNlLWRpbWVuc2lvbiAtICRncmlkLXBhZGRpbmcgKiAyKSwgLy8gMzAweDIxMFxuKTtcblxuLnRoZW1hLXppZW4tbGFuZGluZyB7XG5cbiAgLnYtZ3JleSArIC5wYWdlLXNlY3Rpb24tcHVzaGNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLWdyZXk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnBhZ2Utc2VjdGlvbi5wYWdlLXNlY3Rpb24tY29udGVudC52LXdoaXRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICB9XG4gICAgOm5vdCgudi1ncmV5KSArIC5wYWdlLXNlY3Rpb24tcHVzaGNvbnRlbnQgLnNlY3Rpb24taW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLWdyZXk7XG4gIH1cblxuICAucGFnZS1zZWN0aW9uLXB1c2hjb250ZW50IC5zZWN0aW9uLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbi13aGl0ZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG4gICAgbWF4LXdpZHRoOiA3ODBweDtcbiAgfVxuICAucGFnZS1zZWN0aW9uLXB1c2hjb250ZW50IC5zZWN0aW9uLWlubmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbi1ncmVlbjtcbiAgfVxuICAucGFnZS1zZWN0aW9uLXB1c2hjb250ZW50IGZpZ3VyZXtcbiAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnBhZ2Utc2VjdGlvbi1wdXNoY29udGVudCBmaWd1cmUgLmUtZGVza3RvcHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMjUwcHg7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICBoZWlnaHQ6IDE5MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1zbWFsbCkge1xuICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICB9XG4gIH1cblxuICAucGFnZS1zZWN0aW9uLXB1c2hjb250ZW50IGZpZ3VyZSAuZS1tb2JpbGV7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjUwcHg7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICBoZWlnaHQ6IDE5MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1zbWFsbCkge1xuICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICB9XG4gIH1cblxuICAucGFnZS1zZWN0aW9uLXB1c2hjb250ZW50IC5jb250ZW50LWluZm97XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNvbnRlbnQtaW5mb19fdGl0bGUge1xuICAgICAgaHlwaGVuczogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLnBhZ2Utc2VjdGlvbi1wdXNoY29udGVudCAuY29udGVudC1pbmZvOjphZnRlciB7XG4gICAgY29udGVudDogXCLupJJcIjtcbiAgICBmb250LWZhbWlseTogaWNvbnM7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAxcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQ6ICMwMEU2M0M7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cblxuICAucGFnZS1zZWN0aW9uLXB1c2hjb250ZW50IC5jb250ZW50LWluZm8gYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIC5wYWdlLXNlY3Rpb24tcHVzaGNvbnRlbnQgLmNvbnRlbnQtaW5mbyBwOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgfVxuXG4gIC5idXR0b24tYmxvY2sge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpbmNsdWRlIGFib3ZlKCRicmVha3BvaW50LW1lZGl1bSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYWJvdmUoJGJyZWFrcG9pbnQtc21hbGwpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gIH1cbiAgXG4gIC5wYWdlLXNlY3Rpb24tY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cblxuICAucGFnZS1zZWN0aW9uLWNvbnRlbnQ6bnRoLW9mLXR5cGUoMyksICN6by10ZS16aWVuLWF0LXRoZS1tdXNldW0tYW5jaG9yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5wYWdlLXNlY3Rpb24gPiBoMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIH1cblxuICAucGFnZS1zZWN0aW9uOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG5cbiAgfVxuICAub3RoZXItYWN0aXZpdGllcyB7XG4gICAgbWF4LXdpZHRoOiA5NDBweDtcbiAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYWJvdmUoJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICBtYXJnaW4tbGVmdDo4MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1zbWFsbCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuICAgIC5wYWdlLXJlcHJlc2VudGF0aW9uLXNpbXBsZSwgLnBhZ2UtcmVwcmVzZW50YXRpb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDI0NnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1zbWFsbCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnBhZ2UtcmVwcmVzZW50YXRpb24tc2ltcGxlOmxhc3QtY2hpbGQsIC5wYWdlLXJlcHJlc2VudGF0aW9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgfVxuICAgIC5jLWdyaWQtaW50cm8gaDIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5maWd1cmUtY2VudGVyLWxhbmRzY2FwZS5jb250ZW50LXZpZGVvLCAuZmlndXJlLWxlZnQtbGFuZHNjYXBlLmNvbnRlbnQtdmlkZW8sIC5maWd1cmUtcmlnaHQtbGFuZHNjYXBlLmNvbnRlbnQtdmlkZW8ge1xuICAgIHdpZHRoOiBpbml0aWFsO1xuICB9XG5cbiAgLmZpZ3VyZS1sZWZ0LWxhbmRzY2FwZS5jb250ZW50LXZpZGVvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgQGluY2x1ZGUgYWJvdmUoJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXNtYWxsKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmRpc2NvdmVyLWJsb2NrcyB7XG4gICAgbWFyZ2luLWxlZnQ6NjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBhYm92ZSgkYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OjgwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXNtYWxsKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB9XG4gIH1cbiAgLmRpc2NvdmVyLWl0ZW0ge1xuICAgIGhlaWdodDogbnRoKG1hcF9nZXQoJGZvcm1hdHMsICdiYXNlJyksIDIpO1xuICAgIG1hcmdpbi1ib3R0b206IGdldC1tYXJnaW4oJ2d1dHRlcicpO1xuICAgIHdpZHRoOiBudGgobWFwX2dldCgkZm9ybWF0cywgJ2Jhc2UnKSwgMSk7XG5cbiAgICBAZWFjaCAkZm9ybWF0LCAkZGltZW5zaW9ucyBpbiAkZm9ybWF0cyB7XG4gICAgICAmLmRpc2NvdmVyLWl0ZW0tLSN7JGZvcm1hdH0ge1xuICAgICAgICBoZWlnaHQ6IG50aCgkZGltZW5zaW9ucywgMik7XG4gICAgICAgIHdpZHRoOiBudGgoJGRpbWVuc2lvbnMsIDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXNtYWxsKSB7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKG50aCgkZGltZW5zaW9ucywgMikgLyBudGgoJGRpbWVuc2lvbnMsIDEpKTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vLmRpc2NvdmVyLWl0ZW1fX2hlYWRlciB7XG4gICAgLy8gIEBpbmNsdWRlIHBvc2l0aW9uKCdyZWxhdGl2ZScsICR6LWluZGV4OiA0KTtcbiAgICAvL1xuICAgIC8vICAmOjpiZWZvcmUge1xuICAgIC8vICAgIHdpZHRoOiAkYnV0dG9uLXNpemU7XG4gICAgLy8gIH1cbiAgICAvL31cblxuICAgIC5kaXNjb3Zlci1pdGVtX190aXRsZSB7XG4gICAgICAvL0BpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOiAnZ3JleScpO1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRsZWZ0OiAkYnV0dG9uLXNpemUsICR0b3A6ICRidXR0b24tc2l6ZSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgZWFzZTtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoJ2l0ZW0tbGFiZWwnKTtcbiAgICAgIHdpZHRoOiAxNDZweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIC5kaXNjb3Zlci1pY29uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFNkU2RTY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgIH1cblxuICB9XG5cbn1cbiIsIi5jb250ZXN0IHtcbiAgLmRpc2NvdmVyLWl0ZW1fX2hlYWRlciB7XG4gICAgLmljb24tY29udGVzdCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9kaXNjb3Zlci9pbWFnZXMvaWNvbi1zaS5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDoncmVkJyk7XG4gICAgfVxuICB9XG5cbiAgLmRpc2NvdmVyLWl0ZW1fX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDoncmVkJyk7XG4gIH1cbn0iLCIuY29udGVzdC1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5jb250ZXN0LWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxLzMpfSAtIDMwcHgpO1xuXG4gIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LWlwYWQtbGFuZHNjYXBlKSB7XG4gICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEvMil9IC0gMzBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1zbWFsbCkge1xuICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxLzEpfSAtIDMwcHgpO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGZpZ2NhcHRpb24ge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoJ2RldGFpbC1jb250ZW50Jyk7XG4gIH1cbn1cblxuLnJhbmtpbmcge1xuICBAaW5jbHVkZSBwb3NpdGlvbignYWJzb2x1dGUnLCAkdG9wOjEwcHgsICRsZWZ0OjEwcHgsICR6LWluZGV4OjIpO1xuXG4gIC5yYW5raW5nX19jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKCdyZWxhdGl2ZScpO1xuICB9XG5cbiAgLnJhbmtpbmdfX251bWJlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkZm9yZWdyb3VuZDonYmxhY2snKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiA0MnB4O1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKCdhYnNvbHV0ZScsICR0b3A6MCwgJGxlZnQ6MCk7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeSgnY2hlY2tib3gtbGFiZWwnKTtcbiAgICB3aWR0aDogNDBweDtcbiAgfVxuXG4gICYucmFua2luZy0tcmFuay0xIHtcbiAgICAucmFua2luZ19fcHJpemUge1xuICAgICAgQGluY2x1ZGUgY29sb3JpemUoJGZpbGw6J3JhbmstZ29sZCcpO1xuICAgIH1cbiAgfVxuXG4gICYucmFua2luZy0tcmFuay0yIHtcbiAgICAucmFua2luZ19fcHJpemUge1xuICAgICAgQGluY2x1ZGUgY29sb3JpemUoJGZpbGw6J3Jhbmstc2lsdmVyJyk7XG4gICAgfVxuICB9XG5cbiAgJi5yYW5raW5nLS1yYW5rLTMge1xuICAgIC5yYW5raW5nX19wcml6ZSB7XG4gICAgICBAaW5jbHVkZSBjb2xvcml6ZSgkZmlsbDoncmFuay1icm9uemUnKTtcbiAgICB9XG4gIH1cbn0iLCIuZGlzY292ZXItY29uY2x1c2lvbiB7XG4gIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOidncmVlbicpO1xuXG4gIC5kaXNjb3Zlci1kZXRhaWwtY29udGVudCAmLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X19tYWluOmxhc3QtY2hpbGQge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmRpc2NvdmVyLWNvbmNsdXNpb25fX3N3aXRjaC1idXR0b25bYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmRpc2NvdmVyLWNvbmNsdXNpb25fX3N3aXRjaC1idXR0b25bYXJpYS1leHBhbmRlZD0nZmFsc2UnXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyAmLnN3aXRjaGluZy0xIHsgLy9CVVRUT04gU1dJVENIXG4gICAgXG4gIC8vICAgLy8gLmRpc2NvdmVyLWNvbmNsdXNpb25fX2luaXRpYWwge1xuICAvLyAgIC8vICAgZGlzcGxheTogbm9uZTtcbiAgLy8gICAvLyB9XG5cbiAgLy8gICAvLyAuZGlzY292ZXItY29uY2x1c2lvbl9fc3dpdGNoIHtcbiAgLy8gICAvLyAgIGRpc3BsYXk6IGJsb2NrO1xuICAvLyAgIC8vIH1cbiAgLy8gfVxuXG5cblxuICAvLyAmLnN3aXRjaGluZy0yIHsgLy9DT05URU5UIENPTlRBSU5FUiBTV0lUQ0hcbiAgLy8gICAuZGlzY292ZXItY29uY2x1c2lvbl9fc3dpdGNoIHtcbiAgLy8gICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wKTtcbiAgLy8gICB9XG4gIC8vIH1cblxuICAuZGlzY292ZXItY29uY2x1c2lvbl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeSgnZGV0YWlsLXN1YmhlYWRlcicpO1xuICB9XG5cbiAgLmRpc2NvdmVyLWNvbmNsdXNpb25fX2luaXRpYWwge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC8vIGhlaWdodDogNTBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlLWluO1xuICB9XG5cbiAgLmRpc2NvdmVyLWNvbmNsdXNpb25fX3N3aXRjaC1idXR0b24ge1xuICAgIEBpbmNsdWRlIHRleHQtaWNvbi1idXR0b247XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4td2hpdGU7XG4gIH1cblxuICAuZGlzY292ZXItY29uY2x1c2lvbl9fc3dpdGNoW2FyaWEtaGlkZGVuPSdmYWxzJ10ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGRpc2NvdmVyLWNvbmNsdXNpb25fX3N3aXRjaDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDIwMG1zO1xuICB9XG5cbiAgQGtleWZyYW1lcyBkaXNjb3Zlci1jb25jbHVzaW9uX19zd2l0Y2gge1xuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTt9XG4gICAgMTAwJSB7ICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7fVxuICB9XG5cbiAgLmRpc2NvdmVyLWNvbmNsdXNpb25fX3N3aXRjaFthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTBweCAyNXB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlLWluO1xuXG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ2V0LW1hcmdpbignY29tcG9uZW50LXZlcnRpY2FsLW1vYmlsZScpO1xuICAgIH1cbiAgfVxuXG4gIC5leHBlcmltZW50LWNvbmNsdXNpb24ge1xuXG4gICAgLmNvbmNsdXNpb24taW5uZXIge1xuICAgICAgQGluY2x1ZGUgbWF4LXdpZHRoO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktaGVhZGVyLTM7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAuaGlkZGVuIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgZmlndXJlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tYmxhY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB3aWR0aDogMzgwcHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktZGVmYXVsdDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzgwcHgpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBiZWxvdygxMDAwcHgpIHtcbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwMCAvIDM4MCAqIDEwMCU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmRpc2NvdmVyLWNvbnRlbnQge1xuICBAaW5jbHVkZSByaWNoLXRleHQoJGxpbmstY29sb3I6JGNvbG9yLW1haW4tYmxhY2ssICRsaW5rLXVuZGVybGluZTp0cnVlKTtcbiAgZmlndXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBmaWdjYXB0aW9uIHtcblxuICAgIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICAgIEBpbmNsdWRlIGNvbG9yaXplKCd3aGl0ZScsICdibGFjay10cmFuc3BhcmVudCcpO1xuXG4gICAgICBwYWRkaW5nOiAxMHB4IDhweDtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCR0b3A6MCwgJGxlZnQ6MCk7XG4gICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KCdmaWd1cmUtY2FwdGlvbicpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDtcbiAgICB9XG5cbiAgICBzcGFuOm50aC1jaGlsZCgyKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbigkdG9wOjAsICRyaWdodDowKTtcbiAgICAgIEBpbmNsdWRlIGFkZC1pY29uKCRpY29uLWNhbWVyYSkge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIEBpbmNsdWRlIGNvbG9yaXplKCdncmV5Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICB1bCB7XG4gICAgQGluY2x1ZGUgdWwtc3R5bGluZztcbiAgfVxuXG4gIG9sIHtcbiAgICBAaW5jbHVkZSBvbC1zdHlsaW5nO1xuICB9XG5cbiAgYSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIHAsIHVsLCBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KCdkZXRhaWwtY29udGVudCcpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cblxuICBoMyB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeSgnZGV0YWlsLXN1YmhlYWRlcicpO1xuICB9XG5cbiAgaDQge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoJ2l0ZW0tbGFiZWwnKTtcbiAgfVxuXG4gIGZvcm0ge1xuICAgIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOid0cmFuc3BhcmVudCcpO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5lcnJvcmxpc3Qge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwMHB4O1xuICAgICAgd2lkdGg6IDMyMHB4O1xuICAgIH1cbiAgfVxuXG4gICYuZGlzY292ZXItY29udGVudC0tcG9ydHJhaXQge1xuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cblxuLnNob3ctY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGNvbG9yaXplKCd3aGl0ZScsICdibGFjay10cmFuc3BhcmVudCcpO1xuICBwYWRkaW5nOiAxMHB4IDhweDtcbiAgQGluY2x1ZGUgcG9zaXRpb24oJHRvcDowLCAkbGVmdDowKTtcbiAgQGluY2x1ZGUgdHlwb2dyYXBoeSgnZmlndXJlLWNhcHRpb24nKTtcbiAgei1pbmRleDogOTk5OTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAgIGZvbnQtZmFtaWx5OiBpY29ucztcbiAgICAgIGNvbnRlbnQ6IFwiIO6kj1wiO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgY29sb3I6ICNFNkU2RTY7XG4gICAgfVxufVxuXG4uc2hvdy1jYXB0aW9uIHtcbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMjk1REM3O1xuICB9XG59XG5cbi5jYXB0aW9uLXRleHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2FwdGlvbi10ZXh0LS1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbiIsIi5kaXNjb3Zlci1kZXRhaWwtYXNpZGUge1xuICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDond2hpdGUnKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4td2lkdGg6IGdldC13aWR0aCgnZGV0YWlsLWFzaWRlJyk7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKCdyZWxhdGl2ZScpO1xuICB3aWR0aDogZ2V0LXdpZHRoKCdkZXRhaWwtYXNpZGUnKTtcblxuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1pcGFkLWxhbmRzY2FwZSkge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKCdzdGF0aWMnKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5kaXNjb3Zlci1kZXRhaWwtYXNpZGVfX3JlbGF0ZWQge1xuICAgIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOid3aGl0ZScpO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwYWRkaW5nOiAzMHB4IDMwcHggMTAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1pcGFkLWxhbmRzY2FwZSkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIFxuICB9XG5cbiAgLmRpc2NvdmVyLWRldGFpbC1hc2lkZV9fcmVsYXRlZC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICB9XG5cbiAgLmRpc2NvdmVyLXJlbGF0ZWQtaXRlbSB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtaXBhZC1sYW5kc2NhcGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1zbWFsbCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmRpc2NvdmVyLWRldGFpbC1hc2lkZV9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoJ2l0ZW0tbGFiZWwnKTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5cbi5kaXNjb3Zlci1kZXRhaWwtYXNpZGVfX2JhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0ZXh0LWljb24tYnV0dG9uKCRsb2NhdGlvbjonYmVmb3JlJyk7XG4gIEBpbmNsdWRlIGJhc2UtaWNvbigkaWNvbi1kYXRhLXRyaWFuZ2xlLWxlZnQsICRidXR0b24tc2l6ZSwgJGJnLWNvbG9yOnRyYW5zcGFyZW50LCRmZy1jb2xvcjokY29sb3ItbWFpbi1ibGFjaywgJGxvY2F0aW9uOidiZWZvcmUnKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IGF1dG87XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRib3R0b206MCwgJGxlZnQ6MCk7XG5cbiAgICBAaW5jbHVkZSBiZXR3ZWVuKCRicmVha3BvaW50LW1vYmlsZSwgICRicmVha3BvaW50LWlwYWQtbGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtaXBhZC1sYW5kc2NhcGUpIHtcbiAgICBtaW4td2lkdGg6IGdldC13aWR0aCgnZGV0YWlsLWFzaWRlJyk7XG4gICAgLy8gU29tZXdoYXQgbmFzdHksIHNvIG1heWJlIGEgZHVwbGljYXRlIGh0bWwgYnV0dG9uIGlzIHJlcXVpcmVkIGlmIHRoZSBsYXlvdXQgYmVjb21lc1xuICAgIC8vIG1vcmUgY29tcGxleFxuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oJ2Fic29sdXRlJywgJHRvcDowLCAkcmlnaHQ6MCk7XG4gICAgd2lkdGg6IGdldC13aWR0aCgnZGV0YWlsLWFzaWRlJyk7XG4gIH1cblxuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICBtaW4td2lkdGg6IDEyMHB4OyAvLyBkZXBlbmRlbnQgb24gdGV4dC1jb250ZW50XG4gICAgd2lkdGg6IDEyMHB4OyAvLyBkZXBlbmRlbnQgb24gdGV4dC1jb250ZW50XG4gIH1cblxuICAubGFuZHNjYXBlIHtcbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4uZGlzY292ZXItZGV0YWlsLWFzaWRlIC5kaXNjb3Zlci1kZXRhaWwtYXNpZGVfX2JhY2s6bGFzdC1jaGlsZCB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgcG9zaXRpb24oJGJvdHRvbTowLCAkbGVmdDowKTtcblxuICBAaW5jbHVkZSBiZXR3ZWVuKCRicmVha3BvaW50LW1vYmlsZSwgICRicmVha3BvaW50LWlwYWQtbGFuZHNjYXBlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LW1vYmlsZSkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5kaXNjb3Zlci1kZXRhaWwtYXNpZGVfX3JlbGF0ZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kaXNjb3Zlci1kZXRhaWwtYXNpZGUge1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDc1cHg7XG5cbiAgLmRpc2NvdmVyLWRldGFpbC1hc2lkZV9fcmVsYXRlZCB7XG4gICAgcGFkZGluZy10b3A6IDA7ICBcbiAgfVxuXG59XG5cbi5kaXNjb3Zlci1leHBlcmltZW50LXBhZ2UgLmRpc2NvdmVyLWRldGFpbC1hc2lkZSB7XG4gIG1hcmdpbi10b3A6IDI1MHB4O1xuXG4gIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LWlwYWQtbGFuZHNjYXBlKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4uZGlzY292ZXItZXhwZXJpbWVudC1wYWdlIC5kaXNjb3Zlci1kZXRhaWwtYXNpZGVfX2JhY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA1MXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBtYXgtd2lkdGg6IDI2MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjUwcHg7XG4gIHJpZ2h0OiAwOyBcblxuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1wb3J0cmFpdCkge1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBtaW4td2lkdGg6IDEyMHB4O1xuICB9XG59XG5cbi5kaXNjb3Zlci1leHBlcmltZW50LXBhZ2UgLmRpc2NvdmVyLWRldGFpbC1hc2lkZSAuZGlzY292ZXItZGV0YWlsLWFzaWRlX19iYWNrIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmRpc2NvdmVyLXRpZGJpdC1wYWdlIC5kaXNjb3Zlci1kZXRhaWwtYXNpZGUsXG4uZGlzY292ZXItcWFuZGEtcGFnZSAuZGlzY292ZXItZGV0YWlsLWFzaWRlIHtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgcGFkZGluZy10b3A6IDgwcHg7XG5cbiAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtaXBhZC1sYW5kc2NhcGUpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5kaXNjb3Zlci10aWRiaXQtcGFnZSAuZGlzY292ZXItZGV0YWlsLWFzaWRlX19iYWNrLFxuLmRpc2NvdmVyLXFhbmRhLXBhZ2UgLmRpc2NvdmVyLWRldGFpbC1hc2lkZV9fYmFjayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDUxcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIG1heC13aWR0aDogMjYwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MHB4O1xuICByaWdodDogMDsgXG5cbiAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtcG9ydHJhaXQpIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgbWluLXdpZHRoOiAxMjBweDtcbiAgfVxufVxuXG4uZGlzY292ZXItcWFuZGEtcGFnZSAuZGlzY292ZXItZGV0YWlsLWFzaWRlIC5kaXNjb3Zlci1kZXRhaWwtYXNpZGVfX2JhY2sge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuIiwiXG5cbi5kaXNjb3Zlci1kZXRhaWwtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKCdyZWxhdGl2ZScsICR6LWluZGV4OiAyKTtcblxuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1pcGFkLWxhbmRzY2FwZSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAuZGlzY292ZXItZGV0YWlsLWNvbnRlbnRfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoJ2RldGFpbC1oZWFkZXInKTtcblxuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXNtYWxsKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeSgnZGV0YWlsLWhlYWRlci1tb2JpbGUnKTtcbiAgICB9XG4gIH1cblxuICAuZGlzY292ZXItZGV0YWlsLWNvbnRlbnRfX2xhYmVsIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOiAnZ3JleScpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBoZWlnaHQ6ICRidXR0b24tc2l6ZTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRyaWdodDogZ2V0LXdpZHRoKCdkZXRhaWwtYXNpZGUnKSwgJHRvcDogZ2V0LWhlaWdodCgnaGVhZGVyJykgLSAkYnV0dG9uLXNpemUpO1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoJ2RldGFpbC1sYWJlbCcpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAkYnV0dG9uLXNpemU7XG4gICAgICB3aWR0aDogJGJ1dHRvbi1zaXplO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbigncmVsYXRpdmUnLCAkdG9wOiAycHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXBvcnRyYWl0KSB7XG4gICAgICByaWdodDogMTIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5kaXNjb3Zlci1kZXRhaWwtY29udGVudF9fbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgJHJlbGF0aXZlLWxvZ29zaXplOiBjYWxjKCN7JGxvZ29zaXplfSArICN7Z2V0LXdpZHRoKCdkZXRhaWwtYXNpZGUnKSAqICRsb2dvc2l6ZSAvIDEwMCV9KTtcbiAgICBtYXJnaW4tbGVmdDogMjAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAvLyY6Zmlyc3QtY2hpbGQge1xuICAgIC8vICBtYXJnaW4tdG9wOiBnZXQtaGVpZ2h0KCdoZWFkZXInKTtcbiAgICAvL31cblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBnZXQtbWFyZ2luKCdjb21wb25lbnQtdmVydGljYWwnKSAqIDEuMjU7XG5cbiAgICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnZXQtbWFyZ2luKCdjb21wb25lbnQtdmVydGljYWwtbW9iaWxlJykgKiAxLjI1O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LWxhcmdlKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXNtYWxsKSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5kaXNjb3Zlci1kZXRhaWwtY29udGVudF9fbWFpbi13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiBnZXQtcGFkZGluZygnY29udGVudC1wYWRkaW5nLXZlcnRpY2FsJykgZ2V0LXBhZGRpbmcoJ2NvbnRlbnQtcGFkZGluZy1ob3Jpem9udGFsJyk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oJ3JlbGF0aXZlJyk7XG4gICAgd2lkdGg6IGdldC13aWR0aCgnZGV0YWlsLWNvbnRlbnQnKTtcblxuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LWxhcmdlKSB7XG4gICAgICBwYWRkaW5nOiBnZXQtcGFkZGluZygnY29udGVudC1wYWRkaW5nLXZlcnRpY2FsJykgZ2V0LXBhZGRpbmcoJ2NvbnRlbnQtcGFkZGluZy1ob3Jpem9udGFsLWxhbmRzY2FwZScpO1xuICAgICAgd2lkdGg6IGdldC13aWR0aCgnZGV0YWlsLWNvbnRlbnQtbGFuZHNjYXBlJyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtaXBhZC1sYW5kc2NhcGUpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiBnZXQtbWFyZ2luKCdjb21wb25lbnQtdmVydGljYWwnKSBnZXQtbWFyZ2luKCdob3Jpem9udGFsLW1hcmdpbi1tb2JpbGUnKSBnZXQtbWFyZ2luKCdjb21wb25lbnQtdmVydGljYWwtbW9iaWxlJyk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5kaXNjb3Zlci1kZXRhaWwtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6J3doaXRlJyk7XG4gIGhlaWdodDogZ2V0LWhlaWdodCgnaGVhZGVyJyk7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKCR0b3A6IDAsICRsZWZ0OiAwLCAkei1pbmRleDogMCk7XG4gIHdpZHRoOiAxMDAlO1xuXG5cbiAgLmRpc2NvdmVyLWRldGFpbC1oZWFkZXJfX3RhZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiA1NSUgMjglO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC8vdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAvL3RyYW5zaXRpb246IHRyYW5zZm9ybSA0MDBtcyBlYXNlLWluO1xuICAvL1xuICAvLyYuZGlzY292ZXItZGV0YWlsLWhlYWRlci1sb2FkZWQge1xuICAvLyAgdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xuICAvL31cbn1cbiIsIi5kaXNjb3Zlci1maWx0ZXItYmFyIHtcbiAgLy8gd2lkdGggc2VhcmNoYmFyIGlzIDN4IHdpZHRoIG9mIHRoZSB0aGVtZS1iYXJzIG1pbnVzIHRoZSB3aWR0aCBvZiBvbmUgaWNvblxuICB3aWR0aDogMyAqIDI0MHB4ICsgNTBweDtcblxuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5kaXNjb3Zlci1maWx0ZXItYmFyX190aGVtZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICB9XG5cbiAgLmRpc2NvdmVyLWZpbHRlci1iYXJfX3NlYXJjaC1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGFib3ZlKCRicmVha3BvaW50LW1lZGl1bSkge1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC41cyBlYXNlLWluO1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAuZmlsdGVyLWZvcm1fX2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IFxuICAgIH1cblxuICB9XG5cbiAgLmRpc2NvdmVyLWZpbHRlci1iYXJfX3NlYXJjaCB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1tYWluLWdyZXk7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLXdoaXRlO1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktZGVmYXVsdCgpO1xuXG4gICAgQGluY2x1ZGUgYWJvdmUoJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNXMgZWFzZS1pbjtcbiAgICB9XG4gIH1cblxuICAuYy1pY29uLWJ1dHRvbi52LXNlYXJjaCB7XG4gICAgQGluY2x1ZGUgYWJvdmUoJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICB9XG5cbiAgLmRpc2NvdmVyLWZpbHRlci1iYXJfX2Nsb3NlLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNFNkU2RTY7XG4gICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjRTZFNkU2O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNFNkU2RTY7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6bm90KC5kaXNjb3Zlci1maWx0ZXItYmFyLS1vcGVuKSB7XG4gICAgLmRpc2NvdmVyLWZpbHRlci1iYXJfX3NlYXJjaCB7XG4gICAgICBAaW5jbHVkZSBhYm92ZSgkYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgLy9ib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICAgLy9ib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLW9wZW4ge1xuICAgIC5kaXNjb3Zlci1maWx0ZXItYmFyIHtcbiAgICAgICZfX3NlYXJjaC1mb3JtIHtcbiAgICAgICAgQGluY2x1ZGUgYWJvdmUoJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICAgICAgd2lkdGg6IDMgKiAyNDBweCArIDUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fc2VhcmNoIHtcbiAgICAgICAgQGluY2x1ZGUgYWJvdmUoJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19zZWFyY2gtYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYWJvdmUoJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgLy9sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2Nsb3NlLWJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGFib3ZlKCRicmVha3BvaW50LW1lZGl1bSkge1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmRpc2NvdmVyLWZpbHRlci1iYXItLW9wZW4gLmMtaWNvbi1idXR0b24udi1zZWFyY2gge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIiRiYXItd2lkdGg6IDI0MHB4O1xuXG4uZGlzY292ZXItZmlsdGVyLWJhci10aGVtZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGhlaWdodDogJGJ1dHRvbi1zaXplO1xuICB3aWR0aDogJGJhci13aWR0aDtcblxuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYuZGlzY292ZXItZmlsdGVyLWJhci10aGVtZS0tZGl5IHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDogJ3llbGxvdycpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvc3RhdGljL2Rpc2NvdmVyL2ltYWdlcy9pY29uLWRpeS5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNjb3Zlci1maWx0ZXItYmFyLXRoZW1lLS10eSB7XG4gICAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6ICdibHVlJyk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC9zdGF0aWMvZGlzY292ZXIvaW1hZ2VzL2ljb24tdHkuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICYuZGlzY292ZXItZmlsdGVyLWJhci10aGVtZS0tZHlrIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDogJ3BpbmsnKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9kaXNjb3Zlci9pbWFnZXMvaWNvbi1keWsuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIH1cbiAgfVxuXG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkYnV0dG9uLXNpemU7XG4gICAgd2lkdGg6ICRidXR0b24tc2l6ZTtcbiAgfVxuXG4gIC5kaXNjb3Zlci1maWx0ZXItYmFyLXRoZW1lX19sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAkYmFyLXdpZHRoIC0gJGJ1dHRvbi1zaXplO1xuXG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skYnV0dG9uLXNpemV9KTtcbiAgICB9XG4gIH1cblxuICAuZGlzY292ZXItZmlsdGVyLWJhci10aGVtZV9fdGl0bGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoJ2NoZWNrYm94LWxhYmVsJyk7XG4gICAgd2lkdGg6ICRiYXItd2lkdGggLSAkYnV0dG9uLXNpemUgKiAyO1xuXG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skYnV0dG9uLXNpemUgKiAyfSk7XG4gICAgfVxuICB9XG5cbiAgLmRpc2NvdmVyLWZpbHRlci1iYXItdGhlbWVfX2lucHV0IHtcbiAgICBAaW5jbHVkZSBjaGVja2JveC1pbnB1dCgkZmFjZS1jbGFzczogJ2Rpc2NvdmVyLWZpbHRlci1iYXItdGhlbWVfX2NoZWNrYm94Jyk7XG4gIH1cblxuICAuZGlzY292ZXItZmlsdGVyLWJhci10aGVtZV9fY2hlY2tib3gge1xuICAgIEBpbmNsdWRlIGNoZWNrYm94LWZhY2UoKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IFxuICB9XG59XG5cbi5kaXNjb3Zlci1maWx0ZXItYmFyX190aGVtZXMgLmRpc2NvdmVyLWZpbHRlci1iYXItdGhlbWUgLmRpc2NvdmVyLWZpbHRlci1iYXItdGhlbWVfX2lucHV0IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMDA1ZmNjO1xuICB9XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMDA1ZmNjO1xuICB9XG59IiwiLmRpc2NvdmVyLW92ZXJ2aWV3LWNvbnRlbnQge1xuICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDond2hpdGUnKTtcbiAgZGlzcGxheTogZmxleDsgLy8gdGhpcyBwcmV2ZW50cyB0aGUgbWFyZ2luIG1vdmluZyBldmVyeXRoaW5nIHRvIHRoZSBib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgQGluY2x1ZGUgcG9zaXRpb24oJ3JlbGF0aXZlJywgJHotaW5kZXg6IDIpO1xuXG4gIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXNtYWxsKSB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG5cbiAgLmRpc2NvdmVyLW92ZXJ2aWV3LWNvbnRlbnRfX3RpdGxlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDMwcHggZ2V0LXBhZGRpbmcoJ2NvbnRlbnQtcGFkZGluZy1ob3Jpem9udGFsJyk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oJ2Fic29sdXRlJywgJGJvdHRvbToxMDAlLCAkbGVmdDowKTtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KCdvdmVydmlldy1oZWFkZXInKTtcbiAgICB3aWR0aDogNTUwcHggKyAyICogZ2V0LXBhZGRpbmcoJ2NvbnRlbnQtcGFkZGluZy1ob3Jpem9udGFsJyk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYWJvdmUoJGJyZWFrcG9pbnQtZnVsbC1sb2dvKSB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeSgnb3ZlcnZpZXctaGVhZGVyLW1vYmlsZScpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXNtYWxsKSB7XG4gICAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgIH1cbiAgfVxuXG4gIC5kaXNjb3Zlci1vdmVydmlldy1jb250ZW50X19wYWdlLWludHJvIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LWludHJvO1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWxlZnQ6IGdldC1wYWRkaW5nKCdjb250ZW50LXBhZGRpbmctaG9yaXpvbnRhbCcpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGdldC1wYWRkaW5nKCdjb250ZW50LXBhZGRpbmctaG9yaXpvbnRhbCcpO1xuICAgIHdpZHRoOiA2NzBweCArIDIgKiBnZXQtcGFkZGluZygnY29udGVudC1wYWRkaW5nLWhvcml6b250YWwnKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBhYm92ZSgkYnJlYWtwb2ludC1mdWxsLWxvZ28pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1tZWRpdW0pIHtcbiAgICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtc21hbGwpIHtcbiAgICAgIG1heC13aWR0aDogMzYwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5kaXNjb3Zlci1vdmVydmlldy1jb250ZW50X193cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtYXgtd2lkdGgoJGNlbnRlcjp0cnVlLCAkbGFyZ2U6dHJ1ZSk7XG4gICAgbWFyZ2luLXRvcDogZ2V0LWhlaWdodCgnb3ZlcnZpZXctaGVhZGVyJyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG4gICAgICBtYXJnaW4tdG9wOiBnZXQtaGVpZ2h0KCdvdmVydmlldy1oZWFkZXItdGFibGV0Jyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtc21hbGwpIHtcbiAgICAgIG1hcmdpbi10b3A6IGdldC1oZWlnaHQoJ292ZXJ2aWV3LWhlYWRlci1tb2JpbGUnKTtcbiAgICB9XG4gIH1cblxuICAvLy5kaXNjb3Zlci1kZXRhaWwtY29udGVudF9fbWFpbiB7XG4gIC8vICBkaXNwbGF5OiBmbGV4O1xuICAvLyAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLy8gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIC8vICBtYXJnaW4tdG9wOiBnZXQtaGVpZ2h0KCdoZWFkZXInKTtcbiAgLy8gIGhlaWdodDogMTAwJTtcbiAgLy8gIHdpZHRoOiAxMDAlO1xuICAvL1xuICAvLyAgQGluY2x1ZGUgYWJvdmUoJGJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgLy8gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC8vICB9XG4gIC8vXG4gIC8vICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1pcGFkLWxhbmRzY2FwZSkge1xuICAvLyAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLy8gIH1cbiAgLy99XG4gIC8vXG4gIC8vLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X19tYWluLXdyYXBwZXIge1xuICAvLyAgcGFkZGluZzogZ2V0LXBhZGRpbmcoJ2NvbnRlbnQtcGFkZGluZy12ZXJ0aWNhbCcpIGdldC1wYWRkaW5nKCdjb250ZW50LXBhZGRpbmctaG9yaXpvbnRhbCcpO1xuICAvLyAgQGluY2x1ZGUgcG9zaXRpb24oJ3JlbGF0aXZlJyk7XG4gIC8vICB3aWR0aDogZ2V0LXdpZHRoKCdkZXRhaWwtY29udGVudCcpO1xuICAvL1xuICAvLyAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtc21hbGwpIHtcbiAgLy8gICAgd2lkdGg6IDEwMCU7XG4gIC8vICB9XG4gIC8vfVxufVxuIiwiLmRpc2NvdmVyLW92ZXJ2aWV3LWhlYWRlciB7XG4gIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOid3aGl0ZScpO1xuICBoZWlnaHQ6IGdldC1oZWlnaHQoJ2hlYWRlcicpO1xuICBAaW5jbHVkZSBwb3NpdGlvbigkdG9wOiAwLCAkbGVmdDogMCwgJHotaW5kZXg6IDApO1xuICB3aWR0aDogMTAwJTtcbn1cbiIsIiRpbWFnZS1oZWlnaHQ6IDE2MHB4O1xuXG4uZGlzY292ZXItcmVsYXRlZC1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtaXBhZC1sYW5kc2NhcGUpIHtcbiAgICB3aWR0aDogZ2V0LXdpZHRoKCdkZXRhaWwtYXNpZGUnKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LW1vYmlsZSkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmLmRpc2NvdmVyLXJlbGF0ZWQtaXRlbS0tZGl5IHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDoneWVsbG93Jyk7XG5cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgIC5kaXNjb3Zlci1yZWxhdGVkLWl0ZW1fX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6J3llbGxvdycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZGlzY292ZXItcmVsYXRlZC1pdGVtLS10eSB7XG4gICAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6J2JsdWUnKTtcblxuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgLmRpc2NvdmVyLXJlbGF0ZWQtaXRlbV9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDonYmx1ZScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZGlzY292ZXItcmVsYXRlZC1pdGVtLS1keWsge1xuICAgIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOidwaW5rJyk7XG5cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgIC5kaXNjb3Zlci1yZWxhdGVkLWl0ZW1fX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6J3BpbmsnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGlzY292ZXItcmVsYXRlZC1pdGVtX19pbWFnZS13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDQvNSk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbigncmVsYXRpdmUnKTtcbiAgICAgIHRvcDogLTQwcHg7XG4gICAgfVxuICB9XG5cbiAgLmRpc2NvdmVyLXJlbGF0ZWQtaXRlbV9faW1hZ2UsXG4gIC5hbmltYXRlZCB7XG4gICAgaGVpZ2h0OiAkaW1hZ2UtaGVpZ2h0O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbigkdG9wOiAwLCAkbGVmdDogMCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuYW5pbWF0ZWQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5kaXNjb3Zlci1yZWxhdGVkLWl0ZW1fX3RpdGxlIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeSgncmVsYXRlZC1pdGVtLWxhYmVsJyk7XG5cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1pcGFkLWxhbmRzY2FwZSkge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRpbWFnZS1oZWlnaHR9KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC04MHB4O1xuICAgICAgcGFkZGluZzogMjBweCAzMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogNDtcbiAgICB9XG4gIH1cbn1cbiIsIi5kaXNjb3Zlci1jb250ZW50LXZpZGVvIHtcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDkvMTYpO1xuXG4gIGlmcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKCR0b3A6MCwgJGxlZnQ6MCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi5leHBlcmltZW50IHtcbiAgLmRpc2NvdmVyLWl0ZW1fX2hlYWRlciB7XG4gICAgLmljb24tZXhwZXJpbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9kaXNjb3Zlci9pbWFnZXMvaWNvbi1kaXkuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6J3llbGxvdycpO1xuICAgIH1cbiAgfVxuXG4gIC5kaXNjb3Zlci1pdGVtX190aXRsZSB7XG4gICAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6J3llbGxvdycpO1xuICB9XG59IiwiIiwiLnFhbmRhIHtcbiAgLmRpc2NvdmVyLWl0ZW1fX2hlYWRlciB7XG4gICAgLmljb24tcWFuZGEge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC9zdGF0aWMvZGlzY292ZXIvaW1hZ2VzL2ljb24tdHkuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6J2JsdWUnKTtcbiAgICB9XG4gIH1cblxuICAuZGlzY292ZXItaXRlbV9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOidibHVlJyk7XG4gIH1cbn1cbiIsIi5kaXNjb3Zlci1yZXF1aXJlbWVudHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtc21hbGwpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLmRpc2NvdmVyLXJlcXVpcmVtZW50c19fbGlzdCB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgLmRpc2NvdmVyLXJlcXVpcmVtZW50c19faXRlbSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gIC5kaXNjb3Zlci1yZXF1aXJlbWVudHNfX2NoZWNrYm94IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkYnV0dG9uLXNpemU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXNtYWxsKSB7XG4gICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgfVxuICB9XG5cbiAgLmRpc2NvdmVyLXJlcXVpcmVtZW50c19fY2hlY2tib3gtaW5wdXQge1xuICAgIEBpbmNsdWRlIGNoZWNrYm94LWlucHV0KCRmYWNlLWNsYXNzOidkaXNjb3Zlci1yZXF1aXJlbWVudHNfX2NoZWNrYm94LWZhY2UnLCAkd2lkdGg6MjRweCk7XG5cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1zbWFsbCkge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3gtaW5wdXQoJGZhY2UtY2xhc3M6J2Rpc2NvdmVyLXJlcXVpcmVtZW50c19fY2hlY2tib3gtZmFjZScsICR3aWR0aDoyNHB4LCAkaGVpZ2h0OjM1cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5kaXNjb3Zlci1yZXF1aXJlbWVudHNfX2NoZWNrYm94LWZhY2Uge1xuICAgIEBpbmNsdWRlIGNoZWNrYm94LWZhY2UoJHRvcC1vZmZzZXQ6LTNweCwgJHJpZ2h0LW9mZnNldDowLCAkc2l6ZToyNHB4LCAkd2lkdGg6MjRweCk7XG5cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1zbWFsbCkge1xuICAgICAgQGluY2x1ZGUgY2hlY2tib3gtZmFjZSgkdG9wLW9mZnNldDotM3B4LCAkcmlnaHQtb2Zmc2V0OjAsICRzaXplOjI0cHgsICR3aWR0aDoyNHB4LCAkaGVpZ2h0OjM1cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5kaXNjb3Zlci1yZXF1aXJlbWVudHNfX3JlcXVpcmVtZW50LXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KCdjaGVja2JveC1sYWJlbCcpO1xuXG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X19tYWluLXdyYXBwZXIgLmRpc2NvdmVyLXJlcXVpcmVtZW50cyAuZGlzY292ZXItcmVxdWlyZW1lbnRzX19jaGVja2JveC1pbnB1dCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcblxuICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1zbWFsbCkgeyBcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gIH1cblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICMwMDVmY2M7XG4gIH1cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICMwMDVmY2M7XG4gIH1cbn0iLCIkc2xpZGUtd2lkdGg6IDg1JTtcblxuLnN0ZXAtdmlld2VyIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oJ3JlbGF0aXZlJyk7XG4gIHdpZHRoOiAkc2xpZGUtd2lkdGg7XG5cbiAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtc3RlcC12aWV3ZXItdmVydGljYWwpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5zd2lwZXItY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC5zd2lwZXItd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtc3RlcC12aWV3ZXItdmVydGljYWwpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICB9XG5cbiAgLnN0ZXAtdmlld2VyLWNvbnRyb2xzIHtcblxuICB9XG5cbiAgLnN3aXBlci1idXR0b24tcHJldixcbiAgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRvcDogMTgwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW47XG4gICAgJi5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbjtcbiAgICB9XG4gIH1cblxuICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICBAaW5jbHVkZSBpY29uLWJ1dHRvbigkaWNvbjogJGljb24tZGF0YS1jaGV2cm9uLXJpZ2h0LCAkYmctY29sb3I6ICRjb2xvci1tYWluLWJsYWNrLCAkZmctY29sb3I6ICRjb2xvci1tYWluLXdoaXRlKTtcbiAgICByaWdodDogLTEgKiBnZXQtbWFyZ2luKCdzdGVwLXZpZXdlci1ndXR0ZXInKSArIDMwcHg7XG5cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1sYXJnZSkge1xuICAgICAgcmlnaHQ6IC0kYnV0dG9uLXNpemUgLyAyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXN0ZXAtdmlld2VyLXZlcnRpY2FsKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIEBpbmNsdWRlIGljb24tYnV0dG9uKCRpY29uOiAkaWNvbi1kYXRhLWNoZXZyb24tbGVmdCwgJGJnLWNvbG9yOiAkY29sb3ItbWFpbi1ibGFjaywgJGZnLWNvbG9yOiAkY29sb3ItbWFpbi13aGl0ZSk7XG4gICAgbGVmdDogLTEgKiBnZXQtbWFyZ2luKCdzdGVwLXZpZXdlci1ndXR0ZXInKSArIDMwcHg7XG5cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1sYXJnZSkge1xuICAgICAgbGVmdDogLSRidXR0b24tc2l6ZSAvIDI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtc3RlcC12aWV3ZXItdmVydGljYWwpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnN0ZXAtdmlld2VyLXN0ZXAge1xuICAgIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LXN0ZXAtdmlld2VyLXZlcnRpY2FsKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnZXQtbWFyZ2luKCdjb21wb25lbnQtdmVydGljYWwtbW9iaWxlJyk7XG4gICAgfVxuICB9XG59XG4iLCIuc3RlcC12aWV3ZXItc3RlcCB7XG4gIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOid3aGl0ZScpO1xuICBtYXJnaW4tcmlnaHQ6IGdldC1tYXJnaW4oJ3N0ZXAtdmlld2VyLWd1dHRlcicpO1xuICBAaW5jbHVkZSBwb3NpdGlvbigncmVsYXRpdmUnKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXG4gIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LWxhcmdlKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBnZXQtbWFyZ2luKCdzdGVwLXZpZXdlci1ndXR0ZXItLWxhbmRzY2FwZScpO1xuICB9XG5cbiAgJi5zdGVwLXZpZXdlci1zdGVwLS1jb25jbHVzaW9uIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDonZ3JlZW4nKTtcblxuICAgIC5zdGVwLXZpZXdlci1zdGVwX19oZWFkZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc3RlcC12aWV3ZXItc3RlcF9fZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogNDBweDtcblxuICAgICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtc21hbGwpIHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguc3dpcGVyLXNsaWRlLWFjdGl2ZSkge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc3RlcC12aWV3ZXItc3RlcC0tbm8taW1hZ2Uge1xuICB9XG5cbiAgJjpub3QoLnN3aXBlci1zbGlkZS1hY3RpdmUpIHtcbiAgICBAaW5jbHVkZSBhYm92ZSgkYnJlYWtwb2ludC1zdGVwLXZpZXdlci12ZXJ0aWNhbCkge1xuICAgICAgb3BhY2l0eTogMC4wO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGFib3ZlKCRicmVha3BvaW50LXN0ZXAtdmlld2VyLXZlcnRpY2FsKSB7XG4gICAgICAvL21heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAvL292ZXJmbG93OiBoaWRkZW47XG4gICAgICAvLyY6OmFmdGVyIHtcbiAgICAgIC8vICBjb250ZW50OiAnJztcbiAgICAgIC8vICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIC8vICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vICBAaW5jbHVkZSBwb3NpdGlvbignYWJzb2x1dGUnLCAkYm90dG9tOjAsICRsZWZ0OjApO1xuICAgICAgLy8gIGhlaWdodDogMjRweDtcbiAgICAgIC8vICB3aWR0aDogMTAwJTtcbiAgICAgIC8vfVxuICAgIH1cbiAgfVxuXG4gICYuc3dpcGVyLXNsaWRlLWFjdGl2ZSB+IC5zd2lwZXItc2xpZGUge1xuICAgIEBpbmNsdWRlIGFib3ZlKCRicmVha3BvaW50LXN0ZXAtdmlld2VyLXZlcnRpY2FsKSB7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgfVxuICB9XG5cbiAgLnN0ZXAtdmlld2VyLXN0ZXBfX2hlYWRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDond2hpdGUnKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgaGVpZ2h0OiAkYnV0dG9uLXNpemU7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKCdhYnNvbHV0ZScsICR0b3A6MCwgJGxlZnQ6MCwgJHotaW5kZXg6Mik7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeSgnc3RlcC1oZWFkZXInKTtcbiAgfVxuXG4gIC5zdGVwLXZpZXdlci1zdGVwX19pbWFnZS1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOidncmV5Jyk7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDIvMyk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oJ3JlbGF0aXZlJyk7XG4gIH1cblxuICAuc3RlcC12aWV3ZXItc3RlcF9faW1hZ2Uge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKCdhYnNvbHV0ZScsICR0b3A6MCwgJGxlZnQ6MCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnN0ZXAtdmlld2VyLXN0ZXBfX2Rlc2NyaXB0aW9uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDI1cHggMjBweDtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KCdzdGVwLWRlc2NyaXB0aW9uJyk7XG4gIH1cblxuICAuZGlzY292ZXItY29udGVudCB7XG4gICAgaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi50aGVtZS1saXN0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBhIHtcbiAgICBAaW5jbHVkZSB0aGVtZWQtc3VwcG9ydDtcbiAgICBAaW5jbHVkZSB0ZXh0LWJ1dHRvbigkZmctY29sb3I6ICRjb2xvci1tYWluLWJsYWNrLFxuICAgICRob3Zlci1iZy1jb2xvcjogJGNvbG9yLW1haW4tYmxhY2ssICRob3Zlci1mZy1jb2xvcjogJGNvbG9yLW1haW4td2hpdGUpO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tZ3JlZW47XG4gICAgICBjb2xvcjogJGNvbG9yLW1haW4tYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSB0ZXh0LWJ1dHRvbigkYmctY29sb3I6ICRjb2xvci1tYWluLXdoaXRlLCAkZmctY29sb3I6ICRjb2xvci1tYWluLWJsYWNrLFxuICAgICRob3Zlci1iZy1jb2xvcjogJGNvbG9yLW1haW4tZ3JlZW4sICRob3Zlci1mZy1jb2xvcjogJGNvbG9yLW1haW4tYmxhY2spO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tZ3JlZW47XG4gICAgICBjb2xvcjogJGNvbG9yLW1haW4tYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG4gIH1cbn0iLCIudGlkYml0IHtcbiAgLmRpc2NvdmVyLWl0ZW1fX2hlYWRlciB7XG4gICAgLmljb24tdGlkYml0IHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvc3RhdGljL2Rpc2NvdmVyL2ltYWdlcy9pY29uLWR5ay5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDoncGluaycpO1xuICAgIH1cbiAgfVxuXG4gIC5kaXNjb3Zlci1pdGVtX190aXRsZSB7XG4gICAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6J3BpbmsnKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIm92ZXJ2aWV3XCI7XG5AaW1wb3J0IFwiY29udGVzdC1wYWdlXCI7XG5AaW1wb3J0IFwiZGV0YWlsLXBhZ2VcIjtcbkBpbXBvcnQgXCJleHBlcmltZW50LXBhZ2VcIjtcbkBpbXBvcnQgXCJxYW5kYS1wYWdlXCI7XG5AaW1wb3J0IFwidGlkYml0LXBhZ2VcIjtcblxuXG4vL0BpbXBvcnQgXCJ0aGVtZV9kZXRhaWxfcGFnZVwiO1xuLy9AaW1wb3J0IFwiY29udGVzdF9wYWdlXCI7XG4vL0BpbXBvcnQgXCJ0aGVtZV9mb290ZXJcIjsiLCJcbi5kaXNjb3Zlci1vdmVydmlldy1wYWdlIHtcbiAgLmMtbWFpbi1sb2dvIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gIH1cblxuICAuYy1zaWRlLW5hdmlnYXRpb24ge1xuICAgIC5lLXZpc2libGUtaWNvbnMge1xuICAgICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wYWdlLW92ZXJ2aWV3LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOid3aGl0ZScpO1xuICB9XG5cbiAgLmRpc2NvdmVyLWZpbHRlci1iYXIge1xuICAgIG1hcmdpbi1ib3R0b206IGdldC1tYXJnaW4oJ2NvbXBvbmVudC12ZXJ0aWNhbCcpO1xuXG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtc21hbGwpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdldC1tYXJnaW4oJ2NvbXBvbmVudC12ZXJ0aWNhbC1tb2JpbGUnKTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuLmRpc2NvdmVyLWNvbnRlc3QtcGFnZSB7XG4gIC5kaXNjb3Zlci1kZXRhaWwtaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDoncmVkJyk7XG4gICAgaGVpZ2h0OiBnZXQtaGVpZ2h0KCdleHBlcmltZW50LWhlYWRlcicpO1xuICB9XG5cbiAgLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X19iYWNrZ3JvdW5kIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDoncmVkJyk7XG4gIH1cblxuICAuZGlzY292ZXItZGV0YWlsLWFzaWRlIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDondHJhbnNwYXJlbnQnKTtcblxuICAgIC5kaXNjb3Zlci1kZXRhaWwtYXNpZGVfX2JhY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ2V0LWhlaWdodCgnZXhwZXJpbWVudC1oZWFkZXInKSAtICRidXR0b24tc2l6ZSAqIDI7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X19tYWluIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IGdldC1oZWlnaHQoJ2V4cGVyaW1lbnQtaGVhZGVyJyk7XG4gICAgfVxuICB9XG5cbiAgLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X19sYWJlbCB7XG4gICAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6J3JlZCcpO1xuICAgIHRvcDogZ2V0LWhlaWdodCgnZXhwZXJpbWVudC1oZWFkZXInKSAtICRidXR0b24tc2l6ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9kaXNjb3Zlci9pbWFnZXMvaWNvbi1zaS5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X190aXRsZSB7XG4gICAgQGluY2x1ZGUgYWJvdmUoJGJyZWFrcG9pbnQtc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOid3aGl0ZScpO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IGdldC1oZWlnaHQoJ2V4cGVyaW1lbnQtaGVhZGVyJykgLSAxMDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJ2Fic29sdXRlJywgJGJvdHRvbToxMDAlLCAkbGVmdDowKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5kaXNjb3Zlci1kZXRhaWwtcGFnZSB7XG4gIC5jLW1haW4tbG9nbyB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAvL0BpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LWZ1bGwtbG9nbykge1xuICAgIC8vfVxuXG4gICAgQGluY2x1ZGUgYmVsb3coJGJyZWFrcG9pbnQtbGFyZ2UpIHtcbiAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgfVxuICB9XG5cbiAgLnBhZ2Utd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6J3doaXRlJyk7XG4gIH1cblxuICAuZGlzY292ZXItY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5kaXNjb3Zlci1kZXRhaWwtcGFnZV9fYnV0dG9uLXByaW50IHtcbiAgICBAaW5jbHVkZSB0ZXh0LWljb24tYnV0dG9uKCRiZy1jb2xvcjokY29sb3ItbWFpbi13aGl0ZSwgJGZnLWNvbG9yOiRjb2xvci1tYWluLWJsYWNrLCAkaG92ZXItYmctY29sb3I6JGNvbG9yLW1haW4tZ3JlZW4sXG4gICAgJGhvdmVyLWZnLWNvbG9yOiRjb2xvci1tYWluLWJsYWNrLCAkaWNvbjokaWNvbi1kYXRhLXByaW50LCAkc2l6ZTogJGJ1dHRvbi1zaXplLCAkbG9jYXRpb246J2FmdGVyJyk7XG4gIH1cblxuICAuZGlzY292ZXItZGV0YWlsLXBhZ2VfX2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5KCdkZXRhaWwtc3ViaGVhZGVyJyk7XG4gIH1cblxuICAuZGlzY292ZXItZGV0YWlsLXBhZ2VfX2RpdmlkZXIge1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXBfZ2V0KCRwYWxldHRlLCAnYmxhY2snKTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5kaXNjb3Zlci1yZXF1aXJlbWVudHMge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIH1cbn1cbiIsIlxuLmRpc2NvdmVyLWV4cGVyaW1lbnQtcGFnZSB7XG5cbiAgLmRpc2NvdmVyLWRldGFpbC1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOiAneWVsbG93Jyk7XG4gICAgaGVpZ2h0OiBnZXQtaGVpZ2h0KCdleHBlcmltZW50LWhlYWRlcicpO1xuICB9XG5cbiAgLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X19iYWNrZ3JvdW5kIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDogJ3llbGxvdycpO1xuICB9XG5cbiAgLmRpc2NvdmVyLWRldGFpbC1hc2lkZSB7XG4gICAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcpO1xuXG4gICAgLmRpc2NvdmVyLWRldGFpbC1hc2lkZV9fYmFjayB7XG4gICAgICAvLyBtYXJnaW4tYm90dG9tOiBnZXQtaGVpZ2h0KCdleHBlcmltZW50LWhlYWRlcicpIC0gJGJ1dHRvbi1zaXplICogMjtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGlzY292ZXItZGV0YWlsLWNvbnRlbnRfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDogJ3llbGxvdycpO1xuICAgIHRvcDogZ2V0LWhlaWdodCgnZXhwZXJpbWVudC1oZWFkZXInKSAtICRidXR0b24tc2l6ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9kaXNjb3Zlci9pbWFnZXMvaWNvbi1kaXkuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5kaXNjb3Zlci1kZXRhaWwtY29udGVudF9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGFib3ZlKCRicmVha3BvaW50LXNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDogJ3doaXRlJyk7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogZ2V0LWhlaWdodCgnZXhwZXJpbWVudC1oZWFkZXInKSAtIDEwMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbignYWJzb2x1dGUnLCAkYm90dG9tOiAxMDAlLCAkbGVmdDogMCk7XG4gICAgfVxuICB9XG5cbiAgLmRpc2NvdmVyLWV4cGVyaW1lbnQtcGFnZV9fZHVyYXRpb24ge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoJ2RldGFpbC1kdXJhdGlvbicpO1xuICAgIEBpbmNsdWRlIGFkZC1pY29uKCRpY29uLWNsb2NrLCAkbG9jYXRpb246ICdiZWZvcmUnKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLnN0ZXAtdmlld2VyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5cblxuXG4iLCJcbi5kaXNjb3Zlci1xYW5kYS1wYWdlIHtcbiAgLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X19iYWNrZ3JvdW5kIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDonYmx1ZScpO1xuICB9XG5cbiAgLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X19sYWJlbCB7XG4gICAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6J2JsdWUnKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9kaXNjb3Zlci9pbWFnZXMvaWNvbi10eS5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gLmRpc2NvdmVyLWRldGFpbC1hc2lkZSB7XG4gIC8vICAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6J2JsdWUnKTtcbiAgLy8gfVxufSIsIlxuLmRpc2NvdmVyLXRpZGJpdC1wYWdlIHtcbiAgLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X19iYWNrZ3JvdW5kIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZSgkYmFja2dyb3VuZDoncGluaycpO1xuICB9XG5cbiAgLmRpc2NvdmVyLWRldGFpbC1jb250ZW50X19sYWJlbCB7XG4gICAgQGluY2x1ZGUgY29sb3JpemUoJGJhY2tncm91bmQ6J3BpbmsnKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL3N0YXRpYy9kaXNjb3Zlci9pbWFnZXMvaWNvbi1keWsuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5kaXNjb3Zlci1kZXRhaWwtYXNpZGUge1xuICAgIC8vIEBpbmNsdWRlIGNvbG9yaXplKCRiYWNrZ3JvdW5kOidwaW5rJyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgXG4gIH1cbn1cblxuXG4uZGlzY292ZXItdGlkYml0LXBhZ2UgLmRpc2NvdmVyLWRldGFpbC1jb250ZW50IC5kaXNjb3Zlci1kZXRhaWwtYXNpZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBcbn0iLCJAaW1wb3J0IFwiZGV0YWlsXCI7XG5AaW1wb3J0IFwib3ZlcnZpZXdcIjsiLCIuZXhwZXJpbWVudC1wYWdlIHtcbiAgc2VjdGlvbiA+IGgyIHtcbiAgICBAaW5jbHVkZSBncmlkLXBhZGRpbmc7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1oZWFkZXItMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbi5leHBlcmltZW50LWR1cmF0aW9uIHtcbiAgQGluY2x1ZGUgZ3JpZC1wYWRkaW5nKCRtb2RlOiAnbWFyZ2luJyk7XG4gIEBpbmNsdWRlIHR5cG9ncmFwaHktaGVhZGVyLTU7XG4gIEBpbmNsdWRlIGFkZC1pY29uKCRpY29uLWNsb2NrLCAkbG9jYXRpb246ICdiZWZvcmUnKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG59XG5cbi5leHBlcmltZW50LWFzaWRlLWltYWdlLWxlZnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZXhwZXJpbWVudC1hc2lkZS1pbWFnZS1yaWdodCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5leHBlcmltZW50LXJlcXVpcmVtZW50cyB7XG4gIEBpbmNsdWRlIG1heC13aWR0aDtcbiAgQGluY2x1ZGUgZ3JpZC1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBAaW5jbHVkZSB0eXBvZ3JhcGh5LWRlZmF1bHQ7XG5cbiAgaDIge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktaGVhZGVyLTQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIHVsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlO1xuXG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICB9XG4gIH1cblxuICBsaSB7XG4gICAgbWluLWhlaWdodDogMzJweDtcblxuICAgIGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94O1xuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAuZS1mYWNlIHtcblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJlbG93KDUwMHB4KSB7XG4gICAgdWwge1xuICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5leHBlcmltZW50LWlubmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLWdyZXk7XG4gIHBhZGRpbmc6ICRtYXJnaW4gJG1hcmdpbiAkbWFyZ2luLXNtYWxsICRtYXJnaW47XG59XG5cbi5leHBlcmltZW50LXN0YXJ0IHtcbiAgQGluY2x1ZGUgdHlwb2dyYXBoeS1oZWFkZXItMztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tZ3JleTtcbiAgcGFkZGluZy10b3A6ICRtYXJnaW47XG59XG5cbi5leHBlcmltZW50LXN0ZXBzLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbi1ncmV5O1xufVxuXG4uZXhwZXJpbWVudC1zdGVwIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIEBpbmNsdWRlIGdyaWQtcGFkZGluZztcbiAgQGluY2x1ZGUgbWF4LXdpZHRoO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cblxuICAuZXhwZXJpbWVudC1zdGVwLWlubmVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbi13aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RlcC1udW1iZXIge1xuICAgICRoZWlnaHQ6IDUwcHg7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWlnaHQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJGxheWVyLWNvbnRlbnQ7XG4gICAgQGluY2x1ZGUgY29sb3VyZWQtbGFiZWwoJHVwcGVyY2FzZTogdHJ1ZSk7XG4gIH1cblxuICAuZXhwZXJpbWVudC1zdGVwLWZpZ3VyZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tYmxhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgd2lkdGg6IDM4MHB4O1xuICAgIG1hcmdpbjogMCAkbWFyZ2luLXNtYWxsIDAgMDtcbiAgICBmb250LXNpemU6IDA7XG5cbiAgICBpbWcge1xuICAgICAgLy9oZWlnaHQ6IDEwMCU7IG51aHVcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5lLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJlbG93KDEwMDBweCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDAgMCAkbWFyZ2luLXNtYWxsIDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzAwIC8gMzgwICogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAuZS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLmUtZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmV4cGVyaW1lbnQtc3RlcC10ZXh0IHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgcmljaC10ZXh0O1xuICAgIHBhZGRpbmc6ICRtYXJnaW4tc21hbGw7XG5cbiAgICBwICsgcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLmV4cGVyaW1lbnQtcGFnZSB7XG4gIC5wYWdlLXNoYXJlIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuZGlzY292ZXItbGlzdC1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgfVxuXG4gIC5vdGhlci1leHBlcmltZW50cyB7XG4gICAgLmRpc2NvdmVyLWJsb2NrcyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXBhZGRpbmc7XG4gICAgfVxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLWdyZXk7XG4gICAgcGFkZGluZy10b3A6ICRtYXJnaW47XG4gIH1cblxuICAubW9yZS10aGVtZXMge1xuICAgIEBpbmNsdWRlIGdyaWQtcGFkZGluZztcbiAgfVxufVxuIiwiLnRoZW1lLW92ZXJ2aWV3LXBhZ2Uge1xuICAkaGVhZGVyLWltYWdlLXNpemU6ICRoZWFkZXItd2l0aC1pbWFnZS1zaXplLXNpbXBsZTtcbiAgJGhlYWRlci1pbWFnZS1zaXplLW1vYmlsZTogJGhlYWRlci13aXRoLWltYWdlLXNpemUtc2ltcGxlLW1vYmlsZTtcbiAgJG1pbi1sb2dvLXNpemU6IDEwMHB4O1xuXG4gIC8vIEN1c3RvbSBoZWFkZXIgaW1hZ2VcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBib3JkZXI6IDVweCBzb2xpZCByZWQ7XG4gICAgLnBhZ2UtaGVhZGVyLWltYWdlIHtcbiAgICAgIGhlaWdodDogJGhlYWRlci1pbWFnZS1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBoZWFkZXJcbiAgLnBhZ2Utc2VjdGlvbnMge1xuICAgIG1hcmdpbi10b3A6ICRoZWFkZXItaW1hZ2Utc2l6ZTtcblxuICAgIC5pbm5lci1tYXJnaW5lZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC5wYWdlLWxlZnQtc3BhY2VyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGVyIHRleHQgYmxvY2tcbiAgLmhlYWRlci13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSB0ZXh0LWJsb2NrO1xuICAgIGxlZnQ6ICRsb2dvc2l6ZTtcbiAgICBwYWRkaW5nLXRvcDogI3skbG9nb3NpemUgLyAyfTtcbiAgICB0b3A6IC0jeyRoZWFkZXItaW1hZ2Utc2l6ZX07XG4gICAgd2lkdGg6IDQ0MHB4O1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1oZWFkZXItMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLXdoaXRlO1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICB9XG4gIH1cblxuICAvLyBDdXN0b20gcGFnZSBvdmVydmlldyBzZWN0aW9uICwgc2FtZSBzZXR1cCBhcyBwYWdlIGNoaWxkcmVuIGluIG92ZXJ2aWV3IHBhZ2VcbiAgLnBhZ2Utb3ZlcnZpZXctc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWF4LXdpZHRoKCRjZW50ZXI6dHJ1ZSwgJGxhcmdlOnRydWUpO1xuXG4gICAgcGFkZGluZy10b3A6IDM1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG5cbiAgICBAaW5jbHVkZSBiZWxvdygkYnJlYWtwb2ludC1zbWFsbCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICAvLyBDdXN0b20gcGFnZSBzZWN0aW9uc1xuICAucGFnZS1zZWN0aW9uIHtcbiAgfVxuXG4gIEBpbmNsdWRlIGFib3ZlKCRicmVha3BvaW50LW1heGxvZ293aWR0aCkge1xuICAgIC5oZWFkZXItd3JhcHBlciB7XG4gICAgICBsZWZ0OiAkbG9nb21heHdpZHRoO1xuICAgICAgcGFkZGluZy10b3A6ICRsb2dvbWF4d2lkdGggLyAyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJlbG93KCRicmVha3BvaW50LW1vYmlsZSkge1xuICAgIC5oZWFkZXItd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvL2xlZnQ6ICRtaW4tbG9nby1zaXplO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAvL3RvcDogLSN7JGhlYWRlci1pbWFnZS1zaXplLW1vYmlsZX07XG4gICAgICAvL3dpZHRoOiBjYWxjKDEwMCUgLSAjeyRtaW4tbG9nby1zaXplfSk7XG5cbiAgICAgIGgxIHtcbiAgICAgICAgcGFkZGluZzogJGd1dHRlci1tb2JpbGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHJlZDtcbiAgICAgIC5wYWdlLWhlYWRlci1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogJGhlYWRlci1pbWFnZS1zaXplLW1vYmlsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS1zZWN0aW9ucyB7XG4gICAgICBtYXJnaW4tdG9wOiAkaGVhZGVyLWltYWdlLXNpemUtbW9iaWxlO1xuXG4gICAgICAuaW5uZXItbWFyZ2luZWQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBhZ2Utc2VjdGlvbi50aGVtZS1mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1tYWluLWdyZXkgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGgyIHtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktaGVhZGVyLTIoKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LXBhcmFncmFwaCgpO1xuICAgIH1cblxuICAgIC5mb290ZXItdGV4dCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXBhZGRpbmc7XG4gICAgICBAaW5jbHVkZSBtYXgtd2lkdGgoJGNlbnRlcjp0cnVlKTtcbiAgICB9XG5cbiAgICAucGFnZS1zZWN0aW9uLXJlbGF0ZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1wYWRkaW5nO1xuICAgICAgQGluY2x1ZGUgbWF4LXdpZHRoKCRjZW50ZXI6dHJ1ZSk7XG4gICAgfVxuXG4gICAgLnBhZ2Utc2VjdGlvbi1yZWxhdGVkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuZXh0ZW5kZWQtcmVsYXRlZC1wYWdlcyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG59XG5cbi8vIEN1c3RvbSBwYWdlIHNlY3Rpb25zXG5AaW5jbHVkZSB0aGVtZWQtbWFpbigkc2VsZWN0b3I6ICcucGFnZS1zZWN0aW9ucyAuaW5uZXItbWFyZ2luZWQnLCAkYm9keS1maWx0ZXI6Jy50aGVtZS1vdmVydmlldy1wYWdlJyk7IC8vIFRPRE86IEhvdyB0byBkbyB0aGlzIGJldHRlcj9cbkBpbmNsdWRlIHRoZW1lZC1tYWluKCRzZWxlY3RvcjogJy5wYWdlLXNlY3Rpb24nLCAkYm9keS1maWx0ZXI6Jy50aGVtZS1vdmVydmlldy1wYWdlJyk7IC8vIFRPRE86IEhvdyB0byBkbyB0aGlzIGJldHRlcj9cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FrRmtDQSxBQUFBLEdBQUcsQUFBQSxjQUFjLENBQUM7RUFDaEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsTUFBTSxFQUFFLEtBQUs7RUFDYixLQUFLLEVBQUUsS0FBSyxHQVViO0VBYkQsQUFTSSxHQVRELEFBQUEsY0FBYyxBQVNaLFFBQVEsQ0FBSTtJQUNYLGdCQUFnQixFQTNDSCxPQUFPLEdBNENyQjtFQVhMLEFBU0ksR0FURCxBQUFBLGNBQWMsQUFTWixRQUFRLENBQUk7SUFDWCxnQkFBZ0IsRUExQ0gsT0FBTyxHQTJDckI7RUFYTCxBQVNJLEdBVEQsQUFBQSxjQUFjLEFBU1osTUFBTSxDQUFNO0lBQ1gsZ0JBQWdCLEVBekNMLE9BQU8sR0EwQ25CO0VBWEwsQUFTSSxHQVRELEFBQUEsY0FBYyxBQVNaLE9BQU8sQ0FBSztJQUNYLGdCQUFnQixFQXhDSixPQUFPLEdBeUNwQjtFQVhMLEFBU0ksR0FURCxBQUFBLGNBQWMsQUFTWixTQUFTLENBQUc7SUFDWCxnQkFBZ0IsRUF2Q0YsT0FBTyxHQXdDdEI7RUFYTCxBQVNJLEdBVEQsQUFBQSxjQUFjLEFBU1osT0FBTyxDQUFLO0lBQ1gsZ0JBQWdCLEVBdENKLE9BQU8sR0F1Q3BCO0VBWEwsQUFTSSxHQVRELEFBQUEsY0FBYyxBQVNaLE9BQU8sQ0FBSztJQUNYLGdCQUFnQixFQXBDSixPQUFPLEdBcUNwQjs7QUc3Q0w7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUE0QkU7QUFHRixpRUFBaUU7QUFFakUsVUFBVTtFQUFFLFdBQVcsRUFBRSxRQUFRO0VBQUMsV0FBVyxFQUFFLElBQUk7RUFBQyxVQUFVLEVBQUUsTUFBTTtFQUFDLEdBQUcsRUFBRSxxQ0FBcUM7RUFBQyxHQUFHLEVBQUUsNENB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 */
