/* Basic configuration */
:root {
  /* Layout */
  --width-container: 900px;
  --width-min-container: 320px;
  --height-min-header-footer: 8vh;
  --padding-internal: 24px;
  --border-radius-container: 5px;
  --border-radius-content: 4px;
  /* Typography */
  --font-family: "Arial", sans-serif;
  --font-family-mono: Droid Mono, Menlo, Consolas, monospace;
  --font-size: 18px;
  --line-height: 1.45;
  /* (line height is specified in em so that it adapts to varying font sizes) */
  --paragraph-margin-vertical: var(--font-size);
  /* Colors */
  --color-text: black;
  --color-background: white;
  --color-border: #e5e5e5;
  --color-border-internal: #efefef;
  --color-gray-background: #f8f8f8;
  --color-gray-content: #8d8d8d;
}

/* Set box model to border-box globally */
:root {
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: inherit;
}

/* Content layout */
body {
  margin: 0;
  background: white;
  background: var(--color-background);
}
::-webkit-backdrop {
  background: white;
  background: var(--color-background);
}
::backdrop {
  background: white;
  background: var(--color-background);
}

.container {
  min-width: 320px;
  min-width: var(--width-min-container);
  min-height: 8vh;
  min-height: var(--height-min-header-footer);
  /* Use page-style layout by default */
  margin: 24px auto;
  margin: var(--padding-internal) auto;
  width: 900px;
  width: var(--width-container);
}
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  padding: calc(2 * 24px);
  padding: calc(2 * var(--padding-internal));
  background: rgba(140, 140, 140, 0.25);
  /* Use backdrop-filter where available */
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
.overlay .modal {
  margin: 24px auto;
  margin: var(--padding-internal) auto;
  padding: calc(2 * 24px) 24px;
  padding: calc(2 * var(--padding-internal)) var(--padding-internal);
  min-height: 25vh;
  background: white;
  border: 1px solid rgba(140, 140, 140, 0.5);
  border-radius: 4px;
  border-radius: var(--border-radius-content);
  box-shadow: 0 0 5px rgba(140, 140, 140, 0.25);
}

header, footer, main {
  padding: 24px;
  padding: var(--padding-internal);
}
/* Individual parts: Height, borders and background */
header, footer {
  min-height: 8vh;
  min-height: var(--height-min-header-footer);
}
main {
  min-height: 8vh;
  min-height: var(--height-min-header-footer);
}

/* Fullscreen layout */
.container.fullscreen {
  /* Full screen minus margins */
  margin: 24px;
  margin: var(--padding-internal);
  min-height: calc(100vh - 2*24px);
  min-height: calc(100vh - 2*var(--padding-internal));
  width: calc(100vw - 2*24px);
  width: calc(100vw - 2*var(--padding-internal));
  /* Display content using flexboxes */
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}
.container.fullscreen main {
  /* Flex positioning */
  -webkit-box-flex: 1;
          flex: 1;
}

/* Frameless layout */
.container.frameless {
  margin: 0 auto;
  border: none;
  border-radius: 0;
}
.container.fullscreen.frameless {
  margin: 0;
  width: 100%;
  min-height: 100vh;
}

/* Remove frame on small screens */
@media (max-width: 600px), (max-height: 600px) {
  .container.fullscreen {
    margin: 0;
    border: none;
    border-radius: 0;
    width: 100%;
    min-height: 100vh;
  }
}

/* Flexbox fix for IE11, per https://github.com/philipwalton/flexbugs */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  body {
    display: -webkit-box;
    display: flex;
  }
  .container.fullscreen {
    /* IE11 miscalculates the height, so add some slack */
    min-height: calc(100vh - 3*24px);
    min-height: calc(100vh - 3*var(--padding-internal));
  }
}

/* Borders and backgrounds */
.container {
  border: 1px solid #e5e5e5;
  border: 1px solid var(--color-border);
  border-radius: 5px;
  border-radius: var(--border-radius-container);
}
header {
  border-bottom: 1px solid #efefef;
  border-bottom: 1px solid var(--color-border-internal);
}
footer {
  border-top: 1px solid #efefef;
  border-top: 1px solid var(--color-border-internal);
  background-color: #f8f8f8;
  background-color: var(--color-gray-background);
}

/* Typography */
:root {
  color: black;
  color: var(--color-text);
  font-family: "Arial", sans-serif;
  font-family: var(--font-family);
  font-size: 18px;
  font-size: var(--font-size);
  line-height: 1.45;
  line-height: var(--line-height);
}
header, footer, main {
  /* Set display style explicitly for legacy browsers
     that are unfamiliar with these elements */
  display: block;
  text-align: center;
}
h1, h2, h3 {
  line-height: 1.45;
  line-height: var(--line-height);
}
hr {
  border: none;
  border-top: 2px solid #e5e5e5;
  border-top: 2px solid var(--color-border)
}

/* Special elements: Keyboard buttons */
kbd {
  /* Positioning */
  display: inline-block;
  min-width: 1.5rem;
  min-height: 1.5rem;
  padding: 0 0.3rem;
  padding-top: 0.15rem;
  /* Fonts */
  font-family: Droid Mono, Menlo, Consolas, monospace;
  font-family: var(--font-family-mono);
  font-size: 0.9rem;
  text-align: center;
  /* Background and border */
  background-color: white;
  background-color: var(--color-background);
  border-radius: 4px;
  border-radius: var(--border-radius-content);
  border: 1px solid #e5e5e5;
  border: 1px solid var(--color-border);
}
kbd.big {
  font-size: 1.4rem;
  padding-top: 0.375rem;
  border-radius: 0.125rem;
}

/* Alignment helpers */
.w-100 {
  width: 100%;
}
.w-s {
  width: 100%;
  max-width: 320px;
  max-width: var(--width-min-container);
}
.w-m {
  width: 100%;
  max-width: calc(1.5 * 320px);
  max-width: calc(1.5 * var(--width-min-container));
}
.w-l {
  width: 100%;
  max-width: calc(2 * 320px);
  max-width: calc(2 * var(--width-min-container));
}
/* Block alignment based on flexbox */
.content-vertical-top,
.content-vertical-center,
.content-vertical-bottom,
.content-horizontal-left,
.content-horizontal-center,
.content-horizontal-right,
.content-horizontal-space-between,
.content-vertical-space-between,
.content-horizontal-space-around,
.content-vertical-space-around {
  display: -webkit-box;
  display: flex;
}
.content-vertical-top {
  -webkit-box-align: start;
          align-items: flex-start;
}
.content-vertical-center {
  -webkit-box-align: center;
          align-items: center;
}
.content-vertical-bottom {
  -webkit-box-align: end;
          align-items: flex-end;
}
.content-horizontal-left {
  -webkit-box-pack: start;
          justify-content: flex-start;
}
.content-horizontal-center {
  -webkit-box-pack: center;
          justify-content: center;
}
.content-horizontal-right {
  -webkit-box-pack: end;
          justify-content: flex-end;
}
.content-horizontal-space-between,
.content-vertical-space-between {
  -webkit-box-pack: justify;
          justify-content: space-between;
}
.content-horizontal-space-around,
.content-vertical-space-around {
  justify-content: space-around;
}
.content-vertical-space-around,
.content-vertical-space-between {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}
.content-vertical-space-between.content-horizontal-right,
.content-vertical-space-around.content-horizontal-right {
  -webkit-box-align: start;
          align-items: flex-start;
}
.content-vertical-space-between.content-horizontal-center,
.content-vertical-space-around.content-horizontal-center {
  -webkit-box-align: center;
          align-items: center;
}
.content-vertical-space-between.content-horizontal-right,
.content-vertical-space-around.content-horizontal-right {
  -webkit-box-align: end;
          align-items: flex-end;
}
.sticky-top {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
/* Text alignment */
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-justify {
  text-align: justify;
}
.text-muted {
  color: #8d8d8d;
  color: var(--color-gray-content);
}
.text-muted a {
  color: rgb(60, 89, 156);
}
small, .small {
  font-size: 0.9rem;
}
.font-weight-bold {
  font-weight: bold;
}
.font-italic {
  font-style: italic;
}
code {
  font-family: Droid Mono, Menlo, Consolas, monospace;
  font-family: var(--font-family-mono);
  background-color: #f8f8f8;
  background-color: var(--color-gray-background);
  padding: 2px;
  border-radius: 2px;
}

/* Visibility */
.invisible {
  visibility: hidden;
}
.hidden {
  display: none;
}
.hide-if-empty:empty {
  display: none
}

/* Alerts */
.alert {
  border: 2px solid #e5e5e5;
  border: 2px solid var(--color-border);
  border-radius: 4px;
  border-radius: var(--border-radius-content);
  padding: 16px 16px 14px;
  margin: 16px 0;
}
.alert.alert-danger {
  color: #a02c2c;
  border-color: #a02c2c;
}
.alert.alert-warning {
  color: #f6a902;
  border-color: #ffb400;
}

/* Background styles (experimental) */
.alert, .background-dark {
  background-color: #f8f8f8;
  background-color: var(--color-gray-background);
}
.alert.alert-danger, .background-danger {
  background-color: #e9afaf;
}
.alert.alert-warning, .background-warning {
  background-color: #ffe6a5;
}
.background-ok {
  background-color: #c3e6cb;
}

/* Form elements */
input, select, button, textarea {
  font-family: "Arial", sans-serif;
  font-family: var(--font-family);
  font-size: 0.9rem;
  line-height: 1.45;
  line-height: var(--line-height);
  border: 2px solid #e5e5e5;
  border: 2px solid var(--color-border);
  border-radius: 4px;
  border-radius: var(--border-radius-content);
  margin: 8px 0;
  padding: 8px;
}
input[type="checkbox"] {
  margin: 0 10px;
}
input[type="range"] {
  border: none;
}
input + label {
  margin-left: 2px;
}
select {
  padding: 8px 5px; /* selects have a weird vertical alignment */
}
button {
  background-color: white;
  border-radius: 3px;
  padding: 8px 8px 6px;
}
button:hover {
  border-color: #ddd;
  background-color: #fcfcfc;
}
textarea {
  display: block;
  margin: 18px 0;
  margin: var(--paragraph-margin-vertical) 0;
  resize: vertical;
}
/* Input groups */
.input-group {
  display: inline-table;
  margin: 8px 0;
}
.input-group * {
  display: table-cell;
  border-radius: 0px;
}
.input-group input {
  margin: 0;
}
.input-group *:first-child {
  border-radius: 4px 0 0 4px;
}
.input-group *:last-child {
  border-radius: 0 4px 4px 0;
}
.input-group .input-group-addon {
  background-color: #e5e5e5;
  background-color: var(--color-border);
  border: 2px solid #e5e5e5;
  border: 2px solid var(--color-border);
  padding: 0 10px;
}
/* Page styles */
#page-form .page-item-table td input[type="radio"],
#page-form .page-item-table td input[type="checkbox"] {
  margin: 4px 0 10px;
}
#page-form .page-item-table td label {
  display: block;
}
#page-form .page-item-image img {
  text-align: center;
}
#page-form .page-item-image img {
  max-width: 100%;
}

/* Table */
table {
  width: 100%;
  border-collapse: collapse;
}
table td, table th {
  padding: 10px 8px 8px;
}
/* Table borders (except for plain) */
table:not(.table-plain) > tr > td,
table:not(.table-plain) > tr > th,
table:not(.table-plain) > thead > tr > td,
table:not(.table-plain) > thead > tr > th,
table:not(.table-plain) > tbody > tr > td,
table:not(.table-plain) > tbody > tr > th {
  border-bottom: 2px solid #e5e5e5;
  border-bottom: 2px solid var(--color-border);
}
table:not(.table-plain) > tr:last-child > td,
table:not(.table-plain) > tr:last-child > th,
table:not(.table-plain) > tbody > tr:last-child > td,
table:not(.table-plain) > tbody > tr:last-child > th {
  border-bottom: 2px solid transparent;
}
/* Striped rows */
table.table-striped tr:nth-child(odd) td {
  background-color: #efefef;
  background-color: var(--color-border-internal)
}
table .sticky-top {
  /* Add background color to sticky table headers */
  background-color: white;
  background-color: var(--color-background);
}

/* Progress bar */
.progress {
  width: 100%;
  height: 8px;
  overflow: hidden;
  margin: 0.2rem 0 0.4rem;
  border-radius: 2px;
  border: 1px solid #e5e5e5;
  border: 1px solid var(--color-border);
}
.progress .progress-bar {
  width: 0%;
  min-height: 8px;
  background-color: #f8f8f8;
  background-color: var(--color-gray-background);
  border-right: 1px solid #efefef;
  border-right: 1px solid var(--color-border-internal);
  box-sizing: content-box;
}

/* Popovers */
.popover {
  position: absolute;
  top: 0;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-name: popover;
          animation-name: popover;
}

/* Width, for some reason, needs to be set explicitly */
.container.fullscreen .popover {
  width: calc(100vw - 2*24px);
  width: calc(100vw - 2*var(--padding-internal));
}
/* Repeated for frameless mode on small screens */
@media (max-width: 600px), (max-height: 600px) {
  .container.fullscreen .popover {
    width: 100vw;
  }
}

.popover > * {
  width: 80%;
  margin: 0 auto;
}

.container:not(.fullscreen) .popover {
  width: 900px;
  width: var(--width-container);
}

/* Slide in from the top */
@-webkit-keyframes popover {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }

  to {
    -webkit-transform: none;
            transform: none;
  }
}
@keyframes popover {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }

  to {
    -webkit-transform: none;
            transform: none;
  }
}

.popover > .alert:first-child {
  border-width: 1px;
  position: relative;
  padding-top: 24px;
  top: -8px;
}


/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGFydGVya2l0L2xpYi9sYWIuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlCQUF5QjtBQUN6QjtFQUNFLFlBQVk7RUFDWix5QkFBeUI7RUFDekIsNkJBQTZCO0VBQzdCLGdDQUFnQztFQUNoQyx5QkFBeUI7RUFDekIsK0JBQStCO0VBQy9CLDZCQUE2QjtFQUM3QixnQkFBZ0I7RUFDaEIsbUNBQW1DO0VBQ25DLDJEQUEyRDtFQUMzRCxrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLDhFQUE4RTtFQUM5RSw4Q0FBOEM7RUFDOUMsWUFBWTtFQUNaLG9CQUFvQjtFQUNwQiwwQkFBMEI7RUFDMUIsd0JBQXdCO0VBQ3hCLGlDQUFpQztFQUNqQyxpQ0FBaUM7RUFDakMsOEJBQThCO0NBQy9COztBQUVELDBDQUEwQztBQUMxQztFQUNFLHVCQUF1QjtDQUN4QjtBQUNEO0VBQ0Usb0JBQW9CO0NBQ3JCOztBQUVELG9CQUFvQjtBQUNwQjtFQUNFLFVBQVU7RUFDVixrQkFBb0M7RUFBcEMsb0NBQW9DO0NBQ3JDO0FBQ0Q7RUFDRSxrQkFBb0M7RUFBcEMsb0NBQW9DO0NBQ3JDO0FBRkQ7RUFDRSxrQkFBb0M7RUFBcEMsb0NBQW9DO0NBQ3JDOztBQUVEO0VBQ0UsaUJBQXNDO0VBQXRDLHNDQUFzQztFQUN0QyxnQkFBNEM7RUFBNUMsNENBQTRDO0VBQzVDLHNDQUFzQztFQUN0QyxrQkFBcUM7RUFBckMscUNBQXFDO0VBQ3JDLGFBQThCO0VBQTlCLDhCQUE4QjtDQUMvQjtBQUNEO0VBQ0UsZ0JBQWdCO0VBQ2hCLE9BQU87RUFDUCxRQUFRO0VBQ1IsYUFBYTtFQUNiLGNBQWM7RUFDZCx3QkFBMkM7RUFBM0MsMkNBQTJDO0VBQzNDLHNDQUFzQztFQUN0Qyx5Q0FBeUM7RUFDekMsb0NBQTRCO1VBQTVCLDRCQUE0QjtDQUM3QjtBQUNEO0VBQ0Usa0JBQXFDO0VBQXJDLHFDQUFxQztFQUNyQyw2QkFBbUU7RUFBbkUsbUVBQW1FO0VBQ25FLGlCQUFpQjtF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bEIsVUFBVTtDQUNYIiwiZmlsZSI6ImxhYi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBCYXNpYyBjb25maWd1cmF0aW9uICovXG46cm9vdCB7XG4gIC8qIExheW91dCAqL1xuICAtLXdpZHRoLWNvbnRhaW5lcjogOTAwcHg7XG4gIC0td2lkdGgtbWluLWNvbnRhaW5lcjogMzIwcHg7XG4gIC0taGVpZ2h0LW1pbi1oZWFkZXItZm9vdGVyOiA4dmg7XG4gIC0tcGFkZGluZy1pbnRlcm5hbDogMjRweDtcbiAgLS1ib3JkZXItcmFkaXVzLWNvbnRhaW5lcjogNXB4O1xuICAtLWJvcmRlci1yYWRpdXMtY29udGVudDogNHB4O1xuICAvKiBUeXBvZ3JhcGh5ICovXG4gIC0tZm9udC1mYW1pbHk6IFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgLS1mb250LWZhbWlseS1tb25vOiBEcm9pZCBNb25vLCBNZW5sbywgQ29uc29sYXMsIG1vbm9zcGFjZTtcbiAgLS1mb250LXNpemU6IDE4cHg7XG4gIC0tbGluZS1oZWlnaHQ6IDEuNDU7XG4gIC8qIChsaW5lIGhlaWdodCBpcyBzcGVjaWZpZWQgaW4gZW0gc28gdGhhdCBpdCBhZGFwdHMgdG8gdmFyeWluZyBmb250IHNpemVzKSAqL1xuICAtLXBhcmFncmFwaC1tYXJnaW4tdmVydGljYWw6IHZhcigtLWZvbnQtc2l6ZSk7XG4gIC8qIENvbG9ycyAqL1xuICAtLWNvbG9yLXRleHQ6IGJsYWNrO1xuICAtLWNvbG9yLWJhY2tncm91bmQ6IHdoaXRlO1xuICAtLWNvbG9yLWJvcmRlcjogI2U1ZTVlNTtcbiAgLS1jb2xvci1ib3JkZXItaW50ZXJuYWw6ICNlZmVmZWY7XG4gIC0tY29sb3ItZ3JheS1iYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAtLWNvbG9yLWdyYXktY29udGVudDogIzhkOGQ4ZDtcbn1cblxuLyogU2V0IGJveCBtb2RlbCB0byBib3JkZXItYm94IGdsb2JhbGx5ICovXG46cm9vdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4qLCAqOjpiZWZvcmUsICo6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLyogQ29udGVudCBsYXlvdXQgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xufVxuOjpiYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xufVxuXG4uY29udGFpbmVyIHtcbiAgbWluLXdpZHRoOiB2YXIoLS13aWR0aC1taW4tY29udGFpbmVyKTtcbiAgbWluLWhlaWdodDogdmFyKC0taGVpZ2h0LW1pbi1oZWFkZXItZm9vdGVyKTtcbiAgLyogVXNlIHBhZ2Utc3R5bGUgbGF5b3V0IGJ5IGRlZmF1bHQgKi9cbiAgbWFyZ2luOiB2YXIoLS1wYWRkaW5nLWludGVybmFsKSBhdXRvO1xuICB3aWR0aDogdmFyKC0td2lkdGgtY29udGFpbmVyKTtcbn1cbi5vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogY2FsYygyICogdmFyKC0tcGFkZGluZy1pbnRlcm5hbCkpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE0MCwgMTQwLCAxNDAsIDAuMjUpO1xuICAvKiBVc2UgYmFja2Ryb3AtZmlsdGVyIHdoZXJlIGF2YWlsYWJsZSAqL1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG59XG4ub3ZlcmxheSAubW9kYWwge1xuICBtYXJnaW46IHZhcigtLXBhZGRpbmctaW50ZXJuYWwpIGF1dG87XG4gIHBhZGRpbmc6IGNhbGMoMiAqIHZhcigtLXBhZGRpbmctaW50ZXJuYWwpKSB2YXIoLS1wYWRkaW5nLWludGVybmFsKTtcbiAgbWluLWhlaWdodDogMjV2aDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQwLCAxNDAsIDE0MCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jb250ZW50KTtcbiAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDE0MCwgMTQwLCAxNDAsIDAuMjUpO1xufVxuXG5oZWFkZXIsIGZvb3RlciwgbWFpbiB7XG4gIHBhZGRpbmc6IHZhcigtLXBhZGRpbmctaW50ZXJuYWwpO1xufVxuLyogSW5kaXZpZHVhbCBwYXJ0czogSGVpZ2h0LCBib3JkZXJzIGFuZCBiYWNrZ3JvdW5kICovXG5oZWFkZXIsIGZvb3RlciB7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLWhlaWdodC1taW4taGVhZGVyLWZvb3Rlcik7XG59XG5tYWluIHtcbiAgbWluLWhlaWdodDogdmFyKC0taGVpZ2h0LW1pbi1oZWFkZXItZm9vdGVyKTtcbn1cblxuLyogRnVsbHNjcmVlbiBsYXlvdXQgKi9cbi5jb250YWluZXIuZnVsbHNjcmVlbiB7XG4gIC8qIEZ1bGwgc2NyZWVuIG1pbnVzIG1hcmdpbnMgKi9cbiAgbWFyZ2luOiB2YXIoLS1wYWRkaW5nLWludGVybmFsKTtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDIqdmFyKC0tcGFkZGluZy1pbnRlcm5hbCkpO1xuICB3aWR0aDogY2FsYygxMDB2dyAtIDIqdmFyKC0tcGFkZGluZy1pbnRlcm5hbCkpO1xuICAvKiBEaXNwbGF5IGNvbnRlbnQgdXNpbmcgZmxleGJveGVzICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uY29udGFpbmVyLmZ1bGxzY3JlZW4gbWFpbiB7XG4gIC8qIEZsZXggcG9zaXRpb25pbmcgKi9cbiAgZmxleDogMTtcbn1cblxuLyogRnJhbWVsZXNzIGxheW91dCAqL1xuLmNvbnRhaW5lci5mcmFtZWxlc3Mge1xuICBtYXJnaW46IDAgYXV0bztcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmNvbnRhaW5lci5mdWxsc2NyZWVuLmZyYW1lbGVzcyB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4vKiBSZW1vdmUgZnJhbWUgb24gc21hbGwgc2NyZWVucyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSwgKG1heC1oZWlnaHQ6IDYwMHB4KSB7XG4gIC5jb250YWluZXIuZnVsbHNjcmVlbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB9XG59XG5cbi8qIEZsZXhib3ggZml4IGZvciBJRTExLCBwZXIgaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyAqL1xuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAuY29udGFpbmVyLmZ1bGxzY3JlZW4ge1xuICAgIC8qIElFMTEgbWlzY2FsY3VsYXRlcyB0aGUgaGVpZ2h0LCBzbyBhZGQgc29tZSBzbGFjayAqL1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzKnZhcigtLXBhZGRpbmctaW50ZXJuYWwpKTtcbiAgfVxufVxuXG4vKiBCb3JkZXJzIGFuZCBiYWNrZ3JvdW5kcyAqL1xuLmNvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY29udGFpbmVyKTtcbn1cbmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItaW50ZXJuYWwpO1xufVxuZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1pbnRlcm5hbCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktYmFja2dyb3VuZCk7XG59XG5cbi8qIFR5cG9ncmFwaHkgKi9cbjpyb290IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodCk7XG59XG5oZWFkZXIsIGZvb3RlciwgbWFpbiB7XG4gIC8qIFNldCBkaXNwbGF5IHN0eWxlIGV4cGxpY2l0bHkgZm9yIGxlZ2FjeSBicm93c2Vyc1xuICAgICB0aGF0IGFyZSB1bmZhbWlsaWFyIHdpdGggdGhlc2UgZWxlbWVudHMgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbmgxLCBoMiwgaDMge1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQpO1xufVxuaHIge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpXG59XG5cbi8qIFNwZWNpYWwgZWxlbWVudHM6IEtleWJvYXJkIGJ1dHRvbnMgKi9cbmtiZCB7XG4gIC8qIFBvc2l0aW9uaW5nICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAxLjVyZW07XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZzogMCAwLjNyZW07XG4gIHBhZGRpbmctdG9wOiAwLjE1cmVtO1xuICAvKiBGb250cyAqL1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktbW9ubyk7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIEJhY2tncm91bmQgYW5kIGJvcmRlciAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jb250ZW50KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cbmtiZC5iaWcge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgcGFkZGluZy10b3A6IDAuMzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbn1cblxuLyogQWxpZ25tZW50IGhlbHBlcnMgKi9cbi53LTEwMCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnctcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IHZhcigtLXdpZHRoLW1pbi1jb250YWluZXIpO1xufVxuLnctbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IGNhbGMoMS41ICogdmFyKC0td2lkdGgtbWluLWNvbnRhaW5lcikpO1xufVxuLnctbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IGNhbGMoMiAqIHZhcigtLXdpZHRoLW1pbi1jb250YWluZXIpKTtcbn1cbi8qIEJsb2NrIGFsaWdubWVudCBiYXNlZCBvbiBmbGV4Ym94ICovXG4uY29udGVudC12ZXJ0aWNhbC10b3AsXG4uY29udGVudC12ZXJ0aWNhbC1jZW50ZXIsXG4uY29udGVudC12ZXJ0aWNhbC1ib3R0b20sXG4uY29udGVudC1ob3Jpem9udGFsLWxlZnQsXG4uY29udGVudC1ob3Jpem9udGFsLWNlbnRlcixcbi5jb250ZW50LWhvcml6b250YWwtcmlnaHQsXG4uY29udGVudC1ob3Jpem9udGFsLXNwYWNlLWJldHdlZW4sXG4uY29udGVudC12ZXJ0aWNhbC1zcGFjZS1iZXR3ZWVuLFxuLmNvbnRlbnQtaG9yaXpvbnRhbC1zcGFjZS1hcm91bmQsXG4uY29udGVudC12ZXJ0aWNhbC1zcGFjZS1hcm91bmQge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmNvbnRlbnQtdmVydGljYWwtdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4uY29udGVudC12ZXJ0aWNhbC1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmNvbnRlbnQtdmVydGljYWwtYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuLmNvbnRlbnQtaG9yaXpvbnRhbC1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLmNvbnRlbnQtaG9yaXpvbnRhbC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5jb250ZW50LWhvcml6b250YWwtcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLmNvbnRlbnQtaG9yaXpvbnRhbC1zcGFjZS1iZXR3ZWVuLFxuLmNvbnRlbnQtdmVydGljYWwtc3BhY2UtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5jb250ZW50LWhvcml6b250YWwtc3BhY2UtYXJvdW5kLFxuLmNvbnRlbnQtdmVydGljYWwtc3BhY2UtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG4uY29udGVudC12ZXJ0aWNhbC1zcGFjZS1hcm91bmQsXG4uY29udGVudC12ZXJ0aWNhbC1zcGFjZS1iZXR3ZWVuIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5jb250ZW50LXZlcnRpY2FsLXNwYWNlLWJldHdlZW4uY29udGVudC1ob3Jpem9udGFsLXJpZ2h0LFxuLmNvbnRlbnQtdmVydGljYWwtc3BhY2UtYXJvdW5kLmNvbnRlbnQtaG9yaXpvbnRhbC1yaWdodCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuLmNvbnRlbnQtdmVydGljYWwtc3BhY2UtYmV0d2Vlbi5jb250ZW50LWhvcml6b250YWwtY2VudGVyLFxuLmNvbnRlbnQtdmVydGljYWwtc3BhY2UtYXJvdW5kLmNvbnRlbnQtaG9yaXpvbnRhbC1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmNvbnRlbnQtdmVydGljYWwtc3BhY2UtYmV0d2Vlbi5jb250ZW50LWhvcml6b250YWwtcmlnaHQsXG4uY29udGVudC12ZXJ0aWNhbC1zcGFjZS1hcm91bmQuY29udGVudC1ob3Jpem9udGFsLXJpZ2h0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuLnN0aWNreS10b3Age1xuICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbn1cbi8qIFRleHQgYWxpZ25tZW50ICovXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktY29udGVudCk7XG59XG4udGV4dC1tdXRlZCBhIHtcbiAgY29sb3I6IHJnYig2MCwgODksIDE1Nik7XG59XG5zbWFsbCwgLnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjlyZW07XG59XG4uZm9udC13ZWlnaHQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1tb25vKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS1iYWNrZ3JvdW5kKTtcbiAgcGFkZGluZzogMnB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi8qIFZpc2liaWxpdHkgKi9cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5oaWRlLWlmLWVtcHR5OmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZVxufVxuXG4vKiBBbGVydHMgKi9cbi5hbGVydCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY29udGVudCk7XG4gIHBhZGRpbmc6IDE2cHggMTZweCAxNHB4O1xuICBtYXJnaW46IDE2cHggMDtcbn1cbi5hbGVydC5hbGVydC1kYW5nZXIge1xuICBjb2xvcjogI2EwMmMyYztcbiAgYm9yZGVyLWNvbG9yOiAjYTAyYzJjO1xufVxuLmFsZXJ0LmFsZXJ0LXdhcm5pbmcge1xuICBjb2xvcjogI2Y2YTkwMjtcbiAgYm9yZGVyLWNvbG9yOiAjZmZiNDAwO1xufVxuXG4vKiBCYWNrZ3JvdW5kIHN0eWxlcyAoZXhwZXJpbWVudGFsKSAqL1xuLmFsZXJ0LCAuYmFja2dyb3VuZC1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS1iYWNrZ3JvdW5kKTtcbn1cbi5hbGVydC5hbGVydC1kYW5nZXIsIC5iYWNrZ3JvdW5kLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWFmYWY7XG59XG4uYWxlcnQuYWxlcnQtd2FybmluZywgLmJhY2tncm91bmQtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmU2YTU7XG59XG4uYmFja2dyb3VuZC1vayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjM2U2Y2I7XG59XG5cbi8qIEZvcm0gZWxlbWVudHMgKi9cbmlucHV0LCBzZWxlY3QsIGJ1dHRvbiwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jb250ZW50KTtcbiAgbWFyZ2luOiA4cHggMDtcbiAgcGFkZGluZzogOHB4O1xufVxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG5pbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICBib3JkZXI6IG5vbmU7XG59XG5pbnB1dCArIGxhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cbnNlbGVjdCB7XG4gIHBhZGRpbmc6IDhweCA1cHg7IC8qIHNlbGVjdHMgaGF2ZSBhIHdlaXJkIHZlcnRpY2FsIGFsaWdubWVudCAqL1xufVxuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZzogOHB4IDhweCA2cHg7XG59XG5idXR0b246aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNkZGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7XG59XG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IHZhcigtLXBhcmFncmFwaC1tYXJnaW4tdmVydGljYWwpIDA7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG4vKiBJbnB1dCBncm91cHMgKi9cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgbWFyZ2luOiA4cHggMDtcbn1cbi5pbnB1dC1ncm91cCAqIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xufVxuLmlucHV0LWdyb3VwIGlucHV0IHtcbiAgbWFyZ2luOiAwO1xufVxuLmlucHV0LWdyb3VwICo6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbn1cbi5pbnB1dC1ncm91cCAqOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcbn1cbi5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBwYWRkaW5nOiAwIDEwcHg7XG59XG4vKiBQYWdlIHN0eWxlcyAqL1xuI3BhZ2UtZm9ybSAucGFnZS1pdGVtLXRhYmxlIHRkIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiNwYWdlLWZvcm0gLnBhZ2UtaXRlbS10YWJsZSB0ZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBtYXJnaW46IDRweCAwIDEwcHg7XG59XG4jcGFnZS1mb3JtIC5wYWdlLWl0ZW0tdGFibGUgdGQgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNwYWdlLWZvcm0gLnBhZ2UtaXRlbS1pbWFnZSBpbWcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jcGFnZS1mb3JtIC5wYWdlLWl0ZW0taW1hZ2UgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBUYWJsZSAqL1xudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbnRhYmxlIHRkLCB0YWJsZSB0aCB7XG4gIHBhZGRpbmc6IDEwcHggOHB4IDhweDtcbn1cbi8qIFRhYmxlIGJvcmRlcnMgKGV4Y2VwdCBmb3IgcGxhaW4pICovXG50YWJsZTpub3QoLnRhYmxlLXBsYWluKSA+IHRyID4gdGQsXG50YWJsZTpub3QoLnRhYmxlLXBsYWluKSA+IHRyID4gdGgsXG50YWJsZTpub3QoLnRhYmxlLXBsYWluKSA+IHRoZWFkID4gdHIgPiB0ZCxcbnRhYmxlOm5vdCgudGFibGUtcGxhaW4pID4gdGhlYWQgPiB0ciA+IHRoLFxudGFibGU6bm90KC50YWJsZS1wbGFpbikgPiB0Ym9keSA+IHRyID4gdGQsXG50YWJsZTpub3QoLnRhYmxlLXBsYWluKSA+IHRib2R5ID4gdHIgPiB0aCB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxudGFibGU6bm90KC50YWJsZS1wbGFpbikgPiB0cjpsYXN0LWNoaWxkID4gdGQsXG50YWJsZTpub3QoLnRhYmxlLXBsYWluKSA+IHRyOmxhc3QtY2hpbGQgPiB0aCxcbnRhYmxlOm5vdCgudGFibGUtcGxhaW4pID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGQsXG50YWJsZTpub3QoLnRhYmxlLXBsYWluKSA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRoIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLyogU3RyaXBlZCByb3dzICovXG50YWJsZS50YWJsZS1zdHJpcGVkIHRyOm50aC1jaGlsZChvZGQpIHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWludGVybmFsKVxufVxudGFibGUgLnN0aWNreS10b3Age1xuICAvKiBBZGQgYmFja2dyb3VuZCBjb2xvciB0byBzdGlja3kgdGFibGUgaGVhZGVycyAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cblxuLyogUHJvZ3Jlc3MgYmFyICovXG4ucHJvZ3Jlc3Mge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMC4ycmVtIDAgMC40cmVtO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG4ucHJvZ3Jlc3MgLnByb2dyZXNzLWJhciB7XG4gIHdpZHRoOiAwJTtcbiAgbWluLWhlaWdodDogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LWJhY2tncm91bmQpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItaW50ZXJuYWwpO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyogUG9wb3ZlcnMgKi9cbi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgYW5pbWF0aW9uLW5hbWU6IHBvcG92ZXI7XG59XG5cbi8qIFdpZHRoLCBmb3Igc29tZSByZWFzb24sIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5ICovXG4uY29udGFpbmVyLmZ1bGxzY3JlZW4gLnBvcG92ZXIge1xuICB3aWR0aDogY2FsYygxMDB2dyAtIDIqdmFyKC0tcGFkZGluZy1pbnRlcm5hbCkpO1xufVxuLyogUmVwZWF0ZWQgZm9yIGZyYW1lbGVzcyBtb2RlIG9uIHNtYWxsIHNjcmVlbnMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCksIChtYXgtaGVpZ2h0OiA2MDBweCkge1xuICAuY29udGFpbmVyLmZ1bGxzY3JlZW4gLnBvcG92ZXIge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxufVxuXG4ucG9wb3ZlciA+ICoge1xuICB3aWR0aDogODAlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmNvbnRhaW5lcjpub3QoLmZ1bGxzY3JlZW4pIC5wb3BvdmVyIHtcbiAgd2lkdGg6IHZhcigtLXdpZHRoLWNvbnRhaW5lcik7XG59XG5cbi8qIFNsaWRlIGluIGZyb20gdGhlIHRvcCAqL1xuQGtleWZyYW1lcyBwb3BvdmVyIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyID4gLmFsZXJ0OmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG4gIHRvcDogLThweDtcbn1cblxuIl19 */