@charset "UTF-8";
@layer ds.reset, ds.theming, ds.baseline, ds.print, ds.typography, ds.components, ds.layout;
/* CSS is ordered by specificity, so that browsers without layers fall backs to good defaults */
/* ----------------------------- CSS foundations ---------------------------- */
@layer ds.typography{
/* latin */
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("@rostad/css/dist/SourceSans3-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
    U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
}
@layer ds.reset{

/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */

/*
Document
========
*/

/**
Use a better box model (opinionated).
*/

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

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the line height in all browsers.
3. Prevent adjustments of font size after orientation changes in iOS.
4. Use a more readable tab size (opinionated).
*/

html {
  font-family:
    system-ui,
    'Segoe UI',
    Roboto,
    Helvetica,
    Arial,
    sans-serif,
    'Apple Color Emoji',
    'Segoe UI Emoji';
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
  tab-size: 4;
  /* 4 */
}

/*
Sections
========
*/

/**
Remove the margin in all browsers.
*/

body {
  margin: 0;
}

/*
Text-level semantics
====================
*/

/**
Add the correct font weight in Chrome and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family:
    ui-monospace,
    SFMono-Regular,
    Consolas,
    'Liberation Mono',
    Menlo,
    monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
Tabular data
============
*/

/**
Correct table border color inheritance in Chrome and Safari. (https://issues.chromium.org/issues/40615503, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/

table {
  border-color: currentcolor;
}

/*
Forms
=====
*/

/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/

legend {
  padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Interactive
===========
*/

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}
}
@layer ds.tokens{

/**
 * Do not edit directly, this file was auto-generated.
 */

:root, :host {
  --ds-breakpoint-sm: 480px;
  --ds-breakpoint-sm-down: 479px;
  --ds-breakpoint-md: 768px;
  --ds-breakpoint-md-down: 767px;
  --ds-breakpoint-lg: 1024px;
  --ds-breakpoint-lg-down: 1023px;
  --ds-breakpoint-xl: 1280px;
  --ds-breakpoint-xl-down: 1279px;
  --ds-heading-2xl: 2.5rem;
  --ds-heading-xl: 2rem;
  --ds-heading-lg: 1.75rem;
  --ds-heading-md: 1.5rem;
  --ds-heading-sm: 1.25rem;
  --ds-heading-xs: 1.125rem;
  --ds-heading-lineheight-2xl: 3.25rem;
  --ds-heading-lineheight-xl: 1.5rem;
  --ds-heading-lineheight-lg: 2.25rem;
  --ds-heading-lineheight-md: 2rem;
  --ds-heading-lineheight-sm: 1.75rem;
  --ds-font-family: "Source Sans 3", Arial, sans-serif;
  --ds-font-size-heading-2xlarge: 2.5rem;
  --ds-font-size-heading-xlarge: 2rem;
  --ds-font-size-heading-large: 1.75rem;
  --ds-font-size-heading-medium: 1.5rem;
  --ds-font-size-heading-small: 1.25rem;
  --ds-font-size-heading-xsmall: 1.125rem;
  --ds-font-size-xlarge: 1.25rem;
  --ds-font-size-large: 1.125rem;
  --ds-font-size-medium: 1rem;
  --ds-font-size-small: 0.875rem;
  --ds-font-weight-bold: 600;
  --ds-font-weight-regular: 400;
  --ds-z-index-focus: 10;
  --ds-z-index-popover: 1000;
  --ds-z-index-modal: 2000;
  --ds-z-index-tooltip: 3000;
  --ds-border-radius-small: 2px;
  --ds-border-radius-medium: 4px;
  --ds-border-radius-large: 8px;
  --ds-border-radius-xlarge: 12px;
  --ds-border-radius-full: 9999px;
  --ds-color-primary: #0268C7;
  --ds-color-light-primary-bg: #3F5F90;
  --ds-color-light-primary-text: #FFFFFF;
  --ds-color-light-primary-strong-bg: #254777;
  --ds-color-light-primary-strong-text: #FFFFFF;
  --ds-color-light-secondary-bg: #555F71;
  --ds-color-light-secondary-text: #FFFFFF;
  --ds-color-light-tertiary-bg: #6F5675;
  --ds-color-light-tertiary-text: #FFFFFF;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-7: 1.75rem;
  --ds-space-8: 2rem;
  --ds-space-9: 2.25rem;
  --ds-space-10: 2.5rem;
  --ds-space-11: 2.75rem;
  --ds-space-12: 3rem;
  --ds-space-14: 3.5rem;
  --ds-space-16: 4rem;
  --ds-space-18: 4.5rem;
  --ds-space-20: 5rem;
  --ds-space-24: 6rem;
  --ds-space-32: 8rem;
  --ds-space-05: 0.125rem;
}
}
@layer ds.baseline{
/* ------------------------- Global typo-definitions ------------------------ */
body,
:host {
  font-family: var(--ds-font-family, "Source Sans 3", Arial, sans-serif);
  line-height: 1.333;
  font-size: 1.125rem;
}

/* ---------------------------- Inline utilities ---------------------------- */
[hidden] {
  /* CSS-layers reverses "!important" ordering, so we can't set this to important if we want to override it later. */
  display: none;
}

/* https://web.dev/prefers-reduced-motion/ */
@media (prefers-reduced-motion: reduce) {

  ::before,
  ::after {
    animation-delay: -1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    background-attachment: initial !important;
    scroll-behavior: auto !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
  }
}

/*
 * From https://github.com/h5bp/html5-boilerplate/blob/master/dist/css/style.css
 *
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.sr-only,
.aksel-sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/*
* From https://github.com/h5bp/html5-boilerplate/blob/master/dist/css/style.css
*
* Extends the .sr-only class to allow the element
* to be focusable when navigated to via the keyboard:
* https://www.drupal.org/node/897638
*/

.sr-only.focusable:active,
.sr-only.focusable:focus,
.aksel-sr-only.focusable:active,
.aksel-sr-only.focusable:focus {
  clip: auto;
  clip-path: none;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}
}
@layer ds.print{

/* ==========================================================================
   Print styles copied from https://github.com/h5bp/html5-boilerplate/blob/master/dist/css/style.css
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {

  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;

    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
     * Printing Tables:
     * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
     */
  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}
}
/* ------------------------------- Components ------------------------------- */
@layer ds.components{
.ds-theme {
  color: var(--ds-text-neutral, #000000);

  &[data-background="true"] {
    background-color: #ffffff;
  }

  &.light {
    color-scheme: light;
  }

  &.dark {
    color-scheme: dark;
  }
}
}
/* Designsystem styles */
@layer ds.components{

.ds-button {
  --__ds-button-border-color: transparent;
  --__ds-button-border-width: 2px;

  padding: var(--ds-space-3) var(--ds-space-5);
  border-radius: var(--ds-border-radius-medium);
  display: inline-flex;
  cursor: pointer;
  text-decoration: none;
  border: none;
  background: none;
  align-items: center;
  justify-content: center;
  gap: var(--ds-space-8);
  box-shadow: inset 0 0 0 var(--__ds-button-border-width) var(--__ds-button-border-color);

  &:focus-visible {
    outline: 3px solid var(--ds-border-focus);
    outline-offset: 3px;
  }

  &[data-variant="primary"] {
    background-color: var(--ds-color-light-primary-bg);
    color: var(--ds-color-light-primary-text);

    &:hover {
      background-color: var(--ds-color-light-primary-strong-bg);
    }

    &:active {
      background-color: var(--ds-color-light-primary-bg);
    }
  }

  &[data-variant="secondary"] {
    --__ds-button-border-color: #000000;
  }

  &[data-size="small"] {
    padding: var(--ds-space-1) var(--ds-space-3);
    min-height: 2rem;
    min-width: 2rem;
    gap: var(--ds-space-6);
  }
}

@supports not selector(:focus-visible) {
  .ds-button:focus {
    outline: 3px solid var(--ds-border-focus);
  }
}

@media (forced-colors: active) {
  .ds-button {
    border: 1px solid transparent;
    color: ButtonText;
    background-color: ButtonFace;
  }

  .ds-button--primary,
  .ds-button--danger {
    stroke: canvastext;
  }
}
}
@layer ds.components{
.hidden {
  display: none;
}
}
@layer ds.components{
/* latin */
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("@rostad/css/dist/SourceSans3-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
    U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
}
@layer ds.components{

/*
 * From https://github.com/h5bp/html5-boilerplate/blob/master/dist/css/style.css
 *
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

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

  /* 1 */
}

/*
 * From https://github.com/h5bp/html5-boilerplate/blob/master/dist/css/style.css
 *
 * Extends the .sr-only class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}
}
@layer ds.theming{
.light {
  --ds-color-primary: rgb(63 95 144);
  --ds-color-surface-tint: rgb(63 95 144);
  --ds-color-on-primary: rgb(255 255 255);
  --ds-color-primary-container: rgb(214 227 255);
  --ds-color-on-primary-container: rgb(37 71 119);
  --ds-color-secondary: rgb(85 95 113);
  --ds-color-on-secondary: rgb(255 255 255);
  --ds-color-secondary-container: rgb(217 227 248);
  --ds-color-on-secondary-container: rgb(62 71 88);
  --ds-color-tertiary: rgb(111 86 117);
  --ds-color-on-tertiary: rgb(255 255 255);
  --ds-color-tertiary-container: rgb(249 216 254);
  --ds-color-on-tertiary-container: rgb(86 62 93);
  --ds-color-error: rgb(186 26 26);
  --ds-color-on-error: rgb(255 255 255);
  --ds-color-error-container: rgb(255 218 214);
  --ds-color-on-error-container: rgb(147 0 10);
  --ds-color-background: rgb(249 249 255);
  --ds-color-on-background: rgb(25 28 32);
  --ds-color-surface: rgb(249 249 255);
  --ds-color-on-surface: rgb(25 28 32);
  --ds-color-surface-variant: rgb(224 226 236);
  --ds-color-on-surface-variant: rgb(67 71 78);
  --ds-color-outline: rgb(116 119 127);
  --ds-color-outline-variant: rgb(196 198 207);
  --ds-color-shadow: rgb(0 0 0);
  --ds-color-scrim: rgb(0 0 0);
  --ds-color-inverse-surface: rgb(46 48 53);
  --ds-color-inverse-on-surface: rgb(240 240 247);
  --ds-color-inverse-primary: rgb(168 200 255);
  --ds-color-primary-fixed: rgb(214 227 255);
  --ds-color-on-primary-fixed: rgb(0 27 60);
  --ds-color-primary-fixed-dim: rgb(168 200 255);
  --ds-color-on-primary-fixed-variant: rgb(37 71 119);
  --ds-color-secondary-fixed: rgb(217 227 248);
  --ds-color-on-secondary-fixed: rgb(18 28 43);
  --ds-color-secondary-fixed-dim: rgb(189 199 220);
  --ds-color-on-secondary-fixed-variant: rgb(62 71 88);
  --ds-color-tertiary-fixed: rgb(249 216 254);
  --ds-color-on-tertiary-fixed: rgb(40 19 47);
  --ds-color-tertiary-fixed-dim: rgb(219 188 225);
  --ds-color-on-tertiary-fixed-variant: rgb(86 62 93);
  --ds-color-surface-dim: rgb(217 217 224);
  --ds-color-surface-bright: rgb(249 249 255);
  --ds-color-surface-container-lowest: rgb(255 255 255);
  --ds-color-surface-container-low: rgb(243 243 250);
  --ds-color-surface-container: rgb(237 237 244);
  --ds-color-surface-container-high: rgb(231 232 238);
  --ds-color-surface-container-highest: rgb(226 226 233);
}
}
@layer ds.theming{
.dark {
  --ds-color-primary: rgb(168 200 255);
  --ds-color-surface-tint: rgb(168 200 255);
  --ds-color-on-primary: rgb(6 48 95);
  --ds-color-primary-container: rgb(37 71 119);
  --ds-color-on-primary-container: rgb(214 227 255);
  --ds-color-secondary: rgb(189 199 220);
  --ds-color-on-secondary: rgb(39 49 65);
  --ds-color-secondary-container: rgb(62 71 88);
  --ds-color-on-secondary-container: rgb(217 227 248);
  --ds-color-tertiary: rgb(219 188 225);
  --ds-color-on-tertiary: rgb(62 40 69);
  --ds-color-tertiary-container: rgb(86 62 93);
  --ds-color-on-tertiary-container: rgb(249 216 254);
  --ds-color-error: rgb(255 180 171);
  --ds-color-on-error: rgb(105 0 5);
  --ds-color-error-container: rgb(147 0 10);
  --ds-color-on-error-container: rgb(255 218 214);
  --ds-color-background: rgb(17 19 24);
  --ds-color-on-background: rgb(226 226 233);
  --ds-color-surface: rgb(17 19 24);
  --ds-color-on-surface: rgb(226 226 233);
  --ds-color-surface-variant: rgb(67 71 78);
  --ds-color-on-surface-variant: rgb(196 198 207);
  --ds-color-outline: rgb(142 144 153);
  --ds-color-outline-variant: rgb(67 71 78);
  --ds-color-shadow: rgb(0 0 0);
  --ds-color-scrim: rgb(0 0 0);
  --ds-color-inverse-surface: rgb(226 226 233);
  --ds-color-inverse-on-surface: rgb(46 48 53);
  --ds-color-inverse-primary: rgb(63 95 144);
  --ds-color-primary-fixed: rgb(214 227 255);
  --ds-color-on-primary-fixed: rgb(0 27 60);
  --ds-color-primary-fixed-dim: rgb(168 200 255);
  --ds-color-on-primary-fixed-variant: rgb(37 71 119);
  --ds-color-secondary-fixed: rgb(217 227 248);
  --ds-color-on-secondary-fixed: rgb(18 28 43);
  --ds-color-secondary-fixed-dim: rgb(189 199 220);
  --ds-color-on-secondary-fixed-variant: rgb(62 71 88);
  --ds-color-tertiary-fixed: rgb(249 216 254);
  --ds-color-on-tertiary-fixed: rgb(40 19 47);
  --ds-color-tertiary-fixed-dim: rgb(219 188 225);
  --ds-color-on-tertiary-fixed-variant: rgb(86 62 93);
  --ds-color-surface-dim: rgb(17 19 24);
  --ds-color-surface-bright: rgb(55 57 62);
  --ds-color-surface-container-lowest: rgb(12 14 19);
  --ds-color-surface-container-low: rgb(25 28 32);
  --ds-color-surface-container: rgb(29 32 36);
  --ds-color-surface-container-high: rgb(40 42 47);
  --ds-color-surface-container-highest: rgb(51 53 58);
}
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2luZGV4LmNzcyIsIi4uL2ZvbnRzLmNzcyIsIi4uL3Jlc2V0LmNzcyIsIi4uLy4uL3Rva2Vucy9kaXN0L3Rva2Vucy5jc3MiLCIuLi9iYXNlbGluZS5jc3MiLCIuLi9wcmludC5jc3MiLCIuLi90aGVtZS5jc3MiLCIuLi9idXR0b24uY3NzIiwiLi4vY29tbW9uLmNzcyIsIi4uL3V0aWxpdHkuY3NzIiwiLi4vbWQvbGlnaHQuY3NzIiwiLi4vbWQvZGFyay5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FBR2hCLDJGQUEyRjtBQUQzRiwrRkFBK0Y7QUFHL0YsK0VBQStFO0FDTC9FO0FBQUEsVUFBVTtBQUNWO0VBQ0UsNEJBQTRCO0VBQzVCLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsa0JBQWtCO0VBQ2xCLHFFQUFxRTtFQUNyRTswRUFDd0U7QUFDMUU7QUFDQTtBQ1ZBOztBQUFBLDhGQUE4Rjs7QUFFOUY7OztDQUdDOztBQUVEOztDQUVDOztBQUVEOzs7RUFHRSxzQkFBc0I7QUFDeEI7O0FBRUE7Ozs7O0NBS0M7O0FBRUQ7RUFDRTs7Ozs7Ozs7b0JBUWtCO0VBQ2xCLE1BQU07RUFDTixpQkFBaUI7RUFDakIsTUFBTTtFQUNOLDhCQUE4QjtFQUM5QixNQUFNO0VBQ04sV0FBVztFQUNYLE1BQU07QUFDUjs7QUFFQTs7O0NBR0M7O0FBRUQ7O0NBRUM7O0FBRUQ7RUFDRSxTQUFTO0FBQ1g7O0FBRUE7OztDQUdDOztBQUVEOztDQUVDOztBQUVEOztFQUVFLG1CQUFtQjtBQUNyQjs7QUFFQTs7O0NBR0M7O0FBRUQ7Ozs7RUFJRTs7Ozs7O2FBTVc7RUFDWCxNQUFNO0VBQ04sY0FBYztFQUNkLE1BQU07QUFDUjs7QUFFQTs7Q0FFQzs7QUFFRDtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7O0NBRUM7O0FBRUQ7O0VBRUUsY0FBYztFQUNkLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0UsZUFBZTtBQUNq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QTRDO0VBQzVDLDBDQUEwQztFQUMxQywwQ0FBMEM7RUFDMUMseUNBQXlDO0VBQ3pDLDhDQUE4QztFQUM5QyxtREFBbUQ7RUFDbkQsNENBQTRDO0VBQzVDLDRDQUE0QztFQUM1QyxnREFBZ0Q7RUFDaEQsb0RBQW9EO0VBQ3BELDJDQUEyQztFQUMzQywyQ0FBMkM7RUFDM0MsK0NBQStDO0VBQy9DLG1EQUFtRDtFQUNuRCxxQ0FBcUM7RUFDckMsd0NBQXdDO0VBQ3hDLGtEQUFrRDtFQUNsRCwrQ0FBK0M7RUFDL0MsMkNBQTJDO0VBQzNDLGdEQUFnRDtFQUNoRCxtREFBbUQ7QUFDckQ7QUFDQSIsImZpbGUiOiJpbmRleC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8qIENTUyBpcyBvcmRlcmVkIGJ5IHNwZWNpZmljaXR5LCBzbyB0aGF0IGJyb3dzZXJzIHdpdGhvdXQgbGF5ZXJzIGZhbGwgYmFja3MgdG8gZ29vZCBkZWZhdWx0cyAqL1xuQGxheWVyIGRzLnJlc2V0LCBkcy50aGVtaW5nLCBkcy5iYXNlbGluZSwgZHMucHJpbnQsIGRzLnR5cG9ncmFwaHksIGRzLmNvbXBvbmVudHMsIGRzLmxheW91dDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ1NTIGZvdW5kYXRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpbXBvcnQgXCIuL2ZvbnRzLmNzc1wiIGxheWVyKGRzLnR5cG9ncmFwaHkpO1xuQGltcG9ydCBcIi4vcmVzZXQuY3NzXCIgbGF5ZXIoZHMucmVzZXQpO1xuQGltcG9ydCBcIi4vdG9rZW5zLmNzc1wiIGxheWVyKGRzLnRva2Vucyk7XG5AaW1wb3J0IFwiLi9iYXNlbGluZS5jc3NcIiBsYXllcihkcy5iYXNlbGluZSk7XG5AaW1wb3J0IFwiLi9wcmludC5jc3NcIiBsYXllcihkcy5wcmludCk7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ29tcG9uZW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW1wb3J0IFwiLi90aGVtZS5jc3NcIiBsYXllcihkcy5jb21wb25lbnRzKTtcblxuLyogRGVzaWduc3lzdGVtIHN0eWxlcyAqL1xuQGltcG9ydCBcIi4vYnV0dG9uLmNzc1wiIGxheWVyKGRzLmNvbXBvbmVudHMpO1xuQGltcG9ydCBcIi4vY29tbW9uLmNzc1wiIGxheWVyKGRzLmNvbXBvbmVudHMpO1xuQGltcG9ydCBcIi4vZm9udHMuY3NzXCIgbGF5ZXIoZHMuY29tcG9uZW50cyk7XG5AaW1wb3J0IFwiLi91dGlsaXR5LmNzc1wiIGxheWVyKGRzLmNvbXBvbmVudHMpO1xuXG5AaW1wb3J0IFwiLi9tZC9saWdodC5jc3NcIiBsYXllcihkcy50aGVtaW5nKTtcbkBpbXBvcnQgXCIuL21kL2RhcmsuY3NzXCIgbGF5ZXIoZHMudGhlbWluZyk7XG4iLCIvKiBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIDNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwIDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybChcIkByb3N0YWQvY3NzL2Rpc3QvU291cmNlU2FuczMtbm9ybWFsLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLFxuICAgIFUrMjA3NCwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XG59XG4iLCIvKiEgbW9kZXJuLW5vcm1hbGl6ZSB2My4wLjEgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvbW9kZXJuLW5vcm1hbGl6ZSAqL1xuXG4vKlxuRG9jdW1lbnRcbj09PT09PT09XG4qL1xuXG4vKipcblVzZSBhIGJldHRlciBib3ggbW9kZWwgKG9waW5pb25hdGVkKS5cbiovXG5cbiosXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKipcbjEuIEltcHJvdmUgY29uc2lzdGVuY3kgb2YgZGVmYXVsdCBmb250cyBpbiBhbGwgYnJvd3NlcnMuIChodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL21vZGVybi1ub3JtYWxpemUvaXNzdWVzLzMpXG4yLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4zLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbjQuIFVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUgKG9waW5pb25hdGVkKS5cbiovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTpcbiAgICBzeXN0ZW0tdWksXG4gICAgJ1NlZ29lIFVJJyxcbiAgICBSb2JvdG8sXG4gICAgSGVsdmV0aWNhLFxuICAgIEFyaWFsLFxuICAgIHNhbnMtc2VyaWYsXG4gICAgJ0FwcGxlIENvbG9yIEVtb2ppJyxcbiAgICAnU2Vnb2UgVUkgRW1vamknO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICB0YWItc2l6ZTogNDtcbiAgLyogNCAqL1xufVxuXG4vKlxuU2VjdGlvbnNcbj09PT09PT09XG4qL1xuXG4vKipcblJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qXG5UZXh0LWxldmVsIHNlbWFudGljc1xuPT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi8qKlxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSBhbmQgU2FmYXJpLlxuKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuMS4gSW1wcm92ZSBjb25zaXN0ZW5jeSBvZiBkZWZhdWx0IGZvbnRzIGluIGFsbCBicm93c2Vycy4gKGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvbW9kZXJuLW5vcm1hbGl6ZS9pc3N1ZXMvMylcbjIuIENvcnJlY3QgdGhlIG9kZCAnZW0nIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiovXG5cbmNvZGUsXG5rYmQsXG5zYW1wLFxucHJlIHtcbiAgZm9udC1mYW1pbHk6XG4gICAgdWktbW9ub3NwYWNlLFxuICAgIFNGTW9uby1SZWd1bGFyLFxuICAgIENvbnNvbGFzLFxuICAgICdMaWJlcmF0aW9uIE1vbm8nLFxuICAgIE1lbmxvLFxuICAgIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuXG4vKipcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG5QcmV2ZW50ICdzdWInIGFuZCAnc3VwJyBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLypcblRhYnVsYXIgZGF0YVxuPT09PT09PT09PT09XG4qL1xuXG4vKipcbkNvcnJlY3QgdGFibGUgYm9yZGVyIGNvbG9yIGluaGVyaXRhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9pc3N1ZXMuY2hyb21pdW0ub3JnL2lzc3Vlcy80MDYxNTUwMywgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTAxNilcbiovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG59XG5cbi8qXG5Gb3Jtc1xuPT09PT1cbiovXG5cbi8qKlxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4yLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4qL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiovXG5cbmJ1dHRvbixcblt0eXBlPSdidXR0b24nXSxcblt0eXBlPSdyZXNldCddLFxuW3R5cGU9J3N1Ym1pdCddIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dCAnZmllbGRzZXQnIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiovXG5cbmxlZ2VuZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUgYW5kIEZpcmVmb3guXG4qL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG5Db3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXG4qL1xuXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiovXG5cblt0eXBlPSdzZWFyY2gnXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG59XG5cbi8qKlxuUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuKi9cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbjEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4yLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvICdpbmhlcml0JyBpbiBTYWZhcmkuXG4qL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xufVxuXG4vKlxuSW50ZXJhY3RpdmVcbj09PT09PT09PT09XG4qL1xuXG4vKlxuQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4qL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuIiwiLyoqXG4gKiBEbyBub3QgZWRpdCBkaXJlY3RseSwgdGhpcyBmaWxlIHdhcyBhdXRvLWdlbmVyYXRlZC5cbiAqL1xuXG46cm9vdCwgOmhvc3Qge1xuICAtLWRzLWJyZWFrcG9pbnQtc206IDQ4MHB4O1xuICAtLWRzLWJyZWFrcG9pbnQtc20tZG93bjogNDc5cHg7XG4gIC0tZHMtYnJlYWtwb2ludC1tZDogNzY4cHg7XG4gIC0tZHMtYnJlYWtwb2ludC1tZC1kb3duOiA3NjdweDtcbiAgLS1kcy1icmVha3BvaW50LWxnOiAxMDI0cHg7XG4gIC0tZHMtYnJlYWtwb2ludC1sZy1kb3duOiAxMDIzcHg7XG4gIC0tZHMtYnJlYWtwb2ludC14bDogMTI4MHB4O1xuICAtLWRzLWJyZWFrcG9pbnQteGwtZG93bjogMTI3OXB4O1xuICAtLWRzLWhlYWRpbmctMnhsOiAyLjVyZW07XG4gIC0tZHMtaGVhZGluZy14bDogMnJlbTtcbiAgLS1kcy1oZWFkaW5nLWxnOiAxLjc1cmVtO1xuICAtLWRzLWhlYWRpbmctbWQ6IDEuNXJlbTtcbiAgLS1kcy1oZWFkaW5nLXNtOiAxLjI1cmVtO1xuICAtLWRzLWhlYWRpbmcteHM6IDEuMTI1cmVtO1xuICAtLWRzLWhlYWRpbmctbGluZWhlaWdodC0yeGw6IDMuMjVyZW07XG4gIC0tZHMtaGVhZGluZy1saW5laGVpZ2h0LXhsOiAxLjVyZW07XG4gIC0tZHMtaGVhZGluZy1saW5laGVpZ2h0LWxnOiAyLjI1cmVtO1xuICAtLWRzLWhlYWRpbmctbGluZWhlaWdodC1tZDogMnJlbTtcbiAgLS1kcy1oZWFkaW5nLWxpbmVoZWlnaHQtc206IDEuNzVyZW07XG4gIC0tZHMtZm9udC1mYW1pbHk6IFwiU291cmNlIFNhbnMgM1wiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgLS1kcy1mb250LXNpemUtaGVhZGluZy0yeGxhcmdlOiAyLjVyZW07XG4gIC0tZHMtZm9udC1zaXplLWhlYWRpbmcteGxhcmdlOiAycmVtO1xuICAtLWRzLWZvbnQtc2l6ZS1oZWFkaW5nLWxhcmdlOiAxLjc1cmVtO1xuICAtLWRzLWZvbnQtc2l6ZS1oZWFkaW5nLW1lZGl1bTogMS41cmVtO1xuICAtLWRzLWZvbnQtc2l6ZS1oZWFkaW5nLXNtYWxsOiAxLjI1cmVtO1xuICAtLWRzLWZvbnQtc2l6ZS1oZWFkaW5nLXhzbWFsbDogMS4xMjVyZW07XG4gIC0tZHMtZm9udC1zaXplLXhsYXJnZTogMS4yNXJlbTtcbiAgLS1kcy1mb250LXNpemUtbGFyZ2U6IDEuMTI1cmVtO1xuICAtLWRzLWZvbnQtc2l6ZS1tZWRpdW06IDFyZW07XG4gIC0tZHMtZm9udC1zaXplLXNtYWxsOiAwLjg3NXJlbTtcbiAgLS1kcy1mb250LXdlaWdodC1ib2xkOiA2MDA7XG4gIC0tZHMtZm9udC13ZWlnaHQtcmVndWxhcjogNDAwO1xuICAtLWRzLXotaW5kZXgtZm9jdXM6IDEwO1xuICAtLWRzLXotaW5kZXgtcG9wb3ZlcjogMTAwMDtcbiAgLS1kcy16LWluZGV4LW1vZGFsOiAyMDAwO1xuICAtLWRzLXotaW5kZXgtdG9vbHRpcDogMzAwMDtcbiAgLS1kcy1ib3JkZXItcmFkaXVzLXNtYWxsOiAycHg7XG4gIC0tZHMtYm9yZGVyLXJhZGl1cy1tZWRpdW06IDRweDtcbiAgLS1kcy1ib3JkZXItcmFkaXVzLWxhcmdlOiA4cHg7XG4gIC0tZHMtYm9yZGVyLXJhZGl1cy14bGFyZ2U6IDEycHg7XG4gIC0tZHMtYm9yZGVyLXJhZGl1cy1mdWxsOiA5OTk5cHg7XG4gIC0tZHMtY29sb3ItcHJpbWFyeTogIzAyNjhDNztcbiAgLS1kcy1jb2xvci1saWdodC1wcmltYXJ5LWJnOiAjM0Y1RjkwO1xuICAtLWRzLWNvbG9yLWxpZ2h0LXByaW1hcnktdGV4dDogI0ZGRkZGRjtcbiAgLS1kcy1jb2xvci1saWdodC1wcmltYXJ5LXN0cm9uZy1iZzogIzI1NDc3NztcbiAgLS1kcy1jb2xvci1saWdodC1wcmltYXJ5LXN0cm9uZy10ZXh0OiAjRkZGRkZGO1xuICAtLWRzLWNvbG9yLWxpZ2h0LXNlY29uZGFyeS1iZzogIzU1NUY3MTtcbiAgLS1kcy1jb2xvci1saWdodC1zZWNvbmRhcnktdGV4dDogI0ZGRkZGRjtcbiAgLS1kcy1jb2xvci1saWdodC10ZXJ0aWFyeS1iZzogIzZGNTY3NTtcbiAgLS1kcy1jb2xvci1saWdodC10ZXJ0aWFyeS10ZXh0OiAjRkZGRkZGO1xuICAtLWRzLXNwYWNlLTE6IDAuMjVyZW07XG4gIC0tZHMtc3BhY2UtMjogMC41cmVtO1xuICAtLWRzLXNwYWNlLTM6IDAuNzVyZW07XG4gIC0tZHMtc3BhY2UtNDogMXJlbTtcbiAgLS1kcy1zcGFjZS01OiAxLjI1cmVtO1xuICAtLWRzLXNwYWNlLTY6IDEuNXJlbTtcbiAgLS1kcy1zcGFjZS03OiAxLjc1cmVtO1xuICAtLWRzLXNwYWNlLTg6IDJyZW07XG4gIC0tZHMtc3BhY2UtOTogMi4yNXJlbTtcbiAgLS1kcy1zcGFjZS0xMDogMi41cmVtO1xuICAtLWRzLXNwYWNlLTExOiAyLjc1cmVtO1xuICAtLWRzLXNwYWNlLTEyOiAzcmVtO1xuICAtLWRzLXNwYWNlLTE0OiAzLjVyZW07XG4gIC0tZHMtc3BhY2UtMTY6IDRyZW07XG4gIC0tZHMtc3BhY2UtMTg6IDQuNXJlbTtcbiAgLS1kcy1zcGFjZS0yMDogNXJlbTtcbiAgLS1kcy1zcGFjZS0yNDogNnJlbTtcbiAgLS1kcy1zcGFjZS0zMjogOHJlbTtcbiAgLS1kcy1zcGFjZS0wNTogMC4xMjVyZW07XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEdsb2JhbCB0eXBvLWRlZmluaXRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keSxcbjpob3N0IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWRzLWZvbnQtZmFtaWx5LCBcIlNvdXJjZSBTYW5zIDNcIiwgQXJpYWwsIHNhbnMtc2VyaWYpO1xuICBsaW5lLWhlaWdodDogMS4zMzM7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSW5saW5lIHV0aWxpdGllcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5baGlkZGVuXSB7XG4gIC8qIENTUy1sYXllcnMgcmV2ZXJzZXMgXCIhaW1wb3J0YW50XCIgb3JkZXJpbmcsIHNvIHdlIGNhbid0IHNldCB0aGlzIHRvIGltcG9ydGFudCBpZiB3ZSB3YW50IHRvIG92ZXJyaWRlIGl0IGxhdGVyLiAqL1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBodHRwczovL3dlYi5kZXYvcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi8gKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cbiAgOjpiZWZvcmUsXG4gIDo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHMgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKlxuICogRnJvbSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9kaXN0L2Nzcy9zdHlsZS5jc3NcbiAqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqL1xuXG4uc3Itb25seSxcbi5ha3NlbC1zci1vbmx5IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDFweDtcbn1cblxuLypcbiogRnJvbSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9kaXN0L2Nzcy9zdHlsZS5jc3NcbipcbiogRXh0ZW5kcyB0aGUgLnNyLW9ubHkgY2xhc3MgdG8gYWxsb3cgdGhlIGVsZW1lbnRcbiogdG8gYmUgZm9jdXNhYmxlIHdoZW4gbmF2aWdhdGVkIHRvIHZpYSB0aGUga2V5Ym9hcmQ6XG4qIGh0dHBzOi8vd3d3LmRydXBhbC5vcmcvbm9kZS84OTc2MzhcbiovXG5cbi5zci1vbmx5LmZvY3VzYWJsZTphY3RpdmUsXG4uc3Itb25seS5mb2N1c2FibGU6Zm9jdXMsXG4uYWtzZWwtc3Itb25seS5mb2N1c2FibGU6YWN0aXZlLFxuLmFrc2VsLXNyLW9ubHkuZm9jdXNhYmxlOmZvY3VzIHtcbiAgY2xpcDogYXV0bztcbiAgY2xpcC1wYXRoOiBub25lO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICB3aWR0aDogYXV0bztcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcmludCBzdHlsZXMgY29waWVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvZGlzdC9jc3Mvc3R5bGUuY3NzXG4gICBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbiAgIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBwcmludCB7XG5cbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG5cbiAgICAvKiBCbGFjayBwcmludHMgZmFzdGVyICovXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgYVtocmVmXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICB9XG5cbiAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gIH1cblxuICAvKlxuICAgICAqIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgICogb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgICAqL1xuICBhW2hyZWZePVwiI1wiXTo6YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICBwcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xuICB9XG5cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIC8qXG4gICAgICogUHJpbnRpbmcgVGFibGVzOlxuICAgICAqIGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDE4MDgxNTE1MDkzNC9odHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAgKi9cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuXG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cblxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG59XG4iLCIuZHMtdGhlbWUge1xuICBjb2xvcjogdmFyKC0tZHMtdGV4dC1uZXV0cmFsLCAjMDAwMDAwKTtcblxuICAmW2RhdGEtYmFja2dyb3VuZD1cInRydWVcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIH1cblxuICAmLmxpZ2h0IHtcbiAgICBjb2xvci1zY2hlbWU6IGxpZ2h0O1xuICB9XG5cbiAgJi5kYXJrIHtcbiAgICBjb2xvci1zY2hlbWU6IGRhcms7XG4gIH1cbn0iLCIuZHMtYnV0dG9uIHtcbiAgLS1fX2RzLWJ1dHRvbi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLV9fZHMtYnV0dG9uLWJvcmRlci13aWR0aDogMnB4O1xuXG4gIHBhZGRpbmc6IHZhcigtLWRzLXNwYWNlLTMpIHZhcigtLWRzLXNwYWNlLTUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1kcy1ib3JkZXItcmFkaXVzLW1lZGl1bSk7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1kcy1zcGFjZS04KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgdmFyKC0tX19kcy1idXR0b24tYm9yZGVyLXdpZHRoKSB2YXIoLS1fX2RzLWJ1dHRvbi1ib3JkZXItY29sb3IpO1xuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWRzLWJvcmRlci1mb2N1cyk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbiAgfVxuXG4gICZbZGF0YS12YXJpYW50PVwicHJpbWFyeVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZHMtY29sb3ItbGlnaHQtcHJpbWFyeS1iZyk7XG4gICAgY29sb3I6IHZhcigtLWRzLWNvbG9yLWxpZ2h0LXByaW1hcnktdGV4dCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRzLWNvbG9yLWxpZ2h0LXByaW1hcnktc3Ryb25nLWJnKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kcy1jb2xvci1saWdodC1wcmltYXJ5LWJnKTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtdmFyaWFudD1cInNlY29uZGFyeVwiXSB7XG4gICAgLS1fX2RzLWJ1dHRvbi1ib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gIH1cblxuICAmW2RhdGEtc2l6ZT1cInNtYWxsXCJdIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1kcy1zcGFjZS0xKSB2YXIoLS1kcy1zcGFjZS0zKTtcbiAgICBtaW4taGVpZ2h0OiAycmVtO1xuICAgIG1pbi13aWR0aDogMnJlbTtcbiAgICBnYXA6IHZhcigtLWRzLXNwYWNlLTYpO1xuICB9XG59XG5cbkBzdXBwb3J0cyBub3Qgc2VsZWN0b3IoOmZvY3VzLXZpc2libGUpIHtcbiAgLmRzLWJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWRzLWJvcmRlci1mb2N1cyk7XG4gIH1cbn1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLmRzLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IEJ1dHRvblRleHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQnV0dG9uRmFjZTtcbiAgfVxuXG4gIC5kcy1idXR0b24tLXByaW1hcnksXG4gIC5kcy1idXR0b24tLWRhbmdlciB7XG4gICAgc3Ryb2tlOiBjYW52YXN0ZXh0O1xuICB9XG59XG4iLCIuaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qXG4gKiBGcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL2Rpc3QvY3NzL3N0eWxlLmNzc1xuICpcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICovXG5cbi5zci1vbmx5IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxcHg7XG5cbiAgLyogMSAqL1xufVxuXG4vKlxuICogRnJvbSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9kaXN0L2Nzcy9zdHlsZS5jc3NcbiAqXG4gKiBFeHRlbmRzIHRoZSAuc3Itb25seSBjbGFzcyB0byBhbGxvdyB0aGUgZWxlbWVudFxuICogdG8gYmUgZm9jdXNhYmxlIHdoZW4gbmF2aWdhdGVkIHRvIHZpYSB0aGUga2V5Ym9hcmQ6XG4gKiBodHRwczovL3d3dy5kcnVwYWwub3JnL25vZGUvODk3NjM4XG4gKi9cblxuLnNyLW9ubHkuZm9jdXNhYmxlOmFjdGl2ZSxcbi5zci1vbmx5LmZvY3VzYWJsZTpmb2N1cyB7XG4gIGNsaXA6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG4gIHdpZHRoOiBhdXRvO1xufVxuIiwiLmxpZ2h0IHtcbiAgLS1kcy1jb2xvci1wcmltYXJ5OiByZ2IoNjMgOTUgMTQ0KTtcbiAgLS1kcy1jb2xvci1zdXJmYWNlLXRpbnQ6IHJnYig2MyA5NSAxNDQpO1xuICAtLWRzLWNvbG9yLW9uLXByaW1hcnk6IHJnYigyNTUgMjU1IDI1NSk7XG4gIC0tZHMtY29sb3ItcHJpbWFyeS1jb250YWluZXI6IHJnYigyMTQgMjI3IDI1NSk7XG4gIC0tZHMtY29sb3Itb24tcHJpbWFyeS1jb250YWluZXI6IHJnYigzNyA3MSAxMTkpO1xuICAtLWRzLWNvbG9yLXNlY29uZGFyeTogcmdiKDg1IDk1IDExMyk7XG4gIC0tZHMtY29sb3Itb24tc2Vjb25kYXJ5OiByZ2IoMjU1IDI1NSAyNTUpO1xuICAtLWRzLWNvbG9yLXNlY29uZGFyeS1jb250YWluZXI6IHJnYigyMTcgMjI3IDI0OCk7XG4gIC0tZHMtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lcjogcmdiKDYyIDcxIDg4KTtcbiAgLS1kcy1jb2xvci10ZXJ0aWFyeTogcmdiKDExMSA4NiAxMTcpO1xuICAtLWRzLWNvbG9yLW9uLXRlcnRpYXJ5OiByZ2IoMjU1IDI1NSAyNTUpO1xuICAtLWRzLWNvbG9yLXRlcnRpYXJ5LWNvbnRhaW5lcjogcmdiKDI0OSAyMTYgMjU0KTtcbiAgLS1kcy1jb2xvci1vbi10ZXJ0aWFyeS1jb250YWluZXI6IHJnYig4NiA2MiA5Myk7XG4gIC0tZHMtY29sb3ItZXJyb3I6IHJnYigxODYgMjYgMjYpO1xuICAtLWRzLWNvbG9yLW9uLWVycm9yOiByZ2IoMjU1IDI1NSAyNTUpO1xuICAtLWRzLWNvbG9yLWVycm9yLWNvbnRhaW5lcjogcmdiKDI1NSAyMTggMjE0KTtcbiAgLS1kcy1jb2xvci1vbi1lcnJvci1jb250YWluZXI6IHJnYigxNDcgMCAxMCk7XG4gIC0tZHMtY29sb3ItYmFja2dyb3VuZDogcmdiKDI0OSAyNDkgMjU1KTtcbiAgLS1kcy1jb2xvci1vbi1iYWNrZ3JvdW5kOiByZ2IoMjUgMjggMzIpO1xuICAtLWRzLWNvbG9yLXN1cmZhY2U6IHJnYigyNDkgMjQ5IDI1NSk7XG4gIC0tZHMtY29sb3Itb24tc3VyZmFjZTogcmdiKDI1IDI4IDMyKTtcbiAgLS1kcy1jb2xvci1zdXJmYWNlLXZhcmlhbnQ6IHJnYigyMjQgMjI2IDIzNik7XG4gIC0tZHMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50OiByZ2IoNjcgNzEgNzgpO1xuICAtLWRzLWNvbG9yLW91dGxpbmU6IHJnYigxMTYgMTE5IDEyNyk7XG4gIC0tZHMtY29sb3Itb3V0bGluZS12YXJpYW50OiByZ2IoMTk2IDE5OCAyMDcpO1xuICAtLWRzLWNvbG9yLXNoYWRvdzogcmdiKDAgMCAwKTtcbiAgLS1kcy1jb2xvci1zY3JpbTogcmdiKDAgMCAwKTtcbiAgLS1kcy1jb2xvci1pbnZlcnNlLXN1cmZhY2U6IHJnYig0NiA0OCA1Myk7XG4gIC0tZHMtY29sb3ItaW52ZXJzZS1vbi1zdXJmYWNlOiByZ2IoMjQwIDI0MCAyNDcpO1xuICAtLWRzLWNvbG9yLWludmVyc2UtcHJpbWFyeTogcmdiKDE2OCAyMDAgMjU1KTtcbiAgLS1kcy1jb2xvci1wcmltYXJ5LWZpeGVkOiByZ2IoMjE0IDIyNyAyNTUpO1xuICAtLWRzLWNvbG9yLW9uLXByaW1hcnktZml4ZWQ6IHJnYigwIDI3IDYwKTtcbiAgLS1kcy1jb2xvci1wcmltYXJ5LWZpeGVkLWRpbTogcmdiKDE2OCAyMDAgMjU1KTtcbiAgLS1kcy1jb2xvci1vbi1wcmltYXJ5LWZpeGVkLXZhcmlhbnQ6IHJnYigzNyA3MSAxMTkpO1xuICAtLWRzLWNvbG9yLXNlY29uZGFyeS1maXhlZDogcmdiKDIxNyAyMjcgMjQ4KTtcbiAgLS1kcy1jb2xvci1vbi1zZWNvbmRhcnktZml4ZWQ6IHJnYigxOCAyOCA0Myk7XG4gIC0tZHMtY29sb3Itc2Vjb25kYXJ5LWZpeGVkLWRpbTogcmdiKDE4OSAxOTkgMjIwKTtcbiAgLS1kcy1jb2xvci1vbi1zZWNvbmRhcnktZml4ZWQtdmFyaWFudDogcmdiKDYyIDcxIDg4KTtcbiAgLS1kcy1jb2xvci10ZXJ0aWFyeS1maXhlZDogcmdiKDI0OSAyMTYgMjU0KTtcbiAgLS1kcy1jb2xvci1vbi10ZXJ0aWFyeS1maXhlZDogcmdiKDQwIDE5IDQ3KTtcbiAgLS1kcy1jb2xvci10ZXJ0aWFyeS1maXhlZC1kaW06IHJnYigyMTkgMTg4IDIyNSk7XG4gIC0tZHMtY29sb3Itb24tdGVydGlhcnktZml4ZWQtdmFyaWFudDogcmdiKDg2IDYyIDkzKTtcbiAgLS1kcy1jb2xvci1zdXJmYWNlLWRpbTogcmdiKDIxNyAyMTcgMjI0KTtcbiAgLS1kcy1jb2xvci1zdXJmYWNlLWJyaWdodDogcmdiKDI0OSAyNDkgMjU1KTtcbiAgLS1kcy1jb2xvci1zdXJmYWNlLWNvbnRhaW5lci1sb3dlc3Q6IHJnYigyNTUgMjU1IDI1NSk7XG4gIC0tZHMtY29sb3Itc3VyZmFjZS1jb250YWluZXItbG93OiByZ2IoMjQzIDI0MyAyNTApO1xuICAtLWRzLWNvbG9yLXN1cmZhY2UtY29udGFpbmVyOiByZ2IoMjM3IDIzNyAyNDQpO1xuICAtLWRzLWNvbG9yLXN1cmZhY2UtY29udGFpbmVyLWhpZ2g6IHJnYigyMzEgMjMyIDIzOCk7XG4gIC0tZHMtY29sb3Itc3VyZmFjZS1jb250YWluZXItaGlnaGVzdDogcmdiKDIyNiAyMjYgMjMzKTtcbn1cbiIsIi5kYXJrIHtcbiAgLS1kcy1jb2xvci1wcmltYXJ5OiByZ2IoMTY4IDIwMCAyNTUpO1xuICAtLWRzLWNvbG9yLXN1cmZhY2UtdGludDogcmdiKDE2OCAyMDAgMjU1KTtcbiAgLS1kcy1jb2xvci1vbi1wcmltYXJ5OiByZ2IoNiA0OCA5NSk7XG4gIC0tZHMtY29sb3ItcHJpbWFyeS1jb250YWluZXI6IHJnYigzNyA3MSAxMTkpO1xuICAtLWRzLWNvbG9yLW9uLXByaW1hcnktY29udGFpbmVyOiByZ2IoMjE0IDIyNyAyNTUpO1xuICAtLWRzLWNvbG9yLXNlY29uZGFyeTogcmdiKDE4OSAxOTkgMjIwKTtcbiAgLS1kcy1jb2xvci1vbi1zZWNvbmRhcnk6IHJnYigzOSA0OSA2NSk7XG4gIC0tZHMtY29sb3Itc2Vjb25kYXJ5LWNvbnRhaW5lcjogcmdiKDYyIDcxIDg4KTtcbiAgLS1kcy1jb2xvci1vbi1zZWNvbmRhcnktY29udGFpbmVyOiByZ2IoMjE3IDIyNyAyNDgpO1xuICAtLWRzLWNvbG9yLXRlcnRpYXJ5OiByZ2IoMjE5IDE4OCAyMjUpO1xuICAtLWRzLWNvbG9yLW9uLXRlcnRpYXJ5OiByZ2IoNjIgNDAgNjkpO1xuICAtLWRzLWNvbG9yLXRlcnRpYXJ5LWNvbnRhaW5lcjogcmdiKDg2IDYyIDkzKTtcbiAgLS1kcy1jb2xvci1vbi10ZXJ0aWFyeS1jb250YWluZXI6IHJnYigyNDkgMjE2IDI1NCk7XG4gIC0tZHMtY29sb3ItZXJyb3I6IHJnYigyNTUgMTgwIDE3MSk7XG4gIC0tZHMtY29sb3Itb24tZXJyb3I6IHJnYigxMDUgMCA1KTtcbiAgLS1kcy1jb2xvci1lcnJvci1jb250YWluZXI6IHJnYigxNDcgMCAxMCk7XG4gIC0tZHMtY29sb3Itb24tZXJyb3ItY29udGFpbmVyOiByZ2IoMjU1IDIxOCAyMTQpO1xuICAtLWRzLWNvbG9yLWJhY2tncm91bmQ6IHJnYigxNyAxOSAyNCk7XG4gIC0tZHMtY29sb3Itb24tYmFja2dyb3VuZDogcmdiKDIyNiAyMjYgMjMzKTtcbiAgLS1kcy1jb2xvci1zdXJmYWNlOiByZ2IoMTcgMTkgMjQpO1xuICAtLWRzLWNvbG9yLW9uLXN1cmZhY2U6IHJnYigyMjYgMjI2IDIzMyk7XG4gIC0tZHMtY29sb3Itc3VyZmFjZS12YXJpYW50OiByZ2IoNjcgNzEgNzgpO1xuICAtLWRzLWNvbG9yLW9uLXN1cmZhY2UtdmFyaWFudDogcmdiKDE5NiAxOTggMjA3KTtcbiAgLS1kcy1jb2xvci1vdXRsaW5lOiByZ2IoMTQyIDE0NCAxNTMpO1xuICAtLWRzLWNvbG9yLW91dGxpbmUtdmFyaWFudDogcmdiKDY3IDcxIDc4KTtcbiAgLS1kcy1jb2xvci1zaGFkb3c6IHJnYigwIDAgMCk7XG4gIC0tZHMtY29sb3Itc2NyaW06IHJnYigwIDAgMCk7XG4gIC0tZHMtY29sb3ItaW52ZXJzZS1zdXJmYWNlOiByZ2IoMjI2IDIyNiAyMzMpO1xuICAtLWRzLWNvbG9yLWludmVyc2Utb24tc3VyZmFjZTogcmdiKDQ2IDQ4IDUzKTtcbiAgLS1kcy1jb2xvci1pbnZlcnNlLXByaW1hcnk6IHJnYig2MyA5NSAxNDQpO1xuICAtLWRzLWNvbG9yLXByaW1hcnktZml4ZWQ6IHJnYigyMTQgMjI3IDI1NSk7XG4gIC0tZHMtY29sb3Itb24tcHJpbWFyeS1maXhlZDogcmdiKDAgMjcgNjApO1xuICAtLWRzLWNvbG9yLXByaW1hcnktZml4ZWQtZGltOiByZ2IoMTY4IDIwMCAyNTUpO1xuICAtLWRzLWNvbG9yLW9uLXByaW1hcnktZml4ZWQtdmFyaWFudDogcmdiKDM3IDcxIDExOSk7XG4gIC0tZHMtY29sb3Itc2Vjb25kYXJ5LWZpeGVkOiByZ2IoMjE3IDIyNyAyNDgpO1xuICAtLWRzLWNvbG9yLW9uLXNlY29uZGFyeS1maXhlZDogcmdiKDE4IDI4IDQzKTtcbiAgLS1kcy1jb2xvci1zZWNvbmRhcnktZml4ZWQtZGltOiByZ2IoMTg5IDE5OSAyMjApO1xuICAtLWRzLWNvbG9yLW9uLXNlY29uZGFyeS1maXhlZC12YXJpYW50OiByZ2IoNjIgNzEgODgpO1xuICAtLWRzLWNvbG9yLXRlcnRpYXJ5LWZpeGVkOiByZ2IoMjQ5IDIxNiAyNTQpO1xuICAtLWRzLWNvbG9yLW9uLXRlcnRpYXJ5LWZpeGVkOiByZ2IoNDAgMTkgNDcpO1xuICAtLWRzLWNvbG9yLXRlcnRpYXJ5LWZpeGVkLWRpbTogcmdiKDIxOSAxODggMjI1KTtcbiAgLS1kcy1jb2xvci1vbi10ZXJ0aWFyeS1maXhlZC12YXJpYW50OiByZ2IoODYgNjIgOTMpO1xuICAtLWRzLWNvbG9yLXN1cmZhY2UtZGltOiByZ2IoMTcgMTkgMjQpO1xuICAtLWRzLWNvbG9yLXN1cmZhY2UtYnJpZ2h0OiByZ2IoNTUgNTcgNjIpO1xuICAtLWRzLWNvbG9yLXN1cmZhY2UtY29udGFpbmVyLWxvd2VzdDogcmdiKDEyIDE0IDE5KTtcbiAgLS1kcy1jb2xvci1zdXJmYWNlLWNvbnRhaW5lci1sb3c6IHJnYigyNSAyOCAzMik7XG4gIC0tZHMtY29sb3Itc3VyZmFjZS1jb250YWluZXI6IHJnYigyOSAzMiAzNik7XG4gIC0tZHMtY29sb3Itc3VyZmFjZS1jb250YWluZXItaGlnaDogcmdiKDQwIDQyIDQ3KTtcbiAgLS1kcy1jb2xvci1zdXJmYWNlLWNvbnRhaW5lci1oaWdoZXN0OiByZ2IoNTEgNTMgNTgpO1xufVxuIl19 */