@charset "UTF-8";
/* ////////////////////////////////////////////////////////////// */
/* Universal */
/* ////////////////////////////////////////////////////////////// */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Global Resets */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
@import url("https://fast.fonts.net/lt/1.css?apiType=css&c=0fb1fe68-9b02-491f-9f42-09eb999f050e&fontids=5656268,5656275");
html {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
}

*, *::before, *::after {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  scrollbar-color: transparent transparent;
  scrollbar-width: none;
  box-sizing: inherit;
  margin: 0;
  padding: 0;
}

button, textarea, input, select, a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Fonts / */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Univers Next Pro Regular */
@font-face {
  font-family: "Univers Next";
  src: url("fonts/UniversNext/5dac8626-172e-4f72-98df-8667df989493.woff2") format("woff2"), url("fonts/UniversNext/03385478-0a27-40a7-b628-f241b112274a.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
/* Univers Next Pro Light */
@font-face {
  font-family: "Univers Next";
  src: url("fonts/UniversNext/54a7f9d3-6607-4c69-818e-c24ea246d4b9.woff2") format("woff2"), url("fonts/UniversNext/6c20c388-7de7-41a7-94dc-9b9644811fec.woff") format("woff");
  font-weight: 300;
  font-style: normal;
}
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Roots */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
:root {
  --scr: calc(((90px + (100vw / 100))/100));
  --line: calc(var(--blu)*0.08);
  --navi-inner: calc( var(--h1-fs)*0.73);
  --navi-outer: calc(0px + (var(--blu)*2) + (var(--h1-fs)*0.73));
  --CF-RED: #ff0000;
  --CF-GRE: #00e686;
  --CF-RIN: #19e1ff;
  --CG-000: #000000;
  --CG-014: #242424;
  --CG-033: #4e5153;
  --CG-057: #91918e;
  --CG-063: #9ea09f;
  --CG-069: #aeb0b0;
  --CG-093: #edeceb;
  --CG-100: #ffffff;
  --univers: "Univers Next", Helvetica, Arial, sans-serif;
  --LHR: 0.85;
  --n-lh: calc(var(--blu) * 1);
  --n-fs: calc(var(--n-lh) * var(--LHR));
  --p-lh: calc(var(--blu) * 1.6428571429);
  --p-fs: calc(var(--p-lh) * var(--LHR));
  --h3-lh: calc(var(--blu) * 2.6428571429);
  --h3-fs: calc(var(--h3-lh) * var(--LHR));
  --h1-lh: calc(var(--blu) * 4.2142857143);
  --h1-fs: calc(var(--h1-lh) * var(--LHR));
  --trans-duration: 1s;
  --trans-function: ease-in-out;
  --wi-settings: clamp(calc(var(--blu)*33), calc(100vw / 8 * 3), calc(var(--blu)*40));
  --wi-related: clamp(calc(var(--blu)*47), calc(100vw / 8 * 4), calc(var(--blu)*90));
  --wi-saved: calc(var(--blu)*13);
  --blur: 10px;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Basic typography */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
body, p, .p, * {
  font-family: var(--univers);
  color: var(--COL-TE);
}

h1, .h1 {
  text-transform: uppercase;
}

h1, .h1,
h2, .h2 {
  font-weight: 300;
  font-style: normal;
  font-size: var(--h1-fs);
  line-height: var(--h1-lh);
  margin-left: calc(0px - var(--h1-lh) * 0.08);
  margin-top: calc(0px - var(--h1-lh) * 0.07);
}

h3, h4, h5, h6, h7, h8,
.h3, .h4, .h5, .h6, .h7, .h8 {
  font-weight: 400;
  font-style: normal;
  font-size: var(--h3-fs);
  line-height: var(--h3-lh);
  margin-left: calc(0px - var(--h3-lh) * 0.08);
  margin-top: calc(0px - var(--h3-lh) * 0.07);
}

p, .p {
  font-weight: 400;
  font-style: normal;
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  margin-left: calc(0px - var(--p-lh) * 0.08);
  margin-top: calc(0px - var(--p-lh) * 0.07);
}

h9, .h9 {
  font-weight: 400;
  font-style: normal;
  font-size: var(--n-fs);
  line-height: var(--n-lh);
  margin-left: calc(0px - var(--n-lh) * 0.08);
  margin-top: calc(0px - var(--n-lh) * 0.07);
}

a, a:link, a:visited {
  color: var(--COL-TE);
  text-decoration: underline;
}

.type-sample, .type-sample div {
  font-family: "main-dynamic-font", "Univers Next", Helvetica, Arial, sans-serif;
}

#comp-type-sample[type-sample-selection=aa], #comp-type-init[type-sample-selection=aa] {
  --capital-height: min(calc(var(--vw) * 35), calc(var(--vh) * 70));
}
#comp-type-sample[type-sample-selection=champions], #comp-type-init[type-sample-selection=champions] {
  --capital-height: min(calc(var(--vw) * 8), calc(var(--vh) * 15));
}
#comp-type-sample[type-sample-selection=waffles], #comp-type-init[type-sample-selection=waffles] {
  --capital-height: min(calc(var(--vw) * 9), calc(var(--vh) * 20));
}
#comp-type-sample[type-sample-selection=handgloves], #comp-type-init[type-sample-selection=handgloves] {
  --capital-height: min(calc(var(--vw) * 9), calc(var(--vh) * 20));
}
#comp-type-sample[type-sample-selection=minimom], #comp-type-init[type-sample-selection=minimom] {
  --capital-height: min(calc(var(--vw) * 9), calc(var(--vh) * 20));
}
#comp-type-sample[type-sample-selection=sphinx], #comp-type-init[type-sample-selection=sphinx] {
  --capital-height: min(calc(var(--vw) * 8), calc(var(--vh) * 15));
}
#comp-type-sample[type-sample-selection=fox], #comp-type-init[type-sample-selection=fox] {
  --capital-height: min(calc(var(--vw) * 6), calc(var(--vh) * 15));
}
#comp-type-sample[type-sample-selection=alphabet], #comp-type-init[type-sample-selection=alphabet] {
  --capital-height: min(calc(var(--vw) * 7), calc(var(--vh) * 7));
}
#comp-type-sample[type-sample-selection=numerals], #comp-type-init[type-sample-selection=numerals] {
  --capital-height: min(calc(var(--vw) * 9), calc(var(--vh) * 20));
}
#comp-type-sample[type-sample-selection=collname], #comp-type-init[type-sample-selection=collname] {
  --capital-height: min(calc(var(--vw) * 6), calc(var(--vh) * 15));
}
#comp-type-sample[type-sample-selection=hoefler], #comp-type-init[type-sample-selection=hoefler] {
  --capital-height: min(calc(var(--vw) * 1.4), calc(var(--vh) * 1.4));
  white-space: normal;
  max-width: 80%;
  width: 100%;
}
#comp-type-sample[type-sample-selection=custom], #comp-type-init[type-sample-selection=custom] {
  --capital-height: min(calc(var(--vw) * (10 - (var(--multiplier) * 0.25))), calc(var(--vh) * 25));
}
#comp-type-sample[type-sample-selection=champions] span, #comp-type-sample[type-sample-selection=waffles] span, #comp-type-sample[type-sample-selection=sphinx] span, #comp-type-sample[type-sample-selection=fox] span, #comp-type-sample[type-sample-selection=alphabet] span, #comp-type-init[type-sample-selection=champions] span, #comp-type-init[type-sample-selection=waffles] span, #comp-type-init[type-sample-selection=sphinx] span, #comp-type-init[type-sample-selection=fox] span, #comp-type-init[type-sample-selection=alphabet] span {
  vertical-align: unset;
}

#view-font-settings #comp-type-sample[type-sample-selection=waffles], #view-font-settings #comp-type-init[type-sample-selection=waffles], #view-font-edit #comp-type-sample[type-sample-selection=waffles], #view-font-edit #comp-type-init[type-sample-selection=waffles] {
  --capital-height: min(calc(var(--vw) * 7), calc(var(--vh) * 15));
}
#view-font-settings #comp-type-sample[type-sample-selection=champions], #view-font-settings #comp-type-init[type-sample-selection=champions], #view-font-edit #comp-type-sample[type-sample-selection=champions], #view-font-edit #comp-type-init[type-sample-selection=champions] {
  --capital-height: min(calc(var(--vw) * 5), calc(var(--vh) * 10));
}
#view-font-settings #comp-type-sample[type-sample-selection=handgloves], #view-font-settings #comp-type-init[type-sample-selection=handgloves], #view-font-edit #comp-type-sample[type-sample-selection=handgloves], #view-font-edit #comp-type-init[type-sample-selection=handgloves] {
  --capital-height: min(calc(var(--vw) * 6), calc(var(--vh) * 20));
}
#view-font-settings #comp-type-sample[type-sample-selection=minimom], #view-font-settings #comp-type-init[type-sample-selection=minimom], #view-font-edit #comp-type-sample[type-sample-selection=minimom], #view-font-edit #comp-type-init[type-sample-selection=minimom] {
  --capital-height: min(calc(var(--vw) * 7), calc(var(--vh) * 20));
}
#view-font-settings #comp-type-sample[type-sample-selection=sphinx], #view-font-settings #comp-type-init[type-sample-selection=sphinx], #view-font-edit #comp-type-sample[type-sample-selection=sphinx], #view-font-edit #comp-type-init[type-sample-selection=sphinx] {
  --capital-height: min(calc(var(--vw) * 5), calc(var(--vh) * 10));
}
#view-font-settings #comp-type-sample[type-sample-selection=fox], #view-font-settings #comp-type-init[type-sample-selection=fox], #view-font-edit #comp-type-sample[type-sample-selection=fox], #view-font-edit #comp-type-init[type-sample-selection=fox] {
  --capital-height: min(calc(var(--vw) * 4), calc(var(--vh) * 15));
}
#view-font-settings #comp-type-sample[type-sample-selection=aa], #view-font-settings #comp-type-init[type-sample-selection=aa], #view-font-edit #comp-type-sample[type-sample-selection=aa], #view-font-edit #comp-type-init[type-sample-selection=aa] {
  --capital-height: min(calc(var(--vw) * 20), calc(var(--vh) * 70));
}
#view-font-settings #comp-type-sample[type-sample-selection=alphabet], #view-font-settings #comp-type-init[type-sample-selection=alphabet], #view-font-edit #comp-type-sample[type-sample-selection=alphabet], #view-font-edit #comp-type-init[type-sample-selection=alphabet] {
  --capital-height: min(calc(var(--vw) * 7), calc(var(--vh) * 5));
}
#view-font-settings #comp-type-sample[type-sample-selection=numerals], #view-font-settings #comp-type-init[type-sample-selection=numerals], #view-font-edit #comp-type-sample[type-sample-selection=numerals], #view-font-edit #comp-type-init[type-sample-selection=numerals] {
  --capital-height: min(calc(var(--vw) * 7), calc(var(--vh) * 15));
}
#view-font-settings #comp-type-sample[type-sample-selection=hoefler], #view-font-settings #comp-type-init[type-sample-selection=hoefler], #view-font-edit #comp-type-sample[type-sample-selection=hoefler], #view-font-edit #comp-type-init[type-sample-selection=hoefler] {
  --capital-height: min(calc(var(--vw) * 0.6), calc(var(--vh) * 1.4));
}
#view-font-settings #comp-type-sample[type-sample-selection=collname], #view-font-settings #comp-type-init[type-sample-selection=collname], #view-font-edit #comp-type-sample[type-sample-selection=collname], #view-font-edit #comp-type-init[type-sample-selection=collname] {
  --capital-height: min(calc(var(--vw) * 6), calc(var(--vh) * 15));
}
#view-font-settings #comp-type-sample[type-sample-selection=custom], #view-font-settings #comp-type-init[type-sample-selection=custom], #view-font-edit #comp-type-sample[type-sample-selection=custom], #view-font-edit #comp-type-init[type-sample-selection=custom] {
  --capital-height: min(calc(var(--vw) * (9 - (var(--multiplier) * 0.25))), calc(var(--vh) * 15));
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Colors */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.CG-000 {
  --COL-HI: var(--CG-014);
  --COL-BG: var(--CG-000);
  --COL-HO: var(--CG-093);
  --COL-AC: var(--CG-093);
  --COL-TE: var(--CG-063);
}

.CG-033 {
  --COL-HI: var(--CG-063);
  --COL-BG: var(--CG-033);
  --COL-HO: var(--CG-057);
  --COL-AC: var(--CG-063);
  --COL-TE: var(--CG-000);
}

.CG-057 {
  --COL-HI: var(--CG-063);
  --COL-BG: var(--CG-057);
  --COL-HO: var(--CG-033);
  --COL-AC: var(--CG-014);
  --COL-TE: var(--CG-000);
}

.CG-063 {
  --COL-HI: var(--CG-069);
  --COL-BG: var(--CG-063);
  --COL-HO: var(--CG-033);
  --COL-AC: var(--CG-014);
  --COL-TE: var(--CG-000);
}

.CG-069 {
  --COL-HI: var(--CG-093);
  --COL-BG: var(--CG-069);
  --COL-HO: var(--CG-057);
  --COL-AC: var(--CG-057);
  --COL-TE: var(--CG-000);
}

.CG-093 {
  --COL-HI: var(--CG-100);
  --COL-BG: var(--CG-093);
  --COL-HO: var(--CG-069);
  --COL-AC: var(--CG-057);
  --COL-TE: var(--CG-000);
}

.CG-100 {
  --COL-HI: var(--CG-093);
  --COL-BG: var(--CG-100);
  --COL-HO: var(--CG-069);
  --COL-AC: var(--CG-057);
  --COL-TE: var(--CG-000);
}

.overlay-active {
  --COL-HI: var(--CG-000);
  --COL-BG: var(--CG-033);
  --COL-HO: var(--CG-000);
  --COL-AC: var(--CG-000);
  --COL-TE: var(--CG-000);
}

/* //////////////////////////////// */
body {
  background: var(--COL-BG);
}
body a:hover {
  color: var(--COL-HO);
}
body #navi-container {
  background: var(--COL-BG);
}
body #navi-container *:hover {
  color: var(--COL-HO);
}
body #navi-comp:hover * {
  color: var(--COL-HO);
}
body .navi-sub:hover {
  color: var(--COL-HO);
}
body .info-open-btn:hover {
  background-color: var(--COL-HO);
}
body .settings-navi-btn:hover {
  background: var(--COL-HI);
}
body .settings-navi-save:hover {
  background: var(--COL-HI);
}
body #save-this-font svg * {
  fill: var(--COL-HO);
}
body #acti-parameter-container .parameter-container:hover {
  background: var(--COL-HI);
}
body #acti-parameter-container .parameter-container .options {
  background: var(--COL-HI);
}
body #select-sample-container .option:hover {
  color: var(--COL-AC);
}
body #select-sample-container .option.active {
  color: var(--COL-AC);
}
body #select-sample-container .options-section {
  background: var(--COL-HI);
}
body #select-sample-container .navigation:hover * {
  color: var(--COL-AC);
}
body #select-sample-container .navigation:hover::after {
  border-color: var(--COL-AC);
}
body #return-btn:hover .arrow-container::after {
  border-color: var(--COL-HO);
}
body #return-btn:hover .arrow-container::before {
  background: var(--COL-HO);
}
body .related-container:hover {
  background: var(--COL-HI);
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Global */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
body {
  padding-top: calc(var(--navi-outer) - var(--line));
}

.snap {
  -ms-scroll-snap-type: y proximity;
      scroll-snap-type: y proximity;
}

/* Faders */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.fader {
  transition-property: background, color, opacity, right, width;
  transition-duration: var(--trans-duration);
  transition-timing-function: var(--trans-function);
}

/* Circular buttons */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.circ-btn {
  height: var(--navi-inner);
  width: var(--navi-inner);
  border: 0;
  padding: 0;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  background-color: transparent;
  border-radius: 100vh;
  margin: var(--blu);
}

/* Type data */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.type-data {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  position: absolute;
  top: calc(var(--blu) * 3);
  left: 0;
  width: 180px;
  height: 230px;
  z-index: 9999;
  padding: var(--blu);
  display: none;
}
.type-data small {
  display: block;
  color: var(--CG-069);
}

/* Type samples */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.type-sample svg {
  overflow: visible;
  max-height: 100%;
  max-width: 100%;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Measurement objects */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#measurement-objects {
  position: fixed;
  top: -200%;
  left: -200%;
  visibility: hidden;
}
#measurement-objects .blu {
  width: var(--blu);
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Navigation */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#navi-container {
  position: fixed;
  display: flex;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--navi-outer);
  border-bottom: solid var(--line) var(--COL-TE);
  padding: var(--blu);
  z-index: 600;
}

#navi-comp {
  display: flex;
  cursor: pointer;
  height: var(--navi-inner);
  margin-top: calc(0px - var(--blu) * 0.17);
}
#navi-comp h1 {
  width: calc(var(--h1-fs) * 0.5);
  overflow: hidden;
  height: var(--h1-fs);
}
#navi-comp h1:first-of-type {
  margin-right: calc(var(--h1-fs) * 0.15);
}
#navi-comp h1:last-of-type {
  margin-right: var(--blu);
}
#navi-comp h1.long:first-of-type {
  width: calc(var(--h1-fs) * 2.62);
  margin-right: calc(var(--h1-fs) * 0.4);
}
#navi-comp h1.long:last-of-type {
  width: calc(var(--h1-fs) * 3.52);
}

#view-compass #navi-comp,
#view-compass #navi-home,
#view-font-settings #navi-sett,
#view-info #navi-info {
  pointer-events: none;
  color: var(--COL-AC);
}

.navi-sub-container,
.navi-env-container {
  height: var(--navi-inner);
  text-transform: uppercase;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: calc(var(--blu) * 1);
       column-gap: calc(var(--blu) * 1);
  grid-template-rows: 1fr 1fr 1fr;
  grid-auto-flow: column;
  margin-top: calc(0px - var(--n-lh) * 0.25);
}
.navi-sub-container .navi-sub,
.navi-env-container .navi-sub {
  display: block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: var(--n-fs);
  line-height: calc(var(--n-lh) * 0.98);
  cursor: pointer;
}

.navi-env-container {
  pointer-events: none;
  opacity: 0.3;
}

#parameter-navi-container,
#related-navi-container,
#collection-navi-container,
#search-navi-container,
#login-navi-container,
#profile-navi-container {
  position: fixed;
  top: 0;
  right: 0;
  width: var(--wi-settings);
  height: var(--navi-outer);
  overflow: hidden;
  padding: var(--blu);
  display: flex;
  z-index: 600;
}
#parameter-navi-container h1,
#related-navi-container h1,
#collection-navi-container h1,
#search-navi-container h1,
#login-navi-container h1,
#profile-navi-container h1 {
  padding-right: var(--blu);
  margin-top: calc(0px - var(--h1-lh) * 0.1);
}

#login-navi-container {
  width: 50%;
  border-left: solid var(--line) var(--COL-TE);
}

/* Type sample options */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#select-sample-container {
  position: fixed;
  z-index: 600;
  display: block;
  top: 0;
}
#select-sample-container .title {
  padding-bottom: calc(var(--blu) * 0.65);
}
#select-sample-container .option {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  cursor: pointer;
}
#select-sample-container .option[type-sample-selector=aa]::after {
  content: "(Default)";
  font-size: var(--n-fs);
  padding-left: calc(var(--blu) * 0.5);
}
#select-sample-container .option[type-sample-selector=custom] input {
  display: none;
  width: 100%;
  background: var(--COL-BG);
  border: solid var(--line) var(--COL-TE);
  outline: none;
  font-size: var(--n-fs);
  line-height: var(--n-lh);
  padding: calc(var(--blu) * 0.5);
  margin-top: calc(var(--blu) * 0.5);
}
#select-sample-container .option[type-sample-selector=custom] input::-moz-placeholder {
  color: var(--COL-AC);
  opacity: 1;
}
#select-sample-container .option[type-sample-selector=custom] input:-ms-input-placeholder {
  color: var(--COL-AC);
  opacity: 1;
}
#select-sample-container .option[type-sample-selector=custom] input::placeholder {
  color: var(--COL-AC);
  opacity: 1;
}
#select-sample-container .option[type-sample-selector=custom].active input {
  display: block;
}
#select-sample-container .navigation {
  position: relative;
  height: var(--navi-outer);
  padding: var(--blu);
  display: flex;
  align-items: end;
  border-right: solid var(--line) var(--COL-TE);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
#select-sample-container .navigation h9 {
  text-transform: uppercase;
  margin-bottom: calc(0px - var(--n-fs) * 0.35);
  padding-right: calc(var(--blu) * 2);
}
#select-sample-container .navigation::after {
  content: "";
  width: calc(var(--n-fs) * 1);
  height: calc(var(--n-fs) * 1);
  transform: rotate(45deg);
  border-bottom: solid var(--line) var(--COL-TE);
  border-right: solid var(--line) var(--COL-TE);
  position: absolute;
  right: calc(var(--blu) * 1);
  bottom: calc(var(--blu) * 1.2);
  transition-property: transform, bottom;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
#select-sample-container .options-container {
  display: none;
}
#select-sample-container .options-section {
  padding: var(--blu);
  border: solid var(--line) var(--COL-TE);
  border-top: none;
}

#select-sample-container.open .options-container {
  display: block;
}

#view-compass #select-sample-container {
  left: 50%;
  transform: translateX(calc(var(--line) * 0.5 - 100%));
}

#view-font-settings #select-sample-container, #view-font-edit #select-sample-container {
  visibility: visible;
  right: var(--wi-settings);
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Compass View */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#compass-container {
  position: fixed;
  display: block;
  width: 100%;
  height: calc(100% - var(--navi-outer));
  bottom: 0;
  left: 0;
  cursor: pointer;
  z-index: 400;
}
#compass-container .line {
  position: absolute;
  display: block;
  background: var(--COL-TE);
  z-index: 100;
}
#compass-container .line.vert {
  width: var(--line);
  height: 100%;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
#compass-container .line.hori {
  height: var(--line);
  width: 100%;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
#compass-container .marker,
#compass-container .blocker {
  position: absolute;
  border-radius: 100vh;
  transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
}
#compass-container .blocker {
  width: calc(var(--blu) * 3);
  height: calc(var(--blu) * 3);
  background: var(--COL-BG);
  z-index: 200;
}
#compass-container .marker {
  width: calc(var(--blu) * 1.5);
  height: calc(var(--blu) * 1.5);
  border: solid var(--line) var(--COL-BG);
  mix-blend-mode: difference;
  z-index: 400;
}

#compass-container,
#compass-container * {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

#comp-type-sample, #comp-type-init {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  text-align: center;
  z-index: 300;
  /* font metrics */
  --main-dynamic-font: "main-dynamic-font", "Univers Next", Helvetica, Arial, sans-serif;
  --fm-linegap: 0;
  /* desired font-size for capital height */
  --capital-height: 200;
  /* apply font-family */
  font-family: var(--main-dynamic-font);
  /* compute font-size to get capital height equal desired font-size */
  --computedFontSize: (var(--capital-height) / var(--fm-capitalHeight));
  font-size: calc(var(--computedFontSize) * 1px);
  /* compute line-height: normal and content-area’s height */
  --lineheightNormal: (var(--fm-ascender) + var(--fm-descender) + var(--fm-linegap));
  --contentArea: (var(--lineheightNormal) * var(--computedFontSize));
  /* compute distance from the bottom of the capital letter to the bottom edge and distance from the top of the capital letter to the top edge */
  --distanceBottom: (var(--fm-descender));
  --distanceTop: (var(--fm-ascender) - var(--fm-capitalHeight));
  /* compute vertical-align */
  --valign: ((var(--distanceBottom) - var(--distanceTop)) * var(--computedFontSize));
  /* desired line-height */
  --line-height: 1em;
}
#comp-type-sample span, #comp-type-sample input, #comp-type-init span, #comp-type-init input {
  /* apply font-family */
  font-family: var(--main-dynamic-font);
  /* compute vertical-align */
}

#comp-click-info {
  position: fixed;
  padding: calc(var(--blu) * 1);
  color: var(--COL-TE);
  white-space: nowrap;
  z-index: 400;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Settings View */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#settings-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  border-bottom: solid var(--line) var(--COL-TE);
  scroll-snap-align: end;
}

#view-font-settings #settings-preview .type-sample-container, #view-font-edit #settings-preview .type-sample-container {
  position: absolute;
  top: calc(var(--blu) * 2.9);
  left: 0;
  width: 100%;
  height: calc(100% - var(--blu) * 6.6);
  overflow: hidden;
}
#view-font-settings #settings-preview .type-sample-container .split-left, #view-font-edit #settings-preview .type-sample-container .split-left {
  width: 50%;
  left: 0;
  right: auto;
}
#view-font-settings #settings-preview .type-sample-container .split-left > .type-sample, #view-font-edit #settings-preview .type-sample-container .split-left > .type-sample {
  left: 100%;
}
#view-font-settings #settings-preview .type-sample-container .split-right, #view-font-edit #settings-preview .type-sample-container .split-right {
  width: 50%;
  left: auto;
  right: 0;
}
#view-font-settings #settings-preview .type-sample-container .split-right > .type-sample, #view-font-edit #settings-preview .type-sample-container .split-right > .type-sample {
  left: 0%;
}

#settings-preview {
  position: absolute;
  height: calc(100% - var(--navi-outer));
  width: calc(100% - var(--wi-settings));
  border-right: solid var(--line) var(--COL-TE);
  top: var(--navi-outer);
}
#settings-preview[save-state=yes] #save-this-font svg * {
  fill: var(--CF-RED);
}
#settings-preview[save-state=yes] #save-this-font:hover svg * {
  fill: var(--CF-RED);
}
#settings-preview #buy-this-font:hover {
  color: var(--COL-TE);
}

#settings-panel {
  position: absolute;
  width: var(--wi-settings);
  top: 0;
  right: 0;
  height: 100%;
}

#settings-preview-navi {
  position: absolute;
  width: 100%;
  bottom: 0;
  height: calc(var(--blu) * 3.7);
  display: flex;
  border-top: solid var(--line) var(--COL-TE);
}

#font-names-container {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 400;
  font-size: var(--n-fs);
  line-height: var(--n-lh);
  cursor: default;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-bottom: solid var(--line) var(--COL-TE);
}
#font-names-container > div {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#font-names-container div {
  padding: var(--blu);
  height: calc(var(--blu) * 2.9);
}
#font-names-container div:first-child {
  border-right: solid var(--line) var(--COL-TE);
}
#font-names-container div:hover .reset {
  display: inline;
}
#font-names-container .initial {
  display: none;
}
#font-names-container .initial:hover {
  background: var(--COL-HI);
}
#font-names-container .reset {
  color: var(--CF-RED);
  padding-left: var(--blu);
  cursor: pointer;
  display: none;
}
#font-names-container .reset:hover {
  color: var(--COL-TE);
}
#font-names-container.unequal .initial {
  display: block;
}

.settings-navi-btn {
  border-right: solid var(--line) var(--COL-TE);
  text-align: center;
  overflow: hidden;
  font-size: var(--h3-fs);
  line-height: calc(var(--blu) * 2.1);
  white-space: nowrap;
  font-weight: 300;
  width: calc((100% - var(--blu) * 3.7) / 12 * 3);
}
.settings-navi-btn#open-related-font {
  width: calc((100% - var(--blu) * 3.7) / 12 * 6);
}

a.settings-navi-btn {
  text-decoration: none;
}

.settings-navi-save {
  width: calc(var(--blu) * 3.7);
  display: flex;
  justify-content: center;
  align-items: center;
}

.settings-navi-save,
.settings-navi-btn {
  padding: var(--blu);
  cursor: pointer;
}

#save-this-font svg {
  overflow: visible;
  height: 100%;
}
#save-this-font:hover svg * {
  fill: var(--COL-AC);
}

/* Parameter Settings */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#parameter-settings-container {
  position: absolute;
  top: var(--navi-outer);
  left: 0;
  width: 100%;
  height: calc(100% - var(--navi-outer));
  overflow-x: hidden;
  overflow-y: scroll;
}

#acti-parameter-container .parameter-container {
  padding: var(--blu);
  position: relative;
  border-bottom: solid var(--line) var(--COL-TE);
}
#acti-parameter-container .parameter-container * {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
#acti-parameter-container .parameter-container .title {
  display: none;
}
#acti-parameter-container .parameter-container .labels {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 100%;
  z-index: 200;
}
#acti-parameter-container .parameter-container .labels h9 {
  position: relative;
}
#acti-parameter-container .parameter-container .labels h9 .remove {
  content: "Remove";
  position: absolute;
  visibility: hidden;
  right: 0;
  transform: translateX(100%);
  padding-left: var(--blu);
  color: var(--CF-RED);
  cursor: pointer;
}
#acti-parameter-container .parameter-container .track {
  position: relative;
  width: calc(100% + var(--blu) * 0.7);
  height: calc(var(--blu) * 2.65);
  margin-left: calc(0px - var(--blu) * 0.3);
  margin-top: calc(var(--blu) * 0.25);
}
#acti-parameter-container .parameter-container .track .drag-area {
  position: absolute;
  display: none;
  width: 100%;
  height: 100%;
}
#acti-parameter-container .parameter-container .track.hover .drag-area {
  display: block;
}
#acti-parameter-container .parameter-container .slider {
  position: absolute;
  height: calc(var(--blu) * 2.65);
  overflow: visible;
  font-size: var(--h1-fs);
  line-height: calc(var(--blu) * 3.5);
  cursor: pointer;
  font-weight: 300;
}
#acti-parameter-container .parameter-container .more {
  right: 0;
  position: absolute;
  height: calc(100% + var(--blu) * 2);
  cursor: pointer;
  margin-top: calc(0px - var(--blu) * 1);
  z-index: 100;
}
#acti-parameter-container .parameter-container .more .drag-area {
  left: 0;
}
#acti-parameter-container .parameter-container .less {
  left: 0;
  position: absolute;
  height: calc(100% + var(--blu) * 2);
  cursor: pointer;
  margin-top: calc(0px - var(--blu) * 1);
  z-index: 100;
}
#acti-parameter-container .parameter-container .less .drag-area {
  right: 0;
}
#acti-parameter-container .parameter-container .options {
  display: none;
  position: absolute;
  top: 100%;
  left: calc(0px - var(--line));
  width: calc(100% + var(--line) * 2);
  padding: var(--blu);
  border: solid var(--line) var(--COL-TE);
  z-index: 100;
  max-height: calc(var(--blu) * 10);
  overflow-x: hidden;
  overflow-y: scroll;
}
#acti-parameter-container .parameter-container .option {
  position: relative;
}
#acti-parameter-container .parameter-container .option.active {
  color: var(--COL-AC);
}
#acti-parameter-container .parameter-container .option.active:hover::after {
  display: block;
}
#acti-parameter-container .parameter-container .option:hover {
  color: var(--COL-HO);
}
#acti-parameter-container .parameter-container .all-no {
  margin-bottom: calc(var(--blu) * 0.25);
}
#acti-parameter-container .parameter-container .all-no:hover {
  color: var(--CF-RED);
}
#acti-parameter-container .parameter-container .more::before, #acti-parameter-container .parameter-container .less::before {
  content: "";
  position: absolute;
  visibility: hidden;
  width: calc(var(--n-fs) * 1);
  height: calc(var(--n-fs) * 1);
  border-bottom: solid var(--line) var(--COL-TE);
  border-right: solid var(--line) var(--COL-TE);
  top: 50%;
}
#acti-parameter-container .parameter-container .more::before {
  left: calc(0px - var(--blu) * 0.2);
  transform: rotate(-45deg) translateX(50%);
}
#acti-parameter-container .parameter-container .less::before {
  right: calc(0px + var(--blu) * 0.4);
  transform: rotate(135deg) translateX(-50%);
}
#acti-parameter-container .parameter-container .more:hover::before, #acti-parameter-container .parameter-container .less:hover::before {
  border-color: var(--COL-HO);
}
#acti-parameter-container .parameter-container.open .options {
  display: block;
  text-transform: capitalize;
}
#acti-parameter-container .parameter-container.unequal {
  background: var(--COL-HI);
}
#acti-parameter-container .parameter-container.unequal.reset * {
  color: var(--CF-RED);
}
#acti-parameter-container .parameter-container.unequal.reset .active::after {
  border-color: var(--CF-RED);
}
#acti-parameter-container .parameter-container:hover .labels h9 .remove {
  visibility: visible;
}
#acti-parameter-container .parameter-container:hover .labels h9 .remove:hover {
  color: var(--COL-TE);
}
#acti-parameter-container .parameter-container:hover .more::before, #acti-parameter-container .parameter-container:hover .less::before {
  visibility: visible;
}
#acti-parameter-container .parameter-container:last-child {
  border-bottom: none;
}
#acti-parameter-container .parameter-container[par-type=dropdown] {
  cursor: pointer;
  border: none;
  border-top: solid var(--line) var(--COL-TE);
}
#acti-parameter-container .parameter-container[par-type=dropdown] .title {
  display: block;
}
#acti-parameter-container .parameter-container[par-type=dropdown] .remove {
  content: "Remove";
  position: relative;
  visibility: hidden;
  right: 0;
  transform: translateX(100%);
  padding-left: var(--blu);
  color: var(--CF-RED);
  cursor: pointer;
  z-index: 100;
}
#acti-parameter-container .parameter-container[par-type=dropdown] .select-area {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#acti-parameter-container .parameter-container[par-type=dropdown] > .active {
  position: relative;
  height: calc(var(--blu) * 2.65);
  font-size: var(--h1-fs);
  line-height: calc(var(--blu) * 3.5);
  font-weight: 300;
  margin-top: calc(var(--blu) * 0.25);
  text-transform: capitalize;
}
#acti-parameter-container .parameter-container[par-type=dropdown] > .active::after {
  content: "";
  width: calc(var(--n-fs) * 1);
  height: calc(var(--n-fs) * 1);
  transform: rotate(45deg);
  border-bottom: solid var(--line) var(--COL-TE);
  border-right: solid var(--line) var(--COL-TE);
  position: absolute;
  right: calc(var(--blu) * 1);
  bottom: calc(var(--blu) * 1.2);
  transition-property: transform, bottom;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
#acti-parameter-container .parameter-container[par-type=dropdown]:nth-child(odd) {
  border-right: solid var(--line) var(--COL-TE);
}
#acti-parameter-container .parameter-container[par-type=dropdown]:hover .remove {
  visibility: visible;
}
#acti-parameter-container .parameter-container[par-type=dropdown]:hover .remove:hover {
  color: var(--COL-TE);
}
#acti-parameter-container .parameter-container[par-select=single] .options {
  padding: unset;
}
#acti-parameter-container .parameter-container[par-select=single] .option {
  padding: var(--blu);
  margin: 0;
  height: calc(var(--blu) * 3.2);
  border-bottom: solid var(--line) var(--COL-TE);
}
#acti-parameter-container .parameter-container[par-select=single] .option:last-child {
  border: none;
}
#acti-parameter-container .parameter-container[par-select=single] .option.active:hover {
  cursor: default;
}
#acti-parameter-container .parameter-container[par-select=single].even .options {
  grid-template-columns: repeat(2, 1fr);
}
#acti-parameter-container .parameter-container[par-select=single].odd .options {
  grid-template-columns: repeat(2, 1fr);
}
#acti-parameter-container .parameter-container[par-select=multi] .option.active:hover {
  color: var(--CF-RED);
}
#acti-parameter-container .parameter-container[par-select=multi] .option.active::after {
  content: "Remove";
  display: none;
  color: var(--CF-RED);
  font-size: var(--n-fs);
  position: absolute;
  top: 0;
  right: calc(0px - var(--blu));
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) calc(var(--blu) * 2));
  padding-left: calc(var(--blu) * 2);
  padding-right: var(--blu);
  padding-top: calc(var(--blu) * 0.14);
}
#acti-parameter-container .parameter-container[par-select=multi] .option.active:hover::after {
  display: unset;
}
#acti-parameter-container .parameter-container[par-value=""] .all-no:hover {
  color: var(--COL-HO);
}
#acti-parameter-container .parameter-container[par-value="0"] .less::before,
#acti-parameter-container .parameter-container[par-value="100"] .more::before,
#acti-parameter-container .parameter-container[par-value="0"] .less .drag-area,
#acti-parameter-container .parameter-container[par-value="100"] .more .drag-area {
  display: none;
}
#acti-parameter-container .parameter-container[par-value="1"] .less::before,
#acti-parameter-container .parameter-container[par-value="2"] .less::before {
  right: unset;
  left: calc(0px - var(--blu) * 0.9);
}
#acti-parameter-container .parameter-container[par-value="99"] .more::before,
#acti-parameter-container .parameter-container[par-value="98"] .more::before {
  left: unset;
  right: calc(0px - var(--blu) * 0.1);
}

#acti-parameter-dropdown {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
#acti-parameter-dropdown .end-cap {
  pointer-events: none;
  cursor: pointer;
  border: none;
  border-top: solid var(--line) var(--COL-TE);
}
#acti-parameter-dropdown .end-cap:nth-of-type(odd),
#acti-parameter-dropdown .end-cap:nth-child(1) {
  display: none;
}

#idle-parameter-container {
  padding: var(--blu);
  border-top: solid var(--line) var(--COL-TE);
  min-height: calc(var(--blu) * 12);
}
#idle-parameter-container .remove, #idle-parameter-container .labels, #idle-parameter-container .active, #idle-parameter-container .select-area, #idle-parameter-container .options, #idle-parameter-container .track {
  display: none;
}
#idle-parameter-container .parameter-container {
  cursor: pointer;
  float: left;
  clear: none;
  padding-right: calc(var(--blu) * 0.3);
}
#idle-parameter-container .parameter-container * {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
}
#idle-parameter-container .parameter-container:not(:last-child) .title::after {
  content: ",";
  display: inline-block;
}
#idle-parameter-container .parameter-container.unequal * {
  color: var(--COL-TE);
}
#idle-parameter-container .parameter-container.unequal.reset * {
  color: var(--CF-RED);
}
#idle-parameter-container .parameter-container.unequal *::after,
#idle-parameter-container .parameter-container.unequal.reset *::after {
  color: var(--COL-TE);
}
#idle-parameter-container .parameter-container:hover * {
  color: var(--COL-HO);
}

#idle-parameters {
  margin-top: calc(var(--blu) * 0.25);
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Related Fonts view */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#related-fonts-container {
  display: none;
  position: relative;
  margin-top: calc(100vh - var(--navi-outer));
  margin-bottom: calc(0px - var(--line));
  width: 100%;
  overflow-x: hidden;
}

#related-navi-container {
  right: calc(var(--wi-settings) - var(--wi-related));
  width: var(--wi-related);
  visibility: hidden;
}

.related-open #related-navi-container {
  right: 0;
  visibility: visible;
}
.related-open #return-btn {
  right: var(--wi-related);
  visibility: visible;
}
.related-open #return-btn .arrow-container {
  transform: rotate(0deg);
}
.related-open #parameter-navi-container {
  right: calc(var(--wi-related) - var(--wi-settings));
  visibility: hidden;
}
.related-open #select-sample-container .navigation::after {
  transform: rotate(-135deg);
  bottom: calc(var(--blu) * 0.8);
}
.related-open#view-font-settings #select-sample-container {
  visibility: hidden;
  right: var(--wi-related);
}

#return-btn {
  --stroke: calc(var(--h1-lh) * 0.06);
  visibility: hidden;
  display: flex;
  position: fixed;
  top: 0;
  right: var(--wi-settings);
  z-index: 600;
  height: var(--navi-outer);
  width: var(--navi-outer);
  border-right: solid var(--line) var(--CG-000);
  align-items: end;
  cursor: pointer;
}
#return-btn .arrow-container {
  transform: rotate(-180deg);
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 1s ease-in-out;
}
#return-btn .arrow-container::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: calc(100% - var(--blu) * 2);
  width: var(--stroke);
  background: var(--COL-TE);
}
#return-btn .arrow-container::after {
  --side: calc(var(--blu) * 2);
  content: "";
  border: solid var(--COL-TE) var(--stroke);
  border-bottom: 0;
  border-right: 0;
  width: var(--side);
  height: var(--side);
  position: absolute;
  top: calc(var(--blu) * 0.7);
  left: 50%;
  transform: rotate(45deg);
  transform-origin: top left;
}

#related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: calc(100% + var(--line));
}

.related-container {
  --capital-height: calc(var(--vw) * 7);
  display: grid;
  position: relative;
  align-items: end;
  border-bottom: solid var(--line) var(--COL-TE);
  border-right: solid var(--line) var(--COL-TE);
  cursor: pointer;
  overflow: hidden;
  height: calc(var(--blu) * 4 + 1px * var(--capital-height) * 2);
  min-height: 100%;
}
.related-container .type-sample-container {
  height: calc(100% - var(--blu) * 4);
  position: absolute;
  top: 0;
  left: var(--blu);
  width: calc(100% - var(--blu) * 2);
  border-bottom: solid var(--line) var(--COL-TE);
}
.related-container .type-sample-container .type-sample {
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
  /* font metrics */
  --fm-linegap: 0;
  /* compute font-size to get capital height equal desired font-size */
  --computedFontSize: (var(--capital-height) / var(--fm-capitalHeight));
  font-size: calc(var(--computedFontSize) * 1px);
  /* compute line-height: normal and content-area’s height */
  --lineheightNormal: (var(--fm-ascender) + var(--fm-descender) + var(--fm-linegap));
  --contentArea: (var(--lineheightNormal) * var(--computedFontSize));
  /* compute distance from the bottom of the capital letter to the bottom edge and distance from the top of the capital letter to the top edge */
  --distanceBottom: (var(--fm-descender));
  --distanceTop: (var(--fm-ascender) - var(--fm-capitalHeight));
  /* compute vertical-align */
  --valign: ((var(--distanceBottom) - var(--distanceTop)) * var(--computedFontSize));
  /* desired line-height */
  --line-height: 1em;
  line-height: calc((var(--line-height) * var(--capital-height) - var(--valign)) * 1px);
}
.related-container .type-sample-container .type-sample span {
  /* compute vertical-align */
  vertical-align: calc(var(--valign) * -1px);
}
.related-container .specs {
  display: flex;
  position: absolute;
  padding: var(--blu);
  width: 100%;
  bottom: 0;
  left: 0;
}
.related-container .specs a:hover {
  text-decoration: none;
}
.related-container .specs a::before {
  content: "Font details";
}
.related-container .specs .spec {
  font-size: var(--n-fs);
}
.related-container .specs .spec:not(:last-child) {
  padding-right: var(--blu);
  width: calc(var(--blu) * 20);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.related-container .specs .spec:last-child {
  position: absolute;
  right: var(--blu);
}
.related-container.large {
  grid-column: span 4;
  --capital-height: calc(var(--vw) * 16);
}
.related-container.mediu {
  grid-column: span 2;
  --capital-height: calc(var(--vw) * 8);
}
.related-container.small {
  --capital-height: calc(var(--vw) * 4);
  height: calc(var(--blu) * 4 + 1px * var(--capital-height) * 3);
}
.related-container.small .spec a {
  position: absolute;
  bottom: var(--blu);
  right: var(--blu);
}
.related-container.small .spec a::before {
  content: "Details";
}
.related-container.small .spec:last-child {
  display: none;
}
.related-container.small .spec:nth-child(2) {
  width: 0;
  height: 0;
  overflow: hidden;
}
.related-container.small + .related-container.large, .related-container.small + .related-container.mediu, .related-container.mediu + .related-container.large {
  background: red;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Collection View */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#collection-header-container {
  position: relative;
  width: 100%;
  height: calc(100vh - var(--navi-outer) + var(--line));
}
#collection-header-container .coll-name {
  --capital-height: min(calc(var(--vw) * (20 - (var(--multiplier) * 0.9))), calc(var(--vh) * 30));
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  top: calc(50% - var(--blu) * 2);
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  /* font metrics */
  --fm-linegap: 0;
  /* compute font-size to get capital height equal desired font-size */
  --computedFontSize: (var(--capital-height) / var(--fm-capitalHeight));
  font-size: calc(var(--computedFontSize) * 1px);
  /* compute line-height: normal and content-area’s height */
  --lineheightNormal: (var(--fm-ascender) + var(--fm-descender) + var(--fm-linegap));
  --contentArea: (var(--lineheightNormal) * var(--computedFontSize));
  /* compute distance from the bottom of the capital letter to the bottom edge and distance from the top of the capital letter to the top edge */
  --distanceBottom: (var(--fm-descender));
  --distanceTop: (var(--fm-ascender) - var(--fm-capitalHeight));
  /* compute vertical-align */
  --valign: ((var(--distanceBottom) - var(--distanceTop)) * var(--computedFontSize));
  /* desired line-height */
  --line-height: 1em;
  line-height: calc((var(--line-height) * var(--capital-height) - var(--valign)) * 1px);
}
#collection-header-container .coll-name span, #collection-header-container .coll-name input {
  /* apply font-family */
  font-family: var(--main-dynamic-font);
  /* compute vertical-align */
  vertical-align: calc(var(--valign) * -1px);
}
#collection-header-container .coll-specs {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-column-gap: var(--blu);
  padding-left: var(--blu);
  padding-right: var(--blu);
  padding-bottom: var(--blu);
}
#collection-header-container .coll-specs div:nth-last-child(2) {
  grid-column: span 3;
  padding-right: calc(var(--blu) * 1);
}
#collection-header-container .coll-specs .down-btn {
  position: absolute;
  width: calc(var(--blu) * 4);
  height: calc(var(--blu) * 4);
  bottom: 0;
  right: 0;
  cursor: pointer;
}
#collection-header-container .coll-specs .down-btn::after {
  content: "";
  width: calc(var(--n-fs) * 1);
  height: calc(var(--n-fs) * 1);
  transform: rotate(45deg);
  border-bottom: solid var(--line) var(--COL-TE);
  border-right: solid var(--line) var(--COL-TE);
  position: absolute;
  right: calc(var(--blu) * 1);
  bottom: calc(var(--blu) * 1.2);
  transition-property: bottom;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
#collection-header-container .coll-specs .down-btn:hover::after {
  bottom: calc(var(--blu) * 1.5);
}
#collection-header-container .coll-specs a[href=""], #collection-header-container .coll-specs a[href="#"] {
  text-decoration: none;
  pointer-events: none;
}

#collection-overview-container {
  border-top: solid var(--line) var(--COL-TE);
}
#collection-overview-container #coll-overview-list .coll-sample-container {
  position: relative;
  overflow: hidden;
  height: calc(var(--blu) * 13);
  border-bottom: solid var(--line) var(--COL-TE);
}
#collection-overview-container #coll-overview-list .coll-sample-container .coll-sample-navi {
  display: flex;
  flex-direction: row-reverse;
  font-size: var(--n-fs);
  line-height: var(--n-lh);
  position: absolute;
  bottom: var(--blu);
  right: var(--blu);
  z-index: 50;
  text-align: right;
}
#collection-overview-container #coll-overview-list .coll-sample-container .coll-sample-navi div {
  padding-left: calc(var(--blu) * 0.5);
}
#collection-overview-container #coll-overview-list .coll-sample-container .button {
  --side: calc(var(--blu) * 3);
  height: var(--side);
  position: absolute;
  top: 0;
  border-left: solid var(--COL-TE) var(--line);
  border-bottom: solid var(--COL-TE) var(--line);
  display: none;
}
#collection-overview-container #coll-overview-list .coll-sample-container .button:hover {
  background-color: var(--COL-HO);
  cursor: pointer;
}
#collection-overview-container #coll-overview-list .coll-sample-container .button.save-this-font {
  right: 0;
  padding: 0;
  width: var(--side);
  background-image: url("/assets/graphics/heart-02.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 60%;
}
#collection-overview-container #coll-overview-list .coll-sample-container .button.settings {
  padding: 0 calc(var(--blu) * 1);
  right: var(--side);
  align-items: center;
}
#collection-overview-container #coll-overview-list .coll-sample-container .coll-sample {
  position: absolute;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  --capital-height: calc(var(--bluR) * 6);
  /* font metrics */
  --fm-linegap: 0;
  /* compute font-size to get capital height equal desired font-size */
  --computedFontSize: (var(--capital-height) / var(--fm-capitalHeight));
  font-size: calc(var(--computedFontSize) * 1px);
  /* compute line-height: normal and content-area’s height */
  --lineheightNormal: (var(--fm-ascender) + var(--fm-descender) + var(--fm-linegap));
  --contentArea: (var(--lineheightNormal) * var(--computedFontSize));
  /* compute distance from the bottom of the capital letter to the bottom edge and distance from the top of the capital letter to the top edge */
  --distanceBottom: (var(--fm-descender));
  --distanceTop: (var(--fm-ascender) - var(--fm-capitalHeight));
  /* compute vertical-align */
  --valign: ((var(--distanceBottom) - var(--distanceTop)) * var(--computedFontSize));
  /* desired line-height */
  --line-height: 1em;
  line-height: calc((var(--line-height) * var(--capital-height) - var(--valign)) * 1px);
}
#collection-overview-container #coll-overview-list .coll-sample-container .coll-sample input, #collection-overview-container #coll-overview-list .coll-sample-container .coll-sample span {
  outline: none;
  border-radius: 0;
  border: none;
  width: 100%;
  background: none;
  font-size: calc(var(--computedFontSize) * 1px);
  text-indent: calc(var(--blu) * 1);
  /* compute vertical-align */
  vertical-align: calc(var(--valign) * -1px);
}
#collection-overview-container #coll-overview-list .coll-sample-container .coll-sample input::-moz-selection, #collection-overview-container #coll-overview-list .coll-sample-container .coll-sample span::-moz-selection {
  background: none;
  color: var(--CG-033);
}
#collection-overview-container #coll-overview-list .coll-sample-container .coll-sample input::selection, #collection-overview-container #coll-overview-list .coll-sample-container .coll-sample span::selection {
  background: none;
  color: var(--CG-033);
}
#collection-overview-container #coll-overview-list .coll-sample-container .btn {
  cursor: pointer;
  color: var(--CG-033);
  display: inline-block;
}
#collection-overview-container #coll-overview-list .coll-sample-container .btn:hover {
  color: var(--CG-057);
}
#collection-overview-container #coll-overview-list .coll-sample-container .btn.active {
  text-decoration: underline;
  pointer-events: none;
}
#collection-overview-container #coll-overview-list .coll-sample-container:hover {
  background: var(--COL-HI);
}
#collection-overview-container #coll-overview-list .coll-sample-container:hover .button {
  display: unset;
}
#collection-overview-container #coll-overview-list .coll-sample-container:hover .button.settings {
  display: flex;
}
#collection-overview-container #coll-overview-list .coll-sample-container:hover::after {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, var(--CG-069) calc(100% - var(--blu) * 3));
}
#collection-overview-container #coll-overview-list .coll-sample-container[save-state=yes] .save-this-font {
  display: unset;
  background-image: url("/assets/graphics/heart-02-red.svg");
}

#collection-navi-container {
  border-left: solid var(--line) var(--COL-TE);
  width: calc(50% + var(--line) * 0.5);
}
#collection-navi-container h1 {
  max-width: calc(100% - var(--blu) * 10);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

#coll-overview-navi {
  position: -webkit-sticky;
  position: sticky;
  display: flex;
  border-bottom: solid var(--line) var(--COL-TE);
  top: calc(var(--navi-outer) - var(--line));
  background: var(--COL-BG);
  z-index: 100;
}
#coll-overview-navi h9 {
  text-transform: uppercase;
  padding: var(--blu);
  border-right: solid var(--line) var(--COL-TE);
  width: calc(var(--blu) * 7);
}
#coll-overview-navi .family {
  position: relative;
  padding: var(--blu);
  cursor: pointer;
  height: calc(var(--blu) * 3);
  line-height: calc(var(--blu) * 1.1);
  white-space: nowrap;
  border-right: solid var(--line) var(--COL-TE);
  margin: 0;
}
#coll-overview-navi .family:hover {
  background: var(--COL-HI);
}
#coll-overview-navi .family.active {
  background: var(--COL-HI);
  cursor: default;
}

#collection-buy-container {
  position: relative;
  margin-bottom: calc(0px - var(--line));
  width: 100%;
  height: calc(var(--blu) * 30);
  background: var(--COL-HO);
  text-align: center;
}
#collection-buy-container * {
  text-decoration: none;
}
#collection-buy-container a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: var(--blu);
}
#collection-buy-container h1 {
  font-size: 20.5vw;
  line-height: 1em;
  text-align: justify;
  position: relative;
  left: calc(0px - var(--blu) * 0.7);
  width: calc(100% + var(--blu) * 2);
  white-space: nowrap;
  margin-left: calc(0px - 1.4vw);
  margin-top: calc(0px - 0.6vw);
}
#collection-buy-container p {
  position: absolute;
  bottom: var(--blu);
  left: 0;
  width: 100%;
}
#collection-buy-container:hover {
  background: var(--COL-AC);
}

.coll-overview-family,
.coll-name.svg-container {
  display: none !important;
}

.coll-overview-family.active,
.coll-name.svg-container.active {
  display: block !important;
}

#view-collection #return-btn {
  right: 50%;
  visibility: visible;
}
#view-collection #return-btn .arrow-container {
  transform: rotate(-90deg);
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Search View */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#view-results {
  padding-top: var(--navi-outer);
}
#view-results .separator {
  grid-column: span 4;
  margin: calc(0px - var(--line)) 0 0;
}
#view-results .related-container.large .spec:not(:last-child) {
  width: calc((100% - var(--blu) * 2) * 0.25);
  margin-right: var(--blu);
}
#view-results .related-container.small .spec:last-child {
  display: unset;
  width: unset;
  height: unset;
  position: unset;
}

#search-navi-container {
  border-left: solid var(--line) var(--COL-TE);
  width: calc(50% + var(--line) * 0.5);
}

#results-container {
  overflow-x: hidden;
  margin-bottom: calc(0px - var(--line));
}

#no-result-container {
  width: 100%;
  height: calc(100vh - var(--navi-outer) + var(--line));
  position: relative;
  grid-column: 1/-1;
  display: flex;
  align-items: center;
}
#no-result-container p {
  width: 100%;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: var(--blu);
}
#no-result-container h1 {
  width: 100%;
  text-align: center;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Info View */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#info-intro {
  padding: var(--blu);
  margin-bottom: var(--h1-lh);
}
#info-intro h2 {
  margin-bottom: var(--h1-lh);
}

#index-container {
  margin-bottom: calc(0px - var(--line));
  padding-top: calc(var(--navi-outer) - var(--line));
}

#index-navi {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(16, 1fr);
  padding-left: var(--blu);
  padding-right: var(--blu);
  border-bottom: solid var(--line) var(--COL-TE);
  height: calc(var(--blu) * 2.5);
  cursor: pointer;
  border-top: solid var(--line) var(--COL-TE);
  font-size: var(--n-fs);
  line-height: var(--n-lh);
  font-weight: 400;
  text-transform: uppercase;
  position: -webkit-sticky;
  position: sticky;
  top: calc(var(--navi-outer) - var(--line));
  background: var(--CG-093);
}
#index-navi div {
  height: calc(var(--blu) * 0.9);
  align-self: center;
  position: relative;
}
#index-navi div:hover {
  color: var(--CG-069);
}
#index-navi div:hover::after {
  border-color: var(--CG-069);
}
#index-navi div::after {
  content: "";
  width: calc(var(--n-fs) * 1);
  height: calc(var(--n-fs) * 1);
  transform: rotate(45deg);
  border-bottom: solid var(--line) var(--COL-TE);
  border-right: solid var(--line) var(--COL-TE);
  position: relative;
  transition-property: transform, bottom;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
  display: inline-block;
  left: var(--blu);
  bottom: calc(var(--blu) * 0.2);
}
#index-navi div.reverse::after {
  transform: rotate(225deg);
  bottom: calc(var(--blu) * -0.2);
}
#index-navi div:nth-child(1) {
  pointer-events: none;
}
#index-navi div:nth-child(1)::after {
  display: none;
}

#index-list {
  width: 100%;
  display: block;
}
#index-list tbody {
  width: 100%;
  display: block;
}
#index-list tr {
  display: grid;
  grid-template-columns: repeat(16, 1fr);
  padding-left: var(--blu);
  padding-right: var(--blu);
  border-bottom: solid var(--line) var(--COL-TE);
  height: calc(var(--blu) * 2.5);
  cursor: pointer;
}
#index-list tr td {
  height: calc(var(--blu) * 1.35);
  margin-top: calc(0px - var(--blu) * 0.35);
  align-self: center;
}
#index-list tr.author-header {
  height: var(--navi-outer);
}
#index-list tr.author-header td {
  height: 100%;
  padding-top: calc(var(--blu) * 0.5);
  margin: unset;
  grid-column: span 16 !important;
  text-align: center;
}
#index-list tr.author-item:not([status=open]) {
  display: none;
}
#index-list tr.author-item td {
  text-align: left;
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  font-weight: 400;
}
#index-list tr:hover {
  background: var(--CG-100);
}

/* Foundry */
#index-list tr > td:nth-child(1), #index-navi div:nth-child(1) {
  grid-column: span 3;
}

/* Collection */
#index-list tr > td:nth-child(2), #index-navi div:nth-child(2) {
  grid-column: span 3;
}

/* Family */
#index-list tr > td:nth-child(3), #index-navi div:nth-child(3) {
  grid-column: span 6;
}

/* Collection size */
#index-list tr > td:nth-child(4), #index-navi div:nth-child(4) {
  grid-column: span 2;
}

/* Styles */
#index-list tr > td:nth-child(5), #index-navi div:nth-child(5) {
  grid-column: span 2;
}

body.sorting {
  overflow-y: hidden;
}
body.sorting #index-list tr {
  border-color: var(--CG-069);
}
body.sorting #index-list * {
  color: var(--CG-069);
}

.animated-loader {
  display: none;
  position: fixed;
  width: var(--navi-outer);
  height: var(--navi-outer);
  z-index: 600;
  -webkit-animation: rotating 2s linear infinite;
          animation: rotating 2s linear infinite;
}

.animated-loader::before,
.animated-loader::after {
  content: "";
  display: block;
  width: var(--blu);
  height: var(--blu);
  background: var(--CG-069);
  position: absolute;
  border-radius: 100vh;
  left: 50%;
  transform: translateX(-50%);
}

.animated-loader::before {
  top: var(--blu);
}

.animated-loader::after {
  bottom: var(--blu);
}

#load-related-container .animated-loader {
  top: calc(50% - var(--navi-outer) * 0.2);
  left: calc(50% - var(--navi-outer) * 0.2);
  z-index: 700;
}

#load-related-container.loading .animated-loader {
  display: block;
}
#load-related-container.loading .interaction-blocker {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 600;
}

@-webkit-keyframes rotating {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes rotating {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Info Edit */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#view-font-edit #settings-container #settings-preview .type-sample-container {
  height: calc(100% - var(--blu) * 2.9);
}
#view-font-edit #settings-container #settings-preview[edit-state=no] .type-sample-container.init {
  display: none;
}
#view-font-edit #settings-container #settings-preview[edit-state=yes] .type-sample-container {
  height: calc(50% - var(--blu) * 1.45);
}
#view-font-edit #settings-container #settings-preview[edit-state=yes] .type-sample-container.init {
  border-bottom: solid var(--line) var(--COL-TE);
  background: var(--CG-063);
}
#view-font-edit #settings-container #settings-preview[edit-state=yes] .type-sample-container.sample {
  top: unset;
  bottom: 0;
}
#view-font-edit #settings-container #settings-preview[edit-state=yes] #font-names-container .initial {
  background: var(--CG-063);
}
#view-font-edit #settings-container #settings-preview[edit-state=yes] #font-names-container:not(.unequal) {
  background: var(--CG-063);
}
#view-font-edit #settings-panel #parameter-navi-container .navi-sub-container select,
#view-font-edit #settings-panel #parameter-navi-container .navi-sub-container input {
  background: none;
  border: none;
  text-transform: inherit;
  font-size: inherit;
}
#view-font-edit #settings-panel #parameter-navi-container .navi-sub-container select option,
#view-font-edit #settings-panel #parameter-navi-container .navi-sub-container input option {
  color: red;
}
#view-font-edit #settings-panel #parameter-settings-container {
  height: calc(100% - var(--navi-outer) - var(--qlh));
}
#view-font-edit #settings-panel #parameter-settings-container #acti-parameter-container .parameter-container .labels input,
#view-font-edit #settings-panel #parameter-settings-container #acti-parameter-container .parameter-container .labels select {
  background: none;
  border: none;
  font-size: inherit;
  color: var(--CG-057);
  padding-left: var(--blu);
  display: inline;
  cursor: pointer;
}
#view-font-edit #settings-panel #parameter-settings-container #acti-parameter-container .parameter-container .labels input:hover,
#view-font-edit #settings-panel #parameter-settings-container #acti-parameter-container .parameter-container .labels select:hover {
  color: var(--CG-069);
}
#view-font-edit #settings-panel #parameter-settings-container #acti-parameter-container .parameter-container .labels select option {
  width: 100px;
}
#view-font-edit #settings-panel #parameter-settings-container #acti-parameter-container .parameter-container .labels .remove {
  position: relative;
}
#view-font-edit #settings-panel #parameter-settings-container #idle-parameter-container .parameter-container:hover * {
  color: var(--CG-063);
}
#view-font-edit #settings-panel #queue-list {
  position: absolute;
  bottom: 0;
  width: 100%;
  border-spacing: 0;
  background: var(--CG-069);
  z-index: 200;
}
#view-font-edit #settings-panel #queue-list tr * {
  font-weight: 400;
  font-style: normal;
  font-size: var(--n-fs);
  line-height: var(--n-lh);
  margin-left: calc(0px - var(--n-lh) * 0.08);
  margin-top: calc(0px - var(--n-lh) * 0.07);
  text-align: left;
  color: var(--COL-TE);
  border-top: solid var(--line) var(--COL-TE);
  padding-top: calc(var(--blu) * 0.25);
  padding-bottom: calc(var(--blu) * 0.25);
}
#view-font-edit #settings-panel #queue-list tr * input {
  background: none;
  border: none;
  color: var(--CG-057);
  cursor: pointer;
}
#view-font-edit #settings-panel #queue-list tr *:nth-child(1) {
  padding-left: calc(var(--blu) * 1);
}
#view-font-edit #settings-panel #queue-list tr *:nth-child(3) {
  text-align: right;
  padding-right: calc(var(--blu) * 1);
}
#view-font-edit #settings-panel #queue-list tr th {
  text-transform: uppercase;
  padding-top: calc(var(--blu) * 0.5);
  padding-bottom: calc(var(--blu) * 0.5);
}
#view-font-edit #settings-panel #queue-list tr th:nth-child(3) {
  color: transparent;
}
#view-font-edit #settings-panel #queue-list tr:not(:nth-child(1)):hover {
  background: var(--CG-093);
}
#view-font-edit #settings-panel #queue-list tr:not(:nth-child(1)):hover input {
  color: var(--CF-RED);
}
#view-font-edit #settings-panel #queue-list tr:not(:nth-child(1)):hover input:hover {
  color: var(--COL-TE);
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Login */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#view-login #navi-container #navi-save, #view-login #navi-container #navi-sear, #view-login #navi-container #navi-logi {
  display: none;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Profile */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#view-profile {
  --transDur: 0.5s;
}
#view-profile #navi-container #navi-save, #view-profile #navi-container #navi-sear, #view-profile #navi-container #navi-logi {
  display: none;
}
#view-profile #profile-navi-container {
  border-left: solid var(--line) var(--COL-TE);
  width: calc(37.5% + var(--line));
  transition-property: width;
  transition-duration: var(--transDur);
  transition-timing-function: ease-in-out;
}
#view-profile #profile-container {
  --colWidth: calc(100vw / 8 * 2);
  --navHeight: calc((var(--blu) * 2) + (var(--p-fs) * 1));
  position: fixed;
  bottom: 0;
  left: 0;
  height: calc(100% - var(--navi-outer));
  width: 100vw;
  overflow: hidden;
}
#view-profile #profile-container .profile-grid {
  display: flex;
  height: 100%;
  width: 100%;
}
#view-profile #profile-container .profile-grid .user-column {
  display: block;
  width: 62.5vw;
  height: 100%;
  overflow: hidden;
  border-right: solid var(--line) var(--COL-TE);
}
#view-profile #profile-container .profile-grid .user-column .user-container {
  width: 62.5vw;
  height: 100%;
  display: grid;
  grid-template-rows: 1fr auto;
}
#view-profile #profile-container .profile-grid .user-column .user-container .user-name {
  border-bottom: solid var(--line) var(--COL-TE);
  position: relative;
}
#view-profile #profile-container .profile-grid .user-column .user-container .user-name span {
  font-size: calc(var(--blu) * 10);
  line-height: 1;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
#view-profile #profile-container .profile-grid .user-column .user-container .user-details {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding-bottom: calc(var(--blu) * 1);
}
#view-profile #profile-container .profile-grid .user-column .user-container .user-details .user-item {
  padding-left: calc(var(--blu) * 1);
  padding-top: calc(var(--blu) * 1);
  overflow: hidden;
}
#view-profile #profile-container .profile-grid .user-column .user-container .user-details .user-item .title .edit {
  display: none;
  cursor: pointer;
  color: var(--CF-RED);
  margin-left: calc(var(--blu) * 1);
}
#view-profile #profile-container .profile-grid .user-column .user-container .user-details .user-item .title .edit:hover {
  color: var(--COL-TE);
}
#view-profile #profile-container .profile-grid .user-column .user-container .user-details .user-item > .content {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
#view-profile #profile-container .profile-grid .user-column .user-container .user-details .user-item .overlay .popup-container {
  z-index: 200;
}
#view-profile #profile-container .profile-grid .user-column .user-container .user-details .user-item .overlay .popup-container form select {
  border: none;
  border-radius: 0;
  width: 100%;
  display: block;
  grid-column: span 2;
  font-family: var(--univers);
  font-size: var(--h1-fs);
  line-height: var(--h1-lh);
  font-weight: 300;
  text-align: center;
  padding-top: calc(var(--h1-fs) * 0.15);
  height: var(--navi-outer);
  background: var(--CG-093);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
#view-profile #profile-container .profile-grid .user-column .user-container .user-details .user-item .overlay .popup-container form select option {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
}
#view-profile #profile-container .profile-grid .user-column .user-container .user-details .user-item .overlay .popup-container form select:hover {
  background: var(--CG-100);
}
#view-profile #profile-container .profile-grid .user-column .user-container .user-details .user-item .overlay.open .popup-container {
  display: block;
}
#view-profile #profile-container .profile-grid .user-column .user-container .user-details .user-item:hover .title .edit {
  display: inline;
}
#view-profile #profile-container .profile-grid .collection-column {
  position: relative;
}
#view-profile #profile-container .profile-grid .collection-column .library-container {
  width: var(--colWidth);
  height: 100vh;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  padding-top: calc(var(--navi-outer) + var(--navHeight) - var(--blu) * 0.15);
}
#view-profile #profile-container .profile-grid .collection-column .library-container:not(:first-child) {
  border-left: solid var(--line) var(--COL-TE);
  margin-left: calc(var(--colWidth) - var(--line));
}
#view-profile #profile-container .profile-grid .collection-column .library-container .library-container {
  display: none;
}
#view-profile #profile-container .profile-grid .collection-column .library-container .active {
  background: var(--COL-HI);
}
#view-profile #profile-container .profile-grid .collection-column .library-container .active > .library-container {
  display: unset;
}
#view-profile #profile-container .profile-grid .collection-column .library-container .header, #view-profile #profile-container .profile-grid .collection-column .library-container .footer {
  position: fixed;
  width: calc(var(--colWidth) - var(--line));
  height: var(--navHeight);
  margin-left: 0;
  background: var(--COL-BG);
  padding: calc(var(--blu) * 1);
  line-height: 1;
}
#view-profile #profile-container .profile-grid .collection-column .library-container .header {
  top: var(--navi-outer);
  border-bottom: solid var(--line) var(--COL-TE);
}
#view-profile #profile-container .profile-grid .collection-column .library-container .footer {
  bottom: 0;
  border-top: solid var(--line) var(--COL-TE);
  cursor: pointer;
  color: var(--COL-HO);
}
#view-profile #profile-container .profile-grid .collection-column .library-container .footer:hover {
  background: var(--COL-HI);
  color: var(--COL-TE);
}
#view-profile #profile-container .profile-grid .collection-column .library-container .block {
  border-bottom: solid var(--line) var(--COL-TE);
  cursor: pointer;
}
#view-profile #profile-container .profile-grid .collection-column .library-container .block .name,
#view-profile #profile-container .profile-grid .collection-column .library-container .block .specs {
  display: block;
  width: var(--colWidth);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#view-profile #profile-container .profile-grid .collection-column .library-container .block:hover {
  background: var(--COL-HI);
}
#view-profile #profile-container .profile-grid .collection-column .library-container.collections-container {
  margin: 0;
}
#view-profile[profile=start] #profile-navi-container .navi-sub.profile {
  pointer-events: none;
  color: var(--COL-AC);
}
#view-profile[profile=library] #profile-navi-container {
  width: calc(50% + var(--line));
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Saved Fonts */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#saved-container {
  display: none;
}

.toggle-saved-fonts::before {
  content: "Show ";
}

.saved-list:not(#view-compass .saved-list) {
  position: absolute;
  top: var(--navi-outer);
  left: 0;
  /* height: calc(100% - (var(--navi-outer)*3)); Temp. change until "print" return */
  height: calc(100% - var(--navi-outer) * 2);
  width: 100%;
  padding: var(--blu);
  overflow: scroll;
}

.saved-header {
  position: absolute;
  height: var(--navi-outer);
  border-bottom: solid var(--line) var(--CG-000);
  top: 0;
  left: 0;
  width: 100%;
  padding: var(--blu);
}

.saved-sub-navi {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.saved-sub-navi .sub-nav {
  padding: var(--blu);
  text-align: center;
  border-top: solid var(--line) var(--CG-000);
  height: var(--navi-outer);
  cursor: pointer;
}
.saved-sub-navi .sub-nav:hover {
  background: var(--CG-057);
}

.saved-font {
  position: relative;
  padding-bottom: var(--blu);
  cursor: pointer;
}
.saved-font .sf-remove {
  visibility: hidden;
  position: absolute;
  color: var(--CF-RED);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  top: 0;
  right: 0;
}
.saved-font .sf-remove:hover {
  color: var(--CG-000);
}

.saved-font:hover .sf-remove {
  visibility: visible;
}
.saved-font:hover *:not(.sf-remove) {
  color: var(--CG-057);
}

.sf-none-message {
  display: none;
  position: absolute;
  top: var(--navi-outer);
  left: 0;
  padding: var(--blu);
}
.sf-none-message h9 {
  display: block;
  margin-bottom: var(--n-lh);
}

body:not(#view-compass) .sf-none-message.show {
  display: block;
}

#view-compass #saved-container {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  display: block;
  position: absolute;
  width: 100%;
  height: calc(100% - var(--navi-outer));
  bottom: 0;
  left: 0;
  overflow: hidden;
}
#view-compass #saved-container .saved-font {
  display: none;
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 400;
  width: var(--blu);
  height: var(--blu);
  cursor: pointer;
  z-index: 400;
}
#view-compass #saved-container .saved-font .sf-family {
  color: var(--CG-100);
}
#view-compass #saved-container .saved-font .sf-foundry {
  display: none;
}
#view-compass #saved-container .saved-font .sf-remove {
  top: calc(var(--blu) * 1);
  color: var(--CF-RIN);
}
#view-compass #saved-container .saved-font .sf-remove:hover {
  color: var(--CG-100);
}
#view-compass #saved-container .saved-font * {
  visibility: hidden;
  font-size: var(--n-fs);
  line-height: var(--n-lh);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  position: absolute;
  padding-top: calc(var(--blu) * 0.2);
}
#view-compass #saved-container .saved-font.left * {
  padding-left: calc(var(--blu) * 1.5);
  left: 0;
}
#view-compass #saved-container .saved-font.right * {
  padding-right: calc(var(--blu) * 1.5);
  right: 0;
}
#view-compass #saved-container .saved-font::before {
  content: "";
  display: block;
  width: var(--blu);
  height: var(--blu);
  background: var(--CF-RED);
  position: absolute;
  border-radius: 100vh;
  top: 0;
  left: 0;
}
#view-compass #saved-container .saved-font:hover {
  mix-blend-mode: difference;
}
#view-compass #saved-container .saved-font:hover * {
  visibility: visible;
}
#view-compass #saved-container .saved-font:hover::before {
  background: var(--CG-100);
}
#view-compass .saved-header,
#view-compass .saved-sub-navi {
  display: none;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
body[saved=open] #collection-navi-container {
  right: var(--wi-saved);
  width: calc(50% - var(--wi-saved) / 2);
}
body[saved=open] #collection-header-container,
body[saved=open] #collection-overview-container {
  width: calc(100% - var(--wi-saved));
}
body[saved=open] #collection-buy-container {
  width: calc(100% - var(--wi-saved));
}
body[saved=open] #collection-buy-container h1 {
  font-size: 17.8vw;
  margin-left: calc(0px - 1.2vw);
  margin-top: calc(0px - 0.5vw);
}
body[saved=open] #settings-container {
  width: calc(100% - var(--wi-saved));
}
body[saved=open] #return-btn {
  right: calc(var(--wi-settings) + var(--wi-saved));
}
body[saved=open] #parameter-navi-container {
  right: var(--wi-saved);
}
body[saved=open] #search-navi-container {
  right: var(--wi-saved);
  width: calc(50% + var(--line) * 0.5 - var(--wi-saved) * 0.5);
}
body[saved=open] #results-container {
  width: calc(100% - var(--wi-saved));
}
body[saved=open] #related-fonts-container {
  width: calc(100% - var(--wi-saved));
}
body[saved=open] #related-navi-container {
  right: var(--wi-saved);
  width: var(--wi-settings);
}
body[saved=open] .toggle-saved-fonts::before {
  content: "Hide ";
}

body[saved=open].related-open #related-navi-container {
  right: var(--wi-saved);
  width: calc(var(--wi-related) - var(--wi-saved) / 2);
  white-space: nowrap;
}
body[saved=open].related-open #return-btn {
  right: calc(var(--wi-related) + var(--wi-saved) / 2);
}
body[saved=open].related-open #parameter-navi-container {
  right: calc(var(--wi-related) + var(--wi-saved) / 2 - var(--wi-settings));
}

body[saved=open]#view-font-settings #select-sample-container {
  right: calc(var(--wi-settings) + var(--wi-saved));
}

body[saved=open].related-open#view-font-settings #select-sample-container {
  right: calc(var(--wi-related) + var(--wi-saved) / 2);
}

body:not(#view-compass)[saved=open] #saved-container {
  position: fixed;
  display: block;
  width: var(--wi-saved);
  height: 100vh;
  top: 0;
  right: 0;
  border-left: solid var(--line) var(--CG-000);
  background: var(--CG-033);
  z-index: 600;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Overlays */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.overlay {
  position: fixed;
  z-index: 600;
}
.overlay .overlay-content {
  display: none;
  z-index: 900;
}
.overlay .overlay-content .title {
  position: relative;
  width: 100%;
  border-bottom: solid var(--line) var(--CG-000);
  height: var(--navi-outer);
  padding: var(--blu);
  z-index: 100;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.overlay.open,
#search-container,
#login-container {
  position: fixed;
  display: flex;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  z-index: 900;
}

.overlay.open .overlay-content {
  display: block;
}
.overlay.open .info-open-btn {
  pointer-events: none;
}

.close-overlay-area {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
}

#login-start.hide {
  display: none;
}

/* Popups */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.popup-container {
  display: none;
  background: var(--CG-093);
  border: solid var(--line) var(--CG-000);
  width: 80%;
  max-width: calc(var(--blu) * 55);
}
.popup-container.green {
  background: var(--CF-GRE);
}
.popup-container.green .header .close:hover h1 {
  color: var(--CG-000);
  opacity: 0.5;
}
.popup-container .header {
  border-bottom: solid var(--line) var(--CG-000);
  display: grid;
  grid-template-columns: auto -webkit-max-content;
  grid-template-columns: auto max-content;
  height: var(--navi-outer);
  overflow: hidden;
}
.popup-container .header .title,
.popup-container .header .close {
  padding: calc(var(--blu) * 1);
  padding-bottom: 0;
}
.popup-container .header .close {
  border-left: solid var(--line) var(--CG-000);
  cursor: pointer;
}
.popup-container .header .close:hover h1 {
  color: var(--CG-069);
}
.popup-container .content {
  padding: calc(var(--blu) * 1);
}
.popup-container .footer {
  border-top: solid var(--line) var(--CG-000);
}
.popup-container .footer form input {
  border: none;
}
.popup-container .footer form input:not(.circ-btn) {
  width: 100%;
  margin-top: 0 !important;
}
.popup-container .footer form .form-submit {
  right: 0 !important;
}
.popup-container .footer form.grid-form {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  background: var(--CG-000);
  grid-gap: var(--line);
}
.popup-container .footer form.grid-form input:not(.half) {
  grid-column: span 2;
}
.popup-container .footer form.grid-form input.form-text[type=submit] {
  padding-top: calc(var(--h1-fs) * 0.2);
  background: var(--CG-069);
  cursor: pointer;
}
.popup-container .footer form.grid-form input.form-text[type=submit]:hover {
  background: var(--CF-GRE);
}
.popup-container.open {
  display: block;
}

/* Overlay – Search */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#search-container,
#login-container {
  display: none;
}
#search-container form,
#login-container form {
  width: 100%;
  display: flex;
  justify-content: center;
}

#search-container.open,
#login-container {
  display: flex;
}

#login-container {
  z-index: 0;
}
#login-container form {
  flex-direction: column;
  align-items: center;
  position: relative;
}
#login-container form input {
  margin-top: calc(0px - var(--line));
}
#login-container form .form-submit {
  position: absolute;
  bottom: 0;
  right: 10%;
  margin: var(--blu);
  transform: rotate(90deg);
}

#view-compass #search-container form {
  margin-top: var(--navi-outer);
}

.form-text {
  font-size: var(--h1-fs);
  line-height: var(--h1-lh);
  font-weight: 300;
  border: solid var(--line) var(--CG-000);
  text-align: center;
  height: var(--navi-outer);
  width: 80%;
  background: var(--CG-093);
  padding-top: calc(var(--h1-fs) * 0.25);
}

.form-text:focus {
  outline: none;
  background: var(--CG-100);
}

.form-text::-moz-placeholder {
  opacity: 1;
  color: var(--CG-069);
}

.form-text:-ms-input-placeholder {
  opacity: 1;
  color: var(--CG-069);
}

.form-text::placeholder {
  opacity: 1;
  color: var(--CG-069);
}

.form-text:focus::-moz-placeholder {
  color: var(--CG-093);
}

.form-text:focus:-ms-input-placeholder {
  color: var(--CG-093);
}

.form-text:focus::placeholder {
  color: var(--CG-093);
}

.form-submit {
  transform: translateX(calc(0px - 100% - var(--blu) * 2)) rotate(90deg);
  background: url("graphics/circ-arr.svg");
}

.form-text + .form-submit:hover {
  background-color: var(--CG-100);
}

.form-text:focus + .form-submit:hover {
  background-color: var(--CG-093);
}

div[role=status] {
  display: none;
}

.ui-autocomplete {
  background: var(--CG-093);
  width: 80% !important;
  border: solid var(--line) var(--CG-000);
  border-top: 0;
  z-index: 900;
}
.ui-autocomplete li {
  list-style-type: none;
  text-align: center;
  padding: calc(var(--blu) * 0.5);
  border-bottom: solid var(--line) var(--CG-000);
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  cursor: pointer;
}
.ui-autocomplete li:hover {
  background: var(--CG-100);
}

/* Overlay – Info */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.info-open-btn {
  position: fixed;
  height: var(--navi-inner);
  width: var(--navi-inner);
  border: 0;
  padding: 0;
  background: url("graphics/circ-inf.svg") no-repeat center;
  cursor: pointer;
  border-radius: 100vh;
  margin: var(--blu);
  top: 0;
  right: 0;
  z-index: 600;
}

.info .overlay-content {
  position: relative;
  width: calc(var(--blu) * 50);
  background: var(--CG-093);
  border: solid var(--line) var(--CG-000);
}

.info-next-btn,
.info-prev-btn {
  position: absolute;
  top: 0;
  height: var(--navi-inner);
  width: var(--navi-inner);
  padding: 0;
  background: url("graphics/circ-inf.svg") no-repeat center;
  cursor: pointer;
  border-radius: 100vh;
  margin: var(--blu);
  z-index: 200;
}

.info-next-btn {
  background: url("graphics/circ-nex.svg") no-repeat center;
  right: 0;
}

.info-prev-btn {
  background: url("graphics/circ-pre.svg") no-repeat center;
  right: calc((var(--navi-inner) + var(--blu)) * 1);
}

.last .info-next-btn,
.first .info-prev-btn {
  pointer-events: none;
  opacity: 0.5;
}

.info-next-btn:hover,
.info-prev-btn:hover {
  background-color: var(--CG-100);
}

.info-slider {
  position: relative;
  width: 100%;
  height: calc(var(--blu) * 30);
}

.slide {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  padding: var(--blu);
  visibility: hidden;
}
.slide .image {
  width: calc(100% - var(--blu) * 2);
  position: absolute;
  bottom: var(--blu);
  left: var(--blu);
}
.slide .image svg {
  overflow: visible;
}

.slide.active {
  visibility: visible;
}

/* Overlay – Active */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.overlay-active {
  overflow: hidden;
  background: var(--CG-033);
  color: var(--CG-000);
}
.overlay-active #navi-container {
  background: var(--CG-033);
  color: var(--CG-000);
}
.overlay-active #coll-overview-navi {
  background: var(--CG-033);
  color: var(--CG-000);
}
.overlay-active #coll-overview-navi .family.active {
  background: var(--CG-033);
}
.overlay-active #compass-container .marker {
  border: solid var(--line) var(--CG-000);
  mix-blend-mode: unset;
  opacity: 0;
  transition-duration: 0s;
  transition-delay: 0s;
}
.overlay-active #compass-container .blocker {
  opacity: 0;
  transition-duration: 0s;
  transition-delay: 0s;
}
.overlay-active #save-this-font svg * {
  fill: var(--CG-014);
}
.overlay-active #index-navi {
  background: var(--CG-033);
}
.overlay-active #footer-container {
  background: var(--CG-033);
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Footer */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#footer-container {
  position: relative;
  height: calc(100vh - var(--navi-outer) + var(--line) * 2);
  width: 100%;
  border-top: solid var(--line) var(--CG-000);
  padding: var(--blu);
  background: var(--CF-RED);
}
#footer-container * {
  color: var(--CG-000);
}
#footer-container #footer-header h2 {
  max-width: calc(var(--blu) * 70);
}
#footer-container #footer-header p {
  margin-bottom: var(--p-lh);
}
#footer-container #footer-footer {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  position: absolute;
  bottom: var(--blu);
  width: calc(100% - var(--blu) * 2);
}
#footer-container #footer-footer a:hover {
  color: var(--CG-000);
  opacity: 0.5;
}
#footer-container #footer-footer > div:last-child {
  position: absolute;
  right: 0;
}

#donate-button-container {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#donate-button-container #donate-button img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

#donate-button-container:hover {
  opacity: 0.5;
}

.separator {
  width: calc(100% + var(--blu) * 2);
  left: calc(0px - var(--blu));
  position: relative;
  border-bottom: solid var(--line) var(--CG-000);
  margin-top: calc(var(--blu) * 5);
  margin-bottom: var(--blu);
}

#footer-signup {
  max-width: calc(var(--blu) * 70);
}
#footer-signup input[type=email] {
  width: 100%;
  border: none;
  outline: none;
  border-radius: 0;
  background: none;
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  font-weight: 400;
  height: calc(var(--blu) * 2);
  min-height: calc(var(--blu) * 2);
  resize: vertical;
  transition: height 0.3s ease-out;
}
#footer-signup input[type=email]::-moz-placeholder {
  color: var(--CG-000);
  opacity: 0.5;
}
#footer-signup input[type=email]:-ms-input-placeholder {
  color: var(--CG-000);
  opacity: 0.5;
}
#footer-signup input[type=email]::placeholder {
  color: var(--CG-000);
  opacity: 0.5;
}
#footer-signup input[type=submit],
#footer-signup input[type=button] {
  border: none;
  border-radius: 0;
  background: none;
  font-size: var(--n-fs);
  line-height: var(--n-lh);
  font-weight: 400;
  cursor: pointer;
}

body[saved=open]:not(#view-info) #footer-container {
  width: calc(100% - var(--wi-saved));
}

#view-signup #navi-container,
.footer-active #navi-container {
  background: var(--CF-RED);
}
#view-signup #navi-container,
#view-signup #collection-navi-container,
.footer-active #navi-container,
.footer-active #collection-navi-container {
  border-color: var(--CG-000);
  color: var(--CG-000) !important;
}
#view-signup #navi-container *,
#view-signup #collection-navi-container *,
.footer-active #navi-container *,
.footer-active #collection-navi-container * {
  color: var(--CG-000) !important;
}
#view-signup #return-btn .arrow-container::before,
.footer-active #return-btn .arrow-container::before {
  background: var(--CG-000);
}
#view-signup #return-btn .arrow-container::after,
.footer-active #return-btn .arrow-container::after {
  border-color: var(--CG-000);
}
#view-signup #return-btn:hover .arrow-container,
.footer-active #return-btn:hover .arrow-container {
  opacity: 0.5 !important;
}
#view-signup #return-btn:hover .arrow-container::before,
.footer-active #return-btn:hover .arrow-container::before {
  background: var(--CG-000);
}
#view-signup #return-btn:hover .arrow-container::after,
.footer-active #return-btn:hover .arrow-container::after {
  border-color: var(--CG-000);
}
#view-signup .navi-sub,
#view-signup #navi-container :hover,
#view-signup #navi-container *:hover,
#view-signup #navi-comp:hover *,
#view-signup #return-btn:hover *,
.footer-active .navi-sub,
.footer-active #navi-container :hover,
.footer-active #navi-container *:hover,
.footer-active #navi-comp:hover *,
.footer-active #return-btn:hover * {
  color: var(--CG-000) !important;
}
#view-signup #return-btn:hover::after,
.footer-active #return-btn:hover::after {
  border-color: var(--CG-000) !important;
}
#view-signup .navi-sub:hover,
#view-signup #navi-comp:hover,
#view-signup #return-btn:hover,
.footer-active .navi-sub:hover,
.footer-active #navi-comp:hover,
.footer-active #return-btn:hover {
  opacity: 0.5 !important;
}

#view-signup {
  background: var(--CF-RED);
}

#view-font-settings:not(.related-open) #footer-container {
  display: none;
}

/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Mobile Message */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#mobile-message {
  display: none;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
  grid-gap: var(--line);
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100%;
  background: var(--CG-000);
  top: 0;
  left: 0;
}
#mobile-message > div {
  padding: var(--blu);
  background: var(--CF-RED);
}
#mobile-message h2 {
  padding-top: var(--blu);
}
#mobile-message .close {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#mobile-message .close button {
  cursor: pointer;
  display: block;
  background: none;
  border: solid var(--CG-000) var(--line);
  padding: calc(var(--blu) * 1) calc(var(--blu) * 2) calc(var(--blu) * 0.3);
  margin-bottom: calc(var(--blu) * 2);
}
#mobile-message .close button:hover {
  background: var(--CG-000);
  color: var(--CF-RED);
}
#mobile-message[override=close] {
  display: none;
}

/* ////////////////////////////////////////////////////////////// */
/* Media */
/* ////////////////////////////////////////////////////////////// */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* 1 / Mobile / XS / */
/* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
:root {
  --media: XS-Mobile;
  --blu: calc(var(--scr)*10);
}

@media all and (min-width: 35em) {
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  /* 2 / Tablet / S / */
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  :root {
    --media: S-Tablet;
    --blu: calc(var(--scr)*12);
  }
}
@media all and (min-width: 55em) {
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  /* 3 / Laptop and Tablet / M / */
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  :root {
    --media: M-Tablet-Laptop;
    --blu: calc(var(--scr)*14);
  }
}
@media all and (min-width: 75em) {
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  /* 4 / Laptop / L / */
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  :root {
    --media: L-Laptop-Desktop;
    --blu: calc(var(--scr)*16);
  }
}
@media all and (min-width: 120em) {
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  /* 5 / Desktop / XL / */
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  :root {
    --media: XL-Desktop;
    --blu: calc(var(--scr) * 18);
  }

  .settings-navi-btn {
    font-size: var(--h1-fs);
    line-height: calc(var(--blu) * 3.4);
    font-weight: 300;
  }

  #settings-preview-navi {
    height: var(--navi-outer);
  }

  .settings-navi-save {
    width: var(--navi-outer);
  }

  #view-font-settings #settings-preview .type-sample-container, #view-font-edit #settings-preview .type-sample-container {
    height: calc(100% - var(--blu) * 7.4);
  }

  #acti-parameter-container .parameter-container[par-select=single].odd .option {
    border-right: solid var(--line) var(--CG-000);
    border-bottom: solid var(--line) var(--CG-000);
    border-left: none;
  }
  #acti-parameter-container .parameter-container[par-select=single].odd .option:nth-child(3n) {
    border-right: none;
  }
  #acti-parameter-container .parameter-container[par-select=single].odd .option:nth-child(3n+1):nth-last-child(-n+3), #acti-parameter-container .parameter-container[par-select=single].odd .option:nth-child(3n+1):nth-last-child(-n+3) ~ .option {
    border-bottom: none;
  }
  #acti-parameter-container .parameter-container[par-select=single].odd .options {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media all and (max-width: 50em), (max-height: 40em) {
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  /* !!! / Mobile only / !!! / */
  /* –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
  :root {
    --media: XS-Mobile-Only;
  }

  body {
    overflow: hidden;
  }

  #mobile-message {
    display: grid;
  }
}

/*# sourceMappingURL=data:application/json;base64,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RUFBbUU7RUFDbkU7SUFDRSx3QkFBd0I7SUFDeEIsMEJBQTBCO0VBQzVCO0FBQ0Y7QUFDQTtFQUNFLG1FQUFtRTtFQUNuRSxxQkFBcUI7RUFDckIsbUVBQW1FO0VBQ25FO0lBQ0UseUJBQXlCO0lBQ3pCLDBCQUEwQjtFQUM1QjtBQUNGO0FBQ0E7RUFDRSxtRUFBbUU7RUFDbkUsdUJBQXVCO0VBQ3ZCLG1FQUFtRTtFQUNuRTtJQUNFLG1CQUFtQjtJQUNuQiw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSx1QkFBdUI7SUFDdkIsbUNBQW1DO0lBQ25DLGdCQUFnQjtFQUNsQjs7RUFFQTtJQUNFLHlCQUF5QjtFQUMzQjs7RUFFQTtJQUNFLHdCQUF3QjtFQUMxQjs7RUFFQTtJQUNFLHFDQUFxQztFQUN2Qzs7RUFFQTtJQUNFLDZDQUE2QztJQUM3Qyw4Q0FBOEM7SUFDOUMsaUJBQWlCO0VBQ25CO0VBQ0E7SUFDRSxrQkFBa0I7RUFDcEI7RUFDQTtJQUNFLG1CQUFtQjtFQUNyQjtFQUNBO0lBQ0UscUNBQXFDO0VBQ3ZDO0FBQ0Y7QUFDQTtFQUNFLG1FQUFtRTtFQUNuRSw4QkFBOEI7RUFDOUIsbUVBQW1FO0VBQ25FO0lBQ0UsdUJBQXVCO0VBQ3pCOztFQUVBO0lBQ0UsZ0JBQWdCO0VBQ2xCOztFQUVBO0lBQ0UsYUFBYTtFQUNmO0FBQ0YiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICovXG4vKiBVbml2ZXJzYWwgKi9cbi8qIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi8qIEdsb2JhbCBSZXNldHMgKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2Zhc3QuZm9udHMubmV0L2x0LzEuY3NzP2FwaVR5cGU9Y3NzJmM9MGZiMWZlNjgtOWIwMi00OTFmLTlmNDItMDllYjk5OWYwNTBlJmZvbnRpZHM9NTY1NjI2OCw1NjU2Mjc1XCIpO1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgc2Nyb2xsYmFyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmJ1dHRvbiwgdGV4dGFyZWEsIGlucHV0LCBzZWxlY3QsIGEge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogRm9udHMgLyAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4vKiBVbml2ZXJzIE5leHQgUHJvIFJlZ3VsYXIgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJVbml2ZXJzIE5leHRcIjtcbiAgc3JjOiB1cmwoXCJmb250cy9Vbml2ZXJzTmV4dC81ZGFjODYyNi0xNzJlLTRmNzItOThkZi04NjY3ZGY5ODk0OTMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcImZvbnRzL1VuaXZlcnNOZXh0LzAzMzg1NDc4LTBhMjctNDBhNy1iNjI4LWYyNDFiMTEyMjc0YS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgYXNjZW50LW92ZXJyaWRlOiAwJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMCU7XG59XG4vKiBVbml2ZXJzIE5leHQgUHJvIExpZ2h0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiVW5pdmVycyBOZXh0XCI7XG4gIHNyYzogdXJsKFwiZm9udHMvVW5pdmVyc05leHQvNTRhN2Y5ZDMtNjYwNy00YzY5LTgxOGUtYzI0ZWEyNDZkNGI5LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJmb250cy9Vbml2ZXJzTmV4dC82YzIwYzM4OC03ZGU3LTQxYTctOTRkYy05Yjk2NDQ4MTFmZWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGFzY2VudC1vdmVycmlkZTogMCU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDAlO1xufVxuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4vKiBSb290cyAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG46cm9vdCB7XG4gIC0tc2NyOiBjYWxjKCgoOTBweCArICgxMDB2dyAvIDEwMCkpLzEwMCkpO1xuICAtLWxpbmU6IGNhbGModmFyKC0tYmx1KSowLjA4KTtcbiAgLS1uYXZpLWlubmVyOiBjYWxjKCB2YXIoLS1oMS1mcykqMC43Myk7XG4gIC0tbmF2aS1vdXRlcjogY2FsYygwcHggKyAodmFyKC0tYmx1KSoyKSArICh2YXIoLS1oMS1mcykqMC43MykpO1xuICAtLUNGLVJFRDogI2ZmMDAwMDtcbiAgLS1DRi1HUkU6ICMwMGU2ODY7XG4gIC0tQ0YtUklOOiAjMTllMWZmO1xuICAtLUNHLTAwMDogIzAwMDAwMDtcbiAgLS1DRy0wMTQ6ICMyNDI0MjQ7XG4gIC0tQ0ctMDMzOiAjNGU1MTUzO1xuICAtLUNHLTA1NzogIzkxOTE4ZTtcbiAgLS1DRy0wNjM6ICM5ZWEwOWY7XG4gIC0tQ0ctMDY5OiAjYWViMGIwO1xuICAtLUNHLTA5MzogI2VkZWNlYjtcbiAgLS1DRy0xMDA6ICNmZmZmZmY7XG4gIC0tdW5pdmVyczogXCJVbml2ZXJzIE5leHRcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgLS1MSFI6IDAuODU7XG4gIC0tbi1saDogY2FsYyh2YXIoLS1ibHUpICogMSk7XG4gIC0tbi1mczogY2FsYyh2YXIoLS1uLWxoKSAqIHZhcigtLUxIUikpO1xuICAtLXAtbGg6IGNhbGModmFyKC0tYmx1KSAqIDEuNjQyODU3MTQyOSk7XG4gIC0tcC1mczogY2FsYyh2YXIoLS1wLWxoKSAqIHZhcigtLUxIUikpO1xuICAtLWgzLWxoOiBjYWxjKHZhcigtLWJsdSkgKiAyLjY0Mjg1NzE0MjkpO1xuICAtLWgzLWZzOiBjYWxjKHZhcigtLWgzLWxoKSAqIHZhcigtLUxIUikpO1xuICAtLWgxLWxoOiBjYWxjKHZhcigtLWJsdSkgKiA0LjIxNDI4NTcxNDMpO1xuICAtLWgxLWZzOiBjYWxjKHZhcigtLWgxLWxoKSAqIHZhcigtLUxIUikpO1xuICAtLXRyYW5zLWR1cmF0aW9uOiAxcztcbiAgLS10cmFucy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIC0td2ktc2V0dGluZ3M6IGNsYW1wKGNhbGModmFyKC0tYmx1KSozMyksIGNhbGMoMTAwdncgLyA4ICogMyksIGNhbGModmFyKC0tYmx1KSo0MCkpO1xuICAtLXdpLXJlbGF0ZWQ6IGNsYW1wKGNhbGModmFyKC0tYmx1KSo0NyksIGNhbGMoMTAwdncgLyA4ICogNCksIGNhbGModmFyKC0tYmx1KSo5MCkpO1xuICAtLXdpLXNhdmVkOiBjYWxjKHZhcigtLWJsdSkqMTMpO1xuICAtLWJsdXI6IDEwcHg7XG59XG5cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogQmFzaWMgdHlwb2dyYXBoeSAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG5ib2R5LCBwLCAucCwgKiB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS11bml2ZXJzKTtcbiAgY29sb3I6IHZhcigtLUNPTC1URSk7XG59XG5cbmgxLCAuaDEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oMSwgLmgxLFxuaDIsIC5oMiB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiB2YXIoLS1oMS1mcyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1oMS1saCk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDBweCAtIHZhcigtLWgxLWxoKSAqIDAuMDgpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDBweCAtIHZhcigtLWgxLWxoKSAqIDAuMDcpO1xufVxuXG5oMywgaDQsIGg1LCBoNiwgaDcsIGg4LFxuLmgzLCAuaDQsIC5oNSwgLmg2LCAuaDcsIC5oOCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiB2YXIoLS1oMy1mcyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1oMy1saCk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDBweCAtIHZhcigtLWgzLWxoKSAqIDAuMDgpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDBweCAtIHZhcigtLWgzLWxoKSAqIDAuMDcpO1xufVxuXG5wLCAucCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiB2YXIoLS1wLWZzKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXAtbGgpO1xuICBtYXJnaW4tbGVmdDogY2FsYygwcHggLSB2YXIoLS1wLWxoKSAqIDAuMDgpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDBweCAtIHZhcigtLXAtbGgpICogMC4wNyk7XG59XG5cbmg5LCAuaDkge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbi1mcyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1uLWxoKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMHB4IC0gdmFyKC0tbi1saCkgKiAwLjA4KTtcbiAgbWFyZ2luLXRvcDogY2FsYygwcHggLSB2YXIoLS1uLWxoKSAqIDAuMDcpO1xufVxuXG5hLCBhOmxpbmssIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiB2YXIoLS1DT0wtVEUpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnR5cGUtc2FtcGxlLCAudHlwZS1zYW1wbGUgZGl2IHtcbiAgZm9udC1mYW1pbHk6IFwibWFpbi1keW5hbWljLWZvbnRcIiwgXCJVbml2ZXJzIE5leHRcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWFhXSwgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1hYV0ge1xuICAtLWNhcGl0YWwtaGVpZ2h0OiBtaW4oY2FsYyh2YXIoLS12dykgKiAzNSksIGNhbGModmFyKC0tdmgpICogNzApKTtcbn1cbiNjb21wLXR5cGUtc2FtcGxlW3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1jaGFtcGlvbnNdLCAjY29tcC10eXBlLWluaXRbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWNoYW1waW9uc10ge1xuICAtLWNhcGl0YWwtaGVpZ2h0OiBtaW4oY2FsYyh2YXIoLS12dykgKiA4KSwgY2FsYyh2YXIoLS12aCkgKiAxNSkpO1xufVxuI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPXdhZmZsZXNdLCAjY29tcC10eXBlLWluaXRbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPXdhZmZsZXNdIHtcbiAgLS1jYXBpdGFsLWhlaWdodDogbWluKGNhbGModmFyKC0tdncpICogOSksIGNhbGModmFyKC0tdmgpICogMjApKTtcbn1cbiNjb21wLXR5cGUtc2FtcGxlW3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1oYW5kZ2xvdmVzXSwgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1oYW5kZ2xvdmVzXSB7XG4gIC0tY2FwaXRhbC1oZWlnaHQ6IG1pbihjYWxjKHZhcigtLXZ3KSAqIDkpLCBjYWxjKHZhcigtLXZoKSAqIDIwKSk7XG59XG4jY29tcC10eXBlLXNhbXBsZVt0eXBlLXNhbXBsZS1zZWxlY3Rpb249bWluaW1vbV0sICNjb21wLXR5cGUtaW5pdFt0eXBlLXNhbXBsZS1zZWxlY3Rpb249bWluaW1vbV0ge1xuICAtLWNhcGl0YWwtaGVpZ2h0OiBtaW4oY2FsYyh2YXIoLS12dykgKiA5KSwgY2FsYyh2YXIoLS12aCkgKiAyMCkpO1xufVxuI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPXNwaGlueF0sICNjb21wLXR5cGUtaW5pdFt0eXBlLXNhbXBsZS1zZWxlY3Rpb249c3BoaW54XSB7XG4gIC0tY2FwaXRhbC1oZWlnaHQ6IG1pbihjYWxjKHZhcigtLXZ3KSAqIDgpLCBjYWxjKHZhcigtLXZoKSAqIDE1KSk7XG59XG4jY29tcC10eXBlLXNhbXBsZVt0eXBlLXNhbXBsZS1zZWxlY3Rpb249Zm94XSwgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1mb3hdIHtcbiAgLS1jYXBpdGFsLWhlaWdodDogbWluKGNhbGModmFyKC0tdncpICogNiksIGNhbGModmFyKC0tdmgpICogMTUpKTtcbn1cbiNjb21wLXR5cGUtc2FtcGxlW3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1hbHBoYWJldF0sICNjb21wLXR5cGUtaW5pdFt0eXBlLXNhbXBsZS1zZWxlY3Rpb249YWxwaGFiZXRdIHtcbiAgLS1jYXBpdGFsLWhlaWdodDogbWluKGNhbGModmFyKC0tdncpICogNyksIGNhbGModmFyKC0tdmgpICogNykpO1xufVxuI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPW51bWVyYWxzXSwgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1udW1lcmFsc10ge1xuICAtLWNhcGl0YWwtaGVpZ2h0OiBtaW4oY2FsYyh2YXIoLS12dykgKiA5KSwgY2FsYyh2YXIoLS12aCkgKiAyMCkpO1xufVxuI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWNvbGxuYW1lXSwgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1jb2xsbmFtZV0ge1xuICAtLWNhcGl0YWwtaGVpZ2h0OiBtaW4oY2FsYyh2YXIoLS12dykgKiA2KSwgY2FsYyh2YXIoLS12aCkgKiAxNSkpO1xufVxuI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWhvZWZsZXJdLCAjY29tcC10eXBlLWluaXRbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWhvZWZsZXJdIHtcbiAgLS1jYXBpdGFsLWhlaWdodDogbWluKGNhbGModmFyKC0tdncpICogMS40KSwgY2FsYyh2YXIoLS12aCkgKiAxLjQpKTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbWF4LXdpZHRoOiA4MCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWN1c3RvbV0sICNjb21wLXR5cGUtaW5pdFt0eXBlLXNhbXBsZS1zZWxlY3Rpb249Y3VzdG9tXSB7XG4gIC0tY2FwaXRhbC1oZWlnaHQ6IG1pbihjYWxjKHZhcigtLXZ3KSAqICgxMCAtICh2YXIoLS1tdWx0aXBsaWVyKSAqIDAuMjUpKSksIGNhbGModmFyKC0tdmgpICogMjUpKTtcbn1cbiNjb21wLXR5cGUtc2FtcGxlW3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1jaGFtcGlvbnNdIHNwYW4sICNjb21wLXR5cGUtc2FtcGxlW3R5cGUtc2FtcGxlLXNlbGVjdGlvbj13YWZmbGVzXSBzcGFuLCAjY29tcC10eXBlLXNhbXBsZVt0eXBlLXNhbXBsZS1zZWxlY3Rpb249c3BoaW54XSBzcGFuLCAjY29tcC10eXBlLXNhbXBsZVt0eXBlLXNhbXBsZS1zZWxlY3Rpb249Zm94XSBzcGFuLCAjY29tcC10eXBlLXNhbXBsZVt0eXBlLXNhbXBsZS1zZWxlY3Rpb249YWxwaGFiZXRdIHNwYW4sICNjb21wLXR5cGUtaW5pdFt0eXBlLXNhbXBsZS1zZWxlY3Rpb249Y2hhbXBpb25zXSBzcGFuLCAjY29tcC10eXBlLWluaXRbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPXdhZmZsZXNdIHNwYW4sICNjb21wLXR5cGUtaW5pdFt0eXBlLXNhbXBsZS1zZWxlY3Rpb249c3BoaW54XSBzcGFuLCAjY29tcC10eXBlLWluaXRbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWZveF0gc3BhbiwgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1hbHBoYWJldF0gc3BhbiB7XG4gIHZlcnRpY2FsLWFsaWduOiB1bnNldDtcbn1cblxuI3ZpZXctZm9udC1zZXR0aW5ncyAjY29tcC10eXBlLXNhbXBsZVt0eXBlLXNhbXBsZS1zZWxlY3Rpb249d2FmZmxlc10sICN2aWV3LWZvbnQtc2V0dGluZ3MgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj13YWZmbGVzXSwgI3ZpZXctZm9udC1lZGl0ICNjb21wLXR5cGUtc2FtcGxlW3R5cGUtc2FtcGxlLXNlbGVjdGlvbj13YWZmbGVzXSwgI3ZpZXctZm9udC1lZGl0ICNjb21wLXR5cGUtaW5pdFt0eXBlLXNhbXBsZS1zZWxlY3Rpb249d2FmZmxlc10ge1xuICAtLWNhcGl0YWwtaGVpZ2h0OiBtaW4oY2FsYyh2YXIoLS12dykgKiA3KSwgY2FsYyh2YXIoLS12aCkgKiAxNSkpO1xufVxuI3ZpZXctZm9udC1zZXR0aW5ncyAjY29tcC10eXBlLXNhbXBsZVt0eXBlLXNhbXBsZS1zZWxlY3Rpb249Y2hhbXBpb25zXSwgI3ZpZXctZm9udC1zZXR0aW5ncyAjY29tcC10eXBlLWluaXRbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWNoYW1waW9uc10sICN2aWV3LWZvbnQtZWRpdCAjY29tcC10eXBlLXNhbXBsZVt0eXBlLXNhbXBsZS1zZWxlY3Rpb249Y2hhbXBpb25zXSwgI3ZpZXctZm9udC1lZGl0ICNjb21wLXR5cGUtaW5pdFt0eXBlLXNhbXBsZS1zZWxlY3Rpb249Y2hhbXBpb25zXSB7XG4gIC0tY2FwaXRhbC1oZWlnaHQ6IG1pbihjYWxjKHZhcigtLXZ3KSAqIDUpLCBjYWxjKHZhcigtLXZoKSAqIDEwKSk7XG59XG4jdmlldy1mb250LXNldHRpbmdzICNjb21wLXR5cGUtc2FtcGxlW3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1oYW5kZ2xvdmVzXSwgI3ZpZXctZm9udC1zZXR0aW5ncyAjY29tcC10eXBlLWluaXRbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWhhbmRnbG92ZXNdLCAjdmlldy1mb250LWVkaXQgI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWhhbmRnbG92ZXNdLCAjdmlldy1mb250LWVkaXQgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1oYW5kZ2xvdmVzXSB7XG4gIC0tY2FwaXRhbC1oZWlnaHQ6IG1pbihjYWxjKHZhcigtLXZ3KSAqIDYpLCBjYWxjKHZhcigtLXZoKSAqIDIwKSk7XG59XG4jdmlldy1mb250LXNldHRpbmdzICNjb21wLXR5cGUtc2FtcGxlW3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1taW5pbW9tXSwgI3ZpZXctZm9udC1zZXR0aW5ncyAjY29tcC10eXBlLWluaXRbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPW1pbmltb21dLCAjdmlldy1mb250LWVkaXQgI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPW1pbmltb21dLCAjdmlldy1mb250LWVkaXQgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1taW5pbW9tXSB7XG4gIC0tY2FwaXRhbC1oZWlnaHQ6IG1pbihjYWxjKHZhcigtLXZ3KSAqIDcpLCBjYWxjKHZhcigtLXZoKSAqIDIwKSk7XG59XG4jdmlldy1mb250LXNldHRpbmdzICNjb21wLXR5cGUtc2FtcGxlW3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1zcGhpbnhdLCAjdmlldy1mb250LXNldHRpbmdzICNjb21wLXR5cGUtaW5pdFt0eXBlLXNhbXBsZS1zZWxlY3Rpb249c3BoaW54XSwgI3ZpZXctZm9udC1lZGl0ICNjb21wLXR5cGUtc2FtcGxlW3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1zcGhpbnhdLCAjdmlldy1mb250LWVkaXQgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1zcGhpbnhdIHtcbiAgLS1jYXBpdGFsLWhlaWdodDogbWluKGNhbGModmFyKC0tdncpICogNSksIGNhbGModmFyKC0tdmgpICogMTApKTtcbn1cbiN2aWV3LWZvbnQtc2V0dGluZ3MgI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWZveF0sICN2aWV3LWZvbnQtc2V0dGluZ3MgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1mb3hdLCAjdmlldy1mb250LWVkaXQgI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWZveF0sICN2aWV3LWZvbnQtZWRpdCAjY29tcC10eXBlLWluaXRbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWZveF0ge1xuICAtLWNhcGl0YWwtaGVpZ2h0OiBtaW4oY2FsYyh2YXIoLS12dykgKiA0KSwgY2FsYyh2YXIoLS12aCkgKiAxNSkpO1xufVxuI3ZpZXctZm9udC1zZXR0aW5ncyAjY29tcC10eXBlLXNhbXBsZVt0eXBlLXNhbXBsZS1zZWxlY3Rpb249YWFdLCAjdmlldy1mb250LXNldHRpbmdzICNjb21wLXR5cGUtaW5pdFt0eXBlLXNhbXBsZS1zZWxlY3Rpb249YWFdLCAjdmlldy1mb250LWVkaXQgI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWFhXSwgI3ZpZXctZm9udC1lZGl0ICNjb21wLXR5cGUtaW5pdFt0eXBlLXNhbXBsZS1zZWxlY3Rpb249YWFdIHtcbiAgLS1jYXBpdGFsLWhlaWdodDogbWluKGNhbGModmFyKC0tdncpICogMjApLCBjYWxjKHZhcigtLXZoKSAqIDcwKSk7XG59XG4jdmlldy1mb250LXNldHRpbmdzICNjb21wLXR5cGUtc2FtcGxlW3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1hbHBoYWJldF0sICN2aWV3LWZvbnQtc2V0dGluZ3MgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1hbHBoYWJldF0sICN2aWV3LWZvbnQtZWRpdCAjY29tcC10eXBlLXNhbXBsZVt0eXBlLXNhbXBsZS1zZWxlY3Rpb249YWxwaGFiZXRdLCAjdmlldy1mb250LWVkaXQgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1hbHBoYWJldF0ge1xuICAtLWNhcGl0YWwtaGVpZ2h0OiBtaW4oY2FsYyh2YXIoLS12dykgKiA3KSwgY2FsYyh2YXIoLS12aCkgKiA1KSk7XG59XG4jdmlldy1mb250LXNldHRpbmdzICNjb21wLXR5cGUtc2FtcGxlW3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1udW1lcmFsc10sICN2aWV3LWZvbnQtc2V0dGluZ3MgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1udW1lcmFsc10sICN2aWV3LWZvbnQtZWRpdCAjY29tcC10eXBlLXNhbXBsZVt0eXBlLXNhbXBsZS1zZWxlY3Rpb249bnVtZXJhbHNdLCAjdmlldy1mb250LWVkaXQgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1udW1lcmFsc10ge1xuICAtLWNhcGl0YWwtaGVpZ2h0OiBtaW4oY2FsYyh2YXIoLS12dykgKiA3KSwgY2FsYyh2YXIoLS12aCkgKiAxNSkpO1xufVxuI3ZpZXctZm9udC1zZXR0aW5ncyAjY29tcC10eXBlLXNhbXBsZVt0eXBlLXNhbXBsZS1zZWxlY3Rpb249aG9lZmxlcl0sICN2aWV3LWZvbnQtc2V0dGluZ3MgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1ob2VmbGVyXSwgI3ZpZXctZm9udC1lZGl0ICNjb21wLXR5cGUtc2FtcGxlW3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1ob2VmbGVyXSwgI3ZpZXctZm9udC1lZGl0ICNjb21wLXR5cGUtaW5pdFt0eXBlLXNhbXBsZS1zZWxlY3Rpb249aG9lZmxlcl0ge1xuICAtLWNhcGl0YWwtaGVpZ2h0OiBtaW4oY2FsYyh2YXIoLS12dykgKiAwLjYpLCBjYWxjKHZhcigtLXZoKSAqIDEuNCkpO1xufVxuI3ZpZXctZm9udC1zZXR0aW5ncyAjY29tcC10eXBlLXNhbXBsZVt0eXBlLXNhbXBsZS1zZWxlY3Rpb249Y29sbG5hbWVdLCAjdmlldy1mb250LXNldHRpbmdzICNjb21wLXR5cGUtaW5pdFt0eXBlLXNhbXBsZS1zZWxlY3Rpb249Y29sbG5hbWVdLCAjdmlldy1mb250LWVkaXQgI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWNvbGxuYW1lXSwgI3ZpZXctZm9udC1lZGl0ICNjb21wLXR5cGUtaW5pdFt0eXBlLXNhbXBsZS1zZWxlY3Rpb249Y29sbG5hbWVdIHtcbiAgLS1jYXBpdGFsLWhlaWdodDogbWluKGNhbGModmFyKC0tdncpICogNiksIGNhbGModmFyKC0tdmgpICogMTUpKTtcbn1cbiN2aWV3LWZvbnQtc2V0dGluZ3MgI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWN1c3RvbV0sICN2aWV3LWZvbnQtc2V0dGluZ3MgI2NvbXAtdHlwZS1pbml0W3R5cGUtc2FtcGxlLXNlbGVjdGlvbj1jdXN0b21dLCAjdmlldy1mb250LWVkaXQgI2NvbXAtdHlwZS1zYW1wbGVbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWN1c3RvbV0sICN2aWV3LWZvbnQtZWRpdCAjY29tcC10eXBlLWluaXRbdHlwZS1zYW1wbGUtc2VsZWN0aW9uPWN1c3RvbV0ge1xuICAtLWNhcGl0YWwtaGVpZ2h0OiBtaW4oY2FsYyh2YXIoLS12dykgKiAoOSAtICh2YXIoLS1tdWx0aXBsaWVyKSAqIDAuMjUpKSksIGNhbGModmFyKC0tdmgpICogMTUpKTtcbn1cblxuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4vKiBDb2xvcnMgKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLkNHLTAwMCB7XG4gIC0tQ09MLUhJOiB2YXIoLS1DRy0wMTQpO1xuICAtLUNPTC1CRzogdmFyKC0tQ0ctMDAwKTtcbiAgLS1DT0wtSE86IHZhcigtLUNHLTA5Myk7XG4gIC0tQ09MLUFDOiB2YXIoLS1DRy0wOTMpO1xuICAtLUNPTC1URTogdmFyKC0tQ0ctMDYzKTtcbn1cblxuLkNHLTAzMyB7XG4gIC0tQ09MLUhJOiB2YXIoLS1DRy0wNjMpO1xuICAtLUNPTC1CRzogdmFyKC0tQ0ctMDMzKTtcbiAgLS1DT0wtSE86IHZhcigtLUNHLTA1Nyk7XG4gIC0tQ09MLUFDOiB2YXIoLS1DRy0wNjMpO1xuICAtLUNPTC1URTogdmFyKC0tQ0ctMDAwKTtcbn1cblxuLkNHLTA1NyB7XG4gIC0tQ09MLUhJOiB2YXIoLS1DRy0wNjMpO1xuICAtLUNPTC1CRzogdmFyKC0tQ0ctMDU3KTtcbiAgLS1DT0wtSE86IHZhcigtLUNHLTAzMyk7XG4gIC0tQ09MLUFDOiB2YXIoLS1DRy0wMTQpO1xuICAtLUNPTC1URTogdmFyKC0tQ0ctMDAwKTtcbn1cblxuLkNHLTA2MyB7XG4gIC0tQ09MLUhJOiB2YXIoLS1DRy0wNjkpO1xuICAtLUNPTC1CRzogdmFyKC0tQ0ctMDYzKTtcbiAgLS1DT0wtSE86IHZhcigtLUNHLTAzMyk7XG4gIC0tQ09MLUFDOiB2YXIoLS1DRy0wMTQpO1xuICAtLUNPTC1URTogdmFyKC0tQ0ctMDAwKTtcbn1cblxuLkNHLTA2OSB7XG4gIC0tQ09MLUhJOiB2YXIoLS1DRy0wOTMpO1xuICAtLUNPTC1CRzogdmFyKC0tQ0ctMDY5KTtcbiAgLS1DT0wtSE86IHZhcigtLUNHLTA1Nyk7XG4gIC0tQ09MLUFDOiB2YXIoLS1DRy0wNTcpO1xuICAtLUNPTC1URTogdmFyKC0tQ0ctMDAwKTtcbn1cblxuLkNHLTA5MyB7XG4gIC0tQ09MLUhJOiB2YXIoLS1DRy0xMDApO1xuICAtLUNPTC1CRzogdmFyKC0tQ0ctMDkzKTtcbiAgLS1DT0wtSE86IHZhcigtLUNHLTA2OSk7XG4gIC0tQ09MLUFDOiB2YXIoLS1DRy0wNTcpO1xuICAtLUNPTC1URTogdmFyKC0tQ0ctMDAwKTtcbn1cblxuLkNHLTEwMCB7XG4gIC0tQ09MLUhJOiB2YXIoLS1DRy0wOTMpO1xuICAtLUNPTC1CRzogdmFyKC0tQ0ctMTAwKTtcbiAgLS1DT0wtSE86IHZhcigtLUNHLTA2OSk7XG4gIC0tQ09MLUFDOiB2YXIoLS1DRy0wNTcpO1xuICAtLUNPTC1URTogdmFyKC0tQ0ctMDAwKTtcbn1cblxuLm92ZXJsYXktYWN0aXZlIHtcbiAgLS1DT0wtSEk6IHZhcigtLUNHLTAwMCk7XG4gIC0tQ09MLUJHOiB2YXIoLS1DRy0wMzMpO1xuICAtLUNPTC1ITzogdmFyKC0tQ0ctMDAwKTtcbiAgLS1DT0wtQUM6IHZhcigtLUNHLTAwMCk7XG4gIC0tQ09MLVRFOiB2YXIoLS1DRy0wMDApO1xufVxuXG4vKiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAqL1xuYm9keSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNPTC1CRyk7XG59XG5ib2R5IGE6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tQ09MLUhPKTtcbn1cbmJvZHkgI25hdmktY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ09MLUJHKTtcbn1cbmJvZHkgI25hdmktY29udGFpbmVyICo6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tQ09MLUhPKTtcbn1cbmJvZHkgI25hdmktY29tcDpob3ZlciAqIHtcbiAgY29sb3I6IHZhcigtLUNPTC1ITyk7XG59XG5ib2R5IC5uYXZpLXN1Yjpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1DT0wtSE8pO1xufVxuYm9keSAuaW5mby1vcGVuLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLUNPTC1ITyk7XG59XG5ib2R5IC5zZXR0aW5ncy1uYXZpLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNPTC1ISSk7XG59XG5ib2R5IC5zZXR0aW5ncy1uYXZpLXNhdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DT0wtSEkpO1xufVxuYm9keSAjc2F2ZS10aGlzLWZvbnQgc3ZnICoge1xuICBmaWxsOiB2YXIoLS1DT0wtSE8pO1xufVxuYm9keSAjYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ09MLUhJKTtcbn1cbmJvZHkgI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAub3B0aW9ucyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNPTC1ISSk7XG59XG5ib2R5ICNzZWxlY3Qtc2FtcGxlLWNvbnRhaW5lciAub3B0aW9uOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLUNPTC1BQyk7XG59XG5ib2R5ICNzZWxlY3Qtc2FtcGxlLWNvbnRhaW5lciAub3B0aW9uLmFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1DT0wtQUMpO1xufVxuYm9keSAjc2VsZWN0LXNhbXBsZS1jb250YWluZXIgLm9wdGlvbnMtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNPTC1ISSk7XG59XG5ib2R5ICNzZWxlY3Qtc2FtcGxlLWNvbnRhaW5lciAubmF2aWdhdGlvbjpob3ZlciAqIHtcbiAgY29sb3I6IHZhcigtLUNPTC1BQyk7XG59XG5ib2R5ICNzZWxlY3Qtc2FtcGxlLWNvbnRhaW5lciAubmF2aWdhdGlvbjpob3Zlcjo6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLUNPTC1BQyk7XG59XG5ib2R5ICNyZXR1cm4tYnRuOmhvdmVyIC5hcnJvdy1jb250YWluZXI6OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1DT0wtSE8pO1xufVxuYm9keSAjcmV0dXJuLWJ0bjpob3ZlciAuYXJyb3ctY29udGFpbmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DT0wtSE8pO1xufVxuYm9keSAucmVsYXRlZC1jb250YWluZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DT0wtSEkpO1xufVxuXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi8qIEdsb2JhbCAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG5ib2R5IHtcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tbmF2aS1vdXRlcikgLSB2YXIoLS1saW5lKSk7XG59XG5cbi5zbmFwIHtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeSBwcm94aW1pdHk7XG59XG5cbi8qIEZhZGVycyAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4uZmFkZXIge1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLCBjb2xvciwgb3BhY2l0eSwgcmlnaHQsIHdpZHRoO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10cmFucy1kdXJhdGlvbik7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS10cmFucy1mdW5jdGlvbik7XG59XG5cbi8qIENpcmN1bGFyIGJ1dHRvbnMgKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLmNpcmMtYnRuIHtcbiAgaGVpZ2h0OiB2YXIoLS1uYXZpLWlubmVyKTtcbiAgd2lkdGg6IHZhcigtLW5hdmktaW5uZXIpO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMTAwdmg7XG4gIG1hcmdpbjogdmFyKC0tYmx1KTtcbn1cblxuLyogVHlwZSBkYXRhICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi50eXBlLWRhdGEge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGModmFyKC0tYmx1KSAqIDMpO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTgwcHg7XG4gIGhlaWdodDogMjMwcHg7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHBhZGRpbmc6IHZhcigtLWJsdSk7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udHlwZS1kYXRhIHNtYWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiB2YXIoLS1DRy0wNjkpO1xufVxuXG4vKiBUeXBlIHNhbXBsZXMgKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLnR5cGUtc2FtcGxlIHN2ZyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8qIE1lYXN1cmVtZW50IG9iamVjdHMgKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuI21lYXN1cmVtZW50LW9iamVjdHMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTIwMCU7XG4gIGxlZnQ6IC0yMDAlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4jbWVhc3VyZW1lbnQtb2JqZWN0cyAuYmx1IHtcbiAgd2lkdGg6IHZhcigtLWJsdSk7XG59XG5cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogTmF2aWdhdGlvbiAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4jbmF2aS1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogdmFyKC0tbmF2aS1vdXRlcik7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG4gIHBhZGRpbmc6IHZhcigtLWJsdSk7XG4gIHotaW5kZXg6IDYwMDtcbn1cblxuI25hdmktY29tcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiB2YXIoLS1uYXZpLWlubmVyKTtcbiAgbWFyZ2luLXRvcDogY2FsYygwcHggLSB2YXIoLS1ibHUpICogMC4xNyk7XG59XG4jbmF2aS1jb21wIGgxIHtcbiAgd2lkdGg6IGNhbGModmFyKC0taDEtZnMpICogMC41KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiB2YXIoLS1oMS1mcyk7XG59XG4jbmF2aS1jb21wIGgxOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0taDEtZnMpICogMC4xNSk7XG59XG4jbmF2aS1jb21wIGgxOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tYmx1KTtcbn1cbiNuYXZpLWNvbXAgaDEubG9uZzpmaXJzdC1vZi10eXBlIHtcbiAgd2lkdGg6IGNhbGModmFyKC0taDEtZnMpICogMi42Mik7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1oMS1mcykgKiAwLjQpO1xufVxuI25hdmktY29tcCBoMS5sb25nOmxhc3Qtb2YtdHlwZSB7XG4gIHdpZHRoOiBjYWxjKHZhcigtLWgxLWZzKSAqIDMuNTIpO1xufVxuXG4jdmlldy1jb21wYXNzICNuYXZpLWNvbXAsXG4jdmlldy1jb21wYXNzICNuYXZpLWhvbWUsXG4jdmlldy1mb250LXNldHRpbmdzICNuYXZpLXNldHQsXG4jdmlldy1pbmZvICNuYXZpLWluZm8ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29sb3I6IHZhcigtLUNPTC1BQyk7XG59XG5cbi5uYXZpLXN1Yi1jb250YWluZXIsXG4ubmF2aS1lbnYtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiB2YXIoLS1uYXZpLWlubmVyKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBjb2x1bW4tZ2FwOiBjYWxjKHZhcigtLWJsdSkgKiAxKTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyIDFmcjtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgbWFyZ2luLXRvcDogY2FsYygwcHggLSB2YXIoLS1uLWxoKSAqIDAuMjUpO1xufVxuLm5hdmktc3ViLWNvbnRhaW5lciAubmF2aS1zdWIsXG4ubmF2aS1lbnYtY29udGFpbmVyIC5uYXZpLXN1YiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBmb250LXNpemU6IHZhcigtLW4tZnMpO1xuICBsaW5lLWhlaWdodDogY2FsYyh2YXIoLS1uLWxoKSAqIDAuOTgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5uYXZpLWVudi1jb250YWluZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC4zO1xufVxuXG4jcGFyYW1ldGVyLW5hdmktY29udGFpbmVyLFxuI3JlbGF0ZWQtbmF2aS1jb250YWluZXIsXG4jY29sbGVjdGlvbi1uYXZpLWNvbnRhaW5lcixcbiNzZWFyY2gtbmF2aS1jb250YWluZXIsXG4jbG9naW4tbmF2aS1jb250YWluZXIsXG4jcHJvZmlsZS1uYXZpLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IHZhcigtLXdpLXNldHRpbmdzKTtcbiAgaGVpZ2h0OiB2YXIoLS1uYXZpLW91dGVyKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogdmFyKC0tYmx1KTtcbiAgZGlzcGxheTogZmxleDtcbiAgei1pbmRleDogNjAwO1xufVxuI3BhcmFtZXRlci1uYXZpLWNvbnRhaW5lciBoMSxcbiNyZWxhdGVkLW5hdmktY29udGFpbmVyIGgxLFxuI2NvbGxlY3Rpb24tbmF2aS1jb250YWluZXIgaDEsXG4jc2VhcmNoLW5hdmktY29udGFpbmVyIGgxLFxuI2xvZ2luLW5hdmktY29udGFpbmVyIGgxLFxuI3Byb2ZpbGUtbmF2aS1jb250YWluZXIgaDEge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ibHUpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDBweCAtIHZhcigtLWgxLWxoKSAqIDAuMSk7XG59XG5cbiNsb2dpbi1uYXZpLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA1MCU7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xufVxuXG4vKiBUeXBlIHNhbXBsZSBvcHRpb25zICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiNzZWxlY3Qtc2FtcGxlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNjAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xufVxuI3NlbGVjdC1zYW1wbGUtY29udGFpbmVyIC50aXRsZSB7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWJsdSkgKiAwLjY1KTtcbn1cbiNzZWxlY3Qtc2FtcGxlLWNvbnRhaW5lciAub3B0aW9uIHtcbiAgZm9udC1zaXplOiB2YXIoLS1wLWZzKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXAtbGgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jc2VsZWN0LXNhbXBsZS1jb250YWluZXIgLm9wdGlvblt0eXBlLXNhbXBsZS1zZWxlY3Rvcj1hYV06OmFmdGVyIHtcbiAgY29udGVudDogXCIoRGVmYXVsdClcIjtcbiAgZm9udC1zaXplOiB2YXIoLS1uLWZzKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWJsdSkgKiAwLjUpO1xufVxuI3NlbGVjdC1zYW1wbGUtY29udGFpbmVyIC5vcHRpb25bdHlwZS1zYW1wbGUtc2VsZWN0b3I9Y3VzdG9tXSBpbnB1dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DT0wtQkcpO1xuICBib3JkZXI6IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbi1mcyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1uLWxoKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1ibHUpICogMC41KTtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1ibHUpICogMC41KTtcbn1cbiNzZWxlY3Qtc2FtcGxlLWNvbnRhaW5lciAub3B0aW9uW3R5cGUtc2FtcGxlLXNlbGVjdG9yPWN1c3RvbV0gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLUNPTC1BQyk7XG4gIG9wYWNpdHk6IDE7XG59XG4jc2VsZWN0LXNhbXBsZS1jb250YWluZXIgLm9wdGlvblt0eXBlLXNhbXBsZS1zZWxlY3Rvcj1jdXN0b21dLmFjdGl2ZSBpbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI3NlbGVjdC1zYW1wbGUtY29udGFpbmVyIC5uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IHZhcigtLW5hdmktb3V0ZXIpO1xuICBwYWRkaW5nOiB2YXIoLS1ibHUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZW5kO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4jc2VsZWN0LXNhbXBsZS1jb250YWluZXIgLm5hdmlnYXRpb24gaDkge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDBweCAtIHZhcigtLW4tZnMpICogMC4zNSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tYmx1KSAqIDIpO1xufVxuI3NlbGVjdC1zYW1wbGUtY29udGFpbmVyIC5uYXZpZ2F0aW9uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiBjYWxjKHZhcigtLW4tZnMpICogMSk7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1uLWZzKSAqIDEpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG4gIGJvcmRlci1yaWdodDogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogY2FsYyh2YXIoLS1ibHUpICogMSk7XG4gIGJvdHRvbTogY2FsYyh2YXIoLS1ibHUpICogMS4yKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBib3R0b207XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cbiNzZWxlY3Qtc2FtcGxlLWNvbnRhaW5lciAub3B0aW9ucy1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuI3NlbGVjdC1zYW1wbGUtY29udGFpbmVyIC5vcHRpb25zLXNlY3Rpb24ge1xuICBwYWRkaW5nOiB2YXIoLS1ibHUpO1xuICBib3JkZXI6IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbiNzZWxlY3Qtc2FtcGxlLWNvbnRhaW5lci5vcGVuIC5vcHRpb25zLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4jdmlldy1jb21wYXNzICNzZWxlY3Qtc2FtcGxlLWNvbnRhaW5lciB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tbGluZSkgKiAwLjUgLSAxMDAlKSk7XG59XG5cbiN2aWV3LWZvbnQtc2V0dGluZ3MgI3NlbGVjdC1zYW1wbGUtY29udGFpbmVyLCAjdmlldy1mb250LWVkaXQgI3NlbGVjdC1zYW1wbGUtY29udGFpbmVyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgcmlnaHQ6IHZhcigtLXdpLXNldHRpbmdzKTtcbn1cblxuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4vKiBDb21wYXNzIFZpZXcgKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuI2NvbXBhc3MtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tbmF2aS1vdXRlcikpO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogNDAwO1xufVxuI2NvbXBhc3MtY29udGFpbmVyIC5saW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogdmFyKC0tQ09MLVRFKTtcbiAgei1pbmRleDogMTAwO1xufVxuI2NvbXBhc3MtY29udGFpbmVyIC5saW5lLnZlcnQge1xuICB3aWR0aDogdmFyKC0tbGluZSk7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbiNjb21wYXNzLWNvbnRhaW5lciAubGluZS5ob3JpIHtcbiAgaGVpZ2h0OiB2YXIoLS1saW5lKTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4jY29tcGFzcy1jb250YWluZXIgLm1hcmtlcixcbiNjb21wYXNzLWNvbnRhaW5lciAuYmxvY2tlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTAwdmg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xufVxuI2NvbXBhc3MtY29udGFpbmVyIC5ibG9ja2VyIHtcbiAgd2lkdGg6IGNhbGModmFyKC0tYmx1KSAqIDMpO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tYmx1KSAqIDMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DT0wtQkcpO1xuICB6LWluZGV4OiAyMDA7XG59XG4jY29tcGFzcy1jb250YWluZXIgLm1hcmtlciB7XG4gIHdpZHRoOiBjYWxjKHZhcigtLWJsdSkgKiAxLjUpO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tYmx1KSAqIDEuNSk7XG4gIGJvcmRlcjogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLUJHKTtcbiAgbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7XG4gIHotaW5kZXg6IDQwMDtcbn1cblxuI2NvbXBhc3MtY29udGFpbmVyLFxuI2NvbXBhc3MtY29udGFpbmVyICoge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuI2NvbXAtdHlwZS1zYW1wbGUsICNjb21wLXR5cGUtaW5pdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMzAwO1xuICAvKiBmb250IG1ldHJpY3MgKi9cbiAgLS1tYWluLWR5bmFtaWMtZm9udDogXCJtYWluLWR5bmFtaWMtZm9udFwiLCBcIlVuaXZlcnMgTmV4dFwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLWZtLWxpbmVnYXA6IDA7XG4gIC8qIGRlc2lyZWQgZm9udC1zaXplIGZvciBjYXBpdGFsIGhlaWdodCAqL1xuICAtLWNhcGl0YWwtaGVpZ2h0OiAyMDA7XG4gIC8qIGFwcGx5IGZvbnQtZmFtaWx5ICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tYWluLWR5bmFtaWMtZm9udCk7XG4gIC8qIGNvbXB1dGUgZm9udC1zaXplIHRvIGdldCBjYXBpdGFsIGhlaWdodCBlcXVhbCBkZXNpcmVkIGZvbnQtc2l6ZSAqL1xuICAtLWNvbXB1dGVkRm9udFNpemU6ICh2YXIoLS1jYXBpdGFsLWhlaWdodCkgLyB2YXIoLS1mbS1jYXBpdGFsSGVpZ2h0KSk7XG4gIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1jb21wdXRlZEZvbnRTaXplKSAqIDFweCk7XG4gIC8qIGNvbXB1dGUgbGluZS1oZWlnaHQ6IG5vcm1hbCBhbmQgY29udGVudC1hcmVh4oCZcyBoZWlnaHQgKi9cbiAgLS1saW5laGVpZ2h0Tm9ybWFsOiAodmFyKC0tZm0tYXNjZW5kZXIpICsgdmFyKC0tZm0tZGVzY2VuZGVyKSArIHZhcigtLWZtLWxpbmVnYXApKTtcbiAgLS1jb250ZW50QXJlYTogKHZhcigtLWxpbmVoZWlnaHROb3JtYWwpICogdmFyKC0tY29tcHV0ZWRGb250U2l6ZSkpO1xuICAvKiBjb21wdXRlIGRpc3RhbmNlIGZyb20gdGhlIGJvdHRvbSBvZiB0aGUgY2FwaXRhbCBsZXR0ZXIgdG8gdGhlIGJvdHRvbSBlZGdlIGFuZCBkaXN0YW5jZSBmcm9tIHRoZSB0b3Agb2YgdGhlIGNhcGl0YWwgbGV0dGVyIHRvIHRoZSB0b3AgZWRnZSAqL1xuICAtLWRpc3RhbmNlQm90dG9tOiAodmFyKC0tZm0tZGVzY2VuZGVyKSk7XG4gIC0tZGlzdGFuY2VUb3A6ICh2YXIoLS1mbS1hc2NlbmRlcikgLSB2YXIoLS1mbS1jYXBpdGFsSGVpZ2h0KSk7XG4gIC8qIGNvbXB1dGUgdmVydGljYWwtYWxpZ24gKi9cbiAgLS12YWxpZ246ICgodmFyKC0tZGlzdGFuY2VCb3R0b20pIC0gdmFyKC0tZGlzdGFuY2VUb3ApKSAqIHZhcigtLWNvbXB1dGVkRm9udFNpemUpKTtcbiAgLyogZGVzaXJlZCBsaW5lLWhlaWdodCAqL1xuICAtLWxpbmUtaGVpZ2h0OiAxZW07XG59XG4jY29tcC10eXBlLXNhbXBsZSBzcGFuLCAjY29tcC10eXBlLXNhbXBsZSBpbnB1dCwgI2NvbXAtdHlwZS1pbml0IHNwYW4sICNjb21wLXR5cGUtaW5pdCBpbnB1dCB7XG4gIC8qIGFwcGx5IGZvbnQtZmFtaWx5ICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tYWluLWR5bmFtaWMtZm9udCk7XG4gIC8qIGNvbXB1dGUgdmVydGljYWwtYWxpZ24gKi9cbn1cblxuI2NvbXAtY2xpY2staW5mbyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1ibHUpICogMSk7XG4gIGNvbG9yOiB2YXIoLS1DT0wtVEUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB6LWluZGV4OiA0MDA7XG59XG5cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogU2V0dGluZ3MgVmlldyAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4jc2V0dGluZ3MtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xuICBzY3JvbGwtc25hcC1hbGlnbjogZW5kO1xufVxuXG4jdmlldy1mb250LXNldHRpbmdzICNzZXR0aW5ncy1wcmV2aWV3IC50eXBlLXNhbXBsZS1jb250YWluZXIsICN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtcHJldmlldyAudHlwZS1zYW1wbGUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGModmFyKC0tYmx1KSAqIDIuOSk7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWJsdSkgKiA2LjYpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuI3ZpZXctZm9udC1zZXR0aW5ncyAjc2V0dGluZ3MtcHJldmlldyAudHlwZS1zYW1wbGUtY29udGFpbmVyIC5zcGxpdC1sZWZ0LCAjdmlldy1mb250LWVkaXQgI3NldHRpbmdzLXByZXZpZXcgLnR5cGUtc2FtcGxlLWNvbnRhaW5lciAuc3BsaXQtbGVmdCB7XG4gIHdpZHRoOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xufVxuI3ZpZXctZm9udC1zZXR0aW5ncyAjc2V0dGluZ3MtcHJldmlldyAudHlwZS1zYW1wbGUtY29udGFpbmVyIC5zcGxpdC1sZWZ0ID4gLnR5cGUtc2FtcGxlLCAjdmlldy1mb250LWVkaXQgI3NldHRpbmdzLXByZXZpZXcgLnR5cGUtc2FtcGxlLWNvbnRhaW5lciAuc3BsaXQtbGVmdCA+IC50eXBlLXNhbXBsZSB7XG4gIGxlZnQ6IDEwMCU7XG59XG4jdmlldy1mb250LXNldHRpbmdzICNzZXR0aW5ncy1wcmV2aWV3IC50eXBlLXNhbXBsZS1jb250YWluZXIgLnNwbGl0LXJpZ2h0LCAjdmlldy1mb250LWVkaXQgI3NldHRpbmdzLXByZXZpZXcgLnR5cGUtc2FtcGxlLWNvbnRhaW5lciAuc3BsaXQtcmlnaHQge1xuICB3aWR0aDogNTAlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbn1cbiN2aWV3LWZvbnQtc2V0dGluZ3MgI3NldHRpbmdzLXByZXZpZXcgLnR5cGUtc2FtcGxlLWNvbnRhaW5lciAuc3BsaXQtcmlnaHQgPiAudHlwZS1zYW1wbGUsICN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtcHJldmlldyAudHlwZS1zYW1wbGUtY29udGFpbmVyIC5zcGxpdC1yaWdodCA+IC50eXBlLXNhbXBsZSB7XG4gIGxlZnQ6IDAlO1xufVxuXG4jc2V0dGluZ3MtcHJldmlldyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1uYXZpLW91dGVyKSk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS13aS1zZXR0aW5ncykpO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG4gIHRvcDogdmFyKC0tbmF2aS1vdXRlcik7XG59XG4jc2V0dGluZ3MtcHJldmlld1tzYXZlLXN0YXRlPXllc10gI3NhdmUtdGhpcy1mb250IHN2ZyAqIHtcbiAgZmlsbDogdmFyKC0tQ0YtUkVEKTtcbn1cbiNzZXR0aW5ncy1wcmV2aWV3W3NhdmUtc3RhdGU9eWVzXSAjc2F2ZS10aGlzLWZvbnQ6aG92ZXIgc3ZnICoge1xuICBmaWxsOiB2YXIoLS1DRi1SRUQpO1xufVxuI3NldHRpbmdzLXByZXZpZXcgI2J1eS10aGlzLWZvbnQ6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tQ09MLVRFKTtcbn1cblxuI3NldHRpbmdzLXBhbmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogdmFyKC0td2ktc2V0dGluZ3MpO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbiNzZXR0aW5ncy1wcmV2aWV3LW5hdmkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1ibHUpICogMy43KTtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXRvcDogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbn1cblxuI2ZvbnQtbmFtZXMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDQwMDtcbiAgZm9udC1zaXplOiB2YXIoLS1uLWZzKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLW4tbGgpO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xufVxuI2ZvbnQtbmFtZXMtY29udGFpbmVyID4gZGl2IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4jZm9udC1uYW1lcy1jb250YWluZXIgZGl2IHtcbiAgcGFkZGluZzogdmFyKC0tYmx1KTtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWJsdSkgKiAyLjkpO1xufVxuI2ZvbnQtbmFtZXMtY29udGFpbmVyIGRpdjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbn1cbiNmb250LW5hbWVzLWNvbnRhaW5lciBkaXY6aG92ZXIgLnJlc2V0IHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuI2ZvbnQtbmFtZXMtY29udGFpbmVyIC5pbml0aWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNmb250LW5hbWVzLWNvbnRhaW5lciAuaW5pdGlhbDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNPTC1ISSk7XG59XG4jZm9udC1uYW1lcy1jb250YWluZXIgLnJlc2V0IHtcbiAgY29sb3I6IHZhcigtLUNGLVJFRCk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tYmx1KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBub25lO1xufVxuI2ZvbnQtbmFtZXMtY29udGFpbmVyIC5yZXNldDpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1DT0wtVEUpO1xufVxuI2ZvbnQtbmFtZXMtY29udGFpbmVyLnVuZXF1YWwgLmluaXRpYWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNldHRpbmdzLW5hdmktYnRuIHtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogdmFyKC0taDMtZnMpO1xuICBsaW5lLWhlaWdodDogY2FsYyh2YXIoLS1ibHUpICogMi4xKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgd2lkdGg6IGNhbGMoKDEwMCUgLSB2YXIoLS1ibHUpICogMy43KSAvIDEyICogMyk7XG59XG4uc2V0dGluZ3MtbmF2aS1idG4jb3Blbi1yZWxhdGVkLWZvbnQge1xuICB3aWR0aDogY2FsYygoMTAwJSAtIHZhcigtLWJsdSkgKiAzLjcpIC8gMTIgKiA2KTtcbn1cblxuYS5zZXR0aW5ncy1uYXZpLWJ0biB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNldHRpbmdzLW5hdmktc2F2ZSB7XG4gIHdpZHRoOiBjYWxjKHZhcigtLWJsdSkgKiAzLjcpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnNldHRpbmdzLW5hdmktc2F2ZSxcbi5zZXR0aW5ncy1uYXZpLWJ0biB7XG4gIHBhZGRpbmc6IHZhcigtLWJsdSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI3NhdmUtdGhpcy1mb250IHN2ZyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4jc2F2ZS10aGlzLWZvbnQ6aG92ZXIgc3ZnICoge1xuICBmaWxsOiB2YXIoLS1DT0wtQUMpO1xufVxuXG4vKiBQYXJhbWV0ZXIgU2V0dGluZ3MgKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuI3BhcmFtZXRlci1zZXR0aW5ncy1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogdmFyKC0tbmF2aS1vdXRlcik7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLW5hdmktb3V0ZXIpKTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXIge1xuICBwYWRkaW5nOiB2YXIoLS1ibHUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG59XG4jYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyICoge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXIgLnRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXIgLmxhYmVscyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjAwO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAubGFiZWxzIGg5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAubGFiZWxzIGg5IC5yZW1vdmUge1xuICBjb250ZW50OiBcIlJlbW92ZVwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ibHUpO1xuICBjb2xvcjogdmFyKC0tQ0YtUkVEKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAudHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1ibHUpICogMC43KTtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWJsdSkgKiAyLjY1KTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMHB4IC0gdmFyKC0tYmx1KSAqIDAuMyk7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tYmx1KSAqIDAuMjUpO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAudHJhY2sgLmRyYWctYXJlYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXIgLnRyYWNrLmhvdmVyIC5kcmFnLWFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXIgLnNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWJsdSkgKiAyLjY1KTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDEtZnMpO1xuICBsaW5lLWhlaWdodDogY2FsYyh2YXIoLS1ibHUpICogMy41KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAubW9yZSB7XG4gIHJpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogY2FsYygxMDAlICsgdmFyKC0tYmx1KSAqIDIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi10b3A6IGNhbGMoMHB4IC0gdmFyKC0tYmx1KSAqIDEpO1xuICB6LWluZGV4OiAxMDA7XG59XG4jYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyIC5tb3JlIC5kcmFnLWFyZWEge1xuICBsZWZ0OiAwO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAubGVzcyB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgKyB2YXIoLS1ibHUpICogMik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLXRvcDogY2FsYygwcHggLSB2YXIoLS1ibHUpICogMSk7XG4gIHotaW5kZXg6IDEwMDtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXIgLmxlc3MgLmRyYWctYXJlYSB7XG4gIHJpZ2h0OiAwO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAub3B0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiBjYWxjKDBweCAtIHZhcigtLWxpbmUpKTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLWxpbmUpICogMik7XG4gIHBhZGRpbmc6IHZhcigtLWJsdSk7XG4gIGJvcmRlcjogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbiAgei1pbmRleDogMTAwO1xuICBtYXgtaGVpZ2h0OiBjYWxjKHZhcigtLWJsdSkgKiAxMCk7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAub3B0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAub3B0aW9uLmFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1DT0wtQUMpO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAub3B0aW9uLmFjdGl2ZTpob3Zlcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXIgLm9wdGlvbjpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1DT0wtSE8pO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAuYWxsLW5vIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1ibHUpICogMC4yNSk7XG59XG4jYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyIC5hbGwtbm86aG92ZXIge1xuICBjb2xvcjogdmFyKC0tQ0YtUkVEKTtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXIgLm1vcmU6OmJlZm9yZSwgI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAubGVzczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiBjYWxjKHZhcigtLW4tZnMpICogMSk7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1uLWZzKSAqIDEpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG4gIHRvcDogNTAlO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAubW9yZTo6YmVmb3JlIHtcbiAgbGVmdDogY2FsYygwcHggLSB2YXIoLS1ibHUpICogMC4yKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVYKDUwJSk7XG59XG4jYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyIC5sZXNzOjpiZWZvcmUge1xuICByaWdodDogY2FsYygwcHggKyB2YXIoLS1ibHUpICogMC40KTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGVYKC01MCUpO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAubW9yZTpob3Zlcjo6YmVmb3JlLCAjYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyIC5sZXNzOmhvdmVyOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHZhcigtLUNPTC1ITyk7XG59XG4jYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyLm9wZW4gLm9wdGlvbnMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG4jYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyLnVuZXF1YWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DT0wtSEkpO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lci51bmVxdWFsLnJlc2V0ICoge1xuICBjb2xvcjogdmFyKC0tQ0YtUkVEKTtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXIudW5lcXVhbC5yZXNldCAuYWN0aXZlOjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tQ0YtUkVEKTtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXI6aG92ZXIgLmxhYmVscyBoOSAucmVtb3ZlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXI6aG92ZXIgLmxhYmVscyBoOSAucmVtb3ZlOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLUNPTC1URSk7XG59XG4jYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyOmhvdmVyIC5tb3JlOjpiZWZvcmUsICNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXI6aG92ZXIgLmxlc3M6OmJlZm9yZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4jYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lcltwYXItdHlwZT1kcm9wZG93bl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcDogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXJbcGFyLXR5cGU9ZHJvcGRvd25dIC50aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lcltwYXItdHlwZT1kcm9wZG93bl0gLnJlbW92ZSB7XG4gIGNvbnRlbnQ6IFwiUmVtb3ZlXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICByaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWJsdSk7XG4gIGNvbG9yOiB2YXIoLS1DRi1SRUQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDEwMDtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXJbcGFyLXR5cGU9ZHJvcGRvd25dIC5zZWxlY3QtYXJlYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lcltwYXItdHlwZT1kcm9wZG93bl0gPiAuYWN0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tYmx1KSAqIDIuNjUpO1xuICBmb250LXNpemU6IHZhcigtLWgxLWZzKTtcbiAgbGluZS1oZWlnaHQ6IGNhbGModmFyKC0tYmx1KSAqIDMuNSk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tYmx1KSAqIDAuMjUpO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXJbcGFyLXR5cGU9ZHJvcGRvd25dID4gLmFjdGl2ZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogY2FsYyh2YXIoLS1uLWZzKSAqIDEpO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbi1mcykgKiAxKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IGNhbGModmFyKC0tYmx1KSAqIDEpO1xuICBib3R0b206IGNhbGModmFyKC0tYmx1KSAqIDEuMik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgYm90dG9tO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG4jYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyW3Bhci10eXBlPWRyb3Bkb3duXTpudGgtY2hpbGQob2RkKSB7XG4gIGJvcmRlci1yaWdodDogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXJbcGFyLXR5cGU9ZHJvcGRvd25dOmhvdmVyIC5yZW1vdmUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lcltwYXItdHlwZT1kcm9wZG93bl06aG92ZXIgLnJlbW92ZTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1DT0wtVEUpO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lcltwYXItc2VsZWN0PXNpbmdsZV0gLm9wdGlvbnMge1xuICBwYWRkaW5nOiB1bnNldDtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXJbcGFyLXNlbGVjdD1zaW5nbGVdIC5vcHRpb24ge1xuICBwYWRkaW5nOiB2YXIoLS1ibHUpO1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1ibHUpICogMy4yKTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXJbcGFyLXNlbGVjdD1zaW5nbGVdIC5vcHRpb246bGFzdC1jaGlsZCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXJbcGFyLXNlbGVjdD1zaW5nbGVdIC5vcHRpb24uYWN0aXZlOmhvdmVyIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lcltwYXItc2VsZWN0PXNpbmdsZV0uZXZlbiAub3B0aW9ucyB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG59XG4jYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyW3Bhci1zZWxlY3Q9c2luZ2xlXS5vZGQgLm9wdGlvbnMge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lcltwYXItc2VsZWN0PW11bHRpXSAub3B0aW9uLmFjdGl2ZTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1DRi1SRUQpO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lcltwYXItc2VsZWN0PW11bHRpXSAub3B0aW9uLmFjdGl2ZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlJlbW92ZVwiO1xuICBkaXNwbGF5OiBub25lO1xuICBjb2xvcjogdmFyKC0tQ0YtUkVEKTtcbiAgZm9udC1zaXplOiB2YXIoLS1uLWZzKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiBjYWxjKDBweCAtIHZhcigtLWJsdSkpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMCUsIHJnYigyNTUsIDI1NSwgMjU1KSBjYWxjKHZhcigtLWJsdSkgKiAyKSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1ibHUpICogMik7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWJsdSk7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWJsdSkgKiAwLjE0KTtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXJbcGFyLXNlbGVjdD1tdWx0aV0gLm9wdGlvbi5hY3RpdmU6aG92ZXI6OmFmdGVyIHtcbiAgZGlzcGxheTogdW5zZXQ7XG59XG4jYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyW3Bhci12YWx1ZT1cIlwiXSAuYWxsLW5vOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLUNPTC1ITyk7XG59XG4jYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyW3Bhci12YWx1ZT1cIjBcIl0gLmxlc3M6OmJlZm9yZSxcbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXJbcGFyLXZhbHVlPVwiMTAwXCJdIC5tb3JlOjpiZWZvcmUsXG4jYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyW3Bhci12YWx1ZT1cIjBcIl0gLmxlc3MgLmRyYWctYXJlYSxcbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXJbcGFyLXZhbHVlPVwiMTAwXCJdIC5tb3JlIC5kcmFnLWFyZWEge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lcltwYXItdmFsdWU9XCIxXCJdIC5sZXNzOjpiZWZvcmUsXG4jYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyW3Bhci12YWx1ZT1cIjJcIl0gLmxlc3M6OmJlZm9yZSB7XG4gIHJpZ2h0OiB1bnNldDtcbiAgbGVmdDogY2FsYygwcHggLSB2YXIoLS1ibHUpICogMC45KTtcbn1cbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXJbcGFyLXZhbHVlPVwiOTlcIl0gLm1vcmU6OmJlZm9yZSxcbiNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXJbcGFyLXZhbHVlPVwiOThcIl0gLm1vcmU6OmJlZm9yZSB7XG4gIGxlZnQ6IHVuc2V0O1xuICByaWdodDogY2FsYygwcHggLSB2YXIoLS1ibHUpICogMC4xKTtcbn1cblxuI2FjdGktcGFyYW1ldGVyLWRyb3Bkb3duIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbn1cbiNhY3RpLXBhcmFtZXRlci1kcm9wZG93biAuZW5kLWNhcCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcDogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbn1cbiNhY3RpLXBhcmFtZXRlci1kcm9wZG93biAuZW5kLWNhcDpudGgtb2YtdHlwZShvZGQpLFxuI2FjdGktcGFyYW1ldGVyLWRyb3Bkb3duIC5lbmQtY2FwOm50aC1jaGlsZCgxKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNpZGxlLXBhcmFtZXRlci1jb250YWluZXIge1xuICBwYWRkaW5nOiB2YXIoLS1ibHUpO1xuICBib3JkZXItdG9wOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xuICBtaW4taGVpZ2h0OiBjYWxjKHZhcigtLWJsdSkgKiAxMik7XG59XG4jaWRsZS1wYXJhbWV0ZXItY29udGFpbmVyIC5yZW1vdmUsICNpZGxlLXBhcmFtZXRlci1jb250YWluZXIgLmxhYmVscywgI2lkbGUtcGFyYW1ldGVyLWNvbnRhaW5lciAuYWN0aXZlLCAjaWRsZS1wYXJhbWV0ZXItY29udGFpbmVyIC5zZWxlY3QtYXJlYSwgI2lkbGUtcGFyYW1ldGVyLWNvbnRhaW5lciAub3B0aW9ucywgI2lkbGUtcGFyYW1ldGVyLWNvbnRhaW5lciAudHJhY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2lkbGUtcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJsdSkgKiAwLjMpO1xufVxuI2lkbGUtcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAqIHtcbiAgZm9udC1zaXplOiB2YXIoLS1wLWZzKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXAtbGgpO1xufVxuI2lkbGUtcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lcjpub3QoOmxhc3QtY2hpbGQpIC50aXRsZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIixcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuI2lkbGUtcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lci51bmVxdWFsICoge1xuICBjb2xvcjogdmFyKC0tQ09MLVRFKTtcbn1cbiNpZGxlLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXIudW5lcXVhbC5yZXNldCAqIHtcbiAgY29sb3I6IHZhcigtLUNGLVJFRCk7XG59XG4jaWRsZS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyLnVuZXF1YWwgKjo6YWZ0ZXIsXG4jaWRsZS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyLnVuZXF1YWwucmVzZXQgKjo6YWZ0ZXIge1xuICBjb2xvcjogdmFyKC0tQ09MLVRFKTtcbn1cbiNpZGxlLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXI6aG92ZXIgKiB7XG4gIGNvbG9yOiB2YXIoLS1DT0wtSE8pO1xufVxuXG4jaWRsZS1wYXJhbWV0ZXJzIHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1ibHUpICogMC4yNSk7XG59XG5cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogUmVsYXRlZCBGb250cyB2aWV3ICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiNyZWxhdGVkLWZvbnRzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogY2FsYygxMDB2aCAtIHZhcigtLW5hdmktb3V0ZXIpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwcHggLSB2YXIoLS1saW5lKSk7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbiNyZWxhdGVkLW5hdmktY29udGFpbmVyIHtcbiAgcmlnaHQ6IGNhbGModmFyKC0td2ktc2V0dGluZ3MpIC0gdmFyKC0td2ktcmVsYXRlZCkpO1xuICB3aWR0aDogdmFyKC0td2ktcmVsYXRlZCk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnJlbGF0ZWQtb3BlbiAjcmVsYXRlZC1uYXZpLWNvbnRhaW5lciB7XG4gIHJpZ2h0OiAwO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnJlbGF0ZWQtb3BlbiAjcmV0dXJuLWJ0biB7XG4gIHJpZ2h0OiB2YXIoLS13aS1yZWxhdGVkKTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5yZWxhdGVkLW9wZW4gI3JldHVybi1idG4gLmFycm93LWNvbnRhaW5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxuLnJlbGF0ZWQtb3BlbiAjcGFyYW1ldGVyLW5hdmktY29udGFpbmVyIHtcbiAgcmlnaHQ6IGNhbGModmFyKC0td2ktcmVsYXRlZCkgLSB2YXIoLS13aS1zZXR0aW5ncykpO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4ucmVsYXRlZC1vcGVuICNzZWxlY3Qtc2FtcGxlLWNvbnRhaW5lciAubmF2aWdhdGlvbjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgYm90dG9tOiBjYWxjKHZhcigtLWJsdSkgKiAwLjgpO1xufVxuLnJlbGF0ZWQtb3BlbiN2aWV3LWZvbnQtc2V0dGluZ3MgI3NlbGVjdC1zYW1wbGUtY29udGFpbmVyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICByaWdodDogdmFyKC0td2ktcmVsYXRlZCk7XG59XG5cbiNyZXR1cm4tYnRuIHtcbiAgLS1zdHJva2U6IGNhbGModmFyKC0taDEtbGgpICogMC4wNik7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiB2YXIoLS13aS1zZXR0aW5ncyk7XG4gIHotaW5kZXg6IDYwMDtcbiAgaGVpZ2h0OiB2YXIoLS1uYXZpLW91dGVyKTtcbiAgd2lkdGg6IHZhcigtLW5hdmktb3V0ZXIpO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNHLTAwMCk7XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNyZXR1cm4tYnRuIC5hcnJvdy1jb250YWluZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgZWFzZS1pbi1vdXQ7XG59XG4jcmV0dXJuLWJ0biAuYXJyb3ctY29udGFpbmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1ibHUpICogMik7XG4gIHdpZHRoOiB2YXIoLS1zdHJva2UpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DT0wtVEUpO1xufVxuI3JldHVybi1idG4gLmFycm93LWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAtLXNpZGU6IGNhbGModmFyKC0tYmx1KSAqIDIpO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXI6IHNvbGlkIHZhcigtLUNPTC1URSkgdmFyKC0tc3Ryb2tlKTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICB3aWR0aDogdmFyKC0tc2lkZSk7XG4gIGhlaWdodDogdmFyKC0tc2lkZSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKHZhcigtLWJsdSkgKiAwLjcpO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG59XG5cbiNyZWxhdGVkLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICB3aWR0aDogY2FsYygxMDAlICsgdmFyKC0tbGluZSkpO1xufVxuXG4ucmVsYXRlZC1jb250YWluZXIge1xuICAtLWNhcGl0YWwtaGVpZ2h0OiBjYWxjKHZhcigtLXZ3KSAqIDcpO1xuICBkaXNwbGF5OiBncmlkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG4gIGJvcmRlci1yaWdodDogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tYmx1KSAqIDQgKyAxcHggKiB2YXIoLS1jYXBpdGFsLWhlaWdodCkgKiAyKTtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cbi5yZWxhdGVkLWNvbnRhaW5lciAudHlwZS1zYW1wbGUtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1ibHUpICogNCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiB2YXIoLS1ibHUpO1xuICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tYmx1KSAqIDIpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xufVxuLnJlbGF0ZWQtY29udGFpbmVyIC50eXBlLXNhbXBsZS1jb250YWluZXIgLnR5cGUtc2FtcGxlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiBmb250IG1ldHJpY3MgKi9cbiAgLS1mbS1saW5lZ2FwOiAwO1xuICAvKiBjb21wdXRlIGZvbnQtc2l6ZSB0byBnZXQgY2FwaXRhbCBoZWlnaHQgZXF1YWwgZGVzaXJlZCBmb250LXNpemUgKi9cbiAgLS1jb21wdXRlZEZvbnRTaXplOiAodmFyKC0tY2FwaXRhbC1oZWlnaHQpIC8gdmFyKC0tZm0tY2FwaXRhbEhlaWdodCkpO1xuICBmb250LXNpemU6IGNhbGModmFyKC0tY29tcHV0ZWRGb250U2l6ZSkgKiAxcHgpO1xuICAvKiBjb21wdXRlIGxpbmUtaGVpZ2h0OiBub3JtYWwgYW5kIGNvbnRlbnQtYXJlYeKAmXMgaGVpZ2h0ICovXG4gIC0tbGluZWhlaWdodE5vcm1hbDogKHZhcigtLWZtLWFzY2VuZGVyKSArIHZhcigtLWZtLWRlc2NlbmRlcikgKyB2YXIoLS1mbS1saW5lZ2FwKSk7XG4gIC0tY29udGVudEFyZWE6ICh2YXIoLS1saW5laGVpZ2h0Tm9ybWFsKSAqIHZhcigtLWNvbXB1dGVkRm9udFNpemUpKTtcbiAgLyogY29tcHV0ZSBkaXN0YW5jZSBmcm9tIHRoZSBib3R0b20gb2YgdGhlIGNhcGl0YWwgbGV0dGVyIHRvIHRoZSBib3R0b20gZWRnZSBhbmQgZGlzdGFuY2UgZnJvbSB0aGUgdG9wIG9mIHRoZSBjYXBpdGFsIGxldHRlciB0byB0aGUgdG9wIGVkZ2UgKi9cbiAgLS1kaXN0YW5jZUJvdHRvbTogKHZhcigtLWZtLWRlc2NlbmRlcikpO1xuICAtLWRpc3RhbmNlVG9wOiAodmFyKC0tZm0tYXNjZW5kZXIpIC0gdmFyKC0tZm0tY2FwaXRhbEhlaWdodCkpO1xuICAvKiBjb21wdXRlIHZlcnRpY2FsLWFsaWduICovXG4gIC0tdmFsaWduOiAoKHZhcigtLWRpc3RhbmNlQm90dG9tKSAtIHZhcigtLWRpc3RhbmNlVG9wKSkgKiB2YXIoLS1jb21wdXRlZEZvbnRTaXplKSk7XG4gIC8qIGRlc2lyZWQgbGluZS1oZWlnaHQgKi9cbiAgLS1saW5lLWhlaWdodDogMWVtO1xuICBsaW5lLWhlaWdodDogY2FsYygodmFyKC0tbGluZS1oZWlnaHQpICogdmFyKC0tY2FwaXRhbC1oZWlnaHQpIC0gdmFyKC0tdmFsaWduKSkgKiAxcHgpO1xufVxuLnJlbGF0ZWQtY29udGFpbmVyIC50eXBlLXNhbXBsZS1jb250YWluZXIgLnR5cGUtc2FtcGxlIHNwYW4ge1xuICAvKiBjb21wdXRlIHZlcnRpY2FsLWFsaWduICovXG4gIHZlcnRpY2FsLWFsaWduOiBjYWxjKHZhcigtLXZhbGlnbikgKiAtMXB4KTtcbn1cbi5yZWxhdGVkLWNvbnRhaW5lciAuc3BlY3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IHZhcigtLWJsdSk7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG4ucmVsYXRlZC1jb250YWluZXIgLnNwZWNzIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ucmVsYXRlZC1jb250YWluZXIgLnNwZWNzIGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiRm9udCBkZXRhaWxzXCI7XG59XG4ucmVsYXRlZC1jb250YWluZXIgLnNwZWNzIC5zcGVjIHtcbiAgZm9udC1zaXplOiB2YXIoLS1uLWZzKTtcbn1cbi5yZWxhdGVkLWNvbnRhaW5lciAuc3BlY3MgLnNwZWM6bm90KDpsYXN0LWNoaWxkKSB7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWJsdSk7XG4gIHdpZHRoOiBjYWxjKHZhcigtLWJsdSkgKiAyMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnJlbGF0ZWQtY29udGFpbmVyIC5zcGVjcyAuc3BlYzpsYXN0LWNoaWxkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogdmFyKC0tYmx1KTtcbn1cbi5yZWxhdGVkLWNvbnRhaW5lci5sYXJnZSB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gIC0tY2FwaXRhbC1oZWlnaHQ6IGNhbGModmFyKC0tdncpICogMTYpO1xufVxuLnJlbGF0ZWQtY29udGFpbmVyLm1lZGl1IHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgLS1jYXBpdGFsLWhlaWdodDogY2FsYyh2YXIoLS12dykgKiA4KTtcbn1cbi5yZWxhdGVkLWNvbnRhaW5lci5zbWFsbCB7XG4gIC0tY2FwaXRhbC1oZWlnaHQ6IGNhbGModmFyKC0tdncpICogNCk7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1ibHUpICogNCArIDFweCAqIHZhcigtLWNhcGl0YWwtaGVpZ2h0KSAqIDMpO1xufVxuLnJlbGF0ZWQtY29udGFpbmVyLnNtYWxsIC5zcGVjIGEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogdmFyKC0tYmx1KTtcbiAgcmlnaHQ6IHZhcigtLWJsdSk7XG59XG4ucmVsYXRlZC1jb250YWluZXIuc21hbGwgLnNwZWMgYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJEZXRhaWxzXCI7XG59XG4ucmVsYXRlZC1jb250YWluZXIuc21hbGwgLnNwZWM6bGFzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucmVsYXRlZC1jb250YWluZXIuc21hbGwgLnNwZWM6bnRoLWNoaWxkKDIpIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5yZWxhdGVkLWNvbnRhaW5lci5zbWFsbCArIC5yZWxhdGVkLWNvbnRhaW5lci5sYXJnZSwgLnJlbGF0ZWQtY29udGFpbmVyLnNtYWxsICsgLnJlbGF0ZWQtY29udGFpbmVyLm1lZGl1LCAucmVsYXRlZC1jb250YWluZXIubWVkaXUgKyAucmVsYXRlZC1jb250YWluZXIubGFyZ2Uge1xuICBiYWNrZ3JvdW5kOiByZWQ7XG59XG5cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogQ29sbGVjdGlvbiBWaWV3ICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiNjb2xsZWN0aW9uLWhlYWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1uYXZpLW91dGVyKSArIHZhcigtLWxpbmUpKTtcbn1cbiNjb2xsZWN0aW9uLWhlYWRlci1jb250YWluZXIgLmNvbGwtbmFtZSB7XG4gIC0tY2FwaXRhbC1oZWlnaHQ6IG1pbihjYWxjKHZhcigtLXZ3KSAqICgyMCAtICh2YXIoLS1tdWx0aXBsaWVyKSAqIDAuOSkpKSwgY2FsYyh2YXIoLS12aCkgKiAzMCkpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0tYmx1KSAqIDIpO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAvKiBmb250IG1ldHJpY3MgKi9cbiAgLS1mbS1saW5lZ2FwOiAwO1xuICAvKiBjb21wdXRlIGZvbnQtc2l6ZSB0byBnZXQgY2FwaXRhbCBoZWlnaHQgZXF1YWwgZGVzaXJlZCBmb250LXNpemUgKi9cbiAgLS1jb21wdXRlZEZvbnRTaXplOiAodmFyKC0tY2FwaXRhbC1oZWlnaHQpIC8gdmFyKC0tZm0tY2FwaXRhbEhlaWdodCkpO1xuICBmb250LXNpemU6IGNhbGModmFyKC0tY29tcHV0ZWRGb250U2l6ZSkgKiAxcHgpO1xuICAvKiBjb21wdXRlIGxpbmUtaGVpZ2h0OiBub3JtYWwgYW5kIGNvbnRlbnQtYXJlYeKAmXMgaGVpZ2h0ICovXG4gIC0tbGluZWhlaWdodE5vcm1hbDogKHZhcigtLWZtLWFzY2VuZGVyKSArIHZhcigtLWZtLWRlc2NlbmRlcikgKyB2YXIoLS1mbS1saW5lZ2FwKSk7XG4gIC0tY29udGVudEFyZWE6ICh2YXIoLS1saW5laGVpZ2h0Tm9ybWFsKSAqIHZhcigtLWNvbXB1dGVkRm9udFNpemUpKTtcbiAgLyogY29tcHV0ZSBkaXN0YW5jZSBmcm9tIHRoZSBib3R0b20gb2YgdGhlIGNhcGl0YWwgbGV0dGVyIHRvIHRoZSBib3R0b20gZWRnZSBhbmQgZGlzdGFuY2UgZnJvbSB0aGUgdG9wIG9mIHRoZSBjYXBpdGFsIGxldHRlciB0byB0aGUgdG9wIGVkZ2UgKi9cbiAgLS1kaXN0YW5jZUJvdHRvbTogKHZhcigtLWZtLWRlc2NlbmRlcikpO1xuICAtLWRpc3RhbmNlVG9wOiAodmFyKC0tZm0tYXNjZW5kZXIpIC0gdmFyKC0tZm0tY2FwaXRhbEhlaWdodCkpO1xuICAvKiBjb21wdXRlIHZlcnRpY2FsLWFsaWduICovXG4gIC0tdmFsaWduOiAoKHZhcigtLWRpc3RhbmNlQm90dG9tKSAtIHZhcigtLWRpc3RhbmNlVG9wKSkgKiB2YXIoLS1jb21wdXRlZEZvbnRTaXplKSk7XG4gIC8qIGRlc2lyZWQgbGluZS1oZWlnaHQgKi9cbiAgLS1saW5lLWhlaWdodDogMWVtO1xuICBsaW5lLWhlaWdodDogY2FsYygodmFyKC0tbGluZS1oZWlnaHQpICogdmFyKC0tY2FwaXRhbC1oZWlnaHQpIC0gdmFyKC0tdmFsaWduKSkgKiAxcHgpO1xufVxuI2NvbGxlY3Rpb24taGVhZGVyLWNvbnRhaW5lciAuY29sbC1uYW1lIHNwYW4sICNjb2xsZWN0aW9uLWhlYWRlci1jb250YWluZXIgLmNvbGwtbmFtZSBpbnB1dCB7XG4gIC8qIGFwcGx5IGZvbnQtZmFtaWx5ICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tYWluLWR5bmFtaWMtZm9udCk7XG4gIC8qIGNvbXB1dGUgdmVydGljYWwtYWxpZ24gKi9cbiAgdmVydGljYWwtYWxpZ246IGNhbGModmFyKC0tdmFsaWduKSAqIC0xcHgpO1xufVxuI2NvbGxlY3Rpb24taGVhZGVyLWNvbnRhaW5lciAuY29sbC1zcGVjcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKTtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1ibHUpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWJsdSk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWJsdSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1ibHUpO1xufVxuI2NvbGxlY3Rpb24taGVhZGVyLWNvbnRhaW5lciAuY29sbC1zcGVjcyBkaXY6bnRoLWxhc3QtY2hpbGQoMikge1xuICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJsdSkgKiAxKTtcbn1cbiNjb2xsZWN0aW9uLWhlYWRlci1jb250YWluZXIgLmNvbGwtc3BlY3MgLmRvd24tYnRuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogY2FsYyh2YXIoLS1ibHUpICogNCk7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1ibHUpICogNCk7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNjb2xsZWN0aW9uLWhlYWRlci1jb250YWluZXIgLmNvbGwtc3BlY3MgLmRvd24tYnRuOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiBjYWxjKHZhcigtLW4tZnMpICogMSk7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1uLWZzKSAqIDEpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG4gIGJvcmRlci1yaWdodDogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogY2FsYyh2YXIoLS1ibHUpICogMSk7XG4gIGJvdHRvbTogY2FsYyh2YXIoLS1ibHUpICogMS4yKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG4jY29sbGVjdGlvbi1oZWFkZXItY29udGFpbmVyIC5jb2xsLXNwZWNzIC5kb3duLWJ0bjpob3Zlcjo6YWZ0ZXIge1xuICBib3R0b206IGNhbGModmFyKC0tYmx1KSAqIDEuNSk7XG59XG4jY29sbGVjdGlvbi1oZWFkZXItY29udGFpbmVyIC5jb2xsLXNwZWNzIGFbaHJlZj1cIlwiXSwgI2NvbGxlY3Rpb24taGVhZGVyLWNvbnRhaW5lciAuY29sbC1zcGVjcyBhW2hyZWY9XCIjXCJdIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuI2NvbGxlY3Rpb24tb3ZlcnZpZXctY29udGFpbmVyIHtcbiAgYm9yZGVyLXRvcDogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbn1cbiNjb2xsZWN0aW9uLW92ZXJ2aWV3LWNvbnRhaW5lciAjY29sbC1vdmVydmlldy1saXN0IC5jb2xsLXNhbXBsZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogY2FsYyh2YXIoLS1ibHUpICogMTMpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xufVxuI2NvbGxlY3Rpb24tb3ZlcnZpZXctY29udGFpbmVyICNjb2xsLW92ZXJ2aWV3LWxpc3QgLmNvbGwtc2FtcGxlLWNvbnRhaW5lciAuY29sbC1zYW1wbGUtbmF2aSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgZm9udC1zaXplOiB2YXIoLS1uLWZzKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLW4tbGgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogdmFyKC0tYmx1KTtcbiAgcmlnaHQ6IHZhcigtLWJsdSk7XG4gIHotaW5kZXg6IDUwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbiNjb2xsZWN0aW9uLW92ZXJ2aWV3LWNvbnRhaW5lciAjY29sbC1vdmVydmlldy1saXN0IC5jb2xsLXNhbXBsZS1jb250YWluZXIgLmNvbGwtc2FtcGxlLW5hdmkgZGl2IHtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWJsdSkgKiAwLjUpO1xufVxuI2NvbGxlY3Rpb24tb3ZlcnZpZXctY29udGFpbmVyICNjb2xsLW92ZXJ2aWV3LWxpc3QgLmNvbGwtc2FtcGxlLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgLS1zaWRlOiBjYWxjKHZhcigtLWJsdSkgKiAzKTtcbiAgaGVpZ2h0OiB2YXIoLS1zaWRlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB2YXIoLS1DT0wtVEUpIHZhcigtLWxpbmUpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCB2YXIoLS1DT0wtVEUpIHZhcigtLWxpbmUpO1xuICBkaXNwbGF5OiBub25lO1xufVxuI2NvbGxlY3Rpb24tb3ZlcnZpZXctY29udGFpbmVyICNjb2xsLW92ZXJ2aWV3LWxpc3QgLmNvbGwtc2FtcGxlLWNvbnRhaW5lciAuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tQ09MLUhPKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI2NvbGxlY3Rpb24tb3ZlcnZpZXctY29udGFpbmVyICNjb2xsLW92ZXJ2aWV3LWxpc3QgLmNvbGwtc2FtcGxlLWNvbnRhaW5lciAuYnV0dG9uLnNhdmUtdGhpcy1mb250IHtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiB2YXIoLS1zaWRlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9ncmFwaGljcy9oZWFydC0wMi5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogNjAlO1xufVxuI2NvbGxlY3Rpb24tb3ZlcnZpZXctY29udGFpbmVyICNjb2xsLW92ZXJ2aWV3LWxpc3QgLmNvbGwtc2FtcGxlLWNvbnRhaW5lciAuYnV0dG9uLnNldHRpbmdzIHtcbiAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJsdSkgKiAxKTtcbiAgcmlnaHQ6IHZhcigtLXNpZGUpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuI2NvbGxlY3Rpb24tb3ZlcnZpZXctY29udGFpbmVyICNjb2xsLW92ZXJ2aWV3LWxpc3QgLmNvbGwtc2FtcGxlLWNvbnRhaW5lciAuY29sbC1zYW1wbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogMTAwJTtcbiAgLS1jYXBpdGFsLWhlaWdodDogY2FsYyh2YXIoLS1ibHVSKSAqIDYpO1xuICAvKiBmb250IG1ldHJpY3MgKi9cbiAgLS1mbS1saW5lZ2FwOiAwO1xuICAvKiBjb21wdXRlIGZvbnQtc2l6ZSB0byBnZXQgY2FwaXRhbCBoZWlnaHQgZXF1YWwgZGVzaXJlZCBmb250LXNpemUgKi9cbiAgLS1jb21wdXRlZEZvbnRTaXplOiAodmFyKC0tY2FwaXRhbC1oZWlnaHQpIC8gdmFyKC0tZm0tY2FwaXRhbEhlaWdodCkpO1xuICBmb250LXNpemU6IGNhbGModmFyKC0tY29tcHV0ZWRGb250U2l6ZSkgKiAxcHgpO1xuICAvKiBjb21wdXRlIGxpbmUtaGVpZ2h0OiBub3JtYWwgYW5kIGNvbnRlbnQtYXJlYeKAmXMgaGVpZ2h0ICovXG4gIC0tbGluZWhlaWdodE5vcm1hbDogKHZhcigtLWZtLWFzY2VuZGVyKSArIHZhcigtLWZtLWRlc2NlbmRlcikgKyB2YXIoLS1mbS1saW5lZ2FwKSk7XG4gIC0tY29udGVudEFyZWE6ICh2YXIoLS1saW5laGVpZ2h0Tm9ybWFsKSAqIHZhcigtLWNvbXB1dGVkRm9udFNpemUpKTtcbiAgLyogY29tcHV0ZSBkaXN0YW5jZSBmcm9tIHRoZSBib3R0b20gb2YgdGhlIGNhcGl0YWwgbGV0dGVyIHRvIHRoZSBib3R0b20gZWRnZSBhbmQgZGlzdGFuY2UgZnJvbSB0aGUgdG9wIG9mIHRoZSBjYXBpdGFsIGxldHRlciB0byB0aGUgdG9wIGVkZ2UgKi9cbiAgLS1kaXN0YW5jZUJvdHRvbTogKHZhcigtLWZtLWRlc2NlbmRlcikpO1xuICAtLWRpc3RhbmNlVG9wOiAodmFyKC0tZm0tYXNjZW5kZXIpIC0gdmFyKC0tZm0tY2FwaXRhbEhlaWdodCkpO1xuICAvKiBjb21wdXRlIHZlcnRpY2FsLWFsaWduICovXG4gIC0tdmFsaWduOiAoKHZhcigtLWRpc3RhbmNlQm90dG9tKSAtIHZhcigtLWRpc3RhbmNlVG9wKSkgKiB2YXIoLS1jb21wdXRlZEZvbnRTaXplKSk7XG4gIC8qIGRlc2lyZWQgbGluZS1oZWlnaHQgKi9cbiAgLS1saW5lLWhlaWdodDogMWVtO1xuICBsaW5lLWhlaWdodDogY2FsYygodmFyKC0tbGluZS1oZWlnaHQpICogdmFyKC0tY2FwaXRhbC1oZWlnaHQpIC0gdmFyKC0tdmFsaWduKSkgKiAxcHgpO1xufVxuI2NvbGxlY3Rpb24tb3ZlcnZpZXctY29udGFpbmVyICNjb2xsLW92ZXJ2aWV3LWxpc3QgLmNvbGwtc2FtcGxlLWNvbnRhaW5lciAuY29sbC1zYW1wbGUgaW5wdXQsICNjb2xsZWN0aW9uLW92ZXJ2aWV3LWNvbnRhaW5lciAjY29sbC1vdmVydmlldy1saXN0IC5jb2xsLXNhbXBsZS1jb250YWluZXIgLmNvbGwtc2FtcGxlIHNwYW4ge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBmb250LXNpemU6IGNhbGModmFyKC0tY29tcHV0ZWRGb250U2l6ZSkgKiAxcHgpO1xuICB0ZXh0LWluZGVudDogY2FsYyh2YXIoLS1ibHUpICogMSk7XG4gIC8qIGNvbXB1dGUgdmVydGljYWwtYWxpZ24gKi9cbiAgdmVydGljYWwtYWxpZ246IGNhbGModmFyKC0tdmFsaWduKSAqIC0xcHgpO1xufVxuI2NvbGxlY3Rpb24tb3ZlcnZpZXctY29udGFpbmVyICNjb2xsLW92ZXJ2aWV3LWxpc3QgLmNvbGwtc2FtcGxlLWNvbnRhaW5lciAuY29sbC1zYW1wbGUgaW5wdXQ6OnNlbGVjdGlvbiwgI2NvbGxlY3Rpb24tb3ZlcnZpZXctY29udGFpbmVyICNjb2xsLW92ZXJ2aWV3LWxpc3QgLmNvbGwtc2FtcGxlLWNvbnRhaW5lciAuY29sbC1zYW1wbGUgc3Bhbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IHZhcigtLUNHLTAzMyk7XG59XG4jY29sbGVjdGlvbi1vdmVydmlldy1jb250YWluZXIgI2NvbGwtb3ZlcnZpZXctbGlzdCAuY29sbC1zYW1wbGUtY29udGFpbmVyIC5idG4ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1DRy0wMzMpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4jY29sbGVjdGlvbi1vdmVydmlldy1jb250YWluZXIgI2NvbGwtb3ZlcnZpZXctbGlzdCAuY29sbC1zYW1wbGUtY29udGFpbmVyIC5idG46aG92ZXIge1xuICBjb2xvcjogdmFyKC0tQ0ctMDU3KTtcbn1cbiNjb2xsZWN0aW9uLW92ZXJ2aWV3LWNvbnRhaW5lciAjY29sbC1vdmVydmlldy1saXN0IC5jb2xsLXNhbXBsZS1jb250YWluZXIgLmJ0bi5hY3RpdmUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4jY29sbGVjdGlvbi1vdmVydmlldy1jb250YWluZXIgI2NvbGwtb3ZlcnZpZXctbGlzdCAuY29sbC1zYW1wbGUtY29udGFpbmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ09MLUhJKTtcbn1cbiNjb2xsZWN0aW9uLW92ZXJ2aWV3LWNvbnRhaW5lciAjY29sbC1vdmVydmlldy1saXN0IC5jb2xsLXNhbXBsZS1jb250YWluZXI6aG92ZXIgLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IHVuc2V0O1xufVxuI2NvbGxlY3Rpb24tb3ZlcnZpZXctY29udGFpbmVyICNjb2xsLW92ZXJ2aWV3LWxpc3QgLmNvbGwtc2FtcGxlLWNvbnRhaW5lcjpob3ZlciAuYnV0dG9uLnNldHRpbmdzIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbiNjb2xsZWN0aW9uLW92ZXJ2aWV3LWNvbnRhaW5lciAjY29sbC1vdmVydmlldy1saXN0IC5jb2xsLXNhbXBsZS1jb250YWluZXI6aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCB2YXIoLS1DRy0wNjkpIGNhbGMoMTAwJSAtIHZhcigtLWJsdSkgKiAzKSk7XG59XG4jY29sbGVjdGlvbi1vdmVydmlldy1jb250YWluZXIgI2NvbGwtb3ZlcnZpZXctbGlzdCAuY29sbC1zYW1wbGUtY29udGFpbmVyW3NhdmUtc3RhdGU9eWVzXSAuc2F2ZS10aGlzLWZvbnQge1xuICBkaXNwbGF5OiB1bnNldDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9ncmFwaGljcy9oZWFydC0wMi1yZWQuc3ZnXCIpO1xufVxuXG4jY29sbGVjdGlvbi1uYXZpLWNvbnRhaW5lciB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xuICB3aWR0aDogY2FsYyg1MCUgKyB2YXIoLS1saW5lKSAqIDAuNSk7XG59XG4jY29sbGVjdGlvbi1uYXZpLWNvbnRhaW5lciBoMSB7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tYmx1KSAqIDEwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiNjb2xsLW92ZXJ2aWV3LW5hdmkge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItYm90dG9tOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xuICB0b3A6IGNhbGModmFyKC0tbmF2aS1vdXRlcikgLSB2YXIoLS1saW5lKSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNPTC1CRyk7XG4gIHotaW5kZXg6IDEwMDtcbn1cbiNjb2xsLW92ZXJ2aWV3LW5hdmkgaDkge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiB2YXIoLS1ibHUpO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG4gIHdpZHRoOiBjYWxjKHZhcigtLWJsdSkgKiA3KTtcbn1cbiNjb2xsLW92ZXJ2aWV3LW5hdmkgLmZhbWlseSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tYmx1KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tYmx1KSAqIDMpO1xuICBsaW5lLWhlaWdodDogY2FsYyh2YXIoLS1ibHUpICogMS4xKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xuICBtYXJnaW46IDA7XG59XG4jY29sbC1vdmVydmlldy1uYXZpIC5mYW1pbHk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DT0wtSEkpO1xufVxuI2NvbGwtb3ZlcnZpZXctbmF2aSAuZmFtaWx5LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNPTC1ISSk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuI2NvbGxlY3Rpb24tYnV5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwcHggLSB2YXIoLS1saW5lKSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tYmx1KSAqIDMwKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ09MLUhPKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI2NvbGxlY3Rpb24tYnV5LWNvbnRhaW5lciAqIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuI2NvbGxlY3Rpb24tYnV5LWNvbnRhaW5lciBhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLWJsdSk7XG59XG4jY29sbGVjdGlvbi1idXktY29udGFpbmVyIGgxIHtcbiAgZm9udC1zaXplOiAyMC41dnc7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogY2FsYygwcHggLSB2YXIoLS1ibHUpICogMC43KTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLWJsdSkgKiAyKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMHB4IC0gMS40dncpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDBweCAtIDAuNnZ3KTtcbn1cbiNjb2xsZWN0aW9uLWJ1eS1jb250YWluZXIgcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiB2YXIoLS1ibHUpO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbiNjb2xsZWN0aW9uLWJ1eS1jb250YWluZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DT0wtQUMpO1xufVxuXG4uY29sbC1vdmVydmlldy1mYW1pbHksXG4uY29sbC1uYW1lLnN2Zy1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5jb2xsLW92ZXJ2aWV3LWZhbWlseS5hY3RpdmUsXG4uY29sbC1uYW1lLnN2Zy1jb250YWluZXIuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuI3ZpZXctY29sbGVjdGlvbiAjcmV0dXJuLWJ0biB7XG4gIHJpZ2h0OiA1MCU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4jdmlldy1jb2xsZWN0aW9uICNyZXR1cm4tYnRuIC5hcnJvdy1jb250YWluZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi8qIFNlYXJjaCBWaWV3ICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiN2aWV3LXJlc3VsdHMge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tbmF2aS1vdXRlcik7XG59XG4jdmlldy1yZXN1bHRzIC5zZXBhcmF0b3Ige1xuICBncmlkLWNvbHVtbjogc3BhbiA0O1xuICBtYXJnaW46IGNhbGMoMHB4IC0gdmFyKC0tbGluZSkpIDAgMDtcbn1cbiN2aWV3LXJlc3VsdHMgLnJlbGF0ZWQtY29udGFpbmVyLmxhcmdlIC5zcGVjOm5vdCg6bGFzdC1jaGlsZCkge1xuICB3aWR0aDogY2FsYygoMTAwJSAtIHZhcigtLWJsdSkgKiAyKSAqIDAuMjUpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWJsdSk7XG59XG4jdmlldy1yZXN1bHRzIC5yZWxhdGVkLWNvbnRhaW5lci5zbWFsbCAuc3BlYzpsYXN0LWNoaWxkIHtcbiAgZGlzcGxheTogdW5zZXQ7XG4gIHdpZHRoOiB1bnNldDtcbiAgaGVpZ2h0OiB1bnNldDtcbiAgcG9zaXRpb246IHVuc2V0O1xufVxuXG4jc2VhcmNoLW5hdmktY29udGFpbmVyIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG4gIHdpZHRoOiBjYWxjKDUwJSArIHZhcigtLWxpbmUpICogMC41KTtcbn1cblxuI3Jlc3VsdHMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDBweCAtIHZhcigtLWxpbmUpKTtcbn1cblxuI25vLXJlc3VsdC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tbmF2aS1vdXRlcikgKyB2YXIoLS1saW5lKSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4jbm8tcmVzdWx0LWNvbnRhaW5lciBwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IHZhcigtLWJsdSk7XG59XG4jbm8tcmVzdWx0LWNvbnRhaW5lciBoMSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogSW5mbyBWaWV3ICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiNpbmZvLWludHJvIHtcbiAgcGFkZGluZzogdmFyKC0tYmx1KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDEtbGgpO1xufVxuI2luZm8taW50cm8gaDIge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oMS1saCk7XG59XG5cbiNpbmRleC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDBweCAtIHZhcigtLWxpbmUpKTtcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tbmF2aS1vdXRlcikgLSB2YXIoLS1saW5lKSk7XG59XG5cbiNpbmRleC1uYXZpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDE2LCAxZnIpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWJsdSk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWJsdSk7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1ibHUpICogMi41KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItdG9wOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xuICBmb250LXNpemU6IHZhcigtLW4tZnMpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbi1saCk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogY2FsYyh2YXIoLS1uYXZpLW91dGVyKSAtIHZhcigtLWxpbmUpKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ0ctMDkzKTtcbn1cbiNpbmRleC1uYXZpIGRpdiB7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1ibHUpICogMC45KTtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jaW5kZXgtbmF2aSBkaXY6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tQ0ctMDY5KTtcbn1cbiNpbmRleC1uYXZpIGRpdjpob3Zlcjo6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLUNHLTA2OSk7XG59XG4jaW5kZXgtbmF2aSBkaXY6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IGNhbGModmFyKC0tbi1mcykgKiAxKTtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLW4tZnMpICogMSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgYm90dG9tO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGVmdDogdmFyKC0tYmx1KTtcbiAgYm90dG9tOiBjYWxjKHZhcigtLWJsdSkgKiAwLjIpO1xufVxuI2luZGV4LW5hdmkgZGl2LnJldmVyc2U6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcbiAgYm90dG9tOiBjYWxjKHZhcigtLWJsdSkgKiAtMC4yKTtcbn1cbiNpbmRleC1uYXZpIGRpdjpudGgtY2hpbGQoMSkge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiNpbmRleC1uYXZpIGRpdjpudGgtY2hpbGQoMSk6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI2luZGV4LWxpc3Qge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jaW5kZXgtbGlzdCB0Ym9keSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNpbmRleC1saXN0IHRyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTYsIDFmcik7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tYmx1KTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tYmx1KTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWJsdSkgKiAyLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jaW5kZXgtbGlzdCB0ciB0ZCB7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1ibHUpICogMS4zNSk7XG4gIG1hcmdpbi10b3A6IGNhbGMoMHB4IC0gdmFyKC0tYmx1KSAqIDAuMzUpO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4jaW5kZXgtbGlzdCB0ci5hdXRob3ItaGVhZGVyIHtcbiAgaGVpZ2h0OiB2YXIoLS1uYXZpLW91dGVyKTtcbn1cbiNpbmRleC1saXN0IHRyLmF1dGhvci1oZWFkZXIgdGQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWJsdSkgKiAwLjUpO1xuICBtYXJnaW46IHVuc2V0O1xuICBncmlkLWNvbHVtbjogc3BhbiAxNiAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jaW5kZXgtbGlzdCB0ci5hdXRob3ItaXRlbTpub3QoW3N0YXR1cz1vcGVuXSkge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2luZGV4LWxpc3QgdHIuYXV0aG9yLWl0ZW0gdGQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IHZhcigtLXAtZnMpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tcC1saCk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4jaW5kZXgtbGlzdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNHLTEwMCk7XG59XG5cbi8qIEZvdW5kcnkgKi9cbiNpbmRleC1saXN0IHRyID4gdGQ6bnRoLWNoaWxkKDEpLCAjaW5kZXgtbmF2aSBkaXY6bnRoLWNoaWxkKDEpIHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMztcbn1cblxuLyogQ29sbGVjdGlvbiAqL1xuI2luZGV4LWxpc3QgdHIgPiB0ZDpudGgtY2hpbGQoMiksICNpbmRleC1uYXZpIGRpdjpudGgtY2hpbGQoMikge1xuICBncmlkLWNvbHVtbjogc3BhbiAzO1xufVxuXG4vKiBGYW1pbHkgKi9cbiNpbmRleC1saXN0IHRyID4gdGQ6bnRoLWNoaWxkKDMpLCAjaW5kZXgtbmF2aSBkaXY6bnRoLWNoaWxkKDMpIHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbn1cblxuLyogQ29sbGVjdGlvbiBzaXplICovXG4jaW5kZXgtbGlzdCB0ciA+IHRkOm50aC1jaGlsZCg0KSwgI2luZGV4LW5hdmkgZGl2Om50aC1jaGlsZCg0KSB7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDI7XG59XG5cbi8qIFN0eWxlcyAqL1xuI2luZGV4LWxpc3QgdHIgPiB0ZDpudGgtY2hpbGQoNSksICNpbmRleC1uYXZpIGRpdjpudGgtY2hpbGQoNSkge1xuICBncmlkLWNvbHVtbjogc3BhbiAyO1xufVxuXG5ib2R5LnNvcnRpbmcge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5ib2R5LnNvcnRpbmcgI2luZGV4LWxpc3QgdHIge1xuICBib3JkZXItY29sb3I6IHZhcigtLUNHLTA2OSk7XG59XG5ib2R5LnNvcnRpbmcgI2luZGV4LWxpc3QgKiB7XG4gIGNvbG9yOiB2YXIoLS1DRy0wNjkpO1xufVxuXG4uYW5pbWF0ZWQtbG9hZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogdmFyKC0tbmF2aS1vdXRlcik7XG4gIGhlaWdodDogdmFyKC0tbmF2aS1vdXRlcik7XG4gIHotaW5kZXg6IDYwMDtcbiAgYW5pbWF0aW9uOiByb3RhdGluZyAycyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5hbmltYXRlZC1sb2FkZXI6OmJlZm9yZSxcbi5hbmltYXRlZC1sb2FkZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiB2YXIoLS1ibHUpO1xuICBoZWlnaHQ6IHZhcigtLWJsdSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNHLTA2OSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTAwdmg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uYW5pbWF0ZWQtbG9hZGVyOjpiZWZvcmUge1xuICB0b3A6IHZhcigtLWJsdSk7XG59XG5cbi5hbmltYXRlZC1sb2FkZXI6OmFmdGVyIHtcbiAgYm90dG9tOiB2YXIoLS1ibHUpO1xufVxuXG4jbG9hZC1yZWxhdGVkLWNvbnRhaW5lciAuYW5pbWF0ZWQtbG9hZGVyIHtcbiAgdG9wOiBjYWxjKDUwJSAtIHZhcigtLW5hdmktb3V0ZXIpICogMC4yKTtcbiAgbGVmdDogY2FsYyg1MCUgLSB2YXIoLS1uYXZpLW91dGVyKSAqIDAuMik7XG4gIHotaW5kZXg6IDcwMDtcbn1cblxuI2xvYWQtcmVsYXRlZC1jb250YWluZXIubG9hZGluZyAuYW5pbWF0ZWQtbG9hZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jbG9hZC1yZWxhdGVkLWNvbnRhaW5lci5sb2FkaW5nIC5pbnRlcmFjdGlvbi1ibG9ja2VyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDYwMDtcbn1cblxuQGtleWZyYW1lcyByb3RhdGluZyB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi8qIEluZm8gRWRpdCAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4jdmlldy1mb250LWVkaXQgI3NldHRpbmdzLWNvbnRhaW5lciAjc2V0dGluZ3MtcHJldmlldyAudHlwZS1zYW1wbGUtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1ibHUpICogMi45KTtcbn1cbiN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtY29udGFpbmVyICNzZXR0aW5ncy1wcmV2aWV3W2VkaXQtc3RhdGU9bm9dIC50eXBlLXNhbXBsZS1jb250YWluZXIuaW5pdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jdmlldy1mb250LWVkaXQgI3NldHRpbmdzLWNvbnRhaW5lciAjc2V0dGluZ3MtcHJldmlld1tlZGl0LXN0YXRlPXllc10gLnR5cGUtc2FtcGxlLWNvbnRhaW5lciB7XG4gIGhlaWdodDogY2FsYyg1MCUgLSB2YXIoLS1ibHUpICogMS40NSk7XG59XG4jdmlldy1mb250LWVkaXQgI3NldHRpbmdzLWNvbnRhaW5lciAjc2V0dGluZ3MtcHJldmlld1tlZGl0LXN0YXRlPXllc10gLnR5cGUtc2FtcGxlLWNvbnRhaW5lci5pbml0IHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ0ctMDYzKTtcbn1cbiN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtY29udGFpbmVyICNzZXR0aW5ncy1wcmV2aWV3W2VkaXQtc3RhdGU9eWVzXSAudHlwZS1zYW1wbGUtY29udGFpbmVyLnNhbXBsZSB7XG4gIHRvcDogdW5zZXQ7XG4gIGJvdHRvbTogMDtcbn1cbiN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtY29udGFpbmVyICNzZXR0aW5ncy1wcmV2aWV3W2VkaXQtc3RhdGU9eWVzXSAjZm9udC1uYW1lcy1jb250YWluZXIgLmluaXRpYWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRy0wNjMpO1xufVxuI3ZpZXctZm9udC1lZGl0ICNzZXR0aW5ncy1jb250YWluZXIgI3NldHRpbmdzLXByZXZpZXdbZWRpdC1zdGF0ZT15ZXNdICNmb250LW5hbWVzLWNvbnRhaW5lcjpub3QoLnVuZXF1YWwpIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ0ctMDYzKTtcbn1cbiN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtcGFuZWwgI3BhcmFtZXRlci1uYXZpLWNvbnRhaW5lciAubmF2aS1zdWItY29udGFpbmVyIHNlbGVjdCxcbiN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtcGFuZWwgI3BhcmFtZXRlci1uYXZpLWNvbnRhaW5lciAubmF2aS1zdWItY29udGFpbmVyIGlucHV0IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuI3ZpZXctZm9udC1lZGl0ICNzZXR0aW5ncy1wYW5lbCAjcGFyYW1ldGVyLW5hdmktY29udGFpbmVyIC5uYXZpLXN1Yi1jb250YWluZXIgc2VsZWN0IG9wdGlvbixcbiN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtcGFuZWwgI3BhcmFtZXRlci1uYXZpLWNvbnRhaW5lciAubmF2aS1zdWItY29udGFpbmVyIGlucHV0IG9wdGlvbiB7XG4gIGNvbG9yOiByZWQ7XG59XG4jdmlldy1mb250LWVkaXQgI3NldHRpbmdzLXBhbmVsICNwYXJhbWV0ZXItc2V0dGluZ3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1uYXZpLW91dGVyKSAtIHZhcigtLXFsaCkpO1xufVxuI3ZpZXctZm9udC1lZGl0ICNzZXR0aW5ncy1wYW5lbCAjcGFyYW1ldGVyLXNldHRpbmdzLWNvbnRhaW5lciAjYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyIC5sYWJlbHMgaW5wdXQsXG4jdmlldy1mb250LWVkaXQgI3NldHRpbmdzLXBhbmVsICNwYXJhbWV0ZXItc2V0dGluZ3MtY29udGFpbmVyICNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXIgLmxhYmVscyBzZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgY29sb3I6IHZhcigtLUNHLTA1Nyk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tYmx1KTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jdmlldy1mb250LWVkaXQgI3NldHRpbmdzLXBhbmVsICNwYXJhbWV0ZXItc2V0dGluZ3MtY29udGFpbmVyICNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXIgLmxhYmVscyBpbnB1dDpob3ZlcixcbiN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtcGFuZWwgI3BhcmFtZXRlci1zZXR0aW5ncy1jb250YWluZXIgI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAubGFiZWxzIHNlbGVjdDpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1DRy0wNjkpO1xufVxuI3ZpZXctZm9udC1lZGl0ICNzZXR0aW5ncy1wYW5lbCAjcGFyYW1ldGVyLXNldHRpbmdzLWNvbnRhaW5lciAjYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyIC5sYWJlbHMgc2VsZWN0IG9wdGlvbiB7XG4gIHdpZHRoOiAxMDBweDtcbn1cbiN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtcGFuZWwgI3BhcmFtZXRlci1zZXR0aW5ncy1jb250YWluZXIgI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lciAubGFiZWxzIC5yZW1vdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jdmlldy1mb250LWVkaXQgI3NldHRpbmdzLXBhbmVsICNwYXJhbWV0ZXItc2V0dGluZ3MtY29udGFpbmVyICNpZGxlLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXI6aG92ZXIgKiB7XG4gIGNvbG9yOiB2YXIoLS1DRy0wNjMpO1xufVxuI3ZpZXctZm9udC1lZGl0ICNzZXR0aW5ncy1wYW5lbCAjcXVldWUtbGlzdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNHLTA2OSk7XG4gIHotaW5kZXg6IDIwMDtcbn1cbiN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtcGFuZWwgI3F1ZXVlLWxpc3QgdHIgKiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiB2YXIoLS1uLWZzKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLW4tbGgpO1xuICBtYXJnaW4tbGVmdDogY2FsYygwcHggLSB2YXIoLS1uLWxoKSAqIDAuMDgpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDBweCAtIHZhcigtLW4tbGgpICogMC4wNyk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiB2YXIoLS1DT0wtVEUpO1xuICBib3JkZXItdG9wOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1ibHUpICogMC4yNSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWJsdSkgKiAwLjI1KTtcbn1cbiN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtcGFuZWwgI3F1ZXVlLWxpc3QgdHIgKiBpbnB1dCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLUNHLTA1Nyk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtcGFuZWwgI3F1ZXVlLWxpc3QgdHIgKjpudGgtY2hpbGQoMSkge1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tYmx1KSAqIDEpO1xufVxuI3ZpZXctZm9udC1lZGl0ICNzZXR0aW5ncy1wYW5lbCAjcXVldWUtbGlzdCB0ciAqOm50aC1jaGlsZCgzKSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJsdSkgKiAxKTtcbn1cbiN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtcGFuZWwgI3F1ZXVlLWxpc3QgdHIgdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1ibHUpICogMC41KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tYmx1KSAqIDAuNSk7XG59XG4jdmlldy1mb250LWVkaXQgI3NldHRpbmdzLXBhbmVsICNxdWV1ZS1saXN0IHRyIHRoOm50aC1jaGlsZCgzKSB7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbiN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtcGFuZWwgI3F1ZXVlLWxpc3QgdHI6bm90KDpudGgtY2hpbGQoMSkpOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ0ctMDkzKTtcbn1cbiN2aWV3LWZvbnQtZWRpdCAjc2V0dGluZ3MtcGFuZWwgI3F1ZXVlLWxpc3QgdHI6bm90KDpudGgtY2hpbGQoMSkpOmhvdmVyIGlucHV0IHtcbiAgY29sb3I6IHZhcigtLUNGLVJFRCk7XG59XG4jdmlldy1mb250LWVkaXQgI3NldHRpbmdzLXBhbmVsICNxdWV1ZS1saXN0IHRyOm5vdCg6bnRoLWNoaWxkKDEpKTpob3ZlciBpbnB1dDpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1DT0wtVEUpO1xufVxuXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi8qIExvZ2luICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiN2aWV3LWxvZ2luICNuYXZpLWNvbnRhaW5lciAjbmF2aS1zYXZlLCAjdmlldy1sb2dpbiAjbmF2aS1jb250YWluZXIgI25hdmktc2VhciwgI3ZpZXctbG9naW4gI25hdmktY29udGFpbmVyICNuYXZpLWxvZ2kge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi8qIFByb2ZpbGUgKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuI3ZpZXctcHJvZmlsZSB7XG4gIC0tdHJhbnNEdXI6IDAuNXM7XG59XG4jdmlldy1wcm9maWxlICNuYXZpLWNvbnRhaW5lciAjbmF2aS1zYXZlLCAjdmlldy1wcm9maWxlICNuYXZpLWNvbnRhaW5lciAjbmF2aS1zZWFyLCAjdmlldy1wcm9maWxlICNuYXZpLWNvbnRhaW5lciAjbmF2aS1sb2dpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiN2aWV3LXByb2ZpbGUgI3Byb2ZpbGUtbmF2aS1jb250YWluZXIge1xuICBib3JkZXItbGVmdDogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbiAgd2lkdGg6IGNhbGMoMzcuNSUgKyB2YXIoLS1saW5lKSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10cmFuc0R1cik7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cbiN2aWV3LXByb2ZpbGUgI3Byb2ZpbGUtY29udGFpbmVyIHtcbiAgLS1jb2xXaWR0aDogY2FsYygxMDB2dyAvIDggKiAyKTtcbiAgLS1uYXZIZWlnaHQ6IGNhbGMoKHZhcigtLWJsdSkgKiAyKSArICh2YXIoLS1wLWZzKSAqIDEpKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tbmF2aS1vdXRlcikpO1xuICB3aWR0aDogMTAwdnc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4jdmlldy1wcm9maWxlICNwcm9maWxlLWNvbnRhaW5lciAucHJvZmlsZS1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbiN2aWV3LXByb2ZpbGUgI3Byb2ZpbGUtY29udGFpbmVyIC5wcm9maWxlLWdyaWQgLnVzZXItY29sdW1uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA2Mi41dnc7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xufVxuI3ZpZXctcHJvZmlsZSAjcHJvZmlsZS1jb250YWluZXIgLnByb2ZpbGUtZ3JpZCAudXNlci1jb2x1bW4gLnVzZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDYyLjV2dztcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBhdXRvO1xufVxuI3ZpZXctcHJvZmlsZSAjcHJvZmlsZS1jb250YWluZXIgLnByb2ZpbGUtZ3JpZCAudXNlci1jb2x1bW4gLnVzZXItY29udGFpbmVyIC51c2VyLW5hbWUge1xuICBib3JkZXItYm90dG9tOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DT0wtVEUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jdmlldy1wcm9maWxlICNwcm9maWxlLWNvbnRhaW5lciAucHJvZmlsZS1ncmlkIC51c2VyLWNvbHVtbiAudXNlci1jb250YWluZXIgLnVzZXItbmFtZSBzcGFuIHtcbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLWJsdSkgKiAxMCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4jdmlldy1wcm9maWxlICNwcm9maWxlLWNvbnRhaW5lciAucHJvZmlsZS1ncmlkIC51c2VyLWNvbHVtbiAudXNlci1jb250YWluZXIgLnVzZXItZGV0YWlscyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWJsdSkgKiAxKTtcbn1cbiN2aWV3LXByb2ZpbGUgI3Byb2ZpbGUtY29udGFpbmVyIC5wcm9maWxlLWdyaWQgLnVzZXItY29sdW1uIC51c2VyLWNvbnRhaW5lciAudXNlci1kZXRhaWxzIC51c2VyLWl0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tYmx1KSAqIDEpO1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1ibHUpICogMSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4jdmlldy1wcm9maWxlICNwcm9maWxlLWNvbnRhaW5lciAucHJvZmlsZS1ncmlkIC51c2VyLWNvbHVtbiAudXNlci1jb250YWluZXIgLnVzZXItZGV0YWlscyAudXNlci1pdGVtIC50aXRsZSAuZWRpdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHZhcigtLUNGLVJFRCk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWJsdSkgKiAxKTtcbn1cbiN2aWV3LXByb2ZpbGUgI3Byb2ZpbGUtY29udGFpbmVyIC5wcm9maWxlLWdyaWQgLnVzZXItY29sdW1uIC51c2VyLWNvbnRhaW5lciAudXNlci1kZXRhaWxzIC51c2VyLWl0ZW0gLnRpdGxlIC5lZGl0OmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLUNPTC1URSk7XG59XG4jdmlldy1wcm9maWxlICNwcm9maWxlLWNvbnRhaW5lciAucHJvZmlsZS1ncmlkIC51c2VyLWNvbHVtbiAudXNlci1jb250YWluZXIgLnVzZXItZGV0YWlscyAudXNlci1pdGVtID4gLmNvbnRlbnQge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiN2aWV3LXByb2ZpbGUgI3Byb2ZpbGUtY29udGFpbmVyIC5wcm9maWxlLWdyaWQgLnVzZXItY29sdW1uIC51c2VyLWNvbnRhaW5lciAudXNlci1kZXRhaWxzIC51c2VyLWl0ZW0gLm92ZXJsYXkgLnBvcHVwLWNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDIwMDtcbn1cbiN2aWV3LXByb2ZpbGUgI3Byb2ZpbGUtY29udGFpbmVyIC5wcm9maWxlLWdyaWQgLnVzZXItY29sdW1uIC51c2VyLWNvbnRhaW5lciAudXNlci1kZXRhaWxzIC51c2VyLWl0ZW0gLm92ZXJsYXkgLnBvcHVwLWNvbnRhaW5lciBmb3JtIHNlbGVjdCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICBmb250LWZhbWlseTogdmFyKC0tdW5pdmVycyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDEtZnMpO1xuICBsaW5lLWhlaWdodDogdmFyKC0taDEtbGgpO1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWgxLWZzKSAqIDAuMTUpO1xuICBoZWlnaHQ6IHZhcigtLW5hdmktb3V0ZXIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRy0wOTMpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jdmlldy1wcm9maWxlICNwcm9maWxlLWNvbnRhaW5lciAucHJvZmlsZS1ncmlkIC51c2VyLWNvbHVtbiAudXNlci1jb250YWluZXIgLnVzZXItZGV0YWlscyAudXNlci1pdGVtIC5vdmVybGF5IC5wb3B1cC1jb250YWluZXIgZm9ybSBzZWxlY3Qgb3B0aW9uIHtcbiAgZm9udC1zaXplOiB2YXIoLS1wLWZzKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXAtbGgpO1xufVxuI3ZpZXctcHJvZmlsZSAjcHJvZmlsZS1jb250YWluZXIgLnByb2ZpbGUtZ3JpZCAudXNlci1jb2x1bW4gLnVzZXItY29udGFpbmVyIC51c2VyLWRldGFpbHMgLnVzZXItaXRlbSAub3ZlcmxheSAucG9wdXAtY29udGFpbmVyIGZvcm0gc2VsZWN0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ0ctMTAwKTtcbn1cbiN2aWV3LXByb2ZpbGUgI3Byb2ZpbGUtY29udGFpbmVyIC5wcm9maWxlLWdyaWQgLnVzZXItY29sdW1uIC51c2VyLWNvbnRhaW5lciAudXNlci1kZXRhaWxzIC51c2VyLWl0ZW0gLm92ZXJsYXkub3BlbiAucG9wdXAtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jdmlldy1wcm9maWxlICNwcm9maWxlLWNvbnRhaW5lciAucHJvZmlsZS1ncmlkIC51c2VyLWNvbHVtbiAudXNlci1jb250YWluZXIgLnVzZXItZGV0YWlscyAudXNlci1pdGVtOmhvdmVyIC50aXRsZSAuZWRpdCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbiN2aWV3LXByb2ZpbGUgI3Byb2ZpbGUtY29udGFpbmVyIC5wcm9maWxlLWdyaWQgLmNvbGxlY3Rpb24tY29sdW1uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI3ZpZXctcHJvZmlsZSAjcHJvZmlsZS1jb250YWluZXIgLnByb2ZpbGUtZ3JpZCAuY29sbGVjdGlvbi1jb2x1bW4gLmxpYnJhcnktY29udGFpbmVyIHtcbiAgd2lkdGg6IHZhcigtLWNvbFdpZHRoKTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tbmF2aS1vdXRlcikgKyB2YXIoLS1uYXZIZWlnaHQpIC0gdmFyKC0tYmx1KSAqIDAuMTUpO1xufVxuI3ZpZXctcHJvZmlsZSAjcHJvZmlsZS1jb250YWluZXIgLnByb2ZpbGUtZ3JpZCAuY29sbGVjdGlvbi1jb2x1bW4gLmxpYnJhcnktY29udGFpbmVyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWNvbFdpZHRoKSAtIHZhcigtLWxpbmUpKTtcbn1cbiN2aWV3LXByb2ZpbGUgI3Byb2ZpbGUtY29udGFpbmVyIC5wcm9maWxlLWdyaWQgLmNvbGxlY3Rpb24tY29sdW1uIC5saWJyYXJ5LWNvbnRhaW5lciAubGlicmFyeS1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuI3ZpZXctcHJvZmlsZSAjcHJvZmlsZS1jb250YWluZXIgLnByb2ZpbGUtZ3JpZCAuY29sbGVjdGlvbi1jb2x1bW4gLmxpYnJhcnktY29udGFpbmVyIC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DT0wtSEkpO1xufVxuI3ZpZXctcHJvZmlsZSAjcHJvZmlsZS1jb250YWluZXIgLnByb2ZpbGUtZ3JpZCAuY29sbGVjdGlvbi1jb2x1bW4gLmxpYnJhcnktY29udGFpbmVyIC5hY3RpdmUgPiAubGlicmFyeS1jb250YWluZXIge1xuICBkaXNwbGF5OiB1bnNldDtcbn1cbiN2aWV3LXByb2ZpbGUgI3Byb2ZpbGUtY29udGFpbmVyIC5wcm9maWxlLWdyaWQgLmNvbGxlY3Rpb24tY29sdW1uIC5saWJyYXJ5LWNvbnRhaW5lciAuaGVhZGVyLCAjdmlldy1wcm9maWxlICNwcm9maWxlLWNvbnRhaW5lciAucHJvZmlsZS1ncmlkIC5jb2xsZWN0aW9uLWNvbHVtbiAubGlicmFyeS1jb250YWluZXIgLmZvb3RlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IGNhbGModmFyKC0tY29sV2lkdGgpIC0gdmFyKC0tbGluZSkpO1xuICBoZWlnaHQ6IHZhcigtLW5hdkhlaWdodCk7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DT0wtQkcpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWJsdSkgKiAxKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4jdmlldy1wcm9maWxlICNwcm9maWxlLWNvbnRhaW5lciAucHJvZmlsZS1ncmlkIC5jb2xsZWN0aW9uLWNvbHVtbiAubGlicmFyeS1jb250YWluZXIgLmhlYWRlciB7XG4gIHRvcDogdmFyKC0tbmF2aS1vdXRlcik7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNPTC1URSk7XG59XG4jdmlldy1wcm9maWxlICNwcm9maWxlLWNvbnRhaW5lciAucHJvZmlsZS1ncmlkIC5jb2xsZWN0aW9uLWNvbHVtbiAubGlicmFyeS1jb250YWluZXIgLmZvb3RlciB7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXRvcDogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdmFyKC0tQ09MLUhPKTtcbn1cbiN2aWV3LXByb2ZpbGUgI3Byb2ZpbGUtY29udGFpbmVyIC5wcm9maWxlLWdyaWQgLmNvbGxlY3Rpb24tY29sdW1uIC5saWJyYXJ5LWNvbnRhaW5lciAuZm9vdGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ09MLUhJKTtcbiAgY29sb3I6IHZhcigtLUNPTC1URSk7XG59XG4jdmlldy1wcm9maWxlICNwcm9maWxlLWNvbnRhaW5lciAucHJvZmlsZS1ncmlkIC5jb2xsZWN0aW9uLWNvbHVtbiAubGlicmFyeS1jb250YWluZXIgLmJsb2NrIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ09MLVRFKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI3ZpZXctcHJvZmlsZSAjcHJvZmlsZS1jb250YWluZXIgLnByb2ZpbGUtZ3JpZCAuY29sbGVjdGlvbi1jb2x1bW4gLmxpYnJhcnktY29udGFpbmVyIC5ibG9jayAubmFtZSxcbiN2aWV3LXByb2ZpbGUgI3Byb2ZpbGUtY29udGFpbmVyIC5wcm9maWxlLWdyaWQgLmNvbGxlY3Rpb24tY29sdW1uIC5saWJyYXJ5LWNvbnRhaW5lciAuYmxvY2sgLnNwZWNzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiB2YXIoLS1jb2xXaWR0aCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuI3ZpZXctcHJvZmlsZSAjcHJvZmlsZS1jb250YWluZXIgLnByb2ZpbGUtZ3JpZCAuY29sbGVjdGlvbi1jb2x1bW4gLmxpYnJhcnktY29udGFpbmVyIC5ibG9jazpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNPTC1ISSk7XG59XG4jdmlldy1wcm9maWxlICNwcm9maWxlLWNvbnRhaW5lciAucHJvZmlsZS1ncmlkIC5jb2xsZWN0aW9uLWNvbHVtbiAubGlicmFyeS1jb250YWluZXIuY29sbGVjdGlvbnMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwO1xufVxuI3ZpZXctcHJvZmlsZVtwcm9maWxlPXN0YXJ0XSAjcHJvZmlsZS1uYXZpLWNvbnRhaW5lciAubmF2aS1zdWIucHJvZmlsZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogdmFyKC0tQ09MLUFDKTtcbn1cbiN2aWV3LXByb2ZpbGVbcHJvZmlsZT1saWJyYXJ5XSAjcHJvZmlsZS1uYXZpLWNvbnRhaW5lciB7XG4gIHdpZHRoOiBjYWxjKDUwJSArIHZhcigtLWxpbmUpKTtcbn1cblxuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4vKiBTYXZlZCBGb250cyAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4jc2F2ZWQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvZ2dsZS1zYXZlZC1mb250czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJTaG93IFwiO1xufVxuXG4uc2F2ZWQtbGlzdDpub3QoI3ZpZXctY29tcGFzcyAuc2F2ZWQtbGlzdCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogdmFyKC0tbmF2aS1vdXRlcik7XG4gIGxlZnQ6IDA7XG4gIC8qIGhlaWdodDogY2FsYygxMDAlIC0gKHZhcigtLW5hdmktb3V0ZXIpKjMpKTsgVGVtcC4gY2hhbmdlIHVudGlsIFwicHJpbnRcIiByZXR1cm4gKi9cbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1uYXZpLW91dGVyKSAqIDIpO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tYmx1KTtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLnNhdmVkLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiB2YXIoLS1uYXZpLW91dGVyKTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ0ctMDAwKTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tYmx1KTtcbn1cblxuLnNhdmVkLXN1Yi1uYXZpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNhdmVkLXN1Yi1uYXZpIC5zdWItbmF2IHtcbiAgcGFkZGluZzogdmFyKC0tYmx1KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItdG9wOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DRy0wMDApO1xuICBoZWlnaHQ6IHZhcigtLW5hdmktb3V0ZXIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc2F2ZWQtc3ViLW5hdmkgLnN1Yi1uYXY6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRy0wNTcpO1xufVxuXG4uc2F2ZWQtZm9udCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWJsdSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zYXZlZC1mb250IC5zZi1yZW1vdmUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHZhcigtLUNGLVJFRCk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xufVxuLnNhdmVkLWZvbnQgLnNmLXJlbW92ZTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1DRy0wMDApO1xufVxuXG4uc2F2ZWQtZm9udDpob3ZlciAuc2YtcmVtb3ZlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5zYXZlZC1mb250OmhvdmVyICo6bm90KC5zZi1yZW1vdmUpIHtcbiAgY29sb3I6IHZhcigtLUNHLTA1Nyk7XG59XG5cbi5zZi1ub25lLW1lc3NhZ2Uge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogdmFyKC0tbmF2aS1vdXRlcik7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IHZhcigtLWJsdSk7XG59XG4uc2Ytbm9uZS1tZXNzYWdlIGg5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLW4tbGgpO1xufVxuXG5ib2R5Om5vdCgjdmlldy1jb21wYXNzKSAuc2Ytbm9uZS1tZXNzYWdlLnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuI3ZpZXctY29tcGFzcyAjc2F2ZWQtY29udGFpbmVyIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLW5hdmktb3V0ZXIpKTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuI3ZpZXctY29tcGFzcyAjc2F2ZWQtY29udGFpbmVyIC5zYXZlZC1mb250IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgei1pbmRleDogNDAwO1xuICB3aWR0aDogdmFyKC0tYmx1KTtcbiAgaGVpZ2h0OiB2YXIoLS1ibHUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDQwMDtcbn1cbiN2aWV3LWNvbXBhc3MgI3NhdmVkLWNvbnRhaW5lciAuc2F2ZWQtZm9udCAuc2YtZmFtaWx5IHtcbiAgY29sb3I6IHZhcigtLUNHLTEwMCk7XG59XG4jdmlldy1jb21wYXNzICNzYXZlZC1jb250YWluZXIgLnNhdmVkLWZvbnQgLnNmLWZvdW5kcnkge1xuICBkaXNwbGF5OiBub25lO1xufVxuI3ZpZXctY29tcGFzcyAjc2F2ZWQtY29udGFpbmVyIC5zYXZlZC1mb250IC5zZi1yZW1vdmUge1xuICB0b3A6IGNhbGModmFyKC0tYmx1KSAqIDEpO1xuICBjb2xvcjogdmFyKC0tQ0YtUklOKTtcbn1cbiN2aWV3LWNvbXBhc3MgI3NhdmVkLWNvbnRhaW5lciAuc2F2ZWQtZm9udCAuc2YtcmVtb3ZlOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLUNHLTEwMCk7XG59XG4jdmlldy1jb21wYXNzICNzYXZlZC1jb250YWluZXIgLnNhdmVkLWZvbnQgKiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZm9udC1zaXplOiB2YXIoLS1uLWZzKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLW4tbGgpO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIGhlaWdodDogbWF4LWNvbnRlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tYmx1KSAqIDAuMik7XG59XG4jdmlldy1jb21wYXNzICNzYXZlZC1jb250YWluZXIgLnNhdmVkLWZvbnQubGVmdCAqIHtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWJsdSkgKiAxLjUpO1xuICBsZWZ0OiAwO1xufVxuI3ZpZXctY29tcGFzcyAjc2F2ZWQtY29udGFpbmVyIC5zYXZlZC1mb250LnJpZ2h0ICoge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJsdSkgKiAxLjUpO1xuICByaWdodDogMDtcbn1cbiN2aWV3LWNvbXBhc3MgI3NhdmVkLWNvbnRhaW5lciAuc2F2ZWQtZm9udDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiB2YXIoLS1ibHUpO1xuICBoZWlnaHQ6IHZhcigtLWJsdSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNGLVJFRCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTAwdmg7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbiN2aWV3LWNvbXBhc3MgI3NhdmVkLWNvbnRhaW5lciAuc2F2ZWQtZm9udDpob3ZlciB7XG4gIG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlO1xufVxuI3ZpZXctY29tcGFzcyAjc2F2ZWQtY29udGFpbmVyIC5zYXZlZC1mb250OmhvdmVyICoge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuI3ZpZXctY29tcGFzcyAjc2F2ZWQtY29udGFpbmVyIC5zYXZlZC1mb250OmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRy0xMDApO1xufVxuI3ZpZXctY29tcGFzcyAuc2F2ZWQtaGVhZGVyLFxuI3ZpZXctY29tcGFzcyAuc2F2ZWQtc3ViLW5hdmkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbmJvZHlbc2F2ZWQ9b3Blbl0gI2NvbGxlY3Rpb24tbmF2aS1jb250YWluZXIge1xuICByaWdodDogdmFyKC0td2ktc2F2ZWQpO1xuICB3aWR0aDogY2FsYyg1MCUgLSB2YXIoLS13aS1zYXZlZCkgLyAyKTtcbn1cbmJvZHlbc2F2ZWQ9b3Blbl0gI2NvbGxlY3Rpb24taGVhZGVyLWNvbnRhaW5lcixcbmJvZHlbc2F2ZWQ9b3Blbl0gI2NvbGxlY3Rpb24tb3ZlcnZpZXctY29udGFpbmVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXdpLXNhdmVkKSk7XG59XG5ib2R5W3NhdmVkPW9wZW5dICNjb2xsZWN0aW9uLWJ1eS1jb250YWluZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0td2ktc2F2ZWQpKTtcbn1cbmJvZHlbc2F2ZWQ9b3Blbl0gI2NvbGxlY3Rpb24tYnV5LWNvbnRhaW5lciBoMSB7XG4gIGZvbnQtc2l6ZTogMTcuOHZ3O1xuICBtYXJnaW4tbGVmdDogY2FsYygwcHggLSAxLjJ2dyk7XG4gIG1hcmdpbi10b3A6IGNhbGMoMHB4IC0gMC41dncpO1xufVxuYm9keVtzYXZlZD1vcGVuXSAjc2V0dGluZ3MtY29udGFpbmVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXdpLXNhdmVkKSk7XG59XG5ib2R5W3NhdmVkPW9wZW5dICNyZXR1cm4tYnRuIHtcbiAgcmlnaHQ6IGNhbGModmFyKC0td2ktc2V0dGluZ3MpICsgdmFyKC0td2ktc2F2ZWQpKTtcbn1cbmJvZHlbc2F2ZWQ9b3Blbl0gI3BhcmFtZXRlci1uYXZpLWNvbnRhaW5lciB7XG4gIHJpZ2h0OiB2YXIoLS13aS1zYXZlZCk7XG59XG5ib2R5W3NhdmVkPW9wZW5dICNzZWFyY2gtbmF2aS1jb250YWluZXIge1xuICByaWdodDogdmFyKC0td2ktc2F2ZWQpO1xuICB3aWR0aDogY2FsYyg1MCUgKyB2YXIoLS1saW5lKSAqIDAuNSAtIHZhcigtLXdpLXNhdmVkKSAqIDAuNSk7XG59XG5ib2R5W3NhdmVkPW9wZW5dICNyZXN1bHRzLWNvbnRhaW5lciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS13aS1zYXZlZCkpO1xufVxuYm9keVtzYXZlZD1vcGVuXSAjcmVsYXRlZC1mb250cy1jb250YWluZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0td2ktc2F2ZWQpKTtcbn1cbmJvZHlbc2F2ZWQ9b3Blbl0gI3JlbGF0ZWQtbmF2aS1jb250YWluZXIge1xuICByaWdodDogdmFyKC0td2ktc2F2ZWQpO1xuICB3aWR0aDogdmFyKC0td2ktc2V0dGluZ3MpO1xufVxuYm9keVtzYXZlZD1vcGVuXSAudG9nZ2xlLXNhdmVkLWZvbnRzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIkhpZGUgXCI7XG59XG5cbmJvZHlbc2F2ZWQ9b3Blbl0ucmVsYXRlZC1vcGVuICNyZWxhdGVkLW5hdmktY29udGFpbmVyIHtcbiAgcmlnaHQ6IHZhcigtLXdpLXNhdmVkKTtcbiAgd2lkdGg6IGNhbGModmFyKC0td2ktcmVsYXRlZCkgLSB2YXIoLS13aS1zYXZlZCkgLyAyKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbmJvZHlbc2F2ZWQ9b3Blbl0ucmVsYXRlZC1vcGVuICNyZXR1cm4tYnRuIHtcbiAgcmlnaHQ6IGNhbGModmFyKC0td2ktcmVsYXRlZCkgKyB2YXIoLS13aS1zYXZlZCkgLyAyKTtcbn1cbmJvZHlbc2F2ZWQ9b3Blbl0ucmVsYXRlZC1vcGVuICNwYXJhbWV0ZXItbmF2aS1jb250YWluZXIge1xuICByaWdodDogY2FsYyh2YXIoLS13aS1yZWxhdGVkKSArIHZhcigtLXdpLXNhdmVkKSAvIDIgLSB2YXIoLS13aS1zZXR0aW5ncykpO1xufVxuXG5ib2R5W3NhdmVkPW9wZW5dI3ZpZXctZm9udC1zZXR0aW5ncyAjc2VsZWN0LXNhbXBsZS1jb250YWluZXIge1xuICByaWdodDogY2FsYyh2YXIoLS13aS1zZXR0aW5ncykgKyB2YXIoLS13aS1zYXZlZCkpO1xufVxuXG5ib2R5W3NhdmVkPW9wZW5dLnJlbGF0ZWQtb3BlbiN2aWV3LWZvbnQtc2V0dGluZ3MgI3NlbGVjdC1zYW1wbGUtY29udGFpbmVyIHtcbiAgcmlnaHQ6IGNhbGModmFyKC0td2ktcmVsYXRlZCkgKyB2YXIoLS13aS1zYXZlZCkgLyAyKTtcbn1cblxuYm9keTpub3QoI3ZpZXctY29tcGFzcylbc2F2ZWQ9b3Blbl0gI3NhdmVkLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiB2YXIoLS13aS1zYXZlZCk7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DRy0wMDApO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRy0wMzMpO1xuICB6LWluZGV4OiA2MDA7XG59XG5cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogT3ZlcmxheXMgKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDYwMDtcbn1cbi5vdmVybGF5IC5vdmVybGF5LWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiA5MDA7XG59XG4ub3ZlcmxheSAub3ZlcmxheS1jb250ZW50IC50aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNHLTAwMCk7XG4gIGhlaWdodDogdmFyKC0tbmF2aS1vdXRlcik7XG4gIHBhZGRpbmc6IHZhcigtLWJsdSk7XG4gIHotaW5kZXg6IDEwMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5vdmVybGF5Lm9wZW4sXG4jc2VhcmNoLWNvbnRhaW5lcixcbiNsb2dpbi1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHotaW5kZXg6IDkwMDtcbn1cblxuLm92ZXJsYXkub3BlbiAub3ZlcmxheS1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ub3ZlcmxheS5vcGVuIC5pbmZvLW9wZW4tYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jbG9zZS1vdmVybGF5LWFyZWEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTAwO1xufVxuXG4jbG9naW4tc3RhcnQuaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFBvcHVwcyAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4ucG9wdXAtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ0ctMDkzKTtcbiAgYm9yZGVyOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DRy0wMDApO1xuICB3aWR0aDogODAlO1xuICBtYXgtd2lkdGg6IGNhbGModmFyKC0tYmx1KSAqIDU1KTtcbn1cbi5wb3B1cC1jb250YWluZXIuZ3JlZW4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRi1HUkUpO1xufVxuLnBvcHVwLWNvbnRhaW5lci5ncmVlbiAuaGVhZGVyIC5jbG9zZTpob3ZlciBoMSB7XG4gIGNvbG9yOiB2YXIoLS1DRy0wMDApO1xuICBvcGFjaXR5OiAwLjU7XG59XG4ucG9wdXAtY29udGFpbmVyIC5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DRy0wMDApO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWF4LWNvbnRlbnQ7XG4gIGhlaWdodDogdmFyKC0tbmF2aS1vdXRlcik7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucG9wdXAtY29udGFpbmVyIC5oZWFkZXIgLnRpdGxlLFxuLnBvcHVwLWNvbnRhaW5lciAuaGVhZGVyIC5jbG9zZSB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tYmx1KSAqIDEpO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi5wb3B1cC1jb250YWluZXIgLmhlYWRlciAuY2xvc2Uge1xuICBib3JkZXItbGVmdDogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ0ctMDAwKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnBvcHVwLWNvbnRhaW5lciAuaGVhZGVyIC5jbG9zZTpob3ZlciBoMSB7XG4gIGNvbG9yOiB2YXIoLS1DRy0wNjkpO1xufVxuLnBvcHVwLWNvbnRhaW5lciAuY29udGVudCB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tYmx1KSAqIDEpO1xufVxuLnBvcHVwLWNvbnRhaW5lciAuZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ0ctMDAwKTtcbn1cbi5wb3B1cC1jb250YWluZXIgLmZvb3RlciBmb3JtIGlucHV0IHtcbiAgYm9yZGVyOiBub25lO1xufVxuLnBvcHVwLWNvbnRhaW5lciAuZm9vdGVyIGZvcm0gaW5wdXQ6bm90KC5jaXJjLWJ0bikge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLnBvcHVwLWNvbnRhaW5lciAuZm9vdGVyIGZvcm0gLmZvcm0tc3VibWl0IHtcbiAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cbi5wb3B1cC1jb250YWluZXIgLmZvb3RlciBmb3JtLmdyaWQtZm9ybSB7XG4gIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ0ctMDAwKTtcbiAgZ3JpZC1nYXA6IHZhcigtLWxpbmUpO1xufVxuLnBvcHVwLWNvbnRhaW5lciAuZm9vdGVyIGZvcm0uZ3JpZC1mb3JtIGlucHV0Om5vdCguaGFsZikge1xuICBncmlkLWNvbHVtbjogc3BhbiAyO1xufVxuLnBvcHVwLWNvbnRhaW5lciAuZm9vdGVyIGZvcm0uZ3JpZC1mb3JtIGlucHV0LmZvcm0tdGV4dFt0eXBlPXN1Ym1pdF0ge1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1oMS1mcykgKiAwLjIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRy0wNjkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucG9wdXAtY29udGFpbmVyIC5mb290ZXIgZm9ybS5ncmlkLWZvcm0gaW5wdXQuZm9ybS10ZXh0W3R5cGU9c3VibWl0XTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNGLUdSRSk7XG59XG4ucG9wdXAtY29udGFpbmVyLm9wZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogT3ZlcmxheSDigJMgU2VhcmNoICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiNzZWFyY2gtY29udGFpbmVyLFxuI2xvZ2luLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jc2VhcmNoLWNvbnRhaW5lciBmb3JtLFxuI2xvZ2luLWNvbnRhaW5lciBmb3JtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4jc2VhcmNoLWNvbnRhaW5lci5vcGVuLFxuI2xvZ2luLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbiNsb2dpbi1jb250YWluZXIge1xuICB6LWluZGV4OiAwO1xufVxuI2xvZ2luLWNvbnRhaW5lciBmb3JtIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI2xvZ2luLWNvbnRhaW5lciBmb3JtIGlucHV0IHtcbiAgbWFyZ2luLXRvcDogY2FsYygwcHggLSB2YXIoLS1saW5lKSk7XG59XG4jbG9naW4tY29udGFpbmVyIGZvcm0gLmZvcm0tc3VibWl0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAxMCU7XG4gIG1hcmdpbjogdmFyKC0tYmx1KTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4jdmlldy1jb21wYXNzICNzZWFyY2gtY29udGFpbmVyIGZvcm0ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1uYXZpLW91dGVyKTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0taDEtZnMpO1xuICBsaW5lLWhlaWdodDogdmFyKC0taDEtbGgpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBib3JkZXI6IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNHLTAwMCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiB2YXIoLS1uYXZpLW91dGVyKTtcbiAgd2lkdGg6IDgwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ0ctMDkzKTtcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0taDEtZnMpICogMC4yNSk7XG59XG5cbi5mb3JtLXRleHQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRy0xMDApO1xufVxuXG4uZm9ybS10ZXh0OjpwbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiB2YXIoLS1DRy0wNjkpO1xufVxuXG4uZm9ybS10ZXh0OmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1DRy0wOTMpO1xufVxuXG4uZm9ybS1zdWJtaXQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwcHggLSAxMDAlIC0gdmFyKC0tYmx1KSAqIDIpKSByb3RhdGUoOTBkZWcpO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJncmFwaGljcy9jaXJjLWFyci5zdmdcIik7XG59XG5cbi5mb3JtLXRleHQgKyAuZm9ybS1zdWJtaXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1DRy0xMDApO1xufVxuXG4uZm9ybS10ZXh0OmZvY3VzICsgLmZvcm0tc3VibWl0OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tQ0ctMDkzKTtcbn1cblxuZGl2W3JvbGU9c3RhdHVzXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi51aS1hdXRvY29tcGxldGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRy0wOTMpO1xuICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ0ctMDAwKTtcbiAgYm9yZGVyLXRvcDogMDtcbiAgei1pbmRleDogOTAwO1xufVxuLnVpLWF1dG9jb21wbGV0ZSBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWJsdSkgKiAwLjUpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DRy0wMDApO1xuICBmb250LXNpemU6IHZhcigtLXAtZnMpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tcC1saCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi51aS1hdXRvY29tcGxldGUgbGk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRy0xMDApO1xufVxuXG4vKiBPdmVybGF5IOKAkyBJbmZvICovXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi5pbmZvLW9wZW4tYnRuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IHZhcigtLW5hdmktaW5uZXIpO1xuICB3aWR0aDogdmFyKC0tbmF2aS1pbm5lcik7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdXJsKFwiZ3JhcGhpY3MvY2lyYy1pbmYuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMTAwdmg7XG4gIG1hcmdpbjogdmFyKC0tYmx1KTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogNjAwO1xufVxuXG4uaW5mbyAub3ZlcmxheS1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYyh2YXIoLS1ibHUpICogNTApO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRy0wOTMpO1xuICBib3JkZXI6IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNHLTAwMCk7XG59XG5cbi5pbmZvLW5leHQtYnRuLFxuLmluZm8tcHJldi1idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiB2YXIoLS1uYXZpLWlubmVyKTtcbiAgd2lkdGg6IHZhcigtLW5hdmktaW5uZXIpO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJncmFwaGljcy9jaXJjLWluZi5zdmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiAxMDB2aDtcbiAgbWFyZ2luOiB2YXIoLS1ibHUpO1xuICB6LWluZGV4OiAyMDA7XG59XG5cbi5pbmZvLW5leHQtYnRuIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiZ3JhcGhpY3MvY2lyYy1uZXguc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gIHJpZ2h0OiAwO1xufVxuXG4uaW5mby1wcmV2LWJ0biB7XG4gIGJhY2tncm91bmQ6IHVybChcImdyYXBoaWNzL2NpcmMtcHJlLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyO1xuICByaWdodDogY2FsYygodmFyKC0tbmF2aS1pbm5lcikgKyB2YXIoLS1ibHUpKSAqIDEpO1xufVxuXG4ubGFzdCAuaW5mby1uZXh0LWJ0bixcbi5maXJzdCAuaW5mby1wcmV2LWJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5pbmZvLW5leHQtYnRuOmhvdmVyLFxuLmluZm8tcHJldi1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1DRy0xMDApO1xufVxuXG4uaW5mby1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tYmx1KSAqIDMwKTtcbn1cblxuLnNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IHZhcigtLWJsdSk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5zbGlkZSAuaW1hZ2Uge1xuICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tYmx1KSAqIDIpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogdmFyKC0tYmx1KTtcbiAgbGVmdDogdmFyKC0tYmx1KTtcbn1cbi5zbGlkZSAuaW1hZ2Ugc3ZnIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5zbGlkZS5hY3RpdmUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4vKiBPdmVybGF5IOKAkyBBY3RpdmUgKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLm92ZXJsYXktYWN0aXZlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ0ctMDMzKTtcbiAgY29sb3I6IHZhcigtLUNHLTAwMCk7XG59XG4ub3ZlcmxheS1hY3RpdmUgI25hdmktY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ0ctMDMzKTtcbiAgY29sb3I6IHZhcigtLUNHLTAwMCk7XG59XG4ub3ZlcmxheS1hY3RpdmUgI2NvbGwtb3ZlcnZpZXctbmF2aSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNHLTAzMyk7XG4gIGNvbG9yOiB2YXIoLS1DRy0wMDApO1xufVxuLm92ZXJsYXktYWN0aXZlICNjb2xsLW92ZXJ2aWV3LW5hdmkgLmZhbWlseS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRy0wMzMpO1xufVxuLm92ZXJsYXktYWN0aXZlICNjb21wYXNzLWNvbnRhaW5lciAubWFya2VyIHtcbiAgYm9yZGVyOiBzb2xpZCB2YXIoLS1saW5lKSB2YXIoLS1DRy0wMDApO1xuICBtaXgtYmxlbmQtbW9kZTogdW5zZXQ7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cbi5vdmVybGF5LWFjdGl2ZSAjY29tcGFzcy1jb250YWluZXIgLmJsb2NrZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG4ub3ZlcmxheS1hY3RpdmUgI3NhdmUtdGhpcy1mb250IHN2ZyAqIHtcbiAgZmlsbDogdmFyKC0tQ0ctMDE0KTtcbn1cbi5vdmVybGF5LWFjdGl2ZSAjaW5kZXgtbmF2aSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNHLTAzMyk7XG59XG4ub3ZlcmxheS1hY3RpdmUgI2Zvb3Rlci1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRy0wMzMpO1xufVxuXG4vKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbi8qIEZvb3RlciAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4jZm9vdGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tbmF2aS1vdXRlcikgKyB2YXIoLS1saW5lKSAqIDIpO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXRvcDogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ0ctMDAwKTtcbiAgcGFkZGluZzogdmFyKC0tYmx1KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tQ0YtUkVEKTtcbn1cbiNmb290ZXItY29udGFpbmVyICoge1xuICBjb2xvcjogdmFyKC0tQ0ctMDAwKTtcbn1cbiNmb290ZXItY29udGFpbmVyICNmb290ZXItaGVhZGVyIGgyIHtcbiAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLWJsdSkgKiA3MCk7XG59XG4jZm9vdGVyLWNvbnRhaW5lciAjZm9vdGVyLWhlYWRlciBwIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcC1saCk7XG59XG4jZm9vdGVyLWNvbnRhaW5lciAjZm9vdGVyLWZvb3RlciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiB2YXIoLS1ibHUpO1xuICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tYmx1KSAqIDIpO1xufVxuI2Zvb3Rlci1jb250YWluZXIgI2Zvb3Rlci1mb290ZXIgYTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1DRy0wMDApO1xuICBvcGFjaXR5OiAwLjU7XG59XG4jZm9vdGVyLWNvbnRhaW5lciAjZm9vdGVyLWZvb3RlciA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbn1cblxuI2RvbmF0ZS1idXR0b24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG4jZG9uYXRlLWJ1dHRvbi1jb250YWluZXIgI2RvbmF0ZS1idXR0b24gaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG59XG5cbiNkb25hdGUtYnV0dG9uLWNvbnRhaW5lcjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLnNlcGFyYXRvciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1ibHUpICogMik7XG4gIGxlZnQ6IGNhbGMoMHB4IC0gdmFyKC0tYmx1KSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ0ctMDAwKTtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1ibHUpICogNSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWJsdSk7XG59XG5cbiNmb290ZXItc2lnbnVwIHtcbiAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLWJsdSkgKiA3MCk7XG59XG4jZm9vdGVyLXNpZ251cCBpbnB1dFt0eXBlPWVtYWlsXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tcC1mcyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1wLWxoKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWJsdSkgKiAyKTtcbiAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1ibHUpICogMik7XG4gIHJlc2l6ZTogdmVydGljYWw7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2Utb3V0O1xufVxuI2Zvb3Rlci1zaWdudXAgaW5wdXRbdHlwZT1lbWFpbF06OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLUNHLTAwMCk7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbiNmb290ZXItc2lnbnVwIGlucHV0W3R5cGU9c3VibWl0XSxcbiNmb290ZXItc2lnbnVwIGlucHV0W3R5cGU9YnV0dG9uXSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZm9udC1zaXplOiB2YXIoLS1uLWZzKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLW4tbGgpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmJvZHlbc2F2ZWQ9b3Blbl06bm90KCN2aWV3LWluZm8pICNmb290ZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXdpLXNhdmVkKSk7XG59XG5cbiN2aWV3LXNpZ251cCAjbmF2aS1jb250YWluZXIsXG4uZm9vdGVyLWFjdGl2ZSAjbmF2aS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRi1SRUQpO1xufVxuI3ZpZXctc2lnbnVwICNuYXZpLWNvbnRhaW5lcixcbiN2aWV3LXNpZ251cCAjY29sbGVjdGlvbi1uYXZpLWNvbnRhaW5lcixcbi5mb290ZXItYWN0aXZlICNuYXZpLWNvbnRhaW5lcixcbi5mb290ZXItYWN0aXZlICNjb2xsZWN0aW9uLW5hdmktY29udGFpbmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1DRy0wMDApO1xuICBjb2xvcjogdmFyKC0tQ0ctMDAwKSAhaW1wb3J0YW50O1xufVxuI3ZpZXctc2lnbnVwICNuYXZpLWNvbnRhaW5lciAqLFxuI3ZpZXctc2lnbnVwICNjb2xsZWN0aW9uLW5hdmktY29udGFpbmVyICosXG4uZm9vdGVyLWFjdGl2ZSAjbmF2aS1jb250YWluZXIgKixcbi5mb290ZXItYWN0aXZlICNjb2xsZWN0aW9uLW5hdmktY29udGFpbmVyICoge1xuICBjb2xvcjogdmFyKC0tQ0ctMDAwKSAhaW1wb3J0YW50O1xufVxuI3ZpZXctc2lnbnVwICNyZXR1cm4tYnRuIC5hcnJvdy1jb250YWluZXI6OmJlZm9yZSxcbi5mb290ZXItYWN0aXZlICNyZXR1cm4tYnRuIC5hcnJvdy1jb250YWluZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNHLTAwMCk7XG59XG4jdmlldy1zaWdudXAgI3JldHVybi1idG4gLmFycm93LWNvbnRhaW5lcjo6YWZ0ZXIsXG4uZm9vdGVyLWFjdGl2ZSAjcmV0dXJuLWJ0biAuYXJyb3ctY29udGFpbmVyOjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tQ0ctMDAwKTtcbn1cbiN2aWV3LXNpZ251cCAjcmV0dXJuLWJ0bjpob3ZlciAuYXJyb3ctY29udGFpbmVyLFxuLmZvb3Rlci1hY3RpdmUgI3JldHVybi1idG46aG92ZXIgLmFycm93LWNvbnRhaW5lciB7XG4gIG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xufVxuI3ZpZXctc2lnbnVwICNyZXR1cm4tYnRuOmhvdmVyIC5hcnJvdy1jb250YWluZXI6OmJlZm9yZSxcbi5mb290ZXItYWN0aXZlICNyZXR1cm4tYnRuOmhvdmVyIC5hcnJvdy1jb250YWluZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNHLTAwMCk7XG59XG4jdmlldy1zaWdudXAgI3JldHVybi1idG46aG92ZXIgLmFycm93LWNvbnRhaW5lcjo6YWZ0ZXIsXG4uZm9vdGVyLWFjdGl2ZSAjcmV0dXJuLWJ0bjpob3ZlciAuYXJyb3ctY29udGFpbmVyOjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tQ0ctMDAwKTtcbn1cbiN2aWV3LXNpZ251cCAubmF2aS1zdWIsXG4jdmlldy1zaWdudXAgI25hdmktY29udGFpbmVyIDpob3ZlcixcbiN2aWV3LXNpZ251cCAjbmF2aS1jb250YWluZXIgKjpob3ZlcixcbiN2aWV3LXNpZ251cCAjbmF2aS1jb21wOmhvdmVyICosXG4jdmlldy1zaWdudXAgI3JldHVybi1idG46aG92ZXIgKixcbi5mb290ZXItYWN0aXZlIC5uYXZpLXN1Yixcbi5mb290ZXItYWN0aXZlICNuYXZpLWNvbnRhaW5lciA6aG92ZXIsXG4uZm9vdGVyLWFjdGl2ZSAjbmF2aS1jb250YWluZXIgKjpob3Zlcixcbi5mb290ZXItYWN0aXZlICNuYXZpLWNvbXA6aG92ZXIgKixcbi5mb290ZXItYWN0aXZlICNyZXR1cm4tYnRuOmhvdmVyICoge1xuICBjb2xvcjogdmFyKC0tQ0ctMDAwKSAhaW1wb3J0YW50O1xufVxuI3ZpZXctc2lnbnVwICNyZXR1cm4tYnRuOmhvdmVyOjphZnRlcixcbi5mb290ZXItYWN0aXZlICNyZXR1cm4tYnRuOmhvdmVyOjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tQ0ctMDAwKSAhaW1wb3J0YW50O1xufVxuI3ZpZXctc2lnbnVwIC5uYXZpLXN1Yjpob3ZlcixcbiN2aWV3LXNpZ251cCAjbmF2aS1jb21wOmhvdmVyLFxuI3ZpZXctc2lnbnVwICNyZXR1cm4tYnRuOmhvdmVyLFxuLmZvb3Rlci1hY3RpdmUgLm5hdmktc3ViOmhvdmVyLFxuLmZvb3Rlci1hY3RpdmUgI25hdmktY29tcDpob3Zlcixcbi5mb290ZXItYWN0aXZlICNyZXR1cm4tYnRuOmhvdmVyIHtcbiAgb3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG59XG5cbiN2aWV3LXNpZ251cCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNGLVJFRCk7XG59XG5cbiN2aWV3LWZvbnQtc2V0dGluZ3M6bm90KC5yZWxhdGVkLW9wZW4pICNmb290ZXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4vKiBNb2JpbGUgTWVzc2FnZSAqL1xuLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4jbW9iaWxlLW1lc3NhZ2Uge1xuICBkaXNwbGF5OiBub25lO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBhdXRvO1xuICBncmlkLWdhcDogdmFyKC0tbGluZSk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRy0wMDApO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG4jbW9iaWxlLW1lc3NhZ2UgPiBkaXYge1xuICBwYWRkaW5nOiB2YXIoLS1ibHUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1DRi1SRUQpO1xufVxuI21vYmlsZS1tZXNzYWdlIGgyIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLWJsdSk7XG59XG4jbW9iaWxlLW1lc3NhZ2UgLmNsb3NlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4jbW9iaWxlLW1lc3NhZ2UgLmNsb3NlIGJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogc29saWQgdmFyKC0tQ0ctMDAwKSB2YXIoLS1saW5lKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1ibHUpICogMSkgY2FsYyh2YXIoLS1ibHUpICogMikgY2FsYyh2YXIoLS1ibHUpICogMC4zKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1ibHUpICogMik7XG59XG4jbW9iaWxlLW1lc3NhZ2UgLmNsb3NlIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLUNHLTAwMCk7XG4gIGNvbG9yOiB2YXIoLS1DRi1SRUQpO1xufVxuI21vYmlsZS1tZXNzYWdlW292ZXJyaWRlPWNsb3NlXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICovXG4vKiBNZWRpYSAqL1xuLyogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuLyogMSAvIE1vYmlsZSAvIFhTIC8gKi9cbi8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuOnJvb3Qge1xuICAtLW1lZGlhOiBYUy1Nb2JpbGU7XG4gIC0tYmx1OiBjYWxjKHZhcigtLXNjcikqMTApO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAzNWVtKSB7XG4gIC8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuICAvKiAyIC8gVGFibGV0IC8gUyAvICovXG4gIC8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuICA6cm9vdCB7XG4gICAgLS1tZWRpYTogUy1UYWJsZXQ7XG4gICAgLS1ibHU6IGNhbGModmFyKC0tc2NyKSoxMik7XG4gIH1cbn1cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDU1ZW0pIHtcbiAgLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4gIC8qIDMgLyBMYXB0b3AgYW5kIFRhYmxldCAvIE0gLyAqL1xuICAvKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiAgOnJvb3Qge1xuICAgIC0tbWVkaWE6IE0tVGFibGV0LUxhcHRvcDtcbiAgICAtLWJsdTogY2FsYyh2YXIoLS1zY3IpKjE0KTtcbiAgfVxufVxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAvKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiAgLyogNCAvIExhcHRvcCAvIEwgLyAqL1xuICAvKiDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJMgKi9cbiAgOnJvb3Qge1xuICAgIC0tbWVkaWE6IEwtTGFwdG9wLURlc2t0b3A7XG4gICAgLS1ibHU6IGNhbGModmFyKC0tc2NyKSoxNik7XG4gIH1cbn1cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuICAvKiA1IC8gRGVza3RvcCAvIFhMIC8gKi9cbiAgLyog4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTICovXG4gIDpyb290IHtcbiAgICAtLW1lZGlhOiBYTC1EZXNrdG9wO1xuICAgIC0tYmx1OiBjYWxjKHZhcigtLXNjcikgKiAxOCk7XG4gIH1cblxuICAuc2V0dGluZ3MtbmF2aS1idG4ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taDEtZnMpO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWJsdSkgKiAzLjQpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cblxuICAjc2V0dGluZ3MtcHJldmlldy1uYXZpIHtcbiAgICBoZWlnaHQ6IHZhcigtLW5hdmktb3V0ZXIpO1xuICB9XG5cbiAgLnNldHRpbmdzLW5hdmktc2F2ZSB7XG4gICAgd2lkdGg6IHZhcigtLW5hdmktb3V0ZXIpO1xuICB9XG5cbiAgI3ZpZXctZm9udC1zZXR0aW5ncyAjc2V0dGluZ3MtcHJldmlldyAudHlwZS1zYW1wbGUtY29udGFpbmVyLCAjdmlldy1mb250LWVkaXQgI3NldHRpbmdzLXByZXZpZXcgLnR5cGUtc2FtcGxlLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1ibHUpICogNy40KTtcbiAgfVxuXG4gICNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXJbcGFyLXNlbGVjdD1zaW5nbGVdLm9kZCAub3B0aW9uIHtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIHZhcigtLWxpbmUpIHZhcigtLUNHLTAwMCk7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgdmFyKC0tbGluZSkgdmFyKC0tQ0ctMDAwKTtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgfVxuICAjYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyW3Bhci1zZWxlY3Q9c2luZ2xlXS5vZGQgLm9wdGlvbjpudGgtY2hpbGQoM24pIHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIH1cbiAgI2FjdGktcGFyYW1ldGVyLWNvbnRhaW5lciAucGFyYW1ldGVyLWNvbnRhaW5lcltwYXItc2VsZWN0PXNpbmdsZV0ub2RkIC5vcHRpb246bnRoLWNoaWxkKDNuKzEpOm50aC1sYXN0LWNoaWxkKC1uKzMpLCAjYWN0aS1wYXJhbWV0ZXItY29udGFpbmVyIC5wYXJhbWV0ZXItY29udGFpbmVyW3Bhci1zZWxlY3Q9c2luZ2xlXS5vZGQgLm9wdGlvbjpudGgtY2hpbGQoM24rMSk6bnRoLWxhc3QtY2hpbGQoLW4rMykgfiAub3B0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG4gICNhY3RpLXBhcmFtZXRlci1jb250YWluZXIgLnBhcmFtZXRlci1jb250YWluZXJbcGFyLXNlbGVjdD1zaW5nbGVdLm9kZCAub3B0aW9ucyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgfVxufVxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNTBlbSksIChtYXgtaGVpZ2h0OiA0MGVtKSB7XG4gIC8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuICAvKiAhISEgLyBNb2JpbGUgb25seSAvICEhISAvICovXG4gIC8qIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAkyAqL1xuICA6cm9vdCB7XG4gICAgLS1tZWRpYTogWFMtTW9iaWxlLU9ubHk7XG4gIH1cblxuICBib2R5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgI21vYmlsZS1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICB9XG59XG4iXX0= */