@charset "UTF-8";
html {
  box-sizing: border-box; }

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

html {
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
      -ms-text-size-adjust: none;
          text-size-adjust: none; }

body {
  margin: 0; }

hr {
  overflow: visible;
  box-sizing: content-box; }

a {
  -webkit-text-decoration-skip: objects; }

a,
button,
label,
input {
  -webkit-tap-highlight-color: transparent; }

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

small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

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

td,
th {
  font-weight: normal;
  vertical-align: top; }

button {
  margin: 0;
  padding: 0;
  border: 0;
  outline-style: none;
  background: transparent;
  font-size: inherit; }

input {
  border: 0;
  outline: 0; }

.md-icon, .md-clipboard::before, .md-nav__title::before, .md-nav__button, .md-nav__link::after, .md-search-result__article--document::before, .md-source-file::before, .md-typeset .admonition > .admonition-title::before, .md-typeset details > .admonition-title::before, .md-typeset .admonition > summary::before, .md-typeset details > summary::before, .md-typeset .footnote-backref, .md-typeset .critic.comment::before, .md-typeset summary::after, .md-typeset .task-list-control .task-list-indicator::before {
  font-family: "Material Icons";
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  text-transform: none;
  white-space: nowrap;
  speak: none;
  word-wrap: normal;
  direction: ltr; }
  .md-content__icon, .md-header-nav__button, .md-footer-nav__button, .md-nav__title::before, .md-nav__button, .md-search-result__article--document::before {
    display: inline-block;
    margin: 0.4rem;
    padding: 0.8rem;
    font-size: 2.4rem;
    cursor: pointer; }

.md-icon--arrow-back::before {
  content: "\E5C4"; }

.md-icon--arrow-forward::before {
  content: "\E5C8"; }

.md-icon--menu::before {
  content: "\E5D2"; }

.md-icon--search::before {
  content: "\E8B6"; }

[dir="rtl"] .md-icon--arrow-back::before {
  content: "\E5C8"; }

[dir="rtl"] .md-icon--arrow-forward::before {
  content: "\E5C4"; }

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

body,
input {
  color: rgba(0, 0, 0, 0.87);
  -webkit-font-feature-settings: "kern", "liga";
          font-feature-settings: "kern", "liga";
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }

pre,
code,
kbd {
  color: rgba(0, 0, 0, 0.87);
  -webkit-font-feature-settings: "kern";
          font-feature-settings: "kern";
  font-family: "Courier New", Courier, monospace; }

.md-typeset {
  font-size: 1.6rem;
  line-height: 1.6;
  -webkit-print-color-adjust: exact; }
  .md-typeset p,
  .md-typeset ul,
  .md-typeset ol,
  .md-typeset blockquote {
    margin: 1em 0; }
  .md-typeset h1 {
    margin: 0 0 4rem;
    color: rgba(0, 0, 0, 0.54);
    font-size: 3.125rem;
    font-weight: 300;
    letter-spacing: -0.01em;
    line-height: 1.3; }
  .md-typeset h2 {
    margin: 4rem 0 1.6rem;
    font-size: 2.5rem;
    font-weight: 300;
    letter-spacing: -0.01em;
    line-height: 1.4; }
  .md-typeset h3 {
    margin: 3.2rem 0 1.6rem;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    line-height: 1.5; }
  .md-typeset h2 + h3 {
    margin-top: 1.6rem; }
  .md-typeset h4 {
    margin: 1.6rem 0;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: -0.01em; }
  .md-typeset h5,
  .md-typeset h6 {
    margin: 1.6rem 0;
    color: rgba(0, 0, 0, 0.54);
    font-size: 1.28rem;
    font-weight: 700;
    letter-spacing: -0.01em; }
  .md-typeset h5 {
    text-transform: uppercase; }
  .md-typeset hr {
    margin: 1.5em 0;
    border-bottom: 0.1rem dotted rgba(0, 0, 0, 0.26); }
  .md-typeset a {
    color: #3f51b5;
    word-break: break-word; }
    .md-typeset a, .md-typeset a::before {
      transition: color 0.125s; }
    .md-typeset a:hover, .md-typeset a:active {
      color: #536dfe; }
  .md-typeset code,
  .md-typeset pre {
    background-color: rgba(236, 236, 236, 0.5);
    color: #37474F;
    font-size: 85%;
    direction: ltr; }
  .md-typeset code {
    margin: 0 0.29412em;
    padding: 0.07353em 0;
    border-radius: 0.2rem;
    box-shadow: 0.29412em 0 0 rgba(236, 236, 236, 0.5), -0.29412em 0 0 rgba(236, 236, 236, 0.5);
    word-break: break-word;
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone; }
  .md-typeset h1 code,
  .md-typeset h2 code,
  .md-typeset h3 code,
  .md-typeset h4 code,
  .md-typeset h5 code,
  .md-typeset h6 code {
    margin: 0;
    background-color: transparent;
    box-shadow: none; }
  .md-typeset a > code {
    margin: inherit;
    padding: inherit;
    border-radius: none;
    background-color: inherit;
    color: inherit;
    box-shadow: none; }
  .md-typeset pre {
    position: relative;
    margin: 1em 0;
    border-radius: 0.2rem;
    line-height: 1.4;
    -webkit-overflow-scrolling: touch; }
    .md-typeset pre > code {
      display: block;
      margin: 0;
      padding: 1.05rem 1.2rem;
      background-color: transparent;
      font-size: inherit;
      box-shadow: none;
      -webkit-box-decoration-break: none;
              box-decoration-break: none;
      overflow: auto; }
      .md-typeset pre > code::-webkit-scrollbar {
        width: 0.4rem;
        height: 0.4rem; }
      .md-typeset pre > code::-webkit-scrollbar-thumb {
        background-color: rgba(0, 0, 0, 0.26); }
        .md-typeset pre > code::-webkit-scrollbar-thumb:hover {
          background-color: #536dfe; }
  .md-typeset kbd {
    padding: 0 0.29412em;
    border: 0.1rem solid #c9c9c9;
    border-radius: 0.3rem;
    border-bottom-color: #bcbcbc;
    background-color: #FCFCFC;
    color: #555555;
    font-size: 85%;
    box-shadow: 0 0.1rem 0 #b0b0b0;
    word-break: break-word; }
  .md-typeset mark {
    margin: 0 0.25em;
    padding: 0.0625em 0;
    border-radius: 0.2rem;
    background-color: rgba(255, 235, 59, 0.5);
    box-shadow: 0.25em 0 0 rgba(255, 235, 59, 0.5), -0.25em 0 0 rgba(255, 235, 59, 0.5);
    word-break: break-word;
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone; }
  .md-typeset abbr {
    border-bottom: 0.1rem dotted rgba(0, 0, 0, 0.54);
    text-decoration: none;
    cursor: help; }
  .md-typeset small {
    opacity: 0.75; }
  .md-typeset sup,
  .md-typeset sub {
    margin-left: 0.07812em; }
    [dir="rtl"] .md-typeset sup, [dir="rtl"]
    .md-typeset sub {
      margin-right: 0.07812em;
      margin-left: initial; }
  .md-typeset blockquote {
    padding-left: 1.2rem;
    border-left: 0.4rem solid rgba(0, 0, 0, 0.26);
    color: rgba(0, 0, 0, 0.54); }
    [dir="rtl"] .md-typeset blockquote {
      padding-right: 1.2rem;
      padding-left: initial;
      border-right: 0.4rem solid rgba(0, 0, 0, 0.26);
      border-left: initial; }
  .md-typeset ul {
    list-style-type: disc; }
  .md-typeset ul,
  .md-typeset ol {
    margin-left: 0.625em;
    padding: 0; }
    [dir="rtl"] .md-typeset ul, [dir="rtl"]
    .md-typeset ol {
      margin-right: 0.625em;
      margin-left: initial; }
    .md-typeset ul ol,
    .md-typeset ol ol {
      list-style-type: lower-alpha; }
      .md-typeset ul ol ol,
      .md-typeset ol ol ol {
        list-style-type: lower-roman; }
    .md-typeset ul li,
    .md-typeset ol li {
      margin-bottom: 0.5em;
      margin-left: 1.25em; }
      [dir="rtl"] .md-typeset ul li, [dir="rtl"]
      .md-typeset ol li {
        margin-right: 1.25em;
        margin-left: initial; }
      .md-typeset ul li p,
      .md-typeset ul li blockquote,
      .md-typeset ol li p,
      .md-typeset ol li blockquote {
        margin: 0.5em 0; }
      .md-typeset ul li:last-child,
      .md-typeset ol li:last-child {
        margin-bottom: 0; }
      .md-typeset ul li ul,
      .md-typeset ul li ol,
      .md-typeset ol li ul,
      .md-typeset ol li ol {
        margin: 0.5em 0 0.5em 0.625em; }
        [dir="rtl"] .md-typeset ul li ul, [dir="rtl"]
        .md-typeset ul li ol, [dir="rtl"]
        .md-typeset ol li ul, [dir="rtl"]
        .md-typeset ol li ol {
          margin-right: 0.625em;
          margin-left: initial; }
  .md-typeset dd {
    margin: 1em 0 1em 1.875em; }
    [dir="rtl"] .md-typeset dd {
      margin-right: 1.875em;
      margin-left: initial; }
  .md-typeset iframe,
  .md-typeset img,
  .md-typeset svg {
    max-width: 100%; }
  .md-typeset table:not([class]) {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
    display: inline-block;
    max-width: 100%;
    border-radius: 0.2rem;
    font-size: 1.28rem;
    overflow: auto;
    -webkit-overflow-scrolling: touch; }
    .md-typeset table:not([class]) + * {
      margin-top: 1.5em; }
    .md-typeset table:not([class]) th:not([align]),
    .md-typeset table:not([class]) td:not([align]) {
      text-align: left; }
      [dir="rtl"] .md-typeset table:not([class]) th:not([align]), [dir="rtl"]
      .md-typeset table:not([class]) td:not([align]) {
        text-align: right; }
    .md-typeset table:not([class]) th {
      min-width: 10rem;
      padding: 1.2rem 1.6rem;
      background-color: rgba(0, 0, 0, 0.54);
      color: white;
      vertical-align: top; }
    .md-typeset table:not([class]) td {
      padding: 1.2rem 1.6rem;
      border-top: 0.1rem solid rgba(0, 0, 0, 0.07);
      vertical-align: top; }
    .md-typeset table:not([class]) tr:first-child td {
      border-top: 0; }
    .md-typeset table:not([class]) a {
      word-break: normal; }
  .md-typeset__scrollwrap {
    margin: 1em -1.6rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
  .md-typeset .md-typeset__table {
    display: inline-block;
    margin-bottom: 0.5em;
    padding: 0 1.6rem; }
    .md-typeset .md-typeset__table table {
      display: table;
      width: 100%;
      margin: 0;
      overflow: hidden; }

html {
  height: 100%;
  font-size: 62.5%;
  overflow-x: hidden; }

body {
  position: relative;
  height: 100%; }

hr {
  display: block;
  height: 0.1rem;
  padding: 0;
  border: 0; }

.md-svg {
  display: none; }

.md-grid {
  max-width: 122rem;
  margin-right: auto;
  margin-left: auto; }

.md-container,
.md-main {
  overflow: auto; }

.md-container {
  display: table;
  width: 100%;
  height: 100%;
  padding-top: 4.8rem;
  table-layout: fixed; }

.md-main {
  display: table-row;
  height: 100%; }
  .md-main__inner {
    height: 100%;
    padding-top: 3rem;
    padding-bottom: 0.1rem; }

.md-toggle {
  display: none; }

.md-overlay {
  position: fixed;
  top: 0;
  width: 0;
  height: 0;
  transition: width   0s 0.25s, height  0s 0.25s, opacity 0.25s;
  background-color: rgba(0, 0, 0, 0.54);
  opacity: 0;
  z-index: 3; }

.md-flex {
  display: table; }
  .md-flex__cell {
    display: table-cell;
    position: relative;
    vertical-align: top; }
    .md-flex__cell--shrink {
      width: 0%; }
    .md-flex__cell--stretch {
      display: table;
      width: 100%;
      table-layout: fixed; }
  .md-flex__ellipsis {
    display: table-cell;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden; }

.md-skip {
  position: fixed;
  width: 0.1rem;
  height: 0.1rem;
  margin: 1rem;
  padding: 0.6rem 1rem;
  clip: rect(0.1rem);
  -webkit-transform: translateY(0.8rem);
          transform: translateY(0.8rem);
  border-radius: 0.2rem;
  background-color: rgba(0, 0, 0, 0.87);
  color: white;
  font-size: 1.28rem;
  opacity: 0;
  overflow: hidden; }
  .md-skip:focus {
    width: auto;
    height: auto;
    clip: auto;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    transition: opacity 0.175s 0.075s, -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.175s 0.075s;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.175s 0.075s, -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1;
    z-index: 10; }

@page {
  margin: 25mm; }

ul, ul li {
  margin: 0;
  padding: 0;
  list-style: none; }

.about {
  margin-top: 50px; }

.about-list {
  overflow: hidden; }

.about-list li {
  float: left;
  margin: 1px;
  width: 200px;
  height: 280px;
  padding: 20px 15px;
  border: 1px solid #f0f0f0;
  border-radius: 3px;
  box-shadow: -1px 0px 10px #e4e4e4;
  -webkit-box-shadow: -1px 0px 10px #e4e4e4;
  transition: all .3s;
  -webkit-transition: all .3s; }

.about-list li:hover {
  box-shadow: -1px 0px 15px #dbdbdb;
  -webkit-box-shadow: -1px 0px 15px #dbdbdb; }

.about-list .picture {
  display: block;
  overflow: hidden;
  margin: auto;
  width: 168px;
  height: 168px;
  border-radius: 3px; }

.about-list .desc {
  margin: 0; }

.about-list .desc dt {
  margin: 10px 0 5px;
  font-weight: bold; }

.about-list .desc dd {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  font-size: .8em;
  line-height: 1.4em;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  color: #888;
  width: 100%; }

.md-clipboard {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 0.2rem;
  font-size: 1.6rem;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .md-clipboard::before {
    transition: color   0.25s, opacity 0.25s;
    color: rgba(0, 0, 0, 0.07);
    content: "\E14D"; }
    pre:hover .md-clipboard::before,
    .codehilite:hover .md-clipboard::before,
    .md-typeset .highlight:hover .md-clipboard::before {
      color: rgba(0, 0, 0, 0.54); }
  .md-clipboard:focus::before, .md-clipboard:hover::before {
    color: #536dfe; }
  .md-clipboard__message {
    display: block;
    position: absolute;
    top: 0;
    right: 3.4rem;
    padding: 0.6rem 1rem;
    -webkit-transform: translateX(0.8rem);
            transform: translateX(0.8rem);
    transition: opacity 0.175s, -webkit-transform 0.25s cubic-bezier(0.9, 0.1, 0.9, 0);
    transition: transform 0.25s cubic-bezier(0.9, 0.1, 0.9, 0), opacity 0.175s;
    transition: transform 0.25s cubic-bezier(0.9, 0.1, 0.9, 0), opacity 0.175s, -webkit-transform 0.25s cubic-bezier(0.9, 0.1, 0.9, 0);
    border-radius: 0.2rem;
    background-color: rgba(0, 0, 0, 0.54);
    color: white;
    font-size: 1.28rem;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none; }
    .md-clipboard__message--active {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      transition: opacity 0.175s 0.075s, -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
      transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.175s 0.075s;
      transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.175s 0.075s, -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
      opacity: 1;
      pointer-events: initial; }
    .md-clipboard__message::before {
      content: attr(aria-label); }
    .md-clipboard__message::after {
      display: block;
      position: absolute;
      top: 50%;
      right: -0.4rem;
      width: 0;
      margin-top: -0.4rem;
      border-width: 0.4rem 0 0.4rem 0.4rem;
      border-style: solid;
      border-color: transparent rgba(0, 0, 0, 0.54);
      content: ""; }

.md-content__inner {
  margin: 0 1.6rem 2.4rem;
  padding-top: 1.2rem; }
  .md-content__inner::before {
    display: block;
    height: 0.8rem;
    content: ""; }
  .md-content__inner > :last-child {
    margin-bottom: 0; }

.md-content__icon {
  position: relative;
  margin: 0.8rem 0;
  padding: 0;
  float: right; }
  .md-typeset .md-content__icon {
    color: rgba(0, 0, 0, 0.26); }

.md-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  height: 4.8rem;
  transition: background-color 0.25s, color 0.25s;
  background-color: #3f51b5;
  color: white;
  box-shadow: none;
  z-index: 2;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .no-js .md-header {
    transition: none;
    box-shadow: none; }
  .md-header[data-md-state="shadow"] {
    transition: background-color 0.25s, color 0.25s, box-shadow 0.25s;
    box-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.1), 0 0.4rem 0.8rem rgba(0, 0, 0, 0.2); }

.md-header-nav {
  padding: 0 0.4rem; }
  .md-header-nav__button {
    position: relative;
    transition: opacity 0.25s;
    z-index: 1; }
    .md-header-nav__button:hover {
      opacity: 0.7; }
    .md-header-nav__button.md-logo * {
      display: block; }
    .no-js .md-header-nav__button.md-icon--search {
      display: none; }
  .md-header-nav__topic {
    display: block;
    position: absolute;
    transition: opacity 0.15s, -webkit-transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1);
    transition: transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.15s;
    transition: transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.15s, -webkit-transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1);
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden; }
    .md-header-nav__topic + .md-header-nav__topic {
      -webkit-transform: translateX(2.5rem);
              transform: translateX(2.5rem);
      transition: opacity 0.15s, -webkit-transform 0.4s cubic-bezier(1, 0.7, 0.1, 0.1);
      transition: transform 0.4s cubic-bezier(1, 0.7, 0.1, 0.1), opacity 0.15s;
      transition: transform 0.4s cubic-bezier(1, 0.7, 0.1, 0.1), opacity 0.15s, -webkit-transform 0.4s cubic-bezier(1, 0.7, 0.1, 0.1);
      opacity: 0;
      z-index: -1;
      pointer-events: none; }
      [dir="rtl"] .md-header-nav__topic + .md-header-nav__topic {
        -webkit-transform: translateX(-2.5rem);
                transform: translateX(-2.5rem); }
    .no-js .md-header-nav__topic {
      position: initial; }
    .no-js .md-header-nav__topic + .md-header-nav__topic {
      display: none; }
  .md-header-nav__title {
    padding: 0 2rem;
    font-size: 1.8rem;
    line-height: 4.8rem; }
    .md-header-nav__title[data-md-state="active"] .md-header-nav__topic {
      -webkit-transform: translateX(-2.5rem);
              transform: translateX(-2.5rem);
      transition: opacity 0.15s, -webkit-transform 0.4s cubic-bezier(1, 0.7, 0.1, 0.1);
      transition: transform 0.4s cubic-bezier(1, 0.7, 0.1, 0.1), opacity 0.15s;
      transition: transform 0.4s cubic-bezier(1, 0.7, 0.1, 0.1), opacity 0.15s, -webkit-transform 0.4s cubic-bezier(1, 0.7, 0.1, 0.1);
      opacity: 0;
      z-index: -1;
      pointer-events: none; }
      [dir="rtl"] .md-header-nav__title[data-md-state="active"] .md-header-nav__topic {
        -webkit-transform: translateX(2.5rem);
                transform: translateX(2.5rem); }
      .md-header-nav__title[data-md-state="active"] .md-header-nav__topic + .md-header-nav__topic {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        transition: opacity 0.15s, -webkit-transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1);
        transition: transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.15s;
        transition: transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.15s, -webkit-transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1);
        opacity: 1;
        z-index: 0;
        pointer-events: initial; }
  .md-header-nav__source {
    display: none; }

.md-hero {
  transition: background 0.25s;
  background-color: #3f51b5;
  color: white;
  font-size: 2rem;
  overflow: hidden; }
  .md-hero__inner {
    margin-top: 2rem;
    padding: 1.6rem 1.6rem 0.8rem;
    transition: opacity 0.25s, -webkit-transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1);
    transition: transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.25s;
    transition: transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.25s, -webkit-transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1);
    transition-delay: 0.1s; }
    [data-md-state="hidden"] .md-hero__inner {
      pointer-events: none;
      -webkit-transform: translateY(1.25rem);
              transform: translateY(1.25rem);
      transition: opacity   0.1s 0s, -webkit-transform 0s   0.4s;
      transition: transform 0s   0.4s, opacity   0.1s 0s;
      transition: transform 0s   0.4s, opacity   0.1s 0s, -webkit-transform 0s   0.4s;
      opacity: 0; }
    .md-hero--expand .md-hero__inner {
      margin-bottom: 2.4rem; }

.md-footer-nav {
  background-color: rgba(0, 0, 0, 0.87);
  color: white; }
  .md-footer-nav__inner {
    padding: 0.4rem;
    overflow: auto; }
  .md-footer-nav__link {
    padding-top: 2.8rem;
    padding-bottom: 0.8rem;
    transition: opacity 0.25s; }
    .md-footer-nav__link:hover {
      opacity: 0.7; }
    .md-footer-nav__link--prev {
      width: 25%;
      float: left; }
      [dir="rtl"] .md-footer-nav__link--prev {
        float: right; }
    .md-footer-nav__link--next {
      width: 75%;
      float: right;
      text-align: right; }
      [dir="rtl"] .md-footer-nav__link--next {
        float: left;
        text-align: left; }
  .md-footer-nav__button {
    transition: background 0.25s; }
  .md-footer-nav__title {
    position: relative;
    padding: 0 2rem;
    font-size: 1.8rem;
    line-height: 4.8rem; }
  .md-footer-nav__direction {
    position: absolute;
    right: 0;
    left: 0;
    margin-top: -2rem;
    padding: 0 2rem;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.5rem; }

.md-footer-meta {
  background-color: rgba(0, 0, 0, 0.895); }
  .md-footer-meta__inner {
    padding: 0.4rem;
    overflow: auto; }
  html .md-footer-meta.md-typeset a {
    color: rgba(255, 255, 255, 0.7); }
    html .md-footer-meta.md-typeset a:focus, html .md-footer-meta.md-typeset a:hover {
      color: white; }

.md-footer-copyright {
  margin: 0 1.2rem;
  padding: 0.8rem 0;
  color: rgba(255, 255, 255, 0.3);
  font-size: 1.28rem; }
  .md-footer-copyright__highlight {
    color: rgba(255, 255, 255, 0.7); }

.md-footer-social {
  margin: 0 0.8rem;
  padding: 0.4rem 0 1.2rem; }
  .md-footer-social__link {
    display: inline-block;
    width: 3.2rem;
    height: 3.2rem;
    font-size: 1.6rem;
    text-align: center; }
    .md-footer-social__link::before {
      line-height: 1.9; }

.md-nav {
  font-size: 1.4rem;
  line-height: 1.3; }
  .md-nav__title {
    display: block;
    padding: 0 1.2rem;
    font-weight: 700;
    text-overflow: ellipsis;
    overflow: hidden; }
    .md-nav__title::before {
      display: none;
      content: "\E5C4"; }
      [dir="rtl"] .md-nav__title::before {
        content: "\E5C8"; }
    .md-nav__title .md-nav__button {
      display: none; }
  .md-nav__list {
    margin: 0;
    padding: 0;
    list-style: none; }
  .md-nav__item {
    padding: 0 1.2rem; }
    .md-nav__item:last-child {
      padding-bottom: 1.2rem; }
    .md-nav__item .md-nav__item {
      padding-right: 0; }
      [dir="rtl"] .md-nav__item .md-nav__item {
        padding-right: 1.2rem;
        padding-left: 0; }
      .md-nav__item .md-nav__item:last-child {
        padding-bottom: 0; }
  .md-nav__button img {
    width: 100%;
    height: auto; }
  .md-nav__link {
    display: block;
    margin-top: 0.625em;
    transition: color 0.125s;
    text-overflow: ellipsis;
    cursor: pointer;
    overflow: hidden; }
    .md-nav__item--nested > .md-nav__link::after {
      content: "\E313"; }
    html .md-nav__link[for="__toc"] {
      display: none; }
      html .md-nav__link[for="__toc"] ~ .md-nav {
        display: none; }
      html .md-nav__link[for="__toc"] + .md-nav__link::after {
        display: none; }
    .md-nav__link[data-md-state="blur"] {
      color: rgba(0, 0, 0, 0.54); }
    .md-nav__link:active, .md-nav__link--active {
      color: #3f51b5; }
    .md-nav__item--nested > .md-nav__link {
      color: inherit; }
    .md-nav__link:focus, .md-nav__link:hover {
      color: #536dfe; }
  .md-nav__source {
    display: none; }

.no-js .md-search {
  display: none; }

.md-search__overlay {
  opacity: 0;
  z-index: 1; }

.md-search__form {
  position: relative; }

.md-search__input {
  position: relative;
  padding: 0 4.4rem 0 7.2rem;
  text-overflow: ellipsis;
  z-index: 2; }
  [dir="rtl"] .md-search__input {
    padding: 0 7.2rem 0 4.4rem; }
  .md-search__input::-webkit-input-placeholder {
    transition: color 0.25s cubic-bezier(0.1, 0.7, 0.1, 1); }
  .md-search__input:-ms-input-placeholder {
    transition: color 0.25s cubic-bezier(0.1, 0.7, 0.1, 1); }
  .md-search__input::-ms-input-placeholder {
    transition: color 0.25s cubic-bezier(0.1, 0.7, 0.1, 1); }
  .md-search__input::placeholder {
    transition: color 0.25s cubic-bezier(0.1, 0.7, 0.1, 1); }
  .md-search__input ~ .md-search__icon, .md-search__input::-webkit-input-placeholder {
    color: rgba(0, 0, 0, 0.54); }
  .md-search__input ~ .md-search__icon, .md-search__input:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.54); }
  .md-search__input ~ .md-search__icon, .md-search__input::-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.54); }
  .md-search__input ~ .md-search__icon, .md-search__input::placeholder {
    color: rgba(0, 0, 0, 0.54); }
  .md-search__input::-ms-clear {
    display: none; }

.md-search__icon {
  position: absolute;
  transition: color 0.25s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.25s;
  font-size: 2.4rem;
  cursor: pointer;
  z-index: 2; }
  .md-search__icon:hover {
    opacity: 0.7; }
  .md-search__icon[for="__search"] {
    top: 0.6rem;
    left: 1rem; }
    [dir="rtl"] .md-search__icon[for="__search"] {
      right: 1rem;
      left: initial; }
    .md-search__icon[for="__search"]::before {
      content: "\E8B6"; }
  .md-search__icon[type="reset"] {
    top: 0.6rem;
    right: 1rem;
    -webkit-transform: scale(0.125);
            transform: scale(0.125);
    transition: opacity 0.15s, -webkit-transform 0.15s cubic-bezier(0.1, 0.7, 0.1, 1);
    transition: transform 0.15s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.15s;
    transition: transform 0.15s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.15s, -webkit-transform 0.15s cubic-bezier(0.1, 0.7, 0.1, 1);
    opacity: 0; }
    [dir="rtl"] .md-search__icon[type="reset"] {
      right: initial;
      left: 1rem; }
    [data-md-toggle="search"]:checked ~ .md-header .md-search__input:valid ~ .md-search__icon[type="reset"] {
      -webkit-transform: scale(1);
              transform: scale(1);
      opacity: 1; }
      [data-md-toggle="search"]:checked ~ .md-header .md-search__input:valid ~ .md-search__icon[type="reset"]:hover {
        opacity: 0.7; }

.md-search__output {
  position: absolute;
  width: 100%;
  border-radius: 0 0 0.2rem 0.2rem;
  overflow: hidden;
  z-index: 1; }

.md-search__scrollwrap {
  height: 100%;
  background-color: white;
  box-shadow: 0 0.1rem 0 rgba(0, 0, 0, 0.07) inset;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.md-search-result {
  color: rgba(0, 0, 0, 0.87);
  word-break: break-word; }
  .md-search-result__meta {
    padding: 0 1.6rem;
    background-color: rgba(0, 0, 0, 0.07);
    color: rgba(0, 0, 0, 0.54);
    font-size: 1.28rem;
    line-height: 3.6rem; }
  .md-search-result__list {
    margin: 0;
    padding: 0;
    border-top: 0.1rem solid rgba(0, 0, 0, 0.07);
    list-style: none; }
  .md-search-result__item {
    box-shadow: 0 -0.1rem 0 rgba(0, 0, 0, 0.07); }
  .md-search-result__link {
    display: block;
    transition: background 0.25s;
    outline: 0;
    overflow: hidden; }
    .md-search-result__link[data-md-state="active"], .md-search-result__link:hover {
      background-color: rgba(83, 109, 254, 0.1); }
      .md-search-result__link[data-md-state="active"] .md-search-result__article::before, .md-search-result__link:hover .md-search-result__article::before {
        opacity: 0.7; }
    .md-search-result__link:last-child .md-search-result__teaser {
      margin-bottom: 1.2rem; }
  .md-search-result__article {
    position: relative;
    padding: 0 1.6rem;
    overflow: auto; }
    .md-search-result__article--document::before {
      position: absolute;
      left: 0;
      margin: 0.2rem;
      transition: opacity 0.25s;
      color: rgba(0, 0, 0, 0.54);
      content: "\E880"; }
      [dir="rtl"] .md-search-result__article--document::before {
        right: 0;
        left: initial; }
    .md-search-result__article--document .md-search-result__title {
      margin: 1.1rem 0;
      font-size: 1.6rem;
      font-weight: 400;
      line-height: 1.4; }
  .md-search-result__title {
    margin: 0.5em 0;
    font-size: 1.28rem;
    font-weight: 700;
    line-height: 1.4; }
  .md-search-result__teaser {
    display: -webkit-box;
    max-height: 3.3rem;
    margin: 0.5em 0;
    color: rgba(0, 0, 0, 0.54);
    font-size: 1.28rem;
    line-height: 1.4;
    text-overflow: ellipsis;
    overflow: hidden;
    -webkit-line-clamp: 2; }
  .md-search-result em {
    font-style: normal;
    font-weight: 700;
    text-decoration: underline; }

.md-sidebar {
  position: absolute;
  width: 24.2rem;
  padding: 2.4rem 0;
  overflow: hidden; }
  .md-sidebar[data-md-state="lock"] {
    position: fixed;
    top: 4.8rem; }
  .md-sidebar--secondary {
    display: none; }
  .md-sidebar__scrollwrap {
    max-height: 100%;
    margin: 0 0.4rem;
    overflow-y: auto;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }
    .md-sidebar__scrollwrap::-webkit-scrollbar {
      width: 0.4rem;
      height: 0.4rem; }
    .md-sidebar__scrollwrap::-webkit-scrollbar-thumb {
      background-color: rgba(0, 0, 0, 0.26); }
      .md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover {
        background-color: #536dfe; }

@-webkit-keyframes md-source__facts--done {
  0% {
    height: 0; }
  100% {
    height: 1.3rem; } }

@keyframes md-source__facts--done {
  0% {
    height: 0; }
  100% {
    height: 1.3rem; } }

@-webkit-keyframes md-source__fact--done {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0; }
  50% {
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1; } }

@keyframes md-source__fact--done {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0; }
  50% {
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1; } }

.md-source {
  display: block;
  padding-right: 1.2rem;
  transition: opacity 0.25s;
  font-size: 1.3rem;
  line-height: 1.2;
  white-space: nowrap; }
  [dir="rtl"] .md-source {
    padding-right: initial;
    padding-left: 1.2rem; }
  .md-source:hover {
    opacity: 0.7; }
  .md-source::after {
    display: inline-block;
    height: 4.8rem;
    content: "";
    vertical-align: middle; }
  .md-source__icon {
    display: inline-block;
    width: 4.8rem;
    height: 4.8rem;
    content: "";
    vertical-align: middle; }
    .md-source__icon svg {
      width: 2.4rem;
      height: 2.4rem;
      margin-top: 1.2rem;
      margin-left: 1.2rem; }
      [dir="rtl"] .md-source__icon svg {
        margin-right: 1.2rem;
        margin-left: initial; }
    .md-source__icon + .md-source__repository {
      margin-left: -4.4rem;
      padding-left: 4rem; }
      [dir="rtl"] .md-source__icon + .md-source__repository {
        margin-right: -4.4rem;
        margin-left: initial;
        padding-right: 4rem;
        padding-left: initial; }
  .md-source__repository {
    display: inline-block;
    max-width: 100%;
    margin-left: 1.2rem;
    font-weight: 700;
    text-overflow: ellipsis;
    overflow: hidden;
    vertical-align: middle; }
  .md-source__facts {
    margin: 0;
    padding: 0;
    font-size: 1.1rem;
    font-weight: 700;
    list-style-type: none;
    opacity: 0.75;
    overflow: hidden; }
    [data-md-state="done"] .md-source__facts {
      -webkit-animation: md-source__facts--done 0.25s ease-in;
              animation: md-source__facts--done 0.25s ease-in; }
  .md-source__fact {
    float: left; }
    [dir="rtl"] .md-source__fact {
      float: right; }
    [data-md-state="done"] .md-source__fact {
      -webkit-animation: md-source__fact--done 0.4s ease-out;
              animation: md-source__fact--done 0.4s ease-out; }
    .md-source__fact::before {
      margin: 0 0.2rem;
      content: "\B7"; }
    .md-source__fact:first-child::before {
      display: none; }

.md-source-file {
  display: inline-block;
  margin: 1em 0.5em 1em 0;
  padding-right: 0.5rem;
  border-radius: 0.2rem;
  background-color: rgba(0, 0, 0, 0.07);
  font-size: 1.28rem;
  list-style-type: none;
  cursor: pointer;
  overflow: hidden; }
  .md-source-file::before {
    display: inline-block;
    margin-right: 0.5rem;
    padding: 0.5rem;
    background-color: rgba(0, 0, 0, 0.26);
    color: white;
    font-size: 1.6rem;
    content: "\E86F";
    vertical-align: middle; }
  html .md-source-file {
    transition: background 0.4s, color 0.4s, box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
    html .md-source-file::before {
      transition: inherit; }
  html body .md-typeset .md-source-file {
    color: rgba(0, 0, 0, 0.54); }
  .md-source-file:hover {
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36); }
    .md-source-file:hover::before {
      background-color: #536dfe; }

.md-tabs {
  width: 100%;
  transition: background 0.25s;
  background-color: #3f51b5;
  color: white;
  overflow: auto; }
  .md-tabs__list {
    margin: 0;
    margin-left: 0.4rem;
    padding: 0;
    list-style: none;
    white-space: nowrap; }
  .md-tabs__item {
    display: inline-block;
    height: 4.8rem;
    padding-right: 1.2rem;
    padding-left: 1.2rem; }
  .md-tabs__link {
    display: block;
    margin-top: 1.6rem;
    transition: opacity 0.25s, -webkit-transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1);
    transition: transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.25s;
    transition: transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.25s, -webkit-transform 0.4s cubic-bezier(0.1, 0.7, 0.1, 1);
    font-size: 1.4rem;
    opacity: 0.7; }
    .md-tabs__link--active, .md-tabs__link:hover {
      color: inherit;
      opacity: 1; }
    .md-tabs__item:nth-child(2) .md-tabs__link {
      transition-delay: 0.02s; }
    .md-tabs__item:nth-child(3) .md-tabs__link {
      transition-delay: 0.04s; }
    .md-tabs__item:nth-child(4) .md-tabs__link {
      transition-delay: 0.06s; }
    .md-tabs__item:nth-child(5) .md-tabs__link {
      transition-delay: 0.08s; }
    .md-tabs__item:nth-child(6) .md-tabs__link {
      transition-delay: 0.1s; }
    .md-tabs__item:nth-child(7) .md-tabs__link {
      transition-delay: 0.12s; }
    .md-tabs__item:nth-child(8) .md-tabs__link {
      transition-delay: 0.14s; }
    .md-tabs__item:nth-child(9) .md-tabs__link {
      transition-delay: 0.16s; }
    .md-tabs__item:nth-child(10) .md-tabs__link {
      transition-delay: 0.18s; }
    .md-tabs__item:nth-child(11) .md-tabs__link {
      transition-delay: 0.2s; }
    .md-tabs__item:nth-child(12) .md-tabs__link {
      transition-delay: 0.22s; }
    .md-tabs__item:nth-child(13) .md-tabs__link {
      transition-delay: 0.24s; }
    .md-tabs__item:nth-child(14) .md-tabs__link {
      transition-delay: 0.26s; }
    .md-tabs__item:nth-child(15) .md-tabs__link {
      transition-delay: 0.28s; }
    .md-tabs__item:nth-child(16) .md-tabs__link {
      transition-delay: 0.3s; }
  .md-tabs[data-md-state="hidden"] {
    pointer-events: none; }
    .md-tabs[data-md-state="hidden"] .md-tabs__link {
      -webkit-transform: translateY(50%);
              transform: translateY(50%);
      transition: color     0.25s, opacity   0.1s, -webkit-transform 0s 0.4s;
      transition: color     0.25s, transform 0s 0.4s, opacity   0.1s;
      transition: color     0.25s, transform 0s 0.4s, opacity   0.1s, -webkit-transform 0s 0.4s;
      opacity: 0; }

.md-typeset .admonition, .md-typeset details {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
  position: relative;
  margin: 1.5625em 0;
  padding: 0 1.2rem;
  border-left: 0.4rem solid #448aff;
  border-radius: 0.2rem;
  font-size: 1.28rem;
  overflow: auto; }
  [dir="rtl"] .md-typeset .admonition, [dir="rtl"] .md-typeset details {
    border-right: 0.4rem solid #448aff;
    border-left: none; }
  html .md-typeset .admonition > :last-child, html .md-typeset details > :last-child {
    margin-bottom: 1.2rem; }
  .md-typeset .admonition .admonition, .md-typeset details .admonition, .md-typeset .admonition details, .md-typeset details details {
    margin: 1em 0; }
  .md-typeset .admonition > .admonition-title, .md-typeset details > .admonition-title, .md-typeset .admonition > summary, .md-typeset details > summary {
    margin: 0 -1.2rem;
    padding: 0.8rem 1.2rem 0.8rem 4rem;
    border-bottom: 0.1rem solid rgba(68, 138, 255, 0.1);
    background-color: rgba(68, 138, 255, 0.1);
    font-weight: 700; }
    [dir="rtl"] .md-typeset .admonition > .admonition-title, [dir="rtl"] .md-typeset details > .admonition-title, [dir="rtl"] .md-typeset .admonition > summary, [dir="rtl"] .md-typeset details > summary {
      padding: 0.8rem 4rem 0.8rem 1.2rem; }
    .md-typeset .admonition > .admonition-title:last-child, .md-typeset details > .admonition-title:last-child, .md-typeset .admonition > summary:last-child, .md-typeset details > summary:last-child {
      margin-bottom: 0; }
    .md-typeset .admonition > .admonition-title::before, .md-typeset details > .admonition-title::before, .md-typeset .admonition > summary::before, .md-typeset details > summary::before {
      position: absolute;
      left: 1.2rem;
      color: #448aff;
      font-size: 2rem;
      content: "\E3C9"; }
      [dir="rtl"] .md-typeset .admonition > .admonition-title::before, [dir="rtl"] .md-typeset details > .admonition-title::before, [dir="rtl"] .md-typeset .admonition > summary::before, [dir="rtl"] .md-typeset details > summary::before {
        right: 1.2rem;
        left: initial; }
  .md-typeset .admonition.summary, .md-typeset details.summary, .md-typeset .admonition.tldr, .md-typeset details.tldr, .md-typeset .admonition.abstract, .md-typeset details.abstract {
    border-left-color: #00b0ff; }
    [dir="rtl"] .md-typeset .admonition.summary, [dir="rtl"] .md-typeset details.summary, [dir="rtl"] .md-typeset .admonition.tldr, [dir="rtl"] .md-typeset details.tldr, [dir="rtl"] .md-typeset .admonition.abstract, [dir="rtl"] .md-typeset details.abstract {
      border-right-color: #00b0ff; }
    .md-typeset .admonition.summary > .admonition-title, .md-typeset details.summary > .admonition-title, .md-typeset .admonition.tldr > .admonition-title, .md-typeset details.tldr > .admonition-title, .md-typeset .admonition.summary > summary, .md-typeset details.summary > summary, .md-typeset .admonition.tldr > summary, .md-typeset details.tldr > summary, .md-typeset .admonition.abstract > .admonition-title, .md-typeset details.abstract > .admonition-title, .md-typeset .admonition.abstract > summary, .md-typeset details.abstract > summary {
      border-bottom-color: 0.1rem solid rgba(0, 176, 255, 0.1);
      background-color: rgba(0, 176, 255, 0.1); }
      .md-typeset .admonition.summary > .admonition-title::before, .md-typeset details.summary > .admonition-title::before, .md-typeset .admonition.tldr > .admonition-title::before, .md-typeset details.tldr > .admonition-title::before, .md-typeset .admonition.summary > summary::before, .md-typeset details.summary > summary::before, .md-typeset .admonition.tldr > summary::before, .md-typeset details.tldr > summary::before, .md-typeset .admonition.abstract > .admonition-title::before, .md-typeset details.abstract > .admonition-title::before, .md-typeset .admonition.abstract > summary::before, .md-typeset details.abstract > summary::before {
        color: #00b0ff;
        content: "\E8D2"; }
  .md-typeset .admonition.todo, .md-typeset details.todo, .md-typeset .admonition.info, .md-typeset details.info {
    border-left-color: #00b8d4; }
    [dir="rtl"] .md-typeset .admonition.todo, [dir="rtl"] .md-typeset details.todo, [dir="rtl"] .md-typeset .admonition.info, [dir="rtl"] .md-typeset details.info {
      border-right-color: #00b8d4; }
    .md-typeset .admonition.todo > .admonition-title, .md-typeset details.todo > .admonition-title, .md-typeset .admonition.todo > summary, .md-typeset details.todo > summary, .md-typeset .admonition.info > .admonition-title, .md-typeset details.info > .admonition-title, .md-typeset .admonition.info > summary, .md-typeset details.info > summary {
      border-bottom-color: 0.1rem solid rgba(0, 184, 212, 0.1);
      background-color: rgba(0, 184, 212, 0.1); }
      .md-typeset .admonition.todo > .admonition-title::before, .md-typeset details.todo > .admonition-title::before, .md-typeset .admonition.todo > summary::before, .md-typeset details.todo > summary::before, .md-typeset .admonition.info > .admonition-title::before, .md-typeset details.info > .admonition-title::before, .md-typeset .admonition.info > summary::before, .md-typeset details.info > summary::before {
        color: #00b8d4;
        content: "\E88E"; }
  .md-typeset .admonition.hint, .md-typeset details.hint, .md-typeset .admonition.important, .md-typeset details.important, .md-typeset .admonition.tip, .md-typeset details.tip {
    border-left-color: #00bfa5; }
    [dir="rtl"] .md-typeset .admonition.hint, [dir="rtl"] .md-typeset details.hint, [dir="rtl"] .md-typeset .admonition.important, [dir="rtl"] .md-typeset details.important, [dir="rtl"] .md-typeset .admonition.tip, [dir="rtl"] .md-typeset details.tip {
      border-right-color: #00bfa5; }
    .md-typeset .admonition.hint > .admonition-title, .md-typeset details.hint > .admonition-title, .md-typeset .admonition.important > .admonition-title, .md-typeset details.important > .admonition-title, .md-typeset .admonition.hint > summary, .md-typeset details.hint > summary, .md-typeset .admonition.important > summary, .md-typeset details.important > summary, .md-typeset .admonition.tip > .admonition-title, .md-typeset details.tip > .admonition-title, .md-typeset .admonition.tip > summary, .md-typeset details.tip > summary {
      border-bottom-color: 0.1rem solid rgba(0, 191, 165, 0.1);
      background-color: rgba(0, 191, 165, 0.1); }
      .md-typeset .admonition.hint > .admonition-title::before, .md-typeset details.hint > .admonition-title::before, .md-typeset .admonition.important > .admonition-title::before, .md-typeset details.important > .admonition-title::before, .md-typeset .admonition.hint > summary::before, .md-typeset details.hint > summary::before, .md-typeset .admonition.important > summary::before, .md-typeset details.important > summary::before, .md-typeset .admonition.tip > .admonition-title::before, .md-typeset details.tip > .admonition-title::before, .md-typeset .admonition.tip > summary::before, .md-typeset details.tip > summary::before {
        color: #00bfa5;
        content: "\E80E"; }
  .md-typeset .admonition.check, .md-typeset details.check, .md-typeset .admonition.done, .md-typeset details.done, .md-typeset .admonition.success, .md-typeset details.success {
    border-left-color: #00c853; }
    [dir="rtl"] .md-typeset .admonition.check, [dir="rtl"] .md-typeset details.check, [dir="rtl"] .md-typeset .admonition.done, [dir="rtl"] .md-typeset details.done, [dir="rtl"] .md-typeset .admonition.success, [dir="rtl"] .md-typeset details.success {
      border-right-color: #00c853; }
    .md-typeset .admonition.check > .admonition-title, .md-typeset details.check > .admonition-title, .md-typeset .admonition.done > .admonition-title, .md-typeset details.done > .admonition-title, .md-typeset .admonition.check > summary, .md-typeset details.check > summary, .md-typeset .admonition.done > summary, .md-typeset details.done > summary, .md-typeset .admonition.success > .admonition-title, .md-typeset details.success > .admonition-title, .md-typeset .admonition.success > summary, .md-typeset details.success > summary {
      border-bottom-color: 0.1rem solid rgba(0, 200, 83, 0.1);
      background-color: rgba(0, 200, 83, 0.1); }
      .md-typeset .admonition.check > .admonition-title::before, .md-typeset details.check > .admonition-title::before, .md-typeset .admonition.done > .admonition-title::before, .md-typeset details.done > .admonition-title::before, .md-typeset .admonition.check > summary::before, .md-typeset details.check > summary::before, .md-typeset .admonition.done > summary::before, .md-typeset details.done > summary::before, .md-typeset .admonition.success > .admonition-title::before, .md-typeset details.success > .admonition-title::before, .md-typeset .admonition.success > summary::before, .md-typeset details.success > summary::before {
        color: #00c853;
        content: "\E876"; }
  .md-typeset .admonition.help, .md-typeset details.help, .md-typeset .admonition.faq, .md-typeset details.faq, .md-typeset .admonition.question, .md-typeset details.question {
    border-left-color: #64dd17; }
    [dir="rtl"] .md-typeset .admonition.help, [dir="rtl"] .md-typeset details.help, [dir="rtl"] .md-typeset .admonition.faq, [dir="rtl"] .md-typeset details.faq, [dir="rtl"] .md-typeset .admonition.question, [dir="rtl"] .md-typeset details.question {
      border-right-color: #64dd17; }
    .md-typeset .admonition.help > .admonition-title, .md-typeset details.help > .admonition-title, .md-typeset .admonition.faq > .admonition-title, .md-typeset details.faq > .admonition-title, .md-typeset .admonition.help > summary, .md-typeset details.help > summary, .md-typeset .admonition.faq > summary, .md-typeset details.faq > summary, .md-typeset .admonition.question > .admonition-title, .md-typeset details.question > .admonition-title, .md-typeset .admonition.question > summary, .md-typeset details.question > summary {
      border-bottom-color: 0.1rem solid rgba(100, 221, 23, 0.1);
      background-color: rgba(100, 221, 23, 0.1); }
      .md-typeset .admonition.help > .admonition-title::before, .md-typeset details.help > .admonition-title::before, .md-typeset .admonition.faq > .admonition-title::before, .md-typeset details.faq > .admonition-title::before, .md-typeset .admonition.help > summary::before, .md-typeset details.help > summary::before, .md-typeset .admonition.faq > summary::before, .md-typeset details.faq > summary::before, .md-typeset .admonition.question > .admonition-title::before, .md-typeset details.question > .admonition-title::before, .md-typeset .admonition.question > summary::before, .md-typeset details.question > summary::before {
        color: #64dd17;
        content: "\E887"; }
  .md-typeset .admonition.caution, .md-typeset details.caution, .md-typeset .admonition.attention, .md-typeset details.attention, .md-typeset .admonition.warning, .md-typeset details.warning {
    border-left-color: #ff9100; }
    [dir="rtl"] .md-typeset .admonition.caution, [dir="rtl"] .md-typeset details.caution, [dir="rtl"] .md-typeset .admonition.attention, [dir="rtl"] .md-typeset details.attention, [dir="rtl"] .md-typeset .admonition.warning, [dir="rtl"] .md-typeset details.warning {
      border-right-color: #ff9100; }
    .md-typeset .admonition.caution > .admonition-title, .md-typeset details.caution > .admonition-title, .md-typeset .admonition.attention > .admonition-title, .md-typeset details.attention > .admonition-title, .md-typeset .admonition.caution > summary, .md-typeset details.caution > summary, .md-typeset .admonition.attention > summary, .md-typeset details.attention > summary, .md-typeset .admonition.warning > .admonition-title, .md-typeset details.warning > .admonition-title, .md-typeset .admonition.warning > summary, .md-typeset details.warning > summary {
      border-bottom-color: 0.1rem solid rgba(255, 145, 0, 0.1);
      background-color: rgba(255, 145, 0, 0.1); }
      .md-typeset .admonition.caution > .admonition-title::before, .md-typeset details.caution > .admonition-title::before, .md-typeset .admonition.attention > .admonition-title::before, .md-typeset details.attention > .admonition-title::before, .md-typeset .admonition.caution > summary::before, .md-typeset details.caution > summary::before, .md-typeset .admonition.attention > summary::before, .md-typeset details.attention > summary::before, .md-typeset .admonition.warning > .admonition-title::before, .md-typeset details.warning > .admonition-title::before, .md-typeset .admonition.warning > summary::before, .md-typeset details.warning > summary::before {
        color: #ff9100;
        content: "\E002"; }
  .md-typeset .admonition.fail, .md-typeset details.fail, .md-typeset .admonition.missing, .md-typeset details.missing, .md-typeset .admonition.failure, .md-typeset details.failure {
    border-left-color: #ff5252; }
    [dir="rtl"] .md-typeset .admonition.fail, [dir="rtl"] .md-typeset details.fail, [dir="rtl"] .md-typeset .admonition.missing, [dir="rtl"] .md-typeset details.missing, [dir="rtl"] .md-typeset .admonition.failure, [dir="rtl"] .md-typeset details.failure {
      border-right-color: #ff5252; }
    .md-typeset .admonition.fail > .admonition-title, .md-typeset details.fail > .admonition-title, .md-typeset .admonition.missing > .admonition-title, .md-typeset details.missing > .admonition-title, .md-typeset .admonition.fail > summary, .md-typeset details.fail > summary, .md-typeset .admonition.missing > summary, .md-typeset details.missing > summary, .md-typeset .admonition.failure > .admonition-title, .md-typeset details.failure > .admonition-title, .md-typeset .admonition.failure > summary, .md-typeset details.failure > summary {
      border-bottom-color: 0.1rem solid rgba(255, 82, 82, 0.1);
      background-color: rgba(255, 82, 82, 0.1); }
      .md-typeset .admonition.fail > .admonition-title::before, .md-typeset details.fail > .admonition-title::before, .md-typeset .admonition.missing > .admonition-title::before, .md-typeset details.missing > .admonition-title::before, .md-typeset .admonition.fail > summary::before, .md-typeset details.fail > summary::before, .md-typeset .admonition.missing > summary::before, .md-typeset details.missing > summary::before, .md-typeset .admonition.failure > .admonition-title::before, .md-typeset details.failure > .admonition-title::before, .md-typeset .admonition.failure > summary::before, .md-typeset details.failure > summary::before {
        color: #ff5252;
        content: "\E14C"; }
  .md-typeset .admonition.error, .md-typeset details.error, .md-typeset .admonition.danger, .md-typeset details.danger {
    border-left-color: #ff1744; }
    [dir="rtl"] .md-typeset .admonition.error, [dir="rtl"] .md-typeset details.error, [dir="rtl"] .md-typeset .admonition.danger, [dir="rtl"] .md-typeset details.danger {
      border-right-color: #ff1744; }
    .md-typeset .admonition.error > .admonition-title, .md-typeset details.error > .admonition-title, .md-typeset .admonition.error > summary, .md-typeset details.error > summary, .md-typeset .admonition.danger > .admonition-title, .md-typeset details.danger > .admonition-title, .md-typeset .admonition.danger > summary, .md-typeset details.danger > summary {
      border-bottom-color: 0.1rem solid rgba(255, 23, 68, 0.1);
      background-color: rgba(255, 23, 68, 0.1); }
      .md-typeset .admonition.error > .admonition-title::before, .md-typeset details.error > .admonition-title::before, .md-typeset .admonition.error > summary::before, .md-typeset details.error > summary::before, .md-typeset .admonition.danger > .admonition-title::before, .md-typeset details.danger > .admonition-title::before, .md-typeset .admonition.danger > summary::before, .md-typeset details.danger > summary::before {
        color: #ff1744;
        content: "\E3E7"; }
  .md-typeset .admonition.bug, .md-typeset details.bug {
    border-left-color: #f50057; }
    [dir="rtl"] .md-typeset .admonition.bug, [dir="rtl"] .md-typeset details.bug {
      border-right-color: #f50057; }
    .md-typeset .admonition.bug > .admonition-title, .md-typeset details.bug > .admonition-title, .md-typeset .admonition.bug > summary, .md-typeset details.bug > summary {
      border-bottom-color: 0.1rem solid rgba(245, 0, 87, 0.1);
      background-color: rgba(245, 0, 87, 0.1); }
      .md-typeset .admonition.bug > .admonition-title::before, .md-typeset details.bug > .admonition-title::before, .md-typeset .admonition.bug > summary::before, .md-typeset details.bug > summary::before {
        color: #f50057;
        content: "\E868"; }
  .md-typeset .admonition.example, .md-typeset details.example {
    border-left-color: #651fff; }
    [dir="rtl"] .md-typeset .admonition.example, [dir="rtl"] .md-typeset details.example {
      border-right-color: #651fff; }
    .md-typeset .admonition.example > .admonition-title, .md-typeset details.example > .admonition-title, .md-typeset .admonition.example > summary, .md-typeset details.example > summary {
      border-bottom-color: 0.1rem solid rgba(101, 31, 255, 0.1);
      background-color: rgba(101, 31, 255, 0.1); }
      .md-typeset .admonition.example > .admonition-title::before, .md-typeset details.example > .admonition-title::before, .md-typeset .admonition.example > summary::before, .md-typeset details.example > summary::before {
        color: #651fff;
        content: "\E242"; }
  .md-typeset .admonition.cite, .md-typeset details.cite, .md-typeset .admonition.quote, .md-typeset details.quote {
    border-left-color: #9e9e9e; }
    [dir="rtl"] .md-typeset .admonition.cite, [dir="rtl"] .md-typeset details.cite, [dir="rtl"] .md-typeset .admonition.quote, [dir="rtl"] .md-typeset details.quote {
      border-right-color: #9e9e9e; }
    .md-typeset .admonition.cite > .admonition-title, .md-typeset details.cite > .admonition-title, .md-typeset .admonition.cite > summary, .md-typeset details.cite > summary, .md-typeset .admonition.quote > .admonition-title, .md-typeset details.quote > .admonition-title, .md-typeset .admonition.quote > summary, .md-typeset details.quote > summary {
      border-bottom-color: 0.1rem solid rgba(158, 158, 158, 0.1);
      background-color: rgba(158, 158, 158, 0.1); }
      .md-typeset .admonition.cite > .admonition-title::before, .md-typeset details.cite > .admonition-title::before, .md-typeset .admonition.cite > summary::before, .md-typeset details.cite > summary::before, .md-typeset .admonition.quote > .admonition-title::before, .md-typeset details.quote > .admonition-title::before, .md-typeset .admonition.quote > summary::before, .md-typeset details.quote > summary::before {
        color: #9e9e9e;
        content: "\E244"; }

.codehilite .o, .md-typeset .highlight .o {
  color: inherit; }

.codehilite .ow, .md-typeset .highlight .ow {
  color: inherit; }

.codehilite .ge, .md-typeset .highlight .ge {
  color: #000000; }

.codehilite .gr, .md-typeset .highlight .gr {
  color: #AA0000; }

.codehilite .gh, .md-typeset .highlight .gh {
  color: #999999; }

.codehilite .go, .md-typeset .highlight .go {
  color: #888888; }

.codehilite .gp, .md-typeset .highlight .gp {
  color: #555555; }

.codehilite .gs, .md-typeset .highlight .gs {
  color: inherit; }

.codehilite .gu, .md-typeset .highlight .gu {
  color: #AAAAAA; }

.codehilite .gt, .md-typeset .highlight .gt {
  color: #AA0000; }

.codehilite .gd, .md-typeset .highlight .gd {
  background-color: #FFDDDD; }

.codehilite .gi, .md-typeset .highlight .gi {
  background-color: #DDFFDD; }

.codehilite .k, .md-typeset .highlight .k {
  color: #3B78E7; }

.codehilite .kc, .md-typeset .highlight .kc {
  color: #A71D5D; }

.codehilite .kd, .md-typeset .highlight .kd {
  color: #3B78E7; }

.codehilite .kn, .md-typeset .highlight .kn {
  color: #3B78E7; }

.codehilite .kp, .md-typeset .highlight .kp {
  color: #A71D5D; }

.codehilite .kr, .md-typeset .highlight .kr {
  color: #3E61A2; }

.codehilite .kt, .md-typeset .highlight .kt {
  color: #3E61A2; }

.codehilite .c, .md-typeset .highlight .c {
  color: #999999; }

.codehilite .cm, .md-typeset .highlight .cm {
  color: #999999; }

.codehilite .cp, .md-typeset .highlight .cp {
  color: #666666; }

.codehilite .c1, .md-typeset .highlight .c1 {
  color: #999999; }

.codehilite .ch, .md-typeset .highlight .ch {
  color: #999999; }

.codehilite .cs, .md-typeset .highlight .cs {
  color: #999999; }

.codehilite .na, .md-typeset .highlight .na {
  color: #C2185B; }

.codehilite .nb, .md-typeset .highlight .nb {
  color: #C2185B; }

.codehilite .bp, .md-typeset .highlight .bp {
  color: #3E61A2; }

.codehilite .nc, .md-typeset .highlight .nc {
  color: #C2185B; }

.codehilite .no, .md-typeset .highlight .no {
  color: #3E61A2; }

.codehilite .nd, .md-typeset .highlight .nd {
  color: #666666; }

.codehilite .ni, .md-typeset .highlight .ni {
  color: #666666; }

.codehilite .ne, .md-typeset .highlight .ne {
  color: #C2185B; }

.codehilite .nf, .md-typeset .highlight .nf {
  color: #C2185B; }

.codehilite .nl, .md-typeset .highlight .nl {
  color: #3B5179; }

.codehilite .nn, .md-typeset .highlight .nn {
  color: #EC407A; }

.codehilite .nt, .md-typeset .highlight .nt {
  color: #3B78E7; }

.codehilite .nv, .md-typeset .highlight .nv {
  color: #3E61A2; }

.codehilite .vc, .md-typeset .highlight .vc {
  color: #3E61A2; }

.codehilite .vg, .md-typeset .highlight .vg {
  color: #3E61A2; }

.codehilite .vi, .md-typeset .highlight .vi {
  color: #3E61A2; }

.codehilite .nx, .md-typeset .highlight .nx {
  color: #EC407A; }

.codehilite .m, .md-typeset .highlight .m {
  color: #E74C3C; }

.codehilite .mf, .md-typeset .highlight .mf {
  color: #E74C3C; }

.codehilite .mh, .md-typeset .highlight .mh {
  color: #E74C3C; }

.codehilite .mi, .md-typeset .highlight .mi {
  color: #E74C3C; }

.codehilite .il, .md-typeset .highlight .il {
  color: #E74C3C; }

.codehilite .mo, .md-typeset .highlight .mo {
  color: #E74C3C; }

.codehilite .s, .md-typeset .highlight .s {
  color: #0D904F; }

.codehilite .sb, .md-typeset .highlight .sb {
  color: #0D904F; }

.codehilite .sc, .md-typeset .highlight .sc {
  color: #0D904F; }

.codehilite .sd, .md-typeset .highlight .sd {
  color: #999999; }

.codehilite .s2, .md-typeset .highlight .s2 {
  color: #0D904F; }

.codehilite .se, .md-typeset .highlight .se {
  color: #183691; }

.codehilite .sh, .md-typeset .highlight .sh {
  color: #183691; }

.codehilite .si, .md-typeset .highlight .si {
  color: #183691; }

.codehilite .sx, .md-typeset .highlight .sx {
  color: #183691; }

.codehilite .sr, .md-typeset .highlight .sr {
  color: #009926; }

.codehilite .s1, .md-typeset .highlight .s1 {
  color: #0D904F; }

.codehilite .ss, .md-typeset .highlight .ss {
  color: #0D904F; }

.codehilite .err, .md-typeset .highlight .err {
  color: #A61717; }

.codehilite .w, .md-typeset .highlight .w {
  color: transparent; }

.codehilite .hll, .md-typeset .highlight .hll {
  display: block;
  margin: 0 -1.2rem;
  padding: 0 1.2rem;
  background-color: rgba(255, 235, 59, 0.5); }

.md-typeset .codehilite, .md-typeset .highlight {
  position: relative;
  margin: 1em 0;
  padding: 0;
  border-radius: 0.2rem;
  background-color: rgba(236, 236, 236, 0.5);
  color: #37474F;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch; }
  .md-typeset .codehilite pre, .md-typeset .highlight pre,
  .md-typeset .codehilite code,
  .md-typeset .highlight code {
    display: block;
    margin: 0;
    padding: 1.05rem 1.2rem;
    background-color: transparent;
    overflow: auto;
    vertical-align: top; }
    .md-typeset .codehilite pre::-webkit-scrollbar, .md-typeset .highlight pre::-webkit-scrollbar,
    .md-typeset .codehilite code::-webkit-scrollbar,
    .md-typeset .highlight code::-webkit-scrollbar {
      width: 0.4rem;
      height: 0.4rem; }
    .md-typeset .codehilite pre::-webkit-scrollbar-thumb, .md-typeset .highlight pre::-webkit-scrollbar-thumb,
    .md-typeset .codehilite code::-webkit-scrollbar-thumb,
    .md-typeset .highlight code::-webkit-scrollbar-thumb {
      background-color: rgba(0, 0, 0, 0.26); }
      .md-typeset .codehilite pre::-webkit-scrollbar-thumb:hover, .md-typeset .highlight pre::-webkit-scrollbar-thumb:hover,
      .md-typeset .codehilite code::-webkit-scrollbar-thumb:hover,
      .md-typeset .highlight code::-webkit-scrollbar-thumb:hover {
        background-color: #536dfe; }

.md-typeset pre.codehilite, .md-typeset pre.highlight {
  overflow: visible; }
  .md-typeset pre.codehilite code, .md-typeset pre.highlight code {
    display: block;
    padding: 1.05rem 1.2rem;
    overflow: auto; }

.md-typeset .codehilitetable, .md-typeset .highlighttable {
  display: block;
  margin: 1em 0;
  border-radius: 0.2em;
  font-size: 1.6rem;
  overflow: hidden; }
  .md-typeset .codehilitetable tbody, .md-typeset .highlighttable tbody,
  .md-typeset .codehilitetable td,
  .md-typeset .highlighttable td {
    display: block;
    padding: 0; }
  .md-typeset .codehilitetable tr, .md-typeset .highlighttable tr {
    display: flex; }
  .md-typeset .codehilitetable .codehilite, .md-typeset .highlighttable .codehilite, .md-typeset .codehilitetable .highlight, .md-typeset .highlighttable .highlight,
  .md-typeset .codehilitetable .linenodiv,
  .md-typeset .highlighttable .linenodiv {
    margin: 0;
    border-radius: 0; }
  
  .md-typeset .codehilitetable .linenodiv,
  .md-typeset .highlighttable .linenodiv {
    padding: 1.05rem 1.2rem; }
  .md-typeset .codehilitetable .linenos, .md-typeset .highlighttable .linenos {
    background-color: rgba(0, 0, 0, 0.07);
    color: rgba(0, 0, 0, 0.26);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
    .md-typeset .codehilitetable .linenos pre, .md-typeset .highlighttable .linenos pre {
      margin: 0;
      padding: 0;
      background-color: transparent;
      color: inherit;
      text-align: right; }
  .md-typeset .codehilitetable .code, .md-typeset .highlighttable .code {
    flex: 1;
    overflow: hidden; }

.md-typeset > .codehilitetable, .md-typeset > .highlighttable {
  box-shadow: none; }

.md-typeset [id^="fnref:"] {
  display: inline-block; }
  .md-typeset [id^="fnref:"]:target {
    margin-top: -7.6rem;
    padding-top: 7.6rem;
    pointer-events: none; }

.md-typeset [id^="fn:"]::before {
  display: none;
  height: 0;
  content: ""; }

.md-typeset [id^="fn:"]:target::before {
  display: block;
  margin-top: -7rem;
  padding-top: 7rem;
  pointer-events: none; }

.md-typeset .footnote {
  color: rgba(0, 0, 0, 0.54);
  font-size: 1.28rem; }
  .md-typeset .footnote ol {
    margin-left: 0; }
  .md-typeset .footnote li {
    transition: color 0.25s; }
    .md-typeset .footnote li:target {
      color: rgba(0, 0, 0, 0.87); }
    .md-typeset .footnote li :first-child {
      margin-top: 0; }
    .md-typeset .footnote li:hover .footnote-backref,
    .md-typeset .footnote li:target .footnote-backref {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      opacity: 1; }
    .md-typeset .footnote li:hover .footnote-backref:hover,
    .md-typeset .footnote li:target .footnote-backref {
      color: #536dfe; }

.md-typeset .footnote-ref {
  display: inline-block;
  pointer-events: initial; }
  .md-typeset .footnote-ref::before {
    display: inline;
    margin: 0 0.2em;
    border-left: 0.1rem solid rgba(0, 0, 0, 0.26);
    font-size: 1.25em;
    content: "";
    vertical-align: -0.5rem; }

.md-typeset .footnote-backref {
  display: inline-block;
  -webkit-transform: translateX(0.5rem);
          transform: translateX(0.5rem);
  transition: color     0.25s, opacity   0.125s 0.125s, -webkit-transform 0.25s  0.125s;
  transition: transform 0.25s  0.125s, color     0.25s, opacity   0.125s 0.125s;
  transition: transform 0.25s  0.125s, color     0.25s, opacity   0.125s 0.125s, -webkit-transform 0.25s  0.125s;
  color: rgba(0, 0, 0, 0.26);
  font-size: 0;
  opacity: 0;
  vertical-align: text-bottom; }
  [dir="rtl"] .md-typeset .footnote-backref {
    -webkit-transform: translateX(-0.5rem);
            transform: translateX(-0.5rem); }
  .md-typeset .footnote-backref::before {
    display: inline-block;
    font-size: 1.6rem;
    content: "\E31B"; }
    [dir="rtl"] .md-typeset .footnote-backref::before {
      -webkit-transform: scaleX(-1);
              transform: scaleX(-1); }

.md-typeset .headerlink {
  display: inline-block;
  margin-left: 1rem;
  -webkit-transform: translate(0, 0.5rem);
          transform: translate(0, 0.5rem);
  transition: color     0.25s, opacity   0.125s 0.25s, -webkit-transform 0.25s  0.25s;
  transition: transform 0.25s  0.25s, color     0.25s, opacity   0.125s 0.25s;
  transition: transform 0.25s  0.25s, color     0.25s, opacity   0.125s 0.25s, -webkit-transform 0.25s  0.25s;
  opacity: 0; }
  [dir="rtl"] .md-typeset .headerlink {
    margin-right: 1rem;
    margin-left: initial; }
  html body .md-typeset .headerlink {
    color: rgba(0, 0, 0, 0.26); }

.md-typeset h1[id]::before {
  display: block;
  margin-top: -0.9rem;
  padding-top: 0.9rem;
  content: ""; }

.md-typeset h1[id]:target::before {
  margin-top: -6.9rem;
  padding-top: 6.9rem; }

.md-typeset h1[id]:hover .headerlink,
.md-typeset h1[id]:target .headerlink,
.md-typeset h1[id] .headerlink:focus {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1; }

.md-typeset h1[id]:hover .headerlink:hover,
.md-typeset h1[id]:target .headerlink,
.md-typeset h1[id] .headerlink:focus {
  color: #536dfe; }

.md-typeset h2[id]::before {
  display: block;
  margin-top: -0.8rem;
  padding-top: 0.8rem;
  content: ""; }

.md-typeset h2[id]:target::before {
  margin-top: -6.8rem;
  padding-top: 6.8rem; }

.md-typeset h2[id]:hover .headerlink,
.md-typeset h2[id]:target .headerlink,
.md-typeset h2[id] .headerlink:focus {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1; }

.md-typeset h2[id]:hover .headerlink:hover,
.md-typeset h2[id]:target .headerlink,
.md-typeset h2[id] .headerlink:focus {
  color: #536dfe; }

.md-typeset h3[id]::before {
  display: block;
  margin-top: -0.9rem;
  padding-top: 0.9rem;
  content: ""; }

.md-typeset h3[id]:target::before {
  margin-top: -6.9rem;
  padding-top: 6.9rem; }

.md-typeset h3[id]:hover .headerlink,
.md-typeset h3[id]:target .headerlink,
.md-typeset h3[id] .headerlink:focus {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1; }

.md-typeset h3[id]:hover .headerlink:hover,
.md-typeset h3[id]:target .headerlink,
.md-typeset h3[id] .headerlink:focus {
  color: #536dfe; }

.md-typeset h4[id]::before {
  display: block;
  margin-top: -0.9rem;
  padding-top: 0.9rem;
  content: ""; }

.md-typeset h4[id]:target::before {
  margin-top: -6.9rem;
  padding-top: 6.9rem; }

.md-typeset h4[id]:hover .headerlink,
.md-typeset h4[id]:target .headerlink,
.md-typeset h4[id] .headerlink:focus {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1; }

.md-typeset h4[id]:hover .headerlink:hover,
.md-typeset h4[id]:target .headerlink,
.md-typeset h4[id] .headerlink:focus {
  color: #536dfe; }

.md-typeset h5[id]::before {
  display: block;
  margin-top: -1.1rem;
  padding-top: 1.1rem;
  content: ""; }

.md-typeset h5[id]:target::before {
  margin-top: -7.1rem;
  padding-top: 7.1rem; }

.md-typeset h5[id]:hover .headerlink,
.md-typeset h5[id]:target .headerlink,
.md-typeset h5[id] .headerlink:focus {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1; }

.md-typeset h5[id]:hover .headerlink:hover,
.md-typeset h5[id]:target .headerlink,
.md-typeset h5[id] .headerlink:focus {
  color: #536dfe; }

.md-typeset h6[id]::before {
  display: block;
  margin-top: -1.1rem;
  padding-top: 1.1rem;
  content: ""; }

.md-typeset h6[id]:target::before {
  margin-top: -7.1rem;
  padding-top: 7.1rem; }

.md-typeset h6[id]:hover .headerlink,
.md-typeset h6[id]:target .headerlink,
.md-typeset h6[id] .headerlink:focus {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1; }

.md-typeset h6[id]:hover .headerlink:hover,
.md-typeset h6[id]:target .headerlink,
.md-typeset h6[id] .headerlink:focus {
  color: #536dfe; }

.md-typeset .MJXc-display {
  margin: 0.75em 0;
  padding: 0.75em 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.md-typeset .MathJax_CHTML {
  outline: 0; }

.md-typeset del.critic,
.md-typeset ins.critic,
.md-typeset .critic.comment {
  margin: 0 0.25em;
  padding: 0.0625em 0;
  border-radius: 0.2rem;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone; }

.md-typeset del.critic {
  background-color: #FFDDDD;
  box-shadow: 0.25em 0 0 #FFDDDD, -0.25em 0 0 #FFDDDD; }

.md-typeset ins.critic {
  background-color: #DDFFDD;
  box-shadow: 0.25em 0 0 #DDFFDD, -0.25em 0 0 #DDFFDD; }

.md-typeset .critic.comment {
  background-color: rgba(236, 236, 236, 0.5);
  color: #37474F;
  box-shadow: 0.25em 0 0 rgba(236, 236, 236, 0.5), -0.25em 0 0 rgba(236, 236, 236, 0.5); }
  .md-typeset .critic.comment::before {
    padding-right: 0.125em;
    color: rgba(0, 0, 0, 0.26);
    content: "\E0B7";
    vertical-align: -0.125em; }

.md-typeset .critic.block {
  display: block;
  margin: 1em 0;
  padding-right: 1.6rem;
  padding-left: 1.6rem;
  box-shadow: none; }
  .md-typeset .critic.block :first-child {
    margin-top: 0.5em; }
  .md-typeset .critic.block :last-child {
    margin-bottom: 0.5em; }

.md-typeset details {
  display: block;
  padding-top: 0; }
  .md-typeset details[open] > summary::after {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .md-typeset details:not([open]) {
    padding-bottom: 0; }
    .md-typeset details:not([open]) > summary {
      border-bottom: none; }
  .md-typeset details summary {
    padding-right: 4rem; }
    [dir="rtl"] .md-typeset details summary {
      padding-left: 4rem; }
  .no-details .md-typeset details:not([open]) > * {
    display: none; }
  .no-details .md-typeset details:not([open]) summary {
    display: block; }

.md-typeset summary {
  display: block;
  outline: none;
  cursor: pointer; }
  .md-typeset summary::-webkit-details-marker {
    display: none; }
  .md-typeset summary::after {
    position: absolute;
    top: 0.8rem;
    right: 1.2rem;
    color: rgba(0, 0, 0, 0.26);
    font-size: 2rem;
    content: "\E313"; }
    [dir="rtl"] .md-typeset summary::after {
      right: initial;
      left: 1.2rem; }

.md-typeset .emojione {
  width: 2rem;
  vertical-align: text-top; }

.md-typeset code.codehilite, .md-typeset code.highlight {
  margin: 0 0.29412em;
  padding: 0.07353em 0; }

.md-typeset .superfences-content {
  display: none;
  order: 99;
  width: 100%;
  background-color: white; }
  .md-typeset .superfences-content > * {
    margin: 0;
    border-radius: 0; }

.md-typeset .superfences-tabs {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  margin: 1em 0;
  border: 0.1rem solid rgba(0, 0, 0, 0.07);
  border-radius: 0.2em; }
  .md-typeset .superfences-tabs > input {
    display: none; }
    .md-typeset .superfences-tabs > input:checked + label {
      font-weight: 700; }
      .md-typeset .superfences-tabs > input:checked + label + .superfences-content {
        display: block; }
  .md-typeset .superfences-tabs > label {
    width: auto;
    padding: 1.2rem 1.2rem;
    transition: color 0.125s;
    font-size: 1.28rem;
    cursor: pointer; }
    html .md-typeset .superfences-tabs > label:hover {
      color: #536dfe; }

.md-typeset .task-list-item {
  position: relative;
  list-style-type: none; }
  .md-typeset .task-list-item [type="checkbox"] {
    position: absolute;
    top: 0.45em;
    left: -2em; }
    [dir="rtl"] .md-typeset .task-list-item [type="checkbox"] {
      right: -2em;
      left: initial; }

.md-typeset .task-list-control .task-list-indicator::before {
  position: absolute;
  top: 0.15em;
  left: -1.25em;
  color: rgba(0, 0, 0, 0.26);
  font-size: 1.25em;
  content: "\E835";
  vertical-align: -0.25em; }
  [dir="rtl"] .md-typeset .task-list-control .task-list-indicator::before {
    right: -1.25em;
    left: initial; }

.md-typeset .task-list-control [type="checkbox"]:checked + .task-list-indicator::before {
  content: "\E834"; }

.md-typeset .task-list-control [type="checkbox"] {
  opacity: 0;
  z-index: -1; }

@media print {
      .md-typeset a::after {
        color: rgba(0, 0, 0, 0.54);
        content: " [" attr(href) "]"; }
      .md-typeset code,
      .md-typeset pre {
        white-space: pre-wrap; }
      .md-typeset code {
        box-shadow: none;
        -webkit-box-decoration-break: initial;
                box-decoration-break: initial; }
    .md-clipboard {
      display: none; }
    .md-content__icon {
      display: none; }
    .md-header {
      display: none; }
  .md-footer {
    display: none; }
    .md-sidebar {
      display: none; }
    .md-tabs {
      display: none; }
    .md-typeset .headerlink {
      display: none; } }

@media only screen and (max-width: 44.9375em) {
      .md-typeset pre {
        margin: 1em -1.6rem;
        border-radius: 0; }
        .md-typeset pre > code {
          padding: 1.05rem 1.6rem; }
        .md-footer-nav__link--prev .md-footer-nav__title {
          display: none; }
      .md-search-result__teaser {
        max-height: 5rem;
        -webkit-line-clamp: 3; }
    .codehilite .hll, .md-typeset .highlight .hll {
      margin: 0 -1.6rem;
      padding: 0 1.6rem; }
  .md-typeset > .codehilite, .md-typeset > .highlight {
    margin: 1em -1.6rem;
    border-radius: 0; }
    .md-typeset > .codehilite pre, .md-typeset > .highlight pre,
    .md-typeset > .codehilite code,
    .md-typeset > .highlight code {
      padding: 1.05rem 1.6rem; }
    .md-typeset > .codehilitetable, .md-typeset > .highlighttable {
      margin: 1em -1.6rem;
      border-radius: 0; }
      .md-typeset > .codehilitetable .codehilite > pre, .md-typeset > .highlighttable .codehilite > pre, .md-typeset > .codehilitetable .highlight > pre, .md-typeset > .highlighttable .highlight > pre,
      .md-typeset > .codehilitetable .codehilite > code,
      .md-typeset > .highlighttable .codehilite > code,
      .md-typeset > .codehilitetable .highlight > code,
      .md-typeset > .highlighttable .highlight > code,
      .md-typeset > .codehilitetable .linenodiv,
      .md-typeset > .highlighttable .linenodiv {
        padding: 1rem 1.6rem; }
  .md-typeset > p > .MJXc-display {
    margin: 0.75em -1.6rem;
    padding: 0.25em 1.6rem; }
  .md-typeset > .superfences-tabs {
    margin: 1em -1.6rem;
    border: 0;
    border-top: 0.1rem solid rgba(0, 0, 0, 0.07);
    border-radius: 0; }
    .md-typeset > .superfences-tabs pre,
    .md-typeset > .superfences-tabs code {
      padding: 1.05rem 1.6rem; } }

@media only screen and (min-width: 100em) {
    html {
      font-size: 68.75%; } }

@media only screen and (min-width: 125em) {
    html {
      font-size: 75%; } }

@media only screen and (max-width: 59.9375em) {
    body[data-md-state="lock"] {
      overflow: hidden; }
      .ios body[data-md-state="lock"] .md-container {
        display: none; }
    html .md-nav__link[for="__toc"] {
      display: block;
      padding-right: 4.8rem; }
      html .md-nav__link[for="__toc"]::after {
        color: inherit;
        content: "\E8DE"; }
      html .md-nav__link[for="__toc"] + .md-nav__link {
        display: none; }
      html .md-nav__link[for="__toc"] ~ .md-nav {
        display: flex; }
    html [dir="rtl"] .md-nav__link {
      padding-right: 1.6rem;
      padding-left: 4.8rem; }
    .md-nav__source {
      display: block;
      padding: 0 0.4rem;
      background-color: rgba(50, 64, 144, 0.9675);
      color: white; }
    .md-search__overlay {
      position: absolute;
      top: 0.4rem;
      left: 0.4rem;
      width: 3.6rem;
      height: 3.6rem;
      -webkit-transform-origin: center;
              transform-origin: center;
      transition: opacity   0.2s 0.2s, -webkit-transform 0.3s 0.1s;
      transition: transform 0.3s 0.1s, opacity   0.2s 0.2s;
      transition: transform 0.3s 0.1s, opacity   0.2s 0.2s, -webkit-transform 0.3s 0.1s;
      border-radius: 2rem;
      background-color: white;
      overflow: hidden;
      pointer-events: none; }
      [dir="rtl"] .md-search__overlay {
        right: 0.4rem;
        left: initial; }
      [data-md-toggle="search"]:checked ~ .md-header .md-search__overlay {
        transition: opacity   0.1s, -webkit-transform 0.4s;
        transition: transform 0.4s, opacity   0.1s;
        transition: transform 0.4s, opacity   0.1s, -webkit-transform 0.4s;
        opacity: 1; }
  .md-search__inner {
    position: fixed;
    top: 0;
    left: 100%;
    width: 100%;
    height: 100%;
    -webkit-transform: translateX(5%);
            transform: translateX(5%);
    transition: right 0s 0.3s, left 0s 0.3s, opacity 0.15s 0.15s, -webkit-transform 0.15s 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    transition: right 0s 0.3s, left 0s 0.3s, transform 0.15s 0.15s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.15s 0.15s;
    transition: right 0s 0.3s, left 0s 0.3s, transform 0.15s 0.15s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.15s 0.15s, -webkit-transform 0.15s 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    z-index: 2; }
    [data-md-toggle="search"]:checked ~ .md-header .md-search__inner {
      left: 0;
      -webkit-transform: translateX(0);
              transform: translateX(0);
      transition: right 0s 0s, left 0s 0s, opacity 0.15s 0.15s, -webkit-transform 0.15s 0.15s cubic-bezier(0.1, 0.7, 0.1, 1);
      transition: right 0s 0s, left 0s 0s, transform 0.15s 0.15s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.15s 0.15s;
      transition: right 0s 0s, left 0s 0s, transform 0.15s 0.15s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.15s 0.15s, -webkit-transform 0.15s 0.15s cubic-bezier(0.1, 0.7, 0.1, 1);
      opacity: 1; }
      [dir="rtl"] [data-md-toggle="search"]:checked ~ .md-header .md-search__inner {
        right: 0;
        left: initial; }
    html [dir="rtl"] .md-search__inner {
      right: 100%;
      left: initial;
      -webkit-transform: translateX(-5%);
              transform: translateX(-5%); }
    .md-search__input {
      width: 100%;
      height: 4.8rem;
      font-size: 1.8rem; }
      .md-search__icon[for="__search"] {
        top: 1.2rem;
        left: 1.6rem; }
        .md-search__icon[for="__search"][for="__search"]::before {
          content: "\E5C4"; }
          [dir="rtl"] .md-search__icon[for="__search"][for="__search"]::before {
            content: "\E5C8"; }
      .md-search__icon[type="reset"] {
        top: 1.2rem;
        right: 1.6rem; }
    .md-search__output {
      top: 4.8rem;
      bottom: 0; }
        .md-search-result__article--document::before {
          display: none; } }

@media only screen and (max-width: 76.1875em) {
    [data-md-toggle="drawer"]:checked ~ .md-overlay {
      width: 100%;
      height: 100%;
      transition: width   0s, height  0s, opacity 0.25s;
      opacity: 1; }
      .md-header-nav__button.md-icon--home, .md-header-nav__button.md-logo {
        display: none; }
      .md-hero__inner {
        margin-top: 4.8rem;
        margin-bottom: 2.4rem; }
    .md-nav {
      background-color: white; }
      .md-nav--primary,
      .md-nav--primary .md-nav {
        display: flex;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        flex-direction: column;
        height: 100%;
        z-index: 1; }
      .md-nav--primary .md-nav__title,
      .md-nav--primary .md-nav__item {
        font-size: 1.6rem;
        line-height: 1.5; }
      html .md-nav--primary .md-nav__title {
        position: relative;
        height: 11.2rem;
        padding: 6rem 1.6rem 0.4rem;
        background-color: rgba(0, 0, 0, 0.07);
        color: rgba(0, 0, 0, 0.54);
        font-weight: 400;
        line-height: 4.8rem;
        white-space: nowrap;
        cursor: pointer; }
        html .md-nav--primary .md-nav__title::before {
          display: block;
          position: absolute;
          top: 0.4rem;
          left: 0.4rem;
          width: 4rem;
          height: 4rem;
          color: rgba(0, 0, 0, 0.54); }
        html .md-nav--primary .md-nav__title ~ .md-nav__list {
          background-color: white;
          box-shadow: 0 0.1rem 0 rgba(0, 0, 0, 0.07) inset; }
          html .md-nav--primary .md-nav__title ~ .md-nav__list > .md-nav__item:first-child {
            border-top: 0; }
        html .md-nav--primary .md-nav__title--site {
          position: relative;
          background-color: #3f51b5;
          color: white; }
          html .md-nav--primary .md-nav__title--site .md-nav__button {
            display: block;
            position: absolute;
            top: 0.4rem;
            left: 0.4rem;
            width: 6.4rem;
            height: 6.4rem;
            font-size: 4.8rem; }
          html .md-nav--primary .md-nav__title--site::before {
            display: none; }
      html [dir="rtl"] .md-nav--primary .md-nav__title::before {
        right: 0.4rem;
        left: initial; }
      html [dir="rtl"] .md-nav--primary .md-nav__title--site .md-nav__button {
        right: 0.4rem;
        left: initial; }
      .md-nav--primary .md-nav__list {
        flex: 1;
        overflow-y: auto; }
      .md-nav--primary .md-nav__item {
        padding: 0;
        border-top: 0.1rem solid rgba(0, 0, 0, 0.07); }
        [dir="rtl"] .md-nav--primary .md-nav__item {
          padding: 0; }
        .md-nav--primary .md-nav__item--nested > .md-nav__link {
          padding-right: 4.8rem; }
          [dir="rtl"] .md-nav--primary .md-nav__item--nested > .md-nav__link {
            padding-right: 1.6rem;
            padding-left: 4.8rem; }
          .md-nav--primary .md-nav__item--nested > .md-nav__link::after {
            content: "\E315"; }
            [dir="rtl"] .md-nav--primary .md-nav__item--nested > .md-nav__link::after {
              content: "\E314"; }
      .md-nav--primary .md-nav__link {
        position: relative;
        margin-top: 0;
        padding: 1.2rem 1.6rem; }
        .md-nav--primary .md-nav__link::after {
          position: absolute;
          top: 50%;
          right: 1.2rem;
          margin-top: -1.2rem;
          color: inherit;
          font-size: 2.4rem; }
          [dir="rtl"] .md-nav--primary .md-nav__link::after {
            right: initial;
            left: 1.2rem; }
      .md-nav--primary .md-nav--secondary .md-nav__link {
        position: static; }
      .md-nav--primary .md-nav--secondary .md-nav {
        position: static;
        background-color: transparent; }
        .md-nav--primary .md-nav--secondary .md-nav .md-nav__link {
          padding-left: 2.8rem; }
          [dir="rtl"] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link {
            padding-right: 2.8rem;
            padding-left: initial; }
        .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link {
          padding-left: 4rem; }
          [dir="rtl"] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link {
            padding-right: 4rem;
            padding-left: initial; }
        .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link {
          padding-left: 5.2rem; }
          [dir="rtl"] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link {
            padding-right: 5.2rem;
            padding-left: initial; }
        .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link {
          padding-left: 6.4rem; }
          [dir="rtl"] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link {
            padding-right: 6.4rem;
            padding-left: initial; }
      .md-nav__toggle ~ .md-nav {
        display: flex;
        -webkit-transform: translateX(100%);
                transform: translateX(100%);
        transition: opacity 0.125s 0.05s, -webkit-transform 0.25s cubic-bezier(0.8, 0, 0.6, 1);
        transition: transform 0.25s cubic-bezier(0.8, 0, 0.6, 1), opacity 0.125s 0.05s;
        transition: transform 0.25s cubic-bezier(0.8, 0, 0.6, 1), opacity 0.125s 0.05s, -webkit-transform 0.25s cubic-bezier(0.8, 0, 0.6, 1);
        opacity: 0; }
        [dir="rtl"] .md-nav__toggle ~ .md-nav {
          -webkit-transform: translateX(-100%);
                  transform: translateX(-100%); }
        .no-csstransforms3d .md-nav__toggle ~ .md-nav {
          display: none; }
      .md-nav__toggle:checked ~ .md-nav {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        transition: opacity 0.125s 0.125s, -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.125s 0.125s;
        transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.125s 0.125s, -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        opacity: 1; }
        .no-csstransforms3d .md-nav__toggle:checked ~ .md-nav {
          display: flex; }
    .md-sidebar--primary {
      position: fixed;
      top: 0;
      left: -24.2rem;
      width: 24.2rem;
      height: 100%;
      -webkit-transform: translateX(0);
              transform: translateX(0);
      transition: box-shadow 0.25s, -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
      transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s;
      transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s, -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
      background-color: white;
      z-index: 3; }
      [dir="rtl"] .md-sidebar--primary {
        right: -24.2rem;
        left: initial; }
      .no-csstransforms3d .md-sidebar--primary {
        display: none; }
      [data-md-toggle="drawer"]:checked ~ .md-container .md-sidebar--primary {
        box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.4);
        -webkit-transform: translateX(24.2rem);
                transform: translateX(24.2rem); }
        [dir="rtl"] [data-md-toggle="drawer"]:checked ~ .md-container .md-sidebar--primary {
          -webkit-transform: translateX(-24.2rem);
                  transform: translateX(-24.2rem); }
        .no-csstransforms3d [data-md-toggle="drawer"]:checked ~ .md-container .md-sidebar--primary {
          display: block; }
      .md-sidebar--primary .md-sidebar__scrollwrap {
        overflow: hidden; }
      .md-sidebar--primary .md-sidebar__scrollwrap {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: 0; }
    .md-tabs {
      display: none; } }

@media only screen and (min-width: 60em) {
  .md-content {
    margin-right: 24.2rem; }
    [dir="rtl"] .md-content {
      margin-right: initial;
      margin-left: 24.2rem; }
      .md-header-nav__button.md-icon--search {
        display: none; }
      .md-header-nav__source {
        display: block;
        width: 23rem;
        max-width: 23rem;
        margin-left: 2.8rem;
        padding-right: 1.2rem; }
        [dir="rtl"] .md-header-nav__source {
          margin-right: 2.8rem;
          margin-left: initial;
          padding-right: initial;
          padding-left: 1.2rem; }
  .md-search {
    padding: 0.4rem; }
    .md-search__overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 0;
      height: 0;
      transition: width   0s 0.25s, height  0s 0.25s, opacity 0.25s;
      background-color: rgba(0, 0, 0, 0.54);
      cursor: pointer; }
      [dir="rtl"] .md-search__overlay {
        right: 0;
        left: initial; }
      [data-md-toggle="search"]:checked ~ .md-header .md-search__overlay {
        width: 100%;
        height: 100%;
        transition: width   0s, height  0s, opacity 0.25s;
        opacity: 1; }
  .md-search__inner {
    position: relative;
    width: 23rem;
    padding: 0.2rem 0;
    float: right;
    transition: width 0.25s cubic-bezier(0.1, 0.7, 0.1, 1); }
    [dir="rtl"] .md-search__inner {
      float: left; }
    .md-search__form {
      border-radius: 0.2rem; }
    .md-search__input {
      width: 100%;
      height: 3.6rem;
      padding-left: 4.4rem;
      transition: background-color 0.25s cubic-bezier(0.1, 0.7, 0.1, 1), color 0.25s cubic-bezier(0.1, 0.7, 0.1, 1);
      border-radius: 0.2rem;
      background-color: rgba(0, 0, 0, 0.26);
      color: inherit;
      font-size: 1.6rem; }
      [dir="rtl"] .md-search__input {
        padding-right: 4.4rem; }
      .md-search__input + .md-search__icon {
        color: inherit; }
      .md-search__input::-webkit-input-placeholder {
        color: rgba(255, 255, 255, 0.7); }
      .md-search__input:-ms-input-placeholder {
        color: rgba(255, 255, 255, 0.7); }
      .md-search__input::-ms-input-placeholder {
        color: rgba(255, 255, 255, 0.7); }
      .md-search__input::placeholder {
        color: rgba(255, 255, 255, 0.7); }
      .md-search__input:hover {
        background-color: rgba(255, 255, 255, 0.12); }
      [data-md-toggle="search"]:checked ~ .md-header .md-search__input {
        border-radius: 0.2rem 0.2rem 0 0;
        background-color: white;
        color: rgba(0, 0, 0, 0.87);
        text-overflow: none; }
        [data-md-toggle="search"]:checked ~ .md-header .md-search__input + .md-search__icon, [data-md-toggle="search"]:checked ~ .md-header .md-search__input::-webkit-input-placeholder {
          color: rgba(0, 0, 0, 0.54); }
        [data-md-toggle="search"]:checked ~ .md-header .md-search__input + .md-search__icon, [data-md-toggle="search"]:checked ~ .md-header .md-search__input:-ms-input-placeholder {
          color: rgba(0, 0, 0, 0.54); }
        [data-md-toggle="search"]:checked ~ .md-header .md-search__input + .md-search__icon, [data-md-toggle="search"]:checked ~ .md-header .md-search__input::-ms-input-placeholder {
          color: rgba(0, 0, 0, 0.54); }
        [data-md-toggle="search"]:checked ~ .md-header .md-search__input + .md-search__icon, [data-md-toggle="search"]:checked ~ .md-header .md-search__input::placeholder {
          color: rgba(0, 0, 0, 0.54); }
    .md-search__output {
      top: 3.8rem;
      transition: opacity 0.4s;
      opacity: 0; }
      [data-md-toggle="search"]:checked ~ .md-header .md-search__output {
        box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.4);
        opacity: 1; }
    .md-search__scrollwrap {
      max-height: 0; }
      [data-md-toggle="search"]:checked ~ .md-header .md-search__scrollwrap {
        max-height: 75vh; }
      .md-search__scrollwrap::-webkit-scrollbar {
        width: 0.4rem;
        height: 0.4rem; }
      .md-search__scrollwrap::-webkit-scrollbar-thumb {
        background-color: rgba(0, 0, 0, 0.26); }
        .md-search__scrollwrap::-webkit-scrollbar-thumb:hover {
          background-color: #536dfe; }
      .md-search-result__meta {
        padding-left: 4.4rem; }
        [dir="rtl"] .md-search-result__meta {
          padding-right: 4.4rem;
          padding-left: initial; }
      .md-search-result__article {
        padding-left: 4.4rem; }
        [dir="rtl"] .md-search-result__article {
          padding-right: 4.4rem;
          padding-left: 1.6rem; }
      .md-sidebar--secondary {
        display: block;
        margin-left: 100%;
        -webkit-transform: translate(-100%, 0);
                transform: translate(-100%, 0); }
        [dir="rtl"] .md-sidebar--secondary {
          margin-right: 100%;
          margin-left: initial;
          -webkit-transform: translate(100%, 0);
                  transform: translate(100%, 0); } }

@media only screen and (min-width: 76.25em) {
  .md-content {
    margin-left: 24.2rem; }
    [dir="rtl"] .md-content {
      margin-right: 24.2rem; }
    .md-content__inner {
      margin-right: 2.4rem;
      margin-left: 2.4rem; }
      .md-header-nav__button.md-icon--menu {
        display: none; }
    .md-nav[data-md-state="animate"] {
      transition: max-height 0.25s cubic-bezier(0.86, 0, 0.07, 1); }
    .md-nav__toggle ~ .md-nav {
      max-height: 0;
      overflow: hidden; }
      .no-js .md-nav__toggle ~ .md-nav {
        display: none; }
    .md-nav__toggle:checked ~ .md-nav, .md-nav[data-md-state="expand"] {
      max-height: 100%; }
      .no-js .md-nav__toggle:checked ~ .md-nav, .no-js .md-nav[data-md-state="expand"] {
        display: block; }
    .md-nav__item--nested > .md-nav > .md-nav__title {
      display: none; }
    .md-nav__item--nested > .md-nav__link::after {
      display: inline-block;
      -webkit-transform-origin: 0.45em 0.45em;
              transform-origin: 0.45em 0.45em;
      -webkit-transform-style: preserve-3d;
              transform-style: preserve-3d;
      vertical-align: -0.125em; }
      .js .md-nav__item--nested > .md-nav__link::after {
        transition: -webkit-transform 0.4s;
        transition: transform 0.4s;
        transition: transform 0.4s, -webkit-transform 0.4s; }
    .md-nav__item--nested .md-nav__toggle:checked ~ .md-nav__link::after {
      -webkit-transform: rotateX(180deg);
              transform: rotateX(180deg); }
  [data-md-toggle="search"]:checked ~ .md-header .md-search__inner {
    width: 68.8rem; }
    .md-search__scrollwrap {
      width: 68.8rem; }
      .md-sidebar--secondary {
        margin-left: 122rem; }
        [dir="rtl"] .md-sidebar--secondary {
          margin-right: 122rem;
          margin-left: initial; }
    .md-tabs ~ .md-main .md-nav--primary > .md-nav__list > .md-nav__item--nested {
      font-size: 0;
      visibility: hidden; }
    .md-tabs--active ~ .md-main .md-nav--primary .md-nav__title {
      display: block;
      padding: 0; }
    .md-tabs--active ~ .md-main .md-nav--primary .md-nav__title--site {
      display: none; }
    .no-js .md-tabs--active ~ .md-main .md-nav--primary .md-nav {
      display: block; }
    .md-tabs--active ~ .md-main .md-nav--primary > .md-nav__list > .md-nav__item {
      font-size: 0;
      visibility: hidden; }
      .md-tabs--active ~ .md-main .md-nav--primary > .md-nav__list > .md-nav__item--nested {
        display: none;
        font-size: 1.4rem;
        overflow: auto;
        visibility: visible; }
        .md-tabs--active ~ .md-main .md-nav--primary > .md-nav__list > .md-nav__item--nested > .md-nav__link {
          display: none; }
      .md-tabs--active ~ .md-main .md-nav--primary > .md-nav__list > .md-nav__item--active {
        display: block; }
    .md-tabs--active ~ .md-main .md-nav[data-md-level="1"] {
      max-height: initial;
      overflow: visible; }
      .md-tabs--active ~ .md-main .md-nav[data-md-level="1"] > .md-nav__list > .md-nav__item {
        padding-left: 0; }
      .md-tabs--active ~ .md-main .md-nav[data-md-level="1"] .md-nav .md-nav__title {
        display: none; } }

@media only screen and (min-width: 45em) {
      .md-footer-nav__link {
        width: 50%; }
    .md-footer-copyright {
      max-width: 75%;
      float: left; }
      [dir="rtl"] .md-footer-copyright {
        float: right; }
    .md-footer-social {
      padding: 1.2rem 0;
      float: right; }
      [dir="rtl"] .md-footer-social {
        float: left; } }

@media only screen and (max-width: 29.9375em) {
    [data-md-toggle="search"]:checked ~ .md-header .md-search__overlay {
      -webkit-transform: scale(45);
              transform: scale(45); } }

@media only screen and (min-width: 30em) and (max-width: 44.9375em) {
    [data-md-toggle="search"]:checked ~ .md-header .md-search__overlay {
      -webkit-transform: scale(60);
              transform: scale(60); } }

@media only screen and (min-width: 45em) and (max-width: 59.9375em) {
    [data-md-toggle="search"]:checked ~ .md-header .md-search__overlay {
      -webkit-transform: scale(75);
              transform: scale(75); } }

@media only screen and (min-width: 60em) and (max-width: 76.1875em) {
  [data-md-toggle="search"]:checked ~ .md-header .md-search__inner {
    width: 46.8rem; }
    .md-search__scrollwrap {
      width: 46.8rem; }
      .md-search-result__teaser {
        max-height: 5rem;
        -webkit-line-clamp: 3; } }

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2FwcGxpY2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9iYXNlL19yZXNldC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvYmFzZS9faWNvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL19jb25maWcuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2Jhc2UvX3R5cGVzZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbW9kdWxhcnNjYWxlLXNhc3Mvc3R5bGVzaGVldHMvbW9kdWxhcnNjYWxlL19mdW5jdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9tYXRlcmlhbC1kZXNpZ24tY29sb3IvbWF0ZXJpYWwtY29sb3Iuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbWF0ZXJpYWwtc2hhZG93cy9tYXRlcmlhbC1zaGFkb3dzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2xheW91dC9fY2xpcGJvYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX2NvbnRlbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2xheW91dC9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX2hlcm8uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2xheW91dC9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX25hdi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvbGF5b3V0L19zZWFyY2guc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2xheW91dC9fc2lkZWJhci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvbGF5b3V0L19zb3VyY2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2xheW91dC9fdGFicy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9fYWRtb25pdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9fY29kZWhpbGl0ZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9fZm9vdG5vdGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9leHRlbnNpb25zL19wZXJtYWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9leHRlbnNpb25zL3B5bWRvd24vX2FyaXRobWF0ZXguc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvcHltZG93bi9fY3JpdGljLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9leHRlbnNpb25zL3B5bWRvd24vX2RldGFpbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvcHltZG93bi9fZW1vamkuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvcHltZG93bi9faW5saW5laGlsaXRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9leHRlbnNpb25zL3B5bWRvd24vX3N1cGVyZmVuY2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9leHRlbnNpb25zL3B5bWRvd24vX3Rhc2tsaXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19icmVhay5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQzZCakI7RUFDRSx1QkFBc0IsRUFDdkI7O0FBR0Q7OztFQUdFLG9CQUFtQixFQUNwQjs7QUFURDtFQWFFLCtCQUFzQjtLQUF0Qiw0QkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQixFQUN2Qjs7QUFHRDtFQUNFLFVBQVMsRUFDVjs7QUFHRDtFQUNFLGtCQUFpQjtFQUNqQix3QkFBdUIsRUFDeEI7O0FBR0Q7RUFDRSxzQ0FBcUMsRUFDdEM7O0FBR0Q7Ozs7RUFJRSx5Q0FBd0MsRUFDekM7O0FBVkQ7RUFjRSxlQUFjO0VBQ2Qsc0JBQXFCLEVBQ3RCOztBQUdEO0VBQ0UsZUFBYyxFQUNmOztBQUdEOztFQUVFLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2QsZUFBYztFQUNkLHlCQUF3QixFQUN6Qjs7QUFHRDtFQUNFLGdCQUFlLEVBQ2hCOztBQUdEO0VBQ0UsWUFBVyxFQUNaOztBQUdEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUdEO0VBQ0UsMEJBQXlCO0VBQ3pCLGtCQUFpQixFQUNsQjs7QUFHRDs7RUFFRSxvQkFBbUI7RUFDbkIsb0JBQW1CLEVBQ3BCOztBQUdEO0VBQ0UsVUFBUztFQUNULFdBQVU7RUFDVixVQUFTO0VBQ1Qsb0JBQW1CO0VBQ25CLHdCQUF1QjtFQUN2QixtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxVQUFTO0VBQ1QsV0FBVSxFQUNYOztBQ3RHRDtFQUNFLDhCQUE2QjtFQUM3QixtQkFBa0I7RUFDbEIscUJBQW9CO0VBQ3BCLG9CQUFtQjtFQUNuQixlQUFjO0VBQ2QscUJBQW9CO0VBQ3BCLG9CQUFt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Q08sZUFBYyxFQUNmO0lBMUNOO01BZ0RHLG9CQUFtQjtNQUNuQixrQkFBaUIsRUFXbEI7TUE1REY7UUFxREssZ0JBQWUsRUFDaEI7TUF0REo7UUEwREssY0FBYSxFQUNkLEVSOUhKOztBb0I4S0Q7TWpCOUtGO1FBT0ksV0FBVSxFQXdDYjtJQW9ESDtNQVFJLGVBQWM7TUFDZCxZQUFXLEVBWWQ7TWJncUJLO1FheHFCQSxhQUFZLEVBQ2I7SUFVTDtNQU1JLGtCQUFpQjtNQUNqQixhQUFZLEVBcUJmO01iNm9CSztRYTlwQkEsWUFBVyxFQUNaLEVBeEZGOztBaUJxSkM7STlCazNCQTtNZTdnQ0ksNkJBQW9CO2NBQXBCLHFCQUFvQixFQVl2Qjs7QWVnR0M7STlCbzZCRjtNZTNnQ0ksNkJBQW9CO2NBQXBCLHFCQUFvQixFQU92Qjs7QWVnR0M7STlCdTZCRjtNZXpnQ0ksNkJBQW9CO2NBQXBCLHFCQUFvQixFQUV2Qjs7QWVnR0M7RTlCKzlCSjtJZTU5Qk0sZUFBYyxFQU9qQjtJQW1OSDtNQVNJLGVBQWMsRUFpQ2pCO01BaUlEO1FBb0JJLGlCQUFnQjtRQUNoQixzQkFBcUIsRUFFeEIsRUFyWkUiLCJmaWxlIjoiYXNzZXRzL3N0eWxlc2hlZXRzL2FwcGxpY2F0aW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuaHRtbCB7XG4gIHRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG5ociB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG5hIHtcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgfVxuXG5hLFxuYnV0dG9uLFxubGFiZWwsXG5pbnB1dCB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG5idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZS1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG5pbnB1dCB7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDsgfVxuXG4ubWQtaWNvbiwgLm1kLWNsaXBib2FyZDo6YmVmb3JlLCAubWQtbmF2X190aXRsZTo6YmVmb3JlLCAubWQtbmF2X19idXR0b24sIC5tZC1uYXZfX2xpbms6OmFmdGVyLCAubWQtc2VhcmNoLXJlc3VsdF9fYXJ0aWNsZS0tZG9jdW1lbnQ6OmJlZm9yZSwgLm1kLXNvdXJjZS1maWxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscyA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCBkZXRhaWxzID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCAuZm9vdG5vdGUtYmFja3JlZiwgLm1kLXR5cGVzZXQgLmNyaXRpYy5jb21tZW50OjpiZWZvcmUsIC5tZC10eXBlc2V0IHN1bW1hcnk6OmFmdGVyLCAubWQtdHlwZXNldCAudGFzay1saXN0LWNvbnRyb2wgLnRhc2stbGlzdC1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1hdGVyaWFsIEljb25zXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgc3BlYWs6IG5vbmU7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICBkaXJlY3Rpb246IGx0cjsgfVxuICAubWQtY29udGVudF9faWNvbiwgLm1kLWhlYWRlci1uYXZfX2J1dHRvbiwgLm1kLWZvb3Rlci1uYXZfX2J1dHRvbiwgLm1kLW5hdl9fdGl0bGU6OmJlZm9yZSwgLm1kLW5hdl9fYnV0dG9uLCAubWQtc2VhcmNoLXJlc3VsdF9fYXJ0aWNsZS0tZG9jdW1lbnQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMC40cmVtO1xuICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLm1kLWljb24tLWFycm93LWJhY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7peEXCI7IH1cblxuLm1kLWljb24tLWFycm93LWZvcndhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7peIXCI7IH1cblxuLm1kLWljb24tLW1lbnU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7peSXCI7IH1cblxuLm1kLWljb24tLXNlYXJjaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCLuorZcIjsgfVxuXG5bZGlyPVwicnRsXCJdIC5tZC1pY29uLS1hcnJvdy1iYWNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6XiFwiOyB9XG5cbltkaXI9XCJydGxcIl0gLm1kLWljb24tLWFycm93LWZvcndhcmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7peEXCI7IH1cblxuYm9keSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmJvZHksXG5pbnB1dCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiLCBcImxpZ2FcIjtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG5wcmUsXG5jb2RlLFxua2JkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgTmV3XCIsIENvdXJpZXIsIG1vbm9zcGFjZTsgfVxuXG4ubWQtdHlwZXNldCB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IH1cbiAgLm1kLXR5cGVzZXQgcCxcbiAgLm1kLXR5cGVzZXQgdWwsXG4gIC5tZC10eXBlc2V0IG9sLFxuICAubWQtdHlwZXNldCBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDFlbSAwOyB9XG4gIC5tZC10eXBlc2V0IGgxIHtcbiAgICBtYXJnaW46IDAgMCA0cmVtO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIC5tZC10eXBlc2V0IGgyIHtcbiAgICBtYXJnaW46IDRyZW0gMCAxLjZyZW07XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gIC5tZC10eXBlc2V0IGgzIHtcbiAgICBtYXJnaW46IDMuMnJlbSAwIDEuNnJlbTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5tZC10eXBlc2V0IGgyICsgaDMge1xuICAgIG1hcmdpbi10b3A6IDEuNnJlbTsgfVxuICAubWQtdHlwZXNldCBoNCB7XG4gICAgbWFyZ2luOiAxLjZyZW0gMDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyB9XG4gIC5tZC10eXBlc2V0IGg1LFxuICAubWQtdHlwZXNldCBoNiB7XG4gICAgbWFyZ2luOiAxLjZyZW0gMDtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBmb250LXNpemU6IDEuMjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsgfVxuICAubWQtdHlwZXNldCBoNSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAubWQtdHlwZXNldCBociB7XG4gICAgbWFyZ2luOiAxLjVlbSAwO1xuICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBkb3R0ZWQgcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAubWQtdHlwZXNldCBhIHtcbiAgICBjb2xvcjogIzNmNTFiNTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyB9XG4gICAgLm1kLXR5cGVzZXQgYSwgLm1kLXR5cGVzZXQgYTo6YmVmb3JlIHtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTI1czsgfVxuICAgIC5tZC10eXBlc2V0IGE6aG92ZXIsIC5tZC10eXBlc2V0IGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNTM2ZGZlOyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5tZC10eXBlc2V0IGE6OmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFtcIiBhdHRyKGhyZWYpIFwiXVwiOyB9IH1cbiAgLm1kLXR5cGVzZXQgY29kZSxcbiAgLm1kLXR5cGVzZXQgcHJlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNiwgMjM2LCAyMzYsIDAuNSk7XG4gICAgY29sb3I6ICMzNzQ3NEY7XG4gICAgZm9udC1zaXplOiA4NSU7XG4gICAgZGlyZWN0aW9uOiBsdHI7IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLm1kLXR5cGVzZXQgY29kZSxcbiAgICAgIC5tZC10eXBlc2V0IHByZSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgfSB9XG4gIC5tZC10eXBlc2V0IGNvZGUge1xuICAgIG1hcmdpbjogMCAwLjI5NDEyZW07XG4gICAgcGFkZGluZzogMC4wNzM1M2VtIDA7XG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICAgIGJveC1zaGFkb3c6IDAuMjk0MTJlbSAwIDAgcmdiYSgyMzYsIDIzNiwgMjM2LCAwLjUpLCAtMC4yOTQxMmVtIDAgMCByZ2JhKDIzNiwgMjM2LCAyMzYsIDAuNSk7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLm1kLXR5cGVzZXQgY29kZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBpbml0aWFsOyB9IH1cbiAgLm1kLXR5cGVzZXQgaDEgY29kZSxcbiAgLm1kLXR5cGVzZXQgaDIgY29kZSxcbiAgLm1kLXR5cGVzZXQgaDMgY29kZSxcbiAgLm1kLXR5cGVzZXQgaDQgY29kZSxcbiAgLm1kLXR5cGVzZXQgaDUgY29kZSxcbiAgLm1kLXR5cGVzZXQgaDYgY29kZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLm1kLXR5cGVzZXQgYSA+IGNvZGUge1xuICAgIG1hcmdpbjogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiBpbmhlcml0O1xuICAgIGJvcmRlci1yYWRpdXM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5tZC10eXBlc2V0IHByZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NC45Mzc1ZW0pIHtcbiAgICAgIC5tZC10eXBlc2V0IHByZSB7XG4gICAgICAgIG1hcmdpbjogMWVtIC0xLjZyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAgIC5tZC10eXBlc2V0IHByZSA+IGNvZGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAxLjA1cmVtIDEuMnJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBub25lO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQuOTM3NWVtKSB7XG4gICAgICAgIC5tZC10eXBlc2V0IHByZSA+IGNvZGUge1xuICAgICAgICAgIHBhZGRpbmc6IDEuMDVyZW0gMS42cmVtOyB9IH1cbiAgICAgIC5tZC10eXBlc2V0IHByZSA+IGNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IDAuNHJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjRyZW07IH1cbiAgICAgIC5tZC10eXBlc2V0IHByZSA+IGNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAgICAgICAubWQtdHlwZXNldCBwcmUgPiBjb2RlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzUzNmRmZTsgfVxuICAubWQtdHlwZXNldCBrYmQge1xuICAgIHBhZGRpbmc6IDAgMC4yOTQxMmVtO1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICNjOWM5Yzk7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNiY2JjYmM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRkNGQztcbiAgICBjb2xvcjogIzU1NTU1NTtcbiAgICBmb250LXNpemU6IDg1JTtcbiAgICBib3gtc2hhZG93OiAwIDAuMXJlbSAwICNiMGIwYjA7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDsgfVxuICAubWQtdHlwZXNldCBtYXJrIHtcbiAgICBtYXJnaW46IDAgMC4yNWVtO1xuICAgIHBhZGRpbmc6IDAuMDYyNWVtIDA7XG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyMzUsIDU5LCAwLjUpO1xuICAgIGJveC1zaGFkb3c6IDAuMjVlbSAwIDAgcmdiYSgyNTUsIDIzNSwgNTksIDAuNSksIC0wLjI1ZW0gMCAwIHJnYmEoMjU1LCAyMzUsIDU5LCAwLjUpO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lOyB9XG4gIC5tZC10eXBlc2V0IGFiYnIge1xuICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBkb3R0ZWQgcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBoZWxwOyB9XG4gIC5tZC10eXBlc2V0IHNtYWxsIHtcbiAgICBvcGFjaXR5OiAwLjc1OyB9XG4gIC5tZC10eXBlc2V0IHN1cCxcbiAgLm1kLXR5cGVzZXQgc3ViIHtcbiAgICBtYXJnaW4tbGVmdDogMC4wNzgxMmVtOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCBzdXAsIFtkaXI9XCJydGxcIl1cbiAgICAubWQtdHlwZXNldCBzdWIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjA3ODEyZW07XG4gICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxuICAubWQtdHlwZXNldCBibG9ja3F1b3RlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMnJlbTtcbiAgICBib3JkZXItbGVmdDogMC40cmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IGJsb2NrcXVvdGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMS4ycmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiBpbml0aWFsO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwLjRyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgICAgIGJvcmRlci1sZWZ0OiBpbml0aWFsOyB9XG4gIC5tZC10eXBlc2V0IHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cbiAgLm1kLXR5cGVzZXQgdWwsXG4gIC5tZC10eXBlc2V0IG9sIHtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVlbTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCB1bCwgW2Rpcj1cInJ0bFwiXVxuICAgIC5tZC10eXBlc2V0IG9sIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XG4gICAgLm1kLXR5cGVzZXQgdWwgb2wsXG4gICAgLm1kLXR5cGVzZXQgb2wgb2wge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgLm1kLXR5cGVzZXQgdWwgb2wgb2wsXG4gICAgICAubWQtdHlwZXNldCBvbCBvbCBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAubWQtdHlwZXNldCB1bCBsaSxcbiAgICAubWQtdHlwZXNldCBvbCBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1ZW07IH1cbiAgICAgIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgdWwgbGksIFtkaXI9XCJydGxcIl1cbiAgICAgIC5tZC10eXBlc2V0IG9sIGxpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XG4gICAgICAubWQtdHlwZXNldCB1bCBsaSBwLFxuICAgICAgLm1kLXR5cGVzZXQgdWwgbGkgYmxvY2txdW90ZSxcbiAgICAgIC5tZC10eXBlc2V0IG9sIGxpIHAsXG4gICAgICAubWQtdHlwZXNldCBvbCBsaSBibG9ja3F1b3RlIHtcbiAgICAgICAgbWFyZ2luOiAwLjVlbSAwOyB9XG4gICAgICAubWQtdHlwZXNldCB1bCBsaTpsYXN0LWNoaWxkLFxuICAgICAgLm1kLXR5cGVzZXQgb2wgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5tZC10eXBlc2V0IHVsIGxpIHVsLFxuICAgICAgLm1kLXR5cGVzZXQgdWwgbGkgb2wsXG4gICAgICAubWQtdHlwZXNldCBvbCBsaSB1bCxcbiAgICAgIC5tZC10eXBlc2V0IG9sIGxpIG9sIHtcbiAgICAgICAgbWFyZ2luOiAwLjVlbSAwIDAuNWVtIDAuNjI1ZW07IH1cbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCB1bCBsaSB1bCwgW2Rpcj1cInJ0bFwiXVxuICAgICAgICAubWQtdHlwZXNldCB1bCBsaSBvbCwgW2Rpcj1cInJ0bFwiXVxuICAgICAgICAubWQtdHlwZXNldCBvbCBsaSB1bCwgW2Rpcj1cInJ0bFwiXVxuICAgICAgICAubWQtdHlwZXNldCBvbCBsaSBvbCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNWVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsOyB9XG4gIC5tZC10eXBlc2V0IGRkIHtcbiAgICBtYXJnaW46IDFlbSAwIDFlbSAxLjg3NWVtOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCBkZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuODc1ZW07XG4gICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxuICAubWQtdHlwZXNldCBpZnJhbWUsXG4gIC5tZC10eXBlc2V0IGltZyxcbiAgLm1kLXR5cGVzZXQgc3ZnIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1kLXR5cGVzZXQgdGFibGU6bm90KFtjbGFzc10pIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gICAgZm9udC1zaXplOiAxLjI4cmVtO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuICAgIC5tZC10eXBlc2V0IHRhYmxlOm5vdChbY2xhc3NdKSArICoge1xuICAgICAgbWFyZ2luLXRvcDogMS41ZW07IH1cbiAgICAubWQtdHlwZXNldCB0YWJsZTpub3QoW2NsYXNzXSkgdGg6bm90KFthbGlnbl0pLFxuICAgIC5tZC10eXBlc2V0IHRhYmxlOm5vdChbY2xhc3NdKSB0ZDpub3QoW2FsaWduXSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCB0YWJsZTpub3QoW2NsYXNzXSkgdGg6bm90KFthbGlnbl0pLCBbZGlyPVwicnRsXCJdXG4gICAgICAubWQtdHlwZXNldCB0YWJsZTpub3QoW2NsYXNzXSkgdGQ6bm90KFthbGlnbl0pIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWQtdHlwZXNldCB0YWJsZTpub3QoW2NsYXNzXSkgdGgge1xuICAgICAgbWluLXdpZHRoOiAxMHJlbTtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAxLjZyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIC5tZC10eXBlc2V0IHRhYmxlOm5vdChbY2xhc3NdKSB0ZCB7XG4gICAgICBwYWRkaW5nOiAxLjJyZW0gMS42cmVtO1xuICAgICAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgLm1kLXR5cGVzZXQgdGFibGU6bm90KFtjbGFzc10pIHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgICAubWQtdHlwZXNldCB0YWJsZTpub3QoW2NsYXNzXSkgYSB7XG4gICAgICB3b3JkLWJyZWFrOiBub3JtYWw7IH1cbiAgLm1kLXR5cGVzZXRfX3Njcm9sbHdyYXAge1xuICAgIG1hcmdpbjogMWVtIC0xLjZyZW07XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgLm1kLXR5cGVzZXQgLm1kLXR5cGVzZXRfX3RhYmxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgcGFkZGluZzogMCAxLjZyZW07IH1cbiAgICAubWQtdHlwZXNldCAubWQtdHlwZXNldF9fdGFibGUgdGFibGUge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICBodG1sIHtcbiAgICAgIGZvbnQtc2l6ZTogNjguNzUlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjVlbSkge1xuICAgIGh0bWwge1xuICAgICAgZm9udC1zaXplOiA3NSU7IH0gfVxuXG5ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OS45Mzc1ZW0pIHtcbiAgICBib2R5W2RhdGEtbWQtc3RhdGU9XCJsb2NrXCJdIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5pb3MgYm9keVtkYXRhLW1kLXN0YXRlPVwibG9ja1wiXSAubWQtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbmhyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMC4xcmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLm1kLXN2ZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1kLWdyaWQge1xuICBtYXgtd2lkdGg6IDEyMnJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4ubWQtY29udGFpbmVyLFxuLm1kLW1haW4ge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4ubWQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiA0LjhyZW07XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cblxuLm1kLW1haW4ge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIGhlaWdodDogMTAwJTsgfVxuICAubWQtbWFpbl9faW5uZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4xcmVtOyB9XG5cbi5tZC10b2dnbGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IHdpZHRoICAgMHMgMC4yNXMsIGhlaWdodCAgMHMgMC4yNXMsIG9wYWNpdHkgMC4yNXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDM7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3Ni4xODc1ZW0pIHtcbiAgICBbZGF0YS1tZC10b2dnbGU9XCJkcmF3ZXJcIl06Y2hlY2tlZCB+IC5tZC1vdmVybGF5IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggICAwcywgaGVpZ2h0ICAwcywgb3BhY2l0eSAwLjI1cztcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ubWQtZmxleCB7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5tZC1mbGV4X19jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgLm1kLWZsZXhfX2NlbGwtLXNocmluayB7XG4gICAgICB3aWR0aDogMCU7IH1cbiAgICAubWQtZmxleF9fY2VsbC0tc3RyZXRjaCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICAubWQtZmxleF9fZWxsaXBzaXMge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5tZC1za2lwIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMC4xcmVtO1xuICBoZWlnaHQ6IDAuMXJlbTtcbiAgbWFyZ2luOiAxcmVtO1xuICBwYWRkaW5nOiAwLjZyZW0gMXJlbTtcbiAgY2xpcDogcmVjdCgwLjFyZW0pO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC44cmVtKTtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMS4yOHJlbTtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubWQtc2tpcDpmb2N1cyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGNsaXA6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLCBvcGFjaXR5IDAuMTc1cyAwLjA3NXM7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiAxMDsgfVxuXG5AcGFnZSB7XG4gIG1hcmdpbjogMjVtbTsgfVxuXG51bCwgdWwgbGkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmFib3V0IHtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuXG4uYWJvdXQtbGlzdCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmFib3V0LWxpc3QgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAxcHg7XG4gIHdpZHRoOiAxNjhweDtcbiAgaGVpZ2h0OiAyODBweDtcbiAgcGFkZGluZzogMjBweCAxNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IC0xcHggMHB4IDEwcHggI2U0ZTRlNDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAtMXB4IDBweCAxMHB4ICNlNGU0ZTQ7XG4gIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zczsgfVxuXG4uYWJvdXQtbGlzdCBsaTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IC0xcHggMHB4IDE1cHggI2RiZGJkYjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAtMXB4IDBweCAxNXB4ICNkYmRiZGI7IH1cblxuLmFib3V0LWxpc3QgLnBpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiBhdXRvO1xuICB3aWR0aDogMTY4cHg7XG4gIGhlaWdodDogMTY4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4uYWJvdXQtbGlzdCAuZGVzYyB7XG4gIG1hcmdpbjogMDsgfVxuXG4uYWJvdXQtbGlzdCAuZGVzYyBkdCB7XG4gIG1hcmdpbjogMTBweCAwIDVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmFib3V0LWxpc3QgLmRlc2MgZGQge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IC44ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgY29sb3I6ICM4ODg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tZC1jbGlwYm9hcmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC42cmVtO1xuICByaWdodDogMC42cmVtO1xuICB3aWR0aDogMi44cmVtO1xuICBoZWlnaHQ6IDIuOHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICAubWQtY2xpcGJvYXJkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubWQtY2xpcGJvYXJkOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IGNvbG9yICAgMC4yNXMsIG9wYWNpdHkgMC4yNXM7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gICAgY29udGVudDogXCJcXEUxNERcIjsgfVxuICAgIHByZTpob3ZlciAubWQtY2xpcGJvYXJkOjpiZWZvcmUsXG4gICAgLmNvZGVoaWxpdGU6aG92ZXIgLm1kLWNsaXBib2FyZDo6YmVmb3JlLFxuICAgIC5tZC10eXBlc2V0IC5oaWdobGlnaHQ6aG92ZXIgLm1kLWNsaXBib2FyZDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG4gIC5tZC1jbGlwYm9hcmQ6Zm9jdXM6OmJlZm9yZSwgLm1kLWNsaXBib2FyZDpob3Zlcjo6YmVmb3JlIHtcbiAgICBjb2xvcjogIzUzNmRmZTsgfVxuICAubWQtY2xpcGJvYXJkX19tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAzLjRyZW07XG4gICAgcGFkZGluZzogMC42cmVtIDFyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuOHJlbSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLjksIDAuMSwgMC45LCAwKSwgb3BhY2l0eSAwLjE3NXM7XG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMS4yOHJlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAubWQtY2xpcGJvYXJkX19tZXNzYWdlLS1hY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMC4xNzVzIDAuMDc1cztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAgIC5tZC1jbGlwYm9hcmRfX21lc3NhZ2U6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBhdHRyKGFyaWEtbGFiZWwpOyB9XG4gICAgLm1kLWNsaXBib2FyZF9fbWVzc2FnZTo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAtMC40cmVtO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtMC40cmVtO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjRyZW0gMCAwLjRyZW0gMC40cmVtO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5tZC1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI0LjJyZW07IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZC1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogaW5pdGlhbDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNC4ycmVtOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ni4yNWVtKSB7XG4gIC5tZC1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMjQuMnJlbTsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNC4ycmVtOyB9IH1cblxuLm1kLWNvbnRlbnRfX2lubmVyIHtcbiAgbWFyZ2luOiAwIDEuNnJlbSAyLjRyZW07XG4gIHBhZGRpbmctdG9wOiAxLjJyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ni4yNWVtKSB7XG4gICAgLm1kLWNvbnRlbnRfX2lubmVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMi40cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIuNHJlbTsgfSB9XG4gIC5tZC1jb250ZW50X19pbm5lcjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDAuOHJlbTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5tZC1jb250ZW50X19pbm5lciA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5tZC1jb250ZW50X19pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAuOHJlbSAwO1xuICBwYWRkaW5nOiAwO1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgLm1kLXR5cGVzZXQgLm1kLWNvbnRlbnRfX2ljb24ge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLm1kLWNvbnRlbnRfX2ljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5tZC1oZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogNC44cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzLCBjb2xvciAwLjI1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3gtc2hhZG93OiBub25lO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm5vLWpzIC5tZC1oZWFkZXIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAubWQtaGVhZGVyW2RhdGEtbWQtc3RhdGU9XCJzaGFkb3dcIl0ge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMsIGNvbG9yIDAuMjVzLCBib3gtc2hhZG93IDAuMjVzO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwLjRyZW0gcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDAuNHJlbSAwLjhyZW0gcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLm1kLWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm1kLWhlYWRlci1uYXYge1xuICBwYWRkaW5nOiAwIDAuNHJlbTsgfVxuICAubWQtaGVhZGVyLW5hdl9fYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLm1kLWhlYWRlci1uYXZfX2J1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgICAubWQtaGVhZGVyLW5hdl9fYnV0dG9uLm1kLWxvZ28gKiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5uby1qcyAubWQtaGVhZGVyLW5hdl9fYnV0dG9uLm1kLWljb24tLXNlYXJjaCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MGVtKSB7XG4gICAgICAubWQtaGVhZGVyLW5hdl9fYnV0dG9uLm1kLWljb24tLXNlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzYuMTg3NWVtKSB7XG4gICAgICAubWQtaGVhZGVyLW5hdl9fYnV0dG9uLm1kLWljb24tLWhvbWUsIC5tZC1oZWFkZXItbmF2X19idXR0b24ubWQtbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYuMjVlbSkge1xuICAgICAgLm1kLWhlYWRlci1uYXZfX2J1dHRvbi5tZC1pY29uLS1tZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5tZC1oZWFkZXItbmF2X190b3BpYyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKSwgb3BhY2l0eSAwLjE1cztcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAubWQtaGVhZGVyLW5hdl9fdG9waWMgKyAubWQtaGVhZGVyLW5hdl9fdG9waWMge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIuNXJlbSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMSwgMC43LCAwLjEsIDAuMSksIG9wYWNpdHkgMC4xNXM7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtaGVhZGVyLW5hdl9fdG9waWMgKyAubWQtaGVhZGVyLW5hdl9fdG9waWMge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIuNXJlbSk7IH1cbiAgICAubm8tanMgLm1kLWhlYWRlci1uYXZfX3RvcGljIHtcbiAgICAgIHBvc2l0aW9uOiBpbml0aWFsOyB9XG4gICAgLm5vLWpzIC5tZC1oZWFkZXItbmF2X190b3BpYyArIC5tZC1oZWFkZXItbmF2X190b3BpYyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tZC1oZWFkZXItbmF2X190aXRsZSB7XG4gICAgcGFkZGluZzogMCAycmVtO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA0LjhyZW07IH1cbiAgICAubWQtaGVhZGVyLW5hdl9fdGl0bGVbZGF0YS1tZC1zdGF0ZT1cImFjdGl2ZVwiXSAubWQtaGVhZGVyLW5hdl9fdG9waWMge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yLjVyZW0pO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDEsIDAuNywgMC4xLCAwLjEpLCBvcGFjaXR5IDAuMTVzO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIFtkaXI9XCJydGxcIl0gLm1kLWhlYWRlci1uYXZfX3RpdGxlW2RhdGEtbWQtc3RhdGU9XCJhY3RpdmVcIl0gLm1kLWhlYWRlci1uYXZfX3RvcGljIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIuNXJlbSk7IH1cbiAgICAgIC5tZC1oZWFkZXItbmF2X190aXRsZVtkYXRhLW1kLXN0YXRlPVwiYWN0aXZlXCJdIC5tZC1oZWFkZXItbmF2X190b3BpYyArIC5tZC1oZWFkZXItbmF2X190b3BpYyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMSwgMC43LCAwLjEsIDEpLCBvcGFjaXR5IDAuMTVzO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAubWQtaGVhZGVyLW5hdl9fc291cmNlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MGVtKSB7XG4gICAgICAubWQtaGVhZGVyLW5hdl9fc291cmNlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyM3JlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAyM3JlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIuOHJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS4ycmVtOyB9XG4gICAgICAgIFtkaXI9XCJydGxcIl0gLm1kLWhlYWRlci1uYXZfX3NvdXJjZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjhyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogaW5pdGlhbDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMnJlbTsgfSB9XG5cbi5tZC1oZXJvIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDJyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1kLWhlcm9fX2lubmVyIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIHBhZGRpbmc6IDEuNnJlbSAxLjZyZW0gMC44cmVtO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKSwgb3BhY2l0eSAwLjI1cztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3Ni4xODc1ZW0pIHtcbiAgICAgIC5tZC1oZXJvX19pbm5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQuOHJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9IH1cbiAgICBbZGF0YS1tZC1zdGF0ZT1cImhpZGRlblwiXSAubWQtaGVyb19faW5uZXIge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMS4yNXJlbSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgICAwLjRzLCBvcGFjaXR5ICAgMC4xcyAwcztcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAubWQtaGVyby0tZXhwYW5kIC5tZC1oZXJvX19pbm5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLm1kLWZvb3RlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5tZC1mb290ZXItbmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5tZC1mb290ZXItbmF2X19pbm5lciB7XG4gICAgcGFkZGluZzogMC40cmVtO1xuICAgIG92ZXJmbG93OiBhdXRvOyB9XG4gIC5tZC1mb290ZXItbmF2X19saW5rIHtcbiAgICBwYWRkaW5nLXRvcDogMi44cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjhyZW07XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1czsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAgICAgLm1kLWZvb3Rlci1uYXZfX2xpbmsge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAubWQtZm9vdGVyLW5hdl9fbGluazpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgICAubWQtZm9vdGVyLW5hdl9fbGluay0tcHJldiB7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIFtkaXI9XCJydGxcIl0gLm1kLWZvb3Rlci1uYXZfX2xpbmstLXByZXYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQuOTM3NWVtKSB7XG4gICAgICAgIC5tZC1mb290ZXItbmF2X19saW5rLS1wcmV2IC5tZC1mb290ZXItbmF2X190aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLm1kLWZvb3Rlci1uYXZfX2xpbmstLW5leHQge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICBbZGlyPVwicnRsXCJdIC5tZC1mb290ZXItbmF2X19saW5rLS1uZXh0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1kLWZvb3Rlci1uYXZfX2J1dHRvbiB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1czsgfVxuICAubWQtZm9vdGVyLW5hdl9fdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDQuOHJlbTsgfVxuICAubWQtZm9vdGVyLW5hdl9fZGlyZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG4ubWQtZm9vdGVyLW1ldGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODk1KTsgfVxuICAubWQtZm9vdGVyLW1ldGFfX2lubmVyIHtcbiAgICBwYWRkaW5nOiAwLjRyZW07XG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgaHRtbCAubWQtZm9vdGVyLW1ldGEubWQtdHlwZXNldCBhIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gICAgaHRtbCAubWQtZm9vdGVyLW1ldGEubWQtdHlwZXNldCBhOmZvY3VzLCBodG1sIC5tZC1mb290ZXItbWV0YS5tZC10eXBlc2V0IGE6aG92ZXIge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG5cbi5tZC1mb290ZXItY29weXJpZ2h0IHtcbiAgbWFyZ2luOiAwIDEuMnJlbTtcbiAgcGFkZGluZzogMC44cmVtIDA7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIGZvbnQtc2l6ZTogMS4yOHJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgICAubWQtZm9vdGVyLWNvcHlyaWdodCB7XG4gICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICBbZGlyPVwicnRsXCJdIC5tZC1mb290ZXItY29weXJpZ2h0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLm1kLWZvb3Rlci1jb3B5cmlnaHRfX2hpZ2hsaWdodCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuXG4ubWQtZm9vdGVyLXNvY2lhbCB7XG4gIG1hcmdpbjogMCAwLjhyZW07XG4gIHBhZGRpbmc6IDAuNHJlbSAwIDEuMnJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgICAubWQtZm9vdGVyLXNvY2lhbCB7XG4gICAgICBwYWRkaW5nOiAxLjJyZW0gMDtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtZm9vdGVyLXNvY2lhbCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgLm1kLWZvb3Rlci1zb2NpYWxfX2xpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMy4ycmVtO1xuICAgIGhlaWdodDogMy4ycmVtO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5tZC1mb290ZXItc29jaWFsX19saW5rOjpiZWZvcmUge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOTsgfVxuXG4ubWQtbmF2IHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgLm1kLW5hdl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5tZC1uYXZfX3RpdGxlOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGNvbnRlbnQ6IFwiXFxFNUM0XCI7IH1cbiAgICAgIFtkaXI9XCJydGxcIl0gLm1kLW5hdl9fdGl0bGU6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxFNUM4XCI7IH1cbiAgICAubWQtbmF2X190aXRsZSAubWQtbmF2X19idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAubWQtbmF2X19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5tZC1uYXZfX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDAgMS4ycmVtOyB9XG4gICAgLm1kLW5hdl9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07IH1cbiAgICAubWQtbmF2X19pdGVtIC5tZC1uYXZfX2l0ZW0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtbmF2X19pdGVtIC5tZC1uYXZfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjJyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLm1kLW5hdl9faXRlbSAubWQtbmF2X19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAubWQtbmF2X19idXR0b24gaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLm1kLW5hdl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMC42MjVlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjEyNXM7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAubWQtbmF2X19pdGVtLS1uZXN0ZWQgPiAubWQtbmF2X19saW5rOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcRTMxM1wiOyB9XG4gICAgaHRtbCAubWQtbmF2X19saW5rW2Zvcj1cIl9fdG9jXCJdIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIGh0bWwgLm1kLW5hdl9fbGlua1tmb3I9XCJfX3RvY1wiXSB+IC5tZC1uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBodG1sIC5tZC1uYXZfX2xpbmtbZm9yPVwiX190b2NcIl0gKyAubWQtbmF2X19saW5rOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubWQtbmF2X19saW5rW2RhdGEtbWQtc3RhdGU9XCJibHVyXCJdIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG4gICAgLm1kLW5hdl9fbGluazphY3RpdmUsIC5tZC1uYXZfX2xpbmstLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzNmNTFiNTsgfVxuICAgIC5tZC1uYXZfX2l0ZW0tLW5lc3RlZCA+IC5tZC1uYXZfX2xpbmsge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAubWQtbmF2X19saW5rOmZvY3VzLCAubWQtbmF2X19saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNTM2ZGZlOyB9XG4gIC5tZC1uYXZfX3NvdXJjZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2LjE4NzVlbSkge1xuICAgIC5tZC1uYXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICAgIC5tZC1uYXYtLXByaW1hcnksXG4gICAgICAubWQtbmF2LS1wcmltYXJ5IC5tZC1uYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLm1kLW5hdi0tcHJpbWFyeSAubWQtbmF2X190aXRsZSxcbiAgICAgIC5tZC1uYXYtLXByaW1hcnkgLm1kLW5hdl9faXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgICBodG1sIC5tZC1uYXYtLXByaW1hcnkgLm1kLW5hdl9fdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMTEuMnJlbTtcbiAgICAgICAgcGFkZGluZzogNnJlbSAxLjZyZW0gMC40cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQuOHJlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgIGh0bWwgLm1kLW5hdi0tcHJpbWFyeSAubWQtbmF2X190aXRsZTo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwLjRyZW07XG4gICAgICAgICAgbGVmdDogMC40cmVtO1xuICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTsgfVxuICAgICAgICBodG1sIC5tZC1uYXYtLXByaW1hcnkgLm1kLW5hdl9fdGl0bGUgfiAubWQtbmF2X19saXN0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAuMXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4wNykgaW5zZXQ7IH1cbiAgICAgICAgICBodG1sIC5tZC1uYXYtLXByaW1hcnkgLm1kLW5hdl9fdGl0bGUgfiAubWQtbmF2X19saXN0ID4gLm1kLW5hdl9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgICAgIGh0bWwgLm1kLW5hdi0tcHJpbWFyeSAubWQtbmF2X190aXRsZS0tc2l0ZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZjUxYjU7XG4gICAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAgICAgaHRtbCAubWQtbmF2LS1wcmltYXJ5IC5tZC1uYXZfX3RpdGxlLS1zaXRlIC5tZC1uYXZfX2J1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMC40cmVtO1xuICAgICAgICAgICAgbGVmdDogMC40cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDYuNHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNi40cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiA0LjhyZW07IH1cbiAgICAgICAgICBodG1sIC5tZC1uYXYtLXByaW1hcnkgLm1kLW5hdl9fdGl0bGUtLXNpdGU6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBodG1sIFtkaXI9XCJydGxcIl0gLm1kLW5hdi0tcHJpbWFyeSAubWQtbmF2X190aXRsZTo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IDAuNHJlbTtcbiAgICAgICAgbGVmdDogaW5pdGlhbDsgfVxuICAgICAgaHRtbCBbZGlyPVwicnRsXCJdIC5tZC1uYXYtLXByaW1hcnkgLm1kLW5hdl9fdGl0bGUtLXNpdGUgLm1kLW5hdl9fYnV0dG9uIHtcbiAgICAgICAgcmlnaHQ6IDAuNHJlbTtcbiAgICAgICAgbGVmdDogaW5pdGlhbDsgfVxuICAgICAgLm1kLW5hdi0tcHJpbWFyeSAubWQtbmF2X19saXN0IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAgICAgLm1kLW5hdi0tcHJpbWFyeSAubWQtbmF2X19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNyk7IH1cbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtbmF2LS1wcmltYXJ5IC5tZC1uYXZfX2l0ZW0ge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLm1kLW5hdi0tcHJpbWFyeSAubWQtbmF2X19pdGVtLS1uZXN0ZWQgPiAubWQtbmF2X19saW5rIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0LjhyZW07IH1cbiAgICAgICAgICBbZGlyPVwicnRsXCJdIC5tZC1uYXYtLXByaW1hcnkgLm1kLW5hdl9faXRlbS0tbmVzdGVkID4gLm1kLW5hdl9fbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuOHJlbTsgfVxuICAgICAgICAgIC5tZC1uYXYtLXByaW1hcnkgLm1kLW5hdl9faXRlbS0tbmVzdGVkID4gLm1kLW5hdl9fbGluazo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXEUzMTVcIjsgfVxuICAgICAgICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtbmF2LS1wcmltYXJ5IC5tZC1uYXZfX2l0ZW0tLW5lc3RlZCA+IC5tZC1uYXZfX2xpbms6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcXEUzMTRcIjsgfVxuICAgICAgLm1kLW5hdi0tcHJpbWFyeSAubWQtbmF2X19saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMS42cmVtOyB9XG4gICAgICAgIC5tZC1uYXYtLXByaW1hcnkgLm1kLW5hdl9fbGluazo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICByaWdodDogMS4ycmVtO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xLjJyZW07XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07IH1cbiAgICAgICAgICBbZGlyPVwicnRsXCJdIC5tZC1uYXYtLXByaW1hcnkgLm1kLW5hdl9fbGluazo6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgICAgICBsZWZ0OiAxLjJyZW07IH1cbiAgICAgIC5tZC1uYXYtLXByaW1hcnkgLm1kLW5hdi0tc2Vjb25kYXJ5IC5tZC1uYXZfX2xpbmsge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgICAubWQtbmF2LS1wcmltYXJ5IC5tZC1uYXYtLXNlY29uZGFyeSAubWQtbmF2IHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLm1kLW5hdi0tcHJpbWFyeSAubWQtbmF2LS1zZWNvbmRhcnkgLm1kLW5hdiAubWQtbmF2X19saW5rIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuOHJlbTsgfVxuICAgICAgICAgIFtkaXI9XCJydGxcIl0gLm1kLW5hdi0tcHJpbWFyeSAubWQtbmF2LS1zZWNvbmRhcnkgLm1kLW5hdiAubWQtbmF2X19saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuOHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogaW5pdGlhbDsgfVxuICAgICAgICAubWQtbmF2LS1wcmltYXJ5IC5tZC1uYXYtLXNlY29uZGFyeSAubWQtbmF2IC5tZC1uYXYgLm1kLW5hdl9fbGluayB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtOyB9XG4gICAgICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtbmF2LS1wcmltYXJ5IC5tZC1uYXYtLXNlY29uZGFyeSAubWQtbmF2IC5tZC1uYXYgLm1kLW5hdl9fbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBpbml0aWFsOyB9XG4gICAgICAgIC5tZC1uYXYtLXByaW1hcnkgLm1kLW5hdi0tc2Vjb25kYXJ5IC5tZC1uYXYgLm1kLW5hdiAubWQtbmF2IC5tZC1uYXZfX2xpbmsge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNS4ycmVtOyB9XG4gICAgICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtbmF2LS1wcmltYXJ5IC5tZC1uYXYtLXNlY29uZGFyeSAubWQtbmF2IC5tZC1uYXYgLm1kLW5hdiAubWQtbmF2X19saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUuMnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogaW5pdGlhbDsgfVxuICAgICAgICAubWQtbmF2LS1wcmltYXJ5IC5tZC1uYXYtLXNlY29uZGFyeSAubWQtbmF2IC5tZC1uYXYgLm1kLW5hdiAubWQtbmF2IC5tZC1uYXZfX2xpbmsge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNi40cmVtOyB9XG4gICAgICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtbmF2LS1wcmltYXJ5IC5tZC1uYXYtLXNlY29uZGFyeSAubWQtbmF2IC5tZC1uYXYgLm1kLW5hdiAubWQtbmF2IC5tZC1uYXZfX2xpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNi40cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBpbml0aWFsOyB9XG4gICAgICAubWQtbmF2X190b2dnbGUgfiAubWQtbmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAuOCwgMCwgMC42LCAxKSwgb3BhY2l0eSAwLjEyNXMgMC4wNXM7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtbmF2X190b2dnbGUgfiAubWQtbmF2IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICAgICAgIC5uby1jc3N0cmFuc2Zvcm1zM2QgLm1kLW5hdl9fdG9nZ2xlIH4gLm1kLW5hdiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLm1kLW5hdl9fdG9nZ2xlOmNoZWNrZWQgfiAubWQtbmF2IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgb3BhY2l0eSAwLjEyNXMgMC4xMjVzO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgIC5uby1jc3N0cmFuc2Zvcm1zM2QgLm1kLW5hdl9fdG9nZ2xlOmNoZWNrZWQgfiAubWQtbmF2IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OS45Mzc1ZW0pIHtcbiAgICBodG1sIC5tZC1uYXZfX2xpbmtbZm9yPVwiX190b2NcIl0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0LjhyZW07IH1cbiAgICAgIGh0bWwgLm1kLW5hdl9fbGlua1tmb3I9XCJfX3RvY1wiXTo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgY29udGVudDogXCJcXEU4REVcIjsgfVxuICAgICAgaHRtbCAubWQtbmF2X19saW5rW2Zvcj1cIl9fdG9jXCJdICsgLm1kLW5hdl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIGh0bWwgLm1kLW5hdl9fbGlua1tmb3I9XCJfX3RvY1wiXSB+IC5tZC1uYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgaHRtbCBbZGlyPVwicnRsXCJdIC5tZC1uYXZfX2xpbmsge1xuICAgICAgcGFkZGluZy1yaWdodDogMS42cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0LjhyZW07IH1cbiAgICAubWQtbmF2X19zb3VyY2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDAuNHJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTAsIDY0LCAxNDQsIDAuOTY3NSk7XG4gICAgICBjb2xvcjogd2hpdGU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2LjI1ZW0pIHtcbiAgICAubWQtbmF2W2RhdGEtbWQtc3RhdGU9XCJhbmltYXRlXCJdIHtcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4yNXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpOyB9XG4gICAgLm1kLW5hdl9fdG9nZ2xlIH4gLm1kLW5hdiB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLm5vLWpzIC5tZC1uYXZfX3RvZ2dsZSB+IC5tZC1uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1kLW5hdl9fdG9nZ2xlOmNoZWNrZWQgfiAubWQtbmF2LCAubWQtbmF2W2RhdGEtbWQtc3RhdGU9XCJleHBhbmRcIl0ge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgICAgLm5vLWpzIC5tZC1uYXZfX3RvZ2dsZTpjaGVja2VkIH4gLm1kLW5hdiwgLm5vLWpzIC5tZC1uYXZbZGF0YS1tZC1zdGF0ZT1cImV4cGFuZFwiXSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm1kLW5hdl9faXRlbS0tbmVzdGVkID4gLm1kLW5hdiA+IC5tZC1uYXZfX3RpdGxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubWQtbmF2X19pdGVtLS1uZXN0ZWQgPiAubWQtbmF2X19saW5rOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwLjQ1ZW0gMC40NWVtO1xuICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTsgfVxuICAgICAgLmpzIC5tZC1uYXZfX2l0ZW0tLW5lc3RlZCA+IC5tZC1uYXZfX2xpbms6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHM7IH1cbiAgICAubWQtbmF2X19pdGVtLS1uZXN0ZWQgLm1kLW5hdl9fdG9nZ2xlOmNoZWNrZWQgfiAubWQtbmF2X19saW5rOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTsgfSB9XG5cbi5uby1qcyAubWQtc2VhcmNoIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLm1kLXNlYXJjaCB7XG4gICAgcGFkZGluZzogMC40cmVtOyB9IH1cblxuLm1kLXNlYXJjaF9fb3ZlcmxheSB7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDE7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OS45Mzc1ZW0pIHtcbiAgICAubWQtc2VhcmNoX19vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC40cmVtO1xuICAgICAgbGVmdDogMC40cmVtO1xuICAgICAgd2lkdGg6IDMuNnJlbTtcbiAgICAgIGhlaWdodDogMy42cmVtO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgMC4xcywgb3BhY2l0eSAgIDAuMnMgMC4ycztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtc2VhcmNoX19vdmVybGF5IHtcbiAgICAgICAgcmlnaHQ6IDAuNHJlbTtcbiAgICAgICAgbGVmdDogaW5pdGlhbDsgfVxuICAgICAgW2RhdGEtbWQtdG9nZ2xlPVwic2VhcmNoXCJdOmNoZWNrZWQgfiAubWQtaGVhZGVyIC5tZC1zZWFyY2hfX292ZXJsYXkge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cywgb3BhY2l0eSAgIDAuMXM7XG4gICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAgIFtkYXRhLW1kLXRvZ2dsZT1cInNlYXJjaFwiXTpjaGVja2VkIH4gLm1kLWhlYWRlciAubWQtc2VhcmNoX19vdmVybGF5IHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoNDUpOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSBhbmQgKG1heC13aWR0aDogNDQuOTM3NWVtKSB7XG4gICAgW2RhdGEtbWQtdG9nZ2xlPVwic2VhcmNoXCJdOmNoZWNrZWQgfiAubWQtaGVhZGVyIC5tZC1zZWFyY2hfX292ZXJsYXkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSg2MCk7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIGFuZCAobWF4LXdpZHRoOiA1OS45Mzc1ZW0pIHtcbiAgICBbZGF0YS1tZC10b2dnbGU9XCJzZWFyY2hcIl06Y2hlY2tlZCB+IC5tZC1oZWFkZXIgLm1kLXNlYXJjaF9fb3ZlcmxheSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDc1KTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5tZC1zZWFyY2hfX292ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggICAwcyAwLjI1cywgaGVpZ2h0ICAwcyAwLjI1cywgb3BhY2l0eSAwLjI1cztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIFtkaXI9XCJydGxcIl0gLm1kLXNlYXJjaF9fb3ZlcmxheSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBpbml0aWFsOyB9XG4gICAgICBbZGF0YS1tZC10b2dnbGU9XCJzZWFyY2hcIl06Y2hlY2tlZCB+IC5tZC1oZWFkZXIgLm1kLXNlYXJjaF9fb3ZlcmxheSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoICAgMHMsIGhlaWdodCAgMHMsIG9wYWNpdHkgMC4yNXM7XG4gICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5LjkzNzVlbSkge1xuICAubWQtc2VhcmNoX19pbm5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNSUpO1xuICAgIHRyYW5zaXRpb246IHJpZ2h0IDBzIDAuM3MsIGxlZnQgMHMgMC4zcywgdHJhbnNmb3JtIDAuMTVzIDAuMTVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMC4xNXMgMC4xNXM7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgW2RhdGEtbWQtdG9nZ2xlPVwic2VhcmNoXCJdOmNoZWNrZWQgfiAubWQtaGVhZGVyIC5tZC1zZWFyY2hfX2lubmVyIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICB0cmFuc2l0aW9uOiByaWdodCAwcyAwcywgbGVmdCAwcyAwcywgdHJhbnNmb3JtIDAuMTVzIDAuMTVzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKSwgb3BhY2l0eSAwLjE1cyAwLjE1cztcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIFtkaXI9XCJydGxcIl0gW2RhdGEtbWQtdG9nZ2xlPVwic2VhcmNoXCJdOmNoZWNrZWQgfiAubWQtaGVhZGVyIC5tZC1zZWFyY2hfX2lubmVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7IH1cbiAgICBodG1sIFtkaXI9XCJydGxcIl0gLm1kLXNlYXJjaF9faW5uZXIge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSk7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLm1kLXNlYXJjaF9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjNyZW07XG4gICAgcGFkZGluZzogMC4ycmVtIDA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKTsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kLXNlYXJjaF9faW5uZXIge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwZW0pIGFuZCAobWF4LXdpZHRoOiA3Ni4xODc1ZW0pIHtcbiAgW2RhdGEtbWQtdG9nZ2xlPVwic2VhcmNoXCJdOmNoZWNrZWQgfiAubWQtaGVhZGVyIC5tZC1zZWFyY2hfX2lubmVyIHtcbiAgICB3aWR0aDogNDYuOHJlbTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYuMjVlbSkge1xuICBbZGF0YS1tZC10b2dnbGU9XCJzZWFyY2hcIl06Y2hlY2tlZCB+IC5tZC1oZWFkZXIgLm1kLXNlYXJjaF9faW5uZXIge1xuICAgIHdpZHRoOiA2OC44cmVtOyB9IH1cblxuLm1kLXNlYXJjaF9fZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAubWQtc2VhcmNoX19mb3JtIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTsgfSB9XG5cbi5tZC1zZWFyY2hfX2lucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDQuNHJlbSAwIDcuMnJlbTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHotaW5kZXg6IDI7IH1cbiAgW2Rpcj1cInJ0bFwiXSAubWQtc2VhcmNoX19pbnB1dCB7XG4gICAgcGFkZGluZzogMCA3LjJyZW0gMCA0LjRyZW07IH1cbiAgLm1kLXNlYXJjaF9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSk7IH1cbiAgLm1kLXNlYXJjaF9faW5wdXQgfiAubWQtc2VhcmNoX19pY29uLCAubWQtc2VhcmNoX19pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG4gIC5tZC1zZWFyY2hfX2lucHV0OjotbXMtY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OS45Mzc1ZW0pIHtcbiAgICAubWQtc2VhcmNoX19pbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNC44cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAubWQtc2VhcmNoX19pbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMy42cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0LjRyZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKSwgY29sb3IgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMSwgMC43LCAwLjEsIDEpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgIFtkaXI9XCJydGxcIl0gLm1kLXNlYXJjaF9faW5wdXQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0LjRyZW07IH1cbiAgICAgIC5tZC1zZWFyY2hfX2lucHV0ICsgLm1kLXNlYXJjaF9faWNvbiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAubWQtc2VhcmNoX19pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gICAgICAubWQtc2VhcmNoX19pbnB1dDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7IH1cbiAgICAgIFtkYXRhLW1kLXRvZ2dsZT1cInNlYXJjaFwiXTpjaGVja2VkIH4gLm1kLWhlYWRlciAubWQtc2VhcmNoX19pbnB1dCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbSAwLjJyZW0gMCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IG5vbmU7IH1cbiAgICAgICAgW2RhdGEtbWQtdG9nZ2xlPVwic2VhcmNoXCJdOmNoZWNrZWQgfiAubWQtaGVhZGVyIC5tZC1zZWFyY2hfX2lucHV0ICsgLm1kLXNlYXJjaF9faWNvbiwgW2RhdGEtbWQtdG9nZ2xlPVwic2VhcmNoXCJdOmNoZWNrZWQgfiAubWQtaGVhZGVyIC5tZC1zZWFyY2hfX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH0gfVxuXG4ubWQtc2VhcmNoX19pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSksIG9wYWNpdHkgMC4yNXM7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDI7IH1cbiAgLm1kLXNlYXJjaF9faWNvbjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIC5tZC1zZWFyY2hfX2ljb25bZm9yPVwiX19zZWFyY2hcIl0ge1xuICAgIHRvcDogMC42cmVtO1xuICAgIGxlZnQ6IDFyZW07IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZC1zZWFyY2hfX2ljb25bZm9yPVwiX19zZWFyY2hcIl0ge1xuICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICBsZWZ0OiBpbml0aWFsOyB9XG4gICAgLm1kLXNlYXJjaF9faWNvbltmb3I9XCJfX3NlYXJjaFwiXTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxFOEI2XCI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5LjkzNzVlbSkge1xuICAgICAgLm1kLXNlYXJjaF9faWNvbltmb3I9XCJfX3NlYXJjaFwiXSB7XG4gICAgICAgIHRvcDogMS4ycmVtO1xuICAgICAgICBsZWZ0OiAxLjZyZW07IH1cbiAgICAgICAgLm1kLXNlYXJjaF9faWNvbltmb3I9XCJfX3NlYXJjaFwiXVtmb3I9XCJfX3NlYXJjaFwiXTo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcRTVDNFwiOyB9XG4gICAgICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtc2VhcmNoX19pY29uW2Zvcj1cIl9fc2VhcmNoXCJdW2Zvcj1cIl9fc2VhcmNoXCJdOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXEU1QzhcIjsgfSB9XG4gIC5tZC1zZWFyY2hfX2ljb25bdHlwZT1cInJlc2V0XCJdIHtcbiAgICB0b3A6IDAuNnJlbTtcbiAgICByaWdodDogMXJlbTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMTI1KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuMSwgMC43LCAwLjEsIDEpLCBvcGFjaXR5IDAuMTVzO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZC1zZWFyY2hfX2ljb25bdHlwZT1cInJlc2V0XCJdIHtcbiAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgbGVmdDogMXJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTkuOTM3NWVtKSB7XG4gICAgICAubWQtc2VhcmNoX19pY29uW3R5cGU9XCJyZXNldFwiXSB7XG4gICAgICAgIHRvcDogMS4ycmVtO1xuICAgICAgICByaWdodDogMS42cmVtOyB9IH1cbiAgICBbZGF0YS1tZC10b2dnbGU9XCJzZWFyY2hcIl06Y2hlY2tlZCB+IC5tZC1oZWFkZXIgLm1kLXNlYXJjaF9faW5wdXQ6dmFsaWQgfiAubWQtc2VhcmNoX19pY29uW3R5cGU9XCJyZXNldFwiXSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgW2RhdGEtbWQtdG9nZ2xlPVwic2VhcmNoXCJdOmNoZWNrZWQgfiAubWQtaGVhZGVyIC5tZC1zZWFyY2hfX2lucHV0OnZhbGlkIH4gLm1kLXNlYXJjaF9faWNvblt0eXBlPVwicmVzZXRcIl06aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjc7IH1cblxuLm1kLXNlYXJjaF9fb3V0cHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMnJlbSAwLjJyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OS45Mzc1ZW0pIHtcbiAgICAubWQtc2VhcmNoX19vdXRwdXQge1xuICAgICAgdG9wOiA0LjhyZW07XG4gICAgICBib3R0b206IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAubWQtc2VhcmNoX19vdXRwdXQge1xuICAgICAgdG9wOiAzLjhyZW07XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHM7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICBbZGF0YS1tZC10b2dnbGU9XCJzZWFyY2hcIl06Y2hlY2tlZCB+IC5tZC1oZWFkZXIgLm1kLXNlYXJjaF9fb3V0cHV0IHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDE4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ubWQtc2VhcmNoX19zY3JvbGx3cmFwIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMCAwLjFyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMDcpIGluc2V0O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MGVtKSBhbmQgKG1heC13aWR0aDogNzYuMTg3NWVtKSB7XG4gICAgLm1kLXNlYXJjaF9fc2Nyb2xsd3JhcCB7XG4gICAgICB3aWR0aDogNDYuOHJlbTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYuMjVlbSkge1xuICAgIC5tZC1zZWFyY2hfX3Njcm9sbHdyYXAge1xuICAgICAgd2lkdGg6IDY4LjhyZW07IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAubWQtc2VhcmNoX19zY3JvbGx3cmFwIHtcbiAgICAgIG1heC1oZWlnaHQ6IDA7IH1cbiAgICAgIFtkYXRhLW1kLXRvZ2dsZT1cInNlYXJjaFwiXTpjaGVja2VkIH4gLm1kLWhlYWRlciAubWQtc2VhcmNoX19zY3JvbGx3cmFwIHtcbiAgICAgICAgbWF4LWhlaWdodDogNzV2aDsgfVxuICAgICAgLm1kLXNlYXJjaF9fc2Nyb2xsd3JhcDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICB3aWR0aDogMC40cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuNHJlbTsgfVxuICAgICAgLm1kLXNlYXJjaF9fc2Nyb2xsd3JhcDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gICAgICAgIC5tZC1zZWFyY2hfX3Njcm9sbHdyYXA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM2ZGZlOyB9IH1cblxuLm1kLXNlYXJjaC1yZXN1bHQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDsgfVxuICAubWQtc2VhcmNoLXJlc3VsdF9fbWV0YSB7XG4gICAgcGFkZGluZzogMCAxLjZyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBmb250LXNpemU6IDEuMjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuNnJlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjBlbSkge1xuICAgICAgLm1kLXNlYXJjaC1yZXN1bHRfX21ldGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuNHJlbTsgfVxuICAgICAgICBbZGlyPVwicnRsXCJdIC5tZC1zZWFyY2gtcmVzdWx0X19tZXRhIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0LjRyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBpbml0aWFsOyB9IH1cbiAgLm1kLXNlYXJjaC1yZXN1bHRfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci10b3A6IDAuMXJlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm1kLXNlYXJjaC1yZXN1bHRfX2l0ZW0ge1xuICAgIGJveC1zaGFkb3c6IDAgLTAuMXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4wNyk7IH1cbiAgLm1kLXNlYXJjaC1yZXN1bHRfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXM7XG4gICAgb3V0bGluZTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLm1kLXNlYXJjaC1yZXN1bHRfX2xpbmtbZGF0YS1tZC1zdGF0ZT1cImFjdGl2ZVwiXSwgLm1kLXNlYXJjaC1yZXN1bHRfX2xpbms6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4MywgMTA5LCAyNTQsIDAuMSk7IH1cbiAgICAgIC5tZC1zZWFyY2gtcmVzdWx0X19saW5rW2RhdGEtbWQtc3RhdGU9XCJhY3RpdmVcIl0gLm1kLXNlYXJjaC1yZXN1bHRfX2FydGljbGU6OmJlZm9yZSwgLm1kLXNlYXJjaC1yZXN1bHRfX2xpbms6aG92ZXIgLm1kLXNlYXJjaC1yZXN1bHRfX2FydGljbGU6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgIC5tZC1zZWFyY2gtcmVzdWx0X19saW5rOmxhc3QtY2hpbGQgLm1kLXNlYXJjaC1yZXN1bHRfX3RlYXNlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cbiAgLm1kLXNlYXJjaC1yZXN1bHRfX2FydGljbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDEuNnJlbTtcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjBlbSkge1xuICAgICAgLm1kLXNlYXJjaC1yZXN1bHRfX2FydGljbGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuNHJlbTsgfVxuICAgICAgICBbZGlyPVwicnRsXCJdIC5tZC1zZWFyY2gtcmVzdWx0X19hcnRpY2xlIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0LjRyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjZyZW07IH0gfVxuICAgIC5tZC1zZWFyY2gtcmVzdWx0X19hcnRpY2xlLS1kb2N1bWVudDo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IDAuMnJlbTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICAgIGNvbnRlbnQ6IFwiXFxFODgwXCI7IH1cbiAgICAgIFtkaXI9XCJydGxcIl0gLm1kLXNlYXJjaC1yZXN1bHRfX2FydGljbGUtLWRvY3VtZW50OjpiZWZvcmUge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogaW5pdGlhbDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OS45Mzc1ZW0pIHtcbiAgICAgICAgLm1kLXNlYXJjaC1yZXN1bHRfX2FydGljbGUtLWRvY3VtZW50OjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5tZC1zZWFyY2gtcmVzdWx0X19hcnRpY2xlLS1kb2N1bWVudCAubWQtc2VhcmNoLXJlc3VsdF9fdGl0bGUge1xuICAgICAgbWFyZ2luOiAxLjFyZW0gMDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgLm1kLXNlYXJjaC1yZXN1bHRfX3RpdGxlIHtcbiAgICBtYXJnaW46IDAuNWVtIDA7XG4gICAgZm9udC1zaXplOiAxLjI4cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAubWQtc2VhcmNoLXJlc3VsdF9fdGVhc2VyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBtYXgtaGVpZ2h0OiAzLjNyZW07XG4gICAgbWFyZ2luOiAwLjVlbSAwO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAgIGZvbnQtc2l6ZTogMS4yOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0LjkzNzVlbSkge1xuICAgICAgLm1kLXNlYXJjaC1yZXN1bHRfX3RlYXNlciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDVyZW07XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMzsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MGVtKSBhbmQgKG1heC13aWR0aDogNzYuMTg3NWVtKSB7XG4gICAgICAubWQtc2VhcmNoLXJlc3VsdF9fdGVhc2VyIHtcbiAgICAgICAgbWF4LWhlaWdodDogNXJlbTtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzOyB9IH1cbiAgLm1kLXNlYXJjaC1yZXN1bHQgZW0ge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5tZC1zaWRlYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjQuMnJlbTtcbiAgcGFkZGluZzogMi40cmVtIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICAubWQtc2lkZWJhciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1kLXNpZGViYXJbZGF0YS1tZC1zdGF0ZT1cImxvY2tcIl0ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDQuOHJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2LjE4NzVlbSkge1xuICAgIC5tZC1zaWRlYmFyLS1wcmltYXJ5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IC0yNC4ycmVtO1xuICAgICAgd2lkdGg6IDI0LjJyZW07XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgYm94LXNoYWRvdyAwLjI1cztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgei1pbmRleDogMzsgfVxuICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtc2lkZWJhci0tcHJpbWFyeSB7XG4gICAgICAgIHJpZ2h0OiAtMjQuMnJlbTtcbiAgICAgICAgbGVmdDogaW5pdGlhbDsgfVxuICAgICAgLm5vLWNzc3RyYW5zZm9ybXMzZCAubWQtc2lkZWJhci0tcHJpbWFyeSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIFtkYXRhLW1kLXRvZ2dsZT1cImRyYXdlclwiXTpjaGVja2VkIH4gLm1kLWNvbnRhaW5lciAubWQtc2lkZWJhci0tcHJpbWFyeSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI0LjJyZW0pOyB9XG4gICAgICAgIFtkaXI9XCJydGxcIl0gW2RhdGEtbWQtdG9nZ2xlPVwiZHJhd2VyXCJdOmNoZWNrZWQgfiAubWQtY29udGFpbmVyIC5tZC1zaWRlYmFyLS1wcmltYXJ5IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI0LjJyZW0pOyB9XG4gICAgICAgIC5uby1jc3N0cmFuc2Zvcm1zM2QgW2RhdGEtbWQtdG9nZ2xlPVwiZHJhd2VyXCJdOmNoZWNrZWQgfiAubWQtY29udGFpbmVyIC5tZC1zaWRlYmFyLS1wcmltYXJ5IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLm1kLXNpZGViYXItLXByaW1hcnkgLm1kLXNpZGViYXJfX3Njcm9sbHdyYXAge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgLm1kLXNpZGViYXItLXNlY29uZGFyeSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjBlbSkge1xuICAgICAgLm1kLXNpZGViYXItLXNlY29uZGFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDApOyB9XG4gICAgICAgIFtkaXI9XCJydGxcIl0gLm1kLXNpZGViYXItLXNlY29uZGFyeSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2LjI1ZW0pIHtcbiAgICAgIC5tZC1zaWRlYmFyLS1zZWNvbmRhcnkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTIycmVtOyB9XG4gICAgICAgIFtkaXI9XCJydGxcIl0gLm1kLXNpZGViYXItLXNlY29uZGFyeSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMjJyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7IH0gfVxuICAubWQtc2lkZWJhcl9fc2Nyb2xsd3JhcCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDAgMC40cmVtO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3Ni4xODc1ZW0pIHtcbiAgICAgIC5tZC1zaWRlYmFyLS1wcmltYXJ5IC5tZC1zaWRlYmFyX19zY3JvbGx3cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLm1kLXNpZGViYXJfX3Njcm9sbHdyYXA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIHdpZHRoOiAwLjRyZW07XG4gICAgICBoZWlnaHQ6IDAuNHJlbTsgfVxuICAgIC5tZC1zaWRlYmFyX19zY3JvbGx3cmFwOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gICAgICAubWQtc2lkZWJhcl9fc2Nyb2xsd3JhcDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM2ZGZlOyB9XG5cbkBrZXlmcmFtZXMgbWQtc291cmNlX19mYWN0cy0tZG9uZSB7XG4gIDAlIHtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgMTAwJSB7XG4gICAgaGVpZ2h0OiAxLjNyZW07IH0gfVxuXG5Aa2V5ZnJhbWVzIG1kLXNvdXJjZV9fZmFjdC0tZG9uZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLm1kLXNvdXJjZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjJyZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kLXNvdXJjZSB7XG4gICAgcGFkZGluZy1yaWdodDogaW5pdGlhbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMnJlbTsgfVxuICAubWQtc291cmNlOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgLm1kLXNvdXJjZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDQuOHJlbTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1kLXNvdXJjZV9faWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0LjhyZW07XG4gICAgaGVpZ2h0OiA0LjhyZW07XG4gICAgY29udGVudDogXCJcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm1kLXNvdXJjZV9faWNvbiBzdmcge1xuICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgIGhlaWdodDogMi40cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMnJlbTsgfVxuICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtc291cmNlX19pY29uIHN2ZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4ycmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxuICAgIC5tZC1zb3VyY2VfX2ljb24gKyAubWQtc291cmNlX19yZXBvc2l0b3J5IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNC40cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtOyB9XG4gICAgICBbZGlyPVwicnRsXCJdIC5tZC1zb3VyY2VfX2ljb24gKyAubWQtc291cmNlX19yZXBvc2l0b3J5IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNC40cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBpbml0aWFsOyB9XG4gIC5tZC1zb3VyY2VfX3JlcG9zaXRvcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWQtc291cmNlX19mYWN0cyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgW2RhdGEtbWQtc3RhdGU9XCJkb25lXCJdIC5tZC1zb3VyY2VfX2ZhY3RzIHtcbiAgICAgIGFuaW1hdGlvbjogbWQtc291cmNlX19mYWN0cy0tZG9uZSAwLjI1cyBlYXNlLWluOyB9XG4gIC5tZC1zb3VyY2VfX2ZhY3Qge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWQtc291cmNlX19mYWN0IHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIFtkYXRhLW1kLXN0YXRlPVwiZG9uZVwiXSAubWQtc291cmNlX19mYWN0IHtcbiAgICAgIGFuaW1hdGlvbjogbWQtc291cmNlX19mYWN0LS1kb25lIDAuNHMgZWFzZS1vdXQ7IH1cbiAgICAubWQtc291cmNlX19mYWN0OjpiZWZvcmUge1xuICAgICAgbWFyZ2luOiAwIDAuMnJlbTtcbiAgICAgIGNvbnRlbnQ6IFwiXFwwMEI3XCI7IH1cbiAgICAubWQtc291cmNlX19mYWN0OmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWQtc291cmNlLWZpbGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMWVtIDAuNWVtIDFlbSAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiAgZm9udC1zaXplOiAxLjI4cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubWQtc291cmNlLWZpbGU6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBjb250ZW50OiBcIlxcRTg2RlwiO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgaHRtbCAubWQtc291cmNlLWZpbGUge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC40cywgY29sb3IgMC40cywgYm94LXNoYWRvdyAwLjRzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7IH1cbiAgICBodG1sIC5tZC1zb3VyY2UtZmlsZTo6YmVmb3JlIHtcbiAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgaHRtbCBib2R5IC5tZC10eXBlc2V0IC5tZC1zb3VyY2UtZmlsZSB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH1cbiAgLm1kLXNvdXJjZS1maWxlOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC4xOCksIDAgOHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjM2KTsgfVxuICAgIC5tZC1zb3VyY2UtZmlsZTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1MzZkZmU7IH1cblxuLm1kLXRhYnMge1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNTtcbiAgY29sb3I6IHdoaXRlO1xuICBvdmVyZmxvdzogYXV0bzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2LjE4NzVlbSkge1xuICAgIC5tZC10YWJzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgcHJpbnQge1xuICAgIC5tZC10YWJzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubWQtdGFic19fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjRyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLm1kLXRhYnNfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDQuOHJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjJyZW07IH1cbiAgLm1kLXRhYnNfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDEuNnJlbTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSksIG9wYWNpdHkgMC4yNXM7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgb3BhY2l0eTogMC43OyB9XG4gICAgLm1kLXRhYnNfX2xpbmstLWFjdGl2ZSwgLm1kLXRhYnNfX2xpbms6aG92ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLm1kLXRhYnNfX2l0ZW06bnRoLWNoaWxkKDIpIC5tZC10YWJzX19saW5rIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDJzOyB9XG4gICAgLm1kLXRhYnNfX2l0ZW06bnRoLWNoaWxkKDMpIC5tZC10YWJzX19saW5rIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDRzOyB9XG4gICAgLm1kLXRhYnNfX2l0ZW06bnRoLWNoaWxkKDQpIC5tZC10YWJzX19saW5rIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDZzOyB9XG4gICAgLm1kLXRhYnNfX2l0ZW06bnRoLWNoaWxkKDUpIC5tZC10YWJzX19saW5rIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDhzOyB9XG4gICAgLm1kLXRhYnNfX2l0ZW06bnRoLWNoaWxkKDYpIC5tZC10YWJzX19saW5rIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7IH1cbiAgICAubWQtdGFic19faXRlbTpudGgtY2hpbGQoNykgLm1kLXRhYnNfX2xpbmsge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7IH1cbiAgICAubWQtdGFic19faXRlbTpudGgtY2hpbGQoOCkgLm1kLXRhYnNfX2xpbmsge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xNHM7IH1cbiAgICAubWQtdGFic19faXRlbTpudGgtY2hpbGQoOSkgLm1kLXRhYnNfX2xpbmsge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xNnM7IH1cbiAgICAubWQtdGFic19faXRlbTpudGgtY2hpbGQoMTApIC5tZC10YWJzX19saW5rIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMThzOyB9XG4gICAgLm1kLXRhYnNfX2l0ZW06bnRoLWNoaWxkKDExKSAubWQtdGFic19fbGluayB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzOyB9XG4gICAgLm1kLXRhYnNfX2l0ZW06bnRoLWNoaWxkKDEyKSAubWQtdGFic19fbGluayB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIyczsgfVxuICAgIC5tZC10YWJzX19pdGVtOm50aC1jaGlsZCgxMykgLm1kLXRhYnNfX2xpbmsge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yNHM7IH1cbiAgICAubWQtdGFic19faXRlbTpudGgtY2hpbGQoMTQpIC5tZC10YWJzX19saW5rIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjZzOyB9XG4gICAgLm1kLXRhYnNfX2l0ZW06bnRoLWNoaWxkKDE1KSAubWQtdGFic19fbGluayB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjI4czsgfVxuICAgIC5tZC10YWJzX19pdGVtOm50aC1jaGlsZCgxNikgLm1kLXRhYnNfX2xpbmsge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4zczsgfVxuICAubWQtdGFic1tkYXRhLW1kLXN0YXRlPVwiaGlkZGVuXCJdIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5tZC10YWJzW2RhdGEtbWQtc3RhdGU9XCJoaWRkZW5cIl0gLm1kLXRhYnNfX2xpbmsge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAgICAgMC4yNXMsIHRyYW5zZm9ybSAwcyAwLjRzLCBvcGFjaXR5ICAgMC4xcztcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ni4yNWVtKSB7XG4gICAgLm1kLXRhYnMgfiAubWQtbWFpbiAubWQtbmF2LS1wcmltYXJ5ID4gLm1kLW5hdl9fbGlzdCA+IC5tZC1uYXZfX2l0ZW0tLW5lc3RlZCB7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAubWQtdGFicy0tYWN0aXZlIH4gLm1kLW1haW4gLm1kLW5hdi0tcHJpbWFyeSAubWQtbmF2X190aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAubWQtdGFicy0tYWN0aXZlIH4gLm1kLW1haW4gLm1kLW5hdi0tcHJpbWFyeSAubWQtbmF2X190aXRsZS0tc2l0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm5vLWpzIC5tZC10YWJzLS1hY3RpdmUgfiAubWQtbWFpbiAubWQtbmF2LS1wcmltYXJ5IC5tZC1uYXYge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAubWQtdGFicy0tYWN0aXZlIH4gLm1kLW1haW4gLm1kLW5hdi0tcHJpbWFyeSA+IC5tZC1uYXZfX2xpc3QgPiAubWQtbmF2X19pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgLm1kLXRhYnMtLWFjdGl2ZSB+IC5tZC1tYWluIC5tZC1uYXYtLXByaW1hcnkgPiAubWQtbmF2X19saXN0ID4gLm1kLW5hdl9faXRlbS0tbmVzdGVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgICAgIC5tZC10YWJzLS1hY3RpdmUgfiAubWQtbWFpbiAubWQtbmF2LS1wcmltYXJ5ID4gLm1kLW5hdl9fbGlzdCA+IC5tZC1uYXZfX2l0ZW0tLW5lc3RlZCA+IC5tZC1uYXZfX2xpbmsge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5tZC10YWJzLS1hY3RpdmUgfiAubWQtbWFpbiAubWQtbmF2LS1wcmltYXJ5ID4gLm1kLW5hdl9fbGlzdCA+IC5tZC1uYXZfX2l0ZW0tLWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm1kLXRhYnMtLWFjdGl2ZSB+IC5tZC1tYWluIC5tZC1uYXZbZGF0YS1tZC1sZXZlbD1cIjFcIl0ge1xuICAgICAgbWF4LWhlaWdodDogaW5pdGlhbDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgICAubWQtdGFicy0tYWN0aXZlIH4gLm1kLW1haW4gLm1kLW5hdltkYXRhLW1kLWxldmVsPVwiMVwiXSA+IC5tZC1uYXZfX2xpc3QgPiAubWQtbmF2X19pdGVtIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAubWQtdGFicy0tYWN0aXZlIH4gLm1kLW1haW4gLm1kLW5hdltkYXRhLW1kLWxldmVsPVwiMVwiXSAubWQtbmF2IC5tZC1uYXZfX3RpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5tZC10eXBlc2V0IC5hZG1vbml0aW9uLCAubWQtdHlwZXNldCBkZXRhaWxzIHtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMS41NjI1ZW0gMDtcbiAgcGFkZGluZzogMCAxLjJyZW07XG4gIGJvcmRlci1sZWZ0OiAwLjRyZW0gc29saWQgIzQ0OGFmZjtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICBmb250LXNpemU6IDEuMjhyZW07XG4gIG92ZXJmbG93OiBhdXRvOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24sIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgZGV0YWlscyB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwLjRyZW0gc29saWQgIzQ0OGFmZjtcbiAgICBib3JkZXItbGVmdDogbm9uZTsgfVxuICBodG1sIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uID4gOmxhc3QtY2hpbGQsIGh0bWwgLm1kLXR5cGVzZXQgZGV0YWlscyA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cbiAgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24gLmFkbW9uaXRpb24sIC5tZC10eXBlc2V0IGRldGFpbHMgLmFkbW9uaXRpb24sIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uIGRldGFpbHMsIC5tZC10eXBlc2V0IGRldGFpbHMgZGV0YWlscyB7XG4gICAgbWFyZ2luOiAxZW0gMDsgfVxuICAubWQtdHlwZXNldCAuYWRtb25pdGlvbiA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCBkZXRhaWxzID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uID4gc3VtbWFyeSwgLm1kLXR5cGVzZXQgZGV0YWlscyA+IHN1bW1hcnkge1xuICAgIG1hcmdpbjogMCAtMS4ycmVtO1xuICAgIHBhZGRpbmc6IDAuOHJlbSAxLjJyZW0gMC44cmVtIDRyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkIHJnYmEoNjgsIDEzOCwgMjU1LCAwLjEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjgsIDEzOCwgMjU1LCAwLjEpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uID4gLmFkbW9uaXRpb24tdGl0bGUsIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgZGV0YWlscyA+IC5hZG1vbml0aW9uLXRpdGxlLCBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uID4gc3VtbWFyeSwgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCBkZXRhaWxzID4gc3VtbWFyeSB7XG4gICAgICBwYWRkaW5nOiAwLjhyZW0gNHJlbSAwLjhyZW0gMS4ycmVtOyB9XG4gICAgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24gPiAuYWRtb25pdGlvbi10aXRsZTpsYXN0LWNoaWxkLCAubWQtdHlwZXNldCBkZXRhaWxzID4gLmFkbW9uaXRpb24tdGl0bGU6bGFzdC1jaGlsZCwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24gPiBzdW1tYXJ5Omxhc3QtY2hpbGQsIC5tZC10eXBlc2V0IGRldGFpbHMgPiBzdW1tYXJ5Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscyA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCBkZXRhaWxzID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDEuMnJlbTtcbiAgICAgIGNvbG9yOiAjNDQ4YWZmO1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgY29udGVudDogXCJcXEUzQzlcIjsgfVxuICAgICAgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCAuYWRtb25pdGlvbiA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgZGV0YWlscyA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24gPiBzdW1tYXJ5OjpiZWZvcmUsIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgZGV0YWlscyA+IHN1bW1hcnk6OmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAxLjJyZW07XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7IH1cbiAgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uc3VtbWFyeSwgLm1kLXR5cGVzZXQgZGV0YWlscy5zdW1tYXJ5LCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi50bGRyLCAubWQtdHlwZXNldCBkZXRhaWxzLnRsZHIsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmFic3RyYWN0LCAubWQtdHlwZXNldCBkZXRhaWxzLmFic3RyYWN0IHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwYjBmZjsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uc3VtbWFyeSwgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCBkZXRhaWxzLnN1bW1hcnksIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24udGxkciwgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCBkZXRhaWxzLnRsZHIsIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uYWJzdHJhY3QsIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgZGV0YWlscy5hYnN0cmFjdCB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMGIwZmY7IH1cbiAgICAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5zdW1tYXJ5ID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IGRldGFpbHMuc3VtbWFyeSA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi50bGRyID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IGRldGFpbHMudGxkciA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5zdW1tYXJ5ID4gc3VtbWFyeSwgLm1kLXR5cGVzZXQgZGV0YWlscy5zdW1tYXJ5ID4gc3VtbWFyeSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24udGxkciA+IHN1bW1hcnksIC5tZC10eXBlc2V0IGRldGFpbHMudGxkciA+IHN1bW1hcnksIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmFic3RyYWN0ID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IGRldGFpbHMuYWJzdHJhY3QgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uYWJzdHJhY3QgPiBzdW1tYXJ5LCAubWQtdHlwZXNldCBkZXRhaWxzLmFic3RyYWN0ID4gc3VtbWFyeSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAwLjFyZW0gc29saWQgcmdiYSgwLCAxNzYsIDI1NSwgMC4xKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc2LCAyNTUsIDAuMSk7IH1cbiAgICAgIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLnN1bW1hcnkgPiAuYWRtb25pdGlvbi10aXRsZTo6YmVmb3JlLCAubWQtdHlwZXNldCBkZXRhaWxzLnN1bW1hcnkgPiAuYWRtb25pdGlvbi10aXRsZTo6YmVmb3JlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi50bGRyID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy50bGRyID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uc3VtbWFyeSA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5zdW1tYXJ5ID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi50bGRyID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCBkZXRhaWxzLnRsZHIgPiBzdW1tYXJ5OjpiZWZvcmUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmFic3RyYWN0ID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5hYnN0cmFjdCA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmFic3RyYWN0ID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCBkZXRhaWxzLmFic3RyYWN0ID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMGIwZmY7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qOSXCI7IH1cbiAgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24udG9kbywgLm1kLXR5cGVzZXQgZGV0YWlscy50b2RvLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5pbmZvLCAubWQtdHlwZXNldCBkZXRhaWxzLmluZm8ge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDBiOGQ0OyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCAuYWRtb25pdGlvbi50b2RvLCBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IGRldGFpbHMudG9kbywgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5pbmZvLCBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IGRldGFpbHMuaW5mbyB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMGI4ZDQ7IH1cbiAgICAubWQtdHlwZXNldCAuYWRtb25pdGlvbi50b2RvID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IGRldGFpbHMudG9kbyA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi50b2RvID4gc3VtbWFyeSwgLm1kLXR5cGVzZXQgZGV0YWlscy50b2RvID4gc3VtbWFyeSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uaW5mbyA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCBkZXRhaWxzLmluZm8gPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uaW5mbyA+IHN1bW1hcnksIC5tZC10eXBlc2V0IGRldGFpbHMuaW5mbyA+IHN1bW1hcnkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogMC4xcmVtIHNvbGlkIHJnYmEoMCwgMTg0LCAyMTIsIDAuMSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE4NCwgMjEyLCAwLjEpOyB9XG4gICAgICAubWQtdHlwZXNldCAuYWRtb25pdGlvbi50b2RvID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy50b2RvID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24udG9kbyA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy50b2RvID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5pbmZvID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5pbmZvID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uaW5mbyA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5pbmZvID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMGI4ZDQ7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qKOXCI7IH1cbiAgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uaGludCwgLm1kLXR5cGVzZXQgZGV0YWlscy5oaW50LCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5pbXBvcnRhbnQsIC5tZC10eXBlc2V0IGRldGFpbHMuaW1wb3J0YW50LCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi50aXAsIC5tZC10eXBlc2V0IGRldGFpbHMudGlwIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwYmZhNTsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uaGludCwgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCBkZXRhaWxzLmhpbnQsIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uaW1wb3J0YW50LCBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IGRldGFpbHMuaW1wb3J0YW50LCBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLnRpcCwgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCBkZXRhaWxzLnRpcCB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMGJmYTU7IH1cbiAgICAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5oaW50ID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IGRldGFpbHMuaGludCA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5pbXBvcnRhbnQgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5pbXBvcnRhbnQgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uaGludCA+IHN1bW1hcnksIC5tZC10eXBlc2V0IGRldGFpbHMuaGludCA+IHN1bW1hcnksIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmltcG9ydGFudCA+IHN1bW1hcnksIC5tZC10eXBlc2V0IGRldGFpbHMuaW1wb3J0YW50ID4gc3VtbWFyeSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24udGlwID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IGRldGFpbHMudGlwID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLnRpcCA+IHN1bW1hcnksIC5tZC10eXBlc2V0IGRldGFpbHMudGlwID4gc3VtbWFyeSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAwLjFyZW0gc29saWQgcmdiYSgwLCAxOTEsIDE2NSwgMC4xKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTkxLCAxNjUsIDAuMSk7IH1cbiAgICAgIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmhpbnQgPiAuYWRtb25pdGlvbi10aXRsZTo6YmVmb3JlLCAubWQtdHlwZXNldCBkZXRhaWxzLmhpbnQgPiAuYWRtb25pdGlvbi10aXRsZTo6YmVmb3JlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5pbXBvcnRhbnQgPiAuYWRtb25pdGlvbi10aXRsZTo6YmVmb3JlLCAubWQtdHlwZXNldCBkZXRhaWxzLmltcG9ydGFudCA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmhpbnQgPiBzdW1tYXJ5OjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMuaGludCA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uaW1wb3J0YW50ID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCBkZXRhaWxzLmltcG9ydGFudCA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24udGlwID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy50aXAgPiAuYWRtb25pdGlvbi10aXRsZTo6YmVmb3JlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi50aXAgPiBzdW1tYXJ5OjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMudGlwID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMGJmYTU7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qCOXCI7IH1cbiAgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uY2hlY2ssIC5tZC10eXBlc2V0IGRldGFpbHMuY2hlY2ssIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmRvbmUsIC5tZC10eXBlc2V0IGRldGFpbHMuZG9uZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uc3VjY2VzcywgLm1kLXR5cGVzZXQgZGV0YWlscy5zdWNjZXNzIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwYzg1MzsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uY2hlY2ssIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgZGV0YWlscy5jaGVjaywgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5kb25lLCBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IGRldGFpbHMuZG9uZSwgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5zdWNjZXNzLCBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IGRldGFpbHMuc3VjY2VzcyB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMGM4NTM7IH1cbiAgICAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5jaGVjayA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCBkZXRhaWxzLmNoZWNrID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmRvbmUgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5kb25lID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmNoZWNrID4gc3VtbWFyeSwgLm1kLXR5cGVzZXQgZGV0YWlscy5jaGVjayA+IHN1bW1hcnksIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmRvbmUgPiBzdW1tYXJ5LCAubWQtdHlwZXNldCBkZXRhaWxzLmRvbmUgPiBzdW1tYXJ5LCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5zdWNjZXNzID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IGRldGFpbHMuc3VjY2VzcyA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5zdWNjZXNzID4gc3VtbWFyeSwgLm1kLXR5cGVzZXQgZGV0YWlscy5zdWNjZXNzID4gc3VtbWFyeSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAwLjFyZW0gc29saWQgcmdiYSgwLCAyMDAsIDgzLCAwLjEpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAyMDAsIDgzLCAwLjEpOyB9XG4gICAgICAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5jaGVjayA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMuY2hlY2sgPiAuYWRtb25pdGlvbi10aXRsZTo6YmVmb3JlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5kb25lID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5kb25lID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uY2hlY2sgPiBzdW1tYXJ5OjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMuY2hlY2sgPiBzdW1tYXJ5OjpiZWZvcmUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmRvbmUgPiBzdW1tYXJ5OjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMuZG9uZSA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uc3VjY2VzcyA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMuc3VjY2VzcyA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLnN1Y2Nlc3MgPiBzdW1tYXJ5OjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMuc3VjY2VzcyA+IHN1bW1hcnk6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDBjODUzO1xuICAgICAgICBjb250ZW50OiBcIu6htlwiOyB9XG4gIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmhlbHAsIC5tZC10eXBlc2V0IGRldGFpbHMuaGVscCwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uZmFxLCAubWQtdHlwZXNldCBkZXRhaWxzLmZhcSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24ucXVlc3Rpb24sIC5tZC10eXBlc2V0IGRldGFpbHMucXVlc3Rpb24ge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjNjRkZDE3OyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5oZWxwLCBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IGRldGFpbHMuaGVscCwgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5mYXEsIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgZGV0YWlscy5mYXEsIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24ucXVlc3Rpb24sIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgZGV0YWlscy5xdWVzdGlvbiB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICM2NGRkMTc7IH1cbiAgICAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5oZWxwID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IGRldGFpbHMuaGVscCA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5mYXEgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5mYXEgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uaGVscCA+IHN1bW1hcnksIC5tZC10eXBlc2V0IGRldGFpbHMuaGVscCA+IHN1bW1hcnksIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmZhcSA+IHN1bW1hcnksIC5tZC10eXBlc2V0IGRldGFpbHMuZmFxID4gc3VtbWFyeSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24ucXVlc3Rpb24gPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5xdWVzdGlvbiA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5xdWVzdGlvbiA+IHN1bW1hcnksIC5tZC10eXBlc2V0IGRldGFpbHMucXVlc3Rpb24gPiBzdW1tYXJ5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IDAuMXJlbSBzb2xpZCByZ2JhKDEwMCwgMjIxLCAyMywgMC4xKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAyMjEsIDIzLCAwLjEpOyB9XG4gICAgICAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5oZWxwID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5oZWxwID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uZmFxID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5mYXEgPiAuYWRtb25pdGlvbi10aXRsZTo6YmVmb3JlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5oZWxwID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCBkZXRhaWxzLmhlbHAgPiBzdW1tYXJ5OjpiZWZvcmUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmZhcSA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5mYXEgPiBzdW1tYXJ5OjpiZWZvcmUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLnF1ZXN0aW9uID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5xdWVzdGlvbiA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLnF1ZXN0aW9uID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCBkZXRhaWxzLnF1ZXN0aW9uID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM2NGRkMTc7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qKHXCI7IH1cbiAgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uY2F1dGlvbiwgLm1kLXR5cGVzZXQgZGV0YWlscy5jYXV0aW9uLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5hdHRlbnRpb24sIC5tZC10eXBlc2V0IGRldGFpbHMuYXR0ZW50aW9uLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi53YXJuaW5nLCAubWQtdHlwZXNldCBkZXRhaWxzLndhcm5pbmcge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmY5MTAwOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5jYXV0aW9uLCBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IGRldGFpbHMuY2F1dGlvbiwgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5hdHRlbnRpb24sIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgZGV0YWlscy5hdHRlbnRpb24sIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24ud2FybmluZywgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCBkZXRhaWxzLndhcm5pbmcge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmY5MTAwOyB9XG4gICAgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uY2F1dGlvbiA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCBkZXRhaWxzLmNhdXRpb24gPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uYXR0ZW50aW9uID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IGRldGFpbHMuYXR0ZW50aW9uID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmNhdXRpb24gPiBzdW1tYXJ5LCAubWQtdHlwZXNldCBkZXRhaWxzLmNhdXRpb24gPiBzdW1tYXJ5LCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5hdHRlbnRpb24gPiBzdW1tYXJ5LCAubWQtdHlwZXNldCBkZXRhaWxzLmF0dGVudGlvbiA+IHN1bW1hcnksIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLndhcm5pbmcgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgZGV0YWlscy53YXJuaW5nID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLndhcm5pbmcgPiBzdW1tYXJ5LCAubWQtdHlwZXNldCBkZXRhaWxzLndhcm5pbmcgPiBzdW1tYXJ5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IDAuMXJlbSBzb2xpZCByZ2JhKDI1NSwgMTQ1LCAwLCAwLjEpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE0NSwgMCwgMC4xKTsgfVxuICAgICAgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uY2F1dGlvbiA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMuY2F1dGlvbiA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmF0dGVudGlvbiA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMuYXR0ZW50aW9uID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uY2F1dGlvbiA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5jYXV0aW9uID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5hdHRlbnRpb24gPiBzdW1tYXJ5OjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMuYXR0ZW50aW9uID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi53YXJuaW5nID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy53YXJuaW5nID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24ud2FybmluZyA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy53YXJuaW5nID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZjkxMDA7XG4gICAgICAgIGNvbnRlbnQ6IFwi7oCCXCI7IH1cbiAgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uZmFpbCwgLm1kLXR5cGVzZXQgZGV0YWlscy5mYWlsLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5taXNzaW5nLCAubWQtdHlwZXNldCBkZXRhaWxzLm1pc3NpbmcsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmZhaWx1cmUsIC5tZC10eXBlc2V0IGRldGFpbHMuZmFpbHVyZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZjUyNTI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmZhaWwsIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgZGV0YWlscy5mYWlsLCBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLm1pc3NpbmcsIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgZGV0YWlscy5taXNzaW5nLCBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmZhaWx1cmUsIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgZGV0YWlscy5mYWlsdXJlIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmNTI1MjsgfVxuICAgIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmZhaWwgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5mYWlsID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLm1pc3NpbmcgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5taXNzaW5nID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmZhaWwgPiBzdW1tYXJ5LCAubWQtdHlwZXNldCBkZXRhaWxzLmZhaWwgPiBzdW1tYXJ5LCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5taXNzaW5nID4gc3VtbWFyeSwgLm1kLXR5cGVzZXQgZGV0YWlscy5taXNzaW5nID4gc3VtbWFyeSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uZmFpbHVyZSA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCBkZXRhaWxzLmZhaWx1cmUgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uZmFpbHVyZSA+IHN1bW1hcnksIC5tZC10eXBlc2V0IGRldGFpbHMuZmFpbHVyZSA+IHN1bW1hcnkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogMC4xcmVtIHNvbGlkIHJnYmEoMjU1LCA4MiwgODIsIDAuMSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgODIsIDgyLCAwLjEpOyB9XG4gICAgICAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5mYWlsID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5mYWlsID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24ubWlzc2luZyA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMubWlzc2luZyA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmZhaWwgPiBzdW1tYXJ5OjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMuZmFpbCA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24ubWlzc2luZyA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5taXNzaW5nID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5mYWlsdXJlID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5mYWlsdXJlID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uZmFpbHVyZSA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5mYWlsdXJlID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZjUyNTI7XG4gICAgICAgIGNvbnRlbnQ6IFwi7oWMXCI7IH1cbiAgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uZXJyb3IsIC5tZC10eXBlc2V0IGRldGFpbHMuZXJyb3IsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmRhbmdlciwgLm1kLXR5cGVzZXQgZGV0YWlscy5kYW5nZXIge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmYxNzQ0OyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5lcnJvciwgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCBkZXRhaWxzLmVycm9yLCBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmRhbmdlciwgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCBkZXRhaWxzLmRhbmdlciB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNmZjE3NDQ7IH1cbiAgICAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5lcnJvciA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCBkZXRhaWxzLmVycm9yID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmVycm9yID4gc3VtbWFyeSwgLm1kLXR5cGVzZXQgZGV0YWlscy5lcnJvciA+IHN1bW1hcnksIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmRhbmdlciA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCBkZXRhaWxzLmRhbmdlciA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5kYW5nZXIgPiBzdW1tYXJ5LCAubWQtdHlwZXNldCBkZXRhaWxzLmRhbmdlciA+IHN1bW1hcnkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogMC4xcmVtIHNvbGlkIHJnYmEoMjU1LCAyMywgNjgsIDAuMSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjMsIDY4LCAwLjEpOyB9XG4gICAgICAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5lcnJvciA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMuZXJyb3IgPiAuYWRtb25pdGlvbi10aXRsZTo6YmVmb3JlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5lcnJvciA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5lcnJvciA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uZGFuZ2VyID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5kYW5nZXIgPiAuYWRtb25pdGlvbi10aXRsZTo6YmVmb3JlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5kYW5nZXIgPiBzdW1tYXJ5OjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMuZGFuZ2VyID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZjE3NDQ7XG4gICAgICAgIGNvbnRlbnQ6IFwi7o+nXCI7IH1cbiAgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uYnVnLCAubWQtdHlwZXNldCBkZXRhaWxzLmJ1ZyB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmNTAwNTc7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmJ1ZywgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCBkZXRhaWxzLmJ1ZyB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNmNTAwNTc7IH1cbiAgICAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5idWcgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5idWcgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uYnVnID4gc3VtbWFyeSwgLm1kLXR5cGVzZXQgZGV0YWlscy5idWcgPiBzdW1tYXJ5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IDAuMXJlbSBzb2xpZCByZ2JhKDI0NSwgMCwgODcsIDAuMSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NSwgMCwgODcsIDAuMSk7IH1cbiAgICAgIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmJ1ZyA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMuYnVnID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uYnVnID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCBkZXRhaWxzLmJ1ZyA+IHN1bW1hcnk6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZjUwMDU3O1xuICAgICAgICBjb250ZW50OiBcIu6hqFwiOyB9XG4gIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmV4YW1wbGUsIC5tZC10eXBlc2V0IGRldGFpbHMuZXhhbXBsZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICM2NTFmZmY7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmV4YW1wbGUsIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgZGV0YWlscy5leGFtcGxlIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzY1MWZmZjsgfVxuICAgIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmV4YW1wbGUgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5leGFtcGxlID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmV4YW1wbGUgPiBzdW1tYXJ5LCAubWQtdHlwZXNldCBkZXRhaWxzLmV4YW1wbGUgPiBzdW1tYXJ5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IDAuMXJlbSBzb2xpZCByZ2JhKDEwMSwgMzEsIDI1NSwgMC4xKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAxLCAzMSwgMjU1LCAwLjEpOyB9XG4gICAgICAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5leGFtcGxlID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5leGFtcGxlID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uZXhhbXBsZSA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5leGFtcGxlID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM2NTFmZmY7XG4gICAgICAgIGNvbnRlbnQ6IFwi7omCXCI7IH1cbiAgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uY2l0ZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5jaXRlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5xdW90ZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5xdW90ZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICM5ZTllOWU7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLmNpdGUsIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgZGV0YWlscy5jaXRlLCBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLnF1b3RlLCBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IGRldGFpbHMucXVvdGUge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjOWU5ZTllOyB9XG4gICAgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uY2l0ZSA+IC5hZG1vbml0aW9uLXRpdGxlLCAubWQtdHlwZXNldCBkZXRhaWxzLmNpdGUgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uY2l0ZSA+IHN1bW1hcnksIC5tZC10eXBlc2V0IGRldGFpbHMuY2l0ZSA+IHN1bW1hcnksIC5tZC10eXBlc2V0IC5hZG1vbml0aW9uLnF1b3RlID4gLmFkbW9uaXRpb24tdGl0bGUsIC5tZC10eXBlc2V0IGRldGFpbHMucXVvdGUgPiAuYWRtb25pdGlvbi10aXRsZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24ucXVvdGUgPiBzdW1tYXJ5LCAubWQtdHlwZXNldCBkZXRhaWxzLnF1b3RlID4gc3VtbWFyeSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAwLjFyZW0gc29saWQgcmdiYSgxNTgsIDE1OCwgMTU4LCAwLjEpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTgsIDE1OCwgMTU4LCAwLjEpOyB9XG4gICAgICAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5jaXRlID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5jaXRlID4gLmFkbW9uaXRpb24tdGl0bGU6OmJlZm9yZSwgLm1kLXR5cGVzZXQgLmFkbW9uaXRpb24uY2l0ZSA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5jaXRlID4gc3VtbWFyeTo6YmVmb3JlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5xdW90ZSA+IC5hZG1vbml0aW9uLXRpdGxlOjpiZWZvcmUsIC5tZC10eXBlc2V0IGRldGFpbHMucXVvdGUgPiAuYWRtb25pdGlvbi10aXRsZTo6YmVmb3JlLCAubWQtdHlwZXNldCAuYWRtb25pdGlvbi5xdW90ZSA+IHN1bW1hcnk6OmJlZm9yZSwgLm1kLXR5cGVzZXQgZGV0YWlscy5xdW90ZSA+IHN1bW1hcnk6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjOWU5ZTllO1xuICAgICAgICBjb250ZW50OiBcIu6JhFwiOyB9XG5cbi5jb2RlaGlsaXRlIC5vLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5vIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmNvZGVoaWxpdGUgLm93LCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5vdyB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5jb2RlaGlsaXRlIC5nZSwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAuZ2Uge1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uY29kZWhpbGl0ZSAuZ3IsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLmdyIHtcbiAgY29sb3I6ICNBQTAwMDA7IH1cblxuLmNvZGVoaWxpdGUgLmdoLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5naCB7XG4gIGNvbG9yOiAjOTk5OTk5OyB9XG5cbi5jb2RlaGlsaXRlIC5nbywgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAuZ28ge1xuICBjb2xvcjogIzg4ODg4ODsgfVxuXG4uY29kZWhpbGl0ZSAuZ3AsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLmdwIHtcbiAgY29sb3I6ICM1NTU1NTU7IH1cblxuLmNvZGVoaWxpdGUgLmdzLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5ncyB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5jb2RlaGlsaXRlIC5ndSwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAuZ3Uge1xuICBjb2xvcjogI0FBQUFBQTsgfVxuXG4uY29kZWhpbGl0ZSAuZ3QsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLmd0IHtcbiAgY29sb3I6ICNBQTAwMDA7IH1cblxuLmNvZGVoaWxpdGUgLmdkLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5nZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkREREQ7IH1cblxuLmNvZGVoaWxpdGUgLmdpLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5naSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEREZGREQ7IH1cblxuLmNvZGVoaWxpdGUgLmssIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLmsge1xuICBjb2xvcjogIzNCNzhFNzsgfVxuXG4uY29kZWhpbGl0ZSAua2MsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLmtjIHtcbiAgY29sb3I6ICNBNzFENUQ7IH1cblxuLmNvZGVoaWxpdGUgLmtkLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5rZCB7XG4gIGNvbG9yOiAjM0I3OEU3OyB9XG5cbi5jb2RlaGlsaXRlIC5rbiwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAua24ge1xuICBjb2xvcjogIzNCNzhFNzsgfVxuXG4uY29kZWhpbGl0ZSAua3AsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLmtwIHtcbiAgY29sb3I6ICNBNzFENUQ7IH1cblxuLmNvZGVoaWxpdGUgLmtyLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5rciB7XG4gIGNvbG9yOiAjM0U2MUEyOyB9XG5cbi5jb2RlaGlsaXRlIC5rdCwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAua3Qge1xuICBjb2xvcjogIzNFNjFBMjsgfVxuXG4uY29kZWhpbGl0ZSAuYywgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAuYyB7XG4gIGNvbG9yOiAjOTk5OTk5OyB9XG5cbi5jb2RlaGlsaXRlIC5jbSwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAuY20ge1xuICBjb2xvcjogIzk5OTk5OTsgfVxuXG4uY29kZWhpbGl0ZSAuY3AsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLmNwIHtcbiAgY29sb3I6ICM2NjY2NjY7IH1cblxuLmNvZGVoaWxpdGUgLmMxLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5jMSB7XG4gIGNvbG9yOiAjOTk5OTk5OyB9XG5cbi5jb2RlaGlsaXRlIC5jaCwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAuY2gge1xuICBjb2xvcjogIzk5OTk5OTsgfVxuXG4uY29kZWhpbGl0ZSAuY3MsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLmNzIHtcbiAgY29sb3I6ICM5OTk5OTk7IH1cblxuLmNvZGVoaWxpdGUgLm5hLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5uYSB7XG4gIGNvbG9yOiAjQzIxODVCOyB9XG5cbi5jb2RlaGlsaXRlIC5uYiwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAubmIge1xuICBjb2xvcjogI0MyMTg1QjsgfVxuXG4uY29kZWhpbGl0ZSAuYnAsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLmJwIHtcbiAgY29sb3I6ICMzRTYxQTI7IH1cblxuLmNvZGVoaWxpdGUgLm5jLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5uYyB7XG4gIGNvbG9yOiAjQzIxODVCOyB9XG5cbi5jb2RlaGlsaXRlIC5ubywgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAubm8ge1xuICBjb2xvcjogIzNFNjFBMjsgfVxuXG4uY29kZWhpbGl0ZSAubmQsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLm5kIHtcbiAgY29sb3I6ICM2NjY2NjY7IH1cblxuLmNvZGVoaWxpdGUgLm5pLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5uaSB7XG4gIGNvbG9yOiAjNjY2NjY2OyB9XG5cbi5jb2RlaGlsaXRlIC5uZSwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAubmUge1xuICBjb2xvcjogI0MyMTg1QjsgfVxuXG4uY29kZWhpbGl0ZSAubmYsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLm5mIHtcbiAgY29sb3I6ICNDMjE4NUI7IH1cblxuLmNvZGVoaWxpdGUgLm5sLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5ubCB7XG4gIGNvbG9yOiAjM0I1MTc5OyB9XG5cbi5jb2RlaGlsaXRlIC5ubiwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAubm4ge1xuICBjb2xvcjogI0VDNDA3QTsgfVxuXG4uY29kZWhpbGl0ZSAubnQsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLm50IHtcbiAgY29sb3I6ICMzQjc4RTc7IH1cblxuLmNvZGVoaWxpdGUgLm52LCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5udiB7XG4gIGNvbG9yOiAjM0U2MUEyOyB9XG5cbi5jb2RlaGlsaXRlIC52YywgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAudmMge1xuICBjb2xvcjogIzNFNjFBMjsgfVxuXG4uY29kZWhpbGl0ZSAudmcsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLnZnIHtcbiAgY29sb3I6ICMzRTYxQTI7IH1cblxuLmNvZGVoaWxpdGUgLnZpLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC52aSB7XG4gIGNvbG9yOiAjM0U2MUEyOyB9XG5cbi5jb2RlaGlsaXRlIC5ueCwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAubngge1xuICBjb2xvcjogI0VDNDA3QTsgfVxuXG4uY29kZWhpbGl0ZSAubSwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAubSB7XG4gIGNvbG9yOiAjRTc0QzNDOyB9XG5cbi5jb2RlaGlsaXRlIC5tZiwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAubWYge1xuICBjb2xvcjogI0U3NEMzQzsgfVxuXG4uY29kZWhpbGl0ZSAubWgsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLm1oIHtcbiAgY29sb3I6ICNFNzRDM0M7IH1cblxuLmNvZGVoaWxpdGUgLm1pLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5taSB7XG4gIGNvbG9yOiAjRTc0QzNDOyB9XG5cbi5jb2RlaGlsaXRlIC5pbCwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAuaWwge1xuICBjb2xvcjogI0U3NEMzQzsgfVxuXG4uY29kZWhpbGl0ZSAubW8sIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLm1vIHtcbiAgY29sb3I6ICNFNzRDM0M7IH1cblxuLmNvZGVoaWxpdGUgLnMsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLnMge1xuICBjb2xvcjogIzBEOTA0RjsgfVxuXG4uY29kZWhpbGl0ZSAuc2IsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLnNiIHtcbiAgY29sb3I6ICMwRDkwNEY7IH1cblxuLmNvZGVoaWxpdGUgLnNjLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5zYyB7XG4gIGNvbG9yOiAjMEQ5MDRGOyB9XG5cbi5jb2RlaGlsaXRlIC5zZCwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAuc2Qge1xuICBjb2xvcjogIzk5OTk5OTsgfVxuXG4uY29kZWhpbGl0ZSAuczIsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLnMyIHtcbiAgY29sb3I6ICMwRDkwNEY7IH1cblxuLmNvZGVoaWxpdGUgLnNlLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5zZSB7XG4gIGNvbG9yOiAjMTgzNjkxOyB9XG5cbi5jb2RlaGlsaXRlIC5zaCwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAuc2gge1xuICBjb2xvcjogIzE4MzY5MTsgfVxuXG4uY29kZWhpbGl0ZSAuc2ksIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLnNpIHtcbiAgY29sb3I6ICMxODM2OTE7IH1cblxuLmNvZGVoaWxpdGUgLnN4LCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5zeCB7XG4gIGNvbG9yOiAjMTgzNjkxOyB9XG5cbi5jb2RlaGlsaXRlIC5zciwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAuc3Ige1xuICBjb2xvcjogIzAwOTkyNjsgfVxuXG4uY29kZWhpbGl0ZSAuczEsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLnMxIHtcbiAgY29sb3I6ICMwRDkwNEY7IH1cblxuLmNvZGVoaWxpdGUgLnNzLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC5zcyB7XG4gIGNvbG9yOiAjMEQ5MDRGOyB9XG5cbi5jb2RlaGlsaXRlIC5lcnIsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLmVyciB7XG4gIGNvbG9yOiAjQTYxNzE3OyB9XG5cbi5jb2RlaGlsaXRlIC53LCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IC53IHtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5jb2RlaGlsaXRlIC5obGwsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgLmhsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgLTEuMnJlbTtcbiAgcGFkZGluZzogMCAxLjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyMzUsIDU5LCAwLjUpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQuOTM3NWVtKSB7XG4gICAgLmNvZGVoaWxpdGUgLmhsbCwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCAuaGxsIHtcbiAgICAgIG1hcmdpbjogMCAtMS42cmVtO1xuICAgICAgcGFkZGluZzogMCAxLjZyZW07IH0gfVxuXG4ubWQtdHlwZXNldCAuY29kZWhpbGl0ZSwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxZW0gMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNiwgMjM2LCAyMzYsIDAuNSk7XG4gIGNvbG9yOiAjMzc0NzRGO1xuICBsaW5lLWhlaWdodDogMS40O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgLm1kLXR5cGVzZXQgLmNvZGVoaWxpdGUgcHJlLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IHByZSxcbiAgLm1kLXR5cGVzZXQgLmNvZGVoaWxpdGUgY29kZSxcbiAgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCBjb2RlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMS4wNXJlbSAxLjJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIC5tZC10eXBlc2V0IC5jb2RlaGlsaXRlIHByZTo6LXdlYmtpdC1zY3JvbGxiYXIsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgcHJlOjotd2Via2l0LXNjcm9sbGJhcixcbiAgICAubWQtdHlwZXNldCAuY29kZWhpbGl0ZSBjb2RlOjotd2Via2l0LXNjcm9sbGJhcixcbiAgICAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IGNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIHdpZHRoOiAwLjRyZW07XG4gICAgICBoZWlnaHQ6IDAuNHJlbTsgfVxuICAgIC5tZC10eXBlc2V0IC5jb2RlaGlsaXRlIHByZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgcHJlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYixcbiAgICAubWQtdHlwZXNldCAuY29kZWhpbGl0ZSBjb2RlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYixcbiAgICAubWQtdHlwZXNldCAuaGlnaGxpZ2h0IGNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cbiAgICAgIC5tZC10eXBlc2V0IC5jb2RlaGlsaXRlIHByZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIsIC5tZC10eXBlc2V0IC5oaWdobGlnaHQgcHJlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcixcbiAgICAgIC5tZC10eXBlc2V0IC5jb2RlaGlsaXRlIGNvZGU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLFxuICAgICAgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodCBjb2RlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1MzZkZmU7IH1cblxuLm1kLXR5cGVzZXQgcHJlLmNvZGVoaWxpdGUsIC5tZC10eXBlc2V0IHByZS5oaWdobGlnaHQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAubWQtdHlwZXNldCBwcmUuY29kZWhpbGl0ZSBjb2RlLCAubWQtdHlwZXNldCBwcmUuaGlnaGxpZ2h0IGNvZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMDVyZW0gMS4ycmVtO1xuICAgIG92ZXJmbG93OiBhdXRvOyB9XG5cbi5tZC10eXBlc2V0IC5jb2RlaGlsaXRldGFibGUsIC5tZC10eXBlc2V0IC5oaWdobGlnaHR0YWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDFlbSAwO1xuICBib3JkZXItcmFkaXVzOiAwLjJlbTtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1kLXR5cGVzZXQgLmNvZGVoaWxpdGV0YWJsZSB0Ym9keSwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodHRhYmxlIHRib2R5LFxuICAubWQtdHlwZXNldCAuY29kZWhpbGl0ZXRhYmxlIHRkLFxuICAubWQtdHlwZXNldCAuaGlnaGxpZ2h0dGFibGUgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1kLXR5cGVzZXQgLmNvZGVoaWxpdGV0YWJsZSB0ciwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodHRhYmxlIHRyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZC10eXBlc2V0IC5jb2RlaGlsaXRldGFibGUgLmNvZGVoaWxpdGUsIC5tZC10eXBlc2V0IC5oaWdobGlnaHR0YWJsZSAuY29kZWhpbGl0ZSwgLm1kLXR5cGVzZXQgLmNvZGVoaWxpdGV0YWJsZSAuaGlnaGxpZ2h0LCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0dGFibGUgLmhpZ2hsaWdodCxcbiAgLm1kLXR5cGVzZXQgLmNvZGVoaWxpdGV0YWJsZSAubGluZW5vZGl2LFxuICAubWQtdHlwZXNldCAuaGlnaGxpZ2h0dGFibGUgLmxpbmVub2RpdiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgXG4gIC5tZC10eXBlc2V0IC5jb2RlaGlsaXRldGFibGUgLmxpbmVub2RpdixcbiAgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodHRhYmxlIC5saW5lbm9kaXYge1xuICAgIHBhZGRpbmc6IDEuMDVyZW0gMS4ycmVtOyB9XG4gIC5tZC10eXBlc2V0IC5jb2RlaGlsaXRldGFibGUgLmxpbmVub3MsIC5tZC10eXBlc2V0IC5oaWdobGlnaHR0YWJsZSAubGluZW5vcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgIC5tZC10eXBlc2V0IC5jb2RlaGlsaXRldGFibGUgLmxpbmVub3MgcHJlLCAubWQtdHlwZXNldCAuaGlnaGxpZ2h0dGFibGUgLmxpbmVub3MgcHJlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1kLXR5cGVzZXQgLmNvZGVoaWxpdGV0YWJsZSAuY29kZSwgLm1kLXR5cGVzZXQgLmhpZ2hsaWdodHRhYmxlIC5jb2RlIHtcbiAgICBmbGV4OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NC45Mzc1ZW0pIHtcbiAgLm1kLXR5cGVzZXQgPiAuY29kZWhpbGl0ZSwgLm1kLXR5cGVzZXQgPiAuaGlnaGxpZ2h0IHtcbiAgICBtYXJnaW46IDFlbSAtMS42cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubWQtdHlwZXNldCA+IC5jb2RlaGlsaXRlIHByZSwgLm1kLXR5cGVzZXQgPiAuaGlnaGxpZ2h0IHByZSxcbiAgICAubWQtdHlwZXNldCA+IC5jb2RlaGlsaXRlIGNvZGUsXG4gICAgLm1kLXR5cGVzZXQgPiAuaGlnaGxpZ2h0IGNvZGUge1xuICAgICAgcGFkZGluZzogMS4wNXJlbSAxLjZyZW07IH0gfVxuXG4ubWQtdHlwZXNldCA+IC5jb2RlaGlsaXRldGFibGUsIC5tZC10eXBlc2V0ID4gLmhpZ2hsaWdodHRhYmxlIHtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0LjkzNzVlbSkge1xuICAgIC5tZC10eXBlc2V0ID4gLmNvZGVoaWxpdGV0YWJsZSwgLm1kLXR5cGVzZXQgPiAuaGlnaGxpZ2h0dGFibGUge1xuICAgICAgbWFyZ2luOiAxZW0gLTEuNnJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5tZC10eXBlc2V0ID4gLmNvZGVoaWxpdGV0YWJsZSAuY29kZWhpbGl0ZSA+IHByZSwgLm1kLXR5cGVzZXQgPiAuaGlnaGxpZ2h0dGFibGUgLmNvZGVoaWxpdGUgPiBwcmUsIC5tZC10eXBlc2V0ID4gLmNvZGVoaWxpdGV0YWJsZSAuaGlnaGxpZ2h0ID4gcHJlLCAubWQtdHlwZXNldCA+IC5oaWdobGlnaHR0YWJsZSAuaGlnaGxpZ2h0ID4gcHJlLFxuICAgICAgLm1kLXR5cGVzZXQgPiAuY29kZWhpbGl0ZXRhYmxlIC5jb2RlaGlsaXRlID4gY29kZSxcbiAgICAgIC5tZC10eXBlc2V0ID4gLmhpZ2hsaWdodHRhYmxlIC5jb2RlaGlsaXRlID4gY29kZSxcbiAgICAgIC5tZC10eXBlc2V0ID4gLmNvZGVoaWxpdGV0YWJsZSAuaGlnaGxpZ2h0ID4gY29kZSxcbiAgICAgIC5tZC10eXBlc2V0ID4gLmhpZ2hsaWdodHRhYmxlIC5oaWdobGlnaHQgPiBjb2RlLFxuICAgICAgLm1kLXR5cGVzZXQgPiAuY29kZWhpbGl0ZXRhYmxlIC5saW5lbm9kaXYsXG4gICAgICAubWQtdHlwZXNldCA+IC5oaWdobGlnaHR0YWJsZSAubGluZW5vZGl2IHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjZyZW07IH0gfVxuXG4ubWQtdHlwZXNldCBbaWRePVwiZm5yZWY6XCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZC10eXBlc2V0IFtpZF49XCJmbnJlZjpcIl06dGFyZ2V0IHtcbiAgICBtYXJnaW4tdG9wOiAtNy42cmVtO1xuICAgIHBhZGRpbmctdG9wOiA3LjZyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLm1kLXR5cGVzZXQgW2lkXj1cImZuOlwiXTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xuICBjb250ZW50OiBcIlwiOyB9XG5cbi5tZC10eXBlc2V0IFtpZF49XCJmbjpcIl06dGFyZ2V0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogLTdyZW07XG4gIHBhZGRpbmctdG9wOiA3cmVtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ubWQtdHlwZXNldCAuZm9vdG5vdGUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgZm9udC1zaXplOiAxLjI4cmVtOyB9XG4gIC5tZC10eXBlc2V0IC5mb290bm90ZSBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1kLXR5cGVzZXQgLmZvb3Rub3RlIGxpIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1czsgfVxuICAgIC5tZC10eXBlc2V0IC5mb290bm90ZSBsaTp0YXJnZXQge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAubWQtdHlwZXNldCAuZm9vdG5vdGUgbGkgOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAubWQtdHlwZXNldCAuZm9vdG5vdGUgbGk6aG92ZXIgLmZvb3Rub3RlLWJhY2tyZWYsXG4gICAgLm1kLXR5cGVzZXQgLmZvb3Rub3RlIGxpOnRhcmdldCAuZm9vdG5vdGUtYmFja3JlZiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLm1kLXR5cGVzZXQgLmZvb3Rub3RlIGxpOmhvdmVyIC5mb290bm90ZS1iYWNrcmVmOmhvdmVyLFxuICAgIC5tZC10eXBlc2V0IC5mb290bm90ZSBsaTp0YXJnZXQgLmZvb3Rub3RlLWJhY2tyZWYge1xuICAgICAgY29sb3I6ICM1MzZkZmU7IH1cblxuLm1kLXR5cGVzZXQgLmZvb3Rub3RlLXJlZiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgLm1kLXR5cGVzZXQgLmZvb3Rub3RlLXJlZjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiAwIDAuMmVtO1xuICAgIGJvcmRlci1sZWZ0OiAwLjFyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHZlcnRpY2FsLWFsaWduOiAtMC41cmVtOyB9XG5cbi5tZC10eXBlc2V0IC5mb290bm90ZS1iYWNrcmVmIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC41cmVtKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzICAwLjEyNXMsIGNvbG9yICAgICAwLjI1cywgb3BhY2l0eSAgIDAuMTI1cyAwLjEyNXM7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICBmb250LXNpemU6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTsgfVxuICBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IC5mb290bm90ZS1iYWNrcmVmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTAuNXJlbSk7IH1cbiAgLm1kLXR5cGVzZXQgLmZvb3Rub3RlLWJhY2tyZWY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGNvbnRlbnQ6IFwiXFxFMzFCXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IC5mb290bm90ZS1iYWNrcmVmOjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOyB9XG5cbi5tZC10eXBlc2V0IC5oZWFkZXJsaW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMC41cmVtKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzICAwLjI1cywgY29sb3IgICAgIDAuMjVzLCBvcGFjaXR5ICAgMC4xMjVzIDAuMjVzO1xuICBvcGFjaXR5OiAwOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgLmhlYWRlcmxpbmsge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDsgfVxuICBodG1sIGJvZHkgLm1kLXR5cGVzZXQgLmhlYWRlcmxpbmsge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLm1kLXR5cGVzZXQgLmhlYWRlcmxpbmsge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5tZC10eXBlc2V0IGgxW2lkXTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IC0wLjlyZW07XG4gIHBhZGRpbmctdG9wOiAwLjlyZW07XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLm1kLXR5cGVzZXQgaDFbaWRdOnRhcmdldDo6YmVmb3JlIHtcbiAgbWFyZ2luLXRvcDogLTYuOXJlbTtcbiAgcGFkZGluZy10b3A6IDYuOXJlbTsgfVxuXG4ubWQtdHlwZXNldCBoMVtpZF06aG92ZXIgLmhlYWRlcmxpbmssXG4ubWQtdHlwZXNldCBoMVtpZF06dGFyZ2V0IC5oZWFkZXJsaW5rLFxuLm1kLXR5cGVzZXQgaDFbaWRdIC5oZWFkZXJsaW5rOmZvY3VzIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kLXR5cGVzZXQgaDFbaWRdOmhvdmVyIC5oZWFkZXJsaW5rOmhvdmVyLFxuLm1kLXR5cGVzZXQgaDFbaWRdOnRhcmdldCAuaGVhZGVybGluayxcbi5tZC10eXBlc2V0IGgxW2lkXSAuaGVhZGVybGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNTM2ZGZlOyB9XG5cbi5tZC10eXBlc2V0IGgyW2lkXTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IC0wLjhyZW07XG4gIHBhZGRpbmctdG9wOiAwLjhyZW07XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLm1kLXR5cGVzZXQgaDJbaWRdOnRhcmdldDo6YmVmb3JlIHtcbiAgbWFyZ2luLXRvcDogLTYuOHJlbTtcbiAgcGFkZGluZy10b3A6IDYuOHJlbTsgfVxuXG4ubWQtdHlwZXNldCBoMltpZF06aG92ZXIgLmhlYWRlcmxpbmssXG4ubWQtdHlwZXNldCBoMltpZF06dGFyZ2V0IC5oZWFkZXJsaW5rLFxuLm1kLXR5cGVzZXQgaDJbaWRdIC5oZWFkZXJsaW5rOmZvY3VzIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kLXR5cGVzZXQgaDJbaWRdOmhvdmVyIC5oZWFkZXJsaW5rOmhvdmVyLFxuLm1kLXR5cGVzZXQgaDJbaWRdOnRhcmdldCAuaGVhZGVybGluayxcbi5tZC10eXBlc2V0IGgyW2lkXSAuaGVhZGVybGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNTM2ZGZlOyB9XG5cbi5tZC10eXBlc2V0IGgzW2lkXTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IC0wLjlyZW07XG4gIHBhZGRpbmctdG9wOiAwLjlyZW07XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLm1kLXR5cGVzZXQgaDNbaWRdOnRhcmdldDo6YmVmb3JlIHtcbiAgbWFyZ2luLXRvcDogLTYuOXJlbTtcbiAgcGFkZGluZy10b3A6IDYuOXJlbTsgfVxuXG4ubWQtdHlwZXNldCBoM1tpZF06aG92ZXIgLmhlYWRlcmxpbmssXG4ubWQtdHlwZXNldCBoM1tpZF06dGFyZ2V0IC5oZWFkZXJsaW5rLFxuLm1kLXR5cGVzZXQgaDNbaWRdIC5oZWFkZXJsaW5rOmZvY3VzIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kLXR5cGVzZXQgaDNbaWRdOmhvdmVyIC5oZWFkZXJsaW5rOmhvdmVyLFxuLm1kLXR5cGVzZXQgaDNbaWRdOnRhcmdldCAuaGVhZGVybGluayxcbi5tZC10eXBlc2V0IGgzW2lkXSAuaGVhZGVybGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNTM2ZGZlOyB9XG5cbi5tZC10eXBlc2V0IGg0W2lkXTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IC0wLjlyZW07XG4gIHBhZGRpbmctdG9wOiAwLjlyZW07XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLm1kLXR5cGVzZXQgaDRbaWRdOnRhcmdldDo6YmVmb3JlIHtcbiAgbWFyZ2luLXRvcDogLTYuOXJlbTtcbiAgcGFkZGluZy10b3A6IDYuOXJlbTsgfVxuXG4ubWQtdHlwZXNldCBoNFtpZF06aG92ZXIgLmhlYWRlcmxpbmssXG4ubWQtdHlwZXNldCBoNFtpZF06dGFyZ2V0IC5oZWFkZXJsaW5rLFxuLm1kLXR5cGVzZXQgaDRbaWRdIC5oZWFkZXJsaW5rOmZvY3VzIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kLXR5cGVzZXQgaDRbaWRdOmhvdmVyIC5oZWFkZXJsaW5rOmhvdmVyLFxuLm1kLXR5cGVzZXQgaDRbaWRdOnRhcmdldCAuaGVhZGVybGluayxcbi5tZC10eXBlc2V0IGg0W2lkXSAuaGVhZGVybGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNTM2ZGZlOyB9XG5cbi5tZC10eXBlc2V0IGg1W2lkXTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IC0xLjFyZW07XG4gIHBhZGRpbmctdG9wOiAxLjFyZW07XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLm1kLXR5cGVzZXQgaDVbaWRdOnRhcmdldDo6YmVmb3JlIHtcbiAgbWFyZ2luLXRvcDogLTcuMXJlbTtcbiAgcGFkZGluZy10b3A6IDcuMXJlbTsgfVxuXG4ubWQtdHlwZXNldCBoNVtpZF06aG92ZXIgLmhlYWRlcmxpbmssXG4ubWQtdHlwZXNldCBoNVtpZF06dGFyZ2V0IC5oZWFkZXJsaW5rLFxuLm1kLXR5cGVzZXQgaDVbaWRdIC5oZWFkZXJsaW5rOmZvY3VzIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kLXR5cGVzZXQgaDVbaWRdOmhvdmVyIC5oZWFkZXJsaW5rOmhvdmVyLFxuLm1kLXR5cGVzZXQgaDVbaWRdOnRhcmdldCAuaGVhZGVybGluayxcbi5tZC10eXBlc2V0IGg1W2lkXSAuaGVhZGVybGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNTM2ZGZlOyB9XG5cbi5tZC10eXBlc2V0IGg2W2lkXTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IC0xLjFyZW07XG4gIHBhZGRpbmctdG9wOiAxLjFyZW07XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLm1kLXR5cGVzZXQgaDZbaWRdOnRhcmdldDo6YmVmb3JlIHtcbiAgbWFyZ2luLXRvcDogLTcuMXJlbTtcbiAgcGFkZGluZy10b3A6IDcuMXJlbTsgfVxuXG4ubWQtdHlwZXNldCBoNltpZF06aG92ZXIgLmhlYWRlcmxpbmssXG4ubWQtdHlwZXNldCBoNltpZF06dGFyZ2V0IC5oZWFkZXJsaW5rLFxuLm1kLXR5cGVzZXQgaDZbaWRdIC5oZWFkZXJsaW5rOmZvY3VzIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1kLXR5cGVzZXQgaDZbaWRdOmhvdmVyIC5oZWFkZXJsaW5rOmhvdmVyLFxuLm1kLXR5cGVzZXQgaDZbaWRdOnRhcmdldCAuaGVhZGVybGluayxcbi5tZC10eXBlc2V0IGg2W2lkXSAuaGVhZGVybGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNTM2ZGZlOyB9XG5cbi5tZC10eXBlc2V0IC5NSlhjLWRpc3BsYXkge1xuICBtYXJnaW46IDAuNzVlbSAwO1xuICBwYWRkaW5nOiAwLjc1ZW0gMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0LjkzNzVlbSkge1xuICAubWQtdHlwZXNldCA+IHAgPiAuTUpYYy1kaXNwbGF5IHtcbiAgICBtYXJnaW46IDAuNzVlbSAtMS42cmVtO1xuICAgIHBhZGRpbmc6IDAuMjVlbSAxLjZyZW07IH0gfVxuXG4ubWQtdHlwZXNldCAuTWF0aEpheF9DSFRNTCB7XG4gIG91dGxpbmU6IDA7IH1cblxuLm1kLXR5cGVzZXQgZGVsLmNyaXRpYyxcbi5tZC10eXBlc2V0IGlucy5jcml0aWMsXG4ubWQtdHlwZXNldCAuY3JpdGljLmNvbW1lbnQge1xuICBtYXJnaW46IDAgMC4yNWVtO1xuICBwYWRkaW5nOiAwLjA2MjVlbSAwO1xuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTsgfVxuXG4ubWQtdHlwZXNldCBkZWwuY3JpdGljIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRERERDtcbiAgYm94LXNoYWRvdzogMC4yNWVtIDAgMCAjRkZERERELCAtMC4yNWVtIDAgMCAjRkZEREREOyB9XG5cbi5tZC10eXBlc2V0IGlucy5jcml0aWMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRERGRkREO1xuICBib3gtc2hhZG93OiAwLjI1ZW0gMCAwICNEREZGREQsIC0wLjI1ZW0gMCAwICNEREZGREQ7IH1cblxuLm1kLXR5cGVzZXQgLmNyaXRpYy5jb21tZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzYsIDIzNiwgMjM2LCAwLjUpO1xuICBjb2xvcjogIzM3NDc0RjtcbiAgYm94LXNoYWRvdzogMC4yNWVtIDAgMCByZ2JhKDIzNiwgMjM2LCAyMzYsIDAuNSksIC0wLjI1ZW0gMCAwIHJnYmEoMjM2LCAyMzYsIDIzNiwgMC41KTsgfVxuICAubWQtdHlwZXNldCAuY3JpdGljLmNvbW1lbnQ6OmJlZm9yZSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4xMjVlbTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgICBjb250ZW50OiBcIlxcRTBCN1wiO1xuICAgIHZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTsgfVxuXG4ubWQtdHlwZXNldCAuY3JpdGljLmJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMWVtIDA7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNnJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjZyZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLm1kLXR5cGVzZXQgLmNyaXRpYy5ibG9jayA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDAuNWVtOyB9XG4gIC5tZC10eXBlc2V0IC5jcml0aWMuYmxvY2sgOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG5cbi5tZC10eXBlc2V0IGRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgLm1kLXR5cGVzZXQgZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnk6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5tZC10eXBlc2V0IGRldGFpbHM6bm90KFtvcGVuXSkge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgLm1kLXR5cGVzZXQgZGV0YWlsczpub3QoW29wZW5dKSA+IHN1bW1hcnkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAubWQtdHlwZXNldCBkZXRhaWxzIHN1bW1hcnkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07IH1cbiAgICBbZGlyPVwicnRsXCJdIC5tZC10eXBlc2V0IGRldGFpbHMgc3VtbWFyeSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07IH1cbiAgLm5vLWRldGFpbHMgLm1kLXR5cGVzZXQgZGV0YWlsczpub3QoW29wZW5dKSA+ICoge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm5vLWRldGFpbHMgLm1kLXR5cGVzZXQgZGV0YWlsczpub3QoW29wZW5dKSBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubWQtdHlwZXNldCBzdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWQtdHlwZXNldCBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tZC10eXBlc2V0IHN1bW1hcnk6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjhyZW07XG4gICAgcmlnaHQ6IDEuMnJlbTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgY29udGVudDogXCJcXEUzMTNcIjsgfVxuICAgIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgc3VtbWFyeTo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICBsZWZ0OiAxLjJyZW07IH1cblxuLm1kLXR5cGVzZXQgLmVtb2ppb25lIHtcbiAgd2lkdGg6IDJyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsgfVxuXG4ubWQtdHlwZXNldCBjb2RlLmNvZGVoaWxpdGUsIC5tZC10eXBlc2V0IGNvZGUuaGlnaGxpZ2h0IHtcbiAgbWFyZ2luOiAwIDAuMjk0MTJlbTtcbiAgcGFkZGluZzogMC4wNzM1M2VtIDA7IH1cblxuLm1kLXR5cGVzZXQgLnN1cGVyZmVuY2VzLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBvcmRlcjogOTk7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAubWQtdHlwZXNldCAuc3VwZXJmZW5jZXMtY29udGVudCA+ICoge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tZC10eXBlc2V0IC5zdXBlcmZlbmNlcy10YWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMWVtIDA7XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMmVtOyB9XG4gIC5tZC10eXBlc2V0IC5zdXBlcmZlbmNlcy10YWJzID4gaW5wdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubWQtdHlwZXNldCAuc3VwZXJmZW5jZXMtdGFicyA+IGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAubWQtdHlwZXNldCAuc3VwZXJmZW5jZXMtdGFicyA+IGlucHV0OmNoZWNrZWQgKyBsYWJlbCArIC5zdXBlcmZlbmNlcy1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1kLXR5cGVzZXQgLnN1cGVyZmVuY2VzLXRhYnMgPiBsYWJlbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMS4ycmVtIDEuMnJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjEyNXM7XG4gICAgZm9udC1zaXplOiAxLjI4cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIGh0bWwgLm1kLXR5cGVzZXQgLnN1cGVyZmVuY2VzLXRhYnMgPiBsYWJlbDpob3ZlciB7XG4gICAgICBjb2xvcjogIzUzNmRmZTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0LjkzNzVlbSkge1xuICAubWQtdHlwZXNldCA+IC5zdXBlcmZlbmNlcy10YWJzIHtcbiAgICBtYXJnaW46IDFlbSAtMS42cmVtO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAwLjFyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm1kLXR5cGVzZXQgPiAuc3VwZXJmZW5jZXMtdGFicyBwcmUsXG4gICAgLm1kLXR5cGVzZXQgPiAuc3VwZXJmZW5jZXMtdGFicyBjb2RlIHtcbiAgICAgIHBhZGRpbmc6IDEuMDVyZW0gMS42cmVtOyB9IH1cblxuLm1kLXR5cGVzZXQgLnRhc2stbGlzdC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLm1kLXR5cGVzZXQgLnRhc2stbGlzdC1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNDVlbTtcbiAgICBsZWZ0OiAtMmVtOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAubWQtdHlwZXNldCAudGFzay1saXN0LWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICByaWdodDogLTJlbTtcbiAgICAgIGxlZnQ6IGluaXRpYWw7IH1cblxuLm1kLXR5cGVzZXQgLnRhc2stbGlzdC1jb250cm9sIC50YXNrLWxpc3QtaW5kaWNhdG9yOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC4xNWVtO1xuICBsZWZ0OiAtMS4yNWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGNvbnRlbnQ6IFwiXFxFODM1XCI7XG4gIHZlcnRpY2FsLWFsaWduOiAtMC4yNWVtOyB9XG4gIFtkaXI9XCJydGxcIl0gLm1kLXR5cGVzZXQgLnRhc2stbGlzdC1jb250cm9sIC50YXNrLWxpc3QtaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgIHJpZ2h0OiAtMS4yNWVtO1xuICAgIGxlZnQ6IGluaXRpYWw7IH1cblxuLm1kLXR5cGVzZXQgLnRhc2stbGlzdC1jb250cm9sIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC50YXNrLWxpc3QtaW5kaWNhdG9yOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTgzNFwiOyB9XG5cbi5tZC10eXBlc2V0IC50YXNrLWxpc3QtY29udHJvbCBbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTE7IH1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvYXBwbGljYXRpb24uc2NzcyIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxOCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEVuZm9yY2UgY29ycmVjdCBib3ggbW9kZWxcbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBBbGwgZWxlbWVudHMgc2hhbGwgaW5oZXJpdCB0aGUgZG9jdW1lbnQgZGVmYXVsdFxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLy8gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TXG5odG1sIHtcbiAgdGV4dC1zaXplLWFkanVzdDogbm9uZTtcbn1cblxuLy8gUmVtb3ZlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnNcbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8vIFJlc2V0IGhvcml6b250YWwgcnVsZXMgaW4gRkZcbmhyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vLyBSZW1vdmUgZ2FwcyBpbiB1bmRlcmxpbmVkIGxpbmtzIGluIGlPUyA+PSA4IGFuZCBTYWZhcmkgPj0gOFxuYSB7XG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG59XG5cbi8vIFJlc2V0IHRhcCBvdXRsaW5lcyBvbiBpT1MgYW5kIEFuZHJvaWRcbmEsXG5idXR0b24sXG5sYWJlbCxcbmlucHV0IHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLy8gUmVzZXQgbGluayBzdHlsZXNcbmEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vLyBOb3JtYWxpemUgZm9udC1zaXplIGluIGFsbCBicm93c2Vyc1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLy8gUHJldmVudCBzdWJzY3JpcHQgYW5kIHN1cGVyc2NyaXB0IGZyb20gYWZmZWN0aW5nIGxpbmUtaGVpZ2h0XG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vLyBDb3JyZWN0IHN1YnNjcmlwdCBvZmZzZXRcbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLy8gQ29ycmVjdCBzdXBlcnNjcmlwdCBvZmZzZXRcbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vLyBSZW1vdmUgYm9yZGVycyBvbiBpbWFnZXNcbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy8gUmVzZXQgdGFibGUgc3R5bGVzXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG4vLyBSZXNldCB0YWJsZSBjZWxsIHN0eWxlc1xudGQsXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8vIFJlc2V0IChuYXRpdmUpIGJ1dHRvbiBzdHlsZXNcbmJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lLXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG4vLyBSZXNldCAobmF0aXZlKSBpbnB1dCBzdHlsZXNcbmlucHV0IHtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9iYXNlL19yZXNldC5zY3NzIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDE4IE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBJY29uIHBsYWNlaG9sZGVyc1xuJW1kLWljb24ge1xuICBmb250LWZhbWlseTogXCJNYXRlcmlhbCBJY29uc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHNwZWFrOiBub25lO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgZGlyZWN0aW9uOiBsdHI7XG5cbiAgLy8gSWNvbiByZW5kZXJlZCBhcyBidXR0b25cbiAgJl9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAkbWQtaWNvbi1tYXJnaW47XG4gICAgcGFkZGluZzogJG1kLWljb24tcGFkZGluZztcbiAgICBmb250LXNpemU6ICRtZC1pY29uLXNpemU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIFJlcHJlc2VudGF0aW9uYWwgY2xhc3Nlc1xuLm1kLWljb24ge1xuICBAZXh0ZW5kICVtZC1pY29uO1xuXG4gIC8vIEJ1aWxkIHJlcHJlc2VudGF0aW9uYWwgY2xhc3Nlc1xuICBAZWFjaCAkbGlnYXR1cmUsICRuYW1lIGluIChcbiAgICBcIlxcRTVDNFwiOiBcImFycm93LWJhY2tcIiwgLy8gYXJyb3dfYmFja1xuICAgIFwiXFxFNUM4XCI6IFwiYXJyb3ctZm9yd2FyZFwiLCAvLyBhcnJvd19mb3J3YXJkXG4gICAgXCJcXEU1RDJcIjogXCJtZW51XCIsIC8vIG1lbnVcbiAgICBcIlxcRThCNlwiOiBcInNlYXJjaFwiIC8vIHNlYXJjaFxuICApIHtcbiAgICAmLS0jeyRuYW1lfTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRsaWdhdHVyZTtcbiAgICB9XG4gIH1cblxuICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgW2Rpcj1cInJ0bFwiXSAmIHtcblxuICAgIC8vIEZsaXAgbGlnYXR1cmVzIGZvciBhcnJvd3NcbiAgICBAZWFjaCAkbGlnYXR1cmUsICRuYW1lIGluIChcbiAgICAgIFwiXFxFNUM4XCI6IFwiYXJyb3ctYmFja1wiLCAvLyBhcnJvd19mb3J3YXJkXG4gICAgICBcIlxcRTVDNFwiOiBcImFycm93LWZvcndhcmRcIiAvLyBhcnJvd19iYWNrXG4gICAgKSB7XG4gICAgICAmLS0jeyRuYW1lfTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGxpZ2F0dXJlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9iYXNlL19pY29ucy5zY3NzIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDE4IE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlczogdHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNb2R1bGFyIHR5cG9ncmFwaGljIHNjYWxlXG4kbXMtYmFzZTogMS42cmVtO1xuJG1zLXJhdGlvOiAkbWFqb3ItdGhpcmQ7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlczogYnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdW5pdC13aGl0ZWxpc3RcblxuLy8gRGV2aWNlLXNwZWNpZmljIGJyZWFrcG9pbnRzXG4kYnJlYWstZGV2aWNlczogKFxuICBtb2JpbGU6IChcbiAgICBwb3J0cmFpdDogIHB4MmVtKDIyMHB4KSAgcHgyZW0oNDc5cHgpLFxuICAgIGxhbmRzY2FwZTogcHgyZW0oNDgwcHgpICBweDJlbSg3MTlweClcbiAgKSxcbiAgdGFibGV0OiAoXG4gICAgcG9ydHJhaXQ6ICBweDJlbSg3MjBweCkgIHB4MmVtKDk1OXB4KSxcbiAgICBsYW5kc2NhcGU6IHB4MmVtKDk2MHB4KSAgcHgyZW0oMTIxOXB4KVxuICApLFxuICBzY3JlZW46IChcbiAgICBzbWFsbDogICAgIHB4MmVtKDEyMjBweCkgcHgyZW0oMTU5OXB4KSxcbiAgICBtZWRpdW06ICAgIHB4MmVtKDE2MDBweCkgcHgyZW0oMTk5OXB4KSxcbiAgICBsYXJnZTogICAgIHB4MmVtKDIwMDBweClcbiAgKVxuKTtcblxuLy8gc3R5bGVsaW50LWVuYWJsZSB1bml0LXdoaXRlbGlzdFxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXM6IGJhc2UgY29sb3JzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFByaW1hcnkgYW5kIGFjY2VudCBjb2xvcnNcbiRtZC1jb2xvci1wcmltYXJ5OiAgICAgICAgICAgICAgICAgICAgJGNsci1pbmRpZ28tNTAwICFkZWZhdWx0O1xuJG1kLWNvbG9yLWFjY2VudDogICAgICAgICAgICAgICAgICAgICAkY2xyLWluZGlnby1hMjAwICFkZWZhdWx0O1xuXG4vLyBTaGFkZXMgb2YgYmxhY2tcbiRtZC1jb2xvci1ibGFjazogICAgICAgICAgICAgICAgICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuODcpICFkZWZhdWx0O1xuJG1kLWNvbG9yLWJsYWNrLS1saWdodDogICAgICAgICAgICAgICBoc2xhKDAsIDAlLCAwJSwgMC41NCkgIWRlZmF1bHQ7XG4kbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI6ICAgICAgICAgICAgIGhzbGEoMCwgMCUsIDAlLCAwLjI2KSAhZGVmYXVsdDtcbiRtZC1jb2xvci1ibGFjay0tbGlnaHRlc3Q6ICAgICAgICAgICAgaHNsYSgwLCAwJSwgMCUsIDAuMDcpICFkZWZhdWx0O1xuJG1kLWNvbG9yLWJsYWNrLS10cmFuc3BhcmVudDogICAgICAgICBoc2xhKDAsIDAlLCAwJSwgMCkgIWRlZmF1bHQ7XG5cbi8vIFNoYWRlcyBvZiB3aGl0ZVxuJG1kLWNvbG9yLXdoaXRlOiAgICAgICAgICAgICAgICAgICAgICBoc2xhKDAsIDAlLCAxMDAlLCAxKSAhZGVmYXVsdDtcbiRtZC1jb2xvci13aGl0ZS0tbGlnaHQ6ICAgICAgICAgICAgICAgaHNsYSgwLCAwJSwgMTAwJSwgMC43KSAhZGVmYXVsdDtcbiRtZC1jb2xvci13aGl0ZS0tbGlnaHRlcjogICAgICAgICAgICAgaHNsYSgwLCAwJSwgMTAwJSwgMC4zKSAhZGVmYXVsdDtcbiRtZC1jb2xvci13aGl0ZS0tbGlnaHRlc3Q6ICAgICAgICAgICAgaHNsYSgwLCAwJSwgMTAwJSwgMC4xMikgIWRlZmF1bHQ7XG4kbWQtY29sb3Itd2hpdGUtLXRyYW5zcGFyZW50OiAgICAgICAgIGhzbGEoMCwgMCUsIDEwMCUsIDApICFkZWZhdWx0O1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXM6IHNpemluZyBhbmQgc3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBJY29uc1xuJG1kLWljb24tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkbXMtYmFzZSAqIDEuNTtcbiRtZC1pY29uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgJG1zLWJhc2UgKiAwLjU7XG4kbWQtaWNvbi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICRtcy1iYXNlICogMC4yNTtcblxuLy8gQ29kZSBibG9ja3NcbiRtZC1jb2RlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgaHNsYSgwLCAwJSwgOTIuNSUsIDAuNSk7XG4kbWQtY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICMzNzQ3NEY7XG5cbi8vIEtleXN0cm9rZXNcbiRtZC1rZXlib2FyZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgI0ZDRkNGQztcbiRtZC1rZXlib2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgIzU1NTU1NTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvX2NvbmZpZy5zY3NzIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDE4IE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzOiBmb250IGRlZmluaXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEVuYWJsZSBmb250LXNtb290aGluZyBpbiBXZWJraXQgYW5kIEZGXG5ib2R5IHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIERlZmF1bHQgZm9udHNcbmJvZHksXG5pbnB1dCB7XG4gIGNvbG9yOiAkbWQtY29sb3ItYmxhY2s7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIsIFwibGlnYVwiO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4vLyBQcm9wb3J0aW9uYWxseSBzcGFjZWQgZm9udHNcbnByZSxcbmNvZGUsXG5rYmQge1xuICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiO1xuICBmb250LWZhbWlseTogXCJDb3VyaWVyIE5ld1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzOiB0eXBlc2V0dGVkIGNvbnRlbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ29udGVudCB0aGF0IGlzIHR5cGVzZXQgLSBpZiBwb3NzaWJsZSwgYWxsIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBmb250IHNpemVzXG4vLyBzaG91bGQgYmUgc2V0IGluIGVtcywgc28gbmVzdGVkIGJsb2NrcyAoZS5nLiBBZG1vbml0aW9uKSByZW5kZXIgY29ycmVjdGx5LFxuLy8gZXhjZXB0IGhlYWRsaW5lcyB0aGF0IHNob3VsZCBvbmx5IGFwcGVhciBvbiB0aGUgdG9wIGxldmVsIGFuZCBuZWVkIHRvIGhhdmVcbi8vIGNvbnNpc3RlbnQgc3BhY2luZyBkdWUgdG8gbGF5b3V0IGNvbnN0cmFpbnRzLlxuLm1kLXR5cGVzZXQge1xuICBmb250LXNpemU6IG1zKDApO1xuICBsaW5lLWhlaWdodDogMS42O1xuXG4gIC8vIENvbG9ycyBzaG91bGQgYmUga2VwdCB3aGVuIHByaW50aW5nXG4gIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcblxuICAvLyBEZWZhdWx0IHNwYWNpbmdcbiAgcCxcbiAgdWwsXG4gIG9sLFxuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDFlbSAwO1xuICB9XG5cbiAgLy8gMXN0IGxldmVsIGhlYWRsaW5lXG4gIGgxIHtcbiAgICBtYXJnaW46IDAgMCA0cmVtO1xuICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogbXMoMyk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICB9XG5cbiAgLy8gMm5kIGxldmVsIGhlYWRsaW5lXG4gIGgyIHtcbiAgICBtYXJnaW46IDRyZW0gMCAxLjZyZW07XG4gICAgZm9udC1zaXplOiBtcygyKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cblxuICAvLyAzcmQgbGV2ZWwgaGVhZGxpbmVcbiAgaDMge1xuICAgIG1hcmdpbjogMy4ycmVtIDAgMS42cmVtO1xuICAgIGZvbnQtc2l6ZTogbXMoMSk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG5cbiAgLy8gM3JkIGxldmVsIGhlYWRsaW5lIGZvbGxvd2luZyBhbiAybmQgbGV2ZWwgaGVhZGxpbmVcbiAgaDIgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogMS42cmVtO1xuICB9XG5cbiAgLy8gNHRoIGxldmVsIGhlYWRsaW5lXG4gIGg0IHtcbiAgICBtYXJnaW46IDEuNnJlbSAwO1xuICAgIGZvbnQtc2l6ZTogbXMoMCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgfVxuXG4gIC8vIDV0aCBhbmQgNnRoIGxldmVsIGhlYWRsaW5lXG4gIGg1LFxuICBoNiB7XG4gICAgbWFyZ2luOiAxLjZyZW0gMDtcbiAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB9XG5cbiAgLy8gT3ZlcnJpZGVzIGZvciA1dGggbGV2ZWwgaGVhZGxpbmVcbiAgaDUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHNlcGFyYXRvcnNcbiAgaHIge1xuICAgIG1hcmdpbjogMS41ZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiAwLjFyZW0gZG90dGVkICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkbWQtY29sb3ItcHJpbWFyeTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gICAgLy8gQWxzbyBlbmFibGUgY29sb3IgdHJhbnNpdGlvbiBvbiBwc2V1ZG8gZWxlbWVudHNcbiAgICAmLFxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjEyNXM7XG4gICAgfVxuXG4gICAgLy8gSG92ZXJlZCBhbmQgYWN0aXZlIGxpbmtzXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG1kLWNvbG9yLWFjY2VudDtcbiAgICB9XG5cbiAgICAvLyBBZGQgVVJMcyBmb3IgcHJpbnRcbiAgICBAbWVkaWEgcHJpbnQge1xuXG4gICAgICAvLyBTaG93IGxpbmsgVVJMXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgICAgICBjb250ZW50OiBcIiBbXCIgYXR0cihocmVmKSBcIl1cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2RlIGJsb2Nrc1xuICBjb2RlLFxuICBwcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2RlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRtZC1jb2RlLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogODUlO1xuICAgIGRpcmVjdGlvbjogbHRyO1xuXG4gICAgLy8gV3JhcCB0ZXh0IGFuZCBoaWRlIHNjb2xsYmFyc1xuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lIGNvZGUgYmxvY2tzLCBjb3JyZWN0IHJlbGF0aXZlIGVtcyBmb3Igc21hbGxlciBmb250IHNpemVcbiAgY29kZSB7XG4gICAgJGNvcnJlY3Q6IDEgLyAwLjg1O1xuXG4gICAgbWFyZ2luOiAwIDAuMjVlbSAqICRjb3JyZWN0O1xuICAgIHBhZGRpbmc6IDAuMDYyNWVtICogJGNvcnJlY3QgMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICswLjI1ZW0gKiAkY29ycmVjdCAwIDAgJG1kLWNvZGUtYmFja2dyb3VuZCxcbiAgICAgIC0wLjI1ZW0gKiAkY29ycmVjdCAwIDAgJG1kLWNvZGUtYmFja2dyb3VuZDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcblxuICAgIC8vIFJlbW92ZSBib3gtc2hhZG93cyBmb3IgcHJpbnRcbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGUgY29udGFpbmluZyBibG9jayBpbnNpZGUgaGVhZGxpbmVzXG4gIGgxIGNvZGUsXG4gIGgyIGNvZGUsXG4gIGgzIGNvZGUsXG4gIGg0IGNvZGUsXG4gIGg1IGNvZGUsXG4gIGg2IGNvZGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLy8gUmVzZXQgY29kZSBpZiBpdCdzIGluc2lkZSBhIGxpbmtcbiAgYSA+IGNvZGUge1xuICAgIG1hcmdpbjogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiBpbmhlcml0O1xuICAgIGJvcmRlci1yYWRpdXM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLy8gVW5mb3JtYXR0ZWQgY29kZSBibG9ja3NcbiAgcHJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAvLyBbbW9iaWxlIC1dOiBTdHJldGNoIHRvIHdob2xlIHdpZHRoXG4gICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKG1vYmlsZSkge1xuICAgICAgbWFyZ2luOiAxZW0gLTEuNnJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLy8gQWN0dWFsIGNvbnRhaW5lciB3aXRoIGNvZGUsIG92ZXJmbG93aW5nXG4gICAgPiBjb2RlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMS4wNXJlbSAxLjJyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogbm9uZTtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAvLyBbbW9iaWxlIC1dOiBJbmNyZWFzZSBwYWRkaW5nIHRvIG1hdGNoIHRleHRcbiAgICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZShtb2JpbGUpIHtcbiAgICAgICAgcGFkZGluZzogMS4wNXJlbSAxLjZyZW07XG4gICAgICB9XG5cbiAgICAgIC8vIE92ZXJyaWRlIG5hdGl2ZSBzY3JvbGxiYXIgc3R5bGVzXG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiAwLjRyZW07XG4gICAgICAgIGhlaWdodDogMC40cmVtO1xuICAgICAgfVxuXG4gICAgICAvLyBTdHlsZSBzY3JvbGxiYXIgdGh1bWJcbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuXG4gICAgICAgIC8vIEhvdmVyZWQgc2Nyb2xsYmFyIHRodW1iXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1hY2NlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgJGNvcnJlY3Q6IDEgLyAwLjg1O1xuXG4gICAgcGFkZGluZzogMCAwLjI1ZW0gKiAkY29ycmVjdDtcbiAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCBkYXJrZW4oJG1kLWtleWJvYXJkLWJhY2tncm91bmQsIDIwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGRhcmtlbigkbWQta2V5Ym9hcmQtYmFja2dyb3VuZCwgMjUlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQta2V5Ym9hcmQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG1kLWtleWJvYXJkLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogODUlO1xuICAgIGJveC1zaGFkb3c6IDAgMC4xcmVtIDAgZGFya2VuKCRtZC1rZXlib2FyZC1iYWNrZ3JvdW5kLCAzMCUpO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIH1cblxuICAvLyBUZXh0IGhpZ2hsaWdodGluZyBtYXJrZXJcbiAgbWFyayB7XG4gICAgbWFyZ2luOiAwIDAuMjVlbTtcbiAgICBwYWRkaW5nOiAwLjA2MjVlbSAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkY2xyLXllbGxvdy01MDAsIDAuNSk7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICswLjI1ZW0gMCAwIHRyYW5zcGFyZW50aXplKCRjbHIteWVsbG93LTUwMCwgMC41KSxcbiAgICAgIC0wLjI1ZW0gMCAwIHRyYW5zcGFyZW50aXplKCRjbHIteWVsbG93LTUwMCwgMC41KTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIGRvdHRlZCAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICB9XG5cbiAgLy8gU3VwZXJzY3JpcHQgYW5kIHN1YnNjcmlwdFxuICBzdXAsXG4gIHN1YiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMDYyNWVtICogMSAvIDAuODtcblxuICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNWVtICogMSAvIDAuODtcbiAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzLCBwb3NzaWJseSBuZXN0ZWRcbiAgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjJyZW07XG4gICAgYm9yZGVyLWxlZnQ6IDAuNHJlbSBzb2xpZCAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI7XG4gICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG5cbiAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgcGFkZGluZy1yaWdodDogMS4ycmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiBpbml0aWFsO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwLjRyZW0gc29saWQgJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuICAgICAgYm9yZGVyLWxlZnQ6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgYW5kIG9yZGVyZWQgbGlzdHNcbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVlbTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgIH1cblxuICAgIC8vIE5lc3RlZCBvcmRlcmVkIGxpc3RzXG4gICAgb2wge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcblxuICAgICAgLy8gVHJpcGx5IG5lc3RlZCBvcmRlcmVkIGxpc3RcbiAgICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaXN0IGVsZW1lbnRzXG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS4yNWVtO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4yNWVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcbiAgICAgIH1cblxuICAgICAgLy8gRGVjcmVhc2UgdmVydGljYWwgc3BhY2luZ1xuICAgICAgcCxcbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBtYXJnaW46IDAuNWVtIDA7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlbW92ZSBtYXJnaW4gb24gbGFzdCBlbGVtZW50XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBOZXN0ZWQgbGlzdHNcbiAgICAgIHVsLFxuICAgICAgb2wge1xuICAgICAgICBtYXJnaW46IDAuNWVtIDAgMC41ZW0gMC42MjVlbTtcblxuICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1ZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRkIHtcbiAgICBtYXJnaW46IDFlbSAwIDFlbSAxLjg3NWVtO1xuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS44NzVlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gIC8vIExpbWl0IHdpZHRoIHRvIGNvbnRhaW5lclxuICBpZnJhbWUsXG4gIGltZyxcbiAgc3ZnIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBEYXRhIHRhYmxlc1xuICB0YWJsZTpub3QoW2NsYXNzXSkge1xuICAgIEBpbmNsdWRlIHotZGVwdGgoMik7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAvLyBEdWUgdG8gbWFyZ2luIGNvbGxhcHNlIGJlY2F1c2Ugb2YgdGhlIG5lY2Vzc2FyeSBpbmxpbmUtYmxvY2sgaGFjaywgd2VcbiAgICAvLyBjYW5ub3QgaW5jcmVhc2UgdGhlIGJvdHRvbSBtYXJnaW4gb24gdGhlIHRhYmxlLCBzbyB3ZSBqdXN0IGluY3JlYXNlIHRoZVxuICAgIC8vIHRvcCBtYXJnaW4gb24gdGhlIGZvbGxvd2luZyBlbGVtZW50XG4gICAgJiArICoge1xuICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgfVxuXG4gICAgLy8gVGFibGUgaGVhZGluZ3MgYW5kIGNlbGxzXG4gICAgdGg6bm90KFthbGlnbl0pLFxuICAgIHRkOm5vdChbYWxpZ25dKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRhYmxlIGhlYWRpbmdzXG4gICAgdGgge1xuICAgICAgbWluLXdpZHRoOiAxMHJlbTtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAxLjZyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgICAgY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgLy8gVGFibGUgY2VsbHNcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAxLjJyZW0gMS42cmVtO1xuICAgICAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkICRtZC1jb2xvci1ibGFjay0tbGlnaHRlc3Q7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0b3AgYm9yZGVyIG9uIGZpcnN0IHJvd1xuICAgIHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuXG4gICAgLy8gRG8gbm90IHdyYXAgbGlua3MgaW4gdGFibGVzXG4gICAgYSB7XG4gICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gV3JhcHBlciBmb3Igc2Nyb2xsaW5nIG9uIG92ZXJmbG93XG4gICZfX3Njcm9sbHdyYXAge1xuICAgIG1hcmdpbjogMWVtIC0xLjZyZW07XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvLyBEYXRhIHRhYmxlIHdyYXBwZXIsIGluIGNhc2UgSmF2YVNjcmlwdCBpcyBhdmFpbGFibGVcbiAgLm1kLXR5cGVzZXRfX3RhYmxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgcGFkZGluZzogMCAxLjZyZW07XG5cbiAgICAvLyBEYXRhIHRhYmxlc1xuICAgIHRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9iYXNlL190eXBlc2V0LnNjc3MiLCJAZnVuY3Rpb24gbXMtZnVuY3Rpb24oJHY6IDAsICRiYXNlOiBmYWxzZSwgJHJhdGlvOiBmYWxzZSwgJHRocmVhZDogZmFsc2UsICRzZXR0aW5nczogJG1vZHVsYXJzY2FsZSkge1xuXG4gIC8vIFBhcnNlIHNldHRpbmdzXG4gICRtcy1zZXR0aW5nczogbXMtc2V0dGluZ3MoJGJhc2UsJHJhdGlvLCR0aHJlYWQsJHNldHRpbmdzKTtcbiAgJGJhc2U6IG50aCgkbXMtc2V0dGluZ3MsIDEpO1xuICAkcmF0aW86IG50aCgkbXMtc2V0dGluZ3MsIDIpO1xuXG4gIC8vIFJlbmRlciB0YXJnZXQgdmFsdWVzIGZyb20gc2V0dGluZ3MuXG4gIEBpZiB1bml0KCRyYXRpbykgIT0gJycge1xuICAgICRyYXRpbzogbXMtdGFyZ2V0KCRyYXRpbywkYmFzZSlcbiAgfVxuXG4gIC8vIEZhc3QgY2FsYyBpZiBub3QgbXVsdGkgc3RyYW5kZWRcbiAgQGlmKGxlbmd0aCgkYmFzZSkgPT0gMSkge1xuICAgIEByZXR1cm4gbXMtcG93KCRyYXRpbywgJHYpICogJGJhc2U7XG4gIH1cblxuICAvLyBDcmVhdGUgbmV3IGJhc2UgYXJyYXlcbiAgJG1zLWJhc2VzOiBudGgoJGJhc2UsMSk7XG5cbiAgLy8gTm9ybWFsaXplIGJhc2UgdmFsdWVzXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRiYXNlKSB7XG4gICAgLy8gaW5pdGlhbCBiYXNlIHZhbHVlXG4gICAgJG1zLWJhc2U6IG50aCgkYmFzZSwkaSk7XG4gICAgLy8gSWYgdGhlIGJhc2UgaXMgYmlnZ2VyIHRoYW4gdGhlIG1haW4gYmFzZVxuICAgIEBpZigkbXMtYmFzZSA+IG50aCgkYmFzZSwxKSkge1xuICAgICAgLy8gZGl2aWRlIHRoZSB2YWx1ZSB1bnRpbCBpdCBhbGlnbnMgd2l0aCBtYWluIGJhc2UuXG4gICAgICBAd2hpbGUoJG1zLWJhc2UgPiBudGgoJGJhc2UsMSkpIHtcbiAgICAgICAgJG1zLWJhc2U6ICRtcy1iYXNlIC8gJHJhdGlvO1xuICAgICAgfVxuICAgICAgJG1zLWJhc2U6ICRtcy1iYXNlICogJHJhdGlvO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYmFzZSBpcyBzbWFsbGVyIHRoYW4gdGhlIG1haW4gYmFzZS5cbiAgICBAZWxzZSBpZiAoJG1zLWJhc2UgPCBudGgoJGJhc2UsMSkpIHtcbiAgICAgIC8vIHB1bXAgdXAgdGhlIHZhbHVlIHVudGlsIGl0IGFsaWducyB3aXRoIG1haW4gYmFzZS5cbiAgICAgIEB3aGlsZSAkbXMtYmFzZSA8IG50aCgkYmFzZSwxKSB7XG4gICAgICAgICRtcy1iYXNlOiAkbXMtYmFzZSAqICRyYXRpbztcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUHVzaCBpbnRvIG5ldyBhcnJheVxuICAgICRtcy1iYXNlczogYXBwZW5kKCRtcy1iYXNlcywkbXMtYmFzZSk7XG4gIH1cblxuICAvLyBTb3J0IGFycmF5IGZyb20gc21hbGxlc3QgdG8gbGFyZ2VzdC5cbiAgJG1zLWJhc2VzOiBtcy1zb3J0KCRtcy1iYXNlcyk7XG5cbiAgLy8gRmluZCBzdGVwIHRvIHVzZSBpbiBjYWxjdWxhdGlvblxuICAkdnRlcDogZmxvb3IoJHYgLyBsZW5ndGgoJG1zLWJhc2VzKSk7XG4gIC8vIEZpbmQgYmFzZSB0byB1c2UgaW4gY2FsY3VsYXRpb25cbiAgJG1zLWJhc2U6IHJvdW5kKCgkdiAvIGxlbmd0aCgkbXMtYmFzZXMpIC0gJHZ0ZXApICogbGVuZ3RoKCRtcy1iYXNlcykpICsgMTtcblxuICBAcmV0dXJuIG1zLXBvdygkcmF0aW8sICR2dGVwKSAqIG50aCgkbXMtYmFzZXMsJG1zLWJhc2UpO1xufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9tb2R1bGFyc2NhbGUtc2Fzcy9zdHlsZXNoZWV0cy9tb2R1bGFyc2NhbGUvX2Z1bmN0aW9uLnNjc3MiLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIE5hbWU6ICAgICAgICBVSSBDb2xvciBQYWxldHRlXG4vLyBEZXNjcmlwdGlvbjogVGhlIGNvbG9yIHBhbGV0dGUgb2YgbWF0ZXJpYWwgZGVzaWduLlxuLy8gVmVyc2lvbjogICAgIDIuMy4xXG4vL1xuLy8gQXV0aG9yOiAgICAgIERlbmlzIE1hbGlub2Noa2luXG4vLyBHaXQ6ICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL21ybWxuYy9tYXRlcmlhbC1jb2xvclxuLy9cbi8vIHR3aXR0ZXI6ICAgICBAbXJtbG5jXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vL1xuLy8gTGlzdCBvZiBiYXNlIGNvbG9yc1xuLy9cblxuLy8gJGNsci1yZWRcbi8vICRjbHItcGlua1xuLy8gJGNsci1wdXJwbGVcbi8vICRjbHItZGVlcC1wdXJwbGVcbi8vICRjbHItaW5kaWdvXG4vLyAkY2xyLWJsdWVcbi8vICRjbHItbGlnaHQtYmx1ZVxuLy8gJGNsci1jeWFuXG4vLyAkY2xyLXRlYWxcbi8vICRjbHItZ3JlZW5cbi8vICRjbHItbGlnaHQtZ3JlZW5cbi8vICRjbHItbGltZVxuLy8gJGNsci15ZWxsb3dcbi8vICRjbHItYW1iZXJcbi8vICRjbHItb3JhbmdlXG4vLyAkY2xyLWRlZXAtb3JhbmdlXG4vLyAkY2xyLWJyb3duXG4vLyAkY2xyLWdyZXlcbi8vICRjbHItYmx1ZS1ncmV5XG4vLyAkY2xyLWJsYWNrXG4vLyAkY2xyLXdoaXRlXG5cblxuLy9cbi8vIFJlZFxuLy9cblxuJGNsci1yZWQtbGlzdDogKFxuICBcImJhc2VcIjogI2Y0NDMzNixcbiAgXCI1MFwiOiAgICNmZmViZWUsXG4gIFwiMTAwXCI6ICAjZmZjZGQyLFxuICBcIjIwMFwiOiAgI2VmOWE5YSxcbiAgXCIzMDBcIjogICNlNTczNzMsXG4gIFwiNDAwXCI6ICAjZWY1MzUwLFxuICBcIjUwMFwiOiAgI2Y0NDMzNixcbiAgXCI2MDBcIjogICNlNTM5MzUsXG4gIFwiNzAwXCI6ICAjZDMyZjJmLFxuICBcIjgwMFwiOiAgI2M2MjgyOCxcbiAgXCI5MDBcIjogICNiNzFjMWMsXG4gIFwiYTEwMFwiOiAjZmY4YTgwLFxuICBcImEyMDBcIjogI2ZmNTI1MixcbiAgXCJhNDAwXCI6ICNmZjE3NDQsXG4gIFwiYTcwMFwiOiAjZDUwMDAwXG4pO1xuXG4kY2xyLXJlZDogICAgICBtYXAtZ2V0KCRjbHItcmVkLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1yZWQtNTA6ICAgbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcIjUwXCIpO1xuJGNsci1yZWQtMTAwOiAgbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcIjEwMFwiKTtcbiRjbHItcmVkLTIwMDogIG1hcC1nZXQoJGNsci1yZWQtbGlzdCwgXCIyMDBcIik7XG4kY2xyLXJlZC0zMDA6ICBtYXAtZ2V0KCRjbHItcmVkLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1yZWQtNDAwOiAgbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcIjQwMFwiKTtcbiRjbHItcmVkLTUwMDogIG1hcC1nZXQoJGNsci1yZWQtbGlzdCwgXCI1MDBcIik7XG4kY2xyLXJlZC02MDA6ICBtYXAtZ2V0KCRjbHItcmVkLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1yZWQtNzAwOiAgbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcIjcwMFwiKTtcbiRjbHItcmVkLTgwMDogIG1hcC1nZXQoJGNsci1yZWQtbGlzdCwgXCI4MDBcIik7XG4kY2xyLXJlZC05MDA6ICBtYXAtZ2V0KCRjbHItcmVkLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1yZWQtYTEwMDogbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcImExMDBcIik7XG4kY2xyLXJlZC1hMjAwOiBtYXAtZ2V0KCRjbHItcmVkLWxpc3QsIFwiYTIwMFwiKTtcbiRjbHItcmVkLWE0MDA6IG1hcC1nZXQoJGNsci1yZWQtbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1yZWQtYTcwMDogbWFwLWdldCgkY2xyLXJlZC1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIFBpbmtcbi8vXG5cbiRjbHItcGluay1saXN0OiAoXG4gIFwiYmFzZVwiOiAjZTkxZTYzLFxuICBcIjUwXCI6ICAgI2ZjZTRlYyxcbiAgXCIxMDBcIjogICNmOGJiZDAsXG4gIFwiMjAwXCI6ICAjZjQ4ZmIxLFxuICBcIjMwMFwiOiAgI2YwNjI5MixcbiAgXCI0MDBcIjogICNlYzQwN2EsXG4gIFwiNTAwXCI6ICAjZTkxZTYzLFxuICBcIjYwMFwiOiAgI2Q4MWI2MCxcbiAgXCI3MDBcIjogICNjMjE4NWIsXG4gIFwiODAwXCI6ICAjYWQxNDU3LFxuICBcIjkwMFwiOiAgIzg4MGU0ZixcbiAgXCJhMTAwXCI6ICNmZjgwYWIsXG4gIFwiYTIwMFwiOiAjZmY0MDgxLFxuICBcImE0MDBcIjogI2Y1MDA1NyxcbiAgXCJhNzAwXCI6ICNjNTExNjJcbik7XG5cbiRjbHItcGluazogICAgICBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItcGluay01MDogICBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcIjUwXCIpO1xuJGNsci1waW5rLTEwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiMTAwXCIpO1xuJGNsci1waW5rLTIwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1waW5rLTMwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1waW5rLTQwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiNDAwXCIpO1xuJGNsci1waW5rLTUwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1waW5rLTYwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1waW5rLTcwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiNzAwXCIpO1xuJGNsci1waW5rLTgwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiODAwXCIpO1xuJGNsci1waW5rLTkwMDogIG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1waW5rLWExMDA6IG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiYTEwMFwiKTtcbiRjbHItcGluay1hMjAwOiBtYXAtZ2V0KCRjbHItcGluay1saXN0LCBcImEyMDBcIik7XG4kY2xyLXBpbmstYTQwMDogbWFwLWdldCgkY2xyLXBpbmstbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1waW5rLWE3MDA6IG1hcC1nZXQoJGNsci1waW5rLWxpc3QsIFwiYTcwMFwiKTtcblxuXG4vL1xuLy8gUHVycGxlXG4vL1xuXG4kY2xyLXB1cnBsZS1saXN0OiAoXG4gIFwiYmFzZVwiOiAjOWMyN2IwLFxuICBcIjUwXCI6ICAgI2YzZTVmNSxcbiAgXCIxMDBcIjogICNlMWJlZTcsXG4gIFwiMjAwXCI6ICAjY2U5M2Q4LFxuICBcIjMwMFwiOiAgI2JhNjhjOCxcbiAgXCI0MDBcIjogICNhYjQ3YmMsXG4gIFwiNTAwXCI6ICAjOWMyN2IwLFxuICBcIjYwMFwiOiAgIzhlMjRhYSxcbiAgXCI3MDBcIjogICM3YjFmYTIsXG4gIFwiODAwXCI6ICAjNmExYjlhLFxuICBcIjkwMFwiOiAgIzRhMTQ4YyxcbiAgXCJhMTAwXCI6ICNlYTgwZmMsXG4gIFwiYTIwMFwiOiAjZTA0MGZiLFxuICBcImE0MDBcIjogI2Q1MDBmOSxcbiAgXCJhNzAwXCI6ICNhYTAwZmZcbik7XG5cbiRjbHItcHVycGxlOiAgICAgIG1hcC1nZXQoJGNsci1wdXJwbGUtbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLXB1cnBsZS01MDogICBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiNTBcIik7XG4kY2xyLXB1cnBsZS0xMDA6ICBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiMTAwXCIpO1xuJGNsci1wdXJwbGUtMjAwOiAgbWFwLWdldCgkY2xyLXB1cnBsZS1saXN0LCBcIjIwMFwiKTtcbiRjbHItcHVycGxlLTMwMDogIG1hcC1nZXQoJGNsci1wdXJwbGUtbGlzdCwgXCIzMDBcIik7XG4kY2xyLXB1cnBsZS00MDA6ICBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiNDAwXCIpO1xuJGNsci1wdXJwbGUtNTAwOiAgbWFwLWdldCgkY2xyLXB1cnBsZS1saXN0LCBcIjUwMFwiKTtcbiRjbHItcHVycGxlLTYwMDogIG1hcC1nZXQoJGNsci1wdXJwbGUtbGlzdCwgXCI2MDBcIik7XG4kY2xyLXB1cnBsZS03MDA6ICBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiNzAwXCIpO1xuJGNsci1wdXJwbGUtODAwOiAgbWFwLWdldCgkY2xyLXB1cnBsZS1saXN0LCBcIjgwMFwiKTtcbiRjbHItcHVycGxlLTkwMDogIG1hcC1nZXQoJGNsci1wdXJwbGUtbGlzdCwgXCI5MDBcIik7XG4kY2xyLXB1cnBsZS1hMTAwOiBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiYTEwMFwiKTtcbiRjbHItcHVycGxlLWEyMDA6IG1hcC1nZXQoJGNsci1wdXJwbGUtbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1wdXJwbGUtYTQwMDogbWFwLWdldCgkY2xyLXB1cnBsZS1saXN0LCBcImE0MDBcIik7XG4kY2xyLXB1cnBsZS1hNzAwOiBtYXAtZ2V0KCRjbHItcHVycGxlLWxpc3QsIFwiYTcwMFwiKTtcblxuXG4vL1xuLy8gRGVlcCBwdXJwbGVcbi8vXG5cbiRjbHItZGVlcC1wdXJwbGUtbGlzdDogKFxuICBcImJhc2VcIjogIzY3M2FiNyxcbiAgXCI1MFwiOiAgICNlZGU3ZjYsXG4gIFwiMTAwXCI6ICAjZDFjNGU5LFxuICBcIjIwMFwiOiAgI2IzOWRkYixcbiAgXCIzMDBcIjogICM5NTc1Y2QsXG4gIFwiNDAwXCI6ICAjN2U1N2MyLFxuICBcIjUwMFwiOiAgIzY3M2FiNyxcbiAgXCI2MDBcIjogICM1ZTM1YjEsXG4gIFwiNzAwXCI6ICAjNTEyZGE4LFxuICBcIjgwMFwiOiAgIzQ1MjdhMCxcbiAgXCI5MDBcIjogICMzMTFiOTIsXG4gIFwiYTEwMFwiOiAjYjM4OGZmLFxuICBcImEyMDBcIjogIzdjNGRmZixcbiAgXCJhNDAwXCI6ICM2NTFmZmYsXG4gIFwiYTcwMFwiOiAjNjIwMGVhXG4pO1xuXG4kY2xyLWRlZXAtcHVycGxlOiAgICAgIG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItZGVlcC1wdXJwbGUtNTA6ICAgbWFwLWdldCgkY2xyLWRlZXAtcHVycGxlLWxpc3QsIFwiNTBcIik7XG4kY2xyLWRlZXAtcHVycGxlLTEwMDogIG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcIjEwMFwiKTtcbiRjbHItZGVlcC1wdXJwbGUtMjAwOiAgbWFwLWdldCgkY2xyLWRlZXAtcHVycGxlLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1kZWVwLXB1cnBsZS0zMDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1wdXJwbGUtbGlzdCwgXCIzMDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLTQwMDogIG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcIjQwMFwiKTtcbiRjbHItZGVlcC1wdXJwbGUtNTAwOiAgbWFwLWdldCgkY2xyLWRlZXAtcHVycGxlLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1kZWVwLXB1cnBsZS02MDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1wdXJwbGUtbGlzdCwgXCI2MDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLTcwMDogIG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcIjcwMFwiKTtcbiRjbHItZGVlcC1wdXJwbGUtODAwOiAgbWFwLWdldCgkY2xyLWRlZXAtcHVycGxlLWxpc3QsIFwiODAwXCIpO1xuJGNsci1kZWVwLXB1cnBsZS05MDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1wdXJwbGUtbGlzdCwgXCI5MDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLWExMDA6IG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcImExMDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLWEyMDA6IG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcImEyMDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLWE0MDA6IG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcImE0MDBcIik7XG4kY2xyLWRlZXAtcHVycGxlLWE3MDA6IG1hcC1nZXQoJGNsci1kZWVwLXB1cnBsZS1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIEluZGlnb1xuLy9cblxuJGNsci1pbmRpZ28tbGlzdDogKFxuICBcImJhc2VcIjogIzNmNTFiNSxcbiAgXCI1MFwiOiAgICNlOGVhZjYsXG4gIFwiMTAwXCI6ICAjYzVjYWU5LFxuICBcIjIwMFwiOiAgIzlmYThkYSxcbiAgXCIzMDBcIjogICM3OTg2Y2IsXG4gIFwiNDAwXCI6ICAjNWM2YmMwLFxuICBcIjUwMFwiOiAgIzNmNTFiNSxcbiAgXCI2MDBcIjogICMzOTQ5YWIsXG4gIFwiNzAwXCI6ICAjMzAzZjlmLFxuICBcIjgwMFwiOiAgIzI4MzU5MyxcbiAgXCI5MDBcIjogICMxYTIzN2UsXG4gIFwiYTEwMFwiOiAjOGM5ZWZmLFxuICBcImEyMDBcIjogIzUzNmRmZSxcbiAgXCJhNDAwXCI6ICMzZDVhZmUsXG4gIFwiYTcwMFwiOiAjMzA0ZmZlXG4pO1xuXG4kY2xyLWluZGlnbzogICAgICBtYXAtZ2V0KCRjbHItaW5kaWdvLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1pbmRpZ28tNTA6ICAgbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcIjUwXCIpO1xuJGNsci1pbmRpZ28tMTAwOiAgbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcIjEwMFwiKTtcbiRjbHItaW5kaWdvLTIwMDogIG1hcC1nZXQoJGNsci1pbmRpZ28tbGlzdCwgXCIyMDBcIik7XG4kY2xyLWluZGlnby0zMDA6ICBtYXAtZ2V0KCRjbHItaW5kaWdvLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1pbmRpZ28tNDAwOiAgbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcIjQwMFwiKTtcbiRjbHItaW5kaWdvLTUwMDogIG1hcC1nZXQoJGNsci1pbmRpZ28tbGlzdCwgXCI1MDBcIik7XG4kY2xyLWluZGlnby02MDA6ICBtYXAtZ2V0KCRjbHItaW5kaWdvLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1pbmRpZ28tNzAwOiAgbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcIjcwMFwiKTtcbiRjbHItaW5kaWdvLTgwMDogIG1hcC1nZXQoJGNsci1pbmRpZ28tbGlzdCwgXCI4MDBcIik7XG4kY2xyLWluZGlnby05MDA6ICBtYXAtZ2V0KCRjbHItaW5kaWdvLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1pbmRpZ28tYTEwMDogbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcImExMDBcIik7XG4kY2xyLWluZGlnby1hMjAwOiBtYXAtZ2V0KCRjbHItaW5kaWdvLWxpc3QsIFwiYTIwMFwiKTtcbiRjbHItaW5kaWdvLWE0MDA6IG1hcC1nZXQoJGNsci1pbmRpZ28tbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1pbmRpZ28tYTcwMDogbWFwLWdldCgkY2xyLWluZGlnby1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIEJsdWVcbi8vXG5cbiRjbHItYmx1ZS1saXN0OiAoXG4gIFwiYmFzZVwiOiAjMjE5NmYzLFxuICBcIjUwXCI6ICAgI2UzZjJmZCxcbiAgXCIxMDBcIjogICNiYmRlZmIsXG4gIFwiMjAwXCI6ICAjOTBjYWY5LFxuICBcIjMwMFwiOiAgIzY0YjVmNixcbiAgXCI0MDBcIjogICM0MmE1ZjUsXG4gIFwiNTAwXCI6ICAjMjE5NmYzLFxuICBcIjYwMFwiOiAgIzFlODhlNSxcbiAgXCI3MDBcIjogICMxOTc2ZDIsXG4gIFwiODAwXCI6ICAjMTU2NWMwLFxuICBcIjkwMFwiOiAgIzBkNDdhMSxcbiAgXCJhMTAwXCI6ICM4MmIxZmYsXG4gIFwiYTIwMFwiOiAjNDQ4YWZmLFxuICBcImE0MDBcIjogIzI5NzlmZixcbiAgXCJhNzAwXCI6ICMyOTYyZmZcbik7XG5cbiRjbHItYmx1ZTogICAgICBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItYmx1ZS01MDogICBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcIjUwXCIpO1xuJGNsci1ibHVlLTEwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiMTAwXCIpO1xuJGNsci1ibHVlLTIwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1ibHVlLTMwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1ibHVlLTQwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiNDAwXCIpO1xuJGNsci1ibHVlLTUwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1ibHVlLTYwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1ibHVlLTcwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiNzAwXCIpO1xuJGNsci1ibHVlLTgwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiODAwXCIpO1xuJGNsci1ibHVlLTkwMDogIG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1ibHVlLWExMDA6IG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiYTEwMFwiKTtcbiRjbHItYmx1ZS1hMjAwOiBtYXAtZ2V0KCRjbHItYmx1ZS1saXN0LCBcImEyMDBcIik7XG4kY2xyLWJsdWUtYTQwMDogbWFwLWdldCgkY2xyLWJsdWUtbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1ibHVlLWE3MDA6IG1hcC1nZXQoJGNsci1ibHVlLWxpc3QsIFwiYTcwMFwiKTtcblxuXG4vL1xuLy8gTGlnaHQgQmx1ZVxuLy9cblxuJGNsci1saWdodC1ibHVlLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICMwM2E5ZjQsXG4gIFwiNTBcIjogICAjZTFmNWZlLFxuICBcIjEwMFwiOiAgI2IzZTVmYyxcbiAgXCIyMDBcIjogICM4MWQ0ZmEsXG4gIFwiMzAwXCI6ICAjNGZjM2Y3LFxuICBcIjQwMFwiOiAgIzI5YjZmNixcbiAgXCI1MDBcIjogICMwM2E5ZjQsXG4gIFwiNjAwXCI6ICAjMDM5YmU1LFxuICBcIjcwMFwiOiAgIzAyODhkMSxcbiAgXCI4MDBcIjogICMwMjc3YmQsXG4gIFwiOTAwXCI6ICAjMDE1NzliLFxuICBcImExMDBcIjogIzgwZDhmZixcbiAgXCJhMjAwXCI6ICM0MGM0ZmYsXG4gIFwiYTQwMFwiOiAjMDBiMGZmLFxuICBcImE3MDBcIjogIzAwOTFlYVxuKTtcblxuJGNsci1saWdodC1ibHVlOiAgICAgIG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1saWdodC1ibHVlLTUwOiAgIG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiNTBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtMTAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCIxMDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtMjAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCIyMDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtMzAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCIzMDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtNDAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCI0MDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtNTAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCI1MDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtNjAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCI2MDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtNzAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCI3MDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtODAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCI4MDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtOTAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCI5MDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtYTEwMDogbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCJhMTAwXCIpO1xuJGNsci1saWdodC1ibHVlLWEyMDA6IG1hcC1nZXQoJGNsci1saWdodC1ibHVlLWxpc3QsIFwiYTIwMFwiKTtcbiRjbHItbGlnaHQtYmx1ZS1hNDAwOiBtYXAtZ2V0KCRjbHItbGlnaHQtYmx1ZS1saXN0LCBcImE0MDBcIik7XG4kY2xyLWxpZ2h0LWJsdWUtYTcwMDogbWFwLWdldCgkY2xyLWxpZ2h0LWJsdWUtbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBDeWFuXG4vL1xuXG4kY2xyLWN5YW4tbGlzdDogKFxuICBcImJhc2VcIjogIzAwYmNkNCxcbiAgXCI1MFwiOiAgICNlMGY3ZmEsXG4gIFwiMTAwXCI6ICAjYjJlYmYyLFxuICBcIjIwMFwiOiAgIzgwZGVlYSxcbiAgXCIzMDBcIjogICM0ZGQwZTEsXG4gIFwiNDAwXCI6ICAjMjZjNmRhLFxuICBcIjUwMFwiOiAgIzAwYmNkNCxcbiAgXCI2MDBcIjogICMwMGFjYzEsXG4gIFwiNzAwXCI6ICAjMDA5N2E3LFxuICBcIjgwMFwiOiAgIzAwODM4ZixcbiAgXCI5MDBcIjogICMwMDYwNjQsXG4gIFwiYTEwMFwiOiAjODRmZmZmLFxuICBcImEyMDBcIjogIzE4ZmZmZixcbiAgXCJhNDAwXCI6ICMwMGU1ZmYsXG4gIFwiYTcwMFwiOiAjMDBiOGQ0XG4pO1xuXG4kY2xyLWN5YW46ICAgICAgbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLWN5YW4tNTA6ICAgbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCI1MFwiKTtcbiRjbHItY3lhbi0xMDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjEwMFwiKTtcbiRjbHItY3lhbi0yMDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjIwMFwiKTtcbiRjbHItY3lhbi0zMDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjMwMFwiKTtcbiRjbHItY3lhbi00MDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjQwMFwiKTtcbiRjbHItY3lhbi01MDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjUwMFwiKTtcbiRjbHItY3lhbi02MDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjYwMFwiKTtcbiRjbHItY3lhbi03MDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjcwMFwiKTtcbiRjbHItY3lhbi04MDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjgwMFwiKTtcbiRjbHItY3lhbi05MDA6ICBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcIjkwMFwiKTtcbiRjbHItY3lhbi1hMTAwOiBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcImExMDBcIik7XG4kY2xyLWN5YW4tYTIwMDogbWFwLWdldCgkY2xyLWN5YW4tbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1jeWFuLWE0MDA6IG1hcC1nZXQoJGNsci1jeWFuLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItY3lhbi1hNzAwOiBtYXAtZ2V0KCRjbHItY3lhbi1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIFRlYWxcbi8vXG5cbiRjbHItdGVhbC1saXN0OiAoXG4gIFwiYmFzZVwiOiAjMDA5Njg4LFxuICBcIjUwXCI6ICAgI2UwZjJmMSxcbiAgXCIxMDBcIjogICNiMmRmZGIsXG4gIFwiMjAwXCI6ICAjODBjYmM0LFxuICBcIjMwMFwiOiAgIzRkYjZhYyxcbiAgXCI0MDBcIjogICMyNmE2OWEsXG4gIFwiNTAwXCI6ICAjMDA5Njg4LFxuICBcIjYwMFwiOiAgIzAwODk3YixcbiAgXCI3MDBcIjogICMwMDc5NmIsXG4gIFwiODAwXCI6ICAjMDA2OTVjLFxuICBcIjkwMFwiOiAgIzAwNGQ0MCxcbiAgXCJhMTAwXCI6ICNhN2ZmZWIsXG4gIFwiYTIwMFwiOiAjNjRmZmRhLFxuICBcImE0MDBcIjogIzFkZTliNixcbiAgXCJhNzAwXCI6ICMwMGJmYTVcbik7XG5cbiRjbHItdGVhbDogICAgICBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItdGVhbC01MDogICBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcIjUwXCIpO1xuJGNsci10ZWFsLTEwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiMTAwXCIpO1xuJGNsci10ZWFsLTIwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiMjAwXCIpO1xuJGNsci10ZWFsLTMwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiMzAwXCIpO1xuJGNsci10ZWFsLTQwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiNDAwXCIpO1xuJGNsci10ZWFsLTUwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiNTAwXCIpO1xuJGNsci10ZWFsLTYwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiNjAwXCIpO1xuJGNsci10ZWFsLTcwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiNzAwXCIpO1xuJGNsci10ZWFsLTgwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiODAwXCIpO1xuJGNsci10ZWFsLTkwMDogIG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiOTAwXCIpO1xuJGNsci10ZWFsLWExMDA6IG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiYTEwMFwiKTtcbiRjbHItdGVhbC1hMjAwOiBtYXAtZ2V0KCRjbHItdGVhbC1saXN0LCBcImEyMDBcIik7XG4kY2xyLXRlYWwtYTQwMDogbWFwLWdldCgkY2xyLXRlYWwtbGlzdCwgXCJhNDAwXCIpO1xuJGNsci10ZWFsLWE3MDA6IG1hcC1nZXQoJGNsci10ZWFsLWxpc3QsIFwiYTcwMFwiKTtcblxuXG4vL1xuLy8gR3JlZW5cbi8vXG5cbiRjbHItZ3JlZW4tbGlzdDogKFxuICBcImJhc2VcIjogIzRjYWY1MCxcbiAgXCI1MFwiOiAgICNlOGY1ZTksXG4gIFwiMTAwXCI6ICAjYzhlNmM5LFxuICBcIjIwMFwiOiAgI2E1ZDZhNyxcbiAgXCIzMDBcIjogICM4MWM3ODQsXG4gIFwiNDAwXCI6ICAjNjZiYjZhLFxuICBcIjUwMFwiOiAgIzRjYWY1MCxcbiAgXCI2MDBcIjogICM0M2EwNDcsXG4gIFwiNzAwXCI6ICAjMzg4ZTNjLFxuICBcIjgwMFwiOiAgIzJlN2QzMixcbiAgXCI5MDBcIjogICMxYjVlMjAsXG4gIFwiYTEwMFwiOiAjYjlmNmNhLFxuICBcImEyMDBcIjogIzY5ZjBhZSxcbiAgXCJhNDAwXCI6ICMwMGU2NzYsXG4gIFwiYTcwMFwiOiAjMDBjODUzXG4pO1xuXG4kY2xyLWdyZWVuOiAgICAgIG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItZ3JlZW4tNTA6ICAgbWFwLWdldCgkY2xyLWdyZWVuLWxpc3QsIFwiNTBcIik7XG4kY2xyLWdyZWVuLTEwMDogIG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcIjEwMFwiKTtcbiRjbHItZ3JlZW4tMjAwOiAgbWFwLWdldCgkY2xyLWdyZWVuLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1ncmVlbi0zMDA6ICBtYXAtZ2V0KCRjbHItZ3JlZW4tbGlzdCwgXCIzMDBcIik7XG4kY2xyLWdyZWVuLTQwMDogIG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcIjQwMFwiKTtcbiRjbHItZ3JlZW4tNTAwOiAgbWFwLWdldCgkY2xyLWdyZWVuLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1ncmVlbi02MDA6ICBtYXAtZ2V0KCRjbHItZ3JlZW4tbGlzdCwgXCI2MDBcIik7XG4kY2xyLWdyZWVuLTcwMDogIG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcIjcwMFwiKTtcbiRjbHItZ3JlZW4tODAwOiAgbWFwLWdldCgkY2xyLWdyZWVuLWxpc3QsIFwiODAwXCIpO1xuJGNsci1ncmVlbi05MDA6ICBtYXAtZ2V0KCRjbHItZ3JlZW4tbGlzdCwgXCI5MDBcIik7XG4kY2xyLWdyZWVuLWExMDA6IG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcImExMDBcIik7XG4kY2xyLWdyZWVuLWEyMDA6IG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcImEyMDBcIik7XG4kY2xyLWdyZWVuLWE0MDA6IG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcImE0MDBcIik7XG4kY2xyLWdyZWVuLWE3MDA6IG1hcC1nZXQoJGNsci1ncmVlbi1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIExpZ2h0IGdyZWVuXG4vL1xuXG4kY2xyLWxpZ2h0LWdyZWVuLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICM4YmMzNGEsXG4gIFwiNTBcIjogICAjZjFmOGU5LFxuICBcIjEwMFwiOiAgI2RjZWRjOCxcbiAgXCIyMDBcIjogICNjNWUxYTUsXG4gIFwiMzAwXCI6ICAjYWVkNTgxLFxuICBcIjQwMFwiOiAgIzljY2M2NSxcbiAgXCI1MDBcIjogICM4YmMzNGEsXG4gIFwiNjAwXCI6ICAjN2NiMzQyLFxuICBcIjcwMFwiOiAgIzY4OWYzOCxcbiAgXCI4MDBcIjogICM1NThiMmYsXG4gIFwiOTAwXCI6ICAjMzM2OTFlLFxuICBcImExMDBcIjogI2NjZmY5MCxcbiAgXCJhMjAwXCI6ICNiMmZmNTksXG4gIFwiYTQwMFwiOiAjNzZmZjAzLFxuICBcImE3MDBcIjogIzY0ZGQxN1xuKTtcblxuJGNsci1saWdodC1ncmVlbjogICAgICBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLWxpZ2h0LWdyZWVuLTUwOiAgIG1hcC1nZXQoJGNsci1saWdodC1ncmVlbi1saXN0LCBcIjUwXCIpO1xuJGNsci1saWdodC1ncmVlbi0xMDA6ICBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCIxMDBcIik7XG4kY2xyLWxpZ2h0LWdyZWVuLTIwMDogIG1hcC1nZXQoJGNsci1saWdodC1ncmVlbi1saXN0LCBcIjIwMFwiKTtcbiRjbHItbGlnaHQtZ3JlZW4tMzAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWdyZWVuLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1saWdodC1ncmVlbi00MDA6ICBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCI0MDBcIik7XG4kY2xyLWxpZ2h0LWdyZWVuLTUwMDogIG1hcC1nZXQoJGNsci1saWdodC1ncmVlbi1saXN0LCBcIjUwMFwiKTtcbiRjbHItbGlnaHQtZ3JlZW4tNjAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWdyZWVuLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1saWdodC1ncmVlbi03MDA6ICBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCI3MDBcIik7XG4kY2xyLWxpZ2h0LWdyZWVuLTgwMDogIG1hcC1nZXQoJGNsci1saWdodC1ncmVlbi1saXN0LCBcIjgwMFwiKTtcbiRjbHItbGlnaHQtZ3JlZW4tOTAwOiAgbWFwLWdldCgkY2xyLWxpZ2h0LWdyZWVuLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1saWdodC1ncmVlbi1hMTAwOiBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCJhMTAwXCIpO1xuJGNsci1saWdodC1ncmVlbi1hMjAwOiBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1saWdodC1ncmVlbi1hNDAwOiBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1saWdodC1ncmVlbi1hNzAwOiBtYXAtZ2V0KCRjbHItbGlnaHQtZ3JlZW4tbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBMaW1lXG4vL1xuXG4kY2xyLWxpbWUtbGlzdDogKFxuICBcImJhc2VcIjogI2NkZGMzOSxcbiAgXCI1MFwiOiAgICNmOWZiZTcsXG4gIFwiMTAwXCI6ICAjZjBmNGMzLFxuICBcIjIwMFwiOiAgI2U2ZWU5YyxcbiAgXCIzMDBcIjogICNkY2U3NzUsXG4gIFwiNDAwXCI6ICAjZDRlMTU3LFxuICBcIjUwMFwiOiAgI2NkZGMzOSxcbiAgXCI2MDBcIjogICNjMGNhMzMsXG4gIFwiNzAwXCI6ICAjYWZiNDJiLFxuICBcIjgwMFwiOiAgIzllOWQyNCxcbiAgXCI5MDBcIjogICM4Mjc3MTcsXG4gIFwiYTEwMFwiOiAjZjRmZjgxLFxuICBcImEyMDBcIjogI2VlZmY0MSxcbiAgXCJhNDAwXCI6ICNjNmZmMDAsXG4gIFwiYTcwMFwiOiAjYWVlYTAwXG4pO1xuXG4kY2xyLWxpbWU6ICAgICAgbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLWxpbWUtNTA6ICAgbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCI1MFwiKTtcbiRjbHItbGltZS0xMDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjEwMFwiKTtcbiRjbHItbGltZS0yMDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjIwMFwiKTtcbiRjbHItbGltZS0zMDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjMwMFwiKTtcbiRjbHItbGltZS00MDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjQwMFwiKTtcbiRjbHItbGltZS01MDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjUwMFwiKTtcbiRjbHItbGltZS02MDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjYwMFwiKTtcbiRjbHItbGltZS03MDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjcwMFwiKTtcbiRjbHItbGltZS04MDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjgwMFwiKTtcbiRjbHItbGltZS05MDA6ICBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcIjkwMFwiKTtcbiRjbHItbGltZS1hMTAwOiBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcImExMDBcIik7XG4kY2xyLWxpbWUtYTIwMDogbWFwLWdldCgkY2xyLWxpbWUtbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1saW1lLWE0MDA6IG1hcC1nZXQoJGNsci1saW1lLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItbGltZS1hNzAwOiBtYXAtZ2V0KCRjbHItbGltZS1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIFllbGxvd1xuLy9cblxuJGNsci15ZWxsb3ctbGlzdDogKFxuICBcImJhc2VcIjogI2ZmZWIzYixcbiAgXCI1MFwiOiAgICNmZmZkZTcsXG4gIFwiMTAwXCI6ICAjZmZmOWM0LFxuICBcIjIwMFwiOiAgI2ZmZjU5ZCxcbiAgXCIzMDBcIjogICNmZmYxNzYsXG4gIFwiNDAwXCI6ICAjZmZlZTU4LFxuICBcIjUwMFwiOiAgI2ZmZWIzYixcbiAgXCI2MDBcIjogICNmZGQ4MzUsXG4gIFwiNzAwXCI6ICAjZmJjMDJkLFxuICBcIjgwMFwiOiAgI2Y5YTgyNSxcbiAgXCI5MDBcIjogICNmNTdmMTcsXG4gIFwiYTEwMFwiOiAjZmZmZjhkLFxuICBcImEyMDBcIjogI2ZmZmYwMCxcbiAgXCJhNDAwXCI6ICNmZmVhMDAsXG4gIFwiYTcwMFwiOiAjZmZkNjAwXG4pO1xuXG4kY2xyLXllbGxvdzogICAgICBtYXAtZ2V0KCRjbHIteWVsbG93LWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci15ZWxsb3ctNTA6ICAgbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcIjUwXCIpO1xuJGNsci15ZWxsb3ctMTAwOiAgbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcIjEwMFwiKTtcbiRjbHIteWVsbG93LTIwMDogIG1hcC1nZXQoJGNsci15ZWxsb3ctbGlzdCwgXCIyMDBcIik7XG4kY2xyLXllbGxvdy0zMDA6ICBtYXAtZ2V0KCRjbHIteWVsbG93LWxpc3QsIFwiMzAwXCIpO1xuJGNsci15ZWxsb3ctNDAwOiAgbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcIjQwMFwiKTtcbiRjbHIteWVsbG93LTUwMDogIG1hcC1nZXQoJGNsci15ZWxsb3ctbGlzdCwgXCI1MDBcIik7XG4kY2xyLXllbGxvdy02MDA6ICBtYXAtZ2V0KCRjbHIteWVsbG93LWxpc3QsIFwiNjAwXCIpO1xuJGNsci15ZWxsb3ctNzAwOiAgbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcIjcwMFwiKTtcbiRjbHIteWVsbG93LTgwMDogIG1hcC1nZXQoJGNsci15ZWxsb3ctbGlzdCwgXCI4MDBcIik7XG4kY2xyLXllbGxvdy05MDA6ICBtYXAtZ2V0KCRjbHIteWVsbG93LWxpc3QsIFwiOTAwXCIpO1xuJGNsci15ZWxsb3ctYTEwMDogbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcImExMDBcIik7XG4kY2xyLXllbGxvdy1hMjAwOiBtYXAtZ2V0KCRjbHIteWVsbG93LWxpc3QsIFwiYTIwMFwiKTtcbiRjbHIteWVsbG93LWE0MDA6IG1hcC1nZXQoJGNsci15ZWxsb3ctbGlzdCwgXCJhNDAwXCIpO1xuJGNsci15ZWxsb3ctYTcwMDogbWFwLWdldCgkY2xyLXllbGxvdy1saXN0LCBcImE3MDBcIik7XG5cblxuLy9cbi8vIGFtYmVyXG4vL1xuXG4kY2xyLWFtYmVyLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICNmZmMxMDcsXG4gIFwiNTBcIjogICAjZmZmOGUxLFxuICBcIjEwMFwiOiAgI2ZmZWNiMyxcbiAgXCIyMDBcIjogICNmZmUwODIsXG4gIFwiMzAwXCI6ICAjZmZkNTRmLFxuICBcIjQwMFwiOiAgI2ZmY2EyOCxcbiAgXCI1MDBcIjogICNmZmMxMDcsXG4gIFwiNjAwXCI6ICAjZmZiMzAwLFxuICBcIjcwMFwiOiAgI2ZmYTAwMCxcbiAgXCI4MDBcIjogICNmZjhmMDAsXG4gIFwiOTAwXCI6ICAjZmY2ZjAwLFxuICBcImExMDBcIjogI2ZmZTU3ZixcbiAgXCJhMjAwXCI6ICNmZmQ3NDAsXG4gIFwiYTQwMFwiOiAjZmZjNDAwLFxuICBcImE3MDBcIjogI2ZmYWIwMFxuKTtcblxuJGNsci1hbWJlcjogICAgICBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLWFtYmVyLTUwOiAgIG1hcC1nZXQoJGNsci1hbWJlci1saXN0LCBcIjUwXCIpO1xuJGNsci1hbWJlci0xMDA6ICBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCIxMDBcIik7XG4kY2xyLWFtYmVyLTIwMDogIG1hcC1nZXQoJGNsci1hbWJlci1saXN0LCBcIjIwMFwiKTtcbiRjbHItYW1iZXItMzAwOiAgbWFwLWdldCgkY2xyLWFtYmVyLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1hbWJlci00MDA6ICBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCI0MDBcIik7XG4kY2xyLWFtYmVyLTUwMDogIG1hcC1nZXQoJGNsci1hbWJlci1saXN0LCBcIjUwMFwiKTtcbiRjbHItYW1iZXItNjAwOiAgbWFwLWdldCgkY2xyLWFtYmVyLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1hbWJlci03MDA6ICBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCI3MDBcIik7XG4kY2xyLWFtYmVyLTgwMDogIG1hcC1nZXQoJGNsci1hbWJlci1saXN0LCBcIjgwMFwiKTtcbiRjbHItYW1iZXItOTAwOiAgbWFwLWdldCgkY2xyLWFtYmVyLWxpc3QsIFwiOTAwXCIpO1xuJGNsci1hbWJlci1hMTAwOiBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCJhMTAwXCIpO1xuJGNsci1hbWJlci1hMjAwOiBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCJhMjAwXCIpO1xuJGNsci1hbWJlci1hNDAwOiBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCJhNDAwXCIpO1xuJGNsci1hbWJlci1hNzAwOiBtYXAtZ2V0KCRjbHItYW1iZXItbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBPcmFuZ2Vcbi8vXG5cbiRjbHItb3JhbmdlLWxpc3Q6IChcbiAgXCJiYXNlXCI6ICNmZjk4MDAsXG4gIFwiNTBcIjogICAjZmZmM2UwLFxuICBcIjEwMFwiOiAgI2ZmZTBiMixcbiAgXCIyMDBcIjogICNmZmNjODAsXG4gIFwiMzAwXCI6ICAjZmZiNzRkLFxuICBcIjQwMFwiOiAgI2ZmYTcyNixcbiAgXCI1MDBcIjogICNmZjk4MDAsXG4gIFwiNjAwXCI6ICAjZmI4YzAwLFxuICBcIjcwMFwiOiAgI2Y1N2MwMCxcbiAgXCI4MDBcIjogICNlZjZjMDAsXG4gIFwiOTAwXCI6ICAjZTY1MTAwLFxuICBcImExMDBcIjogI2ZmZDE4MCxcbiAgXCJhMjAwXCI6ICNmZmFiNDAsXG4gIFwiYTQwMFwiOiAjZmY5MTAwLFxuICBcImE3MDBcIjogI2ZmNmQwMFxuKTtcblxuJGNsci1vcmFuZ2U6ICAgICAgbWFwLWdldCgkY2xyLW9yYW5nZS1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItb3JhbmdlLTUwOiAgIG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCI1MFwiKTtcbiRjbHItb3JhbmdlLTEwMDogIG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCIxMDBcIik7XG4kY2xyLW9yYW5nZS0yMDA6ICBtYXAtZ2V0KCRjbHItb3JhbmdlLWxpc3QsIFwiMjAwXCIpO1xuJGNsci1vcmFuZ2UtMzAwOiAgbWFwLWdldCgkY2xyLW9yYW5nZS1saXN0LCBcIjMwMFwiKTtcbiRjbHItb3JhbmdlLTQwMDogIG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCI0MDBcIik7XG4kY2xyLW9yYW5nZS01MDA6ICBtYXAtZ2V0KCRjbHItb3JhbmdlLWxpc3QsIFwiNTAwXCIpO1xuJGNsci1vcmFuZ2UtNjAwOiAgbWFwLWdldCgkY2xyLW9yYW5nZS1saXN0LCBcIjYwMFwiKTtcbiRjbHItb3JhbmdlLTcwMDogIG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCI3MDBcIik7XG4kY2xyLW9yYW5nZS04MDA6ICBtYXAtZ2V0KCRjbHItb3JhbmdlLWxpc3QsIFwiODAwXCIpO1xuJGNsci1vcmFuZ2UtOTAwOiAgbWFwLWdldCgkY2xyLW9yYW5nZS1saXN0LCBcIjkwMFwiKTtcbiRjbHItb3JhbmdlLWExMDA6IG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCJhMTAwXCIpO1xuJGNsci1vcmFuZ2UtYTIwMDogbWFwLWdldCgkY2xyLW9yYW5nZS1saXN0LCBcImEyMDBcIik7XG4kY2xyLW9yYW5nZS1hNDAwOiBtYXAtZ2V0KCRjbHItb3JhbmdlLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItb3JhbmdlLWE3MDA6IG1hcC1nZXQoJGNsci1vcmFuZ2UtbGlzdCwgXCJhNzAwXCIpO1xuXG5cbi8vXG4vLyBEZWVwIG9yYW5nZVxuLy9cblxuJGNsci1kZWVwLW9yYW5nZS1saXN0OiAoXG4gIFwiYmFzZVwiOiAjZmY1NzIyLFxuICBcIjUwXCI6ICAgI2ZiZTllNyxcbiAgXCIxMDBcIjogICNmZmNjYmMsXG4gIFwiMjAwXCI6ICAjZmZhYjkxLFxuICBcIjMwMFwiOiAgI2ZmOGE2NSxcbiAgXCI0MDBcIjogICNmZjcwNDMsXG4gIFwiNTAwXCI6ICAjZmY1NzIyLFxuICBcIjYwMFwiOiAgI2Y0NTExZSxcbiAgXCI3MDBcIjogICNlNjRhMTksXG4gIFwiODAwXCI6ICAjZDg0MzE1LFxuICBcIjkwMFwiOiAgI2JmMzYwYyxcbiAgXCJhMTAwXCI6ICNmZjllODAsXG4gIFwiYTIwMFwiOiAjZmY2ZTQwLFxuICBcImE0MDBcIjogI2ZmM2QwMCxcbiAgXCJhNzAwXCI6ICNkZDJjMDBcbik7XG5cbiRjbHItZGVlcC1vcmFuZ2U6ICAgICAgbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1kZWVwLW9yYW5nZS01MDogICBtYXAtZ2V0KCRjbHItZGVlcC1vcmFuZ2UtbGlzdCwgXCI1MFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtMTAwOiAgbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiMTAwXCIpO1xuJGNsci1kZWVwLW9yYW5nZS0yMDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1vcmFuZ2UtbGlzdCwgXCIyMDBcIik7XG4kY2xyLWRlZXAtb3JhbmdlLTMwMDogIG1hcC1nZXQoJGNsci1kZWVwLW9yYW5nZS1saXN0LCBcIjMwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtNDAwOiAgbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiNDAwXCIpO1xuJGNsci1kZWVwLW9yYW5nZS01MDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1vcmFuZ2UtbGlzdCwgXCI1MDBcIik7XG4kY2xyLWRlZXAtb3JhbmdlLTYwMDogIG1hcC1nZXQoJGNsci1kZWVwLW9yYW5nZS1saXN0LCBcIjYwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtNzAwOiAgbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiNzAwXCIpO1xuJGNsci1kZWVwLW9yYW5nZS04MDA6ICBtYXAtZ2V0KCRjbHItZGVlcC1vcmFuZ2UtbGlzdCwgXCI4MDBcIik7XG4kY2xyLWRlZXAtb3JhbmdlLTkwMDogIG1hcC1nZXQoJGNsci1kZWVwLW9yYW5nZS1saXN0LCBcIjkwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtYTEwMDogbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiYTEwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtYTIwMDogbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiYTIwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtYTQwMDogbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiYTQwMFwiKTtcbiRjbHItZGVlcC1vcmFuZ2UtYTcwMDogbWFwLWdldCgkY2xyLWRlZXAtb3JhbmdlLWxpc3QsIFwiYTcwMFwiKTtcblxuXG4vL1xuLy8gQnJvd25cbi8vXG5cbiRjbHItYnJvd24tbGlzdDogKFxuICBcImJhc2VcIjogIzc5NTU0OCxcbiAgXCI1MFwiOiAgICNlZmViZTksXG4gIFwiMTAwXCI6ICAjZDdjY2M4LFxuICBcIjIwMFwiOiAgI2JjYWFhNCxcbiAgXCIzMDBcIjogICNhMTg4N2YsXG4gIFwiNDAwXCI6ICAjOGQ2ZTYzLFxuICBcIjUwMFwiOiAgIzc5NTU0OCxcbiAgXCI2MDBcIjogICM2ZDRjNDEsXG4gIFwiNzAwXCI6ICAjNWQ0MDM3LFxuICBcIjgwMFwiOiAgIzRlMzQyZSxcbiAgXCI5MDBcIjogICMzZTI3MjMsXG4pO1xuXG4kY2xyLWJyb3duOiAgICAgbWFwLWdldCgkY2xyLWJyb3duLWxpc3QsIFwiYmFzZVwiKTtcblxuJGNsci1icm93bi01MDogIG1hcC1nZXQoJGNsci1icm93bi1saXN0LCBcIjUwXCIpO1xuJGNsci1icm93bi0xMDA6IG1hcC1nZXQoJGNsci1icm93bi1saXN0LCBcIjEwMFwiKTtcbiRjbHItYnJvd24tMjAwOiBtYXAtZ2V0KCRjbHItYnJvd24tbGlzdCwgXCIyMDBcIik7XG4kY2xyLWJyb3duLTMwMDogbWFwLWdldCgkY2xyLWJyb3duLWxpc3QsIFwiMzAwXCIpO1xuJGNsci1icm93bi00MDA6IG1hcC1nZXQoJGNsci1icm93bi1saXN0LCBcIjQwMFwiKTtcbiRjbHItYnJvd24tNTAwOiBtYXAtZ2V0KCRjbHItYnJvd24tbGlzdCwgXCI1MDBcIik7XG4kY2xyLWJyb3duLTYwMDogbWFwLWdldCgkY2xyLWJyb3duLWxpc3QsIFwiNjAwXCIpO1xuJGNsci1icm93bi03MDA6IG1hcC1nZXQoJGNsci1icm93bi1saXN0LCBcIjcwMFwiKTtcbiRjbHItYnJvd24tODAwOiBtYXAtZ2V0KCRjbHItYnJvd24tbGlzdCwgXCI4MDBcIik7XG4kY2xyLWJyb3duLTkwMDogbWFwLWdldCgkY2xyLWJyb3duLWxpc3QsIFwiOTAwXCIpO1xuXG5cbi8vXG4vLyBHcmV5XG4vL1xuXG4kY2xyLWdyZXktbGlzdDogKFxuICBcImJhc2VcIjogIzllOWU5ZSxcbiAgXCI1MFwiOiAgICNmYWZhZmEsXG4gIFwiMTAwXCI6ICAjZjVmNWY1LFxuICBcIjIwMFwiOiAgI2VlZWVlZSxcbiAgXCIzMDBcIjogICNlMGUwZTAsXG4gIFwiNDAwXCI6ICAjYmRiZGJkLFxuICBcIjUwMFwiOiAgIzllOWU5ZSxcbiAgXCI2MDBcIjogICM3NTc1NzUsXG4gIFwiNzAwXCI6ICAjNjE2MTYxLFxuICBcIjgwMFwiOiAgIzQyNDI0MixcbiAgXCI5MDBcIjogICMyMTIxMjEsXG4pO1xuXG4kY2xyLWdyZXk6ICAgICBtYXAtZ2V0KCRjbHItZ3JleS1saXN0LCBcImJhc2VcIik7XG5cbiRjbHItZ3JleS01MDogIG1hcC1nZXQoJGNsci1ncmV5LWxpc3QsIFwiNTBcIik7XG4kY2xyLWdyZXktMTAwOiBtYXAtZ2V0KCRjbHItZ3JleS1saXN0LCBcIjEwMFwiKTtcbiRjbHItZ3JleS0yMDA6IG1hcC1nZXQoJGNsci1ncmV5LWxpc3QsIFwiMjAwXCIpO1xuJGNsci1ncmV5LTMwMDogbWFwLWdldCgkY2xyLWdyZXktbGlzdCwgXCIzMDBcIik7XG4kY2xyLWdyZXktNDAwOiBtYXAtZ2V0KCRjbHItZ3JleS1saXN0LCBcIjQwMFwiKTtcbiRjbHItZ3JleS01MDA6IG1hcC1nZXQoJGNsci1ncmV5LWxpc3QsIFwiNTAwXCIpO1xuJGNsci1ncmV5LTYwMDogbWFwLWdldCgkY2xyLWdyZXktbGlzdCwgXCI2MDBcIik7XG4kY2xyLWdyZXktNzAwOiBtYXAtZ2V0KCRjbHItZ3JleS1saXN0LCBcIjcwMFwiKTtcbiRjbHItZ3JleS04MDA6IG1hcC1nZXQoJGNsci1ncmV5LWxpc3QsIFwiODAwXCIpO1xuJGNsci1ncmV5LTkwMDogbWFwLWdldCgkY2xyLWdyZXktbGlzdCwgXCI5MDBcIik7XG5cblxuLy9cbi8vIEJsdWUgZ3JleVxuLy9cblxuJGNsci1ibHVlLWdyZXktbGlzdDogKFxuICBcImJhc2VcIjogIzYwN2Q4YixcbiAgXCI1MFwiOiAgICNlY2VmZjEsXG4gIFwiMTAwXCI6ICAjY2ZkOGRjLFxuICBcIjIwMFwiOiAgI2IwYmVjNSxcbiAgXCIzMDBcIjogICM5MGE0YWUsXG4gIFwiNDAwXCI6ICAjNzg5MDljLFxuICBcIjUwMFwiOiAgIzYwN2Q4YixcbiAgXCI2MDBcIjogICM1NDZlN2EsXG4gIFwiNzAwXCI6ICAjNDU1YTY0LFxuICBcIjgwMFwiOiAgIzM3NDc0ZixcbiAgXCI5MDBcIjogICMyNjMyMzgsXG4pO1xuXG4kY2xyLWJsdWUtZ3JleTogICAgIG1hcC1nZXQoJGNsci1ibHVlLWdyZXktbGlzdCwgXCJiYXNlXCIpO1xuXG4kY2xyLWJsdWUtZ3JleS01MDogIG1hcC1nZXQoJGNsci1ibHVlLWdyZXktbGlzdCwgXCI1MFwiKTtcbiRjbHItYmx1ZS1ncmV5LTEwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjEwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTIwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjIwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTMwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjMwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTQwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjQwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTUwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjUwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTYwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjYwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTcwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjcwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTgwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjgwMFwiKTtcbiRjbHItYmx1ZS1ncmV5LTkwMDogbWFwLWdldCgkY2xyLWJsdWUtZ3JleS1saXN0LCBcIjkwMFwiKTtcblxuXG4vL1xuLy8gQmxhY2tcbi8vXG5cbiRjbHItYmxhY2stbGlzdDogKFxuICBcImJhc2VcIjogIzAwMFxuKTtcblxuJGNsci1ibGFjazogbWFwLWdldCgkY2xyLWJsYWNrLWxpc3QsIFwiYmFzZVwiKTtcblxuXG4vL1xuLy8gV2hpdGVcbi8vXG5cbiRjbHItd2hpdGUtbGlzdDogKFxuICBcImJhc2VcIjogI2ZmZlxuKTtcblxuJGNsci13aGl0ZTogbWFwLWdldCgkY2xyLXdoaXRlLWxpc3QsIFwiYmFzZVwiKTtcblxuXG4vL1xuLy8gTGlzdCBmb3IgYWxsIENvbG9ycyBmb3IgbG9vcGluZ1xuLy9cblxuJGNsci1saXN0LWFsbDogKFxuICBcInJlZFwiOiAgICAgICAgICRjbHItcmVkLWxpc3QsXG4gIFwicGlua1wiOiAgICAgICAgJGNsci1waW5rLWxpc3QsXG4gIFwicHVycGxlXCI6ICAgICAgJGNsci1wdXJwbGUtbGlzdCxcbiAgXCJkZWVwLXB1cnBsZVwiOiAkY2xyLWRlZXAtcHVycGxlLWxpc3QsXG4gIFwiaW5kaWdvXCI6ICAgICAgJGNsci1pbmRpZ28tbGlzdCxcbiAgXCJibHVlXCI6ICAgICAgICAkY2xyLWJsdWUtbGlzdCxcbiAgXCJsaWdodC1ibHVlXCI6ICAkY2xyLWxpZ2h0LWJsdWUtbGlzdCxcbiAgXCJjeWFuXCI6ICAgICAgICAkY2xyLWN5YW4tbGlzdCxcbiAgXCJ0ZWFsXCI6ICAgICAgICAkY2xyLXRlYWwtbGlzdCxcbiAgXCJncmVlblwiOiAgICAgICAkY2xyLWdyZWVuLWxpc3QsXG4gIFwibGlnaHQtZ3JlZW5cIjogJGNsci1saWdodC1ncmVlbi1saXN0LFxuICBcImxpbWVcIjogICAgICAgICRjbHItbGltZS1saXN0LFxuICBcInllbGxvd1wiOiAgICAgICRjbHIteWVsbG93LWxpc3QsXG4gIFwiYW1iZXJcIjogICAgICAgJGNsci1hbWJlci1saXN0LFxuICBcIm9yYW5nZVwiOiAgICAgICRjbHItb3JhbmdlLWxpc3QsXG4gIFwiZGVlcC1vcmFuZ2VcIjogJGNsci1kZWVwLW9yYW5nZS1saXN0LFxuICBcImJyb3duXCI6ICAgICAgICRjbHItYnJvd24tbGlzdCxcbiAgXCJncmV5XCI6ICAgICAgICAkY2xyLWdyZXktbGlzdCxcbiAgXCJibHVlLWdyZXlcIjogICAkY2xyLWJsdWUtZ3JleS1saXN0LFxuICBcImJsYWNrXCI6ICAgICAgICRjbHItYmxhY2stbGlzdCxcbiAgXCJ3aGl0ZVwiOiAgICAgICAkY2xyLXdoaXRlLWxpc3Rcbik7XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbiRjbHItdWktZGlzcGxheS00OiAkY2xyLWdyZXktNjAwO1xuJGNsci11aS1kaXNwbGF5LTM6ICRjbHItZ3JleS02MDA7XG4kY2xyLXVpLWRpc3BsYXktMjogJGNsci1ncmV5LTYwMDtcbiRjbHItdWktZGlzcGxheS0xOiAkY2xyLWdyZXktNjAwO1xuJGNsci11aS1oZWFkbGluZTogICRjbHItZ3JleS05MDA7XG4kY2xyLXVpLXRpdGxlOiAgICAgJGNsci1ncmV5LTkwMDtcbiRjbHItdWktc3ViaGVhZC0xOiAkY2xyLWdyZXktOTAwO1xuJGNsci11aS1ib2R5LTI6ICAgICRjbHItZ3JleS05MDA7XG4kY2xyLXVpLWJvZHktMTogICAgJGNsci1ncmV5LTkwMDtcbiRjbHItdWktY2FwdGlvbjogICAkY2xyLWdyZXktNjAwO1xuJGNsci11aS1tZW51OiAgICAgICRjbHItZ3JleS05MDA7XG4kY2xyLXVpLWJ1dHRvbjogICAgJGNsci1ncmV5LTkwMDtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL25vZGVfbW9kdWxlcy9tYXRlcmlhbC1kZXNpZ24tY29sb3IvbWF0ZXJpYWwtY29sb3Iuc2NzcyIsIi8vXG4vLyBOYW1lOiAgICAgICAgICAgTWF0ZXJpYWwgU2hhZG93c1xuLy8gRGVzY3JpcHRpb246ICAgIE1peGlucyBmb3IgTWF0ZXJpYWwgRGVzaWduIFNoYWRvd3MuXG4vLyBWZXJzaW9uOiAgICAgICAgMy4wLjFcbi8vXG4vLyBBdXRob3I6ICAgICAgICAgRGVuaXMgTWFsaW5vY2hraW5cbi8vIEdpdDogICAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vbXJtbG5jL21hdGVyaWFsLXNoYWRvd3Ncbi8vXG4vLyB0d2l0dGVyOiAgICAgICAgQG1ybWxuY1xuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiB6LWRlcHRoLXRyYW5zaXRpb24oKSB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjI4cyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbn1cblxuQG1peGluIHotZGVwdGgtZm9jdXMoKSB7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAuMTgpLCAwIDhweCAxNnB4IHJnYmEoMCwgMCwgMCwgLjM2KTtcbn1cblxuQG1peGluIHotZGVwdGgtMmRwKCkge1xuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIC4xNCksXG4gICAgICAgICAgICAgIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgLjEyKSxcbiAgICAgICAgICAgICAgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAuMik7XG59XG5cbkBtaXhpbiB6LWRlcHRoLTNkcCgpIHtcbiAgYm94LXNoYWRvdzogMCAzcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAuMTQpLFxuICAgICAgICAgICAgICAwIDFweCA4cHggMCByZ2JhKDAsIDAsIDAsIC4xMiksXG4gICAgICAgICAgICAgIDAgM3B4IDNweCAtMnB4IHJnYmEoMCwgMCwgMCwgLjQpO1xufVxuXG5AbWl4aW4gei1kZXB0aC00ZHAoKSB7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgLjE0KSxcbiAgICAgICAgICAgICAgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgLjEyKSxcbiAgICAgICAgICAgICAgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAuNCk7XG59XG5cbkBtaXhpbiB6LWRlcHRoLTZkcCgpIHtcbiAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgLjE0KSxcbiAgICAgICAgICAgICAgMCAxcHggMThweCAwIHJnYmEoMCwgMCwgMCwgLjEyKSxcbiAgICAgICAgICAgICAgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAuNCk7XG59XG5cbkBtaXhpbiB6LWRlcHRoLThkcCgpIHtcbiAgYm94LXNoYWRvdzogMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAuMTQpLFxuICAgICAgICAgICAgICAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIC4xMiksXG4gICAgICAgICAgICAgIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgLjQpO1xufVxuXG5AbWl4aW4gei1kZXB0aC0xNmRwKCkge1xuICBib3gtc2hhZG93OiAwIDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAuMTQpLFxuICAgICAgICAgICAgICAwICA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAuMTIpLFxuICAgICAgICAgICAgICAwICA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgLjQpO1xufVxuXG5AbWl4aW4gei1kZXB0aC0yNGRwKCkge1xuICBib3gtc2hhZG93OiAwICA5cHggNDZweCAgOHB4IHJnYmEoMCwgMCwgMCwgLjE0KSxcbiAgICAgICAgICAgICAgMCAyNHB4IDM4cHggIDNweCByZ2JhKDAsIDAsIDAsIC4xMiksXG4gICAgICAgICAgICAgIDAgMTFweCAxNXB4IC03cHggcmdiYSgwLCAwLCAwLCAuNCk7XG59XG5cbkBtaXhpbiB6LWRlcHRoKCRkcDogMikge1xuICBAaWYgJGRwID09IDIge1xuICAgIEBpbmNsdWRlIHotZGVwdGgtMmRwKCk7XG4gIH0gQGVsc2UgaWYgJGRwID09IDMge1xuICAgIEBpbmNsdWRlIHotZGVwdGgtM2RwKCk7XG4gIH0gQGVsc2UgaWYgJGRwID09IDQge1xuICAgIEBpbmNsdWRlIHotZGVwdGgtNGRwKCk7XG4gIH0gQGVsc2UgaWYgJGRwID09IDYge1xuICAgIEBpbmNsdWRlIHotZGVwdGgtNmRwKCk7XG4gIH0gQGVsc2UgaWYgJGRwID09IDgge1xuICAgIEBpbmNsdWRlIHotZGVwdGgtOGRwKCk7XG4gIH0gQGVsc2UgaWYgJGRwID09IDE2IHtcbiAgICBAaW5jbHVkZSB6LWRlcHRoLTE2ZHAoKTtcbiAgfSBAZWxzZSBpZiAkZHAgPT0gMjQge1xuICAgIEBpbmNsdWRlIHotZGVwdGgtMjRkcCgpO1xuICB9XG59XG5cblxuLy8gQ2xhc3MgZ2VuZXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHotZGVwdGgtY2xhc3NlcygkdHJhbnNpdGlvbjogZmFsc2UsICRmb2N1czogZmFsc2UpIHtcbiAgQGlmICR0cmFuc2l0aW9uID09IHRydWUge1xuICAgICYtdHJhbnNpdGlvbiB7XG4gICAgICBAaW5jbHVkZSB6LWRlcHRoLXRyYW5zaXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJGZvY3VzID09IHRydWUge1xuICAgICYtZm9jdXMge1xuICAgICAgQGluY2x1ZGUgei1kZXB0aC1mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSBhdmFpbGFibGUgdmFsdWVzIGZvciB0aGUgc2hhZG93IGRlcHRoXG4gIEBlYWNoICRkZXB0aCBpbiAyLCAzLCA0LCA2LCA4LCAxNiwgMjQge1xuICAgICYtI3skZGVwdGh9ZHAge1xuICAgICAgQGluY2x1ZGUgei1kZXB0aCgkZGVwdGgpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLXNoYWRvd3MvbWF0ZXJpYWwtc2hhZG93cy5zY3NzIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDE4IE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBY3RpdmUgKHRvZ2dsZWQpIGRyYXdlclxuJG1kLXRvZ2dsZV9fZHJhd2VyLS1jaGVja2VkOlxuICBcIltkYXRhLW1kLXRvZ2dsZT1cXFwiZHJhd2VyXFxcIl06Y2hlY2tlZCB+XCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzOiBiYXNlIGdyaWQgYW5kIGNvbnRhaW5lcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU3RyZXRjaCBjb250YWluZXIgdG8gdmlld3BvcnQgYW5kIHNldCBiYXNlIGZvbnQtc2l6ZSB0byAxMHB4IGZvciBzaW1wbGVcbi8vIGNhbGN1bGF0aW9ucyBiYXNlIG9uIHJlbGF0aXZlIGVtcyAocmVtcylcbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG4gIC8vIEhhY2s6IHNvbWUgYnJvd3NlcnMgb24gc29tZSBvcGVyYXRpbmcgc3lzdGVtcyBkb24ndCBhY2NvdW50IGZvciBzY3JvbGxcbiAgLy8gYmFycyB3aGVuIGZpcmluZyBtZWRpYSBxdWVyaWVzLCBzbyB3ZSBuZWVkIHRvIGRvIHRoaXMgZm9yIHNhZmV0eS4gVGhpc1xuICAvLyBjdXJyZW50bHkgaW1wYWN0cyB0aGUgdGFibGUgb2YgY29udGVudHMgY29tcG9uZW50IGJldHdlZW4gMTIyMCBhbmQgMTIzNHB4XG4gIC8vIGFuZCBpcyB0byBjdXJyZW50IGtub3dsZWRnZSBub3QgZml4YWJsZS5cbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gIC8vIFtzY3JlZW4gbWVkaXVtICtdOiBTZXQgYmFzZSBmb250LXNpemUgdG8gMTFweFxuICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZShzY3JlZW4gbWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiA2OC43NSU7XG4gIH1cblxuICAvLyBbc2NyZWVuIGxhcmdlICtdOiBTZXQgYmFzZSBmb250LXNpemUgdG8gMTJweFxuICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZShzY3JlZW4gbGFyZ2UpIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgfVxufVxuXG4vLyBTdHJldGNoIGJvZHkgdG8gY29udGFpbmVyIGFuZCBsZWF2ZSByb29tIGZvciBmb290ZXJcbmJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcblxuICAvLyBbdGFibGV0IHBvcnRyYWl0IC1dOiBMb2NrIGJvZHkgdG8gZGlzYWJsZSBzY3JvbGwgYnViYmxpbmdcbiAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCBwb3J0cmFpdCkge1xuXG4gICAgLy8gTG9jayBib2R5IHRvIHZpZXdwb3J0IGhlaWdodCAoZS5nLiBpbiBzZWFyY2ggbW9kZSlcbiAgICAmW2RhdGEtbWQtc3RhdGU9XCJsb2NrXCJdIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIC8vIEhpZGUgY29udGFpbmVyIG9uIGlPUywgb3IgdGhlIGJvZHkgd2lsbCBub3QgYmUgbG9ja2VkIGNvcnJlY3RseVxuICAgICAgLmlvcyAmIC5tZC1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIHNlcGFyYXRvcnNcbmhyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMC4xcmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIElubGluZSBTVkcgY29udGFpbmVyXG4ubWQtc3ZnIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gVGVtcGxhdGUtd2lkZSBncmlkXG4ubWQtZ3JpZCB7XG4gIG1heC13aWR0aDogMTIycmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4vLyBQcmV2ZW50IGNvbGxhcHNlIG9mIG1hcmdpbiB3aGVuIHNldHRpbmcgbWFyZ2luIG9uIGNoaWxkIGVsZW1lbnRcbi5tZC1jb250YWluZXIsXG4ubWQtbWFpbiB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vLyBDb250ZW50IHdyYXBwZXIgLSB1c2UgZGlzcGxheTogdGFibGUgdG8gbWFrZSB2YXJpYWJsZS1oZWlnaHQgc3RpY2t5IGZvb3RlcnNcbi8vIHdvcmsgYW5kIGZpeGVkIHRhYmxlLWxheW91dCBmb3IgSUUsIHNlZSBodHRwOi8vYml0Lmx5LzJoWm9oWExcbi5tZC1jb250YWluZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDQuOHJlbTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuLy8gVGhlIG1haW4gY29udGVudCBzaG91bGQgc3RyZXRjaCB0byBtYXhpbXVtIGhlaWdodCBpbiB0aGUgdGFibGVcbi5tZC1tYWluIHtcbiAgZGlzcGxheTogdGFibGUtcm93O1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgLy8gSW5jcmVhc2UgdG9wIHNwYWNpbmcgb2YgY29udGVudCBhcmVhIHRvIGdpdmUgdHlwb2dyYXBoeSBtb3JlIHJvb21cbiAgJl9faW5uZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMi40cmVtICsgMC42cmVtO1xuICAgIC8vIEhhY2s6IGluZHVjZSBtYXJnaW4tY29sbGFwc2UsIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBzaWRlYmFyIGhlaWdodCBpc1xuICAgIC8vIG5vdCBjYWxjdWxhdGVkIGNvcnJlY3RseSBhbmQgdGhlIG92ZXJmbG93IHByb3BlcnR5IG9uIHRoaXMgZWxlbWVudCBtdXN0XG4gICAgLy8gYmUgbGVmdCBpbiBpbml0aWFsIHN0YXRlIGZvciB0YXJnZXR0ZWQgbGluayBvZmZzZXRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4xcmVtO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzOiBuYXZpZ2F0aW9uYWwgZWxlbWVudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVG9nZ2xlIGNoZWNrYm94XG4ubWQtdG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gT3ZlcmxheSBiZWxvdyBleHBhbmRlZCBkcmF3ZXJcbi5tZC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHRyYW5zaXRpb246XG4gICAgd2lkdGggICAwcyAwLjI1cyxcbiAgICBoZWlnaHQgIDBzIDAuMjVzLFxuICAgIG9wYWNpdHkgMC4yNXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDM7XG5cbiAgLy8gW3RhYmxldCAtXTogVHJpZ2dlciBvdmVybGF5XG4gIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQpIHtcblxuICAgIC8vIEV4cGFuZGVkIGRyYXdlclxuICAgICN7JG1kLXRvZ2dsZV9fZHJhd2VyLS1jaGVja2VkfSAmIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgd2lkdGggICAwcyxcbiAgICAgICAgaGVpZ2h0ICAwcyxcbiAgICAgICAgb3BhY2l0eSAwLjI1cztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzOiBmbGV4aWJsZSBlbGVtZW50cywgaW1wbGVtZW50ZWQgd2l0aCB0YWJsZSBsYXlvdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRmxleGlibGUgbGF5b3V0IGNvbnRhaW5lclxuLm1kLWZsZXgge1xuICBkaXNwbGF5OiB0YWJsZTtcblxuICAvLyBGbGV4aWJsZSBsYXlvdXQgY29udGFpbmVyIGNlbGwvZWxlbWVudFxuICAmX19jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgLy8gU2hyaW5rIHRvIG1pbmltdW0gd2lkdGhcbiAgICAmLS1zaHJpbmsge1xuICAgICAgd2lkdGg6IDAlO1xuICAgIH1cblxuICAgIC8vIFN0cmV0Y2ggdG8gbWF4aW11bSB3aWR0aFxuICAgICYtLXN0cmV0Y2gge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQXBwbHkgZWxsaXBzaXMgaW4gY2FzZSBvZiBvdmVyZmxvd2luZyB0ZXh0XG4gICZfX2VsbGlwc2lzIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlczogc2tpcCBsaW5rXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNraXAgbGlua1xuLm1kLXNraXAge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAwLjFyZW07XG4gIGhlaWdodDogMC4xcmVtO1xuICBtYXJnaW46IDFyZW07XG4gIHBhZGRpbmc6IDAuNnJlbSAxcmVtO1xuICBjbGlwOiByZWN0KDAuMXJlbSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjhyZW0pO1xuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjaztcbiAgY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgZm9udC1zaXplOiBtcygtMSk7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLy8gU2hvdyBza2lwIGxpbmsgb24gZm9jdXNcbiAgJjpmb2N1cyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGNsaXA6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgIG9wYWNpdHkgICAwLjE3NXMgMC4wNzVzO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXM6IHByaW50IHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBZGQgbWFyZ2lucyB0byBwYWdlXG5AcGFnZSB7XG4gIG1hcmdpbjogMjVtbTtcbn1cblxudWwsIHVsIGxpIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5hYm91dCB7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cblxuLmFib3V0LWxpc3Qge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5hYm91dC1saXN0IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMXB4O1xuICB3aWR0aDogMTY4cHg7XG4gIGhlaWdodDogMjgwcHg7XG4gIHBhZGRpbmc6IDIwcHggMTVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YwZjBmMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAtMXB4IDBweCAxMHB4ICNlNGU0ZTQ7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTFweCAwcHggMTBweCAjZTRlNGU0O1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3M7IH1cblxuLmFib3V0LWxpc3QgbGk6aG92ZXIge1xuICBib3gtc2hhZG93OiAtMXB4IDBweCAxNXB4ICNkYmRiZGI7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTFweCAwcHggMTVweCAjZGJkYmRiOyB9XG5cbi5hYm91dC1saXN0IC5waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogYXV0bztcbiAgd2lkdGg6IDE2OHB4O1xuICBoZWlnaHQ6IDE2OHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLmFib3V0LWxpc3QgLmRlc2Mge1xuICBtYXJnaW46IDA7IH1cblxuLmFib3V0LWxpc3QgLmRlc2MgZHQge1xuICBtYXJnaW46IDEwcHggMCA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5hYm91dC1saXN0IC5kZXNjIGRkIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAuOGVtO1xuICBsaW5lLWhlaWdodDogMS40ZW07XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIGNvbG9yOiAjODg4O1xuICB3aWR0aDogMTAwJTsgfVxuXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2xheW91dC9fYmFzZS5zY3NzIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDE4IE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIENvcHkgdG8gY2xpcGJvYXJkXG4ubWQtY2xpcGJvYXJkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuNnJlbTtcbiAgcmlnaHQ6IDAuNnJlbTtcbiAgd2lkdGg6IDIuOHJlbTtcbiAgaGVpZ2h0OiAyLjhyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTtcbiAgLy8gSGFjazogcHV0IGV2ZXJ5dGhpbmcgb24gdGhlIEdQVSB0byBvbWl0IGZsaWNrZXJpbmdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIEhpZGUgZm9yIHByaW50XG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEljb25cbiAgJjo6YmVmb3JlIHtcbiAgICBAZXh0ZW5kICVtZC1pY29uO1xuXG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGNvbG9yICAgMC4yNXMsXG4gICAgICBvcGFjaXR5IDAuMjVzO1xuICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXN0O1xuICAgIGNvbnRlbnQ6IFwiXFxFMTREXCI7IC8vIGNvbnRlbnRfY29weVxuXG4gICAgLy8gU2hvdyBvbiBjb250YWluZXIgaG92ZXJcbiAgICBwcmU6aG92ZXIgJixcbiAgICAuY29kZWhpbGl0ZTpob3ZlciAmIHtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvY3VzZWQgb3IgaG92ZXJlZCBpY29uXG4gICY6Zm9jdXM6OmJlZm9yZSxcbiAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICBjb2xvcjogJG1kLWNvbG9yLWFjY2VudDtcbiAgfVxuXG4gIC8vIE1lc3NhZ2VcbiAgJl9fbWVzc2FnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMy40cmVtO1xuICAgIHBhZGRpbmc6IDAuNnJlbSAxcmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwLjhyZW0pO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAuOSwgMC4xLCAwLjksIDApLFxuICAgICAgb3BhY2l0eSAgIDAuMTc1cztcbiAgICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICBjb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC8vIEFjdGl2ZSBtZXNzYWdlXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLFxuICAgICAgICBvcGFjaXR5ICAgMC4xNzVzIDAuMDc1cztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICB9XG5cbiAgICAvLyBJbmplY3QgY29udGVudCBmcm9tIEFSSUEgbGFiZWxcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogYXR0cihhcmlhLWxhYmVsKTtcbiAgICB9XG5cbiAgICAvLyBQYWludCBhIG5pY2Ugc3BlZWNoIGJ1YmJsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogLTAuNHJlbTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNHJlbTtcbiAgICAgIGJvcmRlci13aWR0aDogMC40cmVtIDAgMC40cmVtIDAuNHJlbTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX2NsaXBib2FyZC5zY3NzIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDE4IE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIENvbnRlbnQgY29udGFpbmVyXG4ubWQtY29udGVudCB7XG5cbiAgLy8gW3RhYmxldCBsYW5kc2NhcGUgK106IEFkZCBzcGFjZSBmb3IgdGFibGUgb2YgY29udGVudHNcbiAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgIG1hcmdpbi1yaWdodDogMjQuMnJlbTtcblxuICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGluaXRpYWw7XG4gICAgICBtYXJnaW4tbGVmdDogMjQuMnJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBbc2NyZWVuICtdOiBBZGQgc3BhY2UgZm9yIHRhYmxlIG9mIGNvbnRlbnRzXG4gIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHNjcmVlbikge1xuICAgIG1hcmdpbi1sZWZ0OiAyNC4ycmVtO1xuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjQuMnJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbmUgc3BhY2luZ1xuICAmX19pbm5lciB7XG4gICAgbWFyZ2luOiAwIDEuNnJlbSAyLjRyZW07XG4gICAgcGFkZGluZy10b3A6IDEuMnJlbTtcblxuICAgIC8vIFtzY3JlZW4gK106IEluY3JlYXNlIGhvcml6b250YWwgc3BhY2luZ1xuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHNjcmVlbikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjRyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMi40cmVtO1xuICAgIH1cblxuICAgIC8vIEhhY2s6IGFkZCBwc2V1ZG8gZWxlbWVudCBmb3Igc3BhY2luZywgYXMgdGhlIG92ZXJmbG93IG9mIHRoZSBjb250ZW50XG4gICAgLy8gY29udGFpbmVyIG1heSBub3QgYmUgaGlkZGVuIGR1ZSB0byBhbiBpbW1pbmVudCBvZmZzZXQgZXJyb3Igb24gdGFyZ2V0c1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMC44cmVtO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICAvLyBIYWNrOiByZW1vdmUgYm90dG9tIHNwYWNpbmcgb2YgbGFzdCBlbGVtZW50LCBkdWUgdG8gbWFyZ2luIGNvbGxhcHNlXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEljb25zXG4gICZfX2ljb24ge1xuICAgIEBleHRlbmQgJW1kLWljb25fX2J1dHRvbjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAuOHJlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBsaW5rIGNvbG9yIGZvciBpY29uc1xuICAgIC5tZC10eXBlc2V0ICYge1xuICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcbiAgICB9XG5cbiAgICAvLyBIaWRlIGZvciBwcmludFxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX2NvbnRlbnQuc2NzcyIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxOCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBcHBsaWNhdGlvbiBoZWFkZXIgKHN0YXlzIGFsd2F5cyBvbiB0b3ApXG4ubWQtaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDQuOHJlbTtcbiAgdHJhbnNpdGlvbjpcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzLFxuICAgIGNvbG9yIDAuMjVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItcHJpbWFyeTtcbiAgY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgei1pbmRleDogMjtcbiAgLy8gSGFjazogcHV0dGluZyB0aGUgaGVhZGVyIG9uIHRoZSBHUFUgYXZvaWRzIHVubmVjZXNzYXJ5IHJlcGFpbnRzXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBBbHdheXMgc2hvdyBzaGFkb3csIGluIGNhc2UgSmF2YVNjcmlwdCBpcyBub3QgYXZhaWxhYmxlXG4gIC5uby1qcyAmIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAvLyBTaG93IGFuZCBhbmltYXRlIHNoYWRvd1xuICAmW2RhdGEtbWQtc3RhdGU9XCJzaGFkb3dcIl0ge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzLFxuICAgICAgY29sb3IgMC4yNXMsXG4gICAgICBib3gtc2hhZG93IDAuMjVzO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDAgICAgICAwLjRyZW0gcmdiYSgwLCAwLCAwLCAwLjEpLFxuICAgICAgMCAwLjRyZW0gMC44cmVtIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgfVxuXG4gIC8vIEhpZGUgZm9yIHByaW50XG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBOYXZpZ2F0aW9uIHdpdGhpbiBoZWFkZXJcbi5tZC1oZWFkZXItbmF2IHtcbiAgcGFkZGluZzogMCAwLjRyZW07XG5cbiAgLy8gSWNvbiBidXR0b25zXG4gICZfX2J1dHRvbiB7XG4gICAgQGV4dGVuZCAlbWQtaWNvbl9fYnV0dG9uO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7XG4gICAgei1pbmRleDogMTtcblxuICAgIC8vIEhvdmVyZWQgaWNvblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cblxuICAgIC8vIFNldCBjb3JyZWN0IGRpc3BsYXkgb24gaW1hZ2Ugb3IgaWNvblxuICAgICYubWQtbG9nbyAqIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8vIEhpZGUgc2VhcmNoIGljb24sIGlmIEphdmFTY3JpcHQgaXMgbm90IGF2YWlsYWJsZS5cbiAgICAubm8tanMgJi5tZC1pY29uLS1zZWFyY2gge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBbdGFibGV0IGxhbmRzY2FwZSArXTogSGlkZSB0aGUgc2VhcmNoIGljb25cbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgbGFuZHNjYXBlKSB7XG5cbiAgICAgIC8vIFNlYXJjaCBpY29uXG4gICAgICAmLm1kLWljb24tLXNlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gW3RhYmxldCAtXTogSGlkZSB0aGUgaG9tZSBpY29uIG9yIGxvZ29cbiAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0KSB7XG5cbiAgICAgIC8vIEhvbWUgaWNvbiBvciBsb2dvXG4gICAgICAmLm1kLWljb24tLWhvbWUsXG4gICAgICAmLm1kLWxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFtzY3JlZW4gK106IEhpZGUgdGhlIG1lbnUgaWNvblxuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHNjcmVlbikge1xuXG4gICAgICAvLyBNZW51IGljb25cbiAgICAgICYubWQtaWNvbi0tbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGVyIHRvcGljc1xuICAmX190b3BpYyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSksXG4gICAgICBvcGFjaXR5ICAgMC4xNXM7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gUGFnZSB0aXRsZVxuICAgICYgKyAmIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyLjVyZW0pO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDEsIDAuNywgMC4xLCAwLjEpLFxuICAgICAgICBvcGFjaXR5ICAgMC4xNXM7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIuNXJlbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5kdWNlIGVsbGlwc2lzLCBpZiBubyBKYXZhU2NyaXB0IGlzIGF2YWlsYWJsZVxuICAgIC5uby1qcyAmIHtcbiAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC8vIEhpZGUgcGFnZSB0aXRsZSBhcyBpdCBpcyBpbnZpc2libGUgYW55d2F5IGFuZCB3aWxsIG92ZXJmbG93IHRoZSBoZWFkZXJcbiAgICAubm8tanMgJiArICYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkZXIgdGl0bGUgLSBzZXQgbGluZSBoZWlnaHQgdG8gbWF0Y2ggaWNvbiBmb3IgY29ycmVjdCBhbGlnbm1lbnRcbiAgJl9fdGl0bGUge1xuICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogNC44cmVtO1xuXG4gICAgLy8gU2hvdyBwYWdlIHRpdGxlXG4gICAgJltkYXRhLW1kLXN0YXRlPVwiYWN0aXZlXCJdIC5tZC1oZWFkZXItbmF2X190b3BpYyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIuNXJlbSk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMSwgMC43LCAwLjEsIDAuMSksXG4gICAgICAgIG9wYWNpdHkgICAwLjE1cztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyLjVyZW0pO1xuICAgICAgfVxuXG4gICAgICAvLyBQYWdlIHRpdGxlXG4gICAgICAmICsgLm1kLWhlYWRlci1uYXZfX3RvcGljIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKSxcbiAgICAgICAgICBvcGFjaXR5ICAgMC4xNXM7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlcG9zaXRvcnkgY29udGFpbmluZyBzb3VyY2VcbiAgJl9fc291cmNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGUgK106IFNob3cgdGhlIHJlcG9zaXN0b3J5IGZyb20gdGFibGV0XG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjNyZW07XG4gICAgICBtYXgtd2lkdGg6IDIzcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIuOHJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMnJlbTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuOHJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4ycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX2hlYWRlci5zY3NzIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDE4IE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhlcm8gdGVhc2VyXG4ubWQtaGVybyB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1wcmltYXJ5O1xuICBjb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICBmb250LXNpemU6IG1zKDEpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIElubmVyIHdyYXBwZXJcbiAgJl9faW5uZXIge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgcGFkZGluZzogMS42cmVtIDEuNnJlbSAwLjhyZW07XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKSxcbiAgICAgIG9wYWNpdHkgICAwLjI1cztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuXG4gICAgLy8gW3RhYmxldCAtXTogQ29tcGVuc2F0ZSBmb3IgbWlzc2luZyB0YWJzXG4gICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogNC44cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgIH1cblxuICAgIC8vIEZhZGUtb3V0IHRhYnMgYmFja2dyb3VuZCB1cG9uIHNjcm9sbGluZ1xuICAgIFtkYXRhLW1kLXN0YXRlPVwiaGlkZGVuXCJdICYge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMS4yNXJlbSk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gMHMgICAwLjRzLFxuICAgICAgICBvcGFjaXR5ICAgMC4xcyAwcztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLy8gQWRqdXN0IGJvdHRvbSBzcGFjaW5nIGlmIHRoZXJlIGFyZSBubyB0YWJzXG4gICAgLm1kLWhlcm8tLWV4cGFuZCAmIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvbGF5b3V0L19oZXJvLnNjc3MiLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMTggTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQXBwbGljYXRpb24gZm9vdGVyXG4ubWQtZm9vdGVyIHtcblxuICAvLyBIaWRlIGZvciBwcmludFxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gTmF2aWdhdGlvbiB3aXRoaW4gZm9vdGVyXG4ubWQtZm9vdGVyLW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjaztcbiAgY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcblxuICAvLyBTZXQgc3BhY2luZ1xuICAmX19pbm5lciB7XG4gICAgcGFkZGluZzogMC40cmVtO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTGlua3MgdG8gcHJldmlvdXMgYW5kIG5leHQgcGFnZVxuICAmX19saW5rIHtcbiAgICBwYWRkaW5nLXRvcDogMi44cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjhyZW07XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcblxuICAgIC8vIFt0YWJsZXQgK106IFNldCBwcm9wb3J0aW9uYWwgd2lkdGhcbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgLy8gSG92ZXJlZCBsaW5rXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuXG4gICAgLy8gTGluayB0byBwcmV2aW91cyBwYWdlXG4gICAgJi0tcHJldiB7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICAvLyBUaXRsZVxuICAgICAgLm1kLWZvb3Rlci1uYXZfX3RpdGxlIHtcblxuICAgICAgICAvLyBbbW9iaWxlIC1dOiBIaWRlIHRpdGxlIGZvciBwcmV2aW91cyBwYWdlXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZShtb2JpbGUpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGluayB0byBuZXh0IHBhZ2VcbiAgICAmLS1uZXh0IHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJY29uIGJ1dHRvbnNcbiAgJl9fYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVtZC1pY29uX19idXR0b247XG5cbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzO1xuICB9XG5cbiAgLy8gTGluayB0aXRsZSAtIHNldCBsaW5lIGhlaWdodCB0byBtYXRjaCBpY29uIGZvciBjb3JyZWN0IGFsaWdubWVudFxuICAmX190aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogNC44cmVtO1xuICB9XG5cbiAgLy8gTGluayBkaXJlY3Rpb25cbiAgJl9fZGlyZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgY29sb3I6ICRtZC1jb2xvci13aGl0ZS0tbGlnaHQ7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuLy8gTm9uLW5hdmlnYXRpb25hbCBpbmZvcm1hdGlvblxuLm1kLWZvb3Rlci1tZXRhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogb3BhY2lmeSgkbWQtY29sb3ItYmxhY2ssIDAuMDI1KTtcblxuICAvLyBTZXQgc3BhY2luZ1xuICAmX19pbm5lciB7XG4gICAgcGFkZGluZzogMC40cmVtO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gVXNlIGEgZGVjZW50IGNvbG9yIGZvciBub24taG92ZXJlZCBsaW5rcyBhbmQgZW5zdXJlIHNwZWNpZmljaXR5XG4gIGh0bWwgJi5tZC10eXBlc2V0IGEge1xuICAgIGNvbG9yOiAkbWQtY29sb3Itd2hpdGUtLWxpZ2h0O1xuXG4gICAgLy8gRm9jdXNlZCBvciBob3ZlcmVkIGxpbmtcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29weXJpZ2h0IGFuZCB0aGVtZSBpbmZvcm1hdGlvblxuLm1kLWZvb3Rlci1jb3B5cmlnaHQge1xuICBtYXJnaW46IDAgMS4ycmVtO1xuICBwYWRkaW5nOiAwLjhyZW0gMDtcbiAgY29sb3I6ICRtZC1jb2xvci13aGl0ZS0tbGlnaHRlcjtcbiAgZm9udC1zaXplOiBtcygtMSk7XG5cbiAgLy8gW3RhYmxldCBwb3J0cmFpdCArXTogU2hvdyBuZXh0IHRvIHNvY2lhbCBtZWRpYSBsaW5rc1xuICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgcG9ydHJhaXQpIHtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSGlnaGxpZ2h0IGNvcHlyaWdodCBpbmZvcm1hdGlvblxuICAmX19oaWdobGlnaHQge1xuICAgIGNvbG9yOiAkbWQtY29sb3Itd2hpdGUtLWxpZ2h0O1xuICB9XG59XG5cbi8vIFNvY2lhbCBtZWRpYSBsaW5rc1xuLm1kLWZvb3Rlci1zb2NpYWwge1xuICBtYXJnaW46IDAgMC44cmVtO1xuICBwYWRkaW5nOiAwLjRyZW0gMCAxLjJyZW07XG5cbiAgLy8gW3RhYmxldCBwb3J0cmFpdCArXTogU2hvdyBuZXh0IHRvIGNvcHlyaWdodCBpbmZvcm1hdGlvblxuICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgcG9ydHJhaXQpIHtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMDtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gTGluayB3aXRoIGljb25cbiAgJl9fbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAzLjJyZW07XG4gICAgaGVpZ2h0OiAzLjJyZW07XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLy8gQWRqdXN0IGxpbmUtaGVpZ2h0IHRvIG1hdGNoIGhlaWdodCBmb3IgY29ycmVjdCBhbGlnbm1lbnRcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvbGF5b3V0L19mb290ZXIuc2NzcyIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxOCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBOYXZpZ2F0aW9uIGNvbnRhaW5lclxuLm1kLW5hdiB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuXG4gIC8vIExpc3QgdGl0bGVcbiAgJl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIEljb24sIGhpZGRlbiBieSBkZWZhdWx0XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBleHRlbmQgJW1kLWljb24sICVtZC1pY29uX19idXR0b247XG5cbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBjb250ZW50OiBcIlxcRTVDNFwiOyAvLyBhcnJvd19iYWNrXG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgY29udGVudDogXCJcXEU1QzhcIjsgLy8gYXJyb3dfZm9yd2FyZFxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhpZGUgYnV0dG9uIGJ5IGRlZmF1bHRcbiAgICAubWQtbmF2X19idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBMaXN0IG9mIGl0ZW1zXG4gICZfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1cbiAgJl9faXRlbSB7XG4gICAgcGFkZGluZzogMCAxLjJyZW07XG5cbiAgICAvLyBBZGQgYm90dG9tIHNwYWNpbmcgdG8gbGFzdCBpdGVtXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG4gICAgfVxuXG4gICAgLy8gMm5kKyBsZXZlbCBpdGVtc1xuICAgICYgJiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMnJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmUgYm90dG9tIHNwYWNpbmcgZm9yIG5lc3RlZCBpdGVtc1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQnV0dG9uIHdpdGggbG9nb1xuICAmX19idXR0b24ge1xuICAgIEBleHRlbmQgJW1kLWljb24sICVtZC1pY29uX19idXR0b247XG5cbiAgICAvLyBTdHJldGNoIGltYWdlXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIExpbmsgaW5zaWRlIGl0ZW1cbiAgJl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMC42MjVlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjEyNXM7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvLyBJY29uXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGV4dGVuZCAlbWQtaWNvbjtcblxuICAgICAgLy8gSXRlbSBjb250YWlucyBhIG5lc3RlZCBsaXN0XG4gICAgICAubWQtbmF2X19pdGVtLS1uZXN0ZWQgPiAmIHtcbiAgICAgICAgY29udGVudDogXCJcXEUzMTNcIjsgLy8ga2V5Ym9hcmRfYXJyb3dfZG93blxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhpZGUgbGluayB0byB0YWJsZSBvZiBjb250ZW50cyBieSBkZWZhdWx0IC0gdGhpcyB3aWxsIG9ubHkgbWF0Y2ggdGhlXG4gICAgLy8gdGFibGUgb2YgY29udGVudHMgaW5zaWRlIHRoZSBkcmF3ZXIgYmVsb3cgYW5kIGluY2x1ZGluZyB0YWJsZXQgcG9ydHJhaXRcbiAgICBodG1sICZbZm9yPVwiX190b2NcIl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgLy8gSGlkZSB0YWJsZSBvZiBjb250ZW50cyBieSBkZWZhdWx0XG4gICAgICAmIH4gLm1kLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8vIEhpZGUgaWNvbiBmb3IgY3VycmVudCBpdGVtXG4gICAgICArIC5tZC1uYXZfX2xpbms6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbHVycmVkIGxpbmtcbiAgICAmW2RhdGEtbWQtc3RhdGU9XCJibHVyXCJdIHtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBsaW5rXG4gICAgJjphY3RpdmUsXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3ItcHJpbWFyeTtcbiAgICB9XG5cbiAgICAvLyBSZXNldCBhY3RpdmUgY29sb3IgZm9yIG5lc3RlZCBsaXN0IHRpdGxlc1xuICAgIC5tZC1uYXZfX2l0ZW0tLW5lc3RlZCA+ICYge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gRm9jdXNlZCBvciBob3ZlcmVkIGxpbmtcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRtZC1jb2xvci1hY2NlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVwb3NpdG9yeSBjb250YWluaW5nIHNvdXJjZVxuICAmX19zb3VyY2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBbdGFibGV0IC1dOiBMYXllcmVkIG5hdmlnYXRpb25cbiAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcblxuICAgIC8vIFN0cmV0Y2ggcHJpbWFyeSBuYXZpZ2F0aW9uIHRvIGRyYXdlclxuICAgICYtLXByaW1hcnksXG4gICAgJi0tcHJpbWFyeSAubWQtbmF2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAvLyBBZGp1c3Qgc3R5bGVzIGZvciBwcmltYXJ5IG5hdmlnYXRpb25cbiAgICAmLS1wcmltYXJ5IHtcblxuICAgICAgLy8gTGlzdCB0aXRsZSBhbmQgaXRlbVxuICAgICAgLm1kLW5hdl9fdGl0bGUsXG4gICAgICAubWQtbmF2X19pdGVtIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB9XG5cbiAgICAgIC8vIExpc3QgdGl0bGUgLSBoaWdoZXIgc3BlY2lmaWNpdHkgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSB0aGF0IHRoZSB0aXRsZVxuICAgICAgLy8gaW5zaWRlIHRoZSBkcmF3ZXIgaXMgYWx3YXlzIHN0eWxlZCBhY2NvcmRpbmdseVxuICAgICAgaHRtbCAmIC5tZC1uYXZfX3RpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDExLjJyZW07XG4gICAgICAgIHBhZGRpbmc6IDZyZW0gMS42cmVtIDAuNHJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdDtcbiAgICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0LjhyZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAvLyBJY29uXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMC40cmVtO1xuICAgICAgICAgIGxlZnQ6IDAuNHJlbTtcbiAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNYWluIGxpc3RzXG4gICAgICAgIH4gLm1kLW5hdl9fbGlzdCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMC4xcmVtIDAgJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdCBpbnNldDtcblxuICAgICAgICAgIC8vIFJlbW92ZSBib3JkZXIgZm9yIGZpcnN0IGxpc3QgaXRlbVxuICAgICAgICAgICYgPiAubWQtbmF2X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2l0ZSB0aXRsZSBpbiBtYWluIG5hdmlnYXRpb25cbiAgICAgICAgJi0tc2l0ZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1wcmltYXJ5O1xuICAgICAgICAgIGNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG5cbiAgICAgICAgICAvLyBTaXRlIGxvZ29cbiAgICAgICAgICAubWQtbmF2X19idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDAuNHJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDAuNHJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA2LjRyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDYuNHJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNC44cmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEhpZGUgYmFjayBhcnJvdyBpY29uXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgaHRtbCBbZGlyPVwicnRsXCJdICYgLm1kLW5hdl9fdGl0bGUge1xuXG4gICAgICAgIC8vIEljb25cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICByaWdodDogMC40cmVtO1xuICAgICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTaXRlIHRpdGxlIGluIG1haW4gbmF2aWdhdGlvblxuICAgICAgICAmLS1zaXRlIC5tZC1uYXZfX2J1dHRvbiB7XG4gICAgICAgICAgcmlnaHQ6IDAuNHJlbTtcbiAgICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIExpc3Qgb2YgaXRlbXNcbiAgICAgIC5tZC1uYXZfX2xpc3Qge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAvLyBMaXN0IGl0ZW1cbiAgICAgIC5tZC1uYXZfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAwLjFyZW0gc29saWQgJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdDtcblxuICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5jcmVhc2Ugc3BhY2luZyB0byBhY2NvdW50IGZvciBpY29uXG4gICAgICAgICYtLW5lc3RlZCA+IC5tZC1uYXZfX2xpbmsge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQuOHJlbTtcblxuICAgICAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuOHJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBSZXBsYWNlIGljb24gd2l0aCByaWdodCBhcnJvd1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxFMzE1XCI7IC8vIGtleWJvYXJkX2Fycm93X3JpZ2h0XG5cbiAgICAgICAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcXEUzMTRcIjsgLy8ga2V5Ym9hcmRfYXJyb3dfbGVmdFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBMaW5rIGluc2lkZSBpdGVtXG4gICAgICAubWQtbmF2X19saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMS42cmVtO1xuXG4gICAgICAgIC8vIFJvdGF0ZSBpY29uXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgcmlnaHQ6IDEuMnJlbTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMS4ycmVtO1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuXG4gICAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgbGVmdDogMS4ycmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUYWJsZSBvZiBjb250ZW50cyBpbnNpZGUgbmF2aWdhdGlvblxuICAgICAgLm1kLW5hdi0tc2Vjb25kYXJ5IHtcblxuICAgICAgICAvLyBTZXQgbGlua3MgdG8gc3RhdGljIHRvIGF2b2lkIHVubmVjZXNzYXJ5IGxheWVyaW5nXG4gICAgICAgIC5tZC1uYXZfX2xpbmsge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgbmVzdGVkIG5hdmlnYXRpb24gZm9yIHRhYmxlIG9mIGNvbnRlbnRzIHRvIHN0YXRpY1xuICAgICAgICAubWQtbmF2IHtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgLy8gM3JkIGxldmVsIGxpbmtcbiAgICAgICAgICAubWQtbmF2X19saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi44cmVtO1xuXG4gICAgICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuOHJlbTtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIDR0aCBsZXZlbCBsaW5rXG4gICAgICAgICAgLm1kLW5hdiAubWQtbmF2X19saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcblxuICAgICAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGluaXRpYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gNXRoIGxldmVsIGxpbmtcbiAgICAgICAgICAubWQtbmF2IC5tZC1uYXYgLm1kLW5hdl9fbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUuMnJlbTtcblxuICAgICAgICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1LjJyZW07XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyA2dGggbGV2ZWwgbGlua1xuICAgICAgICAgIC5tZC1uYXYgLm1kLW5hdiAubWQtbmF2IC5tZC1uYXZfX2xpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2LjRyZW07XG5cbiAgICAgICAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNi40cmVtO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGluaXRpYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGlkZSBuZXN0ZWQgbmF2aWdhdGlvbiBieSBkZWZhdWx0XG4gICAgLm1kLW5hdl9fdG9nZ2xlIH4gJiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLjgsIDAsIDAuNiwgMSksXG4gICAgICAgIG9wYWNpdHkgICAwLjEyNXMgMC4wNXM7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEp1c3QgaGlkZSBuYXZpZ2F0aW9uLCBpZiBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydHMgM0QgdHJhbnNmb3Jtc1xuICAgICAgLm5vLWNzc3RyYW5zZm9ybXMzZCAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmQgbmVzdGVkIG5hdmlnYXRpb24sIGlmIHRvZ2dsZSBpcyBjaGVja2VkXG4gICAgLm1kLW5hdl9fdG9nZ2xlOmNoZWNrZWQgfiAmIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLFxuICAgICAgICBvcGFjaXR5ICAgMC4xMjVzIDAuMTI1cztcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIC8vIEp1c3Qgc2hvdyBuYXZpZ2F0aW9uLCBpZiBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydHMgM0QgdHJhbnNmb3Jtc1xuICAgICAgLm5vLWNzc3RyYW5zZm9ybXMzZCAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBbdGFibGV0IHBvcnRyYWl0IC1dOiBTaG93IHRhYmxlIG9mIGNvbnRlbnRzIGluIGRyYXdlclxuICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0IHBvcnRyYWl0KSB7XG5cbiAgICAvLyBTaG93IGxpbmsgdG8gdGFibGUgb2YgY29udGVudHMgLSBoaWdoZXIgc3BlY2lmaWNpdHkgaXMgbmVjZXNzYXJ5IHRvXG4gICAgLy8gZGlzcGxheSB0aGUgdGFibGUgb2YgY29udGVudHMgaW5zaWRlIHRoZSBkcmF3ZXJcbiAgICBodG1sICZfX2xpbmtbZm9yPVwiX190b2NcIl0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0LjhyZW07XG5cbiAgICAgIC8vIFVucm90YXRlIGljb24gZm9yIHRhYmxlIG9mIGNvbnRlbnRzXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjb250ZW50OiBcIlxcRThERVwiOyAvLyB0b2NcbiAgICAgIH1cblxuICAgICAgLy8gSGlkZSBsaW5rIHRvIGN1cnJlbnQgaXRlbVxuICAgICAgKyAubWQtbmF2X19saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gU2hvdyB0YWJsZSBvZiBjb250ZW50c1xuICAgICAgJiB+IC5tZC1uYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgIGh0bWwgW2Rpcj1cInJ0bFwiXSAmX19saW5rIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNnJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogNC44cmVtO1xuICAgIH1cblxuICAgIC8vIFJlcG9zaXRvcnkgY29udGFpbmluZyBzb3VyY2VcbiAgICAmX19zb3VyY2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDAuNHJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkbWQtY29sb3ItcHJpbWFyeSwgJG1kLWNvbG9yLWJsYWNrLCA3NSUpO1xuICAgICAgY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBbc2NyZWVuICtdOiBUcmVlLWxpa2UgbmF2aWdhdGlvblxuICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZShzY3JlZW4pIHtcblxuICAgIC8vIEFuaW1hdGlvbiBpcyBvbmx5IHBvc3NpYmxlIGlmIEphdmFTY3JpcHQgaXMgYXZhaWxhYmxlLCBhcyB0aGUgbWF4LWhlaWdodFxuICAgIC8vIHByb3BlcnR5IG11c3QgYmUgY2FsY3VsYXRlZCBiZWZvcmUgdHJhbnNpdGlvbmluZ1xuICAgICZbZGF0YS1tZC1zdGF0ZT1cImFuaW1hdGVcIl0ge1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjI1cyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG4gICAgfVxuXG4gICAgLy8gSGlkZSBuZXN0ZWQgbmF2aWdhdGlvbiBieSBkZWZhdWx0XG4gICAgLm1kLW5hdl9fdG9nZ2xlIH4gJiB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgLy8gSnVzdCBoaWRlIGxpbmtzIGZvciBhY2Nlc3NpYmlsaXR5IGlmIEphdmFTY3JpcHQgaXMgbm90IGF2YWlsYWJsZVxuICAgICAgLm5vLWpzICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZCBuZXN0ZWQgbmF2aWdhdGlvbiwgaWYgdG9nZ2xlIGlzIGNoZWNrZWRcbiAgICAubWQtbmF2X190b2dnbGU6Y2hlY2tlZCB+ICYsXG4gICAgJltkYXRhLW1kLXN0YXRlPVwiZXhwYW5kXCJdIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgICAgIC8vIEp1c3Qgc2hvdyBmb3IgYWNjZXNzaWJpbGl0eSBsaW5rcyBpZiBKYXZhU2NyaXB0IGlzIG5vdCBhdmFpbGFibGVcbiAgICAgIC5uby1qcyAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGlkZSB0aXRsZXMgZm9yIG5lc3RlZCBuYXZpZ2F0aW9uXG4gICAgJl9faXRlbS0tbmVzdGVkID4gLm1kLW5hdiA+ICZfX3RpdGxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gTGluayBpbnNpZGUgaXRlbSAtIGlkZWFsbHkgdGhlIGxpbmsgZGlzcGxheSBtZXRob2Qgd291bGQgYmUgc2V0IHRvXG4gICAgLy8gaW5saW5lIG9uIHNjcmVlbiwgYnV0IHRoaXMgZG9lc24ndCB3b3JrIHdpdGggdGV4dCBlbGxpcHNpc1xuICAgICZfX2xpbmsge1xuXG4gICAgICAvLyBJdGVtIGNvbnRhaW5zIGEgbmVzdGVkIGxpc3RcbiAgICAgIC5tZC1uYXZfX2l0ZW0tLW5lc3RlZCA+ICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwLjQ1ZW0gMC40NWVtO1xuICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07XG5cbiAgICAgICAgLy8gT25seSBhbmltYXRlIGljb24gd2hlbiBKYXZhU2NyaXB0IGlzIGF2YWlsYWJsZSwgYXMgdGhlIGhlaWdodCBjYW5cbiAgICAgICAgLy8gbm90IGJlIGFuaW1hdGVkIGFueXdheSwgYW5kIGJldHRlciBubyBmdW4gdGhhbiBoYWxmIHRoZSBmdW5cbiAgICAgICAgLmpzICYge1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJvdGF0ZSBpY29uIGZvciBleHBhbmRlZCBsaXN0c1xuICAgICAgLm1kLW5hdl9faXRlbS0tbmVzdGVkIC5tZC1uYXZfX3RvZ2dsZTpjaGVja2VkIH4gJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvbGF5b3V0L19uYXYuc2NzcyIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxOCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQWN0aXZlICh0b2dnbGVkKSBzZWFyY2hcbiRtZC10b2dnbGVfX3NlYXJjaC0tY2hlY2tlZDpcbiAgXCJbZGF0YS1tZC10b2dnbGU9XFxcInNlYXJjaFxcXCJdOmNoZWNrZWQgfiAubWQtaGVhZGVyXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNlYXJjaCBjb250YWluZXJcbi5tZC1zZWFyY2gge1xuXG4gIC8vIEhpZGUgc2VhcmNoLCBpZiBKYXZhU2NyaXB0IGlzIG5vdCBhdmFpbGFibGUuXG4gIC5uby1qcyAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gW3RhYmxldCBsYW5kc2NhcGUgK106IEhlYWRlci1lbWJlZGRlZCBzZWFyY2hcbiAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgIHBhZGRpbmc6IDAuNHJlbTtcbiAgfVxuXG4gIC8vIFNlYXJjaCBtb2RhbCBvdmVybGF5XG4gICZfX292ZXJsYXkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMTtcblxuICAgIC8vIFt0YWJsZXQgcG9ydHJhaXQgLV06IEZ1bGwtc2NyZWVuIHNlYXJjaCBiYXJcbiAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0IHBvcnRyYWl0KSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuNHJlbTtcbiAgICAgIGxlZnQ6IDAuNHJlbTtcbiAgICAgIHdpZHRoOiAzLjZyZW07XG4gICAgICBoZWlnaHQ6IDMuNnJlbTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSAwLjNzIDAuMXMsXG4gICAgICAgIG9wYWNpdHkgICAwLjJzIDAuMnM7XG4gICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHJpZ2h0OiAwLjRyZW07XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4cGFuZGVkIG92ZXJsYXlcbiAgICAgICN7JG1kLXRvZ2dsZV9fc2VhcmNoLS1jaGVja2VkfSAmIHtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICB0cmFuc2Zvcm0gMC40cyxcbiAgICAgICAgICBvcGFjaXR5ICAgMC4xcztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXQgc2NhbGUgZmFjdG9yc1xuICAgICN7JG1kLXRvZ2dsZV9fc2VhcmNoLS1jaGVja2VkfSAmIHtcblxuICAgICAgLy8gW21vYmlsZSBwb3J0cmFpdCAtXTogU2NhbGUgdXAgNDUgdGltZXNcbiAgICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZShtb2JpbGUgcG9ydHJhaXQpIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSg0NSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFttb2JpbGUgbGFuZHNjYXBlXTogU2NhbGUgdXAgNjAgdGltZXNcbiAgICAgIEBpbmNsdWRlIGJyZWFrLWF0LWRldmljZShtb2JpbGUgbGFuZHNjYXBlKSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoNjApO1xuICAgICAgfVxuXG4gICAgICAvLyBbdGFibGV0IHBvcnRyYWl0XTogU2NhbGUgdXAgNzUgdGltZXNcbiAgICAgIEBpbmNsdWRlIGJyZWFrLWF0LWRldmljZSh0YWJsZXQgcG9ydHJhaXQpIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSg3NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGUgK106IE92ZXJsYXkgZm9yIGJldHRlciBmb2N1cyBvbiBzZWFyY2hcbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgbGFuZHNjYXBlKSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICB3aWR0aCAgIDBzIDAuMjVzLFxuICAgICAgICBoZWlnaHQgIDBzIDAuMjVzLFxuICAgICAgICBvcGFjaXR5IDAuMjVzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgIH1cblxuICAgICAgLy8gRXhwYW5kZWQgb3ZlcmxheVxuICAgICAgI3skbWQtdG9nZ2xlX19zZWFyY2gtLWNoZWNrZWR9ICYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIHdpZHRoICAgMHMsXG4gICAgICAgICAgaGVpZ2h0ICAwcyxcbiAgICAgICAgICBvcGFjaXR5IDAuMjVzO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNlYXJjaCBtb2RhbCB3cmFwcGVyXG4gICZfX2lubmVyIHtcblxuICAgIC8vIFt0YWJsZXQgcG9ydHJhaXQgLV06IFB1dCBzZWFyY2ggbW9kYWwgb2ZmLWNhbnZhcyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKHRhYmxldCBwb3J0cmFpdCkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUlKTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHJpZ2h0ICAgICAwcyAgICAwLjNzLFxuICAgICAgICBsZWZ0ICAgICAgMHMgICAgMC4zcyxcbiAgICAgICAgdHJhbnNmb3JtIDAuMTVzIDAuMTVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG4gICAgICAgIG9wYWNpdHkgICAwLjE1cyAwLjE1cztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAvLyBBY3RpdmUgc2VhcmNoIG1vZGFsXG4gICAgICAjeyRtZC10b2dnbGVfX3NlYXJjaC0tY2hlY2tlZH0gJiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICByaWdodCAgICAgMHMgICAgMHMsXG4gICAgICAgICAgbGVmdCAgICAgIDBzICAgIDBzLFxuICAgICAgICAgIHRyYW5zZm9ybSAwLjE1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSksXG4gICAgICAgICAgb3BhY2l0eSAgIDAuMTVzIDAuMTVzO1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBodG1sIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBbdGFibGV0IGxhbmRzY2FwZSArXTogSGVhZGVyLWVtYmVkZGVkIHNlYXJjaFxuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAyM3JlbTtcbiAgICAgIHBhZGRpbmc6IDAuMnJlbSAwO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgY3ViaWMtYmV6aWVyKDAuMSwgMC43LCAwLjEsIDEpO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldCBtYXhpbXVtIHdpZHRoXG4gICAgI3skbWQtdG9nZ2xlX19zZWFyY2gtLWNoZWNrZWR9ICYge1xuXG4gICAgICAvLyBbdGFibGV0IGxhbmRzY2FwZV06IERvIG5vdCBvdmVybGF5IHRpdGxlXG4gICAgICBAaW5jbHVkZSBicmVhay1hdC1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgICB3aWR0aDogNDYuOHJlbTtcbiAgICAgIH1cblxuICAgICAgLy8gW3NjcmVlbiArXTogTWF0Y2ggY29udGVudCB3aWR0aFxuICAgICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2Uoc2NyZWVuKSB7XG4gICAgICAgIHdpZHRoOiA2OC44cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNlYXJjaCBmb3JtXG4gICZfX2Zvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlICtdOiBIZWFkZXItZW1iZWRkZWQgc2VhcmNoXG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNlYXJjaCBpbnB1dFxuICAmX19pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgNC40cmVtIDAgNy4ycmVtO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgcGFkZGluZzogMCA3LjJyZW0gMCA0LjRyZW07XG4gICAgfVxuXG4gICAgLy8gVHJhbnNpdGlvbiBvbiBwbGFjZWhvbGRlclxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKTtcbiAgICB9XG5cbiAgICAvLyBQbGFjZWhvbGRlciBhbmQgaWNvbiBjb2xvciBpbiBhY3RpdmUgc3RhdGVcbiAgICB+IC5tZC1zZWFyY2hfX2ljb24sXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHRoZSBcInhcIiByZW5kZXJlZCBieSBJbnRlcm5ldCBFeHBsb3JlclxuICAgICY6Oi1tcy1jbGVhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIFt0YWJsZXQgcG9ydHJhaXQgLV06IEZ1bGwtc2NyZWVuIHNlYXJjaCBiYXJcbiAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0IHBvcnRyYWl0KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNC44cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgfVxuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGUgK106IEhlYWRlci1lbWJlZGRlZCBzZWFyY2hcbiAgICBAaW5jbHVkZSBicmVhay1mcm9tLWRldmljZSh0YWJsZXQgbGFuZHNjYXBlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMy42cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0LjRyZW07XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGN1YmljLWJlemllcigwLjEsIDAuNywgMC4xLCAxKSxcbiAgICAgICAgY29sb3IgICAgICAgICAgICAwLjI1cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQtc2l6ZTogbXMoMCk7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNC40cmVtO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIGNvbG9yXG4gICAgICArIC5tZC1zZWFyY2hfX2ljb24ge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgLy8gUGxhY2Vob2xkZXIgY29sb3JcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRtZC1jb2xvci13aGl0ZS0tbGlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC8vIEhvdmVyZWQgc2VhcmNoIGZpZWxkXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLXdoaXRlLS1saWdodGVzdDtcbiAgICAgIH1cblxuICAgICAgLy8gU2V0IGxpZ2h0IGJhY2tncm91bmQgb24gYWN0aXZlIHNlYXJjaCBmaWVsZFxuICAgICAgI3skbWQtdG9nZ2xlX19zZWFyY2gtLWNoZWNrZWR9ICYge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjJyZW0gMC4ycmVtIDAgMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICAgICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBub25lO1xuXG4gICAgICAgIC8vIFBsYWNlaG9sZGVyIGFuZCBpY29uIGNvbG9yIGluIGFjdGl2ZSBzdGF0ZVxuICAgICAgICArIC5tZC1zZWFyY2hfX2ljb24sXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEljb25zXG4gICZfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgY29sb3IgICAwLjI1cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSksXG4gICAgICBvcGFjaXR5IDAuMjVzO1xuICAgIGZvbnQtc2l6ZTogJG1kLWljb24tc2l6ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMjtcblxuICAgIC8vIEhvdmVyZWQgaWNvblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cblxuICAgIC8vIFNlYXJjaCBpY29uXG4gICAgJltmb3I9XCJfX3NlYXJjaFwiXSB7XG4gICAgICB0b3A6IDAuNnJlbTtcbiAgICAgIGxlZnQ6IDFyZW07XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIC8vIFNldCBzZWFyY2ggaWNvbiBvbiBwc2V1ZG8gY2xhc3MsIHNvIGl0IGNhbiBiZSBvdmVycmlkZGVuIGZvciBtb2JpbGVcbiAgICAgIC8vIGFuZCB0YWJsZXQgd2hlbiB0aGUgc2VhcmNoIGlzIHJlbmRlcmVkIGluIGFuIG92ZXJsYXlcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxFOEI2XCI7IC8vIHNlYXJjaFxuICAgICAgfVxuXG4gICAgICAvLyBbdGFibGV0IHBvcnRyYWl0IC1dOiBGdWxsLXNjcmVlbiBzZWFyY2ggYmFyXG4gICAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0IHBvcnRyYWl0KSB7XG4gICAgICAgIHRvcDogMS4ycmVtO1xuICAgICAgICBsZWZ0OiAxLjZyZW07XG5cbiAgICAgICAgLy8gU2hvdyBiYWNrIGFycm93IGluc3RlYWQgb2Ygc2VhcmNoIGljb25cbiAgICAgICAgJltmb3I9XCJfX3NlYXJjaFwiXTo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcRTVDNFwiOyAvLyBhcnJvd19iYWNrXG5cbiAgICAgICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogXCJcXEU1QzhcIjsgLy8gYXJyb3dfZm9yd2FyZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc2V0IGJ1dHRvblxuICAgICZbdHlwZT1cInJlc2V0XCJdIHtcbiAgICAgIHRvcDogMC42cmVtO1xuICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMTI1KTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC4xLCAwLjcsIDAuMSwgMSksXG4gICAgICAgIG9wYWNpdHkgICAwLjE1cztcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICB9XG5cbiAgICAgIC8vIFt0YWJsZXQgcG9ydHJhaXQgLV06IEZ1bGwtc2NyZWVuIHNlYXJjaCBiYXJcbiAgICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQgcG9ydHJhaXQpIHtcbiAgICAgICAgdG9wOiAxLjJyZW07XG4gICAgICAgIHJpZ2h0OiAxLjZyZW07XG4gICAgICB9XG5cbiAgICAgIC8vIFNob3cgcmVzZXQgYnV0dG9uIGlmIHNlYXJjaCBpcyBhY3RpdmUgYW5kIGlucHV0IG5vbi1lbXB0eVxuICAgICAgI3skbWQtdG9nZ2xlX19zZWFyY2gtLWNoZWNrZWR9IC5tZC1zZWFyY2hfX2lucHV0OnZhbGlkIH4gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgLy8gSG92ZXJlZCBpY29uXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNlYXJjaCBvdXRwdXQgY29udGFpbmVyXG4gICZfX291dHB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwLjJyZW0gMC4ycmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogMTtcblxuICAgIC8vIFt0YWJsZXQgcG9ydHJhaXQgLV06IEZ1bGwtc2NyZWVuIHNlYXJjaCBiYXJcbiAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0IHBvcnRyYWl0KSB7XG4gICAgICB0b3A6IDQuOHJlbTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBbdGFibGV0IGxhbmRzY2FwZSArXTogSGVhZGVyLWVtYmVkZGVkIHNlYXJjaFxuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcbiAgICAgIHRvcDogMy44cmVtO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzO1xuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgLy8gU2hvdyBzZWFyY2ggb3V0cHV0IGluIGFjdGl2ZSBzdGF0ZVxuICAgICAgI3skbWQtdG9nZ2xlX19zZWFyY2gtLWNoZWNrZWR9ICYge1xuICAgICAgICBAaW5jbHVkZSB6LWRlcHRoKDYpO1xuXG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gV3JhcHBlciBmb3Igc2Nyb2xsaW5nIG9uIG92ZXJmbG93XG4gICZfX3Njcm9sbHdyYXAge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAwLjFyZW0gMCAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXN0IGluc2V0O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGVdOiBTZXQgYWJzb2x1dGUgd2lkdGggdG8gb21pdCB1bm5lY2Vzc2FyeSByZWZsb3dcbiAgICBAaW5jbHVkZSBicmVhay1hdC1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgd2lkdGg6IDQ2LjhyZW07XG4gICAgfVxuXG4gICAgLy8gW3NjcmVlbiArXTogU2V0IGFic29sdXRlIHdpZHRoIHRvIG9taXQgdW5uZWNlc3NhcnkgcmVmbG93XG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2Uoc2NyZWVuKSB7XG4gICAgICB3aWR0aDogNjguOHJlbTtcbiAgICB9XG5cbiAgICAvLyBbdGFibGV0IGxhbmRzY2FwZSArXTogTGltaXQgaGVpZ2h0IHRvIHZpZXdwb3J0XG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgbWF4LWhlaWdodDogMDtcblxuICAgICAgLy8gRXhwYW5kIGluIGFjdGl2ZSBzdGF0ZVxuICAgICAgI3skbWQtdG9nZ2xlX19zZWFyY2gtLWNoZWNrZWR9ICYge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3NXZoO1xuICAgICAgfVxuXG4gICAgICAvLyBPdmVycmlkZSBuYXRpdmUgc2Nyb2xsYmFyIHN0eWxlc1xuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICB3aWR0aDogMC40cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuNHJlbTtcbiAgICAgIH1cblxuICAgICAgLy8gU3R5bGUgc2Nyb2xsYmFyIHRodW1iXG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcblxuICAgICAgICAvLyBIb3ZlcmVkIHNjcm9sbGJhciB0aHVtYlxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYWNjZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNlYXJjaCByZXN1bHRcbi5tZC1zZWFyY2gtcmVzdWx0IHtcbiAgY29sb3I6ICRtZC1jb2xvci1ibGFjaztcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAvLyBTZWFyY2ggbWV0YWRhdGFcbiAgJl9fbWV0YSB7XG4gICAgcGFkZGluZzogMCAxLjZyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdDtcbiAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICBmb250LXNpemU6IG1zKC0xKTtcbiAgICBsaW5lLWhlaWdodDogMy42cmVtO1xuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGUgK106IEluY3JlYXNlIGxlZnQgaW5kZW50XG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0LjRyZW07XG5cbiAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNC40cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlzdCBvZiBpdGVtc1xuICAmX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItdG9wOiAwLjFyZW0gc29saWQgJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtXG4gICZfX2l0ZW0ge1xuICAgIGJveC1zaGFkb3c6IDAgLTAuMXJlbSAwICRtZC1jb2xvci1ibGFjay0tbGlnaHRlc3Q7XG4gIH1cblxuICAvLyBMaW5rIGluc2lkZSBpdGVtXG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXM7XG4gICAgb3V0bGluZTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gQWN0aXZlIG9yIGhvdmVyZWQgbGlua1xuICAgICZbZGF0YS1tZC1zdGF0ZT1cImFjdGl2ZVwiXSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRtZC1jb2xvci1hY2NlbnQsIDAuOSk7XG5cbiAgICAgIC8vIFNsaWdodGx5IHRyYW5zcGFyZW50IGljb25cbiAgICAgIC5tZC1zZWFyY2gtcmVzdWx0X19hcnRpY2xlOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGEgbGl0dGxlIHNwYWNpbmcgb24gdGhlIHRlYXNlciBvZiB0aGUgbGFzdCBsaW5rXG4gICAgJjpsYXN0LWNoaWxkIC5tZC1zZWFyY2gtcmVzdWx0X190ZWFzZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFydGljbGUgLSBkb2N1bWVudCBvciBzZWN0aW9uXG4gICZfX2FydGljbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDEuNnJlbTtcbiAgICBvdmVyZmxvdzogYXV0bztcblxuICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlICtdOiBJbmNyZWFzZSBsZWZ0IGluZGVudFxuICAgIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHRhYmxldCBsYW5kc2NhcGUpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNC40cmVtO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQuNHJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjZyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRG9jdW1lbnRcbiAgICAmLS1kb2N1bWVudCB7XG5cbiAgICAgIC8vIEljb25cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBleHRlbmQgJW1kLWljb24sICVtZC1pY29uX19idXR0b247XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IDAuMnJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbiAgICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxFODgwXCI7IC8vIGZpbmRfaW5fcGFnZVxuXG4gICAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBbdGFibGV0IHBvcnRyYWl0IC1dOiBIaWRlIHBhZ2UgaWNvblxuICAgICAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UodGFibGV0IHBvcnRyYWl0KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUaXRsZVxuICAgICAgLm1kLXNlYXJjaC1yZXN1bHRfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAxLjFyZW0gMDtcbiAgICAgICAgZm9udC1zaXplOiBtcygwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaXRsZVxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luOiAwLjVlbSAwO1xuICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLW5vLXZlbmRvci1wcmVmaXgsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuICAvLyBUZWFzZXJcbiAgJl9fdGVhc2VyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBtYXgtaGVpZ2h0OiAzLjNyZW07XG4gICAgbWFyZ2luOiAwLjVlbSAwO1xuICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcblxuICAgIC8vIFttb2JpbGUgLV06IEluY3JlYXNlIG51bWJlciBvZiBsaW5lc1xuICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZShtb2JpbGUpIHtcbiAgICAgIG1heC1oZWlnaHQ6IDVyZW07XG4gICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgfVxuXG4gICAgLy8gW3RhYmxldCBsYW5kc2NhcGVdOiBJbmNyZWFzZSBudW1iZXIgb2YgbGluZXNcbiAgICBAaW5jbHVkZSBicmVhay1hdC1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgbWF4LWhlaWdodDogNXJlbTtcbiAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLW5vLXZlbmRvci1wcmVmaXgsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuICAvLyBTZWFyY2ggdGVybSBoaWdobGlnaHRpbmdcbiAgZW0ge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2xheW91dC9fc2VhcmNoLnNjc3MiLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMTggTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFjdGl2ZSAodG9nZ2xlZCkgZHJhd2VyXG4kbWQtdG9nZ2xlX19kcmF3ZXItLWNoZWNrZWQ6XG4gIFwiW2RhdGEtbWQtdG9nZ2xlPVxcXCJkcmF3ZXJcXFwiXTpjaGVja2VkIH4gLm1kLWNvbnRhaW5lclwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTaWRlYmFyIGNvbnRhaW5lclxuLm1kLXNpZGViYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyNC4ycmVtO1xuICBwYWRkaW5nOiAyLjRyZW0gMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBIaWRlIGZvciBwcmludFxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBMb2NrIHNpZGViYXIgdG8gY29udGFpbmVyIGhlaWdodCAoYWNjb3VudCBmb3IgZml4ZWQgaGVhZGVyKVxuICAmW2RhdGEtbWQtc3RhdGU9XCJsb2NrXCJdIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA0LjhyZW07XG4gIH1cblxuICAvLyBbdGFibGV0IC1dOiBDb252ZXJ0IG5hdmlnYXRpb24gdG8gZHJhd2VyXG4gIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQpIHtcblxuICAgIC8vIFJlbmRlciBwcmltYXJ5IHNpZGViYXIgYXMgYSBzbGlkZW91dCBjb250YWluZXJcbiAgICAmLS1wcmltYXJ5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IC0yNC4ycmVtO1xuICAgICAgd2lkdGg6IDI0LjJyZW07XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG4gICAgICAgIGJveC1zaGFkb3cgMC4yNXM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3Itd2hpdGU7XG4gICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHJpZ2h0OiAtMjQuMnJlbTtcbiAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgIH1cblxuICAgICAgLy8gSnVzdCBoaWRlIGRyYXdlciwgaWYgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgM0QgdHJhbnNmb3Jtc1xuICAgICAgLm5vLWNzc3RyYW5zZm9ybXMzZCAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gRXhwYW5kZWQgZHJhd2VyXG4gICAgICAjeyRtZC10b2dnbGVfX2RyYXdlci0tY2hlY2tlZH0gJiB7XG4gICAgICAgIEBpbmNsdWRlIHotZGVwdGgoOCk7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI0LjJyZW0pO1xuXG4gICAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjQuMnJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBKdXN0IHNob3cgZHJhd2VyLCBpZiBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCAzRCB0cmFuc2Zvcm1zXG4gICAgICAgIC5uby1jc3N0cmFuc2Zvcm1zM2QgJiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gSGlkZSBvdmVyZmxvdyBmb3IgbmVzdGVkIG5hdmlnYXRpb25cbiAgICAgIC5tZC1zaWRlYmFyX19zY3JvbGx3cmFwIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTZWNvbmRhcnkgc2lkZWJhciB3aXRoIHRhYmxlIG9mIGNvbnRlbnRzXG4gICYtLXNlY29uZGFyeSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC8vIFt0YWJsZXQgbGFuZHNjYXBlICtdOiBTaG93IHRhYmxlIG9mIGNvbnRlbnRzIG5leHQgdG8gYm9keSBjb3B5XG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2UodGFibGV0IGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBbc2NyZWVuICtdOiBMaW1pdCB0byBncmlkXG4gICAgQGluY2x1ZGUgYnJlYWstZnJvbS1kZXZpY2Uoc2NyZWVuKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMTIycmVtO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTIycmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBXcmFwcGVyIGZvciBzY3JvbGxpbmcgb24gb3ZlcmZsb3dcbiAgJl9fc2Nyb2xsd3JhcCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDAgMC40cmVtO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLy8gSGFjazogcHV0dGluZyB0aGUgc2Nyb2xsIHdyYXBwZXIgb24gdGhlIEdQVSBtYXNzaXZlbHkgcmVkdWNlcyBqaXR0ZXJcbiAgICAvLyB3aGVuIGxvY2tpbmcgdGhlIHNpZGViYXJzIGludG8gcGxhY2VcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAvLyBbdGFibGV0IC1dOiBBZGp1c3QgbWFyZ2luc1xuICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQpIHtcblxuICAgICAgLy8gU3RyZXRjaCBzY3JvbGx3cmFwIGZvciBwcmltYXJ5IHNpZGViYXJcbiAgICAgIC5tZC1zaWRlYmFyLS1wcmltYXJ5ICYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE92ZXJyaWRlIG5hdGl2ZSBzY3JvbGxiYXIgc3R5bGVzXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgd2lkdGg6IDAuNHJlbTtcbiAgICAgIGhlaWdodDogMC40cmVtO1xuICAgIH1cblxuICAgIC8vIFN0eWxlIHNjcm9sbGJhciB0aHVtYlxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcblxuICAgICAgLy8gSG92ZXJlZCBzY3JvbGxiYXIgdGh1bWJcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYWNjZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX3NpZGViYXIuc2NzcyIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxOCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBLZXlmcmFtZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2hvdyBzb3VyY2UgZmFjdHNcbkBrZXlmcmFtZXMgbWQtc291cmNlX19mYWN0cy0tZG9uZSB7XG4gIDAlIHtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICBoZWlnaHQ6IDEuM3JlbTtcbiAgfVxufVxuXG4vLyBTaG93IHNvdXJjZSBmYWN0XG5Aa2V5ZnJhbWVzIG1kLXNvdXJjZV9fZmFjdC0tZG9uZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTb3VyY2UgY29udGFpbmVyXG4ubWQtc291cmNlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMnJlbTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgcGFkZGluZy1yaWdodDogaW5pdGlhbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMnJlbTtcbiAgfVxuXG4gIC8vIEhvdmVyZWQgc291cmNlIGNvbnRhaW5lclxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAvLyBOZWNlc3NhcnkgZm9yIHZlcnRpY2FsIGFsaWdubWVudFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogNC44cmVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIFJlcG9zaXRvcnkgcGxhdGZvcm0gaWNvblxuICAmX19pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDQuOHJlbTtcbiAgICBoZWlnaHQ6IDQuOHJlbTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBBbGlnbiBTVkcsIGRvIG5vdCBzY2FsZSwgYXMgdGhpcyB3aWxsIGluY3VyIHN0cmFuZ2UgZm9ybWF0dGluZyBidWdzXG4gICAgLy8gaW4gSW50ZXJuZXQgRXhwbG9yZXIgYW5kIEVkZ2VcbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgIGhlaWdodDogMi40cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMnJlbTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMnJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29ycmVjdCBhbGlnbm1lbnQsIGlmIGljb24gaXMgcHJlc2VudFxuICAgICsgLm1kLXNvdXJjZV9fcmVwb3NpdG9yeSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTQuNHJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC00LjRyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVwb3NpdG9yeSBuYW1lXG4gICZfX3JlcG9zaXRvcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIFNvdXJjZSBmYWN0cyAoc3RhdGlzdGljcyBldGMuKVxuICAmX19mYWN0cyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gU2hvdyBhZnRlciB0aGUgZGF0YSB3YXMgbG9hZGVkXG4gICAgW2RhdGEtbWQtc3RhdGU9XCJkb25lXCJdICYge1xuICAgICAgYW5pbWF0aW9uOiBtZC1zb3VyY2VfX2ZhY3RzLS1kb25lIDAuMjVzIGVhc2UtaW47XG4gICAgfVxuICB9XG5cbiAgLy8gRmFjdFxuICAmX19mYWN0IHtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLy8gU2hvdyBhZnRlciB0aGUgZGF0YSB3YXMgbG9hZGVkXG4gICAgW2RhdGEtbWQtc3RhdGU9XCJkb25lXCJdICYge1xuICAgICAgYW5pbWF0aW9uOiBtZC1zb3VyY2VfX2ZhY3QtLWRvbmUgMC40cyBlYXNlLW91dDtcbiAgICB9XG5cbiAgICAvLyBNaWRkbGUgZG90IGJlZm9yZSBmYWN0XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbjogMCAwLjJyZW07XG4gICAgICBjb250ZW50OiBcIlxcMDBCN1wiO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBtaWRkbGUgZG90IG9uIGZpcnN0IGZhY3RcbiAgICAmOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU291cmNlIGZpbGVcbi5tZC1zb3VyY2UtZmlsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAxZW0gMC41ZW0gMWVtIDA7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXN0O1xuICBmb250LXNpemU6IG1zKC0xKTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLy8gSWNvblxuICAmOjpiZWZvcmUge1xuICAgIEBleHRlbmQgJW1kLWljb247XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcbiAgICBjb2xvcjogJG1kLWNvbG9yLXdoaXRlO1xuICAgIGZvbnQtc2l6ZTogbXMoMCk7XG4gICAgY29udGVudDogXCJcXEU4NkZcIjsgLy8gY29kZVxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBTb21lIHByb3BlcnRpZXMgbmVlZCB0byBiZSBzZXQgd2l0aCBoaWdoZXIgc3BlY2lmaWNpdHkgZHVlIHRvIHRoZSBkZWZhdWx0XG4gIC8vIHN0eWxpbmcgb2YgdGV4dCBsaW5rcyBpbnNpZGUgdHlwZXNldHRlZCBjb250ZW50XG4gIGh0bWwgJiB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGJhY2tncm91bmQgMC40cyxcbiAgICAgIGNvbG9yICAgICAgMC40cyxcbiAgICAgIGJveC1zaGFkb3cgMC40cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXG4gICAgLy8gSWNvblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbG9yIG5lZWRzIGV2ZW4gaGlnaGVyIHNwZWNpZml0eSBiZWNhdXNlIGN1c3RvbSBjb2xvciBwYWxldHRlcyBhcmUgc2V0XG4gIC8vIHVzaW5nIHRoZSBib2R5IGFuZCBvdmVycmlkZSB0ZXh0IGxpbmtzIGluc2lkZSB0eXBlc2V0dGVkIGNvbnRlbnRcbiAgaHRtbCBib2R5IC5tZC10eXBlc2V0ICYge1xuICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0O1xuICB9XG5cbiAgLy8gSG92ZXJlZCBzb3VyY2UgZmlsZVxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSB6LWRlcHRoLWZvY3VzO1xuXG4gICAgLy8gSWNvblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItYWNjZW50O1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9sYXlvdXQvX3NvdXJjZS5zY3NzIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDE4IE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFRhYnMgd2l0aCBvdXRsaW5lXG4ubWQtdGFicyB7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWQtY29sb3ItcHJpbWFyeTtcbiAgY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcbiAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgLy8gW3RhYmxldCAtXTogSGlkZSB0YWJzIGZvciB0YWJsZXQgYW5kIGJlbG93LCBhcyB0aGV5IGRvbid0IG1ha2UgYW55IHNlbnNlXG4gIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZSh0YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gSGlkZSBmb3IgcHJpbnRcbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gTGlzdCBvZiBpdGVtc1xuICAmX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNHJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbVxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiA0LjhyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS4ycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4ycmVtO1xuICB9XG5cbiAgLy8gTGluayBpbnNpZGUgaXRlbSAtIGNvdWxkIGJlIGRlZmluZWQgYXMgYmxvY2sgZWxlbWVudHMgYW5kIGFsaWduZWQgdmlhXG4gIC8vIGxpbmUgaGVpZ2h0LCBidXQgdGhpcyB3b3VsZCBpbXBseSBtb3JlIHJlcGFpbnRzIHdoZW4gc2Nyb2xsaW5nXG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDEuNnJlbTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMSwgMC43LCAwLjEsIDEpLFxuICAgICAgb3BhY2l0eSAgIDAuMjVzO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIG9wYWNpdHk6IDAuNztcblxuICAgIC8vIEFjdGl2ZSBvciBob3ZlcmVkIGxpbmtcbiAgICAmLS1hY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLy8gRGVsYXkgdHJhbnNpdGlvbnMgYnkgYSBzbWFsbCBhbW91bnRcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDE2IHtcbiAgICAgIC5tZC10YWJzX19pdGVtOm50aC1jaGlsZCgjeyRpfSkgJiB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDJzICogKCRpIC0gMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRmFkZS1vdXQgdGFicyBiYWNrZ3JvdW5kIHVwb24gc2Nyb2xsaW5nXG4gICZbZGF0YS1tZC1zdGF0ZT1cImhpZGRlblwiXSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAvLyBIaWRlIHRhYnMgdXBvbiBzY3JvbGxpbmcgLSBkaXNhYmxlIHRyYW5zaXRpb24gdG8gbWluaW1pemVzIHJlcGFpbnRzIHdoaWx0ZVxuICAgIC8vIHNjcm9sbGluZyBkb3duLCB3aGlsZSBzY3JvbGxpbmcgdXAgc2VlbXMgdG8gYmUgb2theVxuICAgIC5tZC10YWJzX19saW5rIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgY29sb3IgICAgIDAuMjVzLFxuICAgICAgICB0cmFuc2Zvcm0gMHMgMC40cyxcbiAgICAgICAgb3BhY2l0eSAgIDAuMXM7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFtzY3JlZW4gK106IEFkanVzdCBtYWluIG5hdmlnYXRpb24gc3R5bGVzXG4gIEBpbmNsdWRlIGJyZWFrLWZyb20tZGV2aWNlKHNjcmVlbikge1xuXG4gICAgLy8gSGlkZSAxc3QgbGV2ZWwgbmVzdGVkIGl0ZW1zLCBhcyB0aGV5IGFyZSBsaXN0ZWQgaW4gdGhlIHRhYnMgYnkgc2V0dGluZ1xuICAgIC8vIGZvbnQtc2l6ZSB0byB6ZXJvLCBhcyB3ZSBuZWVkIHRvIHByZXNlcnZlIGJvdHRvbSBwYWRkaW5nXG4gICAgfiAubWQtbWFpbiAubWQtbmF2LS1wcmltYXJ5ID4gLm1kLW5hdl9fbGlzdCA+IC5tZC1uYXZfX2l0ZW0tLW5lc3RlZCB7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLy8gV2UncmUgb24gdGhlIDJuZCsgbGV2ZWxcbiAgICAmLS1hY3RpdmUgfiAubWQtbWFpbiB7XG5cbiAgICAgIC8vIEFkanVzdCAxc3QgbGV2ZWwgc3R5bGVzXG4gICAgICAubWQtbmF2LS1wcmltYXJ5IHtcblxuICAgICAgICAvLyBTaG93IHRpdGxlIGFuZCByZW1vdmUgc3BhY2luZ1xuICAgICAgICAubWQtbmF2X190aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhpZGUgc2l0ZSB0aXRsZVxuICAgICAgICAubWQtbmF2X190aXRsZS0tc2l0ZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNob3cgMXN0IGxldmVsIG5hdmlnYXRpb24gYWx3YXlzIGV4cGFuZGVkXG4gICAgICAgIC5uby1qcyAmIC5tZC1uYXYge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSGlkZSAxc3QgbGV2ZWwgbm9ybWFsIGl0ZW1zXG4gICAgICAgICYgPiAubWQtbmF2X19saXN0ID4gLm1kLW5hdl9faXRlbSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgIC8vIFJlc2V0IGZvbnQtc2l6ZSBmb3IgbmVzdGVkIGl0ZW1zIGFuZCBpbmR1Y2UgbWFyZ2luIGNvbGxhcHNlXG4gICAgICAgICAgJi0tbmVzdGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICAgICAgICAgICAgLy8gSGlkZSBuZXN0ZWQgbGlua3NcbiAgICAgICAgICAgID4gLm1kLW5hdl9fbGluayB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gU2hvdyAxc3QgbGV2ZWwgYWN0aXZlIG5lc3RlZCBpdGVtc1xuICAgICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQWx3YXlzIGV4cGFuZCBuZXN0ZWQgbmF2aWdhdGlvbiBvbiAybmQgbGV2ZWxcbiAgICAgIC5tZC1uYXZbZGF0YS1tZC1sZXZlbD1cIjFcIl0ge1xuICAgICAgICBtYXgtaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAvLyBSZW1vdmUgbGVmdCBzcGFjaW5nIG9uIDJuZCBsZXZlbCBpdGVtc1xuICAgICAgICA+IC5tZC1uYXZfX2xpc3QgPiAubWQtbmF2X19pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIaWRlIHRpdGxlcyBmcm9tIDJuZCBsZXZlbCBvblxuICAgICAgICAubWQtbmF2IC5tZC1uYXZfX3RpdGxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2xheW91dC9fdGFicy5zY3NzIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDE4IE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNjb3BlZCBpbiB0eXBlc2V0dGVkIGNvbnRlbnQgdG8gbWF0Y2ggc3BlY2lmaWNpdHkgb2YgcmVndWxhciBjb250ZW50XG4ubWQtdHlwZXNldCB7XG5cbiAgLy8gQWRtb25pdGlvbiBleHRlbnNpb25cbiAgLmFkbW9uaXRpb24ge1xuICAgIEBpbmNsdWRlIHotZGVwdGgoMik7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAxLjU2MjVlbSAwO1xuICAgIHBhZGRpbmc6IDAgMS4ycmVtO1xuICAgIGJvcmRlci1sZWZ0OiAwLjRyZW0gc29saWQgJGNsci1ibHVlLWEyMDA7XG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICAgIGZvbnQtc2l6ZTogbXMoLTEpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIGJvcmRlci1yaWdodDogMC40cmVtIHNvbGlkICRjbHItYmx1ZS1hMjAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gQWRqdXN0IHNwYWNpbmcgb24gbGFzdCBlbGVtZW50XG4gICAgaHRtbCAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgIH1cblxuICAgIC8vIEFkanVzdCBtYXJnaW4gZm9yIG5lc3RlZCBhZG1vbml0aW9uIGJsb2Nrc1xuICAgIC5hZG1vbml0aW9uIHtcbiAgICAgIG1hcmdpbjogMWVtIDA7XG4gICAgfVxuXG4gICAgLy8gVGl0bGVcbiAgICA+IC5hZG1vbml0aW9uLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMCAtMS4ycmVtO1xuICAgICAgcGFkZGluZzogMC44cmVtIDEuMnJlbSAwLjhyZW0gNHJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkY2xyLWJsdWUtYTIwMCwgMC45KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRjbHItYmx1ZS1hMjAwLCAwLjkpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBwYWRkaW5nOiAwLjhyZW0gNHJlbSAwLjhyZW0gMS4ycmVtO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNldCBzcGFjaW5nLCBpZiB0aXRsZSBpcyB0aGUgb25seSBlbGVtZW50XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAZXh0ZW5kICVtZC1pY29uO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMS4ycmVtO1xuICAgICAgICBjb2xvcjogJGNsci1ibHVlLWEyMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgY29udGVudDogXCJcXEUzQzlcIjsgLy8gZWRpdFxuXG4gICAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgIHJpZ2h0OiAxLjJyZW07XG4gICAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1aWxkIHJlcHJlc2VudGF0aW9uYWwgY2xhc3Nlc1xuICAgIEBlYWNoICRuYW1lcywgJGFwcGVhcmFuY2UgaW4gKFxuICAgICAgYWJzdHJhY3Qgc3VtbWFyeSB0bGRyOiAkY2xyLWxpZ2h0LWJsdWUtYTQwMCBcIlxcRThEMlwiLCAvLyBzdWJqZWN0XG4gICAgICBpbmZvIHRvZG86ICRjbHItY3lhbi1hNzAwIFwiXFxFODhFXCIsIC8vIGluZm9cbiAgICAgIHRpcCBoaW50IGltcG9ydGFudCA6ICRjbHItdGVhbC1hNzAwIFwiXFxFODBFXCIsIC8vIHdoYXRzaG90XG4gICAgICBzdWNjZXNzIGNoZWNrIGRvbmU6ICRjbHItZ3JlZW4tYTcwMCBcIlxcRTg3NlwiLCAvLyBkb25lXG4gICAgICBxdWVzdGlvbiBoZWxwIGZhcTogJGNsci1saWdodC1ncmVlbi1hNzAwIFwiXFxFODg3XCIsIC8vIGhlbHBcbiAgICAgIHdhcm5pbmcgY2F1dGlvbiBhdHRlbnRpb246ICRjbHItb3JhbmdlLWE0MDAgXCJcXEUwMDJcIiwgLy8gd2FybmluZ1xuICAgICAgZmFpbHVyZSBmYWlsIG1pc3Npbmc6ICRjbHItcmVkLWEyMDAgXCJcXEUxNENcIiwgLy8gY2xlYXJcbiAgICAgIGRhbmdlciBlcnJvcjogJGNsci1yZWQtYTQwMCBcIlxcRTNFN1wiLCAvLyBmbGFzaF9vblxuICAgICAgYnVnOiAkY2xyLXBpbmstYTQwMCBcIlxcRTg2OFwiLCAvLyBidWdfcmVwb3J0XG4gICAgICBleGFtcGxlOiAkY2xyLWRlZXAtcHVycGxlLWE0MDAgXCJcXEUyNDJcIiwgLy8gZm9ybWF0X2xpc3RfbnVtYmVyZWRcbiAgICAgIHF1b3RlIGNpdGU6ICRjbHItZ3JleSBcIlxcRTI0NFwiIC8vIGZvcm1hdF9xdW90ZVxuICAgICkge1xuICAgICAgJHRpbnQ6IG50aCgkYXBwZWFyYW5jZSwgMSk7XG4gICAgICAkaWNvbjogbnRoKCRhcHBlYXJhbmNlLCAyKTtcblxuICAgICAgLy8gRGVmaW5lIGJhc2UgY2xhc3NcbiAgICAgICYlI3tudGgoJG5hbWVzLCAxKX0sXG4gICAgICAmLiN7bnRoKCRuYW1lcywgMSl9IHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0aW50O1xuXG4gICAgICAgIC8vIEFkanVzdCBmb3IgUlRMIGxhbmd1YWdlc1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRpbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaXRsZVxuICAgICAgICA+IC5hZG1vbml0aW9uLXRpdGxlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAwLjFyZW0gc29saWQgdHJhbnNwYXJlbnRpemUoJHRpbnQsIDAuOSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJHRpbnQsIDAuOSk7XG5cbiAgICAgICAgICAvLyBJY29uXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGludDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRpY29uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBEZWZpbmUgc3lub255bXMgZm9yIGJhc2UgY2xhc3NcbiAgICAgIEBpZiBsZW5ndGgoJG5hbWVzKSA+IDEge1xuICAgICAgICBAZm9yICRuIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkbmFtZXMpIHtcbiAgICAgICAgICAmLiN7bnRoKCRuYW1lcywgJG4pfSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5hZG1vbml0aW9uJSN7bnRoKCRuYW1lcywgMSl9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9leHRlbnNpb25zL19hZG1vbml0aW9uLnNjc3MiLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMTggTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE9wZXJhdG9yc1xuJGNvZGVoaWxpdGUtb3BlcmF0b3I6IGluaGVyaXQ7XG4kY29kZWhpbGl0ZS1vcGVyYXRvci13b3JkOiBpbmhlcml0O1xuXG4vLyBHZW5lcmljc1xuJGNvZGVoaWxpdGUtZ2VuZXJpYy1lbXBoOiAjMDAwMDAwO1xuJGNvZGVoaWxpdGUtZ2VuZXJpYy1lcnJvcjogI0FBMDAwMDtcbiRjb2RlaGlsaXRlLWdlbmVyaWMtaGVhZGluZzogIzk5OTk5OTtcbiRjb2RlaGlsaXRlLWdlbmVyaWMtb3V0cHV0OiAjODg4ODg4O1xuJGNvZGVoaWxpdGUtZ2VuZXJpYy1wcm9tcHQ6ICM1NTU1NTU7XG4kY29kZWhpbGl0ZS1nZW5lcmljLXN0cm9uZzogaW5oZXJpdDtcbiRjb2RlaGlsaXRlLWdlbmVyaWMtc3ViaGVhZGluZzogI0FBQUFBQTtcbiRjb2RlaGlsaXRlLWdlbmVyaWMtdHJhY2ViYWNrOiAjQUEwMDAwO1xuXG4vLyBEaWZmc1xuJGNvZGVoaWxpdGUtZGlmZi1kZWxldGVkOiAjRkZEREREO1xuJGNvZGVoaWxpdGUtZGlmZi1pbnNlcnRlZDogI0RERkZERDtcblxuLy8gS2V5d29yZHNcbiRjb2RlaGlsaXRlLWtleXdvcmQ6ICMzQjc4RTc7XG4kY29kZWhpbGl0ZS1rZXl3b3JkLWNvbnN0YW50OiAjQTcxRDVEO1xuJGNvZGVoaWxpdGUta2V5d29yZC1kZWNsYXJhdGlvbjogIzNCNzhFNztcbiRjb2RlaGlsaXRlLWtleXdvcmQtbmFtZXNwYWNlOiAjM0I3OEU3O1xuJGNvZGVoaWxpdGUta2V5d29yZC1wc2V1ZG86ICNBNzFENUQ7XG4kY29kZWhpbGl0ZS1rZXl3b3JkLXJlc2VydmVkOiAjM0U2MUEyO1xuJGNvZGVoaWxpdGUta2V5d29yZC10eXBlOiAjM0U2MUEyO1xuXG4vLyBDb21tZW50c1xuJGNvZGVoaWxpdGUtY29tbWVudDogIzk5OTk5OTtcbiRjb2RlaGlsaXRlLWNvbW1lbnQtbXVsdGlsaW5lOiAjOTk5OTk5O1xuJGNvZGVoaWxpdGUtY29tbWVudC1wcmVwcm9jOiAjNjY2NjY2O1xuJGNvZGVoaWxpdGUtY29tbWVudC1zaW5nbGU6ICM5OTk5OTk7XG4kY29kZWhpbGl0ZS1jb21tZW50LXNoZWJhbmc6ICM5OTk5OTk7XG4kY29kZWhpbGl0ZS1jb21tZW50LXNwZWNpYWw6ICM5OTk5OTk7XG5cbi8vIE5hbWVzXG4kY29kZWhpbGl0ZS1uYW1lLWF0dHJpYnV0ZTogI0MyMTg1QjtcbiRjb2RlaGlsaXRlLW5hbWUtYnVpbHRpbjogI0MyMTg1QjtcbiRjb2RlaGlsaXRlLW5hbWUtYnVpbHRpbi1wc2V1ZG86ICMzRTYxQTI7XG4kY29kZWhpbGl0ZS1uYW1lLWNsYXNzOiAjQzIxODVCO1xuJGNvZGVoaWxpdGUtbmFtZS1jb25zdGFudDogIzNFNjFBMjtcbiRjb2RlaGlsaXRlLW5hbWUtZGVjb3JhdG9yOiAjNjY2NjY2O1xuJGNvZGVoaWxpdGUtbmFtZS1lbnRpdHk6ICM2NjY2NjY7XG4kY29kZWhpbGl0ZS1uYW1lLWV4Y2VwdGlvbjogI0MyMTg1QjtcbiRjb2RlaGlsaXRlLW5hbWUtZnVuY3Rpb246ICNDMjE4NUI7XG4kY29kZWhpbGl0ZS1uYW1lLWxhYmVsOiAjM0I1MTc5O1xuJGNvZGVoaWxpdGUtbmFtZS1uYW1lc3BhY2U6ICNFQzQwN0E7XG4kY29kZWhpbGl0ZS1uYW1lLXRhZzogIzNCNzhFNztcbiRjb2RlaGlsaXRlLW5hbWUtdmFyaWFibGU6ICMzRTYxQTI7XG4kY29kZWhpbGl0ZS1uYW1lLXZhcmlhYmxlLWNsYXNzOiAjM0U2MUEyO1xuJGNvZGVoaWxpdGUtbmFtZS12YXJpYWJsZS1pbnN0YW5jZTogIzNFNjFBMjtcbiRjb2RlaGlsaXRlLW5hbWUtdmFyaWFibGUtZ2xvYmFsOiAjM0U2MUEyO1xuJGNvZGVoaWxpdGUtbmFtZS1leHRlbnNpb246ICNFQzQwN0E7XG5cbi8vIE51bWJlcnNcbiRjb2RlaGlsaXRlLWxpdGVyYWwtbnVtYmVyOiAjRTc0QzNDO1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1udW1iZXItZmxvYXQ6ICNFNzRDM0M7XG4kY29kZWhpbGl0ZS1saXRlcmFsLW51bWJlci1oZXg6ICNFNzRDM0M7XG4kY29kZWhpbGl0ZS1saXRlcmFsLW51bWJlci1pbnRlZ2VyOiAjRTc0QzNDO1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1udW1iZXItaW50ZWdlci1sb25nOiAjRTc0QzNDO1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1udW1iZXItb2N0OiAjRTc0QzNDO1xuXG4vLyBTdHJpbmdzXG4kY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZzogIzBEOTA0RjtcbiRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLWJhY2t0aWNrczogIzBEOTA0RjtcbiRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLWNoYXI6ICMwRDkwNEY7XG4kY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1kb2M6ICM5OTk5OTk7XG4kY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1kb3VibGU6ICMwRDkwNEY7XG4kY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1lc2NhcGU6ICMxODM2OTE7XG4kY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1oZXJlZG9jOiAjMTgzNjkxO1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctaW50ZXJwb2w6ICMxODM2OTE7XG4kY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1vdGhlcjogIzE4MzY5MTtcbiRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLXJlZ2V4OiAjMDA5OTI2O1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctc2luZ2xlOiAjMEQ5MDRGO1xuJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctc3ltYm9sOiAjMEQ5MDRGO1xuXG4vLyBNaXNjZWxsYW5lb3VzXG4kY29kZWhpbGl0ZS1lcnJvcjogI0E2MTcxNztcbiRjb2RlaGlsaXRlLXdoaXRlc3BhY2U6IHRyYW5zcGFyZW50O1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlczogc3ludGF4IGhpZ2hsaWdodGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDb2RlaGlsaXRlIGV4dGVuc2lvblxuLmNvZGVoaWxpdGUge1xuXG4gIC8vIE9wZXJhdG9yc1xuICAubyAgeyBjb2xvcjogJGNvZGVoaWxpdGUtb3BlcmF0b3I7IH1cbiAgLm93IHsgY29sb3I6ICRjb2RlaGlsaXRlLW9wZXJhdG9yLXdvcmQ7IH1cblxuICAvLyBHZW5lcmljc1xuICAuZ2UgeyBjb2xvcjogJGNvZGVoaWxpdGUtZ2VuZXJpYy1lbXBoOyB9XG4gIC5nciB7IGNvbG9yOiAkY29kZWhpbGl0ZS1nZW5lcmljLWVycm9yOyB9XG4gIC5naCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1nZW5lcmljLWhlYWRpbmc7IH1cbiAgLmdvIHsgY29sb3I6ICRjb2RlaGlsaXRlLWdlbmVyaWMtb3V0cHV0OyB9XG4gIC5ncCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1nZW5lcmljLXByb21wdDsgfVxuICAuZ3MgeyBjb2xvcjogJGNvZGVoaWxpdGUtZ2VuZXJpYy1zdHJvbmc7IH1cbiAgLmd1IHsgY29sb3I6ICRjb2RlaGlsaXRlLWdlbmVyaWMtc3ViaGVhZGluZzsgfVxuICAuZ3QgeyBjb2xvcjogJGNvZGVoaWxpdGUtZ2VuZXJpYy10cmFjZWJhY2s7IH1cblxuICAvLyBEaWZmc1xuICAuZ2QgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZWhpbGl0ZS1kaWZmLWRlbGV0ZWQ7IH1cbiAgLmdpIHsgYmFja2dyb3VuZC1jb2xvcjogJGNvZGVoaWxpdGUtZGlmZi1pbnNlcnRlZDsgfVxuXG4gIC8vIEtleXdvcmRzXG4gIC5rICB7IGNvbG9yOiAkY29kZWhpbGl0ZS1rZXl3b3JkOyB9XG4gIC5rYyB7IGNvbG9yOiAkY29kZWhpbGl0ZS1rZXl3b3JkLWNvbnN0YW50OyB9XG4gIC5rZCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1rZXl3b3JkLWRlY2xhcmF0aW9uOyB9XG4gIC5rbiB7IGNvbG9yOiAkY29kZWhpbGl0ZS1rZXl3b3JkLW5hbWVzcGFjZTsgfVxuICAua3AgeyBjb2xvcjogJGNvZGVoaWxpdGUta2V5d29yZC1wc2V1ZG87IH1cbiAgLmtyIHsgY29sb3I6ICRjb2RlaGlsaXRlLWtleXdvcmQtcmVzZXJ2ZWQ7IH1cbiAgLmt0IHsgY29sb3I6ICRjb2RlaGlsaXRlLWtleXdvcmQtdHlwZTsgfVxuXG4gIC8vIENvbW1lbnRzXG4gIC5jICB7IGNvbG9yOiAkY29kZWhpbGl0ZS1jb21tZW50OyB9XG4gIC5jbSB7IGNvbG9yOiAkY29kZWhpbGl0ZS1jb21tZW50LW11bHRpbGluZTsgfVxuICAuY3AgeyBjb2xvcjogJGNvZGVoaWxpdGUtY29tbWVudC1wcmVwcm9jOyB9XG4gIC5jMSB7IGNvbG9yOiAkY29kZWhpbGl0ZS1jb21tZW50LXNpbmdsZTsgfVxuICAuY2ggeyBjb2xvcjogJGNvZGVoaWxpdGUtY29tbWVudC1zaGViYW5nOyB9XG4gIC5jcyB7IGNvbG9yOiAkY29kZWhpbGl0ZS1jb21tZW50LXNwZWNpYWw7IH1cblxuICAvLyBOYW1lc1xuICAubmEgeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS1hdHRyaWJ1dGU7IH1cbiAgLm5iIHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtYnVpbHRpbjsgfVxuICAuYnAgeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS1idWlsdGluLXBzZXVkbzsgfVxuICAubmMgeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS1jbGFzczsgfVxuICAubm8geyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS1jb25zdGFudDsgfVxuICAubmQgeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS1lbnRpdHk7IH1cbiAgLm5pIHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtZW50aXR5OyB9XG4gIC5uZSB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLWV4Y2VwdGlvbjsgfVxuICAubmYgeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS1mdW5jdGlvbjsgfVxuICAubmwgeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS1sYWJlbDsgfVxuICAubm4geyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS1uYW1lc3BhY2U7IH1cbiAgLm50IHsgY29sb3I6ICRjb2RlaGlsaXRlLW5hbWUtdGFnOyB9XG4gIC5udiB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLXZhcmlhYmxlOyB9XG4gIC52YyB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLXZhcmlhYmxlLWNsYXNzOyB9XG4gIC52ZyB7IGNvbG9yOiAkY29kZWhpbGl0ZS1uYW1lLXZhcmlhYmxlLWdsb2JhbDsgfVxuICAudmkgeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS12YXJpYWJsZS1pbnN0YW5jZTsgfVxuICAubnggeyBjb2xvcjogJGNvZGVoaWxpdGUtbmFtZS1leHRlbnNpb247IH1cblxuICAvLyBOdW1iZXJzXG4gIC5tICB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLW51bWJlcjsgfVxuICAubWYgeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1udW1iZXItZmxvYXQ7IH1cbiAgLm1oIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtbnVtYmVyLWhleDsgfVxuICAubWkgeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1udW1iZXItaW50ZWdlcjsgfVxuICAuaWwgeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1udW1iZXItaW50ZWdlci1sb25nOyB9XG4gIC5tbyB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLW51bWJlci1vY3Q7IH1cblxuICAvLyBTdHJpbmdzXG4gIC5zICB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZzsgfVxuICAuc2IgeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctYmFja3RpY2tzOyB9XG4gIC5zYyB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1jaGFyOyB9XG4gIC5zZCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1kb2M7IH1cbiAgLnMyIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLWRvdWJsZTsgfVxuICAuc2UgeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctZXNjYXBlOyB9XG4gIC5zaCB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1oZXJlZG9jOyB9XG4gIC5zaSB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1pbnRlcnBvbDsgfVxuICAuc3ggeyBjb2xvcjogJGNvZGVoaWxpdGUtbGl0ZXJhbC1zdHJpbmctb3RoZXI7IH1cbiAgLnNyIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLXJlZ2V4OyB9XG4gIC5zMSB7IGNvbG9yOiAkY29kZWhpbGl0ZS1saXRlcmFsLXN0cmluZy1zaW5nbGU7IH1cbiAgLnNzIHsgY29sb3I6ICRjb2RlaGlsaXRlLWxpdGVyYWwtc3RyaW5nLXN5bWJvbDsgfVxuXG4gIC8vIE1pc2NlbGxhbmVvdXNcbiAgLmVyciB7IGNvbG9yOiAkY29kZWhpbGl0ZS1lcnJvcjsgfVxuICAudyB7IGNvbG9yOiAkY29kZWhpbGl0ZS13aGl0ZXNwYWNlOyB9XG5cbiAgLy8gSGlnaGxpZ2h0ZWQgbGluZXNcbiAgLmhsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIC0xLjJyZW07XG4gICAgcGFkZGluZzogMCAxLjJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGNsci15ZWxsb3ctNTAwLCAwLjUpO1xuXG4gICAgLy8gW21vYmlsZSAtXTogU3RyZXRjaCB0byB3aG9sZSB3aWR0aFxuICAgIEBpbmNsdWRlIGJyZWFrLXRvLWRldmljZShtb2JpbGUpIHtcbiAgICAgIG1hcmdpbjogMCAtMS42cmVtO1xuICAgICAgcGFkZGluZzogMCAxLjZyZW07XG4gICAgfVxuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzOiBsYXlvdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2NvcGVkIGluIHR5cGVzZXR0ZWQgY29udGVudCB0byBtYXRjaCBzcGVjaWZpY2l0eSBvZiByZWd1bGFyIGNvbnRlbnRcbi5tZC10eXBlc2V0IHtcblxuICAvLyBJZiBjb2RlIGJsb2NrcyBhcmUgd3JhcHBlZCB3aXRoIGNvZGVoaWxpdGUsIHRoZSBzdHlsZXMgbXVzdCBiZSBhZGp1c3RlZFxuICAvLyBzbyB0aGUgbWFya2VyIHN0cmV0Y2hlcyB0byB0aGUgd2hvbGUgd2lkdGggYW5kIHRoZSBwYWRkaW5nIGlzIHJlc3BlY3RlZFxuICAuY29kZWhpbGl0ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvZGUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG1kLWNvZGUtY29sb3I7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAvLyBBY3R1YWwgY29udGFpbmVyIHdpdGggY29kZSwgb3ZlcmZsb3dpbmdcbiAgICBwcmUsXG4gICAgY29kZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDEuMDVyZW0gMS4ycmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgIC8vIE92ZXJyaWRlIG5hdGl2ZSBzY3JvbGxiYXIgc3R5bGVzXG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiAwLjRyZW07XG4gICAgICAgIGhlaWdodDogMC40cmVtO1xuICAgICAgfVxuXG4gICAgICAvLyBTdHlsZSBzY3JvbGxiYXIgdGh1bWJcbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuXG4gICAgICAgIC8vIEhvdmVyZWQgc2Nyb2xsYmFyIHRodW1iXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci1hY2NlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiBub3QgdXNpbmcgUHlnbWVudHMsIGNvZGUgd2lsbCBiZSB1bmRlciBwcmUgPiBjb2RlXG4gIHByZS5jb2RlaGlsaXRlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgIC8vIEFjdHVhbCBjb250YWluZXIgd2l0aCBjb2RlLCBvdmVyZmxvd2luZ1xuICAgIGNvZGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxLjA1cmVtIDEuMnJlbTtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIHdpdGggbGluZSBudW1iZXJzXG4gIC5jb2RlaGlsaXRldGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yZW07XG4gICAgZm9udC1zaXplOiBtcygwKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gU2V0IHRhYmxlIGVsZW1lbnRzIHRvIGJsb2NrIGxheW91dCwgYmVjYXVzZSBvdGhlcndpc2UgdGhlIHdob2xlIGZsZXhib3hcbiAgICAvLyBoYWNraW5nIHdvbid0IHdvcmsgY29ycmVjdGx5XG4gICAgdGJvZHksXG4gICAgdGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFdlIG5lZWQgdG8gdXNlIGZsZXhib3ggbGF5b3V0LCBiZWNhdXNlIG90aGVyd2lzZSBpdCdzIG5vdCBwb3NzaWJsZSB0b1xuICAgIC8vIG1ha2UgdGhlIGNvZGUgY29udGFpbmVyIHNjcm9sbCB3aGlsZSBrZWVwaW5nIHRoZSBsaW5lIG51bWJlcnMgc3RhdGljXG4gICAgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAvLyBUaGUgcHJlIHRhZ3MgYXJlIG5lc3RlZCBpbnNpZGUgYSB0YWJsZSwgc28gd2UgbmVlZCB0byByZW1vdmUgdGhlXG4gICAgLy8gbWFyZ2luIGJlY2F1c2UgaXQgY29sbGFwc2VzIGJlbG93IGFsbCB0aGUgb3ZlcmZsb3dzXG4gICAgLmNvZGVoaWxpdGUsXG4gICAgLmxpbmVub2RpdiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC8vIEFkZCBzcGFjaW5nIHRvIGxpbmUgbnVtYmVyIGNvbnRhaW5lclxuICAgIC5saW5lbm9kaXYge1xuICAgICAgcGFkZGluZzogMS4wNXJlbSAxLjJyZW07XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZSB1c2VyIHNlbGVjdGlvbiwgc28gY29kZSBjYW4gYmUgZWFzaWx5IGNvcGllZCB3aXRob3V0XG4gICAgLy8gYWNjaWRlbnRhbGx5IGFsc28gY29weWluZyB0aGUgbGluZSBudW1iZXJzXG4gICAgLmxpbmVub3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVzdDtcbiAgICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgLy8gUmVzZXQgc3BhY2luZ3NcbiAgICAgIHByZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGUgdGFibGUgY2VsbCBjb250YWluaW5nIHRoZSBjb2RlIGNvbnRhaW5lciB3cmFwcGVyIGFuZCBjb2RlIHNob3VsZFxuICAgIC8vIHN0cmV0Y2ggaG9yaXpvbnRhbGx5IHRvIHRoZSByZW1haW5pbmcgc3BhY2VcbiAgICAuY29kZSB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvLyBGdWxsLXdpZHRoIGNvbnRhaW5lclxuICA+IC5jb2RlaGlsaXRlIHtcblxuICAgIC8vIFttb2JpbGUgLV06IFN0cmV0Y2ggdG8gd2hvbGUgd2lkdGhcbiAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UobW9iaWxlKSB7XG4gICAgICBtYXJnaW46IDFlbSAtMS42cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgLy8gQWN0dWFsIGNvbnRhaW5lciB3aXRoIGNvZGUsIG92ZXJmbG93aW5nXG4gICAgICBwcmUsXG4gICAgICBjb2RlIHtcbiAgICAgICAgcGFkZGluZzogMS4wNXJlbSAxLjZyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRnVsbC13aWR0aCBjb250YWluZXIgb24gdG9wLWxldmVsXG4gID4gLmNvZGVoaWxpdGV0YWJsZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgIC8vIFttb2JpbGUgLV06IFN0cmV0Y2ggdG8gd2hvbGUgd2lkdGhcbiAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UobW9iaWxlKSB7XG4gICAgICBtYXJnaW46IDFlbSAtMS42cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgLy8gSW5jcmVhc2Ugc3BhY2luZ1xuICAgICAgLmNvZGVoaWxpdGUgPiBwcmUsXG4gICAgICAuY29kZWhpbGl0ZSA+IGNvZGUsXG4gICAgICAubGluZW5vZGl2IHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjZyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gV2hlbiBweW1kb3dueC5zdXBlcmZlbmNlcyBpcyBlbmFibGVkIGJ1dCBjb2RlaGlsaXRlIGlzIGRpc2FibGVkLFxuICAvLyBweW1kb3dueC5oaWdobGlnaHQgd2lsbCBiZSB1c2VkLiBXaGVuIHRoaXMgaGFwcGVucywgdGhlIG91dGVyXG4gIC8vIGNvbnRhaW5lciBhbmQgdGFibGVzIGdldCB0aGlzIGNsYXNzIG5hbWVzIGJ5IGRlZmF1bHQuXG4gIC5oaWdobGlnaHQge1xuICAgIEBleHRlbmQgLmNvZGVoaWxpdGU7XG4gIH1cblxuICAvLyBTYW1lIGFzIGFib3ZlLCBidXQgZm9yIGNvZGUgYmxvY2tzIHdpdGggbGluZSBudW1iZXJzIGVuYWJsZWRcbiAgLmhpZ2hsaWdodHRhYmxlIHtcbiAgICBAZXh0ZW5kIC5jb2RlaGlsaXRldGFibGU7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9fY29kZWhpbGl0ZS5zY3NzIiwiLy8vL1xuLy8vIENvcHlyaWdodCAoYykgMjAxNi0yMDE4IE1hcnRpbiBEb25hdGggPG1hcnRpbi5kb25hdGhAc3F1aWRmdW5rLmNvbT5cbi8vL1xuLy8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLFxuLy8vIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb25cbi8vLyB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSxcbi8vLyBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGVcbi8vLyBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8vXG4vLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vL1xuLy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OLUlORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTExcbi8vLyBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HXG4vLy8gRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUlxuLy8vIERFQUxJTkdTXG4vLy8vXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNjb3BlZCBpbiB0eXBlc2V0dGVkIGNvbnRlbnQgdG8gbWF0Y2ggc3BlY2lmaWNpdHkgb2YgcmVndWxhciBjb250ZW50XG4ubWQtdHlwZXNldCB7XG5cbiAgLy8gQWxsIGZvb3Rub3RlIHJlZmVyZW5jZXNcbiAgW2lkXj1cImZucmVmOlwiXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLy8gVGFyZ2V0ZWQgYW5jaG9yXG4gICAgJjp0YXJnZXQge1xuICAgICAgbWFyZ2luLXRvcDogLSg0LjhyZW0gKyAxLjJyZW0gKyAxLjZyZW0pO1xuICAgICAgcGFkZGluZy10b3A6ICg0LjhyZW0gKyAxLjJyZW0gKyAxLjZyZW0pO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gQWxsIGZvb3Rub3RlIGJhY2sgcmVmZXJlbmNlc1xuICBbaWRePVwiZm46XCJdIHtcblxuICAgIC8vIEFkZCBzcGFjaW5nIHRvIGFuY2hvciBmb3Igb2Zmc2V0XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgIC8vIFRhcmdldGVkIGFuY2hvclxuICAgICY6dGFyZ2V0OjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAtKDQuOHJlbSArIDEuMnJlbSArIDFyZW0pO1xuICAgICAgcGFkZGluZy10b3A6ICg0LjhyZW0gKyAxLjJyZW0gKyAxcmVtKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvb3Rub3RlcyBleHRlbnNpb25cbiAgLmZvb3Rub3RlIHtcbiAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodDtcbiAgICBmb250LXNpemU6IG1zKC0xKTtcblxuICAgIC8vIFJlbW92ZSBhZGRpdGlvbmFsIHNwYWNpbmcgb24gZm9vdG5vdGVzXG4gICAgb2wge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gRm9vdG5vdGVcbiAgICBsaSB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cztcblxuICAgICAgLy8gRGFya2VuIGNvbG9yIGZvciB0YXJnZXRlZCBmb290bm90ZVxuICAgICAgJjp0YXJnZXQge1xuICAgICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrO1xuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmUgc3BhY2luZyBvbiBmaXJzdCBlbGVtZW50XG4gICAgICA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBNYWtlIGJhY2sgcmVmZXJlbmNlcyB2aXNpYmxlIG9uIGhvdmVyXG4gICAgICAmOmhvdmVyICAuZm9vdG5vdGUtYmFja3JlZixcbiAgICAgICY6dGFyZ2V0IC5mb290bm90ZS1iYWNrcmVmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAvLyBBY3RpdmUgb3IgdGFyZ2V0ZWQgYmFjayByZWZlcmVuY2VcbiAgICAgICY6aG92ZXIgIC5mb290bm90ZS1iYWNrcmVmOmhvdmVyLFxuICAgICAgJjp0YXJnZXQgLmZvb3Rub3RlLWJhY2tyZWYge1xuICAgICAgICBjb2xvcjogJG1kLWNvbG9yLWFjY2VudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBGb290bm90ZSByZWZlcmVuY2VcbiAgLmZvb3Rub3RlLXJlZiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuXG4gICAgLy8gUmVuZGVyIGEgdGhpbiBsaW5lIGJlZm9yZSBmb290bm90ZVxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBtYXJnaW46IDAgMC4yZW07XG4gICAgICBib3JkZXItbGVmdDogMC4xcmVtIHNvbGlkICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAtMC41cmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvb3Rub3RlIGJhY2sgcmVmZXJlbmNlXG4gIC5mb290bm90ZS1iYWNrcmVmIHtcbiAgICBAZXh0ZW5kICVtZC1pY29uO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwLjVyZW0pO1xuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gMC4yNXMgIDAuMTI1cyxcbiAgICAgIGNvbG9yICAgICAwLjI1cyxcbiAgICAgIG9wYWNpdHkgICAwLjEyNXMgMC4xMjVzO1xuICAgIGNvbG9yOiAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXI7XG4gICAgLy8gSGFjazogcmVtb3ZlIFVuaWNvZGUgYXJyb3cgZm9yIGljb25cbiAgICBmb250LXNpemU6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG5cbiAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0wLjVyZW0pO1xuICAgIH1cblxuICAgIC8vIEJhY2sgcmVmZXJlbmNlIGljb25cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBjb250ZW50OiBcIlxcRTMxQlwiOyAvLyBrZXlib2FyZF9yZXR1cm5cblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSlcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9fZm9vdG5vdGVzLnNjc3MiLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMTggTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2NvcGVkIGluIHR5cGVzZXR0ZWQgY29udGVudCB0byBtYXRjaCBzcGVjaWZpY2l0eSBvZiByZWd1bGFyIGNvbnRlbnRcbi5tZC10eXBlc2V0IHtcblxuICAvLyBQZXJtYWxpbmtzIGV4dGVuc2lvblxuICAuaGVhZGVybGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDAuNXJlbSk7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHRyYW5zZm9ybSAwLjI1cyAgMC4yNXMsXG4gICAgICBjb2xvciAgICAgMC4yNXMsXG4gICAgICBvcGFjaXR5ICAgMC4xMjVzIDAuMjVzO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLy8gSGlnaGVyIHNwZWNpZmljaXR5IGZvciBjb2xvciBkdWUgdG8gcGFsZXR0ZXMgaW50ZWdyYXRpb25cbiAgICBodG1sIGJvZHkgJiB7XG4gICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuICAgIH1cblxuICAgIC8vIEhpZGUgZm9yIHByaW50XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29ycmVjdCBhbmNob3Igb2Zmc2V0IGZvciBsaW5rIGJsdXJyaW5nXG4gIEBlYWNoICRsZXZlbCwgJGRlbHRhIGluIChcbiAgICBoMTogMC45cmVtLFxuICAgIGgyOiAwLjhyZW0sXG4gICAgaDM6IDAuOXJlbSxcbiAgICBoNDogMC45cmVtLFxuICAgIGg1OiAxLjFyZW0sXG4gICAgaDY6IDEuMXJlbVxuICApIHtcbiAgICAjeyRsZXZlbH1baWRdIHtcblxuICAgICAgLy8gVW4tdGFyZ2V0ZWQgYW5jaG9yXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogLSRkZWx0YTtcbiAgICAgICAgcGFkZGluZy10b3A6ICRkZWx0YTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIH1cblxuICAgICAgLy8gVGFyZ2V0ZWQgYW5jaG9yICg0OHB4IGZyb20gaGVhZGVyLCAxMnB4IGZyb20gc2lkZWJhciBvZmZzZXQpXG4gICAgICAmOnRhcmdldDo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLSg0LjhyZW0gKyAxLjJyZW0gKyAkZGVsdGEpO1xuICAgICAgICBwYWRkaW5nLXRvcDogKDQuOHJlbSArIDEuMnJlbSArICRkZWx0YSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE1ha2UgcGVybWFsaW5rIHZpc2libGUgb24gaG92ZXJcbiAgICAgICY6aG92ZXIgIC5oZWFkZXJsaW5rLFxuICAgICAgJjp0YXJnZXQgLmhlYWRlcmxpbmssXG4gICAgICAmIC5oZWFkZXJsaW5rOmZvY3VzIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgIC8vIEFjdGl2ZSBvciB0YXJnZXRlZCBwZXJtYWxpbmtcbiAgICAgICY6aG92ZXIgIC5oZWFkZXJsaW5rOmhvdmVyLFxuICAgICAgJjp0YXJnZXQgLmhlYWRlcmxpbmssXG4gICAgICAmIC5oZWFkZXJsaW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRtZC1jb2xvci1hY2NlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvX3Blcm1hbGlua3Muc2NzcyIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxOCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJ1bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNjb3BlZCBpbiB0eXBlc2V0dGVkIGNvbnRlbnQgdG8gbWF0Y2ggc3BlY2lmaWNpdHkgb2YgcmVndWxhciBjb250ZW50XG4ubWQtdHlwZXNldCB7XG5cbiAgLy8gTWF0aEpheCBpbnRlZ3JhdGlvbiAtIGFkZCBwYWRkaW5nIHRvIG9taXQgdmVydGljYWwgc2Nyb2xsYmFyXG4gIC5NSlhjLWRpc3BsYXkge1xuICAgIG1hcmdpbjogMC43NWVtIDA7XG4gICAgcGFkZGluZzogMC43NWVtIDA7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG5cbiAgLy8gU3RyZXRjaCB0b3AtbGV2ZWwgY29udGFpbmVyc1xuICA+IHAgPiAuTUpYYy1kaXNwbGF5IHtcblxuICAgIC8vIFttb2JpbGUgLV06IFN0cmV0Y2ggdG8gd2hvbGUgd2lkdGhcbiAgICBAaW5jbHVkZSBicmVhay10by1kZXZpY2UobW9iaWxlKSB7XG4gICAgICBtYXJnaW46IDAuNzVlbSAtMS42cmVtO1xuICAgICAgcGFkZGluZzogMC4yNWVtIDEuNnJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgb3V0bGluZSBvbiB0YWIgaW5kZXhcbiAgLk1hdGhKYXhfQ0hUTUwge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9weW1kb3duL19hcml0aG1hdGV4LnNjc3MiLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMTggTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2NvcGVkIGluIHR5cGVzZXR0ZWQgY29udGVudCB0byBtYXRjaCBzcGVjaWZpY2l0eSBvZiByZWd1bGFyIGNvbnRlbnRcbi5tZC10eXBlc2V0IHtcblxuICAvLyBEZWxldGlvbnMsIGFkZGl0aW9ucyBhbmQgY29tbWVudHNcbiAgZGVsLmNyaXRpYyxcbiAgaW5zLmNyaXRpYyxcbiAgLmNyaXRpYy5jb21tZW50IHtcbiAgICBtYXJnaW46IDAgMC4yNWVtO1xuICAgIHBhZGRpbmc6IDAuMDYyNWVtIDA7XG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgfVxuXG4gIC8vIERlbGV0aW9uXG4gIGRlbC5jcml0aWMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlaGlsaXRlLWRpZmYtZGVsZXRlZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBkZXBlbmRlbnQgb24gb3JkZXIgb2YgaW5jbHVzaW9uXG4gICAgYm94LXNoYWRvdzpcbiAgICAgICswLjI1ZW0gMCAwICRjb2RlaGlsaXRlLWRpZmYtZGVsZXRlZCxcbiAgICAgIC0wLjI1ZW0gMCAwICRjb2RlaGlsaXRlLWRpZmYtZGVsZXRlZDtcbiAgfVxuXG4gIC8vIEFkZGl0aW9uXG4gIGlucy5jcml0aWMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlaGlsaXRlLWRpZmYtaW5zZXJ0ZWQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBkZXBlbmRlbnQgb24gb3JkZXIgb2YgaW5jbHVzaW9uXG4gICAgYm94LXNoYWRvdzpcbiAgICAgICswLjI1ZW0gMCAwICRjb2RlaGlsaXRlLWRpZmYtaW5zZXJ0ZWQsXG4gICAgICAtMC4yNWVtIDAgMCAkY29kZWhpbGl0ZS1kaWZmLWluc2VydGVkO1xuICB9XG5cbiAgLy8gQ29tbWVudFxuICAuY3JpdGljLmNvbW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2RlLWJhY2tncm91bmQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiByZW5hbWUsIGNlbnRyYWxpemUgc29tZWhvd1xuICAgIGNvbG9yOiAkbWQtY29kZS1jb2xvcjtcbiAgICBib3gtc2hhZG93OlxuICAgICAgKzAuMjVlbSAwIDAgJG1kLWNvZGUtYmFja2dyb3VuZCxcbiAgICAgIC0wLjI1ZW0gMCAwICRtZC1jb2RlLWJhY2tncm91bmQ7XG5cbiAgICAvLyBJY29uXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBleHRlbmQgJW1kLWljb247XG5cbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMTI1ZW07XG4gICAgICBjb2xvcjogJG1kLWNvbG9yLWJsYWNrLS1saWdodGVyO1xuICAgICAgY29udGVudDogXCJcXEUwQjdcIjsgLy8gY2hhdFxuICAgICAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrXG4gIC5jcml0aWMuYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZy1yaWdodDogMS42cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS42cmVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAvLyBEZWNyZWFzZSBzcGFjaW5nIG9uIGZpcnN0IGVsZW1lbnRcbiAgICA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgfVxuXG4gICAgLy8gRGVjcmVhc2Ugc3BhY2luZyBvbiBsYXN0IGVsZW1lbnRcbiAgICA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9weW1kb3duL19jcml0aWMuc2NzcyIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxOCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTY29wZWQgaW4gdHlwZXNldHRlZCBjb250ZW50IHRvIG1hdGNoIHNwZWNpZmljaXR5IG9mIHJlZ3VsYXIgY29udGVudFxuLm1kLXR5cGVzZXQge1xuXG4gIC8vIERldGFpbHMgZXh0ZW5zaW9uXG4gIGRldGFpbHMge1xuICAgIEBleHRlbmQgLmFkbW9uaXRpb247XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgIC8vIFJvdGF0ZSB0aXRsZSBpY29uXG4gICAgJltvcGVuXSA+IHN1bW1hcnk6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGJvdHRvbSBzcGFjaW5nXG4gICAgJjpub3QoW29wZW5dKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgLy8gUmVtb3ZlIGJvdHRvbSBib3JkZXIgaWYgYmxvY2sgaXMgY2xvc2VkXG4gICAgICA+IHN1bW1hcnkge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEluY3JlYXNlIHNwYWNpbmcgdG8gdGhlIHJpZ2h0IC0gc2NvcGVkIGhlcmUgZm9yIGhpZ2hlciBzcGVjaWZpY2l0eVxuICAgIHN1bW1hcnkge1xuICAgICAgcGFkZGluZy1yaWdodDogNHJlbTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWFudWFsbHkgaGlkZSBhbmQgc2hvdywgaWYgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZGV0YWlsc1xuICAgIC5uby1kZXRhaWxzICY6bm90KFtvcGVuXSkge1xuXG4gICAgICAvLyBIaWRlIGFsbCBuZXN0ZWQgdGFncyAuLi5cbiAgICAgID4gKiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8vIC4uLiBidXQgc2hvdyB0aXRsZVxuICAgICAgc3VtbWFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRpdGxlXG4gIHN1bW1hcnkge1xuICAgIEBleHRlbmQgLmFkbW9uaXRpb24tdGl0bGU7XG5cbiAgICAvLyBIYWNrOiBzZXQgdG8gYmxvY2ssIHNvIEZpcmVmb3ggZG9lc24ndCByZW5kZXIgbWFya2VyXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBkZXRhaWxzIG1hcmtlclxuICAgICY6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBJY29uXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGV4dGVuZCAlbWQtaWNvbjtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjhyZW07XG4gICAgICByaWdodDogMS4ycmVtO1xuICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGNvbnRlbnQ6IFwiXFxFMzEzXCI7IC8vIGtleWJvYXJkX2Fycm93X2Rvd25cblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgICAgbGVmdDogMS4ycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9leHRlbnNpb25zL3B5bWRvd24vX2RldGFpbHMuc2NzcyIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxOCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTY29wZWQgaW4gdHlwZXNldHRlZCBjb250ZW50IHRvIG1hdGNoIHNwZWNpZmljaXR5IG9mIHJlZ3VsYXIgY29udGVudFxuLm1kLXR5cGVzZXQge1xuXG4gIC8vIENvcnJlY3QgYWxpZ25tZW50IG9mIGVtb2ppc1xuICAuZW1vamlvbmUge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9leHRlbnNpb25zL3B5bWRvd24vX2Vtb2ppLnNjc3MiLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMTggTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUnVsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2NvcGVkIGluIHR5cGVzZXR0ZWQgY29udGVudCB0byBtYXRjaCBzcGVjaWZpY2l0eSBvZiByZWd1bGFyIGNvbnRlbnRcbi5tZC10eXBlc2V0IHtcblxuICAvLyBRdWFsaWZpZWQgY2xhc3Mgc2VsZWN0b3IgdG8gZGlzdGluZ3Vpc2ggaW5saW5lIGNvZGUgZnJvbSBjb2RlIGJsb2Nrc1xuICBjb2RlLmNvZGVoaWxpdGUge1xuICAgICRjb3JyZWN0OiAxIC8gMC44NTtcblxuICAgIG1hcmdpbjogMCAwLjI1ZW0gKiAkY29ycmVjdDtcbiAgICBwYWRkaW5nOiAwLjA2MjVlbSAqICRjb3JyZWN0IDA7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvZXh0ZW5zaW9ucy9weW1kb3duL19pbmxpbmVoaWxpdGUuc2NzcyIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxOCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTY29wZWQgaW4gdHlwZXNldHRlZCBjb250ZW50IHRvIG1hdGNoIHNwZWNpZmljaXR5IG9mIHJlZ3VsYXIgY29udGVudFxuLm1kLXR5cGVzZXQge1xuXG4gIC8vIFRhYmJlZCBjb2RlIGJsb2NrIGNvbnRlbnRcbiAgLnN1cGVyZmVuY2VzLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3JkZXI6IDk5O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZC1jb2xvci13aGl0ZTtcblxuICAgIC8vIEFjdHVhbCBjb250ZW50XG4gICAgPiAqIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBcbiAgICB9XG4gIH1cblxuICAvLyBUYWJiZWQgY29kZSBibG9jayBjb250YWluZXJcbiAgLnN1cGVyZmVuY2VzLXRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICRtZC1jb2xvci1ibGFjay0tbGlnaHRlc3Q7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yZW07XG5cbiAgICAvLyBIaWRlIHJhZGlvIGJ1dHRvbnNcbiAgICA+IGlucHV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIC8vIEFjdGl2ZSB0YWIgbGFiZWxcbiAgICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICAvLyBTaG93IGNvZGUgdGFiIGNvbnRlbnRcbiAgICAgICAgJiArIC5zdXBlcmZlbmNlcy1jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRhYiBsYWJlbFxuICAgID4gbGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiAxLjJyZW0gMS4ycmVtO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xMjVzO1xuICAgICAgZm9udC1zaXplOiBtcygtMSk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIC8vIEhvdmVyZWQgdGFiIGxhYmVsXG4gICAgICBodG1sICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJG1kLWNvbG9yLWFjY2VudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBGdWxsLXdpZHRoIGNvbnRhaW5lciBvbiB0b3AtbGV2ZWxcbiAgPiAuc3VwZXJmZW5jZXMtdGFicyB7XG5cbiAgICAvLyBbbW9iaWxlIC1dOiBTdHJldGNoIHRvIHdob2xlIHdpZHRoXG4gICAgQGluY2x1ZGUgYnJlYWstdG8tZGV2aWNlKG1vYmlsZSkge1xuICAgICAgbWFyZ2luOiAxZW0gLTEuNnJlbTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci10b3A6IDAuMXJlbSBzb2xpZCAkbWQtY29sb3ItYmxhY2stLWxpZ2h0ZXN0O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgLy8gQWN0dWFsIGNvbnRhaW5lciB3aXRoIGNvZGUsIG92ZXJmbG93aW5nXG4gICAgICBwcmUsXG4gICAgICBjb2RlIHtcbiAgICAgICAgcGFkZGluZzogMS4wNXJlbSAxLjZyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvYXNzZXRzL3N0eWxlc2hlZXRzL2V4dGVuc2lvbnMvcHltZG93bi9fc3VwZXJmZW5jZXMuc2NzcyIsIi8vLy9cbi8vLyBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxOCBNYXJ0aW4gRG9uYXRoIDxtYXJ0aW4uZG9uYXRoQHNxdWlkZnVuay5jb20+XG4vLy9cbi8vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbi8vLyB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uXG4vLy8gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsXG4vLy8gYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlXG4vLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vL1xuLy8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vLy9cbi8vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMXG4vLy8gVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lOR1xuLy8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVJcbi8vLyBERUFMSU5HU1xuLy8vL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTY29wZWQgaW4gdHlwZXNldHRlZCBjb250ZW50IHRvIG1hdGNoIHNwZWNpZmljaXR5IG9mIHJlZ3VsYXIgY29udGVudFxuLm1kLXR5cGVzZXQge1xuXG4gIC8vIFJlbW92ZSBsaXN0IGljb24gb24gdGFzayBpdGVtc1xuICAudGFzay1saXN0LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAvLyBNYWtlIGNoZWNrYm94IGl0ZW1zIGFsaWduIHdpdGggbm9ybWFsIGxpc3QgaXRlbXMsIGJ1dCBwb3NpdGlvblxuICAgIC8vIGV2ZXJ5dGhpbmcgaW4gZW1zIGZvciBjb3JyZWN0IGxheW91dCBhdCBzbWFsbGVyIGZvbnQgc2l6ZXNcbiAgICBbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC40NWVtO1xuICAgICAgbGVmdDogLTJlbTtcblxuICAgICAgLy8gQWRqdXN0IGZvciBSVEwgbGFuZ3VhZ2VzXG4gICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICByaWdodDogLTJlbTtcbiAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBXcmFwcGVyIGZvciBsaXN0IGNvbnRyb2xzLCBpbiBjYXNlIGN1c3RvbSBjaGVja2JveGVzIGFyZSBlbmFibGVkXG4gIC50YXNrLWxpc3QtY29udHJvbCB7XG5cbiAgICAvLyBDaGVja2JveCBpY29uIGluIHVuY2hlY2tlZCBzdGF0ZVxuICAgIC50YXNrLWxpc3QtaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgICAgQGV4dGVuZCAlbWQtaWNvbjtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjE1ZW07XG4gICAgICBsZWZ0OiAtMS4yNWVtO1xuICAgICAgY29sb3I6ICRtZC1jb2xvci1ibGFjay0tbGlnaHRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgY29udGVudDogXCJcXEU4MzVcIjsgLy8gY2hlY2tfYm94X291dGxpbmVfYmxhbmtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAtMC4yNWVtO1xuXG4gICAgICAvLyBBZGp1c3QgZm9yIFJUTCBsYW5ndWFnZXNcbiAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIHJpZ2h0OiAtMS4yNWVtO1xuICAgICAgICBsZWZ0OiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENoZWNrYm94IGljb24gaW4gY2hlY2tlZCBzdGF0ZVxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC50YXNrLWxpc3QtaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXEU4MzRcIjsgLy8gY2hlY2tfYm94XG4gICAgfVxuXG4gICAgLy8gSGlkZSBvcmlnaW5hbCBjaGVja2JveCBiZWhpbmQgaWNvblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2Fzc2V0cy9zdHlsZXNoZWV0cy9leHRlbnNpb25zL3B5bWRvd24vX3Rhc2tsaXN0LnNjc3MiLCIvLy8vXG4vLy8gQ29weXJpZ2h0IChjKSAyMDE2LTIwMTggTWFydGluIERvbmF0aCA8bWFydGluLmRvbmF0aEBzcXVpZGZ1bmsuY29tPlxuLy8vXG4vLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksXG4vLy8gdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvblxuLy8vIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLFxuLy8vIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8vIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vLy9cbi8vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8vXG4vLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTFxuLy8vIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vLyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSXG4vLy8gREVBTElOR1Ncbi8vLy9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vL1xuLy8vIERldmljZS1zcGVjaWZpYyBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyAgICRicmVhay1kZXZpY2VzOiAoXG4vLy8gICAgIG1vYmlsZTogKFxuLy8vICAgICAgIHBvcnRyYWl0OiAgMjIwcHggIDQ3OXB4LFxuLy8vICAgICAgIGxhbmRzY2FwZTogNDgwcHggIDcxOXB4XG4vLy8gICAgICksXG4vLy8gICAgIHRhYmxldDogKFxuLy8vICAgICAgIHBvcnRyYWl0OiAgNzIwcHggIDk1OXB4LFxuLy8vICAgICAgIGxhbmRzY2FwZTogOTYwcHggIDEyMTlweFxuLy8vICAgICApLFxuLy8vICAgICBzY3JlZW46IChcbi8vLyAgICAgICBzbWFsbDogICAgIDEyMjBweCAxNTk5cHgsXG4vLy8gICAgICAgbWVkaXVtOiAgICAxNjAwcHggMTk5OXB4LFxuLy8vICAgICAgIGxhcmdlOiAgICAgMjAwMHB4XG4vLy8gICAgIClcbi8vLyAgICk7XG4vLy9cbi8vLyBAZ3JvdXAgIGhlbHBlcnNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAdHlwZSAgIE1hcFxuLy8vXG4kYnJlYWstZGV2aWNlczogKCkgIWRlZmF1bHQ7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vXG4vLy8gQ2hvb3NlIG1pbmltdW0gYW5kIG1heGltdW0gZGV2aWNlIHdpZHRoc1xuLy8vXG4vLy8gQGdyb3VwICBoZWxwZXJzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtICB7TWFwfSAgJGRldmljZXMgTWFwIG9mIGRldmljZXNcbi8vLyBAcmV0dXJuIHtMaXN0fSAgICAgICAgICBNaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRoXG4vLy9cbkBmdW5jdGlvbiBicmVhay1zZWxlY3QtbWluLW1heCgkZGV2aWNlcykge1xuICAkbWluOiAxMDAwMDAwO1xuICAkbWF4OiAwO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGRldmljZXMge1xuICAgIEB3aGlsZSB0eXBlLW9mKCR2YWx1ZSkgPT0gbWFwIHtcbiAgICAgICR2YWx1ZTogYnJlYWstc2VsZWN0LW1pbi1tYXgoJHZhbHVlKTtcbiAgICB9XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgIEBlYWNoICRudW1iZXIgaW4gJHZhbHVlIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gbnVtYmVyIHtcbiAgICAgICAgICAkbWluOiBtaW4oJG51bWJlciwgJG1pbik7XG4gICAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkbWF4OiBtYXgoJG51bWJlciwgJG1heCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAZXJyb3IgXCJJbnZhbGlkIG51bWJlcjogI3skbnVtYmVyfVwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZWlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJG1pbjogbWluKCR2YWx1ZSwgJG1pbik7XG4gICAgICAkbWF4OiBudWxsO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yIFwiSW52YWxpZCB2YWx1ZTogI3skdmFsdWV9XCI7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJG1pbiwgJG1heDtcbn1cblxuLy8vXG4vLy8gU2VsZWN0IG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzIGZvciBhIGRldmljZSBicmVha3BvaW50XG4vLy9cbi8vLyBAZ3JvdXAgIGhlbHBlcnNcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0gIHtTdHJpbmd9ICRkZXZpY2UgRGV2aWNlXG4vLy8gQHJldHVybiB7TGlzdH0gICAgICAgICAgIE1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhcbi8vL1xuQGZ1bmN0aW9uIGJyZWFrLXNlbGVjdC1kZXZpY2UoJGRldmljZSkge1xuICAkY3VycmVudDogJGJyZWFrLWRldmljZXM7XG4gIEBmb3IgJG4gZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRkZXZpY2UpIHtcbiAgICBAaWYgdHlwZS1vZigkY3VycmVudCkgPT0gbWFwIHtcbiAgICAgICRjdXJyZW50OiBtYXAtZ2V0KCRjdXJyZW50LCBudGgoJGRldmljZSwgJG4pKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBlcnJvciBcIkludmFsaWQgZGV2aWNlIG1hcDogI3skZGV2aWNlc31cIjtcbiAgICB9XG4gIH1cbiAgQGlmIHR5cGUtb2YoJGN1cnJlbnQpID09IGxpc3Qgb3IgdHlwZS1vZigkY3VycmVudCkgPT0gbnVtYmVyIHtcbiAgICAkY3VycmVudDogKGRlZmF1bHQ6ICRjdXJyZW50KTtcbiAgfVxuICBAcmV0dXJuIGJyZWFrLXNlbGVjdC1taW4tbWF4KCRjdXJyZW50KTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vL1xuLy8vIEEgbWluaW11bS1tYXhpbXVtIG1lZGlhIHF1ZXJ5IGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBncm91cCAgaGVscGVyc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtICB7TnVtYmVyfExpc3R9ICRicmVha3BvaW50IE51bWJlciBvciBudW1iZXIgcGFpclxuLy8vXG5AbWl4aW4gYnJlYWstYXQoJGJyZWFrcG9pbnQpIHtcbiAgQGlmIHR5cGUtb2YoJGJyZWFrcG9pbnQpID09IG51bWJlciB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlaWYgdHlwZS1vZigkYnJlYWtwb2ludCkgPT0gbGlzdCB7XG4gICAgJG1pbjogbnRoKCRicmVha3BvaW50LCAxKTtcbiAgICAkbWF4OiBudGgoJGJyZWFrcG9pbnQsIDIpO1xuICAgIEBpZiB0eXBlLW9mKCRtaW4pID09IG51bWJlciBhbmQgdHlwZS1vZigkbWF4KSA9PSBudW1iZXIge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBlcnJvciBcIkludmFsaWQgYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIjtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIkludmFsaWQgYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIjtcbiAgfVxufVxuXG4vLy9cbi8vLyBBbiBvcmllbnRhdGlvbiBtZWRpYSBxdWVyeSBicmVha3BvaW50XG4vLy9cbi8vLyBAZ3JvdXAgIGhlbHBlcnNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSAge1N0cmluZ30gJGJyZWFrcG9pbnQgT3JpZW50YXRpb25cbi8vL1xuQG1peGluIGJyZWFrLWF0LW9yaWVudGF0aW9uKCRicmVha3BvaW50KSB7XG4gIEBpZiB0eXBlLW9mKCRicmVha3BvaW50KSA9PSBzdHJpbmcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiAkYnJlYWtwb2ludCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCI7XG4gIH1cbn1cblxuLy8vXG4vLy8gQSBtYXhpbXVtLWFzcGVjdC1yYXRpbyBtZWRpYSBxdWVyeSBicmVha3BvaW50XG4vLy9cbi8vLyBAZ3JvdXAgIGhlbHBlcnNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSAge051bWJlcn0gJGJyZWFrcG9pbnQgUmF0aW9cbi8vL1xuQG1peGluIGJyZWFrLWF0LXJhdGlvKCRicmVha3BvaW50KSB7XG4gIEBpZiB0eXBlLW9mKCRicmVha3BvaW50KSA9PSBudW1iZXIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1hc3BlY3QtcmF0aW86ICRicmVha3BvaW50KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIkludmFsaWQgYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIjtcbiAgfVxufVxuXG4vLy9cbi8vLyBBIG1pbmltdW0tbWF4aW11bSBtZWRpYSBxdWVyeSBkZXZpY2UgYnJlYWtwb2ludFxuLy8vXG4vLy8gQGdyb3VwICBoZWxwZXJzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0gIHtTdHJpbmd8TGlzdH0gJGJyZWFrcG9pbnQgRGV2aWNlXG4vLy9cbkBtaXhpbiBicmVhay1hdC1kZXZpY2UoJGRldmljZSkge1xuICBAaWYgdHlwZS1vZigkZGV2aWNlKSA9PSBzdHJpbmcge1xuICAgICRkZXZpY2U6ICRkZXZpY2UsO1xuICB9XG4gIEBpZiB0eXBlLW9mKCRkZXZpY2UpID09IGxpc3Qge1xuICAgICRicmVha3BvaW50OiBicmVhay1zZWxlY3QtZGV2aWNlKCRkZXZpY2UpO1xuICAgIEBpZiBudGgoJGJyZWFrcG9pbnQsIDIpICE9IG51bGwge1xuICAgICAgJG1pbjogbnRoKCRicmVha3BvaW50LCAxKTtcbiAgICAgICRtYXg6IG50aCgkYnJlYWtwb2ludCwgMik7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yIFwiSW52YWxpZCBkZXZpY2U6ICN7JGRldmljZX1cIjtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIkludmFsaWQgZGV2aWNlOiAjeyRkZXZpY2V9XCI7XG4gIH1cbn1cblxuLy8vXG4vLy8gQSBtaW5pbXVtIG1lZGlhIHF1ZXJ5IGRldmljZSBicmVha3BvaW50XG4vLy9cbi8vLyBAZ3JvdXAgIGhlbHBlcnNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBwYXJhbSAge1N0cmluZ3xMaXN0fSAkYnJlYWtwb2ludCBEZXZpY2Vcbi8vL1xuQG1peGluIGJyZWFrLWZyb20tZGV2aWNlKCRkZXZpY2UpIHtcbiAgQGlmIHR5cGUtb2YoJGRldmljZSkgPT0gc3RyaW5nIHtcbiAgICAkZGV2aWNlOiAkZGV2aWNlLDtcbiAgfVxuICBAaWYgdHlwZS1vZigkZGV2aWNlKSA9PSBsaXN0IHtcbiAgICAkYnJlYWtwb2ludDogYnJlYWstc2VsZWN0LWRldmljZSgkZGV2aWNlKTtcbiAgICAkbWluOiBudGgoJGJyZWFrcG9pbnQsIDEpO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIGRldmljZTogI3skZGV2aWNlfVwiO1xuICB9XG59XG5cbi8vL1xuLy8vIEEgbWF4aW11bSBtZWRpYSBxdWVyeSBkZXZpY2UgYnJlYWtwb2ludFxuLy8vXG4vLy8gQGdyb3VwICBoZWxwZXJzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0gIHtTdHJpbmd8TGlzdH0gJGJyZWFrcG9pbnQgRGV2aWNlXG4vLy9cbkBtaXhpbiBicmVhay10by1kZXZpY2UoJGRldmljZSkge1xuICBAaWYgdHlwZS1vZigkZGV2aWNlKSA9PSBzdHJpbmcge1xuICAgICRkZXZpY2U6ICRkZXZpY2UsO1xuICB9XG4gIEBpZiB0eXBlLW9mKCRkZXZpY2UpID09IGxpc3Qge1xuICAgICRicmVha3BvaW50OiBicmVhay1zZWxlY3QtZGV2aWNlKCRkZXZpY2UpO1xuICAgICRtYXg6IG50aCgkYnJlYWtwb2ludCwgMik7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIkludmFsaWQgZGV2aWNlOiAjeyRkZXZpY2V9XCI7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fYnJlYWsuc2NzcyJdLCJzb3VyY2VSb290IjoiIn0=*/