/*!***********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./scss/entrypoint/app.scss ***!
  \***********************************************************************************************************************************************/
@charset "UTF-8";
@layer reset, common, theme, override;
@layer reset {
  /*
    Josh's Custom CSS Reset
    https://www.joshwcomeau.com/css/custom-css-reset/
  */
  *, *::before, *::after {
    box-sizing: border-box;
  }
  * {
    margin: 0;
  }
  @media (prefers-reduced-motion: no-preference) {
    html {
      interpolate-size: allow-keywords;
    }
  }
  body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    min-height: 100dvh;
    padding: 0;
  }
  img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
  }
  input, button, textarea, select {
    font: inherit;
  }
  p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
  }
  p {
    text-wrap: pretty;
  }
  h1, h2, h3, h4, h5, h6 {
    text-wrap: balance;
  }
  #root, #__next {
    isolation: isolate;
  }
}
/**
 * @link https://gist.github.com/certainlyakey/e9c0d8f5c87ff47e3d5b
 */
@layer common {
  :root {
    color: var(--color-black, #000);
    transition: color 0.3s;
    --color-black: #000;
    --color-white: #fff;
    --color-background: #fff;
    --image-background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2080%2080%22%20shape-rendering%3D%22crispEdges%22%3E%0A%20%20%3Cpath%20d%3D%22M%200%200%20H%2080%20M%200%200%20V%2080%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%20stroke-width%3D%221.5%22%2F%3E%0A%3C%2Fsvg%3E");
    --image-background-tile: url("data:image/svg+xml,%3Csvg%20width%3D%221440%22%20height%3D%22320%22%20viewBox%3D%220%200%201440%20320%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cline%20x1%3D%22519.343%22%20y1%3D%22319.425%22%20x2%3D%22846.343%22%20y2%3D%22-7.57539%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22-0.353553%22%20y1%3D%22319.425%22%20x2%3D%22323.235%22%20y2%3D%22-4.16393%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22917.223%22%20y1%3D%22319.425%22%20x2%3D%221240.81%22%20y2%3D%22-4.16384%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22519.343%22%20y1%3D%22320.132%22%20x2%3D%22192.878%22%20y2%3D%22-6.33323%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22917.223%22%20y1%3D%22320.132%22%20x2%3D%22588.223%22%20y2%3D%22-8.86834%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22718.164%22%20cy%3D%22121.468%22%20r%3D%22197.968%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%221439.65%22%20y1%3D%22320.132%22%20x2%3D%221113.18%22%20y2%3D%22-6.33314%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%2F%3E%0A%3C%2Fsvg%3E");
    --viewport-sm: 425px;
    --viewport-md: 768px;
    --viewport-lg: 1024px;
    --viewport-xl: 1440px;
    --viewport-xxl: 1920px;
    --viewport: xs, sm, md, lg, xl, xxl;
  }
  @media (prefers-color-scheme: dark) {
    :root {
      --color-white: #000;
      --color-black: #fff;
      --color-background: #232323;
      --section-background: #505050;
      --color-table-gray: #303030;
      --image-background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2080%2080%22%20shape-rendering%3D%22crispEdges%22%3E%0A%20%20%3Cpath%20d%3D%22M%200%200%20H%2080%20M%200%200%20V%2080%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%20stroke-width%3D%221.5%22%2F%3E%0A%3C%2Fsvg%3E");
      --image-background-tile: url("data:image/svg+xml,%3Csvg%20width%3D%221440%22%20height%3D%22320%22%20viewBox%3D%220%200%201440%20320%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cline%20x1%3D%22519.343%22%20y1%3D%22319.425%22%20x2%3D%22846.343%22%20y2%3D%22-7.57539%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22-0.353553%22%20y1%3D%22319.425%22%20x2%3D%22323.235%22%20y2%3D%22-4.16393%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22917.223%22%20y1%3D%22319.425%22%20x2%3D%221240.81%22%20y2%3D%22-4.16384%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22519.343%22%20y1%3D%22320.132%22%20x2%3D%22192.878%22%20y2%3D%22-6.33323%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22917.223%22%20y1%3D%22320.132%22%20x2%3D%22588.223%22%20y2%3D%22-8.86834%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22718.164%22%20cy%3D%22121.468%22%20r%3D%22197.968%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%221439.65%22%20y1%3D%22320.132%22%20x2%3D%221113.18%22%20y2%3D%22-6.33314%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%2F%3E%0A%3C%2Fsvg%3E");
    }
  }
  :root:focus-visible {
    outline-color: #E65926;
    outline-offset: 4px;
    outline-style: auto;
  }
  article {
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    font-size: 16px;
  }
  article h1 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
  }
  article h2 {
    font-size: 2rem;
    margin: 0 0 1rem;
  }
  article h3 {
    font-size: 1.5rem;
    margin: 0 0 0.8rem;
  }
  article h4 {
    font-size: 1.2rem;
    margin: 0 0 0.6rem;
  }
  article h5 {
    font-size: 1.1rem;
    margin: 0 0 0.5rem;
  }
  article h6 {
    font-size: 1rem;
    margin: 0 0 0.4rem;
  }
  article p {
    margin-bottom: 0.5rem;
    font-size: 1rem;
  }
  article small {
    font-size: 0.85em;
    color: var(--color--typo-gray, #505050);
  }
  article strong {
    font-weight: 700;
  }
  article em {
    font-style: italic;
  }
  article u {
    text-decoration: underline;
  }
  article s {
    text-decoration: line-through;
  }
  article mark {
    background-color: #E65926;
    color: var(--color--typo-gray-light, #EBEBEB);
    padding: 0.2em 0.4em;
    border-radius: 3px;
  }
  article code {
    font-family: "Courier New", monospace;
    background: var(--color--typo-gray-light, #EBEBEB);
    padding: 0.2em 0.4em;
    border-radius: 4px;
    font-size: 0.9em;
    color: #E65926;
  }
  article blockquote {
    margin: 1.5rem 0;
    padding: 1rem 1.5rem;
    background-color: var(--color--typo-gray-light, #EBEBEB);
    border-left: 5px solid var(--color--typo-gray, #505050);
    font-style: italic;
    color: var(--color--typo-gray, #505050);
  }
  article blockquote footer {
    margin-top: 0.5rem;
    font-size: 0.9em;
    font-style: normal;
    color: var(--color--typo-gray, #505050);
  }
  article ul, article ol {
    margin: 1rem 0 1rem 2rem;
  }
  article ul {
    list-style-type: none;
  }
  article ul li {
    position: relative;
    margin: 1rem 0;
    padding-left: 2.5rem;
  }
  article ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    background: #E65926;
    color: #fff;
    border-radius: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: bold;
  }
  article ol {
    list-style: none;
  }
  article dl {
    margin: 1rem 0;
  }
  article dt {
    font-weight: 600;
    margin-top: 0.5rem;
  }
  article dd {
    margin: 0.3rem 0 0.8rem 1rem;
  }
  article pre {
    background: var(--color--typo-gray, #505050);
    color: var(--color-white, #fff);
    padding: 1rem;
    border-radius: 6px;
    overflow-x: auto;
    margin: 1rem 0;
  }
  article pre code {
    background: none;
    color: inherit;
    padding: 0;
  }
  article hr {
    border: 0;
    height: 1px;
    background: #EBEBEB;
    margin: 2rem 0;
  }
  article table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0 2rem;
    font-size: 0.95rem;
  }
  article th, article td {
    border: 1px solid #505050;
    padding: 0.75rem;
    text-align: left;
  }
  article th {
    background-color: var(--color-table-gray, #EBEBEB);
    font-weight: 600;
  }
  article tr:nth-child(even) {
    background-color: var(--color-table-gray, #EBEBEB);
  }
  article figure {
    margin: 1.5rem 0;
  }
  article figcaption {
    text-align: center;
    font-style: italic;
    color: #666;
    margin-top: 0.5rem;
    font-size: 0.9em;
  }
  a {
    color: #E65926;
    text-decoration: none;
  }
  a:hover, a:active, a:visited {
    text-decoration: underline;
    color: #d24412;
  }
  .link-external::after {
    content: "[↗]";
    font-size: 0.9em;
    vertical-align: super;
  }
  .link-muted {
    color: #505050;
  }
  .link-disabled {
    color: var(--color--typo-gray, #505050);
    cursor: not-allowed;
    text-decoration: none;
  }
  .text-left {
    text-align: left;
  }
  .text-center {
    text-align: center;
  }
  .text-right {
    text-align: right;
  }
  .text-justify {
    text-align: justify;
  }
  ol {
    counter-reset: step;
    list-style: none;
    padding-left: 0;
  }
  ol li {
    counter-increment: step;
    margin: 1rem 0;
    padding-left: 2.5rem;
    position: relative;
  }
  ol li::before {
    content: counter(step);
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    background: #E65926;
    color: #fff;
    border-radius: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: bold;
  }
  body {
    background-color: var(--color-background, #fff);
    fill: #EBEBEB;
    background-image: var(--image-background);
    background-size: 80px;
    background-position: top center;
    image-rendering: -webkit-crisp-edges;
    image-rendering: crisp-edges;
    image-rendering: pixelated;
    transition: background 0.3s;
  }
  article {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  article section {
    background: var(--color-white, #fff);
    border: 1px solid var(--section-background, #000);
    padding: 35px;
    margin: 0 auto 20px;
    max-width: 1310px;
    border-radius: 1px;
  }
}
@layer theme {
  :root.theme-dark {
    --color-white: #000;
    --color-black: #fff;
    --color-background: #232323;
    --section-background: #505050;
    --color-table-gray: #303030;
    --image-background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2080%2080%22%20shape-rendering%3D%22crispEdges%22%3E%0A%20%20%3Cpath%20d%3D%22M%200%200%20H%2080%20M%200%200%20V%2080%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%20stroke-width%3D%221.5%22%2F%3E%0A%3C%2Fsvg%3E");
    --image-background-tile: url("data:image/svg+xml,%3Csvg%20width%3D%221440%22%20height%3D%22320%22%20viewBox%3D%220%200%201440%20320%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cline%20x1%3D%22519.343%22%20y1%3D%22319.425%22%20x2%3D%22846.343%22%20y2%3D%22-7.57539%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22-0.353553%22%20y1%3D%22319.425%22%20x2%3D%22323.235%22%20y2%3D%22-4.16393%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22917.223%22%20y1%3D%22319.425%22%20x2%3D%221240.81%22%20y2%3D%22-4.16384%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22519.343%22%20y1%3D%22320.132%22%20x2%3D%22192.878%22%20y2%3D%22-6.33323%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22917.223%22%20y1%3D%22320.132%22%20x2%3D%22588.223%22%20y2%3D%22-8.86834%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22718.164%22%20cy%3D%22121.468%22%20r%3D%22197.968%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%221439.65%22%20y1%3D%22320.132%22%20x2%3D%221113.18%22%20y2%3D%22-6.33314%22%20stroke%3D%22rgba%2848%2C%2048%2C%2048%2C%201%29%22%2F%3E%0A%3C%2Fsvg%3E");
  }
  @media (prefers-color-scheme: dark) {
    :root.theme-light {
      --color-black: #000;
      --color-white: #fff;
      --color-background: #fff;
      --image-background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2080%2080%22%20shape-rendering%3D%22crispEdges%22%3E%0A%20%20%3Cpath%20d%3D%22M%200%200%20H%2080%20M%200%200%20V%2080%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%20stroke-width%3D%221.5%22%2F%3E%0A%3C%2Fsvg%3E");
      --image-background-tile: url("data:image/svg+xml,%3Csvg%20width%3D%221440%22%20height%3D%22320%22%20viewBox%3D%220%200%201440%20320%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cline%20x1%3D%22519.343%22%20y1%3D%22319.425%22%20x2%3D%22846.343%22%20y2%3D%22-7.57539%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22-0.353553%22%20y1%3D%22319.425%22%20x2%3D%22323.235%22%20y2%3D%22-4.16393%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22917.223%22%20y1%3D%22319.425%22%20x2%3D%221240.81%22%20y2%3D%22-4.16384%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22519.343%22%20y1%3D%22320.132%22%20x2%3D%22192.878%22%20y2%3D%22-6.33323%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%22917.223%22%20y1%3D%22320.132%22%20x2%3D%22588.223%22%20y2%3D%22-8.86834%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22718.164%22%20cy%3D%22121.468%22%20r%3D%22197.968%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%2F%3E%0A%20%20%20%20%3Cline%20x1%3D%221439.65%22%20y1%3D%22320.132%22%20x2%3D%221113.18%22%20y2%3D%22-6.33314%22%20stroke%3D%22rgba%28235%2C%20235%2C%20235%2C%201%29%22%2F%3E%0A%3C%2Fsvg%3E");
    }
  }
}
@layer common {
  html, body {
    scrollbar-gutter: stable;
    scroll-behavior: smooth;
    scrollbar-width: thin;
  }
  .marker {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 50px;
    min-width: 50px;
    border-radius: 10px;
    display: grid;
    align-items: center;
    justify-content: center;
    border: 2px solid #E65926;
    background: rgba(230, 89, 38, 0.5);
    text-align: center;
  }
  .marker:after {
    content: "";
    min-width: 160px;
    min-height: 160px;
    background: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3C%21--%20Uploaded%20to%3A%20SVG%20Repo%2C%20www.svgrepo.com%2C%20Generator%3A%20SVG%20Repo%20Mixer%20Tools%20--%3E%0A%3Csvg%20width%3D%22800px%22%20height%3D%22800px%22%20viewBox%3D%220%200%20100%20100%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%3E%0A%0A%20%20%20%3Cpath%20%20style%3D%22fill%3A%23E0C93F%3B%22%20d%3D%22M%2045%2C90%2045%2C50%204%2C32%2016%2C28%2016%2C24%20c%200%2C0%203%2C-7%2020%2C-2%20l%206%2C-3%200%2C-4%20c%200%2C0%207%2C-6%2021%2C0%20l%200%2C4%208%2C4%20c%200%2C0%2015%2C-2%2014%2C5%20l%2011%2C5%200%2C39%20z%22%2F%3E%0A%20%20%20%3Cpath%20%20style%3D%22fill%3A%239A7522%3B%22%20d%3D%22m%2058%2C34%200%2C8%20c%200%2C0%20-10%2C6%20-21%2C0%20l%200%2C-8%20c%200%2C0%2013%2C6%2021%2C0%20z%20m%206%2C-8%200%2C8%20c%200%2C0%208%2C7%2021%2C0%20l%200%2C-8%20c%200%2C0%20-10%2C6%20-21%2C0%20z%20m%20-22%2C-10%200%2C8%20c%200%2C0%2011%2C7%2021%2C-1%20l%200%2C-7%20c%200%2C0%20-11%2C6%20-21%2C0%20z%20m%20-26%2C8%200%2C8%20c%200%2C0%2011%2C7%2021%2C-1%20l%200%2C-7%20c%200%2C0%20-11%2C6%20-21%2C0%20z%20M%204%2C32%204%2C71%2045%2C90%2045%2C50%20z%22%2F%3E%0A%0A%3C%2Fsvg%3E") center no-repeat;
    background-size: contain;
    width: 100%;
    height: 100%;
  }
  .gravity {
    position: absolute;
    top: 0;
  }
}
body {
  position: relative;
  box-sizing: content-box;
  font-family: "Space Grotesk", "MTS Compact", "Segoe UI Variable", "San Francisco", sans-serif;
}
body:before {
  position: absolute;
  content: "";
  top: 0;
  background-color: var(--image-background-tile-color);
  background: var(--image-background-tile) no-repeat top center;
  height: 320px;
  width: 100%;
  transition: background 0.3s;
}
body:after {
  position: absolute;
  content: "";
  bottom: 0;
  background: var(--image-background-tile) no-repeat top center;
  rotate: 180deg;
  height: 320px;
  width: 100%;
  transition: background 0.3s;
}
body > * {
  position: relative;
  z-index: 2;
}

@font-face {
  font-family: "MTS Compact";
  font-weight: normal;
  src: local("MTS Compact"), url(b86d1d377377804f0940.ttf) format(truetype);
}
@font-face {
  font-family: "MTS Compact";
  font-weight: 500;
  src: local("MTS Compact"), url(ac6c7c617789fc8d34e5.ttf) format(truetype);
}
@font-face {
  font-family: "MTS Compact";
  font-weight: bold;
  src: local("MTS Compact"), url(c900a9d3d6ea36af68e7.ttf) format(truetype);
}
@font-face {
  font-family: "Space Grotesk";
  font-weight: 300;
  src: local("Space Grotesk"), url(77fdecb3422fbe54ed88.ttf) format(truetype);
}
@font-face {
  font-family: "Space Grotesk";
  font-weight: normal;
  src: local("Space Grotesk"), url(c092257afdb650be08eb.ttf) format(truetype);
}
@font-face {
  font-family: "Space Grotesk";
  font-weight: 500;
  src: local("Space Grotesk"), url(11c47748414ab8a89db0.ttf) format(truetype);
}
@font-face {
  font-family: "Space Grotesk";
  font-weight: 600;
  src: local("Space Grotesk"), url(bdb4c5c6c7698194f4ef.ttf) format(truetype);
}
@font-face {
  font-family: "Space Grotesk";
  font-weight: bold;
  src: local("Space Grotesk"), url(0f25a4444d02faac4f60.ttf) format(truetype);
}
@layer common {
  :root {
    --size-container-width: 100%;
    --size-container-gap: 30px;
  }
  @media (min-width: 425px) {
    :root {
      --size-container-width: 425px;
      --size-container-gap: 25px;
    }
  }
  @media (min-width: 768px) {
    :root {
      --size-container-width: 768px;
      --size-container-gap: 48px;
    }
  }
  @media (min-width: 1024px) {
    :root {
      --size-container-width: 1024px;
      --size-container-gap: 144px;
    }
  }
  @media (min-width: 1440px) {
    :root {
      --size-container-width: 1440px;
      --size-container-gap: 80px;
    }
  }
  @media (min-width: 1920px) {
    :root {
      --size-container-width: 1920px;
      --size-container-gap: 80px;
    }
  }
  .container {
    width: calc(var(--size-container-width, 100%) - var(--size-container-gap, 30px));
    margin-left: auto;
    margin-right: auto;
    min-height: 80px;
  }
}
/*
BUTTON PALETTE

common: 350x68 black 20/28/400
primary: 350x68 orange 20/28/400
outline: 170x56 white 20/28/400
small: 190x29 <color> 20/28/400

 */
@layer common {
  .btn {
    --btn-front: buttontext;
    --btn-back: buttonface;
    --btn-front--hover: buttontext;
    --btn-back--hover: buttonface;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 0;
    cursor: pointer;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    margin: 0;
    padding: 0 39px;
    transition: background 0.2s, color 1.5s, border-color 0.2s;
    background: var(--btn-back);
    color: var(--btn-front);
  }
  @media (min-width: 425px) {
    .btn {
      font-size: 20px;
      line-height: 38px;
    }
  }
  .btn:hover {
    text-decoration: none;
    background: var(--btn-back--hover);
    color: var(--btn-front--hover);
  }
  .btn--primary {
    --btn-back: #E65926;
    --btn-back--hover: #d24412;
    --btn-front: #fff;
    --btn-front--hover: #fff;
  }
  .btn--secondary {
    --btn-back: var(--color-black, #000);
    --btn-back--hover: var(--color--typo-gray, #505050);
    --btn-front: var(--color-white, #fff);
    --btn-front--hover: #EBEBEB;
  }
  .btn--white {
    border: 1px solid var(--btn-front);
    --btn-back: #fff;
    --btn-back--hover: #000;
    --btn-front: #000;
    --btn-front--hover: #fff;
  }
  .btn--white:hover {
    border-color: var(--btn-back);
  }
  .btn--black {
    border: 1px solid var(--btn-front);
    --btn-back: #000;
    --btn-back--hover: #fff;
    --btn-front: #fff;
    --btn-front--hover: #000;
  }
  .btn--black:hover {
    border-color: var(--btn-back);
  }
  .btn--outline {
    background: transparent;
    color: var(--btn-back);
    border: 1px solid var(--btn-back);
    border-radius: 1px;
  }
  .btn--outline:hover {
    background: var(--btn-back);
    color: var(--btn-front);
  }
  .btn--small {
    padding: 0 17px;
    border-radius: 0;
    line-height: 26px;
  }
  .btn--large {
    padding: 0 16px;
    line-height: 66px;
    border-radius: 14px;
  }
  @media (min-width: 768px) {
    .btn--large {
      padding: 0 32px;
    }
  }
  .btn--wide {
    width: 100%;
  }
}
@layer common {
  body > header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(var(--size-container-width, 100%) - var(--size-container-gap, 30px));
    margin-left: auto;
    margin-right: auto;
    min-height: 80px;
    padding-top: 24px;
  }
  body > header section {
    display: flex;
    align-items: center;
    gap: 40px;
  }
  body > header section .btn {
    height: 56px;
  }
  body > header nav {
    display: contents;
  }
  body > header nav a {
    color: var(--color-black, #000);
    font-size: 20px;
    transition: color 1.5s;
  }
  body > header nav a:hover {
    color: #E65926;
    text-decoration: none;
  }
}
@layer common {
  body > footer {
    display: flex;
    flex-direction: column;
    width: calc(var(--size-container-width, 100%) - var(--size-container-gap, 30px));
    margin-left: auto;
    margin-right: auto;
    margin-top: 80px;
  }
  body > footer section {
    display: flex;
    align-items: center;
    justify-content: end;
    min-height: 80px;
    border-top: 1px solid var(--color-black, #000);
  }
  @media (min-width: 425px) {
    body > footer section {
      justify-content: space-between;
    }
  }
  body > footer .footer__list {
    display: flex;
    flex-direction: column;
    align-items: end;
  }
}
@layer common {
  .logo {
    display: block;
    background: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C%21--%20Generator%3A%20Adobe%20Illustrator%2025.4.0%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200%29%20%20--%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22%D0%A1%D0%BB%D0%BE%D0%B9_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0A%09%20viewBox%3D%220%200%20268%2068%22%20style%3D%22enable-background%3Anew%200%200%20268%2068%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill%3A%23F94B28%3B%7D%0A%09.st1%7Bfill%3A%23FFFFFF%3B%7D%0A%09.st2%7Bfill%3A%23FFFFFF%3Bstroke%3A%23F94B28%3Bstroke-width%3A3%3Bstroke-miterlimit%3A10%3B%7D%0A%3C%2Fstyle%3E%0A%3Cg%3E%0A%09%3Cpath%20class%3D%22st0%22%20d%3D%22M100.7%2C49.2H85.3c-0.8%2C0-1.7-0.1-2.6-0.4c-0.9-0.3-1.8-0.7-2.6-1.4c-0.8-0.6-1.5-1.5-2-2.5%0A%09%09c-0.5-1-0.8-2.3-0.8-3.7v-7.7c0-0.5%2C0.1-1.1%2C0.2-1.7c0.1-0.6%2C0.3-1.2%2C0.6-1.8c0.3-0.6%2C0.6-1.2%2C1-1.7c0.4-0.5%2C0.9-1%2C1.5-1.4%0A%09%09c0.6-0.4%2C1.3-0.7%2C2.1-1c0.8-0.2%2C1.7-0.4%2C2.6-0.4h15.5v5.7H85.3c-0.7%2C0-1.3%2C0.2-1.7%2C0.6c-0.4%2C0.4-0.6%2C1-0.6%2C1.8v7.7%0A%09%09c0%2C0.7%2C0.2%2C1.3%2C0.6%2C1.7s1%2C0.6%2C1.7%2C0.6h15.4V49.2z%22%2F%3E%0A%09%3Cpath%20class%3D%22st0%22%20d%3D%22M126.2%2C31.2h-12.8c-0.8%2C0-1.4%2C0.2-1.8%2C0.6s-0.6%2C1-0.6%2C1.7v15.7h-5.7V33.5c0-1%2C0.1-1.9%2C0.4-2.6%0A%09%09c0.2-0.8%2C0.6-1.5%2C1-2.1c0.4-0.6%2C0.9-1.1%2C1.4-1.5c0.5-0.4%2C1.1-0.8%2C1.7-1c0.6-0.3%2C1.2-0.5%2C1.8-0.6c0.6-0.1%2C1.2-0.2%2C1.7-0.2h12.9V31.2%0A%09%09z%22%2F%3E%0A%09%3Cpath%20class%3D%22st0%22%20d%3D%22M154.5%2C41.3c0%2C0.8-0.1%2C1.6-0.4%2C2.6c-0.3%2C0.9-0.7%2C1.8-1.3%2C2.5c-0.6%2C0.8-1.4%2C1.4-2.4%2C2c-1%2C0.5-2.2%2C0.8-3.7%2C0.8%0A%09%09h-10.3c-0.8%2C0-1.6-0.1-2.6-0.4c-0.9-0.3-1.8-0.7-2.5-1.3c-0.8-0.6-1.4-1.4-2-2.4c-0.5-1-0.8-2.2-0.8-3.7c0-0.8%2C0.1-1.6%2C0.4-2.6%0A%09%09c0.3-0.9%2C0.7-1.8%2C1.3-2.6c0.6-0.8%2C1.4-1.4%2C2.4-2c1-0.5%2C2.2-0.8%2C3.7-0.8h10.3v5.4h-10.3c-0.8%2C0-1.4%2C0.2-1.8%2C0.7%0A%09%09c-0.4%2C0.5-0.6%2C1.1-0.6%2C1.8c0%2C0.7%2C0.2%2C1.3%2C0.7%2C1.7c0.5%2C0.4%2C1.1%2C0.6%2C1.7%2C0.6h10.2c0.8%2C0%2C1.4-0.2%2C1.8-0.7c0.4-0.5%2C0.6-1.1%2C0.6-1.8v-8%0A%09%09c0-0.7-0.2-1.3-0.7-1.8c-0.5-0.4-1-0.7-1.7-0.7h-12.5v-5.4h12.5c0.8%2C0%2C1.6%2C0.1%2C2.6%2C0.4c0.9%2C0.3%2C1.8%2C0.7%2C2.5%2C1.3%0A%09%09c0.8%2C0.6%2C1.4%2C1.4%2C2%2C2.4s0.8%2C2.2%2C0.8%2C3.7V41.3z%22%2F%3E%0A%09%3Cpath%20class%3D%22st0%22%20d%3D%22M180.3%2C20.9h-12.9c-0.8%2C0-1.4%2C0.2-1.8%2C0.6s-0.6%2C1-0.6%2C1.7v26h-5.7v-26c0-1%2C0.1-1.9%2C0.4-2.6%0A%09%09c0.2-0.8%2C0.6-1.5%2C1-2.1c0.4-0.6%2C0.9-1.1%2C1.4-1.5c0.5-0.4%2C1.1-0.8%2C1.7-1c0.6-0.3%2C1.2-0.5%2C1.8-0.6c0.6-0.1%2C1.2-0.2%2C1.7-0.2h12.9V20.9%0A%09%09z%20M180.3%2C31.2h-12.9v-5.7h12.9V31.2z%22%2F%3E%0A%09%3Cpath%20class%3D%22st0%22%20d%3D%22M205.6%2C31.2h-10v18h-5.8v-18h-7.4v-5.7h7.4v-7.7h5.8v7.7h10V31.2z%22%2F%3E%0A%09%3Cpath%20class%3D%22st0%22%20d%3D%22M215.2%2C20.6h-5.7v-5.2h5.7V20.6z%20M215.2%2C49.2h-5.7V25.5h5.7V49.2z%22%2F%3E%0A%09%3Cpath%20class%3D%22st0%22%20d%3D%22M246.5%2C56.6h-5.7V33.5c0-0.7-0.2-1.3-0.6-1.7c-0.4-0.4-1-0.6-1.7-0.6h-10.3c-0.7%2C0-1.3%2C0.2-1.7%2C0.6%0A%09%09c-0.4%2C0.4-0.6%2C1-0.6%2C1.6v7.7c0%2C0.7%2C0.2%2C1.3%2C0.6%2C1.7c0.4%2C0.4%2C1%2C0.6%2C1.7%2C0.6h10.2v5.7h-10.3c-0.8%2C0-1.7-0.1-2.6-0.4%0A%09%09c-0.9-0.3-1.8-0.7-2.6-1.4c-0.8-0.6-1.5-1.5-2-2.5c-0.5-1-0.8-2.3-0.8-3.7v-7.7c0-0.5%2C0.1-1.1%2C0.2-1.7s0.3-1.2%2C0.6-1.8%0A%09%09c0.3-0.6%2C0.6-1.2%2C1-1.7c0.4-0.5%2C0.9-1%2C1.5-1.4c0.6-0.4%2C1.3-0.7%2C2.1-1c0.8-0.2%2C1.7-0.4%2C2.6-0.4h10.3c0.5%2C0%2C1.1%2C0.1%2C1.7%2C0.2%0A%09%09c0.6%2C0.1%2C1.2%2C0.3%2C1.8%2C0.6c0.6%2C0.3%2C1.2%2C0.6%2C1.7%2C1c0.5%2C0.4%2C1%2C0.9%2C1.4%2C1.5c0.4%2C0.6%2C0.7%2C1.3%2C1%2C2.1c0.2%2C0.8%2C0.4%2C1.7%2C0.4%2C2.6V56.6z%22%2F%3E%0A%3C%2Fg%3E%0A%3Cpath%20class%3D%22st0%22%20d%3D%22M62%2C23H32c-6.1%2C0-11%2C4.9-11%2C11v6c0%2C6.1%2C4.9%2C11%2C11%2C11h30c6.1%2C0%2C11-4.9%2C11-11v-6C73%2C27.9%2C68.1%2C23%2C62%2C23z%20M56.5%2C47%0A%09c-1.7%2C0-3.3-0.5-4.7-1.2c-1.9%2C1.7-4.5%2C2.8-7.3%2C2.8c-6.1%2C0-11-4.9-11-11c0-6.1%2C4.9-11%2C11-11c2.8%2C0%2C5.3%2C1%2C7.3%2C2.8%0A%09c1.4-0.8%2C3-1.2%2C4.7-1.2c5.2%2C0%2C9.5%2C4.2%2C9.5%2C9.5S61.8%2C47%2C56.5%2C47z%22%2F%3E%0A%3Cpath%20d%3D%22M66%2C37.5c0%2C5.2-4.2%2C9.5-9.5%2C9.5c-1.7%2C0-3.3-0.5-4.7-1.2c-1.9%2C1.7-4.5%2C2.8-7.3%2C2.8c-6.1%2C0-11-4.9-11-11c0-6.1%2C4.9-11%2C11-11%0A%09c2.8%2C0%2C5.3%2C1%2C7.3%2C2.8c1.4-0.8%2C3-1.2%2C4.7-1.2C61.8%2C28%2C66%2C32.2%2C66%2C37.5z%22%2F%3E%0A%3Cpath%20class%3D%22st1%22%20d%3D%22M66%2C37.5c0%2C5.2-4.2%2C9.5-9.5%2C9.5c-1.7%2C0-3.3-0.5-4.7-1.2C48.9%2C44.1%2C47%2C41%2C47%2C37.5c0-3.5%2C1.9-6.6%2C4.8-8.2%0A%09c1.4-0.8%2C3-1.2%2C4.7-1.2C61.8%2C28%2C66%2C32.2%2C66%2C37.5z%22%2F%3E%0A%3Cpath%20class%3D%22st2%22%20d%3D%22M55.5%2C37.5c0%2C3.3-1.4%2C6.2-3.7%2C8.2c-1.9%2C1.7-4.5%2C2.8-7.3%2C2.8c-6.1%2C0-11-4.9-11-11c0-6.1%2C4.9-11%2C11-11%0A%09c2.8%2C0%2C5.3%2C1%2C7.3%2C2.8C54.1%2C31.3%2C55.5%2C34.2%2C55.5%2C37.5z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat;
    height: 42px;
    width: 180px;
    background-size: contain;
  }
  @media (min-width: 425px) {
    .logo {
      height: 56px;
      width: 240px;
    }
  }
}
.theme-switcher {
  position: relative;
  padding: 10px;
}
.theme-switcher input {
  appearance: none;
  cursor: pointer;
  transition: rotate 0.3s;
  position: relative;
}
.theme-switcher input:before {
  content: "";
  display: block;
  width: 40px;
  height: 24px;
  background: #232323;
  border-radius: 46px;
  transition: width 0.3s, background-color 0.3s;
}
.theme-switcher input:after {
  content: "";
  display: block;
  border: none;
  outline: none;
  width: 14px;
  height: 14px;
  border-radius: 15px;
  position: absolute;
  z-index: 2;
  background: #fff;
  top: 5px;
  left: calc(100% - 19px);
  transition: background-color 0.3s 0.2s, left 0.3s 0.2s, box-shadow 0.3s;
  box-shadow: 15px 0 #fff inset;
  animation-name: moonjump;
  animation-duration: 0.3s;
  animation-iteration-count: 1;
  animation-fill-mode: backwards;
}
@media (hover: none) {
  .theme-switcher input {
    width: 60px;
  }
  .theme-switcher input:before {
    width: 60px;
  }
}
.theme-switcher input:checked:before {
  background: #fff;
}
.theme-switcher input:checked:after {
  background: #fff;
  animation-name: moonroll;
  animation-duration: 0.3s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  right: 0;
  left: 5px;
  box-shadow: 7px 0 #232323 inset;
  transition: background-color 0.3s, left 0.3s, box-shadow 0.3s;
}
@media (hover: hover) {
  .theme-switcher:hover input {
    rotate: -10deg;
  }
  .theme-switcher:hover input:before {
    width: 60px;
  }
}

@keyframes moonroll {
  0% {
    rotate: 0deg;
  }
  100% {
    rotate: -360deg;
  }
}
@keyframes moonjump {
  0% {
    top: 5px;
    left: 5px;
  }
  50% {
    top: -50px;
  }
  100% {
    top: 5px;
    left: calc(100% - 19px);
  }
}
@layer theme {
  .visible {
    display: block;
  }
  @media (min-width: 0) and (max-width: 424px) {
    .visible--xs {
      display: block;
    }
  }
  @media (min-width: 425px) and (max-width: 767px) {
    .visible--sm {
      display: block;
    }
  }
  @media (min-width: 768px) and (max-width: 1023px) {
    .visible--md {
      display: block;
    }
  }
  @media (min-width: 1024px) and (max-width: 1439px) {
    .visible--lg {
      display: block;
    }
  }
  @media (min-width: 1440px) and (max-width: 1919px) {
    .visible--xl {
      display: block;
    }
  }
  @media (min-width: 1920px) {
    .visible--xxl {
      display: block;
    }
  }
  .visible--flex {
    display: flex;
  }
  @media (min-width: 0) and (max-width: 424px) {
    .visible--flex--xs {
      display: flex;
    }
  }
  @media (min-width: 425px) and (max-width: 767px) {
    .visible--flex--sm {
      display: flex;
    }
  }
  @media (min-width: 768px) and (max-width: 1023px) {
    .visible--flex--md {
      display: flex;
    }
  }
  @media (min-width: 1024px) and (max-width: 1439px) {
    .visible--flex--lg {
      display: flex;
    }
  }
  @media (min-width: 1440px) and (max-width: 1919px) {
    .visible--flex--xl {
      display: flex;
    }
  }
  @media (min-width: 1920px) {
    .visible--flex--xxl {
      display: flex;
    }
  }
  .hidden {
    display: none;
  }
  @media (min-width: 0) and (max-width: 424px) {
    .hidden--xs {
      display: none;
    }
  }
  @media (min-width: 425px) and (max-width: 767px) {
    .hidden--sm {
      display: none;
    }
  }
  @media (min-width: 768px) and (max-width: 1023px) {
    .hidden--md {
      display: none;
    }
  }
  @media (min-width: 1024px) and (max-width: 1439px) {
    .hidden--lg {
      display: none;
    }
  }
  @media (min-width: 1440px) and (max-width: 1919px) {
    .hidden--xl {
      display: none;
    }
  }
  @media (min-width: 1920px) {
    .hidden--xxl {
      display: none;
    }
  }
}
.first-screen {
  width: 100%;
  height: calc(75vh - 80px);
  height: calc(75dvh - 80px);
}
@media (min-width: 768px) {
  .first-screen {
    height: calc(100vh - 80px);
    height: calc(100dvh - 80px);
  }
}
.first-screen--relative {
  position: relative;
}

@layer common {
  .invite {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: calc(var(--size-container-width, 100%) - var(--size-container-gap, 30px));
    margin-left: auto;
    margin-right: auto;
    text-transform: uppercase;
    height: 100%;
  }
  .invite h1, .invite h2, .invite h3, .invite h4, .invite h5, .invite h6, .invite p, .invite span, .invite {
    font-size: 16px;
    line-height: 30px;
    font-size: 16px;
    line-height: 30px;
  }
  @media (min-width: 425px) {
    .invite h1, .invite h2, .invite h3, .invite h4, .invite h5, .invite h6, .invite p, .invite span, .invite {
      font-size: 20px;
      line-height: 35px;
    }
  }
  @media (min-width: 768px) {
    .invite h1, .invite h2, .invite h3, .invite h4, .invite h5, .invite h6, .invite p, .invite span, .invite {
      font-size: 40px;
      line-height: 50px;
    }
  }
  @media (min-width: 1024px) {
    .invite h1, .invite h2, .invite h3, .invite h4, .invite h5, .invite h6, .invite p, .invite span, .invite {
      font-size: 50px;
      line-height: 80px;
    }
  }
  @media (min-width: 1440px) {
    .invite h1, .invite h2, .invite h3, .invite h4, .invite h5, .invite h6, .invite p, .invite span, .invite {
      font-size: 70px;
      line-height: 110px;
    }
  }
  .invite h1 small, .invite h2 small, .invite h3 small, .invite h4 small, .invite h5 small, .invite h6 small, .invite p small, .invite span small, .invite small {
    font-size: 16px;
    line-height: 20px;
  }
  .invite h1--in-dev, .invite h2--in-dev, .invite h3--in-dev, .invite h4--in-dev, .invite h5--in-dev, .invite h6--in-dev, .invite p--in-dev, .invite span--in-dev, .invite--in-dev {
    padding-top: 50px;
  }
  body:not(.browser--is-safari) .invite h1, body:not(.browser--is-safari) .invite h2, body:not(.browser--is-safari) .invite h3, body:not(.browser--is-safari) .invite h4, body:not(.browser--is-safari) .invite h5, body:not(.browser--is-safari) .invite h6, body:not(.browser--is-safari) .invite p, body:not(.browser--is-safari) .invite span, body:not(.browser--is-safari) .invite {
    transition: color 1.5s;
  }
}
.puzzle-32 {
  width: calc(var(--size-container-width, 100%) - var(--size-container-gap, 30px));
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 80px;
}
@media (min-width: 1024px) {
  .puzzle-32 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1440px) {
  .puzzle-32 {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
  }
  .puzzle-32 > * {
    grid-column: auto/span 2;
  }
  .puzzle-32--long {
    grid-column: auto/span 3;
  }
  .puzzle-32--double {
    grid-column: auto/span 4;
  }
}

.duo-slider {
  width: 100%;
  overflow-x: hidden;
  scroll-snap-type: x mandatory;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  height: 100%;
  scrollbar-width: none;
}
.duo-slider__wrapper {
  overflow-x: visible;
  white-space: nowrap;
  font-size: 0;
}
.duo-slider__item {
  display: inline-block;
  height: 100px;
  margin-right: 10px;
  scroll-snap-align: start;
  font-size: 14px;
  filter: grayscale(0.5);
  transition: filter 0.3s;
}
.duo-slider__item:hover {
  filter: none;
}
.duo-slider__item img {
  height: 100%;
  min-height: 100px;
  width: auto;
  object-fit: cover;
  image-rendering: auto;
}

.puzzle-main {
  color: var(--color-black, #000);
  border: 1px solid var(--color-black, #000);
  background: var(--color-white, #fff);
  border-radius: 1px;
  padding: 25px 15px;
  display: flex;
  flex-direction: column;
  transition: color 1.5s;
  font-size: 10px;
}
@media (min-width: 425px) {
  .puzzle-main {
    padding: 35px;
  }
}
.puzzle-main h2 {
  font-size: 20px;
  line-height: 26px;
  font-weight: 400;
  padding-bottom: 25px;
}
.puzzle-main h2 strong {
  font-weight: bold;
}
.puzzle-main p {
  font-size: 16px;
  margin-bottom: 5px;
}
@media (min-width: 425px) {
  .puzzle-main p {
    margin-bottom: 15px;
  }
}
.puzzle-main :last-child {
  margin-top: auto;
  margin-bottom: 0;
}

.puzzle-who {
  color: #EBEBEB;
  border: 1px solid #505050;
  background: #E65926;
  border-radius: 1px;
  padding: 15px 15px 30px 15px;
  display: flex;
  flex-direction: column;
  transition: color 1.5s;
  font-size: 10px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2035%2035%22%20shape-rendering%3D%22crispEdges%22%3E%0A%20%20%3Cpath%20d%3D%22M%200%200%20H%2035%20M%200%200%20V%2035%22%20stroke%3D%22rgba%28231%2C%20231%2C%20231%2C%200.10196078431372549%29%22%20stroke-width%3D%221.5%22%2F%3E%0A%3C%2Fsvg%3E");
  background-size: 35px;
  background-position: center;
}
@media (min-width: 425px) {
  .puzzle-who {
    padding: 35px 35px 50px 35px;
  }
}
.puzzle-who h2 {
  font-size: 30px;
  line-height: 36px;
  font-weight: 400;
  text-align: center;
  padding-bottom: 40px;
  letter-spacing: 0;
}
@media (min-width: 425px) {
  .puzzle-who h2 {
    font-size: 45px;
    line-height: 46px;
  }
}
.puzzle-who h2 strong {
  font-weight: 500;
}
.puzzle-who p {
  font-size: 18px;
  font-weight: 300;
}
.puzzle-who ul {
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
}
.puzzle-who ul li {
  padding: 0;
  margin: 0;
  list-style: none;
}

.puzzle-clients {
  color: var(--color-black, #000);
  border: 1px solid var(--color-black, #000);
  background: var(--color-white, #fff);
  border-radius: 1px;
  padding: 35px;
  display: flex;
  flex-direction: column;
  transition: color 1.5s;
  font-size: 10px;
}
.puzzle-clients h2 {
  font-size: 50px;
  line-height: 56px;
  font-weight: 400;
  padding-bottom: 25px;
  text-transform: uppercase;
}
.puzzle-clients h2 strong {
  font-weight: 500;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmFwcC5taW4uY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBLGdCQUFnQjtBQ0FoQjtBQ0FBO0VBQ0U7OztHQUFBO0VBS0E7SUFDRTtFRkVGO0VFQ0E7SUFDRTtFRkNGO0VFRUE7SUFDRTtNQUNFO0lGQUY7RUFDRjtFRUdBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFRkRGO0VFSUE7SUFDRTtJQUNBO0VGRkY7RUVLQTtJQUNFO0VGSEY7RUVNQTtJQUNFO0VGSkY7RUVPQTtJQUNFO0VGTEY7RUVPQTtJQUNFO0VGTEY7RUVRQTtJQUNFO0VGTkY7QUFDRjtBR3pDQTs7RUFBQTtBQ0lBO0VBRUU7SUFFRSwrQkNQSTtJRFFKO0lDVUY7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQ2tFSTtJQUFBO0lBQUE7SUFBQTtJQUFBO0lBR0o7RU5qQ0E7RUk5Q0U7SUFSRjtNQ3VCQTtNQUNBO01BQ0E7TUFFQTtNQUNBO01BRUE7TUFDQTtJTGlDRTtFQUNGO0VJckRFO0lBQ0U7SUFDQTtJQUNBO0VKdURKO0VPM0VBO0lBR0U7SUFDQTtJQUNBO0VQMkVGO0VPekVFO0lBQ0U7SUFDQTtJQUNBO0VQMkVKO0VPeEVFO0lBQ0U7SUFDQTtFUDBFSjtFT3ZFRTtJQUNFO0lBQ0E7RVB5RUo7RU90RUU7SUFDRTtJQUNBO0VQd0VKO0VPckVFO0lBQ0U7SUFDQTtFUHVFSjtFT3BFRTtJQUNFO0lBQ0E7RVBzRUo7RU9uRUU7SUFDRTtJQUNBO0VQcUVKO0VPbEVFO0lBQ0U7SUFDQTtFUG9FSjtFT2pFRTtJQUNFO0VQbUVKO0VPaEVFO0lBQ0U7RVBrRUo7RU8vREU7SUFDRTtFUGlFSjtFTzlERTtJQUNFO0VQZ0VKO0VPN0RFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RVArREo7RU81REU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVA4REo7RU8zREU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVA2REo7RU8xREU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFUDRESjtFT3pERTtJQUNFO0VQMkRKO0VPeERFO0lBRUU7RVB5REo7RU92REk7SUFDRTtJQUNBO0lBQ0E7RVB5RE47RU92RE07SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VQeURSO0VPcERFO0lBQ0U7RVBzREo7RU9uREU7SUFDRTtFUHFESjtFT2xERTtJQUNFO0lBQ0E7RVBvREo7RU9qREU7SUFDRTtFUG1ESjtFT2hERTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFUGtESjtFTy9DRTtJQUNFO0lBQ0E7SUFDQTtFUGlESjtFTzlDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VQZ0RKO0VPN0NFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RVArQ0o7RU81Q0U7SUFDRTtJQUNBO0lBQ0E7RVA4Q0o7RU8zQ0U7SUFDRTtJQUNBO0VQNkNKO0VPMUNFO0lBQ0U7RVA0Q0o7RU96Q0U7SUFDRTtFUDJDSjtFT3hDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVAwQ0o7RU90Q0E7SUFDRTtJQUNBO0VQd0NGO0VPdENFO0lBQ0U7SUFDQTtFUHdDSjtFT3BDQTtJQUNFO0lBQ0E7SUFDQTtFUHNDRjtFT25DQTtJQUNFO0VQcUNGO0VPbENBO0lBQ0U7SUFDQTtJQUNBO0VQb0NGO0VPakNBO0lBQWE7RVBvQ2I7RU9uQ0E7SUFBZTtFUHNDZjtFT3JDQTtJQUFjO0VQd0NkO0VPdkNBO0lBQWdCO0VQMENoQjtFT3hDQTtJQUNFO0lBQ0E7SUFDQTtFUDBDRjtFT3hDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VQMENKO0VPeENJO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFUDBDTjtFSS9RQTtJSTFCQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBR0U7RVJ5U0Y7RUl0UkE7SUFDRTtJQUNBO0VKd1JGO0VJdFJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VKd1JKO0FBQ0Y7QUlwUkE7RUFDRTtJQ3JCQTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtFTDBTQTtFSXpSQTtJQUNFO01DcENGO01BQ0E7TUFDQTtNQUVBO01BQ0E7SUwrVEU7RUFDRjtBQUNGO0FTdlZBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RVR5VkY7RVN0VkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVR3VkY7RVN0VkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFVHdWSjtFU3BWQTtJQUNFO0lBQ0E7RVRzVkY7QUFDRjtBVTVYQTtFQUNFO0VBQ0E7RUFDQTtBVjhYRjtBVTVYRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhQ1ppQjtFRGFqQjtFQUNBO0FWOFhKO0FVM1hFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFDdkJpQjtFRHdCakI7RUFDQTtBVjZYSjtBVTFYRTtFQUNFO0VBQ0E7QVY0WEo7O0FZblZJO0VBQ0U7RUFDQSxtQkFqQmM7RUFrQmQ7QVpzVk47QVl6Vkk7RUFDRTtFQUNBLGdCQWpCYztFQWtCZDtBWjJWTjtBWTlWSTtFQUNFO0VBQ0EsaUJBakJjO0VBa0JkO0FaZ1dOO0FZbldJO0VBQ0U7RUFDQSxnQkFqQmM7RUFrQmQ7QVpxV047QVl4V0k7RUFDRTtFQUNBLG1CQWpCYztFQWtCZDtBWjBXTjtBWTdXSTtFQUNFO0VBQ0EsZ0JBakJjO0VBa0JkO0FaK1dOO0FZbFhJO0VBQ0U7RUFDQSxnQkFqQmM7RUFrQmQ7QVpvWE47QVl2WEk7RUFDRTtFQUNBLGlCQWpCYztFQWtCZDtBWnlYTjtBYWhjQTtFQUVFO0lDREE7SUFDQTtFZG1jQTtFZTZKTTtJRmhtQk47TUNPSTtNQUNBO0lkZ2NGO0VBQ0Y7RWV1Sk07SUZobUJOO01DT0k7TUFDQTtJZHNjRjtFQUNGO0VlaUpNO0lGaG1CTjtNQ09JO01BQ0E7SWQ0Y0Y7RUFDRjtFZTJJTTtJRmhtQk47TUNPSTtNQUNBO0lka2RGO0VBQ0Y7RWVxSU07SUZobUJOO01DT0k7TUFDQTtJZHdkRjtFQUNGO0VhN2RBO0lDVUE7SURSRTtJQUNBO0lBQ0EsZ0JGZFk7RVg2ZWQ7QUFDRjtBZ0IxZUE7Ozs7Ozs7O0VBQUE7QUFTQTtFQUVFO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VoQndlRjtFZTBGTTtJQ3ZsQk47TUF3Qkk7TUFDQTtJaEJ5ZUY7RUFDRjtFZ0J2ZUU7SUFDRTtJQUNBO0lBQ0E7RWhCeWVKO0VnQnJlQTtJQUVFO0lBQ0E7SUFFQTtJQUNBO0VoQnFlRjtFZ0JsZUE7SUFFRTtJQUNBO0lBRUE7SUFDQTtFaEJrZUY7RWdCL2RBO0lBQ0U7SUFDQTtJQUNBO0lBRUE7SUFDQTtFaEJnZUY7RWdCOWRFO0lBQ0U7RWhCZ2VKO0VnQjVkQTtJQUNFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7RWhCNmRGO0VnQjNkRTtJQUNFO0VoQjZkSjtFZ0J6ZEE7SUFFRTtJQUNBO0lBQ0E7SUFPQTtFaEJvZEY7RWdCemRFO0lBQ0U7SUFDQTtFaEIyZEo7RWdCcmRBO0lBQ0U7SUFDQTtJQUNBO0VoQnVkRjtFZ0JwZEE7SUFDRTtJQUNBO0lBQ0E7RWhCc2RGO0VlMkJNO0lDcGZOO01BTUk7SWhCdWRGO0VBQ0Y7RWdCcGRBO0lBQ0U7RWhCc2RGO0FBQ0Y7QWlCOWtCQTtFQUVJO0lDUEY7SUFPQTtJQVlBO0lKQUE7SUdMSTtJQUNBO0lBQ0EsZ0JOakJVO0lNbUJWLGlCTklXO0VYd2tCZjtFaUIxa0JJO0lDcEJKO0lBbUJBO0lESU07RWpCNGtCTjtFaUIxa0JNO0lBQ0U7RWpCNGtCUjtFaUJ4a0JJO0lBQ0U7RWpCMGtCTjtFaUJ4a0JNO0lBQ0UsK0JaL0JGO0lZZ0NFO0labkJSO0VMOGxCQTtFaUJ4a0JRO0lBQ0UsY0VqQ0Y7SUZrQ0U7RWpCMGtCVjtBQUNGO0FvQjdtQkE7RUFFSTtJRlJGO0lBRUU7SUppQkY7SU1QSTtJQUNBO0lBQ0EsZ0JUZlU7RVg2bkJkO0VvQjVtQkk7SUZoQko7SUFtQkE7SUFKQTtJRU1NLGdCVHRCUTtJU3VCUjtFcEI2bUJOO0VlOUJNO0lLcmxCRjtNRlRKO0lsQmdvQkU7RUFDRjtFb0IzbUJJO0lGN0JKO0lBRUU7SUFxQkY7RWxCc25CQTtBQUNGO0FxQjVvQkE7RUFFRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXJCNm9CRjtFZWpETTtJTWptQk47TUFRSTtNQUNBO0lyQjhvQkY7RUFDRjtBQUNGO0FzQjNwQkE7RUFDRTtFQUNBO0F0QjZwQkY7QXNCM3BCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0QjZwQko7QXNCM3BCSTtFQUNFO0VBQ0E7RUFFQTtFQUNBO0VBRUEsbUJIaEJRO0VHaUJSO0VBRUE7QXRCMHBCTjtBc0J2cEJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JIcENFO0VHc0NGO0VBQ0E7RUFFQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7QXRCcXBCTjtBdUI1ckJFO0VERkE7SUE2Q0k7RXRCcXBCSjtFc0JwcEJJO0lBQ0U7RXRCc3BCTjtBQUNGO0FzQmxwQk07RUFDRSxnQkg1REE7QW5CZ3RCUjtBc0JscEJNO0VBRUUsZ0JIaEVBO0VHa0VBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7QXRCaXBCUjtBdUJ6dEJFO0VEOEVFO0lBQ0U7RXRCOG9CSjtFc0Izb0JFO0lBQ0U7RXRCNm9CSjtBQUNGOztBc0J6b0JBO0VBQ0U7SUFDRTtFdEI0b0JGO0VzQnpvQkE7SUFDRTtFdEIyb0JGO0FBQ0Y7QXNCeG9CQTtFQUNFO0lBQ0U7SUFDQTtFdEIwb0JGO0VzQnZvQkE7SUFDRTtFdEJ5b0JGO0VzQnRvQkE7SUFDRTtJQUNBO0V0QndvQkY7QUFDRjtBd0JodkJBO0VDUUk7SUFDRTtFekIydUJKO0VldkpNO0lVaGxCRTtNQUNFO0l6QjB1QlI7RUFDRjtFZTVKTTtJVWhsQkU7TUFDRTtJekIrdUJSO0VBQ0Y7RWVqS007SVVobEJFO01BQ0U7SXpCb3ZCUjtFQUNGO0VldEtNO0lVaGxCRTtNQUNFO0l6Qnl2QlI7RUFDRjtFZTNLTTtJVWhsQkU7TUFDRTtJekI4dkJSO0VBQ0Y7RWVoTE07SVVobEJFO01BQ0U7SXpCbXdCUjtFQUNGO0V5QjF3QkU7SUFDRTtFekI0d0JKO0VleExNO0lVaGxCRTtNQUNFO0l6QjJ3QlI7RUFDRjtFZTdMTTtJVWhsQkU7TUFDRTtJekJneEJSO0VBQ0Y7RWVsTU07SVVobEJFO01BQ0U7SXpCcXhCUjtFQUNGO0Vldk1NO0lVaGxCRTtNQUNFO0l6QjB4QlI7RUFDRjtFZTVNTTtJVWhsQkU7TUFDRTtJekIreEJSO0VBQ0Y7RWVqTk07SVVobEJFO01BQ0U7SXpCb3lCUjtFQUNGO0V5QjN5QkU7SUFDRTtFekI2eUJKO0Vlek5NO0lVaGxCRTtNQUNFO0l6QjR5QlI7RUFDRjtFZTlOTTtJVWhsQkU7TUFDRTtJekJpekJSO0VBQ0Y7RWVuT007SVVobEJFO01BQ0U7SXpCc3pCUjtFQUNGO0VleE9NO0lVaGxCRTtNQUNFO0l6QjJ6QlI7RUFDRjtFZTdPTTtJVWhsQkU7TUFDRTtJekJnMEJSO0VBQ0Y7RWVsUE07SVVobEJFO01BQ0U7SXpCcTBCUjtFQUNGO0FBQ0Y7QTBCMzFCQTtFQUNFO0VBQ0E7RUFDQTtBMUI2MUJGO0FlN1BRO0VXbm1CUjtJQU1JO0lBQ0E7RTFCODFCRjtBQUNGO0EwQjUxQkU7RUFDRTtBMUI4MUJKOztBMkJwMkJBO0VBRUU7SVRUQTtJQUVFO0lBU0Y7SUFRQTtJSkFBO0lBSUE7SUFDQTtJYVBFO0lBQ0E7RTNCczJCRjtFWXB2QkE7SWUvR0k7SUFDQTtJZjJESjtJQUVFO0VaMnlCRjtFZXpSTTtJSGplTjtNQW5EQTtNQUVFO0laZ3pCQTtFQUNGO0VlL1JNO0lIamVOO01BbkRBO01BRUU7SVpzekJBO0VBQ0Y7RWVyU007SUhqZU47TUFuREE7TUFFRTtJWjR6QkE7RUFDRjtFZTNTTTtJSGplTjtNQW5EQTtNQUVFO0laazBCQTtFQUNGO0UyQngzQkk7SUFDRTtJQUNBO0UzQjAzQk47RTJCdjNCSTtJQUNFO0UzQnkzQk47RVl6eEJBO0lQcEhBO0VMZzVCQTtBQUNGO0E0Qjk1QkE7RWRnQkU7RUFJQTtFQUNBO0VlWkE7RUFDQTtFQVNBLFNEZGtCO0E1Qmk2QnBCO0FlcFVRO0VhbG1CUjtJQ1NFO0lBQ0E7RTdCaTZCQTtBQUNGO0FlMVVRO0VhbG1CUjtJQ1NFO0lBQ0E7RTdCdTZCQTtFNEJwNkJFO0lDQ0Y7RTdCczZCQTtFNEJuNkJFO0lDSEY7RTdCeTZCQTtFNEJsNkJFO0lDUEY7RTdCNDZCQTtBQUNGOztBOEIvN0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Qms4QkY7QThCLzdCRTtFQUNFO0VBQ0E7RUFDQTtBOUJpOEJKO0E4Qjk3QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBOUIrN0JKO0E4Qjc3Qkk7RUFDRTtBOUIrN0JOO0E4QjU3Qkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Qjg3Qk47O0ErQjk5QkE7RUNGRSwrQjNCQ007RTJCQU47RUFDQTtFQUNBO0VBQ0Esa0JERCtCO0ViTC9CO0VBRUU7RWJjRjtFMEJSQTtBL0JzK0JGO0FlellRO0VnQmptQlI7SUFPSTtFL0J1K0JGO0FBQ0Y7QStCcitCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvQnUrQko7QStCcitCSTtFQUNFO0EvQnUrQk47QStCbitCRTtFQUNFO0VBQ0E7QS9CcStCSjtBZTNaUTtFZ0I1a0JOO0lBSUk7RS9CdStCSjtBQUNGO0ErQnArQkU7RUFDRTtFQUNBO0EvQnMrQko7O0FpQ2xnQ0E7RURMRSxjYkZXO0VhR1g7RUFDQSxtQmJFUTtFYURSO0VBQ0EsNEJDRXFFO0VmUnJFO0VBRUU7RWJjRjtFNEJMQTtFQUNBO0VBQ0E7RUFDQTtBakMwZ0NGO0FlbmJRO0VrQjlsQlI7SUFVSTtFakMyZ0NGO0FBQ0Y7QWlDemdDRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakMyZ0NKO0FlaGNRO0VrQmpsQk47SUFTSTtJQUNBO0VqQzRnQ0o7QUFDRjtBaUN6Z0NJO0VBQ0U7QWpDMmdDTjtBaUN2Z0NFO0VBQ0U7RUFDQTtBakN5Z0NKO0FpQ3RnQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDd2dDSjtBaUN0Z0NJO0VBQ0U7RUFDQTtFQUNBO0FqQ3dnQ047O0FrQzNqQ0E7RUZGRSwrQjNCQ007RTJCQU47RUFDQTtFQUNBO0VBQ0EsYUVEK0I7RWhCTC9CO0VBRUU7RWJjRjtFNkJSQTtBbENta0NGO0FrQ2prQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQ21rQ0o7QWtDamtDSTtFQUNFO0FsQ21rQ04sQyIsInNvdXJjZXMiOlsid2VicGFjazovL2NyYWZ0aXEtbGliLy4vc2Nzcy9lbnRyeXBvaW50L2FwcC5zY3NzIiwid2VicGFjazovL2NyYWZ0aXEtbGliLy4vc2Nzcy9jb21wb25lbnQvbGF5ZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vY3JhZnRpcS1saWIvLi9zY3NzL2NvbXBvbmVudC9yZXNldC5zY3NzIiwid2VicGFjazovL2NyYWZ0aXEtbGliLy4vc2Nzcy9saWIvdXRpbC9zdHJpbmcuc2NzcyIsIndlYnBhY2s6Ly9jcmFmdGlxLWxpYi8uL3Njc3MvY29tcG9uZW50L2Rldi5zY3NzIiwid2VicGFjazovL2NyYWZ0aXEtbGliLy4vc2Nzcy9saWIvdWkvdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly9jcmFmdGlxLWxpYi8uL3Njc3MvbGliL3VpL3ZpZXdwb3J0LnNjc3MiLCJ3ZWJwYWNrOi8vY3JhZnRpcS1saWIvLi9zY3NzL2xpYi91aS90eXBvLnNjc3MiLCJ3ZWJwYWNrOi8vY3JhZnRpcS1saWIvLi9zY3NzL2xpYi91aS9ib2R5LWJhY2tncm91bmQuc2NzcyIsIndlYnBhY2s6Ly9jcmFmdGlxLWxpYi8uL3Njc3MvY29tcG9uZW50L2FwcC5zY3NzIiwid2VicGFjazovL2NyYWZ0aXEtbGliLy4vc2Nzcy9jb21wb25lbnQvYm9keS5zY3NzIiwid2VicGFjazovL2NyYWZ0aXEtbGliLy4vc2Nzcy9saWIvdWkvc2l6ZS5zY3NzIiwid2VicGFjazovL2NyYWZ0aXEtbGliLy4vc2Nzcy9saWIvdXRpbC9mb250LnNjc3MiLCJ3ZWJwYWNrOi8vY3JhZnRpcS1saWIvLi9zY3NzL2NvbXBvbmVudC91aS9jb250YWluZXIuc2NzcyIsIndlYnBhY2s6Ly9jcmFmdGlxLWxpYi8uL3Njc3MvbGliL3VpL2NvbnRhaW5lci5zY3NzIiwid2VicGFjazovL2NyYWZ0aXEtbGliLy4vc2Nzcy92ZW5kb3IvaW5jbHVkZS1tZWRpYS5zY3NzIiwid2VicGFjazovL2NyYWZ0aXEtbGliLy4vc2Nzcy9jb21wb25lbnQvdWkvYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vY3JhZnRpcS1saWIvLi9zY3NzL2NvbXBvbmVudC91aS9oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9jcmFmdGlxLWxpYi8uL3Njc3MvbGliL3VpL3N0YWNrLnNjc3MiLCJ3ZWJwYWNrOi8vY3JhZnRpcS1saWIvLi9zY3NzL2xpYi91aS9jb2xvci5zY3NzIiwid2VicGFjazovL2NyYWZ0aXEtbGliLy4vc2Nzcy9jb21wb25lbnQvdWkvZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vY3JhZnRpcS1saWIvLi9zY3NzL2NvbXBvbmVudC91aS9sb2dvLnNjc3MiLCJ3ZWJwYWNrOi8vY3JhZnRpcS1saWIvLi9zY3NzL2NvbXBvbmVudC91aS90aGVtZS1zd2l0Y2hlci5zY3NzIiwid2VicGFjazovL2NyYWZ0aXEtbGliLy4vc2Nzcy9saWIvdXRpbC9kZXZpY2Uuc2NzcyIsIndlYnBhY2s6Ly9jcmFmdGlxLWxpYi8uL3Njc3MvY29tcG9uZW50L3VpL3Zpc2liaWxpdHkuc2NzcyIsIndlYnBhY2s6Ly9jcmFmdGlxLWxpYi8uL3Njc3MvbGliL3VpL3Zpc2liaWxpdHkuc2NzcyIsIndlYnBhY2s6Ly9jcmFmdGlxLWxpYi8uL3Njc3MvY29tcG9uZW50L3VpL2ZpcnN0LXNjcmVlbi5zY3NzIiwid2VicGFjazovL2NyYWZ0aXEtbGliLy4vc2Nzcy9jb21wb25lbnQvdWkvaW52aXRlLnNjc3MiLCJ3ZWJwYWNrOi8vY3JhZnRpcS1saWIvLi9zY3NzL2NvbXBvbmVudC91aS9wdXp6bGUtMzIuc2NzcyIsIndlYnBhY2s6Ly9jcmFmdGlxLWxpYi8uL3Njc3MvbGliL3VpL2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9jcmFmdGlxLWxpYi8uL3Njc3MvY29tcG9uZW50L3VpL2R1by1zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9jcmFmdGlxLWxpYi8uL3Njc3MvY29tcG9uZW50L3VpL3B1enpsZS9tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vY3JhZnRpcS1saWIvLi9zY3NzL2xpYi91aS9wdXp6bGUuc2NzcyIsIndlYnBhY2s6Ly9jcmFmdGlxLWxpYi8uL3Njc3MvY29tcG9uZW50L3VpL3B1enpsZS93aG8uc2NzcyIsIndlYnBhY2s6Ly9jcmFmdGlxLWxpYi8uL3Njc3MvY29tcG9uZW50L3VpL3B1enpsZS9jbGllbnRzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGxheWVyIHJlc2V0LCBjb21tb24sIHRoZW1lLCBvdmVycmlkZTtcbkBsYXllciByZXNldCB7XG4gIC8qXG4gICAgSm9zaCdzIEN1c3RvbSBDU1MgUmVzZXRcbiAgICBodHRwczovL3d3dy5qb3Nod2NvbWVhdS5jb20vY3NzL2N1c3RvbS1jc3MtcmVzZXQvXG4gICovXG4gICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgKiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgIGh0bWwge1xuICAgICAgaW50ZXJwb2xhdGUtc2l6ZTogYWxsb3cta2V5d29yZHM7XG4gICAgfVxuICB9XG4gIGJvZHkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwZHZoO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgaW1nLCBwaWN0dXJlLCB2aWRlbywgY2FudmFzLCBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBpbnB1dCwgYnV0dG9uLCB0ZXh0YXJlYSwgc2VsZWN0IHtcbiAgICBmb250OiBpbmhlcml0O1xuICB9XG4gIHAsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cbiAgcCB7XG4gICAgdGV4dC13cmFwOiBwcmV0dHk7XG4gIH1cbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICB9XG4gICNyb290LCAjX19uZXh0IHtcbiAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gIH1cbn1cbi8qKlxuICogQGxpbmsgaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vY2VydGFpbmx5YWtleS9lOWMwZDhmNWM4N2ZmNDdlM2Q1YlxuICovXG5AbGF5ZXIgY29tbW9uIHtcbiAgOnJvb3Qge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgIzAwMCk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbiAgICAtLWNvbG9yLWJsYWNrOiAjMDAwO1xuICAgIC0tY29sb3Itd2hpdGU6ICNmZmY7XG4gICAgLS1jb2xvci1iYWNrZ3JvdW5kOiAjZmZmO1xuICAgIC0taW1hZ2UtYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwODAlMjA4MCUyMiUyMHNoYXBlLXJlbmRlcmluZyUzRCUyMmNyaXNwRWRnZXMlMjIlM0UlMEElMjAlMjAlM0NwYXRoJTIwZCUzRCUyMk0lMjAwJTIwMCUyMEglMjA4MCUyME0lMjAwJTIwMCUyMFYlMjA4MCUyMiUyMHN0cm9rZSUzRCUyMnJnYmEoMjM1JTJDJTIwMjM1JTJDJTIwMjM1JTJDJTIwMSklMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjUlMjIlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7XG4gICAgLS1pbWFnZS1iYWNrZ3JvdW5kLXRpbGU6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0NDAlMjIlMjBoZWlnaHQlM0QlMjIzMjAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNDQwJTIwMzIwJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2xpbmUlMjB4MSUzRCUyMjUxOS4zNDMlMjIlMjB5MSUzRCUyMjMxOS40MjUlMjIlMjB4MiUzRCUyMjg0Ni4zNDMlMjIlMjB5MiUzRCUyMi03LjU3NTM5JTIyJTIwc3Ryb2tlJTNEJTIycmdiYSgyMzUlMkMlMjAyMzUlMkMlMjAyMzUlMkMlMjAxKSUyMiUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2xpbmUlMjB4MSUzRCUyMi0wLjM1MzU1MyUyMiUyMHkxJTNEJTIyMzE5LjQyNSUyMiUyMHgyJTNEJTIyMzIzLjIzNSUyMiUyMHkyJTNEJTIyLTQuMTYzOTMlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDIzNSUyQyUyMDIzNSUyQyUyMDIzNSUyQyUyMDEpJTIyJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDbGluZSUyMHgxJTNEJTIyOTE3LjIyMyUyMiUyMHkxJTNEJTIyMzE5LjQyNSUyMiUyMHgyJTNEJTIyMTI0MC44MSUyMiUyMHkyJTNEJTIyLTQuMTYzODQlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDIzNSUyQyUyMDIzNSUyQyUyMDIzNSUyQyUyMDEpJTIyJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDbGluZSUyMHgxJTNEJTIyNTE5LjM0MyUyMiUyMHkxJTNEJTIyMzIwLjEzMiUyMiUyMHgyJTNEJTIyMTkyLjg3OCUyMiUyMHkyJTNEJTIyLTYuMzMzMjMlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDIzNSUyQyUyMDIzNSUyQyUyMDIzNSUyQyUyMDEpJTIyJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDbGluZSUyMHgxJTNEJTIyOTE3LjIyMyUyMiUyMHkxJTNEJTIyMzIwLjEzMiUyMiUyMHgyJTNEJTIyNTg4LjIyMyUyMiUyMHkyJTNEJTIyLTguODY4MzQlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDIzNSUyQyUyMDIzNSUyQyUyMDIzNSUyQyUyMDEpJTIyJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwY3glM0QlMjI3MTguMTY0JTIyJTIwY3klM0QlMjIxMjEuNDY4JTIyJTIwciUzRCUyMjE5Ny45NjglMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDIzNSUyQyUyMDIzNSUyQyUyMDIzNSUyQyUyMDEpJTIyJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDbGluZSUyMHgxJTNEJTIyMTQzOS42NSUyMiUyMHkxJTNEJTIyMzIwLjEzMiUyMiUyMHgyJTNEJTIyMTExMy4xOCUyMiUyMHkyJTNEJTIyLTYuMzMzMTQlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDIzNSUyQyUyMDIzNSUyQyUyMDIzNSUyQyUyMDEpJTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xuICAgIC0tdmlld3BvcnQtc206IDQyNXB4O1xuICAgIC0tdmlld3BvcnQtbWQ6IDc2OHB4O1xuICAgIC0tdmlld3BvcnQtbGc6IDEwMjRweDtcbiAgICAtLXZpZXdwb3J0LXhsOiAxNDQwcHg7XG4gICAgLS12aWV3cG9ydC14eGw6IDE5MjBweDtcbiAgICAtLXZpZXdwb3J0OiB4cywgc20sIG1kLCBsZywgeGwsIHh4bDtcbiAgfVxuICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgOnJvb3Qge1xuICAgICAgLS1jb2xvci13aGl0ZTogIzAwMDtcbiAgICAgIC0tY29sb3ItYmxhY2s6ICNmZmY7XG4gICAgICAtLWNvbG9yLWJhY2tncm91bmQ6ICMyMzIzMjM7XG4gICAgICAtLXNlY3Rpb24tYmFja2dyb3VuZDogIzUwNTA1MDtcbiAgICAgIC0tY29sb3ItdGFibGUtZ3JheTogIzMwMzAzMDtcbiAgICAgIC0taW1hZ2UtYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwODAlMjA4MCUyMiUyMHNoYXBlLXJlbmRlcmluZyUzRCUyMmNyaXNwRWRnZXMlMjIlM0UlMEElMjAlMjAlM0NwYXRoJTIwZCUzRCUyMk0lMjAwJTIwMCUyMEglMjA4MCUyME0lMjAwJTIwMCUyMFYlMjA4MCUyMiUyMHN0cm9rZSUzRCUyMnJnYmEoNDglMkMlMjA0OCUyQyUyMDQ4JTJDJTIwMSklMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjUlMjIlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7XG4gICAgICAtLWltYWdlLWJhY2tncm91bmQtdGlsZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQ0MCUyMiUyMGhlaWdodCUzRCUyMjMyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0NDAlMjAzMjAlMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDbGluZSUyMHgxJTNEJTIyNTE5LjM0MyUyMiUyMHkxJTNEJTIyMzE5LjQyNSUyMiUyMHgyJTNEJTIyODQ2LjM0MyUyMiUyMHkyJTNEJTIyLTcuNTc1MzklMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDQ4JTJDJTIwNDglMkMlMjA0OCUyQyUyMDEpJTIyJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDbGluZSUyMHgxJTNEJTIyLTAuMzUzNTUzJTIyJTIweTElM0QlMjIzMTkuNDI1JTIyJTIweDIlM0QlMjIzMjMuMjM1JTIyJTIweTIlM0QlMjItNC4xNjM5MyUyMiUyMHN0cm9rZSUzRCUyMnJnYmEoNDglMkMlMjA0OCUyQyUyMDQ4JTJDJTIwMSklMjIlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0NsaW5lJTIweDElM0QlMjI5MTcuMjIzJTIyJTIweTElM0QlMjIzMTkuNDI1JTIyJTIweDIlM0QlMjIxMjQwLjgxJTIyJTIweTIlM0QlMjItNC4xNjM4NCUyMiUyMHN0cm9rZSUzRCUyMnJnYmEoNDglMkMlMjA0OCUyQyUyMDQ4JTJDJTIwMSklMjIlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0NsaW5lJTIweDElM0QlMjI1MTkuMzQzJTIyJTIweTElM0QlMjIzMjAuMTMyJTIyJTIweDIlM0QlMjIxOTIuODc4JTIyJTIweTIlM0QlMjItNi4zMzMyMyUyMiUyMHN0cm9rZSUzRCUyMnJnYmEoNDglMkMlMjA0OCUyQyUyMDQ4JTJDJTIwMSklMjIlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0NsaW5lJTIweDElM0QlMjI5MTcuMjIzJTIyJTIweTElM0QlMjIzMjAuMTMyJTIyJTIweDIlM0QlMjI1ODguMjIzJTIyJTIweTIlM0QlMjItOC44NjgzNCUyMiUyMHN0cm9rZSUzRCUyMnJnYmEoNDglMkMlMjA0OCUyQyUyMDQ4JTJDJTIwMSklMjIlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBjeCUzRCUyMjcxOC4xNjQlMjIlMjBjeSUzRCUyMjEyMS40NjglMjIlMjByJTNEJTIyMTk3Ljk2OCUyMiUyMHN0cm9rZSUzRCUyMnJnYmEoNDglMkMlMjA0OCUyQyUyMDQ4JTJDJTIwMSklMjIlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0NsaW5lJTIweDElM0QlMjIxNDM5LjY1JTIyJTIweTElM0QlMjIzMjAuMTMyJTIyJTIweDIlM0QlMjIxMTEzLjE4JTIyJTIweTIlM0QlMjItNi4zMzMxNCUyMiUyMHN0cm9rZSUzRCUyMnJnYmEoNDglMkMlMjA0OCUyQyUyMDQ4JTJDJTIwMSklMjIlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7XG4gICAgfVxuICB9XG4gIDpyb290OmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmUtY29sb3I6ICNFNjU5MjY7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDRweDtcbiAgICBvdXRsaW5lLXN0eWxlOiBhdXRvO1xuICB9XG4gIGFydGljbGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlNlZ29lIFVJXCIsIFRhaG9tYSwgR2VuZXZhLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG4gIGFydGljbGUgaDEge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuICBhcnRpY2xlIGgyIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgfVxuICBhcnRpY2xlIGgzIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBtYXJnaW46IDAgMCAwLjhyZW07XG4gIH1cbiAgYXJ0aWNsZSBoNCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWFyZ2luOiAwIDAgMC42cmVtO1xuICB9XG4gIGFydGljbGUgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgfVxuICBhcnRpY2xlIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luOiAwIDAgMC40cmVtO1xuICB9XG4gIGFydGljbGUgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuICBhcnRpY2xlIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItLXR5cG8tZ3JheSwgIzUwNTA1MCk7XG4gIH1cbiAgYXJ0aWNsZSBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbiAgYXJ0aWNsZSBlbSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG4gIGFydGljbGUgdSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgYXJ0aWNsZSBzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgfVxuICBhcnRpY2xlIG1hcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFNjU5MjY7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLS10eXBvLWdyYXktbGlnaHQsICNFQkVCRUIpO1xuICAgIHBhZGRpbmc6IDAuMmVtIDAuNGVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgfVxuICBhcnRpY2xlIGNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci0tdHlwby1ncmF5LWxpZ2h0LCAjRUJFQkVCKTtcbiAgICBwYWRkaW5nOiAwLjJlbSAwLjRlbTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBjb2xvcjogI0U2NTkyNjtcbiAgfVxuICBhcnRpY2xlIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMS41cmVtIDA7XG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItLXR5cG8tZ3JheS1saWdodCwgI0VCRUJFQik7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB2YXIoLS1jb2xvci0tdHlwby1ncmF5LCAjNTA1MDUwKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLS10eXBvLWdyYXksICM1MDUwNTApO1xuICB9XG4gIGFydGljbGUgYmxvY2txdW90ZSBmb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItLXR5cG8tZ3JheSwgIzUwNTA1MCk7XG4gIH1cbiAgYXJ0aWNsZSB1bCwgYXJ0aWNsZSBvbCB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMXJlbSAycmVtO1xuICB9XG4gIGFydGljbGUgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxuICBhcnRpY2xlIHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gIH1cbiAgYXJ0aWNsZSB1bCBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogI0U2NTkyNjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIGFydGljbGUgb2wge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbiAgYXJ0aWNsZSBkbCB7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gIH1cbiAgYXJ0aWNsZSBkdCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIH1cbiAgYXJ0aWNsZSBkZCB7XG4gICAgbWFyZ2luOiAwLjNyZW0gMCAwLjhyZW0gMXJlbTtcbiAgfVxuICBhcnRpY2xlIHByZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItLXR5cG8tZ3JheSwgIzUwNTA1MCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlLCAjZmZmKTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICB9XG4gIGFydGljbGUgcHJlIGNvZGUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICBhcnRpY2xlIGhyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogI0VCRUJFQjtcbiAgICBtYXJnaW46IDJyZW0gMDtcbiAgfVxuICBhcnRpY2xlIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIG1hcmdpbjogMXJlbSAwIDJyZW07XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICB9XG4gIGFydGljbGUgdGgsIGFydGljbGUgdGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1MDUwNTA7XG4gICAgcGFkZGluZzogMC43NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIGFydGljbGUgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRhYmxlLWdyYXksICNFQkVCRUIpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cbiAgYXJ0aWNsZSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRhYmxlLWdyYXksICNFQkVCRUIpO1xuICB9XG4gIGFydGljbGUgZmlndXJlIHtcbiAgICBtYXJnaW46IDEuNXJlbSAwO1xuICB9XG4gIGFydGljbGUgZmlnY2FwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogIzY2NjtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogI0U2NTkyNjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgYTpob3ZlciwgYTphY3RpdmUsIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6ICNkMjQ0MTI7XG4gIH1cbiAgLmxpbmstZXh0ZXJuYWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlvihpddXCI7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gIH1cbiAgLmxpbmstbXV0ZWQge1xuICAgIGNvbG9yOiAjNTA1MDUwO1xuICB9XG4gIC5saW5rLWRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItLXR5cG8tZ3JheSwgIzUwNTA1MCk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgLnRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAudGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAudGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLnRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxuICBvbCB7XG4gICAgY291bnRlci1yZXNldDogc3RlcDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICBvbCBsaSB7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IHN0ZXA7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIG9sIGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGNvdW50ZXIoc3RlcCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjRTY1OTI2O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCwgI2ZmZik7XG4gICAgZmlsbDogI0VCRUJFQjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWFnZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtY3Jpc3AtZWRnZXM7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gIH1cbiAgYXJ0aWNsZSB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cbiAgYXJ0aWNsZSBzZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSwgI2ZmZik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2VjdGlvbi1iYWNrZ3JvdW5kLCAjMDAwKTtcbiAgICBwYWRkaW5nOiAzNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgbWF4LXdpZHRoOiAxMzEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICB9XG59XG5AbGF5ZXIgdGhlbWUge1xuICA6cm9vdC50aGVtZS1kYXJrIHtcbiAgICAtLWNvbG9yLXdoaXRlOiAjMDAwO1xuICAgIC0tY29sb3ItYmxhY2s6ICNmZmY7XG4gICAgLS1jb2xvci1iYWNrZ3JvdW5kOiAjMjMyMzIzO1xuICAgIC0tc2VjdGlvbi1iYWNrZ3JvdW5kOiAjNTA1MDUwO1xuICAgIC0tY29sb3ItdGFibGUtZ3JheTogIzMwMzAzMDtcbiAgICAtLWltYWdlLWJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDgwJTIwODAlMjIlMjBzaGFwZS1yZW5kZXJpbmclM0QlMjJjcmlzcEVkZ2VzJTIyJTNFJTBBJTIwJTIwJTNDcGF0aCUyMGQlM0QlMjJNJTIwMCUyMDAlMjBIJTIwODAlMjBNJTIwMCUyMDAlMjBWJTIwODAlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDQ4JTJDJTIwNDglMkMlMjA0OCUyQyUyMDEpJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS41JTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xuICAgIC0taW1hZ2UtYmFja2dyb3VuZC10aWxlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNDQwJTIyJTIwaGVpZ2h0JTNEJTIyMzIwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQ0MCUyMDMyMCUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NsaW5lJTIweDElM0QlMjI1MTkuMzQzJTIyJTIweTElM0QlMjIzMTkuNDI1JTIyJTIweDIlM0QlMjI4NDYuMzQzJTIyJTIweTIlM0QlMjItNy41NzUzOSUyMiUyMHN0cm9rZSUzRCUyMnJnYmEoNDglMkMlMjA0OCUyQyUyMDQ4JTJDJTIwMSklMjIlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0NsaW5lJTIweDElM0QlMjItMC4zNTM1NTMlMjIlMjB5MSUzRCUyMjMxOS40MjUlMjIlMjB4MiUzRCUyMjMyMy4yMzUlMjIlMjB5MiUzRCUyMi00LjE2MzkzJTIyJTIwc3Ryb2tlJTNEJTIycmdiYSg0OCUyQyUyMDQ4JTJDJTIwNDglMkMlMjAxKSUyMiUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2xpbmUlMjB4MSUzRCUyMjkxNy4yMjMlMjIlMjB5MSUzRCUyMjMxOS40MjUlMjIlMjB4MiUzRCUyMjEyNDAuODElMjIlMjB5MiUzRCUyMi00LjE2Mzg0JTIyJTIwc3Ryb2tlJTNEJTIycmdiYSg0OCUyQyUyMDQ4JTJDJTIwNDglMkMlMjAxKSUyMiUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2xpbmUlMjB4MSUzRCUyMjUxOS4zNDMlMjIlMjB5MSUzRCUyMjMyMC4xMzIlMjIlMjB4MiUzRCUyMjE5Mi44NzglMjIlMjB5MiUzRCUyMi02LjMzMzIzJTIyJTIwc3Ryb2tlJTNEJTIycmdiYSg0OCUyQyUyMDQ4JTJDJTIwNDglMkMlMjAxKSUyMiUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2xpbmUlMjB4MSUzRCUyMjkxNy4yMjMlMjIlMjB5MSUzRCUyMjMyMC4xMzIlMjIlMjB4MiUzRCUyMjU4OC4yMjMlMjIlMjB5MiUzRCUyMi04Ljg2ODM0JTIyJTIwc3Ryb2tlJTNEJTIycmdiYSg0OCUyQyUyMDQ4JTJDJTIwNDglMkMlMjAxKSUyMiUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGN4JTNEJTIyNzE4LjE2NCUyMiUyMGN5JTNEJTIyMTIxLjQ2OCUyMiUyMHIlM0QlMjIxOTcuOTY4JTIyJTIwc3Ryb2tlJTNEJTIycmdiYSg0OCUyQyUyMDQ4JTJDJTIwNDglMkMlMjAxKSUyMiUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2xpbmUlMjB4MSUzRCUyMjE0MzkuNjUlMjIlMjB5MSUzRCUyMjMyMC4xMzIlMjIlMjB4MiUzRCUyMjExMTMuMTglMjIlMjB5MiUzRCUyMi02LjMzMzE0JTIyJTIwc3Ryb2tlJTNEJTIycmdiYSg0OCUyQyUyMDQ4JTJDJTIwNDglMkMlMjAxKSUyMiUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbiAgfVxuICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgOnJvb3QudGhlbWUtbGlnaHQge1xuICAgICAgLS1jb2xvci1ibGFjazogIzAwMDtcbiAgICAgIC0tY29sb3Itd2hpdGU6ICNmZmY7XG4gICAgICAtLWNvbG9yLWJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAtLWltYWdlLWJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDgwJTIwODAlMjIlMjBzaGFwZS1yZW5kZXJpbmclM0QlMjJjcmlzcEVkZ2VzJTIyJTNFJTBBJTIwJTIwJTNDcGF0aCUyMGQlM0QlMjJNJTIwMCUyMDAlMjBIJTIwODAlMjBNJTIwMCUyMDAlMjBWJTIwODAlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDIzNSUyQyUyMDIzNSUyQyUyMDIzNSUyQyUyMDEpJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS41JTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xuICAgICAgLS1pbWFnZS1iYWNrZ3JvdW5kLXRpbGU6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0NDAlMjIlMjBoZWlnaHQlM0QlMjIzMjAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNDQwJTIwMzIwJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2xpbmUlMjB4MSUzRCUyMjUxOS4zNDMlMjIlMjB5MSUzRCUyMjMxOS40MjUlMjIlMjB4MiUzRCUyMjg0Ni4zNDMlMjIlMjB5MiUzRCUyMi03LjU3NTM5JTIyJTIwc3Ryb2tlJTNEJTIycmdiYSgyMzUlMkMlMjAyMzUlMkMlMjAyMzUlMkMlMjAxKSUyMiUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2xpbmUlMjB4MSUzRCUyMi0wLjM1MzU1MyUyMiUyMHkxJTNEJTIyMzE5LjQyNSUyMiUyMHgyJTNEJTIyMzIzLjIzNSUyMiUyMHkyJTNEJTIyLTQuMTYzOTMlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDIzNSUyQyUyMDIzNSUyQyUyMDIzNSUyQyUyMDEpJTIyJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDbGluZSUyMHgxJTNEJTIyOTE3LjIyMyUyMiUyMHkxJTNEJTIyMzE5LjQyNSUyMiUyMHgyJTNEJTIyMTI0MC44MSUyMiUyMHkyJTNEJTIyLTQuMTYzODQlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDIzNSUyQyUyMDIzNSUyQyUyMDIzNSUyQyUyMDEpJTIyJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDbGluZSUyMHgxJTNEJTIyNTE5LjM0MyUyMiUyMHkxJTNEJTIyMzIwLjEzMiUyMiUyMHgyJTNEJTIyMTkyLjg3OCUyMiUyMHkyJTNEJTIyLTYuMzMzMjMlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDIzNSUyQyUyMDIzNSUyQyUyMDIzNSUyQyUyMDEpJTIyJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDbGluZSUyMHgxJTNEJTIyOTE3LjIyMyUyMiUyMHkxJTNEJTIyMzIwLjEzMiUyMiUyMHgyJTNEJTIyNTg4LjIyMyUyMiUyMHkyJTNEJTIyLTguODY4MzQlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDIzNSUyQyUyMDIzNSUyQyUyMDIzNSUyQyUyMDEpJTIyJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwY3glM0QlMjI3MTguMTY0JTIyJTIwY3klM0QlMjIxMjEuNDY4JTIyJTIwciUzRCUyMjE5Ny45NjglMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDIzNSUyQyUyMDIzNSUyQyUyMDIzNSUyQyUyMDEpJTIyJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDbGluZSUyMHgxJTNEJTIyMTQzOS42NSUyMiUyMHkxJTNEJTIyMzIwLjEzMiUyMiUyMHgyJTNEJTIyMTExMy4xOCUyMiUyMHkyJTNEJTIyLTYuMzMzMTQlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDIzNSUyQyUyMDIzNSUyQyUyMDIzNSUyQyUyMDEpJTIyJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xuICAgIH1cbiAgfVxufVxuQGxheWVyIGNvbW1vbiB7XG4gIGh0bWwsIGJvZHkge1xuICAgIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZTtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gIH1cbiAgLm1hcmtlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIG1pbi13aWR0aDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjRTY1OTI2O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjMwLCA4OSwgMzgsIDAuNSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5tYXJrZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgbWluLXdpZHRoOiAxNjBweDtcbiAgICBtaW4taGVpZ2h0OiAxNjBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDJTNGeG1sJTIwdmVyc2lvbiUzRCUyMjEuMCUyMiUyMGVuY29kaW5nJTNEJTIyVVRGLTglMjIlM0YlM0UlMEElM0MhLS0lMjBVcGxvYWRlZCUyMHRvJTNBJTIwU1ZHJTIwUmVwbyUyQyUyMHd3dy5zdmdyZXBvLmNvbSUyQyUyMEdlbmVyYXRvciUzQSUyMFNWRyUyMFJlcG8lMjBNaXhlciUyMFRvb2xzJTIwLS0lM0UlMEElM0NzdmclMjB3aWR0aCUzRCUyMjgwMHB4JTIyJTIwaGVpZ2h0JTNEJTIyODAwcHglMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMDAlMjAxMDAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZlcnNpb24lM0QlMjIxLjElMjIlM0UlMEElMEElMjAlMjAlMjAlM0NwYXRoJTIwJTIwc3R5bGUlM0QlMjJmaWxsJTNBJTIzRTBDOTNGJTNCJTIyJTIwZCUzRCUyMk0lMjA0NSUyQzkwJTIwNDUlMkM1MCUyMDQlMkMzMiUyMDE2JTJDMjglMjAxNiUyQzI0JTIwYyUyMDAlMkMwJTIwMyUyQy03JTIwMjAlMkMtMiUyMGwlMjA2JTJDLTMlMjAwJTJDLTQlMjBjJTIwMCUyQzAlMjA3JTJDLTYlMjAyMSUyQzAlMjBsJTIwMCUyQzQlMjA4JTJDNCUyMGMlMjAwJTJDMCUyMDE1JTJDLTIlMjAxNCUyQzUlMjBsJTIwMTElMkM1JTIwMCUyQzM5JTIweiUyMiUyRiUzRSUwQSUyMCUyMCUyMCUzQ3BhdGglMjAlMjBzdHlsZSUzRCUyMmZpbGwlM0ElMjM5QTc1MjIlM0IlMjIlMjBkJTNEJTIybSUyMDU4JTJDMzQlMjAwJTJDOCUyMGMlMjAwJTJDMCUyMC0xMCUyQzYlMjAtMjElMkMwJTIwbCUyMDAlMkMtOCUyMGMlMjAwJTJDMCUyMDEzJTJDNiUyMDIxJTJDMCUyMHolMjBtJTIwNiUyQy04JTIwMCUyQzglMjBjJTIwMCUyQzAlMjA4JTJDNyUyMDIxJTJDMCUyMGwlMjAwJTJDLTglMjBjJTIwMCUyQzAlMjAtMTAlMkM2JTIwLTIxJTJDMCUyMHolMjBtJTIwLTIyJTJDLTEwJTIwMCUyQzglMjBjJTIwMCUyQzAlMjAxMSUyQzclMjAyMSUyQy0xJTIwbCUyMDAlMkMtNyUyMGMlMjAwJTJDMCUyMC0xMSUyQzYlMjAtMjElMkMwJTIweiUyMG0lMjAtMjYlMkM4JTIwMCUyQzglMjBjJTIwMCUyQzAlMjAxMSUyQzclMjAyMSUyQy0xJTIwbCUyMDAlMkMtNyUyMGMlMjAwJTJDMCUyMC0xMSUyQzYlMjAtMjElMkMwJTIweiUyME0lMjA0JTJDMzIlMjA0JTJDNzElMjA0NSUyQzkwJTIwNDUlMkM1MCUyMHolMjIlMkYlM0UlMEElMEElM0MlMkZzdmclM0VcIikgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5ncmF2aXR5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICB9XG59XG5ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgZm9udC1mYW1pbHk6IFwiU3BhY2UgR3JvdGVza1wiLCBcIk1UUyBDb21wYWN0XCIsIFwiU2Vnb2UgVUkgVmFyaWFibGVcIiwgXCJTYW4gRnJhbmNpc2NvXCIsIHNhbnMtc2VyaWY7XG59XG5ib2R5OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbWFnZS1iYWNrZ3JvdW5kLXRpbGUtY29sb3IpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1pbWFnZS1iYWNrZ3JvdW5kLXRpbGUpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xuICBoZWlnaHQ6IDMyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xufVxuYm9keTphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1pbWFnZS1iYWNrZ3JvdW5kLXRpbGUpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xuICByb3RhdGU6IDE4MGRlZztcbiAgaGVpZ2h0OiAzMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztcbn1cbmJvZHkgPiAqIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTVRTIENvbXBhY3RcIjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiBsb2NhbChcIk1UUyBDb21wYWN0XCIpLCB1cmwoXCIuLi8uLi9yZXNvdXJjZXMvZm9udC9tdHMtY29tcGFjdC9SZWd1bGFyLnR0ZlwiKSBmb3JtYXQodHJ1ZXR5cGUpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1UUyBDb21wYWN0XCI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHNyYzogbG9jYWwoXCJNVFMgQ29tcGFjdFwiKSwgdXJsKFwiLi4vLi4vcmVzb3VyY2VzL2ZvbnQvbXRzLWNvbXBhY3QvTWVkaXVtLnR0ZlwiKSBmb3JtYXQodHJ1ZXR5cGUpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1UUyBDb21wYWN0XCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBzcmM6IGxvY2FsKFwiTVRTIENvbXBhY3RcIiksIHVybChcIi4uLy4uL3Jlc291cmNlcy9mb250L210cy1jb21wYWN0L0JvbGQudHRmXCIpIGZvcm1hdCh0cnVldHlwZSk7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU3BhY2UgR3JvdGVza1wiO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IGxvY2FsKFwiU3BhY2UgR3JvdGVza1wiKSwgdXJsKFwiLi4vLi4vcmVzb3VyY2VzL2ZvbnQvc3BhY2UtZ3JvdGVzay9MaWdodC50dGZcIikgZm9ybWF0KHRydWV0eXBlKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTcGFjZSBHcm90ZXNrXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogbG9jYWwoXCJTcGFjZSBHcm90ZXNrXCIpLCB1cmwoXCIuLi8uLi9yZXNvdXJjZXMvZm9udC9zcGFjZS1ncm90ZXNrL1JlZ3VsYXIudHRmXCIpIGZvcm1hdCh0cnVldHlwZSk7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU3BhY2UgR3JvdGVza1wiO1xuICBmb250LXdlaWdodDogNTAwO1xuICBzcmM6IGxvY2FsKFwiU3BhY2UgR3JvdGVza1wiKSwgdXJsKFwiLi4vLi4vcmVzb3VyY2VzL2ZvbnQvc3BhY2UtZ3JvdGVzay9NZWRpdW0udHRmXCIpIGZvcm1hdCh0cnVldHlwZSk7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU3BhY2UgR3JvdGVza1wiO1xuICBmb250LXdlaWdodDogNjAwO1xuICBzcmM6IGxvY2FsKFwiU3BhY2UgR3JvdGVza1wiKSwgdXJsKFwiLi4vLi4vcmVzb3VyY2VzL2ZvbnQvc3BhY2UtZ3JvdGVzay9TZW1pQm9sZC50dGZcIikgZm9ybWF0KHRydWV0eXBlKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTcGFjZSBHcm90ZXNrXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBzcmM6IGxvY2FsKFwiU3BhY2UgR3JvdGVza1wiKSwgdXJsKFwiLi4vLi4vcmVzb3VyY2VzL2ZvbnQvc3BhY2UtZ3JvdGVzay9Cb2xkLnR0ZlwiKSBmb3JtYXQodHJ1ZXR5cGUpO1xufVxuQGxheWVyIGNvbW1vbiB7XG4gIDpyb290IHtcbiAgICAtLXNpemUtY29udGFpbmVyLXdpZHRoOiAxMDAlO1xuICAgIC0tc2l6ZS1jb250YWluZXItZ2FwOiAzMHB4O1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MjVweCkge1xuICAgIDpyb290IHtcbiAgICAgIC0tc2l6ZS1jb250YWluZXItd2lkdGg6IDQyNXB4O1xuICAgICAgLS1zaXplLWNvbnRhaW5lci1nYXA6IDI1cHg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIDpyb290IHtcbiAgICAgIC0tc2l6ZS1jb250YWluZXItd2lkdGg6IDc2OHB4O1xuICAgICAgLS1zaXplLWNvbnRhaW5lci1nYXA6IDQ4cHg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAtLXNpemUtY29udGFpbmVyLXdpZHRoOiAxMDI0cHg7XG4gICAgICAtLXNpemUtY29udGFpbmVyLWdhcDogMTQ0cHg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAtLXNpemUtY29udGFpbmVyLXdpZHRoOiAxNDQwcHg7XG4gICAgICAtLXNpemUtY29udGFpbmVyLWdhcDogODBweDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAgIDpyb290IHtcbiAgICAgIC0tc2l6ZS1jb250YWluZXItd2lkdGg6IDE5MjBweDtcbiAgICAgIC0tc2l6ZS1jb250YWluZXItZ2FwOiA4MHB4O1xuICAgIH1cbiAgfVxuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zaXplLWNvbnRhaW5lci13aWR0aCwgMTAwJSkgLSB2YXIoLS1zaXplLWNvbnRhaW5lci1nYXAsIDMwcHgpKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgfVxufVxuLypcbkJVVFRPTiBQQUxFVFRFXG5cbmNvbW1vbjogMzUweDY4IGJsYWNrIDIwLzI4LzQwMFxucHJpbWFyeTogMzUweDY4IG9yYW5nZSAyMC8yOC80MDBcbm91dGxpbmU6IDE3MHg1NiB3aGl0ZSAyMC8yOC80MDBcbnNtYWxsOiAxOTB4MjkgPGNvbG9yPiAyMC8yOC80MDBcblxuICovXG5AbGF5ZXIgY29tbW9uIHtcbiAgLmJ0biB7XG4gICAgLS1idG4tZnJvbnQ6IGJ1dHRvbnRleHQ7XG4gICAgLS1idG4tYmFjazogYnV0dG9uZmFjZTtcbiAgICAtLWJ0bi1mcm9udC0taG92ZXI6IGJ1dHRvbnRleHQ7XG4gICAgLS1idG4tYmFjay0taG92ZXI6IGJ1dHRvbmZhY2U7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMzlweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMsIGNvbG9yIDEuNXMsIGJvcmRlci1jb2xvciAwLjJzO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1iYWNrKTtcbiAgICBjb2xvcjogdmFyKC0tYnRuLWZyb250KTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDI1cHgpIHtcbiAgICAuYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIH1cbiAgfVxuICAuYnRuOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLWJhY2stLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tYnRuLWZyb250LS1ob3Zlcik7XG4gIH1cbiAgLmJ0bi0tcHJpbWFyeSB7XG4gICAgLS1idG4tYmFjazogI0U2NTkyNjtcbiAgICAtLWJ0bi1iYWNrLS1ob3ZlcjogI2QyNDQxMjtcbiAgICAtLWJ0bi1mcm9udDogI2ZmZjtcbiAgICAtLWJ0bi1mcm9udC0taG92ZXI6ICNmZmY7XG4gIH1cbiAgLmJ0bi0tc2Vjb25kYXJ5IHtcbiAgICAtLWJ0bi1iYWNrOiB2YXIoLS1jb2xvci1ibGFjaywgIzAwMCk7XG4gICAgLS1idG4tYmFjay0taG92ZXI6IHZhcigtLWNvbG9yLS10eXBvLWdyYXksICM1MDUwNTApO1xuICAgIC0tYnRuLWZyb250OiB2YXIoLS1jb2xvci13aGl0ZSwgI2ZmZik7XG4gICAgLS1idG4tZnJvbnQtLWhvdmVyOiAjRUJFQkVCO1xuICB9XG4gIC5idG4tLXdoaXRlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1idG4tZnJvbnQpO1xuICAgIC0tYnRuLWJhY2s6ICNmZmY7XG4gICAgLS1idG4tYmFjay0taG92ZXI6ICMwMDA7XG4gICAgLS1idG4tZnJvbnQ6ICMwMDA7XG4gICAgLS1idG4tZnJvbnQtLWhvdmVyOiAjZmZmO1xuICB9XG4gIC5idG4tLXdoaXRlOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1iYWNrKTtcbiAgfVxuICAuYnRuLS1ibGFjayB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYnRuLWZyb250KTtcbiAgICAtLWJ0bi1iYWNrOiAjMDAwO1xuICAgIC0tYnRuLWJhY2stLWhvdmVyOiAjZmZmO1xuICAgIC0tYnRuLWZyb250OiAjZmZmO1xuICAgIC0tYnRuLWZyb250LS1ob3ZlcjogIzAwMDtcbiAgfVxuICAuYnRuLS1ibGFjazpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tYmFjayk7XG4gIH1cbiAgLmJ0bi0tb3V0bGluZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWJ0bi1iYWNrKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1idG4tYmFjayk7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICB9XG4gIC5idG4tLW91dGxpbmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1iYWNrKTtcbiAgICBjb2xvcjogdmFyKC0tYnRuLWZyb250KTtcbiAgfVxuICAuYnRuLS1zbWFsbCB7XG4gICAgcGFkZGluZzogMCAxN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIH1cbiAgLmJ0bi0tbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBsaW5lLWhlaWdodDogNjZweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5idG4tLWxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IDAgMzJweDtcbiAgICB9XG4gIH1cbiAgLmJ0bi0td2lkZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBsYXllciBjb21tb24ge1xuICBib2R5ID4gaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXNpemUtY29udGFpbmVyLXdpZHRoLCAxMDAlKSAtIHZhcigtLXNpemUtY29udGFpbmVyLWdhcCwgMzBweCkpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICB9XG4gIGJvZHkgPiBoZWFkZXIgc2VjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNDBweDtcbiAgfVxuICBib2R5ID4gaGVhZGVyIHNlY3Rpb24gLmJ0biB7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICB9XG4gIGJvZHkgPiBoZWFkZXIgbmF2IHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgfVxuICBib2R5ID4gaGVhZGVyIG5hdiBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssICMwMDApO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAxLjVzO1xuICB9XG4gIGJvZHkgPiBoZWFkZXIgbmF2IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjRTY1OTI2O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuQGxheWVyIGNvbW1vbiB7XG4gIGJvZHkgPiBmb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zaXplLWNvbnRhaW5lci13aWR0aCwgMTAwJSkgLSB2YXIoLS1zaXplLWNvbnRhaW5lci1nYXAsIDMwcHgpKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgfVxuICBib2R5ID4gZm9vdGVyIHNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibGFjaywgIzAwMCk7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQyNXB4KSB7XG4gICAgYm9keSA+IGZvb3RlciBzZWN0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gIH1cbiAgYm9keSA+IGZvb3RlciAuZm9vdGVyX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgfVxufVxuQGxheWVyIGNvbW1vbiB7XG4gIC5sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDJTNGeG1sJTIwdmVyc2lvbiUzRCUyMjEuMCUyMiUyMGVuY29kaW5nJTNEJTIydXRmLTglMjIlM0YlM0UlMEElM0MhLS0lMjBHZW5lcmF0b3IlM0ElMjBBZG9iZSUyMElsbHVzdHJhdG9yJTIwMjUuNC4wJTJDJTIwU1ZHJTIwRXhwb3J0JTIwUGx1Zy1JbiUyMC4lMjBTVkclMjBWZXJzaW9uJTNBJTIwNi4wMCUyMEJ1aWxkJTIwMCklMjAlMjAtLSUzRSUwQSUzQ3N2ZyUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjBpZCUzRCUyMiVEMCVBMSVEMCVCQiVEMCVCRSVEMCVCOV8xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlMjB4JTNEJTIyMHB4JTIyJTIweSUzRCUyMjBweCUyMiUwQSUwOSUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI2OCUyMDY4JTIyJTIwc3R5bGUlM0QlMjJlbmFibGUtYmFja2dyb3VuZCUzQW5ldyUyMDAlMjAwJTIwMjY4JTIwNjglM0IlMjIlMjB4bWwlM0FzcGFjZSUzRCUyMnByZXNlcnZlJTIyJTNFJTBBJTNDc3R5bGUlMjB0eXBlJTNEJTIydGV4dCUyRmNzcyUyMiUzRSUwQSUwOS5zdDAlN0JmaWxsJTNBJTIzRjk0QjI4JTNCJTdEJTBBJTA5LnN0MSU3QmZpbGwlM0ElMjNGRkZGRkYlM0IlN0QlMEElMDkuc3QyJTdCZmlsbCUzQSUyM0ZGRkZGRiUzQnN0cm9rZSUzQSUyM0Y5NEIyOCUzQnN0cm9rZS13aWR0aCUzQTMlM0JzdHJva2UtbWl0ZXJsaW1pdCUzQTEwJTNCJTdEJTBBJTNDJTJGc3R5bGUlM0UlMEElM0NnJTNFJTBBJTA5JTNDcGF0aCUyMGNsYXNzJTNEJTIyc3QwJTIyJTIwZCUzRCUyMk0xMDAuNyUyQzQ5LjJIODUuM2MtMC44JTJDMC0xLjctMC4xLTIuNi0wLjRjLTAuOS0wLjMtMS44LTAuNy0yLjYtMS40Yy0wLjgtMC42LTEuNS0xLjUtMi0yLjUlMEElMDklMDljLTAuNS0xLTAuOC0yLjMtMC44LTMuN3YtNy43YzAtMC41JTJDMC4xLTEuMSUyQzAuMi0xLjdjMC4xLTAuNiUyQzAuMy0xLjIlMkMwLjYtMS44YzAuMy0wLjYlMkMwLjYtMS4yJTJDMS0xLjdjMC40LTAuNSUyQzAuOS0xJTJDMS41LTEuNCUwQSUwOSUwOWMwLjYtMC40JTJDMS4zLTAuNyUyQzIuMS0xYzAuOC0wLjIlMkMxLjctMC40JTJDMi42LTAuNGgxNS41djUuN0g4NS4zYy0wLjclMkMwLTEuMyUyQzAuMi0xLjclMkMwLjZjLTAuNCUyQzAuNC0wLjYlMkMxLTAuNiUyQzEuOHY3LjclMEElMDklMDljMCUyQzAuNyUyQzAuMiUyQzEuMyUyQzAuNiUyQzEuN3MxJTJDMC42JTJDMS43JTJDMC42aDE1LjRWNDkuMnolMjIlMkYlM0UlMEElMDklM0NwYXRoJTIwY2xhc3MlM0QlMjJzdDAlMjIlMjBkJTNEJTIyTTEyNi4yJTJDMzEuMmgtMTIuOGMtMC44JTJDMC0xLjQlMkMwLjItMS44JTJDMC42cy0wLjYlMkMxLTAuNiUyQzEuN3YxNS43aC01LjdWMzMuNWMwLTElMkMwLjEtMS45JTJDMC40LTIuNiUwQSUwOSUwOWMwLjItMC44JTJDMC42LTEuNSUyQzEtMi4xYzAuNC0wLjYlMkMwLjktMS4xJTJDMS40LTEuNWMwLjUtMC40JTJDMS4xLTAuOCUyQzEuNy0xYzAuNi0wLjMlMkMxLjItMC41JTJDMS44LTAuNmMwLjYtMC4xJTJDMS4yLTAuMiUyQzEuNy0wLjJoMTIuOVYzMS4yJTBBJTA5JTA5eiUyMiUyRiUzRSUwQSUwOSUzQ3BhdGglMjBjbGFzcyUzRCUyMnN0MCUyMiUyMGQlM0QlMjJNMTU0LjUlMkM0MS4zYzAlMkMwLjgtMC4xJTJDMS42LTAuNCUyQzIuNmMtMC4zJTJDMC45LTAuNyUyQzEuOC0xLjMlMkMyLjVjLTAuNiUyQzAuOC0xLjQlMkMxLjQtMi40JTJDMmMtMSUyQzAuNS0yLjIlMkMwLjgtMy43JTJDMC44JTBBJTA5JTA5aC0xMC4zYy0wLjglMkMwLTEuNi0wLjEtMi42LTAuNGMtMC45LTAuMy0xLjgtMC43LTIuNS0xLjNjLTAuOC0wLjYtMS40LTEuNC0yLTIuNGMtMC41LTEtMC44LTIuMi0wLjgtMy43YzAtMC44JTJDMC4xLTEuNiUyQzAuNC0yLjYlMEElMDklMDljMC4zLTAuOSUyQzAuNy0xLjglMkMxLjMtMi42YzAuNi0wLjglMkMxLjQtMS40JTJDMi40LTJjMS0wLjUlMkMyLjItMC44JTJDMy43LTAuOGgxMC4zdjUuNGgtMTAuM2MtMC44JTJDMC0xLjQlMkMwLjItMS44JTJDMC43JTBBJTA5JTA5Yy0wLjQlMkMwLjUtMC42JTJDMS4xLTAuNiUyQzEuOGMwJTJDMC43JTJDMC4yJTJDMS4zJTJDMC43JTJDMS43YzAuNSUyQzAuNCUyQzEuMSUyQzAuNiUyQzEuNyUyQzAuNmgxMC4yYzAuOCUyQzAlMkMxLjQtMC4yJTJDMS44LTAuN2MwLjQtMC41JTJDMC42LTEuMSUyQzAuNi0xLjh2LTglMEElMDklMDljMC0wLjctMC4yLTEuMy0wLjctMS44Yy0wLjUtMC40LTEtMC43LTEuNy0wLjdoLTEyLjV2LTUuNGgxMi41YzAuOCUyQzAlMkMxLjYlMkMwLjElMkMyLjYlMkMwLjRjMC45JTJDMC4zJTJDMS44JTJDMC43JTJDMi41JTJDMS4zJTBBJTA5JTA5YzAuOCUyQzAuNiUyQzEuNCUyQzEuNCUyQzIlMkMyLjRzMC44JTJDMi4yJTJDMC44JTJDMy43VjQxLjN6JTIyJTJGJTNFJTBBJTA5JTNDcGF0aCUyMGNsYXNzJTNEJTIyc3QwJTIyJTIwZCUzRCUyMk0xODAuMyUyQzIwLjloLTEyLjljLTAuOCUyQzAtMS40JTJDMC4yLTEuOCUyQzAuNnMtMC42JTJDMS0wLjYlMkMxLjd2MjZoLTUuN3YtMjZjMC0xJTJDMC4xLTEuOSUyQzAuNC0yLjYlMEElMDklMDljMC4yLTAuOCUyQzAuNi0xLjUlMkMxLTIuMWMwLjQtMC42JTJDMC45LTEuMSUyQzEuNC0xLjVjMC41LTAuNCUyQzEuMS0wLjglMkMxLjctMWMwLjYtMC4zJTJDMS4yLTAuNSUyQzEuOC0wLjZjMC42LTAuMSUyQzEuMi0wLjIlMkMxLjctMC4yaDEyLjlWMjAuOSUwQSUwOSUwOXolMjBNMTgwLjMlMkMzMS4yaC0xMi45di01LjdoMTIuOVYzMS4yeiUyMiUyRiUzRSUwQSUwOSUzQ3BhdGglMjBjbGFzcyUzRCUyMnN0MCUyMiUyMGQlM0QlMjJNMjA1LjYlMkMzMS4yaC0xMHYxOGgtNS44di0xOGgtNy40di01LjdoNy40di03LjdoNS44djcuN2gxMFYzMS4yeiUyMiUyRiUzRSUwQSUwOSUzQ3BhdGglMjBjbGFzcyUzRCUyMnN0MCUyMiUyMGQlM0QlMjJNMjE1LjIlMkMyMC42aC01Ljd2LTUuMmg1LjdWMjAuNnolMjBNMjE1LjIlMkM0OS4yaC01LjdWMjUuNWg1LjdWNDkuMnolMjIlMkYlM0UlMEElMDklM0NwYXRoJTIwY2xhc3MlM0QlMjJzdDAlMjIlMjBkJTNEJTIyTTI0Ni41JTJDNTYuNmgtNS43VjMzLjVjMC0wLjctMC4yLTEuMy0wLjYtMS43Yy0wLjQtMC40LTEtMC42LTEuNy0wLjZoLTEwLjNjLTAuNyUyQzAtMS4zJTJDMC4yLTEuNyUyQzAuNiUwQSUwOSUwOWMtMC40JTJDMC40LTAuNiUyQzEtMC42JTJDMS42djcuN2MwJTJDMC43JTJDMC4yJTJDMS4zJTJDMC42JTJDMS43YzAuNCUyQzAuNCUyQzElMkMwLjYlMkMxLjclMkMwLjZoMTAuMnY1LjdoLTEwLjNjLTAuOCUyQzAtMS43LTAuMS0yLjYtMC40JTBBJTA5JTA5Yy0wLjktMC4zLTEuOC0wLjctMi42LTEuNGMtMC44LTAuNi0xLjUtMS41LTItMi41Yy0wLjUtMS0wLjgtMi4zLTAuOC0zLjd2LTcuN2MwLTAuNSUyQzAuMS0xLjElMkMwLjItMS43czAuMy0xLjIlMkMwLjYtMS44JTBBJTA5JTA5YzAuMy0wLjYlMkMwLjYtMS4yJTJDMS0xLjdjMC40LTAuNSUyQzAuOS0xJTJDMS41LTEuNGMwLjYtMC40JTJDMS4zLTAuNyUyQzIuMS0xYzAuOC0wLjIlMkMxLjctMC40JTJDMi42LTAuNGgxMC4zYzAuNSUyQzAlMkMxLjElMkMwLjElMkMxLjclMkMwLjIlMEElMDklMDljMC42JTJDMC4xJTJDMS4yJTJDMC4zJTJDMS44JTJDMC42YzAuNiUyQzAuMyUyQzEuMiUyQzAuNiUyQzEuNyUyQzFjMC41JTJDMC40JTJDMSUyQzAuOSUyQzEuNCUyQzEuNWMwLjQlMkMwLjYlMkMwLjclMkMxLjMlMkMxJTJDMi4xYzAuMiUyQzAuOCUyQzAuNCUyQzEuNyUyQzAuNCUyQzIuNlY1Ni42eiUyMiUyRiUzRSUwQSUzQyUyRmclM0UlMEElM0NwYXRoJTIwY2xhc3MlM0QlMjJzdDAlMjIlMjBkJTNEJTIyTTYyJTJDMjNIMzJjLTYuMSUyQzAtMTElMkM0LjktMTElMkMxMXY2YzAlMkM2LjElMkM0LjklMkMxMSUyQzExJTJDMTFoMzBjNi4xJTJDMCUyQzExLTQuOSUyQzExLTExdi02QzczJTJDMjcuOSUyQzY4LjElMkMyMyUyQzYyJTJDMjN6JTIwTTU2LjUlMkM0NyUwQSUwOWMtMS43JTJDMC0zLjMtMC41LTQuNy0xLjJjLTEuOSUyQzEuNy00LjUlMkMyLjgtNy4zJTJDMi44Yy02LjElMkMwLTExLTQuOS0xMS0xMWMwLTYuMSUyQzQuOS0xMSUyQzExLTExYzIuOCUyQzAlMkM1LjMlMkMxJTJDNy4zJTJDMi44JTBBJTA5YzEuNC0wLjglMkMzLTEuMiUyQzQuNy0xLjJjNS4yJTJDMCUyQzkuNSUyQzQuMiUyQzkuNSUyQzkuNVM2MS44JTJDNDclMkM1Ni41JTJDNDd6JTIyJTJGJTNFJTBBJTNDcGF0aCUyMGQlM0QlMjJNNjYlMkMzNy41YzAlMkM1LjItNC4yJTJDOS41LTkuNSUyQzkuNWMtMS43JTJDMC0zLjMtMC41LTQuNy0xLjJjLTEuOSUyQzEuNy00LjUlMkMyLjgtNy4zJTJDMi44Yy02LjElMkMwLTExLTQuOS0xMS0xMWMwLTYuMSUyQzQuOS0xMSUyQzExLTExJTBBJTA5YzIuOCUyQzAlMkM1LjMlMkMxJTJDNy4zJTJDMi44YzEuNC0wLjglMkMzLTEuMiUyQzQuNy0xLjJDNjEuOCUyQzI4JTJDNjYlMkMzMi4yJTJDNjYlMkMzNy41eiUyMiUyRiUzRSUwQSUzQ3BhdGglMjBjbGFzcyUzRCUyMnN0MSUyMiUyMGQlM0QlMjJNNjYlMkMzNy41YzAlMkM1LjItNC4yJTJDOS41LTkuNSUyQzkuNWMtMS43JTJDMC0zLjMtMC41LTQuNy0xLjJDNDguOSUyQzQ0LjElMkM0NyUyQzQxJTJDNDclMkMzNy41YzAtMy41JTJDMS45LTYuNiUyQzQuOC04LjIlMEElMDljMS40LTAuOCUyQzMtMS4yJTJDNC43LTEuMkM2MS44JTJDMjglMkM2NiUyQzMyLjIlMkM2NiUyQzM3LjV6JTIyJTJGJTNFJTBBJTNDcGF0aCUyMGNsYXNzJTNEJTIyc3QyJTIyJTIwZCUzRCUyMk01NS41JTJDMzcuNWMwJTJDMy4zLTEuNCUyQzYuMi0zLjclMkM4LjJjLTEuOSUyQzEuNy00LjUlMkMyLjgtNy4zJTJDMi44Yy02LjElMkMwLTExLTQuOS0xMS0xMWMwLTYuMSUyQzQuOS0xMSUyQzExLTExJTBBJTA5YzIuOCUyQzAlMkM1LjMlMkMxJTJDNy4zJTJDMi44QzU0LjElMkMzMS4zJTJDNTUuNSUyQzM0LjIlMkM1NS41JTJDMzcuNXolMjIlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIikgbm8tcmVwZWF0O1xuICAgIGhlaWdodDogNDJweDtcbiAgICB3aWR0aDogMTgwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MjVweCkge1xuICAgIC5sb2dvIHtcbiAgICAgIGhlaWdodDogNTZweDtcbiAgICAgIHdpZHRoOiAyNDBweDtcbiAgICB9XG4gIH1cbn1cbi50aGVtZS1zd2l0Y2hlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweDtcbn1cbi50aGVtZS1zd2l0Y2hlciBpbnB1dCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogcm90YXRlIDAuM3M7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi50aGVtZS1zd2l0Y2hlciBpbnB1dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogMjRweDtcbiAgYmFja2dyb3VuZDogIzIzMjMyMztcbiAgYm9yZGVyLXJhZGl1czogNDZweDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zcywgYmFja2dyb3VuZC1jb2xvciAwLjNzO1xufVxuLnRoZW1lLXN3aXRjaGVyIGlucHV0OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0b3A6IDVweDtcbiAgbGVmdDogY2FsYygxMDAlIC0gMTlweCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyAwLjJzLCBsZWZ0IDAuM3MgMC4ycywgYm94LXNoYWRvdyAwLjNzO1xuICBib3gtc2hhZG93OiAxNXB4IDAgI2ZmZiBpbnNldDtcbiAgYW5pbWF0aW9uLW5hbWU6IG1vb25qdW1wO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJhY2t3YXJkcztcbn1cbkBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgLnRoZW1lLXN3aXRjaGVyIGlucHV0IHtcbiAgICB3aWR0aDogNjBweDtcbiAgfVxuICAudGhlbWUtc3dpdGNoZXIgaW5wdXQ6YmVmb3JlIHtcbiAgICB3aWR0aDogNjBweDtcbiAgfVxufVxuLnRoZW1lLXN3aXRjaGVyIGlucHV0OmNoZWNrZWQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi50aGVtZS1zd2l0Y2hlciBpbnB1dDpjaGVja2VkOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYW5pbWF0aW9uLW5hbWU6IG1vb25yb2xsO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICByaWdodDogMDtcbiAgbGVmdDogNXB4O1xuICBib3gtc2hhZG93OiA3cHggMCAjMjMyMzIzIGluc2V0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGxlZnQgMC4zcywgYm94LXNoYWRvdyAwLjNzO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgLnRoZW1lLXN3aXRjaGVyOmhvdmVyIGlucHV0IHtcbiAgICByb3RhdGU6IC0xMGRlZztcbiAgfVxuICAudGhlbWUtc3dpdGNoZXI6aG92ZXIgaW5wdXQ6YmVmb3JlIHtcbiAgICB3aWR0aDogNjBweDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1vb25yb2xsIHtcbiAgMCUge1xuICAgIHJvdGF0ZTogMGRlZztcbiAgfVxuICAxMDAlIHtcbiAgICByb3RhdGU6IC0zNjBkZWc7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbW9vbmp1bXAge1xuICAwJSB7XG4gICAgdG9wOiA1cHg7XG4gICAgbGVmdDogNXB4O1xuICB9XG4gIDUwJSB7XG4gICAgdG9wOiAtNTBweDtcbiAgfVxuICAxMDAlIHtcbiAgICB0b3A6IDVweDtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLSAxOXB4KTtcbiAgfVxufVxuQGxheWVyIHRoZW1lIHtcbiAgLnZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgICAudmlzaWJsZS0teHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MjVweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnZpc2libGUtLXNtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAudmlzaWJsZS0tbWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAudmlzaWJsZS0tbGcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbiAgICAudmlzaWJsZS0teGwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgICAudmlzaWJsZS0teHhsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAudmlzaWJsZS0tZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMCkgYW5kIChtYXgtd2lkdGg6IDQyNHB4KSB7XG4gICAgLnZpc2libGUtLWZsZXgtLXhzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MjVweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnZpc2libGUtLWZsZXgtLXNtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIC52aXNpYmxlLS1mbGV4LS1tZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICAgLnZpc2libGUtLWZsZXgtLWxnIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbiAgICAudmlzaWJsZS0tZmxleC0teGwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAgIC52aXNpYmxlLS1mbGV4LS14eGwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMCkgYW5kIChtYXgtd2lkdGg6IDQyNHB4KSB7XG4gICAgLmhpZGRlbi0teHMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQyNXB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuaGlkZGVuLS1zbSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAuaGlkZGVuLS1tZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICAgLmhpZGRlbi0tbGcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAgIC5oaWRkZW4tLXhsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgICAuaGlkZGVuLS14eGwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbi5maXJzdC1zY3JlZW4ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDc1dmggLSA4MHB4KTtcbiAgaGVpZ2h0OiBjYWxjKDc1ZHZoIC0gODBweCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZpcnN0LXNjcmVlbiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gODBweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDgwcHgpO1xuICB9XG59XG4uZmlyc3Qtc2NyZWVuLS1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQGxheWVyIGNvbW1vbiB7XG4gIC5pbnZpdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXNpemUtY29udGFpbmVyLXdpZHRoLCAxMDAlKSAtIHZhcigtLXNpemUtY29udGFpbmVyLWdhcCwgMzBweCkpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuaW52aXRlIGgxLCAuaW52aXRlIGgyLCAuaW52aXRlIGgzLCAuaW52aXRlIGg0LCAuaW52aXRlIGg1LCAuaW52aXRlIGg2LCAuaW52aXRlIHAsIC5pbnZpdGUgc3BhbiwgLmludml0ZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDI1cHgpIHtcbiAgICAuaW52aXRlIGgxLCAuaW52aXRlIGgyLCAuaW52aXRlIGgzLCAuaW52aXRlIGg0LCAuaW52aXRlIGg1LCAuaW52aXRlIGg2LCAuaW52aXRlIHAsIC5pbnZpdGUgc3BhbiwgLmludml0ZSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmludml0ZSBoMSwgLmludml0ZSBoMiwgLmludml0ZSBoMywgLmludml0ZSBoNCwgLmludml0ZSBoNSwgLmludml0ZSBoNiwgLmludml0ZSBwLCAuaW52aXRlIHNwYW4sIC5pbnZpdGUge1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuaW52aXRlIGgxLCAuaW52aXRlIGgyLCAuaW52aXRlIGgzLCAuaW52aXRlIGg0LCAuaW52aXRlIGg1LCAuaW52aXRlIGg2LCAuaW52aXRlIHAsIC5pbnZpdGUgc3BhbiwgLmludml0ZSB7XG4gICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICBsaW5lLWhlaWdodDogODBweDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5pbnZpdGUgaDEsIC5pbnZpdGUgaDIsIC5pbnZpdGUgaDMsIC5pbnZpdGUgaDQsIC5pbnZpdGUgaDUsIC5pbnZpdGUgaDYsIC5pbnZpdGUgcCwgLmludml0ZSBzcGFuLCAuaW52aXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMTBweDtcbiAgICB9XG4gIH1cbiAgLmludml0ZSBoMSBzbWFsbCwgLmludml0ZSBoMiBzbWFsbCwgLmludml0ZSBoMyBzbWFsbCwgLmludml0ZSBoNCBzbWFsbCwgLmludml0ZSBoNSBzbWFsbCwgLmludml0ZSBoNiBzbWFsbCwgLmludml0ZSBwIHNtYWxsLCAuaW52aXRlIHNwYW4gc21hbGwsIC5pbnZpdGUgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxuICAuaW52aXRlIGgxLS1pbi1kZXYsIC5pbnZpdGUgaDItLWluLWRldiwgLmludml0ZSBoMy0taW4tZGV2LCAuaW52aXRlIGg0LS1pbi1kZXYsIC5pbnZpdGUgaDUtLWluLWRldiwgLmludml0ZSBoNi0taW4tZGV2LCAuaW52aXRlIHAtLWluLWRldiwgLmludml0ZSBzcGFuLS1pbi1kZXYsIC5pbnZpdGUtLWluLWRldiB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gIH1cbiAgYm9keTpub3QoLmJyb3dzZXItLWlzLXNhZmFyaSkgLmludml0ZSBoMSwgYm9keTpub3QoLmJyb3dzZXItLWlzLXNhZmFyaSkgLmludml0ZSBoMiwgYm9keTpub3QoLmJyb3dzZXItLWlzLXNhZmFyaSkgLmludml0ZSBoMywgYm9keTpub3QoLmJyb3dzZXItLWlzLXNhZmFyaSkgLmludml0ZSBoNCwgYm9keTpub3QoLmJyb3dzZXItLWlzLXNhZmFyaSkgLmludml0ZSBoNSwgYm9keTpub3QoLmJyb3dzZXItLWlzLXNhZmFyaSkgLmludml0ZSBoNiwgYm9keTpub3QoLmJyb3dzZXItLWlzLXNhZmFyaSkgLmludml0ZSBwLCBib2R5Om5vdCguYnJvd3Nlci0taXMtc2FmYXJpKSAuaW52aXRlIHNwYW4sIGJvZHk6bm90KC5icm93c2VyLS1pcy1zYWZhcmkpIC5pbnZpdGUge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDEuNXM7XG4gIH1cbn1cbi5wdXp6bGUtMzIge1xuICB3aWR0aDogY2FsYyh2YXIoLS1zaXplLWNvbnRhaW5lci13aWR0aCwgMTAwJSkgLSB2YXIoLS1zaXplLWNvbnRhaW5lci1nYXAsIDMwcHgpKTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgZ2FwOiA4MHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucHV6emxlLTMyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgLnB1enpsZS0zMiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xuICB9XG4gIC5wdXp6bGUtMzIgPiAqIHtcbiAgICBncmlkLWNvbHVtbjogYXV0by9zcGFuIDI7XG4gIH1cbiAgLnB1enpsZS0zMi0tbG9uZyB7XG4gICAgZ3JpZC1jb2x1bW46IGF1dG8vc3BhbiAzO1xuICB9XG4gIC5wdXp6bGUtMzItLWRvdWJsZSB7XG4gICAgZ3JpZC1jb2x1bW46IGF1dG8vc3BhbiA0O1xuICB9XG59XG5cbi5kdW8tc2xpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cbi5kdW8tc2xpZGVyX193cmFwcGVyIHtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC1zaXplOiAwO1xufVxuLmR1by1zbGlkZXJfX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb246IGZpbHRlciAwLjNzO1xufVxuLmR1by1zbGlkZXJfX2l0ZW06aG92ZXIge1xuICBmaWx0ZXI6IG5vbmU7XG59XG4uZHVvLXNsaWRlcl9faXRlbSBpbWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICB3aWR0aDogYXV0bztcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGltYWdlLXJlbmRlcmluZzogYXV0bztcbn1cblxuLnB1enpsZS1tYWluIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCAjMDAwKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmxhY2ssICMwMDApO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSwgI2ZmZik7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgcGFkZGluZzogMjVweCAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB0cmFuc2l0aW9uOiBjb2xvciAxLjVzO1xuICBmb250LXNpemU6IDEwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDI1cHgpIHtcbiAgLnB1enpsZS1tYWluIHtcbiAgICBwYWRkaW5nOiAzNXB4O1xuICB9XG59XG4ucHV6emxlLW1haW4gaDIge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbn1cbi5wdXp6bGUtbWFpbiBoMiBzdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5wdXp6bGUtbWFpbiBwIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDI1cHgpIHtcbiAgLnB1enpsZS1tYWluIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbn1cbi5wdXp6bGUtbWFpbiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wdXp6bGUtd2hvIHtcbiAgY29sb3I6ICNFQkVCRUI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1MDUwNTA7XG4gIGJhY2tncm91bmQ6ICNFNjU5MjY7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgcGFkZGluZzogMTVweCAxNXB4IDMwcHggMTVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMS41cztcbiAgZm9udC1zaXplOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNSUyMDM1JTIyJTIwc2hhcGUtcmVuZGVyaW5nJTNEJTIyY3Jpc3BFZGdlcyUyMiUzRSUwQSUyMCUyMCUzQ3BhdGglMjBkJTNEJTIyTSUyMDAlMjAwJTIwSCUyMDM1JTIwTSUyMDAlMjAwJTIwViUyMDM1JTIyJTIwc3Ryb2tlJTNEJTIycmdiYSgyMzElMkMlMjAyMzElMkMlMjAyMzElMkMlMjAwLjEwMTk2MDc4NDMxMzcyNTQ5KSUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuNSUyMiUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAzNXB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDI1cHgpIHtcbiAgLnB1enpsZS13aG8ge1xuICAgIHBhZGRpbmc6IDM1cHggMzVweCA1MHB4IDM1cHg7XG4gIH1cbn1cbi5wdXp6bGUtd2hvIGgyIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBsaW5lLWhlaWdodDogMzZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDI1cHgpIHtcbiAgLnB1enpsZS13aG8gaDIge1xuICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICBsaW5lLWhlaWdodDogNDZweDtcbiAgfVxufVxuLnB1enpsZS13aG8gaDIgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5wdXp6bGUtd2hvIHAge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4ucHV6emxlLXdobyB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4ucHV6emxlLXdobyB1bCBsaSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnB1enpsZS1jbGllbnRzIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCAjMDAwKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmxhY2ssICMwMDApO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSwgI2ZmZik7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgcGFkZGluZzogMzVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMS41cztcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuLnB1enpsZS1jbGllbnRzIGgyIHtcbiAgZm9udC1zaXplOiA1MHB4O1xuICBsaW5lLWhlaWdodDogNTZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucHV6emxlLWNsaWVudHMgaDIgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn0iLCJAbGF5ZXIgcmVzZXQsIGNvbW1vbiwgdGhlbWUsIG92ZXJyaWRlOyIsIkBsYXllciByZXNldCB7XG4gIC8qXG4gIEpvc2gncyBDdXN0b20gQ1NTIFJlc2V0XG4gIGh0dHBzOi8vd3d3Lmpvc2h3Y29tZWF1LmNvbS9jc3MvY3VzdG9tLWNzcy1yZXNldC9cbiovXG5cbiAgKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gICoge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgIGh0bWwge1xuICAgICAgaW50ZXJwb2xhdGUtc2l6ZTogYWxsb3cta2V5d29yZHM7XG4gICAgfVxuICB9XG5cbiAgYm9keSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDBkdmg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIGltZywgcGljdHVyZSwgdmlkZW8sIGNhbnZhcywgc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICBpbnB1dCwgYnV0dG9uLCB0ZXh0YXJlYSwgc2VsZWN0IHtcbiAgICBmb250OiBpbmhlcml0O1xuICB9XG5cbiAgcCwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgfVxuXG4gIHAge1xuICAgIHRleHQtd3JhcDogcHJldHR5O1xuICB9XG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgfVxuXG4gICNyb290LCAjX19uZXh0IHtcbiAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gIH1cbn0iLCJAdXNlIFwic2FzczpzdHJpbmdcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcblxuLyoqXG4gKiBAbGluayBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9jZXJ0YWlubHlha2V5L2U5YzBkOGY1Yzg3ZmY0N2UzZDViXG4gKi9cbkBmdW5jdGlvbiBlbmNvZGVDb2xvcigkc3RyaW5nKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHN0cmluZykgPT0gJ2NvbG9yJyBhbmQgc3RyaW5nLmluZGV4KCN7JHN0cmluZ30sICcjJykgPT0gMSB7XG4gICAgJGhleDogc3RyaW5nLnNsaWNlKGllLWhleC1zdHIoJHN0cmluZyksIDQpO1xuICAgICRzdHJpbmc6IHN0cmluZy51bnF1b3RlKCcjeyRoZXh9Jyk7XG5cbiAgICBAcmV0dXJuICclMjMnICsgJHN0cmluZztcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xuICAkaW5kZXg6IHN0cmluZy5pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0cmluZy5zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyaW5nLnNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0cmluZy5sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbkBmdW5jdGlvbiB1cmxFbmNvZGUoJHN0cmluZykge1xuICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAnXCInLCAgJyUyMicpO1xuICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAnIycsICAnJTIzJyk7XG4gICRzdHJpbmc6IHN0ci1yZXBsYWNlKCRzdHJpbmcsICc8JywgICclM0MnKTtcbiAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJz4nLCAgJyUzRScpO1xuICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAnICcsICAnJTIwJyk7XG4gICRzdHJpbmc6IHN0ci1yZXBsYWNlKCRzdHJpbmcsICd7JywgICclN0InKTtcbiAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJ30nLCAgJyU3RCcpO1xuICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAnfCcsICAnJTdDJyk7XG4gICRzdHJpbmc6IHN0ci1yZXBsYWNlKCRzdHJpbmcsICc6JywgICclM0EnKTtcbiAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgJy8nLCAgJyUyRicpO1xuICBAcmV0dXJuICRzdHJpbmc7XG59IiwiQHVzZSBcIi4uL2xpYi91aS90aGVtZVwiO1xuQHVzZSBcIi4uL2xpYi91aS90eXBvXCI7XG5AdXNlIFwiLi4vbGliL3VpL2dsb2JhbFwiO1xuQHVzZSBcIi4uL2xpYi91aS9jb2xvclwiO1xuQHVzZSBcIi4uL2xpYi91aS92aWV3cG9ydFwiO1xuQHVzZSBcIi4uL2xpYi91aS9ib2R5LWJhY2tncm91bmRcIjtcblxuQGxheWVyIGNvbW1vbiB7XG5cbiAgOnJvb3Qge1xuXG4gICAgY29sb3I6IHRoZW1lLiRibGFjaztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3M7XG5cbiAgICBAaW5jbHVkZSB0aGVtZS51c2VUaGVtZTtcbiAgICBAaW5jbHVkZSB2aWV3cG9ydC51c2VWaWV3cG9ydFZhcmlhYmxlcztcblxuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLnVzZURhcmtUaGVtZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZS1jb2xvcjogI3tjb2xvci4kcHJpbWFyeX07XG4gICAgICBvdXRsaW5lLW9mZnNldDogNHB4O1xuICAgICAgb3V0bGluZS1zdHlsZTogYXV0bztcbiAgICB9XG5cblxuXG4gIH1cblxuICBAaW5jbHVkZSB0eXBvLnVzZVRleHQ7XG5cbiAgYm9keSB7XG4gICAgQGluY2x1ZGUgYm9keS1iYWNrZ3JvdW5kLndpdGhCYWNrZ3JvdW5kSW1hZ2U7XG4gIH1cblxuICBhcnRpY2xlIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICAgIHNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZDogI3t0aGVtZS4kd2hpdGV9O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI3t0aGVtZS4kc2VjdGlvbl9iYWNrZ3JvdW5kfTtcbiAgICAgIHBhZGRpbmc6IDM1cHg7XG4gICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMzEwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgfVxuICB9XG59XG5cbkBsYXllciB0aGVtZSB7XG4gIDpyb290LnRoZW1lLWRhcmsge1xuICAgIEBpbmNsdWRlIHRoZW1lLnVzZURhcmtUaGVtZTtcbiAgfVxuXG4gIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICA6cm9vdC50aGVtZS1saWdodCB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS51c2VUaGVtZTtcbiAgICB9XG4gIH1cbn1cblxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi9jb2xvclwiO1xuQHVzZSBcIi4vYm9keS1iYWNrZ3JvdW5kXCI7XG5cbiRibGFjazogdmFyKC0tY29sb3ItYmxhY2ssICN7Y29sb3IuJGJsYWNrfSk7XG4kd2hpdGU6IHZhcigtLWNvbG9yLXdoaXRlLCAje2NvbG9yLiR3aGl0ZX0pO1xuXG4kdHlwb19ncmF5X2xpZ2h0OiB2YXIoLS1jb2xvci0tdHlwby1ncmF5LWxpZ2h0LCAje2NvbG9yLiRsaWdodC1ncmF5fSk7XG4kdHlwb19ncmF5OiB2YXIoLS1jb2xvci0tdHlwby1ncmF5LCAje2NvbG9yLiRncmF5fSk7XG5cbiRib2R5LWJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvZHktYmFja2dyb3VuZCwgI3tjb2xvci4kd2hpdGV9KTtcblxuJHNlY3Rpb25fYmFja2dyb3VuZDogdmFyKC0tc2VjdGlvbi1iYWNrZ3JvdW5kLCAje2NvbG9yLiRibGFja30pO1xuJHRhYmxlLWdyYXk6IHZhcigtLWNvbG9yLXRhYmxlLWdyYXksICN7Y29sb3IuJGxpZ2h0LWdyYXl9KTtcblxuQG1peGluIGFuaW1hdGUtdGV4dCgpXG57XG4gIHRyYW5zaXRpb246IGNvbG9yIDEuNXM7XG59XG5cbkBtaXhpbiB1c2VUaGVtZSgpXG57XG4gIC0tY29sb3ItYmxhY2s6ICN7Y29sb3IuJGJsYWNrfTtcbiAgLS1jb2xvci13aGl0ZTogI3tjb2xvci4kd2hpdGV9O1xuICAtLWNvbG9yLWJhY2tncm91bmQ6ICN7Y29sb3IuJHdoaXRlfTtcblxuICAtLWltYWdlLWJhY2tncm91bmQ6ICN7Ym9keS1iYWNrZ3JvdW5kLmdldEJhY2tncm91bmRJbWFnZShjb2xvci4kbGlnaHQtZ3JheSl9O1xuICAtLWltYWdlLWJhY2tncm91bmQtdGlsZTogI3tib2R5LWJhY2tncm91bmQuZ2V0QmFja2dyb3VuZFRpbGVJbWFnZShjb2xvci4kbGlnaHQtZ3JheSl9O1xufVxuXG5AbWl4aW4gdXNlRGFya1RoZW1lKClcbntcbiAgLS1jb2xvci13aGl0ZTogI3tjb2xvci4kYmxhY2t9O1xuICAtLWNvbG9yLWJsYWNrOiAje2NvbG9yLiR3aGl0ZX07XG4gIC0tY29sb3ItYmFja2dyb3VuZDogI3tjb2xvci4kZGFya2VyLWdyYXl9O1xuXG4gIC0tc2VjdGlvbi1iYWNrZ3JvdW5kOiAje2NvbG9yLiRncmF5fTtcbiAgLS1jb2xvci10YWJsZS1ncmF5OiAje2NvbG9yLiRkYXJrLWdyYXl9O1xuXG4gIC0taW1hZ2UtYmFja2dyb3VuZDogI3tib2R5LWJhY2tncm91bmQuZ2V0QmFja2dyb3VuZEltYWdlKGNvbG9yLiRkYXJrLWdyYXkpfTtcbiAgLS1pbWFnZS1iYWNrZ3JvdW5kLXRpbGU6ICN7Ym9keS1iYWNrZ3JvdW5kLmdldEJhY2tncm91bmRUaWxlSW1hZ2UoY29sb3IuJGRhcmstZ3JheSl9O1xufSIsIkB1c2UgXCJzaXplXCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCIuLi91dGlsL2NvbGxlY3Rpb25cIjtcbkB1c2UgXCIuLi8uLi92ZW5kb3IvaW5jbHVkZS1tZWRpYVwiIHdpdGggKFxuICAgICRicmVha3BvaW50czogc2l6ZS4kYnJlYWtwb2ludHNcbik7XG5cbkBtaXhpbiBtb3JlKCRicmVha3BvaW50KSB7XG4gIEBpbmNsdWRlIGluY2x1ZGUtbWVkaWEubWVkaWEoXCI+PSN7JGJyZWFrcG9pbnR9XCIpIHtcbiAgICBAY29udGVudFxuICB9XG59XG5cbkBtaXhpbiBsZXNzKCRicmVha3BvaW50KSB7XG4gIEBpbmNsdWRlIGluY2x1ZGUtbWVkaWEubWVkaWEoXCI8I3skYnJlYWtwb2ludH1cIikge1xuICAgIEBjb250ZW50XG4gIH1cbn1cblxuQG1peGluIGJldHdlZW4oJGxlZnRCcmVha3BvaW50LCAkcmlnaHRCcmVha3BvaW50KSB7XG4gIEBpZiAoJGxlZnRCcmVha3BvaW50ICE9IG51bGwgYW5kICRyaWdodEJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIEBpbmNsdWRlIHVwKCRsZWZ0QnJlYWtwb2ludCkge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gIH0gQGVsc2UgaWYoJGxlZnRCcmVha3BvaW50ID09IG51bGwgYW5kICRyaWdodEJyZWFrcG9pbnQgIT0gbnVsbCkge1xuICAgIEBpbmNsdWRlIGRvd24oJHJpZ2h0QnJlYWtwb2ludCkge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGluY2x1ZGUtbWVkaWEubWVkaWEoXCI+PSN7JGxlZnRCcmVha3BvaW50fVwiLCBcIjwjeyRyaWdodEJyZWFrcG9pbnR9XCIpIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpdGVyYXRlKCRjb2xsZWN0aW9uOiBzaXplLiRicmVha3BvaW50cykge1xuICAka2V5czogbWFwLmtleXMoJGNvbGxlY3Rpb24pO1xuICAkbGVuZ3RoOiBsaXN0Lmxlbmd0aCgka2V5cyk7XG5cbiAgQGluY2x1ZGUgY29sbGVjdGlvbi5lYWNoKCRjb2xsZWN0aW9uKSB1c2luZygka2V5LCAkdmFsdWUsICRpbmRleCkge1xuICAgICRuZXh0OiBudWxsO1xuICAgICRwcmV2OiBudWxsO1xuXG4gICAgQGlmICgkaW5kZXggPiAxKSB7XG4gICAgICAkcHJldjogbWFwLmdldCgkY29sbGVjdGlvbiwgbGlzdC5udGgoJGtleXMsICRpbmRleCAtIDEpKTtcbiAgICB9XG5cbiAgICBAaWYgKCRpbmRleCA8ICRsZW5ndGgpIHtcbiAgICAgICRuZXh0OiBtYXAuZ2V0KCRjb2xsZWN0aW9uLCBsaXN0Lm50aCgka2V5cywgJGluZGV4ICsgMSkpO1xuICAgIH1cblxuICAgIEBjb250ZW50KCRrZXksICRuZXh0LCAkcHJldik7XG4gIH1cbn1cblxuQG1peGluIGl0ZXJhdGUtcmV2ZXJzZSgkY29sbGVjdGlvbjogc2l6ZS4kYnJlYWtwb2ludHMpIHtcbiAgJHJldmVyc2VkQ29sbGVjdGlvbjogY29sbGVjdGlvbi5yZXZlcnNlKCRjb2xsZWN0aW9uKTtcbiAgQGluY2x1ZGUgaXRlcmF0ZSgkcmV2ZXJzZWRDb2xsZWN0aW9uKSB1c2luZygka2V5LCAkbmV4dCwgJHByZXYpIHtcbiAgICBAY29udGVudCgka2V5LCAkbmV4dCwgJHByZXYpO1xuICB9XG59XG5cbi8vIGFsdGVybmF0aXZlXG5AbWl4aW4gdXAoJGJyZWFrcG9pbnQpIHtcbiAgQGluY2x1ZGUgbW9yZSgkYnJlYWtwb2ludCkge1xuICAgIEBjb250ZW50XG4gIH1cbn1cblxuQG1peGluIGRvd24oJGJyZWFrcG9pbnQpIHtcbiAgQGluY2x1ZGUgbGVzcygkYnJlYWtwb2ludCkge1xuICAgIEBjb250ZW50XG4gIH1cbn1cblxuQG1peGluIG5vdC1tb2JpbGUoKSB7XG4gIEBpbmNsdWRlIG1vcmUoc20pIHtcbiAgICBAY29udGVudFxuICB9XG59XG5cbkBtaXhpbiBvbmx5LW1vYmlsZSgpXG57XG4gIEBpbmNsdWRlIGxlc3Moc20pIHtcbiAgICBAY29udGVudFxuICB9XG59XG5cbkBtaXhpbiB1c2VWaWV3cG9ydFZhcmlhYmxlcygpXG57XG4gIEBlYWNoICR2aWV3cG9ydC1rZXksICR2aWV3cG9ydC12YWx1ZSBpbiBzaXplLiRicmVha3BvaW50cyB7XG4gICAgQGlmICgkdmlld3BvcnQtdmFsdWUgIT0gMCkge1xuICAgICAgLS12aWV3cG9ydC0jeyR2aWV3cG9ydC1rZXl9OiAjeyR2aWV3cG9ydC12YWx1ZX07XG4gICAgfVxuICB9XG4gIC0tdmlld3BvcnQ6ICN7bWFwLmtleXMoc2l6ZS4kYnJlYWtwb2ludHMpfTtcbn0iLCJAdXNlIFwiLi90aGVtZVwiO1xuQHVzZSBcIi4vY29sb3JcIjtcblxuQG1peGluIHVzZVRleHQoJHBhcmVudFNlbGVjdG9yOiAnYXJ0aWNsZScpIHtcbiAgI3skcGFyZW50U2VsZWN0b3J9IHtcbiAgICBAY29udGVudDtcblxuICAgIGZvbnQtZmFtaWx5OiAnU2Vnb2UgVUknLCBUYWhvbWEsIEdlbmV2YSwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDAuOHJlbTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDAuNnJlbTtcbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcbiAgICB9XG5cbiAgICBoNiB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBtYXJnaW46IDAgMCAwLjRyZW07XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgICBjb2xvcjogI3t0aGVtZS4kdHlwb19ncmF5fTtcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICBlbSB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgdSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICBzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgIH1cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci4kcHJpbWFyeX07XG4gICAgICBjb2xvcjogI3t0aGVtZS4kdHlwb19ncmF5X2xpZ2h0fTtcbiAgICAgIHBhZGRpbmc6IDAuMmVtIDAuNGVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIH1cblxuICAgIGNvZGUge1xuICAgICAgZm9udC1mYW1pbHk6ICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcbiAgICAgIGJhY2tncm91bmQ6ICN7dGhlbWUuJHR5cG9fZ3JheV9saWdodH07XG4gICAgICBwYWRkaW5nOiAwLjJlbSAwLjRlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICBjb2xvcjogI3tjb2xvci4kcHJpbWFyeX07XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW46IDEuNXJlbSAwO1xuICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAje3RoZW1lLiR0eXBvX2dyYXlfbGlnaHR9O1xuICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAje3RoZW1lLiR0eXBvX2dyYXl9O1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgY29sb3I6ICN7dGhlbWUuJHR5cG9fZ3JheX07XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSBmb290ZXIge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAje3RoZW1lLiR0eXBvX2dyYXl9O1xuICAgIH1cblxuICAgIHVsLCBvbCB7XG4gICAgICBtYXJnaW46IDFyZW0gMCAxcmVtIDJyZW07XG4gICAgfVxuXG4gICAgdWwge1xuXG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDFyZW0gMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICN7Y29sb3IuJHByaW1hcnl9O1xuICAgICAgICAgIGNvbG9yOiAje2NvbG9yLiR3aGl0ZX07XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIG9sIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgZGwge1xuICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgfVxuXG4gICAgZHQge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICB9XG5cbiAgICBkZCB7XG4gICAgICBtYXJnaW46IDAuM3JlbSAwIDAuOHJlbSAxcmVtO1xuICAgIH1cblxuICAgIHByZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAje3RoZW1lLiR0eXBvX2dyYXl9O1xuICAgICAgY29sb3I6ICN7dGhlbWUuJHdoaXRlfTtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgfVxuXG4gICAgcHJlIGNvZGUge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBociB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQ6ICN7Y29sb3IuJGxpZ2h0LWdyYXl9O1xuICAgICAgbWFyZ2luOiAycmVtIDA7XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICB9XG5cbiAgICB0aCwgdGQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI3tjb2xvci4kZ3JheX07XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAje3RoZW1lLiR0YWJsZS1ncmF5fTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7dGhlbWUuJHRhYmxlLWdyYXl9O1xuICAgIH1cblxuICAgIGZpZ3VyZSB7XG4gICAgICBtYXJnaW46IDEuNXJlbSAwO1xuICAgIH1cblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgY29sb3I6ICM2NjY7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAje2NvbG9yLiRwcmltYXJ5fTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjp2aXNpdGVkIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgY29sb3I6ICN7Y29sb3IuJHByaW1hcnktaG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gIC5saW5rLWV4dGVybmFsOjphZnRlciB7XG4gICAgY29udGVudDogXCJb4oaXXVwiO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICB9XG5cbiAgLmxpbmstbXV0ZWQge1xuICAgIGNvbG9yOiAje2NvbG9yLiRncmF5fTtcbiAgfVxuXG4gIC5saW5rLWRpc2FibGVkIHtcbiAgICBjb2xvcjogI3t0aGVtZS4kdHlwb19ncmF5fTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC50ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC50ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbiAgb2wge1xuICAgIGNvdW50ZXItcmVzZXQ6IHN0ZXA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICBsaSB7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogc3RlcDtcbiAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoc3RlcCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAje2NvbG9yLiRwcmltYXJ5fTtcbiAgICAgICAgY29sb3I6ICN7Y29sb3IuJHdoaXRlfTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG59IiwiQHVzZSBcIi4vY29sb3JcIjtcbkB1c2UgXCIuLi91dGlsL3N0cmluZ1wiO1xuQHVzZSBcIi4uL3V0aWwvZXh0ZXJuYWxcIjtcblxuXG5AbWl4aW4gd2l0aEJhY2tncm91bmRJbWFnZSgkd2l0aFRyYW5zaXRpb246IHRydWUpXG57XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQsICN7Y29sb3IuJHdoaXRlfSk7XG4gIGZpbGw6ICNFQkVCRUI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltYWdlLWJhY2tncm91bmQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDgwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG5cbiAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LWNyaXNwLWVkZ2VzO1xuICBpbWFnZS1yZW5kZXJpbmc6IGNyaXNwLWVkZ2VzO1xuICBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZDtcblxuICBAaWYoJHdpdGhUcmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3M7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGdldEJhY2tncm91bmRJbWFnZSgkY29sb3I6IGNvbG9yLiRsaWdodC1ncmF5KSB7XG4gIEByZXR1cm4gdXJsKFwiI3tleHRlcm5hbC5yZXNvbHZlLXN2ZygnL3Jlc291cmNlcy9pbWFnZS9iZy5zdmcnLCRjb2xvcil9XCIpO1xufVxuXG5AZnVuY3Rpb24gZ2V0QmFja2dyb3VuZFRpbGVJbWFnZSgkY29sb3I6IGNvbG9yLiRsaWdodC1ncmF5KSBcbntcbiAgQHJldHVybiB1cmwoXCIje2V4dGVybmFsLnJlc29sdmUtc3ZnKCcvcmVzb3VyY2VzL2ltYWdlL2JnLXRpbGUuc3ZnJywkY29sb3IpfVwiKTtcbn0iLCJAdXNlIFwiLi4vbGliL3VpL2NvbG9yXCI7XG5AdXNlIFwiLi4vbGliL3VpL3NpemVcIjtcbkB1c2UgXCIuLi9saWIvdXRpbC9leHRlcm5hbFwiO1xuQHVzZSBcInNhc3M6Y29sb3JcIiBhcyBzYXNzLWNvbG9yO1xuXG5AbGF5ZXIgY29tbW9uIHtcbiAgaHRtbCwgYm9keSB7XG4gICAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlO1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgfVxuXG4gIC5tYXJrZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBtaW4td2lkdGg6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyOiAycHggc29saWQgI3tjb2xvci4kcHJpbWFyeX07XG4gICAgYmFja2dyb3VuZDogc2Fzcy1jb2xvci5hZGp1c3QoY29sb3IuJHByaW1hcnksICRhbHBoYTogLTAuNSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIG1pbi13aWR0aDogc2l6ZS4kdGlsZS1tdWx0aXBsZSAqIDI7XG4gICAgICBtaW4taGVpZ2h0OiBzaXplLiR0aWxlLW11bHRpcGxlICogMjtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIiN7ZXh0ZXJuYWwucmVzb2x2ZS1zdmcoJy9yZXNvdXJjZXMvaW1hZ2UvaW4tZGV2ZWxvcG1lbnQuc3ZnJyl9XCIpIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuZ3Jhdml0eSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgfVxufSIsIkB1c2UgXCIuLi9saWIvdWkvc2l6ZVwiO1xuXG5ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgZm9udC1mYW1pbHk6IFwiU3BhY2UgR3JvdGVza1wiLCBcIk1UUyBDb21wYWN0XCIsXCJTZWdvZSBVSSBWYXJpYWJsZVwiLCBcIlNhbiBGcmFuY2lzY29cIiwgc2Fucy1zZXJpZjtcblxuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbWFnZS1iYWNrZ3JvdW5kLXRpbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWltYWdlLWJhY2tncm91bmQtdGlsZSkgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XG4gICAgaGVpZ2h0OiBzaXplLiRoZWFkZXItdGlsZS1oZWlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3M7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWltYWdlLWJhY2tncm91bmQtdGlsZSkgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XG4gICAgcm90YXRlOiAxODBkZWc7XG4gICAgaGVpZ2h0OiBzaXplLiRoZWFkZXItdGlsZS1oZWlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3M7XG4gIH1cblxuICAmID4gKiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbn0iLCIkdGlsZS1tdWx0aXBsZTogODBweDtcbiRoZWFkZXItdGlsZS1oZWlnaHQ6ICR0aWxlLW11bHRpcGxlICogNDtcblxuJGJyZWFrcG9pbnRzOiAoXG4gICAgICAgIHhzOiAwLFxuICAgICAgICBzbTogNDI1cHgsXG4gICAgICAgIG1kOiA3NjhweCxcbiAgICAgICAgbGc6IDEwMjRweCxcbiAgICAgICAgeGw6IDE0NDBweCxcbiAgICAgICAgeHhsOiAxOTIwcHhcbik7XG5cbiRjb250YWluZXItZ2FwOiAoXG4gICAgICAgIHNtOiAyNXB4LFxuICAgICAgICBtZDogNDhweCxcbiAgICAgICAgbGc6IDE0NHB4LFxuICAgICAgICB4bDogODBweCxcbiAgICAgICAgeHhsOiA4MHB4XG4pO1xuJGRlZmF1bHQtY29udGFpbmVyLXdpZHRoOiAxMDAlO1xuJGRlZmF1bHQtY29udGFpbmVyLWdhcDogMzBweDtcblxuJGhlYWRlci1oZWlnaHQ6ICR0aWxlLW11bHRpcGxlO1xuJGhlYWRlci1wYWRkaW5nOiAyNHB4OyIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5AdXNlIFwiLi9jb2xsZWN0aW9uXCI7XG5AdXNlIFwiLi8uLi91aS92aWV3cG9ydFwiO1xuQHVzZSBcIi4vLi4vdWkvc2l6ZVwiO1xuXG4kZGVmYXVsdC13ZWlnaHQtbWFwOiAoXG4gICAgMTAwOiAnVGhpbicsXG4gICAgMjAwOiAnRXh0cmFMaWdodCcsXG4gICAgMzAwOiAnTGlnaHQnLFxuICAgIG5vcm1hbDogJ1JlZ3VsYXInLFxuICAgIDUwMDogJ01lZGl1bScsXG4gICAgNjAwOiAnU2VtaWJvbGQnLFxuICAgIGJvbGQ6ICdCb2xkJyxcbiAgICA4MDA6ICdFeHRyYUJvbGQnLFxuICAgIDkwMDogJ0JsYWNrJ1xuKTtcblxuQGZ1bmN0aW9uIGNyZWF0ZUZvbnRGYW1pbHkoJGZvbnQtZmFtaWx5KVxue1xuICAgIEByZXR1cm4gKFxuICAgICAgICBmYW1pbHk6ICRmb250LWZhbWlseSxcbiAgICAgICAgdHJ5LWxvY2FsOiBudWxsLFxuICAgICAgICB3ZWlnaHQtbWFwOiAoKSxcbiAgICAgICAgZXh0OiAoXG4gICAgICAgICAgICAndHRmJzogJ3RydWV0eXBlJ1xuICAgICAgICApXG4gICAgKTtcbn1cblxuQGZ1bmN0aW9uIHdpdGhMb2NhbCgkZm9udC1vYmplY3QsICRsb2NhbC1uYW1lOiBudWxsKVxue1xuICAgIEBpZigkbG9jYWwtbmFtZSA9PSBudWxsKSB7XG4gICAgICAkbG9jYWwtbmFtZTogbWFwLmdldCgkZm9udC1vYmplY3QsICdmYW1pbHknKTtcbiAgICB9XG5cbiAgICAkZm9udC1vYmplY3Q6IG1hcC5zZXQoJGZvbnQtb2JqZWN0LCAndHJ5LWxvY2FsJywgJGxvY2FsLW5hbWUpO1xuICAgIEByZXR1cm4gJGZvbnQtb2JqZWN0XG59XG5cbkBmdW5jdGlvbiB3aXRoV2VpZ2h0TWFwKCRmb250LW9iamVjdCwgJHdlaWdodC1tYXApXG57XG4gICRmb250LW9iamVjdDogbWFwLnNldCgkZm9udC1vYmplY3QsICd3ZWlnaHQtbWFwJywgJHdlaWdodC1tYXApO1xuICBAcmV0dXJuICRmb250LW9iamVjdFxufVxuXG5AZnVuY3Rpb24gd2l0aEV4dGVuc2lvbnMoJGZvbnQtb2JqZWN0LCAkZXh0ZW5zaW9ucylcbntcbiAgJGZvbnQtb2JqZWN0OiBtYXAuc2V0KCRmb250LW9iamVjdCwgJ2V4dCcsICRleHRlbnNpb25zKTtcbiAgQHJldHVybiAkZm9udC1vYmplY3Rcbn1cblxuQG1peGluIGRlY2xhcmVGb250RmFtaWx5KCRmb250LW9iamVjdCwgJHVybC1yZXNvbHZlcilcbntcbiAgJGZvbnQtZmFtaWx5OiBtYXAuZ2V0KCRmb250LW9iamVjdCwgJ2ZhbWlseScpO1xuICAkZm9udC13ZWlnaHQtbWFwOiBtYXAuZ2V0KCRmb250LW9iamVjdCwgJ3dlaWdodC1tYXAnKTtcbiAgJGZvbnQtZXh0OiBtYXAuZ2V0KCRmb250LW9iamVjdCwgJ2V4dCcpO1xuXG4gIEBlYWNoICR3ZWlnaHROdW1iZXIsICR3ZWlnaHROYW1lIGluICRmb250LXdlaWdodC1tYXAge1xuICAgICRzcmM6ICgpO1xuXG4gICAgQGlmKG1hcC5nZXQoJGZvbnQtb2JqZWN0LCAndHJ5LWxvY2FsJykgIT0gbnVsbCkge1xuICAgICAgJHNyYzogbGlzdC5hcHBlbmQoJHNyYywgbG9jYWwoXCIje21hcC5nZXQoJGZvbnQtb2JqZWN0LCAndHJ5LWxvY2FsJyl9XCIpLCBjb21tYSk7XG4gICAgfVxuXG4gICAgQGVhY2ggJGV4dEtleSwgJGV4dEZvcm1hdCBpbiAkZm9udC1leHQge1xuICAgICAgJHVybDogbWV0YS5jYWxsKCR1cmwtcmVzb2x2ZXIsICRmb250LWZhbWlseSwgJHdlaWdodE5hbWUsICRleHRLZXkpO1xuICAgICAgJHNyYzogbGlzdC5hcHBlbmQoJHNyYywgdXJsKFwiI3tzdHJpbmcucXVvdGUoJHVybCl9XCIpIGZvcm1hdCgje3N0cmluZy5xdW90ZSgkZXh0Rm9ybWF0KX0pLCBjb21tYSlcbiAgICB9XG5cbiAgICBAZm9udC1mYWNlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIiN7JGZvbnQtZmFtaWx5fVwiO1xuICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHROdW1iZXI7XG4gICAgICBzcmM6ICRzcmMsXG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB1c2VGb250KCRmb250LXNpemUsICRsaW5lLWhlaWdodDogbnVsbClcbntcbiAgZm9udC1zaXplOiAjeyRmb250LXNpemV9O1xuICBAaWYgKCRsaW5lLWhlaWdodCAhPSBudWxsKSB7XG4gICAgbGluZS1oZWlnaHQ6ICN7JGxpbmUtaGVpZ2h0fTtcbiAgfVxufVxuXG5AbWl4aW4gdXNlRm9udE1lZGlhKCRicmVha3BvaW50LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQ6IG51bGwpXG57XG4gICAgQGluY2x1ZGUgdmlld3BvcnQudXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHVzZUZvbnQoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KTtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIHVzZUZvbnRTTSgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQ6IG51bGwpXG57XG4gIEBpbmNsdWRlIHVzZUZvbnRNZWRpYShzbSwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XG4gICAgQGNvbnRlbnRcbiAgfVxufVxuXG5AbWl4aW4gdXNlRm9udE1EKCRmb250LXNpemUsICRsaW5lLWhlaWdodDogbnVsbClcbntcbiAgQGluY2x1ZGUgdXNlRm9udE1lZGlhKG1kLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcbiAgICBAY29udGVudFxuICB9XG59XG5cbkBtaXhpbiB1c2VGb250TEcoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0OiBudWxsKVxue1xuICBAaW5jbHVkZSB1c2VGb250TWVkaWEobGcsICRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xuICAgIEBjb250ZW50XG4gIH1cbn1cblxuQG1peGluIHVzZUZvbnRYTCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQ6IG51bGwpXG57XG4gIEBpbmNsdWRlIHVzZUZvbnRNZWRpYSh4bCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XG4gICAgQGNvbnRlbnRcbiAgfVxufVxuXG5AbWl4aW4gdXNlRm9udFhYTCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQ6IG51bGwpXG57XG4gIEBpbmNsdWRlIHVzZUZvbnRNZWRpYSh4eGwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xuICAgIEBjb250ZW50XG4gIH1cbn1cblxuQG1peGluIHdpdGhUeXBvKClcbntcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgc3BhbiwgJiB7XG4gICAgQGNvbnRlbnRcbiAgfVxufSIsIkB1c2UgXCIuLi8uLi9saWIvdWkvY29udGFpbmVyXCI7XG5AdXNlIFwiLi4vLi4vbGliL3VpL3NpemVcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG5AbGF5ZXIgY29tbW9uIHtcblxuICA6cm9vdCB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLnVzZUNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lci52aWV3cG9ydC1jb250YWluZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IHNpemUuJHRpbGUtbXVsdGlwbGU7XG4gIH1cblxufVxuIiwiQHVzZSBcInZpZXdwb3J0XCI7XG5AdXNlIFwic2l6ZVwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5cbkBtaXhpbiB1c2VDb250YWluZXIoKSB7XG4gIC0tc2l6ZS1jb250YWluZXItd2lkdGg6ICN7c2l6ZS4kZGVmYXVsdC1jb250YWluZXItd2lkdGh9O1xuICAtLXNpemUtY29udGFpbmVyLWdhcDogI3tzaXplLiRkZWZhdWx0LWNvbnRhaW5lci1nYXB9O1xuXG4gIEBpbmNsdWRlIHZpZXdwb3J0Lml0ZXJhdGUoc2l6ZS4kY29udGFpbmVyLWdhcCkgdXNpbmcoJGJyZWFrcG9pbnQsICRuZXh0LCAkcHJldikge1xuICAgIEBpbmNsdWRlIHZpZXdwb3J0Lm1vcmUoJGJyZWFrcG9pbnQpIHtcbiAgICAgICR3aWR0aDogbWFwLmdldChzaXplLiRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpO1xuICAgICAgJGdhcDogbWFwLmdldChzaXplLiRjb250YWluZXItZ2FwLCAkYnJlYWtwb2ludCk7XG5cbiAgICAgIC0tc2l6ZS1jb250YWluZXItd2lkdGg6ICN7JHdpZHRofTtcbiAgICAgIC0tc2l6ZS1jb250YWluZXItZ2FwOiAjeyRnYXB9O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdmlld3BvcnQtY29udGFpbmVyIHtcbiAgd2lkdGg6IGNhbGModmFyKC0tc2l6ZS1jb250YWluZXItd2lkdGgsICN7c2l6ZS4kZGVmYXVsdC1jb250YWluZXItd2lkdGh9KSAtIHZhcigtLXNpemUtY29udGFpbmVyLWdhcCwgI3tzaXplLiRkZWZhdWx0LWNvbnRhaW5lci1nYXB9KSk7XG59XG5cbkBtaXhpbiBhdC1jZW50ZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aCgkYnJlYWtwb2ludCkge1xuICBAcmV0dXJuICN7bWFwLmdldChzaXplLiRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIC0gbWFwLmdldChzaXplLiRjb250YWluZXItZ2FwLCAkYnJlYWtwb2ludCl9O1xufSIsIi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2Mi4wLjBcbi8vXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5AY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptZXRhJztcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgICAncGhvbmUnOiAzMjBweCxcbiAgICAndGFibGV0JzogNzY4cHgsXG4gICAgJ2Rlc2t0b3AnOiAxMDI0cHgsXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAgICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgICAncHJpbnQnOiAncHJpbnQnLFxuICAgICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAgICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICAgJ3JldGluYTJ4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAgICdyZXRpbmEzeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJyxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAgICdweCc6IDEsXG4gICAgJ2VtJzogMC4wMSxcbiAgICAncmVtJzogMC4xLFxuICAgICcnOiAwLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gICAgQGlmIG1ldGEuZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgICAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICAgICAkXzogbm9vcCgpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7XG4gICAgfVxufVxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7XG59XG5cbi8vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICAgIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgICAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAgICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAgICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgICAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSBpZiBub3QgbGlzdC5pbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gICAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgICAgIEBpZiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXRyaW0oJHBhcnNlZC1kaW1lbnNpb24pO1xuICAgICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgICBAaWYgc3RyaW5nLmxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAgICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gICAgfVxuXG4gICAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgICBAcmV0dXJuIGlmKGxpc3QuaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICAgJHZhbHVlOiBzdHJpbmcuc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0cmluZy5sZW5ndGgoJG9wZXJhdG9yKSk7XG4gICAgJHRyaW1tZWRWYWx1ZTogc3RyLXRyaW0oJHZhbHVlKTtcblxuICAgIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICR0cmltbWVkVmFsdWUpIHtcbiAgICAgICAgJHZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJHRyaW1tZWRWYWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgICR2YWx1ZTogdG8tbnVtYmVyKCR0cmltbWVkVmFsdWUpO1xuICAgIH1cblxuICAgICRpbnRlcnZhbDogbWFwLmdldCgkdW5pdC1pbnRlcnZhbHMsIG1hdGgudW5pdCgkdmFsdWUpKTtcblxuICAgIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAgICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgICAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgICAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAgICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAgICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7bWF0aC51bml0KCR2YWx1ZSl9YC4nKTtcbiAgICB9XG5cbiAgICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICAgIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAgIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEBpZiBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgICAgIEByZXR1cm4gbWFwLmdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgICB9XG5cbiAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICAgIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxpc3QubGVuZ3RoKCRsaXN0KSkge1xuICAgIEBpZiBsaXN0Lmxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgICAgICBAcmV0dXJuICgpO1xuICAgIH1cblxuICAgICRyZXN1bHQ6ICgpO1xuXG4gICAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpLCBjb21tYSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICAgIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAgIEByZXR1cm4gJHZhbHVlO1xuICAgIH0gQGVsc2UgaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICAgIH1cblxuICAgICRmaXJzdC1jaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAgICRyZXN1bHQ6IDA7XG4gICAgJGRpZ2l0czogMDtcbiAgICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICAgJG51bWJlcnM6IChcbiAgICAgICAgJzAnOiAwLFxuICAgICAgICAnMSc6IDEsXG4gICAgICAgICcyJzogMixcbiAgICAgICAgJzMnOiAzLFxuICAgICAgICAnNCc6IDQsXG4gICAgICAgICc1JzogNSxcbiAgICAgICAgJzYnOiA2LFxuICAgICAgICAnNyc6IDcsXG4gICAgICAgICc4JzogOCxcbiAgICAgICAgJzknOiA5LFxuICAgICk7XG5cbiAgICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgICAgICR2YWx1ZTogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMik7XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHJpbmcubGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAkY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgICAgIEBpZiBub3QobGlzdC5pbmRleChtYXAua2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICAgICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAgICAgICAkZGlnaXRzOiAxO1xuICAgICAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWF0aC5kaXYobWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3RlciksICRkaWdpdHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAgICR1bml0czogKFxuICAgICAgICAncHgnOiAxcHgsXG4gICAgICAgICdjbSc6IDFjbSxcbiAgICAgICAgJ21tJzogMW1tLFxuICAgICAgICAnJSc6IDElLFxuICAgICAgICAnY2gnOiAxY2gsXG4gICAgICAgICdwYyc6IDFwYyxcbiAgICAgICAgJ2luJzogMWluLFxuICAgICAgICAnZW0nOiAxZW0sXG4gICAgICAgICdyZW0nOiAxcmVtLFxuICAgICAgICAncHQnOiAxcHQsXG4gICAgICAgICdleCc6IDFleCxcbiAgICAgICAgJ3Z3JzogMXZ3LFxuICAgICAgICAndmgnOiAxdmgsXG4gICAgICAgICd2bWluJzogMXZtaW4sXG4gICAgICAgICd2bWF4JzogMXZtYXgsXG4gICAgKTtcblxuICAgIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICR2YWx1ZSAqIG1hcC5nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdHJpbVxuLy8vIEBhdXRob3IgSmFjayBNY05pY29sXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIFRyaW1zIGEgc3RyaW5nIG9mIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlc1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBWYWx1ZSB0byBiZSB0cmltbWVkXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9XG4vLy9cblxuQGZ1bmN0aW9uIHN0ci10cmltKCRzdHJpbmcpIHtcbiAgICBAaWYgKHN0cmluZy5zbGljZSgkc3RyaW5nLCAxLCAxKSA9PSAnICcpIHtcbiAgICAgICAgQHJldHVybiBzdHItdHJpbShzdHJpbmcuc2xpY2UoJHN0cmluZywgMikpO1xuICAgIH0gQGVsc2UgaWYgKHN0cmluZy5zbGljZSgkc3RyaW5nLCBzdHJpbmcubGVuZ3RoKCRzdHJpbmcpLCAtMSkgPT0gJyAnKSB7XG4gICAgICAgIEByZXR1cm4gc3RyLXRyaW0oc3RyaW5nLnNsaWNlKCRzdHJpbmcsIDEsIC0yKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gJHN0cmluZztcbiAgICB9XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAgICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAgIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAgICRicmVha3BvaW50czogbWFwLm1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAgICRtZWRpYS1leHByZXNzaW9uczogbWFwLm1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gICAgQGNvbnRlbnQ7XG5cbiAgICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gICAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpXG4gICAge1xuICAgICAgICBAY29udGVudDtcbiAgICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgICAgICBAbWVkaWEgI3tzdHJpbmcudW5xdW90ZShwYXJzZS1leHByZXNzaW9uKGxpc3QubnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAgICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgICAgICAgJHNsaWNlZC1jb25kaXRpb25zOiBzbGljZSgkY29uZGl0aW9ucywgMik7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkc2xpY2VkLWNvbmRpdGlvbnMuLi4pIHtcbiAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCIuLi8uLi9saWIvdWkvdGhlbWVcIjtcbkB1c2UgXCIuLi8uLi9saWIvdWkvY29sb3JcIjtcbkB1c2UgXCIuLi8uLi9saWIvdWkvdmlld3BvcnRcIjtcblxuLypcbkJVVFRPTiBQQUxFVFRFXG5cbmNvbW1vbjogMzUweDY4IGJsYWNrIDIwLzI4LzQwMFxucHJpbWFyeTogMzUweDY4IG9yYW5nZSAyMC8yOC80MDBcbm91dGxpbmU6IDE3MHg1NiB3aGl0ZSAyMC8yOC80MDBcbnNtYWxsOiAxOTB4MjkgPGNvbG9yPiAyMC8yOC80MDBcblxuICovXG5AbGF5ZXIgY29tbW9uIHtcblxuICAuYnRuIHtcbiAgICAtLWJ0bi1mcm9udDogYnV0dG9udGV4dDtcbiAgICAtLWJ0bi1iYWNrOiBidXR0b25mYWNlO1xuXG4gICAgLS1idG4tZnJvbnQtLWhvdmVyOiBidXR0b250ZXh0O1xuICAgIC0tYnRuLWJhY2stLWhvdmVyOiBidXR0b25mYWNlO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAzOXB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycywgY29sb3IgMS41cywgYm9yZGVyLWNvbG9yIDAuMnM7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLWJhY2spO1xuICAgIGNvbG9yOiB2YXIoLS1idG4tZnJvbnQpO1xuXG4gICAgQGluY2x1ZGUgdmlld3BvcnQudXAoc20pIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLWJhY2stLWhvdmVyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1idG4tZnJvbnQtLWhvdmVyKTtcbiAgICB9XG4gIH1cblxuICAuYnRuLS1wcmltYXJ5IHtcblxuICAgIC0tYnRuLWJhY2s6ICN7Y29sb3IuJHByaW1hcnl9O1xuICAgIC0tYnRuLWJhY2stLWhvdmVyOiAje2NvbG9yLiRwcmltYXJ5LWhvdmVyfTtcblxuICAgIC0tYnRuLWZyb250OiAje2NvbG9yLiR3aGl0ZX07XG4gICAgLS1idG4tZnJvbnQtLWhvdmVyOiAje2NvbG9yLiR3aGl0ZX07XG4gIH1cblxuICAuYnRuLS1zZWNvbmRhcnkge1xuXG4gICAgLS1idG4tYmFjazogI3t0aGVtZS4kYmxhY2t9O1xuICAgIC0tYnRuLWJhY2stLWhvdmVyOiAje3RoZW1lLiR0eXBvX2dyYXl9O1xuXG4gICAgLS1idG4tZnJvbnQ6ICN7dGhlbWUuJHdoaXRlfTtcbiAgICAtLWJ0bi1mcm9udC0taG92ZXI6ICN7Y29sb3IuJGxpZ2h0LWdyYXl9O1xuICB9XG5cbiAgLmJ0bi0td2hpdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJ0bi1mcm9udCk7XG4gICAgLS1idG4tYmFjazogI3tjb2xvci4kd2hpdGV9O1xuICAgIC0tYnRuLWJhY2stLWhvdmVyOiAje2NvbG9yLiRibGFja307XG5cbiAgICAtLWJ0bi1mcm9udDogI3tjb2xvci4kYmxhY2t9O1xuICAgIC0tYnRuLWZyb250LS1ob3ZlcjogI3tjb2xvci4kd2hpdGV9O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1iYWNrKTtcbiAgICB9XG4gIH1cblxuICAuYnRuLS1ibGFjayB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYnRuLWZyb250KTtcbiAgICAtLWJ0bi1iYWNrOiAje2NvbG9yLiRibGFja307XG4gICAgLS1idG4tYmFjay0taG92ZXI6ICN7Y29sb3IuJHdoaXRlfTtcblxuICAgIC0tYnRuLWZyb250OiAje2NvbG9yLiR3aGl0ZX07XG4gICAgLS1idG4tZnJvbnQtLWhvdmVyOiAje2NvbG9yLiRibGFja307XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLWJhY2spO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tLW91dGxpbmUge1xuXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWJ0bi1iYWNrKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1idG4tYmFjayk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1iYWNrKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1idG4tZnJvbnQpO1xuICAgIH1cblxuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgfVxuXG4gIC5idG4tLXNtYWxsIHtcbiAgICBwYWRkaW5nOiAwIDE3cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgfVxuXG4gIC5idG4tLWxhcmdlIHtcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDY2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcblxuICAgIEBpbmNsdWRlIHZpZXdwb3J0LnVwKG1kKSB7XG4gICAgICBwYWRkaW5nOiAwIDMycHg7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi0td2lkZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxufSIsIkB1c2UgXCIuLi8uLi9saWIvdWkvY29udGFpbmVyXCI7XG5AdXNlIFwiLi4vLi4vbGliL3VpL3NpemVcIjtcbkB1c2UgXCIuLi8uLi9saWIvdWkvc3RhY2tcIjtcbkB1c2UgXCIuLi8uLi9saWIvdWkvdGhlbWVcIjtcbkB1c2UgXCIuLi8uLi9saWIvdWkvY29sb3JcIjtcblxuQGxheWVyIGNvbW1vbiB7XG4gIGJvZHkge1xuICAgICYgPiBoZWFkZXIge1xuXG4gICAgICBAaW5jbHVkZSBzdGFjay51c2UoKTtcbiAgICAgIEBpbmNsdWRlIHN0YWNrLnNwYWNlLWxlZnQtcmlnaHQ7XG4gICAgICBAaW5jbHVkZSBzdGFjay5taWRkbGU7XG5cbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci52aWV3cG9ydC1jb250YWluZXI7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IHNpemUuJGhlYWRlci1oZWlnaHQ7XG5cbiAgICAgIHBhZGRpbmctdG9wOiBzaXplLiRoZWFkZXItcGFkZGluZztcblxuICAgICAgc2VjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIHN0YWNrLnVzZSgpO1xuICAgICAgICBAaW5jbHVkZSBzdGFjay5taWRkbGU7XG4gICAgICAgIGdhcDogNDBweDtcblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICBoZWlnaHQ6IHNpemUuJGhlYWRlci1oZWlnaHQgLSBzaXplLiRoZWFkZXItcGFkZGluZztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBuYXYge1xuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogdGhlbWUuJGJsYWNrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtZS5hbmltYXRlLXRleHQ7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvci4kcHJpbWFyeTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuXG5cblxuIiwiQG1peGluIHVzZSgkdmVydGljYWw6IGZhbHNlKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpZiAoJHZlcnRpY2FsID09IHRydWUpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbkBtaXhpbiBzcGFjZS1sZWZ0LXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG5AbWl4aW4gY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbkBtaXhpbiBlbmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbn1cblxuQG1peGluIG1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbkBtaXhpbiByaWdodCB7XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG59IiwiJHdoaXRlOiAjZmZmO1xuJGxpZ2h0LWdyYXk6ICNFQkVCRUI7XG4kZ3JheTogIzUwNTA1MDtcbiRkYXJrLWdyYXk6ICMzMDMwMzA7XG4kZGFya2VyLWdyYXk6ICMyMzIzMjM7XG4kYmxhY2s6ICMwMDA7XG5cbiRwcmltYXJ5OiAjRTY1OTI2O1xuJHByaW1hcnktaG92ZXI6ICNkMjQ0MTI7IiwiQHVzZSBcIi4uLy4uL2xpYi91aS9jb250YWluZXJcIjtcbkB1c2UgXCIuLi8uLi9saWIvdWkvc2l6ZVwiO1xuQHVzZSBcIi4uLy4uL2xpYi91aS9zdGFja1wiO1xuQHVzZSBcIi4uLy4uL2xpYi91aS90aGVtZVwiO1xuQHVzZSBcIi4uLy4uL2xpYi91aS9jb2xvclwiO1xuQHVzZSBcIi4uLy4uL2xpYi91aS92aWV3cG9ydFwiO1xuXG5AbGF5ZXIgY29tbW9uIHtcbiAgYm9keSB7XG4gICAgJiA+IGZvb3RlciB7XG4gICAgICBAaW5jbHVkZSBzdGFjay51c2UodHJ1ZSk7XG5cbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci52aWV3cG9ydC1jb250YWluZXI7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IHNpemUuJGhlYWRlci1oZWlnaHQ7XG5cbiAgICAgIHNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBzdGFjay51c2UoKTtcbiAgICAgICAgQGluY2x1ZGUgc3RhY2subWlkZGxlO1xuICAgICAgICBAaW5jbHVkZSBzdGFjay5lbmQ7XG5cbiAgICAgICAgbWluLWhlaWdodDogc2l6ZS4kaGVhZGVyLWhlaWdodDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRoZW1lLiRibGFjaztcblxuICAgICAgICBAaW5jbHVkZSB2aWV3cG9ydC51cChzbSkge1xuICAgICAgICAgIEBpbmNsdWRlIHN0YWNrLnNwYWNlLWxlZnQtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZvb3Rlcl9fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIHN0YWNrLnVzZSh0cnVlKTtcbiAgICAgICAgQGluY2x1ZGUgc3RhY2sucmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4iLCJAdXNlIFwiLi4vLi4vbGliL3V0aWwvZXh0ZXJuYWxcIjtcbkB1c2UgXCIuLi8uLi9saWIvdWkvdmlld3BvcnRcIjtcblxuQGxheWVyIGNvbW1vbiB7XG5cbiAgLmxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHVybChcIiN7ZXh0ZXJuYWwucmVzb2x2ZS1zdmcoJy9yZXNvdXJjZXMvaW1hZ2UvbG9nby5zdmcnKX1cIikgbm8tcmVwZWF0O1xuICAgIGhlaWdodDogNDJweDtcbiAgICB3aWR0aDogMTgwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXG4gICAgQGluY2x1ZGUgdmlld3BvcnQudXAoc20pIHtcbiAgICAgIGhlaWdodDogNTZweDtcbiAgICAgIHdpZHRoOiAyNDBweDtcbiAgICB9XG4gIH1cbn0iLCJAdXNlIFwiLi4vLi4vbGliL3VpL2NvbG9yXCI7XG5AdXNlIFwiLi4vLi4vbGliL3V0aWwvZGV2aWNlXCI7XG5cbi50aGVtZS1zd2l0Y2hlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweDtcblxuICBpbnB1dCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogcm90YXRlIC4zcztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogMjRweDtcblxuICAgICAgYmFja2dyb3VuZDogY29sb3IuJGRhcmtlci1ncmF5O1xuICAgICAgYm9yZGVyLXJhZGl1czogNDZweDtcblxuICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjNzLCBiYWNrZ3JvdW5kLWNvbG9yIC4zcztcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGJhY2tncm91bmQ6IGNvbG9yLiR3aGl0ZTtcbiAgICAgIC8vYmFja2dyb3VuZDogY29sb3IuJHByaW1hcnk7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDE5cHgpO1xuXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcyAuMnMsIGxlZnQgLjNzIC4ycywgYm94LXNoYWRvdyAuM3M7XG4gICAgICBib3gtc2hhZG93OiAxNXB4IDAgY29sb3IuJHdoaXRlIGluc2V0O1xuICAgICAgLy9ib3gtc2hhZG93OiAxNXB4IDAgY29sb3IuJHByaW1hcnkgaW5zZXQ7XG5cbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBtb29uanVtcDtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzO1xuICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJhY2t3YXJkcztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBkZXZpY2Uud2l0aG91dEhvdmVyIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci4kd2hpdGU7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcblxuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci4kd2hpdGU7XG5cbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1vb25yb2xsO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IC4zcztcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG5cbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgYm94LXNoYWRvdzogN3B4IDAgY29sb3IuJGRhcmtlci1ncmF5IGluc2V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcywgbGVmdCAuM3MsIGJveC1zaGFkb3cgLjNzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGRldmljZS53aXRoSG92ZXIge1xuICAgICY6aG92ZXIgaW5wdXQge1xuICAgICAgcm90YXRlOiAtMTBkZWc7XG4gICAgfVxuXG4gICAgJjpob3ZlciBpbnB1dDpiZWZvcmUge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgbW9vbnJvbGwge1xuICAwJSB7XG4gICAgcm90YXRlOiAwZGVnO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgcm90YXRlOiAtMzYwZGVnO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbW9vbmp1bXAge1xuICAwJSB7XG4gICAgdG9wOiA1cHg7XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgNTAlIHtcbiAgICB0b3A6IC01MHB4XG4gIH1cblxuICAxMDAlIHtcbiAgICB0b3A6IDVweDtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLSAxOXB4KTtcbiAgfVxufSIsIkBtaXhpbiB3aXRoSG92ZXIoKVxue1xuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIEBjb250ZW50XG4gIH1cbn1cblxuQG1peGluIHdpdGhvdXRIb3ZlcigpXG57XG4gIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICBAY29udGVudFxuICB9XG59IiwiQHVzZSBcIi4uLy4uL2xpYi91aS92aWV3cG9ydFwiO1xuQHVzZSBcIi4uLy4uL2xpYi91aS92aXNpYmlsaXR5XCI7XG5cblxuJGRpc3BsYXktbGlzdDogKFxuICAnYmxvY2snOiAnJyxcbiAgJ2ZsZXgnOiAnLS1mbGV4J1xuKTtcblxuQGxheWVyIHRoZW1lIHtcbiAgLnZpc2libGUge1xuICAgIEBpbmNsdWRlIHZpc2liaWxpdHkuZm9yRGlzcGxheXMoJGRpc3BsYXktbGlzdCk7XG4gIH1cblxuICAuaGlkZGVuIHtcbiAgICBAaW5jbHVkZSB2aXNpYmlsaXR5LmZvckRpc3BsYXlzKCgnbm9uZSc6ICcnKSk7XG4gIH1cbn0iLCJAdXNlIFwiLi9zaXplXCI7XG5AdXNlIFwiLi92aWV3cG9ydFwiO1xuQHVzZSBcInNhc3M6bGlzdFwiO1xuXG5AZnVuY3Rpb24gY29sbGVjdCgkYnJlYWtwb2ludHM6IHNpemUuJGJyZWFrcG9pbnRzLCAkcHJlZml4OiAnJi0tJykge1xuICAkY2xhc3MtbGlzdDogKCk7XG5cbiAgQGVhY2ggJGtleSwgJHBpeGVscyBpbiAkYnJlYWtwb2ludHMge1xuICAgICRjbGFzcy1saXN0OiBsaXN0LmFwcGVuZCgkY2xhc3MtbGlzdCwgI3skcHJlZml4KyRrZXl9LCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuIGxpc3Quam9pbigoJyYnKSwgJGNsYXNzLWxpc3QpO1xufVxuXG5AbWl4aW4gZm9yRGlzcGxheXMoJGRpc3BsYXktbGlzdClcbntcbiAgQGVhY2ggJGRpc3BsYXktdmFsdWUsICRkaXNwbGF5LWNsYXNzIGluICRkaXNwbGF5LWxpc3Qge1xuICAgICYjeyRkaXNwbGF5LWNsYXNzfSB7XG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5LXZhbHVlfTtcblxuICAgICAgQGluY2x1ZGUgdmlld3BvcnQuaXRlcmF0ZSgpIHVzaW5nICgkYnJlYWtwb2ludCwgJG5leHQsICRfXykge1xuICAgICAgICBAaW5jbHVkZSB2aWV3cG9ydC5iZXR3ZWVuKCRicmVha3BvaW50LCAkbmV4dCkge1xuICAgICAgICAgICYtLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICN7JGRpc3BsYXktdmFsdWV9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkB1c2UgXCIuLi8uLi9saWIvdWkvc2l6ZVwiO1xuQHVzZSBcIi4uLy4uL2xpYi91aS92aWV3cG9ydFwiO1xuXG4uZmlyc3Qtc2NyZWVuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYyg3NXZoIC0gI3tzaXplLiRoZWFkZXItaGVpZ2h0fSk7XG4gIGhlaWdodDogY2FsYyg3NWR2aCAtICN7c2l6ZS4kaGVhZGVyLWhlaWdodH0pO1xuXG4gIEBpbmNsdWRlIHZpZXdwb3J0LnVwKG1kKXtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAje3NpemUuJGhlYWRlci1oZWlnaHR9KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwZHZoIC0gI3tzaXplLiRoZWFkZXItaGVpZ2h0fSk7XG4gIH1cblxuICAmLS1yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59IiwiQHVzZSBcIi4uLy4uL2xpYi91aS9jb250YWluZXJcIjtcbkB1c2UgXCIuLi8uLi9saWIvdWkvc3RhY2tcIjtcbkB1c2UgXCIuLi8uLi9saWIvdWkvdmlld3BvcnRcIjtcbkB1c2UgXCIuLi8uLi9saWIvdWkvc2l6ZVwiO1xuQHVzZSBcIi4uLy4uL2xpYi91aS90aGVtZVwiO1xuQHVzZSBcIi4uLy4uL2xpYi91dGlsL2ZvbnRcIjtcbkB1c2UgXCIuLi8uLi9saWIvdXRpbC9icm93c2VyXCI7XG5cbkBsYXllciBjb21tb24ge1xuXG4gIC5pbnZpdGUge1xuICAgIEBpbmNsdWRlIHN0YWNrLnVzZSh0cnVlKTtcbiAgICBAaW5jbHVkZSBzdGFjay5jZW50ZXI7XG4gICAgQGluY2x1ZGUgc3RhY2subWlkZGxlO1xuXG4gICAgQGluY2x1ZGUgY29udGFpbmVyLnZpZXdwb3J0LWNvbnRhaW5lcjtcbiAgICBAaW5jbHVkZSBjb250YWluZXIuYXQtY2VudGVyO1xuXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBmb250LndpdGhUeXBvIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gICAgICBAaW5jbHVkZSBmb250LnVzZUZvbnQoMTZweCwgMzBweCk7XG4gICAgICBAaW5jbHVkZSBmb250LnVzZUZvbnRTTSgyMHB4LCAzNXB4KTtcbiAgICAgIEBpbmNsdWRlIGZvbnQudXNlRm9udE1EKDQwcHgsIDUwcHgpO1xuICAgICAgQGluY2x1ZGUgZm9udC51c2VGb250TEcoNTBweCwgODBweCk7XG4gICAgICBAaW5jbHVkZSBmb250LnVzZUZvbnRYTCg3MHB4LCAxMTBweCk7XG5cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIH1cblxuICAgICAgJi0taW4tZGV2IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJvd3Nlci5pZk5vdFNhZmFyaSB7XG4gICAgLmludml0ZSB7XG4gICAgICBAaW5jbHVkZSBmb250LndpdGhUeXBvIHtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWUuYW5pbWF0ZS10ZXh0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkB1c2UgXCIuLi8uLi9saWIvdWkvZ3JpZFwiO1xuQHVzZSBcIi4uLy4uL2xpYi91aS92aWV3cG9ydFwiO1xuQHVzZSBcIi4uLy4uL2xpYi91aS9jb250YWluZXJcIjtcblxuLnB1enpsZS0zMiB7XG5cbiAgQGluY2x1ZGUgY29udGFpbmVyLnZpZXdwb3J0LWNvbnRhaW5lcjtcbiAgQGluY2x1ZGUgY29udGFpbmVyLmF0LWNlbnRlcjtcbiAgQGluY2x1ZGUgZ3JpZC51c2VSZXBlYXRlZENvbHVtbnMoMSk7XG4gIEBpbmNsdWRlIGdyaWQuZ2FwKDgwcHgpO1xuXG4gIEBpbmNsdWRlIHZpZXdwb3J0LnVwKGxnKSB7XG4gICAgQGluY2x1ZGUgZ3JpZC51c2VSZXBlYXRlZENvbHVtbnMoMik7XG4gIH1cblxuICBAaW5jbHVkZSB2aWV3cG9ydC51cCh4bCkge1xuICAgIEBpbmNsdWRlIGdyaWQudXNlUmVwZWF0ZWRDb2x1bW5zKDYpO1xuICAgICYgPiAqIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQuY29sdW1uLXdpZHRoKDIpO1xuICAgIH1cblxuICAgICYtLWxvbmcge1xuICAgICAgQGluY2x1ZGUgZ3JpZC5jb2x1bW4td2lkdGgoMyk7XG4gICAgfVxuXG4gICAgJi0tZG91YmxlIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQuY29sdW1uLXdpZHRoKDQpO1xuICAgIH1cbiAgfVxufSIsIkBtaXhpbiB1c2VHcmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuQG1peGluIHVzZUZpeGVkKCR4LCAkeSlcbntcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJHgsIDFmcik7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KCR5LCAxZnIpO1xufVxuXG5AbWl4aW4gdXNlUmVwZWF0ZWRDb2x1bW5zKCRjb3VudCwgJHBhdHRlcm46IDFmcilcbntcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJGNvdW50LCAkcGF0dGVybik7XG59XG5cbkBtaXhpbiBjb2x1bW4td2lkdGgoJHNwYW4sICR3aWR0aDogYXV0bykge1xuICBncmlkLWNvbHVtbjogJHdpZHRoIC8gc3BhbiAkc3Bhbjtcbn1cblxuQG1peGluIGdhcCgkeHkpXG57XG4gIGdhcDogJHh5O1xufSIsIi5kdW8tc2xpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcblxuXG4gICZfX3dyYXBwZXIge1xuICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSguNSk7XG5cbiAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgLjNzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIGltYWdlLXJlbmRlcmluZzogYXV0bztcbiAgICB9XG4gIH1cbn0iLCJAdXNlIFwiLi4vLi4vLi4vbGliL3VpL3B1enpsZVwiO1xuQHVzZSBcIi4uLy4uLy4uL2xpYi91aS90aGVtZVwiO1xuQHVzZSBcIi4uLy4uLy4uL2xpYi91aS9zdGFja1wiO1xuQHVzZSBcIi4uLy4uLy4uL2xpYi91aS92aWV3cG9ydFwiO1xuXG4ucHV6emxlLW1haW4ge1xuICBAaW5jbHVkZSBwdXp6bGUuaXRlbSgkcGFkZGluZzogMjVweCAxNXB4KTtcbiAgQGluY2x1ZGUgc3RhY2sudXNlKHRydWUpO1xuICBAaW5jbHVkZSB0aGVtZS5hbmltYXRlLXRleHQ7XG4gIGZvbnQtc2l6ZTogMTBweDtcblxuICBAaW5jbHVkZSB2aWV3cG9ydC51cChzbSkge1xuICAgIHBhZGRpbmc6IDM1cHg7XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBAaW5jbHVkZSB2aWV3cG9ydC51cChzbSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG4gIH1cblxuICA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59IiwiQHVzZSBcIi4vdGhlbWVcIjtcblxuQG1peGluIGl0ZW0oJGNvbG9yOiB0aGVtZS4kYmxhY2ssICRib3JkZXItY29sb3I6IHRoZW1lLiRibGFjaywgJGJhY2tncm91bmQ6IHRoZW1lLiR3aGl0ZSwgJHBhZGRpbmc6IDM1cHgpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG59IiwiQHVzZSBcIi4uLy4uLy4uL2xpYi91aS9wdXp6bGVcIjtcbkB1c2UgXCIuLi8uLi8uLi9saWIvdWkvdGhlbWVcIjtcbkB1c2UgXCIuLi8uLi8uLi9saWIvdWkvY29sb3JcIjtcbkB1c2UgXCIuLi8uLi8uLi9saWIvdWkvc3RhY2tcIjtcbkB1c2UgXCIuLi8uLi8uLi9saWIvdWkvYm9keS1iYWNrZ3JvdW5kXCI7XG5AdXNlIFwiLi4vLi4vLi4vbGliL3VpL3ZpZXdwb3J0XCI7XG5AdXNlIFwiLi4vLi4vLi4vbGliL3V0aWwvZXh0ZXJuYWxcIjtcblxuLnB1enpsZS13aG8ge1xuICBAaW5jbHVkZSBwdXp6bGUuaXRlbShjb2xvci4kbGlnaHQtZ3JheSwgY29sb3IuJGdyYXksIGNvbG9yLiRwcmltYXJ5LCAxNXB4IDE1cHggMzBweCAxNXB4KTtcbiAgQGluY2x1ZGUgc3RhY2sudXNlKHRydWUpO1xuICBAaW5jbHVkZSB0aGVtZS5hbmltYXRlLXRleHQ7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3tleHRlcm5hbC5yZXNvbHZlLXN2ZygnL3Jlc291cmNlcy9pbWFnZS9iZy0zNS5zdmcnLCNFN0U3RTcxQSl9XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDM1cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICBAaW5jbHVkZSB2aWV3cG9ydC51cChzbSkge1xuICAgIHBhZGRpbmc6IDM1cHggMzVweCA1MHB4IDM1cHg7XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuXG4gICAgQGluY2x1ZGUgdmlld3BvcnQudXAoc20pIHtcbiAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xuICAgIH1cblxuXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cblxuICB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn0iLCJAdXNlIFwiLi4vLi4vLi4vbGliL3VpL3B1enpsZVwiO1xuQHVzZSBcIi4uLy4uLy4uL2xpYi91aS90aGVtZVwiO1xuQHVzZSBcIi4uLy4uLy4uL2xpYi91aS9zdGFja1wiO1xuQHVzZSBcIi4uLy4uLy4uL2xpYi91aS92aWV3cG9ydFwiO1xuXG4ucHV6emxlLWNsaWVudHMge1xuICBAaW5jbHVkZSBwdXp6bGUuaXRlbSgkcGFkZGluZzogMzVweCk7XG4gIEBpbmNsdWRlIHN0YWNrLnVzZSh0cnVlKTtcbiAgQGluY2x1ZGUgdGhlbWUuYW5pbWF0ZS10ZXh0O1xuICBmb250LXNpemU6IDEwcHg7XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICBsaW5lLWhlaWdodDogNTZweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/