@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

@font-face {
  font-family: "Montserrat";
  font-weight: 100;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-100.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-100.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 200;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-200.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-200.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 300;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-300.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-300.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: normal;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-regular.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-regular.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 500;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-500.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-500.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 600;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-600.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-600.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 700;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-700.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-700.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 800;
  font-style: normal;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-800.woff2") format("woff2"), url("../font/montserrat/montserrat-v12-latin_latin-ext-800.woff") format("woff");
}
.font-primary-100 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 100;
}

.font-primary-200 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 200;
}

.font-primary-300 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 300;
}

.font-primary-regular {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: regular;
}

.font-primary-500 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 500;
}

.font-primary-600 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
}

.font-primary-700 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 700;
}

.font-primary-800 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 800;
}

@font-face {
  font-family: "Montserrat";
  font-weight: 100;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-100italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-100italic.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 200;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-200italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-200italic.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 300;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-300italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-300italic.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: normal;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-italic.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 500;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-500italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-500italic.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 600;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-600italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-600italic.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 700;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-700italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-700italic.woff") format("woff");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 800;
  font-style: italic;
  src: url("../font/montserrat/montserrat-v12-latin_latin-ext-800italic.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-800italic.woff") format("woff");
}
.font-primary-italic-200 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 200;
  font-style: italic;
}

.font-primary-italic-regular {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: regular;
  font-style: italic;
}

@font-face {
  font-family: "Martel";
  font-weight: 300;
  font-style: normal;
  src: url("../font/martel/martel-v2-latin_latin-ext-300.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-300.woff") format("woff");
}
@font-face {
  font-family: "Martel";
  font-weight: normal;
  font-style: normal;
  src: url("../font/martel/martel-v2-latin_latin-ext-regular.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-regular.woff") format("woff");
}
@font-face {
  font-family: "Martel";
  font-weight: 600;
  font-style: normal;
  src: url("../font/martel/martel-v2-latin_latin-ext-600.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-600.woff") format("woff");
}
@font-face {
  font-family: "Martel";
  font-weight: 800;
  font-style: normal;
  src: url("../font/martel/martel-v2-latin_latin-ext-800.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-800.woff") format("woff");
}
@font-face {
  font-family: "Martel";
  font-weight: 900;
  font-style: normal;
  src: url("../font/martel/martel-v2-latin_latin-ext-900.woff2") format("woff2"), url("../font/martel/martel-v2-latin_latin-ext-900.woff") format("woff");
}
.font-secondary-300 {
  font-family: Martel, Georgia, serif;
  font-weight: 300;
}

.font-secondary-regular {
  font-family: Martel, Georgia, serif;
  font-weight: regular;
}

.font-secondary-600 {
  font-family: Martel, Georgia, serif;
  font-weight: 600;
}

.font-secondary-800 {
  font-family: Martel, Georgia, serif;
  font-weight: 800;
}

.font-secondary-900 {
  font-family: Martel, Georgia, serif;
  font-weight: 900;
}

.h-debug-layout [class^=l-],
.h-debug-layout [class*=" l-"] {
  background-image: url("../img/layout/grid-1132-12-32-0.png");
  background-repeat-y: repeat;
}

.h-debug-type h1,
.h-debug-type h2,
.h-debug-type h3,
.h-debug-type h4,
.h-debug-type h5,
.h-debug-type h6,
.h-debug-type p,
.h-debug-type li {
  position: relative;
}
.h-debug-type h1::before,
.h-debug-type h2::before,
.h-debug-type h3::before,
.h-debug-type h4::before,
.h-debug-type h5::before,
.h-debug-type h6::before,
.h-debug-type p::before,
.h-debug-type li::before {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  padding: 3px 6px;
  background-color: rgb(255, 0, 221);
  font-family: monospace;
  font-size: 9px;
  line-height: 1;
  font-weight: bold;
  color: #000;
  text-transform: none;
}
.h-debug-type h1::before {
  content: "h1";
}
.h-debug-type h1[class]::before {
  content: "h1." attr(class);
}
.h-debug-type h2::before {
  content: "h2";
}
.h-debug-type h2[class]::before {
  content: "h2." attr(class);
}
.h-debug-type h3::before {
  content: "h3";
}
.h-debug-type h3[class]::before {
  content: "h3." attr(class);
}
.h-debug-type h4::before {
  content: "h4";
}
.h-debug-type h4[class]::before {
  content: "h4." attr(class);
}
.h-debug-type h5::before {
  content: "h5";
}
.h-debug-type h5[class]::before {
  content: "h5." attr(class);
}
.h-debug-type h6::before {
  content: "h6";
}
.h-debug-type h6[class]::before {
  content: "h6." attr(class);
}
.h-debug-type p::before {
  content: "p";
}
.h-debug-type p[class]::before {
  content: "p." attr(class);
}
.h-debug-type li::before {
  content: "li";
}
.h-debug-type li[class]::before {
  content: "li." attr(class);
}

.h-icon {
  vertical-align: -0.15em;
  width: 1em;
  height: 1em;
  overflow: hidden;
  fill: currentColor;
}
a .h-icon, button .h-icon, input .h-icon, .b-search-field .h-icon {
  pointer-events: none;
}
.h-icon--rotate-90 {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.h-icon--rotate-180 {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.h-icon--rotate-270 {
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg);
}
a .h-icon--arrow {
  fill: #1f1e24;
}
.b-button .h-icon--arrow {
  fill: currentColor;
}
.h-icon--arrow--up {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.h-icon--arrow--down {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.h-icon--arrow--left {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.h-icon--arrow--up-right {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.h-icon--triangle--up {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.h-icon--loading-spinner-large, .h-icon--loading-spinner-small-white {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-name: loading-spinner-animation;
          animation-name: loading-spinner-animation;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}

@-webkit-keyframes loading-spinner-animation {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes loading-spinner-animation {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.h-block {
  display: block;
}
.h-block[class^=l-1--], .h-block[class*=" l-1--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.h-block[class^=l-2--], .h-block[class*=" l-2--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.h-block[class^=l-3--], .h-block[class*=" l-3--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.h-block[class^=l-4--], .h-block[class*=" l-4--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.h-global-margin {
  margin-top: 4rem;
  margin-bottom: 2rem;
}

.h-hide {
  display: none;
}
.b-modal-js .h-hide--modal {
  display: none;
}
.b-modal-js--present .h-hide--modal--present {
  display: none;
}

.h-invisible {
  visibility: hidden;
}

.h-overlay--is-active {
  overflow: hidden;
  overflow-y: auto;
  padding-right: 0 !important;
}
.h-overlay--is-active .b-message-js,
.h-overlay--is-active .h-hide--overlay-is-active {
  display: none;
}
@media screen and (min-width:750px) {
  .h-overlay--is-active {
    overflow: auto;
  }
  .h-overlay--is-active .b-message-js,
  .h-overlay--is-active .h-hide--overlay-is-active {
    display: block;
  }
}

.h-print {
  display: none !important;
}

.h-right {
  text-align: right;
}

.h-show {
  display: block;
}
.h-show[class^=l-1--], .h-show[class*=" l-1--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.h-show[class^=l-2--], .h-show[class*=" l-2--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.h-show[class^=l-3--], .h-show[class*=" l-3--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.h-show[class^=l-4--], .h-show[class*=" l-4--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js .h-show--modal {
  display: block;
}
.b-modal-js .h-show--modal[class^=l-1--], .b-modal-js .h-show--modal[class*=" l-1--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js .h-show--modal[class^=l-2--], .b-modal-js .h-show--modal[class*=" l-2--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js .h-show--modal[class^=l-3--], .b-modal-js .h-show--modal[class*=" l-3--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js .h-show--modal[class^=l-4--], .b-modal-js .h-show--modal[class*=" l-4--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--present .h-show--modal--present {
  display: block;
}
.b-modal-js--present .h-show--modal--present[class^=l-1--], .b-modal-js--present .h-show--modal--present[class*=" l-1--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--present .h-show--modal--present[class^=l-2--], .b-modal-js--present .h-show--modal--present[class*=" l-2--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--present .h-show--modal--present[class^=l-3--], .b-modal-js--present .h-show--modal--present[class*=" l-3--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--present .h-show--modal--present[class^=l-4--], .b-modal-js--present .h-show--modal--present[class*=" l-4--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.h-visuallyhidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  border: 0;
  margin: -1px;
  clip: rect(0 0 0 0);
}
.h-visuallyhidden.h-focusable:active, .h-visuallyhidden.h-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  margin: 0;
  clip: auto;
}
.b-modal .h-visuallyhidden--modal {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  border: 0;
  margin: -1px;
  clip: rect(0 0 0 0);
}

.h-visuallyshown {
  position: inherit;
  width: inherit;
  height: inherit;
  overflow: inherit;
  padding: inherit;
  border: inherit;
  margin: inherit;
  clip: auto;
}

@media screen and (max-width:749px) {
  .h-hide--content-below-wide {
    display: none;
  }
  .h-show--content-below-wide {
    display: block;
  }
  .h-show--content-below-wide[class^=l-1--], .h-show--content-below-wide[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--content-below-wide[class^=l-2--], .h-show--content-below-wide[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--content-below-wide[class^=l-3--], .h-show--content-below-wide[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--content-below-wide[class^=l-4--], .h-show--content-below-wide[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-visuallyhidden--content-below-wide {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (min-width:750px) {
  .h-hide--content-wide-and-up {
    display: none;
  }
  .h-show--content-wide-and-up {
    display: block;
  }
  .h-show--content-wide-and-up[class^=l-1--], .h-show--content-wide-and-up[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--content-wide-and-up[class^=l-2--], .h-show--content-wide-and-up[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--content-wide-and-up[class^=l-3--], .h-show--content-wide-and-up[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--content-wide-and-up[class^=l-4--], .h-show--content-wide-and-up[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-visuallyhidden--content-wide-and-up {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (min-width:320px) {
  .h-show--page-narrow-and-up {
    display: block;
  }
  .h-show--page-narrow-and-up[class^=l-1--], .h-show--page-narrow-and-up[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrow-and-up[class^=l-2--], .h-show--page-narrow-and-up[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrow-and-up[class^=l-3--], .h-show--page-narrow-and-up[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrow-and-up[class^=l-4--], .h-show--page-narrow-and-up[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width:749px) {
  .h-show--page-narrow {
    display: block;
  }
  .h-show--page-narrow[class^=l-1--], .h-show--page-narrow[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrow[class^=l-2--], .h-show--page-narrow[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrow[class^=l-3--], .h-show--page-narrow[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrow[class^=l-4--], .h-show--page-narrow[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width:750px) {
  .h-show--page-narrowish-and-up {
    display: block;
  }
  .h-show--page-narrowish-and-up[class^=l-1--], .h-show--page-narrowish-and-up[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrowish-and-up[class^=l-2--], .h-show--page-narrowish-and-up[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrowish-and-up[class^=l-3--], .h-show--page-narrowish-and-up[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrowish-and-up[class^=l-4--], .h-show--page-narrowish-and-up[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width:750px) and (max-width:899px) {
  .h-show--page-narrowish {
    display: block;
  }
  .h-show--page-narrowish[class^=l-1--], .h-show--page-narrowish[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrowish[class^=l-2--], .h-show--page-narrowish[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrowish[class^=l-3--], .h-show--page-narrowish[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-narrowish[class^=l-4--], .h-show--page-narrowish[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-visuallyhidden--page-narrowish {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (max-width:899px) {
  .h-visuallyhidden--page-below-wideish {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (min-width:900px) {
  .h-show--page-wideish-and-up {
    display: block;
  }
  .h-show--page-wideish-and-up[class^=l-1--], .h-show--page-wideish-and-up[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wideish-and-up[class^=l-2--], .h-show--page-wideish-and-up[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wideish-and-up[class^=l-3--], .h-show--page-wideish-and-up[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wideish-and-up[class^=l-4--], .h-show--page-wideish-and-up[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width:900px) and (max-width:1023px) {
  .h-show--page-wideish {
    display: block;
  }
  .h-show--page-wideish[class^=l-1--], .h-show--page-wideish[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wideish[class^=l-2--], .h-show--page-wideish[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wideish[class^=l-3--], .h-show--page-wideish[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wideish[class^=l-4--], .h-show--page-wideish[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width:1023px) {
  .h-fullwidth--page-below-wide {
    position: relative;
    right: -20px;
    left: -20px;
    width: calc(100% + 40px);
  }
  .h-hide--page-below-wide {
    display: none;
  }
}
@media screen and (min-width:1024px) {
  .h-hide--page-wide-and-up {
    display: none;
  }
  .h-show--page-wide-and-up {
    display: block;
  }
  .h-show--page-wide-and-up[class^=l-1--], .h-show--page-wide-and-up[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wide-and-up[class^=l-2--], .h-show--page-wide-and-up[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wide-and-up[class^=l-3--], .h-show--page-wide-and-up[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wide-and-up[class^=l-4--], .h-show--page-wide-and-up[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-visuallyhidden--page-wide-and-up {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (min-width:1024px) and (max-width:1131px) {
  .h-fullwidth--page-wide {
    position: relative;
    right: -48px;
    left: -48px;
    width: calc(100% + 96px);
  }
  .h-hide--page-wide {
    display: none;
  }
  .h-show--page-wide {
    display: block;
  }
  .h-show--page-wide[class^=l-1--], .h-show--page-wide[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wide[class^=l-2--], .h-show--page-wide[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wide[class^=l-3--], .h-show--page-wide[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-wide[class^=l-4--], .h-show--page-wide[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-visuallyhidden--page-wide {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (min-width:1024px) {
  .h-hide--page-widest-and-up {
    display: none;
  }
  .h-show--page-widest-and-up {
    display: block;
  }
  .h-show--page-widest-and-up[class^=l-1--], .h-show--page-widest-and-up[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-widest-and-up[class^=l-2--], .h-show--page-widest-and-up[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-widest-and-up[class^=l-3--], .h-show--page-widest-and-up[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-widest-and-up[class^=l-4--], .h-show--page-widest-and-up[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-visuallyhidden--page-widest-and-up {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (min-width:1132px) and (max-width:1199px) {
  .h-fullwidth--page-widest {
    position: relative;
    right: -48px;
    left: -48px;
    width: calc(100% + 96px);
  }
  .h-hide--page-widest {
    display: none;
  }
  .h-show--page-widest {
    display: block;
  }
  .h-show--page-widest[class^=l-1--], .h-show--page-widest[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-widest[class^=l-2--], .h-show--page-widest[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-widest[class^=l-3--], .h-show--page-widest[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-show--page-widest[class^=l-4--], .h-show--page-widest[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .h-visuallyhidden--page-widest {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: -1px;
    clip: rect(0 0 0 0);
  }
}
@media screen and (min-width:1200px) {
  .h-fullwidth--page-full {
    position: relative;
    right: -144px;
    left: -144px;
    width: calc(100% + 288px);
  }
}
.h-list--check {
  padding-left: 5rem;
  margin-bottom: 3.25rem;
  margin-left: 0;
}
.h-list--check > li {
  margin-bottom: 2rem;
}
.h-list--check > li::before {
  display: inline-block;
  content: "";
  width: 4.3rem;
  height: 2.5rem;
  margin-bottom: -0.75rem;
  margin-left: -4.3rem;
  background-image: url("../img/icons/check.svg");
  background-repeat: no-repeat;
  background-position: 0% 25%;
  background-size: 2.5rem;
}
.h-list--inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.h-list--inline > li {
  margin: 0;
}
.h-list--numbered {
  padding-left: 5rem;
  margin-bottom: 3.25rem;
  counter-reset: list-numbering;
}
.h-list--numbered > li {
  margin-bottom: 1.5rem;
  list-style: none;
  counter-increment: list-numbering;
}
.h-list--numbered > li:before {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.05rem;
  display: inline-block;
  content: counter(list-numbering);
  vertical-align: baseline;
  width: 3rem;
  height: 3rem;
  border-radius: 100%;
  margin: 0 2rem 0 -5rem;
  background-color: #1f1e24;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.25rem;
  font-weight: 600;
  color: white;
  text-align: center;
}
.ie11 .h-list--numbered > li:before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 1.5rem;
}
.h-list--questions {
  padding: 0;
  margin: 0;
  list-style: none;
}
.h-list--questions li {
  padding-left: 0;
}
.h-list--questions li::before {
  display: none;
}
.h-list--questions > li {
  padding: 2.125rem 2.5rem 1.825rem;
  margin-bottom: 1.5rem;
  background-color: #f2f1ec;
  line-height: 2.8rem;
}
.h-list--reset {
  padding: 0;
  margin: 0;
  list-style: none;
}
.h-list--reset li {
  padding-left: 0;
}
.h-list--reset li::before {
  display: none;
}
@media screen and (min-width:750px) {
  .b-modal-js--present .h-list--check {
    padding-left: 8rem;
    margin-left: 0;
  }
  .b-modal-js--present .h-list--check > li:before {
    width: 8rem;
    height: 3rem;
    margin-bottom: 0;
    margin-left: -8rem;
    background-position: 30% 50%;
    background-size: 3.5rem;
  }
  .h-list--inline > li.h-hide--content-wide-and-up {
    display: none;
  }
  .h-list--inline-medium > li {
    display: inline-block;
    vertical-align: top;
    margin-right: 1rem;
  }
  .h-list--inline-medium > li.h-hide--content-wide-and-up {
    display: none;
  }
  .h-list--inline-medium > li:last-child {
    margin-right: 0;
  }
  .b-modal-js--present .h-list--numbered {
    padding-left: 8rem;
  }
  .h-list--numbered > li {
    margin-bottom: 3rem;
  }
  .b-modal-js--present .h-list--numbered > li:before {
    vertical-align: 0.4em;
    width: 3.5rem;
    height: 3.5rem;
    margin-right: 3.5rem;
    margin-left: -7rem;
    line-height: 3.75rem;
  }
  .ie11 .b-modal-js--present .h-list--numbered > li:before {
    padding-top: 1.85rem;
  }
  .b-modal-js--present .h-list--questions {
    margin-left: 0;
  }
  .h-list--questions > li {
    padding-left: 3rem;
  }
  .b-modal-js--present .h-list--questions > li {
    padding: 4.1rem 3.9rem 3.5rem 5.4rem;
    margin-bottom: 3rem;
    background-color: white;
  }
}

.l-order--1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.l-order--2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.js-enabled :focus {
  outline: 0;
}

.js-disabled .h-hide--no-js {
  display: none !important;
}

.js-enabled .h-hide--js {
  display: none;
}
@media screen and (max-width:1023px) {
  .js-enabled .h-hide--js--page-narrow {
    display: none;
  }
}

.h-anchor {
  display: block;
}

@media screen and (max-width:749px) {
  .h-break--content-narrow {
    word-break: break-word;
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto;
  }
}

.h-ellipsis {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.h1--home {
  font-size: 5.7730151564rem;
  line-height: 5.5rem;
  letter-spacing: -0.1443253789rem;
  color: #00a914;
}
.h1--light {
  font-family: Montserrat, Arial, sans-serif;
  line-height: 5rem;
  font-weight: 200;
  color: #1f1e24;
}

.h2--guide {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  line-height: 3rem;
}
.h2--how-to-use-the-site {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3rem;
  font-weight: normal;
}
.h2--nav-guide-sidebar--header {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  font-family: Martel, Georgia, serif;
  font-weight: normal;
}
.h2--nav-guide-sidebar--header strong {
  display: block;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 700;
}
.h2--nav-guide-sidebar--header__indexof {
  display: block;
}
.h2--nav-guide-sidebar--header__indexof[class^=h2--], .h2--nav-guide-sidebar--header__indexof[class*=" h2--"] {
  font-family: Martel, Georgia, serif;
}
.h2--nav--in-page-pinned-label {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.03rem;
  line-height: 2.5rem;
  font-weight: normal;
  color: gray;
}
.h2--next-steps {
  font-size: 5.1315690279rem;
  line-height: 5.5rem;
  letter-spacing: -0.1282892257rem;
  line-height: 7.25rem;
}
.h2--search {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
}
.h2--slide {
  font-size: 3.6040649414rem;
  line-height: 3.5rem;
  letter-spacing: -0.0901016235rem;
  line-height: 4rem;
}

.h3--guide {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  font-weight: 500;
}
.h3--help-item {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  line-height: 3.125rem;
  font-weight: 300;
}
.h3--nav-guide-sidebar--sub-header {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0088888889rem;
  font-family: Martel, Georgia, serif;
  line-height: 2rem;
  font-weight: bold;
}
.h3--nav-guide-sidebar--sub-header[class^=h3--], .h3--nav-guide-sidebar--sub-header[class*=" h3--"] {
  font-family: Martel, Georgia, serif;
}
.h3--resource {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  line-height: 3rem;
  font-weight: 500;
}
@media screen and (min-width:750px) {
  .b-modal-js--present .h3--resource {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.1013643265rem;
  }
}
.h3--resource--large {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  line-height: 3rem;
  font-weight: 500;
}
.h3--result {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
}
.h3--result--guide {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0284765625rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 800;
}
@media screen and (min-width:750px) {
  .h3--strategy {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.1013643265rem;
    line-height: 4.5rem;
  }
}
.h3--text-promo {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  line-height: 3.75rem;
  font-weight: 600;
}
.h3--understand-summary {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  line-height: 2.75rem;
  font-weight: 500;
}

.h4 strong {
  font-weight: inherit;
}
.h4--suggestions {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.02rem;
  line-height: 2.625rem;
  font-weight: 500;
}
.h4--understand-more {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-weight: 500;
}

.h5--suggestion {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  line-height: 3rem;
  font-weight: 500;
}
.h5--suggestion a {
  font-weight: inherit;
}
.h5--suggestion--large {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  font-weight: normal;
}
.h5--suggestion--large a {
  font-weight: 500;
}

.a--hover {
  border-bottom-width: currentColor;
}
.a--no-underline {
  border-bottom-color: transparent;
}
.a--no-underline:hover {
  border-bottom-color: transparent;
}
.a--no-underline:hover .a {
  border-bottom-color: currentColor;
}
.a--no-underline-ever {
  border-bottom-color: transparent;
}
.a--no-underline-ever:hover {
  border-bottom-color: transparent;
}
.a--no-underline-ever:hover .a {
  border-bottom-color: transparent;
}
.a--no-visited:visited, .a--no-visited:visited > .a {
  color: inherit;
}
.a--active-page-or-parent {
  color: inherit;
}
.a--active-page-or-parent:visited {
  color: inherit;
}
.a--underline {
  border-bottom-color: currentColor;
}
.a--visited {
  color: #895bc7;
}

.p--alert {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0088888889rem;
  font-family: Montserrat, Arial, sans-serif;
}
.p--brand {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.09rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.25rem;
  font-weight: 800;
}
.p--brand a {
  color: inherit;
}
.p--browse-all-guides {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.875rem;
  font-weight: 500;
}
.p--caption {
  font-size: 1.5802469136rem;
  line-height: 2rem;
  letter-spacing: -0.0395061728rem;
  font-family: Montserrat, Arial, sans-serif;
}
.p--example-home-title {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3rem;
  font-weight: 500;
}
.p--filter {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 500;
}
.p--filter a,
.p--filter strong {
  font-weight: inherit;
}
.p--filter del {
  font-weight: 300;
  color: #b7b7b7;
  text-decoration: none;
}
.p--filter-notice {
  font-size: 1.4046639232rem;
  line-height: 2rem;
  letter-spacing: 0.0070233196rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.25rem;
  font-weight: normal;
}
.p--filter-notice strong {
  font-weight: 600;
}
.p--footer {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.05rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
}
.p--footer-nav {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3rem;
}
.p--footer-nav a {
  color: inherit;
}
.p--footer-nav a:hover {
  color: white;
}
.p--guide-link {
  text-transform: uppercase;
}
.p--guide-link a {
  display: block;
}
.p--guide-link--featured-tall {
  text-transform: uppercase;
}
.p--guide-link--featured-tall a {
  display: block;
}
.p--includes {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0444444444rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2rem;
}
.p--includes strong {
  font-weight: 500;
}
.p--intro {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0085429688rem;
  line-height: 4rem;
}
.p--intro--guide {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.01265625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.25rem;
}
.p--intro--next-steps, .p--return {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3rem;
  font-weight: normal;
}
.p--intro--next-steps strong, .p--return strong {
  font-weight: 600;
}
.p--intro--sorry {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.0253125rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.5rem;
  font-weight: 300;
}
.p--intro--sorry strong {
  font-weight: 500;
}
.p--intro--sub {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.06328125rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.25rem;
  font-weight: 200;
}
.p--intro--sub--heavy {
  font-weight: 300;
}
.p--intro--suggestion, .p--intro--suggestion.b-content > p {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.01265625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.25rem;
  font-weight: 300;
}

.p--large, .p--large--home {
  font-size: 2rem;
  line-height: 3rem;
}
.p--large a, .p--large--home a {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  line-height: 3rem;
  font-weight: 500;
}
.p--nav-guide-sidebar {
  font-family: Montserrat, Arial, sans-serif;
}
.p--nav-guide-sidebar--back {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2rem;
}
.p--nav-guide-sidebar--mnav {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.09rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
}
.p--nav-guide-sidebar--strategy, .p--nav-guide-sidebar--resources, .p--nav-guide-sidebar--understand {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.75rem;
  font-weight: bold;
}
.p--nav-guide-sidebar--suggestion {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.05rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  font-weight: 500;
}
.p--nav--guide--ui-link {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.09rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
}
.p--nav--in-page {
  letter-spacing: -0.03rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  font-weight: 500;
}
.p--nav--in-page-pinned {
  letter-spacing: -0.02rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  font-weight: normal;
}
.p--nav--in-page-pinned-trigger-text {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.03rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  font-weight: 700;
  color: #1f1e24;
}
.p--nav-primary {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.09rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
  color: black;
}
.p--nav-primary button {
  font: inherit;
}
.p--nav-primary a,
.p--nav-primary button {
  color: inherit;
}
.p--nav-slide {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: bold;
  text-transform: uppercase;
}
.p--next-step--link {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 800;
}
.p--next-step--link--light {
  font-weight: 500;
}
.p--note {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  letter-spacing: normal;
}
.p--popular-search {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.0225rem;
  line-height: 6.35rem;
}
.p--print--meta {
  font-size: 1.4046639232rem;
  line-height: 2rem;
  letter-spacing: -0.0140466392rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: normal;
}
.p--print--meta a {
  font-weight: inherit;
  color: #777777;
}
.p--print--meta a span {
  text-decoration: underline;
}
.p--print--meta a strong {
  display: inline-block;
  padding: 0 0.5rem;
  border-radius: 0.375rem;
  background-color: #ededed;
  font-weight: 500;
  color: #212121;
}
.p--quote {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  line-height: 3rem;
  font-weight: 200;
}
.p--quote-cite {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.03rem;
  font-weight: 900;
}
.p--quote-source {
  font-size: 1.5802469136rem;
  line-height: 2rem;
  letter-spacing: -0.0395061728rem;
  font-family: Montserrat, Arial, sans-serif;
}
.p--quote-source a {
  font-weight: inherit;
  color: inherit;
}
.p--read-more {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  text-transform: uppercase;
}
.p--repeats {
  font-size: 1.4046639232rem;
  line-height: 2rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2rem;
  font-weight: 500;
  text-transform: uppercase;
}
.p--resource-description {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.05rem;
}
.p--resource-meta--cost, .p--resource-meta--file-size, .p--resource-meta--publisher, .p--resource-meta--read-time, .p--resource-meta--registration, .p--resource-meta--subscription {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0444444444rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.125rem;
}
.p--resource-meta--cost strong, .p--resource-meta--file-size strong, .p--resource-meta--publisher strong, .p--resource-meta--read-time strong, .p--resource-meta--registration strong, .p--resource-meta--subscription strong {
  font-weight: 500;
  letter-spacing: normal;
}
.p--resource-meta--cost {
  line-height: 3rem;
}
.p--resource-meta--read-time strong {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
}
.p--resource-meta--registration strong {
  font-size: 100%;
}
.p--resource-meta--file-size {
  line-height: 2rem;
  font-weight: 600;
  text-transform: uppercase;
}
.p--resource-meta--cost strong, .p--resource-meta--subscription strong {
  color: #00a914;
}
.p--resource-meta--slide--read-time, .p--resource-meta--slide--publisher {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0444444444rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.125rem;
}
.p--resource-meta--slide--read-time strong, .p--resource-meta--slide--publisher strong {
  font-weight: 500;
  letter-spacing: normal;
}
.p--result-category {
  font-size: 1.5802469136rem;
  line-height: 2rem;
  letter-spacing: 0.0395061728rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3rem;
  font-weight: 600;
  text-transform: uppercase;
}
.p--result-count {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.875rem;
}
.p--result-count strong {
  font-weight: 500;
}
.p--result-description {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.05625rem;
  line-height: 2.5rem;
  font-weight: 300;
}
.p--result-match {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
}
.p--result-match strong {
  font-weight: 600;
}
.p--result-meta {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0177777778rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.125rem;
}
.p--result-meta strong {
  font-weight: 600;
}
.p--result-meta--read-time {
  line-height: 2.75rem;
}
.p--result-more-link {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
}
.p--result-more-link a {
  font-weight: inherit;
}
.p--result-solution {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0225rem;
  line-height: 2.625rem;
  font-weight: 300;
}
.p--result-teaser {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0177777778rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
}
.p--search-input {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.75rem;
  font-weight: 300;
}
.p--search-input strong {
  font-weight: 600;
}
@media screen and (min-width:750px) {
  .p--search-input {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.0961083984rem;
    line-height: 3.75rem;
  }
}
.p--see-all-guides {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 500;
}
.p--show-material-for {
  font-family: Montserrat, Arial, sans-serif;
  line-height: 1.75rem;
  font-weight: 500;
}
.p--slide {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.01rem;
}
@media screen and (min-width:750px) {
  .p--slide {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.01125rem;
    line-height: 3.25rem;
  }
  .b-modal-js--present .p--slide {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.0202728653rem;
    line-height: 6rem;
    font-weight: 300;
  }
  .b-modal-js--present .p--slide.b-process-list__step-inner {
    line-height: 6rem;
  }
}
.p--slide-source {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0444444444rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2rem;
}
.p--slide-source a {
  font-weight: inherit;
  color: inherit;
}
.p--sort-by {
  font-size: 3.2036132813rem;
  line-height: 3.5rem;
  letter-spacing: -0.080090332rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 300;
}
.p--strategy-overview {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.01rem;
  line-height: 3rem;
}
.p--suggestion--current-page {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0177777778rem;
  display: block;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.5rem;
  opacity: 0.6;
}
.p--tag {
  font-size: 1.4046639232rem;
  line-height: 2rem;
  letter-spacing: -0.0140466392rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  text-transform: uppercase;
}
.p--tag strong {
  font-weight: bold;
}
.p--understand {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  font-weight: 500;
}
.p--understand a {
  font-weight: inherit;
}

@media screen and (max-width:749px) {
  .p--resource-meta--cost {
    line-height: 2.5rem;
  }
  .p--resource-meta--cost strong {
    letter-spacing: -0.01265625rem;
  }
  .p--resource-meta--subscription {
    line-height: 2.5rem;
  }
  .p--resource-meta--subscription strong {
    letter-spacing: normal;
  }
}
@media screen and (min-width:750px) {
  .h1--home {
    font-size: 10.4031607657rem;
    line-height: 12rem;
    letter-spacing: -0.5201580383rem;
    line-height: 10rem;
  }
  .h1--light {
    line-height: 7.75rem;
  }
  .h2--nav-guide-sidebar--header {
    font-size: 5.1315690279rem;
    line-height: 5.5rem;
    letter-spacing: -0.1282892257rem;
    line-height: 5.125rem;
  }
  .h2--search {
    font-weight: 500;
  }
  .h2--slide {
    font-size: 4.5613946915rem;
    line-height: 5rem;
    letter-spacing: -0.1140348673rem;
    line-height: 4.5rem;
  }
  .b-modal-js--present .h2--slide {
    font-size: 5.1315690279rem;
    line-height: 5.5rem;
    letter-spacing: -0.1623660513rem;
    font-weight: 900;
  }
  .h3--guide {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: normal;
  }
  .h3--help-item {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 3.75rem;
  }
  .h3--nav-guide-sidebar--sub-header {
    letter-spacing: -0.0444444444rem;
  }
  .h3--resource--large {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 4rem;
  }
  .b-modal-js--present .h3--resource--large {
    font-size: 5.1315690279rem;
    line-height: 5.5rem;
    letter-spacing: -0.1282892257rem;
    line-height: 6rem;
  }
  .h3--result {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 4rem;
  }
  .h3--result--guide {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.1013643265rem;
  }
  .h3--text-promo {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 3.75rem;
    font-weight: 500;
  }
  .h4--suggestions {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
    line-height: 2.75rem;
  }
  .h4--understand-more {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
  }
  .h5--suggestion {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
  }
  .h5--suggestion--large {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
  }
  .p--alert {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.01125rem;
    line-height: 3rem;
  }
  .p--brand {
    font-size: 3.6040649414rem;
    line-height: 3.5rem;
    letter-spacing: -0.1441625977rem;
  }
  .p--browse-all-guides {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 3.875rem;
  }
  .p--example-home-title {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 3.75rem;
  }
  .p--filter {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
  }
  .p--filter-notice {
    font-size: 1.5802469136rem;
    line-height: 2rem;
    letter-spacing: 0.0079012346rem;
    line-height: 2rem;
  }
  .p--footer {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 3.5rem;
  }
  .p--footer strong {
    display: block;
  }
  .p--footer-nav {
    font-size: 2.84765625rem;
    line-height: 3.5rem;
    letter-spacing: -0.0711914063rem;
    line-height: 3rem;
  }
  .p--guide {
    font-family: Montserrat, Arial, sans-serif;
    line-height: 2.75rem;
    font-weight: normal;
  }
  .p--guide--featured-tall {
    font-family: Montserrat, Arial, sans-serif;
    line-height: 2.5rem;
    font-weight: normal;
  }
  .p--guide-link--featured-tall {
    font-size: 1.7777777778rem;
    line-height: 2.25rem;
    letter-spacing: -0.0444444444rem;
  }
  .p--guide-listing {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.0225rem;
    font-family: Montserrat, Arial, sans-serif;
    line-height: 2.75rem;
    font-weight: normal;
  }
  .p--guide-listing a {
    line-height: 3.125rem;
    font-weight: 500;
  }
  .p--intro {
    font-size: 2.84765625rem;
    line-height: 3.5rem;
    line-height: 4.5rem;
    letter-spacing: normal;
  }
  .p--intro--guide {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.0480541992rem;
  }
  .b-modal-js--search .p--intro--sorry {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.1419100571rem;
    line-height: 6rem;
  }
  .p--intro--sub {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.0160180664rem;
    line-height: 4rem;
  }
  .p--intro--sub--heavy {
    letter-spacing: -0.080090332rem;
  }
  .p--intro--suggestion, .p--intro--suggestion.b-content > p {
    letter-spacing: -0.06328125rem;
  }
  .b-modal-js--present .p--intro--suggestion, .b-modal-js--present .p--intro--suggestion.b-content > p {
    font-size: 5.1315690279rem;
    line-height: 5.5rem;
    letter-spacing: -0.1282892257rem;
    line-height: 5.75rem;
    font-weight: 200;
  }
  .p--large, .p--large--home {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
  }
  .p--large a, .p--large--home a {
    font-size: 2.25rem;
    line-height: 3.5rem;
  }
  .p--large--home {
    font-size: 2.25rem;
    line-height: 3.5rem;
    line-height: 3.25rem;
  }
  .p--large--home a {
    line-height: 3.25rem;
  }
  .p--nav-guide-sidebar--strategy, .p--nav-guide-sidebar--resources, .p--nav-guide-sidebar--understand {
    font-size: 2.53125rem;
    line-height: 3rem;
    letter-spacing: -0.06328125rem;
    line-height: 2.75rem;
  }
  .p--nav-guide-sidebar--suggestion {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
    line-height: 2.75rem;
  }
  .p--nav--in-page {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.03375rem;
    line-height: 2.5rem;
  }
  .p--nav-primary {
    font-size: 3.6040649414rem;
    line-height: 3.5rem;
    letter-spacing: -0.1441625977rem;
  }
  .p--next-step--link {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
  }
  .p--note {
    font-size: 2rem;
    line-height: 3rem;
  }
  .p--popular-search {
    font-size: 2.84765625rem;
    line-height: 3.5rem;
    letter-spacing: -0.0711914063rem;
    line-height: 6rem;
  }
  .p--quote {
    font-size: 2.84765625rem;
    line-height: 3.5rem;
    letter-spacing: -0.0711914063rem;
    line-height: 3.625rem;
  }
  .b-modal-js--present .p--quote {
    font-size: 3.6040649414rem;
    line-height: 3.5rem;
    letter-spacing: -0.1140348673rem;
    line-height: 6rem;
  }
  .p--quote-cite {
    letter-spacing: -0.03375rem;
    font-weight: 800;
  }
  .b-modal-js--present .p--quote-cite {
    font-size: 3.6040649414rem;
    line-height: 3.5rem;
    letter-spacing: -0.0684209204rem;
    line-height: 3.5rem;
  }
  .p--quote-source {
    font-size: 1.5802469136rem;
    line-height: 2rem;
    letter-spacing: -0.0395061728rem;
  }
  .b-modal-js--present .p--quote-source {
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: -0.05rem;
    line-height: 3.25rem;
    font-weight: 200;
  }
  .b-modal-js--present .p--repeats {
    font-size: 2.53125rem;
    line-height: 3rem;
    line-height: 3.5rem;
  }
  .p--resource-meta--cost, .p--resource-meta--file-size, .p--resource-meta--publisher, .p--resource-meta--read-time, .p--resource-meta--registration, .p--resource-meta--subscription {
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: -0.02rem;
    line-height: 2.75rem;
  }
  .p--resource-meta--cost strong, .p--resource-meta--file-size strong, .p--resource-meta--publisher strong, .p--resource-meta--read-time strong, .p--resource-meta--registration strong, .p--resource-meta--subscription strong {
    font-size: 2.53125rem;
    line-height: 3rem;
    letter-spacing: -0.0253125rem;
    display: block;
    line-height: 3rem;
    letter-spacing: normal;
  }
  .p--resource-meta--cost, .p--resource-meta--subscription {
    font-size: 2rem;
    line-height: 3rem;
  }
  .p--resource-meta--cost strong, .p--resource-meta--subscription strong {
    display: block;
  }
  .p--resource-meta--file-size {
    font-size: 1.5802469136rem;
    line-height: 2rem;
  }
  .p--resource-meta--publisher {
    font-size: 1.5802469136rem;
    line-height: 2rem;
    letter-spacing: -0.0444444444rem;
    line-height: 2.125rem;
  }
  .p--resource-meta--publisher strong {
    font-size: 1.5802469136rem;
    line-height: 2rem;
    display: inline;
  }
  .p--resource-meta--read-time {
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: -0.02rem;
    line-height: 2.75rem;
  }
  .b-modal-js--present .p--resource-meta--slide--read-time, .b-modal-js--present .p--resource-meta--slide--publisher {
    font-size: 2.53125rem;
    line-height: 3rem;
    letter-spacing: -0.06328125rem;
    line-height: 3.875rem;
  }
  .p--result-category {
    font-size: 1.7777777778rem;
    line-height: 2.25rem;
    letter-spacing: 0.0444444444rem;
    line-height: 3rem;
  }
  .p--result-count {
    font-size: 2.53125rem;
    line-height: 3rem;
    letter-spacing: -0.06328125rem;
    line-height: 3.875rem;
  }
  .p--result-description {
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: -0.05rem;
    font-weight: 300;
  }
  .p--result-solution {
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: -0.02rem;
  }
  .p--result-teaser {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.01125rem;
    line-height: 3rem;
  }
  .p--see-all-guides {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
  }
  .p--show-material-for {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
    line-height: 1.75rem;
  }
  .p--slide-source {
    font-size: 1.4046639232rem;
    line-height: 2rem;
    letter-spacing: -0.0351165981rem;
  }
  .b-modal-js--present .p--slide-source {
    font-size: 2.53125rem;
    line-height: 3rem;
    letter-spacing: -0.06328125rem;
  }
  .p--strategy-overview {
    line-height: 2.625rem;
  }
  .p--understand {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
  }
}
@media screen and (min-width:1024px) {
  .h1--home {
    font-size: 13.1665003441rem;
    line-height: 13rem;
    letter-spacing: -0.6583250172rem;
    line-height: 12rem;
  }
  .p--intro {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    line-height: 4.5rem;
    letter-spacing: normal;
  }
}
@media screen and (min-width:900px) {
  .h2--guide {
    font-size: 4.5613946915rem;
    line-height: 5rem;
    letter-spacing: -0.1140348673rem;
  }
}
@media screen and (min-width:900px) and (max-width:1023px) {
  .h2--guide {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.1013643265rem;
    line-height: 3.9rem;
  }
}
@media screen and (min-width:750px) and (max-width:899px) {
  .h2--guide {
    font-size: 3.6040649414rem;
    line-height: 3.5rem;
    letter-spacing: -0.0901016235rem;
    line-height: 4.1rem;
  }
}
@media screen and (min-width:500px) and (max-width:749px) {
  .h2--guide {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
    line-height: 3.7rem;
  }
  .p--filter {
    font-size: 2.53125rem;
    line-height: 3rem;
    letter-spacing: -0.06328125rem;
  }
}
@media screen and (min-width:750px) and (max-width:1199px) {
  .h2--slide {
    font-size: 3.6040649414rem;
    line-height: 3.5rem;
    letter-spacing: -0.0901016235rem;
    line-height: 4rem;
  }
}
@media screen and (min-width:1024px) {
  .h1--home {
    font-size: 11.7035558614rem;
    line-height: 13rem;
    letter-spacing: -0.5851777931rem;
  }
}
.tooltipped {
  position: relative;
}

.tooltipped::after {
  position: absolute;
  z-index: 1000000;
  display: none;
  padding: 0.5rem 0.6rem;
  font: normal normal 11px/1.5 Montserrat, Arial, sans-serif;
  -webkit-font-smoothing: subpixel-antialiased;
  color: rgb(255, 255, 255);
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: break-word;
  white-space: pre;
  pointer-events: none;
  content: attr(aria-label);
  background: rgba(0, 0, 0, 0.8);
  border-radius: 4px;
  opacity: 0;
}

.tooltipped::before {
  position: absolute;
  z-index: 1000001;
  display: none;
  width: 0;
  height: 0;
  color: rgba(0, 0, 0, 0.8);
  pointer-events: none;
  content: "";
  border: 6px solid transparent;
  opacity: 0;
}

@-webkit-keyframes tooltip-appear {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes tooltip-appear {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.tooltipped:hover::before, .tooltipped:hover::after,
.tooltipped:active::before,
.tooltipped:active::after,
.tooltipped:focus::before,
.tooltipped:focus::after {
  display: inline-block;
  text-decoration: none;
  -webkit-animation-name: tooltip-appear;
          animation-name: tooltip-appear;
  -webkit-animation-duration: 200;
          animation-duration: 200;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in;
          animation-timing-function: ease-in;
  -webkit-animation-delay: 0;
          animation-delay: 0;
}

.tooltipped-no-delay:hover::before, .tooltipped-no-delay:hover::after,
.tooltipped-no-delay:active::before,
.tooltipped-no-delay:active::after,
.tooltipped-no-delay:focus::before,
.tooltipped-no-delay:focus::after {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.tooltipped-multiline:hover::after,
.tooltipped-multiline:active::after,
.tooltipped-multiline:focus::after {
  display: table-cell;
}

.tooltipped-s::after,
.tooltipped-se::after,
.tooltipped-sw::after {
  top: 100%;
  right: 50%;
  margin-top: 6px;
}
.tooltipped-s::before,
.tooltipped-se::before,
.tooltipped-sw::before {
  top: auto;
  right: 50%;
  bottom: -7px;
  margin-right: -6px;
  border-bottom-color: rgba(0, 0, 0, 0.8);
}

.tooltipped-se::after {
  right: auto;
  left: 50%;
  margin-left: -0.3rem;
}

.tooltipped-sw::after {
  margin-right: -0.3rem;
}

.tooltipped-n::after,
.tooltipped-ne::after,
.tooltipped-nw::after {
  right: 50%;
  bottom: 100%;
  margin-bottom: 6px;
}
.tooltipped-n::before,
.tooltipped-ne::before,
.tooltipped-nw::before {
  top: -7px;
  right: 50%;
  bottom: auto;
  margin-right: -6px;
  border-top-color: rgba(0, 0, 0, 0.8);
}

.tooltipped-ne::after {
  right: auto;
  left: 50%;
  margin-left: -0.3rem;
}

.tooltipped-nw::after {
  margin-right: -0.3rem;
}

.tooltipped-s::after,
.tooltipped-n::after {
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}

.tooltipped-w::after {
  right: 100%;
  bottom: 50%;
  margin-right: 6px;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
.tooltipped-w::before {
  top: 50%;
  bottom: 50%;
  left: -7px;
  margin-top: -6px;
  border-left-color: rgba(0, 0, 0, 0.8);
}

.tooltipped-e::after {
  bottom: 50%;
  left: 100%;
  margin-left: 6px;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
.tooltipped-e::before {
  top: 50%;
  right: -7px;
  bottom: 50%;
  margin-top: -6px;
  border-right-color: rgba(0, 0, 0, 0.8);
}

.tooltipped-align-right-1::after,
.tooltipped-align-right-2::after {
  right: 0;
  margin-right: 0;
}

.tooltipped-align-right-1::before {
  right: 10px;
}

.tooltipped-align-right-2::before {
  right: 15px;
}

.tooltipped-align-left-1::after,
.tooltipped-align-left-2::after {
  left: 0;
  margin-left: 0;
}

.tooltipped-align-left-1::before {
  left: 5px;
}

.tooltipped-align-left-2::before {
  left: 10px;
}

.tooltipped-sticky::before, .tooltipped-sticky::after {
  display: inline-block;
  text-decoration: none;
  -webkit-animation-name: tooltip-appear;
          animation-name: tooltip-appear;
  -webkit-animation-duration: 200;
          animation-duration: 200;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in;
          animation-timing-function: ease-in;
  -webkit-animation-delay: 0;
          animation-delay: 0;
}
.tooltipped-sticky.tooltipped-multiline::after {
  display: table-cell;
}

html {
  font-size: 8px;
}

body {
  font-size: 2rem;
  line-height: 2.5rem;
}

html,
body {
  padding: 0;
  margin: 0;
  background: white;
}
html *,
body * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.upper-footer {
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
}

.footer-logos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 2rem;
}
@media (max-width: 576px) {
  .footer-logos {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.footer-logos__container {
  max-width: unset !important;
}
.footer-logos .moe-logo {
  -webkit-transition: unset;
  transition: unset;
  border-bottom: 0;
}
@media (max-width: 576px) {
  .footer-logos .moe-logo svg {
    margin-left: 0;
  }
}
.footer-logos .moe-logo:hover {
  border-bottom: 0;
}

body {
  font-family: Martel, Georgia, serif;
  color: #1f1e24;
  text-rendering: auto;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

input,
textarea {
  font-family: Montserrat, Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
[class^=h1--],
[class*=" h1--"],
[class^=h2--],
[class*=" h2--"],
[class^=h3--],
[class*=" h3--"],
[class^=h4--],
[class*=" h4--"],
[class^=h5--],
[class*=" h5--"],
[class^=h6--],
[class*=" h6--"] {
  font-family: Montserrat, Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-weight: 800;
  color: #1f1e24;
}

h1 {
  font-size: 5.1315690279rem;
  line-height: 5.5rem;
  letter-spacing: -0.1282892257rem;
}
@media screen and (min-width:750px) {
  h1 {
    font-size: 7.3064723073rem;
    line-height: 7.75rem;
    letter-spacing: -0.1826618077rem;
    margin: 0 0 6rem;
  }
}

.h1 {
  font-size: 4.0545730591rem;
  line-height: 5rem;
  letter-spacing: -0.1013643265rem;
}
@media screen and (min-width:750px) {
  .h1 {
    font-size: 7.3064723073rem;
    line-height: 7.75rem;
    letter-spacing: -0.1826618077rem;
    margin: 0 0 6rem;
  }
}

h2,
.h2 {
  font-size: 4.0545730591rem;
  line-height: 5rem;
  letter-spacing: -0.1013643265rem;
  margin: 5.9rem 0 3.6rem;
}
@media screen and (min-width:750px) {
  h2,
  .h2 {
    font-size: 5.1315690279rem;
    line-height: 5.5rem;
    letter-spacing: -0.1282892257rem;
  }
}

h3,
.h3 {
  font-size: 3.2036132813rem;
  line-height: 3.5rem;
  line-height: 3.5rem;
}
@media screen and (min-width:750px) {
  h3,
  .h3 {
    font-size: 5.1315690279rem;
    line-height: 5.5rem;
    letter-spacing: -0.1282892257rem;
  }
}

h4,
.h4 {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  font-weight: 500;
}
@media screen and (min-width:750px) {
  h4,
  .h4 {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.080090332rem;
  }
}

h5,
.h5 {
  font-size: 2.53125rem;
  line-height: 3rem;
  letter-spacing: -0.01265625rem;
  margin: 3.5rem 0 2.3rem;
  font-weight: 600;
}

h6,
.h6 {
  font-size: 2rem;
  line-height: 3rem;
  margin: 5rem 0 3rem;
  line-height: 3.5rem;
  font-weight: bold;
}

p a,
.p a {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 700;
}

a,
.a {
  border-bottom: 1px solid transparent;
  color: #0099d9;
  text-decoration: none;
  -webkit-transition: border 0.2s ease, color 0.2s ease;
  transition: border 0.2s ease, color 0.2s ease;
}
a:hover,
.a:hover {
  border-bottom-color: currentColor;
}

a:visited, a:visited > .a, a:visited mark {
  color: #895bc7;
}

hr {
  display: block;
  height: 1px;
  padding: 0;
  border: 0;
  border-top: 1px solid #1f1e24;
  margin: 1rem 0;
}

.js-enabled a:focus,
.js-enabled button:focus,
.js-enabled input:focus,
.js-enabled textarea:focus,
.js-enabled select:focus,
.js-enabled [tabIndex*=""]:focus {
  outline: 0;
}
.js-wai-outline a:focus,
.js-wai-outline button:focus,
.js-wai-outline input:focus,
.js-wai-outline textarea:focus,
.js-wai-outline select:focus,
.js-wai-outline [tabIndex*=""]:focus {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
.js-wai-outline a:focus.js-wai-no-outline,
.js-wai-outline button:focus.js-wai-no-outline,
.js-wai-outline input:focus.js-wai-no-outline,
.js-wai-outline textarea:focus.js-wai-no-outline,
.js-wai-outline select:focus.js-wai-no-outline,
.js-wai-outline [tabIndex*=""]:focus.js-wai-no-outline {
  outline: 0;
}
.js-wai-outline a:focus.js-wai-no-outline .js-wai-outline--proxy,
.js-wai-outline button:focus.js-wai-no-outline .js-wai-outline--proxy,
.js-wai-outline input:focus.js-wai-no-outline .js-wai-outline--proxy,
.js-wai-outline textarea:focus.js-wai-no-outline .js-wai-outline--proxy,
.js-wai-outline select:focus.js-wai-no-outline .js-wai-outline--proxy,
.js-wai-outline [tabIndex*=""]:focus.js-wai-no-outline .js-wai-outline--proxy {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}

mark {
  background-color: #fff185;
  color: inherit;
}

img {
  max-width: 100%;
}

input:not([type=radio]):not([type=checkbox]) {
  margin-bottom: 1rem;
}

fieldset {
  padding: 0;
  border: 0;
  margin: 0;
}
fieldset .field {
  padding: 0;
  border: 0;
  margin: 0 0 4rem;
}

input[type=text], input[type=password], input[type=search], input[type=email], input[type=number], input[type=tel], input[type=url], input[type^=date], input[type=month], input[type=week], input[type=time],
textarea {
  font-size: 2.25rem;
  line-height: 3.5rem;
  letter-spacing: -0.05625rem;
  display: block;
  width: 100%;
  padding: 1.5rem 2rem;
  border: 1px solid #1f1e24;
  font-weight: 300;
  color: black;
  white-space: nowrap;
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}

input[type=submit], input[type=reset], input[type=button],
button {
  display: inline-block;
  width: auto;
  padding: 2rem 3rem;
  color: black;
  white-space: nowrap;
  cursor: pointer;
}

label {
  display: block;
}

ul,
ol {
  margin: 1rem 0 3.7rem;
}
ul ul,
ul ol,
ol ul,
ol ol {
  margin: 0.5rem 0 0;
}
ul li,
ol li {
  margin-bottom: 0.5rem;
}

dl {
  margin: 2rem 0;
}
dl dt,
dl dd {
  max-width: 20rem;
}
dl dd {
  margin-bottom: 2rem;
}

ol {
  margin-bottom: 3.25rem;
}
ol > li {
  margin-bottom: 1.5rem;
  list-style: none;
  counter-increment: list-numbering;
}
ol > li:before {
  display: inline-block;
  content: counter(list-numbering) ".";
  vertical-align: baseline;
  width: 3rem;
  height: 3rem;
  margin: 0 0.5rem 0 -3.5rem;
  line-height: 3.25rem;
}
@media screen and (min-width:750px) {
  ol > li {
    margin-bottom: 3rem;
  }
}

ul {
  padding-left: 0;
  margin-left: 4.3rem;
  list-style-type: none;
}
ul > li {
  padding-left: 0;
  margin-bottom: 1rem;
}
ul > li::before {
  display: inline-block;
  content: "";
  width: 4.3rem;
  height: 1rem;
  margin-left: -4.3rem;
  background-image: url("../img/icons/bullet.svg");
  background-repeat: no-repeat;
  background-position: 40% 25%;
}
@media screen and (min-width:750px) {
  ul {
    margin-left: 5rem;
  }
  .b-modal-js--present ul {
    margin-left: 4.4rem;
  }
  .b-modal-js--present ul.h-list--reset {
    margin-left: 0;
  }
  ul > li {
    margin-bottom: 1.5rem;
  }
  ul > li::before {
    width: 5rem;
    margin-left: -5rem;
    background-position: 50% 25%;
  }
  .b-modal-js--present ul > li::before {
    width: 4.4rem;
    height: 2.2rem;
    margin-left: -4.4rem;
    background-position: 10% 20%;
  }
}

table {
  border-collapse: collapse;
}
table th,
table td {
  vertical-align: top;
  text-align: left;
}
table > thead th {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.05rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  font-weight: 600;
  padding: 1.9rem 2.8rem 1.7rem;
  background-color: #1f1e24;
  color: white;
}
table > thead th strong {
  font-weight: inherit;
  color: #b7b7b7;
}
@media screen and (min-width:750px) {
  table > thead th {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
    line-height: 3rem;
  }
  .b-modal-js--present table > thead th {
    font-size: 2.84765625rem;
    line-height: 3.5rem;
    letter-spacing: -0.0711914063rem;
  }
}
table > tbody th {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.05rem;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 500;
  background-color: whitesmoke;
  color: black;
}
table > tbody th strong {
  font-weight: inherit;
  color: #b7b7b7;
}
@media screen and (min-width:750px) {
  table > tbody th {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
    line-height: 3rem;
  }
  .b-modal-js--present table > tbody th {
    font-size: 2.84765625rem;
    line-height: 3.5rem;
    letter-spacing: -0.0711914063rem;
  }
}
.b-modal-js--present table > tbody th {
  background-color: white;
}
table > tbody tr > th:last-child,
table > tbody tr > td:last-child {
  border-right: 0;
}
table > tbody tr > th:first-child {
  border-right: 0;
}
table > tbody td {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.05rem;
  font-family: Montserrat, Arial, sans-serif;
}
table > tbody td strong {
  font-weight: inherit;
  color: #b7b7b7;
}
@media screen and (min-width:750px) {
  table > tbody td {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
    line-height: 3rem;
  }
  .b-modal-js--present table > tbody td {
    font-size: 2.84765625rem;
    line-height: 3.5rem;
    letter-spacing: -0.0711914063rem;
  }
}
table > tbody th,
table > tbody td {
  padding: 2.6rem 2.8rem 2.2rem;
  border: 1px solid #dddddd;
  border-width: 0 1px 1px 0;
}
.b-modal-js--present table > tbody th,
.b-modal-js--present table > tbody td {
  border-color: #b2b2b2;
}
@media screen and (min-width:750px) {
  table {
    width: 100%;
  }
  .b-modal-js--present table {
    -webkit-backface-visibility: visible;
            backface-visibility: visible;
  }
}

.l-outer-container {
  padding: 0 20px;
}
@media screen and (min-width:750px) {
  .l-outer-container {
    padding: 0 48px;
  }
}
@media screen and (min-width:1024px) {
  .l-outer-container {
    max-width: 153.5rem;
    margin: 0 auto;
    padding: 0 48px;
  }
}

.l-overflow-liner {
  overflow: hidden;
  overflow-x: auto;
  overflow-y: hidden;
}

.l-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.l-row--centered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width:320px) {
  .l-grid-narrow-1of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 1 / 12) - (32px * (1 - 1 / 12)));
        flex-basis: calc((100% * 1 / 12) - (32px * (1 - 1 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 1 / 12 - 32px * (1 - 1 / 12));
        flex-basis: calc(100% * 1 / 12 - 32px * (1 - 1 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 1 / 12) - (32px * (1 - 1 / 12)));
=======
    max-width: calc(100% * 1 / 12 - 32px * (1 - 1 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-narrow-2of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 2 / 12) - (32px * (1 - 2 / 12)));
        flex-basis: calc((100% * 2 / 12) - (32px * (1 - 2 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 2 / 12 - 32px * (1 - 2 / 12));
        flex-basis: calc(100% * 2 / 12 - 32px * (1 - 2 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 2 / 12) - (32px * (1 - 2 / 12)));
=======
    max-width: calc(100% * 2 / 12 - 32px * (1 - 2 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-narrow-3of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 3 / 12) - (32px * (1 - 3 / 12)));
        flex-basis: calc((100% * 3 / 12) - (32px * (1 - 3 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 3 / 12 - 32px * (1 - 3 / 12));
        flex-basis: calc(100% * 3 / 12 - 32px * (1 - 3 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 3 / 12) - (32px * (1 - 3 / 12)));
=======
    max-width: calc(100% * 3 / 12 - 32px * (1 - 3 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-narrow-4of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 4 / 12) - (32px * (1 - 4 / 12)));
        flex-basis: calc((100% * 4 / 12) - (32px * (1 - 4 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 4 / 12 - 32px * (1 - 4 / 12));
        flex-basis: calc(100% * 4 / 12 - 32px * (1 - 4 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 4 / 12) - (32px * (1 - 4 / 12)));
=======
    max-width: calc(100% * 4 / 12 - 32px * (1 - 4 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-narrow-5of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 5 / 12) - (32px * (1 - 5 / 12)));
        flex-basis: calc((100% * 5 / 12) - (32px * (1 - 5 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 5 / 12 - 32px * (1 - 5 / 12));
        flex-basis: calc(100% * 5 / 12 - 32px * (1 - 5 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 5 / 12) - (32px * (1 - 5 / 12)));
=======
    max-width: calc(100% * 5 / 12 - 32px * (1 - 5 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-narrow-6of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 6 / 12) - (32px * (1 - 6 / 12)));
        flex-basis: calc((100% * 6 / 12) - (32px * (1 - 6 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 6 / 12 - 32px * (1 - 6 / 12));
        flex-basis: calc(100% * 6 / 12 - 32px * (1 - 6 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 6 / 12) - (32px * (1 - 6 / 12)));
=======
    max-width: calc(100% * 6 / 12 - 32px * (1 - 6 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-narrow-7of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 7 / 12) - (32px * (1 - 7 / 12)));
        flex-basis: calc((100% * 7 / 12) - (32px * (1 - 7 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 7 / 12 - 32px * (1 - 7 / 12));
        flex-basis: calc(100% * 7 / 12 - 32px * (1 - 7 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 7 / 12) - (32px * (1 - 7 / 12)));
=======
    max-width: calc(100% * 7 / 12 - 32px * (1 - 7 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-narrow-8of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 8 / 12) - (32px * (1 - 8 / 12)));
        flex-basis: calc((100% * 8 / 12) - (32px * (1 - 8 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 8 / 12 - 32px * (1 - 8 / 12));
        flex-basis: calc(100% * 8 / 12 - 32px * (1 - 8 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 8 / 12) - (32px * (1 - 8 / 12)));
=======
    max-width: calc(100% * 8 / 12 - 32px * (1 - 8 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-narrow-9of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 9 / 12) - (32px * (1 - 9 / 12)));
        flex-basis: calc((100% * 9 / 12) - (32px * (1 - 9 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 9 / 12 - 32px * (1 - 9 / 12));
        flex-basis: calc(100% * 9 / 12 - 32px * (1 - 9 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 9 / 12) - (32px * (1 - 9 / 12)));
=======
    max-width: calc(100% * 9 / 12 - 32px * (1 - 9 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-narrow-10of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 10 / 12) - (32px * (1 - 10 / 12)));
        flex-basis: calc((100% * 10 / 12) - (32px * (1 - 10 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 10 / 12 - 32px * (1 - 10 / 12));
        flex-basis: calc(100% * 10 / 12 - 32px * (1 - 10 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 10 / 12) - (32px * (1 - 10 / 12)));
=======
    max-width: calc(100% * 10 / 12 - 32px * (1 - 10 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-narrow-11of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 11 / 12) - (32px * (1 - 11 / 12)));
        flex-basis: calc((100% * 11 / 12) - (32px * (1 - 11 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 11 / 12 - 32px * (1 - 11 / 12));
        flex-basis: calc(100% * 11 / 12 - 32px * (1 - 11 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 11 / 12) - (32px * (1 - 11 / 12)));
=======
    max-width: calc(100% * 11 / 12 - 32px * (1 - 11 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-narrow-12of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 12 / 12) - (32px * (1 - 12 / 12)));
        flex-basis: calc((100% * 12 / 12) - (32px * (1 - 12 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 12 / 12 - 32px * (1 - 12 / 12));
        flex-basis: calc(100% * 12 / 12 - 32px * (1 - 12 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 12 / 12) - (32px * (1 - 12 / 12)));
=======
    max-width: calc(100% * 12 / 12 - 32px * (1 - 12 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
}
@media screen and (min-width:1024px) {
  .l-grid-wide-1of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 1 / 12) - (32px * (1 - 1 / 12)));
        flex-basis: calc((100% * 1 / 12) - (32px * (1 - 1 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 1 / 12 - 32px * (1 - 1 / 12));
        flex-basis: calc(100% * 1 / 12 - 32px * (1 - 1 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 1 / 12) - (32px * (1 - 1 / 12)));
=======
    max-width: calc(100% * 1 / 12 - 32px * (1 - 1 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-wide-2of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 2 / 12) - (32px * (1 - 2 / 12)));
        flex-basis: calc((100% * 2 / 12) - (32px * (1 - 2 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 2 / 12 - 32px * (1 - 2 / 12));
        flex-basis: calc(100% * 2 / 12 - 32px * (1 - 2 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 2 / 12) - (32px * (1 - 2 / 12)));
=======
    max-width: calc(100% * 2 / 12 - 32px * (1 - 2 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-wide-3of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 3 / 12) - (32px * (1 - 3 / 12)));
        flex-basis: calc((100% * 3 / 12) - (32px * (1 - 3 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 3 / 12 - 32px * (1 - 3 / 12));
        flex-basis: calc(100% * 3 / 12 - 32px * (1 - 3 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 3 / 12) - (32px * (1 - 3 / 12)));
=======
    max-width: calc(100% * 3 / 12 - 32px * (1 - 3 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-wide-4of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 4 / 12) - (32px * (1 - 4 / 12)));
        flex-basis: calc((100% * 4 / 12) - (32px * (1 - 4 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 4 / 12 - 32px * (1 - 4 / 12));
        flex-basis: calc(100% * 4 / 12 - 32px * (1 - 4 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 4 / 12) - (32px * (1 - 4 / 12)));
=======
    max-width: calc(100% * 4 / 12 - 32px * (1 - 4 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-wide-5of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 5 / 12) - (32px * (1 - 5 / 12)));
        flex-basis: calc((100% * 5 / 12) - (32px * (1 - 5 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 5 / 12 - 32px * (1 - 5 / 12));
        flex-basis: calc(100% * 5 / 12 - 32px * (1 - 5 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 5 / 12) - (32px * (1 - 5 / 12)));
=======
    max-width: calc(100% * 5 / 12 - 32px * (1 - 5 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-wide-6of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 6 / 12) - (32px * (1 - 6 / 12)));
        flex-basis: calc((100% * 6 / 12) - (32px * (1 - 6 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 6 / 12 - 32px * (1 - 6 / 12));
        flex-basis: calc(100% * 6 / 12 - 32px * (1 - 6 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 6 / 12) - (32px * (1 - 6 / 12)));
=======
    max-width: calc(100% * 6 / 12 - 32px * (1 - 6 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-wide-7of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 7 / 12) - (32px * (1 - 7 / 12)));
        flex-basis: calc((100% * 7 / 12) - (32px * (1 - 7 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 7 / 12 - 32px * (1 - 7 / 12));
        flex-basis: calc(100% * 7 / 12 - 32px * (1 - 7 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 7 / 12) - (32px * (1 - 7 / 12)));
=======
    max-width: calc(100% * 7 / 12 - 32px * (1 - 7 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-wide-8of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 8 / 12) - (32px * (1 - 8 / 12)));
        flex-basis: calc((100% * 8 / 12) - (32px * (1 - 8 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 8 / 12 - 32px * (1 - 8 / 12));
        flex-basis: calc(100% * 8 / 12 - 32px * (1 - 8 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 8 / 12) - (32px * (1 - 8 / 12)));
=======
    max-width: calc(100% * 8 / 12 - 32px * (1 - 8 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-wide-9of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 9 / 12) - (32px * (1 - 9 / 12)));
        flex-basis: calc((100% * 9 / 12) - (32px * (1 - 9 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 9 / 12 - 32px * (1 - 9 / 12));
        flex-basis: calc(100% * 9 / 12 - 32px * (1 - 9 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 9 / 12) - (32px * (1 - 9 / 12)));
=======
    max-width: calc(100% * 9 / 12 - 32px * (1 - 9 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-wide-10of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 10 / 12) - (32px * (1 - 10 / 12)));
        flex-basis: calc((100% * 10 / 12) - (32px * (1 - 10 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 10 / 12 - 32px * (1 - 10 / 12));
        flex-basis: calc(100% * 10 / 12 - 32px * (1 - 10 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 10 / 12) - (32px * (1 - 10 / 12)));
=======
    max-width: calc(100% * 10 / 12 - 32px * (1 - 10 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-wide-11of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 11 / 12) - (32px * (1 - 11 / 12)));
        flex-basis: calc((100% * 11 / 12) - (32px * (1 - 11 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 11 / 12 - 32px * (1 - 11 / 12));
        flex-basis: calc(100% * 11 / 12 - 32px * (1 - 11 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 11 / 12) - (32px * (1 - 11 / 12)));
=======
    max-width: calc(100% * 11 / 12 - 32px * (1 - 11 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
  .l-grid-wide-12of12 {
<<<<<<< HEAD
    -ms-flex-preferred-size: calc((100% * 12 / 12) - (32px * (1 - 12 / 12)));
        flex-basis: calc((100% * 12 / 12) - (32px * (1 - 12 / 12)));
=======
    -ms-flex-preferred-size: calc(100% * 12 / 12 - 32px * (1 - 12 / 12));
        flex-basis: calc(100% * 12 / 12 - 32px * (1 - 12 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
<<<<<<< HEAD
    max-width: calc((100% * 12 / 12) - (32px * (1 - 12 / 12)));
=======
    max-width: calc(100% * 12 / 12 - 32px * (1 - 12 / 12));
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
    margin-bottom: 32px;
  }
}
.l-ajax-js {
  display: block;
  position: relative;
  min-height: 62.5rem;
}
.l-ajax-js__wrapper {
  position: relative;
}
.l-ajax-js__inner {
  position: absolute;
  z-index: 20;
  width: 100%;
  height: 100%;
  background-color: #f2f1ec;
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  pointer-events: none;
}
.ie10 .l-ajax-js__inner {
  height: 0;
}
.l-ajax-js__inner--in {
  min-height: 62.5rem;
  opacity: 1;
  pointer-events: auto;
}
.ie10 .l-ajax-js__inner--in {
  height: 100%;
}
.l-ajax-js__inner--out {
  opacity: 0;
  pointer-events: none;
}
.l-ajax-js__inner::before {
  position: absolute;
  top: calc(50% - 6.5rem);
  left: calc(50% - 6.5rem);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  content: "";
  width: 13rem;
  height: 13rem;
  border: 1rem solid #f1f1f1;
  border-top-color: #009cde;
  border-radius: 50%;
  margin: auto;
  -webkit-animation: ajax-spinner 0.9s linear infinite;
          animation: ajax-spinner 0.9s linear infinite;
}
.l-ajax-js--inline-loader {
  position: relative;
  padding-left: 0;
  font-size: 2.25rem;
  line-height: 2.5rem;
  text-align: center;
  -webkit-transition: padding ease-out 0.2s;
  transition: padding ease-out 0.2s;
}
.l-ajax-js--inline-loader .b-button__icon-wrap--before {
  display: none;
  -webkit-animation: ajax-spinner 0.6s linear infinite;
          animation: ajax-spinner 0.6s linear infinite;
}
.l-ajax-js--inline-loading .b-button__icon-wrap--before {
  display: inline-block;
}

.l-ajax-js-fail {
  width: 100%;
  text-align: center;
}

@-webkit-keyframes ajax-spinner {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes ajax-spinner {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.l-1--page--narrow .b-nav-in-page-pinned-js {
  z-index: 3;
}

.l-2--page--guide .l-order--2 {
  z-index: 1;
}
.l-2--page--guide .l-order--2 > .b-nav-in-page-pinned-js {
  z-index: 3;
}

.b-footer .b-back-to-top {
  z-index: 3;
}

.b-share-and-output-buttons__share {
  position: relative;
  text-align: right;
}
.b-share-and-output-buttons__share__download {
  position: absolute;
  left: 0;
}
.b-share-and-output-buttons__share::after {
  content: "";
  clear: both;
}
.b-share-and-output-buttons--example-slide > .b-rule--thin:first-child {
  display: none;
}
.b-share-and-output-buttons--example-slide .l-2--share-slide {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 2.1rem 0;
}
.b-share-and-output-buttons--example-slide .b-share-and-output-buttons__share {
  text-align: right;
}
.b-share-and-output-buttons--example-slide .b-share-and-output-buttons__share .h-list--inline > li {
  margin-left: 0.5rem;
}
.b-share-and-output-buttons--example-slide .b-share-and-output-buttons__share .h-list--inline > li.b-share-and-output-buttons__share__download {
  margin-left: 0;
}
.b-share-and-output-buttons--intro .b-share-and-output-buttons__share {
  text-align: left;
}
.b-share-and-output-buttons--intro .b-share-and-output-buttons__share .h-list--inline > li {
  margin-right: 0.5rem;
}
.b-share-and-output-buttons--intro--guide .b-share-and-output-buttons__share {
  text-align: left;
}
.b-share-and-output-buttons--intro--guide .b-share-and-output-buttons__share .h-list--inline > li {
  margin-right: 0.5rem;
}
.b-share-and-output-buttons--knowledge-slide {
  margin-top: 2rem;
}
.b-share-and-output-buttons--knowledge-slide .l-2--share-slide {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 2.1rem 0;
}
.b-share-and-output-buttons--knowledge-slide .b-share-and-output-buttons__share {
  text-align: right;
}
.b-share-and-output-buttons--knowledge-slide .b-share-and-output-buttons__share .h-list--inline > li {
  margin-left: 0.5rem;
}
.b-share-and-output-buttons--knowledge-slide .b-share-and-output-buttons__share .h-list--inline > li.b-share-and-output-buttons__share__download {
  margin-left: 0;
}
.b-share-and-output-buttons--modal--present .b-share-and-output-buttons__share {
  text-align: left;
}
@media screen and (min-width:750px) {
  .b-share-and-output-buttons__output .b-button--pill {
    width: 100%;
  }
  .b-share-and-output-buttons__output li, .b-share-and-output-buttons__output li:last-child {
    margin-bottom: 0;
  }
  .b-share-and-output-buttons__output .h-list--inline > li {
    margin-right: 1.2rem;
  }
  .b-share-and-output-buttons--example-slide {
    margin-top: 1.7rem;
  }
  .b-modal-js--present .b-share-and-output-buttons--example-slide {
    margin-top: 6rem;
    padding-bottom: 1.7rem; /* allow for tooltip */
    margin-bottom: 0;
  }
  .b-share-and-output-buttons--example-slide > .b-rule--thin:first-child {
    display: block;
  }
  .b-share-and-output-buttons--example-slide .b-rule--thick:last-child {
    margin-top: 0;
  }
  .b-share-and-output-buttons--example-slide .b-share-and-output-buttons__share .h-list--inline > li {
    margin-left: 0.5rem;
  }
  .b-share-and-output-buttons--example-slide.b-share-and-output-buttons--modal--present .b-share-and-output-buttons__share .h-list--inline > li {
    margin-right: 0.8rem;
    margin-left: 0;
  }
  .b-share-and-output-buttons--intro {
    max-width: 17.25rem;
    margin-left: auto;
  }
  .b-share-and-output-buttons--intro .b-share-and-output-buttons__share {
    margin-top: 1.6rem;
    text-align: right;
  }
  .b-share-and-output-buttons--intro .b-share-and-output-buttons__share .h-list--inline {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
  }
  .b-share-and-output-buttons--intro .b-share-and-output-buttons__share .h-list--inline > li {
    margin-right: 0;
  }
  .b-share-and-output-buttons--intro .b-share-and-output-buttons__output li {
    margin-bottom: 1.2rem;
  }
  .b-share-and-output-buttons--intro--guide .b-share-and-output-buttons__share {
    text-align: left;
  }
  .b-share-and-output-buttons--intro--guide .b-share-and-output-buttons__share .h-list--inline > li {
    margin-right: 0.5rem;
  }
  .b-share-and-output-buttons--knowledge-slide {
    margin-top: 1.7rem;
  }
  .b-modal-js--present .b-share-and-output-buttons--knowledge-slide {
    margin-top: 6rem;
    margin-bottom: 1.7rem;
  }
  .b-share-and-output-buttons--knowledge-slide > .b-rule--thin:first-child {
    display: block;
  }
  .b-share-and-output-buttons--knowledge-slide .b-rule--thick:last-child {
    margin-top: 0;
  }
  .b-share-and-output-buttons--knowledge-slide .b-share-and-output-buttons__share .h-list--inline > li {
    margin-left: 0.5rem;
  }
  .b-share-and-output-buttons--knowledge-slide.b-share-and-output-buttons--modal--present .b-share-and-output-buttons__share .h-list--inline > li {
    margin-right: 0.8rem;
    margin-left: 0;
  }
}

.b-nav-in-page__liner {
  padding-top: 3rem;
  margin-bottom: 4rem;
}
.b-nav-in-page__list__item {
  margin-bottom: 1.6rem;
}
.b-nav-in-page__link {
  position: relative;
  display: block;
  padding-left: 2.5rem;
  margin-right: 4rem;
  margin-left: 0;
}
.b-nav-in-page__link.b-link-icon--start {
  margin-left: 0;
}
.b-nav-in-page__link.b-link-icon--start .h-icon--arrow {
  margin-left: 0;
  fill: #0099d9;
}
.b-nav-in-page__link:hover .b-link-icon__liner {
  border-bottom: 0.125rem solid;
}
.b-nav-in-page__icon {
  position: absolute;
  top: 0.05em;
  left: 0;
  width: 0.75em;
  margin-left: 0;
}
.b-nav-in-page .b-rule--thin {
  margin-top: 2.625rem;
}
@media screen and (min-width:750px) {
  .b-nav-in-page__icon {
    width: 0.85em;
  }
  .b-nav-in-page .b-rule--thin {
    margin-top: 1.4rem;
  }
}

.b-footer.b-fill--margins {
  padding-top: 6rem;
  padding-bottom: 2.5rem;
}
.b-footer .l-outer-container {
  position: relative;
}
.b-footer__logo {
  display: block;
  width: 17.75rem;
  height: auto;
  margin: 0 0 4.5rem -0.2rem;
}
.b-footer__rule {
  margin-top: 3.4rem;
  margin-bottom: 4.2rem;
}
.b-footer .p--footer {
  margin-top: 0;
}
.b-footer .h-list--inline > li {
  margin: 0 3.75rem 3rem 0;
}
.b-footer .h-list--inline > li:last-child {
  margin-right: 0;
}
@media screen and (min-width:750px) {
  .b-footer.b-fill--margins {
    padding-top: 11.3rem;
    padding-bottom: 0.6rem;
  }
  .b-footer__logo {
    width: 27.25rem;
    max-width: 100%;
    margin: 0.3rem 0 3.7rem -0.2rem;
  }
  .b-footer__rule {
    margin-top: -3.3rem;
    margin-bottom: 5.5rem;
  }
  .b-footer .h-list--inline > li {
    margin-right: 6.5rem;
  }
  .b-footer .h-list--inline > li:last-child {
    margin-right: 0;
  }
}
@media print {
  .b-footer {
    padding: 2.75rem 0 0;
    border-top: 1px solid #b2b2b2;
    border-bottom: 1px solid #242424;
    page-break-inside: avoid;
  }
  .b-footer.b-fill--brand {
    background-color: transparent;
  }
  .b-footer .p--print--meta > p {
    margin-top: 0;
  }
  .b-footer .p--print--meta > p:last-child {
    margin-bottom: 0;
  }
}

.b-table-js {
  position: relative;
}
.b-table-js + p:not([class]) {
  margin-top: 3rem;
}

.b-content-header__title.h1 {
  margin-top: 4rem;
}
.b-content-header--guide .b-content-header__title {
  padding-top: 6.5rem;
  margin-top: 0;
  margin-bottom: 2rem;
}
.b-content-header--guide .b-content-header__summary {
  margin-top: 0;
  margin-bottom: 3.3rem;
}
.b-content-header--guide + .b-guide-tile {
  margin-top: 4rem;
}
.b-content-header--help .b-content-header__title {
  padding-top: 5.9rem;
  margin-top: 0;
  margin-bottom: 2rem;
}
.b-content-header--help .b-rule {
  margin-bottom: 4.7rem;
}
.b-content-header--home-guides {
  margin-top: 6.5rem;
  margin-bottom: -1.5rem;
}
.b-content-header--understand .b-content-header__title {
  padding-top: 5.9rem;
  margin-top: 0;
  margin-bottom: 2.8rem;
}
@media screen and (min-width:750px) {
  .b-content-header__title.h1 {
    margin-top: 4.9rem;
    margin-bottom: 1rem;
  }
  .b-content-header__content .b-rule {
    margin-bottom: 4.5rem;
  }
  .b-content-header--guide .b-content-header__title {
    margin-top: 5.5rem;
    margin-bottom: 2.3rem;
  }
  .b-content-header--help .b-content-header__title {
    margin-top: 0;
  }
  .b-nav-in-page-pinned-js + .b-content-header--help .b-content-header__title {
    margin-top: 0;
  }
  .b-content-header--home-guides {
    margin-top: 5.2rem;
  }
  .b-content-header--key-resources .b-content-header__title {
    margin-top: 11rem;
    margin-bottom: 2.9rem;
  }
  .b-content-header--key-resources .b-content-header__summary {
    margin-bottom: 3.7rem;
  }
  .b-content-header--more-options .b-content-header__title {
    margin-top: 10.6rem;
    margin-bottom: 1.9rem;
  }
  .b-content-header--more-options .b-content-header__summary {
    margin-bottom: 4.2rem;
  }
  .b-content-header--understand {
    padding-top: 8.9rem;
  }
  .b-nav-in-page-pinned-js + .b-content-header--understand {
    padding-top: 8.9rem;
    margin-top: -4rem;
  }
  .b-content-header--understand .b-content-header__title {
    margin-top: 0;
  }
  .b-content-header--understand .b-content-header__title + p {
    margin-top: 5.7rem;
  }
}

.b-resource {
  margin-top: 3.5rem;
  margin-bottom: 2.5rem;
}
.b-resource__cover {
  margin-top: 0.5rem;
}
.b-resource__button {
  margin-bottom: 2.5rem;
}
.b-resource__button .b-button {
  width: 100%;
}
.b-resource .b-button__info {
  margin-bottom: 2rem;
}
.b-resource__cost {
  margin-bottom: 0.8rem;
}
.b-resource__title {
  margin-top: 0;
  margin-bottom: 2.3rem;
}
.b-resource__publisher {
  margin-top: -0.6rem;
  margin-bottom: 2rem;
}
.b-resource > .l-2__col:last-child > *:last-child {
  margin-bottom: 0;
}
.b-resource + .b-rule + .b-content {
  margin-top: 6rem;
}
.b-resource--slide .b-resource__button .b-button {
  width: 100%;
  margin-top: 0;
}
.b-resource--slide--large .b-resource__button .b-button {
  width: 100%;
  margin-top: 0;
}
@media screen and (min-width:750px) {
  .b-resource__description {
    margin-bottom: 2.2rem;
  }
  .b-resource__button {
    margin-top: 0.7rem;
    margin-bottom: 4.7rem;
  }
  .b-resource__button + .b-resource__registration {
    margin-top: -2.2rem;
  }
  .b-resource__title {
    margin-bottom: 2rem;
  }
  .b-resource__cost {
    margin-bottom: 1.9rem;
  }
  .b-resource.l-2--resource > .l-2__col:first-child, .b-resource.l-2--resource > .l-2__col:last-child,
  .b-resource .l-2--resource-content > .l-2__col:first-child,
  .b-resource .l-2--resource-content > .l-2__col:last-child {
    margin-bottom: 0;
  }
  .b-resource--slide .b-resource__cover {
    margin-top: 0;
  }
  .b-resource--slide .b-resource__title {
    margin-top: -0.25rem;
    margin-bottom: 1.25rem;
  }
  .b-modal-js--present .b-resource--slide .b-resource__title {
    margin-bottom: 2.75rem;
  }
  .b-resource--slide .b-resource__button .b-button {
    width: auto;
    margin-top: 1.2rem;
  }
  .b-modal-js--present .b-resource--slide .b-resource__button .b-button {
    margin-top: 2.2rem;
  }
  .b-resource--slide--large .b-resource__cover {
    margin-top: 0;
  }
  .b-resource--slide--large .b-resource__title {
    margin-top: -0.5rem;
    margin-bottom: 2rem;
  }
  .b-modal-js--present .b-resource--slide--large .b-resource__title {
    margin-top: 0.7rem;
  }
  .b-resource--slide--large .b-resource__button .b-button {
    width: auto;
    margin-top: 1.7rem;
  }
  .b-modal-js--present .b-resource--slide--large .b-resource__button .b-button {
    margin-top: 4.1rem;
  }
}

.b-help-item .b-rule {
  margin-top: 4.2rem;
  margin-bottom: 3.1rem;
}
.b-help-item__title {
  margin-bottom: 3.3rem;
}
.b-help-item .b-picture {
  margin-top: 3.3rem;
}
.b-help-item--picture .b-rule {
  margin-top: 3rem;
}
@media screen and (min-width:750px) {
  .b-content-header + .b-help-item {
    margin-top: 5.6rem;
  }
  .b-help-item__title {
    margin-top: 0;
  }
  .b-help-item .b-picture {
    margin-top: 3rem;
    margin-bottom: 0.8rem;
  }
  .b-help-item .b-rule {
    margin-top: 3.1rem;
    margin-bottom: 5rem;
  }
}

.b-content-sub-header__title {
  margin-top: 5.1rem;
  margin-bottom: 1.5rem;
}
@media screen and (min-width:750px) {
  .b-content-sub-header__title {
    margin-top: 10.5rem;
    margin-bottom: 2.5rem;
  }
}

.b-search-results-summary.l-1--page--narrow {
  margin-bottom: 0;
}
.b-search-results-summary__count {
  margin-top: 2.2rem;
  margin-bottom: 4.2rem;
}
@media screen and (min-width:750px) {
  .b-search-results-summary > .l-1__col {
    margin-bottom: 0;
  }
  .b-search-results-summary__count {
    margin-top: 0rem;
    margin-bottom: 3.3rem;
  }
  .b-search-results-summary__count + .b-no-results-message {
    margin-top: -2rem;
  }
  .b-modal-js--search .b-search-results-summary__count {
    margin-top: 2rem;
  }
  .b-modal-js--search .b-search-results-summary__count + .b-no-results-message {
    margin-top: 0;
  }
}

.b-hide-show-js-expandmore__to_expand {
  display: block;
  max-height: 80em;
  overflow: hidden;
  visibility: visible;
  opacity: 1;
  -webkit-transition: margin-top ease 0.5s, visibility 0s ease, max-height 0.6s ease, opacity 0.5s ease;
  transition: margin-top ease 0.5s, visibility 0s ease, max-height 0.6s ease, opacity 0.5s ease;
  -webkit-transition-delay: 0s, 0s, 0s, 0s;
          transition-delay: 0s, 0s, 0s, 0s;
}
.b-hide-show-js-expandmore__to_expand[data-hidden=true] {
  max-height: 0;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  visibility: hidden;
  opacity: 0;
  -webkit-transition-delay: 0.2s, 1s, 0s, 0s;
          transition-delay: 0.2s, 1s, 0s, 0s;
}
.b-hide-show-js-expandmore__button {
  display: inherit;
  padding: 0;
  border: 0;
  margin: 0;
  background: none;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  color: inherit;
}

.b-search-suggestions__heading {
  margin-top: 3.1rem;
  margin-bottom: 2rem;
}
.b-search-suggestions__suggestion {
  margin-bottom: 1.5rem;
}
.b-search-suggestions__popular {
  margin-bottom: 4.2rem;
}
.b-search-suggestions__popular .b-button--rectangle--outline-large {
  width: 100%;
}
.b-search-suggestions__previous .b-button--rectangle--outline-large {
  width: 100%;
}
@media screen and (min-width:750px) {
  .b-search-suggestions__popular .b-button--rectangle--outline-large {
    width: auto;
  }
  .b-search-suggestions__popular:first-child .b-search-suggestions__heading {
    margin-top: 7.9rem;
  }
  .b-search-suggestions__previous .b-button--rectangle--outline-large {
    width: auto;
  }
  .b-search-suggestions__previous:first-child .b-search-suggestions__heading {
    margin-top: 7.9rem;
  }
}
@media screen and (min-width:750px) {
  .b-search-suggestions__heading {
    margin-top: 4.9rem;
  }
  .b-search-suggestions__heading--help {
    margin-bottom: 3.3rem;
  }
}

.b-example-embed {
  margin-bottom: 3.4rem;
}
.b-example-embed__quote {
  padding: 4.4rem 3.4rem 1.5rem;
}
.b-example-embed__quote__text:first-child {
  margin-top: 0;
}
.b-example-embed__quote__text:last-child {
  margin-bottom: 0;
}
.b-example-embed__quote__text .h-icon {
  float: left;
  margin: 0.325rem 1.3rem 0 0;
  font-size: 5rem;
  color: white;
}
.b-example-embed__quote__cite {
  margin-top: 3rem;
}
.b-example-embed__quote__author {
  margin-top: 3rem;
}
.b-example-embed--outline {
  border: 1px solid #b2b2b2;
}
@media screen and (min-width:750px) {
  .b-example-embed {
    margin-bottom: 3rem;
  }
  .b-modal-js--present .b-example-embed {
    margin-right: auto;
    margin-left: auto;
  }
  .b-example-embed__quote {
    padding: 2.7rem 3.4rem 1.4rem;
  }
  .b-modal-js--present .b-example-embed__quote {
    padding: 7.6rem 5.4rem 5rem 9.1rem;
  }
  .b-example-embed__quote__text {
    margin-bottom: 1rem;
    font-size: 2.1rem;
  }
  .b-modal-js--present .b-example-embed__quote__text {
    margin-bottom: 4rem;
  }
  .b-example-embed__quote__text .h-icon {
    margin-top: 0;
    font-size: 6.4rem;
  }
  .b-modal-js--present .b-example-embed__quote__text .h-icon {
    font-size: 10.5rem;
  }
  .b-example-embed__quote__author {
    margin-top: 2.6rem;
  }
  .b-modal-js--present .b-example-embed__quote__author {
    margin-top: 6.7rem;
  }
  .b-example-embed__quote__author__profession {
    display: inline;
  }
}

.b-search-header {
  margin-top: 4.4rem;
}
.b-search-header__close-wrap {
  text-align: right;
}
.b-search-header__close {
  margin-top: 4.8rem;
  font-weight: bold;
}
.b-search-header__title {
  margin-bottom: 0;
}
.b-search-header .b-guide-list-search-and-filter {
  margin-top: 3.2rem;
}
@media screen and (min-width:750px) {
  .b-search-header {
    margin-top: 11.3rem;
  }
  .b-search-header__close {
    margin-top: 2.8rem;
  }
  .b-search-header__title {
    margin-top: 0.5rem;
  }
}

.modaal-close {
  display: none;
}

.b-nav-guide-sidebar--pinned .b-nav-guide-sidebar--pinned__l-outer-container {
  position: fixed;
  top: 0;
  width: 100%;
  padding: 0;
}
@media screen and (min-width:1024px) {
  .b-nav-guide-sidebar--pinned .b-nav-guide-sidebar--pinned__l-outer-container {
    max-width: 153.5rem;
    margin: 0 auto;
  }
}
@media screen and (min-width:1024px) {
  .b-nav-guide-sidebar--pinned .b-nav-guide-sidebar--pinned__l-2--page--guide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .b-nav-guide-sidebar--pinned .b-nav-guide-sidebar--pinned__l-2--page--guide > .l-2__col.l-order--1 {
    -ms-flex-preferred-size: calc(100% * 0.25 - 32px * (1 - 0.25));
        flex-basis: calc(100% * 0.25 - 32px * (1 - 0.25));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.25 - 32px * (1 - 0.25));
    margin-bottom: 32px;
  }
  .b-nav-guide-sidebar--pinned .b-nav-guide-sidebar--pinned__l-2--page--guide > .l-2__col.l-order--2 {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 32px;
    margin-bottom: 12rem;
  }
}
.b-nav-guide-sidebar--pinned .b-nav-guide-sidebar--pinned__l-2--page--guide > .l-order--1 {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 100vh;
  max-height: 100%;
  overflow-y: auto;
  padding-right: 48px;
}
.b-modal-js--nav-guide .b-nav-guide-sidebar--pinned .b-nav-guide-sidebar--pinned__l-2--page--guide > .l-order--1 {
  padding-right: 0;
}
.b-nav-guide-sidebar .l-2--split .l-2__col:last-child {
  text-align: right;
}
.b-nav-guide-sidebar .b-fill--dark .b-nav-guide-sidebar__header .b-link-icon {
  color: white;
}
.b-nav-guide-sidebar .b-fill--dark .b-nav-guide-sidebar__footer .b-link-icon {
  color: white;
}
.b-nav-guide-sidebar .b-link-icon__icon {
  width: 1em;
}
.b-nav-guide-sidebar .b-link-icon--start {
  margin-left: 1.3em;
}
.b-nav-guide-sidebar .b-link-icon--start .h-icon--arrow {
  margin-left: -1.3em;
}
.b-nav-guide-sidebar .modaal-inline__close.b-button {
  background-color: transparent;
}
.b-nav-guide-sidebar .modaal-inline__close .b-button__content {
  color: white;
}
.b-nav-guide-sidebar .modaal-inline__close .b-button__icon-wrap {
  background-color: white;
  color: #1f1e24;
}
.b-nav-guide-sidebar__header {
  margin-top: 8.875rem;
}
.b-nav-guide-sidebar__header .l-2--split {
  margin-bottom: 1.75rem;
}
.b-nav-guide-sidebar__footer {
  margin-top: 2.25rem;
  margin-bottom: 13.5rem;
}
.b-nav-guide-sidebar__title {
  margin-top: 5.375rem;
  margin-bottom: 3.375rem;
}
.b-nav-guide-sidebar__title__indexof {
  margin-bottom: -0.25rem;
}
.b-nav-guide-sidebar__sub-title {
  margin-top: 2.625rem;
  margin-bottom: 2.5rem;
}
.b-nav-guide-sidebar__understand .b-nav-guide-sidebar__menu {
  margin-bottom: 4.625rem;
}
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__menu {
  margin-bottom: 4.5rem;
}
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent {
  position: relative;
  display: block;
  padding-right: 6rem;
}
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent .b-content-reveal {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  border-left: 1px solid white;
}
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent .b-content-reveal__icon {
  position: relative;
  display: inline-block;
  margin: 0 1rem;
  font-size: 4rem;
}
.ie11 .b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent .b-content-reveal__icon.h-icon--triangle {
  background-image: url("../img/icons/triangle-white.svg");
}
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent .b-content-reveal .b-hide-show-js-expandmore, .b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent .b-content-reveal__header,
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent .b-content-reveal .b-hide-show-js-expandmore__button {
  height: 100%;
}
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu-parent .b-content-reveal .b-hide-show-js-expandmore__button {
  padding: 0;
  text-align: center;
}
.b-nav-guide-sidebar__strategies .b-nav-guide-sidebar__submenu {
  padding-left: 2.125rem;
  border-left: 0.125rem solid white;
  margin-top: 2.25rem;
  margin-bottom: -0.5rem;
}
.b-nav-guide-sidebar__strategies .p--nav-guide-sidebar--strategy {
  margin-bottom: 3.25rem;
}
.b-nav-guide-sidebar__strategies .p--nav-guide-sidebar--suggestion {
  margin-bottom: 2rem;
}
.b-nav-guide-sidebar__suggestions__active {
  position: relative;
  display: block;
}
.b-nav-guide-sidebar__suggestions__active::before {
  position: absolute;
  top: 0;
  bottom: 0.25rem;
  left: -2.125rem;
  content: "";
  border-left: 0.5rem solid white;
}
.b-nav-guide-sidebar__resources .b-nav-guide-sidebar__menu {
  margin-bottom: 4.875rem;
}
.b-nav-guide-sidebar__resources .h3--nav-guide-sidebar--sub-header {
  margin-bottom: 3.25rem;
}
@media screen and (min-width:1024px) {
  .b-nav-guide-sidebar .l-outer-container {
    max-width: 100%;
    padding: 0;
  }
  .b-nav-guide-sidebar__menu {
    margin-bottom: 2.7rem;
  }
  .b-nav-guide-sidebar__sub-title {
    margin-top: 2.325rem;
    margin-bottom: 3.3rem;
  }
  .b-nav-guide-sidebar__suggestions__active::before {
    bottom: 0;
  }
  .b-nav-guide-sidebar__title {
    margin-bottom: 5.7rem;
  }
  .b-nav-guide-sidebar__understand .b-nav-guide-sidebar__menu {
    margin-bottom: 5.8rem;
  }
  .b-nav-guide-sidebar .b-link-icon__icon {
    width: 0.8em;
  }
  .b-nav-guide-sidebar .b-link-icon .h-icon--arrow--down {
    margin-left: -0.4rem;
  }
  .b-nav-guide-sidebar .b-filter-notice {
    margin-bottom: 4.3rem;
  }
}

.b-example-slide {
  padding-top: 7.4rem;
}
.b-example-slide + .b-example-slide, .b-knowledge-slide + .b-example-slide {
  padding-top: 8.5rem;
}
.b-example-slide__description {
  margin-top: 2rem;
}
.b-example-slide__title {
  margin-top: 0;
  margin-bottom: 2rem;
}
.b-example-slide + .b-example-slide .b-example-slide__title, .b-knowledge-slide + .b-example-slide .b-example-slide__title {
  margin-bottom: 2.7rem;
}
.b-example-slide .b-example-embed {
  margin-top: 3rem;
  margin-bottom: 0;
}
.js-enabled .b-example-slide[data-b-modal-slideshow-js-slide]:focus {
  outline: 0;
}
.js-wai-outline .b-example-slide[data-b-modal-slideshow-js-slide]:focus {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
.js-wai-outline .b-example-slide[data-b-modal-slideshow-js-slide]:focus.js-wai-no-outline {
  outline: 0;
}
.js-wai-outline .b-example-slide[data-b-modal-slideshow-js-slide]:focus.js-wai-no-outline .js-wai-outline--proxy {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
@media screen and (min-width:750px) {
  .b-example-slide {
    padding-top: 10rem;
  }
  .b-modal-js--present .b-example-slide {
    padding-top: 0;
  }
  .b-example-slide__example.l-2--slide {
    margin-top: 4rem;
  }
  .b-example-slide__example .b-example-slide__description {
    margin-top: -0.4rem;
  }
  .b-modal-js--present .b-example-slide__example.l-2--slide--present-wide .b-example-slide__description {
    margin-top: 4rem;
    margin-bottom: 0;
  }
  .b-example-slide__title {
    margin-top: -0.9rem;
  }
  .b-modal-js--present .b-example-slide__title {
    margin-top: 0;
    margin-bottom: 0;
  }
  .b-example-slide + .b-example-slide, .b-knowledge-slide + .b-example-slide {
    padding-top: 11.9rem;
  }
  .b-modal-js--present .b-example-slide + .b-example-slide, .b-modal-js--present .b-knowledge-slide + .b-example-slide {
    padding-top: 0;
  }
  .b-example-slide + .b-example-slide .b-example-slide__title, .b-knowledge-slide + .b-example-slide .b-example-slide__title {
    margin-top: -0.7rem;
    margin-bottom: 6.6rem;
  }
  .b-modal-js--present .b-example-slide + .b-example-slide .b-example-slide__title, .b-modal-js--present .b-knowledge-slide + .b-example-slide .b-example-slide__title {
    margin-top: 0;
    margin-bottom: 0;
  }
  .b-example-slide .b-example-embed {
    margin-top: 0;
  }
}

[data-class=SlideContent] + [data-class=GenericContent] .b-content--no-title {
  padding-top: 6rem;
}

.b-strategy__embed .b-example-embed {
  margin-top: 0;
}
.b-strategy__subtitle {
  margin-bottom: 1.5rem;
}
.b-strategy__suggestions .b-filter-notice {
  margin-bottom: 2.5rem;
}
.b-strategy__title {
  margin-top: 4.5rem;
}
@media screen and (min-width:750px) {
  .b-strategy {
    margin-top: 2rem;
  }
  .b-strategy__embed {
    margin-top: 5rem;
  }
  .b-strategy__suggestions {
    margin-bottom: 1rem;
  }
  .b-strategy__subtitle {
    margin-top: 2.5rem;
  }
  .b-filter-notice + .b-strategy {
    margin-top: 3.3rem;
  }
  .b-filter-notice + .b-strategy .b-strategy__embed {
    margin-top: 2.1rem;
  }
  .b-filter-notice + .b-strategy .b-strategy__embed .b-example-embed {
    margin-top: 0.9rem;
    margin-bottom: 2.5rem;
  }
  .b-filter-notice + .b-strategy .b-strategy__subtitle {
    margin-top: 2.7rem;
  }
  .b-filter-notice + .b-strategy .b-strategy__title {
    margin-top: 2.3rem;
  }
}

.b-understand-overview.h-global-margin {
  margin-bottom: 2rem;
}
.b-understand-overview__short-title {
  padding-top: 7rem;
  margin-top: 0;
  margin-bottom: 2.5rem;
}
.b-understand-overview__title {
  margin-bottom: 3.3rem;
}
.b-understand-overview__header .b-rule--thick {
  margin-bottom: 3.4rem;
}
.b-understand-overview__content .h3--understand-summary {
  margin-bottom: -0.6rem;
}
.b-understand-overview__content .p--intro--guide {
  margin-bottom: 3.4rem;
}
@media screen and (min-width:750px) {
  .b-understand-overview__header .b-rule--thick {
    margin-bottom: 0;
  }
  .b-understand-overview__overview {
    margin-top: 4rem;
  }
  .b-understand-overview__short-title {
    padding-top: 8rem;
    margin-top: 0;
  }
  .b-understand-overview__subtitle, .b-understand-overview__title {
    margin-top: 2rem;
    margin-bottom: 4.4rem;
  }
}

.b-caption {
  position: relative;
  padding: 1.7rem 1.25rem 1.1rem;
}
.b-caption__closed-captioning .h-icon--closedcaptions {
  vertical-align: -0.45em;
  width: 1.7em;
  height: 1.7em;
  margin-right: 0.5rem;
}
.b-caption__credit {
  display: block;
  margin: 0.5rem 0;
}
.b-caption.b-fill--dark a,
.b-caption.b-fill--dark .a {
  color: white;
}
.b-caption.b-fill--dark a.b-link--external {
  background-image: url("../img/icons/arrow--up-right--type-light.svg");
}
@media screen and (max-width:749px) {
  .b-caption p {
    margin-top: 0;
    margin-bottom: 0.875rem;
  }
}
@media screen and (min-width:750px) {
  .b-caption {
    padding: 0.5rem 2.45rem 0.5rem;
  }
  .b-caption__closed-captioning {
    text-align: right;
  }
  .b-caption__closed-captioning .p--caption {
    position: relative;
    display: inline-block;
    padding-left: 3.2rem;
  }
  .b-caption__closed-captioning .p--caption .b-icon {
    position: absolute;
    top: -0.3rem;
    left: 0;
  }
  .b-caption__caption + .l-2--split--content-wide-and-up .p--caption {
    margin-top: 0;
  }
  .b-caption__no-closed-captioning {
    text-align: right;
  }
  .b-modal-js--present .b-caption__source .p--quote-source {
    margin-top: 1.4rem;
    margin-bottom: 1.1rem;
  }
  .b-caption__source-image {
    text-align: right;
  }
  .b-caption--wide .b-caption__caption .p--caption {
    font-size: 1.7777777778rem;
    line-height: 2.25rem;
    letter-spacing: -0.0444444444rem;
    font-family: Montserrat, Arial, sans-serif;
    line-height: 2rem;
    margin-bottom: 1rem;
  }
}

.b-process-list {
  margin-top: 0;
}
.b-process-list__list .b-process-list__step {
  margin-bottom: 0;
}
.b-process-list__list .b-process-list__step .b-process-list__step-inner {
  position: relative;
  padding: 2.125rem 2.5rem;
  margin-top: 0.6rem;
  margin-bottom: 0.9rem;
  background-color: #f2f1ec;
}
.b-process-list__list .b-process-list__step:first-child .b-process-list__icon .h-icon {
  width: 1.5em;
  height: 1.5em;
  padding-top: 0;
}
.b-process-list__list .b-process-list__step:first-child .b-process-list__step-inner {
  margin-top: 0;
}
.b-process-list__list .b-process-list__step:last-child .b-process-list__step-inner {
  margin-bottom: 0;
}
.b-process-list__list .b-process-list__step .b-process-list__icon {
  display: block;
  padding-top: 0.25rem;
  text-align: center;
}
.b-process-list__list .b-process-list__step .b-process-list__icon .h-icon {
  margin-top: -0.1rem;
  margin-right: -0.25rem;
}
.b-process-list--repeating {
  position: relative;
  padding-top: 0;
  padding-right: 2.5rem;
  padding-bottom: 3rem;
  border-right: 1px solid black;
  margin-bottom: 0.5rem;
}
.b-modal-js--present .b-process-list--repeating {
  padding-bottom: 6rem;
}
.b-process-list--repeating::before, .b-process-list--repeating::after {
  position: absolute;
  right: 0;
  content: "";
  width: calc(50% + 1.25rem);
  border-top: 1px solid black;
}
.b-process-list--repeating::before {
  top: 0;
}
.b-process-list--repeating::after {
  bottom: 0;
}
.b-process-list--repeating .b-process-list__list {
  position: relative;
}
.b-process-list--repeating .b-process-list__list .b-process-list__step:first-child .b-process-list__step-inner {
  margin-top: 0.6rem;
}
.b-process-list--repeating .b-process-list__list .b-process-list__step:last-child .b-process-list__step-inner {
  margin-bottom: 0.6rem;
}
.b-process-list--repeating .b-process-list__list::after {
  position: absolute;
  bottom: -3.5rem;
  left: 50%;
  content: "";
  height: 2rem;
  border-left: 1px solid black;
}
.b-modal-js--present .b-process-list--repeating .b-process-list__list::after {
  bottom: -6.5rem;
  height: 5rem;
}
.b-process-list--repeating .b-process-list__repeats {
  position: absolute;
  bottom: -0.625rem;
  left: 0;
  width: calc(45% + 1.25rem);
}
.b-process-list--repeating .b-process-list__repeats .h-icon {
  vertical-align: -0.5em;
  width: 2em;
  height: 2em;
}
@media screen and (min-width:750px) {
  .b-modal-js--present .b-process-list--repeating {
    padding-right: 4.7rem;
    border-width: 2px;
  }
  .b-modal-js--present .b-process-list--repeating::before, .b-modal-js--present .b-process-list--repeating::after {
    width: calc(50% + 2.35rem);
    border-width: 2px;
  }
  .b-modal-js--present .b-process-list--repeating .b-process-list__list::after {
    border-width: 2px;
  }
  .b-process-list__list .b-process-list__step .b-process-list__icon .h-icon {
    margin-top: -0.2rem;
  }
  .b-process-list__list .b-process-list__step .b-process-list__step-inner {
    padding: 2.1rem 3.9rem 3.6rem 3rem;
  }
  .b-modal-js--present .b-process-list__list .b-process-list__step .b-process-list__step-inner {
    padding: 4.1rem 3.9rem 4.3rem 5.4rem;
    margin-bottom: 1.8rem;
    background-color: white;
  }
}

.b-example-home__title {
  margin-top: 2rem;
  margin-bottom: 3.7rem;
}
.b-example-home__content {
  margin-top: 4.1rem;
}
.b-example-home__description {
  margin-top: 0;
}
.b-example-home .b-example-embed {
  margin-bottom: 2rem;
}
.b-example-home > .b-rule:last-child {
  margin-top: 1.75rem;
}
@media screen and (min-width:750px) {
  .b-example-home__title {
    margin-top: 0;
    margin-bottom: -0.5rem;
  }
  .b-example-home__content {
    margin-top: 0;
  }
  .b-example-home .b-example-embed {
    margin-bottom: 0;
  }
}

.b-fill--brand {
  overflow: hidden;
  background-color: #46c655;
  overflow: visible;
}
.b-fill--theme1 {
  overflow: hidden;
  background-color: #f277c6;
}
.b-fill--theme2 {
  overflow: hidden;
  background-color: #f2c835;
}
.b-fill--theme3 {
  overflow: hidden;
  background-color: #fe9500;
}
.b-fill--theme4 {
  overflow: hidden;
  background-color: #a4e001;
}
.b-fill--theme5 {
  overflow: hidden;
  background-color: #b7ede4;
}
.b-fill--light {
  overflow: hidden;
  background-color: #f2f1ec;
}
.b-fill--lighter {
  overflow: hidden;
  background-color: whitesmoke;
}
.b-fill--dark {
  overflow: hidden;
  background-color: #1f1e24;
}
.b-fill--dark h1,
.b-fill--dark h2,
.b-fill--dark h3,
.b-fill--dark h4,
.b-fill--dark h5,
.b-fill--dark h6,
.b-fill--dark .h1,
.b-fill--dark .h2,
.b-fill--dark .h3,
.b-fill--dark .h4,
.b-fill--dark .h5,
.b-fill--dark .h6,
.b-fill--dark p,
.b-fill--dark .p,
.b-fill--dark li {
  color: white;
}
.b-fill--dark a,
.b-fill--dark .a {
  color: #58cdfe;
}
.b-fill--dark a .h-icon--arrow,
.b-fill--dark .a .h-icon--arrow {
  fill: white;
}
.b-fill--dark a.a--active-page-or-parent {
  color: inherit;
}
.b-fill--dark a.a--active-page-or-parent:hover {
  color: #58cdfe;
}
.b-fill--dark a.a--active-page-or-parent .a {
  color: inherit;
}
.b-fill--dark a:visited:not(.a--no-visited),
.b-fill--dark a:visited:not(.a--no-visited) > .a {
  color: #ba94ed;
}
.b-fill--dark a:visited:not(.a--no-visited) mark {
  color: #fff185;
}
.b-fill--dark .p--brand a {
  color: inherit;
}
.b-fill--dark .p--brand a:hover {
  color: #58cdfe;
}
.b-fill--dark .a--visited {
  color: #ba94ed;
}
.b-fill--dark .a--visited .a {
  color: #ba94ed;
}
.b-fill--dark .b-hide-show-js-expandmore__button {
  color: inherit;
}
.b-fill--dark .b-fill--light {
  background-color: rgba(242, 241, 236, 0.55);
}
.b-fill--dark .b-fill--light p,
.b-fill--dark .b-fill--light a,
.b-fill--dark .b-fill--light .a {
  color: black;
}
.b-fill--dark mark {
  background-color: inherit;
  color: #fff185;
}
@media screen and (max-width:1023px) {
  .b-fill--dark--narrow {
    overflow: hidden;
    background-color: #1f1e24;
  }
  .b-fill--dark--narrow h1,
  .b-fill--dark--narrow h2,
  .b-fill--dark--narrow h3,
  .b-fill--dark--narrow h4,
  .b-fill--dark--narrow h5,
  .b-fill--dark--narrow h6,
  .b-fill--dark--narrow .h1,
  .b-fill--dark--narrow .h2,
  .b-fill--dark--narrow .h3,
  .b-fill--dark--narrow .h4,
  .b-fill--dark--narrow .h5,
  .b-fill--dark--narrow .h6,
  .b-fill--dark--narrow p,
  .b-fill--dark--narrow .p,
  .b-fill--dark--narrow li {
    color: white;
  }
  .b-fill--dark--narrow a,
  .b-fill--dark--narrow .a {
    color: #58cdfe;
  }
  .b-fill--dark--narrow a .h-icon--arrow,
  .b-fill--dark--narrow .a .h-icon--arrow {
    fill: white;
  }
  .b-fill--dark--narrow a.a--active-page-or-parent {
    color: inherit;
  }
  .b-fill--dark--narrow a.a--active-page-or-parent:hover {
    color: #58cdfe;
  }
  .b-fill--dark--narrow a.a--active-page-or-parent .a {
    color: inherit;
  }
  .b-fill--dark--narrow a:visited:not(.a--no-visited),
  .b-fill--dark--narrow a:visited:not(.a--no-visited) > .a {
    color: #ba94ed;
  }
  .b-fill--dark--narrow a:visited:not(.a--no-visited) mark {
    color: #fff185;
  }
  .b-fill--dark--narrow .p--brand a {
    color: inherit;
  }
  .b-fill--dark--narrow .p--brand a:hover {
    color: #58cdfe;
  }
  .b-fill--dark--narrow .a--visited {
    color: #ba94ed;
  }
  .b-fill--dark--narrow .a--visited .a {
    color: #ba94ed;
  }
  .b-fill--dark--narrow .b-hide-show-js-expandmore__button {
    color: inherit;
  }
  .b-fill--dark--narrow .b-fill--light {
    background-color: rgba(242, 241, 236, 0.55);
  }
  .b-fill--dark--narrow .b-fill--light p,
  .b-fill--dark--narrow .b-fill--light a,
  .b-fill--dark--narrow .b-fill--light .a {
    color: black;
  }
  .b-fill--dark--narrow mark {
    background-color: inherit;
    color: #fff185;
  }
}
@media screen and (min-width:1024px) and (max-width:1131px) {
  .b-fill--dark--wide {
    overflow: hidden;
    background-color: #1f1e24;
  }
  .b-fill--dark--wide h1,
  .b-fill--dark--wide h2,
  .b-fill--dark--wide h3,
  .b-fill--dark--wide h4,
  .b-fill--dark--wide h5,
  .b-fill--dark--wide h6,
  .b-fill--dark--wide .h1,
  .b-fill--dark--wide .h2,
  .b-fill--dark--wide .h3,
  .b-fill--dark--wide .h4,
  .b-fill--dark--wide .h5,
  .b-fill--dark--wide .h6,
  .b-fill--dark--wide p,
  .b-fill--dark--wide .p,
  .b-fill--dark--wide li {
    color: white;
  }
  .b-fill--dark--wide a,
  .b-fill--dark--wide .a {
    color: #58cdfe;
  }
  .b-fill--dark--wide a .h-icon--arrow,
  .b-fill--dark--wide .a .h-icon--arrow {
    fill: white;
  }
  .b-fill--dark--wide a.a--active-page-or-parent {
    color: inherit;
  }
  .b-fill--dark--wide a.a--active-page-or-parent:hover {
    color: #58cdfe;
  }
  .b-fill--dark--wide a.a--active-page-or-parent .a {
    color: inherit;
  }
  .b-fill--dark--wide a:visited:not(.a--no-visited),
  .b-fill--dark--wide a:visited:not(.a--no-visited) > .a {
    color: #ba94ed;
  }
  .b-fill--dark--wide a:visited:not(.a--no-visited) mark {
    color: #fff185;
  }
  .b-fill--dark--wide .p--brand a {
    color: inherit;
  }
  .b-fill--dark--wide .p--brand a:hover {
    color: #58cdfe;
  }
  .b-fill--dark--wide .a--visited {
    color: #ba94ed;
  }
  .b-fill--dark--wide .a--visited .a {
    color: #ba94ed;
  }
  .b-fill--dark--wide .b-hide-show-js-expandmore__button {
    color: inherit;
  }
  .b-fill--dark--wide .b-fill--light {
    background-color: rgba(242, 241, 236, 0.55);
  }
  .b-fill--dark--wide .b-fill--light p,
  .b-fill--dark--wide .b-fill--light a,
  .b-fill--dark--wide .b-fill--light .a {
    color: black;
  }
  .b-fill--dark--wide mark {
    background-color: inherit;
    color: #fff185;
  }
}
@media screen and (min-width:1024px) {
  .b-fill--dark--widest {
    overflow: hidden;
    background-color: #1f1e24;
  }
  .b-fill--dark--widest h1,
  .b-fill--dark--widest h2,
  .b-fill--dark--widest h3,
  .b-fill--dark--widest h4,
  .b-fill--dark--widest h5,
  .b-fill--dark--widest h6,
  .b-fill--dark--widest .h1,
  .b-fill--dark--widest .h2,
  .b-fill--dark--widest .h3,
  .b-fill--dark--widest .h4,
  .b-fill--dark--widest .h5,
  .b-fill--dark--widest .h6,
  .b-fill--dark--widest p,
  .b-fill--dark--widest .p,
  .b-fill--dark--widest li {
    color: white;
  }
  .b-fill--dark--widest a,
  .b-fill--dark--widest .a {
    color: #58cdfe;
  }
  .b-fill--dark--widest a .h-icon--arrow,
  .b-fill--dark--widest .a .h-icon--arrow {
    fill: white;
  }
  .b-fill--dark--widest a.a--active-page-or-parent {
    color: inherit;
  }
  .b-fill--dark--widest a.a--active-page-or-parent:hover {
    color: #58cdfe;
  }
  .b-fill--dark--widest a.a--active-page-or-parent .a {
    color: inherit;
  }
  .b-fill--dark--widest a:visited:not(.a--no-visited),
  .b-fill--dark--widest a:visited:not(.a--no-visited) > .a {
    color: #ba94ed;
  }
  .b-fill--dark--widest a:visited:not(.a--no-visited) mark {
    color: #fff185;
  }
  .b-fill--dark--widest .p--brand a {
    color: inherit;
  }
  .b-fill--dark--widest .p--brand a:hover {
    color: #58cdfe;
  }
  .b-fill--dark--widest .a--visited {
    color: #ba94ed;
  }
  .b-fill--dark--widest .a--visited .a {
    color: #ba94ed;
  }
  .b-fill--dark--widest .b-hide-show-js-expandmore__button {
    color: inherit;
  }
  .b-fill--dark--widest .b-fill--light {
    background-color: rgba(242, 241, 236, 0.55);
  }
  .b-fill--dark--widest .b-fill--light p,
  .b-fill--dark--widest .b-fill--light a,
  .b-fill--dark--widest .b-fill--light .a {
    color: black;
  }
  .b-fill--dark--widest mark {
    background-color: inherit;
    color: #fff185;
  }
}
.b-modal .b-fill--dark--modal {
  overflow: hidden;
  background-color: #1f1e24;
}
.b-modal .b-fill--dark--modal h1,
.b-modal .b-fill--dark--modal h2,
.b-modal .b-fill--dark--modal h3,
.b-modal .b-fill--dark--modal h4,
.b-modal .b-fill--dark--modal h5,
.b-modal .b-fill--dark--modal h6,
.b-modal .b-fill--dark--modal .h1,
.b-modal .b-fill--dark--modal .h2,
.b-modal .b-fill--dark--modal .h3,
.b-modal .b-fill--dark--modal .h4,
.b-modal .b-fill--dark--modal .h5,
.b-modal .b-fill--dark--modal .h6,
.b-modal .b-fill--dark--modal p,
.b-modal .b-fill--dark--modal .p,
.b-modal .b-fill--dark--modal li {
  color: white;
}
.b-modal .b-fill--dark--modal a,
.b-modal .b-fill--dark--modal .a {
  color: #58cdfe;
}
.b-modal .b-fill--dark--modal a .h-icon--arrow,
.b-modal .b-fill--dark--modal .a .h-icon--arrow {
  fill: white;
}
.b-modal .b-fill--dark--modal a.a--active-page-or-parent {
  color: inherit;
}
.b-modal .b-fill--dark--modal a.a--active-page-or-parent:hover {
  color: #58cdfe;
}
.b-modal .b-fill--dark--modal a.a--active-page-or-parent .a {
  color: inherit;
}
.b-modal .b-fill--dark--modal a:visited:not(.a--no-visited),
.b-modal .b-fill--dark--modal a:visited:not(.a--no-visited) > .a {
  color: #ba94ed;
}
.b-modal .b-fill--dark--modal a:visited:not(.a--no-visited) mark {
  color: #fff185;
}
.b-modal .b-fill--dark--modal .p--brand a {
  color: inherit;
}
.b-modal .b-fill--dark--modal .p--brand a:hover {
  color: #58cdfe;
}
.b-modal .b-fill--dark--modal .a--visited {
  color: #ba94ed;
}
.b-modal .b-fill--dark--modal .a--visited .a {
  color: #ba94ed;
}
.b-modal .b-fill--dark--modal .b-hide-show-js-expandmore__button {
  color: inherit;
}
.b-modal .b-fill--dark--modal .b-fill--light {
  background-color: rgba(242, 241, 236, 0.55);
}
.b-modal .b-fill--dark--modal .b-fill--light p,
.b-modal .b-fill--dark--modal .b-fill--light a,
.b-modal .b-fill--dark--modal .b-fill--light .a {
  color: black;
}
.b-modal .b-fill--dark--modal mark {
  background-color: inherit;
  color: #fff185;
}
.b-fill--theme1 .b-rule::after, .b-fill--theme2 .b-rule::after, .b-fill--dark .b-rule::after {
  border-color: white;
}
.b-fill--dark-stripe {
  overflow: hidden;
}
@media screen and (min-width:1024px) {
  .b-fill--dark-stripe {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#1f1e24), to(#1f1e24));
    background-image: linear-gradient(#1f1e24, #1f1e24);
    background-repeat: no-repeat;
  }
}
@media screen and (min-width:1024px) and (max-width:1131px) {
  .b-fill--dark-stripe {
    background-size: calc(6rem + 25 + 2rem) 100%;
  }
}
@media screen and (min-width:1024px) {
  .b-fill--dark-stripe {
    background-size: calc(50% - (70.75rem - 35.375rem - 6rem - 2rem)) 100%;
  }
}
@media screen and (min-width:1200px) {
  .b-fill--dark-stripe {
    background-size: calc(50% - (70.75rem - 35.375rem - 6rem - 0rem)) 100%;
  }
}
.b-fill--dark-light-stripe {
  overflow: hidden;
  background-color: whitesmoke;
}
@media screen and (min-width:1024px) {
  .b-fill--dark-light-stripe {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#1f1e24), to(#1f1e24));
    background-image: linear-gradient(#1f1e24, #1f1e24);
    background-repeat: no-repeat;
  }
}
@media screen and (min-width:1024px) and (max-width:1131px) {
  .b-fill--dark-light-stripe {
    background-size: calc(6rem + 25 + 2rem) 100%;
  }
}
@media screen and (min-width:1024px) {
  .b-fill--dark-light-stripe {
    background-size: calc(50% - (70.75rem - 35.375rem - 6rem - 2rem)) 100%;
  }
}
@media screen and (min-width:1200px) {
  .b-fill--dark-light-stripe {
    background-size: calc(50% - (70.75rem - 35.375rem - 6rem - 0rem)) 100%;
  }
}
@media screen and (min-width:1024px) {
  .b-fill--dark-light-stripe {
    margin-top: 0;
  }
}

img[src$=".svg"] {
  width: 100%;
}

.b-picture {
  display: block;
}
.b-picture__image {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}
.b-picture--outline {
  border: 1px solid #b2b2b2;
}

.b-example-embed + .b-content {
  margin-top: 4.6rem;
}
.b-content + .b-rule--thin {
  margin-top: 4.6rem;
}
.b-content-header + .b-content {
  margin-top: 4rem;
}
.b-content > *:first-child {
  margin-top: 0;
}
.b-content > h3 {
  font-size: 2.84765625rem;
  line-height: 3.5rem;
  letter-spacing: -0.0711914063rem;
  line-height: 3.5rem;
  font-weight: 800;
}
.b-content > h5 {
  margin-bottom: 2.4rem;
}
.b-content > h6 {
  margin-top: 2.9rem;
  margin-bottom: 1.8rem;
}
.b-content > p {
  margin-bottom: 2.5rem;
  line-height: 3rem;
}
.b-content > ul {
  margin-bottom: 2.9rem;
  margin-left: 3.8rem;
}
.b-content > ul > li {
  line-height: 3rem;
}
.b-content > ol {
  padding-left: 1.5rem;
  margin-top: -0.5rem;
  margin-bottom: 2.9rem;
}
.b-content > ol > li::before {
  margin-left: -0.75rem;
}
.b-content > p a,
.b-content > .p a {
  font-family: inherit;
  font-weight: inherit;
}
@media screen and (min-width:750px) {
  .b-example-embed + .b-content {
    margin-top: 6rem;
  }
  .b-content + .b-rule {
    margin-top: 6.9rem;
  }
}
@media screen and (min-width:750px) and (min-width:750px) {
  .b-content > p,
  .b-content > ol,
  .b-content > ul {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.01125rem;
  }
}
@media screen and (min-width:750px) {
  .b-content > ul {
    padding-left: 5.2rem;
    margin-bottom: 3.5rem;
    margin-left: 0;
  }
  .b-content > ul > li {
    line-height: 3.5rem;
  }
  .b-content > ul > li:before {
    margin-right: 0;
  }
  .b-content > ol {
    padding-left: 5.2rem;
    margin-top: 1rem;
  }
  .b-content > ol > li:before {
    width: 3.2rem;
    margin-right: 0;
    margin-left: -3.2rem;
  }
  .b-content > h3 {
    font-size: 3.6040649414rem;
    line-height: 3.5rem;
    letter-spacing: -0.0901016235rem;
    line-height: 4rem;
  }
  .b-content > h5 {
    margin-bottom: 2.8rem;
  }
  .b-content > h6 {
    margin-top: 3.5rem;
    margin-bottom: 2.3rem;
  }
  .b-content > p {
    margin-bottom: 3rem;
  }
}
@media screen and (min-width:750px) and (min-width:750px) {
  .b-content--small > p,
  .b-content--small > ol,
  .b-content--small > ul {
    font-size: 2rem;
    line-height: 3rem;
    letter-spacing: -0.01125rem;
    line-height: 3rem;
  }
}
@media screen and (min-width:750px) {
  .b-content--small > p:first-child,
  .b-content--small > ol:first-child,
  .b-content--small > ul:first-child {
    margin-top: 0;
  }
}

.b-next-steps__return {
  margin-top: 4.4rem;
}
.b-next-steps__return__prefix {
  display: block;
}
.b-next-steps__title {
  margin-top: 4rem;
  margin-bottom: 2.5rem;
}
.b-next-steps .b-guide-tile {
  margin-bottom: 4.1rem;
}
.b-next-steps .b-guide-tile__title {
  margin-top: 0.6rem;
  margin-bottom: 0.6rem;
}
.b-next-steps .b-rule--thick {
  margin-bottom: 4.5rem;
}
@media screen and (min-width:750px) {
  .b-next-steps__title {
    margin-top: 6rem;
  }
  .b-next-steps__list {
    margin-top: -1.4rem;
  }
  .b-next-steps__return {
    margin-top: 0;
  }
  .b-next-steps__guide {
    margin-top: 4.4rem;
    margin-bottom: 4.8rem;
  }
  .b-next-steps__guide .b-guide-tile {
    margin-top: 0.8rem;
    margin-bottom: 0;
  }
  .b-next-steps__guide .b-guide-tile__title {
    margin-top: 1.9rem;
  }
  .b-next-steps .b-rule--thick {
    margin-bottom: 0.5rem;
  }
}

.b-how-to-use-the-site {
  padding-bottom: 3.5rem;
}
.b-how-to-use-the-site__title {
  margin-top: 4.4rem;
  margin-bottom: 2.8rem;
}
.b-how-to-use-the-site a,
.b-how-to-use-the-site .a {
  color: inherit;
}
.b-how-to-use-the-site .b-rule {
  margin-top: 2rem;
  margin-bottom: 3.5rem;
}
@media screen and (min-width:1024px) {
  .b-how-to-use-the-site {
    padding-bottom: 0;
    margin-bottom: -12rem;
  }
  .b-how-to-use-the-site__title {
    margin-top: 5.4rem;
    margin-bottom: 3.9rem;
  }
  .b-how-to-use-the-site .b-rule {
    margin-top: 2.7rem;
  }
}

.b-link-icon__icon {
  width: 0.7em;
}
.b-link-icon__word {
  display: inline-block;
  white-space: nowrap;
}
.b-link-icon--start {
  margin-left: 1em;
}
.b-link-icon--start .h-icon--arrow {
  margin-left: -1em;
}
.b-link-icon--end {
  margin-right: 1em;
}
.b-link-icon--end .h-icon--arrow,
.b-link-icon--end .h-icon--arrow--up-right--link {
  margin-right: -1em;
}

.b-back-to-top {
  position: absolute;
  top: calc(-11.9rem - 1px);
  height: 6rem;
}
.b-back-to-top.h-is-sticky {
  position: fixed;
  top: auto;
  bottom: 0;
}
.b-back-to-top, .b-back-to-top.h-is-sticky {
  right: 2.5rem;
}
@media screen and (min-width:750px) {
  .b-back-to-top {
    top: calc(-17.3rem - 1px);
  }
  .b-back-to-top, .b-back-to-top.h-is-sticky {
    right: 6rem;
  }
}
@media screen and (min-width:1024px) {
  .b-back-to-top, .b-back-to-top.h-is-sticky {
    right: 6rem;
  }
}
@media screen and (min-width:1382px) {
  .b-back-to-top {
    right: calc(-8.5rem - 1px);
  }
  .b-back-to-top.h-is-sticky {
    right: calc(50% + 3rem - 76.75rem - 11.3rem - 1px - 2px);
  }
}

.b-filter-notice {
  margin-bottom: 2.5rem;
}
.b-filter-notice__inner {
  position: relative;
  padding: 1.5rem 1.5rem 1.5rem 5rem;
}
.b-filter-notice .p--filter-notice {
  margin: 0;
}
.b-filter-notice .h-icon--info {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  width: 1.5em;
  height: 1.5em;
}
.b-filter-notice--strategy {
  margin-top: 2.5rem;
}
@media screen and (min-width:750px) {
  .b-strategy + .b-filter-notice {
    margin-top: 3.6rem;
    margin-bottom: 3.6rem;
  }
  .b-filter-notice--wide {
    margin-bottom: 1rem;
  }
  .b-filter-notice--wide .h-icon--info {
    top: 1.7rem;
    left: 2rem;
  }
  .b-filter-notice--wide .b-filter-notice__inner {
    padding: 2rem 1.5rem 1.8rem 5.6rem;
  }
}

.modaal-noscroll {
  overflow: hidden;
}

.modaal-accessible-hide {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  border: 0;
  margin: -1px;
  clip: rect(0 0 0 0);
}

.modaal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  background-color: white !important;
  opacity: 0;
}

.modaal-wrapper {
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: white;
  opacity: 1;
  -webkit-overflow-scrolling: touch;
}
.modaal-wrapper * {
  -webkit-backface-visibility: hidden;
}
.modaal-wrapper .modaal-close {
  padding: 0;
  border: 0;
  -webkit-appearance: none;
}
.modaal-wrapper.modaal-start_none {
  display: none;
  opacity: 1;
}
.modaal-wrapper.modaal-start_fade {
  opacity: 0;
}
.modaal-wrapper *[tabindex="0"] {
  outline: none !important;
}
.modaal-wrapper.modaal-fullscreen {
  overflow: hidden;
}

.modaal-outer-wrapper {
  position: relative;
  display: table;
  width: 100%;
  height: 100%;
}
.modaal-fullscreen .modaal-outer-wrapper {
  display: block;
}

.modaal-inner-wrapper {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  height: 100%;
  text-align: center;
}
.modaal-fullscreen .modaal-inner-wrapper {
  display: block;
  vertical-align: top;
  padding: 0;
}

.modaal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 150rem;
  margin: auto;
  background-color: white;
  text-align: left;
  cursor: auto;
}
.modaal-container.is_loading {
  width: 100px;
  height: 100px;
  overflow: hidden;
}
.modaal-fullscreen .modaal-container {
  height: 100%;
  max-width: none;
  overflow: auto;
}

.modaal-close {
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 5rem;
  height: 5rem;
  opacity: 1;
  cursor: pointer;
}
.modaal-close span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  border: 0;
  margin: -1px;
  clip: rect(0 0 0 0);
}
.modaal-close::before, .modaal-close::after {
  -webkit-transition: background 0.2s ease-in-out;
  transition: background 0.2s ease-in-out;
  position: absolute;
  top: 6px;
  left: 19px;
  display: block;
  content: " ";
  width: 3px;
  height: 3.5rem;
  background-color: black;
}
.modaal-close:before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.modaal-close:after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.modaal-fullscreen .modaal-close {
  top: 10px;
  right: 10px;
}

.b-modal-js .modaal-container,
.b-modal-js .modaal-content,
.b-modal-js .modaal-content-container,
.b-modal-js .modaal-content-container > .l-ajax-js {
  min-height: 100%;
}
.b-modal-js .modaal-inner-wrapper {
  vertical-align: top;
}
.b-modal-js .modaal-content-container > .l-outer-container.b-fill--light {
  overflow: visible;
  padding-top: 1px;
  padding-bottom: 1px;
}
.js-enabled .b-modal-js__focusable:focus {
  outline: 0;
}
.js-wai-outline .b-modal-js__focusable:focus {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
.js-wai-outline .b-modal-js__focusable:focus.js-wai-no-outline {
  outline: 0;
}
.js-wai-outline .b-modal-js__focusable:focus.js-wai-no-outline .js-wai-outline--proxy {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
.b-modal-js--present.modaal-wrapper {
  overflow: hidden;
  background-color: #f2f1ec;
  overflow: auto;
}
.b-modal-js--present.modaal-wrapper .modaal-container {
  overflow: hidden;
  background-color: #f2f1ec;
  max-width: 142.5rem;
  min-height: 0;
}
.b-modal-js--present.modaal-wrapper .modaal-inner-wrapper {
  vertical-align: top;
}
.b-modal-js--present.modaal-wrapper .modaal-inner-wrapper > .modaal-container {
  margin-top: 16.7rem;
  margin-bottom: 17.5rem;
}
.b-modal-js--present.modaal-wrapper .b-modal-js__header {
  overflow: hidden;
  background-color: #f2f1ec;
  position: fixed;
  z-index: 3;
  width: 100%;
  top: 0;
  height: 16.7rem;
  padding-bottom: 1.5rem;
}
.b-modal-js--present.modaal-wrapper .b-modal-js__header > .modaal-container {
  height: 100%;
  overflow: visible;
}
.b-modal-js--present.modaal-wrapper .b-modal-js__header .l-2--modal--header--present {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  height: 100%;
}
.b-modal-js--present.modaal-wrapper .b-modal-js__header .l-2--modal--header--present > .l-2__col {
  margin-bottom: 4.5rem;
}
.b-modal-js--present.modaal-wrapper .b-modal-js__header .l-2--modal--header--present > .l-2__col:first-child {
  margin-bottom: 2.75rem;
}
.b-modal-js--present.modaal-wrapper .b-modal-pagination-js {
  overflow: hidden;
  background-color: #f2f1ec;
  position: fixed;
  z-index: 3;
  width: 100%;
  bottom: 0;
  height: 17.5rem;
  padding-top: 0.8rem;
}
.b-modal-js--present.modaal-wrapper .b-modal-pagination-js > .modaal-container {
  height: 100%;
}
.b-modal-js--present.modaal-wrapper .b-modal-pagination-js .l-2--modal--pagination--present {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
.b-modal-js--present.modaal-wrapper .b-modal-pagination-js .l-2--modal--pagination--present > .l-2__col {
  margin-bottom: 2.3rem;
}
.b-modal-js--present--hide {
  display: none;
}
.b-modal-js--present--show {
  display: block;
}
.b-modal-js--present--show[class^=l-1--], .b-modal-js--present--show[class*=" l-1--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--present--show[class^=l-2--], .b-modal-js--present--show[class*=" l-2--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--present--show[class^=l-3--], .b-modal-js--present--show[class*=" l-3--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--present--show[class^=l-4--], .b-modal-js--present--show[class*=" l-4--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-modal-js--nav-guide.modaal-wrapper {
  overflow: hidden;
  background-color: #1f1e24;
  overflow: auto;
}
.b-modal-js--nav-guide.modaal-wrapper h1,
.b-modal-js--nav-guide.modaal-wrapper h2,
.b-modal-js--nav-guide.modaal-wrapper h3,
.b-modal-js--nav-guide.modaal-wrapper h4,
.b-modal-js--nav-guide.modaal-wrapper h5,
.b-modal-js--nav-guide.modaal-wrapper h6,
.b-modal-js--nav-guide.modaal-wrapper .h1,
.b-modal-js--nav-guide.modaal-wrapper .h2,
.b-modal-js--nav-guide.modaal-wrapper .h3,
.b-modal-js--nav-guide.modaal-wrapper .h4,
.b-modal-js--nav-guide.modaal-wrapper .h5,
.b-modal-js--nav-guide.modaal-wrapper .h6,
.b-modal-js--nav-guide.modaal-wrapper p,
.b-modal-js--nav-guide.modaal-wrapper .p,
.b-modal-js--nav-guide.modaal-wrapper li {
  color: white;
}
.b-modal-js--nav-guide.modaal-wrapper a,
.b-modal-js--nav-guide.modaal-wrapper .a {
  color: #58cdfe;
}
.b-modal-js--nav-guide.modaal-wrapper a .h-icon--arrow,
.b-modal-js--nav-guide.modaal-wrapper .a .h-icon--arrow {
  fill: white;
}
.b-modal-js--nav-guide.modaal-wrapper a.a--active-page-or-parent {
  color: inherit;
}
.b-modal-js--nav-guide.modaal-wrapper a.a--active-page-or-parent:hover {
  color: #58cdfe;
}
.b-modal-js--nav-guide.modaal-wrapper a.a--active-page-or-parent .a {
  color: inherit;
}
.b-modal-js--nav-guide.modaal-wrapper a:visited:not(.a--no-visited),
.b-modal-js--nav-guide.modaal-wrapper a:visited:not(.a--no-visited) > .a {
  color: #ba94ed;
}
.b-modal-js--nav-guide.modaal-wrapper a:visited:not(.a--no-visited) mark {
  color: #fff185;
}
.b-modal-js--nav-guide.modaal-wrapper .p--brand a {
  color: inherit;
}
.b-modal-js--nav-guide.modaal-wrapper .p--brand a:hover {
  color: #58cdfe;
}
.b-modal-js--nav-guide.modaal-wrapper .a--visited {
  color: #ba94ed;
}
.b-modal-js--nav-guide.modaal-wrapper .a--visited .a {
  color: #ba94ed;
}
.b-modal-js--nav-guide.modaal-wrapper .b-hide-show-js-expandmore__button {
  color: inherit;
}
.b-modal-js--nav-guide.modaal-wrapper .b-fill--light {
  background-color: rgba(242, 241, 236, 0.55);
}
.b-modal-js--nav-guide.modaal-wrapper .b-fill--light p,
.b-modal-js--nav-guide.modaal-wrapper .b-fill--light a,
.b-modal-js--nav-guide.modaal-wrapper .b-fill--light .a {
  color: black;
}
.b-modal-js--nav-guide.modaal-wrapper mark {
  background-color: inherit;
  color: #fff185;
}
.b-modal-js--nav-guide .modaal-container {
  overflow: hidden;
  background-color: #1f1e24;
  overflow: visible; /* titles and popups sit outside container */
}
.b-modal-js--nav-guide .modaal-container h1,
.b-modal-js--nav-guide .modaal-container h2,
.b-modal-js--nav-guide .modaal-container h3,
.b-modal-js--nav-guide .modaal-container h4,
.b-modal-js--nav-guide .modaal-container h5,
.b-modal-js--nav-guide .modaal-container h6,
.b-modal-js--nav-guide .modaal-container .h1,
.b-modal-js--nav-guide .modaal-container .h2,
.b-modal-js--nav-guide .modaal-container .h3,
.b-modal-js--nav-guide .modaal-container .h4,
.b-modal-js--nav-guide .modaal-container .h5,
.b-modal-js--nav-guide .modaal-container .h6,
.b-modal-js--nav-guide .modaal-container p,
.b-modal-js--nav-guide .modaal-container .p,
.b-modal-js--nav-guide .modaal-container li {
  color: white;
}
.b-modal-js--nav-guide .modaal-container a,
.b-modal-js--nav-guide .modaal-container .a {
  color: #58cdfe;
}
.b-modal-js--nav-guide .modaal-container a .h-icon--arrow,
.b-modal-js--nav-guide .modaal-container .a .h-icon--arrow {
  fill: white;
}
.b-modal-js--nav-guide .modaal-container a.a--active-page-or-parent {
  color: inherit;
}
.b-modal-js--nav-guide .modaal-container a.a--active-page-or-parent:hover {
  color: #58cdfe;
}
.b-modal-js--nav-guide .modaal-container a.a--active-page-or-parent .a {
  color: inherit;
}
.b-modal-js--nav-guide .modaal-container a:visited:not(.a--no-visited),
.b-modal-js--nav-guide .modaal-container a:visited:not(.a--no-visited) > .a {
  color: #ba94ed;
}
.b-modal-js--nav-guide .modaal-container a:visited:not(.a--no-visited) mark {
  color: #fff185;
}
.b-modal-js--nav-guide .modaal-container .p--brand a {
  color: inherit;
}
.b-modal-js--nav-guide .modaal-container .p--brand a:hover {
  color: #58cdfe;
}
.b-modal-js--nav-guide .modaal-container .a--visited {
  color: #ba94ed;
}
.b-modal-js--nav-guide .modaal-container .a--visited .a {
  color: #ba94ed;
}
.b-modal-js--nav-guide .modaal-container .b-hide-show-js-expandmore__button {
  color: inherit;
}
.b-modal-js--nav-guide .modaal-container .b-fill--light {
  background-color: rgba(242, 241, 236, 0.55);
}
.b-modal-js--nav-guide .modaal-container .b-fill--light p,
.b-modal-js--nav-guide .modaal-container .b-fill--light a,
.b-modal-js--nav-guide .modaal-container .b-fill--light .a {
  color: black;
}
.b-modal-js--nav-guide .modaal-container mark {
  background-color: inherit;
  color: #fff185;
}
.b-modal-js--search.modaal-wrapper {
  overflow: hidden;
  background-color: #f2f1ec;
  overflow-y: scroll;
}
.b-modal-js--search .modaal-container {
  background-color: transparent;
}
.b-modal-js--search .modaal-content-container > .l-outer-container.b-fill--light {
  padding-bottom: 4.4rem;
}
.b-modal-js--search .modaal-inline__close.b-button {
  background-color: transparent;
}
@media screen and (min-width:1024px) {
  .b-modal-js--search .modaal-container,
  .b-modal-js--search .l-outer-container {
    max-width: 154.5rem;
  }
  .b-modal-js--search .modaal-content-container > .l-outer-container.b-fill--light {
    padding-bottom: 13.175rem;
  }
}

.b-no-results-message__sorry {
  margin-bottom: 5.5rem;
}
@media screen and (min-width:750px) {
  .b-no-results-message__sorry {
    margin-bottom: 3rem;
  }
  .b-modal-js--search .b-no-results-message__sorry {
    margin-top: 9.5rem;
    margin-bottom: -2rem;
  }
}

.b-search-field__input-wrapper {
  position: relative;
}
.b-search-field__input-label {
  margin: 0 2rem 0 0;
  font-family: Martel, Georgia, serif;
  font-weight: 300;
  color: #1f1e24;
}
.b-search-field__input[type=text] {
  padding-right: 9rem;
  border: 1px solid #b2b2b2;
  margin: 0 !important;
}
.b-search-field__input[type=text]:focus {
  padding-top: 1.375rem;
  padding-bottom: 1.375rem;
  padding-left: 1.875rem;
}
.js-enabled .b-search-field__reset {
  position: absolute;
  top: 1px;
  right: 7rem;
  height: calc(100% - 2px);
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  margin-left: 0;
}
.js-enabled .b-search-field__reset .b-button__icon-wrap--after {
  margin-left: 0;
}
.js-enabled .b-search-field__reset[disabled] {
  display: none;
}
.b-search-field__submit[type=submit] {
  position: absolute;
  top: 0;
  right: 0;
  width: 7rem;
  height: 100%;
  margin: 0;
  background-color: #0099d9;
  text-indent: -10000px;
}
.b-search-field__submit-icon {
  position: absolute;
  top: 0;
  right: 2rem;
  bottom: 0;
  z-index: 1;
  display: block;
  width: 1.5em;
  height: 1.5em;
  margin: auto;
  color: white;
}
.b-search-field--has-reset .b-search-field__input {
  padding-right: 13rem;
}
@media screen and (min-width:750px) {
  .b-search-field {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
  .b-search-field__input-label {
    font-size: 2.53125rem;
    line-height: 3rem;
  }
  .b-search-field__input-wrapper {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .b-search-field__input[type=text] {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.05625rem;
    font-family: Montserrat, Arial, sans-serif;
    line-height: 3.75rem;
    font-weight: 300;
    padding: 2.55rem 12rem 2.7rem 2.9rem;
  }
  .b-search-field__input[type=text] strong {
    font-weight: 600;
  }
}
@media screen and (min-width:750px) and (min-width:750px) {
  .b-search-field__input[type=text] {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    letter-spacing: -0.0961083984rem;
    line-height: 3.75rem;
  }
}
@media screen and (min-width:750px) {
  .b-search-field__input[type=text]:focus {
    padding-top: 2.425rem;
    padding-bottom: 2.575rem;
    padding-left: 2.775rem;
  }
  .js-enabled .b-search-field__reset {
    right: 10rem;
    padding-right: 2rem;
    padding-left: 2rem;
  }
  .js-enabled .b-search-field__reset .b-button__icon-wrap {
    width: 3.5rem;
    height: 3.5rem;
  }
  .js-enabled .b-search-field__reset .b-button__icon-wrap .b-button__icon {
    top: 0.25em;
    width: 0.75em;
    height: 0.75em;
  }
  .b-search-field__submit[type=submit] {
    padding-right: 5rem;
    padding-left: 5rem;
  }
  .b-search-field__submit-icon {
    right: 3.1rem;
    width: 2em;
    height: 2em;
  }
  .b-search-field--large .b-search-field__input[type=text] {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    padding-left: 3rem;
  }
  .b-search-field--large .b-search-field__input[type=text]:focus {
    padding-left: 2.875rem;
  }
  .b-search-field--large .b-search-field__submit-icon {
    width: 2em;
    height: 2em;
  }
  .b-search-field--has-reset .b-search-field__input {
    padding-right: 17.4rem;
  }
}

.b-tt-js__label {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 400;
  color: #000;
}
.b-tt-js__input {
  width: 100%;
  margin-bottom: 0 !important;
  color: #1f1e24;
}
.b-tt-js__input:focus {
  border: 2px solid #0099d9;
}
.js-wai-outline .b-tt-js__input:focus {
  outline: none;
}
.b-tt-js__input:focus::-webkit-input-placeholder {
  color: transparent;
}
.b-tt-js__input:focus:-moz-placeholder {
  color: transparent;
}
.b-tt-js__input:focus::-moz-placeholder {
  color: transparent;
}
.b-tt-js__input:focus:-ms-input-placeholder {
  color: transparent;
}
.b-tt-js__hint {
  color: #1f1e24 !important;
}
.b-tt-js__dataset:first-child {
  margin-top: -1px;
}
.b-tt-js__menu {
  width: 100%;
  max-height: 360px;
  overflow-y: auto;
  padding: 0 2rem;
  border: 2px solid #0099d9;
  border-top-color: #0099d9;
  border-top-width: 1px;
  margin-top: -2px;
  background: white;
}
.b-tt-js__menu--input {
  padding: 1rem 0;
}
.b-tt-js__menu--input .b-tt-js__category,
.b-tt-js__menu--input .b-tt-js__subcategory {
  display: none;
}
.b-tt-js__menu--input .b-tt-js__anchor:last-child {
  margin: 0;
}
.b-tt-js__menu--left {
  padding: 0 !important;
}
.b-tt-js__suggestion {
  display: block;
}
.b-tt-js__suggestion--padded {
  position: relative;
  padding: 2rem 2.5rem 2.25rem;
}
.b-tt-js__suggestion--padded.b-rule::after {
  position: absolute;
  right: -2.5rem;
  bottom: 0;
  left: -2.5rem;
}
.b-tt-js__suggestion:hover {
  cursor: pointer;
  background-color: #0099d9;
  color: white;
}
.b-tt-js__suggestion:last-child.b-rule::after {
  display: none;
}
.b-tt-js__cursor {
  background-color: #0099d9;
  color: white;
}
.b-tt-js__highlight {
  font-weight: inherit !important;
}
.b-tt-js__category {
  font-size: 3.2036132813rem;
  line-height: 3.5rem;
  padding: 1.5rem 0;
  border-top: solid 1px #1f1e24;
  border-bottom: solid 1px #1f1e24;
  margin: 0 0 1.5rem;
  line-height: 3.5rem;
  font-weight: 300;
  color: #1f1e24;
}
.b-tt-js__category span {
  display: block;
  font-weight: 200;
}
.b-tt-js__category + .b-tt-js__subcategory {
  padding-top: 0;
  border-top: 0;
}
.b-tt-js__subcategory {
  font-size: 2.25rem;
  line-height: 3.5rem;
  padding: 1.5rem 0 0;
  border-top: solid 1px #1f1e24;
  margin: 0 0 0.5rem 3rem;
  font-weight: 300;
  color: #1f1e24;
}
.b-tt-js__anchor {
  font-size: 2rem;
  line-height: 3rem;
  padding: 0.5rem 2rem 0.5rem 3rem;
  border: 0;
  margin: 0rem 0;
  font-weight: 300;
  text-decoration: none;
}
.b-tt-js__anchor-selected {
  font-weight: 600;
  color: #1f1e24;
}
.b-tt-js__anchor:last-child {
  margin-bottom: 1.5rem;
}
.b-tt-js__empty-message {
  padding: 1rem 2rem;
}
.b-tt-js__loader {
  position: absolute;
  top: 15px;
  right: 40px;
  bottom: 0;
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.b-tt-js__loader::before {
  border: 2px solid #ddd;
  border-top-color: #009cde;
}
.b-tt-js .twitter-typeahead {
  position: relative;
  width: 100%;
}
.b-tt-js .twitter-typeahead::after {
  position: absolute;
  top: 12rem;
  right: 18rem;
  display: none;
  content: "";
  width: 16px;
  height: 30px;
  border: 1px solid red;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20fill%3D%22rgb%28165%2C165%2C165%29%22%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2020%2021%22%20style%3D%22enable-background%3Anew%200%200%2020%2021%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolyline%20points%3D%2210.1%2C16.1%205.6%2C11%201.1%2C6%2010.1%2C6%2019.2%2C6%20%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100%;
  -webkit-transition: -webkit-transform linear 0.2s;
  transition: -webkit-transform linear 0.2s;
  transition: transform linear 0.2s;
  transition: transform linear 0.2s, -webkit-transform linear 0.2s;
  pointer-events: none;
}
.b-tt-js .twitter-typeahead::after:hover {
  cursor: pointer;
}
.b-tt-js--fullwidth {
  display: block !important;
}
.b-tt-js--fullwidth .b-tt-js__label {
  width: auto;
  margin: 2rem 0 1.5rem;
}
@media screen and (min-width:750px) {
  .b-tt-js__menu {
    max-height: 500px;
  }
}
@media screen and (min-width:1024px) {
  .b-tt-js {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .b-tt-js__label {
    display: inline-block;
    width: 17.5rem;
    margin: 0;
  }
  .b-tt-js .twitter-typeahead {
    -ms-flex-negative: 1;
        flex-shrink: 1;
  }
  .b-tt-js__menu {
    max-height: 660px;
    padding: 0 5rem;
  }
  .b-tt-js__menu--input {
    padding: 1rem 0;
  }
}

.b-example {
  padding: 3rem;
  background: #f2f2f2;
}
.b-example__inner {
  max-width: 200rem;
  margin: 0 auto;
}
.b-example__title {
  font-size: 3.6040649414rem;
  line-height: 3.5rem;
  margin-top: 0;
}
.b-example__content {
  color: #000;
}
.b-example__image {
  opacity: 0.8;
}
.b-example--small {
  width: 25%;
}
.b-example--large {
  width: 100%;
}
.b-example--is-active {
  color: #555;
}
.b-example--is-loaded {
  color: #555;
}
.b-example--is-loading {
  color: #555;
}
.b-example--is-visible {
  color: #555;
}
.b-example--is-disabled {
  color: #555;
}
.b-example:hover {
  color: #555;
}
.b-example:active {
  color: #555;
}

#tki-5682-header {
  border-bottom: 0 none;
}
#tki-5682-header li:before {
  display: none;
}

#tki-5682-footer li:before {
  display: none;
}

.b-button {
  display: inline-block;
  padding: 0;
  border: 0;
  background-color: transparent;
  color: #1f1e24;
  text-decoration: none;
  -webkit-transition: background 0.2s ease, border 0.2s ease, color 0.2s ease;
  transition: background 0.2s ease, border 0.2s ease, color 0.2s ease;
}
[class^=p--] > .b-button,
[class*=" p--"] > .b-button {
  font-family: inherit;
  line-height: inherit;
  font-weight: inherit;
}

.b-button.a {
  background-color: transparent;
  color: #0099d9;
}
.b-button.a--underline {
  border-bottom: 1px solid;
}
.b-button--stretch {
  width: 100%;
}
.b-button--icon {
  height: 100%;
  padding: 0;
}
.b-button--icon-circle {
  padding: 0;
}
.b-button--icon-circle .b-button__icon-wrap {
  display: inline-block;
  vertical-align: middle;
  width: 5rem;
  height: 5rem;
  padding: 0;
  border: 0.375rem solid;
  border-radius: 5rem;
  text-align: center;
  text-decoration: none;
}
.b-button--icon-circle .b-button__icon-wrap .b-button__icon {
  position: relative;
  top: 0.3em;
  width: 1.5em;
  height: 1.5em;
}
.b-button--icon-circle .b-button__icon-wrap--before + .b-button__content {
  margin-left: 1.5rem;
}
.b-button--icon-circle .b-button__icon-wrap--after {
  margin-left: 1.5rem;
}
.b-button--icon-circle .b-button__content {
  display: inline-block;
  vertical-align: middle;
  color: #0099d9;
}
.b-button--icon-circle .b-button__content.h-visuallyhidden {
  position: absolute;
}
.b-button--icon-circle--download .b-button__icon-wrap {
  display: inline-block;
  vertical-align: middle;
  width: 5rem;
  height: 5rem;
  padding: 0;
  border: 0.375rem solid;
  border-radius: 5rem;
  text-align: center;
  text-decoration: none;
  border-color: #0099d9;
  background-color: white;
  color: #0099d9;
}
.b-button--icon-circle--download .b-button__icon-wrap .b-button__icon {
  position: relative;
  top: 0.5em;
  width: 1.05em;
  height: 1.05em;
}
.b-button--icon-circle--download.b-button--icon-circle:not([disabled]):hover .b-button__icon-wrap {
  border-color: #0099d9;
  background-color: #0099d9;
  color: white;
}
.b-button--icon-circle--outline {
  border-color: currentColor;
  color: #1f1e24;
}
.b-button--icon-circle--outline:not([disabled]):hover .b-button__icon-wrap {
  border-color: #1f1e24;
  background-color: #1f1e24;
  color: white;
}
.b-button--icon-circle--outline:not([disabled]):hover .b-button__content {
  border-bottom: 0.125rem solid;
}
.b-button--icon-circle--outline:disabled .b-button__icon-wrap {
  color: #b7b7b7;
}
.b-button--icon-circle--outline:disabled .b-button__content {
  color: #b7b7b7;
}
.b-button--icon-circle--small .b-button__icon-wrap {
  display: inline-block;
  vertical-align: middle;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0rem solid;
  border-radius: 3rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  border-color: #1f1e24;
  background-color: #1f1e24;
  color: white;
}
.b-button--icon-circle--small .b-button__icon-wrap .b-button__icon {
  position: relative;
  top: 0.1em;
  width: 1em;
  height: 1em;
}
.b-button--icon-circle--small .b-button__icon-wrap--after {
  margin-left: 0.625rem;
}
.b-button--icon-circle--small .b-button__content {
  color: #1f1e24;
}
.b-button--icon-circle--small--close .b-button__icon-wrap {
  display: inline-block;
  vertical-align: middle;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0rem solid;
  border-radius: 3rem;
  text-align: center;
  text-decoration: none;
  margin-left: 0.25rem;
}
.b-button--icon-circle--small--close .b-button__icon-wrap .b-button__icon {
  position: relative;
  top: -0.25em;
  width: 0.65em;
  height: 0.65em;
}
.b-button--icon-circle--small--reset .b-button__icon-wrap {
  display: inline-block;
  vertical-align: middle;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0rem solid;
  border-radius: 3rem;
  text-align: center;
  text-decoration: none;
  background-color: #dddddd;
  color: #1f1e24;
}
.b-button--icon-circle--small--reset .b-button__icon-wrap .b-button__icon {
  position: relative;
  top: 0.05em;
  width: 0.65em;
  height: 0.65em;
}
.b-button--icon-circle--small--search .b-button__icon-wrap {
  display: inline-block;
  vertical-align: middle;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0rem solid;
  border-radius: 3rem;
  text-align: center;
  text-decoration: none;
}
.b-button--icon-circle--small--search .b-button__icon-wrap .b-button__icon {
  position: relative;
  top: -0.1em;
  width: 0.9em;
  height: 0.9em;
}
.b-button--icon-circle--success .b-button__icon-wrap {
  border-color: #00a914;
  background-color: #00a914;
  color: white;
}
.b-button--pill {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.02rem;
  display: inline-block;
  padding: 0.8rem 1rem 0.6rem;
  border: 0.25rem solid;
  border-radius: 2.5rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
}
.b-button--pill .b-button__icon-wrap--before {
  margin-right: 0;
}
.b-button--pill .b-button__icon-wrap--after {
  margin-left: 0.325rem;
}
.b-button--pill .b-button__icon {
  position: relative;
  top: -0.1em;
  vertical-align: -0.2em;
  width: 0.85em;
  height: 0.85em;
}
.b-button--pill .h-icon--arrow--up-right {
  position: relative;
  top: -0.15em;
  width: 0.75em;
  height: 0.75em;
}
.b-button--pill .h-icon--fullscreen {
  width: 0.9em;
  height: 0.9em;
}
.b-button--pill .h-icon--print {
  width: 0.9em;
  height: 0.9em;
}
.b-button--pill .b-button__content {
  display: inline-block;
}
.b-button--pill + .b-button__info {
  display: block;
  margin-top: 1rem;
  color: #0099d9;
  text-align: center;
}
.b-button--pill--primary {
  border-color: #0099d9;
  background-color: #0099d9;
  color: white;
}
.b-button--pill--primary.l-ajax-js--inline-loading:hover {
  border-bottom-color: #0099d9;
}
.b-button--pill--primary:not([disabled]):not(.l-ajax-js--inline-loading):hover {
  background-color: white;
  color: #0099d9;
}
.b-button--pill--primary:visited {
  color: white;
}
.l-2--resource-content .b-button--pill--primary {
  padding-right: 1.1rem;
  padding-left: 1.1rem;
}
.l-2--resource-content .b-button--pill--primary .h-icon--before {
  margin-right: 0;
}
.b-button--pill--outline {
  border-color: currentColor;
  background-color: white;
  color: #0099d9;
}
.b-button--pill--outline:not([disabled]):hover {
  border-color: #0099d9;
  background-color: #0099d9;
  color: white;
}
.b-button--pill--outline:visited {
  color: #0099d9;
}
.b-button--pill--large {
  padding: 1.4rem 2.4rem 1.1rem;
}
.b-button--pill--large .b-button__icon-wrap {
  margin-right: 0.725rem;
}
.b-button--pill--large .b-button__icon {
  top: -0.15em;
}
.b-button--pill--small {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  padding: 0.8rem 2.1rem 0.7rem;
  line-height: 2rem;
}
.b-button--pill--small .b-button__icon {
  top: -0.05em;
  width: 0.95em;
  height: 0.95em;
}
.b-button--pill--small .b-button__icon-wrap--before {
  margin-right: 0.1rem;
}
.b-button--rectangle {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  letter-spacing: -0.0533333333rem;
  display: inline-block;
  padding: 0.125rem 1.125rem;
  border: 1px solid;
  border-radius: 0.375rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3.5rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
.b-button--rectangle .b-button__icon-wrap--before {
  margin-right: 0.375rem;
}
.b-button--rectangle .b-button__icon-wrap--after {
  margin-left: 0.375rem;
}
.b-button--rectangle .b-button__icon {
  position: relative;
  top: -0.15em;
  vertical-align: -0.2em;
  width: 0.85em;
  height: 0.85em;
}
.b-button--rectangle .b-button__content {
  display: inline-block;
}
.b-button--rectangle--outline {
  border-color: #b2b2b2;
  background-color: white;
  color: #1f1e24;
}
.b-button--rectangle--outline:not([disabled]):hover {
  border-color: #1f1e24;
  background-color: #1f1e24;
  color: white;
}
.b-button--rectangle--outline-large {
  padding: 0 3.625rem;
  border-color: #0099d9;
  border-style: dashed;
  background-color: transparent;
  color: #0099d9;
}
.b-button--rectangle--outline-large.a--visited {
  border-color: #895bc7;
  color: #895bc7;
}
.b-button--rectangle--outline-large:not([disabled]):hover {
  border-color: #0099d9;
  border-style: solid;
  background-color: transparent;
  color: #0099d9;
}
.b-button--rectangle--outline-large:not([disabled]).a--visited:hover {
  border-color: #895bc7;
  color: #895bc7;
}
.b-button--square {
  font-size: 1.5802469136rem;
  line-height: 2rem;
  display: inline-block;
  padding: 0.8rem 1.25rem;
  border: 0.125rem solid;
  border-bottom: 0;
  border-radius: 0.375rem 0.375rem 0 0;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}
.b-button--square .b-button__icon-wrap {
  display: block;
  line-height: normal;
  text-align: center;
}
.b-button--square .b-button__icon-wrap--before {
  margin-bottom: 0.475rem;
}
.b-button--square--outline {
  border-color: #b2b2b2;
  background-color: white;
  color: #1f1e24;
}
.b-button--square--outline:not([disabled]):hover {
  border-color: #0099d9;
  background-color: white;
  color: #0099d9;
}
.b-button:not([disabled]):hover {
  cursor: pointer;
}
.b-button[disabled]:hover {
  cursor: default;
}
@media screen and (max-width:899px) {
  .b-button--icon-circle--small .b-button__content.h-visuallyhidden--page-below-wideish {
    position: absolute;
  }
  .b-button--icon-circle--small .b-button__content.h-visuallyhidden--page-below-wideish + .b-button__icon-wrap--after {
    margin-left: 0;
  }
}
@media screen and (min-width:750px) {
  .b-button--icon-circle .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 4rem;
    height: 4rem;
    padding: 0;
    border: 0.25rem solid;
    border-radius: 4rem;
    text-align: center;
    text-decoration: none;
  }
  .b-button--icon-circle .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: 0.25em;
    width: 1.2em;
    height: 1.2em;
  }
  .b-share-and-output-buttons--modal--present .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 6rem;
    height: 6rem;
    padding: 0;
    border: 0.45rem solid;
    border-radius: 6rem;
    text-align: center;
    text-decoration: none;
  }
  .b-share-and-output-buttons--modal--present .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: 0.35em;
    width: 1.7em;
    height: 1.7em;
  }
  .b-modal-js--present .b-button--icon-circle--outline--close .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 4.75rem;
    height: 4.75rem;
    padding: 0;
    border: 0.125rem solid;
    border-radius: 4.75rem;
    text-align: center;
    text-decoration: none;
  }
  .b-modal-js--present .b-button--icon-circle--outline--close .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: 0.55em;
    width: 1em;
    height: 1em;
  }
  .b-modal-js--present .b-button--icon-circle--outline--thin .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 4.75rem;
    height: 4.75rem;
    padding: 0;
    border: 0.125rem solid;
    border-radius: 4.75rem;
    text-align: center;
    text-decoration: none;
  }
  .b-modal-js--present .b-button--icon-circle--outline--thin .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: 0.55em;
    width: 1.2em;
    height: 1.2em;
  }
  .b-modal-js--present .b-button--icon-circle--outline--thin .b-button__content {
    top: 0.45em;
  }
  .b-button--icon-circle--small .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 3.5rem;
    height: 3.5rem;
    padding: 0;
    border: 0rem solid;
    border-radius: 3.5rem;
    text-align: center;
    text-decoration: none;
  }
  .b-button--icon-circle--small .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: 0.2em;
    width: 1em;
    height: 1em;
  }
  .b-button--icon-circle--small--close .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 3.5rem;
    height: 3.5rem;
    padding: 0;
    border: 0rem solid;
    border-radius: 3.5rem;
    text-align: center;
    text-decoration: none;
  }
  .b-button--icon-circle--small--close .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: -0.2em;
    width: 0.55em;
    height: 0.55em;
  }
  .b-button--icon-circle--small--reset .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 3rem;
    height: 3rem;
    padding: 0;
    border: 0rem solid;
    border-radius: 3rem;
    text-align: center;
    text-decoration: none;
  }
  .b-button--icon-circle--small--reset .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: 0.05em;
    width: 0.65em;
    height: 0.65em;
  }
  .b-button--icon-circle--small--search .b-button__icon-wrap {
    display: inline-block;
    vertical-align: middle;
    width: 3.5rem;
    height: 3.5rem;
    padding: 0;
    border: 0rem solid;
    border-radius: 3.5rem;
    text-align: center;
    text-decoration: none;
  }
  .b-button--icon-circle--small--search .b-button__icon-wrap .b-button__icon {
    position: relative;
    top: -0.2em;
    width: 0.6em;
    height: 0.6em;
  }
  .b-button--pill + .b-button__info.b-button__info--inline {
    display: inline-block;
    margin-left: 0.9rem;
  }
  .b-modal-js--present .b-button--pill {
    font-size: 3.2036132813rem;
    line-height: 3.5rem;
    padding: 1rem 4.4rem 1.2rem 3.7rem;
    border-radius: 7rem;
    line-height: 4rem;
  }
  .b-modal-js--present .b-button--pill .b-modal-js__icon-wrap--before {
    margin-right: 0;
  }
  .b-modal-js--present .b-button--pill .b-modal-js__icon {
    width: 1em;
    height: 1em;
  }
}

.b-pagination {
  margin-top: 3rem;
  margin-bottom: 0;
}
.b-pagination__button {
  width: 100%;
}
@media screen and (min-width:750px) {
  .b-pagination {
    margin-top: 7rem;
  }
  .b-pagination__button {
    width: auto;
  }
}

.b-alert {
  padding: 2rem;
  margin-top: 3.25rem;
}
.b-alert__icon {
  margin-right: 0.375rem;
  margin-left: 0.25rem;
}
.b-alert__alert {
  margin: 0;
}
.b-alert--nojs {
  background: #fff185;
}
@media screen and (min-width:750px) {
  .b-alert {
    position: relative;
    padding: 2.375rem 2rem 2.5rem 8.35rem;
    margin-top: 0;
    margin-bottom: 8rem;
  }
  .b-alert__icon {
    position: absolute;
    top: 2.8rem;
    left: 2.7rem;
    width: 1.4em;
    height: 1.4em;
    margin-right: 0;
    margin-left: 0;
  }
}

.b-skip-links__anchor {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  padding: 1rem;
  border-bottom-right-radius: 3px;
  background: transparent;
  color: #1f1e24;
  text-decoration: none;
  -webkit-transform: translatey(-40px);
          transform: translatey(-40px);
  -webkit-transition: background 0.1s linear, -webkit-transform 0.1s ease-out;
  transition: background 0.1s linear, -webkit-transform 0.1s ease-out;
  transition: transform 0.1s ease-out, background 0.1s linear;
  transition: transform 0.1s ease-out, background 0.1s linear, -webkit-transform 0.1s ease-out;
}
.b-skip-links__anchor:hover {
  color: #1f1e24;
  text-decoration: underline;
  border-color: #1f1e24;
}
.b-skip-links__anchor:focus {
  background: #1f1e24;
  color: white;
  -webkit-transform: translatey(0);
          transform: translatey(0);
}

.b-suggestion--next-steps .b-suggestion__title {
  margin-top: 2.2rem;
  margin-bottom: 1.9rem;
}
.b-suggestion--strategy.h-first-visible .b-rule {
  display: none;
}
.b-suggestion--strategy .b-suggestion__title {
  margin-top: 2.5rem;
  margin-bottom: 0.5rem;
}
.b-suggestion--strategy .b-suggestion__title:last-child {
  margin-bottom: 2.5rem;
}
.b-suggestion--strategy .b-suggestion__includes {
  margin-top: 0.7rem;
  margin-bottom: 2.5rem;
}
.b-suggestion--strategy .b-suggestion__includes * {
  display: inline-block;
  margin-top: 0;
  margin-bottom: 0;
}
.b-suggestion--strategy .b-suggestion__includes .p--includes {
  margin-right: 0.2rem;
}
.b-suggestion--strategy .b-suggestion__includes li::after {
  position: relative;
  top: 0.14em;
  content: "•";
  font-size: 4rem;
  color: #b2b2b2;
}
.b-suggestion--strategy .b-suggestion__includes li:last-child::after {
  content: "";
}
@media screen and (min-width:750px) {
  .b-suggestion--next-steps .b-suggestion__title {
    margin-top: 2.5rem;
    margin-bottom: 2.6rem;
  }
  .b-suggestion--next-steps .b-suggestion__title__current {
    margin-top: 0.2rem;
    margin-bottom: 0.3rem;
  }
  .b-suggestion--strategy {
    margin-bottom: 2.7rem;
  }
  .b-suggestion--strategy .b-suggestion__title {
    margin-top: 2.7rem;
    margin-bottom: 0.8rem;
  }
  .b-suggestion--strategy .b-suggestion__subtitle {
    margin-top: 2.5rem;
  }
}

.b-knowledge-slide {
  padding-top: 7.4rem;
}
.b-example-slide + .b-knowledge-slide, .b-knowledge-slide + .b-knowledge-slide {
  padding-top: 8.5rem;
}
.b-knowledge-slide__intro .b-rule {
  margin-top: 3.3rem;
}
.b-knowledge-slide__description {
  margin-top: 2rem;
}
.b-knowledge-slide__title {
  margin-top: 0;
  margin-bottom: 2rem;
}
.b-example-slide + .b-example-slide .b-knowledge-slide__title, .b-knowledge-slide + .b-example-slide .b-knowledge-slide__title {
  margin-bottom: 2.7rem;
}
.b-knowledge-slide .b-example-embed {
  margin-top: 3rem;
  margin-bottom: 0;
}
.b-knowledge-slide .b-resource {
  margin-bottom: 2.9rem;
}
.b-knowledge-slide .l-2--slide > .l-2__col, .b-knowledge-slide .l-2--slide > .l-2__col:last-child {
  margin-bottom: 3.625rem;
}
.b-knowledge-slide .l-2--slide > .l-2__col:last-child {
  position: relative;
}
.b-knowledge-slide__content p:not(.b-knowledge-slide__source):not(.b-process-list__repeats):not([class^=b-resource__]):not([class*=" b-resource__"]) {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.01rem;
}
@media screen and (min-width:750px) {
  .b-knowledge-slide__content p:not(.b-knowledge-slide__source):not(.b-process-list__repeats):not([class^=b-resource__]):not([class*=" b-resource__"]) {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.01125rem;
    line-height: 3.25rem;
  }
  .b-modal-js--present .b-knowledge-slide__content p:not(.b-knowledge-slide__source):not(.b-process-list__repeats):not([class^=b-resource__]):not([class*=" b-resource__"]) {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.0202728653rem;
    line-height: 6rem;
    font-weight: 300;
  }
  .b-modal-js--present .b-knowledge-slide__content p:not(.b-knowledge-slide__source):not(.b-process-list__repeats):not([class^=b-resource__]):not([class*=" b-resource__"]).b-process-list__step-inner {
    line-height: 6rem;
  }
}
.b-knowledge-slide__content p:not([class]) {
  margin: 0 0 2rem;
}
.b-knowledge-slide__content p a:not([class]) {
  font-family: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}
.b-knowledge-slide__content ol > li {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.01rem;
}
@media screen and (min-width:750px) {
  .b-knowledge-slide__content ol > li {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.01125rem;
    line-height: 3.25rem;
  }
  .b-modal-js--present .b-knowledge-slide__content ol > li {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.0202728653rem;
    line-height: 6rem;
    font-weight: 300;
  }
  .b-modal-js--present .b-knowledge-slide__content ol > li.b-process-list__step-inner {
    line-height: 6rem;
  }
}
.b-knowledge-slide__content div:not(.b-share-and-output-buttons__share) > ul > li {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.01rem;
}
@media screen and (min-width:750px) {
  .b-knowledge-slide__content div:not(.b-share-and-output-buttons__share) > ul > li {
    font-size: 2.25rem;
    line-height: 3.5rem;
    letter-spacing: -0.01125rem;
    line-height: 3.25rem;
  }
  .b-modal-js--present .b-knowledge-slide__content div:not(.b-share-and-output-buttons__share) > ul > li {
    font-size: 4.0545730591rem;
    line-height: 5rem;
    letter-spacing: -0.0202728653rem;
    line-height: 6rem;
    font-weight: 300;
  }
  .b-modal-js--present .b-knowledge-slide__content div:not(.b-share-and-output-buttons__share) > ul > li.b-process-list__step-inner {
    line-height: 6rem;
  }
}
.b-knowledge-slide__content div:not([class]) li {
  margin: 0 0 1.3rem;
}
.b-knowledge-slide__content .b-knowledge-slide__source {
  margin-top: 2.9rem;
  margin-bottom: -0.7rem;
}
.b-knowledge-slide__content .b-knowledge-slide__list + p:not([class]) {
  margin-top: 2rem;
}
.b-knowledge-slide__content .b-knowledge-slide__list--process + p:not([class]) {
  margin-top: 3rem;
}
.b-knowledge-slide__content .b-knowledge-slide__list--process + .b-knowledge-slide__source {
  margin-top: 3.8rem;
}
.b-knowledge-slide__content .b-knowledge-slide__list--process-repeating + p:not([class]) {
  margin-top: 4rem;
}
.b-knowledge-slide__content .b-knowledge-slide__list--process-repeating + .b-knowledge-slide__source {
  margin-top: 3.7rem;
}
.b-knowledge-slide__content .b-knowledge-slide__list--questions + p:not([class]) {
  margin-top: 3rem;
}
.b-knowledge-slide__content .b-link--external {
  background-image: url("../img/icons/arrow--up-right.svg");
}
.b-knowledge-slide__content .b-link--external, .b-knowledge-slide__content .b-link--external .a {
  color: inherit;
}
.b-knowledge-slide__content .b-resource {
  margin-top: 2.5rem;
}
.b-knowledge-slide__content .b-resource__title {
  margin-bottom: 1rem;
}
.b-knowledge-slide__content .b-resource__publisher, .b-knowledge-slide__content .b-resource__read-time, .b-knowledge-slide__content .b-resource__cost {
  margin: 0.7rem 0;
}
.b-knowledge-slide__list > ol,
.b-knowledge-slide__list > ul {
  margin-bottom: 0;
}
.b-knowledge-slide__list > ol > li:last-child,
.b-knowledge-slide__list > ul > li:last-child {
  margin-bottom: 0;
}
.b-knowledge-slide__list p:last-child {
  margin-bottom: 0;
}
.js-enabled .b-knowledge-slide[data-b-modal-slideshow-js-slide]:focus {
  outline: 0;
}
.js-wai-outline .b-knowledge-slide[data-b-modal-slideshow-js-slide]:focus {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
.js-wai-outline .b-knowledge-slide[data-b-modal-slideshow-js-slide]:focus.js-wai-no-outline {
  outline: 0;
}
.js-wai-outline .b-knowledge-slide[data-b-modal-slideshow-js-slide]:focus.js-wai-no-outline .js-wai-outline--proxy {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
@media screen and (min-width:750px) {
  .b-knowledge-slide {
    padding-top: 10rem;
  }
  .b-modal-js--present .b-knowledge-slide {
    padding-top: 0;
  }
  .b-knowledge-slide__knowledge.l-2--slide {
    margin-top: 4rem;
    margin-bottom: 3.6rem;
  }
  .b-knowledge-slide__knowledge.l-2--slide:first-child {
    margin-top: 0;
  }
  .b-modal-js--present .b-knowledge-slide__knowledge.l-2--slide {
    margin-bottom: 2.4rem;
  }
  .b-knowledge-slide__knowledge.l-2--slide > .l-2__col, .b-knowledge-slide__knowledge.l-2--slide > .l-2__col:last-child {
    margin-bottom: 0;
  }
  .b-modal-js--present .b-knowledge-slide__knowledge.l-2--slide--present-wide .b-knowledge-slide__introduction {
    margin-top: 4rem;
    margin-bottom: 0;
  }
  .b-knowledge-slide .b-modal-js__header + .l-2--slide {
    margin-top: 0;
  }
  .b-knowledge-slide__title {
    margin-top: -0.9rem;
  }
  .b-modal-js--present .b-knowledge-slide__title {
    margin-top: 0;
    margin-bottom: 0;
  }
  .b-modal-js--present .b-knowledge-slide__introduction {
    margin-top: -0.4rem;
  }
  .b-knowledge-slide__list--process, .b-knowledge-slide__list--process-repeating, .b-knowledge-slide__list--questions {
    margin-left: 1rem;
  }
  .b-modal-js--present .b-knowledge-slide__list--process ~ .b-knowledge-slide__source, .b-modal-js--present .b-knowledge-slide__list--process-repeating ~ .b-knowledge-slide__source, .b-modal-js--present .b-knowledge-slide__list--questions ~ .b-knowledge-slide__source {
    margin-left: 1rem;
  }
  .b-modal-js--present .b-knowledge-slide__list--process ~ .b-knowledge-slide__share, .b-modal-js--present .b-knowledge-slide__list--process-repeating ~ .b-knowledge-slide__share, .b-modal-js--present .b-knowledge-slide__list--questions ~ .b-knowledge-slide__share {
    margin-left: 1rem;
  }
  .b-knowledge-slide__list--process + p:not([class]) {
    margin-top: 4rem;
  }
  .b-knowledge-slide__list--questions + p:not([class]) {
    margin-top: 4rem;
  }
  .b-example-slide + .b-knowledge-slide, .b-knowledge-slide + .b-knowledge-slide {
    padding-top: 11.9rem;
  }
  .b-modal-js--present .b-example-slide + .b-knowledge-slide, .b-modal-js--present .b-knowledge-slide + .b-knowledge-slide {
    padding-top: 0;
  }
  .b-example-slide + .b-knowledge-slide .b-knowledge-slide__title, .b-knowledge-slide + .b-knowledge-slide .b-knowledge-slide__title {
    margin-top: -0.5rem;
    margin-bottom: 6.6rem;
  }
  .b-modal-js--present .b-example-slide + .b-knowledge-slide .b-knowledge-slide__title, .b-modal-js--present .b-knowledge-slide + .b-knowledge-slide .b-knowledge-slide__title {
    margin-top: 0;
    margin-bottom: 0;
  }
  .b-knowledge-slide .b-example-embed,
  .b-knowledge-slide .b-resource {
    margin-top: 0;
  }
  .b-knowledge-slide .b-resource {
    margin-bottom: 5.8rem;
    margin-left: 1rem;
  }
  .b-modal-js--present .b-knowledge-slide .b-resource {
    margin-bottom: 9.6rem;
  }
  .b-modal-js--present .b-knowledge-slide .b-resource,
  .b-modal-js--present .b-knowledge-slide .b-resource + .b-knowledge-slide__share {
    margin-left: 2rem;
  }
  .b-knowledge-slide__content .b-knowledge-slide__source {
    margin-top: 2rem;
    margin-bottom: -0.3rem;
  }
  .b-knowledge-slide__content .b-knowledge-slide__list--process + .b-knowledge-slide__source {
    margin-top: 2.9rem;
  }
  .b-knowledge-slide__content .b-knowledge-slide__list--process-repeating + .b-knowledge-slide__source {
    margin-top: 2.8rem;
  }
  .b-modal-js--present .b-knowledge-slide__content .b-knowledge-slide__list--process-repeating + .b-knowledge-slide__source {
    margin-left: 1rem;
  }
  .b-knowledge-slide__content ul:not([class]) {
    margin-top: 2.9rem;
  }
  .b-knowledge-slide__content ul:not([class]) li {
    margin: 0 0 2rem;
  }
  .b-knowledge-slide__content ul:not([class]) li:last-child {
    margin-bottom: 0;
  }
  .b-knowledge-slide__content ul.h-list--check {
    margin-top: 0;
  }
  .b-knowledge-slide__content ul.h-list--check li {
    margin-bottom: 2rem;
  }
  .b-knowledge-slide__content ul.h-list--check li:last-child {
    margin-bottom: 0;
  }
  .b-knowledge-slide__content ol.h-list--numbered {
    margin-top: 0;
  }
  .b-knowledge-slide__content ol.h-list--numbered li {
    margin-bottom: 2rem;
  }
  .b-knowledge-slide__content ol.h-list--numbered li:last-child {
    margin-bottom: 0;
  }
  .b-knowledge-slide__content p + .b-knowledge-slide__list > ul:not([class]) {
    margin-top: 0;
  }
}

.b-next-steps-and-how-to-use-the-site {
  padding-right: 2.5rem;
  padding-left: 2.5rem;
  margin: 4rem -2.5rem 0;
}
@media screen and (min-width:1024px) {
  .b-next-steps-and-how-to-use-the-site {
    padding-right: 3.375rem;
    padding-left: 3.375rem;
    margin: 6rem -3.375rem -12rem;
  }
  .b-next-steps-and-how-to-use-the-site .b-how-to-use-the-site {
    margin-bottom: 0;
  }
}
@media screen and (min-width:1024px) {
  .b-next-steps-and-how-to-use-the-site {
    padding-right: 3.625rem;
    padding-left: 3.625rem;
    margin: 6rem -3.625rem -12rem;
  }
}

.b-guide-tile {
  margin-bottom: 1rem;
}
.b-guide-tile__title a {
  display: block;
}
.b-guide-tile__title .b-tag {
  line-height: 1.5;
}
.b-guide-tile__image {
  width: 100%;
}
.b-guide-tile__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-3 .b-guide-tile {
  position: relative;
  height: 100%;
}
.b-guide-tile .l-2--guide-tile--listing__inner {
  height: 100%;
}
.b-guide-tile .l-2--guide-tile--listing__inner > .l-2__col {
  height: 100%;
}
.b-guide-tile--featured--tall {
  margin-bottom: 1rem;
}
.b-guide-tile--next-steps .b-guide-tile__title {
  margin-bottom: 0;
}
@media screen and (max-width:749px) {
  .b-guide-tile__image {
    height: 100%;
  }
}
@media screen and (min-width:750px) {
  .b-guide-tile__title .b-tag {
    line-height: 1;
  }
  .l-3--guide-tiles .b-guide-tile__title .b-tag {
    line-height: 1.1;
  }
  .b-guide-tile--featured {
    margin-bottom: 1.5rem;
  }
  .b-guide-tile--featured .b-guide-tile__image {
    height: 100%;
  }
  .b-guide-tile--featured .b-guide-tile__title {
    margin-top: 4.2rem;
    margin-bottom: 2.4rem;
  }
  .b-guide-tile--featured .b-guide-tile__teaser {
    margin-top: 2.4rem;
  }
  .b-guide-tile--featured + .p--browse-all-guides {
    margin-top: 6.2rem;
    margin-bottom: 0;
  }
  .b-guide-tile--featured--tall {
    position: relative;
    padding-bottom: 3.5rem;
    margin-bottom: 1.5rem;
  }
  .b-guide-tile--featured--tall .b-guide-tile__image {
    height: 100%;
  }
  .b-guide-tile--featured--tall .b-guide-tile__title {
    max-width: 70.6%;
    margin: 2.9rem 3.4rem 1.6rem;
  }
  .b-guide-tile--featured--tall .b-rule--narrow {
    margin: 1.5rem 3.4rem 2.2rem;
  }
  .b-guide-tile--featured--tall .b-guide-tile__teaser {
    max-width: 70.6%;
    margin: 2.1rem 3.4rem 2.9rem;
  }
  .b-guide-tile--featured--tall .b-guide-tile__strategies-link {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0 3rem 3.5rem 3.4rem;
  }
  .b-guide-tile--featured--tall .b-guide-tile__strategies-link > a {
    position: relative;
  }
  .b-guide-tile--featured--tall .b-guide-tile__strategies-link .h-icon {
    position: absolute;
    top: -0.2rem;
    right: 0;
    width: 1.2em;
    height: 1.2em;
  }
  .b-guide-tile--listing .b-guide-tile__image {
    height: 100%;
  }
  .b-guide-tile--listing .b-guide-tile__title {
    margin-top: 4rem;
  }
  .b-guide-tile--listing .b-guide-tile__teaser {
    margin-top: 4.4rem;
  }
  .b-guide-tile--listing .b-guide-tile__strategies-link {
    margin-top: 3rem;
  }
}

.b-content-reveal + .b-content-reveal {
  border-top: 0;
}
.b-content-reveal__header {
  position: relative;
  display: block;
  margin: 0;
}
.b-content-reveal__header button {
  font-size: 1.7777777778rem;
  line-height: 2.25rem;
  position: relative;
  display: inline-block;
  border-bottom: 1px solid #1f1e24;
  background-color: transparent;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 3rem;
  color: #1f1e24;
  text-align: left;
}
.b-content-reveal__header button .b-content-reveal__icon.h-icon--chevron {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.b-content-reveal__header button.is-opened .b-content-reveal__icon.h-icon--chevron {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.b-content-reveal__header button.is-opened .b-content-reveal__icon.h-icon--triangle {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.b-content-reveal__header button:hover {
  cursor: pointer;
}
.b-content-reveal__content {
  padding-bottom: 3rem;
}
.b-content-reveal__content ol {
  padding-left: 3.75rem;
}
.b-content-reveal__icon {
  width: 0.65em;
  height: 0.65em;
}
.js-enabled .b-content-reveal__icon {
  display: inline;
}
@media screen and (min-width:750px) {
  .b-content-reveal__header button {
    padding-right: 7.5rem;
  }
  .js-disabled .b-content-reveal__header {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .js-enabled .b-content-reveal__header button {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.b-tag {
  display: block;
}
.b-tag__content {
  display: inline-block;
  vertical-align: middle;
  padding: 0 1rem;
  border-radius: 1.25rem;
  color: #1f1e24;
}
.b-tag--new .b-tag__content {
  background-color: #a4e001;
}
.b-tag--popular .b-tag__content {
  background-color: #fe9500;
}
.b-tag--updated .b-tag__content {
  background-color: #fbe255;
}

.b-note-js {
  position: relative;
  padding: 3.5rem 3.25rem 1.375rem 2rem;
}
.b-note-js.h-global-margin {
  margin-top: 4.8rem;
}
.b-note-js__close {
  position: absolute;
  top: 0.65rem;
  right: 0.8rem;
  height: auto;
  padding: 1rem;
  background-color: transparent;
}
.b-note-js__close .h-icon {
  width: 0.75em;
}
.b-note-js__note:first-child {
  margin-top: 0;
}
.b-note-js__note:last-child {
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .b-note-js {
    padding-top: 1.4rem;
  }
  .b-note-js.h-global-margin {
    margin-top: 5.5rem;
  }
}

.b-guide-list-search-and-filter__fieldset {
  border-bottom: 0.125rem solid black;
}
.b-guide-list-search-and-filter__results {
  margin-bottom: 3.5rem;
}
.b-guide-list-search-and-filter__sortby .p--sort-by {
  margin: 0;
}
.b-guide-list-search-and-filter .p--large {
  margin-top: 0;
}
.b-guide-list-search-and-filter .b-search-field {
  margin-top: -0.7rem;
  margin-bottom: 3rem;
}
.b-guide-list-search-and-filter--guide {
  margin-top: 2rem;
  margin-bottom: 0;
}
.b-guide-list-search-and-filter--guide .b-guide-list-search-and-filter__filters {
  margin-top: 1.5rem;
}
.b-guide-list-search-and-filter--guide .b-guide-list-search-and-filter__filters .b-filter__label {
  padding-bottom: 0.6em;
}
.b-guide-list-search-and-filter--guide-listing {
  margin-bottom: 2.2rem;
}
.b-guide-list-search-and-filter--home {
  margin-bottom: 3.5rem;
}
.b-guide-list-search-and-filter--search--narrow {
  margin-top: 3rem;
}
.b-guide-list-search-and-filter--search--narrow .b-search-field {
  margin-top: 0;
}
@media screen and (min-width:750px) {
  .b-guide-list-search-and-filter .b-search-field {
    margin-top: 1.8rem;
    margin-bottom: 2.5rem;
  }
  .b-guide-list-search-and-filter__results {
    margin-bottom: 4rem;
  }
  .b-guide-list-search-and-filter__see-all {
    margin-bottom: 10rem;
  }
  .b-guide-list-search-and-filter--guide {
    margin-top: 1.8rem;
  }
  .b-guide-list-search-and-filter--guide .b-guide-list-search-and-filter__legend {
    display: block;
    margin-top: 1.1rem;
  }
  .b-guide-list-search-and-filter--guide .b-guide-list-search-and-filter__filters {
    margin-top: 0;
  }
  .b-guide-list-search-and-filter--guide-listing {
    margin-bottom: 5.1rem;
  }
  .b-guide-list-search-and-filter--guide-listing .b-search-field {
    margin-bottom: 7rem;
  }
  .b-guide-list-search-and-filter--home {
    margin-top: 0;
    margin-bottom: 4rem;
  }
  .b-guide-list-search-and-filter--home .b-guide-list-search-and-filter__title {
    margin-bottom: 0;
  }
  .b-guide-list-search-and-filter--home .b-search-field {
    margin-top: 1.6rem;
  }
  .b-guide-list-search-and-filter--home .p--large--home {
    margin-top: 1rem;
    margin-bottom: 7.5rem;
  }
}

.b-filter__label {
  display: block;
  padding-bottom: 0.875rem;
  border-bottom: 0.625rem solid transparent;
  color: #0099d9;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.b-filter__label.a--no-visited:visited {
  color: #0099d9;
}
.b-filter__label.a--visited {
  color: #895bc7;
}
del.b-filter__label {
  font-weight: 300;
  color: #b7b7b7;
}

.b-filter__input:focus + .b-filter__label {
  outline: 2px solid #58cdfe;
  outline-offset: 2px;
}
.b-filter__input:not([disabled]) + .b-filter__label {
  cursor: pointer;
}
.b-filter:hover .b-filter__label {
  border-bottom-color: inherit;
}
.b-filter:hover input:disabled ~ .b-filter__label {
  border-bottom-color: transparent;
}
.b-filter input:checked:not([disabled]) ~ .b-filter__label {
  border-bottom-color: inherit;
  color: black;
}
.b-filter input:checked:not([disabled]) ~ .b-filter__label.a--visited {
  color: #895bc7;
}
.b-filter input:disabled ~ .b-filter__label {
  font-weight: 300;
  color: #b7b7b7;
}
@media screen and (min-width:750px) {
  .b-filter__label {
    padding-bottom: 1.45rem;
  }
}

.b-video-js__inner {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56%;
  background-color: #1f1e24;
}
.b-video-js__iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
}
.b-video-js__trigger {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 0;
  border: 0;
  outline: none;
  margin: 0;
  text-indent: -999em;
  opacity: 1;
  cursor: pointer;
}
.b-modal-js--present .b-video-js__trigger {
  background-color: #1f1e24;
}
.b-video-js__trigger:hover .b-video-js__icon {
  color: #58cdfe;
}
.b-video-js__trigger .b-picture {
  height: 100%;
}
.b-video-js__trigger .b-picture__image {
  min-height: 100%;
}
.b-video-js__trigger .h-icon--text {
  display: none;
}
.b-video-js__poster {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
}
.b-video-js__poster img {
  display: block;
  width: 100%;
  height: 100%;
}
.b-video-js__icon {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: block;
  width: 12rem;
  height: 12rem;
  margin: auto;
  color: white;
  opacity: 1;
}
.b-video-js__transcript-icon {
  -webkit-transition: -webkit-transform 0.1s linear;
  transition: -webkit-transform 0.1s linear;
  transition: transform 0.1s linear;
  transition: transform 0.1s linear, -webkit-transform 0.1s linear;
}
.b-video-js__hideshow {
  font-size: 1.5802469136rem;
  line-height: 2rem;
  padding: 0 2rem 2rem 3rem;
  background-color: #1f1e24;
}
.b-video-js__hideshow__title {
  font-size: 1.5802469136rem;
  line-height: 2rem;
  margin: 0 0 1rem;
}
.b-video-js__hideshow__title button {
  cursor: pointer;
}
.b-video-js__hideshow .is-opened .b-video-js__transcript-icon {
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
}
.b-video-js--active .b-video-js__trigger {
  height: 0;
  opacity: 0;
}
@media screen and (min-width:320px) {
  .b-video-js__hideshow {
    font-size: 1.7777777778rem;
    line-height: 2.25rem;
  }
  .b-video-js__hideshow__title {
    font-size: 1.7777777778rem;
    line-height: 2.25rem;
  }
}
@media screen and (min-width:750px) {
  .b-modal-js--present .b-video-js__icon {
    width: 26rem;
    height: 26rem;
  }
  .b-video-js--large .b-video-js__icon {
    width: 25.375rem;
    height: 25.375rem;
  }
  .b-video-js--wide .b-video-js__icon {
    width: 21.5rem;
    height: 21.5rem;
  }
}

.b-scroll-trigger-js {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 5rem;
  height: 100%;
  -webkit-transition: opacity 0.1s ease-in-out;
  transition: opacity 0.1s ease-in-out;
  pointer-events: none;
}
.b-scroll-trigger-js__button {
  position: absolute;
  top: 48%;
  padding: 1.25rem 1.5rem;
  border: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.5rem;
  background-color: rgba(0, 153, 217, 0.8);
  opacity: 0;
  -webkit-transition: background 0.1s ease-in-out;
  transition: background 0.1s ease-in-out;
  cursor: pointer;
}
.b-scroll-trigger-js__button:focus {
  opacity: 1;
}
.b-scroll-trigger-js__icon {
  vertical-align: -0.125em;
  width: 0.95em;
  height: 0.95em;
  color: white;
}
.b-scroll-trigger-js__left {
  right: auto;
  left: 0;
}
.b-scroll-trigger-js--active {
  pointer-events: auto;
}
.b-scroll-trigger-js--active .b-scroll-trigger-js__button {
  opacity: 1;
}
.b-scroll-trigger-js--active:hover button, .b-scroll-trigger-js--active:focus button {
  background-color: #0099d9;
}
@media screen and (min-width:750px) {
  .b-scroll-trigger-js__icon {
    vertical-align: -0.2em;
  }
}

.b-text-promo__link a {
  line-height: 3rem;
}
@media screen and (min-width:750px) {
  .b-text-promo {
    margin-top: 7.1rem;
    margin-bottom: 5.2rem;
  }
  .b-text-promo__title {
    margin-top: 0.35rem;
  }
  .b-text-promo__content .h-list--numbered > li {
    margin-bottom: 2rem;
  }
  .b-text-promo__link {
    margin-top: 0.7rem;
  }
}

@media screen and (min-width:1024px) {
  .b-fill--dark-stripe .b-nav-primary .p--brand a:after {
    background: url(../img/home.svg) no-repeat;
    background-size: auto 14px;
    opacity: 0.4;
  }
}
a.navbar-burger.burger.menu-invisible {
  display: none;
}

.b-nav-primary .b-nav-primary__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1023px) {
  .b-nav-primary .b-nav-primary__logo {
    display: none;
  }
}
.b-nav-primary .b-nav-primary__brand {
  overflow: visible;
}
.b-nav-primary .l-2--header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.b-nav-primary .l-2--header > .l-2__col:last-child {
  text-align: right;
}
.b-nav-primary .b-rule {
  position: relative;
  height: 0.375rem;
}
.b-nav-primary .b-rule::after {
  position: absolute;
  right: -20px;
  left: -20px;
}
.b-nav-primary .p--brand {
  margin: 0;
}
.b-nav-primary .p--brand a {
  display: block;
  position: relative;
}
.b-nav-primary .p--brand a:after {
  position: absolute;
  width: 18px;
  height: 18px;
  background: url(../img/home-dark.svg) no-repeat;
  background-position: right center;
  background-size: auto 12px;
  content: "";
  bottom: 0;
  display: block;
  left: -22px;
}
.b-nav-primary__list {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.b-nav-primary__list__search .b-button--icon-circle--small .b-button__content {
  padding: 0.1em 0;
}
.b-nav-primary__list > li {
  margin-left: 1rem;
}
.b-nav-primary__list > li:first-child {
  margin-left: 0;
}
@media screen and (min-width:750px) {
  .b-nav-primary .p--brand a:after {
    background: url(../img/home-dark.svg) no-repeat;
    background-size: auto 14px;
    opacity: 0.9;
  }
  .b-nav-primary .l-2--header {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .b-nav-primary__logo {
    width: 22.5rem;
  }
  .b-nav-primary__list__search .b-button--icon-circle--small .b-button__content {
    position: relative;
    bottom: -0.05em;
  }
  .b-nav-primary__list > li {
    margin-left: 2rem;
  }
  .b-nav-primary__list > li:first-child {
    margin-left: 0;
  }
}
@media screen and (min-width:1024px) {
  .b-nav-primary__list > li {
    margin-left: 5rem;
  }
}

.b-introduction__title .b-tag {
  line-height: 1;
}
.b-introduction--error {
  margin-bottom: 4.5rem;
}
.b-introduction--error .b-introduction__title {
  margin-top: 5.6rem;
  margin-bottom: 4rem;
}
.b-introduction--help {
  margin-bottom: 4.375rem;
}
.b-introduction--help .b-introduction__title {
  margin-top: 5.6rem;
  margin-bottom: 5rem;
}
.b-introduction--guide {
  margin-top: 0;
  margin-bottom: 5.5rem;
}
.b-introduction--guide .b-introduction__title {
  margin-bottom: 3.75rem;
}
.b-introduction--guide .b-introduction__intro-1 {
  margin-bottom: 3.125rem;
}
.b-introduction--guide-listing .b-introduction__title {
  margin-top: 5.375rem;
  margin-bottom: 3.75rem;
}
.b-introduction--guide-listing .b-introduction__intro-1 {
  margin-bottom: 4.375rem;
}
.b-introduction--home {
  margin-top: 0;
  margin-bottom: 5.25rem;
}
.b-introduction--home .b-introduction__title {
  margin-bottom: 3rem;
}
.b-introduction--home video {
  max-width: calc(100% - 60px);
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  aspect-ratio: 570/280;
  background: #fff;
}
@media screen and (min-width:750px) {
  .b-introduction--home video {
    max-width: 100%;
  }
}
.b-introduction--home .b-introduction--tagline {
  text-align: center;
  font-size: 18px;
  color: #000;
  margin-top: 8px;
  line-height: 20px;
  padding-top: 12px;
  padding-bottom: 28px;
}
.b-introduction--home .b-introduction--tagline:before {
  width: 54px;
  height: 2px;
  background-color: #707070;
  content: "";
  margin: 0 auto;
  display: block;
  position: relative;
  top: -16px;
}
.b-introduction--home .b-introduction--home-video {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 570/280;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.b-introduction--home .video--control {
  cursor: pointer;
  width: 24px;
  border: none;
  padding: 0;
  height: 24px;
  display: block;
  position: absolute;
  top: calc(50% - 12px);
  background-color: transparent;
  right: 0;
  aspect-ratio: 570/280;
  background-image: url(../../images/pause-button.svg);
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width:750px) {
  .b-introduction--home .video--control {
    right: -30px;
  }
}
.b-introduction--home .video--control:hover, .b-introduction--home .video--control:focus {
  background-image: url(../../images/pause-button-hover.svg);
}
.b-introduction--home .video--control.is--paused {
  background-image: url(../../images/play-button.svg);
}
.b-introduction--home .video--control.is--paused:hover, .b-introduction--home .video--control.is--paused:focus {
  background-image: url(../../images/play-button.svg);
}
.b-introduction--home .p--intro {
  font-size: 2.2rem;
  line-height: 1.76;
  opacity: 0.9;
}
@media screen and (min-width:750px) {
  .b-introduction--home .p--intro {
    padding-top: 3rem;
  }
}
.b-introduction--home-inner {
  max-width: 570px;
  margin: 0 auto;
}
.b-introduction--suggestion {
  margin-bottom: 5.5rem;
}
.b-introduction--suggestion .b-introduction__title {
  margin-top: 4.5rem;
  margin-bottom: 4.25rem;
}
.b-introduction--suggestion .b-introduction__intro-1 {
  margin-bottom: 3.125rem;
}
.b-introduction--understand {
  margin-bottom: 5.5rem;
}
.b-introduction--understand .b-introduction__title {
  margin-top: 4.5rem;
  margin-bottom: 4.25rem;
}
.b-introduction--understand .b-introduction__intro-1 {
  margin-bottom: 3.125rem;
}
@media screen and (min-width:750px) {
  .b-introduction .b-introduction--tagline {
    font-size: 24px;
    margin-top: 24px;
    line-height: 28px;
    padding-top: 28px;
    padding-bottom: 16px;
  }
  .b-introduction .b-introduction--tagline:before {
    top: -40px;
  }
  .b-introduction__title .b-tag {
    line-height: 0.85;
  }
  .b-introduction--error {
    margin-bottom: 6.25rem;
  }
  .b-introduction--error .b-introduction__title {
    margin-bottom: 7.75rem;
  }
  .b-introduction--guide {
    margin-top: 5.6rem;
    margin-bottom: 0.5rem;
  }
  .b-introduction--guide .b-introduction__image {
    margin-bottom: 5.3rem;
  }
  .b-introduction--guide .b-introduction__title {
    margin-bottom: 4.25rem;
  }
  .b-introduction--guide .b-introduction__intro-1 {
    margin-top: 0;
  }
  .b-introduction--guide .b-introduction__intro-1.p--intro {
    line-height: 3.625rem;
  }
  .b-introduction--guide + .b-nav-in-page {
    margin-top: 0;
  }
  .b-introduction--guide-listing .b-introduction__title {
    margin-bottom: 4.25rem;
  }
  .b-introduction--guide-listing .b-introduction__intro-1 {
    margin-bottom: 0;
  }
  .b-introduction--guide-listing .b-introduction__intro-2 {
    margin-top: 3rem;
    margin-bottom: 2rem;
  }
  .b-introduction--guide-listing .b-introduction__intro-link {
    margin-top: 2rem;
  }
  .b-introduction--help {
    margin-bottom: 1rem;
  }
  .b-introduction--help .b-introduction__title {
    margin-bottom: -0.25rem;
  }
  .b-introduction--home {
    margin-bottom: 8.75rem;
  }
  .b-introduction--home .b-picture {
    margin-bottom: 13.125rem;
  }
  .b-introduction--home .b-introduction__title {
    margin-bottom: 0;
  }
  .b-introduction--home .b-introduction__intro-1 {
    margin-top: 0;
  }
  .b-introduction--suggestion {
    margin-top: 3.3rem;
    margin-bottom: 4.7rem;
  }
  .b-introduction--suggestion .b-introduction__title {
    margin-top: 3rem;
    margin-bottom: 6.625rem;
  }
  .b-introduction--suggestion .b-introduction__intro-1 {
    margin-top: 0;
  }
  .b-introduction--suggestion .b-introduction__intro-1.p--intro {
    line-height: 4rem;
  }
  .b-introduction--understand {
    margin-top: 3.3rem;
    margin-bottom: 4.7rem;
  }
  .b-introduction--understand .b-introduction__title {
    margin-top: 3rem;
    margin-bottom: 6.625rem;
  }
  .b-introduction--understand .b-introduction__intro-1 {
    margin-top: 0;
  }
  .b-introduction--understand .b-introduction__intro-1.p--intro {
    line-height: 4rem;
  }
}

*::-webkit-media-controls-panel {
  display: none !important;
  -webkit-appearance: none;
}

/* Old shadow dom for play button */
*::-webkit-media-controls-play-button {
  display: none !important;
  -webkit-appearance: none;
}

/* New shadow dom for play button */
/* This one works! */
*::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}

.b-rule::after {
  display: block;
  content: "";
  border-color: #1f1e24;
  border-bottom-style: solid;
  border-width: 0;
}
.b-rule--light::after {
  opacity: 0.3;
}
.b-rule--lighter::after {
  opacity: 0.1;
}
.b-rule--link::after {
  border-color: #0099d9;
}
.b-rule--narrow {
  width: 11rem;
  margin: 2rem 0;
}
.b-rule--thick::after {
  border-bottom-width: 0.375rem;
}
.b-rule--thin::after {
  border-bottom-width: 0.125rem;
}
@media screen and (min-width:750px) {
  .b-modal-js--present .b-rule--narrow {
    width: 22.5rem;
  }
  .b-rule--thick::after {
    border-bottom-width: 0.625rem;
  }
  .b-modal-js--present .b-rule--thick::after {
    border-bottom-width: 0.8rem;
  }
  .b-rule--vertical {
    position: relative;
  }
  .b-rule--vertical::after {
    display: none;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -1.75rem;
    border-right-style: solid;
    border-right-width: 0.125rem;
    opacity: 0.3;
  }
  .l-2--slide .b-rule--vertical::after {
    display: block;
  }
  .b-modal-js--present .l-2--slide .b-rule--vertical::after {
    top: 0.5rem;
    left: -2.55rem;
  }
  .l-2--slide--present-wide .b-rule--vertical::after {
    display: block;
  }
  .b-modal-js--present .l-2--slide--present-wide .b-rule--vertical::after {
    display: none;
  }
}

.b-search-result {
  padding: 0.25rem 2.5rem 3rem;
  margin-bottom: 1.7rem;
  background-color: white;
}
.b-search-result__button {
  margin-top: 2rem;
  margin-bottom: 0.5rem;
}
.b-search-result__category {
  margin-top: 2.8rem;
  margin-bottom: 0.7rem;
}
.b-search-result__description {
  margin-top: -0.2rem;
}
.b-search-result__details {
  margin-top: 1.8rem;
}
.b-search-result__expand {
  margin-top: 2rem;
  margin-bottom: 0.5rem;
}
.b-search-result__expand-target + .b-search-result__button {
  margin-top: 0.8rem;
}
.b-search-result__image {
  margin: -0.25rem -2.5rem 0;
}
.b-search-result__guide-cover {
  min-width: 20rem;
}
.b-search-result__guide-cover + .b-search-result__guide-title .b-search-result__category {
  margin-top: 1.8rem;
}
.b-search-result__match {
  margin-bottom: 0;
}
.b-search-result__title + .b-search-result__match {
  margin-top: 2.4rem;
}
.b-search-result__match__icon {
  margin-right: 0.7rem;
}
.b-search-result__match mark {
  font-weight: bold;
}
.b-search-result__meta {
  margin-top: 0;
  margin-bottom: 0.8rem;
}
.b-search-result__more-link {
  margin-top: 2.6rem;
  margin-bottom: 0;
}
.b-search-result__picture--help + .b-search-result__help-solution {
  margin-top: 2rem;
}
.b-search-result__teaser {
  margin-top: 1.2rem;
  margin-bottom: 2rem;
}
.b-search-result__title {
  margin-top: 0;
  margin-bottom: 1.2rem;
}
.b-search-result__title + .b-search-result__expand {
  margin-top: 1.1rem;
}
.b-search-result > .l-2__col > *:last-child,
.b-search-result > .l-3__col > *:last-child {
  margin-bottom: 0;
}
.b-search-result--merge {
  margin-top: -1.7rem;
}
@media screen and (min-width:750px) {
  .b-search-result {
    padding: 3.5rem 0 2.8rem;
    margin-bottom: 1.5rem;
  }
  .b-search-result__button {
    margin-bottom: 0.7rem;
  }
  .b-search-result__category {
    margin-top: 0;
    margin-right: 5rem;
    margin-left: 5rem;
  }
  .b-search-result__description {
    margin-bottom: 1.8rem;
  }
  .js-enabled .b-search-result__expand .b-content-reveal__header button {
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
  }
  .b-search-result__guide-cover + .b-search-result__guide-title .b-search-result__category {
    margin-top: -0.9rem;
    margin-bottom: 0.9rem;
  }
  .b-search-result__image {
    margin: -0.3rem 15% 0;
  }
  .b-search-result__title ~ .b-search-result__match {
    margin-top: 2.4rem;
  }
  .b-search-result__picture--help {
    margin-bottom: 3rem;
  }
  .b-search-result__teaser {
    margin-top: 3.3rem;
  }
  .b-search-result--guide .b-search-result__category {
    margin-right: 0;
    margin-left: 0;
  }
  .b-search-result--help .b-search-result__details .l-1__col {
    margin-bottom: 0;
  }
  .b-search-result--help .b-search-result__details .b-picture__image {
    width: auto;
  }
  .b-search-result--help .b-search-result__match {
    display: inline-block;
    margin-top: 0.9rem;
  }
  .b-search-result--help .b-search-result__match + .b-search-result__expand {
    display: inline-block;
    margin-top: 0.9rem;
  }
  .b-search-result--help .b-search-result__match + .b-search-result__expand::before {
    position: relative;
    top: 0.2em;
    display: inline-block;
    content: "•";
    margin-right: 0.4rem;
    margin-left: 0.2rem;
    font-size: 3rem;
    color: #b2b2b2;
  }
  .b-search-result--help .b-search-result__match + .b-search-result__expand .b-hide-show-js-expandmore {
    display: inline-block;
  }
  .b-search-result--resource .b-search-result__expand-target:not([data-hidden]) + .l-2--search--result .b-search-result__button {
    margin-top: -1.1rem;
  }
  .b-search-result--resource .b-search-result__match {
    display: inline-block;
    margin-top: 0.9rem;
  }
  .b-search-result--resource .b-search-result__match + .b-search-result__expand {
    display: inline-block;
    margin-top: 0.9rem;
  }
  .b-search-result--resource .b-search-result__match + .b-search-result__expand::before {
    position: relative;
    top: 0.2em;
    display: inline-block;
    content: "•";
    margin-right: 0.4rem;
    margin-left: 0.2rem;
    font-size: 3rem;
    color: #b2b2b2;
  }
  .b-search-result--resource .b-search-result__match + .b-search-result__expand .b-hide-show-js-expandmore {
    display: inline-block;
  }
  .b-search-result--resource .b-search-result__title {
    margin-top: -0.1rem;
  }
}

.b-nav-in-page-pinned-js {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
}
.b-nav-in-page-pinned-js.b-fill--dark-light-stripe {
  overflow: visible;
}
.b-nav-in-page-pinned-js__top__rule {
  margin-top: 0.7rem;
}
.b-nav-in-page-pinned-js__menu {
  position: relative;
}
.b-nav-in-page-pinned-js__menu__dropdown {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  padding: 1.7rem 1.875rem 1.2rem 2.5rem;
  border-bottom: 1px solid #b2b2b2;
  background-color: white;
  -webkit-box-shadow: 0 0.25rem 1rem rgba(31, 30, 36, 0.08);
          box-shadow: 0 0.25rem 1rem rgba(31, 30, 36, 0.08);
}
.b-nav-in-page-pinned-js__menu__dropdown__header__label {
  margin-top: 0;
  margin-bottom: 1.2rem;
}
.b-nav-in-page-pinned-js__menu__dropdown__header p {
  margin: 0;
}
.b-nav-in-page-pinned-js__menu__dropdown__header__inview {
  margin-right: 6rem;
}
.b-nav-in-page-pinned-js__menu__dropdown__button {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
}
.b-nav-in-page-pinned-js__menu__dropdown__button button {
  width: 100%;
  padding: 1.7rem 1.875rem 1.2rem 2.5rem;
  border-bottom: 0;
  line-height: 0;
  color: #0099d9;
  text-align: right;
}
.js-enabled .b-nav-in-page-pinned-js__menu__dropdown__button button {
  border: none;
}
.b-nav-in-page-pinned-js__menu__dropdown__button button::before {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: -0.03rem;
  font-family: Montserrat, Arial, sans-serif;
  line-height: 2.5rem;
  font-weight: 700;
  color: #1f1e24;
  content: " ";
}
.b-nav-in-page-pinned-js__menu__dropdown__button button .h-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  width: 0.9em;
  height: 0.9em;
}
.ie11 .b-nav-in-page-pinned-js__menu__dropdown__button button .h-icon.h-icon--chevron {
  background-image: url("../img/icons/chevron-blue.svg");
}
.b-nav-in-page-pinned-js__menu__dropdown__button button.is-opened .h-icon {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.b-nav-in-page-pinned-js__menu__dropdown__list {
  margin-top: 2rem;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__item {
  margin-bottom: 1.6rem;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link {
  position: relative;
  display: block;
  padding-left: 2.5rem;
  margin-right: 4rem;
  margin-left: 0;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link.b-link-icon--start {
  margin-left: 0;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link.b-link-icon--start .h-icon--arrow {
  margin-left: 0;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link:hover .b-link-icon__liner {
  border-bottom: 0.125rem solid;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link.b-nav-in-page-pinned-js--is-inview, .b-nav-in-page-pinned-js__menu__dropdown__list__link.b-nav-in-page-pinned-js--is-inview .a {
  font-weight: 700;
  color: #1f1e24;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link__icon {
  position: absolute;
  top: 0.05em;
  left: 0;
  width: 0.75em;
  margin-left: 0;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link__icon.h-icon--arrow {
  fill: #0099d9;
}
.b-nav-in-page-pinned-js__menu__dropdown__list__link__icon.h-icon--bullet {
  width: 0.5rem;
  margin-left: 0.55rem;
}
.b-nav-in-page-pinned-js__rule {
  height: 1px;
  overflow: hidden;
}
.b-nav-in-page-pinned-js .h-show--is-open {
  display: none;
}
.b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open {
  display: none;
}
.b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open {
  display: block;
}
.b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class^=l-1--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class*=" l-1--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class^=l-2--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class*=" l-2--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class^=l-3--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class*=" l-3--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class^=l-4--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open[class*=" l-4--"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width:749px) {
  .b-nav-in-page-pinned-js {
    background-color: white;
  }
  .b-nav-in-page-pinned-js.b-fill--dark-light-stripe {
    background-color: white;
  }
  .b-nav-in-page-pinned-js .b-rule.b-fill--dark-light-stripe {
    background-color: whitesmoke;
  }
  .b-nav-in-page-pinned-js > .l-outer-container {
    padding: 0;
  }
  .b-nav-in-page-pinned-js__top {
    margin: 0;
  }
  .b-nav-in-page-pinned-js__top__link {
    position: relative;
    padding: 1.7rem 5rem 1.7rem 0;
  }
  .b-nav-in-page-pinned-js__top__link.b-link-icon--end {
    margin-right: 0;
  }
  .b-nav-in-page-pinned-js__top__icon {
    position: absolute;
    top: 2rem;
    right: 0;
  }
  .b-nav-in-page-pinned-js__top__icon.b-link-icon__icon {
    width: 0.8em;
    height: 0.8em;
  }
  .b-nav-in-page-pinned-js__menu__dropdown__list {
    margin-top: 2.6rem;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide {
    display: block;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class^=l-1--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class^=l-2--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class^=l-3--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class^=l-4--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-below-wide[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open.h-hide--page-below-wide {
    display: none;
  }
}
@media screen and (min-width:750px) {
  .b-nav-in-page-pinned-js .l-2--content--guide {
    background-color: white;
  }
  .b-nav-in-page-pinned-js__icon {
    width: 0.85em;
  }
  .b-nav-in-page-pinned-js__label {
    margin-top: 2.6rem;
    margin-bottom: 2rem;
  }
  .b-nav-in-page-pinned-js .b-rule--thin {
    margin-top: 1.4rem;
  }
  .b-nav-in-page-pinned-js__menu__dropdown {
    top: 1.25rem;
    padding: 1.15rem 1.875rem 0.9rem;
    border: 1px solid #dddddd;
    border-radius: 0.25rem;
  }
  .b-nav-in-page-pinned-js__menu__dropdown__list {
    margin-top: 1.7rem;
  }
  .b-nav-in-page-pinned-js__menu__dropdown__list__item {
    margin-bottom: 1.8rem;
  }
  .l-2--page--guide .b-nav-in-page-pinned-js__rule--offset {
    position: relative;
    left: calc(50% - 29.375rem);
  }
  .b-nav-in-page-pinned-js .b-content-reveal__header button {
    padding: 1.15rem 1.875rem 0.9rem;
  }
  .b-nav-in-page-pinned-js--is-open .b-nav-in-page-pinned-js__menu__dropdown__button {
    left: auto;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up {
    display: block;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class^=l-1--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class^=l-2--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class^=l-3--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class^=l-4--], .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-hide--is-open.h-show--page-wide-and-up[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .b-nav-in-page-pinned-js--is-open.b-nav-in-page-pinned-js .h-show--is-open.h-hide--page-wide-and-up {
    display: none;
  }
  .b-nav-in-page-pinned-js--pinned .l-2--page--guide {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .b-nav-in-page-pinned-js--pinned .l-2--page--guide > .l-2__col {
    margin-bottom: 0;
  }
}

.pattern-color {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4rem;
}
.pattern-color__name {
  margin: 1rem 0 0;
  font-size: 2rem;
}
.pattern-color__item {
  -ms-flex-preferred-size: calc(100% * 0.2 - 32px * (1 - 0.2));
      flex-basis: calc(100% * 0.2 - 32px * (1 - 0.2));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.2 - 32px * (1 - 0.2));
  margin-bottom: 32px;
  margin: 1rem;
  text-align: center;
}
.pattern-color__item * {
  margin: 0 auto;
}
.pattern-color__item *:first-child {
  border: 1px solid #ddd;
}
.pattern-color__swatch {
  display: block;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
}
.pattern-color__variable {
  margin-top: -0.5rem;
  margin-bottom: 0;
  font-family: monospace;
  font-size: 1.5rem;
  line-height: 1.5;
}
.pattern-color__hex {
  margin-top: 0;
  margin-bottom: 0;
  font-family: monospace;
  font-size: 1.5rem;
  line-height: 1.5;
}

.pattern-color__item--fill-brand .pattern-color__swatch {
  background-color: #46c655;
}
.pattern-color__item--fill-brand .pattern-color__name::before {
  content: "Fill: Brand";
}
.pattern-color__item--fill-brand .pattern-color__hex::before {
  content: "hex: #46c655";
}
.pattern-color__item--fill-brand .pattern-color__variable::before {
  content: "color(fill-brand)";
}

.pattern-color__item--fill-lightest .pattern-color__swatch {
  background-color: #fff;
}
.pattern-color__item--fill-lightest .pattern-color__name::before {
  content: "Fill: Lightest";
}
.pattern-color__item--fill-lightest .pattern-color__hex::before {
  content: "hex: #fff";
}
.pattern-color__item--fill-lightest .pattern-color__variable::before {
  content: "color(fill-lightest)";
}

.pattern-color__item--fill-lighter .pattern-color__swatch {
  background-color: #f5f5f5;
}
.pattern-color__item--fill-lighter .pattern-color__name::before {
  content: "Fill: Lighter";
}
.pattern-color__item--fill-lighter .pattern-color__hex::before {
  content: "hex: #f5f5f5";
}
.pattern-color__item--fill-lighter .pattern-color__variable::before {
  content: "color(fill-lighter)";
}

.pattern-color__item--fill-light .pattern-color__swatch {
  background-color: #f2f1ec;
}
.pattern-color__item--fill-light .pattern-color__name::before {
  content: "Fill: Light";
}
.pattern-color__item--fill-light .pattern-color__hex::before {
  content: "hex: #f2f1ec";
}
.pattern-color__item--fill-light .pattern-color__variable::before {
  content: "color(fill-light)";
}

.pattern-color__item--fill-light-on-dark .pattern-color__swatch {
  background-color: #f2f1ec;
}
.pattern-color__item--fill-light-on-dark .pattern-color__name::before {
  content: "Fill: Light, on Dark";
}
.pattern-color__item--fill-light-on-dark .pattern-color__hex::before {
  content: "hex: #f2f1ec";
}
.pattern-color__item--fill-light-on-dark .pattern-color__variable::before {
  content: "color(fill-light-on-dark)";
}

.pattern-color__item--fill-mid .pattern-color__swatch {
  background-color: #ddd;
}
.pattern-color__item--fill-mid .pattern-color__name::before {
  content: "Fill: Mid";
}
.pattern-color__item--fill-mid .pattern-color__hex::before {
  content: "hex: #ddd";
}
.pattern-color__item--fill-mid .pattern-color__variable::before {
  content: "color(fill-mid)";
}

.pattern-color__item--fill-dark .pattern-color__swatch {
  background-color: #1f1e24;
}
.pattern-color__item--fill-dark .pattern-color__name::before {
  content: "Fill: Dark";
}
.pattern-color__item--fill-dark .pattern-color__hex::before {
  content: "hex: #1f1e24";
}
.pattern-color__item--fill-dark .pattern-color__variable::before {
  content: "color(fill-dark)";
}

.pattern-color__item--fill-darker .pattern-color__swatch {
  background-color: #000;
}
.pattern-color__item--fill-darker .pattern-color__name::before {
  content: "Fill: Darker";
}
.pattern-color__item--fill-darker .pattern-color__hex::before {
  content: "hex: #000";
}
.pattern-color__item--fill-darker .pattern-color__variable::before {
  content: "color(fill-darker)";
}

.pattern-color__item--fill-tag .pattern-color__swatch {
  background-color: #fbe255;
}
.pattern-color__item--fill-tag .pattern-color__name::before {
  content: "Fill: Tag";
}
.pattern-color__item--fill-tag .pattern-color__hex::before {
  content: "hex: #fbe255";
}
.pattern-color__item--fill-tag .pattern-color__variable::before {
  content: "color(fill-tag)";
}

.pattern-color__item--fill-theme1 .pattern-color__swatch {
  background-color: #f277c6;
}
.pattern-color__item--fill-theme1 .pattern-color__name::before {
  content: "Fill: Quote Theme 1";
}
.pattern-color__item--fill-theme1 .pattern-color__hex::before {
  content: "hex: #f277c6";
}
.pattern-color__item--fill-theme1 .pattern-color__variable::before {
  content: "color(fill-theme1)";
}

.pattern-color__item--fill-theme2 .pattern-color__swatch {
  background-color: #f2c835;
}
.pattern-color__item--fill-theme2 .pattern-color__name::before {
  content: "Fill: Quote Theme 2";
}
.pattern-color__item--fill-theme2 .pattern-color__hex::before {
  content: "hex: #f2c835";
}
.pattern-color__item--fill-theme2 .pattern-color__variable::before {
  content: "color(fill-theme2)";
}

.pattern-color__item--fill-theme3 .pattern-color__swatch {
  background-color: #fe9500;
}
.pattern-color__item--fill-theme3 .pattern-color__name::before {
  content: "Fill: Quote Theme 3";
}
.pattern-color__item--fill-theme3 .pattern-color__hex::before {
  content: "hex: #fe9500";
}
.pattern-color__item--fill-theme3 .pattern-color__variable::before {
  content: "color(fill-theme3)";
}

.pattern-color__item--fill-theme4 .pattern-color__swatch {
  background-color: #a4e001;
}
.pattern-color__item--fill-theme4 .pattern-color__name::before {
  content: "Fill: Quote Theme 4";
}
.pattern-color__item--fill-theme4 .pattern-color__hex::before {
  content: "hex: #a4e001";
}
.pattern-color__item--fill-theme4 .pattern-color__variable::before {
  content: "color(fill-theme4)";
}

.pattern-color__item--fill-theme5 .pattern-color__swatch {
  background-color: #b7ede4;
}
.pattern-color__item--fill-theme5 .pattern-color__name::before {
  content: "Fill: Quote Theme 5";
}
.pattern-color__item--fill-theme5 .pattern-color__hex::before {
  content: "hex: #b7ede4";
}
.pattern-color__item--fill-theme5 .pattern-color__variable::before {
  content: "color(fill-theme5)";
}

.pattern-color__item--link .pattern-color__swatch {
  background-color: #0099d9;
}
.pattern-color__item--link .pattern-color__name::before {
  content: "Link";
}
.pattern-color__item--link .pattern-color__hex::before {
  content: "hex: #0099d9";
}
.pattern-color__item--link .pattern-color__variable::before {
  content: "color(link)";
}

.pattern-color__item--link-light .pattern-color__swatch {
  background-color: #58cdfe;
}
.pattern-color__item--link-light .pattern-color__name::before {
  content: "Link (on Dark Fill)";
}
.pattern-color__item--link-light .pattern-color__hex::before {
  content: "hex: #58cdfe";
}
.pattern-color__item--link-light .pattern-color__variable::before {
  content: "color(link-light)";
}

.pattern-color__item--link-visited .pattern-color__swatch {
  background-color: #895bc7;
}
.pattern-color__item--link-visited .pattern-color__name::before {
  content: "Link: Visited";
}
.pattern-color__item--link-visited .pattern-color__hex::before {
  content: "hex: #895bc7";
}
.pattern-color__item--link-visited .pattern-color__variable::before {
  content: "color(link-visited)";
}

.pattern-color__item--link-light-visited .pattern-color__swatch {
  background-color: #ba94ed;
}
.pattern-color__item--link-light-visited .pattern-color__name::before {
  content: "Link: Light, Visited (on Dark Fill)";
}
.pattern-color__item--link-light-visited .pattern-color__hex::before {
  content: "hex: #ba94ed";
}
.pattern-color__item--link-light-visited .pattern-color__variable::before {
  content: "color(link-light-visited)";
}

.pattern-color__item--mark .pattern-color__swatch {
  background-color: #fff185;
}
.pattern-color__item--mark .pattern-color__name::before {
  content: "Highlight";
}
.pattern-color__item--mark .pattern-color__hex::before {
  content: "hex: #fff185";
}
.pattern-color__item--mark .pattern-color__variable::before {
  content: "color(mark)";
}

.pattern-color__item--outline .pattern-color__swatch {
  background-color: transparent;
}
.pattern-color__item--outline .pattern-color__name::before {
  content: "Outline";
}
.pattern-color__item--outline .pattern-color__hex::before {
  content: "hex: transparent";
}
.pattern-color__item--outline .pattern-color__variable::before {
  content: "color(outline)";
}

.pattern-color__item--print-meta .pattern-color__swatch {
  background-color: #777;
}
.pattern-color__item--print-meta .pattern-color__name::before {
  content: "Print meta";
}
.pattern-color__item--print-meta .pattern-color__hex::before {
  content: "hex: #777";
}
.pattern-color__item--print-meta .pattern-color__variable::before {
  content: "color(print-meta)";
}

.pattern-color__item--print-meta-url .pattern-color__swatch {
  background-color: #212121;
}
.pattern-color__item--print-meta-url .pattern-color__name::before {
  content: "Print meta: URL";
}
.pattern-color__item--print-meta-url .pattern-color__hex::before {
  content: "hex: #212121";
}
.pattern-color__item--print-meta-url .pattern-color__variable::before {
  content: "color(print-meta-url)";
}

.pattern-color__item--print-meta-url-fill .pattern-color__swatch {
  background-color: #ededed;
}
.pattern-color__item--print-meta-url-fill .pattern-color__name::before {
  content: "Print meta: URL fill";
}
.pattern-color__item--print-meta-url-fill .pattern-color__hex::before {
  content: "hex: #ededed";
}
.pattern-color__item--print-meta-url-fill .pattern-color__variable::before {
  content: "color(print-meta-url-fill)";
}

.pattern-color__item--rule-thin-dark .pattern-color__swatch {
  background-color: #242424;
}
.pattern-color__item--rule-thin-dark .pattern-color__name::before {
  content: "Rule: Thin + Dark";
}
.pattern-color__item--rule-thin-dark .pattern-color__hex::before {
  content: "hex: #242424";
}
.pattern-color__item--rule-thin-dark .pattern-color__variable::before {
  content: "color(rule-thin-dark)";
}

.pattern-color__item--rule-thin-light .pattern-color__swatch {
  background-color: #b2b2b2;
}
.pattern-color__item--rule-thin-light .pattern-color__name::before {
  content: "Rule: Thin + Light";
}
.pattern-color__item--rule-thin-light .pattern-color__hex::before {
  content: "hex: #b2b2b2";
}
.pattern-color__item--rule-thin-light .pattern-color__variable::before {
  content: "color(rule-thin-light)";
}

.pattern-color__item--rule-thin-lighter .pattern-color__swatch {
  background-color: #ddd;
}
.pattern-color__item--rule-thin-lighter .pattern-color__name::before {
  content: "Rule: Thin + Lighter";
}
.pattern-color__item--rule-thin-lighter .pattern-color__hex::before {
  content: "hex: #ddd";
}
.pattern-color__item--rule-thin-lighter .pattern-color__variable::before {
  content: "color(rule-thin-lighter)";
}

.pattern-color__item--success .pattern-color__swatch {
  background-color: #00a914;
}
.pattern-color__item--success .pattern-color__name::before {
  content: "Success";
}
.pattern-color__item--success .pattern-color__hex::before {
  content: "hex: #00a914";
}
.pattern-color__item--success .pattern-color__variable::before {
  content: "color(success)";
}

.pattern-color__item--type .pattern-color__swatch {
  background-color: #1f1e24;
}
.pattern-color__item--type .pattern-color__name::before {
  content: "Type";
}
.pattern-color__item--type .pattern-color__hex::before {
  content: "hex: #1f1e24";
}
.pattern-color__item--type .pattern-color__variable::before {
  content: "color(type)";
}

.pattern-color__item--type-light .pattern-color__swatch {
  background-color: #fff;
}
.pattern-color__item--type-light .pattern-color__name::before {
  content: "Type: Light";
}
.pattern-color__item--type-light .pattern-color__hex::before {
  content: "hex: #fff";
}
.pattern-color__item--type-light .pattern-color__variable::before {
  content: "color(type-light)";
}

.pattern-color__item--type-mid .pattern-color__swatch {
  background-color: #808080;
}
.pattern-color__item--type-mid .pattern-color__name::before {
  content: "Type: Mid";
}
.pattern-color__item--type-mid .pattern-color__hex::before {
  content: "hex: #808080";
}
.pattern-color__item--type-mid .pattern-color__variable::before {
  content: "color(type-mid)";
}

.pattern-color__item--type-dark .pattern-color__swatch {
  background-color: #000;
}
.pattern-color__item--type-dark .pattern-color__name::before {
  content: "Type: Dark";
}
.pattern-color__item--type-dark .pattern-color__hex::before {
  content: "hex: #000";
}
.pattern-color__item--type-dark .pattern-color__variable::before {
  content: "color(type-dark)";
}

.pattern-color__item--type-brand .pattern-color__swatch {
  background-color: #00a914;
}
.pattern-color__item--type-brand .pattern-color__name::before {
  content: "Type: Brand";
}
.pattern-color__item--type-brand .pattern-color__hex::before {
  content: "hex: #00a914";
}
.pattern-color__item--type-brand .pattern-color__variable::before {
  content: "color(type-brand)";
}

.pattern-color__item--type-disabled .pattern-color__swatch {
  background-color: #b7b7b7;
}
.pattern-color__item--type-disabled .pattern-color__name::before {
  content: "Disabled (filter)";
}
.pattern-color__item--type-disabled .pattern-color__hex::before {
  content: "hex: #b7b7b7";
}
.pattern-color__item--type-disabled .pattern-color__variable::before {
  content: "color(type-disabled)";
}

.icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4rem;
}
.icons__item {
  -ms-flex-preferred-size: calc(100% * 0.2 - 32px * (1 - 0.2));
      flex-basis: calc(100% * 0.2 - 32px * (1 - 0.2));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.2 - 32px * (1 - 0.2));
  margin-bottom: 32px;
  text-align: center;
}
.icons__item * {
  margin: 0 auto;
}
.icons__item--loading-spinner-large .h-icon, .icons__item--loading-spinner-small-white .h-icon {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-name: loading-spinner-animation;
          animation-name: loading-spinner-animation;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}
.icons__icon {
  display: block;
  width: 80px;
  height: 80px;
  border-radius: 50%;
}
.icons__icon > .h-icon {
  font-size: 80px;
}
.icons__name {
  margin: 1rem 0 0;
}
.icons__id {
  margin-top: 5px;
  margin-bottom: 0;
}
.icons__hex {
  margin-top: 0;
  margin-bottom: 0;
}

@keyframes loading-spinner-animation {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.grid-pattern .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.grid-pattern [class*=grid-] {
  padding: 10px;
  background: #eee;
  color: #222;
}
.grid-pattern .grid-1of2 {
  -ms-flex-preferred-size: calc(100% * 0.5 - 32px * (1 - 0.5));
      flex-basis: calc(100% * 0.5 - 32px * (1 - 0.5));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.5 - 32px * (1 - 0.5));
  margin-bottom: 32px;
}
.grid-pattern .grid-1of3 {
  -ms-flex-preferred-size: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
      flex-basis: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
  margin-bottom: 32px;
}
.grid-pattern .grid-1of4 {
  -ms-flex-preferred-size: calc(100% * 0.25 - 32px * (1 - 0.25));
      flex-basis: calc(100% * 0.25 - 32px * (1 - 0.25));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.25 - 32px * (1 - 0.25));
  margin-bottom: 32px;
}
.grid-pattern .grid-1of12 {
  -ms-flex-preferred-size: calc(100% * 0.0833333333 - 32px * (1 - 0.0833333333));
      flex-basis: calc(100% * 0.0833333333 - 32px * (1 - 0.0833333333));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.0833333333 - 32px * (1 - 0.0833333333));
  margin-bottom: 32px;
}

@media screen and (min-width:750px) {
  .l-1--header--content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-1--header--content > .l-1__col {
    -ms-flex-preferred-size: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
        flex-basis: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-1--header--guide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-1--header--guide > .l-1__col {
    -ms-flex-preferred-size: calc(100% * 0.625 - 32px * (1 - 0.625));
        flex-basis: calc(100% * 0.625 - 32px * (1 - 0.625));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.625 - 32px * (1 - 0.625));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-1--header--wide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-1--header--wide > .l-1__col {
    -ms-flex-preferred-size: calc(100% * 1 - 32px * (1 - 1));
        flex-basis: calc(100% * 1 - 32px * (1 - 1));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 1 - 32px * (1 - 1));
    margin-bottom: 0;
  }
}
@media screen and (min-width:1024px) {
  .l-1--page--guide--pinned {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--page--guide .l-1--page--guide--pinned {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .l-1--page--guide--pinned > .l-1__col {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 0;
  }
}
.l-1--page--narrow {
  margin-bottom: 10rem;
}
@media screen and (min-width:1024px) {
  .l-1--page--narrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-1--page--narrow > .l-1__col {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 32px;
  }
}
@media screen and (min-width:750px) {
  .l-1--search {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .l-1--search > .l-1__col {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 32px;
  }
  .b-modal-js--search .l-1--search {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width:750px) {
  .l-1--search-results-summary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .l-1--search-results-summary > .l-1__col {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-1--search--result-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-1--search--result-content > .l-1__col {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 32px;
  }
}

@media screen and (min-width:750px) {
  .l-2--content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--content > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.25 - 32px * (1 - 0.25));
        flex-basis: calc(100% * 0.25 - 32px * (1 - 0.25));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.25 - 32px * (1 - 0.25));
    margin-bottom: 32px;
  }
  .l-2--content > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 32px;
  }
}
@media screen and (min-width:750px) {
  .l-2--content--example-home {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--content--example-home > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
        flex-basis: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    margin-bottom: 0;
  }
  .l-2--content--example-home > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--content--guide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--content--guide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.375 - 32px * (1 - 0.375));
        flex-basis: calc(100% * 0.375 - 32px * (1 - 0.375));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.375 - 32px * (1 - 0.375));
    margin-bottom: 0;
  }
  .l-2--content--guide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.625 - 32px * (1 - 0.625));
        flex-basis: calc(100% * 0.625 - 32px * (1 - 0.625));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.625 - 32px * (1 - 0.625));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--filter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--filter > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
        flex-basis: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    margin-bottom: 0;
  }
  .l-2--page--guide .l-2--filter > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.375 - 32px * (1 - 0.375));
        flex-basis: calc(100% * 0.375 - 32px * (1 - 0.375));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.375 - 32px * (1 - 0.375));
    margin-bottom: 0;
  }
  .l-2--filter > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 0;
  }
  .l-2--page--guide .l-2--filter > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.625 - 32px * (1 - 0.625));
        flex-basis: calc(100% * 0.625 - 32px * (1 - 0.625));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.625 - 32px * (1 - 0.625));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-2--footer > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.5833333333 - 32px * (1 - 0.5833333333));
        flex-basis: calc(100% * 0.5833333333 - 32px * (1 - 0.5833333333));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.5833333333 - 32px * (1 - 0.5833333333));
    margin-bottom: 32px;
    margin-right: 32px;
  }
  .l-2--footer > .l-2__col:last-child:nth-child(odd), .l-2--footer > .l-2__col:last-child:nth-child(even) {
    margin-right: 32px;
  }
  .l-2--footer > .l-2__col:last-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--footer > .l-2__col:last-child:last-child {
    margin-right: 0;
  }
}
@media print {
  .l-2--footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--footer > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 32px;
  }
}
.l-2--guide-tile--featured {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--guide-tile--featured > .l-2__col:first-child {
  -ms-flex-preferred-size: calc(100% * 0.3714285714 - 0px * (1 - 0.3714285714));
      flex-basis: calc(100% * 0.3714285714 - 0px * (1 - 0.3714285714));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.3714285714 - 0px * (1 - 0.3714285714));
  margin-bottom: 0;
}
.l-2--guide-tile--featured > .l-2__col:last-child {
  -ms-flex-preferred-size: calc(100% * 0.5428571429 - 0px * (1 - 0.5428571429));
      flex-basis: calc(100% * 0.5428571429 - 0px * (1 - 0.5428571429));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.5428571429 - 0px * (1 - 0.5428571429));
  margin-bottom: 0;
  padding-right: 2rem;
}
@media screen and (min-width:750px) {
  .l-2--guide-tile--featured {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--guide-tile--featured > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.3609625668 - 0px * (1 - 0.3609625668));
        flex-basis: calc(100% * 0.3609625668 - 0px * (1 - 0.3609625668));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.3609625668 - 0px * (1 - 0.3609625668));
    margin-bottom: 0;
  }
  .l-2--guide-tile--featured > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.5989304813 - 0px * (1 - 0.5989304813));
        flex-basis: calc(100% * 0.5989304813 - 0px * (1 - 0.5989304813));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.5989304813 - 0px * (1 - 0.5989304813));
    margin-bottom: 0;
  }
}
.l-2--guide-tile--featured--next-steps {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--guide-tile--featured--next-steps > .l-2__col:first-child {
  -ms-flex-preferred-size: calc(100% * 0.3561151079 - 0px * (1 - 0.3561151079));
      flex-basis: calc(100% * 0.3561151079 - 0px * (1 - 0.3561151079));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.3561151079 - 0px * (1 - 0.3561151079));
  margin-bottom: 0;
}
.l-2--guide-tile--featured--next-steps > .l-2__col:last-child {
  -ms-flex-preferred-size: calc(100% * 0.5575539568 - 0px * (1 - 0.5575539568));
      flex-basis: calc(100% * 0.5575539568 - 0px * (1 - 0.5575539568));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.5575539568 - 0px * (1 - 0.5575539568));
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .l-2--guide-tile--featured--next-steps > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.2185430464 - 0px * (1 - 0.2185430464));
        flex-basis: calc(100% * 0.2185430464 - 0px * (1 - 0.2185430464));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.2185430464 - 0px * (1 - 0.2185430464));
    margin-bottom: 0;
  }
  .l-2--guide-tile--featured--next-steps > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.710816777 - 0px * (1 - 0.710816777));
        flex-basis: calc(100% * 0.710816777 - 0px * (1 - 0.710816777));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.710816777 - 0px * (1 - 0.710816777));
    margin-bottom: 0;
  }
}
.l-2--guide-tile--featured--tall {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--guide-tile--featured--tall > .l-2__col:first-child {
  -ms-flex-preferred-size: calc(100% * 0.3714285714 - 0px * (1 - 0.3714285714));
      flex-basis: calc(100% * 0.3714285714 - 0px * (1 - 0.3714285714));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.3714285714 - 0px * (1 - 0.3714285714));
  margin-bottom: 0;
}
.l-2--guide-tile--featured--tall > .l-2__col:last-child {
  -ms-flex-preferred-size: calc(100% * 0.5428571429 - 0px * (1 - 0.5428571429));
      flex-basis: calc(100% * 0.5428571429 - 0px * (1 - 0.5428571429));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.5428571429 - 0px * (1 - 0.5428571429));
  margin-bottom: 0;
  padding-right: 2rem;
}
@media screen and (min-width:750px) {
  .l-2--guide-tile--featured--tall {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-direction: column;
        flex-direction: column;
  }
  .l-3--guide-tiles .l-2--guide-tile--featured--tall {
    min-height: 100%;
  }
  .ie11 .l-2--guide-tile--featured--tall {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .l-2--guide-tile--featured--tall > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 1 - 0px * (1 - 1));
        flex-basis: calc(100% * 1 - 0px * (1 - 1));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 1 - 0px * (1 - 1));
    margin-bottom: 0;
    height: 46.25rem;
    max-height: 46.25rem;
  }
  .l-2--guide-tile--featured--tall > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 1 - 0px * (1 - 1));
        flex-basis: calc(100% * 1 - 0px * (1 - 1));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 1 - 0px * (1 - 1));
    margin-bottom: 0;
    padding-right: 0;
  }
  .l-2--guide-tile--featured--tall__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 100%;
    min-height: 100%;
  }
  .l-2--guide-tile--featured--tall__inner > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 1 - 0px * (1 - 1));
        flex-basis: calc(100% * 1 - 0px * (1 - 1));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 1 - 0px * (1 - 1));
    margin-bottom: 0;
  }
  .l-2--guide-tile--featured--tall__inner > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 1 - 0px * (1 - 1));
        flex-basis: calc(100% * 1 - 0px * (1 - 1));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 1 - 0px * (1 - 1));
    margin-bottom: 0;
  }
}
.l-2--guide-tile--listing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--guide-tile--listing > .l-2__col:first-child {
  -ms-flex-preferred-size: calc(100% * 1 - 0px * (1 - 1));
      flex-basis: calc(100% * 1 - 0px * (1 - 1));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 1 - 0px * (1 - 1));
  margin-bottom: 0;
}
.l-2--guide-tile--listing > .l-2__col:last-child {
  display: none;
}
.l-2--guide-tile--listing__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--guide-tile--listing__inner > .l-2__col:first-child {
  -ms-flex-preferred-size: calc(100% * 0.3714285714 - 0px * (1 - 0.3714285714));
      flex-basis: calc(100% * 0.3714285714 - 0px * (1 - 0.3714285714));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.3714285714 - 0px * (1 - 0.3714285714));
  margin-bottom: 0;
}
.l-2--guide-tile--listing__inner > .l-2__col:last-child {
  -ms-flex-preferred-size: calc(100% * 0.5428571429 - 0px * (1 - 0.5428571429));
      flex-basis: calc(100% * 0.5428571429 - 0px * (1 - 0.5428571429));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.5428571429 - 0px * (1 - 0.5428571429));
  margin-bottom: 0;
  padding-right: 2rem;
}
@media screen and (min-width:750px) {
  .l-2--guide-tile--listing {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-2--guide-tile--listing > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.5833333333 - 32px * (1 - 0.5833333333));
        flex-basis: calc(100% * 0.5833333333 - 32px * (1 - 0.5833333333));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.5833333333 - 32px * (1 - 0.5833333333));
    margin-bottom: 0;
    margin-right: 32px;
  }
  .l-2--guide-tile--listing > .l-2__col:first-child:nth-child(odd), .l-2--guide-tile--listing > .l-2__col:first-child:nth-child(even) {
    margin-right: 32px;
  }
  .l-2--guide-tile--listing > .l-2__col:first-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--guide-tile--listing > .l-2__col:first-child:last-child {
    margin-right: 0;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
        flex-basis: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    margin-bottom: 0;
    margin-right: 32px;
    display: block;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child:nth-child(odd), .l-2--guide-tile--listing > .l-2__col:last-child:nth-child(even) {
    margin-right: 32px;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child:last-child {
    margin-right: 0;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child[class^=l-1--], .l-2--guide-tile--listing > .l-2__col:last-child[class*=" l-1--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child[class^=l-2--], .l-2--guide-tile--listing > .l-2__col:last-child[class*=" l-2--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child[class^=l-3--], .l-2--guide-tile--listing > .l-2__col:last-child[class*=" l-3--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-2--guide-tile--listing > .l-2__col:last-child[class^=l-4--], .l-2--guide-tile--listing > .l-2__col:last-child[class*=" l-4--"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-2--guide-tile--listing__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--guide-tile--listing__inner > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.5053763441 - 0px * (1 - 0.5053763441));
        flex-basis: calc(100% * 0.5053763441 - 0px * (1 - 0.5053763441));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.5053763441 - 0px * (1 - 0.5053763441));
    margin-bottom: 0;
  }
  .l-2--guide-tile--listing__inner > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.400921659 - 0px * (1 - 0.400921659));
        flex-basis: calc(100% * 0.400921659 - 0px * (1 - 0.400921659));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.400921659 - 0px * (1 - 0.400921659));
    margin-bottom: 0;
    padding-right: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--intro--guide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--intro--guide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.5 - 32px * (1 - 0.5));
        flex-basis: calc(100% * 0.5 - 32px * (1 - 0.5));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.5 - 32px * (1 - 0.5));
    margin-bottom: 32px;
  }
  .l-2--intro--guide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.375 - 32px * (1 - 0.375));
        flex-basis: calc(100% * 0.375 - 32px * (1 - 0.375));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.375 - 32px * (1 - 0.375));
    margin-bottom: 32px;
  }
}
@media screen and (min-width:750px) {
  .l-2--intro--guide-listing {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--intro--guide-listing > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
        flex-basis: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    margin-bottom: 0;
  }
  .l-2--intro--guide-listing > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--intro--help {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--intro--help > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 1 - 32px * (1 - 1));
        flex-basis: calc(100% * 1 - 32px * (1 - 1));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 1 - 32px * (1 - 1));
    margin-bottom: 32px;
  }
  .l-2--intro--help > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 1 - 32px * (1 - 1));
        flex-basis: calc(100% * 1 - 32px * (1 - 1));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 1 - 32px * (1 - 1));
    margin-bottom: 32px;
  }
}
@media screen and (min-width:750px) {
  .l-2--intro--home {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--intro--home > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.5 - 32px * (1 - 0.5));
        flex-basis: calc(100% * 0.5 - 32px * (1 - 0.5));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.5 - 32px * (1 - 0.5));
    margin-bottom: 32px;
  }
  .l-2--intro--home > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
        flex-basis: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    margin-bottom: 32px;
  }
}
.l-2--intro--search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--intro--search > .l-2__col:first-child {
  -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
      flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
  margin-bottom: 32px;
}
.l-2--intro--search > .l-2__col:last-child {
  -ms-flex-preferred-size: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
      flex-basis: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
  margin-bottom: 32px;
}
@media screen and (min-width:750px) {
  .l-2--intro--suggestion {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--intro--suggestion > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.625 - 32px * (1 - 0.625));
        flex-basis: calc(100% * 0.625 - 32px * (1 - 0.625));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.625 - 32px * (1 - 0.625));
    margin-bottom: 0;
  }
  .l-2--intro--suggestion > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.375 - 32px * (1 - 0.375));
        flex-basis: calc(100% * 0.375 - 32px * (1 - 0.375));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.375 - 32px * (1 - 0.375));
    margin-bottom: 0;
    text-align: right;
  }
}
@media screen and (min-width:1024px) {
  .l-2--intro--suggestion > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.25 - 32px * (1 - 0.25));
        flex-basis: calc(100% * 0.25 - 32px * (1 - 0.25));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.25 - 32px * (1 - 0.25));
    margin-bottom: 0;
  }
}
.l-2--search--header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--search--header > .l-2__col:first-child {
  -ms-flex-preferred-size: calc(100% * 0.5833333333 - 32px * (1 - 0.5833333333));
      flex-basis: calc(100% * 0.5833333333 - 32px * (1 - 0.5833333333));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.5833333333 - 32px * (1 - 0.5833333333));
  margin-bottom: 0;
}
.l-2--search--header > .l-2__col:last-child {
  -ms-flex-preferred-size: calc(100% * 0.4166666667 - 32px * (1 - 0.4166666667));
      flex-basis: calc(100% * 0.4166666667 - 32px * (1 - 0.4166666667));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.4166666667 - 32px * (1 - 0.4166666667));
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .l-2--share-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--share-slide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.625 - 32px * (1 - 0.625));
        flex-basis: calc(100% * 0.625 - 32px * (1 - 0.625));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.625 - 32px * (1 - 0.625));
    margin-bottom: 0;
  }
  .l-2--share-slide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.375 - 32px * (1 - 0.375));
        flex-basis: calc(100% * 0.375 - 32px * (1 - 0.375));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.375 - 32px * (1 - 0.375));
    margin-bottom: 0;
    text-align: right;
  }
}
@media screen and (min-width:1024px) {
  .l-2--share-slide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.25 - 32px * (1 - 0.25));
        flex-basis: calc(100% * 0.25 - 32px * (1 - 0.25));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.25 - 32px * (1 - 0.25));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--modal--header--present {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--modal--header--present > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.9166666667 - 32px * (1 - 0.9166666667));
        flex-basis: calc(100% * 0.9166666667 - 32px * (1 - 0.9166666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.9166666667 - 32px * (1 - 0.9166666667));
    margin-bottom: 0;
  }
  .l-2--modal--header--present > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.0833333333 - 32px * (1 - 0.0833333333));
        flex-basis: calc(100% * 0.0833333333 - 32px * (1 - 0.0833333333));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.0833333333 - 32px * (1 - 0.0833333333));
    margin-bottom: 0;
    text-align: right;
  }
}
@media screen and (min-width:750px) {
  .l-2--modal--pagination--present {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--modal--pagination--present > .l-2__col {
    -ms-flex-preferred-size: calc(100% * 0.5 - 32px * (1 - 0.5));
        flex-basis: calc(100% * 0.5 - 32px * (1 - 0.5));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.5 - 32px * (1 - 0.5));
    margin-bottom: 0;
  }
  .l-2--modal--pagination--present > .l-2__col:last-child {
    text-align: right;
  }
}
.l-2--header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--header > .l-2__col:first-child {
  -ms-flex-preferred-size: calc(100% * 0.3571428571 - 0px * (1 - 0.3571428571));
      flex-basis: calc(100% * 0.3571428571 - 0px * (1 - 0.3571428571));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.3571428571 - 0px * (1 - 0.3571428571));
  margin-bottom: 0;
}
.l-2--header > .l-2__col:last-child {
  -ms-flex-preferred-size: calc(100% * 0.6428571429 - 0px * (1 - 0.6428571429));
      flex-basis: calc(100% * 0.6428571429 - 0px * (1 - 0.6428571429));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.6428571429 - 0px * (1 - 0.6428571429));
  margin-bottom: 0;
}
@media screen and (min-width:1024px) {
  .l-2--header > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.25 - 32px * (1 - 0.25));
        flex-basis: calc(100% * 0.25 - 32px * (1 - 0.25));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.25 - 32px * (1 - 0.25));
    margin-bottom: 0;
  }
  .l-2--header > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 0;
  }
}
.l-2--nav--primary--home {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--nav--primary--home > .l-2__col:first-child {
  -ms-flex-preferred-size: calc(100% * 0.5 - 32px * (1 - 0.5));
      flex-basis: calc(100% * 0.5 - 32px * (1 - 0.5));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.5 - 32px * (1 - 0.5));
  margin-bottom: 32px;
}
.l-2--nav--primary--home > .l-2__col:last-child {
  -ms-flex-preferred-size: calc(100% * 0.5 - 32px * (1 - 0.5));
      flex-basis: calc(100% * 0.5 - 32px * (1 - 0.5));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.5 - 32px * (1 - 0.5));
  margin-bottom: 32px;
}
@media screen and (min-width:750px) {
  .l-2--nav--primary--home > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.1666666667 - 32px * (1 - 0.1666666667));
        flex-basis: calc(100% * 0.1666666667 - 32px * (1 - 0.1666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.1666666667 - 32px * (1 - 0.1666666667));
    margin-bottom: 32px;
  }
  .l-2--nav--primary--home > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 32px;
  }
}
@media screen and (min-width:750px) {
  .l-2--next-steps {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-2--next-steps > .l-2__col {
    -ms-flex-preferred-size: calc(100% * 0.5 - 32px * (1 - 0.5));
        flex-basis: calc(100% * 0.5 - 32px * (1 - 0.5));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.5 - 32px * (1 - 0.5));
    margin-bottom: 0;
    margin-right: 32px;
  }
  .l-2--next-steps > .l-2__col:nth-child(odd), .l-2--next-steps > .l-2__col:nth-child(even) {
    margin-right: 32px;
  }
  .l-2--next-steps > .l-2__col:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--next-steps > .l-2__col:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width:1024px) {
  .l-2--page--guide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--page--guide > .l-2__col.l-order--1 {
    -ms-flex-preferred-size: calc(100% * 0.25 - 32px * (1 - 0.25));
        flex-basis: calc(100% * 0.25 - 32px * (1 - 0.25));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.25 - 32px * (1 - 0.25));
    margin-bottom: 32px;
  }
  .l-2--page--guide > .l-2__col.l-order--2 {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 32px;
    margin-bottom: 12rem;
  }
}
.l-2--resource {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--resource > .l-2__col:first-child {
  -ms-flex-preferred-size: calc(100% * 0.1964285714 - 0px * (1 - 0.1964285714));
      flex-basis: calc(100% * 0.1964285714 - 0px * (1 - 0.1964285714));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.1964285714 - 0px * (1 - 0.1964285714));
  margin-bottom: 0;
}
.l-2--resource > .l-2__col:last-child {
  -ms-flex-preferred-size: calc(100% * 0.7178571429 - 0px * (1 - 0.7178571429));
      flex-basis: calc(100% * 0.7178571429 - 0px * (1 - 0.7178571429));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.7178571429 - 0px * (1 - 0.7178571429));
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .l-2--resource {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--resource > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.0895721925 - 0px * (1 - 0.0895721925));
        flex-basis: calc(100% * 0.0895721925 - 0px * (1 - 0.0895721925));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.0895721925 - 0px * (1 - 0.0895721925));
    margin-bottom: 32px;
  }
  .l-2--resource > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.8475935829 - 0px * (1 - 0.8475935829));
        flex-basis: calc(100% * 0.8475935829 - 0px * (1 - 0.8475935829));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.8475935829 - 0px * (1 - 0.8475935829));
    margin-bottom: 32px;
  }
}
.l-2--resource-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--resource-content > .l-2__col:first-child, .l-2--resource-content > .l-2__col:last-child {
  -ms-flex-preferred-size: calc(100% * 1 - 0px * (1 - 1));
      flex-basis: calc(100% * 1 - 0px * (1 - 1));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 1 - 0px * (1 - 1));
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .l-2--resource-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--resource-content > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.5714285714 - 32px * (1 - 0.5714285714));
        flex-basis: calc(100% * 0.5714285714 - 32px * (1 - 0.5714285714));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.5714285714 - 32px * (1 - 0.5714285714));
    margin-bottom: 32px;
  }
  .l-2--resource-content > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.2857142857 - 32px * (1 - 0.2857142857));
        flex-basis: calc(100% * 0.2857142857 - 32px * (1 - 0.2857142857));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.2857142857 - 32px * (1 - 0.2857142857));
    margin-bottom: 32px;
  }
}
.l-2--resource--slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--resource--slide > .l-2__col:first-child {
  -ms-flex-preferred-size: calc(100% * 0.1964285714 - 0px * (1 - 0.1964285714));
      flex-basis: calc(100% * 0.1964285714 - 0px * (1 - 0.1964285714));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.1964285714 - 0px * (1 - 0.1964285714));
  margin-bottom: 0;
}
.l-2--resource--slide > .l-2__col:last-child {
  -ms-flex-preferred-size: calc(100% * 0.7178571429 - 0px * (1 - 0.7178571429));
      flex-basis: calc(100% * 0.7178571429 - 0px * (1 - 0.7178571429));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.7178571429 - 0px * (1 - 0.7178571429));
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .l-2--resource--slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--resource--slide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.1488888889 - 0px * (1 - 0.1488888889));
        flex-basis: calc(100% * 0.1488888889 - 0px * (1 - 0.1488888889));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.1488888889 - 0px * (1 - 0.1488888889));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--resource--slide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.1917808219 - 0px * (1 - 0.1917808219));
        flex-basis: calc(100% * 0.1917808219 - 0px * (1 - 0.1917808219));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.1917808219 - 0px * (1 - 0.1917808219));
    margin-bottom: 0;
  }
  .l-2--resource--slide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.7977777778 - 0px * (1 - 0.7977777778));
        flex-basis: calc(100% * 0.7977777778 - 0px * (1 - 0.7977777778));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.7977777778 - 0px * (1 - 0.7977777778));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--resource--slide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.7575342466 - 0px * (1 - 0.7575342466));
        flex-basis: calc(100% * 0.7575342466 - 0px * (1 - 0.7575342466));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.7575342466 - 0px * (1 - 0.7575342466));
    margin-bottom: 0;
  }
}
.l-2--resource--slide--large {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--resource--slide--large > .l-2__col:first-child {
  -ms-flex-preferred-size: calc(100% * 0.1964285714 - 0px * (1 - 0.1964285714));
      flex-basis: calc(100% * 0.1964285714 - 0px * (1 - 0.1964285714));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.1964285714 - 0px * (1 - 0.1964285714));
  margin-bottom: 0;
}
.l-2--resource--slide--large > .l-2__col:last-child {
  -ms-flex-preferred-size: calc(100% * 0.7178571429 - 0px * (1 - 0.7178571429));
      flex-basis: calc(100% * 0.7178571429 - 0px * (1 - 0.7178571429));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.7178571429 - 0px * (1 - 0.7178571429));
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .l-2--resource--slide--large {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--resource--slide--large > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.2079646018 - 0px * (1 - 0.2079646018));
        flex-basis: calc(100% * 0.2079646018 - 0px * (1 - 0.2079646018));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.2079646018 - 0px * (1 - 0.2079646018));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--resource--slide--large > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.3397260274 - 0px * (1 - 0.3397260274));
        flex-basis: calc(100% * 0.3397260274 - 0px * (1 - 0.3397260274));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.3397260274 - 0px * (1 - 0.3397260274));
    margin-bottom: 0;
  }
  .l-2--resource--slide--large > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.7212389381 - 0px * (1 - 0.7212389381));
        flex-basis: calc(100% * 0.7212389381 - 0px * (1 - 0.7212389381));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.7212389381 - 0px * (1 - 0.7212389381));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--resource--slide--large > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.5890410959 - 0px * (1 - 0.5890410959));
        flex-basis: calc(100% * 0.5890410959 - 0px * (1 - 0.5890410959));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.5890410959 - 0px * (1 - 0.5890410959));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--search--result {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-2--search--result > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.1713780919 - 0px * (1 - 0.1713780919));
        flex-basis: calc(100% * 0.1713780919 - 0px * (1 - 0.1713780919));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.1713780919 - 0px * (1 - 0.1713780919));
    margin-bottom: 0;
    margin-right: 0px;
    min-width: 20rem;
  }
  .l-2--search--result > .l-2__col:first-child:nth-child(odd), .l-2--search--result > .l-2__col:first-child:nth-child(even) {
    margin-right: 0px;
  }
  .l-2--search--result > .l-2__col:first-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--search--result > .l-2__col:first-child:last-child {
    margin-right: 0;
  }
  .l-2--search--result > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.75 - 32px * (1 - 0.75));
        flex-basis: calc(100% * 0.75 - 32px * (1 - 0.75));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.75 - 32px * (1 - 0.75));
    margin-bottom: 0;
    margin-right: 32px;
  }
  .l-2--search--result > .l-2__col:last-child:nth-child(odd), .l-2--search--result > .l-2__col:last-child:nth-child(even) {
    margin-right: 32px;
  }
  .l-2--search--result > .l-2__col:last-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--search--result > .l-2__col:last-child:last-child {
    margin-right: 0;
  }
}
.l-2--search--result-with-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--search--result-with-image > .l-2__col:first-child {
  -ms-flex-preferred-size: calc(100% * 0.3333333333 - 0px * (1 - 0.3333333333));
      flex-basis: calc(100% * 0.3333333333 - 0px * (1 - 0.3333333333));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.3333333333 - 0px * (1 - 0.3333333333));
  margin-bottom: 32px;
  min-width: 20rem;
}
.l-2--search--result-with-image > .l-2__col:last-child {
  -ms-flex-preferred-size: calc(100% * 0.5833333333 - 0px * (1 - 0.5833333333));
      flex-basis: calc(100% * 0.5833333333 - 0px * (1 - 0.5833333333));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.5833333333 - 0px * (1 - 0.5833333333));
  margin-bottom: 32px;
}
@media screen and (min-width:750px) {
  .l-2--search--result-with-image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-2--search--result-with-image > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.1713780919 - 0px * (1 - 0.1713780919));
        flex-basis: calc(100% * 0.1713780919 - 0px * (1 - 0.1713780919));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.1713780919 - 0px * (1 - 0.1713780919));
    margin-bottom: 0;
    margin-right: 0px;
  }
  .l-2--search--result-with-image > .l-2__col:first-child:nth-child(odd), .l-2--search--result-with-image > .l-2__col:first-child:nth-child(even) {
    margin-right: 0px;
  }
  .l-2--search--result-with-image > .l-2__col:first-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--search--result-with-image > .l-2__col:first-child:last-child {
    margin-right: 0;
  }
  .l-2--search--result-with-image > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.75 - 32px * (1 - 0.75));
        flex-basis: calc(100% * 0.75 - 32px * (1 - 0.75));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.75 - 32px * (1 - 0.75));
    margin-bottom: 0;
    margin-right: 32px;
  }
  .l-2--search--result-with-image > .l-2__col:last-child:nth-child(odd), .l-2--search--result-with-image > .l-2__col:last-child:nth-child(even) {
    margin-right: 32px;
  }
  .l-2--search--result-with-image > .l-2__col:last-child:nth-child(2n) {
    margin-right: 0;
  }
  .l-2--search--result-with-image > .l-2__col:last-child:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--slide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.375 - 32px * (1 - 0.375));
        flex-basis: calc(100% * 0.375 - 32px * (1 - 0.375));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.375 - 32px * (1 - 0.375));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--slide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
        flex-basis: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    margin-bottom: 0;
  }
  .l-2--slide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.625 - 32px * (1 - 0.625));
        flex-basis: calc(100% * 0.625 - 32px * (1 - 0.625));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.625 - 32px * (1 - 0.625));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--slide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
        flex-basis: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.6666666667 - 32px * (1 - 0.6666666667));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--slide--present-wide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--slide--present-wide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 0.375 - 32px * (1 - 0.375));
        flex-basis: calc(100% * 0.375 - 32px * (1 - 0.375));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.375 - 32px * (1 - 0.375));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--slide--present-wide > .l-2__col:first-child {
    -ms-flex-preferred-size: calc(100% * 1 - 32px * (1 - 1));
        flex-basis: calc(100% * 1 - 32px * (1 - 1));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 1 - 32px * (1 - 1));
    margin-bottom: 0;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .l-2--slide--present-wide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 0.625 - 32px * (1 - 0.625));
        flex-basis: calc(100% * 0.625 - 32px * (1 - 0.625));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.625 - 32px * (1 - 0.625));
    margin-bottom: 0;
  }
  .b-modal-js--present .l-2--slide--present-wide > .l-2__col:last-child {
    -ms-flex-preferred-size: calc(100% * 1 - 32px * (1 - 1));
        flex-basis: calc(100% * 1 - 32px * (1 - 1));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 1 - 32px * (1 - 1));
    margin-bottom: 0;
  }
}
.l-2--split {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-2--split > .l-2__col {
  -ms-flex-preferred-size: calc(100% * 0.5 - 1rem * (1 - 0.5));
      flex-basis: calc(100% * 0.5 - 1rem * (1 - 0.5));
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
  max-width: calc(100% * 0.5 - 1rem * (1 - 0.5));
  margin-bottom: 0;
}
@media screen and (min-width:750px) {
  .l-2--split--content-wide-and-up {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-2--split--content-wide-and-up > .l-2__col {
    -ms-flex-preferred-size: calc(100% * 0.5 - 1rem * (1 - 0.5));
        flex-basis: calc(100% * 0.5 - 1rem * (1 - 0.5));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.5 - 1rem * (1 - 0.5));
    margin-bottom: 0;
  }
}
@media screen and (min-width:750px) {
  .l-2--vsplit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    min-height: 100%;
  }
  .l-2--vsplit > .l-2__col {
    -ms-flex-preferred-size: calc(100% * 1 - 0 * (1 - 1));
        flex-basis: calc(100% * 1 - 0 * (1 - 1));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 1 - 0 * (1 - 1));
    margin-bottom: 0;
  }
  .l-2--vsplit > .l-2__col:last-child {
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
}

.l-4--guide-list-filters {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
.l-4--guide-list-filters > li {
  margin: 0;
}
.l-4--guide-list-filters > .l-4__col {
  margin-right: 1rem;
}
.l-4--guide-list-filters > .l-4__col.h-visuallyhidden, .l-4--guide-list-filters > .l-4__col:last-child {
  margin-right: 0;
}
@media screen and (min-width:750px) {
  .l-4--guide-list-filters {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: auto;
  }
  .l-4--guide-list-filters > .l-4__col {
    margin-right: 6rem;
  }
  .l-4--guide-list-filters > .l-4__col.h-visuallyhidden, .l-4--guide-list-filters > .l-4__col:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width:750px) and (max-width:899px) {
  .l-4--guide-list-filters {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: auto;
  }
  .l-4--guide-list-filters > .l-4__col {
    margin-right: 4rem;
  }
  .l-4--guide-list-filters > .l-4__col.h-visuallyhidden, .l-4--guide-list-filters > .l-4__col:last-child {
    margin-right: 0;
  }
}

@media screen and (min-width:750px) {
  .l-3--guide-tiles {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-3--guide-tiles > .l-3__col {
    -ms-flex-preferred-size: calc(100% * 0.3333333333 - 1.5rem * (1 - 0.3333333333));
        flex-basis: calc(100% * 0.3333333333 - 1.5rem * (1 - 0.3333333333));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.3333333333 - 1.5rem * (1 - 0.3333333333));
    margin-bottom: 1.5rem;
    margin-right: 1.5rem;
  }
  .l-3--guide-tiles > .l-3__col:nth-child(odd), .l-3--guide-tiles > .l-3__col:nth-child(even) {
    margin-right: 1.5rem;
  }
  .l-3--guide-tiles > .l-3__col:nth-child(3n) {
    margin-right: 0;
  }
  .l-3--guide-tiles > .l-3__col:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width:750px) {
  .l-3--nav--in-page {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-left: -0.5rem;
  }
  .l-3--nav--in-page > .l-3__col {
    -ms-flex-preferred-size: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
        flex-basis: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    margin-bottom: 32px;
    margin-right: 32px;
    margin-bottom: 2rem;
  }
  .l-3--nav--in-page > .l-3__col:nth-child(odd), .l-3--nav--in-page > .l-3__col:nth-child(even) {
    margin-right: 32px;
  }
  .l-3--nav--in-page > .l-3__col:nth-child(3n) {
    margin-right: 0;
  }
  .l-3--nav--in-page > .l-3__col:last-child {
    margin-right: 0;
  }
}
.b-modal-js--search .l-3--search--result {
  background-color: white;
}
@media screen and (min-width:750px) {
  .l-3--search--result {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .l-3--search--result > .l-3__col:nth-child(1) {
    -ms-flex-preferred-size: calc(100% * 0.1696113074 - 0px * (1 - 0.1696113074));
        flex-basis: calc(100% * 0.1696113074 - 0px * (1 - 0.1696113074));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.1696113074 - 0px * (1 - 0.1696113074));
    margin-bottom: 0;
    margin-right: 0px;
  }
  .l-3--search--result > .l-3__col:nth-child(1):nth-child(odd), .l-3--search--result > .l-3__col:nth-child(1):nth-child(even) {
    margin-right: 0px;
  }
  .l-3--search--result > .l-3__col:nth-child(1):nth-child(3n) {
    margin-right: 0;
  }
  .l-3--search--result > .l-3__col:nth-child(1):last-child {
    margin-right: 0;
  }
  .l-3--search--result > .l-3__col:nth-child(2) {
    -ms-flex-preferred-size: calc(100% * 0.4166666667 - 32px * (1 - 0.4166666667));
        flex-basis: calc(100% * 0.4166666667 - 32px * (1 - 0.4166666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.4166666667 - 32px * (1 - 0.4166666667));
    margin-bottom: 0;
    margin-right: 32px;
  }
  .l-3--search--result > .l-3__col:nth-child(2):nth-child(odd), .l-3--search--result > .l-3__col:nth-child(2):nth-child(even) {
    margin-right: 32px;
  }
  .l-3--search--result > .l-3__col:nth-child(2):nth-child(3n) {
    margin-right: 0;
  }
  .l-3--search--result > .l-3__col:nth-child(2):last-child {
    margin-right: 0;
  }
  .l-3--search--result > .l-3__col:nth-child(3) {
    -ms-flex-preferred-size: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
        flex-basis: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.3333333333 - 32px * (1 - 0.3333333333));
    margin-bottom: 0;
    margin-right: 32px;
  }
  .l-3--search--result > .l-3__col:nth-child(3):nth-child(odd), .l-3--search--result > .l-3__col:nth-child(3):nth-child(even) {
    margin-right: 32px;
  }
  .l-3--search--result > .l-3__col:nth-child(3):nth-child(3n) {
    margin-right: 0;
  }
  .l-3--search--result > .l-3__col:nth-child(3):last-child {
    margin-right: 0;
  }
}
@media screen and (min-width:750px) {
  .l-3--text-promo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-3--text-promo > .l-3__col:nth-child(1) {
    -ms-flex-preferred-size: calc(100% * 0.25 - 32px * (1 - 0.25));
        flex-basis: calc(100% * 0.25 - 32px * (1 - 0.25));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.25 - 32px * (1 - 0.25));
    margin-bottom: 32px;
  }
  .l-3--text-promo > .l-3__col:nth-child(2) {
    -ms-flex-preferred-size: calc(100% * 0.4166666667 - 32px * (1 - 0.4166666667));
        flex-basis: calc(100% * 0.4166666667 - 32px * (1 - 0.4166666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.4166666667 - 32px * (1 - 0.4166666667));
    margin-bottom: 32px;
  }
  .l-3--text-promo > .l-3__col:nth-child(3) {
    -ms-flex-preferred-size: calc(100% * 0.1666666667 - 32px * (1 - 0.1666666667));
        flex-basis: calc(100% * 0.1666666667 - 32px * (1 - 0.1666666667));
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%;
    max-width: calc(100% * 0.1666666667 - 32px * (1 - 0.1666666667));
    margin-bottom: 32px;
  }
}

/* 5px gap, verticial alignment */
/* stylelint-disable-next-line unit-blacklist */
.navbar-header .search-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: var(--header-height);
  width: var(--header-height);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header-search-pane {
  position: fixed;
  top: 0;
  right: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  width: calc(100vw - var(--header-height));
  height: 100vh;
  pointer-events: none;
  opacity: 0;
  background: #2C2C2C;
  z-index: 100;
  max-width: 500px;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.82, 0.085, 0.395, 0.895);
  transition: -webkit-transform 0.5s cubic-bezier(0.82, 0.085, 0.395, 0.895);
  transition: transform 0.5s cubic-bezier(0.82, 0.085, 0.395, 0.895);
  transition: transform 0.5s cubic-bezier(0.82, 0.085, 0.395, 0.895), -webkit-transform 0.5s cubic-bezier(0.82, 0.085, 0.395, 0.895);
}
.header-search-pane ol {
  margin: 0;
  padding: 0;
}
.header-search-pane .ais-Stats-text {
  color: #fff;
  padding: 20px 20px 9px 20px;
  display: block;
  font-size: 0.722rem;
  line-height: 1.3846;
}
.header-search-pane .ais-Pagination-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  list-style: none;
}
.header-search-pane .ais-Pagination-item--disabled {
  display: none;
}
.header-search-pane .ais-Pagination-link {
  color: #fff;
  margin: 2px;
  border: 1px solid #5e5e5e;
  background: #4a4a4a;
  font-weight: bold;
  padding: 3px 5px;
  border-radius: 2px;
  font-size: 0.8333rem;
  line-height: 1.3333;
}
.header-search-pane .ais-Hits-item a {
  color: #fff;
  display: block;
  padding: 9px 20px 9px 20px;
  border-bottom: 1px solid #4a4a4a;
}
.header-search-pane .ais-Hits-item a:hover, .header-search-pane .ais-Hits-item a:focus {
  text-decoration: none;
  background: rgba(255, 255, 255, 0.2);
}
.header-search-pane .ais-Hits-item .hit-name {
  font-size: 0.9rem;
  line-height: 1.5625;
  letter-spacing: -0.016rem;
  font-weight: bold;
  color: #fff;
}
.header-search-pane .ais-Hits-item .hit-description {
  color: #fff;
  font-size: 0.722rem;
  line-height: 1.3846;
}
.header-search-pane .ais-Hits-item .hit-link {
  margin: 0;
  opacity: 0.7;
  padding-bottom: 10px;
  white-space: pre;
  text-overflow: ellipsis;
  display: block;
  overflow: hidden;
  padding-top: 5px;
  font-size: 0.722rem;
  line-height: 1.3846;
}

.header-search-results-container {
  overflow-y: auto;
  height: calc(100vh - var(--header-height));
}

.header-search-input .ais-SearchBox-input {
  background: none;
  color: #fff;
  width: 100%;
  border: none;
  height: var(--header-height);
  line-height: var(--header-height);
  padding: 0 var(--header-height) 0 15px;
  border-bottom: 1px solid #5e5e5e;
  margin-bottom: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.header-search-input .ais-SearchBox-input:focus {
  outline: none;
}
.header-search-input .ais-SearchBox-submit {
  display: none;
}

.search-pane-open .header-search-pane {
  pointer-events: initial;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}
.search-pane-open .body {
  opacity: 0.2;
}

.header-search_close {
  font-size: 25px;
  line-height: var(--header-height);
  position: absolute;
  top: 0;
  right: 0;
  text-align: center;
  width: var(--header-height);
  color: #fff;
  height: var(--header-height);
}

/* clears the 'X' from Internet Explorer */
.ais-SearchBox-input[type=search]::-ms-clear,
.ais-SearchBox-input[type=search]::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}

/* clears the 'X' from Chrome */
.ais-SearchBox-input[type=search]::-webkit-search-decoration,
.ais-SearchBox-input[type=search]::-webkit-search-cancel-button,
.ais-SearchBox-input[type=search]::-webkit-search-results-button,
.ais-SearchBox-input[type=search]::-webkit-search-results-decoration {
  display: none;
}

:root {
  --header-height: 80px;
  --header-background: #fff;
  --header-text-color: #2C2C2C;
  --header-link-color: #1470E1;
  --header-icon-color: #1470E1;
  --header-link-hover-color: #1470E1;
  --header-logo-url: url("/_resources/vendor/education-nz/moe-standard-header/client/img/MOE_icon_logo_black.svg");
}
@media all and (max-width: 960px) {
  :root {
    --header-height: 60px;
  }
}

body[data-dark-header] {
  --header-background: #2C2C2C;
  --header-text-color: #fff;
  --header-link-color: #fff;
  --header-icon-color: #fff;
  --header-link-hover-color: #fff;
  --header-logo-url: url("/_resources/vendor/education-nz/moe-standard-header/client/img/MOE_icon_logo_white.svg");
}

body[data-header-static] .navbar {
  position: static;
}
body[data-header-static] .body {
  padding-top: 0;
}

/**
 * Styles for the generic MoE header.
 *
 * Note that these styles will use helper classes rather than breakpoints in
 * many cases since to allow for easier per-site changes the mobile menu can be
 * customised via HTML data attributes - e.g data-menu-mobile-breakpoint="1180"
 *
 * Other classes are applied to the <html> to indicate state
 *
 * - `search-pane-open`
 * - `menu-is-active`
 */
body,
html {
  overflow-x: hidden;
}

body {
  overscroll-behavior-y: none;
}

.nonvisual-indicator,
.visuallyhidden,
.visually-hidden,
.access,
.hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  display: block !important;
}

.navbar {
  background: var(--header-background);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 40;
  height: var(--header-height);
  -webkit-box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media all and (max-width: 960px) {
  .navbar {
    background: var(--header-background);
  }
}
.navbar > .container {
  margin: 0 0;
  max-width: 100% !important;
}
@media all and (max-width: 960px) {
  .navbar > .container {
    display: block;
  }
}
.navbar a {
  -webkit-transition: all 350ms ease-in;
  transition: all 350ms ease-in;
  color: var(--header-link-color);
}
.navbar.navbar__size_small {
  --header-height: 54px;
}

/* space for the fixed header, fades out when the menu is open */
.body {
  padding-top: var(--header-height);
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}

.navbar + div {
  margin-top: var(--header-height);
}

.navbar-brand--logo {
  background: var(--header-logo-url) left center no-repeat;
  background-size: var(--header-height) var(--header-height);
  height: var(--header-height);
  width: var(--header-height);
  margin-right: 20px;
}

.navbar-brand {
  height: var(--header-height);
  line-height: var(--header-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: left;
  font-weight: 900;
  white-space: pre;
  color: var(--header-text-color);
  letter-spacing: -0.038rem;
  text-decoration: none;
  border: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media all and (max-width: 960px) {
  .navbar-brand span {
    display: block;
    white-space: normal;
    line-height: 1;
  }
}
@media all and (max-width: 960px) {
  .navbar-brand {
    font-size: 0.94rem;
  }
}
@media all and (max-width: 560px) {
  .navbar-brand {
    font-size: 0.722rem;
  }
}
.navbar-brand:hover, .navbar-brand:focus, .navbar-brand:active {
  color: var(--header-text-color);
}

.navbar-menu--holder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.navbar-menu {
  -ms-overflow-style: none;
  /* stylelint-disable-next-line property-no-unknown */
  scrollbar-width: none;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: var(--header-height);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.navbar-menu::-webkit-scrollbar {
  width: 0 !important;
}
.navbar-menu .has-dropdown .navbar-dropdown {
  top: calc(100% + 0.25rem);
}
.navbar-menu .has-dropdown .navbar-link {
  padding-right: 1.1rem;
}
.navbar-menu .has-dropdown .is-expanded + .navbar-dropdown {
  top: calc(100% + 0.3rem);
  opacity: 1;
  pointer-events: auto;
  display: block;
}
.navbar-menu .has-dropdown:last-child {
  /* last one goes left rather than right */
}
.navbar-menu .has-dropdown:last-child .navbar-dropdown {
  left: auto;
  right: 0;
}
.navbar-menu .has-dropdown:last-child .navbar-dropdown .arrow-up {
  left: auto;
  right: 25%;
}
.navbar-menu .navbar-item,
.navbar-menu .navbar-link {
  display: block;
  line-height: 1.5;
  letter-spacing: -0.012rem;
  padding: 0.2777rem 0;
  color: var(--header-text-color);
  position: relative;
}
@media all and (min-width: 960px) {
  .navbar-menu .navbar-item,
  .navbar-menu .navbar-link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0.2777rem;
    margin-left: 0.2777rem;
  }
}
.navbar-menu .navbar-item:hover, .navbar-menu .navbar-item:focus, .navbar-menu .navbar-item:active,
.navbar-menu .navbar-link:hover,
.navbar-menu .navbar-link:focus,
.navbar-menu .navbar-link:active {
  border: none;
}
.navbar-menu a {
  text-decoration: none;
  border: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.navbar-menu .navbar-seperator {
  font-size: 0;
  width: 1px;
  overflow: hidden;
  display: inline-block;
  border-left: 1px solid #EAEAEA;
  margin: 0 0.5276222222rem;
  height: 100%;
}
.navbar-menu .navbar-seperator + a {
  font-weight: 400;
  color: var(--header-link-color);
  text-decoration: underline;
}
.navbar-menu .navbar-seperator + a:hover, .navbar-menu .navbar-seperator + a:focus {
  text-decoration: none;
}
.navbar-menu > a:first-child:hover, .navbar-menu > a:first-child:active, .navbar-menu > a:first-child:focus {
  color: var(--header-link-hover-color);
  background: none;
}
.navbar-menu > a:hover, .navbar-menu > a:active, .navbar-menu > a:focus, .navbar-menu > .navbar-item > a:hover, .navbar-menu > .navbar-item > a:active, .navbar-menu > .navbar-item > a:focus {
  color: var(--header-link-hover-color);
}
.navbar-menu li {
  list-style: none;
  padding: 0;
  margin: 0;
}
@media all and (max-width: 960px) {
  .navbar-menu {
    background: #EAEAEA;
    padding: 20px;
  }
  .navbar-menu .navbar-link {
    padding-left: 0;
    cursor: pointer;
    display: block;
  }
  .navbar-menu .navbar-link.is-active {
    background: transparent;
  }
  .navbar-menu .navbar-dropdown {
    padding-left: 0;
    padding-right: 0;
  }
}

.navbar.navbar.has-shadow {
  background-color: #f5f5f5;
  border-top: 1px solid #eaeaea;
}

.navbar-item:hover .navbar-link {
  background: transparent !important;
}

.navbar-link {
  padding: 0.5rem;
}
.navbar-link:hover, .navbar-link:focus {
  background: transparent !important;
}
.navbar-link .navbar-toggle-children {
  width: 1rem;
  height: 0.4rem;
  display: block;
  cursor: pointer;
  position: absolute;
  top: calc(50% - 0.3rem);
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.navbar-link .navbar-toggle-children:after {
  border-right: 0;
  border-top: 0;
  display: block;
  height: 0.4rem;
  width: 0.4rem;
  pointer-events: none;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  content: "";
  border: 2px solid #1470E1;
  border-right: 0;
  border-top: 0;
}
@media all and (max-width: 960px) {
  .navbar-link .navbar-toggle-children:after {
    right: 5px;
  }
}
.navbar-link.is-expanded .navbar-toggle-children {
  top: calc(50% - 0.1rem);
}
.navbar-link.is-expanded .navbar-toggle-children:after {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  top: 2px;
}

.navbar-end {
  margin-left: 0;
  font-size: 0.833rem;
  font-weight: 600;
}

/* dropdown menu */
.navbar-dropdown {
  padding: 0.5554rem;
  border-radius: 0.25rem;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  top: calc(100% - 0.25rem);
  max-width: 320px;
  display: block;
  opacity: 0;
  pointer-events: none;
  background-color: white;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
          box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
  left: 0;
  min-width: 100%;
  position: absolute;
  top: 100%;
  z-index: 20;
  min-width: 140px;
  font-size: 0.8333rem;
  line-height: 1.3333;
}
.navbar-dropdown hr {
  display: inline-block;
  border: none;
  border-bottom: 1px solid #eaeaea;
  margin: 0.25rem 0 0.5rem 0.5rem;
  background: none;
}
.navbar-dropdown a {
  color: var(--header-text-color);
}
.navbar-dropdown .arrow-up {
  width: 1rem;
  height: 1rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  border-right: 0;
  border-bottom: 0;
  border-top: 2px solid rgba(234, 234, 234, 0.5);
  border-left: 2px solid rgba(234, 234, 234, 0.5);
  position: absolute;
  top: -0.55rem;
  background: #fff;
  left: 25%;
}
.navbar-dropdown .navbar-dropdown-col ol {
  padding: 0;
  margin: 0;
}
.navbar-dropdown .navbar-dropdown-link {
  padding: 0.5554rem 0.5rem;
  white-space: nowrap;
  display: block;
  font-weight: 400;
  -webkit-transition: 0.2s all ease-out;
  transition: 0.2s all ease-out;
  border-radius: 2px;
  font-size: 0.8333rem;
  line-height: 1.3333;
}
.navbar-dropdown .navbar-dropdown-link:hover, .navbar-dropdown .navbar-dropdown-link:focus, .navbar-dropdown .navbar-dropdown-link:active {
  border: none;
  background-color: #FAFAFA;
  color: #1470E1;
}
@media all and (max-width: 960px) {
  .navbar-dropdown .navbar-dropdown-link {
    font-size: 0.722rem;
    line-height: 1.3846;
  }
  .navbar-dropdown .navbar-dropdown-link:hover, .navbar-dropdown .navbar-dropdown-link:focus, .navbar-dropdown .navbar-dropdown-link:active {
    background-color: transparent;
  }
}
.navbar-dropdown > .navbar-item {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  font-weight: 400;
}
.navbar-dropdown > .navbar-item.is-active {
  color: #2C2C2C;
  font-weight: 700;
}
.navbar-dropdown > .navbar-item:hover, .navbar-dropdown > .navbar-item:focus, .navbar-dropdown > .navbar-item:active {
  border: none;
  color: #1470E1;
}

.navbar-item {
  padding: 0;
  color: #2C2C2C;
  font-size: 0.833rem;
}
@media all and (max-width: 960px) {
  .navbar-item.has-dropdown {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media all and (max-width: 960px) {
  .navbar-item.is-active {
    background: transparent;
  }
}
.navbar-item.is-expanded + .navbar-dropdown {
  display: block !important;
}
.navbar-item.is-expanded > .navbar-toggle-children::after {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  top: calc(1.75rem + 5px);
}
.navbar-item > a {
  color: #2C2C2C;
  text-decoration: none;
}
@media all and (min-width: 960px) {
  .navbar-item > a:hover, .navbar-item > a:active, .navbar-item > a:focus {
    color: #1470E1;
    background: none;
  }
}

.navbar-item img {
  max-height: none;
}

.navbar-header__no-search .navbar-menu {
  padding-right: 20px;
}

/* hamburger */
.navbar-burger {
  cursor: pointer;
  height: var(--header-height);
  position: relative;
  width: 50px;
  margin-left: auto;
  color: var(--header-icon-color);
}
.navbar-burger span {
  background-color: currentColor;
  display: block;
  height: 3px;
  left: 50%;
  margin-left: -10px;
  position: absolute;
  border-radius: 2px;
  color: var(--header-icon-color);
  top: 50%;
  -webkit-transition: none 86ms ease-out;
  transition: none 86ms ease-out;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  width: 20px;
}
.navbar-burger span:nth-of-type(1) {
  margin-top: -8px;
}
.navbar-burger span:nth-of-type(2) {
  margin-top: -1px;
}
.navbar-burger span:nth-of-type(3) {
  margin-top: 6px;
}

/* Menu exists, but should not be open quite yet */
.menu-offscreen-ready .navbar-menu {
  -webkit-transform: translateX(100vw);
          transform: translateX(100vw);
  opacity: 0;
  position: fixed;
  -webkit-transition: opacity 0.2s ease-in, -webkit-transform 0.4s ease-out;
  transition: opacity 0.2s ease-in, -webkit-transform 0.4s ease-out;
  transition: opacity 0.2s ease-in, transform 0.4s ease-out;
  transition: opacity 0.2s ease-in, transform 0.4s ease-out, -webkit-transform 0.4s ease-out;
}

/* Prep mobile menu */
.menu-load {
  /* dropdowns inside the menu are not actually dropdowns */
  /* mobile menu show children */
  /* hamburger */
}
.menu-load .navbar-menu {
  background: #FFF;
  position: fixed;
  top: var(--header-height);
  display: block;
  height: calc(100vh - var(--header-height));
  margin: 0;
  padding: 1.1108rem 1.1108rem 80px 1.1108rem;
  -webkit-box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
  pointer-events: none;
  width: calc(100% - var(--header-height));
  overflow-y: scroll;
  left: var(--header-height);
  opacity: 1;
  pointer-events: auto;
}
@media all and (max-width: 960px) {
  .menu-load .navbar-menu {
    width: 100%;
    left: 0;
    padding: 1.1108rem 1.1108rem calc(var(--header-height) + 20px);
  }
}
.menu-load .navbar-menu .navbar-link {
  padding-left: 0;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.menu-load .navbar-item.has-dropdown {
  padding-top: 0;
  padding-bottom: 0;
  display: block;
}
.menu-load .navbar-link,
.menu-load .navbar-item {
  color: #2C2C2C;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  opacity: 0;
  line-height: 2.2216rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.menu-load .navbar-link.has-dropdown,
.menu-load .navbar-item.has-dropdown {
  display: block;
}
.menu-load .navbar-dropdown-link {
  color: #050505;
}
.menu-load .navbar-toggle-children {
  margin-left: 5px;
  position: relative;
}
.menu-load .arrow-up {
  display: none;
}
.menu-load .navbar-dropdown {
  background: transparent;
  border-radius: 0;
  position: relative;
  display: none;
  padding-top: 0;
  padding-left: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
  max-width: none;
  font-size: 0.8333rem;
  line-height: 1.3333;
}
.menu-load .navbar-dropdown:hover, .menu-load .navbar-dropdown:focus, .menu-load .navbar-dropdown:active {
  background-color: transparent;
}
.menu-load .navbar-dropdown a:hover, .menu-load .navbar-dropdown a:focus {
  background: transparent;
}
.menu-load .is-expanded .navbar-toggle-children:after {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  top: calc(50% - 0.2rem);
}
.menu-load .is-expanded + .navbar-dropdown {
  display: block;
}
.menu-load .navbar-menu--holder .navbar-burger span:nth-of-type(1) {
  margin-top: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.menu-load .navbar-menu--holder .navbar-burger span:nth-of-type(2) {
  opacity: 0;
}
.menu-load .navbar-menu--holder .navbar-burger span:nth-of-type(3) {
  margin-top: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

/* Menu is open! */
.menu-is-active {
  overflow-y: hidden;
}
.menu-is-active .navbar-menu {
  opacity: 1;
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
}
.menu-is-active .body {
  opacity: 0.2;
}
.menu-is-active .navbar-link,
.menu-is-active .navbar-item {
  opacity: 1;
}

/**
 * Menu is not active, but any items which are too long should now be hidden
 */
html:not(.menu-is-active) .menu-invisible {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  display: block;
}
html:not(.menu-is-active) .menu-invisible.navbar-burger {
  position: relative;
}

.navbar-items__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.navbar-items__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media all and (max-width: 960px) {
  .navbar-menu--linksonly {
    display: none;
  }
}
body,
html {
  overflow-x: unset;
}

.navbar-brand {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 800;
  font-size: 16px;
}

.navbar-brand--logo {
  background: var(--header-logo-url) left center no-repeat;
  margin-right: 0;
  border: 2rem solid transparent;
}
@media (max-width: 961px) {
  .navbar-brand--logo {
    border: 1.5rem solid transparent;
  }
}

.navbar-menu a {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
  font-size: 14px;
  -webkit-transition: none;
  transition: none;
}
.navbar-menu a:after {
  content: "";
  display: block;
  width: 12px;
  height: 16px;
  margin-right: 8px;
  color: #fff;
  margin-left: 4px;
  background-image: url("../../images/external-link.svg");
  background-size: 12px auto;
  background-repeat: no-repeat;
  background-position: center center;
}
.navbar-menu a:hover, .navbar-menu a:focus {
  color: #1470E1;
}
.navbar-menu a:hover:after, .navbar-menu a:focus:after {
  background-image: url("../../images/external-link-blue.svg");
}

.navbar + div {
  margin-top: 0;
}

[data-classname=InclusiveHomepage] .navbar {
  -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2);
          box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2);
  background-color: #26252a;
}
[data-classname=InclusiveHomepage] .b-nav-primary__brand {
  display: none;
}
[data-classname=InclusiveHomepage] .b-nav-primary .b-rule {
  display: none !important;
}

<<<<<<< HEAD
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2Rpc3Qvc3R5bGUuY3NzIiwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjtBQUVBOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDRTtFQUFtQjtFQUNuQjtFQUFnQztBRENsQzs7QUNFQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRTtBRERGOztBQ0lBOztFQUFBO0FBSUE7RUFDRTtBREZGOztBQ0tBOzs7RUFBQTtBQUtBO0VBQ0U7RUFDQTtBREhGOztBQ01BOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDRTtVQUFBO0VBQXlCO0VBQ3pCO0VBQVc7RUFDWDtFQUFtQjtBREZyQjs7QUNLQTs7O0VBQUE7QUFLQTtFQUNFO0VBQW1DO0VBQ25DO0VBQWdCO0FERGxCOztBQ0lBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFO0FESEY7O0FDTUE7OztFQUFBO0FBS0E7RUFDRTtFQUFxQjtFQUNyQjtFQUE0QjtFQUM1QjtVQUFBO0VBQW1DO0FERHJDOztBQ0lBOztFQUFBO0FBSUE7O0VBRUU7QURGRjs7QUNLQTs7O0VBQUE7QUFLQTs7O0VBR0U7RUFBbUM7RUFDbkM7RUFBZ0I7QUREbEI7O0FDSUE7O0VBQUE7QUFJQTtFQUNFO0FERkY7O0FDS0E7OztFQUFBO0FBS0E7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7QURIRjs7QUNNQTtFQUNFO0FESEY7O0FDTUE7RUFDRTtBREhGOztBQ01BOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFO0FETEY7O0FDUUE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTs7Ozs7RUFLRTtFQUFzQjtFQUN0QjtFQUFpQjtFQUNqQjtFQUFtQjtFQUNuQjtFQUFXO0FESGI7O0FDTUE7OztFQUFBO0FBS0E7O0VBQ1E7RUFDTjtBREhGOztBQ01BOzs7RUFBQTtBQUtBOztFQUNTO0VBQ1A7QURIRjs7QUNNQTs7RUFBQTtBQUlBOzs7O0VBSUU7QURKRjs7QUNPQTs7RUFBQTtBQUlBOzs7O0VBSUU7RUFDQTtBRExGOztBQ1FBOztFQUFBO0FBSUE7Ozs7RUFJRTtBRE5GOztBQ1NBOztFQUFBO0FBSUE7RUFDRTtBRFBGOztBQ1VBOzs7OztFQUFBO0FBT0E7RUFDRTtVQUFBO0VBQXdCO0VBQ3hCO0VBQWdCO0VBQ2hCO0VBQWdCO0VBQ2hCO0VBQWlCO0VBQ2pCO0VBQVk7RUFDWjtFQUFxQjtBREZ2Qjs7QUNLQTs7RUFBQTtBQUlBO0VBQ0U7QURIRjs7QUNNQTs7RUFBQTtBQUlBO0VBQ0U7QURKRjs7QUNPQTs7O0VBQUE7QUFLQTs7RUFFRTtVQUFBO0VBQXdCO0VBQ3hCO0VBQVk7QURIZDs7QUNNQTs7RUFBQTtBQUlBOztFQUVFO0FESkY7O0FDT0E7OztFQUFBO0FBS0E7RUFDRTtFQUErQjtFQUMvQjtFQUFzQjtBREh4Qjs7QUNNQTs7RUFBQTtBQUlBO0VBQ0U7QURKRjs7QUNPQTs7O0VBQUE7QUFLQTtFQUNFO0VBQTRCO0VBQzVCO0VBQWU7QURIakI7O0FDTUE7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0U7QURMRjs7QUNRQTs7RUFBQTtBQUlBO0VBQ0U7QURORjs7QUNTQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRTtBRFJGOztBQ1dBOztFQUFBO0FBSUE7RUFDRTtBRFRGOztBRW5PRTtFQUNFO0VBS0U7RUFFRjtFQUNBO0FGaU9KO0FFMU9FO0VBQ0U7RUFLRTtFQUVGO0VBQ0E7QUZ1T0o7QUVoUEU7RUFDRTtFQUtFO0VBRUY7RUFDQTtBRjZPSjtBRXRQRTtFQUNFO0VBR0U7RUFJRjtFQUNBO0FGbVBKO0FFNVBFO0VBQ0U7RUFLRTtFQUVGO0VBQ0E7QUZ5UEo7QUVsUUU7RUFDRTtFQUtFO0VBRUY7RUFDQTtBRitQSjtBRXhRRTtFQUNFO0VBS0U7RUFFRjtFQUNBO0FGcVFKO0FFOVFFO0VBQ0U7RUFLRTtFQUVGO0VBQ0E7QUYyUUo7QUVyUUU7RUFDRSwwQ0E1Q2E7RUE2Q2I7QUZ1UUo7O0FFelFFO0VBQ0UsMENBNUNhO0VBNkNiO0FGNFFKOztBRTlRRTtFQUNFLDBDQTVDYTtFQTZDYjtBRmlSSjs7QUVuUkU7RUFDRSwwQ0E1Q2E7RUE2Q2I7QUZzUko7O0FFeFJFO0VBQ0UsMENBNUNhO0VBNkNiO0FGMlJKOztBRTdSRTtFQUNFLDBDQTVDYTtFQTZDYjtBRmdTSjs7QUVsU0U7RUFDRSwwQ0E1Q2E7RUE2Q2I7QUZxU0o7O0FFdlNFO0VBQ0UsMENBNUNhO0VBNkNiO0FGMFNKOztBRWpTRTtFQUNFO0VBS0U7RUFFRjtFQU1BO0FGMFJKO0FFeFNFO0VBQ0U7RUFLRTtFQUVGO0VBTUE7QUZnU0o7QUU5U0U7RUFDRTtFQUtFO0VBRUY7RUFNQTtBRnNTSjtBRXBURTtFQUNFO0VBR0U7RUFJRjtFQU1BO0FGNFNKO0FFMVRFO0VBQ0U7RUFLRTtFQUVGO0VBTUE7QUZrVEo7QUVoVUU7RUFDRTtFQUtFO0VBRUY7RUFNQTtBRndUSjtBRXRVRTtFQUNFO0VBS0U7RUFFRjtFQU1BO0FGOFRKO0FFNVVFO0VBQ0U7RUFLRTtFQUVGO0VBTUE7QUZvVUo7QUU5VEU7RUFDRSwwQ0EzRWE7RUE0RWI7RUFDQTtBRmdVSjs7QUVuVUU7RUFDRSwwQ0EzRWE7RUE0RWI7RUFDQTtBRnNVSjs7QUVuVEU7RUFDRTtFQUtFO0VBRUY7RUFDQTtBRmlUSjtBRTFURTtFQUNFO0VBR0U7RUFJRjtFQUNBO0FGdVRKO0FFaFVFO0VBQ0U7RUFLRTtFQUVGO0VBQ0E7QUY2VEo7QUV0VUU7RUFDRTtFQUtFO0VBRUY7RUFDQTtBRm1VSjtBRTVVRTtFQUNFO0VBS0U7RUFFRjtFQUNBO0FGeVVKO0FFblVFO0VBQ0UsbUNBOUdlO0VBK0dmO0FGcVVKOztBRXZVRTtFQUNFLG1DQTlHZTtFQStHZjtBRjBVSjs7QUU1VUU7RUFDRSxtQ0E5R2U7RUErR2Y7QUYrVUo7O0FFalZFO0VBQ0UsbUNBOUdlO0VBK0dmO0FGb1ZKOztBRXRWRTtFQUNFLG1DQTlHZTtFQStHZjtBRnlWSjs7QUcxaEJFOztFQUVFO0VBQ0E7QUg2aEJKOztBR2xoQkU7Ozs7Ozs7O0VBUUU7QUhxaEJKO0FHbmhCSTs7Ozs7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUg0aEJOO0FHdmhCSTtFQUNFO0FIeWhCTjtBR3JoQk07RUFDRTtBSHVoQlI7QUdqaEJJO0VBQ0U7QUhtaEJOO0FHL2dCTTtFQUNFO0FIaWhCUjtBRzNnQkk7RUFDRTtBSDZnQk47QUd6Z0JNO0VBQ0U7QUgyZ0JSO0FHcmdCSTtFQUNFO0FIdWdCTjtBR25nQk07RUFDRTtBSHFnQlI7QUcvZkk7RUFDRTtBSGlnQk47QUc3Zk07RUFDRTtBSCtmUjtBR3pmSTtFQUNFO0FIMmZOO0FHdmZNO0VBQ0U7QUh5ZlI7QUduZkk7RUFDRTtBSHFmTjtBR2pmTTtFQUNFO0FIbWZSO0FHN2VJO0VBQ0U7QUgrZU47QUczZU07RUFDRTtBSDZlUjs7QUlobUJBO0VBRUU7RUFHQTtFQUNBO0VBR0E7RUFHQTtBSjRsQkY7QUkxbEJFO0VBS0U7QUp3bEJKO0FJcmxCRTtFQTlCQTtVQUFBO0FKc25CRjtBSXBsQkU7RUFsQ0E7VUFBQTtBSnluQkY7QUlubEJFO0VBdENBO1VBQUE7QUo0bkJGO0FJamxCSTtFQUNFO0FKbWxCTjtBSWhsQkk7RUFDRTtBSmtsQk47QUkva0JJO0VBbkRGO1VBQUE7QUpxb0JGO0FJOWtCSTtFQXZERjtVQUFBO0FKd29CRjtBSTdrQkk7RUEzREY7VUFBQTtBSjJvQkY7QUk1a0JJO0VBL0RGO1VBQUE7QUo4b0JGO0FJeGtCSTtFQXRFRjtVQUFBO0FKaXBCRjtBSXRrQkU7RUFFRTtVQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0FKdWtCSjs7QUlua0JBO0VBQ0U7SUFyRkE7WUFBQTtFSjRwQkE7QUFDRjs7QUl6a0JBO0VBQ0U7SUFyRkE7WUFBQTtFSjRwQkE7QUFDRjtBS2prQkE7RUF4Q0U7QUw0bUJGO0FLem1CSTtFQUVFO0VBQUE7RUFBQTtBTDBtQk47QUs1bUJJO0VBRUU7RUFBQTtFQUFBO0FMNm1CTjtBSy9tQkk7RUFFRTtFQUFBO0VBQUE7QUxnbkJOO0FLbG5CSTtFQUVFO0VBQUE7RUFBQTtBTG1uQk47O0FLNWtCQTtFQWhFSTtFQUVBO0FMK29CSjs7QUtya0JBO0VBL0RFO0FMd29CRjtB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cHJDRTtFUnpHRTtFQUNBO0VBbUJBLGdDQUZxQjtFUTBGckI7QVZ3ckNKO0FVcHJDRTtFQUNFLDBDUnJGYTtFUXNGYjtFQUNBO0VBQ0E7QVZzckNKOztBVTVxQ0U7RVI5SEU7RUFDQTtFQW1CQSw4QkFGcUI7RVErR3JCO0FWZ3JDSjtBVTVxQ0U7RVJySUU7RUFDQTtFQW1CQSwyQkFGcUI7RVFzSHJCLDBDUjVHYTtFUTZHYjtFQUNBO0FWK3FDSjtBVTNxQ0U7RVI5SUU7RUFDQTtFQW1CQSxnQ0FGcUI7RVErSHJCLG1DUm5IZTtFUW9IZjtBVjhxQ0o7QVU1cUNJO0VBQ0U7RUFDQSwwQ1IxSFc7RVEySFg7QVY4cUNOO0FVMXFDSTtFQUNFO0FWNHFDTjtBVTFxQ007RUFFRSxtQ1JsSVc7QUY2eUNuQjtBVXJxQ0U7RVJ0S0U7RUFDQTtFQW1CQSx3QkFGcUI7RVF1SnJCO0VBQ0E7RUFDQTtBVndxQ0o7QVVwcUNFO0VSL0tFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRZ0tyQjtBVnVxQ0o7QVVucUNFO0VSdExFO0VBQ0E7RUFtQkEsMkJBRnFCO0VRdUtyQiwwQ1I3SmE7RVE4SmI7QVZzcUNKO0FVbHFDRTtFUjlMRTtFQUNBO0VBbUJBLGdDQUZxQjtFUStLckI7QVZxcUNKOztBVTNwQ0U7RVIzTUU7RUFDQTtFUTRNQTtBVitwQ0o7QVUzcENFO0VSak5FO0VBQ0E7RUFtQkEsOEJBRnFCO0VRa01yQjtFQUNBO0FWOHBDSjtBVTFwQ0U7RVJ6TkU7RUFDQTtFQW1CQSxnQ0FGcUI7RVEwTXJCLG1DUjlMZTtFUStMZjtFQUNBO0FWNnBDSjtBVTNwQ0k7RUFFRSxtQ1JwTWE7QUZnMkNuQjtBVXZwQ0U7RVJ2T0U7RUFDQTtFQW1CQSw4QkFGcUI7RVF3TnJCO0VBQ0E7QVYwcENKO0FNcjZDRTtFSThRSTtJUjlPRjtJQUNBO0lBbUJBLGdDQUZxQjtFRnkzQ3ZCO0FBQ0Y7QVV0cENFO0VSdFBFO0VBQ0E7RUFtQkEsOEJBRnFCO0VRdU9yQjtFQUNBO0FWeXBDSjtBVXJwQ0U7RVI5UEU7RUFDQTtFQW1CQSxnQ0FGcUI7RVErT3JCLDBDUnJPYTtFUXNPYjtBVndwQ0o7QVVwcENFO0VSdFFFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRdVByQiwwQ1I3T2E7RVE4T2I7QVZ1cENKO0FNajhDRTtFSThTQTtJUjlRRTtJQUNBO0lBbUJBLGdDQUZxQjtJUWdRbkI7RVZzcENKO0FBQ0Y7QVVqcENFO0VSeFJFO0VBQ0E7RUFtQkEsOEJBRnFCO0VReVFyQjtFQUNBO0FWb3BDSjtBVWhwQ0U7RVJoU0U7RUFDQTtFQW1CQSwyQkFGcUI7RVFpUnJCO0VBQ0E7QVZtcENKOztBVXpvQ0U7RUFDRTtBVjRvQ0o7QVV4b0NFO0VSblRFO0VBQ0E7RUFtQkEsd0JBRnFCO0VRb1NyQjtFQUNBO0FWMm9DSjtBVXZvQ0U7RVIzVEU7RUFDQTtFQW1CQSwyQkFGcUI7RVE0U3JCO0FWMG9DSjs7QVVob0NFO0VSeFVFO0VBQ0E7RUFtQkEsOEJBRnFCO0VReVRyQjtFQUNBO0FWb29DSjtBVWxvQ0k7RUFDRTtBVm9vQ047QVUvbkNFO0VScFZFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRcVVyQjtBVmtvQ0o7QVVob0NJO0VBQ0U7QVZrb0NOOztBVXRuQ0U7RUFDRTtBVnluQ0o7QVVybkNFO0VBQ0U7QVZ1bkNKO0FVcm5DSTtFQUNFO0FWdW5DTjtBVXBuQ007RUFDRTtBVnNuQ1I7QVVobkNFO0VBQ0U7QVZrbkNKO0FVaG5DSTtFQUNFO0FWa25DTjtBVS9tQ007RUFDRTtBVmluQ1I7QVUxbUNJO0VBRUU7QVYybUNOO0FVcm1DRTtFQUNFO0FWdW1DSjtBVXJtQ0k7RUFDRTtBVnVtQ047QVVsbUNFO0VBQ0U7QVZvbUNKO0FVaG1DRTtFQUNFO0FWa21DSjs7QVV4bENFO0VSemFFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRMFpyQiwwQ1JoWmE7QUY0K0NqQjtBVXhsQ0U7RVJoYkU7RUFDQTtFQW1CQSx3QkFGcUI7RVFpYXJCLDBDUnZaYTtFUXdaYjtFQUNBO0FWMmxDSjtBVXpsQ0k7RUFDRTtBVjJsQ047QVV0bENFO0VSN2JFO0VBQ0E7RUFtQkEsMkJBRnFCO0VROGFyQiwwQ1JwYWE7RVFxYWI7RUFDQTtBVnlsQ0o7QVVybENFO0VSdGNFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRdWJyQiwwQ1I3YWE7QUZxZ0RqQjtBVXBsQ0U7RVI3Y0U7RUFDQTtFQW1CQSw4QkFGcUI7RVE4YnJCLDBDUnBiYTtFUXFiYjtFQUNBO0FWdWxDSjtBVW5sQ0U7RVJ0ZEU7RUFDQTtFQW1CQSwyQkFGcUI7RVF1Y3JCLDBDUjdiYTtFUThiYjtBVnNsQ0o7QVVwbENJOztFQUVFO0FWc2xDTjtBVW5sQ0k7RUFDRTtFQUNBO0VBQ0E7QVZxbENOO0FVaGxDRTtFUnplRTtFQUNBO0VBbUJBLCtCQUZxQjtFUTBkckIsMENSaGRhO0VRaWRiO0VBQ0E7QVZtbENKO0FVamxDSTtFQUNFO0FWbWxDTjtBVTlrQ0U7RVJ0ZkU7RUFDQTtFQW1CQSx3QkFGcUI7RVF1ZXJCLDBDUjdkYTtFUThkYjtBVmlsQ0o7QVU3a0NFO0VSOWZFO0VBQ0E7RUFtQkEsMkJBRnFCO0VRK2VyQiwwQ1JyZWE7RVFzZWI7QVZnbENKO0FVOWtDSTtFQUNFO0FWZ2xDTjtBVTlrQ007RUFDRTtBVmdsQ1I7QVUxa0NFO0VBQ0U7QVY0a0NKO0FVMWtDSTtFQUNFO0FWNGtDTjtBVXZrQ0U7RUFDRTtBVnlrQ0o7QVV2a0NJO0VBQ0U7QVZ5a0NOO0FVcGtDRTtFUmhpQkU7RUFDQTtFQW1CQSxnQ0FGcUI7RVFpaEJyQiwwQ1J2Z0JhO0VRd2dCYjtBVnVrQ0o7QVVya0NJO0VBQ0U7QVZ1a0NOO0FVbGtDRTtFUjVpQkU7RUFDQTtFQW1CQSxnQ0FGcUI7RVE2aEJyQjtBVnFrQ0o7QVVqa0NFO0VSbmpCRTtFQUNBO0VBbUJBLDhCQUZxQjtFUW9pQnJCLDBDUjFoQmE7RVEyaEJiO0FWb2tDSjtBVS9qQ0U7RVI1akJFO0VBQ0E7RUFtQkEsMkJBRnFCO0VROGlCckIsMENScGlCYTtFUXFpQmI7RUFDQTtBVmlrQ0o7QVUvakNJO0VBQ0U7QVZpa0NOO0FVNWpDRTtFUjFrQkU7RUFDQTtFQW1CQSw2QkFGcUI7RVEyakJyQiwwQ1JqakJhO0VRa2pCYjtFQUNBO0FWK2pDSjtBVTdqQ0k7RUFDRTtBVitqQ047QVV6akNFO0VSeGxCRTtFQUNBO0VBbUJBLDhCQUZxQjtFUXlrQnJCLDBDUi9qQmE7RVFna0JiO0VBQ0E7QVY0akNKO0FVeGpDRTtFQUNFO0FWMGpDSjtBVXBqQ007RVJ4bUJGO0VBQ0E7RUFtQkEsOEJBRnFCO0VRMGxCakIsMENSaGxCUztFUWlsQlQ7RUFDQTtBVnNqQ1I7O0FVOWlDRTtFUnRuQkU7RUFDQTtBRndxREo7QVUvaUNJO0VSMW5CQTtFQUNBO0VBbUJBLDJCQUZxQjtFUTJtQm5CO0VBQ0E7QVZrakNOO0FVN2lDRTtFQUNFLDBDUnhtQmE7QUZ1cERqQjtBVTVpQ0k7RVJ2b0JBO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRd25CbkIsMENSOW1CVztFUSttQlg7QVYraUNOO0FVMWlDSTtFUmhwQkE7RUFDQTtFQW1CQSx3QkFGcUI7RVFpb0JuQiwwQ1J2bkJXO0VRd25CWDtBVjZpQ047QVV2aUNJO0VSMXBCQTtFQUNBO0VBbUJBLDJCQUZxQjtFUTZvQm5CLDBDUm5vQlc7RVFvb0JYO0VBQ0E7QVZ3aUNOO0FVcGlDSTtFUnJxQkE7RUFDQTtFQW1CQSx3QkFGcUI7RVFzcEJuQiwwQ1I1b0JXO0VRNm9CWDtFQUNBO0FWdWlDTjtBVWxpQ0U7RVIvcUJFO0VBQ0E7RUFtQkEsd0JBRnFCO0VRZ3FCckIsMENSdHBCYTtFUXVwQmI7QVZxaUNKO0FVamlDRTtFUm5xQkUsd0JBRnFCO0VRdXFCckIsMENSN3BCYTtFUThwQmI7RUFDQTtBVm1pQ0o7QVUvaENFO0VSM3FCRSx3QkFGcUI7RVErcUJyQiwwQ1JycUJhO0VRc3FCYjtFQUNBO0FWaWlDSjtBVTdoQ0U7RVJ2c0JFO0VBQ0E7RUFtQkEsd0JBRnFCO0VRNkN2QiwwQ1JuQ2U7RVFvQ2Y7RUFDQTtFQUNBO0FWMnFERjtBVWppQ0U7RVI1c0JFO0VBQ0E7RUFtQkEsd0JBRnFCO0VRNnJCckIsMENSbnJCYTtFUW9yQmI7RUFDQTtBVm9pQ0o7QVVsaUNJO0VBQ0U7QVZvaUNOO0FVamlDSTs7RUFFRTtBVm1pQ047QVU5aENFO0VSOXRCRTtFQUNBO0VBbUJBLGdDQUZxQjtFUStzQnJCLDBDUnJzQmE7RVF1c0JiO0VBQ0E7QVZnaUNKO0FVNWhDRTtFUnh1QkU7RUFDQTtFQW1CQSxnQ0FGcUI7RVF5dEJyQiwwQ1Ivc0JhO0VRZ3RCYjtBVitoQ0o7QVU1aENJO0VBQ0U7QVY4aENOO0FVemhDRTtFUnJ2QkU7RUFDQTtFUXN2QkEsMENSM3RCYTtFUTR0QmI7RUFDQTtBVjRoQ0o7QVV4aENFO0VSN3ZCRTtFQUNBO0VBbUJBLDBCQUZxQjtFUTh1QnJCO0FWMmhDSjtBVXJoQ0k7RVJ0d0JBO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRdXZCbkIsMENSN3VCVztFUTh1Qlg7QVZ3aENOO0FVdGhDTTtFQUNFO0VBQ0E7QVZ3aENSO0FVdGhDUTtFQUNFO0FWd2hDVjtBVXJoQ1E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZ1aENWO0FVaGhDRTtFUmp5QkU7RUFDQTtFQW1CQSwyQkFGcUI7RVFreEJyQjtFQUNBO0FWbWhDSjtBVS9nQ0U7RVJ6eUJFO0VBQ0E7RUFtQkEsd0JBRnFCO0VRMHhCckI7QVZraENKO0FVOWdDRTtFUmh6QkU7RUFDQTtFQW1CQSxnQ0FGcUI7RVFpeUJyQiwwQ1J2eEJhO0FGd3lEakI7QVUvZ0NJO0VBQ0U7RUFDQTtBVmloQ047QVU1Z0NFO0VSNXpCRTtFQUNBO0VRNnpCQTtBVitnQ0o7QVUzZ0NFO0VSbDBCRTtFQUNBO0VRbTBCQSwwQ1J4eUJhO0VReXlCYjtFQUNBO0VBQ0E7QVY4Z0NKO0FVMWdDRTtFUjMwQkU7RUFDQTtFQW1CQSx3QkFGcUI7QUZ3MER6QjtBVWpnQ0k7RVJ6MUJBO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRKzBCbkIsMENScjBCVztFUXMwQlg7QVYrL0JOO0FVNy9CTTtFQUNFO0VBQ0E7QVYrL0JSO0FVMS9CSTtFQUNFO0FWNC9CTjtBVXYvQk07RVJqM0JGO0VBQ0E7QUYyMkRKO0FVcC9CTTtFQUNFO0FWcy9CUjtBVWgvQkk7RUFDRTtFQUNBO0VBQ0E7QVZrL0JOO0FVMytCTTtFQUNFO0FWNitCUjtBVXArQkk7RVJuNUJBO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRcTRCbkIsMENSMzNCVztFUTQzQlg7QVZzK0JOO0FVcCtCTTtFQUNFO0VBQ0E7QVZzK0JSO0FVaCtCRTtFUmw2QkU7RUFDQTtFQW1CQSwrQkFGcUI7RVFtNUJyQiwwQ1J6NEJhO0VRMDRCYjtFQUNBO0VBQ0E7QVZtK0JKO0FVLzlCRTtFUjU2QkU7RUFDQTtFQW1CQSwyQkFGcUI7RVE2NUJyQiwwQ1JuNUJhO0VRbzVCYjtBVmsrQko7QVVoK0JJO0VBQ0U7QVZrK0JOO0FVNzlCRTtFUng3QkU7RUFDQTtFQW1CQSwyQkFGcUI7RVF5NkJyQjtFQUNBO0FWZytCSjtBVTU5QkU7RVJoOEJFO0VBQ0E7RVFpOEJBLDBDUnQ2QmE7RVF1NkJiO0FWKzlCSjtBVTc5Qkk7RUFDRTtBVis5Qk47QVUxOUJFO0VSMzhCRTtFQUNBO0VBbUJBLGdDQUZxQjtFUTQ3QnJCLDBDUmw3QmE7RVFtN0JiO0FWNjlCSjtBVTM5Qkk7RUFDRTtBVjY5Qk47QVV6OUJJO0VBQ0U7QVYyOUJOO0FVdDlCRTtFUjU5QkU7RUFDQTtFUTY5QkEsMENSbDhCYTtFUW04QmI7QVZ5OUJKO0FVdjlCSTtFQUNFO0FWeTlCTjtBVXA5QkU7RVJ2K0JFO0VBQ0E7RUFtQkEsMEJBRnFCO0VRdzlCckI7RUFDQTtBVnU5Qko7QVVuOUJFO0VSLytCRTtFQUNBO0VBbUJBLGdDQUZxQjtFUWcrQnJCLDBDUnQ5QmE7RVF1OUJiO0FWczlCSjtBVWw5QkU7RVJ2L0JFO0VBQ0E7RUFtQkEsMkJBRnFCO0VRNUJ2QiwwQ1JzQ2U7RVFyQ2Y7RUFDQTtBVnk5REY7QVV2OURFO0VBQ0U7QVZ5OURKO0FNcC9ERTtFSXVoQ0E7SVJ2L0JFO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRakJyQjtFVjA5REY7QUFDRjtBVWgrQkU7RVI1L0JFO0VBQ0E7RUFtQkEsMkJBRnFCO0VRNitCckIsMENSbitCYTtFUW8rQmI7QVZtK0JKO0FVLzlCRTtFQUNFLDBDUnorQmE7RVEwK0JiO0VBQ0E7QVZpK0JKO0FVNzlCRTtFUjNnQ0U7RUFDQTtFQW1CQSx3QkFGcUI7QUYyOUR6QjtBTTdnRUU7RUkyaUNBO0lSM2dDRTtJQUNBO0lBbUJBLDJCQUZxQjtJUU5yQjtFVncrREY7RVV0K0RFO0lSZEE7SUFDQTtJQW1CQSxnQ0FGcUI7SVFEbkI7SUFDQTtFVnkrREo7RVV2K0RJO0lBQ0U7RVZ5K0ROO0FBQ0Y7QVUvK0JFO0VSaGhDRTtFQUNBO0VBbUJBLGdDQUZxQjtFUWlnQ3JCLDBDUnYvQmE7RVF3L0JiO0FWay9CSjtBVWgvQkk7RUFDRTtFQUNBO0FWay9CTjtBVTcrQkU7RVI3aENFO0VBQ0E7RUFtQkEsK0JBRnFCO0VROGdDckIsMENScGdDYTtFUXFnQ2I7QVZnL0JKO0FVNStCRTtFUnJpQ0U7RUFDQTtFQW1CQSx3QkFGcUI7RVFzaENyQjtBVisrQko7QVUzK0JFO0VSNWlDRTtFQUNBO0VBbUJBLGdDQUZxQjtFUTZoQ3JCO0VBQ0EsMENScGhDYTtFUXFoQ2I7RUFDQTtBVjgrQko7QVUxK0JFO0VSdGpDRTtFQUNBO0VBbUJBLGdDQUZxQjtFUXVpQ3JCLDBDUjdoQ2E7RVE4aENiO0VBQ0E7QVY2K0JKO0FVMytCSTtFQUNFO0FWNitCTjtBVXgrQkU7RVJua0NFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRb2pDckI7QVYyK0JKO0FVeitCSTtFQUNFO0FWMitCTjs7QU1wbEVFO0VJdW5DSTtJQUNFO0VWaStCTjtFVS85Qk07SVJ0a0NKLDhCQUZxQjtFRjBpRXZCO0VVNTlCSTtJQUNFO0VWODlCTjtFVTU5Qk07SUFDRTtFVjg5QlI7QUFDRjtBTW5tRUU7RUkrb0NFO0lSL21DQTtJQUNBO0lBbUJBLGdDQUZxQjtJUWdtQ25CO0VWdzlCSjtFVXA5QkU7SUFDRTtFVnM5Qko7O0VVaDlCRTtJUjduQ0E7SUFDQTtJQW1CQSxnQ0FGcUI7SVE4bUNuQjtFVm85Qko7RVVoOUJFO0lBQ0U7RVZrOUJKO0VVOThCRTtJUnpvQ0E7SUFDQTtJQW1CQSxnQ0FGcUI7SVEwbkNuQjtFVmk5Qko7RVUvOEJJO0lSOW9DRjtJQUNBO0lBbUJBLGdDQUZxQjtJUStuQ2pCO0VWazlCTjs7RVUzOEJFO0lSeHBDQTtJQUNBO0lReXBDRTtFVis4Qko7RVUzOEJFO0lSOXBDQTtJQUNBO0lBbUJBLCtCQUZxQjtJUStvQ25CO0VWODhCSjtFVTE4QkU7SVJqcENBLGdDQUZxQjtFRmdtRXZCO0VVeDhCRTtJUjFxQ0E7SUFDQTtJQW1CQSwrQkFGcUI7SVEycENuQjtFVjI4Qko7RVV6OEJJO0lSL3FDRjtJQUNBO0lBbUJBLGdDQUZxQjtJUWdxQ2pCO0VWNDhCTjtFVXY4QkU7SVJ2ckNBO0lBQ0E7SUFtQkEsK0JBRnFCO0lRd3FDbkI7RVYwOEJKO0VVdDhCRTtJUjlyQ0E7SUFDQTtJQW1CQSxnQ0FGcUI7RUZ1bkV2QjtFVXA4QkU7SVJyc0NBO0lBQ0E7SUFtQkEsK0JBRnFCO0lRc3JDbkI7SUFDQTtFVnU4Qko7O0VVajhCRTtJUi9zQ0E7SUFDQTtJQW1CQSwyQkFGcUI7SVFnc0NuQjtFVnE4Qko7RVVqOEJFO0lSdHRDQTtJQUNBO0lBbUJBLCtCQUZxQjtFRjBvRXZCOztFVTc3QkU7SVIvdENBO0lBQ0E7SUFtQkEsK0JBRnFCO0VGZ3BFdkI7RVU3N0JFO0lScnVDQTtJQUNBO0lBbUJBLCtCQUZxQjtFRnFwRXZCOztFVTE3QkU7SVI3dUNBO0lBQ0E7SUFtQkEsMkJBRnFCO0lROHRDbkI7RVY4N0JKO0VVMTdCRTtJUnB2Q0E7SUFDQTtJQW1CQSxnQ0FGcUI7RUZpcUV2QjtFVXo3QkU7SVIxdkNBO0lBQ0E7SUFtQkEsK0JBRnFCO0lRMnVDbkI7RVY0N0JKO0VVeDdCRTtJUmp3Q0E7SUFDQTtJQW1CQSwrQkFGcUI7SVFrdkNuQjtFVjI3Qko7RVV2N0JFO0lSeHdDQTtJQUNBO0lBbUJBLCtCQUZxQjtFRmtyRXZCO0VVdDdCRTtJUjl3Q0E7SUFDQTtJQW1CQSwrQkFGcUI7SVErdkNuQjtFVnk3Qko7RVVyN0JFO0lScnhDQTtJQUNBO0lBbUJBLCtCQUZxQjtJUXN3Q25CO0VWdzdCSjtFVXQ3Qkk7SUFDRTtFVnc3Qk47RVVuN0JFO0lSaHlDQTtJQUNBO0lBbUJBLGdDQUZxQjtJUWl4Q25CO0VWczdCSjtFVWw3QkU7SUFDRSwwQ1I1d0NXO0lRNndDWDtJQUNBO0VWbzdCSjtFVWg3QkU7SUFDRSwwQ1JueENXO0lRb3hDWDtJQUNBO0VWazdCSjtFVTk2QkU7SVJyekNBO0lBQ0E7SUFtQkEsZ0NBRnFCO0VGc3RFdkI7RVU3NkJFO0lSM3pDQTtJQUNBO0lBbUJBLDBCQUZxQjtJUTR5Q25CLDBDUmx5Q1c7SVFteUNYO0lBQ0E7RVZnN0JKO0VVOTZCSTtJQUNFO0lBQ0E7RVZnN0JOO0VVMzZCRTtJUnowQ0E7SUFDQTtJUTAwQ0U7SUFDQTtFVjg2Qko7RVUxNkJFO0lSaDFDQTtJQUNBO0lBbUJBLGdDQUZxQjtFRjZ1RXZCO0VVeDZCSTtJUnYxQ0Y7SUFDQTtJQW1CQSxnQ0FGcUI7SVF3MENqQjtFVjI2Qk47RVVyNkJFO0lSaDJDQTtJQUNBO0lBbUJBLGdDQUZxQjtJUWkxQ25CO0VWdzZCSjtFVXA2QkU7SVJuMUNBLCtCQUZxQjtFRjR2RXZCO0VVaDZCTTtJUjExQ0osOEJBRnFCO0VGK3ZFdkI7RVUvNUJRO0lSbDNDTjtJQUNBO0lBbUJBLGdDQUZxQjtJUW0yQ2I7SUFDQTtFVms2QlY7O0VVejVCRTtJUi8zQ0E7SUFDQTtJQW1CQSwyQkFGcUI7RUY0d0V2QjtFVTE1Qkk7SVJwNENGO0lBQ0E7RUZpeUVGO0VVdjVCRTtJUjM0Q0E7SUFDQTtJUTQ0Q0U7RVYwNUJKO0VVeDVCSTtJQUNFO0VWMDVCTjtFVWo1Qkk7SVJ6NUNGO0lBQ0E7SUFtQkEsOEJBRnFCO0lRNDRDakI7RVZrNUJOO0VVOTRCSTtJUmw2Q0Y7SUFDQTtJQW1CQSwyQkFGcUI7SVFtNUNqQjtFVmk1Qk47RVU1NEJFO0lSMTZDQTtJQUNBO0lBbUJBLDJCQUZxQjtJUTI1Q25CO0VWKzRCSjtFVTM0QkU7SVJqN0NBO0lBQ0E7SUFtQkEsZ0NBRnFCO0VGK3lFdkI7RVUxNEJFO0lSdjdDQTtJQUNBO0lBbUJBLCtCQUZxQjtFRm96RXZCO0VVejRCRTtJUjc3Q0E7SUFDQTtFRnkwRUY7RVV4NEJFO0lSbDhDQTtJQUNBO0lBbUJBLGdDQUZxQjtJUW03Q25CO0VWMjRCSjtFVXY0QkU7SVJ6OENBO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRMDdDbkI7RVYwNEJKO0VVeDRCSTtJUjk4Q0Y7SUFDQTtJQW1CQSxnQ0FGcUI7SVErN0NqQjtFVjI0Qk47RVV0NEJFO0lSbDhDQSwyQkFGcUI7SVF1OENuQjtFVnU0Qko7RVVyNEJJO0lSMzlDRjtJQUNBO0lBbUJBLGdDQUZxQjtJUTQ4Q2pCO0VWdzRCTjtFVW40QkU7SVJuK0NBO0lBQ0E7SUFtQkEsZ0NBRnFCO0VGeTFFdkI7RVVwNEJJO0lSditDRjtJQUNBO0lBbUJBLHdCQUZxQjtJUXc5Q2pCO0lBQ0E7RVZ1NEJOO0VVajRCSTtJUmovQ0Y7SUFDQTtJUWsvQ0k7RVZvNEJOO0VVdjNCSTtJUmhnREY7SUFDQTtJQW1CQSx3QkFGcUI7SVFzL0NqQjtFVnEzQk47RVVuM0JNO0lSMWdESjtJQUNBO0lBbUJBLDZCQUZxQjtJUTIvQ2Y7SUFDQTtJQUNBO0VWczNCUjtFVWgzQkk7SVJyaERGO0lBQ0E7RUZ3NEVGO0VVaDNCTTtJQUNFO0VWazNCUjtFVTcyQkk7SVIvaERGO0lBQ0E7RUYrNEVGO0VVNTJCSTtJUnBpREY7SUFDQTtJQW1CQSxnQ0FGcUI7SVFxaERqQjtFVisyQk47RVU3MkJNO0lSemlESjtJQUNBO0lRMGlETTtFVmczQlI7RVUzMkJJO0lSaGpERjtJQUNBO0lBbUJBLHdCQUZxQjtJUWlpRGpCO0VWODJCTjtFVXAyQk07SVI3akRKO0lBQ0E7SUFtQkEsOEJBRnFCO0lROGlEZjtFVnUyQlI7RVVqMkJFO0lSdGtEQTtJQUNBO0lBbUJBLCtCQUZxQjtJUXVqRG5CO0VWbzJCSjtFVWgyQkU7SVI3a0RBO0lBQ0E7SUFtQkEsOEJBRnFCO0lROGpEbkI7RVZtMkJKO0VVLzFCRTtJUnBsREE7SUFDQTtJQW1CQSx3QkFGcUI7SVFxa0RuQjtFVmsyQko7RVU5MUJFO0lSM2xEQTtJQUNBO0lBbUJBLHdCQUZxQjtFRjQ2RXZCO0VVNzFCRTtJUmptREE7SUFDQTtJQW1CQSwyQkFGcUI7SVFrbERuQjtFVmcyQko7RVU1MUJFO0lSeG1EQTtJQUNBO0lBbUJBLDJCQUZxQjtFRnU3RXZCO0VVMzFCRTtJUjlt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QUNBO0lBbUJBLGdDQUZxQjtJV2NyQjtFYisyRkY7QUFDRjs7QWE1MkZBOztFWHBDSTtFQUNBO0VBbUJBLGdDQUZxQjtFV3NCdkI7QWJnM0ZGO0FNeDdGRTtFT29FRjs7SVhwQ0k7SUFDQTtJQW1CQSxnQ0FGcUI7RUY2NEZ2QjtBQUNGOztBYWgzRkE7O0VYaERJO0VBQ0E7RVdrREY7QWJvM0ZGO0FNdjhGRTtFT2dGRjs7SVhoREk7SUFDQTtJQW1CQSxnQ0FGcUI7RUY0NUZ2QjtBQUNGOztBYXAzRkE7O0VYM0RJO0VBQ0E7RVc2REY7QWJ3M0ZGO0FNdDlGRTtFTzJGRjs7SVgzREk7SUFDQTtJQW1CQSwrQkFGcUI7RUYyNkZ2QjtBQUNGOztBYXgzRkE7O0VYdEVJO0VBQ0E7RUFtQkEsOEJBRnFCO0VXd0R2QjtFQUNBO0FiNDNGRjs7QWF6M0ZBOztFWDlFSTtFQUNBO0VXZ0ZGO0VBQ0E7RUFDQTtBYjYzRkY7O0FheDNGRTs7RUFDRSwwQ1g3RGE7RVc4RGI7QWI0M0ZKOztBYXgzRkE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFBQTtBYjIzRkY7QWF6M0ZFOztFQUNFO0FiNDNGSjs7QWF0M0ZJO0VBR0U7QWJ1M0ZOOztBYWwzRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJxM0ZGOztBU3hoR0k7Ozs7OztFQWlDRjtBVGdnR0Y7QVN4aEdJOzs7Ozs7RUFtQkY7RUFDQTtBVDZnR0Y7QVM1aEdNOzs7Ozs7RUFtQko7QVRpaEdGO0FTaGlHUTs7Ozs7O0VBVU47RUFDQTtBVDhoR0Y7O0FhNTRGQTtFQUVFO0VBQ0E7QWI4NEZGOztBYzFrR0E7RUFDRTtBZDZrR0Y7O0FlcmlHQTtFQUNFO0Fmd2lHRjs7QWVqaUdBO0VBQ0U7RUFDQTtFQUNBO0Fmb2lHRjtBZWxpR0U7RUFDRTtFQUNBO0VBQ0E7QWZvaUdKOztBZWhpR0E7O0ViVkk7RUFDQTtFQW1CQSwyQkFGcUI7RWFKdkI7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7QWZtaUdGOztBZWhpR0E7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmbWlHRjs7QWVqZ0dBO0VBQ0U7QWZvZ0dGOztBZ0IxbkdBOztFQUVFO0FoQjZuR0Y7QWdCM25HRTs7OztFQUVFO0FoQituR0o7QWdCNW5HRTs7RUFDRTtBaEIrbkdKOztBZ0IxbkdBO0VBQ0U7QWhCNm5HRjtBZ0IzbkdFOztFQUVFO0FoQjZuR0o7QWdCeG5HRTtFQUNFO0FoQjBuR0o7O0FnQnRuR0E7RUFDRTtBaEJ5bkdGO0FnQnZuR0U7RUFDRTtFQUNBO0VBQ0E7QWhCeW5HSjtBZ0J2bkdJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCeW5HTjtBTW5wR0U7RVUrQkU7SUFDRTtFaEJ1bkdKO0FBQ0Y7O0FnQm5uR0E7RUFDRTtFQUNBO0VBQ0E7QWhCc25HRjtBZ0JwbkdFO0VBQ0U7RUFDQTtBaEJzbkdKO0FnQnBuR0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQnNuR047QU01cUdFO0VVcUNGO0lBc0JJO0VoQnFuR0Y7RWdCbm5HRTtJQUNFO0VoQnFuR0o7RWdCbm5HSTtJQUNFO0VoQnFuR047RWdCam5HRTtJQUNFO0VoQm1uR0o7RWdCam5HSTtJQUNFO0lBQ0E7SUFDQTtFaEJtbkdOO0VnQmpuR007SUFDRTtJQUNBO0lBQ0E7SUFDQTtFaEJtbkdSO0FBQ0Y7O0FpQnh0R0E7RUFDRTtBakIydEdGO0FpQnp0R0U7O0VBRUU7RUFDQTtBakIydEdKO0FpQnZ0R0k7RWZ5Q0E7RUFDQTtFQW1CQSx3QkFGcUI7RVFZdkIsMENSRmU7RVE0QmY7RUFDQTtFT2hHSTtFQUNBO0VBQ0E7QWpCOHRHTjtBVXpwR0U7RUFDRTtFQUNBO0FWMnBHSjtBTTd0R0U7RVdURTtJZnlDQTtJQUNBO0lBbUJBLDJCQUZxQjtJUXNCckI7RVY0cEdGO0VVMXBHRTtJUjFDQTtJQUNBO0lBbUJBLGdDQUZxQjtFRnVyR3ZCO0FBQ0Y7QWlCMXVHSTtFZmdDQTtFQUNBO0VBbUJBLHdCQUZxQjtFUVl2QiwwQ1JGZTtFUXVCZjtFT2pGSTtFQUNBO0FqQmd2R047QVVuckdFO0VBQ0U7RUFDQTtBVnFyR0o7QU12dkdFO0VXQUU7SWZnQ0E7SUFDQTtJQW1CQSwyQkFGcUI7SVFzQnJCO0VWc3JHRjtFVXByR0U7SVIxQ0E7SUFDQTtJQW1CQSxnQ0FGcUI7RUZpdEd2QjtBQUNGO0FpQi92R007RUFDRTtBakJpd0dSO0FpQjF2R1E7O0VBQ0U7QWpCNnZHVjtBaUJ4dkdRO0VBQ0U7QWpCMHZHVjtBaUJydkdJO0VmT0E7RUFDQTtFQW1CQSx3QkFGcUI7RVFZdkIsMENSRmU7QUZ3dEdqQjtBVXB0R0U7RUFDRTtFQUNBO0FWc3RHSjtBTXh4R0U7RVd5QkU7SWZPQTtJQUNBO0lBbUJBLDJCQUZxQjtJUXNCckI7RVZ1dEdGO0VVcnRHRTtJUjFDQTtJQUNBO0lBbUJBLGdDQUZxQjtFRmt2R3ZCO0FBQ0Y7QWlCeHdHSTs7RUFFRTtFQUNBO0VBQ0E7QWpCMHdHTjtBaUJ4d0dNOztFQUNFO0FqQjJ3R1I7QU0veUdFO0VXbkJGO0lBNkRJO0VqQnl3R0Y7RWlCdndHRTtJQUVFO1lBQUE7RWpCd3dHSjtBQUNGOztBa0JqekdBO0VBbkJJO0FsQncwR0o7QU0zekdFO0VZTUY7SUFkTTtFbEJ1MEdKO0FBQ0Y7QU1oMEdFO0VZTUY7SUFUSTtJQUNBO0lBR0U7RWxCcTBHSjtBQUNGOztBbUIxMUdBO0VBQ0U7RUFDQTtFQUNBO0FuQjYxR0Y7O0FvQnQxR0E7RUNERTtFQUFBO0VBQUE7RUFDQTtFQUFBO01BQUE7VUFBQTtFQUNBO01BQUE7RUFDQTtNQUFBO1VBQUE7QXJCMjFHRjs7QW9CejFHQTtFQ0xFO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtBckJrMkdGOztBTTMxR0U7RWNLRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCcTFHVDs7RW9CLzFHRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCNjFHVDs7RW9CdjJHRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCcTJHVDs7RW9CLzJHRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCNjJHVDs7RW9CdjNHRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCcTNHVDs7RW9CLzNHRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCNjNHVDs7RW9CdjRHRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCcTRHVDs7RW9CLzRHRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCNjRHVDs7RW9CdjVHRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCcTVHVDs7RW9CLzVHRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCNjVHVDs7RW9CdjZHRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCcTZHVDs7RW9CLzZHRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCNjZHVDtBQUNGO0FNNzdHRTtFY2FFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJzN0dUOztFb0J4N0dFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI4N0dUOztFb0JoOEdFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJzOEdUOztFb0J4OEdFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI4OEdUOztFb0JoOUdFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJzOUdUOztFb0J4OUdFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI4OUdUOztFb0JoK0dFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJzK0dUOztFb0J4K0dFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI4K0dUOztFb0JoL0dFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJzL0dUOztFb0J4L0dFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI4L0dUOztFb0JoZ0hFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJzZ0hUOztFb0J4Z0hFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI4Z0hUO0FBQ0Y7QXVCbmpIQTtFQUNFO0VBQ0E7RUFDQTtBdkJxakhGO0F1QmxqSEU7RUFDRTtBdkJvakhKO0F1QmpqSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7QXZCbWpISjtBdUJoakhJO0VBQ0U7QXZCa2pITjtBdUIvaUhJO0VBQ0U7RUFDQTtFQUNBO0F2QmlqSE47QXVCOWlITTtFQUNFO0F2QmdqSFI7QXVCNWlISTtFQUNFO0VBQ0E7QXZCOGlITjtBdUIzaUhJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtBdkI2aUhOO0F1QnppSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtBdkIyaUhKO0F1QnppSEk7RUFDRTtFQUNBO1VBQUE7QXZCMmlITjtBdUJ0aUhJO0VBQ0U7QXZCd2lITjs7QXVCbmlIQTtFQUNFO0VBQ0E7QXZCc2lIRjs7QXVCbmlIQTtFQUNFO0lBQ0U7WUFBQTtFdkJzaUhGO0FBQ0Y7O0F1QnppSEE7RUFDRTtJQUNFO1lBQUE7RXZCc2lIRjtBQUNGO0F3QmxuSEU7RUFDRTtBeEJvbkhKOztBd0I3bEhFO0VBQ0U7QXhCZ21ISjtBd0J4bEhJO0VBQ0U7QXhCMGxITjs7QXdCcmpIRTtFQUNFO0F4QndqSEo7O0F5QjFtSEU7RUFDRTtFQUNBO0F6QjZtSEo7QXlCM21ISTtFQUVFO0VBQ0E7QXpCNG1ITjtBeUJ6bUhJO0VBQ0U7RUFDQTtBekIybUhOO0F5QmptSE07RXBCQUo7QUxvbUhGO0F5Qi9sSEk7RUFDRTtNQUFBO1VBQUE7RUFDQTtBekJpbUhOO0F5QjlsSEk7RUFDRTtBekJnbUhOO0F5QjdsSFE7RUFDRTtBekIrbEhWO0F5QjdsSFU7RUFDRTtBekIrbEhaO0F5QnZsSEk7RUFDRTtBekJ5bEhOO0F5QnRsSFE7RUFDRTtBekJ3bEhWO0F5QmpsSEk7RUFDRTtBekJtbEhOO0F5QmhsSFE7RUFDRTtBekJrbEhWO0F5QjVrSEU7RUFDRTtBekI4a0hKO0F5QjVrSEk7RUFDRTtNQUFBO1VBQUE7RUFDQTtBekI4a0hOO0F5QjNrSEk7RUFDRTtBekI2a0hOO0F5QjFrSFE7RUFDRTtBekI0a0hWO0F5QjFrSFU7RUFDRTtBekI0a0haO0F5QnBrSEk7RUFDRTtBekJza0hOO0FNanJIRTtFbUJnSUk7SUFDRTtFekJvakhOO0V5QmhqSE07SUFFRTtFekJpakhSO0V5QjVpSE07SUFDRTtFekI4aUhSO0V5QnhpSEU7SUFDRTtFekIwaUhKO0V5QnhpSEk7SUFDRTtJQUNBO0lBQXdCO0lBQ3hCO0V6QjJpSE47RXlCdmlITTtJQUNFO0V6QnlpSFI7RXlCcGlITTtJQUNFO0V6QnNpSFI7RXlCaGlIUTtJQUNFO0V6QmtpSFY7RXlCMWhIVTtJQUNFO0lBQ0E7RXpCNGhIWjtFeUJwaEhFO0lBQ0U7SUFDQTtFekJzaEhKO0V5QnBoSEk7SUFDRTtJQUNBO0V6QnNoSE47RXlCcGhITTtJQUNFO0lBQUE7SUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0V6QnNoSFI7RXlCcGhIUTtJQUNFO0V6QnNoSFY7RXlCaGhITTtJQUNFO0V6QmtoSFI7RXlCNWdISTtJQUNFO0V6QjhnSE47RXlCM2dIUTtJQUNFO0V6QjZnSFY7RXlCdGdIRTtJQUNFO0V6QndnSEo7RXlCdGdISTtJQUNFO0lBQ0E7RXpCd2dITjtFeUJwZ0hNO0lBQ0U7RXpCc2dIUjtFeUJqZ0hNO0lBQ0U7RXpCbWdIUjtFeUI3L0dRO0lBQ0U7RXpCKy9HVjtFeUJ2L0dVO0lBQ0U7SUFDQTtFekJ5L0daO0FBQ0Y7O0EwQjF2SEU7RUFDRTtFQUNBO0ExQjZ2SEo7QTBCenZISTtFQUNFO0ExQjJ2SE47QTBCdnZIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCeXZISjtBMEJ2dkhJO0VBQ0U7QTFCeXZITjtBMEJ2dkhNO0VBQ0U7RUFDQTtBMUJ5dkhSO0EwQnB2SE07RUFDRTtBMUJzdkhSO0EwQmp2SEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQm12SEo7QTBCaHZIRTtFQUNFO0ExQmt2SEo7QU1seUhFO0VvQnFFRTtJQUNFO0UxQmd1SEo7RTBCN3RIRTtJQUNFO0UxQit0SEo7QUFDRjs7QTJCN3lIRTtFQUNFO0VBQ0E7QTNCZ3pISjtBMkJ6eUhFO0VBQ0U7QTNCMnlISjtBMkJ4eUhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTNCMHlISjtBMkJ2eUhFO0VBQ0U7RUFDQTtBM0J5eUhKO0EyQnR5SEU7RUFDRTtBM0J3eUhKO0EyQm55SE07RUFDRTtBM0JxeUhSO0EyQm55SFE7RUFDRTtBM0JxeUhWO0FNcjBIRTtFcUJ3REU7SUFDRTtJQUNBO0UzQmd4SEo7RTJCN3dIRTtJQUNFO0lBQ0E7SUFDQTtFM0Ird0hKO0UyQjV3SEU7SUFDRTtJQUNBO0UzQjh3SEo7RTJCendITTtJQUNFO0UzQjJ3SFI7RTJCendIUTtJQUNFO0UzQjJ3SFY7QUFDRjtBMkJyd0hFO0VBOUZGO0lBK0ZJO0lBQ0E7SUFDQTtJQUNBO0UzQnd3SEY7RTJCdHdIRTtJQUNFO0UzQnd3SEo7RTJCbHdISTtJQUNFO0UzQm93SE47RTJCbHdITTtJQUNFO0UzQm93SFI7QUFDRjs7QTRCbjJIQTtFQU1FO0E1QmkySEY7QTRCMzFIRTtFQUNFO0E1QjYxSEo7O0E2QngySEk7RUFDRTtBN0IyMkhOO0E2QmoySEk7RUFDRTtFQUNBO0VBQ0E7QTdCbTJITjtBNkJoMkhJO0VBQ0U7RUFDQTtBN0JrMkhOO0E2Qi8xSEk7RUFDRTtBN0JpMkhOO0E2QjUxSEk7RUFDRTtFQUNBO0VBQ0E7QTdCODFITjtBNkIzMUhJO0VBQ0U7QTdCNjFITjtBNkJ6MUhFO0VBQ0U7RUFDQTtBN0IyMUhKO0E2QnYxSEk7RUFDRTtFQUNBO0VBQ0E7QTdCeTFITjtBTW41SEU7RXVCZ0ZJO0lBQ0U7SUFDQTtFN0JzMEhOO0U2QmowSEk7SUFDRTtFN0JtMEhOO0U2Qjl6SEk7SUFDRTtJQUNBO0U3QmcwSE47RTZCM3pISTtJQUNFO0U3QjZ6SE47RTZCeHpIUTtJQUNFO0U3QjB6SFY7O0U2QnB6SEU7SUFDRTtFN0J1ekhKO0U2Qm56SEk7SUFDRTtJQUNBO0U3QnF6SE47RTZCbHpISTtJQUNFO0U3Qm96SE47RTZCL3lISTtJQUNFO0lBQ0E7RTdCaXpITjtFNkI5eUhJO0lBQ0U7RTdCZ3pITjtFNkI1eUhFO0lBQ0U7RTdCOHlISjtFNkI1eUhJO0lBQ0U7SUFDQTtFN0I4eUhOO0U2QjN5SEk7SUFDRTtFN0I2eUhOO0U2QjN5SE07SUFDRTtFN0I2eUhSO0FBQ0Y7O0E4QnQ4SEE7RUFNRTtFQUNBO0E5Qm84SEY7QThCOTdIRTtFQUNFO0E5Qmc4SEo7QThCNzdIRTtFQUNFO0E5Qis3SEo7QThCNzdISTtFQUNFO0E5Qis3SE47QThCMTdIRTtFQUNFO0E5QjQ3SEo7QThCejdIRTtFQUNFO0E5QjI3SEo7QThCeDdIRTtFQUNFO0VBQ0E7QTlCMDdISjtBOEJ2N0hFO0VBQ0U7RUFDQTtBOUJ5N0hKO0E4QnA3SE07RUFDRTtBOUJzN0hSO0E4Qjk2SEk7RUFDRTtBOUJnN0hOO0E4QnQ2SE07RUFDRTtFQUNBO0E5Qnc2SFI7QThCajZITTtFQUNFO0VBQ0E7QTlCbTZIUjtBTS8rSEU7RXdCaUdFO0lBQ0U7RTlCaTVISjtFOEI5NEhFO0lBQ0U7SUFDQTtFOUJnNUhKO0U4Qjk0SEk7SUFDRTtFOUJnNUhOO0U4QjU0SEU7SUFDRTtFOUI4NEhKO0U4QjM0SEU7SUFDRTtFOUI2NEhKO0U4QnQ0SE07OztJQUVFO0U5Qnk0SFI7RThCbjRISTtJQUNFO0U5QnE0SE47RThCbDRISTtJQUNFO0lBQ0E7RTlCbzRITjtFOEJsNEhNO0lBQ0U7RTlCbzRIUjtFOEIvM0hNO0lBQ0U7SUFDQTtFOUJpNEhSO0U4Qi8zSFE7SUFDRTtFOUJpNEhWO0U4QjEzSEk7SUFDRTtFOUI0M0hOO0U4QnozSEk7SUFDRTtJQUNBO0U5QjIzSE47RThCejNITTtJQUNFO0U5QjIzSFI7RThCdDNITTtJQUNFO0lBQ0E7RTlCdzNIUjtFOEJ0M0hRO0lBQ0U7RTlCdzNIVjtBQUNGOztBK0I3aElFO0VBQ0U7RUFDQTtBL0JnaUlKO0ErQjdoSUU7RUFDRTtBL0IraElKO0ErQjVoSUU7RUFDRTtBL0I4aElKO0ErQnRoSUk7RUFDRTtBL0J3aElOO0FNdGpJRTtFeUJrREU7SUFDRTtFL0J1Z0lKO0UrQnBnSUU7SUFDRTtFL0JzZ0lKO0UrQm5nSUU7SUFDRTtJQUNBO0UvQnFnSUo7RStCbGdJRTtJQUNFO0lBQ0E7RS9Cb2dJSjtBQUNGOztBZ0MzaklFO0VBQ0U7RUFDQTtBaEM4aklKO0FNM2tJRTtFMEJtQ0U7SUFDRTtJQUNBO0VoQzJpSUo7QUFDRjs7QWlDamxJRTtFQUNFO0FqQ29sSUo7QWlDamxJRTtFQUNFO0VBQ0E7QWpDbWxJSjtBTXpsSUU7RTJCZ0JFO0lBQ0U7RWpDNGtJSjtFaUN6a0lFO0lBQ0U7SUFDQTtFakMya0lKO0VpQ3prSUk7SUFDRTtFakMya0lOO0VpQ3ZrSUk7SUFDRTtFakN5a0lOO0VpQ3ZrSU07SUFDRTtFakN5a0lSO0FBQ0Y7O0FrQ2htSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO1VBQUE7QWxDbW1JSjtBa0NqbUlJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtBbENtbUlOO0FrQy9sSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbENpbUlKOztBbUMxb0lFO0VBQ0U7RUFDQTtBbkM2b0lKO0FtQzFvSUU7RUFDRTtBbkM0b0lKO0FtQ3pvSUU7RUFDRTtBbkMyb0lKO0FtQ3pvSUk7RUFDRTtBbkMyb0lOO0FtQ3RvSUk7RUFDRTtBbkN3b0lOO0FNM3BJRTtFNkIwQkk7SUFDRTtFbkNvb0lOO0VtQ2hvSU07SUFDRTtFbkNrb0lSO0VtQzVuSUk7SUFDRTtFbkM4bklOO0VtQzFuSU07SUFDRTtFbkM0bklSO0FBQ0Y7QU16cUlFO0U2QnlERTtJQUNFO0VuQ21uSUo7RW1Dam5JSTtJQUNFO0VuQ21uSU47QUFDRjs7QW9DaHJJQTtFQU1FO0FwQzhxSUY7QW9DeHFJRTtFQUNFO0FwQzBxSUo7QW9DdHFJTTtFQUNFO0FwQ3dxSVI7QW9DcnFJTTtFQUNFO0FwQ3VxSVI7QW9DcHFJTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwQ3NxSVI7QW9DbHFJSTtFQUNFO0FwQ29xSU47QW9DanFJSTtFQUNFO0FwQ21xSU47QW9DM3BJRTtFQUNFO0FwQzZwSUo7QU03c0lFO0U4QkNGO0lBaUVJO0VwQytvSUY7RW9DN29JRTtJQUtFO0lBQ0E7RXBDMm9JSjtFb0N4b0lFO0lBQ0U7RXBDMG9JSjtFb0N4b0lJO0lBQ0U7RXBDMG9JTjtFb0N2b0lJO0lBQ0U7SUFDQTtFcEN5b0lOO0VvQ3ZvSU07SUFDRTtFcEN5b0lSO0VvQ3RvSU07SUFDRTtJQUNBO0VwQ3dvSVI7RW9DdG9JUTtJQUNFO0VwQ3dvSVY7RW9Dbm9JSTtJQUNFO0VwQ3FvSU47RW9Dbm9JTTtJQUNFO0VwQ3FvSVI7RW9DbG9JTTtJQUNFO0VwQ29vSVI7QUFDRjs7QXFDbHZJQTtFQU1FO0FyQ2d2SUY7QXFDMXVJRTtFQUNFO0FyQzR1SUo7QXFDenVJRTtFQUNFO0VBQ0E7QXJDMnVJSjtBcUN4dUlFO0VBQ0U7QXJDMHVJSjtBcUN2dUlFO0VBQ0U7QXJDeXVJSjtBTXB3SUU7RStCQ0Y7SUFpREk7RXJDc3RJRjtFcUNwdElFO0lBQ0U7RXJDc3RJSjtFcUNudElFO0lBQ0U7RXJDcXRJSjtBQUNGOztBc0M5d0lBO0VqQ2dDRTtBTGt2SUY7O0FzQ253SU07RUFFRTtFQUNBO0VBQ0E7RUFDQTtBdENxd0lSO0FNMXhJRTtFZ0NnQkk7SXBCbkJGO0lBQ0E7RWxCaXlJRjtBQUNGO0FNaHlJRTtFZ0MyQkk7SWpCckNKO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckI4eUlBO0VLMzFISTtJZ0J2Y0o7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEIreElUO0VLOTFISTtJZ0IzY0o7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztJakJtY0g7RUxvMkhOO0FBQ0Y7QXNDenhJUTtFQUVFO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFHQTtBdEN3eElWO0FzQ3R4SVU7RUFDRTtBdEN3eElaO0FzQy93SU07RUFDRTtBdENpeElSO0FzQ3Z3SU07RUFDRTtBdEN5d0lSO0FzQ3B3SU07RUFDRTtBdENzd0lSO0FzQy92SUk7RUFDRTtBdENpd0lOO0FzQzd2SUU7RUFDRTtBdEMrdklKO0FzQzd2SUk7RUFDRTtBdEMrdklOO0FzQ3p2SUk7RUFDRTtBdEMydklOO0FzQ3h2SUk7RUFDRTtBdEMwdklOO0FzQ3Z2SUk7RUFDRTtFQUNBO0F0Q3l2SU47QXNDL3VJRTtFQUNFO0F0Q2l2SUo7QXNDL3VJSTtFQUNFO0F0Q2l2SU47QXNDM3VJRTtFQUNFO0VBQ0E7QXRDNnVJSjtBc0N4dUlFO0VBQ0U7RUFDQTtBdEMwdUlKO0FzQ3h1SUk7RUFDRTtBdEMwdUlOO0FzQ3R1SUU7RUFDRTtFQUNBO0F0Q3d1SUo7QXNDbHVJSTtFQUNFO0F0Q291SU47QXNDOXRJSTtFQUNFO0F0Q2d1SU47QXNDN3RJSTtFQUNFO0VBQ0E7RUFDQTtBdEMrdElOO0FzQzd0SU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDK3RJUjtBc0MxdElRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRDNHRJVjtBc0N4dElZO0VBQ0U7QXRDMHRJZDtBc0NydElROztFQUdFO0F0Q3N0SVY7QXNDbnRJUTtFQUNFO0VBQ0E7QXRDcXRJVjtBc0NodElJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRDa3RJTjtBc0Mvc0lJO0VBQ0U7QXRDaXRJTjtBc0M5c0lJO0VBQ0U7QXRDZ3RJTjtBc0Mzc0lJO0VBQ0U7RUFDQTtBdEM2c0lOO0FzQzNzSU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDNnNJUjtBc0N0c0lJO0VBQ0U7QXRDd3NJTjtBc0Nyc0lJO0VBQ0U7QXRDdXNJTjtBTXA3SUU7RWdDZ1FFO0lBQ0U7SUFDQTtFdEN1cklKO0VzQ3BySUU7SUFDRTtFdENzcklKO0VzQ25ySUU7SUFDRTtJQUNBO0V0Q3FySUo7RXNDaHJJTTtJQUNFO0V0Q2tySVI7RXNDN3FJRTtJQUNFO0V0QytxSUo7RXNDMXFJSTtJQUNFO0V0QzRxSU47RXNDdHFJSTtJQUNFO0V0Q3dxSU47RXNDcnFJSTtJQUNFO0V0Q3VxSU47RXNDbnFJRTtJQUNFO0V0Q3FxSUo7QUFDRjs7QXVDbDlJQTtFQU1FO0F2Q2c5SUY7QXVDejhJRTtFQUVFO0F2QzA4SUo7QXVDdjhJRTtFQUNFO0F2Q3k4SUo7QXVDdDhJRTtFQUNFO0VBQ0E7QXZDdzhJSjtBdUNyOElJO0VBRUU7QXZDczhJTjtBdUNsOElFO0VBQ0U7RUFDQTtBdkNvOElKO0FTai9JSTtFQWlDRjtBVG05SUY7QVMzK0lJO0VBbUJGO0VBQ0E7QVQyOUlGO0FTMStJTTtFQW1CSjtBVDA5SUY7QVN6K0lRO0VBVU47RUFDQTtBVGsrSUY7QU10L0lFO0VpQ0NGO0lBNkRJO0V2QzQ3SUY7RXVDMTdJRTtJQUNFO0V2QzQ3SUo7RXVDeDdJSTtJQUNFO0V2QzA3SU47RXVDdjdJSTtJQUNFO0V2Q3k3SU47RXVDcDdJUTtJQUNFO0lBQ0E7RXZDczdJVjtFdUNoN0lFO0lBQ0U7RXZDazdJSjtFdUNoN0lJO0lBQ0U7SUFDQTtFdkNrN0lOO0V1Qzc2SUU7SUFFRTtFdkM4NklKO0V1QzU2SWE7SUFDUDtFdkM4NklOOztFdUMxNklJO0lBQ0U7SUFDQTtFdkM2NklOO0V1QzM2SWU7SUFDUDtJQUNBO0V2QzY2SVI7O0V1Q3g2SUU7SUFDRTtFdkMyNklKO0FBQ0Y7O0F1Q3Y2SUE7RUFDRTtBdkMwNklGOztBd0MxaEpJO0VBQ0U7QXhDNmhKTjtBd0N6aEpFO0VBQ0U7QXhDMmhKSjtBd0N2aEpJO0VBQ0U7QXhDeWhKTjtBd0NyaEpFO0VBQ0U7QXhDdWhKSjtBTW5qSkU7RWtDQ0Y7SUFtREk7RXhDbWdKRjtFd0NqZ0pFO0lBQ0U7RXhDbWdKSjtFd0NoZ0pFO0lBQ0U7RXhDa2dKSjtFd0MvL0lFO0lBQ0U7RXhDaWdKSjtFd0M1L0lFO0lBQ0U7RXhDOC9JSjtFd0M1L0lJO0lBQ0U7RXhDOC9JTjtFd0M1L0lNO0lBQ0U7SUFDQTtFeEM4L0lSO0V3QzEvSUk7SUFDRTtFeEM0L0lOO0V3Q3ovSUk7SUFDRTtFeEMyL0lOO0FBQ0Y7O0F5QzFrSkU7RUFDRTtBekM2a0pKO0F5Q3RrSkU7RUFDRTtFQUNBO0VBQ0E7QXpDd2tKSjtBeUNya0pFO0VBQ0U7QXpDdWtKSjtBeUNua0pJO0VBQ0U7QXpDcWtKTjtBeUNoa0pJO0VBQ0U7QXpDa2tKTjtBeUMvakpJO0VBQ0U7QXpDaWtKTjtBTXRtSkU7RW1DOERJO0lBQ0U7RXpDMmlKTjtFeUN2aUpFO0lBQ0U7RXpDeWlKSjtFeUN0aUpFO0lBQ0U7SUFDQTtFekN3aUpKO0V5Q3JpSkU7SUFFRTtJQUNBO0V6Q3NpSko7QUFDRjs7QTBDcm5KQTtFQU1FO0VBQ0E7QTFDbW5KRjtBMEMzbUpJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTFDNm1KTjtBMEN6bUpFO0VBQ0U7RUFDQTtBMUMybUpKO0EwQ3BtSkk7O0VBRUU7QTFDc21KTjtBMENsbUpNO0VBQ0U7QTFDb21KUjtBTTVvSkU7RW9DZ0VFO0lBQ0U7SUFDQTtFMUMra0pKO0FBQ0Y7QU1scEpFO0VvQ0NGO0lBc0VJO0UxQytrSkY7RTBDN2tKRTtJQUNFO0UxQytrSko7RTBDN2tKSTtJQUNFO0lBQ0E7SUFDQTtFMUMra0pOO0UwQzdrSk07SUFDRTtJQUNBO0lBQ0E7RTFDK2tKUjtFMEN2a0pNO0lBQ0U7RTFDeWtKUjtFMENwa0pFO0lBQ0U7RTFDc2tKSjtFMENqa0pNO0lBQ0U7SUFDQTtFMUNta0pSO0UwQzlqSkU7SUFDRTtFMUNna0pKO0UwQzNqSk07SXhDckZKO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRbkN2QiwwQ1I2Q2U7SVE1Q2Y7SWdDdUdRO0UxQ2lrSlI7QUFDRjs7QTJDbHJKQTtFQU1FO0EzQ2dySkY7QTJDenFKSTtFQUNFO0EzQzJxSk47QTJDenFKTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJBakNtQjtBM0M0c0ozQjtBMkN0cUpVO0VBQ0U7RUFDQTtFQUNBO0EzQ3dxSlo7QTJDcHFKUTtFQUNFO0EzQ3NxSlY7QTJDanFKUTtFQUNFO0EzQ21xSlY7QTJDL3BKTTtFQUNFO0VBQ0E7RUFDQTtBM0NpcUpSO0EyQy9wSlE7RUFDRTtFQUNBO0EzQ2lxSlY7QTJDdnBKRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0N5cEpKO0EyQ3ZwSkk7RUFDRTtBM0N5cEpOO0EyQ3JwSkk7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQ3NwSk47QTJDbnBKSTtFQUNFO0EzQ3FwSk47QTJDbHBKSTtFQUNFO0EzQ29wSk47QTJDanBKSTtFQUNFO0EzQ21wSk47QTJDL29KVTtFQUNFO0EzQ2lwSlo7QTJDNW9KVTtFQUNFO0EzQzhvSlo7QTJDeG9KTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Mwb0pSO0EyQ3hvSlE7RUFDRTtFQUNBO0EzQzBvSlY7QTJDcm9KSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EzQ3VvSk47QTJDcm9KTTtFQUNFO0VBQ0E7RUFDQTtBM0N1b0pSO0FNbnhKRTtFcUNrS0k7SUFDRTtJQUNBLGlCQTFLZ0M7RTNDOHhKdEM7RTJDbG5KTTtJQUVFO0lBQ0EsaUJBL0s4QjtFM0NreUp0QztFMkMvbUpRO0lBQ0UsaUJBcEw0QjtFM0NxeUp0QztFMkN4bUpRO0lBQ0U7RTNDMG1KVjtFMkN0bUpNO0lBQ0U7RTNDd21KUjtFMkN0bUpRO0lBRUU7SUFDQTtJQUNBLHVCQXZNdUI7RTNDOHlKakM7QUFDRjs7QTRDaHlKRTtFQUNFO0VBQ0E7QTVDbXlKSjtBNENoeUpFO0VBQ0U7QTVDa3lKSjtBNEMveEpFO0VBQ0U7QTVDaXlKSjtBNEM5eEpFO0VBQ0U7QTVDZ3lKSjtBNEM1eEpJO0VBQ0U7QTVDOHhKTjtBTTV6SkU7RXNDcURFO0lBQ0U7SUFDQTtFNUMwd0pKO0U0Q3Z3SkU7SUFDRTtFNUN5d0pKO0U0Q3R3SkU7SUFDRTtFNUN3d0pKO0FBQ0Y7O0E2QzN1SkU7RUF4R0E7RUFDQTtFQXlHRTtBN0MrdUpKO0E2QzV1SkU7RUE3R0E7RUFDQTtBN0M0MUpGO0E2QzV1SkU7RUFqSEE7RUFDQTtBN0NnMkpGO0E2QzV1SkU7RUFySEE7RUFDQTtBN0NvMkpGO0E2QzV1SkU7RUF6SEE7RUFDQTtBN0N3MkpGO0E2QzV1SkU7RUE3SEE7RUFDQTtBN0M0MkpGO0E2QzV1SkU7RUFqSUE7RUFDQTtBN0NnM0pGO0E2QzV1SkU7RUFySUE7RUFDQTtBN0NvM0pGO0E2QzV1SkU7RUF6SUE7RUFDQTtBN0N3M0pGO0E2Q3IzSkk7Ozs7Ozs7Ozs7Ozs7OztFQWVFO0E3Q3UzSk47QTZDcDNKSTs7RUFFRTtBN0NzM0pOO0E2Q3AzSk07O0VBQ0U7QTdDdTNKUjtBNkNsM0pNO0VBQ0U7QTdDbzNKUjtBNkNsM0pRO0VBQ0U7QTdDbzNKVjtBNkNqM0pRO0VBQ0U7QTdDbTNKVjtBNkM3MkpVOztFQUVFO0E3QysySlo7QTZDNTJKVTtFQUNFO0E3QzgySlo7QTZDdjJKTTtFQUNFO0E3Q3kySlI7QTZDdjJKUTtFQUNFO0E3Q3kySlY7QTZDbjJKTTtFQUNFO0E3Q3EySlI7QTZDbjJKUTtFQUNFO0E3Q3EySlY7QTZDaDJKSTtFQUNFO0E3Q2sySk47QTZDLzFKSTtFQUNFO0E3Q2kySk47QTZDLzFKTTs7O0VBR0U7QTdDaTJKUjtBNkM3MUpJO0VBQ0U7RUFDQTtBN0MrMUpOO0FNbDdKRTtFdUNpSUU7SUE1SUY7SUFDQTtFN0NpOEpBO0U2Qzk3SkU7Ozs7Ozs7Ozs7Ozs7OztJQWVFO0U3Q2c4Sko7RTZDNzdKRTs7SUFFRTtFN0MrN0pKO0U2Qzc3Skk7O0lBQ0U7RTdDZzhKTjtFNkMzN0pJO0lBQ0U7RTdDNjdKTjtFNkMzN0pNO0lBQ0U7RTdDNjdKUjtFNkMxN0pNO0lBQ0U7RTdDNDdKUjtFNkN0N0pROztJQUVFO0U3Q3c3SlY7RTZDcjdKUTtJQUNFO0U3Q3U3SlY7RTZDaDdKSTtJQUNFO0U3Q2s3Sk47RTZDaDdKTTtJQUNFO0U3Q2s3SlI7RTZDNTZKSTtJQUNFO0U3Qzg2Sk47RTZDNTZKTTtJQUNFO0U3Qzg2SlI7RTZDejZKRTtJQUNFO0U3QzI2Sko7RTZDeDZKRTtJQUNFO0U3QzA2Sko7RTZDeDZKSTs7O0lBR0U7RTdDMDZKTjtFNkN0NkpFO0lBQ0U7SUFDQTtFN0N3NkpKO0FBQ0Y7QU01L0pFO0V1Q3VJRTtJQWxKRjtJQUNBO0U3QzJnS0E7RTZDeGdLRTs7Ozs7Ozs7Ozs7Ozs7O0lBZUU7RTdDMGdLSjtFNkN2Z0tFOztJQUVFO0U3Q3lnS0o7RTZDdmdLSTs7SUFDRTtFN0MwZ0tOO0U2Q3JnS0k7SUFDRTtFN0N1Z0tOO0U2Q3JnS007SUFDRTtFN0N1Z0tSO0U2Q3BnS007SUFDRTtFN0NzZ0tSO0U2Q2hnS1E7O0lBRUU7RTdDa2dLVjtFNkMvL0pRO0lBQ0U7RTdDaWdLVjtFNkMxL0pJO0lBQ0U7RTdDNC9KTjtFNkMxL0pNO0lBQ0U7RTdDNC9KUjtFNkN0L0pJO0lBQ0U7RTdDdy9KTjtFNkN0L0pNO0lBQ0U7RTdDdy9KUjtFNkNuL0pFO0lBQ0U7RTdDcS9KSjtFNkNsL0pFO0lBQ0U7RTdDby9KSjtFNkNsL0pJOzs7SUFHRTtFN0NvL0pOO0U2Q2gvSkU7SUFDRTtJQUNBO0U3Q2svSko7QUFDRjtBTXRrS0U7RXVDNklFO0lBeEpGO0lBQ0E7RTdDcWxLQTtFNkNsbEtFOzs7Ozs7Ozs7Ozs7Ozs7SUFlRTtFN0NvbEtKO0U2Q2psS0U7O0lBRUU7RTdDbWxLSjtFNkNqbEtJOztJQUNFO0U3Q29sS047RTZDL2tLSTtJQUNFO0U3Q2lsS047RTZDL2tLTTtJQUNFO0U3Q2lsS1I7RTZDOWtLTTtJQUNFO0U3Q2dsS1I7RTZDMWtLUTs7SUFFRTtFN0M0a0tWO0U2Q3prS1E7SUFDRTtFN0Mya0tWO0U2Q3BrS0k7SUFDRTtFN0Nza0tOO0U2Q3BrS007SUFDRTtFN0Nza0tSO0U2Q2hrS0k7SUFDRTtFN0Nra0tOO0U2Q2hrS007SUFDRTtFN0Nra0tSO0U2QzdqS0U7SUFDRTtFN0MraktKO0U2QzVqS0U7SUFDRTtFN0M4aktKO0U2QzVqS0k7OztJQUdFO0U3QzhqS047RTZDMWpLRTtJQUNFO0lBQ0E7RTdDNGpLSjtBQUNGO0E2QzUvSk07RUEvSko7RUFDQTtBN0M4cEtGO0E2QzNwS0k7Ozs7Ozs7Ozs7Ozs7OztFQWVFO0E3QzZwS047QTZDMXBLSTs7RUFFRTtBN0M0cEtOO0E2QzFwS007O0VBQ0U7QTdDNnBLUjtBNkN4cEtNO0VBQ0U7QTdDMHBLUjtBNkN4cEtRO0VBQ0U7QTdDMHBLVjtBNkN2cEtRO0VBQ0U7QTdDeXBLVjtBNkNucEtVOztFQUVFO0E3Q3FwS1o7QTZDbHBLVTtFQUNFO0E3Q29wS1o7QTZDN29LTTtFQUNFO0E3QytvS1I7QTZDN29LUTtFQUNFO0E3QytvS1Y7QTZDem9LTTtFQUNFO0E3QzJvS1I7QTZDem9LUTtFQUNFO0E3QzJvS1Y7QTZDdG9LSTtFQUNFO0E3Q3dvS047QTZDcm9LSTtFQUNFO0E3Q3VvS047QTZDcm9LTTs7O0VBR0U7QTdDdW9LUjtBNkNub0tJO0VBQ0U7RUFDQTtBN0Nxb0tOO0E2QzFqS007RUFDRTtBN0M0aktSO0E2Q3ZqS0U7RUFFRTtBN0N3aktKO0FNOXRLRTtFdUNvS0E7SXhCdkhFO0lBQUE7SUFDQTtFckJxcktGO0FBQ0Y7QU1wdUtFO0V1Q29LQTtJeEJoSEU7RXJCb3JLRjtBQUNGO0FNenVLRTtFdUNvS0E7SXhCekdFO0VyQmtyS0Y7QUFDRjtBTTl1S0U7RXVDb0tBO0l4QmxHRTtFckJncktGO0FBQ0Y7QTZDemtLRTtFQUVFO0VBQ0E7QTdDMGtLSjtBTXZ2S0U7RXVDMEtBO0l4QjdIRTtJQUFBO0lBQ0E7RXJCOHNLRjtBQUNGO0FNN3ZLRTtFdUMwS0E7SXhCdEhFO0VyQjZzS0Y7QUFDRjtBTWx3S0U7RXVDMEtBO0l4Qi9HRTtFckIyc0tGO0FBQ0Y7QU12d0tFO0V1QzBLQTtJeEJ4R0U7RXJCeXNLRjtBQUNGO0FNNXdLRTtFdUMwS0E7SUFNSTtFN0NnbUtKO0FBQ0Y7O0E4QzV3S0U7RUFDRTtBOUMrd0tKOztBOEMzd0tBO0VBQ0U7QTlDOHdLRjtBOEM1d0tFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTlDOHdLSjtBOEMzd0tFO0VBQ0U7QTlDNndLSjs7QStDL3dLRTtFQUNFO0EvQ2t4S0o7QStDN3dLRTtFQUNFO0EvQyt3S0o7QStDMXdLRTtFQUNFO0EvQzR3S0o7QStDbndLTTtFQUNFO0EvQ3F3S1I7QStDandLSTtFN0NkQTtFQUNBO0VBbUJBLGdDQUZxQjtFNkNEbkI7RUFDQTtBL0Nvd0tOO0ErQy92S0k7RUFHRTtBL0MrdktOO0ErQzV2S0k7RUFJRTtFQUNBO0EvQzJ2S047QStDeHZLSTtFQUdFO0VBQ0E7QS9Dd3ZLTjtBK0NydktJO0VBSUU7RUFDQTtBL0NvdktOO0ErQ2x2S007RUFHRTtBL0NrdktSO0ErQzF1S0k7RUFDRTtFQUNBO0VBQ0E7QS9DNHVLTjtBK0N6dUtRO0VBQ0U7QS9DMnVLVjtBK0NwdUtNOztFQUNFO0VBQ0E7QS9DdXVLUjtBTXIxS0U7RXlDeUlFO0lBQ0U7RS9DK3NLSjtFK0M1c0tFO0lBQ0U7RS9DOHNLSjtBQUNGO0FNNzFLRTtFeUNrSkk7OztJN0NsSEY7SUFDQTtJQW1CQSwyQkFGcUI7RUZtekt2QjtBQUNGO0FNdDJLRTtFeUN3Skk7SUFDRTtJQUNBO0lBQ0E7RS9DaXRLTjtFK0Mvc0tNO0lBQ0U7RS9DaXRLUjtFK0Mvc0tRO0lBQ0U7RS9DaXRLVjtBQUNGO0FNbjNLRTtFeUNzS0k7SUFDRTtJQUNBO0UvQ2d0S047RStDN3NLUTtJQUNFO0lBQ0E7SUFDQTtFL0Mrc0tWO0FBQ0Y7QU05M0tFO0V5Q21MSTtJN0NuSkY7SUFDQTtJQW1CQSxnQ0FGcUI7STZDb0lqQjtFL0Mrc0tOO0FBQ0Y7QU10NEtFO0V5QzJMSTtJQUNFO0UvQzhzS047QUFDRjtBTTM0S0U7RXlDK0xJO0lBQ0U7SUFDQTtFL0Mrc0tOO0FBQ0Y7QU1qNUtFO0V5Q29NSTtJQUNFO0UvQ2d0S047QUFDRjtBTXQ1S0U7RXlDNk1NOzs7STdDN0tKO0lBQ0E7SUFtQkEsMkJBRnFCO0lRMUNyQjtFVnU1S0Y7QUFDRjtBTWg2S0U7RXlDa05ROzs7SUFDRTtFL0NtdEtWO0FBQ0Y7O0FnRDU1S0U7RUFDRTtBaEQrNUtKO0FnRDc1S0k7RUFDRTtBaEQrNUtOO0FnRDM1S0U7RUFDRTtFQUNBO0FoRDY1S0o7QWdEMTVLRTtFQUNFO0FoRDQ1S0o7QWdEMTVLSTtFQUNFO0VBQ0E7QWhENDVLTjtBZ0R4NUtFO0VBQ0U7QWhEMDVLSjtBTTU3S0U7RTBDd0RFO0lBQ0U7RWhEdTRLSjtFZ0RwNEtFO0lBQ0U7RWhEczRLSjtFZ0RuNEtFO0lBQ0U7RWhEcTRLSjtFZ0RsNEtFO0lBQ0U7SUFDQTtFaERvNEtKO0VnRGw0S0k7SUFDRTtJQUNBO0VoRG80S047RWdEbDRLTTtJQUNFO0VoRG80S1I7RWdELzNLRTtJQUNFO0VoRGk0S0o7QUFDRjs7QWlEcDlLQTtFQUVFO0FqRHM5S0Y7QWlEaDlLRTtFQUNFO0VBQ0E7QWpEazlLSjtBaUQvOEtFOztFQUVFO0FqRGk5S0o7QWlEOThLRTtFQUNFO0VBQ0E7QWpEZzlLSjtBTXIrS0U7RTJDQ0Y7SUE4Q0k7SUFHQTtFakR3N0tGO0VpRHQ3S0U7SUFDRTtJQUNBO0VqRHc3S0o7RWlEcjdLRTtJQUNFO0VqRHU3S0o7QUFDRjs7QWtEei9LRTtFQUNFO0FsRDQvS0o7QWtEei9LRTtFQUNFO0VBQ0E7QWxEMi9LSjtBa0R4L0tFO0VBQ0U7QWxEMC9LSjtBa0R4L0tJO0VBQ0U7QWxEMC9LTjtBa0R0L0tFO0VBQ0U7QWxEdy9LSjtBa0R0L0tJOztFQUVFO0FsRHcvS047O0FtRHBnTEE7RUFDRTtFQUNBO0VBQ0E7QW5EdWdMRjtBbURyZ0xFO0VBQ0U7RUFDQTtFQUNBO0FuRHVnTEo7QW1EcGdMRTtFQUVFO0FuRHFnTEo7QU1yaExFO0U2Q0dGO0lBMkNJO0VuRDIrS0Y7RW1EeitLRTtJQUVFO0VuRDArS0o7QUFDRjtBTTdoTEU7RTZDdURFO0lBRUU7RW5EdytLSjtBQUNGO0FNbGlMRTtFNkNHRjtJQTJESTtFbkR3K0tGO0VtRHQrS0U7SUFFRTtFbkR1K0tKO0FBQ0Y7O0FvRHppTEE7RUFFRTtBcEQyaUxGO0FvRGppTEU7RUFDRTtFQUNBO0FwRG1pTEo7QW9EaGlMRTtFQUNFO0FwRGtpTEo7QW9EL2hMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBEaWlMSjtBb0R6aExFO0VBQ0U7QXBEMmhMSjtBTS9qTEU7RThDdURFO0lBQ0U7SUFDQTtFcEQyZ0xKO0VvRHhnTEU7SUFDRTtFcEQwZ0xKO0VvRHhnTEk7SUFDRTtJQUNBO0VwRDBnTE47RW9EdmdMSTtJQUNFO0VwRHlnTE47QUFDRjs7QXFEbmtMQTtFQUNFO0FyRHNrTEY7O0FxRG5rTEE7RWhEdUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUxnaUxGOztBcUQxa0xBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckQ2a0xGOztBcUQxa0xBO0VBOUJFO0VBQUE7RUFnQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQSx1QkFuRDZCO0VBb0Q3QjtFQUNBO0FyRDZrTEY7QXFEM2tMRTtFQUNFO0FyRDZrTEo7QXFEMWtMRTtFQUNFO0VBQ0E7RUFDQTtBckQ0a0xKO0FxRHprTEU7RWhEdkJBO0VnRHlCRTtBckQya0xKO0FxRHhrTEU7RUFDRTtBckQwa0xKO0FxRHZrTEU7RUFDRTtBckR5a0xKO0FxRHJrTEU7RUFDRTtBckR1a0xKOztBcURua0xBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QXJEcWtMRjtBcURua0xFO0VBQ0U7QXJEcWtMSjs7QXFEamtMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckRva0xGO0FxRGprTEU7RUFDRTtFQUNBO0VBQ0E7QXJEbWtMSjs7QXFEL2pMQTtFQUVFO0VBQ0E7RUFDQTtFQUNBLGlCQWxIMEI7RUFtSDFCO0VBQ0EsdUJBdEgrQjtFQXVIL0I7RUFDQTtBckRpa0xGO0FxRDlqTEU7RUFDRTtFQUNBO0VBQ0E7QXJEZ2tMSjtBcUQ1akxFO0VBQ0U7RUFDQTtFQUNBO0FyRDhqTEo7O0FxRDFqTEE7RUFoSUU7RUFBQTtFQWtJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckQ2akxGO0FxRDNqTEU7RWhEcEZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUxrcExGO0FxRGhrTEU7RUEvSUE7RUFBQTtFQWtKRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHVCQWpLaUM7QXJEa3VMckM7QXFEOWpMRTtFQUNFO1VBQUE7QXJEZ2tMSjtBcUQ3akxFO0VBQ0U7VUFBQTtBckQrakxKO0FxRDVqTEU7RUFDRTtFQUNBO0FyRDhqTEo7O0FzRGx0TEU7Ozs7RUFJRTtBdERxdExKO0FzRGh0TEU7RUFDRTtBdERrdExKO0FzRDdzTE07RUFDRTtFQUNBO0VBQ0E7QXREK3NMUjtBUzd2TEk7RUFpQ0Y7QVQrdExGO0FTdnZMSTtFQW1CRjtFQUNBO0FUdXVMRjtBU3R2TE07RUFtQko7QVRzdUxGO0FTcnZMUTtFQVVOO0VBQ0E7QVQ4dUxGO0FzRGh0TEk7RVQ3REY7RUFDQTtFUzhESTtBdERtdExOO0FzRGp0TE07RVRqRUo7RUFDQTtFU2tFTTtFQUNBO0F0RG90TFI7QXNEanRMTTtFQUVFO0F0RGt0TFI7QXNEOXNMUTtFQUNFLG1CQXRFMEI7RUF1RTFCO0F0RGd0TFY7QXNENXNMTTtFVG5GSjtFQUNBO0VTaUJBO0VBQ0E7RUFDQTtFQWtFTTtFQUNBLGVBL0U0QjtFQWlGNUIsc0JBaEZzQztBdERneUw5QztBc0Qzc0xRO0VBQ0U7RUFDQTtBdEQ2c0xWO0FzRHhzTFE7RUFDRTtNQUFBO1VBQUE7RUFDQTtBdEQwc0xWO0FzRHhzTFU7RUFDRTtBdEQwc0xaO0FzRHhzTFk7RUFDRTtBdEQwc0xkO0FzRG5zTE07RVRwSEo7RUFDQTtFU2lCQTtFQUNBO0VBQ0E7RUFtR007RUFDQTtFQUVBLG1CQWhIcUM7QXREdXpMN0M7QXNEbHNMUTtFQUNFO0F0RG9zTFY7QXNEanNMUTtFQUNFO01BQUE7VUFBQTtFQUNBO0F0RG1zTFY7QXNEanNMVTtFQUNFO0F0RG1zTFo7QXNEM3JMSTtFakRwR0Y7QUxreUxGO0FzRDFyTEk7RWpEakdGO0FMOHhMRjtBSzN4TEk7RUFFRTtFQUFBO0VBQUE7QUw0eExOO0FLOXhMSTtFQUVFO0VBQUE7RUFBQTtBTCt4TE47QUtqeUxJO0VBRUU7RUFBQTtFQUFBO0FMa3lMTjtBS3B5TEk7RUFFRTtFQUFBO0VBQUE7QUxxeUxOO0FzRG5zTEk7RVQxSkY7RUFDQTtFUzJKSTtBdERzc0xOO0E2QzkxTEk7Ozs7Ozs7Ozs7Ozs7OztFQWVFO0E3Q2cyTE47QTZDNzFMSTs7RUFFRTtBN0MrMUxOO0E2QzcxTE07O0VBQ0U7QTdDZzJMUjtBNkMzMUxNO0VBQ0U7QTdDNjFMUjtBNkMzMUxRO0VBQ0U7QTdDNjFMVjtBNkMxMUxRO0VBQ0U7QTdDNDFMVjtBNkN0MUxVOztFQUVFO0E3Q3cxTFo7QTZDcjFMVTtFQUNFO0E3Q3UxTFo7QTZDaDFMTTtFQUNFO0E3Q2sxTFI7QTZDaDFMUTtFQUNFO0E3Q2sxTFY7QTZDNTBMTTtFQUNFO0E3QzgwTFI7QTZDNTBMUTtFQUNFO0E3QzgwTFY7QTZDejBMSTtFQUNFO0E3QzIwTE47QTZDeDBMSTtFQUNFO0E3QzAwTE47QTZDeDBMTTs7O0VBR0U7QTdDMDBMUjtBNkN0MExJO0VBQ0U7RUFDQTtBN0N3MExOO0FzRHZ3TEk7RVQvSkY7RUFDQTtFU2dLSTtFQUFtQjtBdEQyd0x6QjtBNkN4NkxJOzs7Ozs7Ozs7Ozs7Ozs7RUFlRTtBN0MwNkxOO0E2Q3Y2TEk7O0VBRUU7QTdDeTZMTjtBNkN2NkxNOztFQUNFO0E3QzA2TFI7QTZDcjZMTTtFQUNFO0E3Q3U2TFI7QTZDcjZMUTtFQUNFO0E3Q3U2TFY7QTZDcDZMUTtFQUNFO0E3Q3M2TFY7QTZDaDZMVTs7RUFFRTtBN0NrNkxaO0E2Qy81TFU7RUFDRTtBN0NpNkxaO0E2QzE1TE07RUFDRTtBN0M0NUxSO0E2QzE1TFE7RUFDRTtBN0M0NUxWO0E2Q3Q1TE07RUFDRTtBN0N3NUxSO0E2Q3Q1TFE7RUFDRTtBN0N3NUxWO0E2Q241TEk7RUFDRTtBN0NxNUxOO0E2Q2w1TEk7RUFDRTtBN0NvNUxOO0E2Q2w1TE07OztFQUdFO0E3Q281TFI7QTZDaDVMSTtFQUNFO0VBQ0E7QTdDazVMTjtBc0QxMExJO0VUdEtGO0VBQ0E7RVN1S0k7QXRENjBMTjtBc0QxMExJO0VBQ0U7QXRENDBMTjtBc0R2MExRO0VBQ0U7QXREeTBMVjtBc0RuMExNO0VBQ0U7QXREcTBMUjtBTW4vTEU7RWdEcUxJOztJQUVFO0V0RGkwTE47RXNENXpMUTtJQUNFO0V0RDh6TFY7QUFDRjs7QXVENS9MRTtFQUNFO0F2RCsvTEo7QU1oZ01FO0VpRFdFO0lBQ0U7RXZEdy9MSjtFdUR0L0xJO0lBQ0U7SUFDQTtFdkR3L0xOO0FBQ0Y7O0F3RHovTEU7RUFDRTtBeEQ0L0xKO0F3RHovTEU7RUFDRTtFQUNBLG1DdER3Q2U7RXNEdkNmO0VBQ0E7QXhEMi9MSjtBd0R2L0xJO0VBQ0U7RUFDQTtFQUVBO0F4RHcvTE47QXdEdC9MTTtFQUVFO0VBQ0E7RUFDQTtBeER1L0xSO0F3RGovTEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeERtL0xOO0F3RGovTE07RUFDRTtBeERtL0xSO0F3RDcrTE07RW5EM0JKO0FMMmdNRjtBd0R6K0xJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEQyK0xOO0F3RHYrTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeER5K0xKO0F3RDc5TEk7RUFDRTtBeEQrOUxOO0FNcmtNRTtFa0RNRjtJbkNoQkU7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0ltQzZIRTtRQUFBO1lBQUE7RXhEdTlMRjtFd0RyOUxFO0l0RHhGQTtJQUNBO0VGZ2pNRjtFd0RyOUxFO0lBQ0U7UUFBQTtZQUFBO0V4RHU5TEo7RXdEbjlMSTtJdERqR0Y7SUFDQTtJQW1CQSwyQkFGcUI7SVE1QnZCLDBDUnNDZTtJUXJDZjtJQUNBO0k4QzJHTTtFeEQwOUxOO0VVbmtNQTtJQUNFO0VWcWtNRjtBQUNGO0FNam1NRTtFa0RpSUk7SXREakdGO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRakJyQjtFVnVrTUY7QUFDRjtBTXptTUU7RWtEcUlNO0lBRUU7SUFDQTtJQUNBO0V4RHMrTFI7QUFDRjtBTWhuTUU7RWtEK0lJO0lBQ0U7SUFDQTtJQUNBO0V4RG8rTE47RXdEbCtMTTtJQUNFO0lBQ0E7RXhEbytMUjtFd0RsK0xRO0lBQ0U7SUFDQTtJQUNBO0V4RG8rTFY7QUFDRjtBTWhvTUU7RWtEa0tJO0lBQ0U7SUFDQTtFeERpK0xOO0FBQ0Y7QU10b01FO0VrRHdLRTtJQUNFO0lBQ0E7SUFDQTtFeERpK0xKO0FBQ0Y7QU03b01FO0VrRGdMTTtJdERoSko7SUFDQTtJc0RpSk07RXhEaStMUjtFd0QvOUxRO0lBQ0U7RXhEaStMVjtFd0Q1OUxJO0lBQ0U7SUFDQTtFeEQ4OUxOO0FBQ0Y7QU0zcE1FO0VrRGlNSTtJQUNFO0V4RDY5TE47QUFDRjs7QXlEenBNRTtFdkR5QkU7RUFDQTtFdUR2QkE7RUFDQTtBekQ0cE1KO0F5RHpwTUU7RUFDRTtFQUNBO0VBQ0EsY0E3QmE7QXpEd3JNakI7QXlEenBNSTtFQUNFO0F6RDJwTU47QXlEenBNTTtFQUNFO0F6RDJwTVI7QXlEeHBNTTtFQUNFO0F6RDBwTVI7QXlEdnBNTTtFQUNFO0F6RHlwTVI7QXlEdHBNTTtFQUNFO0F6RHdwTVI7QXlEcnBNTTtFQUNFO0F6RHVwTVI7QXlEbHBNRTtFQUNFO0F6RG9wTUo7QXlEaHBNSTtFQUNFO0F6RGtwTU47QXlEOW9NRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QkFwRXlDO0VBcUV6QztFQUNBO0VBQ0EsaUJBbkVZO0F6RG10TWhCO0F5RDlvTUk7RUFDRTtBekRncE1OO0F5RDlvTU07O0VwRG5DSjtBTHFyTUY7QXlEM29NUTtFQUNFO0F6RDZvTVY7QXlEeG9NSTtFQUNFO0F6RDBvTU47QXlEdG9NRTtFQUNFO0F6RHdvTUo7QXlEdG9NSTtFQUNFO0VBQ0E7QXpEd29NTjtBeURyb01RO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXpEdW9NVjtBeURsb01JO0VBQ0U7RUFDQTtFQUNBO0F6RG9vTU47QXlEL25NUTtFQUNFO0F6RGlvTVY7QXlEM25NRTtFQUNFO0VBQ0E7QXpENm5NSjtBeUQxbk1FO0VBQ0U7QXpENG5NSjtBeUR2bk1FO0V2RGpHRTtFQUNBO0V1RGtHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjQS9JYTtBekR5d01qQjtBeUR4bk1JO0VBQ0U7RUFDQTtBekQwbk1OO0F5RHZuTUk7RUFDRTtFQUNBO0F6RHluTU47QXlEcm5NRTtFdkR0SEU7RUFDQTtFdUR1SEE7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjQWxLYTtBekQweE1qQjtBeURybk1FO0V2RC9IRTtFQUNBO0V1RGdJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RHduTUo7QXlEdG5NSTtFQUNFO0VBQ0EsY0E5S1M7QXpEc3lNZjtBeURybk1JO0VBQ0U7QXpEdW5NTjtBeUQvbU1FO0VBQ0U7QXpEaW5NSjtBeUQ5bU1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7QXpEZ25NSjtBeUQ5bU1JO0VBQ0U7RUFDQTtBekRnbk1OO0F5RDFtTUU7RUFDRTtFQUNBO0F6RDRtTUo7QXlEMW1NSTtFQUNFO0VBQ0E7RUFDQTtFcEQvS0o7RW9Ea0xJO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUFBO0VBQUE7RUFBQTtFQUNBO0F6RHNtTU47QXlEcG1NTTtFQUNFO0F6RHNtTVI7QXlEam1NRTtFQUNFO0F6RG1tTUo7QXlEN2xNSTtFQUNFO0VBQ0E7QXpEK2xNTjtBTWoxTUU7RW1EMlBFO0lBQ0U7RXpEeWxNSjtBQUNGO0FNdDFNRTtFbURLRjtJcENmRTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7SW9DeVFFO1FBQUE7WUFBQTtJQUNBO1FBQUE7RXpENGxNRjtFeUQxbE1FO0lBQ0U7SUFDQTtJQUNBO0V6RDRsTUo7RXlEeGxNRTtJQUNFO1FBQUE7RXpEMGxNSjtFeUR2bE1FO0lBQ0U7SUFDQTtFekR5bE1KO0V5RHZsTUk7SUFDRTtFekR5bE1OO0FBQ0Y7O0EwRDMyTUE7RUFNRTtFQUNBLG1CQW5CbUI7QTFENDNNckI7QTBEbDJNRTtFQUNFO0VBQ0E7QTFEbzJNSjtBMERqMk1FO0V4RFNFO0VBQ0E7RXdEUkE7QTFEbzJNSjtBMERqMk1FO0VBQ0UsV0FwQ21CO0ExRHU0TXZCO0EwRGgyTUU7RUFDRTtBMURrMk1KO0EwRDExTUU7RUFDRTtBMUQ0MU1KO0EwRHoxTUU7RUFDRTtBMUQyMU1KO0EwRG4xTUU7RUFDRSxXQTdEdUI7QTFEazVNM0I7QTBEbDFNRTtFQUNFLFdBakV1QjtBMURxNU0zQjtBMERqMU1FO0VBQ0UsV0FyRXVCO0ExRHc1TTNCO0EwRGgxTUU7RUFDRSxXQXpFdUI7QTFEMjVNM0I7QTBELzBNRTtFQUNFLFdBN0V1QjtBMUQ4NU0zQjtBMER6ME1FO0VBRUUsV0F2RnVCO0ExRGk2TTNCO0EwRHYwTUU7RUFDRSxXQTNGdUI7QTFEbzZNM0I7O0EyRHo2TUE7RUFDRTtBM0Q0Nk1GO0EyRDE2TUU7RUFDRTtBM0Q0Nk1KOztBMkR2Nk1FO0VBQ0U7QTNEMDZNSjs7QTREajVNQTtFQU1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7QTVEKzRNRjtBNER4NE1NOztFQUNFO0VBQ0E7RUFDQTtBNUQyNE1SOztBNEQzM01FO0VBQ0U7RUFDQTtBNUQ4M01KO0E0RDUzTUk7RUFDRTtBNUQ4M01OO0E0RHIzTUU7RUFDRTtBNUR1M01KO0E0RC8yTUU7RUFDRTtFQUNBO0E1RGkzTUo7QTREejJNRTtFQUNFO0E1RDIyTUo7QTREejJNSTtFQWpHRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVENjhNRjtBNEQxOE1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVENDhNSjtBNERqM01NO0VBQ0U7QTVEbTNNUjtBNERoM01NO0VBQ0U7QTVEazNNUjtBNEQ5Mk1JO0VBQ0U7RUFDQTtFQUNBO0E1RGczTU47QTRENzJNTTtFQUNFO0E1RCsyTVI7QTREMzFNTTtFQTlJSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUE4SU07RUFDQTtFQUNBO0E1RCsxTVI7QTRENStNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1RDgrTUo7QTRELzFNWTtFQUNFO0VBQ0E7RUFDQTtBNURpMk1kO0E0RG4xTUk7RUFDRTtFQUNBO0E1RHExTU47QTREajFNVTtFQUNFO0VBQ0E7RUFDQTtBNURtMU1aO0E0RGgxTVU7RUFDRTtBNURrMU1aO0E0RDUwTVE7RUFDRTtBNUQ4ME1WO0E0RDMwTVE7RUFDRTtBNUQ2ME1WO0E0RDd6TU07RUF2Tko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBc05NO0VBQ0E7RUFDQTtFQUNBO0E1RGswTVI7QTREeGhORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1RDBoTko7QTREdDBNUTtFQUNFO0E1RHcwTVY7QTREcDBNTTtFQUNFO0E1RHMwTVI7QTREajBNUTtFQTlPTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUE2T1E7QTVEczBNVjtBNERoak5FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVEa2pOSjtBNER0ME1RO0VBM1BOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQTJQUTtFQUNBO0E1RDAwTVY7QTREbmtORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1RHFrTko7QTREMTBNUTtFQTFRTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVEdWxORjtBNERwbE5FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVEc2xOSjtBNER4ME1NO0VBQ0U7RUFDQTtFQUNBO0E1RDAwTVI7QTREaDBNRTtFMUQzUUU7RUFDQTtFQW1CQSx3QkFGcUI7RTBENFByQjtFQUNBO0VBQ0E7RUFDQTtFQUNBLDBDMUR0UGE7RTBEdVBiO0VBQ0E7RUFDQTtFQUNBO0E1RG0wTUo7QTREaDBNTTtFQUNFO0E1RGswTVI7QTREL3pNTTtFQUNFO0E1RGkwTVI7QTREN3pNSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVEK3pNTjtBNEQzek1NO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVENnpNUjtBNEQxek1NO0VBQ0U7RUFDQTtBNUQ0ek1SO0E0RHp6TU07RUFDRTtFQUNBO0E1RDJ6TVI7QTREdnpNSTtFQUNFO0E1RHl6TU47QTREcnpNSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1RHV6TU47QTREenlNSTtFQUNFO0VBQ0E7RUFDQTtBNUQyeU1OO0E0RHh5TVE7RUFDRTtBNUQweU1WO0E0RHB5TVU7RUFDRTtFQUNBO0E1RHN5TVo7QTREanlNTTtFQUNFO0E1RG15TVI7QTREaHlNTTtFQUNFO0VBQ0E7QTVEa3lNUjtBNERoeU1RO0VBQ0U7QTVEa3lNVjtBNER0eE1JO0VBQ0U7RUFDQTtFQUNBO0E1RHd4TU47QTREcnhNUTtFQUNFO0VBQ0E7RUFDQTtBNUR1eE1WO0E0RG54TU07RUFDRTtBNURxeE1SO0E0RGh4TUk7RUFDRTtBNURreE1OO0E0RGh4TU07RUFDRTtBNURreE1SO0E0RC93TU07RUFDRTtBNURpeE1SO0E0RDV3TUk7RTFEN1pBO0VBQ0E7RTBEOFpFO0VBQ0E7QTVEK3dNTjtBNEQ3d01NO0VBQ0U7RUFDQTtFQUNBO0E1RCt3TVI7QTREM3dNUTtFQUNFO0E1RDZ3TVY7QTREandNRTtFMUR0YkU7RUFDQTtFQW1CQSxnQ0FGcUI7RTBEdWFyQjtFQUNBO0VBQ0E7RUFDQTtFQUNBLDBDMURqYWE7RTBEa2FiO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVEb3dNSjtBNERqd01NO0VBQ0U7QTVEbXdNUjtBNERod01NO0VBQ0U7QTVEa3dNUjtBNEQ5dk1JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNURnd01OO0E0RDd2TUk7RUFDRTtBNUQrdk1OO0E0RGp2TUk7RUFDRTtFQUNBO0VBQ0E7QTVEbXZNTjtBNERodk1RO0VBQ0U7RUFDQTtFQUNBO0E1RGt2TVY7QTREdHVNSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVEd3VNTjtBNER0dU1NO0VBQ0U7RUFDQTtBNUR3dU1SO0E0RHB1TVE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNURzdU1WO0E0RGx1TVU7RUFDRTtFQUNBO0E1RG91TVo7QTREeHRNRTtFMUQ3aEJFO0VBQ0E7RTBEOGhCQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsMEMxRHhnQmE7RTBEeWdCYjtFQUNBO0VBQ0E7RUFDQTtBNUQydE1KO0E0RHp0TUk7RUFDRTtFQUNBO0VBQ0E7QTVEMnRNTjtBNER6dE1NO0VBQ0U7QTVEMnRNUjtBNEQ1c01JO0VBQ0U7RUFDQTtFQUNBO0E1RDhzTU47QTREM3NNUTtFQUNFO0VBQ0E7RUFDQTtBNUQ2c01WO0E0RGxzTUk7RUFDRTtBNURvc01OO0E0RC9yTUk7RUFDRTtBNURpc01OO0FNM3pORTtFc0R5b0JRO0lBQ0U7RTVEcXJNVjtFNERuck1VO0lBQ0U7RTVEcXJNWjtBQUNGO0FNbjBORTtFc0QwcEJJO0lBenBCSjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVEczBOQTtFNERuME5BO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RTVEcTBORjtFNEQ5cU1RO0lBdHFCUjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVEdTFOQTtFNERwMU5BO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RTVEczFORjs7RTREMXFNWTtJQTNyQlo7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RHkyTkE7RTREdDJOQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0U1RHcyTkY7O0U0RHJxTVk7SUFsdEJaO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNUQyM05BO0U0RHgzTkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFNUQwM05GOztFNER6cU1ZO0lBRUU7RTVEMnFNZDs7RTREanFNTTtJQTV1Qk47SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RGk1TkE7RTREOTROQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0U1RGc1TkY7RTREdnFNUTtJQXh2QlI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RGs2TkE7RTRELzVOQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0U1RGk2TkY7RTREM3FNUTtJQXJ3QlI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RG03TkE7RTREaDdOQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0U1RGs3TkY7RTREOXFNUTtJQW54QlI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RG84TkE7RTREajhOQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0U1RG04TkY7RTREOXFNTTtJQUNFO0lBQ0E7RTVEZ3JNUjtFNEQ1cU1JO0kxRDN3QkY7SUFDQTtJMEQ0d0JJO0lBQ0E7SUFDQTtFNUQrcU1OO0U0RDVxTVE7SUFDRTtFNUQ4cU1WO0U0RDFxTU07SUFDRTtJQUNBO0U1RDRxTVI7QUFDRjs7QTZELytOQTtFQUNFO0VBQ0E7QTdEay9ORjtBNkRoL05FO0VBQ0U7QTdEay9OSjtBTTkrTkU7RXVEVEY7SUFlSTtFN0Q0K05GO0U2RDErTkU7SUFDRTtFN0Q0K05KO0FBQ0Y7O0E4RGwvTkE7RUFNRTtFQUNBO0E5RGcvTkY7QThEMStORTtFQUNFO0VBQ0E7QTlENCtOSjtBOER4K05FO0VBQ0U7QTlEMCtOSjtBOERuK05FO0VBQ0UsbUJBdENxQjtBOUQyZ096QjtBTXJnT0U7RXdESUY7SUErQ0k7SUFDQTtJQUNBO0lBQ0E7RTlEczlORjtFOERwOU5FO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlEczlOSjtBQUNGOztBK0R2aE9FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0EvRDBoT0o7QStEeGhPSTtFQUNFO0VBQ0E7RUFDQTtBL0QwaE9OO0ErRHZoT0k7RUFDRSxtQkE1QnlCO0VBNkJ6QjtFQUNBO1VBQUE7QS9EeWhPTjs7QWdFOWhPSTtFQUNFO0VBQ0E7QWhFaWlPTjtBZ0UxaE9NO0VBQ0U7QWhFNGhPUjtBZ0V4aE9JO0VBQ0U7RUFDQTtBaEUwaE9OO0FnRXZoT007RUFDRTtBaEV5aE9SO0FnRXJoT0k7RUFDRTtFQUNBO0FoRXVoT047QWdFcmhPTTtFQUNFO0VBQ0E7RUFDQTtBaEV1aE9SO0FnRXBoT007RUFDRTtBaEVzaE9SO0FnRWxoT1E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRW9oT1Y7QWdFaGhPVTtFQUNFO0FoRWtoT1o7QU1ubE9FO0UwRHlGSTtJQUNFO0lBQ0E7RWhFNi9OTjtFZ0UzL05NO0lBQ0U7SUFDQTtFaEU2L05SO0VnRXgvTkU7SUFDRTtFaEUwL05KO0VnRXgvTkk7SUFDRTtJQUNBO0VoRTAvTk47RWdFdi9OSTtJQUNFO0VoRXkvTk47QUFDRjs7QWlFdG1PQTtFQU1FO0FqRW9tT0Y7QWlFNWxPRTtFQUVFO0FqRTZsT0o7QWlFemxPSTtFQUNFO0FqRTJsT047QWlFdmxPRTtFQUNFO0FqRXlsT0o7QWlFdGxPRTtFQUNFO0VBQ0E7QWpFd2xPSjtBaUVybE9JO0VBRUU7QWpFc2xPTjtBaUVsbE9FO0VBQ0U7RUFDQTtBakVvbE9KO0FpRWpsT0U7RUFDRTtBakVtbE9KO0FpRTVrT007RUFFRTtBakU2a09SO0FpRXhrT007RUFDRTtBakUwa09SO0FpRS9qT1k7RS9EekNSO0VBQ0E7RUFtQkEsd0JBRnFCO0FGMmxPekI7QU03b09FO0UyRHlFVTtJL0R6Q1I7SUFDQTtJQW1CQSwyQkFGcUI7SVFOckI7RVZ3bU9GO0VVdG1PRTtJUmRBO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRRG5CO0lBQ0E7RVZ5bU9KO0VVdm1PSTtJQUNFO0VWeW1PTjtBQUNGO0FpRS9rT007RUFDRTtBakVpbE9SO0FpRTlrT007RUFDRTtFQUNBO0VBQ0E7QWpFZ2xPUjtBaUUza09NO0UvRDVERjtFQUNBO0VBbUJBLHdCQUZxQjtBRjBuT3pCO0FNNXFPRTtFMkQ0Rkk7SS9ENURGO0lBQ0E7SUFtQkEsMkJBRnFCO0lRTnJCO0VWdW9PRjtFVXJvT0U7SVJkQTtJQUNBO0lBbUJBLGdDQUZxQjtJUURuQjtJQUNBO0VWd29PSjtFVXRvT0k7SUFDRTtFVndvT047QUFDRjtBaUUxbE9VO0UvRHBFTjtFQUNBO0VBbUJBLHdCQUZxQjtBRmlwT3pCO0FNbnNPRTtFMkRvR1E7SS9EcEVOO0lBQ0E7SUFtQkEsMkJBRnFCO0lRTnJCO0VWOHBPRjtFVTVwT0U7SVJkQTtJQUNBO0lBbUJBLGdDQUZxQjtJUURuQjtJQUNBO0VWK3BPSjtFVTdwT0k7SUFDRTtFVitwT047QUFDRjtBaUUxbU9RO0VBQ0U7QWpFNG1PVjtBaUV2bU9JO0VBQ0U7RUFDQTtBakV5bU9OO0FpRXBtT1E7RUFDRTtBakVzbU9WO0FpRS9sT1E7RUFDRTtBakVpbU9WO0FpRTVsT0k7RUFDRTtBakU4bE9OO0FpRXpsT1E7RUFDRTtBakUybE9WO0FpRXRsT0k7RUFDRTtBakV3bE9OO0FpRW5sT1E7RUFDRTtBakVxbE9WO0FpRWhsT0k7RUFDRTtBakVrbE9OO0FpRWhsT007RUFFRTtBakVpbE9SO0FpRTdrT0k7RUFDRTtBakUra09OO0FpRTdrT007RUFDRTtBakUra09SO0FpRTVrT007RUFHRTtBakU0a09SO0FpRS9qT0k7O0VBRUU7QWpFaWtPTjtBaUU5ak9ROztFQUNFO0FqRWlrT1Y7QWlFM2pPTTtFQUNFO0FqRTZqT1I7QVNqeE9JO0VBaUNGO0FUbXZPRjtBUzN3T0k7RUFtQkY7RUFDQTtBVDJ2T0Y7QVMxd09NO0VBbUJKO0FUMHZPRjtBU3p3T1E7RUFVTjtFQUNBO0FUa3dPRjtBTXR4T0U7RTJEQ0Y7SUFzT0k7RWpFbWpPRjtFaUVqak9FO0lBQ0U7RWpFbWpPSjtFaUU3aU9JO0lBQ0U7SUFDQTtFakUraU9OO0VpRTdpT007SUFDRTtFakUraU9SO0VpRTVpT007SUFDRTtFakU4aU9SO0VpRTFpT1E7SUFFRTtFakUyaU9WO0VpRWppT1E7SUFDRTtJQUNBO0VqRW1pT1Y7RWlFN2hPRTtJQUNFO0VqRStoT0o7RWlFNWhPRTtJQUNFO0VqRThoT0o7RWlFNWhPSTtJQUNFO0lBQ0E7RWpFOGhPTjtFaUV6aE9JO0lBQ0U7RWpFMmhPTjtFaUV0aE9JO0lBR0U7RWpFc2hPTjtFaUVuaE9RO0lBQ0U7RWpFcWhPVjtFaUVsaE9RO0lBQ0U7RWpFb2hPVjtFaUU3Z09RO0lBQ0U7RWpFK2dPVjtFaUV4Z09RO0lBQ0U7RWpFMGdPVjtFaUVuZ09FO0lBRUU7RWpFb2dPSjtFaUVsZ09JO0lBQ0U7RWpFb2dPTjtFaUVoZ09JO0lBQ0U7SUFDQTtFakVrZ09OO0VpRWhnT2U7SUFDUDtJQUNBO0VqRWtnT1I7O0VpRTcvTkU7O0lBRUU7RWpFZ2dPSjtFaUU3L05FO0lBQ0U7SUFDQTtFakUrL05KO0VpRTcvTkk7SUFDRTtFakUrL05OO0VpRTcvTk07O0lBRUU7RWpFKy9OUjtFaUV6L05JO0lBQ0U7SUFDQTtFakUyL05OO0VpRXIvTkk7SUFDRTtFakV1L05OO0VpRXAvTkk7SUFDRTtFakVzL05OO0VpRXAvTk07SUFDRTtFakVzL05SO0VpRWovTk07SUFDRTtFakVtL05SO0VpRWovTlE7SUFDRTtFakVtL05WO0VpRWovTlU7SUFDRTtFakVtL05aO0VpRTkrTk07SUFDRTtFakVnL05SO0VpRTkrTlE7SUFDRTtFakVnL05WO0VpRTkrTlU7SUFDRTtFakVnL05aO0VpRXorTk07SUFDRTtFakUyK05SO0VpRXorTlE7SUFDRTtFakUyK05WO0VpRXorTlU7SUFDRTtFakUyK05aO0VpRW4rTlE7SUFDRTtFakVxK05WO0FBQ0Y7O0FrRW41T0E7RUFDRTtFQUNBO0VBQ0E7QWxFczVPRjtBTTE1T0U7RTREQ0Y7SUFnQ0k7SUFDQTtJQUNBO0VsRTYzT0Y7RWtFMzNPRTtJQUVFO0VsRTQzT0o7QUFDRjtBTXA2T0U7RTREQ0Y7SUEyQ0k7SUFDQTtJQUNBO0VsRTQzT0Y7QUFDRjs7QW1FNTRPQTtFQU1FO0FuRTA0T0Y7QW1FbjRPSTtFQUNFO0FuRXE0T047QW1FbDRPSTtFQUNFO0FuRW80T047QW1FaDRPRTtFQUNFO0FuRWs0T0o7QW1FaDRPSTtFQUNFO0VBQ0E7RUFDQTtLQUFBO0FuRWs0T047QW1FOTNPRTtFQUNFO0VBQ0E7QW5FZzRPSjtBbUU3M09FO0VBQ0U7QW5FKzNPSjtBbUU3M09JO0VBQ0U7QW5FKzNPTjtBbUV2M09FO0VBQ0U7QW5FeTNPSjtBbUVyM09JO0VBQ0U7QW5FdTNPTjtBTTc4T0U7RTZEeUdFO0lBQ0U7RW5FdTJPSjtBQUNGO0FNbDlPRTtFNkRpSEk7SUFDRTtFbkVvMk9OO0VtRWgyT007SUFDRTtFbkVrMk9SO0VtRTcxT0U7SUFDRTtFbkUrMU9KO0VtRTcxT0k7SUFDRTtFbkUrMU9OO0VtRTUxT0k7SUFDRTtJQUNBO0VuRTgxT047RW1FMzFPSTtJQUNFO0VuRTYxT047RW1FejFPSTtJQUNFO0lBQ0E7RW5FMjFPTjtFbUV2MU9FO0lBQ0U7SUFDQTtJQUNBO0VuRXkxT0o7RW1FdjFPSTtJQUNFO0VuRXkxT047RW1FdDFPSTtJQUNFO0lBQ0E7RW5FdzFPTjtFbUVyMU9JO0lBQ0U7RW5FdTFPTjtFbUVwMU9JO0lBQ0U7SUFDQTtFbkVzMU9OO0VtRW4xT0k7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuRXExT047RW1FbjFPTTtJQUNFO0VuRXExT1I7RW1FbDFPTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RW5FbzFPUjtFbUU5ME9JO0lBQ0U7RW5FZzFPTjtFbUU3ME9JO0lBQ0U7RW5FKzBPTjtFbUU1ME9JO0lBQ0U7RW5FODBPTjtFbUUzME9JO0lBQ0U7RW5FNjBPTjtBQUNGOztBb0VuaFBFO0VBQ0U7QXBFc2hQSjtBb0UvZ1BFO0VBR0U7RUFDQTtFQUNBO0FwRStnUEo7QW9FMWdQSTtFbEVNQTtFQUNBO0VrRUxFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsMENsRTRCVztFa0UzQlg7RUFDQTtFQUNBO0FwRTZnUE47QW9FMWdQUTtFQUNFO1VBQUE7QXBFNGdQVjtBb0VwZ1BVO0VBQ0U7VUFBQTtBcEVzZ1BaO0FvRW5nUFU7RUFDRTtVQUFBO0FwRXFnUFo7QW9FaGdQTTtFQUNFO0FwRWtnUFI7QW9FNy9PRTtFQUNFO0FwRSsvT0o7QW9FNy9PSTtFQUNFO0FwRSsvT047QW9FMy9PRTtFQUNFO0VBQ0E7QXBFNi9PSjtBb0V6L09JO0VBQ0U7QXBFMi9PTjtBTXprUEU7RThEMEdJO0lBQ0U7RXBFaytPTjtFb0UvOU9hO0lBQ1A7SUFDQTtFcEVpK09OOztFb0U5OU9hO0lBQ1A7SUFDQTtFcEVpK09OO0FBQ0Y7O0FxRXBsUEE7RUFTRTtBckUra1BGO0FxRTFrUEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRTRrUEo7QXFFcGtQSTtFQUNFO0FyRXNrUE47QXFFamtQSTtFQUNFO0FyRW1rUE47QXFFOWpQSTtFQUNFO0FyRWdrUE47O0FzRTFtUEE7RUFNRTtFQUNBO0F0RXdtUEY7QXNFdG1QRTtFQUNFO0F0RXdtUEo7QXNFcm1QRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEV1bVBKO0FzRXJtUEk7RUFDRTtBdEV1bVBOO0FzRTlsUEk7RUFDRTtBdEVnbVBOO0FzRTdsUEk7RUFDRTtBdEUrbFBOO0FNcG9QRTtFZ0VDRjtJQTRESTtFdEUya1BGO0VzRXprUEU7SUFDRTtFdEUya1BKO0FBQ0Y7O0F1RWxvUEU7RUFDRTtBdkVxb1BKO0F1RWxvUEU7RUFDRTtBdkVvb1BKO0F1RWhvUEk7RUFDRTtBdkVrb1BOO0F1RTluUEU7RUFDRTtBdkVnb1BKO0F1RTduUEU7RUFDRTtFQUNBO0F2RStuUEo7QXVFeG5QRTtFQUNFO0VBQ0E7QXZFMG5QSjtBdUV4blBJO0VBQ0U7QXZFMG5QTjtBdUV4blBNO0VBQ0U7QXZFMG5QUjtBdUVyblBFO0VBQ0U7QXZFdW5QSjtBdUVwblBFO0VBQ0U7QXZFc25QSjtBdUVublBFO0VBQ0U7QXZFcW5QSjtBdUVublBJO0VBQ0U7QXZFcW5QTjtBTW5yUEU7RWlFa0ZFO0lBQ0U7SUFDQTtFdkVvbVBKO0V1RWptUEU7SUFDRTtFdkVtbVBKO0V1RWhtUEU7SUFDRTtFdkVr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Q0U7RTdFODlQTjtFNkUzOVBJO0lBQ0U7RTdFNjlQTjtFNkUxOVBJO0lBQ0U7RTdFNDlQTjtFNkUxOVBNO0lBQ0U7RTdFNDlQUjtFNkV4OVBJO0lBQ0U7RTdFMDlQTjtFNkVyOVBJO0lBQ0U7RTdFdTlQTjtFNkVwOVBJO0lBQ0U7RTdFczlQTjtFNkVuOVBJO0lBQ0U7SUFDQTtFN0VxOVBOO0U2RWw5UEk7SUFDRTtFN0VvOVBOO0U2RWg5UEU7SUFDRTtFN0VrOVBKO0U2RWg5UEk7SUFDRTtFN0VrOVBOO0U2RTk4UEU7SUFDRTtFN0VnOVBKO0U2RTk4UEk7SUFDRTtFN0VnOVBOO0U2RTc4UEk7SUFDRTtFN0UrOFBOO0U2RTU4UEk7SUFDRTtFN0U4OFBOO0U2RTE4UEU7SUFDRTtJQUNBO0U3RTQ4UEo7RTZFMThQSTtJQUNFO0lBQ0E7RTdFNDhQTjtFNkV6OFBJO0lBQ0U7RTdFMjhQTjtFNkV6OFBNO0lBQ0U7RTdFMjhQUjtFNkV0OFBFO0lBQ0U7SUFDQTtFN0V3OFBKO0U2RXQ4UEk7SUFDRTtJQUNBO0U3RXc4UE47RTZFcjhQSTtJQUNFO0U3RXU4UE47RTZFcjhQTTtJQUNFO0U3RXU4UFI7QUFDRjs7QTZFaDhQQTtFQUNFO0VBQ0E7QTdFbThQRjs7QTZFaDhQQTtBQUNBO0VBQ0U7RUFDQTtBN0VtOFBGOztBNkVoOFBBO0FBRUE7QUFDQTtFQUNFO0VBQ0E7QTdFazhQRjs7QThFNXpRRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFK3pRSjtBOEUxelFJO0VBQ0U7QTlFNHpRTjtBOEV0elFJO0VBQ0U7QTlFd3pRTjtBOEVselFJO0VBQ0U7QTlFb3pRTjtBOEUveVFFO0VBQ0U7RUFDQTtBOUVpelFKO0E4RTV5UUk7RUFDRTtBOUU4eVFOO0E4RXh5UUk7RUFDRTtBOUUweVFOO0FNcjFRRTtFd0V1REk7SUFDRTtFOUVpeVFOO0U4RTN4UUk7SUFDRTtFOUU2eFFOO0U4RXp4UU07SUFDRTtFOUUyeFFSO0U4RXJ4UUU7SUFDRTtFOUV1eFFKO0U4RXJ4UUk7SXpFNUNKO0l5RThDTTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOUV1eFFOO0U4RXJ4UU07SUFDRTtFOUV1eFFSO0U4RXJ4UVE7SUFDRTtJQUNBO0U5RXV4UVY7RThFbnhRTTtJQUNFO0U5RXF4UVI7RThFbnhRUTtJekVsRVI7RUx3MVFBO0FBQ0Y7O0ErRXozUUE7RUFNRTtFQUNBO0VBQ0E7QS9FdTNRRjtBK0VqM1FFO0VBQ0U7RUFDQTtBL0VtM1FKO0ErRWgzUUU7RUFDRTtFQUNBO0EvRWszUUo7QStFLzJRRTtFQUNFO0EvRWkzUUo7QStFOTJRRTtFQUNFO0EvRWczUUo7QStFNzJRRTtFQUNFO0VBQ0E7QS9FKzJRSjtBK0UzMlFJO0VBQ0U7QS9FNjJRTjtBK0V6MlFFO0VBQ0U7QS9FMjJRSjtBK0V4MlFFO0VBQ0U7QS9FMDJRSjtBK0VyMlFNO0VBQ0U7QS9FdTJRUjtBK0VsMlFFO0VBQ0U7QS9FbzJRSjtBK0VsMlFJO0VBQ0U7QS9FbzJRTjtBK0VqMlFJO0VBQ0U7QS9FbTJRTjtBK0VoMlFJO0VBQ0U7QS9FazJRTjtBK0U5MVFFO0VBQ0U7RUFDQTtBL0VnMlFKO0ErRTcxUUU7RUFDRTtFQUNBO0EvRSsxUUo7QStFMTFRTTtFQUNFO0EvRTQxUVI7QStFdjFRRTtFQUNFO0VBQ0E7QS9FeTFRSjtBK0V0MVFFO0VBQ0U7RUFDQTtBL0V3MVFKO0ErRXQxUUk7RUFDRTtBL0V3MVFOO0ErRWwxUUk7O0VBQ0U7QS9FcTFRTjtBK0U3MFFFO0VBQ0U7QS9FKzBRSjtBTXY4UUU7RXlFQ0Y7SUF5SUk7SUFDQTtFL0VpMFFGO0UrRS96UUU7SUFDRTtFL0VpMFFKO0UrRTl6UUU7SUFDRTtJQUNBO0lBQ0E7RS9FZzBRSjtFK0U3elFFO0lBQ0U7RS9FK3pRSjtFK0V6elFRO0lBQ0U7SUFDQTtJQUNBO0UvRTJ6UVY7RStFbnpRTTtJQUNFO0lBQ0E7RS9FcXpRUjtFK0VoelFFO0lBQ0U7RS9Fa3pRSjtFK0U3eVFJO0lBQ0U7RS9FK3lRTjtFK0UxeVFJO0lBQ0U7RS9FNHlRTjtFK0V4eVFFO0lBQ0U7RS9FMHlRSjtFK0V0eVFJO0lBQ0U7SUFDQTtFL0V3eVFOO0UrRWx5UU07SUFDRTtFL0VveVFSO0UrRWp5UU07SUFDRTtFL0VteVFSO0UrRS94UUk7SUFDRTtJQUNBO0UvRWl5UU47RStFOXhRSTtJQUNFO0lBQ0E7RS9FZ3lRTjtFK0U5eFFNO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFL0VneVFSO0UrRTd4UU07SUFDRTtFL0UreFFSO0UrRXB4UVU7SUFFRTtFL0VxeFFaO0UrRS93UUk7SUFDRTtJQUNBO0UvRWl4UU47RStFOXdRSTtJQUNFO0lBQ0E7RS9FZ3hRTjtFK0U5d1FNO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFL0VneFFSO0UrRTd3UU07SUFDRTtFL0Urd1FSO0UrRTN3UUk7SUFDRTtFL0U2d1FOO0FBQ0Y7O0FnRnhoUkE7RUFRRTtFQUNBO0VBQ0E7RUFDQTtBaEZvaFJGO0FnRmpoUkU7RUFFRTtBaEZraFJKO0FnRi8vUUk7RUFDRTtBaEZpZ1JOO0FnRjMvUUU7RUFDRTtBaEY2L1FKO0FnRnovUUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNDQWhFMkM7RUFpRTNDO0VBQ0E7RUFDQTtVQUFBO0FoRjIvUU47QWdGbi9RUTtFQUVFO0VBRUE7QWhGbS9RVjtBZ0YvK1FRO0VBQ0U7QWhGaS9RVjtBZ0Y1K1FRO0VBQ0U7QWhGOCtRVjtBZ0ZsK1FNO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QWhGbStRUjtBZ0ZoK1FRO0VBQ0U7RUFDQSxzQ0FoSHVDO0VBaUh2QztFQUNBO0VBQ0E7RUFDQTtBaEZrK1FWO0FnRi85UVU7RUFDRTtBaEZpK1FaO0FnRjU5UVU7RTlFaEdOO0VBQ0E7RUFtQkEsd0JBRnFCO0VRNkN2QiwwQ1JuQ2U7RVFvQ2Y7RUFDQTtFQUNBO0VzRWdDVTtBaEZvK1FaO0FnRmgrUVU7RTVFbEpSO1VBQUE7RTRFb0pVO0VBQ0E7QWhGaytRWjtBZ0Y5OVFjO0VBQ0U7QWhGZytRaEI7QWdGejlRWTtFNUVqS1Y7VUFBQTtBSjZuUkY7QWdGbjlRTTtFQUNFO0FoRnE5UVI7QWdGajlRUTtFQUNFO0FoRm05UVY7QWdGOThRUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhGZzlRVjtBZ0Y3OFFVO0VBQ0U7QWhGKzhRWjtBZ0Y3OFFZO0VBQ0U7QWhGKzhRZDtBZ0Z6OFFZO0VBQ0U7QWhGMjhRZDtBZ0ZwOFFZO0VBRUU7RUFDQTtBaEZxOFFkO0FnRjc3UVU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRis3UVo7QWdGMTdRWTtFQUNFO0FoRjQ3UWQ7QWdGeDdRWTtFQUNFO0VBQ0E7QWhGMDdRZDtBZ0ZsN1FFO0VBQ0U7RUFDQTtBaEZvN1FKO0FnRjE2UUU7RTNFbE5BO0FMK25SRjtBZ0Z2NlFNO0UzRXhOSjtBTGtvUkY7QWdGdDZRTTtFM0VyTko7QUw4blJGO0FLM25SSTtFQUVFO0VBQUE7RUFBQTtBTDRuUk47QUs5blJJO0VBRUU7RUFBQTtFQUFBO0FMK25STjtBS2pvUkk7RUFFRTtFQUFBO0VBQUE7QUxrb1JOO0FLcG9SSTtFQUVFO0VBQUE7RUFBQTtBTHFvUk47QU1sclJFO0UwRWVGO0lBNlBJO0VoRjA2UUY7RWdGeDZRRTtJQUNFO0VoRjA2UUo7RWdGdDZRSTtJQUNFO0VoRnc2UU47RWdGbDZRRTtJQUNFO0VoRm82UUo7RWdGajZRRTtJQUNFO0VoRm02UUo7RWdGajZRSTtJQUVFO0lBQ0E7RWhGazZRTjtFZ0ZoNlFNO0lBQ0U7RWhGazZRUjtFZ0Y5NVFJO0lBQ0U7SUFDQTtJQUNBO0VoRmc2UU47RWdGOTVRTTtJQUNFO0lBQ0E7RWhGZzZRUjtFZ0Z6NVFNO0lBQ0U7RWhGMjVRUjtFZ0ZuNVFRO0kzRTFSUjtFTGdyUkE7RUs3cVJFO0lBRUU7SUFBQTtJQUFBO0VMOHFSSjtFS2hyUkU7SUFFRTtJQUFBO0lBQUE7RUxpclJKO0VLbnJSRTtJQUVFO0lBQUE7SUFBQTtFTG9yUko7RUt0clJFO0lBRUU7SUFBQTtJQUFBO0VMdXJSSjtFZ0Y1NVFRO0kzRXZTUjtFTHNzUkE7QUFDRjtBTXh1UkU7RTBFa1ZFO0lBQ0U7RWhGeTVRSjtFZ0Z0NVFFO0lBQ0U7RWhGdzVRSjtFZ0ZyNVFFO0lBQ0U7SUFDQTtFaEZ1NVFKO0VnRnA1UUU7SUFDRTtFaEZzNVFKO0VnRmw1UUk7SUFDRTtJQUNBLGdDQWxXMEM7SUFtVzFDO0lBQ0E7RWhGbzVRTjtFZ0ZsNVFNO0lBQ0U7RWhGbzVRUjtFZ0ZsNVFRO0lBQ0U7RWhGbzVRVjtFZ0ZwNFFNO0lBQ0U7SUFDQTtFaEZzNFFSO0VnRjkzUU07SUFDRSxnQ0FyWXdDO0VoRnF3UmhEO0VnRnIzUVE7SUFDRTtFaEZ1M1FWO0VnRmgzUVE7STNFcFhSO0VMdXVSQTtFS3B1UkU7SUFFRTtJQUFBO0lBQUE7RUxxdVJKO0VLdnVSRTtJQUVFO0lBQUE7SUFBQTtFTHd1Uko7RUsxdVJFO0lBRUU7SUFBQTtJQUFBO0VMMnVSSjtFSzd1UkU7SUFFRTtJQUFBO0lBQUE7RUw4dVJKO0VnRnozUVE7STNFallSO0VMNnZSQTtFZ0ZwM1FJO0lBQ0U7SUFBQTtRQUFBO1lBQUE7RWhGczNRTjtFZ0ZwM1FNO0lBQ0U7RWhGczNRUjtBQUNGOztBaUZoelJBO0U1RENFO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtFNERGQTtBakZzelJGO0FpRnB6UkU7RUFDRTtFQUNBO0FqRnN6Uko7QWlGbnpSRTtFNURPQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLG1CQ01TO0UyRGZQO0VBQ0E7QWpGeXpSSjtBaUZ2elJJO0VBQ0U7QWpGeXpSTjtBaUZ2elJNO0VBQ0U7QWpGeXpSUjtBaUZwelJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpGc3pSSjtBaUZuelJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZxelJKO0FpRmx6UkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRm96Uko7O0FpRjN5Ukk7RUFDRTtBakY4eVJOO0FpRjF5Uk07RUFDRTtBakY0eVJSO0FpRnZ5Uk07RUFDRTtBakZ5eVJSO0FpRnB5Uk07RUFDRTtBakZzeVJSOztBaUZ4elJJO0VBQ0U7QWpGMnpSTjtBaUZ2elJNO0VBQ0U7QWpGeXpSUjtBaUZwelJNO0VBQ0U7QWpGc3pSUjtBaUZqelJNO0VBQ0U7QWpGbXpSUjs7QWlGcjBSSTtFQUNFO0FqRncwUk47QWlGcDBSTTtFQUNFO0FqRnMwUlI7QWlGajBSTTtFQUNFO0FqRm0wUlI7QWlGOXpSTTtFQUNFO0FqRmcwUlI7O0FpRmwxUkk7RUFDRTtBakZxMVJOO0FpRmoxUk07RUFDRTtBakZtMVJSO0FpRjkwUk07RUFDRTtBakZnMVJSO0FpRjMwUk07RUFDRTtBakY2MFJSOztBaUYvMVJJO0VBQ0U7QWpGazJSTjtBaUY5MVJNO0VBQ0U7QWpGZzJSUjtBaUYzMVJNO0VBQ0U7QWpGNjFSUjtBaUZ4MVJNO0VBQ0U7QWpGMDFSUjs7QWlGNTJSSTtFQUNFO0FqRisyUk47QWlGMzJSTTtFQUNFO0FqRjYyUlI7QWlGeDJSTTtFQUNFO0FqRjAyUlI7QWlGcjJSTTtFQUNFO0FqRnUyUlI7O0FpRnozUkk7RUFDRTtBakY0M1JOO0FpRngzUk07RUFDRTtBakYwM1JSO0FpRnIzUk07RUFDRTtBakZ1M1JSO0FpRmwzUk07RUFDRTtBakZvM1JSOztBaUZ0NFJJO0VBQ0U7QWpGeTRSTjtBaUZyNFJNO0VBQ0U7QWpGdTRSUjtBaUZsNFJNO0VBQ0U7QWpGbzRSUjtBaUYvM1JNO0VBQ0U7QWpGaTRSUjs7QWlGbjVSSTtFQUNFO0FqRnM1Uk47QWlGbDVSTTtFQUNFO0FqRm81UlI7QWlGLzRSTTtFQUNFO0FqRmk1UlI7QWlGNTRSTTtFQUNFO0FqRjg0UlI7O0FpRmg2Ukk7RUFDRTtBakZtNlJOO0FpRi81Uk07RUFDRTtBakZpNlJSO0FpRjU1Uk07RUFDRTtBakY4NVJSO0FpRno1Uk07RUFDRTtBakYyNVJSOztBaUY3NlJJO0VBQ0U7QWpGZzdSTjtBaUY1NlJNO0VBQ0U7QWpGODZSUjtBaUZ6NlJNO0VBQ0U7QWpGMjZSUjtBaUZ0NlJNO0VBQ0U7QWpGdzZSUjs7QWlGMTdSSTtFQUNFO0FqRjY3Uk47QWlGejdSTTtFQUNFO0FqRjI3UlI7QWlGdDdSTTtFQUNFO0FqRnc3UlI7QWlGbjdSTTtFQUNFO0FqRnE3UlI7O0FpRnY4Ukk7RUFDRTtBakYwOFJOO0FpRnQ4Uk07RUFDRTtBakZ3OFJSO0FpRm44Uk07RUFDRTtBakZxOFJSO0FpRmg4Uk07RUFDRTtBakZrOFJSOztBaUZwOVJJO0VBQ0U7QWpGdTlSTjtBaUZuOVJNO0VBQ0U7QWpGcTlSUjtBaUZoOVJNO0VBQ0U7QWpGazlSUjtBaUY3OFJNO0VBQ0U7QWpGKzhSUjs7QWlGaitSSTtFQUNFO0FqRm8rUk47QWlGaCtSTTtFQUNFO0FqRmsrUlI7QWlGNzlSTTtFQUNFO0FqRis5UlI7QWlGMTlSTTtFQUNFO0FqRjQ5UlI7O0FpRjkrUkk7RUFDRTtBakZpL1JOO0FpRjcrUk07RUFDRTtBakYrK1JSO0FpRjErUk07RUFDRTtBakY0K1JSO0FpRnYrUk07RUFDRTtBakZ5K1JSOztBaUYzL1JJO0VBQ0U7QWpGOC9STjtBaUYxL1JNO0VBQ0U7QWpGNC9SUjtBaUZ2L1JNO0VBQ0U7QWpGeS9SUjtBaUZwL1JNO0VBQ0U7QWpGcy9SUjs7QWlGeGdTSTtFQUNFO0FqRjJnU047QWlGdmdTTTtFQUNFO0FqRnlnU1I7QWlGcGdTTTtFQUNFO0FqRnNnU1I7QWlGamdTTTtFQUNFO0FqRm1nU1I7O0FpRnJoU0k7RUFDRTtBakZ3aFNOO0FpRnBoU007RUFDRTtBakZzaFNSO0FpRmpoU007RUFDRTtBakZtaFNSO0FpRjlnU007RUFDRTtBakZnaFNSOztBaUZsaVNJO0VBQ0U7QWpGcWlTTjtBaUZqaVNNO0VBQ0U7QWpGbWlTUjtBaUY5aFNNO0VBQ0U7QWpGZ2lTUjtBaUYzaFNNO0VBQ0U7QWpGNmhTUjs7QWlGL2lTSTtFQUNFO0FqRmtqU047QWlGOWlTTTtFQUNFO0FqRmdqU1I7QWlGM2lTTTtFQUNFO0FqRjZpU1I7QWlGeGlTTTtFQUNFO0FqRjBpU1I7O0FpRjVqU0k7RUFDRTtBakYralNOO0FpRjNqU007RUFDRTtBakY2alNSO0FpRnhqU007RUFDRTtBakYwalNSO0FpRnJqU007RUFDRTtBakZ1alNSOztBaUZ6a1NJO0VBQ0U7QWpGNGtTTjtBaUZ4a1NNO0VBQ0U7QWpGMGtTUjtBaUZya1NNO0VBQ0U7QWpGdWtTUjtBaUZsa1NNO0VBQ0U7QWpGb2tTUjs7QWlGdGxTSTtFQUNFO0FqRnlsU047QWlGcmxTTTtFQUNFO0FqRnVsU1I7QWlGbGxTTTtFQUNFO0FqRm9sU1I7QWlGL2tTTTtFQUNFO0FqRmlsU1I7O0FpRm5tU0k7RUFDRTtBakZzbVNOO0FpRmxtU007RUFDRTtBakZvbVNSO0FpRi9sU007RUFDRTtBakZpbVNSO0FpRjVsU007RUFDRTtBakY4bFNSOztBaUZoblNJO0VBQ0U7QWpGbW5TTjtBaUYvbVNNO0VBQ0U7QWpGaW5TUjtBaUY1bVNNO0VBQ0U7QWpGOG1TUjtBaUZ6bVNNO0VBQ0U7QWpGMm1TUjs7QWlGN25TSTtFQUNFO0FqRmdvU047QWlGNW5TTTtFQUNFO0FqRjhuU1I7QWlGem5TTTtFQUNFO0FqRjJuU1I7QWlGdG5TTTtFQUNFO0FqRnduU1I7O0FpRjFvU0k7RUFDRTtBakY2b1NOO0FpRnpvU007RUFDRTtBakYyb1NSO0FpRnRvU007RUFDRTtBakZ3b1NSO0FpRm5vU007RUFDRTtBakZxb1NSOztBaUZ2cFNJO0VBQ0U7QWpGMHBTTjtBaUZ0cFNNO0VBQ0U7QWpGd3BTUjtBaUZucFNNO0VBQ0U7QWpGcXBTUjtBaUZocFNNO0VBQ0U7QWpGa3BTUjs7QWlGcHFTSTtFQUNFO0FqRnVxU047QWlGbnFTTTtFQUNFO0FqRnFxU1I7QWlGaHFTTTtFQUNFO0FqRmtxU1I7QWlGN3BTTTtFQUNFO0FqRitwU1I7O0FpRmpyU0k7RUFDRTtBakZvclNOO0FpRmhyU007RUFDRTtBakZrclNSO0FpRjdxU007RUFDRTtBakYrcVNSO0FpRjFxU007RUFDRTtBakY0cVNSOztBaUY5clNJO0VBQ0U7QWpGaXNTTjtBaUY3clNNO0VBQ0U7QWpGK3JTUjtBaUYxclNNO0VBQ0U7QWpGNHJTUjtBaUZ2clNNO0VBQ0U7QWpGeXJTUjs7QWlGM3NTSTtFQUNFO0FqRjhzU047QWlGMXNTTTtFQUNFO0FqRjRzU1I7QWlGdnNTTTtFQUNFO0FqRnlzU1I7QWlGcHNTTTtFQUNFO0FqRnNzU1I7O0FrRnp3U0E7RTdERkU7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0U2RENBO0FsRit3U0Y7QWtGN3dTRTtFN0RTQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLG1CQ01TO0U0RGpCUDtBbEZteFNKO0FrRmp4U0k7RUFDRTtBbEZteFNOO0FrRjl3U007RUFDRTtVQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0FsRmd4U1I7QWtGM3dTRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsRjZ3U0o7QWtGM3dTSTtFQUNFO0FsRjZ3U047QWtGendTRTtFQUNFO0FsRjJ3U0o7QWtGeHdTRTtFQUNFO0VBQ0E7QWxGMHdTSjtBa0Z2d1NFO0VBQ0U7RUFDQTtBbEZ5d1NKOztBa0Zyd1NBO0VBQ0U7SUFDRTtZQUFBO0VsRnd3U0Y7QUFDRjtBbUZuelNFO0U5RFhBO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtBckJpMFNGO0FtRnJ6U0U7RUFDRTtFQUNBO0VBQ0E7QW5GdXpTSjtBbUZwelNFO0U5RE5BO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsbUJDTVM7QXRCdXpTWDtBbUZ2elNFO0U5RFZBO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsbUJDTVM7QXRCOHpTWDtBbUYxelNFO0U5RGRBO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsbUJDTVM7QXRCcTBTWDtBbUY3elNFO0U5RGxCQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLG1CQ01TO0F0QjQwU1g7O0FNMzFTRTtFOEVIQTtJL0RQQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCMDJTQTtFb0ZoMlNJO0kvREVKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0IrRExtRDtFcEZzMlNuRDtBQUNGO0FNMzJTRTtFOEVpQkE7SS9EM0JBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJ5M1NBO0VvRjMxU0k7SS9EbEJKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0IrRGVrRDtFcEZpMlNsRDtBQUNGO0FNMTNTRTtFOEVxQ0E7SS9EL0NBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJ3NFNBO0VvRnQxU0k7SS9EdENKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0IrRG1Da0Q7RXBGNDFTbEQ7QUFDRjtBTXo0U0U7RThFeURBO0kvRG5FQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCdTVTQTtFb0ZoMVNJO0lBQ0U7SUFBQTtRQUFBO1lBQUE7RXBGazFTTjtFb0YvMFNJO0kvRC9ESjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCK0Q0RG1EO0VwRnExU25EO0FBQ0Y7QW9GdDBTRTtFQUVFO0FwRnUwU0o7QU05NVNFO0U4RXFGQTtJL0QvRkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQjQ2U0E7RW9GeDBTSTtJL0R4Rko7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI2NVNUO0FBQ0Y7QU03NlNFO0U4RTRHQTtJL0R0SEE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQjI3U0E7RW9GbDBTSTtJL0Q3R0o7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI0NlNUO0VvRnIwU0k7SS9EaElKO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJ3OFNBO0FBQ0Y7QU1sOFNFO0U4RXFJQTtJL0QvSUE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQmc5U0E7RW9GOXpTSTtJL0R0SUo7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQitEbUltRDtFcEZvMFNuRDtBQUNGO0FNajlTRTtFOEV5SkE7SS9EbktBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckIrOVNBO0VvRnp6U0k7SS9EMUpKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCZzlTVDtBQUNGOztBTWgrU0U7RStFRkE7SWhFUkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQisrU0E7RXFGbitTTTtJaEVBTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QmcrU1Q7RXFGdCtTTTtJaEVKTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QnUrU1Q7QUFDRjtBTXYvU0U7RStFd0JBO0loRWxDQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCcWdUQTtFcUYvOVNNO0loRTFCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0V1QnFEO0VyRnErU3JEO0VxRmwrU007SWhFOUJOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRTJCcUQ7RXJGdytTckQ7QUFDRjtBTTdnVEU7RStFa0RBO0loRTVEQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCMmhUQTtFcUYzOVNNO0loRXBETjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VpRG9EO0VyRmkrU3BEO0VxRjk5U007SWhFeEROO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRXFEb0Q7RXJGbytTcEQ7QUFDRjtBTW5pVEU7RStFaUZBO0loRTNGQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCaWpUQTtFcUZsOVNNO0loRW5GTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VpRnFEO0VyRnU5U3JEO0VxRnA5U1E7SWhFeEZSO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRXFGc0Q7RXJGMDlTdEQ7RXFGdDlTTTtJaEU3Rk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFMkZxRDtFckYyOVNyRDtFcUZ4OVNRO0loRWxHUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0UrRnNEO0VyRjg5U3REO0FBQ0Y7QU12a1RFO0UrRXNIQTtJaEVoSUE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQnFsVEE7RXFGajlTTTtJaEV4SE47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztJREtMLGtCQ0xLO0V0QnVrVFQ7RXFCaGtUSTtJQUVFLGtCQ1RHO0V0QjBrVFQ7RXFCN2pURTtJQUNFO0VyQitqVEo7RXFCNWpURTtJQUNFO0VyQjhqVEo7QUFDRjtBcUY3OVNJO0VBYkY7SWhFaElBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckI4bVRBO0VxRi85U007SWhFbklOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCK2xUVDtBQUNGO0FxRnA4U0U7RWhFckxBO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtBckI0blRGO0FxRnQ4U007RWhFMUtKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsZ0JnRXVLMkQ7QXJGNDhTN0Q7QXFGejhTTTtFaEU5S0o7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFMksyRDtFQUVyRDtBckY4OFNSO0FNcG9URTtFK0UyS0E7SWhFckxBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJrcFRBO0VxRjU4U007SWhFMUxOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRXVMNkQ7RXJGazlTN0Q7RXFGLzhTTTtJaEU5TE47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFMkw2RDtFckZxOVM3RDtBQUNGO0FxRng4U0U7RWhFNU5BO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtBckJ1cVRGO0FxRno4U007RWhFbE5KO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsZ0JnRStNMEQ7QXJGKzhTNUQ7QXFGNThTTTtFaEV0Tko7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFbU4yRDtBckZrOVM3RDtBTTlxVEU7RStFbU9NO0loRTlOTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0UyTjREO0VyRms5UzVEO0VxRi84U007SWhFbE9OO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRStONkQ7RXJGcTlTN0Q7QUFDRjtBcUZ6N1NFO0VoRS9RQTtFQUFBO0VBQUE7RUFDQTtFQUFBO01BQUE7VUFBQTtFQUNBO01BQUE7RUFDQTtNQUFBO1VBQUE7QXJCMnNURjtBcUYxN1NNO0VoRXJRSjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLGdCZ0VrUTJEO0FyRmc4UzdEO0FxRjc3U007RWhFelFKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsZ0JnRXNRMkQ7RUFFckQ7QXJGazhTUjtBTW50VEU7RStFcVFBO0loRS9RQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7SWdFbVNJO1FBQUE7RXJGKzdTSjtFcUZwOFNJO0lBQ0U7RXJGczhTTjtFcUZoOFNJO0lBQ0U7SUFBQTtRQUFBO1lBQUE7RXJGazhTTjtFcUY3N1NNO0loRS9STjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0U0UjJEO0lBQ25EO0lBQ0E7RXJGbThTUjtFcUYvN1NNO0loRXRTTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VtUzJEO0lBQ25EO0VyRnE4U1I7RXFGaDhTSTtJaEU1VEo7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lnRTJUTTtJQUNBO0VyRnE4U047RXFGajhTUTtJaEVwVFI7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFaVQyRDtFckZ1OFMzRDtFcUZuOFNRO0loRXpUUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VzVDJEO0VyRnk4UzNEO0FBQ0Y7QXFGMTZTRTtFaEV6V0E7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0FyQnN4VEY7QXFGMzZTTTtFaEUvVko7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFNFYyRDtBckZpN1M3RDtBcUY5NlNNO0VoRnZVSjtBTHd2VEY7QXFGeDZTSTtFaEUzWEY7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0FyQnN5VEY7QXFGejZTUTtFaEVqWE47TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFK1c2RDtBckY4NlMvRDtBcUYzNlNRO0VoRXRYTjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLGdCZ0VvWDZEO0VBRXJEO0FyRis2U1Y7QU05eVRFO0UrRStWQTtJaEV6V0E7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQjR6VEE7RXFGNTZTTTtJaEVwWU47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFaVlpRjtJaEV0WDdFLGtCQ0xLO0V0Qjh5VFQ7RXFCdnlUSTtJQUVFLGtCQ1RHO0V0Qml6VFQ7RXFCcHlURTtJQUNFO0VyQnN5VEo7RXFCbnlURTtJQUNFO0VyQnF5VEo7RXFGejdTTTtJaEV4WU47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFcVlpRjtJaEUxWDdFLGtCQ0xLO0lqQnlCVDtFTHV5VEE7RXFCenpUSTtJQUVFLGtCQ1RHO0V0Qm0wVFQ7RXFCdHpURTtJQUNFO0VyQnd6VEo7RXFCcnpURTtJQUNFO0VyQnV6VEo7RUs3eVRFO0lBRUU7SUFBQTtJQUFBO0VMOHlUSjtFS2h6VEU7SUFFRTtJQUFBO0lBQUE7RUxpelRKO0VLbnpURTtJQUVFO0lBQUE7SUFBQTtFTG96VEo7RUt0elRFO0lBRUU7SUFBQTtJQUFBO0VMdXpUSjtFcUZoOVNJO0loRTlaSjtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCaTNUQTtFcUZqOVNRO0loRXBaUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VrWitEO0VyRnM5Uy9EO0VxRm45U1E7SWhFelpSO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRXVaK0Q7SUFDckQ7RXJGdzlTVjtBQUNGO0FNMTNURTtFK0VnYkE7SWhFMWJBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJ3NFRBO0VxRjE4U007SWhFbGJOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCeTNUVDtFcUY3OFNNO0loRXRiTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0Qmc0VFQ7QUFDRjtBTWg1VEU7RStFMGNBO0loRXBkQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCODVUQTtFcUZ0OFNNO0loRTVjTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0V5Y3FEO0VyRjQ4U3JEO0VxRng4U007SWhFamROO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRThjcUQ7RXJGODhTckQ7QUFDRjtBTXQ2VEU7RStFc2VBO0loRWhmQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCbzdUQTtFcUZoOFNNO0loRXhlTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QnE2VFQ7RXFGbjhTTTtJaEU1ZU47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI0NlRUO0FBQ0Y7QU01N1RFO0UrRWdnQkE7SWhFMWdCQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCMDhUQTtFcUY1N1NNO0loRWxnQk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEIyN1RUO0VxRi83U007SWhFdGdCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0Qms4VFQ7QUFDRjtBcUZ4N1NFO0VoRXBpQkE7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0FyQis5VEY7QXFGejdTTTtFaEUxaEJKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsbUJDTVM7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TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFd3pCMkQ7QXJGODZTN0Q7QU0vdVVFO0UrRXV6QkE7SWhFajBCQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCNnZVQTtFcUY1NlNNO0loRXIwQk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI4dVVUO0VxRi82U007SWhFejBCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QnF2VVQ7QUFDRjtBcUZ2NlNFO0VoRXgyQkE7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0FyQmt4VUY7QXFGdDZTTTtFaEVoMkJKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsZ0JnRTgxQnVEO0FyRjI2U3pEO0FNbHhVRTtFK0U4MUJBO0loRXgyQkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQmd5VUE7RXFGejZTTTtJaEUzMkJOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCaXhVVDtFcUY1NlNNO0loRS8yQk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJ3eFVUO0FBQ0Y7QXFGcjZTRTtFaEU3NEJBO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtBckJxelVGO0FxRnI2U007RWhFcDRCSjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLGdCZ0VpNEIwRDtBckYyNlM1RDtBcUZ4NlNNO0VoRXg0Qko7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFcTRCMkQ7QXJGODZTN0Q7QU01elVFO0UrRW00QkE7SWhFNzRCQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCMDBVQTtFcUY1NlNNO0loRWw1Qk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFKzRCNEQ7RXJGazdTNUQ7RXFGaDdTUTtJaEVyNUJSO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRWs1QitEO0VyRnM3Uy9EO0VxRmw3U007SWhFMTVCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0V1NUI2RDtFckZ3N1M3RDtFcUZ0N1NRO0loRTc1QlI7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFMDVCK0Q7RXJGNDdTL0Q7QUFDRjtBcUY5NlNFO0VoRTU3QkE7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0FyQjYyVUY7QXFGOTZTTTtFaEVuN0JKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsZ0JnRWc3QjBEO0FyRm83UzVEO0FxRmo3U007RWhFdjdCSjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLGdCZ0VvN0IyRDtBckZ1N1M3RDtBTXAzVUU7RStFazdCQTtJaEU1N0JBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJrNFVBO0VxRnI3U007SWhFajhCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0U4N0I0RDtFckYyN1M1RDtFcUZ6N1NRO0loRXA4QlI7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFaThCK0Q7RXJGKzdTL0Q7RXFGMzdTTTtJaEV6OEJOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRXM4QjZEO0VyRmk4UzdEO0VxRi83U1E7SWhFNThCUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0V5OEIrRDtFckZxOFMvRDtBQUNGO0FNeDVVRTtFK0VpK0JBO0loRTMrQkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQnM2VUE7RXFGdjdTTTtJaEVuK0JOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRWkrQjBGO0loRXQ5QnRGLGlCZ0VzOUJxQztJQUNqQztFckY2N1NSO0VxQmw1VUk7SUFFRSxpQmdFazlCbUM7RXJGaThTekM7RXFCLzRVRTtJQUNFO0VyQmk1VUo7RXFCOTRVRTtJQUNFO0VyQmc1VUo7RXFGbjhTTTtJaEV6K0JOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRXMrQmlGO0loRTM5QjdFLGtCQ0xLO0V0QjA2VVQ7RXFCbjZVSTtJQUVFLGtCQ1RHO0V0QjY2VVQ7RXFCaDZVRTtJQUNFO0VyQms2VUo7RXFCLzVVRTtJQUNFO0VyQmk2VUo7QUFDRjtBcUZyOFNFO0VoRXhnQ0E7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0FyQmc5VUY7QXFGcDhTTTtFaEVoZ0NKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsbUJDTVM7RStEdy9CSDtBckYwOFNSO0FxRnY4U007RWhFcmdDSjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLG1CQ01TO0F0Qnk4VVg7QU14OVVFO0UrRTgvQkE7SWhFeGdDQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCcytVQTtFcUYxOFNNO0loRWhoQ047UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFOGdDMEY7SWhFbmdDdEYsaUJnRW1nQ3FDO0VyRmc5U3pDO0VxQmo5VUk7SUFFRSxpQmdFKy9CbUM7RXJGbTlTekM7RXFCOThVRTtJQUNFO0VyQmc5VUo7RXFCNzhVRTtJQUNFO0VyQis4VUo7RXFGdDlTTTtJaEVyaENOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRWtoQ2lGO0loRXZnQzdFLGtCQ0xLO0V0QnkrVVQ7RXFCbCtVSTtJQUVFLGtCQ1RHO0V0QjQrVVQ7RXFCLzlVRTtJQUNFO0VyQmkrVUo7RXFCOTlVRTtJQUNFO0VyQmcrVUo7QUFDRjtBTWxnVkU7RStFeWlDQTtJaEVuakNBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJnaFZBO0VxRno5U007SWhFM2lDTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0V3aUNvRDtFckYrOVNwRDtFcUY1OVNRO0loRS9pQ1I7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFNGlDdUQ7RXJGaytTdkQ7RXFGOTlTTTtJaEVwakNOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRWlqQ29EO0VyRm8rU3BEO0VxRmorU1E7SWhFeGpDUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VxakN1RDtFckZ1K1N2RDtBQUNGO0FNdGlWRTtFK0U2a0NBO0loRXZsQ0E7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQm9qVkE7RXFGejlTTTtJaEUva0NOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRTRrQ29EO0VyRis5U3BEO0VxRjU5U1E7SWhFbmxDUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VnbENzRDtJQUM1QztRQUFBO1lBQUE7RXJGaytTVjtFcUY5OVNNO0loRXpsQ047UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFc2xDb0Q7RXJGbytTcEQ7RXFGaitTUTtJaEU3bENSO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRTBsQ3NEO0VyRnUrU3REO0FBQ0Y7QXFGejlTRTtFaEU1bkNBO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtBckJ3bFZGO0FxRjU5U0k7RWhFaG5DRjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLGdCZ0U2bUNnRTtBckZrK1NsRTtBTXhsVkU7RStFa29DQTtJaEU1b0NBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJzbVZBO0VxRno5U0k7SWhFam9DSjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0U4bkNrRTtFckYrOVNsRTtBQUNGO0FNdm1WRTtFK0VvcENBO0loRTlwQ0E7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lnRThwQ0k7RXJGdzlTSjtFcUZ0OVNJO0loRXBwQ0o7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFaXBDOEQ7RXJGNDlTOUQ7RXFGMTlTTTtJQUNFO1FBQUE7RXJGNDlTUjtBQUNGOztBc0Z2blZFO0UvRVNBO0VBQUE7RUFBQTtFQUNBO01BQUE7VUFBQTtFK0VSRTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7QXRGMm5WSjtBT25uVkU7RUFDRTtBUHFuVko7QXNGNW5WSTtFQUNFO0F0RjhuVk47QXNGM25WTTtFQUVFO0F0RjRuVlI7QU0zb1ZFO0VnRkdBO0lBaUJJO1FBQUE7WUFBQTtJQUNBO0V0RjJuVko7RXNGem5WSTtJQUNFO0V0RjJuVk47RXNGeG5WTTtJQUVFO0V0RnluVlI7QUFDRjtBTXZwVkU7RWdGR0E7SUFnQ0k7UUFBQTtZQUFBO0lBQ0E7RXRGd25WSjtFc0Z0blZJO0lBQ0U7RXRGd25WTjtFc0ZyblZNO0lBRUU7RXRGc25WUjtBQUNGOztBTW5xVkU7RWlGREE7SWxFVEE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQmtyVkE7RXVGdHFWSTtJbEVBSjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLHFCa0VIaUc7SWxFYzdGLG9Ca0Vkb0U7RXZGNnFWeEU7RXFCN3BWSTtJQUVFLG9Ca0VsQmtFO0V2RmdyVnhFO0VxQjFwVkU7SUFDRTtFckI0cFZKO0VxQnpwVkU7SUFDRTtFckIycFZKO0FBQ0Y7QU03clZFO0VpRnFCQTtJbEUvQkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lrRWlDSTtFdkYycVZKO0V1RnpxVkk7SWxFdkJKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7SURLTCxrQkNMSztJaUVlSDtFdkZnclZOO0VxQnhyVkk7SUFFRSxrQkNURztFdEJrc1ZUO0VxQnJyVkU7SUFDRTtFckJ1clZKO0VxQnByVkU7SUFDRTtFckJzclZKO0FBQ0Y7QXVGM3FWSTtFQUNFO0F2RjZxVk47QU0zdFZFO0VpRjJDQTtJbEVyREE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQnl1VkE7RXVGNXFWTTtJbEVqRE47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmtFK0MwRjtJbEVwQ3RGLGlCa0VvQ3FDO0V2RmtyVnpDO0VxQnB0Vkk7SUFFRSxpQmtFZ0NtQztFdkZxclZ6QztFcUJqdFZFO0lBQ0U7RXJCbXRWSjtFcUJodFZFO0lBQ0U7RXJCa3RWSjtFdUZ4clZNO0lsRXRETjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCa0VtRGlGO0lsRXhDN0Usa0JDTEs7RXRCNHVWVDtFcUJydVZJO0lBRUUsa0JDVEc7RXRCK3VWVDtFcUJsdVZFO0lBQ0U7RXJCb3VWSjtFcUJqdVZFO0lBQ0U7RXJCbXVWSjtFdUZyc1ZNO0lsRTFETjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCa0V1RGlG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Q0VpQjtFRERqQixtQkNZbUI7QTVGa3pXckI7QTZGajhWRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGbThWSjtBNkZoOFZFO0VBQ0U7QTdGazhWSjtBNkYvN1ZFO0VBQ0U7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Rmk4Vko7QTZGNzdWSTtFQUNFO0VBQ0E7QTdGKzdWTjtBNkYzN1ZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUZyYUYsb0JDRWlCO0VERGpCLG1CQ1ltQjtBNUZ1MVdyQjtBNkYzN1ZJO0VBR0U7RUFDQSx5QkgzWFU7RUc0WFYsY0huWlc7QTFGODBXakI7QThGdHlXRTtFRDRWQTtJRnBhQSxtQkNNa0I7SURMbEIsbUJDZ0JvQjtFNUZrMldwQjtFNkYxN1ZJO0lBR0U7RTdGMDdWTjtBQUNGO0E2RnQ3VkU7RUFDRTtFQUNBO0VBQ0EsZ0JEdGFrQjtBNUY4MVd0QjtBNkZ0N1ZJO0VBQ0UsY0gxWlc7RUcyWlgsZ0JEdmFhO0E1RisxV25CO0E2RnI3Vkk7RUFHRTtFQUNBLGNIL2FXO0ExRm8yV2pCOztBNkZoN1ZBO0VBQ0U7RUFDQSxjSHphZTtFRzBhZjtBN0ZtN1ZGO0E4RmwwV0U7RURpWkE7SUFFSTtJQUNBO0U3Rm03Vko7QUFDRjtBOEZ4MFdFO0VEd1pBO0lBRUk7RTdGazdWSjtBQUNGO0E2Rjk2Vkk7RUFDRTtBN0ZnN1ZOO0E2Rjc2Vkk7RUFDRTtVQUFBO0VBQ0E7QTdGKzZWTjtBNkYzNlZFO0VBQ0UsY0hyY2E7RUdzY2I7QTdGNjZWSjtBOEZoNldFO0VEc2ZJO0lBR0UsY0h6ZFM7SUcwZFQ7RTdGMjZWTjtBQUNGOztBNkZ0NlZBO0VBQ0U7QTdGeTZWRjs7QTZGdDZWQTtFQUNFO0E3Rnk2VkY7O0E2RnQ2VkE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Z5NlZGO0E2RnY2VkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7RUFDQTtBN0Z5NlZKO0E2RnY2Vkk7RUFDRTtBN0Z5NlZOO0E2RnQ2Vkk7RUFDRTtBN0Z3NlZOO0E2RnI2Vkk7RUFDRTtBN0Z1NlZOOztBNkZsNlZBO0FBRUU7RUFDRTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0E3Rm82Vko7O0E2Rmg2VkE7QUFDQTtFQWdFRTtFQTRCQTtFQVlBO0E3Rjh6VkY7QTZGcjZWRTtFQUNFLGdCSGxnQlU7RUdtZ0JWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGdTZWSjtBOEZ0NldFO0VEaWZBO0lBaUJJO0lBQ0E7SUFDQTtFN0Z3NlZKO0FBQ0Y7QTZGdDZWSTtFQUNFO0VBQ0E7RUFDQTtFQUFBO0VBQUE7QTdGdzZWTjtBNkZwNlZFO0VBQ0U7RUFDQTtFQUNBO0E3RnM2Vko7QTZGbjZWRTs7RUFFRSxjSGpqQmE7RUdrakJiO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7TUFBQTtVQUFBO0E3RnE2Vko7QTZGbjZWSTs7RUFDRTtBN0ZzNlZOO0E2Rmw2VkU7RUFDRSxjSGxrQlU7QTFGcytXZDtBNkZqNlZFO0VBQ0U7RUFDQTtBN0ZtNlZKO0E2Rmg2VkU7RUFDRTtBN0ZrNlZKO0E2Rjk1VkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFRjduQkYsb0JDRWlCO0VERGpCLG1CQ1ltQjtBNUZraFhyQjtBNkY5NVZJO0VBR0U7QTdGODVWTjtBNkYxNVZNO0VBRUU7QTdGMjVWUjtBNkZwNVZJO0VBQ0U7VUFBQTtFQUNBO0E3RnM1Vk47QTZGbjVWSTtFQUNFO0E3RnE1Vk47QTZGLzRWSTtFQUNFO0VBQ0E7VUFBQTtBN0ZpNVZOO0E2Rjk0Vkk7RUFDRTtBN0ZnNVZOO0E2Rjc0Vkk7RUFDRTtFQUNBO1VBQUE7QTdGKzRWTjs7QTZGMTRWQTtBQUNBO0VBQ0U7QTdGNjRWRjtBNkYzNFZFO0VBQ0U7RUFDQTtVQUFBO0E3RjY0Vko7QTZGMTRWRTtFQUNFO0E3RjQ0Vko7QTZGejRWRTs7RUFFRTtBN0YyNFZKOztBNkZ2NFZBOztFQUFBO0FBSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGeTRWSjtBNkZ2NFZJO0VBQ0U7QTdGeTRWTjs7QTZGcDRWQTtFQUNFO0VBQUE7RUFBQTtBN0Z1NFZGOztBNkZwNFZBO0VBQ0U7RUFBQTtFQUFBO0E3RnU0VkY7O0E4RjloWEU7RUQycEJBO0lBQ0U7RTdGdTRWRjtBQUNGO0FBOS9XQTtFQUNFO0FBZ2dYRjs7QUE1L1dBO0VBQ0U7RUFDQTtFQUNBO0FBKy9XRjs7QUE1L1dBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFBQTtBQSsvV0Y7QUE3L1dFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQSsvV0o7QUE1L1dFO0VBRUU7QUE2L1dKO0FBMy9XSTtFQUNFO0FBNi9XTjs7QUF2L1dBO0VBQ0U7QUEwL1dGOztBQXQvV0U7RUFDRTtVQUFBO0VBQ0E7QUF5L1dKO0FBdC9XRTtFQUNFO0FBdy9XSjtBQXAvV0k7RUFDRTtBQXMvV04sQyIsInNvdXJjZXMiOlsid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvbWFpbi5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplLmNzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvaGVscGVycy9fZGVidWcuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2hlbHBlcnMvX2ljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9oZWxwZXJzL19sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL3Rvb2xzL19tZWRpYS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvaGVscGVycy9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2hlbHBlcnMvX29yZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9oZWxwZXJzL19zdGF0ZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvaGVscGVycy9fdHlwZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvaGVscGVycy9fdG9vbHRpcHMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2Jhc2UvX2dsb2JhbC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvYmFzZS9fdHlwZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvYmFzZS9faW1hZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9iYXNlL19mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9iYXNlL19saXN0cy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvYmFzZS9fdGFibGUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2xheW91dC9fb3V0ZXItY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9sYXlvdXQvX292ZXJmbG93LWxpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9sYXlvdXQvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL3Rvb2xzL19jYWxjLWdyaWQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL3ZhcmlhYmxlcy9fZ2VuZXJhbC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvbGF5b3V0L19hamF4LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9sYXlvdXQvX3otaW5kZXguc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2Itc2hhcmUtYW5kLW91dHB1dC1idXR0b25zL19iLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9ucy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1uYXYtaW4tcGFnZS9fYi1uYXYtaW4tcGFnZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1mb290ZXIvX2ItZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXRhYmxlLWpzL19iLXRhYmxlLWpzLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWNvbnRlbnQtaGVhZGVyL19iLWNvbnRlbnQtaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXJlc291cmNlL19iLXJlc291cmNlLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWhlbHAtaXRlbS9fYi1oZWxwLWl0ZW0uc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItY29udGVudC1zdWItaGVhZGVyL19iLWNvbnRlbnQtc3ViLWhlYWRlci5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtcmVzdWx0cy1zdW1tYXJ5L19iLXNlYXJjaC1yZXN1bHRzLXN1bW1hcnkuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItaGlkZS1zaG93L19iLWhpZGUtc2hvdy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtc3VnZ2VzdGlvbnMvX2Itc2VhcmNoLXN1Z2dlc3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWV4YW1wbGUtZW1iZWQvX2ItZXhhbXBsZS1lbWJlZC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtaGVhZGVyL19iLXNlYXJjaC1oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItbmF2LWd1aWRlLXNpZGViYXIvX2ItbmF2LWd1aWRlLXNpZGViYXIuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItZXhhbXBsZS1zbGlkZS9fYi1leGFtcGxlLXNsaWRlLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXN0cmF0ZWd5L19iLXN0cmF0ZWd5LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXVuZGVyc3RhbmQtb3ZlcnZpZXcvX2ItdW5kZXJzdGFuZC1vdmVydmlldy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1jYXB0aW9uL19iLWNhcHRpb24uc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItcHJvY2Vzcy1saXN0L19iLXByb2Nlc3MtbGlzdC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1leGFtcGxlLWhvbWUvX2ItZXhhbXBsZS1ob21lLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWZpbGwvX2ItZmlsbC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1waWN0dXJlL19iLXBpY3R1cmUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItY29udGVudC9fYi1jb250ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLW5leHQtc3RlcHMvX2ItbmV4dC1zdGVwcy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1ob3ctdG8tdXNlLXRoZS1zaXRlL19iLWhvdy10by11c2UtdGhlLXNpdGUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItbGluay1pY29uL19iLWxpbmstaWNvbi5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1iYWNrLXRvLXRvcC9fYi1iYWNrLXRvLXRvcC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1maWx0ZXItbm90aWNlL19iLWZpbHRlci1ub3RpY2Uuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItbW9kYWwtanMvX2ItdmVuZG9yLW1vZGFhbC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1tb2RhbC1qcy9fYi1tb2RhbC1qcy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1uby1yZXN1bHRzLW1lc3NhZ2UvX2Itbm8tcmVzdWx0cy1tZXNzYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXNlYXJjaC1maWVsZC9fYi1zZWFyY2gtZmllbGQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2Itc2VhcmNoLWZpZWxkL19iLXNlYXJjaGZpZWxkLS10eXBlYWhlYWQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL19iLWV4YW1wbGVfL19iLWV4YW1wbGUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItdGtpLWJhci9fYi10a2ktYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWJ1dHRvbi9fYi1idXR0b24uc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItcGFnaW5hdGlvbi9fYi1wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWFsZXJ0L19iLWFsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXNraXAtbGlua3MvX2Itc2tpcC1saW5rcy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1zdWdnZXN0aW9uL19iLXN1Z2dlc3Rpb24uc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2Ita25vd2xlZGdlLXNsaWRlL19iLWtub3dsZWRnZS1zbGlkZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1uZXh0LXN0ZXBzLWFuZC1ob3ctdG8tdXNlLXRoZS1zaXRlL19iLW5leHQtc3RlcHMtYW5kLWhvdy10by11c2UtdGhlLXNpdGUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItZ3VpZGUtdGlsZS9fYi1ndWlkZS10aWxlLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWNvbnRlbnQtcmV2ZWFsL19iLWNvbnRlbnQtcmV2ZWFsLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXRhZy9fYi10YWcuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2Itbm90ZS1qcy9fYi1ub3RlLWpzLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWd1aWRlLWxpc3Qtc2VhcmNoLWFuZC1maWx0ZXIvX2ItZ3VpZGUtbGlzdC1zZWFyY2gtYW5kLWZpbHRlci5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1maWx0ZXIvX2ItZmlsdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXZpZGVvL19iLXZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXNjcm9sbC10cmlnZ2VyLWpzL19iLXNjcm9sbC10cmlnZ2VyLWpzLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXRleHQtcHJvbW8vX2ItdGV4dC1wcm9tby5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1uYXYtcHJpbWFyeS9fYi1uYXYtcHJpbWFyeS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1pbnRyb2R1Y3Rpb24vX2ItaW50cm9kdWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXJ1bGUvX2ItcnVsZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtcmVzdWx0L19iLXNlYXJjaC1yZXN1bHQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItbmF2LWluLXBhZ2UtcGlubmVkLWpzL19iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9jb2xvcnMvX2NvbG9ycy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9pY29ucy9faWNvbnMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvc3R5bGUtcGF0dGVybnMvZ3JpZC9fZ3JpZC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9sYXlvdXRzL2wtMS9fbC0xLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2xheW91dHMvbC0yL19sLTIuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvbGF5b3V0cy9sLTQvX2wtNC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9sYXlvdXRzL2wtMy9fbC0zLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi4vLi4vdmVuZG9yL2VkdWNhdGlvbi1uei9tb2UtZGVzaWduLXN5c3RlbS9jbGllbnQvc2Nzcy92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uLi8uLi92ZW5kb3IvZWR1Y2F0aW9uLW56L21vZS1zdGFuZGFyZC1oZWFkZXIvY2xpZW50L3Njc3Mvc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi4vLi4vdmVuZG9yL2VkdWNhdGlvbi1uei9tb2UtZGVzaWduLXN5c3RlbS9jbGllbnQvc2Nzcy92YXJpYWJsZXMvY29sb3Vycy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4uLy4uL3ZlbmRvci9lZHVjYXRpb24tbnovbW9lLWRlc2lnbi1zeXN0ZW0vY2xpZW50L3Njc3MvbWl4aW5zL3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uLi8uLi92ZW5kb3IvZWR1Y2F0aW9uLW56L21vZS1kZXNpZ24tc3lzdGVtL2NsaWVudC9zY3NzL3ZhcmlhYmxlcy90eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi4vLi4vdmVuZG9yL2VkdWNhdGlvbi1uei9tb2Utc3RhbmRhcmQtaGVhZGVyL2NsaWVudC9zY3NzL2hlYWRlci5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4uLy4uL3ZlbmRvci9lZHVjYXRpb24tbnovbW9lLWRlc2lnbi1zeXN0ZW0vY2xpZW50L3Njc3MvbWl4aW5zL2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi4vLi4vdmVuZG9yL2VkdWNhdGlvbi1uei9tb2UtZGVzaWduLXN5c3RlbS9jbGllbnQvc2Nzcy92YXJpYWJsZXMvdHJhbnNpdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uLi8uLi92ZW5kb3IvZWR1Y2F0aW9uLW56L21vZS1kZXNpZ24tc3lzdGVtL2NsaWVudC9zY3NzL21peGlucy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBNYWluIFN0eWxlc2hlZXRzIEltcG9ydFxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gVGhpcyBpcyB0aGUgZW50cnkgcG9pbnQgZnJvbSB3aGljaCBhbGwgb3RoZXIgc3R5bGVzaGVldHMgYXJlIGltcG9ydGVkLlxuXG5AY2hhcnNldCBcInV0Zi04XCI7XG5cbi8vIEVudHJ5IHBvaW50XG5AaW1wb3J0XG5cImxpYlwiLFxuXCJ0b29sc1wiLFxuXCJ2YXJpYWJsZXNcIixcblwiaGVscGVyc1wiLFxuXCJiYXNlXCIsXG5cImxheW91dFwiO1xuXG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9ucy9fYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1uYXYtaW4tcGFnZS9fYi1uYXYtaW4tcGFnZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWZvb3Rlci9fYi1mb290ZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi10YWJsZS1qcy9fYi10YWJsZS1qcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWNvbnRlbnQtaGVhZGVyL19iLWNvbnRlbnQtaGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItcmVzb3VyY2UvX2ItcmVzb3VyY2Uuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1oZWxwLWl0ZW0vX2ItaGVscC1pdGVtLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItY29udGVudC1zdWItaGVhZGVyL19iLWNvbnRlbnQtc3ViLWhlYWRlci5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXNlYXJjaC1yZXN1bHRzLXN1bW1hcnkvX2Itc2VhcmNoLXJlc3VsdHMtc3VtbWFyeS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWhpZGUtc2hvdy9fYi1oaWRlLXNob3cuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtc3VnZ2VzdGlvbnMvX2Itc2VhcmNoLXN1Z2dlc3Rpb25zLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItZXhhbXBsZS1lbWJlZC9fYi1leGFtcGxlLWVtYmVkLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itc2VhcmNoLWhlYWRlci9fYi1zZWFyY2gtaGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItbmF2LWd1aWRlLXNpZGViYXIvX2ItbmF2LWd1aWRlLXNpZGViYXIuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1leGFtcGxlLXNsaWRlL19iLWV4YW1wbGUtc2xpZGUuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1zdHJhdGVneS9fYi1zdHJhdGVneS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXVuZGVyc3RhbmQtb3ZlcnZpZXcvX2ItdW5kZXJzdGFuZC1vdmVydmlldy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWNhcHRpb24vX2ItY2FwdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXByb2Nlc3MtbGlzdC9fYi1wcm9jZXNzLWxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1leGFtcGxlLWhvbWUvX2ItZXhhbXBsZS1ob21lLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItZmlsbC9fYi1maWxsLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItcGljdHVyZS9fYi1waWN0dXJlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItY29udGVudC9fYi1jb250ZW50LnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItbmV4dC1zdGVwcy9fYi1uZXh0LXN0ZXBzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItaG93LXRvLXVzZS10aGUtc2l0ZS9fYi1ob3ctdG8tdXNlLXRoZS1zaXRlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItbGluay1pY29uL19iLWxpbmstaWNvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWJhY2stdG8tdG9wL19iLWJhY2stdG8tdG9wLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItZmlsdGVyLW5vdGljZS9fYi1maWx0ZXItbm90aWNlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItbW9kYWwtanMvX2ItdmVuZG9yLW1vZGFhbC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLW1vZGFsLWpzL19iLW1vZGFsLWpzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itbm8tcmVzdWx0cy1tZXNzYWdlL19iLW5vLXJlc3VsdHMtbWVzc2FnZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXNlYXJjaC1maWVsZC9fYi1zZWFyY2gtZmllbGQuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtZmllbGQvX2Itc2VhcmNoZmllbGQtLXR5cGVhaGVhZC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9fYi1leGFtcGxlXy9fYi1leGFtcGxlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItdGtpLWJhci9fYi10a2ktYmFyLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItYnV0dG9uL19iLWJ1dHRvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXBhZ2luYXRpb24vX2ItcGFnaW5hdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWFsZXJ0L19iLWFsZXJ0LnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itc2tpcC1saW5rcy9fYi1za2lwLWxpbmtzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItbW9kYWwtcGFnaW5hdGlvbi1qcy9fYi1tb2RhbC1wYWdpbmF0aW9uLWpzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itc3VnZ2VzdGlvbi9fYi1zdWdnZXN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Ita25vd2xlZGdlLXNsaWRlL19iLWtub3dsZWRnZS1zbGlkZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLW5leHQtc3RlcHMtYW5kLWhvdy10by11c2UtdGhlLXNpdGUvX2ItbmV4dC1zdGVwcy1hbmQtaG93LXRvLXVzZS10aGUtc2l0ZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWljb24vX2ItaWNvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9fYmxvY2tzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItZ3VpZGUtdGlsZS9fYi1ndWlkZS10aWxlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItY29udGVudC1yZXZlYWwvX2ItY29udGVudC1yZXZlYWwuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi10YWcvX2ItdGFnLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itbm90ZS1qcy9fYi1ub3RlLWpzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItZ3VpZGUtbGlzdC1zZWFyY2gtYW5kLWZpbHRlci9fYi1ndWlkZS1saXN0LXNlYXJjaC1hbmQtZmlsdGVyLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItZmlsdGVyL19iLWZpbHRlci5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXZpZGVvL19iLXZpZGVvLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itc2Nyb2xsLXRyaWdnZXItanMvX2Itc2Nyb2xsLXRyaWdnZXItanMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi10ZXh0LXByb21vL19iLXRleHQtcHJvbW8uc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1uYXYtcHJpbWFyeS9fYi1uYXYtcHJpbWFyeS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWludHJvZHVjdGlvbi9fYi1pbnRyb2R1Y3Rpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1ydWxlL19iLXJ1bGUuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtcmVzdWx0L19iLXNlYXJjaC1yZXN1bHQuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1uYXYtaW4tcGFnZS1waW5uZWQtanMvX2ItbmF2LWluLXBhZ2UtcGlubmVkLWpzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvc3R5bGUtcGF0dGVybnMvdGFibGVzL190YWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9mb3Jtcy9fZm9ybXMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9saXN0cy9fbGlzdHMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9fc3R5bGUtcGF0dGVybnMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9jb2xvcnMvX2NvbG9ycy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL3N0eWxlLXBhdHRlcm5zL2ljb25zL19pY29ucy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL3N0eWxlLXBhdHRlcm5zL3R5cG9ncmFwaHkvX3R5cG9ncmFwaHkuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9ncmlkL19ncmlkLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvY29tcG9uZW50cy8wNy1oZWxwL19jLTA3LWhlbHAuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzAzLWd1aWRlL19jLTAzLTAwLWd1aWRlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvY29tcG9uZW50cy8wMC1jb21tb24vX2MtMDAtMDQtbmV4dC1zdGVwcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTEwLWtub3dsZWRnZS1zbGlkZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTExLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9ucy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTA1LXJlc291cmNlcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTAxLXByaW1hcnktbmF2aWdhdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTEzLWluLXBhZ2UtbmF2aWdhdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTA4LWV4YW1wbGUtc2xpZGUuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzAwLWNvbW1vbi9fYy0wMC0wOS1leGFtcGxlLWVtYmVkLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvY29tcG9uZW50cy8wMC1jb21tb24vX2MtMDAtMDctZ3VpZGUtdGlsZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTAwLWNvbW1vbi1jb21wb25lbnRzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvY29tcG9uZW50cy8wMC1jb21tb24vX2MtMDAtMDYtZ3VpZGUtbGlzdC1zZWFyY2gtYW5kLWZpbHRlci5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTAzLWd1aWRlLXNpZGViYXItbmF2aWdhdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTAyLWZvb3Rlci5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTEyLWludHJvZHVjdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDUtc3VnZ2VzdGlvbi9fYy0wNS0wMC1zdWdnZXN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvY29tcG9uZW50cy8xMC1zZWFyY2gtbW9kYWwvX2MtMTAtMDAtc2VhcmNoLW1vZGFsLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvbGF5b3V0cy9sLTEvX2wtMS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2xheW91dHMvbC0yL19sLTIuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9sYXlvdXRzL2wtNC9fbC00LnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvbGF5b3V0cy9sLTMvX2wtMy5zY3NzXCI7XG5cbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi92ZW5kb3IvZWR1Y2F0aW9uLW56L21vZS1kZXNpZ24tc3lzdGVtL2NsaWVudC9zY3NzL3ZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vdmVuZG9yL2VkdWNhdGlvbi1uei9tb2UtZGVzaWduLXN5c3RlbS9jbGllbnQvc2Nzcy9taXhpbnMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9lZHVjYXRpb24tbnovbW9lLXN0YW5kYXJkLWhlYWRlci9jbGllbnQvc2Nzcy9oZWFkZXIuc2Nzc1wiO1xuXG5ib2R5IHtcbiAgLS1oZWFkZXItaGVpZ2h0OiA2MHB4O1xufVxuXG5cbi5uYXZiYXItYnJhbmQge1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdCwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLm5hdmJhci1tZW51IGEge1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdCwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9leHRlcm5hbC1saW5rLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggYXV0bztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogIzE0NzBFMTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2V4dGVybmFsLWxpbmstYmx1ZS5zdmdcIik7XG4gICAgfVxuICB9XG59XG5cblxuLm5hdmJhciArIGRpdiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbltkYXRhLWNsYXNzbmFtZT1JbmNsdXNpdmVIb21lcGFnZV0ge1xuICAubmF2YmFyIHtcbiAgICBib3gtc2hhZG93OiAwIDFweCA4cHggcmdiYSgwLDAsMCwwLjIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjI1MmE7XG4gIH1cblxuICAuYi1uYXYtcHJpbWFyeV9fYnJhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuYi1uYXYtcHJpbWFyeSB7XG4gICAgLmItcnVsZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIFR5cG9ncmFwaGljXG4vLyBcbi8vIFNlZSBhbHNvIC4uL2Jhc2UvX3R5cGUuc2Nzc1xuLy8gU2VlIGFsc28gLi4vaGVscGVycy9fdHlwZS5zY3NzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHbG9iYWwgc2l6aW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbiRnLWZvbnQtYmFzZTogOHB4O1xuJGctbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsYXIgU2NhbGUgVHlwb2dyYXBoeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gVGhlc2UgYXJlIHNldHRpbmdzIGZvciB0aGUgbW9kdWxhciBzY2FsZSBwbHVnaW4gYW5kIHRoZXJlZm9yZSB1c2UgdGhlaXJcbi8vIG93biBuYW1pbmcgY29udmVudGlvbi5cbiRtcy1iYXNlOiBidSgyKTtcbiRtcy1mbHVpZDogZmFsc2U7XG4kbXMtcmF0aW86ICRtYWpvci1zZWNvbmQ7XG5cbi8vIFVzZWQgdG8gbWF0Y2ggYSBwb2ludCBvbiB0aGUgc2NhbGUgdG8gYSBzdGFuZGFyZCBsaW5lIGhlaWdodCB1c2luZyBiYXNlIHVuaXRzXG4vLyBUaGlzIGhhcyBiZWVuIGN1c3RvbWlzZWQgdG8gbWF0Y2ggdGhlIGxpbmUgaGVpZ2h0cyB1c2VkIGluIHRoZSBkZXNpZ24uXG4kZy1mb250LXNjYWxlLXNpemluZzogKFxuICAtMzogYnUoMiksXG4gIC0yOiBidSgyKSxcbiAgLTE6IGJ1KDIuMjUpLFxuICAwOiAgYnUoMyksXG4gIDE6ICBidSgzLjUpLFxuICAyOiAgYnUoMyksXG4gIDM6ICBidSgzLjUpLFxuICA0OiAgYnUoMy41KSxcbiAgNTogIGJ1KDMuNSksXG4gIDY6ICBidSg1KSxcbiAgNzogIGJ1KDUpLFxuICA4OiAgYnUoNS41KSxcbiAgOTogIGJ1KDUuNSksXG4gIDEwOiAgYnUoOCksXG4gIDExOiAgYnUoNy43NSksXG4gIDEyOiAgYnUoMTApLFxuICAxMzogIGJ1KDExKSxcbiAgMTQ6ICBidSgxMiksXG4gIDE1OiAgYnUoMTMpLFxuICAxNjogIGJ1KDEzKVxuKTtcblxuQG1peGluIGZvbnQtc2NhbGUoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGctZm9udC1zY2FsZS1zaXppbmcsICRrZXkpIHtcbiAgICBmb250LXNpemU6IG1zKCRrZXkpO1xuICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRnLWZvbnQtc2NhbGUtc2l6aW5nLCAka2V5KTtcbiAgfVxufVxuXG4vLyBDb252ZXJ0IFBob3Rvc2hvcCBsZXR0ZXJzcGFjaW5nIGludG8gcmVtc1xuLy9cbi8vIEBwYXJhbSBzdHJpbmcgICRsZXR0ZXItc3BhY2luZy1weC1wc2QgIFBpeGVsIGFtb3VudCBjb3BpZWQgZnJvbSBQaG90b3Nob3AvSW52aXNpb25cbi8vIEBwYXJhbSBpbnQgICAgICRtcy1zaXplICAgICAgICAgICAgICAgIE1vZHVsYXIgU2NhbGUgdmFsdWVcbi8vIEBzZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL2FseWRhL3Blbi9nR3piTFxuLy8gQGV4YW1wbGVcbi8vICBAaW5jbHVkZSBmb250LXNjYWxlKDExKTtcbi8vICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMTEpO1xuQG1peGluIGxldHRlci1zcGFjaW5nKCRsZXR0ZXItc3BhY2luZy1weC1wc2QsICRtcy1zaXplKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZy1mb250LXNjYWxlLXNpemluZywgJG1zLXNpemUpIHtcbiAgICAkZm9udC1zaXplLXJlbTogbXMoJG1zLXNpemUpOyAvLyBOcmVtXG4gICAgJGZvbnQtc2l6ZS1weDogKG1hdGguZGl2KCRmb250LXNpemUtcmVtLCAxcmVtKSAqICRnLWZvbnQtYmFzZSk7IC8vIDFyZW0gLT4gOHB4XG4gICAgJGxldHRlci1zcGFjaW5nLXB4OiAoJGxldHRlci1zcGFjaW5nLXB4LXBzZCAqICRmb250LXNpemUtcHggKiAwLjAwMSk7XG4gICAgJGxldHRlci1zcGFjaW5nLXJlbTogKG1hdGguZGl2KG1hdGguZGl2KCRsZXR0ZXItc3BhY2luZy1weCwgJGctZm9udC1iYXNlKSwgMXB4KSAqIDFyZW0pO1xuXG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1yZW07XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZy1mb250LXByaW1hcnk6IE1vbnRzZXJyYXQsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4kZy1mb250LXNlY29uZGFyeTogTWFydGVsLCBHZW9yZ2lhLCBzZXJpZjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnQgRmFjZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gTm90ZSB0aGVzZSBhcmUgbm90IHZhcmlhYmxlcywgYnV0IGFyZSB1c2VkIGxpa2UgdmFyaWFibGVzIHNvIGluY2x1ZGVkIGluIHRoaXMgbG9jYXRpb24uXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQcmltYXJ5XG4vLyBodHRwczovL2ZvbnRzLmdvb2dsZS5jb20vc3BlY2ltZW4vTW9udHNlcnJhdFxuLy8gaHR0cDovL2dvb2dsZS13ZWJmb250cy1oZWxwZXIuaGVyb2t1YXBwLmNvbS9mb250cy9tb250c2VycmF0P3N1YnNldHM9bGF0aW4tZXh0LGxhdGluXG4vLyBodHRwOi8vbWFvcmkudHlwZWl0Lm9yZy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIDEwMDogVGhpblxuLy8gMjAwOiBFeHRyYS1MaWdodFxuLy8gMzAwOiBMaWdodFxuLy8gNDAwIChSZWd1bGFyKVxuLy8gNTAwOiBNZWRpdW1cbi8vIDYwMDogU2VtaS1Cb2xkXG4vLyA3MDA6IEJvbGRcbi8vIDgwMDogRXh0cmEtQm9sZFxuJHByaW1hcnktd2VpZ2h0czogMTAwLCAyMDAsIDMwMCwgcmVndWxhciwgNTAwLCA2MDAsIDcwMCwgODAwO1xuXG5AZWFjaCAkd2VpZ2h0IGluICRwcmltYXJ5LXdlaWdodHMge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG5cbiAgICBAaWYgJHdlaWdodCA9PSBcInJlZ3VsYXJcIiB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH0gQGVsc2Uge1xuICAgICAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gICAgfVxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBzcmM6IHVybCgkZy1mb250LXBhdGggKyBcIm1vbnRzZXJyYXQvbW9udHNlcnJhdC12MTItbGF0aW5fbGF0aW4tZXh0LSN7JHdlaWdodH0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybCgkZy1mb250LXBhdGggKyBcIm1vbnRzZXJyYXQvbW9udHNlcnJhdC12MTItbGF0aW5fbGF0aW4tZXh0LSN7JHdlaWdodH0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICB9XG59XG5cbi8vIGNyZWF0ZSB0ZXN0IGNsYXNzZXNcbkBlYWNoICR3ZWlnaHQgaW4gJHByaW1hcnktd2VpZ2h0cyB7XG4gIC5mb250LXByaW1hcnktI3skd2VpZ2h0fSB7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogI3skd2VpZ2h0fTtcbiAgfVxufVxuXG4vLyAyMDA6IEV4dHJhLUxpZ2h0IEl0YWxpY1xuLy8gNDAwIChSZWd1bGFyIEl0YWxpYylcbiRwcmltYXJ5LXdlaWdodHMtaXRhbGljOiAyMDAsIHJlZ3VsYXI7XG5cbkBlYWNoICR3ZWlnaHQgaW4gJHByaW1hcnktd2VpZ2h0cyB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcblxuICAgIEBpZiAkd2VpZ2h0ID09IFwicmVndWxhclwiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfSBAZWxzZSB7XG4gICAgICBmb250LXdlaWdodDogI3skd2VpZ2h0fTtcbiAgICB9XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gICAgQGlmICR3ZWlnaHQgPT0gXCJyZWd1bGFyXCIge1xuICAgICAgJHdlaWdodDogXCJcIjtcbiAgICB9XG5cbiAgICBzcmM6IHVybCgkZy1mb250LXBhdGggKyBcIm1vbnRzZXJyYXQvbW9udHNlcnJhdC12MTItbGF0aW5fbGF0aW4tZXh0LSN7JHdlaWdodH1pdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybCgkZy1mb250LXBhdGggKyBcIm1hcnRlbC9tYXJ0ZWwtdjItbGF0aW5fbGF0aW4tZXh0LSN7JHdlaWdodH1pdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICB9XG59XG5cbi8vIGNyZWF0ZSB0ZXN0IGNsYXNzZXNcbkBlYWNoICR3ZWlnaHQgaW4gJHByaW1hcnktd2VpZ2h0cy1pdGFsaWMge1xuICAuZm9udC1wcmltYXJ5LWl0YWxpYy0jeyR3ZWlnaHR9IHtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiAjeyR3ZWlnaHR9O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2Vjb25kYXJ5XG4vLyBodHRwczovL2ZvbnRzLmdvb2dsZS5jb20vc3BlY2ltZW4vTWFydGVsXG4vLyBodHRwOi8vZ29vZ2xlLXdlYmZvbnRzLWhlbHBlci5oZXJva3VhcHAuY29tL2ZvbnRzL21hcnRlbD9zdWJzZXRzPWxhdGluLWV4dCxsYXRpblxuLy8gaHR0cDovL21hb3JpLnR5cGVpdC5vcmcvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAzMDA6IGxpZ2h0XG4vLyBub3JtYWw6IHJlZ3VsYXJcbi8vIDYwMDogc2VtaS1ib2xkXG4vLyA4MDA6IGV4dHJhLWJvbGRcbi8vIDkwMDogYmxhY2tcbiRzZWNvbmRhcnktd2VpZ2h0czogMzAwLCByZWd1bGFyLCA2MDAsIDgwMCwgOTAwO1xuXG5AZWFjaCAkd2VpZ2h0IGluICRzZWNvbmRhcnktd2VpZ2h0cyB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1hcnRlbFwiO1xuXG4gICAgQGlmICR3ZWlnaHQgPT0gXCJyZWd1bGFyXCIge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAjeyR3ZWlnaHR9O1xuICAgIH1cbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgc3JjOiB1cmwoJGctZm9udC1wYXRoICsgXCJtYXJ0ZWwvbWFydGVsLXYyLWxhdGluX2xhdGluLWV4dC0jeyR3ZWlnaHR9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoJGctZm9udC1wYXRoICsgXCJtYXJ0ZWwvbWFydGVsLXYyLWxhdGluX2xhdGluLWV4dC0jeyR3ZWlnaHR9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgfVxufVxuXG4vLyBjcmVhdGUgdGVzdCBjbGFzc2VzXG5AZWFjaCAkd2VpZ2h0IGluICRzZWNvbmRhcnktd2VpZ2h0cyB7XG4gIC5mb250LXNlY29uZGFyeS0jeyR3ZWlnaHR9IHtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1zZWNvbmRhcnk7XG4gICAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gIH1cbn1cbiIsIi8vIGFkZCBmaWxscyB0byBsYXlvdXQgY29sdW1ucyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzXG5cbi5oLWRlYnVnLWxheW91dCB7XG4gIFtjbGFzc149XCJsLVwiXSxcbiAgW2NsYXNzKj1cIiBsLVwiXSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xheW91dC9ncmlkLTExMzItMTItMzItMC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQteTogcmVwZWF0O1xuICB9XG5cbiAgLy8gW2NsYXNzKj1cIl9fY29sXCJdIHtcbiAgLy8gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyMDQsIDAsIC4xNSk7XG4gIC8vIH1cbn1cblxuLy8gdHlwZVxuXG4uaC1kZWJ1Zy10eXBlIHtcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcCxcbiAgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAwLCAyMjEpO1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgaDEge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcImgxXCI7XG4gICAgfVxuXG4gICAgJltjbGFzc10ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJoMS5cIiBhdHRyKGNsYXNzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiaDJcIjtcbiAgICB9XG5cbiAgICAmW2NsYXNzXSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcImgyLlwiIGF0dHIoY2xhc3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJoM1wiO1xuICAgIH1cblxuICAgICZbY2xhc3NdIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiaDMuXCIgYXR0cihjbGFzcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaDQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcImg0XCI7XG4gICAgfVxuXG4gICAgJltjbGFzc10ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJoNC5cIiBhdHRyKGNsYXNzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoNSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiaDVcIjtcbiAgICB9XG5cbiAgICAmW2NsYXNzXSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcImg1LlwiIGF0dHIoY2xhc3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGg2IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJoNlwiO1xuICAgIH1cblxuICAgICZbY2xhc3NdIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiaDYuXCIgYXR0cihjbGFzcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwicFwiO1xuICAgIH1cblxuICAgICZbY2xhc3NdIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwicC5cIiBhdHRyKGNsYXNzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsaSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwibGlcIjtcbiAgICB9XG5cbiAgICAmW2NsYXNzXSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcImxpLlwiIGF0dHIoY2xhc3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gSWNvbiBIZWxwZXJzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlbHBlcnMgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIGFsbCBpY29ucyBoYXZlIGRpZmZlcmVudCBkZWZhdWx0IHJvdGF0aW9uc1xuLy8gc28gdmlzdWFsbHkgY2hlY2sgdGhhdCB0aGUgcm90YXRpb24gaXMgYXMgZGVzaXJlZFxuQG1peGluIHJvdGF0ZS1pY29uKCRyb3RhdGlvbikge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgjeyRyb3RhdGlvbn1kZWcpO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlbHBlcnMgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gRGVmYXVsdCBpY29uIHN0eWxpbmcuIFNlZSBodHRwczovL2Z2c2NoLmNvbS9jb2RlL3N2Zy1pY29ucy9ob3ctdG8vXG4uaC1pY29uIHtcbiAgLy8gTmljZSB2aXN1YWwgYWxpZ25tZW50IGZvciBpY29ucyBhbG9uZ3NpZGUgdGV4dC4gKEkgZ290IGEgZmV3IHF1ZXN0aW9ucyBhYm91dCB0aGlzIGFuZDogd2l0aCBtb3N0IGZvbnRzIGFuZCBzdHlsZXMsIHRoaXMgd29ya3MgYmV0dGVyIHRoYW4ganVzdCB2ZXJ0aWNhbC1hbGlnbjptaWRkbGUuIFRyeSBpdCBhbmQgc2VlIHdoYXQgeW91IGxpa2UgYmVzdC5cbiAgdmVydGljYWwtYWxpZ246IC0uMTVlbTtcblxuICAvLyBJbmhlcml0IHRoZSB0ZXh04oCZcyBzaXplLiBBbHNvIGFsbG93cyBzaXppbmcgdGhlIGljb24gYnkgY2hhbmdpbmcgaXRzIGZvbnQtc2l6ZS5cbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG5cbiAgLy8gUGF0aHMgYW5kIHN0cm9rZXMgdGhhdCBvdmVyZmxvdyB0aGUgdmlld0JveCBjYW4gc2hvdyBpbiBJRS4gSWYgeW91IHVzZSBub3JtYWxpemUuY3NzLCBpdCBhbHJlYWR5IHNldHMgdGhpcy5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBMZXRzIHRoZSBpY29uIGluaGVyaXQgdGhlIHRleHQgY29sb3IuXG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcblxuICBhICYsXG4gIGJ1dHRvbiAmLFxuICBpbnB1dCAmLFxuICAuYi1zZWFyY2gtZmllbGQgJiB7XG4gICAgLy8gcHJldmVudCBTVkcgaWNvbnMgZnJvbSBibG9ja2luZyBhY2Nlc3MgdG8gdGhlIGJ1dHRvbiBob3RzcG90ICdiZWhpbmQnIHRoZW5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYtLXJvdGF0ZS05MCB7XG4gICAgQGluY2x1ZGUgcm90YXRlLWljb24oOTApO1xuICB9XG5cbiAgJi0tcm90YXRlLTE4MCB7XG4gICAgQGluY2x1ZGUgcm90YXRlLWljb24oMTgwKTtcbiAgfVxuXG4gICYtLXJvdGF0ZS0yNzAge1xuICAgIEBpbmNsdWRlIHJvdGF0ZS1pY29uKDI3MCk7XG4gIH1cblxuICAmLS1hcnJvdyB7XG4gICAgYSAmIHtcbiAgICAgIGZpbGw6IGNvbG9yKHR5cGUpO1xuICAgIH1cblxuICAgIC5iLWJ1dHRvbiAmIHtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAmLS11cCB7XG4gICAgICBAaW5jbHVkZSByb3RhdGUtaWNvbigtOTApO1xuICAgIH1cblxuICAgICYtLWRvd24ge1xuICAgICAgQGluY2x1ZGUgcm90YXRlLWljb24oOTApO1xuICAgIH1cblxuICAgICYtLWxlZnQge1xuICAgICAgQGluY2x1ZGUgcm90YXRlLWljb24oMTgwKTtcbiAgICB9XG5cbiAgICAmLS11cC1yaWdodCB7XG4gICAgICBAaW5jbHVkZSByb3RhdGUtaWNvbigtNDUpO1xuICAgIH1cbiAgfVxuXG4gICYtLXRyaWFuZ2xlIHtcblxuICAgICYtLXVwIHtcbiAgICAgIEBpbmNsdWRlIHJvdGF0ZS1pY29uKDE4MCk7XG4gICAgfVxuICB9XG5cbiAgJi0tbG9hZGluZy1zcGlubmVyLWxhcmdlLFxuICAmLS1sb2FkaW5nLXNwaW5uZXItc21hbGwtd2hpdGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGxvYWRpbmctc3Bpbm5lci1hbmltYXRpb247XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbG9hZGluZy1zcGlubmVyLWFuaW1hdGlvbiB7XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHJvdGF0ZS1pY29uKDM2MCk7XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBMYXlvdXQgSGVscGVyc1xuLy9cbi8vIFNlZSBhbHNvIF9zdGF0ZS5zY3NzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBEZWZpbmUgYWxsIGhlbHBlcnMgcmVsYXRlZCB0byBsYXlvdXQgaW4gdGhpcyBzdHlsZXNoZWV0XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIG9mZnNldCBwYWRkaW5nIG9mIHBhcmVudCAubC1vdXRlci1jb250YWluZXJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQG1peGluIGgtZnVsbHdpZHRoKCRicmVha3BvaW50KSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJG1hcmdpbjogXCJcIjtcblxuICBAaWYgKCRicmVha3BvaW50ID09IFwibmFycm93XCIpIHtcbiAgICAkbWFyZ2luOiAkZy1tYXJnaW4tbmFycm93O1xuICB9XG4gIEBlbHNlIGlmICgkYnJlYWtwb2ludCA9PSBcIndpZGVcIikge1xuICAgICRtYXJnaW46ICRnLW1hcmdpbi13aWRlO1xuICB9XG4gIEBlbHNlIGlmICgkYnJlYWtwb2ludCA9PSBcIndpZGVzdFwiKSB7XG4gICAgJG1hcmdpbjogJGctbWFyZ2luLXdpZGVzdDtcbiAgfVxuICBAZWxzZSBpZiAoJGJyZWFrcG9pbnQgPT0gXCJmdWxsXCIpIHtcbiAgICAkbWFyZ2luOiAxNDQ7XG4gIH1cblxuICByaWdodDogKC0jeyRtYXJnaW59cHgpO1xuICBsZWZ0OiAoLSN7JG1hcmdpbn1weCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAjezJweCAqICRtYXJnaW59KTtcbn1cblxuLy8gR2xvYmFsIG1hcmdpbiBzZXR0aW5nc1xuLy8gVGhlb3JldGljYWxseSB1c2VkIGJ5IGFsbCB0b3AgbGV2ZWwgYmxvY2tzXG4vLyBmb3IgY29uc2lzdGVudCBsYXlvdXRcbi8vIGJ1dCBsaW5lLWhlaWdodHMgY2FuIGFmZmVjdCB0aGlzXG5AbWl4aW4gaC1nbG9iYWwtbWFyZ2luKCRzaWRlKSB7XG4gIEBpZiAkc2lkZSA9PSBcInRvcFwiIHtcbiAgICBtYXJnaW4tdG9wOiBidSg0KTtcbiAgfSBAZWxzZSBpZiAkc2lkZSA9PSBcImJvdHRvbVwiIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgfSBAZWxzZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gIH1cbn1cblxuLy8gZHVlIHRvIG5vLWltcG9ydGFudFxuLy8gYXZvaWQgdXNpbmcgdGhpcyBoZWxwZXIgb24gYW4gZWxlbWVudCB0aGF0IGFsc28gdXNlcyBkaXNwbGF5LFxuLy8gdXNlIGl0IG9uIHRoZSBwYXJlbnQgaW5zdGVhZFxuQG1peGluIGgtaGlkZSgpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gZHVlIHRvIG5vLWltcG9ydGFudFxuLy8gYXZvaWQgdXNpbmcgdGhpcyBoZWxwZXIgb24gYW4gZWxlbWVudCB0aGF0IGFsc28gdXNlcyBkaXNwbGF5LFxuLy8gdXNlIGl0IG9uIHRoZSBwYXJlbnQgaW5zdGVhZFxuQG1peGluIGgtc2hvdygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA0IHtcbiAgICAmW2NsYXNzXj1cImwtI3skaX0tLVwiXSxcbiAgICAmW2NsYXNzKj1cIiBsLSN7JGl9LS1cIl0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuLy8gaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuLy8gRGVmaW5lZCBhcyBtaXhpbiBiZWNhdXNlIG9mdGVuIHVzZWQgYXQgZGlmZmVyZW50IG1lZGlhIGxldmVsc1xuXG5AbWl4aW4gaC12aXN1YWxseWhpZGRlbigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG59XG5cbkBtaXhpbiBoLXZpc3VhbGx5c2hvd24oKSB7XG4gIHBvc2l0aW9uOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgcGFkZGluZzogaW5oZXJpdDtcbiAgYm9yZGVyOiBpbmhlcml0O1xuICBtYXJnaW46IGluaGVyaXQ7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oLWJsb2NrIHtcbiAgQGluY2x1ZGUgaC1zaG93O1xufVxuXG4uaC1nbG9iYWwtbWFyZ2luIHtcbiAgQGluY2x1ZGUgaC1nbG9iYWwtbWFyZ2luKFwidG9wXCIpO1xuICBAaW5jbHVkZSBoLWdsb2JhbC1tYXJnaW4oXCJib3R0b21cIik7XG59XG5cbi8vIEhpZGluZyBhbmQgc2hvd2luZ1xuLy8gVG8gYXZvaWQgdXNlIG9mICFpbXBvcnRhbnQsIGl0IGlzIG5lY2Vzc2FyeSB0byBhcHBseSB0d28gY2xhc3Nlczpcbi8vXG4vLyAxLiBUaGUgZGVmYXVsdC9nZW5lcmljIHN0YXRlICguaC1oaWRlIG9ubHksIC5oLXNob3cgaXMgaW1wbGllZClcbi8vIDIuIFRoZSBjb250ZXh0dWFsL3NwZWNpZmljIHN0YXRlICguaC1zaG93LS13aWRlLCBoLWhpZGUtLW1vZGFsKVxuXG4vLyAuaC1oaWRlXG4uaC1oaWRlIHtcbiAgQGluY2x1ZGUgaC1oaWRlO1xuXG4gIC8vIC5oLWhpZGUtLW1vZGFsXG4gICYtLW1vZGFsIHtcbiAgICAuYi1tb2RhbC1qcyAmIHtcbiAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICB9XG4gIH1cblxuICAvLyAuaC1oaWRlLS1tb2RhbC0tcHJlc2VudFxuICAmLS1tb2RhbC0tcHJlc2VudCB7XG4gICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgfVxuICB9XG59XG5cbi8vIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnMsIGJ1dCBtYWludGFpbiBsYXlvdXRcbi5oLWludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gTmVlZCB0byB0YXJnZXQgbWFpbiBlbGVtZW50cyB0byBwcmV2ZW50IGJhY2tncm91bmQgc2Nyb2xsIGluIGlvc1xuLmgtb3ZlcmxheS0taXMtYWN0aXZlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBSZXF1aXJlZCBmb3Igd2Via2l0IGJ1ZyBpbiBpb3M5LiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwNzE1XG4gIC8vIEZpeCBkZXNjcmliZWQgaGVyZS4gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzI2NzU4NDkvc2NyZWVuLXpvb21zLWluLXdoZW4tYS1ib290c3RyYXAtbW9kYWwtaXMtb3BlbmVkLW9uLWlvcy05LXNhZmFyaVxuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XG5cbiAgLy8gUmVxdWlyZWQgYmVjYXVzZSBTYWZhcmkgc3RpbGwgaXNudCBhYmxlIHRvIHByZXZlbnQgc2Nyb2xsIG9uIHVuZGVybGF5ZWQgZWxlbWVudHNcbiAgLmItbWVzc2FnZS1qcyxcbiAgLmgtaGlkZS0tb3ZlcmxheS1pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAuYi1tZXNzYWdlLWpzLFxuICAgIC5oLWhpZGUtLW92ZXJsYXktaXMtYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4vLyAuaC1wcmludFxuLmgtcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XG59XG5cbi5oLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8vIC5oLXNob3dcbi5oLXNob3cge1xuICBAaW5jbHVkZSBoLXNob3c7XG5cbiAgLy8gLmgtc2hvdy0tbW9kYWxcbiAgJi0tbW9kYWwge1xuICAgIC5iLW1vZGFsLWpzICYge1xuICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oLXNob3ctLW1vZGFsLS1wcmVzZW50XG4gICYtLW1vZGFsLS1wcmVzZW50IHtcbiAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cbn1cblxuLy8gLmgtdmlzdWFsbHloaWRkZW5cbi5oLXZpc3VhbGx5aGlkZGVuIHtcbiAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcblxuICAmLmgtZm9jdXNhYmxlIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY2xpcDogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyAuaC12aXN1YWxseWhpZGRlbi0tbW9kYWxcbiAgJi0tbW9kYWwge1xuICAgIC5iLW1vZGFsICYge1xuICAgICAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuLy8gLmgtdmlzdWFsbHlzaG93blxuLmgtdmlzdWFsbHlzaG93biB7XG4gIEBpbmNsdWRlIGgtdmlzdWFsbHlzaG93bjtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC1iZWxvdy13aWRlKSB7XG4gIC5oLWhpZGUge1xuICAgICYtLWNvbnRlbnQtYmVsb3ctd2lkZSB7XG4gICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgfVxuICB9XG5cbiAgLmgtc2hvdyB7XG4gICAgLy8gLmgtc2hvdy0tY29udGVudC1iZWxvdy13aWRlXG4gICAgJi0tY29udGVudC1iZWxvdy13aWRlIHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cblxuICAuaC12aXN1YWxseWhpZGRlbiB7XG4gICAgLy8gLmgtdmlzdWFsbHloaWRkZW4tLWNvbnRlbnQtYmVsb3ctd2lkZVxuICAgICYtLWNvbnRlbnQtYmVsb3ctd2lkZSB7XG4gICAgICBAaW5jbHVkZSBoLXZpc3VhbGx5aGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gIC5oLWhpZGUge1xuICAgIC8vIC5oLWhpZGUtLWNvbnRlbnQtd2lkZS1hbmQtdXBcbiAgICAmLS1jb250ZW50LXdpZGUtYW5kLXVwIHtcbiAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICB9XG4gIH1cblxuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1jb250ZW50LXdpZGUtYW5kLXVwXG4gICAgJi0tY29udGVudC13aWRlLWFuZC11cCB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG5cbiAgLmgtdmlzdWFsbHloaWRkZW4ge1xuICAgIC8vIC5oLXZpc3VhbGx5aGlkZGVuLS1jb250ZW50LXdpZGUtYW5kLXVwXG4gICAgJi0tY29udGVudC13aWRlLWFuZC11cCB7XG4gICAgICBAaW5jbHVkZSBoLXZpc3VhbGx5aGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLW5hcnJvdy1hbmQtdXApIHtcbiAgLmgtc2hvdyB7XG4gICAgLy8gLmgtc2hvdy0tcGFnZS1uYXJyb3ctYW5kLXVwXG4gICAgJi0tcGFnZS1uYXJyb3ctYW5kLXVwIHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1iZWxvdy1uYXJyb3dpc2gpIHtcbiAgLmgtc2hvdyB7XG4gICAgLy8gLmgtc2hvdy0tcGFnZS1uYXJyb3dcbiAgICAmLS1wYWdlLW5hcnJvdyB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtbmFycm93aXNoLWFuZC11cCkge1xuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1wYWdlLW5hcnJvd2lzaC1hbmQtdXBcbiAgICAmLS1wYWdlLW5hcnJvd2lzaC1hbmQtdXAge1xuICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLWJldHdlZW4tbmFycm93aXNoLWFuZC13aWRlaXNoKSB7XG4gIC5oLXNob3cge1xuICAgIC8vIC5oLXNob3ctLXBhZ2UtbmFycm93aXNoXG4gICAgJi0tcGFnZS1uYXJyb3dpc2gge1xuICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgIH1cbiAgfVxuXG4gIC5oLXZpc3VhbGx5aGlkZGVuIHtcbiAgICAvLyAuaC12aXN1YWxseWhpZGRlbi0tcGFnZS1uYXJyb3dpc2hcbiAgICAmLS1wYWdlLW5hcnJvd2lzaCB7XG4gICAgICBAaW5jbHVkZSBoLXZpc3VhbGx5aGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLWJlbG93LXdpZGVpc2gpIHtcbiAgLmgtdmlzdWFsbHloaWRkZW4ge1xuICAgIC8vIC5oLXZpc3VhbGx5aGlkZGVuLS1wYWdlLWJlbG93LXdpZGVpc2hcbiAgICAmLS1wYWdlLWJlbG93LXdpZGVpc2gge1xuICAgICAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlaXNoLWFuZC11cCkge1xuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1wYWdlLXdpZGVpc2gtYW5kLXVwXG4gICAgJi0tcGFnZS13aWRlaXNoLWFuZC11cCB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmV0d2Vlbi13aWRlaXNoLWFuZC13aWRlKSB7XG4gIC5oLXNob3cge1xuICAgIC8vIC5oLXNob3ctLXBhZ2Utd2lkZWlzaFxuICAgICYtLXBhZ2Utd2lkZWlzaCB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmVsb3ctd2lkZSkge1xuICAuaC1mdWxsd2lkdGgge1xuICAgIC8vIC5oLWZ1bGx3aWR0aC0tcGFnZS1iZWxvdy13aWRlXG4gICAgJi0tcGFnZS1iZWxvdy13aWRlIHtcbiAgICAgIEBpbmNsdWRlIGgtZnVsbHdpZHRoKFwibmFycm93XCIpO1xuICAgIH1cbiAgfVxuXG4gIC5oLWhpZGUge1xuICAgIC8vIC5oLWhpZGUtLXBhZ2UtYmVsb3ctd2lkZVxuICAgICYtLXBhZ2UtYmVsb3ctd2lkZSB7XG4gICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZS1hbmQtdXApIHtcbiAgLmgtaGlkZSB7XG4gICAgLy8gLmgtaGlkZS0tcGFnZS13aWRlLWFuZC11cFxuICAgICYtLXBhZ2Utd2lkZS1hbmQtdXAge1xuICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgIH1cbiAgfVxuXG4gIC5oLXNob3cge1xuICAgIC8vIC5oLXNob3ctLXBhZ2Utd2lkZS1hbmQtdXBcbiAgICAmLS1wYWdlLXdpZGUtYW5kLXVwIHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cblxuICAuaC12aXN1YWxseWhpZGRlbiB7XG4gICAgLy8gLmgtdmlzdWFsbHloaWRkZW4tLXBhZ2Utd2lkZS1hbmQtdXBcbiAgICAmLS1wYWdlLXdpZGUtYW5kLXVwIHtcbiAgICAgIEBpbmNsdWRlIGgtdmlzdWFsbHloaWRkZW47XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmV0d2Vlbi13aWRlLWFuZC13aWRlc3QpIHtcbiAgLmgtZnVsbHdpZHRoIHtcbiAgICAvLyAuaC1mdWxsd2lkdGgtLXBhZ2Utd2lkZVxuICAgICYtLXBhZ2Utd2lkZSB7XG4gICAgICBAaW5jbHVkZSBoLWZ1bGx3aWR0aChcIndpZGVcIik7XG4gICAgfVxuICB9XG5cbiAgLmgtaGlkZSB7XG4gICAgLy8gLmgtaGlkZS0tcGFnZS13aWRlXG4gICAgJi0tcGFnZS13aWRlIHtcbiAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICB9XG4gIH1cblxuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1wYWdlLXdpZGVcbiAgICAmLS1wYWdlLXdpZGUge1xuICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgIH1cbiAgfVxuXG4gIC5oLXZpc3VhbGx5aGlkZGVuIHtcbiAgICAvLyAuaC12aXN1YWxseWhpZGRlbi0tcGFnZS13aWRlXG4gICAgJi0tcGFnZS13aWRlIHtcbiAgICAgIEBpbmNsdWRlIGgtdmlzdWFsbHloaWRkZW47XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZXN0LWFuZC11cCkge1xuICAuaC1oaWRlIHtcbiAgICAvLyAuaC1oaWRlLS1wYWdlLXdpZGVzdC1hbmQtdXBcbiAgICAmLS1wYWdlLXdpZGVzdC1hbmQtdXAge1xuICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgIH1cbiAgfVxuXG4gIC5oLXNob3cge1xuICAgIC8vIC5oLXNob3ctLXBhZ2Utd2lkZXN0LWFuZC11cFxuICAgICYtLXBhZ2Utd2lkZXN0LWFuZC11cCB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG5cbiAgLmgtdmlzdWFsbHloaWRkZW4ge1xuICAgIC8vIC5oLXZpc3VhbGx5aGlkZGVuLS1wYWdlLXdpZGVzdC1hbmQtdXBcbiAgICAmLS1wYWdlLXdpZGVzdC1hbmQtdXAge1xuICAgICAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1iZXR3ZWVuLXdpZGVzdC1hbmQtZnVsbCkge1xuICAuaC1mdWxsd2lkdGgge1xuICAgIC8vIC5oLWZ1bGx3aWR0aC0tcGFnZS13aWRlc3RcbiAgICAmLS1wYWdlLXdpZGVzdCB7XG4gICAgICBAaW5jbHVkZSBoLWZ1bGx3aWR0aChcIndpZGVzdFwiKTtcbiAgICB9XG4gIH1cblxuICAuaC1oaWRlIHtcbiAgICAvLyAuaC1oaWRlLS1wYWdlLXdpZGVzdFxuICAgICYtLXBhZ2Utd2lkZXN0IHtcbiAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICB9XG4gIH1cblxuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1wYWdlLXdpZGVzdFxuICAgICYtLXBhZ2Utd2lkZXN0IHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cblxuICAuaC12aXN1YWxseWhpZGRlbiB7XG4gICAgLy8gLmgtdmlzdWFsbHloaWRkZW4tLXBhZ2Utd2lkZXN0XG4gICAgJi0tcGFnZS13aWRlc3Qge1xuICAgICAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1mdWxsLWFuZC11cCkge1xuICAuaC1mdWxsd2lkdGgge1xuICAgIC8vIC5oLWZ1bGx3aWR0aC0tcGFnZS1mdWxsXG4gICAgJi0tcGFnZS1mdWxsIHtcbiAgICAgIEBpbmNsdWRlIGgtZnVsbHdpZHRoKFwiZnVsbFwiKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gbWl4aW5zIGFsbG93cyBsYXlvdXQgdG8gYmUgYXBwbGllZCB0byBlbGVtZW50IHdoaWNoIGR5bmFtaWNhbGx5IHBpblxuLy8gdGhpcyBtaXhpbiBpcyBub3QgZm91bmQgaWYgc3RvcmVkIGluIF9sLTIuc2Nzc1xuLy8gbm90ZSB0aGF0IHRoZSAubC0yIG1vZGlmaWVyIGlzIGhhcmRjb2RlZCBoZXJlXG5AbWl4aW4gbC0yLS1wYWdlLS1ndWlkZSgpIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlLWFuZC11cCkge1xuXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgID4gLmwtMl9fY29sIHtcbiAgICAgICYubC1vcmRlci0tMSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKG1hdGguZGl2KDMsIDEyKSk7XG4gICAgICB9XG5cbiAgICAgICYubC1vcmRlci0tMiB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKG1hdGguZGl2KDgsIDEyKSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBNZWRpYSBRdWVyeSBGdW5jdGlvbnMgYW5kIE1peGluc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gR2VuZXJhdGVzIG1lZGlhIHF1ZXJpZXMgYW5kIHRoZWlyIGRlY2xhcmF0aW9ucy5cbkBmdW5jdGlvbiBuZXctYnJlYWtwb2ludCgkdHlwZSwgJHZhbHVlLCAkdmFsdWUyOiBmYWxzZSkge1xuICAkcXVlcnk6IGZhbHNlO1xuICBAaWYgJHZhbHVlMiB7XG4gICAgJHZhbHVlMjogKCR2YWx1ZTIpO1xuICAgICRxdWVyeTogJHR5cGUgKyBcIi13aWR0aDpcIiArICR2YWx1ZSArIFwiKSBhbmQgKG1heC13aWR0aDpcIiArICR2YWx1ZTI7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAoI3skdHlwZX09PW1heCkge1xuICAgICAgJHZhbHVlOiAoJHZhbHVlKTtcbiAgICAgICRxdWVyeTogJHR5cGUgKyBcIi13aWR0aDpcIiArICR2YWx1ZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRxdWVyeTogJHR5cGUgKyBcIi13aWR0aDpcIiArICR2YWx1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcXVlcnk7XG59XG5cbi8vIFBvcHVsYXRlcyB0aGUgbWVkaWEgcXVlcnkgd2l0aCBicmVha3BvaW50cy5cbkBtaXhpbiBtZWRpYSgkcXVlcnkpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKCRxdWVyeSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gTGlzdCBoZWxwZXJzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBMaXN0IGhlbHBlcnNcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTAwXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVscGVyIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEhlbHBlciB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBIZWxwZXIgbmFtZVxuJGgtbGlzdC1xdWVzdGlvbi1maWxsOiBjb2xvcihmaWxsLWxpZ2h0KTtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlbHBlciBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGgtbGlzdC0tcmVzZXQoKSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBoLWxpc3QtLWlubGluZSgpIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgPiBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVscGVyIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oLWxpc3Qge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmgtbGlzdC0tY2hlY2tcbiAgJi0tY2hlY2sge1xuICAgIHBhZGRpbmctbGVmdDogYnUoNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMy4yNSk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIC8vIHdpZHRoICogLTEgPSBtYXJnaW4tbGVmdFxuICAgICAgICB3aWR0aDogYnUoNC4zKTtcbiAgICAgICAgaGVpZ2h0OiBidSgyLjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgtLjc1KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC00LjMpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGctaW1hZ2UtcGF0aCArIFwiaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSAyNSU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYnUoMi41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAuaC1saXN0LS1pbmxpbmVcbiAgLy8gZGlzcGxheTppbmxpbmUtZmxleCBpcyBwcmVmZXJhYmxlIHRvIGRpc3BsYXk6aW5saW5lXG4gIC8vIGZvciBjb21wYXRpYmlsaXR5IHdpdGggLmgtaGlkZSBhbmQgLmgtc2hvd1xuICAmLS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGgtbGlzdC0taW5saW5lO1xuICB9XG5cbiAgLy8gLmgtbGlzdC0tbnVtYmVyZWRcbiAgJi0tbnVtYmVyZWQge1xuICAgIC8vIDpiZWZvcmUgd2lkdGggKyA6YmVmb3JlIG1hcmdpbi1yaWdodCA9IHBhZGRpbmctbGVmdFxuICAgIHBhZGRpbmctbGVmdDogYnUoNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMy4yNSk7XG4gICAgY291bnRlci1yZXNldDogbGlzdC1udW1iZXJpbmc7XG5cbiAgICA+IGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNSk7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3QtbnVtYmVyaW5nO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAwKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKGxpc3QtbnVtYmVyaW5nKTtcbiAgICAgICAgLy8gdmVydGljYWwgY2lyY2xlIGFsaWdubWVudFxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIC8vIHdpZHRoICsgbWFyZ2luLXJpZ2h0ICogLTEgPSBtYXJnaW4tbGVmdFxuICAgICAgICB3aWR0aDogYnUoMyk7XG4gICAgICAgIGhlaWdodDogYnUoMyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBidSgyKSAwIGJ1KC01KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1kYXJrKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICAgICAgLy8gdmVydGljYWwgdGV4dCBjZW50ZXJpbmcgPSBoZWlnaHQgKyAuMjVcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuMjUpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyBpbmNsdWRlIHBhZGRpbmcgaW4gaGVpZ2h0XG4gICAgICAgICAgcGFkZGluZy10b3A6IGJ1KDEuNSk7IC8vIGNlbnRlciB0ZXh0IHdpdGhpbiBjaXJjbGVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5oLWxpc3QtLXF1ZXN0aW9uc1xuICAvLyBub3RlOiB1c2VkIHdpdGggaC1saXN0LS1yZXNldFxuICAmLS1xdWVzdGlvbnMge1xuICAgIEBpbmNsdWRlIGgtbGlzdC0tcmVzZXQoKTtcblxuICAgID4gbGkge1xuICAgICAgcGFkZGluZzogYnUoMi4xMjUpIGJ1KDIuNSkgYnUoMS44MjUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS41KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoLWxpc3QtcXVlc3Rpb24tZmlsbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oLWxpc3QtLXJlc2V0XG4gICYtLXJlc2V0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIC8vIC5oLWxpc3QtLWNoZWNrXG4gICAgJi0tY2hlY2sge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIC8vIDpiZWZvcmUgd2lkdGggKyA6YmVmb3JlIG1hcmdpbi1yaWdodCA9IHBhZGRpbmctbGVmdFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IGJ1KDgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAvLyB3aWR0aCAqIC0xID0gbWFyZ2luLWxlZnRcbiAgICAgICAgICAgIHdpZHRoOiBidSg4KTsgLy9cbiAgICAgICAgICAgIGhlaWdodDogYnUoMyk7IC8vXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBidSgtLjc1KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSgtOCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzMCUgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBidSgzLjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5oLWxpc3QtLWlubGluZVxuICAgICYtLWlubGluZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgJi5oLWhpZGUtLWNvbnRlbnQtd2lkZS1hbmQtdXAge1xuICAgICAgICAgIEBpbmNsdWRlIGgtaGlkZTsgLy8gcHJldmVudCB0cnVtcGluZyBieSBkaXNwbGF5OmlubGluZS1ibG9ja1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmgtbGlzdC0taW5saW5lLW1lZGl1bVxuICAgICYtLWlubGluZS1tZWRpdW0ge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSgxKTtcblxuICAgICAgICAmLmgtaGlkZS0tY29udGVudC13aWRlLWFuZC11cCB7XG4gICAgICAgICAgQGluY2x1ZGUgaC1oaWRlOyAvLyBwcmV2ZW50IHRydW1waW5nIGJ5IGRpc3BsYXk6aW5saW5lLWJsb2NrXG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5oLWxpc3QtLW51bWJlcmVkXG4gICAgJi0tbnVtYmVyZWQge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogYnUoOCk7XG4gICAgICB9XG5cbiAgICAgID4gbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgzKTtcblxuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAvLyB2ZXJ0aWNhbCBjaXJjbGUgYWxpZ25tZW50XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLjRlbTtcbiAgICAgICAgICAgIC8vIHdpZHRoICsgbWFyZ2luLXJpZ2h0ICogLTEgPSBtYXJnaW4tbGVmdFxuICAgICAgICAgICAgd2lkdGg6IGJ1KDMuNSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGJ1KDMuNSk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KDMuNSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLTcpO1xuICAgICAgICAgICAgLy8gdmVydGljYWwgdGV4dCBjZW50ZXJpbmcgPSBoZWlnaHQgKyAuMjVcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjc1KTtcblxuICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBidSgxLjg1KTsgLy8gY2VudGVyIHRleHQgd2l0aGluIGNpcmNsZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5oLWxpc3QtLXF1ZXN0aW9uc1xuICAgIC8vIG5vdGU6IHVzZWQgd2l0aCBoLWxpc3QtLXJlc2V0XG4gICAgJi0tcXVlc3Rpb25zIHtcbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogYnUoMyk7XG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgLy8gc2VlIGItcHJvY2Vzcy1saXN0XG4gICAgICAgICAgcGFkZGluZzogYnUoNC4xKSBidSgzLjkpIGJ1KDMuNSkgYnUoNS40KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgzKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmaWxsLWxpZ2h0ZXN0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIE9yZGVyIEhlbHBlcnNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIERlZmluZSBhbGwgaGVscGVycyByZWxhdGVkIHRvIGZsZXhib3ggc291cmNlIHJlLW9yZGVyaW5nIGluIHRoaXMgc3R5bGVzaGVldFxuXG4ubC1vcmRlciB7XG4gICYtLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG5cbiAgJi0tMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBTdGF0ZSBoZWxwZXJzXG4vLyBcbi8vIFNlZSBhbHNvIF9sYXlvdXQuc2Nzc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTdGF0ZSBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGgtZm9jdXNhYmxlIHtcbiAgJjpmb2N1cyB7XG4gICAgLy8gb24gbW91c2Ugb3IgdG91Y2ggZm9jdXNcbiAgICAvLyBkbyBub3RoaW5nXG4gICAgLmpzLWVuYWJsZWQgJiB7XG4gICAgICBAaW5jbHVkZSBuby1mb2N1cy1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIG9uIGtleWJvYXJkIGludGVyYWN0aW9uXG4gICAgLy8gLmpzLXdhaS1vdXRsaW5lIGlzIGFwcGxpZWQgdG8gdGhlIGJvZHkgZWxlbWVudFxuXG4gICAgLy8gb24ga2V5Ym9hcmQgZm9jdXNcbiAgICAvLyBvdXRsaW5lIHRoaXMgZWxlbWVudFxuICAgIC5qcy13YWktb3V0bGluZSAmIHtcbiAgICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmU7XG5cbiAgICAgIC8vIG9uIGtleWJvYXJkIGZvY3VzXG4gICAgICAvLyBkb24ndCBvdXRsaW5lIHRoaXMgZWxlbWVudFxuICAgICAgJi5qcy13YWktbm8tb3V0bGluZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vLWZvY3VzLW91dGxpbmU7XG5cbiAgICAgICAgLy8gYnV0IGRvIG91dGxpbmUgYSBzcGVjaWZpZWQgY2hpbGQgZWxlbWVudFxuICAgICAgICAuanMtd2FpLW91dGxpbmUtLXByb3h5IHtcbiAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb2N1cy1vdXRsaW5lKCkge1xuICAvLyBjb2xvdXJlZCBvdXRsaW5lXG4gIG91dGxpbmU6IDJweCBzb2xpZCBjb2xvcihsaW5rLWxpZ2h0KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuQG1peGluIG5vLWZvY3VzLW91dGxpbmUoKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU3RhdGUgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQW55dGhpbmcgZm9jdXNlZCB3aGVuIGpzIGlzIGVuYWJsZWRcbi8vIHNob3VsZCB1c2UgdGhlIGFib3ZlIG1lY2hhbmlzbSB0byBhcHBseSBmb2N1cyBzdGF0ZVxuOmZvY3VzIHtcbiAgLmpzLWVuYWJsZWQgJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLyAuaC1oaWRlLS1uby1qc1xuLmgtaGlkZS0tbm8tanMge1xuICAuanMtZGlzYWJsZWQgJiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICB9XG59XG5cbi8vIC5oLWhpZGUtLWpzXG4uaC1oaWRlLS1qcyB7XG4gIC5qcy1lbmFibGVkICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyAuaC1oaWRlLS1qcy0tcGFnZS1uYXJyb3dcbiAgJi0tcGFnZS1uYXJyb3cge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmVsb3ctd2lkZSkge1xuICAgICAgLmpzLWVuYWJsZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gVHlwb2dyYXBoaWMgSGVscGVyc1xuLy9cbi8vIFNpdGUgZGVmYXVsdCB0eXBvZ3JhcGh5IHN0eWxlcy5cbi8vICogc3JjL3Njc3MvYmFzZS9fZ2xvYmFsLnNjc3MgKHN0eWxlcylcbi8vICogc3JjL3Njc3MvYmFzZS9fdHlwZS5zY3NzIChzdHlsZXMpXG4vLyAqIHNyYy9zY3NzL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIChmb250cywgbW9kdWxhciBzY2FsZSlcbi8vICogc3JjL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy90eXBvZ3JhcGh5L3R5cG9ncmFwaHkuaHRtbCAoZWxlbWVudHMpXG4vL1xuLy8gU2VlIGFsc286XG4vLyAqIHNyYy9zY3NzL2hlbHBlcnMvX3ByaW50LnNjc3MgKHByaW50IGhpZGluZyAmIHNob3dpbmcpXG4vLyAqIHNyYy9zY3NzL2hlbHBlcnMvX3N0YXRlLnNjc3MgKGZvY3VzIHN0YXRlcylcbi8vICogc3JjL3Njc3MvaGVscGVycy9fdHlwZS5zY3NzIChjdXN0b20gdHJlYXRtZW50cylcbi8vICogc3JjL3Njc3MvcHJpbnQvcHJpbnQuc2NzcyAoZ2VuZXJpYyBzdHlsZXMpXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFR5cG9ncmFwaGljIEhlbHBlciBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIHAtLWNvbnRlbnQge1xuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAxKTtcbiAgfVxufVxuXG5AbWl4aW4gcC0tY29udGVudC0tc21hbGwge1xuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAxKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gIH1cbn1cblxuQG1peGluIHAtLWNhcHRpb24tLXdpZGUoKSB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgLTEpO1xuICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICBsaW5lLWhlaWdodDogYnUoMik7XG59XG5cbkBtaXhpbiBwLS1zZWFyY2gtaW5wdXQoKSB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgbGluZS1oZWlnaHQ6IGJ1KDMuNzUpO1xuICBmb250LXdlaWdodDogMzAwO1xuXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0zMHB4LCA0KTtcbiAgICBsaW5lLWhlaWdodDogYnUoMy43NSk7XG4gIH1cbn1cblxuQG1peGluIHAtLXNsaWRlKCkge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAwKTtcblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAxKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMy4yNSk7XG5cbiAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNik7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCA2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg2KTsgLy8gZGVzaWduIGlzIHNvbWV0aW1lcyA1Ljc1XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgICAmLmItcHJvY2Vzcy1saXN0X19zdGVwLWlubmVyIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcC0tc2xpZGUtLXRkKCkge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMCk7XG4gIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG5cbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogY29sb3IodHlwZS1kaXNhYmxlZCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuXG4gICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcC0tc2xpZGUtLXRoKCkge1xuICBAaW5jbHVkZSBwLS1zbGlkZS0tdGQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBtaXhpbiBwLS1zbGlkZS0tdGgtLXRvcCgpIHtcbiAgQGluY2x1ZGUgcC0tc2xpZGUtLXRkO1xuICBsaW5lLWhlaWdodDogYnUoMi41KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1peGluIHAtLW5hdi0taW4tcGFnZS1waW5uZWQtdHJpZ2dlci10ZXh0KCkge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTVweCwgMCk7XG4gIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogY29sb3IodHlwZSk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHlwb2dyYXBoaWMgSGVscGVyIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFR5cG9ncmFwaHkgaGVscGVyc1xuLy9cbi8vIFRoZXNlIGFkZCB2YXJpYW5jZSB0byB0aGUgYmFzZSBlbGVtZW50c1xuLy9cbi8vIFN0eWxlZ3VpZGU6IDk5LjEuMVxuXG4uaC1hbmNob3Ige1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmgtYnJlYWsge1xuICAmLS1jb250ZW50LW5hcnJvdyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC1iZWxvdy13aWRlKSB7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgaHlwaGVuczogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLmgtZWxsaXBzaXMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gaDFcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaDEge1xuICAvLyAuaDEtLWhvbWVcbiAgJi0taG9tZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSg5KTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgOSk7XG4gICAgY29sb3I6IGNvbG9yKHR5cGUtYnJhbmQpO1xuICB9XG5cbiAgLy8gLmgxLS1saWdodFxuICAmLS1saWdodCB7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoNSk7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBjb2xvcjogY29sb3IodHlwZSk7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBoMlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oMiB7XG4gIC8vIC5oMi0tZ3VpZGVcbiAgJi0tZ3VpZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgfVxuXG4gIC8vIC5oMi0taG93LXRvLXVzZS10aGUtc2l0ZVxuICAmLS1ob3ctdG8tdXNlLXRoZS1zaXRlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLy8gLmgyLS1uYXYtZ3VpZGUtc2lkZWJhci0taGVhZGVyXG4gICYtLW5hdi1ndWlkZS1zaWRlYmFyLS1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXNlY29uZGFyeTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgLy8gLmgyLS1uYXYtZ3VpZGUtc2lkZWJhci0taGVhZGVyX19pbmRleG9mXG4gICAgJl9faW5kZXhvZiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJltjbGFzc149XCJoMi0tXCJdLFxuICAgICAgJltjbGFzcyo9XCIgaDItLVwiXSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXNlY29uZGFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAuaDItLW5hdi0taW4tcGFnZS1waW5uZWQtbGFiZWxcbiAgJi0tbmF2LS1pbi1wYWdlLXBpbm5lZC1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTVweCwgMCk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogY29sb3IodHlwZS1taWQpO1xuICB9XG5cbiAgLy8gLmgyLS1uZXh0LXN0ZXBzXG4gICYtLW5leHQtc3RlcHMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoOCk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDgpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSg3LjI1KTtcbiAgfVxuXG4gIC8vIC5oMi0tc2VhcmNoXG4gICYtLXNlYXJjaCB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLy8gLmgyLS1zbGlkZVxuICAmLS1zbGlkZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSg1KTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDQpO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gaDNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaDMge1xuICAvLyAuaDMtLWd1aWRlXG4gICYtLWd1aWRlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAvLyAuaDMtLWhlbHAtaXRlbVxuICAmLS1oZWxwLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzLjEyNSk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5oMy0tbmF2LWd1aWRlLXNpZGViYXItLXN1Yi1oZWFkZXJcbiAgJi0tbmF2LWd1aWRlLXNpZGViYXItLXN1Yi1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1zZWNvbmRhcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgJltjbGFzc149XCJoMy0tXCJdLFxuICAgICZbY2xhc3MqPVwiIGgzLS1cIl0ge1xuICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oMy0tcmVzb3VyY2VcbiAgJi0tcmVzb3VyY2Uge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNik7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAuaDMtLXJlc291cmNlLS1sYXJnZVxuICAmLS1yZXNvdXJjZS0tbGFyZ2Uge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLy8gLmgzLS1yZXN1bHRcbiAgJi0tcmVzdWx0IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAzKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAvLyAuaDMtLXJlc3VsdC0tZ3VpZGVcbiAgJi0tcmVzdWx0LS1ndWlkZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICB9XG5cbiAgLy8gLmgzLS1zdHJhdGVneVxuICAmLS1zdHJhdGVneSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg2KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg0LjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oMy0tdGV4dC1wcm9tb1xuICAvLyBVc2VkIGluIC5iLXRleHQtcHJvbW8gKGhvbWUpXG4gICYtLXRleHQtcHJvbW8ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzLjc1KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLy8gLmgzLS11bmRlcnN0YW5kLXN1bW1hcnlcbiAgJi0tdW5kZXJzdGFuZC1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGg0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmg0IHtcbiAgLy8gY3VycmVudCB0YWIgaW4gU29ydCBndWlkZXMgbmF2XG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyAuaDQtLXN1Z2dlc3Rpb25zXG4gICYtLXN1Z2dlc3Rpb25zIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAwKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi42MjUpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAvLyAuaDQtLXVuZGVyc3RhbmQtbW9yZVxuICAmLS11bmRlcnN0YW5kLW1vcmUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IC8vIGFzIHBlciAuaDQsIGJ1dCB0byBhbGxvdyBoMyB1c2FnZVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gaDVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaDUge1xuICAvLyAuaDUtLXN1Z2dlc3Rpb25cbiAgJi0tc3VnZ2VzdGlvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgyKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMik7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oNS0tc3VnZ2VzdGlvbi0tbGFyZ2VcbiAgJi0tc3VnZ2VzdGlvbi0tbGFyZ2Uge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gYVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5hIHtcblxuICAvLyAuYS0taG92ZXJcbiAgJi0taG92ZXIge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIC8vIC5hLS1uby11bmRlcmxpbmVcbiAgJi0tbm8tdW5kZXJsaW5lIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIC8vIG5lc3RlZCBmYXV4IGxpbmtcbiAgICAgIC5hIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5hLS1uby11bmRlcmxpbmUtZXZlclxuICAmLS1uby11bmRlcmxpbmUtZXZlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAvLyBuZXN0ZWQgZmF1eCBsaW5rXG4gICAgICAuYSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5hLS1uby12aXNpdGVkXG4gICYtLW5vLXZpc2l0ZWQge1xuICAgICY6dmlzaXRlZCxcbiAgICAmOnZpc2l0ZWQgPiAuYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyAuYS0tYWN0aXZlLXBhZ2Utb3ItcGFyZW50XG4gIC8vIEFwcGx5IHRoZSB1bmxpbmtlZCB0ZXh0IGNvbG91ciBzY2hlbWVcbiAgJi0tYWN0aXZlLXBhZ2Utb3ItcGFyZW50IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyAuYS0tdW5kZXJsaW5lXG4gICYtLXVuZGVybGluZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudENvbG9yO1xuICB9XG5cbiAgLy8gLmEtLXZpc2l0ZWRcbiAgJi0tdmlzaXRlZCB7XG4gICAgY29sb3I6IGNvbG9yKGxpbmstdmlzaXRlZCk7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBwXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnAge1xuICAvLyAucC0tYWxlcnRcbiAgJi0tYWxlcnQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICB9XG5cbiAgLy8gLnAtLWJyYW5kXG4gICYtLWJyYW5kIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC00MHB4LCAxKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjI1KTtcbiAgICBmb250LXdlaWdodDogODAwO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyAucC0tYnJvd3NlLWFsbC1ndWlkZXNcbiAgJi0tYnJvd3NlLWFsbC1ndWlkZXMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMuODc1KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLy8gLnAtLWNhcHRpb25cbiAgJi0tY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIC0yKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICB9XG5cbiAgLy8gLnAtLWV4YW1wbGUtaG9tZS10aXRsZVxuICAmLS1leGFtcGxlLWhvbWUtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAvLyAucC0tZmlsdGVyXG4gICYtLWZpbHRlciB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgYSxcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgZGVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBjb2xvcjogY29sb3IodHlwZS1kaXNhYmxlZCk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gLnAtLWZpbHRlci1ub3RpY2VcbiAgJi0tZmlsdGVyLW5vdGljZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMyk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoNXB4LCAtMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi4yNSk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1mb290ZXJcbiAgJi0tZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAwKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuICB9XG5cbiAgLy8gLnAtLWZvb3Rlci1uYXZcbiAgJi0tZm9vdGVyLW5hdiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1ndWlkZS1saW5rXG4gICYtLWd1aWRlLWxpbmsge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1ndWlkZS1saW5rLS1mZWF0dXJlZC10YWxsXG4gICYtLWd1aWRlLWxpbmstLWZlYXR1cmVkLXRhbGwge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1pbmNsdWRlc1xuICAmLS1pbmNsdWRlcyB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyKTtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1pbnRyb1xuICAmLS1pbnRybyB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTsgLy8gYXBwbGllcyBsaW5lLWhlaWdodDogYnUoMy41KVxuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0zcHgsIDMpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSg0KTtcbiAgfVxuXG4gIC8vIC5wLS1pbnRyby0tZ3VpZGVcbiAgJi0taW50cm8tLWd1aWRlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIDIpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMuMjUpO1xuICB9XG5cbiAgLy8gLnAtLWludHJvLS1uZXh0LXN0ZXBzXG4gIC8vIC5wLS1yZXR1cm5cbiAgJi0taW50cm8tLW5leHQtc3RlcHMsXG4gICYtLXJldHVybiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1pbnRyby0tc29ycnlcbiAgJi0taW50cm8tLXNvcnJ5IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAyKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAvLyAucC0taW50cm8tLXN1YlxuICAvLyB1bmRlcnN0YW5kIHBhZ2VcbiAgJi0taW50cm8tLXN1YiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgyKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMik7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMy4yNSk7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuXG4gIC8vIC5wLS1pbnRyby0tc3ViLS1oZWF2eVxuICAmLS1pbnRyby0tc3ViLS1oZWF2eSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5wLS1pbnRyby0tc3VnZ2VzdGlvblxuICAmLS1pbnRyby0tc3VnZ2VzdGlvbiB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgJixcbiAgICAgICYuYi1jb250ZW50ID4gcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIDIpO1xuICAgICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMy4yNSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLnAtLWxhcmdlXG4gIC8vIC5wLS1sYXJnZS0taG9tZVxuICAvLyBEaXNwbGF5cyBsYXJnZSBvbiBjb250ZW50LXdpZGUtYW5kLXVwXG4gICYtLWxhcmdlLFxuICAmLS1sYXJnZS0taG9tZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTsgLy8gYXBwbGllcyBsaW5lLWhlaWdodDogYnUoMylcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTsgLy8gYXBwbGllcyBsaW5lLWhlaWdodDogYnUoMy41KVxuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAvLyAucC0tbmF2LWd1aWRlLXNpZGViYXJcbiAgJi0tbmF2LWd1aWRlLXNpZGViYXIge1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG5cbiAgICAvLyAucC0tbmF2LWd1aWRlLXNpZGViYXItLWJhY2tcbiAgICAmLS1iYWNrIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMyk7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIpO1xuICAgIH1cblxuICAgIC8vIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tbW5hdlxuICAgIC8vIENsb3NlLCBIb21lLCBBbGwgZ3VpZGVzXG4gICAgJi0tbW5hdiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTQwcHgsIDEpO1xuICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyLS1zdHJhdGVneVxuICAgIC8vIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tcmVzb3VyY2VzXG4gICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyLS11bmRlcnN0YW5kXG4gICAgJi0tc3RyYXRlZ3ksXG4gICAgJi0tcmVzb3VyY2VzLFxuICAgICYtLXVuZGVyc3RhbmQge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAvLyAucC0tbmF2LWd1aWRlLXNpZGViYXItLXN1Z2dlc3Rpb25cbiAgICAmLS1zdWdnZXN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMCk7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1uYXYtLWd1aWRlLS11aS1saW5rXG4gICYtLW5hdi0tZ3VpZGUtLXVpLWxpbmsge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTQwcHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIC8vIC5wLS1uYXYtLWluLXBhZ2VcbiAgJi0tbmF2LS1pbi1wYWdlIHtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTVweCwgMCk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi41KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLy8gLnAtLW5hdi0taW4tcGFnZS1waW5uZWRcbiAgJi0tbmF2LS1pbi1wYWdlLXBpbm5lZCB7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDApO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC8vIC5wLS1uYXYtLWluLXBhZ2UtcGlubmVkLXRyaWdnZXItdGV4dFxuICAmLS1uYXYtLWluLXBhZ2UtcGlubmVkLXRyaWdnZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcC0tbmF2LS1pbi1wYWdlLXBpbm5lZC10cmlnZ2VyLXRleHQ7XG4gIH1cblxuICAvLyAucC0tbmF2LXByaW1hcnlcbiAgJi0tbmF2LXByaW1hcnkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTQwcHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogY29sb3IodHlwZS1kYXJrKTtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgIH1cblxuICAgIGEsXG4gICAgYnV0dG9uIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1uYXYtc2xpZGVcbiAgJi0tbmF2LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAzKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIC8vIGxpbmUtaGVpZ2h0OiBidSgyLjI1KTsgLy8gY29ycmVjdCBidXQgY3JlYXRlcyBwb29yIHVuZGVybGluZSBwb3NpdGlvblxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAvLyAucC0tbmV4dC1zdGVwLS1saW5rXG4gICYtLW5leHQtc3RlcC0tbGluayB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogODAwO1xuXG4gICAgLy8gLnAtLW5leHQtc3RlcC0tbGluay0tbGlnaHRcbiAgICAmLS1saWdodCB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1ub3RlXG4gICYtLW5vdGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgfVxuXG4gIC8vIC5wLS1wb3B1bGFyLXNlYXJjaFxuICAmLS1wb3B1bGFyLXNlYXJjaCB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgMSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDYuMzUpOyAvLyBkZXNpZ24gaXMgOC41XG4gIH1cblxuICAvLyAucC0tcHJpbnRcbiAgJi0tcHJpbnQge1xuICAgIC8vIC5wLS1wcmludC0tbWV0YVxuICAgICYtLW1ldGEge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMyk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgLTMpO1xuICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW50LW1ldGEpO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMCBidSguNSk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogYnUoLjM3NSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbnQtbWV0YS11cmwtZmlsbCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBjb2xvcjogY29sb3IocHJpbnQtbWV0YS11cmwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLnAtLXF1b3RlXG4gICYtLXF1b3RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuXG4gIC8vIC5wLS1xdW90ZS1jaXRlXG4gICYtLXF1b3RlLWNpdGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTE1cHgsIDApO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIH1cblxuICAvLyAucC0tcXVvdGUtc291cmNlXG4gICYtLXF1b3RlLXNvdXJjZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIC0yKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuXG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1yZWFkLW1vcmVcbiAgJi0tcmVhZC1tb3JlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLy8gLnAtLXJlcGVhdHNcbiAgJi0tcmVwZWF0cyB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMik7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLy8gLnAtLXJlc291cmNlLWRlc2NyaXB0aW9uXG4gICYtLXJlc291cmNlLWRlc2NyaXB0aW9uIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAwKTtcbiAgfVxuXG4gIC8vIC5wLS1yZXNvdXJjZS1tZXRhXG4gICYtLXJlc291cmNlLW1ldGEge1xuXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLWNvc3RcbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tZmlsZS1zaXplXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXJlYWQtdGltZVxuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1wdWJsaXNoZXJcbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tcmVnaXN0cmF0aW9uXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXN1YnNjcmlwdGlvblxuICAgICYtLWNvc3QsXG4gICAgJi0tZmlsZS1zaXplLFxuICAgICYtLXB1Ymxpc2hlcixcbiAgICAmLS1yZWFkLXRpbWUsXG4gICAgJi0tcmVnaXN0cmF0aW9uLFxuICAgICYtLXN1YnNjcmlwdGlvbiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAtMSk7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuMTI1KTtcblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tY29zdFxuICAgICYtLWNvc3Qge1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1yZWFkLXRpbWVcbiAgICAmLS1yZWFkLXRpbWUge1xuICAgICAgc3Ryb25nIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXJlZ2lzdHJhdGlvblxuICAgICYtLXJlZ2lzdHJhdGlvbiB7XG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tZmlsZS1zaXplXG4gICAgJi0tZmlsZS1zaXplIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1jb3N0XG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXN1YnNjcmlwdGlvblxuICAgICYtLWNvc3QsXG4gICAgJi0tc3Vic2NyaXB0aW9uIHtcbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWJyYW5kKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tc2xpZGVcbiAgJi0tcmVzb3VyY2UtbWV0YS0tc2xpZGUge1xuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1zbGlkZS0tcmVhZC10aW1lXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXNsaWRlLS1wdWJsaXNoZXJcbiAgICAmLS1yZWFkLXRpbWUsXG4gICAgJi0tcHVibGlzaGVyIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIC0xKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMi4xMjUpO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1yZXN1bHQtY2F0ZWdvcnlcbiAgJi0tcmVzdWx0LWNhdGVnb3J5IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0yKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygyNXB4LCAtMik7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLy8gLnAtLXJlc3VsdC1jb3VudFxuICAmLS1yZXN1bHQtY291bnQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMuODc1KTtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1yZXN1bHQtZGVzY3JpcHRpb25cbiAgJi0tcmVzdWx0LWRlc2NyaXB0aW9uIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5wLS1yZXN1bHQtbWF0Y2hcbiAgJi0tcmVzdWx0LW1hdGNoIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG5cbiAgLy8gLnAtLXJlc3VsdC1tZXRhXG4gICYtLXJlc3VsdC1tZXRhIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgLTEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuMTI1KTtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXN1bHQtbWV0YS0tcmVhZC10aW1lXG4gICAgJi0tcmVhZC10aW1lIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjc1KTtcbiAgICB9XG4gIH1cblxuICAvLyAucC0tcmVzdWx0LW1vcmUtbGlua1xuICAmLS1yZXN1bHQtbW9yZS1saW5rIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuXG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyAucC0tcmVzdWx0LXNvbHV0aW9uXG4gICYtLXJlc3VsdC1zb2x1dGlvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDEpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjYyNSk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5wLS1yZXN1bHQtdGVhc2VyXG4gICYtLXJlc3VsdC10ZWFzZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAtMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi41KTtcbiAgfVxuXG4gIC8vIC5wLS1zZWFyY2gtaW5wdXRcbiAgJi0tc2VhcmNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBwLS1zZWFyY2gtaW5wdXQ7XG4gIH1cblxuICAvLyAucC0tc2VlLWFsbC1ndWlkZXNcbiAgJi0tc2VlLWFsbC1ndWlkZXMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIC8vIC5wLS1zaG93LW1hdGVyaWFsLWZvclxuICAmLS1zaG93LW1hdGVyaWFsLWZvciB7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMS43NSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIC8vIC5wLS1zbGlkZVxuICAmLS1zbGlkZSB7XG4gICAgQGluY2x1ZGUgcC0tc2xpZGUoKTtcbiAgfVxuXG4gIC8vIC5wLS1zbGlkZS1zb3VyY2VcbiAgJi0tc2xpZGUtc291cmNlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgLTEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIpO1xuXG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1zb3J0LWJ5XG4gICYtLXNvcnQtYnkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5wLS1zdHJhdGVneS1vdmVydmlld1xuICAmLS1zdHJhdGVneS1vdmVydmlldyB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAwKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gIH1cblxuICAvLyAucC0tc3VnZ2VzdGlvbi0tY3VycmVudC1wYWdlXG4gICYtLXN1Z2dlc3Rpb24tLWN1cnJlbnQtcGFnZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIC0xKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuICAgIG9wYWNpdHk6IC42O1xuICB9XG5cbiAgLy8gLnAtLXRhZ1xuICAmLS10YWcge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTMpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAtMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi41KTsgLy8gYWRqdXN0ZWRcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS11bmRlcnN0YW5kXG4gICYtLXVuZGVyc3RhbmQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1lZGlhIFF1ZXJpZXMgKGV4Y2VwdCBtaXhpbnMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC1iZWxvdy13aWRlKSB7XG4gIC5wIHtcbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YVxuICAgICYtLXJlc291cmNlLW1ldGEge1xuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLWNvc3RcbiAgICAgICYtLWNvc3Qge1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMi41KTtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIDIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1zdWJzY3JpcHRpb25cbiAgICAgICYtLXN1YnNjcmlwdGlvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBuYXJyb3dpc2hcbkBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgLmgxIHtcbiAgICAvLyAuaDEtLWhvbWVcbiAgICAmLS1ob21lIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMTQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTUwcHgsIDE0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgxMCk7XG4gICAgfVxuXG4gICAgLy8gLmgxLS1saWdodFxuICAgICYtLWxpZ2h0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg3Ljc1KTtcbiAgICB9XG4gIH1cblxuICAuaDIge1xuICAgIC8vIC5oMi0tbmF2LWd1aWRlLXNpZGViYXItLWhlYWRlclxuICAgICYtLW5hdi1ndWlkZS1zaWRlYmFyLS1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg1LjEyNSk7XG4gICAgfVxuXG4gICAgLy8gLmgyLS1zZWFyY2hcbiAgICAmLS1zZWFyY2gge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAvLyAuaDItLXNsaWRlXG4gICAgJi0tc2xpZGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg3KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA3KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg0LjUpO1xuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaDMge1xuICAgIC8vIC5oMy0tZ3VpZGVcbiAgICAmLS1ndWlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvLyAuaDMtLWhlbHAtaXRlbVxuICAgICYtLWhlbHAtaXRlbSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNzUpO1xuICAgIH1cblxuICAgIC8vIC5oMy0tbmF2LWd1aWRlLXNpZGViYXItLXN1Yi1oZWFkZXJcbiAgICAmLS1uYXYtZ3VpZGUtc2lkZWJhci0tc3ViLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgLTEpO1xuICAgIH1cblxuICAgIC8vIC5oMy0tcmVzb3VyY2UtLWxhcmdlXG4gICAgJi0tcmVzb3VyY2UtLWxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoNCk7XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDgpO1xuICAgICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSg2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuaDMtLXJlc3VsdFxuICAgICYtLXJlc3VsdCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQpO1xuICAgIH1cblxuICAgIC8vIC5oMy0tcmVzdWx0LS1ndWlkZVxuICAgICYtLXJlc3VsdC0tZ3VpZGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg2KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcbiAgICB9XG5cbiAgICAvLyAuaDMtLXRleHQtcHJvbW9cbiAgICAvLyBVc2VkIGluIC5iLXRleHQtcHJvbW8gKGhvbWUpXG4gICAgJi0tdGV4dC1wcm9tbyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNzUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAuaDQge1xuICAgIC8vIC5oNC0tc3VnZ2VzdGlvbnNcbiAgICAmLS1zdWdnZXN0aW9ucyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNzUpO1xuICAgIH1cblxuICAgIC8vIC5oNC0tdW5kZXJzdGFuZC1tb3JlXG4gICAgJi0tdW5kZXJzdGFuZC1tb3JlIHtcbiAgICAgIC8vIGFzIHBlciByZWd1bGFyIC5oNDpcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuICB9XG5cbiAgLmg1IHtcbiAgICAvLyAuaDUtLXN1Z2dlc3Rpb25cbiAgICAmLS1zdWdnZXN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuXG4gICAgLy8gLmg1LS1zdWdnZXN0aW9uLS1sYXJnZVxuICAgICYtLXN1Z2dlc3Rpb24tLWxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuICB9XG5cbiAgLnAge1xuICAgIC8vIC5wLS1hbGVydFxuICAgICYtLWFsZXJ0IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAxKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICB9XG5cbiAgICAvLyAucC0tYnJhbmRcbiAgICAmLS1icmFuZCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDUpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTQwcHgsIDUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1icm93c2UtYWxsLWd1aWRlc1xuICAgICYtLWJyb3dzZS1hbGwtZ3VpZGVzIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMy44NzUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1leGFtcGxlLWhvbWUtdGl0bGVcbiAgICAmLS1leGFtcGxlLWhvbWUtdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg0KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjc1KTtcbiAgICB9XG5cbiAgICAvLyAucC0tZmlsdGVyXG4gICAgJi0tZmlsdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuXG4gICAgLy8gLnAtLWZpbHRlci1ub3RpY2VcbiAgICAmLS1maWx0ZXItbm90aWNlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTIpOyAvLyBndWlkZSBuYXZcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKDVweCwgLTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIpO1xuICAgIH1cblxuICAgIC8vIC5wLS1mb290ZXJcbiAgICAmLS1mb290ZXIge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg0KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAucC0tZm9vdGVyLW5hdlxuICAgICYtLWZvb3Rlci1uYXYge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAzKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICB9XG5cbiAgICAvLyAucC0tZ3VpZGVcbiAgICAmLS1ndWlkZSB7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNzUpO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvLyAucC0tZ3VpZGUtLWZlYXR1cmVkLXRhbGxcbiAgICAmLS1ndWlkZS0tZmVhdHVyZWQtdGFsbCB7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cblxuICAgIC8vIC5wLS1ndWlkZS1saW5rLS1mZWF0dXJlZC10YWxsXG4gICAgJi0tZ3VpZGUtbGluay0tZmVhdHVyZWQtdGFsbCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAtMSk7XG4gICAgfVxuXG4gICAgLy8gLnAtLWd1aWRlLWxpc3RpbmdcbiAgICAmLS1ndWlkZS1saXN0aW5nIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgMSk7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNzUpO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjEyNSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLWludHJvXG4gICAgJi0taW50cm8ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTsgLy9hcHBsaWVzIGxpbmUtaGVpZ2h0OiBidSgzLjUpXG4gICAgICBsaW5lLWhlaWdodDogYnUoNC41KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLy8gLnAtLWludHJvLS1ndWlkZVxuICAgICYtLWludHJvLS1ndWlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTE1cHgsIDQpO1xuICAgIH1cblxuICAgIC8vIC5wLS1pbnRyby0tc29ycnlcbiAgICAmLS1pbnRyby0tc29ycnkge1xuICAgICAgLmItbW9kYWwtanMtLXNlYXJjaCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg2KTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTM1cHgsIDYpO1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLWludHJvLS1zdWJcbiAgICAvLyB1bmRlcnN0YW5kIHBhZ2VcbiAgICAmLS1pbnRyby0tc3ViIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCA0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg0KTtcbiAgICB9XG5cbiAgICAvLyAucC0taW50cm8tLXN1Yi0taGVhdnlcbiAgICAmLS1pbnRyby0tc3ViLS1oZWF2eSB7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuXG4gICAgLy8gLnAtLWludHJvLS1zdWdnZXN0aW9uXG4gICAgJi0taW50cm8tLXN1Z2dlc3Rpb24ge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAmLFxuICAgICAgICAmLmItY29udGVudCA+IHAge1xuICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAyKTtcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBidSg1Ljc1KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLWxhcmdlXG4gICAgLy8gLnAtLWxhcmdlLS1ob21lXG4gICAgLy8gRGlzcGxheXMgbGFyZ2Ugb24gY29udGVudC13aWRlLWFuZC11cFxuICAgICYtLWxhcmdlLFxuICAgICYtLWxhcmdlLS1ob21lIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7IC8vIGFwcGxpZXMgbGluZS1oZWlnaHQ6IGJ1KDMuNSlcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcblxuICAgICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLWxhcmdlLS1ob21lXG4gICAgLy8gRGlzcGxheXMgbGFyZ2Ugb24gY29udGVudC13aWRlLWFuZC11cFxuICAgICYtLWxhcmdlLS1ob21lIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7IC8vIGFwcGxpZXMgbGluZS1oZWlnaHQ6IGJ1KDMuNSlcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjI1KTsgLy8gcmVkdWNlZCBsaW5lIGhlaWdodFxuXG4gICAgICBhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuMjUpOyAvLyByZWR1Y2VkIGxpbmUgaGVpZ2h0XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyXG4gICAgJi0tbmF2LWd1aWRlLXNpZGViYXIge1xuICAgICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyLS1zdHJhdGVneVxuICAgICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyLS1yZXNvdXJjZXNcbiAgICAgIC8vIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tdW5kZXJzdGFuZFxuICAgICAgJi0tc3RyYXRlZ3ksXG4gICAgICAmLS1yZXNvdXJjZXMsXG4gICAgICAmLS11bmRlcnN0YW5kIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgyKTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG4gICAgICB9XG5cbiAgICAgIC8vIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tc3VnZ2VzdGlvblxuICAgICAgJi0tc3VnZ2VzdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5wLS1uYXYtLWluLXBhZ2VcbiAgICAmLS1uYXYtLWluLXBhZ2Uge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xNXB4LCAxKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1uYXYtcHJpbWFyeVxuICAgICYtLW5hdi1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNSk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNDBweCwgNSk7XG4gICAgfVxuXG4gICAgLy8gLnAtLW5leHQtc3RlcC0tbGlua1xuICAgICYtLW5leHQtc3RlcC0tbGluayB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgIH1cblxuICAgIC8vIC5wLS1ub3RlXG4gICAgJi0tbm90ZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIH1cblxuICAgIC8vIC5wLS1wb3B1bGFyLXNlYXJjaFxuICAgICYtLXBvcHVsYXItc2VhcmNoIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMyk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoNik7IC8vIGRlc2lnbiBpcyA4LjVcbiAgICB9XG5cbiAgICAvLyAucC0tcXVvdGVcbiAgICAmLS1xdW90ZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNjI1KTtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNSk7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA3KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5wLS1xdW90ZS1jaXRlXG4gICAgJi0tcXVvdGUtY2l0ZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDAuNzUpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTE1cHgsIDEpO1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNSk7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xNXB4LCA3KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLXF1b3RlLXNvdXJjZVxuICAgICYtLXF1b3RlLXNvdXJjZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0yKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAtMik7XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjI1KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAucC0tcmVwZWF0c1xuICAgICYtLXJlcGVhdHMge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhXG4gICAgJi0tcmVzb3VyY2UtbWV0YSB7XG5cbiAgICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1jb3N0XG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tZmlsZS1zaXplXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tcmVhZC10aW1lXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tcHVibGlzaGVyXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tcmVnaXN0cmF0aW9uXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tc3Vic2NyaXB0aW9uXG4gICAgICAmLS1jb3N0LFxuICAgICAgJi0tZmlsZS1zaXplLFxuICAgICAgJi0tcHVibGlzaGVyLFxuICAgICAgJi0tcmVhZC10aW1lLFxuICAgICAgJi0tcmVnaXN0cmF0aW9uLFxuICAgICAgJi0tc3Vic2NyaXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDApO1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAyKTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tY29zdFxuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXN1YnNjcmlwdGlvblxuICAgICAgJi0tY29zdCxcbiAgICAgICYtLXN1YnNjcmlwdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tZmlsZS1zaXplXG4gICAgICAmLS1maWxlLXNpemUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0yKTtcbiAgICAgIH1cblxuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXB1Ymxpc2hlclxuICAgICAgJi0tcHVibGlzaGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMik7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAtMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjEyNSk7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0yKTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXJlYWQtdGltZVxuICAgICAgJi0tcmVhZC10aW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDApO1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXNsaWRlXG4gICAgJi0tcmVzb3VyY2UtbWV0YS0tc2xpZGUge1xuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXNsaWRlLS1yZWFkLXRpbWVcbiAgICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1zbGlkZS0tcHVibGlzaGVyXG4gICAgICAmLS1yZWFkLXRpbWUsXG4gICAgICAmLS1wdWJsaXNoZXIge1xuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAyKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogYnUoMy44NzUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLXJlc3VsdC1jYXRlZ29yeVxuICAgICYtLXJlc3VsdC1jYXRlZ29yeSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKDI1cHgsIC0xKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICB9XG5cbiAgICAvLyAucC0tcmVzdWx0LWNvdW50XG4gICAgJi0tcmVzdWx0LWNvdW50IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMik7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMy44NzUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXN1bHQtZGVzY3JpcHRpb25cbiAgICAmLS1yZXN1bHQtZGVzY3JpcHRpb24ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAwKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuXG4gICAgLy8gLnAtLXJlc3VsdC1zb2x1dGlvblxuICAgICYtLXJlc3VsdC1zb2x1dGlvbiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDApO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXN1bHQtdGVhc2VyXG4gICAgJi0tcmVzdWx0LXRlYXNlciB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTVweCwgMSk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgfVxuXG4gICAgLy8gLnAtLXNlZS1hbGwtZ3VpZGVzXG4gICAgJi0tc2VlLWFsbC1ndWlkZXMge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg0KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICB9XG5cbiAgICAvLyAucC0tc2hvdy1tYXRlcmlhbC1mb3JcbiAgICAmLS1zaG93LW1hdGVyaWFsLWZvciB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDEuNzUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1zbGlkZS1zb3VyY2VcbiAgICAmLS1zbGlkZS1zb3VyY2Uge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMyk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgLTMpO1xuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgyKTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5wLS1zdHJhdGVneS1vdmVydmlld1xuICAgICYtLXN0cmF0ZWd5LW92ZXJ2aWV3IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjYyNSk7XG4gICAgfVxuXG4gICAgLy8gLnAtLXVuZGVyc3RhbmRcbiAgICAmLS11bmRlcnN0YW5kIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXdpZGUtYW5kLXVwKSB7XG4gIC5oMSB7XG4gICAgLy8gLmgxLS1ob21lXG4gICAgJi0taG9tZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDE2KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01MHB4LCAxNik7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMTIpO1xuICAgIH1cbiAgfVxuXG4gIC5wIHtcbiAgICAvLyAucC0taW50cm9cbiAgICAmLS1pbnRybyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQuNSk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC13aWRlaXNoLWFuZC11cCkge1xuICAuaDIge1xuICAgIC8vIC5oMi0tZ3VpZGVcbiAgICAmLS1ndWlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDcpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDcpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1iZXR3ZWVuLXdpZGVpc2gtYW5kLXdpZGUpIHtcbiAgLmgyIHtcbiAgICAvLyAuaDItLWd1aWRlXG4gICAgJi0tZ3VpZGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg2KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjkpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1iZXR3ZWVuLW5hcnJvd2lzaC1hbmQtd2lkZWlzaCkge1xuICAuaDIge1xuICAgIC8vIC5oMi0tZ3VpZGVcbiAgICAmLS1ndWlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDUpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDUpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQuMSk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLWJldHdlZW4tNTAwLWFuZC1uYXJyb3dpc2gpIHtcbiAgLmgyIHtcbiAgICAvLyAuaDItLWd1aWRlXG4gICAgJi0tZ3VpZGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg0KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjcpO1xuICAgIH1cbiAgfVxuXG4gIC5wIHtcbiAgICAvLyAucC0tZmlsdGVyXG4gICAgJi0tZmlsdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMik7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLWJldHdlZW4tbmFycm93aXNoLWFuZC1mdWxsKSB7XG4gIC8vIC5oMi0tc2xpZGVcbiAgLmgyIHtcbiAgICAmLS1zbGlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDUpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDUpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC13aWRlLWFuZC11cCkge1xuICAuaDEge1xuICAgIC8vIC5oMS0taG9tZVxuICAgICYtLWhvbWUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxNSk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNTBweCwgMTUpO1xuICAgIH1cbiAgfVxufVxuIiwiJGVtLXNwYWNlci01OiAwLjVyZW07XG4kZW0tc3BhY2VyLTY6IDAuNnJlbTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiRib2R5LWZvbnQ6IE1vbnRzZXJyYXQsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJHRvb2x0aXAtdGV4dC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiRib3JkZXItcmFkaXVzOiA0cHg7XG4kYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiR0b29sdGlwLWR1cmF0aW9uOiAyMDA7XG4kdG9vbHRpcC1kZWxheTogMDtcbiRzcGFjZXItMzogMC4zcmVtO1xuXG4udG9vbHRpcHBlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gVGhpcyBpcyB0aGUgdG9vbHRpcCBidWJibGVcbi50b29sdGlwcGVkOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJGVtLXNwYWNlci01ICRlbS1zcGFjZXItNjtcbiAgZm9udDogbm9ybWFsIG5vcm1hbCAxMXB4LzEuNSAkYm9keS1mb250O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgY29sb3I6ICR0b29sdGlwLXRleHQtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IGF0dHIoYXJpYS1sYWJlbCk7XG4gIGJhY2tncm91bmQ6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLyBUaGlzIGlzIHRoZSB0b29sdGlwIGFycm93XG4udG9vbHRpcHBlZDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwMDAxO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBjb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlcjogNnB4ICRib3JkZXItc3R5bGUgdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vIGRlbGF5IGFuaW1hdGlvbiBmb3IgdG9vbHRpcFxuQGtleWZyYW1lcyB0b29sdGlwLWFwcGVhciB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBUaGlzIHdpbGwgaW5kaWNhdGUgd2hlbiB3ZSdsbCBhY3RpdmF0ZSB0aGUgdG9vbHRpcFxuLnRvb2x0aXBwZWQ6aG92ZXIsXG4udG9vbHRpcHBlZDphY3RpdmUsXG4udG9vbHRpcHBlZDpmb2N1cyB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHRvb2x0aXAtYXBwZWFyO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJHRvb2x0aXAtZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tZGVsYXk6ICR0b29sdGlwLWRlbGF5O1xuICB9XG59XG5cbi50b29sdGlwcGVkLW5vLWRlbGF5OmhvdmVyLFxuLnRvb2x0aXBwZWQtbm8tZGVsYXk6YWN0aXZlLFxuLnRvb2x0aXBwZWQtbm8tZGVsYXk6Zm9jdXMge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICB9XG59XG5cbi50b29sdGlwcGVkLW11bHRpbGluZTpob3Zlcixcbi50b29sdGlwcGVkLW11bHRpbGluZTphY3RpdmUsXG4udG9vbHRpcHBlZC1tdWx0aWxpbmU6Zm9jdXMge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgfVxufVxuXG4vLyBUb29sdGlwcGVkIHNvdXRoXG4udG9vbHRpcHBlZC1zLFxuLnRvb2x0aXBwZWQtc2UsXG4udG9vbHRpcHBlZC1zdyB7XG4gICY6OmFmdGVyIHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogYXV0bztcbiAgICByaWdodDogNTAlO1xuICAgIGJvdHRvbTogLTdweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC02cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4udG9vbHRpcHBlZC1zZSB7XG4gICY6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kc3BhY2VyLTM7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtc3c6OmFmdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJHNwYWNlci0zO1xufVxuXG4vLyBUb29sdGlwcyBhYm92ZSB0aGUgb2JqZWN0XG4udG9vbHRpcHBlZC1uLFxuLnRvb2x0aXBwZWQtbmUsXG4udG9vbHRpcHBlZC1udyB7XG4gICY6OmFmdGVyIHtcbiAgICByaWdodDogNTAlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogLTdweDtcbiAgICByaWdodDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IC02cHg7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4udG9vbHRpcHBlZC1uZSB7XG4gICY6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kc3BhY2VyLTM7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtbnc6OmFmdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJHNwYWNlci0zO1xufVxuXG4vLyBNb3ZlIHRoZSB0b29sdGlwIGJvZHkgdG8gdGhlIGNlbnRlciBvZiB0aGUgb2JqZWN0LlxuLnRvb2x0aXBwZWQtczo6YWZ0ZXIsXG4udG9vbHRpcHBlZC1uOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xufVxuXG4vLyBUb29sdGlwcGVkIHRvIHRoZSBsZWZ0XG4udG9vbHRpcHBlZC13IHtcbiAgJjo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IDUwJTtcbiAgICBsZWZ0OiAtN3B4O1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIH1cbn1cblxuLy8gdG9vbHRpcHBlZCB0byB0aGUgcmlnaHRcbi50b29sdGlwcGVkLWUge1xuICAmOjphZnRlciB7XG4gICAgYm90dG9tOiA1MCU7XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogLTdweDtcbiAgICBib3R0b206IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4vLyBUb29sdGlwIGFsaWduIHJpZ2h0IGFuZCBsZWZ0XG4udG9vbHRpcHBlZC1hbGlnbi1yaWdodC0xLFxuLnRvb2x0aXBwZWQtYWxpZ24tcmlnaHQtMiB7XG4gICY6OmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtYWxpZ24tcmlnaHQtMSB7XG4gICY6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDEwcHg7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtYWxpZ24tcmlnaHQtMiB7XG4gICY6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtYWxpZ24tbGVmdC0xLFxuLnRvb2x0aXBwZWQtYWxpZ24tbGVmdC0yLCB7XG4gICY6OmFmdGVyIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi50b29sdGlwcGVkLWFsaWduLWxlZnQtMSB7XG4gICY6OmJlZm9yZSB7XG4gICAgbGVmdDogNXB4O1xuICB9XG59XG5cbi50b29sdGlwcGVkLWFsaWduLWxlZnQtMiB7XG4gICY6OmJlZm9yZSB7XG4gICAgbGVmdDogMTBweDtcbiAgfVxufVxuXG4vLyBTdGlja3kgdG9vbHRpcHNcbi8vXG4vLyBBbHdheXMgc2hvdyB0aGUgdG9vbHRpcC5cbi50b29sdGlwcGVkLXN0aWNreSB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHRvb2x0aXAtYXBwZWFyO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJHRvb2x0aXAtZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tZGVsYXk6ICR0b29sdGlwLWRlbGF5O1xuICB9XG5cbiAgJi50b29sdGlwcGVkLW11bHRpbGluZSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBCYXNlIEdsb2JhbCBTdHlsZXNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbmh0bWwge1xuICBmb250LXNpemU6ICRnLWZvbnQtYmFzZTtcbn1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogYnUoMik7XG4gIGxpbmUtaGVpZ2h0OiAkZy1saW5lLWhlaWdodDtcbn1cblxuaHRtbCxcbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuXG4gICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbn1cblxuLnVwcGVyLWZvb3RlciB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xufVxuXG4uZm9vdGVyLWxvZ29zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgZ2FwOiA0cmVtO1xuICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAmX19jb250YWluZXIge1xuICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC50ZW1haGF1LWxvZ28ge1xuICAgIHRyYW5zaXRpb246IHVuc2V0O1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggYmxhY2sgc29saWQ7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNHJlbTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLm1vZS1sb2dvIHtcbiAgICB0cmFuc2l0aW9uOiB1bnNldDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cmVtO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIEJhc2UgVHlwb2dyYXBoaWMgU3R5bGVzXG4vLyBcbi8vIFNlZSBhbHNvIC4uL2hlbHBlcnMvX3R5cGUuc2Nzc1xuLy8gU2VlIGFsc28gLi4vdmFyaWFibGVzL190eXBvZ3JhcGh5LnNjc3Ncbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEFzIC5zYXNzLWxpbnQueW1sIHByb2hpYml0cyB0aGUgdXNlIG9mIEBleHRlbmRcbi8vIHRoZXNlIHJhdyBIVE1MIGVsZW1lbnRzIGFyZSBhbGlhc2VkXG4vLyB0byBtYXRjaGluZyBjbGFzc25hbWVzLlxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRnLWZvbnQtc2Vjb25kYXJ5O1xuICBjb2xvcjogY29sb3IodHlwZSk7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC8vIHNhc3MtbGludDplbmFibGUgbm8tdmVuZG9yLXByZWZpeGVzXG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG4uaDEsXG4uaDIsXG4uaDMsXG4uaDQsXG4uaDUsXG4uaDYsXG5bY2xhc3NePVwiaDEtLVwiXSxcbltjbGFzcyo9XCIgaDEtLVwiXSxcbltjbGFzc149XCJoMi0tXCJdLFxuW2NsYXNzKj1cIiBoMi0tXCJdLFxuW2NsYXNzXj1cImgzLS1cIl0sXG5bY2xhc3MqPVwiIGgzLS1cIl0sXG5bY2xhc3NePVwiaDQtLVwiXSxcbltjbGFzcyo9XCIgaDQtLVwiXSxcbltjbGFzc149XCJoNS0tXCJdLFxuW2NsYXNzKj1cIiBoNS0tXCJdLFxuW2NsYXNzXj1cImg2LS1cIl0sXG5bY2xhc3MqPVwiIGg2LS1cIl0ge1xuICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG4uaDEsXG4uaDIsXG4uaDMsXG4uaDQsXG4uaDUsXG4uaDYge1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogY29sb3IodHlwZSk7XG59XG5cbmgxIHtcbiAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDgpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDExKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMTEpO1xuICAgIG1hcmdpbjogMCAwIGJ1KDYpO1xuICB9XG59XG5cbi5oMSB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoNik7XG4gIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDExKTtcbiAgICBtYXJnaW46IDAgMCBidSg2KTtcbiAgfVxufVxuXG5oMixcbi5oMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoNik7XG4gIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcbiAgbWFyZ2luOiBidSg1LjkpIDAgYnUoMy42KTtcblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgOCk7XG4gIH1cbn1cblxuaDMsXG4uaDMge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICBsaW5lLWhlaWdodDogYnUoMy41KTtcblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgOCk7XG4gIH1cbn1cblxuaDQsXG4uaDQge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA0KTtcbiAgfVxufVxuXG5oNSxcbi5oNSB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIDIpO1xuICBtYXJnaW46IGJ1KDMuNSkgMCBidSgyLjMpO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5oNixcbi5oNiB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG4gIG1hcmdpbjogYnUoNSkgMCBidSgzKTtcbiAgbGluZS1oZWlnaHQ6IGJ1KDMuNSk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5wLFxuLnAge1xuICBhIHtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbn1cblxuYSxcbi5hIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb2xvcjogY29sb3IobGluayk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIC4ycyBlYXNlLCBjb2xvciAuMnMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cbn1cblxuYSB7XG4gICY6dmlzaXRlZCB7XG4gICAgJixcbiAgICAmID4gLmEsXG4gICAgJiBtYXJrIHtcbiAgICAgIGNvbG9yOiBjb2xvcihsaW5rLXZpc2l0ZWQpO1xuICAgIH1cbiAgfVxufVxuXG5ociB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3IodHlwZSk7XG4gIG1hcmdpbjogYnUoMSkgMDtcbn1cblxuYSxcbmJ1dHRvbixcbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3QsXG5bdGFiSW5kZXgqPVwiXCJdIHtcbiAgQGluY2x1ZGUgaC1mb2N1c2FibGU7XG59XG5cbm1hcmsge1xuICAvLyBvdmVycmlkZSBub3JtYWxpc2UuY3NzXG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKG1hcmspO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBCYXNlIEltYWdlIFN0eWxlc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vLyBwaWN0dXJlIHtcbi8vXG4vLyB9XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gQmFzZSBGb3JtIFN0eWxlc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gVGhlIGxpc3QgYmVsb3cgY292ZXJzIGFsbCBwb3NzaWJsZSBpbnB1dCB0eXBlcyBhbmQgdGhlaXIgc2VsZWN0b3JzLiBUaGVzZVxuLy8gY2FuIGJlIGNoZXJyeSBwaWNrZWQgdG8gZXh0ZW5kIGRlZmF1bHQgZm9ybSBzdHlsZXMuXG4vLyBidXR0b24sXG4vLyB0ZXh0YXJlYSxcbi8vIGlucHV0W3R5cGU9Y2hlY2tib3hcIl0sXG4vLyBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi8vIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi8vIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLy8gaW5wdXRbdHlwZT1cImhpZGRlblwiXSxcbi8vIGlucHV0W3R5cGU9XCJpbWFnZVwiXSxcbi8vIGlucHV0W3R5cGU9XCJsaXN0XCJdLFxuLy8gaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuLy8gaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi8vIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi8vIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi8vIGlucHV0W3R5cGU9XCJyYW5nZVwiXSxcbi8vIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4vLyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLy8gaW5wdXRbdHlwZT1cInRlbFwiXSxcbi8vIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLy8gaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4vLyBpbnB1dFt0eXBlPVwidXJsXCJdLFxuLy8gaW5wdXRbdHlwZT1cIndlZWtcIl1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLy8gRm9ybSBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuLy8gaW5wdXQgdHlwZXMgdGhhdCByZXF1aXJlIGtleWJvYXJkIGlucHV0XG4kZm9ybS1pbnB1dC10ZXh0OiBcImlucHV0W3R5cGU9J3RleHQnXSxpbnB1dFt0eXBlPSdwYXNzd29yZCddLGlucHV0W3R5cGU9J3NlYXJjaCddLGlucHV0W3R5cGU9J2VtYWlsJ10saW5wdXRbdHlwZT0nbnVtYmVyJ10saW5wdXRbdHlwZT0ndGVsJ10saW5wdXRbdHlwZT0ndXJsJ10saW5wdXRbdHlwZV49J2RhdGUnXSxpbnB1dFt0eXBlPSdtb250aCddLGlucHV0W3R5cGU9J3dlZWsnXSxpbnB1dFt0eXBlPSd0aW1lJ11cIjtcblxuLy8gSW5wdXQgdHlwZXMgdGhhdCBjb21tb25seSBhcHBlYXIgYXMgYnV0dG9uc1xuJGZvcm0taW5wdXQtYnV0dG9uczogXCJpbnB1dFt0eXBlPSdzdWJtaXQnXSxpbnB1dFt0eXBlPSdyZXNldCddLGlucHV0W3R5cGU9J2J1dHRvbiddXCI7XG5cbi8vIElucHV0IHR5cGVzIGdyb3VwZWQgYnkgYWxsIHR5cGVzIGJ1dCBOT1QgY2hlY2tib3ggb3IgcmFkaW8uXG4kZm9ybS1pbnB1dC1ub3QtcmFkaW8tbm90LWNoZWNrYm94OlxuXCJpbnB1dDpub3QoW3R5cGU9XCJyYWRpb1wiXSk6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pXCI7XG5cbiN7JGZvcm0taW5wdXQtbm90LXJhZGlvLW5vdC1jaGVja2JveH0ge1xuICBtYXJnaW4tYm90dG9tOiBidSgxKTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERlZmF1bHQgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuXG4gIC5maWVsZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwIDAgYnUoNCk7XG4gIH1cbn1cblxuI3skZm9ybS1pbnB1dC10ZXh0fSxcbnRleHRhcmVhIHtcbiAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IGJ1KDEuNSkgYnUoMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKHR5cGUpO1xuICAvLyBsaW5lLWhlaWdodDogYnUoMy43NSk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiBkYXJrZW4oY29sb3IodHlwZSksIDUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuI3skZm9ybS1pbnB1dC1idXR0b25zfSxcbmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IGJ1KDIpIGJ1KDMpO1xuICBjb2xvcjogZGFya2VuKGNvbG9yKHR5cGUpLCA1MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8vIGFwcGVhcmFuY2U6IHRleHRmaWVsZDsgRFM6IHdhcyBpbiBkdXBsaWNhdGUgcHJlY2VkaW5nIHJ1bGVcbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRmllbGQgU3BlY2lmaWMgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuLy8gfVxuXG4vLyBpbnB1dFt0eXBlPVwiY29sb3JcIl0ge1xuLy8gfVxuXG4vLyBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4vLyB9XG5cbi8vIGlucHV0W3R5cGU9XCJoaWRkZW5cIl0ge1xuLy8gfVxuXG4vLyBpbnB1dFt0eXBlPVwiaW1hZ2VcIl0ge1xuLy8gfVxuXG4vLyBpbnB1dFt0eXBlPVwibGlzdFwiXSB7XG4vLyB9XG5cbi8vIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4vLyB9XG5cbi8vIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4vLyB9XG5cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBCYXNlIExpc3QgU3R5bGVzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG51bCxcbm9sIHtcbiAgbWFyZ2luOiBidSgxKSAwIGJ1KDMuNyk7XG5cbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW46IGJ1KC41KSAwIDA7XG4gIH1cblxuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoLjUpO1xuICB9XG59XG5cbi8vIERlZmluaXRpb24gbGlzdHMgZGVmYXVsdCBzdHlsZXNcbmRsIHtcbiAgbWFyZ2luOiBidSgyKSAwO1xuXG4gIGR0LFxuICBkZCB7XG4gICAgbWF4LXdpZHRoOiBidSgyMCk7XG4gIH1cblxuICAvLyBkdCB7fVxuXG4gIGRkIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgfVxufVxuXG5vbCB7XG4gIG1hcmdpbi1ib3R0b206IGJ1KDMuMjUpO1xuXG4gID4gbGkge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNSk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBjb3VudGVyLWluY3JlbWVudDogbGlzdC1udW1iZXJpbmc7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb250ZW50OiBjb3VudGVyKGxpc3QtbnVtYmVyaW5nKSBcIi5cIjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIHdpZHRoOiBidSgzKTtcbiAgICAgIGhlaWdodDogYnUoMyk7XG4gICAgICBtYXJnaW46IDAgYnUoLjUpIDAgYnUoLTMuNSk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMy4yNSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgID4gbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMyk7XG4gICAgfVxuICB9XG59XG5cbnVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogYnUoNC4zKTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gID4gbGkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgxKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IGJ1KDQuMyk7XG4gICAgICBoZWlnaHQ6IGJ1KDEpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC00LjMpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRnLWltYWdlLXBhdGggKyBcImljb25zL2J1bGxldC5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDAlIDI1JTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgbWFyZ2luLWxlZnQ6IGJ1KDUpO1xuXG4gICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICBtYXJnaW4tbGVmdDogYnUoNC40KTtcblxuICAgICAgJi5oLWxpc3QtLXJlc2V0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjUpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogYnUoNSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBidSgtNSk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAyNSU7XG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgd2lkdGg6IGJ1KDQuNCk7XG4gICAgICAgICAgaGVpZ2h0OiBidSgyLjIpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSgtNC40KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMCUgMjAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gQmFzZSBUYWJsZSBTdHlsZXNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblxuICB0aCxcbiAgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gID4gdGhlYWQge1xuICAgIHRoIHtcbiAgICAgIEBpbmNsdWRlIHAtLXNsaWRlLS10aC0tdG9wO1xuICAgICAgcGFkZGluZzogYnUoMS45KSBidSgyLjgpIGJ1KDEuNyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmaWxsLWRhcmspO1xuICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgIH1cbiAgfVxuXG4gID4gdGJvZHkge1xuICAgIHRoIHtcbiAgICAgIEBpbmNsdWRlIHAtLXNsaWRlLS10aDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlcik7XG4gICAgICBjb2xvcjogY29sb3IodHlwZS1kYXJrKTtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiB0aCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRkIHtcbiAgICAgIEBpbmNsdWRlIHAtLXNsaWRlLS10ZDtcbiAgICB9XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiBidSgyLjYpIGJ1KDIuOCkgYnUoMi4yKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKHJ1bGUtdGhpbi1saWdodGVyKTtcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAvLyByZXZlYWwgdGFibGUgYm9yZGVyc1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gTGF5b3V0IE91dGVyIENvbnRhaW5lclxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFRoZXNlIHN0eWxlcyBzZXQgdGhlIG91dGVyIGJvdW5kYXJ5IGZvciBhIGNlbnRlcmVkIHdlYiBwYWdlXG5cbi8vIG1peGlucyBhbGxvd3MgbGF5b3V0IHRvIGJlIGFwcGxpZWQgdG8gZWxlbWVudCB3aGljaCBkeW5hbWljYWxseSBwaW5cbkBtaXhpbiBsLW91dGVyLWNvbnRhaW5lcigkZW5hYmxlLXBhZGRpbmc6IHRydWUpIHtcblxuICBAaWYgJGVuYWJsZS1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAwICN7JGctbWFyZ2luLW5hcnJvd31weDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBAaWYgJGVuYWJsZS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDAgI3skZy1tYXJnaW4td2lkZX1weDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGVzdC1hbmQtdXApIHtcbiAgICBtYXgtd2lkdGg6IHJlbSgkZy1tYXJnaW4td2lkZXN0ICsgJGctd2lkdGgtd2lkZXN0ICsgJGctbWFyZ2luLXdpZGVzdCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBAaWYgJGVuYWJsZS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDAgI3skZy1tYXJnaW4td2lkZX1weDtcbiAgICB9XG4gIH1cbn1cblxuLmwtb3V0ZXItY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgbC1vdXRlci1jb250YWluZXI7XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gT3ZlcmZsb3cgbGluZXJcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi5sLW92ZXJmbG93LWxpbmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIENsYXNzIEJhc2VkIEdyaWQgTGF5b3V0IFN0eWxlc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gTm90ZSB0aGVzZSBhcmUgdXNlZCB0byBsYXlvdXQgY29tcG9uZW50cyAvIGJsb2NrcyBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIGluc2lkZSB0aGVcbi8vIGNvbXBvbmVudHMgLyBibG9ja3MgdGhlbXNlbHZlcy5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUm93IERlY2xhcmF0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuXG4ubC1yb3cge1xuICBAaW5jbHVkZSBncmlkLXJvdygpO1xufVxuXG4ubC1yb3ctLWNlbnRlcmVkIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coXCJjZW50ZXJcIik7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb2x1bW4gRGVjbGFyYXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1uYXJyb3ctYW5kLXVwKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGctZ3JpZC1jb2x1bW5zIHtcbiAgICAubC1ncmlkLW5hcnJvdy0jeyRpfW9mI3skZy1ncmlkLWNvbHVtbnN9IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKGxpc3Quc2xhc2goJGksICRnLWdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC13aWRlLWFuZC11cCkge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRnLWdyaWQtY29sdW1ucyB7XG4gICAgLmwtZ3JpZC13aWRlLSN7JGl9b2YjeyRnLWdyaWQtY29sdW1uc30ge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4obGlzdC5zbGFzaCgkaSwgJGctZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gQ2FsYyBHcmlkIE1peGluc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gQ3JlYXRlIGEgcm93IC0gQGluY2x1ZGUgZ3JpZC1yb3coKTtcbi8vIENyZWF0ZSBhbiBpdGVtIC0gQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDQpOyBvcHRpb25hbGx5IEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyA0LCA0MHB4KTtcbi8vIENhbiBhbHNvIHNwZWNpZnkgdGhlIGp1c3RpZmljYXRpb24gaWYgZm9yIGV4YW1wbGUgeW91IHdhbnQgdG8gY2VudGVyIHRoZSBjb2x1bW4gb24gYSBwYWdlLiBlZyBAaW5jbHVkZSBncmlkLXJvdyhcImNlbnRlclwiKS5cbi8vIFRvIGNyZWF0ZSBhIGNvbnRpbm91cyBsaXN0IG9mIGdyaWQgZWxlbWVudHMgaW4gcm93cyBvZiAzIGxheWVkIG91dCBpbiBhIGdyaWRcbi8vIENhbGwgdGhlIHdyYXBwZXIgdXNpbmcgLSBAaW5jbHVkZSBncmlkLXJvdyhcImZsZXgtc3RhcnRcIik7XG4vLyBUaGVuIG9uIHRoZSBjaGlsZHJlbiBjYWxsIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyAzLCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMyk7XG4vLyBUaGUgbnRoIHdyYXBwZXIgc2VsZWN0b3Igd2lsbCBiZSBvdmVyaWRlbiBlYWNoIHRpbWUgeW91IGNhbGwgdGhpcyBhdCBkaWZmZXJlbnQgYnJlYWtwb2ludHMuXG5cbkBtaXhpbiBncmlkLXJvdygkanVzdGlmeTogXCJzcGFjZS1iZXR3ZWVuXCIpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICN7JGp1c3RpZnl9O1xufVxuXG4vLyAkZ3V0dGVyIC0gZ3JpZCBndXR0ZXJcbi8vICRtYXJnaW4tcmlnaHQtZnJhYyAtIGFkZGl0aW9uYWwgY29sdW1uLXdpZGUgZ3V0dGVyIGJldHdlZW4gbGVmdCBqdXN0aWZpZWQgaXRlbXNcbkBtaXhpbiBzcGFuLWNvbHVtbigkZnJhYywgJGd1dHRlcjogZmFsc2UsICRmbGV4LXN0YXJ0OiBmYWxzZSwgJG50aDogMiwgJG1hcmdpbi1yaWdodC1mcmFjOiBmYWxzZSwgJGd1dHRlci1ib3R0b206ICRnLWd1dHRlcikge1xuICAkY3VycmVudC1ndXR0ZXI6ICRnLWd1dHRlcjsgLy8gc2VlIHNyYy9zY3NzL3ZhcmlhYmxlcy9fZ2VuZXJhbC5zY3NzXG5cbiAgQGlmKCRndXR0ZXIpIHtcbiAgICAkY3VycmVudC1ndXR0ZXI6ICRndXR0ZXI7XG4gIH1cblxuICBmbGV4LWJhc2lzOiBjYWxjKCgxMDAlICogI3skZnJhY30pIC0gKCN7JGN1cnJlbnQtZ3V0dGVyfSAqICgxIC0gI3skZnJhY30pKSk7XG4gIGZsZXgtZ3JvdzogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogY2FsYygoMTAwJSAqICN7JGZyYWN9KSAtICgjeyRjdXJyZW50LWd1dHRlcn0gKiAoMSAtICN7JGZyYWN9KSkpO1xuICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyLWJvdHRvbTtcblxuICBAaWYoJGZsZXgtc3RhcnQpIHtcbiAgICBAaWYoJG1hcmdpbi1yaWdodC1mcmFjKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoKDEwMCUgKiAjeyRtYXJnaW4tcmlnaHQtZnJhY30pIC0gKCN7JGN1cnJlbnQtZ3V0dGVyfSAqICgxIC0gI3skbWFyZ2luLXJpZ2h0LWZyYWN9KSkgKyAoI3skY3VycmVudC1ndXR0ZXJ9ICogKCN7JG50aH0gLSAxKSkpO1xuXG4gICAgICAmOm50aC1jaGlsZChvZGQpLFxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoKDEwMCUgKiAjeyRtYXJnaW4tcmlnaHQtZnJhY30pIC0gKCN7JGN1cnJlbnQtZ3V0dGVyfSAqICgxIC0gI3skbWFyZ2luLXJpZ2h0LWZyYWN9KSkgKyAoI3skY3VycmVudC1ndXR0ZXJ9ICogKCN7JG50aH0gLSAxKSkpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY3VycmVudC1ndXR0ZXI7XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCksXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGN1cnJlbnQtZ3V0dGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKCN7JG50aH1uKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhpcyBpcyBub3QgYW4gZXhhY3Qgc2NpZW5jZSwgYnV0IGl0IHdvcmtzIHdlbGwgZW5vdWdoIHdpdGggdGhlIGRlc2lnblxuLy8gKHZpZXdwb3J0IGJvdW5kYXJ5IHRvIG1pZHBvaW50IGJldHdlZW4gc2Vjb25kYXJ5IG5hdiBhbmQgbWFpbiBjb250YWluZXIpXG5AbWl4aW4gc3Bhbi1jb2x1bW4tYmxlZWQtZmlsbCgkZnJhYywgJGlubmVyLWJsZWVkLXdpZGU6IGJ1KDApLCAkaW5uZXItYmxlZWQtd2lkZXN0OiBidSgwKSwgJGlubmVyLWJsZWVkLWZ1bGw6IGJ1KDApLCAkY29sb3I6ICMwMDApIHtcbiAgJHBhZ2Utd2lkdGg6IDEwMCU7XG5cbiAgLy8gdGhlIGZpbGwgaXNuJ3QgYXBwbGllZCBvbiBuYXJyb3dcbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlLWFuZC11cCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkY29sb3IsICRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxuXG4gIC8vIGF0IHRoZSB3aWRlIGJyZWFrcG9pbnQgdGhlIGxlZnQgaGFuZCBtYXJnaW4gaXMgZml4ZWQgYW5kIHRoZSBjb250YWluZXIgc2NhbGVzXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmV0d2Vlbi13aWRlLWFuZC13aWRlc3QpIHtcbiAgICAvLyBmaXhlZCBMSCBtYXJnaW4gKyBOIGNvbHVtbnMgKyBleHRyYVxuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygje2J1KCRnLW1hcmdpbi13aWRlKjAuMTI1KX0gKyAjeyRmcmFjICogMTAwfSArICN7JGlubmVyLWJsZWVkLXdpZGV9KSAxMDAlO1xuICB9XG5cbiAgLy8gYXQgdGhlIHdpZGVzdCBicmVha3BvaW50IHRoZSBsZWZ0IGhhbmQgbWFyZ2luIGlzIGZpeGVkIGFuZCB0aGUgY29udGFpbmVyIGlzIGZpeGVkLCBidXQgdGhlcmUgaXMgaG9yaXpvbnRhbCBibGVlZFxuICAvLyBub3RlIHRoYXQgJGctd2lkdGgtd2lkZXN0IGV4Y2x1ZGVzIGZpeGVkICRnLW1hcmdpbi13aWRlc3QgbWFyZ2lucyBcbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlc3QtYW5kLXVwKSB7XG4gICAgLy8gbWlkZGxlIG9mIHBhZ2UgLSBtaWRkbGUgb2YgY29udGFpbmVyIC0gTiBjb2x1bW5zICsgTEggbWFyZ2luICsgZXh0cmFcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoI3skcGFnZS13aWR0aCowLjV9IC0gKCN7YnUoJGctd2lkdGgtd2lkZXN0KjAuMTI1KSowLjV9IC0gI3tidSgoJGZyYWMgKiAkZy13aWR0aC13aWRlc3QpKjAuMTI1KX0gLSAje2J1KCRnLW1hcmdpbi13aWRlc3QqMC4xMjUpfSAtICN7JGlubmVyLWJsZWVkLXdpZGVzdH0pKSAxMDAlO1xuICB9XG5cbiAgLy8gYXQgdGhlIHdpZGUgYnJlYWtwb2ludCB0aGUgbGVmdCBoYW5kIG1hcmdpbiBpcyBmaXhlZCBhbmQgdGhlIGNvbnRhaW5lciBpcyBmaXhlZCwgYnV0IHRoZXJlIGlzIGhvcml6b250YWwgYmxlZWRcbiAgLy8gbm90ZSB0aGF0ICRnLXdpZHRoLXdpZGVzdCBleGNsdWRlcyBmaXhlZCAkZy1tYXJnaW4td2lkZXN0IG1hcmdpbnMgXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtZnVsbC1hbmQtdXApIHtcbiAgICAvLyBtaWRkbGUgb2YgcGFnZSAtIG1pZGRsZSBvZiBjb250YWluZXIgLSBOIGNvbHVtbnMgKyBMSCBtYXJnaW4gKyBleHRyYVxuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygjeyRwYWdlLXdpZHRoKjAuNX0gLSAoI3tidSgkZy13aWR0aC13aWRlc3QqMC4xMjUpKjAuNX0gLSAje2J1KCgkZnJhYyAqICRnLXdpZHRoLXdpZGVzdCkqMC4xMjUpfSAtICN7YnUoJGctbWFyZ2luLXdpZGVzdCowLjEyNSl9IC0gI3skaW5uZXItYmxlZWQtZnVsbH0pKSAxMDAlO1xuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gR2VuZXJhbCBWYXJpYWJsZXNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEEgZ3JvdXAgb2YgdmFyaWFibGVzIHRoYXQgZG8gbm90IHJlcXVpcmUgdGhlaXIgb3duIHN0eWxlc2hlZXQuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFzc3QgUGF0aHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRnLWltYWdlLXBhdGg6IFwiLi4vaW1nL1wiO1xuJGctZm9udC1wYXRoOiBcIi4uL2ZvbnQvXCI7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFVuaXRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCYXNlIHVuaXQuXG4kZy1idTogODtcblxuLy8gSGFsZiBiYXNlIHVuaXQuXG4kZy1oYnU6IDQ7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFuaW1hdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGctYW5pbS1ob3ZlcjogLjFzO1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHcmlkXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZy1ncmlkLWNvbHVtbnM6IDEyICFkZWZhdWx0O1xuJGctZ3V0dGVyOiAkZy1idSAqIDQgKyBweCAhZGVmYXVsdDsgLy8gTXVzdCBiZSBhIHB4IHZhbHVlXG4kZy1ndXR0ZXItdW5pdGxlc3M6ICRnLWJ1ICogNCAhZGVmYXVsdDtcbiIsIi8vIEFqYXggb3ZlcmxheSBsb2FkZXJcblxuLmwtYWpheC1qcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IGJ1KDI0Ljc1ICsgMTMgKyAyNC43NSk7XG5cbiAgLy8gcGFyZW50IGVsZW1lbnRcbiAgJl9fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBzZXQgdmVydGljYWwgc3RyZXRjaCBsaW1pdCBmb3Igc2VhcmNoIHJlc3VsdHMgc3Bpbm5lclxuICB9XG5cbiAgJl9faW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBsaW5lYXI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAvLyBIYWNrIGZvciBpZTEwIGFzIGRvZXNudCBzdXBwb3J0IHBvaW50ZXIgZXZlbnRzXG4gICAgLmllMTAgJiB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi0taW4ge1xuICAgICAgbWluLWhlaWdodDogYnUoMjQuNzUgKyAxMyArIDI0Ljc1KTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgICAgLy8gSGFjayBmb3IgaWUxMCBhcyBkb2VzbnQgc3VwcG9ydCBwb2ludGVyIGV2ZW50c1xuICAgICAgLmllMTAgJiB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1vdXQge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gI3tidSgxMyowLjUpfSk7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtICN7YnUoMTMqMC41KX0pO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogYnUoMTMpO1xuICAgICAgaGVpZ2h0OiBidSgxMyk7XG4gICAgICBib3JkZXI6IGJ1KDEpIHNvbGlkICNmMWYxZjE7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDA5Y2RlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYW5pbWF0aW9uOiBhamF4LXNwaW5uZXIgLjlzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG4gIH1cblxuICAmLS1pbmxpbmUtbG9hZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogbXMoMSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgZWFzZS1vdXQgLjJzO1xuXG4gICAgLmItYnV0dG9uX19pY29uLXdyYXAtLWJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYW5pbWF0aW9uOiBhamF4LXNwaW5uZXIgLjZzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG4gIH1cblxuICAmLS1pbmxpbmUtbG9hZGluZyB7XG4gICAgLmItYnV0dG9uX19pY29uLXdyYXAtLWJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi5sLWFqYXgtanMtZmFpbCB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBrZXlmcmFtZXMgYWpheC1zcGlubmVyIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBaLUluZGV4XG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4ubC0xLS1wYWdlLS1uYXJyb3cge1xuXG4gIC8vIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcyAtIHBpbm5lZCBpbiBwYWdlIG5hdlxuICAvLyBDaGlsZCBvZiBvbmx5IGNvbCB3aGVuIG9uZSBjb2x1bW4gKGUuZy4gSGVscCBwYWdlKVxuICAvLyBUaGlzIGVsZW1lbnQgYXV0b21hdGljYWxseSBzdGFja3Mgb24gdG9wIGR1ZSB0byBwb3NpdGlvbjpmaXhlZC5cbiAgLy8gSXQgb3IgYSBjaGlsZCBvZiBpdCwgbXVzdCBzdGFjayBvbiB0b3Agb2Ygc2libGluZyBjb250ZW50LFxuICAvLyBpbiBvcmRlciB0byBvYnNjdXJlIGVsZW1lbnRzIHNjcm9sbGluZyBiZW5lYXRoIGl0LlxuXG4gIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcyB7XG4gICAgei1pbmRleDogMzsgLy8gc3RhY2sgb24gdG9wIG9mIGNvbnRlbnQsIGluY2wgLmItdmlkZW8tanNfX2ljb25cbiAgfVxufVxuXG4ubC0yLS1wYWdlLS1ndWlkZSB7XG5cbiAgLy8gLmwtb3JkZXItLTIgLSBSSCBjb2wgY29udGFpbmluZyBtYWluIGNvbnRlbnRcbiAgLy8gRmlyc3QgaW4gY29udGVudCBvcmRlci5cbiAgLy8gSW4gb3JkZXIgdG8gbWFpbnRhaW4gaW50ZXJhY3Rpdml0eSB3aXRoIHRoZSBwYWdlIGNvbnRlbnQsXG4gIC8vIGl0LCBvciBhIGNoaWxkIG9mIGl0LCBtdXN0IHN0YWNrIG9uIHRvcCBvZlxuICAvLyB0aGUgZml4ZWQgcG9zaXRpb24sIDEwMCUgd2lkZSAuYi1uYXYtZ3VpZGUtc2lkZWJhci0tcGlubmVkX19sLW91dGVyLWNvbnRhaW5lclxuICAvLyBpbiB0aGUgTEggY29sICgubC1vcmRlci0tMSlcblxuICAvLyBIb3dldmVyLCB3aGVuIHRoaXMgaXMgc3VjY2Vzc2Z1bGx5IGFjaGlldmVkLCBpdCBtZWFucyB0aGF0IGl0cyBwaW5uZWQgY2hpbGQsXG4gIC8vIHRoZSBmaXhlZCBwb3NpdGlvbiwgMTAwJSB3aWRlIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qc1xuICAvLyB3aWxsIGJlIGFsc28gYmUgb24gdG9wIG9mIHRoZSBMSCBjb2wgKC5sLW9yZGVyLS0xKSxcbiAgLy8gd2hpY2ggd2lsbCByZXN1bHQgaW4gdGhlIHRvcCBwb3J0aW9uIG9mIHRoZSBndWlkZSBuYXYgYmVpbmcgb2JzY3VyZWQgYnkgLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzXG5cbiAgLy8gQXMgdGhpcyBpcyB0aGUgb25seSBvdXRjb21lIHdoaWNoIHByZXNlcnZlcyBpbnRlcmFjdGl2aXR5IGluIGFsbCBhcmVhcyBvZiB0aGUgVUksXG4gIC8vIChleGNsdWRpbmcgdGhlIHNtYWxsIG92ZXJsYXAgYXJlYSBhdCB0aGUgdG9wIG9mIHRoZSBndWlkZSBuYXYpXG4gIC8vIGEgTEggb2Zmc2V0IGhhcyBiZWVuIGFwcGxpZWQgdG8gdGhlIHRoaW4gcnVsZSBydW5uaW5nIGJlbG93IC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qc1xuICAvLyB0byBnaXZlIHRoZSBpbGx1c2lvbiBvZiBubyBvdmVybGFwIHdpdGggdGhlIGd1aWRlIG5hdi5cblxuICAubC1vcmRlci0tMiB7XG4gICAgei1pbmRleDogMTsgLy8gc3RhY2sgb24gdG9wIG9mIGZpeGVkIHBvc2l0aW9uIGVsZW1lbnRzIGluIExIIGNvbCAoLmwtb3JkZXItLTEpXG5cbiAgICAvLyAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanMgLSBwaW5uZWQgaW4gcGFnZSBuYXZcbiAgICAvLyBDaGlsZCBvZiBSSCBjb2wgKC5sLW9yZGVyLS0yKSB3aGVuIHR3byBjb2x1bW5zIChndWlkZSBwYWdlcylcbiAgICAvLyBUaGlzIGVsZW1lbnQgYXV0b21hdGljYWxseSBzdGFja3Mgb24gdG9wIGR1ZSB0byBwb3NpdGlvbjpmaXhlZC5cbiAgICAvLyBJdCBvciBhIGNoaWxkIG9mIGl0LCBtdXN0IHN0YWNrIG9uIHRvcCBvZiBzaWJsaW5nIGNvbnRlbnQsXG4gICAgLy8gaW4gb3JkZXIgdG8gb2JzY3VyZSBlbGVtZW50cyBzY3JvbGxpbmcgYmVuZWF0aCBpdC5cblxuICAgID4gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzIHtcbiAgICAgIHotaW5kZXg6IDM7IC8vIHN0YWNrIG9uIHRvcCBvZiBjb250ZW50IGluIFJIIGNvbCAoLmwtb3JkZXItLTIpLCBpbmNsIC5iLXZpZGVvLWpzX19pY29uXG4gICAgfVxuICB9XG5cbiAgLy8gLmwtb3JkZXItLTEgLSBMSCBjb2wgY29udGFpbmluZyBndWlkZSBuYXZcbiAgLy8gTGFzdCBpbiBjb250ZW50IG9yZGVyLlxuICAvLyBJdCwgb3IgYSBjaGlsZCBvZiBpdCwgbXVzdCBzdGFjayBvbiB0b3Agb2ZcbiAgLy8gdGhlIDEwMCUgd2lkZSAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanMgaW4gdGhlIFJIIGNvbCAoLmwtb3JkZXItLTIpXG4gIC8vIGluIG9yZGVyIHRvIHByZXZlbnQgdGhlIHRvcCBwb3J0aW9uIG9mIHRoZSBndWlkZSBuYXYgZnJvbSBsb3NpbmcgaW50ZXJhY3Rpdml0eVxuXG4gIC8vIEhvd2V2ZXIsIHdoZW4gdGhpcyBpcyBzdWNjZXNzZnVsbHkgYWNoaWV2ZWQsIGl0IG1lYW5zIHRoYXQgaXRzIHBpbm5lZCBjaGlsZCxcbiAgLy8gdGhlIGZpeGVkIHBvc2l0aW9uLCAxMDAlIHdpZGUgLmItbmF2LWd1aWRlLXNpZGViYXItLXBpbm5lZF9fbC1vdXRlci1jb250YWluZXJcbiAgLy8gd2lsbCBzdGFjayBvbiB0b3Agb2YgdGhlIGFkamFjZW50IGNvbnRlbnQgY29sdW1uICgubC1vcmRlci0tMilcbiAgLy8gYW5kIGJsb2NrIGFsbCBpbnRlcmFjdGl2aXR5IHRoZXJlLlxuXG4gIC8vIEFzIHRoaXMgaXMgbm90IGZlYXNpYmxlLFxuICAvLyBhIHdvcmthcm91bmQgaGFzIGJlZW4gYXBwbGllZCB0byAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanMsXG4gIC8vIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIG5vIG92ZXJsYXAgKHNlZSBhYm92ZSlcbiAgLy9cbiAgLy8gLmwtb3JkZXItLTEge1xuICAvL1xuICAvLyAuYi1uYXYtZ3VpZGUtc2lkZWJhci0tcGlubmVkX19sLW91dGVyLWNvbnRhaW5lciAtIHBpbm5lZCBndWlkZSBuYXYgbGluZXJcbiAgLy8gQ2hpbGQgb2YgTEggY29sICgubC1vcmRlci0tMSkuXG4gIC8vIEF1dG9tYXRpY2FsbHkgc3RhY2tzIG9uIHRvcCBkdWUgdG8gcG9zaXRpb246Zml4ZWQgYW5kIHBvc2l0aW9uIGluIGNvbnRlbnQgb3JkZXJcbiAgLy8gQ2Fubm90IGJlIGFsbG93ZWQgdG8gc3RhY2sgb24gdG9wIG9mIFJIIGNvbCAoLmwtb3JkZXItLTIpXG4gIC8vIGFzIHRoaXMgd291bGQgYmxvY2sgYWxsIGludGVyYWN0aXZpdHkgdGhlcmUuXG4gIC8vXG4gIC8vIC5iLW5hdi1ndWlkZS1zaWRlYmFyLS1waW5uZWRfX2wtMi0tcGFnZS0tZ3VpZGUgLSBwaW5uZWQgZ3VpZGUgbmF2IGdyaWRcbiAgLy8gQ2hpbGQgb2YgTEggY29sICggLmwtb3JkZXItLTEpLlxuICAvLyBDb3VsZCBiZSBzdGFja2VkIHRvIG9ic2N1cmUgb3ZlcmZsb3cgb2YgLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzXG4gIC8vIGJ1dCB3b24ndCBiZSBhYmxlIHRvIHN0YWNrIGhpZ2hlciB0aGFuIGl0cyBmaXhlZCBwYXJlbnQgLmItbmF2LWd1aWRlLXNpZGViYXItLXBpbm5lZF9fbC1vdXRlci1jb250YWluZXJcbiAgLy8gd2hpY2ggY2Fubm90IGJlIGFsbG93ZWQgdG8gc3RhY2sgaGlnaCBlbm91Z2ggdG8gbWFrZSB0aGlzIHVzZWZ1bC5cbiAgLy9cbiAgLy8gfVxufVxuXG4uYi1mb290ZXIge1xuICAuYi1iYWNrLXRvLXRvcCB7XG4gICAgei1pbmRleDogMztcbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItc2hhcmUtYW5kLW91dHB1dC1idXR0b25zXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBTaGFyZSBhbmQgT3V0cHV0IGJ1dHRvbnNcbi8vXG4vLyBNYXJrdXA6IGItc2hhcmUtYW5kLW91dHB1dC1idXR0b25zLmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuNDdcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItc2hhcmUtYW5kLW91dHB1dC1idXR0b25zIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19zaGFyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBBUCBmb3IgZG93bmxvYWQgaWNvblxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgJl9fZG93bmxvYWQge1xuICAgICAgLy8gZmxvYXQgZG9lc24ndCB3b3JrIHdpdGhpbiBpbmxpbmUtZmxleFxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1leGFtcGxlLXNsaWRlIHtcbiAgICA+IC5iLXJ1bGUtLXRoaW4ge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubC0yLS1zaGFyZS1zbGlkZSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiBidSgyLjEpIDA7XG4gICAgfVxuXG4gICAgI3ttLW5lc3QoKX1fX3NoYXJlIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAuaC1saXN0LS1pbmxpbmUge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLjUpO1xuXG4gICAgICAgICAgJi5iLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9uc19fc2hhcmVfX2Rvd25sb2FkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWludHJvIHtcbiAgICAje20tbmVzdCgpfV9fc2hhcmUge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgLmgtbGlzdC0taW5saW5lIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSguNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1pbnRyby0tZ3VpZGUge1xuICAgICN7bS1uZXN0KCl9X19zaGFyZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAuaC1saXN0LS1pbmxpbmUge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KC41KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWtub3dsZWRnZS1zbGlkZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoMik7XG5cbiAgICAubC0yLS1zaGFyZS1zbGlkZSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiBidSgyLjEpIDA7XG4gICAgfVxuXG4gICAgI3ttLW5lc3QoKX1fX3NoYXJlIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAuaC1saXN0LS1pbmxpbmUge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLjUpO1xuXG4gICAgICAgICAgJi5iLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9uc19fc2hhcmVfX2Rvd25sb2FkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLW1vZGFsLS1wcmVzZW50IHtcbiAgICAje20tbmVzdCgpfV9fc2hhcmUge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAmX19vdXRwdXQge1xuICAgICAgLmItYnV0dG9uLS1waWxsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgJixcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5oLWxpc3QtLWlubGluZSB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYnUoMS4yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGluIHBhZ2Ugc2xpZGVcbiAgICAmLS1leGFtcGxlLXNsaWRlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDEuNyk7XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSg2KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGJ1KDEuNyk7LyogYWxsb3cgZm9yIHRvb2x0aXAgKi9cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgPiAuYi1ydWxlLS10aGluIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmItcnVsZS0tdGhpY2sge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3NoYXJlIHtcbiAgICAgICAgLmgtbGlzdC0taW5saW5lIHtcbiAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSguNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnMtLW1vZGFsLS1wcmVzZW50IHtcbiAgICAgICAgI3ttLW5lc3QoKX1fX3NoYXJlIHtcbiAgICAgICAgICAuaC1saXN0LS1pbmxpbmUge1xuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYnUoLjgpO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnMtLWludHJvXG4gICAgJi0taW50cm8ge1xuICAgICAgbWF4LXdpZHRoOiBidSgxNy4yNSk7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgLy8gcmlnaHQgYWxpZ25cblxuICAgICAgI3ttLW5lc3QoKX1fX3NoYXJlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMS42KTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgLmgtbGlzdC0taW5saW5lIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX291dHB1dCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taW50cm8tLWd1aWRlIHtcbiAgICAgICN7bS1uZXN0KCl9X19zaGFyZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgLmgtbGlzdC0taW5saW5lIHtcbiAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYnUoLjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGluIHBhZ2Ugc2xpZGVcbiAgICAmLS1rbm93bGVkZ2Utc2xpZGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMS43KTtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjcpO1xuICAgICAgfVxuXG4gICAgICA+IC5iLXJ1bGUtLXRoaW4ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYi1ydWxlLS10aGljayB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fc2hhcmUge1xuICAgICAgICAuaC1saXN0LS1pbmxpbmUge1xuICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC41KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5iLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9ucy0tbW9kYWwtLXByZXNlbnQge1xuICAgICAgICAje20tbmVzdCgpfV9fc2hhcmUge1xuICAgICAgICAgIC5oLWxpc3QtLWlubGluZSB7XG4gICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSguOCk7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItbmF2LWluLXBhZ2Vcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIE5hdiAtIEluLXBhZ2Vcbi8vIFxuLy8gTWFya3VwOiBiLW5hdi1pbi1wYWdlLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjI5XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1uYXYtaW4tcGFnZSB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19saW5lciB7XG4gICAgcGFkZGluZy10b3A6IGJ1KDMpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDQpO1xuICB9XG5cbiAgJl9fbGlzdCB7XG4gICAgJl9faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjYpO1xuICAgIH1cbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IGJ1KDIuNSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBidSg0KTsgLy8gbWF0Y2ggdGV4dCB3cmFwcGluZyB0byB0aGUgZGVzaWduXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAmLmItbGluay1pY29uLS1zdGFydCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgLmgtaWNvbi0tYXJyb3cge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgZmlsbDogY29sb3IobGluayk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAuYi1saW5rLWljb25fX2xpbmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogYnUoLjEyNSkgc29saWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjA1ZW07XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogLjc1ZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuYi1ydWxlLS10aGluIHtcbiAgICBtYXJnaW4tdG9wOiBidSgyLjYyNSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgJl9faWNvbiB7XG4gICAgICB3aWR0aDogLjg1ZW07XG4gICAgfVxuXG4gICAgLmItcnVsZS0tdGhpbiB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgxLjQpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItZm9vdGVyXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBGb290ZXJcbi8vIFxuLy8gTWFya3VwOiBiLWZvb3Rlci5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4xNVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWZvb3RlciB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLmItZmlsbC0tbWFyZ2lucyB7XG4gICAgcGFkZGluZy10b3A6IGJ1KDYpO1xuICAgIHBhZGRpbmctYm90dG9tOiBidSgyLjUpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC5sLW91dGVyLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBBUCBmb3IgYi1iYWNrLXRvLXRvcCBidXR0b25cbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBidSgxNy43NSk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCAwIGJ1KDQuNSkgYnUoLS4yKTsgLy8gbmVnYXRpdmUgbWFyZ2luIG9mZnNldHMgd2hpdGVzcGFjZSBvbiBTVkdcbiAgfVxuXG4gICZfX3J1bGUge1xuICAgIG1hcmdpbi10b3A6IGJ1KDMuNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNC4yKTtcbiAgfVxuXG4gIC5wLS1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAuaC1saXN0IHtcbiAgICAmLS1pbmxpbmUge1xuICAgICAgPiBsaSB7XG4gICAgICAgIG1hcmdpbjogMCBidSgzLjc1KSBidSgzKSAwO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICYuYi1maWxsLS1tYXJnaW5zIHtcbiAgICAgIHBhZGRpbmctdG9wOiBidSgxMS4zKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBidSguNik7XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICB3aWR0aDogYnUoMjcuMjUpO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBvZiBncmlkIGNvbHVtblxuICAgICAgbWFyZ2luOiBidSguMykgMCBidSgzLjcpIGJ1KC0uMik7XG4gICAgfVxuXG4gICAgJl9fcnVsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgtMy4zKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuNSk7XG4gICAgfVxuXG4gICAgLmgtbGlzdCB7XG4gICAgICAmLS1pbmxpbmUge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KDYuNSk7XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgcGFkZGluZzogYnUoMi43NSkgMCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvcihydWxlLXRoaW4tbGlnaHQpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihydWxlLXRoaW4tZGFyayk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuXG4gICAgJi5iLWZpbGwtLWJyYW5kIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIG5vdGU6IHR5cGUgc3R5bGUgaXMgYXBwbGllZCB0byB3cmFwcGVyIGhlcmVcbiAgICAvLyBhcyB0aGUgcGFyYWdyYXBoIHRleHQgaXMgZWRpdGFibGUgaW4gdGhlIENNUyB3aXRoIHRoZSBIVE1MIGVkaXRvclxuICAgIC5wLS1wcmludC0tbWV0YSB7XG4gICAgICA+IHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItdGFibGVcbi8vIFxuLy8gU2VlIGFsc28gYmFzZS90YWJsZVxuLy8gU2VlIGFsc28gYi1zY3JvbGwtdHJpZ2dlclxuLy8gU2VlIGFsc28gbC1vdmVyZmxvdy1saW5lclxuLy8gU2VlIGFsc28gY3Qtb3ZlcmZsb3ctaGVscGVyLmpzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBUYWJsZVxuLy8gXG4vLyBPdmVyZmxvdyBzY3JvbGwgYmFycyBhbmQgc2Nyb2xsIGNvbnRyb2wgYXJyb3dzLlxuLy9cbi8vIE1hcmt1cDogYi10YWJsZS1qcy5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC41MVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi10YWJsZS1qcyB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICsgcDpub3QoW2NsYXNzXSkge1xuICAgIG1hcmdpbi10b3A6IGJ1KDMpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICAvLyBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7fVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItY29udGVudC1oZWFkZXJcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIENvbnRlbnQgaGVhZGVyXG4vL1xuLy8gTWFya3VwOiBiLWNvbnRlbnQtaGVhZGVyLmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuNlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItY29udGVudC1oZWFkZXIge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX3RpdGxlIHtcbiAgICAmLmgxIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1ndWlkZSB7XG4gICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBidSg2LjUpO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19zdW1tYXJ5IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjMpO1xuICAgIH1cblxuICAgICsgLmItZ3VpZGUtdGlsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg0KTtcbiAgICB9XG4gIH1cblxuICAmLS1oZWxwIHtcbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IGJ1KDUuOSk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gICAgfVxuXG4gICAgLmItcnVsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjcpO1xuICAgIH1cbiAgfVxuXG4gICYtLWhvbWUtZ3VpZGVzIHtcbiAgICBtYXJnaW4tdG9wOiBidSg2LjUpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KC0xLjUpO1xuICB9XG5cbiAgJi0tdW5kZXJzdGFuZCB7XG4gICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBidSg1LjkpO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuOCk7XG4gICAgfVxuICB9XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAmLmgxIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoNC45KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAuYi1ydWxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC41KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ndWlkZSB7XG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSg1LjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjMpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWhlbHAge1xuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanMgKyAuYi1jb250ZW50LWhlYWRlci0taGVscCB7XG4gICAgICAgICAgLmItY29udGVudC1oZWFkZXJfX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taG9tZS1ndWlkZXMge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNS4yKTtcbiAgICB9XG5cbiAgICAmLS1rZXktcmVzb3VyY2VzIHtcbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDExKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi45KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3N1bW1hcnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjcpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLW1vcmUtb3B0aW9ucyB7XG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgxMC42KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS45KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3N1bW1hcnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXVuZGVyc3RhbmQge1xuICAgICAgcGFkZGluZy10b3A6IGJ1KDguOSk7XG5cbiAgICAgIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcyArICYge1xuICAgICAgICBwYWRkaW5nLXRvcDogYnUoOC45KTtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLTQpOyAvLyBvZmZzZXQgdHJhaWxpbmcgbWFyZ2luIG9uIGItbmF2LWluLXBhZ2VcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICArIHAge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDUuNyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLXJlc291cmNlXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBSZXNvdXJjZVxuLy8gXG4vLyBNYXJrdXA6IGItcmVzb3VyY2UuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMzlcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXJlc291cmNlIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIG1hcmdpbi10b3A6IGJ1KDMuNSk7XG4gIG1hcmdpbi1ib3R0b206IGJ1KDIuNSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2NvdmVyIHtcbiAgICBtYXJnaW4tdG9wOiBidSguNSk7XG4gIH1cblxuICAmX19idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNSk7XG5cbiAgICAuYi1idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLy8gZG93bmxvYWQtYnV0dG9uIGZpbGUgc2l6ZVxuICAuYi1idXR0b25fX2luZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuICB9XG5cbiAgJl9fY29zdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoLjgpO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMi4zKTtcbiAgfVxuXG4gICZfX3B1Ymxpc2hlciB7XG4gICAgbWFyZ2luLXRvcDogYnUoLS42KTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgfVxuXG4gID4gLmwtMl9fY29sIHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRyYWlsaW5nIGVsZW1lbnRzXG5cbiAgKyAuYi1ydWxlIHtcbiAgICArIC5iLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNik7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1zbGlkZSB7XG4gICAgI3ttLW5lc3QoKX1fX2J1dHRvbiB7XG4gICAgICAuYi1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1zbGlkZS0tbGFyZ2Uge1xuICAgICN7bS1uZXN0KCl9X19idXR0b24ge1xuICAgICAgLmItYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi4yKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogYnUoLjcpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC43KTtcblxuICAgICAgKyAje2UtbmVzdCgpfV9fcmVnaXN0cmF0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLTIuMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gICAgfVxuXG4gICAgJl9fY29zdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjkpO1xuICAgIH1cblxuICAgIC8vIHRvbyBsYXRlIHRvIGNoYW5nZSB0aGUgZ3JpZFxuICAgICYubC0yLS1yZXNvdXJjZSxcbiAgICAubC0yLS1yZXNvdXJjZS1jb250ZW50IHtcbiAgICAgID4gLmwtMl9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCxcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tc2xpZGUge1xuICAgICAgI3ttLW5lc3QoKX1fX2NvdmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLS4yNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuMjUpO1xuXG4gICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNzUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19idXR0b24ge1xuICAgICAgICAuYi1idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDEuMik7XG5cbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDIuMik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tc2xpZGUtLWxhcmdlIHtcbiAgICAgICN7bS1uZXN0KCl9X19jb3ZlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KC0uNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuXG4gICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KC43KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fYnV0dG9uIHtcbiAgICAgICAgLmItYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSgxLjcpO1xuXG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBidSg0LjEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItaGVscC1pdGVtXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBIZWxwIGl0ZW1cbi8vIFxuLy8gTWFya3VwOiBiLWhlbHAtaXRlbS5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4xOFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1oZWxwLWl0ZW0ge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC5iLXJ1bGUge1xuICAgIG1hcmdpbi10b3A6IGJ1KDQuMik7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMy4xKTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgzLjMpO1xuICB9XG5cbiAgLmItcGljdHVyZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoMy4zKTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tcGljdHVyZSB7XG4gICAgLmItcnVsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgzKTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAuYi1jb250ZW50LWhlYWRlciArICYge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNS42KTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC5iLXBpY3R1cmUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSguOCk7XG4gICAgfVxuXG4gICAgLmItcnVsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgzLjEpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1jb250ZW50LXN1Yi1oZWFkZXJcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIENvbnRlbnQgc3ViIGhlYWRlclxuLy8gXG4vLyBVc2VkIG9uIHRoZSBVbmRlcnN0YW5kIHBhZ2UgYWJvdmUgdGhlIHJlc291cmNlc1xuLy8gXG4vLyBNYXJrdXA6IGItY29udGVudC1zdWItaGVhZGVyLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjhcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWNvbnRlbnQtc3ViLWhlYWRlciB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IGJ1KDUuMSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMS41KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDEwLjUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLXNlYXJjaC1yZXN1bHRzLXN1bW1hcnlcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFNlYXJjaCByZXN1bHRzIHN1bW1hcnlcbi8vXG4vLyBNYXJrdXA6IGItc2VhcmNoLXJlc3VsdHMtc3VtbWFyeS5odG1sXG4vL1xuLy8gU3R5bGVndWlkZTogMTAwLjQ1XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1zZWFyY2gtcmVzdWx0cy1zdW1tYXJ5IHtcbiAgJi5sLTEtLXBhZ2UtLW5hcnJvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICZfX2NvdW50IHtcbiAgICBtYXJnaW4tdG9wOiBidSgyLjIpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMik7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgID4gLmwtMV9fY29sIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fY291bnQge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjMpO1xuXG4gICAgICArIC5iLW5vLXJlc3VsdHMtbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KC0yKTsgLy8gb2Zmc2V0IGNvdW50IGJvdHRvbSBtYXJnaW5cbiAgICAgIH1cbiAgICB9XG4gICAgLmItbW9kYWwtanMtLXNlYXJjaCAmIHtcbiAgICAgICZfX2NvdW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMik7XG5cbiAgICAgICAgKyAuYi1uby1yZXN1bHRzLW1lc3NhZ2Uge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWhpZGUtc2hvd1xuLy8gXG4vLyBTZWUgYWxzbyBiLWNvbnRlbnQtcmV2ZWFsXG4vLyBTZWUgYWxzbyBoaWRlLXNob3cuanNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEhpZGUtU2hvd1xuLy8gXG4vLyBTZWUgQ29udGVudCByZXZlYWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjE5XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWhpZGUtc2hvdy1qcy1leHBhbmRtb3JlIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBBbmltYXRpb24gc3R5bGVzXG4gICZfX3RvX2V4cGFuZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgY2xhc3MtbmFtZS1mb3JtYXRcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtaGVpZ2h0OiA4MGVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgZWFzZSAuNXMsIHZpc2liaWxpdHkgMHMgZWFzZSwgbWF4LWhlaWdodCAuNnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgMHMsIDBzLCAwcztcblxuICAgICZbZGF0YS1oaWRkZW49dHJ1ZV0ge1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMnMsIDFzLCAwcywgMHM7XG4gICAgfVxuICB9XG5cbiAgJl9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIC8vIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHt9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1zZWFyY2gtc3VnZ2VzdGlvbnNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFNlYXJjaCBzdWdnZXN0aW9uc1xuLy8gXG4vLyBNYXJrdXA6IGItc2VhcmNoLXN1Z2dlc3Rpb25zLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjQ2XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1zZWFyY2gtc3VnZ2VzdGlvbnMge1xuICAmX19oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiBidSgzLjEpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuICB9XG5cbiAgJl9fc3VnZ2VzdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMS41KTtcbiAgfVxuXG4gICZfX3BvcHVsYXIge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMik7XG5cbiAgICAuYi1idXR0b24tLXJlY3RhbmdsZS0tb3V0bGluZS1sYXJnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX19wcmV2aW91cyB7XG4gICAgLmItYnV0dG9uLS1yZWN0YW5nbGUtLW91dGxpbmUtbGFyZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJl9fcG9wdWxhciB7XG4gICAgICAuYi1idXR0b24tLXJlY3RhbmdsZS0tb3V0bGluZS1sYXJnZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgI3tlLW5lc3QoKX1fX2hlYWRpbmcge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDcuOSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmV2aW91cyB7XG4gICAgICAuYi1idXR0b24tLXJlY3RhbmdsZS0tb3V0bGluZS1sYXJnZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgI3tlLW5lc3QoKX1fX2hlYWRpbmcge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDcuOSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICZfX2hlYWRpbmcge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNC45KTtcblxuICAgICAgJi0taGVscCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1leGFtcGxlLWVtYmVkXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBFeGFtcGxlIGVtYmVkXG4vL1xuLy8gTWFya3VwOiBiLWV4YW1wbGUtZW1iZWQuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDEwMC45XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWV4YW1wbGUtZW1iZWQge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgbWFyZ2luLWJvdHRvbTogYnUoMy40KTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fcXVvdGUge1xuICAgIHBhZGRpbmc6IGJ1KDQuNCkgYnUoMy40KSBidSgxLjUpO1xuXG4gICAgJl9fdGV4dCB7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAuaC1pY29uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogYnUoLjMyNSkgYnUoMS4zKSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogYnUoNSk7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jaXRlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMpO1xuICAgIH1cblxuICAgICZfX2F1dGhvciB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgzKTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLW91dGxpbmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMyk7XG5cbiAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgIC8vIGNlbnRlciB0aGUgaW1hZ2VcbiAgICAgIC8vIG5vIGVmZmVjdCBpZiAxMDAlIHdpZGVcbiAgICAgIC8vIGJ1dCBjZW50ZXJzIGVtYmVkIGlmIGFuIGlubGluZSBtYXgtd2lkdGggaGFzIGJlZW4gYXBwbGllZFxuICAgICAgLy8gYnkgdGhlIHByb3BvcnRpb25hbCBzY2FsaW5nIHNjcmlwdCBpbiBtb2RhYWwuanNcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICZfX3F1b3RlIHtcbiAgICAgIHBhZGRpbmc6IGJ1KDIuNykgYnUoMy40KSBidSgxLjQpO1xuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgcGFkZGluZzogYnUoNy42KSBidSg1LjQpIGJ1KDUpIGJ1KDkuMSk7XG4gICAgICB9XG5cbiAgICAgICZfX3RleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxKTtcbiAgICAgICAgZm9udC1zaXplOiBidSgyLjEpO1xuXG4gICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmgtaWNvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBmb250LXNpemU6IGJ1KDYuNCk7XG5cbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogYnUoMTAuNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2F1dGhvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDIuNik7XG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoNi43KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3Byb2Zlc3Npb24ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItc2VhcmNoLWhlYWRlclxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gU2VhcmNoIChtb2RhbCkgaGVhZGVyXG4vL1xuLy8gTWFya3VwOiBiLXNlYXJjaC1oZWFkZXIuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuNDNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItc2VhcmNoLWhlYWRlciB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBtYXJnaW4tdG9wOiBidSg0LjQpO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19jbG9zZS13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gICZfX2Nsb3NlIHtcbiAgICBtYXJnaW4tdG9wOiBidSg0LjgpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuYi1ndWlkZS1saXN0LXNlYXJjaC1hbmQtZmlsdGVyIHtcbiAgICBtYXJnaW4tdG9wOiBidSgzLjIpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICBtYXJnaW4tdG9wOiBidSgxMS4zKTtcblxuICAgICZfX2Nsb3NlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuOCk7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItbmF2LWd1aWRlLXNpZGViYXJcbi8vIFxuLy8gU2VlIGFsc28gbW9kYWFsLmpzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBOYXYgLSBHdWlkZSBTaWRlYmFyXG4vLyBcbi8vIE1hcmt1cDogYi1uYXYtZ3VpZGUtc2lkZWJhci5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4yOFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLm1vZGFhbC1jbG9zZSB7XG4gIEBpbmNsdWRlIGgtaGlkZTtcbn1cblxuLmItbmF2LWd1aWRlLXNpZGViYXIge1xuXG4gIC8vIC5iLW5hdi1ndWlkZS1zaWRlYmFyLS1waW5uZWRcbiAgLy8gYXBwbGllZCBieSBuYXYtZ3VpZGUtcGlubmVkLmpzXG4gICYtLXBpbm5lZCB7XG5cbiAgICAvLyBmb3IgcGVyZm9ybWFuY2UsIHdyYXBwZXJzIGFyZSBoYXJkY29kZWRcbiAgICAvLyBidXQgb25seSB0YWtlIG9uIHRoZWlyIHN0eWxpbmcgb25jZSB0aGUgcGFyZW50J3MgcGlubmluZyBtb2RpZmllciBpcyBhcHBsaWVkXG5cbiAgICAvLyAuYi1uYXYtZ3VpZGUtc2lkZWJhci0tcGlubmVkX19sLW91dGVyLWNvbnRhaW5lclxuICAgICZfX2wtb3V0ZXItY29udGFpbmVyIHtcbiAgICAgICN7bS1uZXN0KCl9LS1waW5uZWQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGwtb3V0ZXItY29udGFpbmVyKCRlbmFibGUtcGFkZGluZzogZmFsc2UpO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7IC8vIGVsc2UgdGhlIHBhZGRlZCBjb250YWluZXIgc2l0cyB3aXRoaW4gdGhlIHBhcmVudCBjb250YWluZXIncyBwYWRkaW5nLCBldmVuIHRob3VnaCBpdCdzIGZpeGVkLi5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuYi1uYXYtZ3VpZGUtc2lkZWJhci0tcGlubmVkX19sLTItLXBhZ2UtLWd1aWRlXG4gICAgJl9fbC0yLS1wYWdlLS1ndWlkZSB7XG4gICAgICAje20tbmVzdCgpfS0tcGlubmVkICYge1xuICAgICAgICBAaW5jbHVkZSBsLTItLXBhZ2UtLWd1aWRlO1xuXG4gICAgICAgID4gLmwtb3JkZXItLTEge1xuICAgICAgICAgICRzY3JvbGxiYXItd2lkdGg6IGJ1KDIpO1xuICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICAgICAgLy8gVE9ETzogY2FsYyBjb3BpZWQgZnJvbSB0aGUgZ3JpZCBvdXRwdXQgYXQgdGhlIGRlc2t0b3AgbGF5b3V0IC0gbWFrZSB0aGlzIGR5bmFtaWNcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDIqKDMycHggKiAoMSAtIC4yNSkpKTtcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1uYXYtZ3VpZGUgJiB7IC8vIHNhc3MtbGludDogZGlzYWJsZS1saW5lIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IC8vIHJlbW92ZSBndXR0ZXJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubC0yLS1zcGxpdCB7XG4gICAgLmwtMl9fY29sIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvbWUsIEFsbCBndWlkZXMgYnV0dG9uc1xuXG4gIC5iLWZpbGwtLWRhcmsge1xuXG4gICAgLmItbmF2LWd1aWRlLXNpZGViYXJfX2hlYWRlciB7XG4gICAgICAuYi1saW5rLWljb24ge1xuICAgICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmItbmF2LWd1aWRlLXNpZGViYXJfX2Zvb3RlciB7XG4gICAgICAuYi1saW5rLWljb24ge1xuICAgICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmItbGluay1pY29uIHtcblxuICAgICZfX2ljb24ge1xuICAgICAgd2lkdGg6IDFlbTsgLy8gbGFyZ2VyIGFycm93LCB1c3VhbGx5IDAuN2VtXG4gICAgfVxuICB9XG5cbiAgLmItbGluay1pY29uLS1zdGFydCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuM2VtO1xuXG4gICAgLmgtaWNvbi0tYXJyb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjNlbTtcbiAgICB9XG4gIH1cblxuICAubW9kYWFsLWlubGluZV9fY2xvc2Uge1xuXG4gICAgJi5iLWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuYi1idXR0b25fX2NvbnRlbnQge1xuICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgIH1cblxuICAgIC5iLWJ1dHRvbl9faWNvbi13cmFwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gTmFycm93LW9ubHkgaGVhZGVyXG5cbiAgJl9faGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiBidSg4Ljg3NSk7XG5cbiAgICAubC0yLS1zcGxpdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjc1KTtcbiAgICB9XG4gIH1cblxuICAvLyBOYXJyb3ctb25seSBmb290ZXJcblxuICAmX19mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIuMjUpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDEzLjUpO1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoNS4zNzUpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMzc1KTtcblxuICAgICZfX2luZGV4b2Yge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLS4yNSk7XG4gICAgfVxuICB9XG5cbiAgJl9fc3ViLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiBidSgyLjYyNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG5cbiAgJl9fdW5kZXJzdGFuZCB7XG4gICAgI3tlLW5lc3QoKX1fX21lbnUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC42MjUpO1xuICAgIH1cbiAgfVxuXG4gICZfX3N0cmF0ZWdpZXMge1xuXG4gICAgI3tlLW5lc3QoKX1fX21lbnUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC41KTtcbiAgICB9XG5cbiAgICAje2UtbmVzdCgpfV9fc3VibWVudS1wYXJlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBidSg2KTsgLy8gc3BhY2UgZm9yIGJ1dHRvblxuXG4gICAgICAuYi1jb250ZW50LXJldmVhbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgY29sb3IodHlwZS1saWdodCk7XG5cbiAgICAgICAgLy8gaWNvbiByZW5kZXJzIGZpcnN0XG4gICAgICAgIC8vIHRoZW4gaGlkZS1zaG93LmpzIGluamVjdHMgdGhlIHdyYXBwaW5nXG4gICAgICAgIC8vIC5iLWhpZGUtc2hvdy1qcy1leHBhbmRtb3JlX19idXR0b25cbiAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBjZW50ZXJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIGNlbnRlclxuICAgICAgICAgIG1hcmdpbjogMCBidSgxKTtcbiAgICAgICAgICBmb250LXNpemU6IGJ1KDQpO1xuXG4gICAgICAgICAgLy8gSUUxMSBmYWlscyB0byByZW5kZXIgdGhlIFNWRyBzaGFwZVxuICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgJi5oLWljb24tLXRyaWFuZ2xlIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuZXN0aW5nLWRlcHRoXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZy1pbWFnZS1wYXRoICsgXCJpY29ucy90cmlhbmdsZS13aGl0ZS5zdmdcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmItaGlkZS1zaG93LWpzLWV4cGFuZG1vcmUsXG4gICAgICAgICZfX2hlYWRlcixcbiAgICAgICAgLmItaGlkZS1zaG93LWpzLWV4cGFuZG1vcmVfX2J1dHRvbiB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmItaGlkZS1zaG93LWpzLWV4cGFuZG1vcmVfX2J1dHRvbiB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAje2UtbmVzdCgpfV9fc3VibWVudSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGJ1KDIuMTI1KTtcbiAgICAgIGJvcmRlci1sZWZ0OiBidSguMTI1KSBzb2xpZCBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuMjUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLS41KTtcbiAgICB9XG5cbiAgICAucC0tbmF2LWd1aWRlLXNpZGViYXItLXN0cmF0ZWd5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMjUpO1xuICAgIH1cblxuICAgIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tc3VnZ2VzdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgICB9XG4gIH1cblxuICAmX19zdWdnZXN0aW9ucyB7XG4gICAgJl9fYWN0aXZlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiBidSguMjUpO1xuICAgICAgICBsZWZ0OiBidSgtMi4xMjUpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3JkZXItbGVmdDogYnUoLjUpIHNvbGlkIGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3Jlc291cmNlcyB7XG5cbiAgICAje2UtbmVzdCgpfV9fbWVudSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0Ljg3NSk7XG4gICAgfVxuXG4gICAgLmgzLS1uYXYtZ3VpZGUtc2lkZWJhci0tc3ViLWhlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjI1KTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG4gICAgLmwtb3V0ZXItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fbWVudSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjcpO1xuICAgIH1cblxuICAgICZfX3N1Yi10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgyLjMyNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjMpO1xuICAgIH1cblxuICAgICZfX3N1Z2dlc3Rpb25zIHtcbiAgICAgICZfX2FjdGl2ZSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNS43KTtcbiAgICB9XG5cbiAgICAmX191bmRlcnN0YW5kIHtcblxuICAgICAgI3tlLW5lc3QoKX1fX21lbnUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSg1LjgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5iLWxpbmstaWNvbiB7XG5cbiAgICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogLjhlbTtcbiAgICAgIH1cblxuICAgICAgLmgtaWNvbi0tYXJyb3ctLWRvd24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYnUoLS40KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1maWx0ZXItbm90aWNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMyk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1leGFtcGxlLXNsaWRlXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBFeGFtcGxlIHNsaWRlXG4vL1xuLy8gTWFya3VwOiBiLWV4YW1wbGUtc2xpZGUuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDEwMC4xMVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1leGFtcGxlLXNsaWRlIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHBhZGRpbmctdG9wOiBidSg3LjQpO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBzdWJzZXF1ZW50IHNsaWRlc1xuICAuYi1leGFtcGxlLXNsaWRlICsgJixcbiAgLmIta25vd2xlZGdlLXNsaWRlICsgJiB7XG4gICAgcGFkZGluZy10b3A6IGJ1KDguNSk7XG4gIH1cblxuICAmX19kZXNjcmlwdGlvbiAge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG5cbiAgICAvLyB0aXRsZXMgaW4gc3Vic2VxdWVudCBzbGlkZXNcbiAgICAuYi1leGFtcGxlLXNsaWRlICsgLmItZXhhbXBsZS1zbGlkZSAmLFxuICAgIC5iLWtub3dsZWRnZS1zbGlkZSArIC5iLWV4YW1wbGUtc2xpZGUgJiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjcpO1xuICAgIH1cbiAgfVxuXG4gIC5iLWV4YW1wbGUtZW1iZWQge1xuICAgIG1hcmdpbi10b3A6IGJ1KDMpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJltkYXRhLWItbW9kYWwtc2xpZGVzaG93LWpzLXNsaWRlXSB7XG4gICAgQGluY2x1ZGUgaC1mb2N1c2FibGUoKTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgcGFkZGluZy10b3A6IGJ1KDEwKTtcblxuICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgJl9fZXhhbXBsZSB7XG4gICAgICAmLmwtMi0tc2xpZGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSg0KTtcbiAgICAgIH1cblxuICAgICAgI3tlLW5lc3QoKX1fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLS40KTtcbiAgICAgIH1cblxuICAgICAgJi5sLTItLXNsaWRlLS1wcmVzZW50LXdpZGUge1xuICAgICAgICAuYi1leGFtcGxlLXNsaWRlX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBidSg0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoLS45KTtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc3Vic2VxdWVudCBzbGlkZXNcbiAgICAuYi1leGFtcGxlLXNsaWRlICsgJixcbiAgICAuYi1rbm93bGVkZ2Utc2xpZGUgKyAmIHtcbiAgICAgIHBhZGRpbmctdG9wOiBidSgxMS45KTtcblxuICAgICAgQGF0LXJvb3QgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAvLyB0aXRsZXMgaW4gc3Vic2VxdWVudCBzbGlkZXNcbiAgICAgIC5iLWV4YW1wbGUtc2xpZGVfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLS43KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNi42KTtcblxuICAgICAgICBAYXQtcm9vdCAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1leGFtcGxlLWVtYmVkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbltkYXRhLWNsYXNzPVNsaWRlQ29udGVudF0gKyBbZGF0YS1jbGFzcz1HZW5lcmljQ29udGVudF0gLmItY29udGVudC0tbm8tdGl0bGUge1xuICBwYWRkaW5nLXRvcDogYnUoNik7XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1zdHJhdGVneVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gU3RyYXRlZ3lcbi8vIFxuLy8gTWFya3VwOiBiLXN0cmF0ZWd5Lmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjQ5XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXN0cmF0ZWd5IHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19lbWJlZCB7XG4gICAgLmItZXhhbXBsZS1lbWJlZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgxLjUpO1xuICB9XG5cbiAgJl9fc3VnZ2VzdGlvbnMge1xuICAgIC5iLWZpbHRlci1ub3RpY2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoNC41KTtcbiAgfVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICBtYXJnaW4tdG9wOiBidSgyKTtcblxuICAgICZfX2VtYmVkIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDUpO1xuICAgIH1cblxuICAgICZfX3N1Z2dlc3Rpb25zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEpO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuNSk7XG4gICAgfVxuXG4gICAgLy8gZmlyc3Qgb25lIGlzIGRpZmZlcmVudFxuICAgIC8vIHVuc3VyZSBvZiBlL20tbmVzdCBzeW50YXggaGVyZVxuICAgIC5iLWZpbHRlci1ub3RpY2UgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMuMyk7XG5cbiAgICAgIC5iLXN0cmF0ZWd5X19lbWJlZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDIuMSk7XG5cbiAgICAgICAgLmItZXhhbXBsZS1lbWJlZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoLjkpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmItc3RyYXRlZ3lfX3N1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMi43KTtcbiAgICAgIH1cblxuICAgICAgLmItc3RyYXRlZ3lfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMi4zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLXVuZGVyc3RhbmQtb3ZlcnZpZXdcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFVuZGVyc3RhbmQgT3ZlcnZpZXdcbi8vIFxuLy8gTWFya3VwOiBiLXVuZGVyc3RhbmQtb3ZlcnZpZXcuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuNTVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItdW5kZXJzdGFuZC1vdmVydmlldyB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLmgtZ2xvYmFsLW1hcmdpbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fc2hvcnQtdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiBidSg3KTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNSk7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMy4zKTtcbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgLmItcnVsZS0tdGhpY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy40KTtcbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICAuaDMtLXVuZGVyc3RhbmQtc3VtbWFyeSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgtLjYpO1xuICAgIH1cblxuICAgIC5wLS1pbnRyby0tZ3VpZGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy40KTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICZfX2hlYWRlciB7XG4gICAgICAuYi1ydWxlLS10aGljayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3ZlcnZpZXcge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gICAgfVxuXG4gICAgJl9fc2hvcnQtdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IGJ1KDgpO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmX19zdWJ0aXRsZSxcbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgyKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuNCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1jYXB0aW9uXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBDYXB0aW9uXG4vL1xuLy8gU2VlIEV4YW1wbGUgZW1iZWRcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuNFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1jYXB0aW9uIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogYnUoMS43KSBidSgxLjI1KSBidSgxLjEpO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19jbG9zZWQtY2FwdGlvbmluZyB7XG5cbiAgICAuaC1pY29uLS1jbG9zZWRjYXB0aW9ucyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLS40NWVtO1xuICAgICAgd2lkdGg6IDEuN2VtO1xuICAgICAgaGVpZ2h0OiAxLjdlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogYnUoLjUpO1xuICAgIH1cbiAgfVxuXG4gICZfX2NyZWRpdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBidSguNSkgMDtcbiAgfVxuXG5cbiAgLy8gdXNlIGEgd2hpdGUgbGluayByYXRoZXIgdGhhbiBhIGJsdWUgb25lXG4gIC8vIChkZXNpZ24gZGV2aWF0ZXMgZnJvbSB0aGUgZmlsbCBjb2xvciB0cmVuZCBoZXJlKVxuICAmLmItZmlsbC0tZGFyayB7XG4gICAgYSxcbiAgICAuYSB7XG4gICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAmLmItbGluay0tZXh0ZXJuYWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvYXJyb3ctLXVwLXJpZ2h0LS10eXBlLWxpZ2h0LnN2Z1wiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtYmVsb3ctd2lkZSkge1xuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC44NzUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBwYWRkaW5nOiBidSguNSkgYnUoMi40NSkgYnUoLjUpO1xuXG4gICAgJl9fY2xvc2VkLWNhcHRpb25pbmcge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIC5wLS1jYXB0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBBUFxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIHBvc2l0aW9uIGljb24gbmV4dCB0byB0ZXh0XG4gICAgICAgIHBhZGRpbmctbGVmdDogYnUoMy4yKTtcblxuICAgICAgICAuYi1pY29uIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiBidSgtLjMpO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBtYXJnaW5zIGRvbid0IG92ZXJsYXAgZHVlIHRvIHRoZSBncmlkIHdyYXBwZXJcbiAgICAmX19jYXB0aW9uIHtcbiAgICAgICsgLmwtMi0tc3BsaXQtLWNvbnRlbnQtd2lkZS1hbmQtdXAge1xuICAgICAgICAucC0tY2FwdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX25vLWNsb3NlZC1jYXB0aW9uaW5nIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgICZfX3NvdXJjZSB7XG4gICAgICAucC0tcXVvdGUtc291cmNlIHtcbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoMS40KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc291cmNlLWltYWdlIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgICYtLXdpZGUge1xuICAgICAgI3ttLW5lc3QoKX1fX2NhcHRpb24ge1xuICAgICAgICAucC0tY2FwdGlvbiB7XG4gICAgICAgICAgQGluY2x1ZGUgcC0tY2FwdGlvbi0td2lkZTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItcHJvY2Vzcy1saXN0XG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBQcm9jZXNzIExpc3Rcbi8vIFJlcGVhdGluZyBvciBTdGFydCB0byBGaW5pc2hcbi8vXG4vLyBNYXJrdXA6IGItcHJvY2Vzcy1saXN0Lmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjM4XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuJGItcHJvY2Vzcy1saXN0LWxpbmUtdGhpY2tuZXNzOiAxcHg7XG4kYi1wcm9jZXNzLWxpc3QtbGluZS10aGlja25lc3MtcHJlc2VudDogMnB4O1xuJGItcHJvY2Vzcy1saXN0LXN0ZXAtZmlsbDogY29sb3IoZmlsbC1saWdodCk7XG4kYi1wcm9jZXNzLWxpc3Qtc3RlcC1maWxsLXByZXNlbnQ6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuJGItcHJvY2Vzcy1saXN0LWxpbmUtY29sb3I6IGNvbG9yKHR5cGUtZGFyayk7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItcHJvY2Vzcy1saXN0IHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIG1hcmdpbi10b3A6IDA7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2xpc3Qge1xuICAgICN7ZS1uZXN0KCl9X19zdGVwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICN7ZS1uZXN0KCl9X19zdGVwLWlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiBidSgyLjEyNSkgYnUoMi41KTtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLjYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSguOSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiLXByb2Nlc3MtbGlzdC1zdGVwLWZpbGw7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5lc3RpbmctZGVwdGhcbiAgICAgICAgI3tlLW5lc3QoKX1fX2ljb24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAuaC1pY29uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuZXN0aW5nLWRlcHRoXG4gICAgICAgICAgICB3aWR0aDogMS41ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7IC8vIGNvbm5lY3QgbG9uZyBhcnJvdyB3aXRoIGFkamFjZW50IGJvcmRlclxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7ZS1uZXN0KCl9X19zdGVwLWlubmVyIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbmVzdGluZy1kZXB0aFxuICAgICAgICAje2UtbmVzdCgpfV9fc3RlcC1pbm5lciB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje2UtbmVzdCgpfV9faWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogYnUoLjI1KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC5oLWljb24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSgtLjEpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYnUoLS4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLXJlcGVhdGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDIuNSk7XG4gICAgcGFkZGluZy1ib3R0b206IGJ1KDMpO1xuICAgIGJvcmRlci1yaWdodDogJGItcHJvY2Vzcy1saXN0LWxpbmUtdGhpY2tuZXNzIHNvbGlkICRiLXByb2Nlc3MtbGlzdC1saW5lLWNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KC41KTtcblxuICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgcGFkZGluZy1ib3R0b206IGJ1KDYpO1xuICAgIH1cblxuICAgIC8vIGhvcml6b250YWwgc3RydXRzIG9mIG9mZnNldCBjeWNsaWNhbCByZWN0YW5nbGVcbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlICsgI3tidSgyLjUvMil9KTsgLy8gMi41IGlzIHBhZGRpbmctcmlnaHRcbiAgICAgIGJvcmRlci10b3A6ICRiLXByb2Nlc3MtbGlzdC1saW5lLXRoaWNrbmVzcyBzb2xpZCAkYi1wcm9jZXNzLWxpc3QtbGluZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9fbGlzdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5iLXByb2Nlc3MtbGlzdF9fc3RlcCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIC5iLXByb2Nlc3MtbGlzdF9fc3RlcC1pbm5lciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBidSguNik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAuYi1wcm9jZXNzLWxpc3RfX3N0ZXAtaW5uZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyB2ZXJ0aWNhbCBzdHJ1dHMgb2Ygb2Zmc2V0IGN5Y2xpY2FsIHJlY3RhbmdsZVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogYnUoLTMuNSk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiBidSgyKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRiLXByb2Nlc3MtbGlzdC1saW5lLXRoaWNrbmVzcyBzb2xpZCAkYi1wcm9jZXNzLWxpc3QtbGluZS1jb2xvcjtcblxuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICBib3R0b206IGJ1KC02LjUpO1xuICAgICAgICAgIGhlaWdodDogYnUoNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9fcmVwZWF0cyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IGJ1KC0uNjI1KTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogY2FsYyg0NSUgKyAje2J1KDIuNS8yKX0pO1xuXG4gICAgICAuaC1pY29uIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IC0uNWVtO1xuICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAmLS1yZXBlYXRpbmcge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDQuNyk7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGItcHJvY2Vzcy1saXN0LWxpbmUtdGhpY2tuZXNzLXByZXNlbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlICsgI3tidSg0LjcvMil9KTsgLy8gNC43IGlzIHBhZGRpbmctcmlnaHRcbiAgICAgICAgICBib3JkZXItd2lkdGg6ICRiLXByb2Nlc3MtbGlzdC1saW5lLXRoaWNrbmVzcy1wcmVzZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmItcHJvY2Vzcy1saXN0X19saXN0IHtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRiLXByb2Nlc3MtbGlzdC1saW5lLXRoaWNrbmVzcy1wcmVzZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgI3tlLW5lc3QoKX1fX3N0ZXAge1xuICAgICAgICAje2UtbmVzdCgpfV9faWNvbiB7XG4gICAgICAgICAgLmgtaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBidSgtLjIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7ZS1uZXN0KCl9X19zdGVwLWlubmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiBidSgyLjEpIGJ1KDMuOSkgYnUoMy42KSBidSgzKTtcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgLy8gYWxzbyB1c2VkIGJ5IGgtbGlzdC0tcXVlc3Rpb25zXG4gICAgICAgICAgICBwYWRkaW5nOiBidSg0LjEpIGJ1KDMuOSkgYnUoNC4zKSBidSg1LjQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS44KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiLXByb2Nlc3MtbGlzdC1zdGVwLWZpbGwtcHJlc2VudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWV4YW1wbGUtaG9tZVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gRXhhbXBsZSAtIEhvbWVcbi8vIFxuLy8gTWFya3VwOiBiLWV4YW1wbGUtaG9tZS5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4xMFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1leGFtcGxlLWhvbWUge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiBidSgyKTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgzLjcpO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogYnUoNC4xKTtcbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLmItZXhhbXBsZS1lbWJlZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gIH1cblxuICA+IC5iLXJ1bGUge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgxLjc1KTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLS41KTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLmItZXhhbXBsZS1lbWJlZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItZmlsbFxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gRmlsbFxuLy9cbi8vIEFwcGxpZXMgYSBzb2xpZCBjb2xvdXIgZmlsbCB0byBhIGNvbnRhaW5lcixcbi8vIGFuZCBpbnN0cnVjdHMgdGhlIGNvbnRhaW5lZCB0ZXh0IHRvIGFkYXB0IGFwcHJvcHJpYXRlbHkuXG4vL1xuLy8gU3R5bGVndWlkZTogMTAwLjEyXG5cbkBtaXhpbiBiLWZpbGwoJGNvbG9yKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIHJlbmRlciBjaGlsZCBtYXJnaW5zIGFzIHBhZGRpbmdcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJGNvbG9yKTtcblxuICBAaWYgKCRjb2xvciA9PSBcImZpbGwtZGFya1wiKSB7XG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUsXG4gICAgaDYsXG4gICAgLmgxLFxuICAgIC5oMixcbiAgICAuaDMsXG4gICAgLmg0LFxuICAgIC5oNSxcbiAgICAuaDYsXG4gICAgcCxcbiAgICAucCxcbiAgICBsaSB7XG4gICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgfVxuXG4gICAgYSxcbiAgICAuYSB7XG4gICAgICBjb2xvcjogY29sb3IobGluay1saWdodCk7XG5cbiAgICAgIC5oLWljb24tLWFycm93IHtcbiAgICAgICAgZmlsbDogY29sb3IodHlwZS1saWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAmLmEtLWFjdGl2ZS1wYWdlLW9yLXBhcmVudCB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiBjb2xvcihsaW5rLWxpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hIHtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAmOm5vdCguYS0tbm8tdmlzaXRlZCkge1xuICAgICAgICAgICYsXG4gICAgICAgICAgPiAuYSB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IobGluay1saWdodC12aXNpdGVkKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtYXJrIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihtYXJrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucC0tYnJhbmQge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiBjb2xvcihsaW5rLWxpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5hIHtcbiAgICAgICYtLXZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogY29sb3IobGluay1saWdodC12aXNpdGVkKTtcblxuICAgICAgICAuYSB7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGxpbmstbGlnaHQtdmlzaXRlZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1oaWRlLXNob3ctanMtZXhwYW5kbW9yZV9fYnV0dG9uIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5iLWZpbGwtLWxpZ2h0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHQtb24tZGFyayk7XG5cbiAgICAgIHAsXG4gICAgICBhLFxuICAgICAgLmEge1xuICAgICAgICBjb2xvcjogY29sb3IodHlwZS1kYXJrKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBjb2xvcjogY29sb3IobWFyayk7XG4gICAgfVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItZmlsbCB7XG4gICYtLWJyYW5kIHtcbiAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWJyYW5kXCIpO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBlbHNlIEFQIGItYmFjay10by10b3AgY29tcHJvbWlzZWRcbiAgfVxuXG4gICYtLXRoZW1lMSB7XG4gICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC10aGVtZTFcIik7XG4gIH1cblxuICAmLS10aGVtZTIge1xuICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtdGhlbWUyXCIpO1xuICB9XG5cbiAgJi0tdGhlbWUzIHtcbiAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLXRoZW1lM1wiKTtcbiAgfVxuXG4gICYtLXRoZW1lNCB7XG4gICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC10aGVtZTRcIik7XG4gIH1cblxuICAmLS10aGVtZTUge1xuICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtdGhlbWU1XCIpO1xuICB9XG5cbiAgJi0tbGlnaHQge1xuICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtbGlnaHRcIik7XG4gIH1cblxuICAmLS1saWdodGVyIHtcbiAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWxpZ2h0ZXJcIik7XG4gIH1cblxuICAmLS1kYXJrIHtcbiAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWRhcmtcIik7XG5cbiAgICAmLS1uYXJyb3cge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1iZWxvdy13aWRlKSB7XG4gICAgICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtZGFya1wiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS13aWRlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmV0d2Vlbi13aWRlLWFuZC13aWRlc3QpIHtcbiAgICAgICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC1kYXJrXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXdpZGVzdCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG4gICAgICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtZGFya1wiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tb2RhbCB7XG4gICAgICAuYi1tb2RhbCAmIHtcbiAgICAgICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC1kYXJrXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXRoZW1lMSxcbiAgJi0tdGhlbWUyLFxuICAmLS1kYXJrIHtcbiAgICAuYi1ydWxlIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1kYXJrLXN0cmlwZSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4tYmxlZWQtZmlsbCgzIC8gMTIsICRpbm5lci1ibGVlZC13aWRlOiBidSgyKSwgJGlubmVyLWJsZWVkLXdpZGVzdDogYnUoMiksICRpbm5lci1ibGVlZC1mdWxsOiBidSgwKSwgJGNvbG9yOiBjb2xvcihmaWxsLWRhcmspKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyByZW5kZXIgY2hpbGQgbWFyZ2lucyBhcyBwYWRkaW5nXG4gIH1cblxuICAvLyBhcHBsaWVkIG9uIGJwLXBhZ2Utd2lkZS1hbmQtdXBcbiAgJi0tZGFyay1saWdodC1zdHJpcGUge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uLWJsZWVkLWZpbGwoMyAvIDEyLCAkaW5uZXItYmxlZWQtd2lkZTogYnUoMiksICRpbm5lci1ibGVlZC13aWRlc3Q6IGJ1KDIpLCAkaW5uZXItYmxlZWQtZnVsbDogYnUoMCksICRjb2xvcjogY29sb3IoZmlsbC1kYXJrKSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gcmVuZGVyIGNoaWxkIG1hcmdpbnMgYXMgcGFkZGluZ1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlcik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItcGljdHVyZVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gUGljdHVyZVxuLy8gXG4vLyBTZWUgRXhhbXBsZSBlbWJlZFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMzdcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIElFMTEgZG9lc24ndCBzY2FsZSBTVkcgaW1hZ2UgaGVpZ2h0c1xuLy8gd2hlbiB2aWV3Qm94LCB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgYXJlIHNwZWNpZmllZFxuLy8gYW5kIHRoZSBpbWFnZSdzIGNvbnRhaW5lciBpcyBuYXJyb3dlciB0aGFuIHRoZSBpbWFnZSB3aWR0aFxuLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vbGFycnlib3RoYS83ODgxNjkxXG5cbmltZyB7XG4gICZbc3JjJD1cIi5zdmdcIl0ge1xuICAgIHdpZHRoOiAxMDAlOyAgLy8gc2NhbGUgU1ZHIHZpZXdwb3J0IGluIElFMTFcbiAgfVxufVxuXG4uYi1waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgJl9faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmLS1vdXRsaW5lIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihydWxlLXRoaW4tbGlnaHQpO1xuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1jb250ZW50XG4vLyBcbi8vIFNlZSBhbHNvIGJhc2UvdHlwZVxuLy8gU2VlIGFsc28gaGVscGVycy90eXBlXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBDb250ZW50XG4vLyBcbi8vIEEgc2FuZGJveCBmb3IgdXNpbmcgZ2VuZXJhbCBjb250ZW50IHN0eWxlcyxcbi8vIGFzIHRoZSBnZW5lcmFsIGNvbnRlbnQgZGVzaWduc1xuLy8gd2VyZSBjb21wbGV0ZWQgYWZ0ZXIgZGV2ZWxvcG1lbnQgaGFkIHN0YXJ0ZWQuXG4vLyBcbi8vIFVzZWQgYnk6XG4vLyAtIENvbnRlbnQgYmxvY2tzIG9uIFVuZGVyc3RhbmQgcGFnZVxuLy8gLSBDb250ZW50IGJsb2NrcyBvbiBFcnJvciBwYWdlXG4vLyAtIFJIIGNvbHVtbiBvZiBIZWxwIGl0ZW0sIG9uIEhlbHAgcGFnZVxuLy8gXG4vLyBNYXJrdXA6IGItY29udGVudC5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC41XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1jb250ZW50IHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIHNwYWNlIGFmdGVyIGEgbGVhZGluZyBlbWJlZFxuICAvLyBmb3IgdW5kZXJzdGFuZCBwYWdlXG4gIC5iLWV4YW1wbGUtZW1iZWQgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiBidSg0LjYpO1xuICB9XG5cbiAgLy8gc3BhY2UgYmVmb3JlIGEgdHJhaWxpbmcgcnVsZVxuICAvLyBmb3IgdW5kZXJzdGFuZCBwYWdlXG4gICsgLmItcnVsZS0tdGhpbiB7XG4gICAgbWFyZ2luLXRvcDogYnUoNC42KTtcbiAgfVxuXG4gIC8vIHNwYWNlIGFmdGVyIGEgY29udGVudCBoZWFkZXJcbiAgLy8gZm9yIHVuZGVyc3RhbmQgcGFnZVxuICAuYi1jb250ZW50LWhlYWRlciArICYge1xuICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gID4ge1xuICAgICoge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAzKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB9XG5cbiAgICAvLyBoNCBpbmhlcml0cyBmcm9tIGJhc2VcblxuICAgIGg1IHtcbiAgICAgIC8vIGluY3JlYXNlIHRyYWlsaW5nIHNwYWNlXG4gICAgICAvLyBmb3IgdW5kZXJzdGFuZCBwYWdlXG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjQpO1xuICAgIH1cblxuICAgIGg2IHtcbiAgICAgIC8vIGRlY3JlYXNlIGxlYWRpbmcgc3BhY2VcbiAgICAgIC8vIGluY3JlYXNlIHRyYWlsaW5nIHNwYWNlXG4gICAgICAvLyBmb3IgdW5kZXJzdGFuZCBwYWdlXG4gICAgICBtYXJnaW4tdG9wOiBidSgyLjkpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS44KTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIC8vIGluY3JlYXNlIGludGVybmFsIGFuZCB0cmFpbGluZyBzcGFjZVxuICAgICAgLy8gZm9yIHVuZGVyc3RhbmQgcGFnZVxuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAvLyBpbmNyZWFzZSB0cmFpbGluZyBzcGFjZVxuICAgICAgLy8gZGVjcmVhc2Ugc3BhY2UgdG8gbWFyZ2luXG4gICAgICAvLyBmb3IgdW5kZXJzdGFuZCBwYWdlXG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjkpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGJ1KDMuOHJlbSk7XG5cbiAgICAgID4gbGkge1xuICAgICAgICAvLyBpbmNyZWFzZSBpbnRlcm5hbCBzcGFjZVxuICAgICAgICAvLyBmb3IgdW5kZXJzdGFuZCBwYWdlXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBtb3ZlIHRleHQgY2xvc2VyIHRvIG1hcmdpblxuICAgIC8vIG1vdmUgbnVtYmVyaW5nIGNsb3NlciB0byB0ZXh0XG4gICAgLy8gZm9yIHVuZGVyc3RhbmQgcGFnZVxuICAgIC8vIGNvdWxkIGJlIGdsb2JhbFxuICAgIG9sIHtcbiAgICAgIHBhZGRpbmctbGVmdDogYnUoMS41KTtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KC0uNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjkpO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLS43NSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBwLFxuICAgIC5wIHtcbiAgICAgIGEge1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAvLyBzcGFjZSBhZnRlciBhIGxlYWRpbmcgZW1iZWRcbiAgICAvLyBmb3IgdW5kZXJzdGFuZCBwYWdlXG4gICAgLmItZXhhbXBsZS1lbWJlZCArICYge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNik7XG4gICAgfVxuXG4gICAgKyAuYi1ydWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDYuOSk7XG4gICAgfVxuXG4gICAgPiB7XG4gICAgICBwLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIHAtLWNvbnRlbnQ7XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBidSg1LjIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjUpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogYnUoMy41KTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb2wge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGJ1KDUuMik7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDEpO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiBidSgzLjIpOyAvLyA1LjIgbGVzcyAycmVtIGluZGVudFxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC0zLjIpOyAvLyBtYXRjaGVzIHdpZHRoXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg1KTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDUpO1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoNCk7XG4gICAgICB9XG5cbiAgICAgIC8vIGg0IGluaGVyaXRzIGZyb20gYmFzZVxuXG4gICAgICBoNSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuOCk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMy41KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi4zKTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhlbHAgcGFnZVxuICAgIC8vIG5vdGU6IGRlc2lnbiBvbmx5IGRlbW9uc3RyYXRlcyBwYXJhZ3JhcGhzXG4gICAgJi0tc21hbGwge1xuICAgICAgPiB7XG4gICAgICAgIHAsXG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgQGluY2x1ZGUgcC0tY29udGVudC0tc21hbGw7XG5cbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1uZXh0LXN0ZXBzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBOZXh0IFN0ZXBzXG4vLyBcbi8vIE1hcmt1cDogYi1uZXh0LXN0ZXBzLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjMyXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLW5leHQtc3RlcHMge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX3JldHVybiB7XG4gICAgbWFyZ2luLXRvcDogYnUoNC40KTtcblxuICAgICZfX3ByZWZpeCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcbiAgfVxuXG4gIC5iLWd1aWRlLXRpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMSk7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSguNik7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSguNik7XG4gICAgfVxuICB9XG5cbiAgLmItcnVsZS0tdGhpY2sge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuNSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg2KTtcbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KC0xLjQpO1xuICAgIH1cblxuICAgICZfX3JldHVybiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgICZfX2d1aWRlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDQuNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjgpO1xuXG4gICAgICAuYi1ndWlkZS10aWxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLjgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSgxLjkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmItcnVsZS0tdGhpY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItaG93LXRvLXVzZS10aGUtc2l0ZVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gSG93IHRvIHVzZSB0aGUgc2l0ZVxuLy8gXG4vLyBNYXJrdXA6IGItaG93LXRvLXVzZS10aGUtc2l0ZS5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4yMFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1ob3ctdG8tdXNlLXRoZS1zaXRlIHtcblxuICBwYWRkaW5nLWJvdHRvbTogYnUoMy41KTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiBidSg0LjQpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuOCk7XG4gIH1cblxuICBhLFxuICAuYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAuYi1ydWxlIHtcbiAgICBtYXJnaW4tdG9wOiBidSgyKTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgzLjUpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlLWFuZC11cCkge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgLy8gb2Zmc2V0IC5sLTItLXBhZ2UtLWd1aWRlIGJvdHRvbSBtYXJnaW5cbiAgICBtYXJnaW4tYm90dG9tOiBidSgtMTIpO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNS40KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuOSk7XG4gICAgfVxuXG4gICAgLmItcnVsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgyLjcpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItbGluay1pY29uXG4vLyBcbi8vIFNlZSBhbHNvIGd1bHBmaWxlLmpzOiBsaW5rSWNvbigpXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBMaW5rIHdpdGggSWNvblxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMjVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1saW5rLWljb24ge1xuXG4gICZfX2ljb24ge1xuICAgIHdpZHRoOiAuN2VtO1xuICB9XG5cbiAgJl9fd29yZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAmLS1zdGFydCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcblxuICAgIC5oLWljb24tLWFycm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIH1cbiAgfVxuXG4gICYtLWVuZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG5cbiAgICAuaC1pY29uLS1hcnJvdyxcbiAgICAuaC1pY29uLS1hcnJvdy0tdXAtcmlnaHQtLWxpbmsge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItYmFjay10by10b3Bcbi8vIFxuLy8gU2VlIGFsc28gYmFjay10by10b3AuanNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEJhY2sgdG8gdG9wXG4vLyBcbi8vIE1hcmt1cDogYi1iYWNrLXRvLXRvcC5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4yXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWJhY2stdG8tdG9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoI3tidSgtMTEuOSl9IC0gMXB4KTsgLy8gdG9wIHBhZGRpbmcgb24gZm9vdGVyIC0gYnV0dG9uIGhlaWdodCAtIGJ1dHRvbiBib3JkZXJcbiAgaGVpZ2h0OiBidSg2KTsgLy8gYnV0dG9uIGhlaWdodFxuXG4gICYuaC1pcy1zdGlja3kge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xuICB9XG5cbiAgJixcbiAgJi5oLWlzLXN0aWNreSB7XG4gICAgcmlnaHQ6IGJ1KCRnLW1hcmdpbi1uYXJyb3ctYnUpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgdG9wOiBjYWxjKCN7YnUoLTExLjMgLSA2KX0gLSAxcHgpOyAvLyB0b3AgcGFkZGluZyBvbiBmb290ZXIgLSBidXR0b24gaGVpZ2h0IC0gYnV0dG9uIGJvcmRlclxuXG4gICAgJixcbiAgICAmLmgtaXMtc3RpY2t5IHtcbiAgICAgIHJpZ2h0OiBidSgkZy1tYXJnaW4td2lkZS1idSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlc3QtYW5kLXVwKSB7XG4gICAgJixcbiAgICAmLmgtaXMtc3RpY2t5IHtcbiAgICAgIHJpZ2h0OiBidSgkZy1tYXJnaW4td2lkZXN0LWJ1KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC13aWR0aC1iYWNrdG90b3Atb3V0ZGVudC1hbmQtdXApIHtcbiAgICByaWdodDogY2FsYygje2J1KC04LjUpfSAtIDFweCk7IC8vIGd1dHRlciBvZmZzZXQgLSBidXR0b24gYm9yZGVyXG5cbiAgICAmLmgtaXMtc3RpY2t5IHtcbiAgICAgIC8vIHJpZ2h0OiBjZW50ZXIgKyBoYWxmIGJ1dHRvbiB3aWR0aCAtIGhhbGYgVUkgd2lkdGggLSBndXR0ZXIgb2Zmc2V0IC0gYnV0dG9uIGJvcmRlciAtIDJcbiAgICAgIHJpZ2h0OiBjYWxjKDUwJSArICN7YnUoNi8yKX0gLSAjey41ICogcmVtKCRnLW1hcmdpbi13aWRlc3QgKyAkZy13aWR0aC13aWRlc3QgKyAkZy1tYXJnaW4td2lkZXN0KX0gLSAje2J1KDExLjMpfSAtIDFweCAtIDJweCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1maWx0ZXItbm90aWNlXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBGaWx0ZXIgbm90aWNlXG4vLyBcbi8vIE1hcmt1cDogYi1maWx0ZXItbm90aWNlLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjE0XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWZpbHRlci1ub3RpY2Uge1xuXG4gIG1hcmdpbi1ib3R0b206IGJ1KDIuNSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiBidSgxLjUpIGJ1KDEuNSkgYnUoMS41KSBidSg1KTtcbiAgfVxuXG4gIC5wLS1maWx0ZXItbm90aWNlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuaC1pY29uLS1pbmZvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBidSgxLjUpO1xuICAgIGxlZnQ6IGJ1KDEuNSk7XG4gICAgd2lkdGg6IDEuNWVtO1xuICAgIGhlaWdodDogMS41ZW07XG4gIH1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tc3RyYXRlZ3kge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIuNSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAuYi1zdHJhdGVneSArICYge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMy42KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuNik7XG4gICAgfVxuXG4gICAgJi0td2lkZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxKTtcblxuICAgICAgLmgtaWNvbi0taW5mbyB7XG4gICAgICAgIHRvcDogYnUoMS43KTtcbiAgICAgICAgbGVmdDogYnUoMik7XG4gICAgICB9XG5cbiAgICAgIC5iLWZpbHRlci1ub3RpY2VfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogYnUoMikgYnUoMS41KSBidSgxLjgpIGJ1KDUuNik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBNb2RhYWwgLSBhY2Nlc3NpYmxlIG1vZGFscyAtIHYwLjMuMVxuLy8gYnkgSHVtYWFuLCBmb3IgYWxsIGh1bWFucy5cbi8vIGh0dHA6Ly9odW1hYW4uY29tXG5cbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLXZlbmRvci1tb2RhYWxcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuJGItdmVuZG9yLW1vZGFhbC1vdmVybGF5LWZpbGw6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuJGItdmVuZG9yLW1vZGFhbC13cmFwcGVyLWZpbGw6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuJGItdmVuZG9yLW1vZGFhbC1jb250YWluZXItZmlsbDogY29sb3IoZmlsbC1saWdodGVzdCk7XG4kYi12ZW5kb3ItbW9kYWFsLWNsb3NlLWJ1dHRvbi1jb2xvcjogY29sb3IodHlwZS1kYXJrKTtcbiRiLXZlbmRvci1tb2RhYWwtbWF4LXdpZHRoOiBidSgxNTApOyAvLyAxMjAwXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIG1vZGFhbC10cmFuc2l0aW9uKCR0eXBlLCAkc3BlZWQ6IC4ycywgJGVhc2U6IGVhc2UtaW4tb3V0KSB7XG4gIHRyYW5zaXRpb246ICR0eXBlICN7JHNwZWVkfSAjeyRlYXNlfTtcbn1cblxuQG1peGluIG1vZGFhbC1oaWRldGV4dCgpIHtcbiAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbigpO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5tb2RhYWwtbm9zY3JvbGwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubW9kYWFsLWFjY2Vzc2libGUtaGlkZSB7XG4gIEBpbmNsdWRlIG1vZGFhbC1oaWRldGV4dDtcbn1cblxuLm1vZGFhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGItdmVuZG9yLW1vZGFhbC1vdmVybGF5LWZpbGwgIWltcG9ydGFudDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcbiAgb3BhY2l0eTogMDtcbn1cblxuLm1vZGFhbC13cmFwcGVyIHtcbiAgQGluY2x1ZGUgbW9kYWFsLXRyYW5zaXRpb24ob3BhY2l0eSwgLjNzKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGItdmVuZG9yLW1vZGFhbC13cmFwcGVyLWZpbGw7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAmICoge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICB9XG5cbiAgLm1vZGFhbC1jbG9zZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICB9XG5cbiAgJi5tb2RhYWwtc3RhcnRfbm9uZSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgY2xhc3MtbmFtZS1mb3JtYXRcbiAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYubW9kYWFsLXN0YXJ0X2ZhZGUgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGNsYXNzLW5hbWUtZm9ybWF0XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICYgKlt0YWJpbmRleD1cIjBcIl0ge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcbiAgfVxuXG4gIC8vIGlzIGZ1bGxzY3JlZW5cbiAgJi5tb2RhYWwtZnVsbHNjcmVlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4ubW9kYWFsLW91dGVyLXdyYXBwZXIge1xuICAvL0BleHRlbmQgJWwtb3V0ZXItY29udGFpbmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIC5tb2RhYWwtZnVsbHNjcmVlbiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4ubW9kYWFsLWlubmVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAvLyB3aGVuIGlzIGZ1bGxzY3JlZW5cbiAgLm1vZGFhbC1mdWxsc2NyZWVuICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4ubW9kYWFsLWNvbnRhaW5lciB7XG4gIC8vQGV4dGVuZCAlbC1vdXRlci1jb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6ICRiLXZlbmRvci1tb2RhYWwtbWF4LXdpZHRoO1xuICBtYXJnaW46IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRiLXZlbmRvci1tb2RhYWwtY29udGFpbmVyLWZpbGw7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGN1cnNvcjogYXV0bztcblxuICAvLyB3aGlsZSBsb2FkaW5nXG4gICYuaXNfbG9hZGluZyB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgY2xhc3MtbmFtZS1mb3JtYXRcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gd2hlbiBpcyBmdWxsc2NyZWVuXG4gIC5tb2RhYWwtZnVsbHNjcmVlbiAmIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhYWwtY2xvc2Uge1xuICBAaW5jbHVkZSBtb2RhYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGJ1KDIpO1xuICByaWdodDogYnUoMik7XG4gIHdpZHRoOiBidSg1KTtcbiAgaGVpZ2h0OiBidSg1KTtcbiAgb3BhY2l0eTogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIHNwYW4ge1xuICAgIEBpbmNsdWRlIG1vZGFhbC1oaWRldGV4dDtcbiAgfVxuXG4gIC8vIFggY2xvc2UgaWNvbiBpcyB0d28gcm90YXRlZCBsaW5lc1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBtb2RhYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2cHg7XG4gICAgbGVmdDogMTlweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICB3aWR0aDogM3B4OyAvLyBsaW5lIHdpZHRoXG4gICAgaGVpZ2h0OiBidSgzLjUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiLXZlbmRvci1tb2RhYWwtY2xvc2UtYnV0dG9uLWNvbG9yO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIH1cblxuICAubW9kYWFsLWZ1bGxzY3JlZW4gJiB7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1tb2RhbC1qc1xuLy9cbi8vIFNlZSBhbHNvIGhlbHBlcnMvbGF5b3V0XG4vLyBTZWUgYWxzbyBtb2RhYWwuanNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIE1vZGFsXG4vL1xuLy8gTWFya3VwOiBiLW1vZGFsLWpzLmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMjZcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vIGhlYWRlciAmIGZvb3RlciBoZWlnaHRzIG11c3QgdXNlIHJlbXNcbiRiLW1vZGFsLWpzLS1wcmVzZW50LWhlYWRlci1oZWlnaHQ6IGJ1KDE2LjcpO1xuJGItbW9kYWwtanMtLXByZXNlbnQtaGVhZGVyLXRyYWlsaW5nLXBhZGRpbmc6IGJ1KDEuNSk7XG4kYi1tb2RhbC1qcy0tcHJlc2VudC1mb290ZXItbGVhZGluZy1wYWRkaW5nOiBidSguOCk7XG4kYi1tb2RhbC1qcy0tcHJlc2VudC1mb290ZXItaGVpZ2h0OiBidSgxNi43KTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGItbW9kYWwtanMtLXByZXNlbnQtc3RpY2t5KCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDM7IC8vIHN0YWNrIGFib3ZlIGItdmlkZW8gYnV0dG9uXG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLW1vZGFsLWpzIHtcblxuICAvLyBhbGxvdyBBamF4IHNwaW5uZXIgb3ZlcmxheSB0byBleHRlbmQgdG8gbW9kYWwgaGVpZ2h0IGR1cmluZyBsb2FkXG4gIC5tb2RhYWwtY29udGFpbmVyLFxuICAubW9kYWFsLWNvbnRlbnQsXG4gIC5tb2RhYWwtY29udGVudC1jb250YWluZXIsXG4gIC5tb2RhYWwtY29udGVudC1jb250YWluZXIgPiAubC1hamF4LWpzIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLy8gcHJldmVudCB2ZXJ0aWNhbCBzaGlmdCB3aGVuIEFqYXggcmVzcG9uc2VzXG4gIC8vIGNoYW5nZSB0aGUgYW1vdW50IG9mIGNvbnRlbnQgaW4gdGhlIG1vZGFsXG4gIC5tb2RhYWwtaW5uZXItd3JhcHBlciB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gIC5tb2RhYWwtY29udGVudC1jb250YWluZXIge1xuICAgID4gLmwtb3V0ZXItY29udGFpbmVyIHtcbiAgICAgICYuYi1maWxsLS1saWdodCB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBwcmV2ZW50IHR5cGVhaGVhZCBkcm9wZG93biBmcm9tIGJlaW5nIGNyb3BwZWRcbiAgICAgICAgcGFkZGluZy10b3A6IDFweDsgLy8gYWx0ZXJuYXRpdmUgZml4IGZvciBiLWZpbGxcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFweDsgLy8gYWx0ZXJuYXRpdmUgZml4IGZvciBiLWZpbGxcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19mb2N1c2FibGUge1xuICAgIEBpbmNsdWRlIGgtZm9jdXNhYmxlO1xuICB9XG5cbiAgLy8gdXNlcyBiLW1vZGFsLXNsaWRlc2hvdy1qc1xuICAvLyBub3RlIHRoYXQgLmItbW9kYWwtanMtLXByZXNlbnQgY2xhc3NlcyBhcmUgYWxzbyB1c2VkIGluIGluZGl2aWR1YWwgYmxvY2tzLFxuICAvLyB0byBzZXQgdXAgY3VzdG9tIHN0eWxpbmcgd2l0aGluIGJsb2NrcyB1c2VkIGluIG1vZGFsc1xuICAmLS1wcmVzZW50IHtcbiAgICAmLm1vZGFhbC13cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtbGlnaHRcIik7XG4gICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgLm1vZGFhbC1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWxpZ2h0XCIpO1xuICAgICAgICBtYXgtd2lkdGg6IGJ1KDE0Mi41KTtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgLm1vZGFhbC1pbm5lci13cmFwcGVyIHtcbiAgICAgICAgLy8gb3ZlcnJpZGUgdGFibGUgY2VudGVyaW5nIHRvIGFjY29tbW9kYXRlIHBpbm5lZCBoZWFkZXIgYW5kIGZvb3RlclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgIC8vIGNoaWxkIHNlbGVjdG9yIGFzIHRoaXMgc2VsZWN0b3IgaXMgYWxzbyB1c2VkIG9uIHBpbm5lZCBpdGVtXG4gICAgICAgIC8vIHRvIGNvbnRyb2wgdGhlaXIgbGF5b3V0IHdoZW4gdGhleSBhcmUgdXNpbmcgcG9zaXRpb246Zml4ZWRcbiAgICAgICAgPiAubW9kYWFsLWNvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogJGItbW9kYWwtanMtLXByZXNlbnQtaGVhZGVyLWhlaWdodDsgLy8gcHVzaCBjb250ZW50IGRvd24gYmVsb3cgdGhlIHBpbm5lZCBoZWFkZXJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAjeyRiLW1vZGFsLWpzLS1wcmVzZW50LWZvb3Rlci1sZWFkaW5nLXBhZGRpbmcgKyAkYi1tb2RhbC1qcy0tcHJlc2VudC1mb290ZXItaGVpZ2h0fTsgLy8gYWxsb3cgc2Nyb2xsaW5nIHRvIHRoZSBlbmQgb2YgdGhlIGNvbnRlbnRcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9faGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC1saWdodFwiKTsgLy8gYXBwbGllcyBvdmVyZmxvdzogaGlkZGVuXG4gICAgICAgIEBpbmNsdWRlIGItbW9kYWwtanMtLXByZXNlbnQtc3RpY2t5KCk7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAkYi1tb2RhbC1qcy0tcHJlc2VudC1oZWFkZXItaGVpZ2h0O1xuICAgICAgICAvLyBzcGFjZSBiZWxvdyBydWxlICsgcnVsZSBoZWlnaHRcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRiLW1vZGFsLWpzLS1wcmVzZW50LWhlYWRlci10cmFpbGluZy1wYWRkaW5nO1xuXG4gICAgICAgIC8vIG5lc3RlZCBjb250YWluZXIgaXMgcmVxdWlyZWRcbiAgICAgICAgLy8gdG8gbWF0Y2ggbW9kYWwgbGF5b3V0XG4gICAgICAgIC8vIGFzIHRoZSBoZWFkZXIgaGFzIGZpeGVkIHBvc2l0aW9uaW5nXG4gICAgICAgID4gLm1vZGFhbC1jb250YWluZXIge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gcmV2ZWFsIHRyYWlsaW5nIHJ1bGVcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFsbG93IHRpdGxlIHRvIHB1c2ggdXAgaW50byB3aGl0ZXNwYWNlXG4gICAgICAgIC8vIGlmIGl0IGRvZXMgbm90IGZpdCBvbiBvbmUgbGluZVxuICAgICAgICAubC0yLS1tb2RhbC0taGVhZGVyLS1wcmVzZW50IHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgPiAubC0yX19jb2wgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuNSk7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjc1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gZm9vdGVyXG4gICAgICAuYi1tb2RhbC1wYWdpbmF0aW9uLWpzIHtcbiAgICAgICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC1saWdodFwiKTtcbiAgICAgICAgQGluY2x1ZGUgYi1tb2RhbC1qcy0tcHJlc2VudC1zdGlja3koKTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6ICN7JGItbW9kYWwtanMtLXByZXNlbnQtZm9vdGVyLWxlYWRpbmctcGFkZGluZyArICRiLW1vZGFsLWpzLS1wcmVzZW50LWZvb3Rlci1oZWlnaHR9O1xuICAgICAgICAvLyBzcGFjZSBhYm92ZSBydWxlXG4gICAgICAgIHBhZGRpbmctdG9wOiAkYi1tb2RhbC1qcy0tcHJlc2VudC1mb290ZXItbGVhZGluZy1wYWRkaW5nO1xuXG4gICAgICAgIC8vIG5lc3RlZCBjb250YWluZXIgaXMgcmVxdWlyZWRcbiAgICAgICAgLy8gdG8gbWF0Y2ggbW9kYWwgbGF5b3V0XG4gICAgICAgIC8vIGFzIHRoZSBoZWFkZXIgaGFzIGZpeGVkIHBvc2l0aW9uaW5nXG4gICAgICAgID4gLm1vZGFhbC1jb250YWluZXIge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sLTItLW1vZGFsLS1wYWdpbmF0aW9uLS1wcmVzZW50IHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgID4gLmwtMl9fY29sIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuMyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBub3RlOiB0aGUgc2libGluZyAubW9kYWFsLW92ZXJsYXkgaXMgbm90IHNlZW4sXG4gICAgICAvLyBhcyB0aGUgbW9kYWwgaXMgZnVsbHNpemVcbiAgICB9XG5cbiAgICAmLS1oaWRlIHtcbiAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICB9XG5cbiAgICAmLS1zaG93IHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cblxuICAmLS1uYXYtZ3VpZGUge1xuICAgICYubW9kYWFsLXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC1kYXJrXCIpO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuXG4gICAgLm1vZGFhbC1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC1kYXJrXCIpO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIHRpdGxlcyBhbmQgcG9wdXBzIHNpdCBvdXRzaWRlIGNvbnRhaW5lciAqL1xuICAgIH1cbiAgfVxuXG4gICYtLXNlYXJjaCB7XG4gICAgJi5tb2RhYWwtd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWxpZ2h0XCIpO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIC5tb2RhYWwtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBhbGxvdyB0aGUgZmlsbCB0byBibGVlZCB0aHJvdWdoXG4gICAgfVxuXG4gICAgLm1vZGFhbC1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICA+IC5sLW91dGVyLWNvbnRhaW5lciB7XG4gICAgICAgICYuYi1maWxsLS1saWdodCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IGJ1KDQuNCk7IC8vIG1hdGNoIGItc2VhcmNoLWhlYWRlclxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFhbC1pbmxpbmVfX2Nsb3NlIHtcbiAgICAgICYuYi1idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGVzdC1hbmQtdXApIHtcbiAgICAmLS1zZWFyY2gge1xuICAgICAgLm1vZGFhbC1jb250YWluZXIsXG4gICAgICAubC1vdXRlci1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IGJ1KDE1NC41KTtcbiAgICAgIH1cblxuICAgICAgLm1vZGFhbC1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgID4gLmwtb3V0ZXItY29udGFpbmVyIHtcbiAgICAgICAgICAmLmItZmlsbC0tbGlnaHQge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGJ1KDEzLjE3NSk7IC8vIG1hdGNoIGItc2VhcmNoLWhlYWRlciArIGxpbmUtaGVpZ2h0XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1uby1yZXN1bHRzLW1lc3NhZ2Vcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIE5vIHJlc3VsdHMgbWVzc2FnZVxuLy8gXG4vLyBNYXJrdXA6IGItbm8tcmVzdWx0cy1tZXNzYWdlLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjM0XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1uby1yZXN1bHRzLW1lc3NhZ2Uge1xuICAmX19zb3JyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNS41KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJl9fc29ycnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMyk7XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1zZWFyY2ggJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDkuNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC0yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLXNlYXJjaC1maWVsZFxuLy8gXG4vLyBTZWUgYWxzbyBiLXNlYXJjaC1maWVsZC0tdHlwZWFoZWFkXG4vLyBTZWUgYWxzbyBjdC10eXBlYWhlYWQtYnVuZGxlLmpzXG4vLyBTZWUgYWxzbyB0eXBlYWhlYWQtYWpheC5qc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gU2VhcmNoIGZpZWxkXG4vLyBcbi8vIE1hcmt1cDogYi1zZWFyY2gtZmllbGQuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuNDJcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG4kYi1zZWFyY2gtZmllbGQtYm9yZGVyLWNvbG9yOiBjb2xvcihydWxlLXRoaW4tbGlnaHQpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXNlYXJjaC1maWVsZCB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9faW5wdXQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9faW5wdXQtbGFiZWwge1xuICAgIG1hcmdpbjogMCBidSgyKSAwIDA7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtc2Vjb25kYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6IGNvbG9yKHR5cGUpO1xuICB9XG5cbiAgJl9faW5wdXQge1xuICAgICZbdHlwZT10ZXh0XSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBidSg5KTsgLy8gc3BhY2UgZm9yIHN1Ym1pdCBidXR0b25cbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRiLXNlYXJjaC1maWVsZC1ib3JkZXItY29sb3I7XG4gICAgICAvLyBOZWVkZWQgdG8gb3ZlcmlkZSBzb21lIHNwZWNpZmljIGZvcm0gc3R5bGVzXG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pbXBvcnRhbnRcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIC8vIG9mZnNldCAxcHggdGhpY2tlciBib3JkZXJcbiAgICAgICAgcGFkZGluZy10b3A6IGJ1KDEuMzc1KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGJ1KDEuMzc1KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBidSgxLjg3NSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcmVzZXQge1xuICAgIC5qcy1lbmFibGVkICYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICByaWdodDogYnUoNyk7IC8vIGxlYXZlIHNwYWNlIGZvciBzZWFyY2ggYnV0dG9uXG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7IC8vIGhlaWdodCBsZXNzIGJvcmRlclxuICAgICAgcGFkZGluZy1yaWdodDogYnUoMS41KTtcbiAgICAgIHBhZGRpbmctbGVmdDogYnUoMS41KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAuYi1idXR0b25fX2ljb24td3JhcC0tYWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gaGlkaW5nIGNsYXNzIGlzIGFwcGxpZWQgYnkgc2NyaXB0XG4gICAgICAvLyBidXQgY2xhc2hlZCB3aXRoIGJ1dHRvbiBkaXNwbGF5IHJ1bGVcbiAgICAgIC8vIChuby1pbXBvcnRhbnQpXG4gICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zdWJtaXQge1xuICAgICZbdHlwZT1zdWJtaXRdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IGJ1KDcpO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IobGluayk7XG4gICAgICB0ZXh0LWluZGVudDogLTEwMDAwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fc3VibWl0LWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGJ1KDIpO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjVlbTtcbiAgICBoZWlnaHQ6IDEuNWVtO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0taGFzLXJlc2V0IHtcbiAgICAje20tbmVzdCgpfV9faW5wdXQge1xuICAgICAgcGFkZGluZy1yaWdodDogYnUoMTMpOyAvLyBzcGFjZSBmb3IgY2xlYXIgYW5kIHN1Ym1pdCBidXR0b25zXG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdyhcImZsZXgtc3RhcnRcIik7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gICAgJl9faW5wdXQtbGFiZWwge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgyKTtcbiAgICB9XG5cbiAgICAmX19pbnB1dC13cmFwcGVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAmX19pbnB1dCB7XG4gICAgICAmW3R5cGU9dGV4dF0ge1xuICAgICAgICBAaW5jbHVkZSBwLS1zZWFyY2gtaW5wdXQ7XG4gICAgICAgIHBhZGRpbmc6IGJ1KDIuNTUpIGJ1KDEyKSBidSgyLjcpIGJ1KDIuOSk7IC8vIFJIUyBpcyBzcGFjZSBmb3Igc3VibWl0IGJ1dHRvblxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIC8vIG9mZnNldCAxcHggdGhpY2tlciBib3JkZXJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogYnUoMi41NSAtIC4xMjUpO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBidSgyLjcgLSAuMTI1KTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGJ1KDIuOSAtIC4xMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fcmVzZXQge1xuICAgICAgLmpzLWVuYWJsZWQgJiB7XG4gICAgICAgIHJpZ2h0OiBidSgxMCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDIpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGJ1KDIpO1xuXG4gICAgICAgIC5iLWJ1dHRvbl9faWNvbi13cmFwIHtcbiAgICAgICAgICB3aWR0aDogYnUoMy41KTtcbiAgICAgICAgICBoZWlnaHQ6IGJ1KDMuNSk7XG5cbiAgICAgICAgICAuYi1idXR0b25fX2ljb24ge1xuICAgICAgICAgICAgdG9wOiAuMjVlbTtcbiAgICAgICAgICAgIHdpZHRoOiAuNzVlbTtcbiAgICAgICAgICAgIGhlaWdodDogLjc1ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VibWl0IHtcbiAgICAgICZbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogYnUoNSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogYnUoNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VibWl0LWljb24ge1xuICAgICAgcmlnaHQ6IGJ1KDMuMSk7XG4gICAgICB3aWR0aDogMmVtO1xuICAgICAgaGVpZ2h0OiAyZW07XG4gICAgfVxuXG4gICAgJi0tbGFyZ2Uge1xuICAgICAgI3ttLW5lc3QoKX1fX2lucHV0IHtcbiAgICAgICAgJlt0eXBlPXRleHRdIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogYnUoMyk7XG5cbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogYnUoMywgLTEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fc3VibWl0LWljb24ge1xuICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1oYXMtcmVzZXQge1xuICAgICAgI3ttLW5lc3QoKX1fX2lucHV0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogYnUoMTcuNCk7IC8vIHNwYWNlIGZvciBjbGVhciBhbmQgc3VibWl0IGJ1dHRvbnNcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLXNlYXJjaC1maWVsZFxuLy8gXG4vLyBTZWUgYWxzbyBjdC10eXBlYWhlYWQtYnVuZGxlLmpzXG4vLyBTZWUgYWxzbyB0eXBlYWhlYWQtYWpheC5qc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZy1jb2xvci1ibHVlMDM6IGNvbG9yKHR5cGUpO1xuJGctY29sb3ItYmx1ZTA0OiBjb2xvcih0eXBlKTtcbiRnLWNvbG9yLWJsdWUwNzogY29sb3IodHlwZSk7XG4kZy1jb2xvci1ibHVlbGlnaHQ6IGNvbG9yKGxpbmspO1xuJGItc2VhcmNoZmllbGQtdHlwZWFoZWFkLWZvY3VzLWJvcmRlci1jb2xvcjogY29sb3IobGluayk7XG4kZy1jb2xvci1ncmV5bGlnaHQ6IGNvbG9yKHR5cGUpO1xuJGctY29sb3ItZ3JleTA4OiBjb2xvcih0eXBlKTtcbiRnLWNvbG9yLXR5cGU6IGNvbG9yKHR5cGUpO1xuJGctY29sb3Itd2hpdGU6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG4vLyBUeXBlYWhlYWRcbi5iLXR0LWpzIHtcblxuICAmX19sYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICAvLyBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG5cbiAgJl9faW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGctY29sb3ItYmx1ZTAzO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkYi1zZWFyY2hmaWVsZC10eXBlYWhlYWQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuXG4gICAgICAuanMtd2FpLW91dGxpbmUgJiB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IC8vIGJvcmRlciByZXBsYWNlcyBvdXRsaW5lIGhlcmVcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgJjotbW96LXBsYWNlaG9sZGVyIHsgLy8gRmlyZWZveCAxOC1cbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOjotbW96LXBsYWNlaG9sZGVyIHsgIC8vIEZpcmVmb3ggMTkrXG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faGludCB7XG4gICAgY29sb3I6ICRnLWNvbG9yLWdyZXlsaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJl9fZGF0YXNldCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIH1cbiAgfVxuXG4gICZfX21lbnUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDM2MHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZzogMCBidSgyKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYi1zZWFyY2hmaWVsZC10eXBlYWhlYWQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRiLXNlYXJjaGZpZWxkLXR5cGVhaGVhZC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgYmFja2dyb3VuZDogJGctY29sb3Itd2hpdGU7XG5cbiAgICAmLS1pbnB1dCB7XG4gICAgICBwYWRkaW5nOiBidSgxKSAwO1xuXG4gICAgICAuYi10dC1qc19fY2F0ZWdvcnksXG4gICAgICAuYi10dC1qc19fc3ViY2F0ZWdvcnkge1xuICAgICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgICB9XG5cbiAgICAgIC5iLXR0LWpzX19hbmNob3Ige1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbGVmdCB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJl9fc3VnZ2VzdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmLS1wYWRkZWQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBBUFxuICAgICAgcGFkZGluZzogYnUoMikgYnUoMi41KSBidSgyLjI1KTtcblxuICAgICAgJi5iLXJ1bGUge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiBidSgtMi41KTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogYnUoLTIuNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAmLmItcnVsZSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY3Vyc29yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gIH1cblxuICAmX19oaWdobGlnaHQge1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBTdWdnZXN0aW9uIHR5cGUgc3R5bGVzXG5cbiAgJl9fY2F0ZWdvcnkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgcGFkZGluZzogYnUoMS41KSAwO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkZy1jb2xvci1ibHVlMDM7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRnLWNvbG9yLWJsdWUwMztcbiAgICBtYXJnaW46IDAgMCBidSgxLjUpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICRnLWNvbG9yLWdyZXkwODtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogMjAwO1xuICAgIH1cblxuICAgICsgLmItdHQtanNfX3N1YmNhdGVnb3J5IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAmX19zdWJjYXRlZ29yeSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBwYWRkaW5nOiBidSgxLjUpIDAgMDtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggJGctY29sb3ItYmx1ZTAzO1xuICAgIG1hcmdpbjogMCAwIGJ1KC41KSBidSgzKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkZy1jb2xvci1ncmV5MDg7XG4gIH1cblxuICAmX19hbmNob3Ige1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG4gICAgcGFkZGluZzogYnUoLjUpIGJ1KDIpIGJ1KC41KSBidSgzKTtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiBidSgwKSAwO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJi1zZWxlY3RlZCB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICRnLWNvbG9yLXR5cGU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNSk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAvLyBiYWNrZ3JvdW5kOiBsaWdodGVuKCRnLWNvbG9yLWJsdWUwMywgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICZfX2VtcHR5LW1lc3NhZ2Uge1xuICAgIHBhZGRpbmc6IGJ1KDEpIGJ1KDIpO1xuICB9XG5cbiAgJl9fbG9hZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIHJpZ2h0OiA0MHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGxpbmVhcjtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZGRkO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwOWNkZTtcbiAgICB9XG4gIH1cblxuICAvLyBCZWxvdyBpcyBhZGRlZCBieSBsaWJyYXJ5IHNvIG5lZWRzIHRvIGJlIHRhcmdldHRlZCBzcGVjaWZpY2FsbHlcblxuICAudHdpdHRlci10eXBlYWhlYWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYnUoMTIpO1xuICAgICAgcmlnaHQ6IGJ1KDE4KTtcbiAgICAgIC8vIHN1cHByZXNzIGRvd24gYXJyb3cgdGhhdCBhcHBlYXJzIGJlZm9yZSB0aGUgdHlwZWFoZWFkIGlzIGludGVyYWN0ZWQgd2l0aFxuICAgICAgQGluY2x1ZGUgaC1oaWRlOyAvLyBpbmxpbmUtYmxvY2s7IFxuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcblxuICAgICAgLy9lbmNvZGUgc3ZnIFVSSSB3aXRoIDogaHR0cHM6Ly9jb2RlcGVuLmlvL3lva3NlbC9kZXRhaWxzL0pEcXZzXG4gICAgICAvLyA8c3ZnIGZpbGw9XCJyZ2IoMTY1LDE2NSwxNjUpXCIgdmVyc2lvbj1cIjEuMVwiIGlkPVwiTGF5ZXJfMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiIHZpZXdCb3g9XCIwIDAgMjAgMjFcIiBzdHlsZT1cImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMjE7XCIgeG1sOnNwYWNlPVwicHJlc2VydmVcIj48cG9seWxpbmUgcG9pbnRzPVwiMTAuMSwxNi4xIDUuNiwxMSAxLjEsNiAxMC4xLDYgMTkuMiw2IFwiLz48L3N2Zz5cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjBmaWxsJTNEJTIycmdiJTI4MTY1JTJDMTY1JTJDMTY1JTI5JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMGlkJTNEJTIyTGF5ZXJfMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzE5OTkveGxpbmslMjIlMjB4JTNEJTIyMHB4JTIyJTIweSUzRCUyMjBweCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjElMjIlMjBzdHlsZSUzRCUyMmVuYWJsZS1iYWNrZ3JvdW5kJTNBbmV3JTIwMCUyMDAlMjAyMCUyMDIxJTNCJTIyJTIweG1sJTNBc3BhY2UlM0QlMjJwcmVzZXJ2ZSUyMiUzRSUzQ3BvbHlsaW5lJTIwcG9pbnRzJTNEJTIyMTAuMSUyQzE2LjElMjA1LjYlMkMxMSUyMDEuMSUyQzYlMjAxMC4xJTJDNiUyMDE5LjIlMkM2JTIwJTIyLyUzRSUzQy9zdmclM0UnKTtcblxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBsaW5lYXIgLjJzO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tZnVsbHdpZHRoIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgLy8gLnR3aXR0ZXItdHlwZWFoZWFkIHtcbiAgICAvLyAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAvLyB9XG5cbiAgICAje20tbmVzdCgpfV9fbGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IGJ1KDIpIDAgYnUoMS41KTtcbiAgICB9XG4gIH1cblxuICAudmlzdWFsbHloaWRkZW4ge1xuICAgIC8vIEBleHRlbmQgJWgtdmlzdWFsbHloaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJl9fbWVudSB7XG4gICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC13aWRlLWFuZC11cCkge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICZfX2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiByZW0oMTQwKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvLyBSZXF1aXJlZCB0byBmaXggSUUxMCBmbGV4Ym94IGJ1Z1xuICAgIC50d2l0dGVyLXR5cGVhaGVhZCB7XG4gICAgICBmbGV4LXNocmluazogMTtcbiAgICB9XG5cbiAgICAmX19tZW51IHtcbiAgICAgIG1heC1oZWlnaHQ6IDY2MHB4OyAvLyAxMHggSW5jbHVzaXZlIHJlc3VsdHNcbiAgICAgIHBhZGRpbmc6IDAgYnUoNSk7XG5cbiAgICAgICYtLWlucHV0IHtcbiAgICAgICAgcGFkZGluZzogYnUoMSkgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gc2Fzcy1saW50OmVuYWJsZS1hbGxcbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWV4YW1wbGVcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEV4YW1wbGVcbi8vXG4vLyBNYXJrdXA6IGItZXhhbXBsZS5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4xMDBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG4kYi1leGFtcGxlLWJnLWNvbG9yOiAjZjJmMmYyO1xuJGItZXhhbXBsZS10ZXh0LWNvbG9yOiAjMDAwO1xuJGItZXhhbXBsZS10ZXh0LWNvbG9yLWFsdDogIzU1NTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1leGFtcGxlIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHBhZGRpbmc6IGJ1KDMpO1xuICBiYWNrZ3JvdW5kOiAkYi1leGFtcGxlLWJnLWNvbG9yO1xuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IGJ1KDIwMCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSg1KTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgY29sb3I6ICRiLWV4YW1wbGUtdGV4dC1jb2xvcjtcbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBvcGFjaXR5OiAuODtcbiAgfVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1zbWFsbCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuXG4gICYtLWxhcmdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1pcy1hY3RpdmUge1xuICAgIGNvbG9yOiAkYi1leGFtcGxlLXRleHQtY29sb3ItYWx0O1xuICB9XG5cbiAgJi0taXMtbG9hZGVkIHtcbiAgICBjb2xvcjogJGItZXhhbXBsZS10ZXh0LWNvbG9yLWFsdDtcbiAgfVxuXG4gICYtLWlzLWxvYWRpbmcge1xuICAgIGNvbG9yOiAkYi1leGFtcGxlLXRleHQtY29sb3ItYWx0O1xuICB9XG5cbiAgJi0taXMtdmlzaWJsZSB7XG4gICAgY29sb3I6ICRiLWV4YW1wbGUtdGV4dC1jb2xvci1hbHQ7XG4gIH1cblxuICAmLS1pcy1kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRiLWV4YW1wbGUtdGV4dC1jb2xvci1hbHQ7XG4gIH1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICY6aG92ZXIge1xuICAgIC8vIEFuIGlubGluZSBjb21tZW50IHdvdWxkIGxvb2sgbGlrZSB0aGlzXG4gICAgY29sb3I6ICRiLWV4YW1wbGUtdGV4dC1jb2xvci1hbHQ7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRiLWV4YW1wbGUtdGV4dC1jb2xvci1hbHQ7XG4gIH1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICAvLyBAaW5jbHVkZSBtZWRpYSgkZy1icC1uYXJyb3ctYW5kLXVwKSB7fVxuXG4gIC8vIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXdpZGUtYW5kLXVwKSB7fVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIHRraS01NjgyLWhlYWRlclxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gVEtJIEJhclxuLy8gXG4vLyBNYXJrdXA6IGItdGtpLWJhci5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC41NFxuXG4vLyBDU1MgaW5jbHVkZWQgZnJvbSBodHRwOi8vaW5jbHVzaXZlLnRraS5vcmcubnovXG5cbiN0a2ktNTY4Mi1oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAwIG5vbmU7XG5cbiAgbGk6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbiN0a2ktNTY4Mi1mb290ZXIge1xuICBsaTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWJ1dHRvblxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gQnV0dG9uXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4zXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAkYnV0dG9uLWJ1LXdpZHRoLFxuICAkaWNvbi1lbS13aWR0aCxcbiAgJGljb24tZW0tdi1vZmZzZXQsXG4gICRib3JkZXItYnUtd2lkdGhcbikge1xuXG4gIC8vIC5iLWJ1dHRvbl9faWNvbi13cmFwXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gYWxpZ24gd2l0aCBzaWJsaW5nIF9fY29udGVudFxuICB3aWR0aDogYnUoJGJ1dHRvbi1idS13aWR0aCk7XG4gIGhlaWdodDogYnUoJGJ1dHRvbi1idS13aWR0aCk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogYnUoJGJvcmRlci1idS13aWR0aCkgc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IGJ1KCRidXR0b24tYnUtd2lkdGgpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAvLyAuYi1idXR0b25fX2ljb24td3JhcCA+IC5iLWJ1dHRvbl9faWNvblxuICAuYi1idXR0b25fX2ljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6ICN7JGljb24tZW0tdi1vZmZzZXR9ZW07XG4gICAgd2lkdGg6ICN7JGljb24tZW0td2lkdGh9ZW07XG4gICAgaGVpZ2h0OiAjeyRpY29uLWVtLXdpZHRofWVtO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItYnV0dG9uIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGNvbG9yKHR5cGUpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2UsIGJvcmRlciAuMnMgZWFzZSwgY29sb3IgLjJzIGVhc2U7XG5cbiAgLy8gd2hlbiB0aGUgdHlwZSBzdHlsaW5nIGlzIGFwcGxpZWQgdG8gdGhlIHBhcmVudCBlbGVtZW50XG4gIC8vIGluaGVyaXQgaXRcbiAgQGF0LXJvb3Qge1xuICAgIFtjbGFzc149XCJwLS1cIl0sXG4gICAgW2NsYXNzKj1cIiBwLS1cIl0ge1xuICAgICAgPiAuYi1idXR0b24ge1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtcbiAgLy9cbiAgLy8gTWFya3VwOiBiLWJ1dHRvbi0tbGluay5odG1sXG4gIC8vXG4gIC8vIFN0eWxlZ3VpZGU6IDEwMC4zLjFcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmItYnV0dG9uLmFcbiAgJi5hIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogY29sb3IobGluayk7XG5cbiAgICAmLS11bmRlcmxpbmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXM6IFN0cmV0Y2ggKHRvIGNvbnRhaW5lcilcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmItYnV0dG9uLS1zdHJldGNoXG4gICYtLXN0cmV0Y2gge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlczogSWNvbiAoTmF2IEV4cGFuZClcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmItYnV0dG9uLS1pY29uXG4gICYtLWljb24ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlczogSWNvbiBDaXJjbGUgKFNoYXJlKSAtLysgVGV4dFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlXG4gICYtLWljb24tY2lyY2xlIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICBAaW5jbHVkZSBiLWJ1dHRvbi1pY29uLWNpcmNsZShcbiAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogNSxcbiAgICAgICAgJGljb24tZW0td2lkdGg6IDEuNSxcbiAgICAgICAgJGljb24tZW0tdi1vZmZzZXQ6IC4zLFxuICAgICAgICAkYm9yZGVyLWJ1LXdpZHRoOiAuMzc1XG4gICAgICApO1xuXG4gICAgICAvLyAtLWJlZm9yZSBpcyB0aGUgZGVmYXVsdFxuICAgICAgJi0tYmVmb3JlICsgLmItYnV0dG9uX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KDEuNSk7XG4gICAgICB9XG5cbiAgICAgICYtLWFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KDEuNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3ttLW5lc3QoKX1fX2NvbnRlbnQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gYWxpZ24gd2l0aCBzaWJsaW5nIF9faWNvbi13cmFwXG4gICAgICBjb2xvcjogY29sb3IobGluayk7XG5cbiAgICAgIC8vIHByZXZlbnQgaGlkZGVuIGNvbnRlbnQgZnJvbSBpbnRyb2R1Y2luZyBhbnkgd2hpdGVzcGFjZVxuICAgICAgJi5oLXZpc3VhbGx5aGlkZGVuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHNpemUgJiBjb2xvciB2YXJpYXRpb25zXG4gICAgLy8gKCRidXR0b24tYnUtd2lkdGgsICRpY29uLWVtLXdpZHRoLCAkaWNvbi1lbS12LW9mZnNldCwgJGJvcmRlci1idS13aWR0aCkgXG5cbiAgICAvLyBJY29uIENpcmNsZVxuICAgIC8vXG4gICAgLy8gU3R5bGVndWlkZTogMTAwLjMuMlxuXG5cbiAgICAvLyBJY29uIENpcmNsZTogRG93bmxvYWRcbiAgICAvL1xuICAgIC8vIE1hcmt1cDogYi1idXR0b24tLWljb24tY2lyY2xlLS1kb3dubG9hZC5odG1sXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy4yLjFcblxuICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLWRvd25sb2FkXG4gICAgJi0tZG93bmxvYWQge1xuICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAgICRidXR0b24tYnUtd2lkdGg6IDUsXG4gICAgICAgICAgJGljb24tZW0td2lkdGg6IDEuMDUsXG4gICAgICAgICAgJGljb24tZW0tdi1vZmZzZXQ6IC41LFxuICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IC4zNzVcbiAgICAgICAgKTtcblxuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmaWxsLWxpZ2h0ZXN0KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgfVxuXG4gICAgICAmLmItYnV0dG9uLS1pY29uLWNpcmNsZSB7IC8vIHNwZWNpZmljaXR5IG92ZXJyaWRlXG4gICAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gQ2lyY2xlOiBPdXRsaW5lXG4gICAgLy9cbiAgICAvLyBNYXJrdXA6IGItYnV0dG9uLS1pY29uLWNpcmNsZS0tb3V0bGluZS5odG1sXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy4yLjJcblxuICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLW91dGxpbmVcbiAgICAmLS1vdXRsaW5lIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgY29sb3I6IGNvbG9yKHR5cGUpO1xuXG4gICAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICN7bS1uZXN0KCl9X19jb250ZW50IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IGJ1KC4xMjUpIHNvbGlkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUtZGlzYWJsZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgI3ttLW5lc3QoKX1fX2NvbnRlbnQge1xuICAgICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWRpc2FibGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gQ2lyY2xlOiBTbWFsbFxuICAgIC8vIFxuICAgIC8vIFdvcmtzIGJlc3Qgd2hlbiB3cmFwcGVkIGluIC5wLS1uYXYtcHJpbWFyeSAtIHNlZSAuYi1uYXYtcHJpbWFyeVxuICAgIC8vXG4gICAgLy8gTWFya3VwOiBiLWJ1dHRvbi0taWNvbi1jaXJjbGUtLXNtYWxsLmh0bWxcbiAgICAvL1xuICAgIC8vIFN0eWxlZ3VpZGU6IDEwMC4zLjIuM1xuXG4gICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tc21hbGxcbiAgICAmLS1zbWFsbCB7XG5cbiAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSBiLWJ1dHRvbi1pY29uLWNpcmNsZShcbiAgICAgICAgICAkYnV0dG9uLWJ1LXdpZHRoOiAzLFxuICAgICAgICAgICRpY29uLWVtLXdpZHRoOiAxLFxuICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAuMSxcbiAgICAgICAgICAkYm9yZGVyLWJ1LXdpZHRoOiAwXG4gICAgICAgICk7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IodHlwZSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG5cbiAgICAgICAgJi0tYWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSguNjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fY29udGVudCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICAgIH1cblxuICAgICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tc21hbGwtLWNsb3NlXG4gICAgICAmLS1jbG9zZSB7XG4gICAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogMyxcbiAgICAgICAgICAgICRpY29uLWVtLXdpZHRoOiAuNjUsXG4gICAgICAgICAgICAkaWNvbi1lbS12LW9mZnNldDogLS4yNSxcbiAgICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IDBcbiAgICAgICAgICApO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSguMjVyZW0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLXNtYWxsLS1yZXNldFxuICAgICAgJi0tcmVzZXQge1xuICAgICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgICBAaW5jbHVkZSBiLWJ1dHRvbi1pY29uLWNpcmNsZShcbiAgICAgICAgICAgICRidXR0b24tYnUtd2lkdGg6IDMsXG4gICAgICAgICAgICAkaWNvbi1lbS13aWR0aDogLjY1LFxuICAgICAgICAgICAgJGljb24tZW0tdi1vZmZzZXQ6IC4wNSxcbiAgICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IDBcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1taWQpO1xuICAgICAgICAgIGNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlLS1zbWFsbC0tc2VhcmNoXG4gICAgICAmLS1zZWFyY2gge1xuICAgICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgICBAaW5jbHVkZSBiLWJ1dHRvbi1pY29uLWNpcmNsZShcbiAgICAgICAgICAgICRidXR0b24tYnUtd2lkdGg6IDMsXG4gICAgICAgICAgICAkaWNvbi1lbS13aWR0aDogLjksXG4gICAgICAgICAgICAkaWNvbi1lbS12LW9mZnNldDogLS4xLFxuICAgICAgICAgICAgJGJvcmRlci1idS13aWR0aDogMFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIENpcmNsZTogU3VjY2Vzc1xuICAgIC8vXG4gICAgLy8gTWFya3VwOiBiLWJ1dHRvbi0taWNvbi1jaXJjbGUtLXN1Y2Nlc3MuaHRtbFxuICAgIC8vXG4gICAgLy8gU3R5bGVndWlkZTogMTAwLjMuMi40XG5cbiAgICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlLS1zdWNjZXNzXG4gICAgJi0tc3VjY2VzcyB7XG4gICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihzdWNjZXNzKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc3VjY2Vzcyk7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzOiBQaWxsIChEb3dubG9hZCBldGMpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5iLWJ1dHRvbi0tcGlsbFxuICAmLS1waWxsIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAwKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogYnUoLjgpIGJ1KDEpIGJ1KC42KTsgLy8gMS43IGNsZWFycyB0aGUgY3VydmUsIGJ1dCAxIHByZXZlbnRzIHdyYXAgYXQgMTAyNHB4XG4gICAgYm9yZGVyOiBidSguMjUpIHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IGJ1KDIuNSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAmLS1iZWZvcmUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IC8vIGlubGluZS1ibG9ja1xuICAgICAgfVxuXG4gICAgICAmLS1hZnRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBidSguMzI1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9faWNvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0uMWVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IC0uMmVtO1xuICAgICAgd2lkdGg6IC44NWVtO1xuICAgICAgaGVpZ2h0OiAuODVlbTtcbiAgICB9XG5cbiAgICAuaC1pY29uIHtcbiAgICAgICYtLWFycm93LS11cC1yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtLjE1ZW07XG4gICAgICAgIHdpZHRoOiAuNzVlbTtcbiAgICAgICAgaGVpZ2h0OiAuNzVlbTtcbiAgICAgIH1cblxuICAgICAgJi0tZnVsbHNjcmVlbiB7XG4gICAgICAgIHdpZHRoOiAuOWVtO1xuICAgICAgICBoZWlnaHQ6IC45ZW07XG4gICAgICB9XG5cbiAgICAgICYtLXByaW50IHtcbiAgICAgICAgd2lkdGg6IC45ZW07XG4gICAgICAgIGhlaWdodDogLjllbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIGZvciBjb25zaXN0ZW5jeSB3aXRoIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGVcbiAgICB9XG5cbiAgICAvLyAuYi1idXR0b24tLXBpbGwgKyAuYi1idXR0b25fX2luZm9cbiAgICArICN7bS1uZXN0KCl9X19pbmZvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogYnUoMSk7XG4gICAgICBjb2xvcjogY29sb3IobGluayk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gUGlsbFxuICAgIC8vXG4gICAgLy8gU3R5bGVndWlkZTogMTAwLjMuM1xuXG4gICAgLy8gUGlsbDogUHJpbWFyeVxuICAgIC8vXG4gICAgLy8gTWFya3VwOiBiLWJ1dHRvbi0tcGlsbC0tcHJpbWFyeS5odG1sXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy4zLjFcblxuICAgIC8vIC5iLWJ1dHRvbi0tcGlsbC0tcHJpbWFyeVxuICAgICYtLXByaW1hcnkge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuXG4gICAgICAmLmwtYWpheC1qcy0taW5saW5lLWxvYWRpbmcge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjb2xvcihsaW5rKTsgLy8gb3ZlcnJpZGUgY3VycmVudENvbG9yIGdsb2JhbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgJjpub3QoLmwtYWpheC1qcy0taW5saW5lLWxvYWRpbmcpIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICB9XG5cbiAgICAgIC5sLTItLXJlc291cmNlLWNvbnRlbnQgJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDEuMSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogYnUoMS4xKTtcblxuICAgICAgICAuaC1pY29uLS1iZWZvcmUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFBpbGw6IE91dGxpbmVcbiAgICAvL1xuICAgIC8vIE1hcmt1cDogYi1idXR0b24tLXBpbGwtLW91dGxpbmUuaHRtbFxuICAgIC8vXG4gICAgLy8gU3R5bGVndWlkZTogMTAwLjMuMy4yXG5cbiAgICAvLyAuYi1idXR0b24tLXBpbGwtLW91dGxpbmVcbiAgICAmLS1vdXRsaW5lIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICBjb2xvcjogY29sb3IobGluayk7XG5cbiAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5iLWJ1dHRvbi0tcGlsbC0tbGFyZ2VcbiAgICAmLS1sYXJnZSB7XG4gICAgICBwYWRkaW5nOiBidSgxLjQpIGJ1KDIuNCkgYnUoMS4xKTtcblxuICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYnUoLjcyNSk7XG4gICAgICB9XG5cbiAgICAgIC5iLWJ1dHRvbl9faWNvbiB7XG4gICAgICAgIHRvcDogLS4xNWVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5iLWJ1dHRvbi0tcGlsbC0tc21hbGxcbiAgICAmLS1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICAgIHBhZGRpbmc6IGJ1KC44KSBidSgyLjEpIGJ1KC43KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyKTtcblxuICAgICAgI3ttLW5lc3QoKX1fX2ljb24ge1xuICAgICAgICB0b3A6IC0uMDVlbTtcbiAgICAgICAgd2lkdGg6IC45NWVtO1xuICAgICAgICBoZWlnaHQ6IC45NWVtO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgJi0tYmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KC4xKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXM6IEljb24gUmVjdGFuZ2xlIChCcm93c2UgZ3VpZGUpXG4gIC8vIE5hcnJvdyBvbmx5XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5iLWJ1dHRvbi0tcmVjdGFuZ2xlXG4gICYtLXJlY3RhbmdsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTMwcHgsIC0xKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogYnUoLjEyNSkgYnUoMS4xMjUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IGJ1KC4zNzUpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMuNSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICYtLWJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYnUoLjM3NSk7XG4gICAgICB9XG5cbiAgICAgICYtLWFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC4zNzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19pY29uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLS4xNWVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IC0uMmVtO1xuICAgICAgd2lkdGg6IC44NWVtO1xuICAgICAgaGVpZ2h0OiAuODVlbTtcbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIGZvciBjb25zaXN0ZW5jeSB3aXRoIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGVcbiAgICB9XG5cbiAgICAvLyBSZWN0YW5nbGVcbiAgICAvL1xuICAgIC8vIFN0eWxlZ3VpZGU6IDEwMC4zLjRcblxuICAgIC8vIFJlY3RhbmdsZTogT3V0bGluZVxuICAgIC8vXG4gICAgLy8gTWFya3VwOiBiLWJ1dHRvbi0tcmVjdGFuZ2xlLS1vdXRsaW5lLmh0bWxcbiAgICAvL1xuICAgIC8vIFN0eWxlZ3VpZGU6IDEwMC4zLjQuMVxuXG4gICAgLy8gLmItYnV0dG9uLS1yZWN0YW5nbGUtLW91dGxpbmVcbiAgICAmLS1vdXRsaW5lIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3IocnVsZS10aGluLWxpZ2h0KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgY29sb3I6IGNvbG9yKHR5cGUpO1xuXG4gICAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IodHlwZSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodHlwZSk7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVjdGFuZ2xlOiBPdXRsaW5lIC8gTGFyZ2VcbiAgICAvL1xuICAgIC8vIE1hcmt1cDogYi1idXR0b24tLXJlY3RhbmdsZS0tb3V0bGluZS0tbGFyZ2UuaHRtbFxuICAgIC8vXG4gICAgLy8gU3R5bGVndWlkZTogMTAwLjMuNC4yXG5cbiAgICAvLyAuYi1idXR0b24tLXJlY3RhbmdsZS0tb3V0bGluZS1sYXJnZVxuICAgICYtLW91dGxpbmUtbGFyZ2Uge1xuICAgICAgcGFkZGluZzogMCBidSgzLjYyNSk7IC8vIHRleHQgbGluZSBoZWlnaHQgZGljdGF0ZXMgYnV0dG9uIGhlaWdodFxuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogY29sb3IobGluayk7XG5cbiAgICAgICYuYS0tdmlzaXRlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IobGluay12aXNpdGVkKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKGxpbmstdmlzaXRlZCk7XG4gICAgICB9XG5cbiAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYS0tdmlzaXRlZCB7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmstdmlzaXRlZCk7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IobGluay12aXNpdGVkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzOiBTcXVhcmUgKEJhY2sgdG8gdG9wKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAuYi1idXR0b24tLXNxdWFyZVxuICAmLS1zcXVhcmUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTIpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiBidSguOCkgYnUoMS4yNSk7XG4gICAgYm9yZGVyOiBidSguMTI1KSBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IGJ1KC4zNzUpIGJ1KC4zNzUpIDAgMDtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICYtLWJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC40NzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNxdWFyZVxuICAgIC8vXG4gICAgLy8gU3R5bGVndWlkZTogMTAwLjMuNVxuXG4gICAgLy8gU3F1YXJlOiBPdXRsaW5lXG4gICAgLy9cbiAgICAvLyBNYXJrdXA6IGItYnV0dG9uLS1zcXVhcmUtLW91dGxpbmUuaHRtbFxuICAgIC8vXG4gICAgLy8gU3R5bGVndWlkZTogMTAwLjMuNS4xXG5cbiAgICAvLyAuYi1idXR0b24tLXNxdWFyZS0tb3V0bGluZVxuICAgICYtLW91dGxpbmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihydWxlLXRoaW4tbGlnaHQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICBjb2xvcjogY29sb3IodHlwZSk7XG5cbiAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgICAgICBjb2xvcjogY29sb3IobGluayk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmVsb3ctd2lkZWlzaCkge1xuICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGVcbiAgICAmLS1pY29uLWNpcmNsZSB7XG4gICAgICAmLS1zbWFsbCB7XG4gICAgICAgICN7bS1uZXN0KCl9X19jb250ZW50IHtcbiAgICAgICAgICAvLyBwcmV2ZW50IGhpZGRlbiBjb250ZW50IGZyb20gaW50cm9kdWNpbmcgYW55IHdoaXRlc3BhY2VcbiAgICAgICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBuZXN0aW5nLWRlcHRoXG4gICAgICAgICAgJi5oLXZpc3VhbGx5aGlkZGVuLS1wYWdlLWJlbG93LXdpZGVpc2gge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICArIC5iLWJ1dHRvbl9faWNvbi13cmFwLS1hZnRlciB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIC8vICRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXBcbiAgICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlXG4gICAgJi0taWNvbi1jaXJjbGUge1xuICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAgICRidXR0b24tYnUtd2lkdGg6IDQsXG4gICAgICAgICAgJGljb24tZW0td2lkdGg6IDEuMixcbiAgICAgICAgICAkaWNvbi1lbS12LW9mZnNldDogLjI1LFxuICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IC4yNVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyAkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwXG4gICAgICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlLS1vdXRsaW5lXG4gICAgICAmLS1vdXRsaW5lIHtcbiAgICAgICAgQGF0LXJvb3QgLmItc2hhcmUtYW5kLW91dHB1dC1idXR0b25zLS1tb2RhbC0tcHJlc2VudCB7XG4gICAgICAgICAgLmItYnV0dG9uX19pY29uLXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgICAgICRidXR0b24tYnUtd2lkdGg6IDYsXG4gICAgICAgICAgICAgICRpY29uLWVtLXdpZHRoOiAxLjcsXG4gICAgICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAuMzUsXG4gICAgICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IC40NVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJY29uIENpcmNsZTogT3V0bGluZSArIENsb3NlIChNZWRpdW0gJiBVcClcbiAgICAgICAgLy9cbiAgICAgICAgLy8gTWFya3VwOiBiLWJ1dHRvbi0taWNvbi1jaXJjbGUtLW91dGxpbmUtLWNsb3NlLmh0bWxcbiAgICAgICAgLy9cbiAgICAgICAgLy8gU3R5bGVndWlkZTogMTAwLjMuMi41XG5cbiAgICAgICAgLy8gJGctYnAtY29udGVudC13aWRlLWFuZC11cFxuICAgICAgICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlLS1vdXRsaW5lLS1jbG9zZVxuICAgICAgICAmLS1jbG9zZSB7XG4gICAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgICBAYXQtcm9vdCB7XG4gICAgICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAgICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogNC43NSxcbiAgICAgICAgICAgICAgICAgICRpY29uLWVtLXdpZHRoOiAxLFxuICAgICAgICAgICAgICAgICAgJGljb24tZW0tdi1vZmZzZXQ6IC41NSxcbiAgICAgICAgICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IC4xMjVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWNvbiBDaXJjbGU6IE91dGxpbmUgKyBUaGluIChNZWRpdW0gJiBVcClcbiAgICAgICAgLy9cbiAgICAgICAgLy8gTWFya3VwOiBiLWJ1dHRvbi0taWNvbi1jaXJjbGUtLW91dGxpbmUtLXRoaW4uaHRtbFxuICAgICAgICAvL1xuICAgICAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy4yLjZcblxuICAgICAgICAvLyAkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwXG4gICAgICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLW91dGxpbmUtLXRoaW5cbiAgICAgICAgJi0tdGhpbiB7XG4gICAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgICBAYXQtcm9vdCB7XG4gICAgICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgICAgIC8vIGJpZ2dlciBpY29uXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgICAgICAgICAkYnV0dG9uLWJ1LXdpZHRoOiA0Ljc1LFxuICAgICAgICAgICAgICAgICAgJGljb24tZW0td2lkdGg6IDEuMixcbiAgICAgICAgICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAuNTUsXG4gICAgICAgICAgICAgICAgICAkYm9yZGVyLWJ1LXdpZHRoOiAuMTI1XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICN7bS1uZXN0KCl9X19jb250ZW50IHtcbiAgICAgICAgICAgIEBhdC1yb290IHtcbiAgICAgICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICAgICAgLy8gYWxpZ24gdGV4dCB3aXRoIGJpZ2dlciBidXR0b25cbiAgICAgICAgICAgICAgICB0b3A6IC40NWVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vICRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXBcbiAgICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLXNtYWxsXG4gICAgICAmLS1zbWFsbCB7XG4gICAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogMy41LFxuICAgICAgICAgICAgJGljb24tZW0td2lkdGg6IDEsXG4gICAgICAgICAgICAkaWNvbi1lbS12LW9mZnNldDogLjIsXG4gICAgICAgICAgICAkYm9yZGVyLWJ1LXdpZHRoOiAwXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXBcbiAgICAgICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tc21hbGwtLWNsb3NlXG4gICAgICAgICYtLWNsb3NlIHtcbiAgICAgICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAgICAgICAkYnV0dG9uLWJ1LXdpZHRoOiAzLjUsXG4gICAgICAgICAgICAgICRpY29uLWVtLXdpZHRoOiAuNTUsXG4gICAgICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAtLjIsXG4gICAgICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gJGctYnAtY29udGVudC13aWRlLWFuZC11cFxuICAgICAgICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlLS1zbWFsbC0tcmVzZXRcbiAgICAgICAgJi0tcmVzZXQge1xuICAgICAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAgICAgLy8gc2FtZSBhcyBuYXJyb3cgYnBcbiAgICAgICAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAgICAgICAkYnV0dG9uLWJ1LXdpZHRoOiAzLFxuICAgICAgICAgICAgICAkaWNvbi1lbS13aWR0aDogLjY1LFxuICAgICAgICAgICAgICAkaWNvbi1lbS12LW9mZnNldDogLjA1LFxuICAgICAgICAgICAgICAkYm9yZGVyLWJ1LXdpZHRoOiAwXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vICRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXBcbiAgICAgICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tc21hbGwtLXNlYXJjaFxuICAgICAgICAmLS1zZWFyY2gge1xuICAgICAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgICAgICRidXR0b24tYnUtd2lkdGg6IDMuNSxcbiAgICAgICAgICAgICAgJGljb24tZW0td2lkdGg6IC42LFxuICAgICAgICAgICAgICAkaWNvbi1lbS12LW9mZnNldDogLS4yLFxuICAgICAgICAgICAgICAkYm9yZGVyLWJ1LXdpZHRoOiAwXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vICRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXBcbiAgICAvLyAuYi1idXR0b24tLXBpbGxcbiAgICAmLS1waWxsIHtcbiAgICAgIC8vIC5iLWJ1dHRvbi0tcGlsbCArIC5iLWJ1dHRvbl9faW5mb1xuICAgICAgKyAuYi1idXR0b25fX2luZm8ge1xuICAgICAgICAmLmItYnV0dG9uX19pbmZvLS1pbmxpbmUge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLjkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgICBwYWRkaW5nOiBidSgxKSBidSg0LjQpIGJ1KDEuMikgYnUoMy43KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogYnUoNyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSg0KTtcblxuICAgICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgICAmLS1iZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7bS1uZXN0KCl9X19pY29uIHtcbiAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1wYWdpbmF0aW9uXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBQYWdpbmF0aW9uIChBamF4KVxuLy8gXG4vLyBNYXJrdXA6IGItcGFnaW5hdGlvbi5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4zNlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXBhZ2luYXRpb24ge1xuICBtYXJnaW4tdG9wOiBidSgzKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAmX19idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBtYXJnaW4tdG9wOiBidSg3KTtcblxuICAgICZfX2J1dHRvbiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWFsZXJ0XG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBBbGVydFxuLy8gXG4vLyBBbGVydCBtZXNzYWdlIHdoaWNoIGFwcGVhcnMgYmVmb3JlIHRoZSBwYWdlIGNvbnRlbnQuXG4vL1xuLy8gTWFya3VwOiBiLWFsZXJ0Lmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjFcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG4kYi1hbGVydC1iZy1jb2xvci0tbm9qczogY29sb3IobWFyayk7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItYWxlcnQge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcGFkZGluZzogYnUoMik7XG4gIG1hcmdpbi10b3A6IGJ1KDMuMjUpO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGJ1KC4zNzUpO1xuICAgIG1hcmdpbi1sZWZ0OiBidSguMjUpO1xuICB9XG5cbiAgLy8gc2luZ2xlIHBhcmFncmFwaFxuICAmX19hbGVydCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1ub2pzIHtcbiAgICBiYWNrZ3JvdW5kOiAkYi1hbGVydC1iZy1jb2xvci0tbm9qcztcbiAgfVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiBidSgyLjM3NSkgYnUoMikgYnUoMi41KSBidSg4LjM1KTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDgpO1xuXG4gICAgJl9faWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGJ1KDIuOCk7XG4gICAgICBsZWZ0OiBidSgyLjcpO1xuICAgICAgd2lkdGg6IDEuNGVtO1xuICAgICAgaGVpZ2h0OiAxLjRlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItc2tpcC1saW5rc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gU2tpcCBMaW5rc1xuLy8gXG4vLyBNYXJrdXA6IGItc2tpcC1saW5rcy5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC40OFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiLXNraXAtbGluay1iYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih0eXBlKTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1za2lwLWxpbmtzIHtcblxuICAmX19hbmNob3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgcGFkZGluZzogYnUoMSk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogY29sb3IodHlwZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRleSgtNDBweCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRnLWFuaW0taG92ZXIgZWFzZS1vdXQsIGJhY2tncm91bmQgJGctYW5pbS1ob3ZlciBsaW5lYXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiLXNraXAtbGluay1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGV5KDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItc3VnZ2VzdGlvblxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gU3VnZ2VzdGlvblxuLy8gXG4vLyBNYXJrdXA6IGItc3VnZ2VzdGlvbi5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC41MFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1zdWdnZXN0aW9uIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLW5leHQtc3RlcHMge1xuICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgyLjIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS45KTtcbiAgICB9XG4gIH1cblxuICAmLS1zdHJhdGVneSB7XG4gICAgLy8gZHluYW1pY2FsbHkgYWRkZWQgYnkgY29udGVudC1maWx0ZXIuanNcbiAgICAmLmgtZmlyc3QtdmlzaWJsZSB7XG4gICAgICAuYi1ydWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMi41KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC41KTtcblxuICAgICAgLy8gaWYgbm8gX19pbmNsdWRlc1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9faW5jbHVkZXMge1xuICAgICAgbWFyZ2luLXRvcDogYnUoLjcpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcblxuICAgICAgKiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLnAtLWluY2x1ZGVzIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSguMik7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IC4xNGVtO1xuICAgICAgICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgICAgICAgZm9udC1zaXplOiBidSg0KTtcbiAgICAgICAgICBjb2xvcjogY29sb3IocnVsZS10aGluLWxpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJi0tbmV4dC1zdGVwcyB7XG5cbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDIuNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNik7XG5cbiAgICAgICAgJl9fY3VycmVudCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoLjIpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC4zKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLXN0cmF0ZWd5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNyk7XG5cbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDIuNyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC44KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3N1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMi41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBAaW5jbHVkZSBtZWRpYSgkZy1icC13aWRlLWFuZC11cCkge31cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWtub3dsZWRnZS1zbGlkZVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gS25vd2xlZGdlIFNsaWRlXG4vL1xuLy8gTWFya3VwOiBiLWtub3dsZWRnZS1zbGlkZS5odG1sXG4vL1xuLy8gU3R5bGVndWlkZTogMTAwLjIzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWtub3dsZWRnZS1zbGlkZSB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBwYWRkaW5nLXRvcDogYnUoNy40KTtcblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBzdWJzZXF1ZW50IHNsaWRlc1xuICAuYi1leGFtcGxlLXNsaWRlICsgJixcbiAgLmIta25vd2xlZGdlLXNsaWRlICsgJiB7XG4gICAgcGFkZGluZy10b3A6IGJ1KDguNSk7XG4gIH1cblxuICAmX19pbnRybyB7XG4gICAgLmItcnVsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgzLjMpO1xuICAgIH1cbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uICB7XG4gICAgbWFyZ2luLXRvcDogYnUoMik7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcblxuICAgIC8vIHRpdGxlcyBpbiBzdWJzZXF1ZW50IHNsaWRlc1xuICAgIC5iLWV4YW1wbGUtc2xpZGUgKyAuYi1leGFtcGxlLXNsaWRlICYsXG4gICAgLmIta25vd2xlZGdlLXNsaWRlICsgLmItZXhhbXBsZS1zbGlkZSAmIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNyk7XG4gICAgfVxuICB9XG5cbiAgLmItZXhhbXBsZS1lbWJlZCB7XG4gICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5iLXJlc291cmNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyLjkpO1xuICB9XG5cbiAgLy8gZ3JpZFxuICAubC0yLS1zbGlkZSB7XG5cbiAgICA+IC5sLTJfX2NvbCB7XG4gICAgICAmLFxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy42MjUpO1xuICAgICAgfVxuXG4gICAgICAvLyByZW1vdmUgbWFyZ2lucyBmcm9tIHRvcCBhbmQgYm90dG9tIG9mIGNvbnRlbnRcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHAge1xuICAgICAgLy8gY2FuJ3Qgc2F0aXNmeSBib3RoIGZvcmNlLXBzZXVkby1uZXN0aW5nIGFuZCBuZXN0aW5nLWRlcHRoXG4gICAgICAmOm5vdCguYi1rbm93bGVkZ2Utc2xpZGVfX3NvdXJjZSkge1xuICAgICAgICAmOm5vdCguYi1wcm9jZXNzLWxpc3RfX3JlcGVhdHMpIHtcbiAgICAgICAgICAmOm5vdChbY2xhc3NePVwiYi1yZXNvdXJjZV9fXCJdKSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbmVzdGluZy1kZXB0aFxuICAgICAgICAgICAgJjpub3QoW2NsYXNzKj1cIiBiLXJlc291cmNlX19cIl0pIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuZXN0aW5nLWRlcHRoXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHAtLXNsaWRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm5vdChbY2xhc3NdKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIGJ1KDIpO1xuICAgICAgfVxuXG4gICAgICBhOm5vdChbY2xhc3NdKSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgb2wge1xuICAgICAgPiBsaSB7XG4gICAgICAgIEBpbmNsdWRlIHAtLXNsaWRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGRpdiB7XG4gICAgICAmOm5vdCguYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnNfX3NoYXJlKSB7XG4gICAgICAgID4gdWwge1xuICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgcC0tc2xpZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbjogMCAwIGJ1KDEuMyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAje2UtbmVzdCgpfV9fc291cmNlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuOSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgtLjcpO1xuICAgIH1cblxuICAgICN7ZS1uZXN0KCl9X19saXN0IHtcbiAgICAgICsgcCB7XG4gICAgICAgICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSgyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICN7ZS1uZXN0KCl9X19saXN0LS1wcm9jZXNzIHtcbiAgICAgICsgcCB7XG4gICAgICAgICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSgzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICN7ZS1uZXN0KCl9X19saXN0LS1wcm9jZXNzICsgI3tlLW5lc3QoKX1fX3NvdXJjZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgzLjgpO1xuICAgIH1cblxuICAgICN7ZS1uZXN0KCl9X19saXN0LS1wcm9jZXNzLXJlcGVhdGluZyB7XG4gICAgICArIHAge1xuICAgICAgICAmOm5vdChbY2xhc3NdKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAje2UtbmVzdCgpfV9fbGlzdC0tcHJvY2Vzcy1yZXBlYXRpbmcgKyAje2UtbmVzdCgpfV9fc291cmNlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMuNyk7IC8vIGdhcCBhZnRlciAnUmVwZWF0cycgdGV4dCBiYXNlbGluZVxuICAgIH1cblxuICAgICN7ZS1uZXN0KCl9X19saXN0LS1xdWVzdGlvbnMge1xuICAgICAgKyBwIHtcbiAgICAgICAgJjpub3QoW2NsYXNzXSkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmItbGluay0tZXh0ZXJuYWwge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2Fycm93LS11cC1yaWdodC5zdmdcIik7XG5cbiAgICAgICYsXG4gICAgICAmIC5hIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmItcmVzb3VyY2Uge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMi41KTtcblxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxKTtcbiAgICAgIH1cblxuICAgICAgJl9fcHVibGlzaGVyLFxuICAgICAgJl9fcmVhZC10aW1lLFxuICAgICAgJl9fY29zdCB7XG4gICAgICAgIG1hcmdpbjogYnUoLjcpIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbGlzdCB7XG4gICAgLy8gc2l0IGZsdXNoIHdpdGggYm90dG9tIG9mXG4gICAgLy8gdmVydGljYWwgZGl2aWRlclxuICAgIC8vIGF0IGRlc2t0b3Agd2lkdGhcbiAgICAvLyBpZiBubyB0cmFpbGluZyAnc291cmNlJ1xuICAgIC8vIGFsc28gYXBwbGllZCBhdCBuYXJyb3cgd2lkdGhcbiAgICAvLyB0byBlbnN1cmUgdGhhdCB0cmFpbGluZyBlbGVtZW50cyBoYXZlXG4gICAgLy8gY29ycmVjdCB0b3AgbWFyZ2luXG4gICAgPiBvbCxcbiAgICA+IHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZbZGF0YS1iLW1vZGFsLXNsaWRlc2hvdy1qcy1zbGlkZV0ge1xuICAgIEBpbmNsdWRlIGgtZm9jdXNhYmxlKCk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIHBhZGRpbmctdG9wOiBidSgxMCk7XG5cbiAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgICZfX2tub3dsZWRnZSB7XG4gICAgICAvLyBhbGwgY29udGVudCBleGNlcHQgdGFibGVzIHVzZXMgdGhlIHR3byBjb2x1bW4gZm9ybWF0XG4gICAgICAvLyBpbiBwYWdlIGFuZCBtb2RhbCB2aWV3XG4gICAgICAmLmwtMi0tc2xpZGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSg0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy42KTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi40KTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmwtMl9fY29sIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICAgIC8vIHRhYmxlcyB1c2UgdGhlIHR3byBjb2x1bW4gZm9ybWF0IGluIGlucGFnZSB2aWV3XG4gICAgICAvLyBhbmQgdGhlIHdpZGUgdHdvIHJvdyBmb3JtYXQgaW4gbW9kYWwgdmlld1xuICAgICAgJi5sLTItLXNsaWRlLS1wcmVzZW50LXdpZGUge1xuICAgICAgICAuYi1rbm93bGVkZ2Utc2xpZGVfX2ludHJvZHVjdGlvbiB7XG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBidSg0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmItbW9kYWwtanNfX2hlYWRlciArIC5sLTItLXNsaWRlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoLS45KTtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faW50cm9kdWN0aW9uIHtcbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgtLjQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgJi0tcHJvY2VzcyxcbiAgICAgICYtLXByb2Nlc3MtcmVwZWF0aW5nLFxuICAgICAgJi0tcXVlc3Rpb25zIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KDEpOyAvLyBpbnRlcm5hbCBndXR0ZXIgYWZ0ZXIgdmVydGljYWwgcnVsZVxuXG4gICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgIH4gLmIta25vd2xlZGdlLXNsaWRlX19zb3VyY2Uge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KDEpOyAvLyBpbnRlcm5hbCBndXR0ZXIgYWZ0ZXIgdmVydGljYWwgcnVsZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIH4gLmIta25vd2xlZGdlLXNsaWRlX19zaGFyZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoMSk7IC8vIGludGVybmFsIGd1dHRlciBhZnRlciB2ZXJ0aWNhbCBydWxlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLXByb2Nlc3Mge1xuICAgICAgICArIHAge1xuICAgICAgICAgICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1xdWVzdGlvbnMge1xuICAgICAgICArIHAge1xuICAgICAgICAgICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHN1YnNlcXVlbnQgc2xpZGVzXG4gICAgLmItZXhhbXBsZS1zbGlkZSArICYsXG4gICAgLmIta25vd2xlZGdlLXNsaWRlICsgJiB7XG4gICAgICBwYWRkaW5nLXRvcDogYnUoMTEuOSk7XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gdGl0bGVzIGluIHN1YnNlcXVlbnQgc2xpZGVzXG4gICAgICAuYi1rbm93bGVkZ2Utc2xpZGVfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLS41KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNi42KTtcblxuICAgICAgICBAYXQtcm9vdCAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1leGFtcGxlLWVtYmVkLFxuICAgIC5iLXJlc291cmNlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLmItcmVzb3VyY2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNS44KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBidSgxKTsgLy8gaW50ZXJuYWwgZ3V0dGVyIGFmdGVyIHZlcnRpY2FsIHJ1bGVcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDkuNik7XG5cbiAgICAgICAgJixcbiAgICAgICAgKyAuYi1rbm93bGVkZ2Utc2xpZGVfX3NoYXJlIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoMik7IC8vIGludGVybmFsIGd1dHRlciBhZnRlciB2ZXJ0aWNhbCBydWxlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICN7ZS1uZXN0KCl9X19zb3VyY2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLS4zKTtcbiAgICAgIH1cblxuICAgICAgLy8gdW5saWtlIHRoZSBvdGhlciBsaXN0IHR5cGVzXG4gICAgICAvLyB0aGUgYm90dG9tIG9mIHRoZSBwcm9jZXNzIGxpc3QgY29udGFpbmVyXG4gICAgICAvLyBkb2VzIG5vdCBoYXZlIGEgdHJhaWxpbmcgbGluZSBoZWlnaHRcbiAgICAgICN7ZS1uZXN0KCl9X19saXN0LS1wcm9jZXNzICsgI3tlLW5lc3QoKX1fX3NvdXJjZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDIuOSk7XG4gICAgICB9XG5cbiAgICAgICN7ZS1uZXN0KCl9X19saXN0LS1wcm9jZXNzLXJlcGVhdGluZyArICN7ZS1uZXN0KCl9X19zb3VyY2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyLjgpOyAvLyBnYXAgYWZ0ZXIgJ1JlcGVhdHMnIHRleHQgYmFzZWxpbmVcblxuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICAmOm5vdChbY2xhc3NdKSB7IC8vIFBsYWluIGNvbnRlbnRcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSgyLjkpO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgYnUoMik7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5oLWxpc3QtLWNoZWNrIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG9sIHtcbiAgICAgICAgJi5oLWxpc3QtLW51bWJlcmVkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHAgKyAuYi1rbm93bGVkZ2Utc2xpZGVfX2xpc3Qge1xuICAgICAgICA+IHVsIHtcbiAgICAgICAgICAmOm5vdChbY2xhc3NdKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItbmV4dC1zdGVwcy1hbmQtaG93LXRvLXVzZS10aGUtc2l0ZVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gTmV4dCBTdGVwcyAmIEhvdyB0byB1c2UgdGhlIHNpdGVcbi8vIFxuLy8gTWFya3VwOiBiLW5leHQtc3RlcHMtYW5kLWhvdy10by11c2UtdGhlLXNpdGUuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMzNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItbmV4dC1zdGVwcy1hbmQtaG93LXRvLXVzZS10aGUtc2l0ZSB7XG4gIHBhZGRpbmctcmlnaHQ6IGJ1KCRnLW1hcmdpbi1uYXJyb3ctYnUpO1xuICBwYWRkaW5nLWxlZnQ6IGJ1KCRnLW1hcmdpbi1uYXJyb3ctYnUpO1xuICBtYXJnaW46IGJ1KDQpIGJ1KC0kZy1tYXJnaW4tbmFycm93LWJ1KSAwO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlLWFuZC11cCkge1xuICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDMuMzc1KTtcbiAgICBwYWRkaW5nLWxlZnQ6IGJ1KDMuMzc1KTtcbiAgICBtYXJnaW46IGJ1KDYpIGJ1KC0zLjM3NSkgYnUoLTEyKTsgLy8gb2Zmc2V0IC5sLTItLXBhZ2UtLWd1aWRlIGJvdHRvbSBtYXJnaW5cblxuICAgIC5iLWhvdy10by11c2UtdGhlLXNpdGUge1xuICAgICAgLy8gb2Zmc2V0IGhhbmRsZWQgYnkgcGFyZW50IGJsb2NrXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZXN0LWFuZC11cCkge1xuICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDMuNjI1KTtcbiAgICBwYWRkaW5nLWxlZnQ6IGJ1KDMuNjI1KTtcbiAgICBtYXJnaW46IGJ1KDYpIGJ1KC0zLjYyNSkgYnUoLTEyKTsgLy8gb2Zmc2V0IC5sLTItLXBhZ2UtLWd1aWRlIGJvdHRvbSBtYXJnaW5cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItZ3VpZGUtdGlsZVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gR3VpZGUgVGlsZVxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTdcblxuLy8gR3VpZGUgVGlsZSAtIEZlYXR1cmVkXG4vLyBcbi8vIEd1aWRlIChOYXJyb3cgMiBjb2wsIFdpZGUgMiBjb2wpXG4vLyBcbi8vIE1hcmt1cDogYi1ndWlkZS10aWxlLS1mZWF0dXJlZC5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4xNy4xXG5cbi8vIEd1aWRlIFRpbGUgLSBGZWF0dXJlZCAvIE5leHQgU3RlcHNcbi8vIFxuLy8gR3VpZGUgKE5hcnJvdyAyIGNvbCwgV2lkZSAyIGNvbClcbi8vIFxuLy8gTWFya3VwOiBiLWd1aWRlLXRpbGUtLWZlYXR1cmVkLS1uZXh0LXN0ZXBzLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjE3LjJcblxuLy8gR3VpZGUgVGlsZSAtIEZlYXR1cmVkIC8gVGFsbFxuLy8gXG4vLyBIb21lIChOYXJyb3cgMiBjb2wsIFdpZGUgMSBjb2wpXG4vLyBcbi8vIE1hcmt1cDogYi1ndWlkZS10aWxlLS1mZWF0dXJlZC0tdGFsbC5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4xNy4zXG5cbi8vIEd1aWRlIFRpbGUgLSBMaXN0aW5nXG4vLyBcbi8vIEhvbWUgKE5hcnJvdyAyIGNvbCwgV2lkZSAzIGNvbClcbi8vIFxuLy8gTWFya3VwOiBiLWd1aWRlLXRpbGUtLWxpc3RpbmcuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTcuNFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1ndWlkZS10aWxlIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIG1hcmdpbi1ib3R0b206IGJ1KDEpO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX190aXRsZSB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgLy8gd3JhcCB0ZXh0XG4gICAgfVxuXG4gICAgLmItdGFnIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgaW1nIHsgLy8gMTA0eDExMlxuICAgICAgd2lkdGg6IDEwMCU7IC8vIGJ1KDEzKTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxuXG4gIC5sLTMgJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5sLTItLWd1aWRlLXRpbGUtLWxpc3RpbmdfX2lubmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICA+IC5sLTJfX2NvbCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1mZWF0dXJlZC0tdGFsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMSk7XG4gIH1cblxuICAmLS1uZXh0LXN0ZXBzIHtcbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LWJlbG93LXdpZGUpIHtcbiAgICAmX19pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgLmItdGFnIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG5cbiAgICAgIC5sLTMtLWd1aWRlLXRpbGVzICYge1xuICAgICAgICAuYi10YWcge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mZWF0dXJlZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjUpO1xuXG4gICAgICAje20tbmVzdCgpfV9faW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDQuMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNCk7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X190ZWFzZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyLjQpO1xuICAgICAgfVxuXG4gICAgICAvLyB0ZXh0IG9ycGhhblxuICAgICAgKyAucC0tYnJvd3NlLWFsbC1ndWlkZXMge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSg2LjIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBsYXN0IGVsZW1lbnQgaW4gY29sdW1uXG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tZmVhdHVyZWQtLXRhbGwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBBUCBmb3IgUmVhZCBtb3JlIGxpbmtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBidSgzLjUpOyAvLyBzcGFjZSBmb3IgQVAgUmVhZCBtb3JlIGxpbmtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNSk7XG5cbiAgICAgICN7bS1uZXN0KCl9X19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MC42JTtcbiAgICAgICAgbWFyZ2luOiBidSgyLjkpIGJ1KDMuNCkgYnUoMS42KTtcbiAgICAgIH1cblxuICAgICAgLmItcnVsZS0tbmFycm93IHtcbiAgICAgICAgbWFyZ2luOiBidSgxLjUpIGJ1KDMuNCkgYnUoMi4yKTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3RlYXNlciB7XG4gICAgICAgIG1heC13aWR0aDogNzAuNiU7XG4gICAgICAgIG1hcmdpbjogYnUoMi4xKSBidSgzLjQpIGJ1KDIuOSk7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19zdHJhdGVnaWVzLWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMCBidSgzKSBidSgzLjUpIGJ1KDMuNCk7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuaC1pY29uIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiBidSgtLjIpO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxLjJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuMmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbGlzdGluZyB7XG4gICAgICAje20tbmVzdCgpfV9faW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fdGVhc2VyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoNC40KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3N0cmF0ZWdpZXMtbGluayB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItY29udGVudC1yZXZlYWxcbi8vIFxuLy8gU2VlIGFsc28gYi1oaWRlLXNob3dcbi8vIFNlZSBhbHNvIGhpZGUtc2hvdy5qc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gQ29udGVudCByZXZlYWxcbi8vIFxuLy8gTWFya3VwOiBiLWNvbnRlbnQtcmV2ZWFsLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjdcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi5iLWNvbnRlbnQtcmV2ZWFsIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICsgLmItY29udGVudC1yZXZlYWwge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9faGVhZGVyIHtcbiAgICAvLyBAZXh0ZW5kIGgzICFvcHRpb25hbDtcbiAgICAvLyBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgLy8gbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgIC8vIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgLy8gY29sb3I6ICRiLWNvbnRlbnQtcmV2ZWFsLWxpbmstY29sb3I7XG5cbiAgICBidXR0b24ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IodHlwZSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgICBjb2xvcjogY29sb3IodHlwZSk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAje2UtbmVzdCgpfV9faWNvbiB7XG4gICAgICAgICYuaC1pY29uLS1jaGV2cm9uIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAvLyBwb2ludCBkb3duXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5pcy1vcGVuZWQge1xuXG4gICAgICAgICN7ZS1uZXN0KCl9X19pY29uIHtcbiAgICAgICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBuZXN0aW5nLWRlcHRoXG4gICAgICAgICAgJi5oLWljb24tLWNoZXZyb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IC8vIHBvaW50IHVwXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5oLWljb24tLXRyaWFuZ2xlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyAvLyBwb2ludCB1cFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiBidSgzKTtcblxuICAgIG9sIHtcbiAgICAgIHBhZGRpbmctbGVmdDogYnUoMy43NSk7IC8vIGRvbid0IGNyb3AgcHJldGVlbiBkaWdpdHMgaW4gU2FmYXJpXG4gICAgfVxuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgd2lkdGg6IC42NWVtO1xuICAgIGhlaWdodDogLjY1ZW07XG4gICAgLy8gdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gICAgLy8gdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xcyBsaW5lYXI7XG5cbiAgICAuanMtZW5hYmxlZCAmIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICAvLyBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgLy8gbGluZS1oZWlnaHQ6IGJ1KDQpO1xuXG4gICAgICBidXR0b24ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBidSg3LjUpO1xuICAgICAgfVxuXG4gICAgICBAYXQtcm9vdCAuanMtZGlzYWJsZWQgJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBidSgzKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGJ1KDMpO1xuICAgICAgfVxuXG4gICAgICBAYXQtcm9vdCAuanMtZW5hYmxlZCAmIGJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBidSgzKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGJ1KDMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItdGFnXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBUYWdcbi8vIFxuLy8gVGFncyBhcmUgaGlkZGVuIG9uIG5hcnJvdyB2aWV3cG9ydHMuXG4vLyBcbi8vIE1hcmt1cDogYi10YWcuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuNTJcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItdGFnIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIGJsb2NrIHdyYXBwZXIgcHJvdmlkZXMgZGlzcGxheSBjb250cm9sXG4gIC8vIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBmaWxsXG5cbiAgZGlzcGxheTogYmxvY2s7IC8vIHBsYWNlIG9uIGEgbmV3IGxpbmVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmc6IDAgYnUoMSk7XG4gICAgYm9yZGVyLXJhZGl1czogYnUoMS4yNSk7XG4gICAgY29sb3I6IGNvbG9yKHR5cGUpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1uZXcge1xuICAgICN7bS1uZXN0KCl9X19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtdGhlbWU0KTtcbiAgICB9XG4gIH1cblxuICAmLS1wb3B1bGFyIHtcbiAgICAje20tbmVzdCgpfV9fY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmaWxsLXRoZW1lMyk7XG4gICAgfVxuICB9XG5cbiAgJi0tdXBkYXRlZCB7XG4gICAgI3ttLW5lc3QoKX1fX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC10YWcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItbm90ZS1qc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gTm90ZVxuLy8gXG4vLyBNYXJrdXA6IGItbm90ZS1qcy5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4zNVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1ub3RlLWpzIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogYnUoMy41KSBidSgzLjI1KSBidSgxLjM3NSkgYnUoMik7XG5cbiAgJi5oLWdsb2JhbC1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IGJ1KDQuOCk7XG4gIH1cblxuICAmX19jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogYnUoLjY1KTtcbiAgICByaWdodDogYnUoLjgpO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiBidSgxKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgIC5oLWljb24ge1xuICAgICAgd2lkdGg6IC43NWVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19ub3RlIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBwYWRkaW5nLXRvcDogYnUoMS40KTtcblxuICAgICYuaC1nbG9iYWwtbWFyZ2luIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDUuNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1ndWlkZS1saXN0LXNlYXJjaC1hbmQtZmlsdGVyXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBHdWlkZSBTZWFyY2ggTGlzdCBhbmQgRmlsdGVyXG4vLyBcbi8vIE1hcmt1cDogYi1ndWlkZS1saXN0LXNlYXJjaC1hbmQtZmlsdGVyLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjE2XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1ndWlkZS1saXN0LXNlYXJjaC1hbmQtZmlsdGVyIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBmaWVsZHNldCBjb250YWluaW5nIHRoZSBmaWx0ZXIgcmFkaW9zXG4gICZfX2ZpZWxkc2V0IHtcbiAgICBib3JkZXItYm90dG9tOiBidSguMTI1KSBzb2xpZCBjb2xvcih0eXBlLWRhcmspO1xuICB9XG5cbiAgJl9fcmVzdWx0cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMy41KTtcbiAgfVxuXG4gICZfX3NvcnRieSB7XG4gICAgLnAtLXNvcnQtYnkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5wLS1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5iLXNlYXJjaC1maWVsZCB7XG4gICAgbWFyZ2luLXRvcDogYnUoLS43KTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgzKTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tZ3VpZGUge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIHNpdCBmbHVzaCB3aXRoIGItZmlsdGVyLW5vdGljZVxuXG4gICAgI3ttLW5lc3QoKX1fX2ZpbHRlcnMge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMS41KTtcblxuICAgICAgLmItZmlsdGVyX19sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuNmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWd1aWRlLWxpc3Rpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuMik7XG4gIH1cblxuICAmLS1ob21lIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgzLjUpO1xuICB9XG5cbiAgJi0tc2VhcmNoLS1uYXJyb3cge1xuICAgIG1hcmdpbi10b3A6IGJ1KDMpO1xuXG4gICAgLmItc2VhcmNoLWZpZWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgLmItc2VhcmNoLWZpZWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDEuOCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuICAgIH1cblxuICAgICZfX3Jlc3VsdHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNCk7XG4gICAgfVxuXG4gICAgJl9fc2VlLWFsbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxMCk7XG4gICAgfVxuXG4gICAgJi0tZ3VpZGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMS44KTtcblxuICAgICAgI3ttLW5lc3QoKX1fX2xlZ2VuZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgxLjEpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fZmlsdGVycyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tZ3VpZGUtbGlzdGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg1LjEpO1xuXG4gICAgICAuYi1zZWFyY2gtZmllbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSg3KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ob21lIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0KTtcblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLmItc2VhcmNoLWZpZWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMS42KTtcbiAgICAgIH1cblxuICAgICAgLnAtLWxhcmdlLS1ob21lIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDcuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1maWx0ZXJcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEZpbHRlclxuLy9cbi8vIFNlZSBHdWlkZSBTZWFyY2ggTGlzdCBhbmQgRmlsdGVyXG4vL1xuLy8gU3R5bGVndWlkZTogMTAwLjEzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gYi1maWx0ZXItLWRpc2FibGVkKCkge1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogY29sb3IodHlwZS1kaXNhYmxlZCk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItZmlsdGVyIHtcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmpzLWVuYWJsZWQ6IGxhYmVsXG4gIC8vIC5qcy1kaXNhYmxlZDogYSB8IHNwYW5cbiAgJl9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiBidSgwLjg3NSk7XG4gICAgYm9yZGVyLWJvdHRvbTogYnUoMC42MjUpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIC8vIC5qcy1kaXNhYmxlZFxuICAgICYuYS0tbm8tdmlzaXRlZCB7XG4gICAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogY29sb3IobGluayk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hLS12aXNpdGVkIHtcbiAgICAgIGNvbG9yOiBjb2xvcihsaW5rLXZpc2l0ZWQpO1xuICAgIH1cblxuICAgIEBhdC1yb290IHtcbiAgICAgIC8vIC5qcy1kaXNhYmxlZFxuICAgICAgLy8gbm90IGN1cnJlbnRseSB1c2VkIGJ1dCBpbnRlbmRlZFxuICAgICAgLy8gZm9yIG5vc2NyaXB0IGVtdWxhdGlvbiBvZiA6ZGlzYWJsZWRcbiAgICAgIGRlbCN7Jn0ge1xuICAgICAgICBAaW5jbHVkZSBiLWZpbHRlci0tZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW5wdXQge1xuICAgICY6Zm9jdXMge1xuICAgICAgKyAuYi1maWx0ZXJfX2xhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9jdXMtb3V0bGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICArIC5iLWZpbHRlcl9fbGFiZWwge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICY6aG92ZXIge1xuICAgIC5iLWZpbHRlcl9fbGFiZWwge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICAvLyBkaXNhYmxlZCBhdHRyaWJ1dGUgaXMgdG9nZ2xlZCBieSBjb250ZW50LWZpbHRlci5qc1xuICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIH4gLmItZmlsdGVyX19sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbnB1dCB7XG4gICAgJjpjaGVja2VkIHtcbiAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgfiAuYi1maWx0ZXJfX2xhYmVsIHtcbiAgICAgICAgICAvLyBlaXRoZXIgdGhlIGpzIHJhZGlvIGxhYmVsLCBvciB0aGUgbm8tanMgc3BhblxuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUtZGFyayk7XG5cbiAgICAgICAgICAmLmEtLXZpc2l0ZWQge1xuICAgICAgICAgICAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuZXN0aW5nLWRlcHRoXG4gICAgICAgICAgICBjb2xvcjogY29sb3IobGluay12aXNpdGVkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkaXNhYmxlZCBhdHRyaWJ1dGUgaXMgdG9nZ2xlZCBieSBjb250ZW50LWZpbHRlci5qc1xuICAgICY6ZGlzYWJsZWQge1xuICAgICAgfiAuYi1maWx0ZXJfX2xhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgYi1maWx0ZXItLWRpc2FibGVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJl9fbGFiZWwge1xuICAgICAgcGFkZGluZy1ib3R0b206IGJ1KDEuNDUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItdmlkZW9cbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFZpZGVvXG4vL1xuLy8gU2VlIEV4YW1wbGUgZW1iZWRcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuNTZcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG4kYi12aWRlby1iZy1jb2xvcjogY29sb3IodHlwZSk7XG4kYi12aWRlby1iZy1jb2xvci1oaWRlc2hvdzogY29sb3IodHlwZSk7XG4kYi12aWRlby1pY29uLWNvbG9yOiBjb2xvcihmaWxsLWxpZ2h0ZXN0KTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi12aWRlby1qcyB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDU2JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYi12aWRlby1iZy1jb2xvcjtcbiAgfVxuXG4gICZfX2lmcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmX190cmlnZ2VyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8vIG1hc2sgaW50ZXJtaXR0ZW50IDFweCBnYXAgYmV0d2VlbiByZXNpemVkIHBsYWNlaG9sZGVyIGFuZCBncmV5IGNhcHRpb25cbiAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiLXZpZGVvLWJnLWNvbG9yO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgI3tlLW5lc3QoKX1fX2ljb24ge1xuICAgICAgICBjb2xvcjogY29sb3IobGluay1saWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmItcGljdHVyZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmItcGljdHVyZV9faW1hZ2Uge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuaC1pY29uLS10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fcG9zdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGJ1KDEyKTtcbiAgICBoZWlnaHQ6IGJ1KDEyKTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgY29sb3I6ICRiLXZpZGVvLWljb24tY29sb3I7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICZfX3RyYW5zY3JpcHQtaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xcyBsaW5lYXI7XG4gIH1cblxuICAmX19oaWRlc2hvdyB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMik7XG4gICAgcGFkZGluZzogMCBidSgyKSBidSgyKSBidSgzKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYi12aWRlby1iZy1jb2xvci1oaWRlc2hvdztcblxuICAgICZfX3RpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTIpO1xuICAgICAgbWFyZ2luOiAwIDAgYnUoMSk7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtb3BlbmVkIHtcbiAgICAgIC5iLXZpZGVvLWpzX190cmFuc2NyaXB0LWljb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tYWN0aXZlIHtcbiAgICAje20tbmVzdCgpfV9fdHJpZ2dlciB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1uYXJyb3ctYW5kLXVwKSB7XG4gICAgJl9faGlkZXNob3cge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICZfX2ljb24ge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIHdpZHRoOiBidSgyNik7XG4gICAgICAgIGhlaWdodDogYnUoMjYpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWxhcmdlIHtcbiAgICAgICN7bS1uZXN0KCl9X19pY29uIHtcbiAgICAgICAgd2lkdGg6IGJ1KDI1LjM3NSk7XG4gICAgICAgIGhlaWdodDogYnUoMjUuMzc1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS13aWRlIHtcbiAgICAgICN7bS1uZXN0KCl9X19pY29uIHtcbiAgICAgICAgd2lkdGg6IGJ1KDIxLjUpO1xuICAgICAgICBoZWlnaHQ6IGJ1KDIxLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItc2Nyb2xsLXRyaWdnZXItanNcbi8vIFxuLy8gU2VlIGFsc28gYi10YWJsZS1qc1xuLy8gU2VlIGFsc28gbC1vdmVyZmxvdy1saW5lclxuLy8gU2VlIGFsc28gY3Qtb3ZlcmZsb3ctaGVscGVyLmpzXG4vLyBcbi8vIE1vdmVkIG9wYWNpdHkgZnJvbSB3cmFwcGVyIHRvIGJ1dHRvblxuLy8gdG8gZml4IHRhYiBvcmRlciB2aXNpYmlsaXR5LlxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gU2Nyb2xsIHRyaWdnZXJcbi8vIFxuLy8gU2VlIFRhYmxlXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC40MVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcbiRiLXNjcm9sbC10cmlnZ2VyLWJnLWNvbG9yOiByZ2JhKGNvbG9yKGxpbmspLCAuOCk7XG4kYi1zY3JvbGwtdHJpZ2dlci1iZy1jb2xvci1hbHQ6IHJnYmEoY29sb3IobGluayksIDEpO1xuJGItc2Nyb2xsLXRyaWdnZXItdGV4dC1jb2xvcjogY29sb3IodHlwZS1saWdodCk7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gU3R5bGVzIGZvciB0aGUgaHRtbCBhZGRlZCBieSB0aGUgY3Qtb3ZlcmZsb3ctaGVscGVyLmpzXG5cbi5iLXNjcm9sbC10cmlnZ2VyLWpzIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBidSg1KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvLyB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjFzIGVhc2UtaW4tb3V0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0OCU7XG4gICAgcGFkZGluZzogYnUoMS4yNSkgYnUoMS41KTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBidSgyLjUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiLXNjcm9sbC10cmlnZ2VyLWJnLWNvbG9yO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gb24ga2V5Ym9hcmQgZm9jdXNcbiAgICAvLyByZXZlYWwgdGhlIGJ1dHRvbiBldmVuIGlmIGl0IGlzIG5vdCBhY3RpdmVcbiAgICAvLyBzbyB0aGF0IHRoZSB0YWIgZm9jdXMgaXMgbm90IGxvc3RcbiAgICAmOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IC0uMTI1ZW07XG4gICAgd2lkdGg6IC45NWVtO1xuICAgIGhlaWdodDogLjk1ZW07XG4gICAgY29sb3I6ICRiLXNjcm9sbC10cmlnZ2VyLXRleHQtY29sb3I7XG4gIH1cblxuICAmX19sZWZ0IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLWFjdGl2ZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cbiAgICAje20tbmVzdCgpfV9fYnV0dG9uIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiLXNjcm9sbC10cmlnZ2VyLWJnLWNvbG9yLWFsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICZfX2ljb24ge1xuICAgICAgdmVydGljYWwtYWxpZ246IC0uMmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItdGV4dC1wcm9tb1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gVGV4dCBwcm9tb1xuLy9cbi8vIFVzZWQgb24gdGhlIGhvbWVwYWdlXG4vL1xuLy8gTWFya3VwOiBiLXRleHQtcHJvbW8uaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuNTNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItdGV4dC1wcm9tbyB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fbGluayB7XG4gICAgYSB7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgbWFyZ2luLXRvcDogYnUoNy4xKTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSg1LjIpO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoLjM1KTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIC5oLWxpc3QtLW51bWJlcmVkIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KC43KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLW5hdi1wcmltYXJ5XG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBOYXYgLSBQcmltYXJ5XG4vL1xuLy8gTWFya3VwOiBiLW5hdi1wcmltYXJ5Lmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMzFcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZS1hbmQtdXApIHtcbiAgLmItZmlsbC0tZGFyay1zdHJpcGUgLmItbmF2LXByaW1hcnkgLnAtLWJyYW5kIGE6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaG9tZS5zdmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTRweDtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gIH1cbn1cblxuLy8gaGlkZSB0aGUgYnVyZ2VyIG1lbnUgYXMgaXRzIG5vdCBiZWluZyB1c2VkLiBXUy0yOTg4XG5hLm5hdmJhci1idXJnZXIuYnVyZ2VyLm1lbnUtaW52aXNpYmxle1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYi1uYXYtcHJpbWFyeSB7XG4gIFxuICAuYi1uYXYtcHJpbWFyeV9fbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICBcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KXtcbiAgICAuYi1uYXYtcHJpbWFyeV9fbG9nbyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5iLW5hdi1wcmltYXJ5X19icmFuZCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAubC0yLS1oZWFkZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogYnUoMik7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG5cbiAgICA+IC5sLTJfX2NvbCB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYi1ydWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiBidSguMzc1KTsgLy8gcHJldmVudCByZWxhdGl2ZSBwb3NpdGlvbmVkIGItcGljdHVyZSBmcm9tIG92ZXJsYXBwaW5nIHRoaXMgZWxlbWVudFxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6ICgtI3skZy1tYXJnaW4tbmFycm93fXB4KTtcbiAgICAgIGxlZnQ6ICgtI3skZy1tYXJnaW4tbmFycm93fXB4KTtcbiAgICB9XG4gIH1cblxuICAucC0tYnJhbmQge1xuICAgIG1hcmdpbjogMDtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaG9tZS1kYXJrLnN2Zykgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMnB4O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsZWZ0OiAtMjJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19saXN0IHtcbiAgICAvLyB2ZXJ0aWNhbGx5IGNlbnRlciBpdGVtc1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmX19zZWFyY2gge1xuICAgICAgLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tc21hbGwge1xuICAgICAgICAuYi1idXR0b25fX2NvbnRlbnQge1xuICAgICAgICAgIC8vIG1hdGNoIGxpbmUgaGVpZ2h0IHdpdGggc2libGluZyBoeXBlcmxpbmtcbiAgICAgICAgICBwYWRkaW5nOiAuMWVtIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBidSgxKTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAucC0tYnJhbmQgYTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2hvbWUtZGFyay5zdmcpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxNHB4O1xuICAgICAgb3BhY2l0eTogMC45O1xuICAgIH1cblxuICAgIC5sLTItLWhlYWRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogYnUoMyk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogYnUoMyk7XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICB3aWR0aDogYnUoMjIuNSk7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG5cbiAgICAgICZfX3NlYXJjaCB7XG4gICAgICAgIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLXNtYWxsIHtcbiAgICAgICAgICAuYi1idXR0b25fX2NvbnRlbnQge1xuICAgICAgICAgICAgLy8gbWF0Y2ggdmVydGljYWwgYWxpZ25tZW50IHdpdGggc2libGluZyBoeXBlcmxpbmtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvdHRvbTogLS4wNWVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KDIpO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlLWFuZC11cCkge1xuICAgICZfX2xpc3Qge1xuICAgICAgPiBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBidSg1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWludHJvZHVjdGlvblxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gSW50cm9kdWN0aW9uXG4vL1xuLy8gTWFya3VwOiBiLWludHJvZHVjdGlvbi5odG1sXG4vL1xuLy8gU3R5bGVndWlkZTogMTAwLjIyXG5cbi8vIEhvbWU6XG4vLyAgICAgVGl0bGUgfCBJbnRybyAxXG4vL1xuLy8gR3VpZGUgTGlzdGluZzpcbi8vICAgICBUaXRsZVxuLy8gICAgIEludHJvIDEgfCBJbnRybyAyXG4vL1xuLy8gR3VpZGU6XG4vLyAgICAgVGl0bGUgfCBJbnRybyAxXG4vLyAgICAgICAgICAgfCBTaGFyZSBidXR0b25zXG4vL1xuLy8gICAgIE5vdGU6IEp1bXBsaW5rcyB3ZXJlIHBhcnQgb2YgdGhpcyBpbiB0aGUgSUFcbi8vICAgICBidXQgZm9sbG93IHRoZSBzaGFyaW5nIGJ1dHRvbnMgaW4gdGhlIGRlc2lnblxuLy9cbi8vIFVuZGVyc3RhbmRpbmc6XG4vLyAgICAgVGl0bGVcbi8vICAgICBJbnRybyAxIHwgT3V0cHV0IGJ1dHRvbnMgZXhjbCBQcmVzZW50IEFsbFxuLy8gICAgICAgICAgICAgfCBTaGFyZSBidXR0b25zXG4vL1xuLy8gU3VnZ2VzdGlvbjpcbi8vICAgICBUaXRsZVxuLy8gICAgIEludHJvIDEgfCBPdXRwdXQgYnV0dG9ucyBpbmNsIFByZXNlbnQgQWxsXG4vLyAgICAgICAgICAgICB8IFNoYXJlIGJ1dHRvbnNcbi8vXG4vLyAgICAgTm90ZTogSnVtcGxpbmtzIHdlcmUgcGFydCBvZiB0aGlzIGluIHRoZSBJQVxuLy8gICAgIGJ1dCBmb2xsb3cgdGhlIHNoYXJpbmcgYnV0dG9ucyBpbiB0aGUgZGVzaWduXG4vLyAgICAgYW5kIHRoZSBzaGFyaW5nIGJ1dHRvbnMgaGF2ZSBiZWVuIG1vdmVkIGludG9cbi8vICAgICB0aGUgaW50cm8uXG4vL1xuLy8gSGVscCwgUGFnZSBub3QgZm91bmQsIFN1Z2dlc3Rpb24gUERGXG4vLyAgICAgVGl0bGVcbi8vICAgICBJbnRybyAxXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1pbnRyb2R1Y3Rpb24ge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fdGl0bGUge1xuICAgIC5iLXRhZyB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLWVycm9yIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSg0LjUpO1xuXG4gICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDUuNik7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0KTtcbiAgICB9XG4gIH1cblxuICAmLS1oZWxwIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSg0LjM3NSk7XG5cbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNS42KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDUpO1xuICAgIH1cbiAgfVxuXG4gICYtLWd1aWRlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuNSk7XG5cbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy43NSk7XG4gICAgfVxuXG4gICAgI3ttLW5lc3QoKX1fX2ludHJvLTEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy4xMjUpO1xuICAgIH1cbiAgfVxuXG4gICYtLWd1aWRlLWxpc3Rpbmcge1xuXG4gICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDUuMzc1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuNzUpO1xuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19pbnRyby0xIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMzc1KTtcbiAgICB9XG4gIH1cblxuICAmLS1ob21lIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuMjUpO1xuXG4gICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMpO1xuICAgIH1cblxuICAgIHZpZGVvIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAtd2Via2l0LW1hc2staW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KHdoaXRlLCBibGFjayk7XG4gICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgYXNwZWN0LXJhdGlvOiA1NzAvMjgwO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmItaW50cm9kdWN0aW9uLS10YWdsaW5lIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyOHB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiA1NHB4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzcwNzA3MDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTE2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmItaW50cm9kdWN0aW9uLS1ob21lLXZpZGVvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYXNwZWN0LXJhdGlvOiA1NzAvMjgwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnZpZGVvLS1jb250cm9sIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDEycHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICByaWdodDogMDtcbiAgICAgIGFzcGVjdC1yYXRpbzogNTcwLzI4MDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvcGF1c2UtYnV0dG9uLnN2Zyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgICAgIHJpZ2h0OiAtMzBweDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL3BhdXNlLWJ1dHRvbi1ob3Zlci5zdmcpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLS1wYXVzZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL3BsYXktYnV0dG9uLnN2Zyk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9wbGF5LWJ1dHRvbi5zdmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnAtLWludHJvIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc2O1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiBidSgzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWhvbWUtaW5uZXIge1xuICAgIG1heC13aWR0aDogNTcwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAmLS1zdWdnZXN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSg1LjUpO1xuXG4gICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDQuNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjI1KTtcbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9faW50cm8tMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gbS1uZXN0KCkgcnVsZXMgZmFpbHNcbiAgLy8gaWYgdGhpcyBpcyBjb21iaW5lZCB3aXRoIHRoZSBpZGVudGljYWwgcnVsZVxuICAvLyBhYm92ZVxuICAmLS11bmRlcnN0YW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSg1LjUpO1xuXG4gICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDQuNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjI1KTtcbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9faW50cm8tMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIC5iLWludHJvZHVjdGlvbi0tdGFnbGluZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMjhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRvcDogLTQwcHg7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAmX190aXRsZSB7XG4gICAgICAuYi10YWcge1xuICAgICAgICBsaW5lLWhlaWdodDogLjg1O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWVycm9yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDYuMjUpO1xuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSg3Ljc1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ndWlkZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg1LjYpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjUpO1xuXG4gICAgICAje20tbmVzdCgpfV9faW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSg1LjMpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjI1KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX2ludHJvLTEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICYucC0taW50cm8ge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjYyNSk7IC8vIHJlZHVjZWRcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICArIC5iLW5hdi1pbi1wYWdlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ndWlkZS1saXN0aW5nIHtcbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMjUpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9faW50cm8tMSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19pbnRyby0yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9faW50cm8tbGluayB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWhlbHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMSk7XG5cbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC0uMjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWhvbWUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoOC43NSk7XG5cbiAgICAgIC5iLXBpY3R1cmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxMy4xMjUpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9faW50cm8tMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tc3VnZ2VzdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgzLjMpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC43KTtcblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDYuNjI1KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX2ludHJvLTEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICYucC0taW50cm8ge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBidSg0KTsgLy8gcmVkdWNlZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdW5kZXJzdGFuZCB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgzLjMpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC43KTtcblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDYuNjI1KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX2ludHJvLTEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICYucC0taW50cm8ge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBidSg0KTsgLy8gcmVkdWNlZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuKjo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qIE9sZCBzaGFkb3cgZG9tIGZvciBwbGF5IGJ1dHRvbiAqL1xuKjo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wbGF5LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qIE5ldyBzaGFkb3cgZG9tIGZvciBwbGF5IGJ1dHRvbiAqL1xuXG4vKiBUaGlzIG9uZSB3b3JrcyEgKi9cbio6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLXJ1bGVcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFJ1bGVcbi8vIFxuLy8gTWFya3VwOiBiLXJ1bGUuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuNDBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gQ2FuIGJlIHVzZWQgc3RhbmRhbG9uZSBvciBvbiBhbnkgZWxlbWVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXJ1bGUge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMDsgLy8gcHJldmVudHMgdGhpY2sgYm9yZGVyIG9uIGItcnVsZS0tdmVydGljYWwgb24gbmFycm93XG4gIH1cblxuICAvLyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYSB0aGlja25lc3MgbW9kaWZpZXJcbiAgJi0tbGlnaHQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IC4zO1xuICAgIH1cbiAgfVxuXG4gIC8vIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBhIHRoaWNrbmVzcyBtb2RpZmllclxuICAmLS1saWdodGVyIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAuMTtcbiAgICB9XG4gIH1cblxuICAvLyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYSB0aGlja25lc3MgbW9kaWZpZXJcbiAgJi0tbGluayB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICB9XG4gIH1cblxuICAvLyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYSB0aGlja25lc3MgbW9kaWZpZXJcbiAgJi0tbmFycm93IHtcbiAgICB3aWR0aDogYnUoMTEpO1xuICAgIG1hcmdpbjogYnUoMikgMDtcbiAgfVxuXG4gIC8vIHRoaWNrbmVzcyBtb2RpZmllclxuICAmLS10aGljayB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogYnUoLjM3NSk7XG4gICAgfVxuICB9XG5cbiAgLy8gdGhpY2tuZXNzIG1vZGlmaWVyXG4gICYtLXRoaW4ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IGJ1KC4xMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIC8vIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBhIHRoaWNrbmVzcyBtb2RpZmllclxuICAgICYtLW5hcnJvdyB7XG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgd2lkdGg6IGJ1KDIyLjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHRoaWNrbmVzcyBtb2RpZmllclxuICAgICYtLXRoaWNrIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogYnUoLjYyNSk7XG4gICAgICB9XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogYnUoLjgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gdGhpY2tuZXNzIGFuZCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYtLXZlcnRpY2FsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IGJ1KC0xLjc1KTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBidSguMTI1KTtcbiAgICAgICAgb3BhY2l0eTogLjM7XG5cbiAgICAgICAgLmwtMi0tc2xpZGUgJiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIHRvcDogYnUoLjUpO1xuICAgICAgICAgICAgbGVmdDogYnUoLTIuNTUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sLTItLXNsaWRlLS1wcmVzZW50LXdpZGUgJiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIC8vIGhpZGUgd2hlbiBncmlkIGRpc3BsYXlzIGFzIG9uZSBjb2x1bW5cbiAgICAgICAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLXNlYXJjaC1yZXN1bHRcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFNlYXJjaCBSZXN1bHRcbi8vIFxuLy8gTWFya3VwOiBiLXNlYXJjaC1yZXN1bHQuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuNDRcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItc2VhcmNoLXJlc3VsdCB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBwYWRkaW5nOiBidSguMjUpIGJ1KDIuNSkgYnUoMyk7XG4gIG1hcmdpbi1ib3R0b206IGJ1KDEuNyk7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KC41KTtcbiAgfVxuXG4gICZfX2NhdGVnb3J5IHtcbiAgICBtYXJnaW4tdG9wOiBidSgyLjgpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KC43KTtcbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiBidSgtLjIpO1xuICB9XG5cbiAgJl9fZGV0YWlscyB7XG4gICAgbWFyZ2luLXRvcDogYnUoMS44KTtcbiAgfVxuXG4gICZfX2V4cGFuZCB7XG4gICAgbWFyZ2luLXRvcDogYnUoMik7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoLjUpO1xuICB9XG5cbiAgJl9fZXhwYW5kLXRhcmdldCB7XG4gICAgKyAje2UtbmVzdCgpfV9fYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KC44KTtcbiAgICB9XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgbWFyZ2luOiBidSgtLjI1KSBidSgtMi41KSAwOyAvLyBvZmZzZXQgcGFkZGluZ1xuICB9XG5cbiAgJl9fZ3VpZGUtY292ZXIge1xuICAgIG1pbi13aWR0aDogYnUoMjApO1xuICB9XG5cbiAgJl9fZ3VpZGUtdGl0bGUge1xuICAgICN7ZS1uZXN0KCl9X19ndWlkZS1jb3ZlciArICYge1xuICAgICAgLmItc2VhcmNoLXJlc3VsdF9fY2F0ZWdvcnkge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgxLjgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX21hdGNoIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgI3tlLW5lc3QoKX1fX3RpdGxlICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgyLjQpO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBidSguNyk7XG4gICAgfVxuXG4gICAgbWFyayB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cblxuICAmX19tZXRhIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KC44KTtcbiAgfVxuXG4gICZfX21vcmUtbGluayB7XG4gICAgbWFyZ2luLXRvcDogYnUoMi42KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJl9fcGljdHVyZSB7XG4gICAgJi0taGVscCB7XG4gICAgICArICN7ZS1uZXN0KCl9X19oZWxwLXNvbHV0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGVhc2VyIHtcbiAgICBtYXJnaW4tdG9wOiBidSgxLjIpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMS4yKTtcblxuICAgICsgI3tlLW5lc3QoKX1fX2V4cGFuZCB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgxLjEpO1xuICAgIH1cbiAgfVxuXG4gID4gLmwtMl9fY29sLFxuICA+IC5sLTNfX2NvbCB7XG4gICAgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLW1lcmdlIHtcbiAgICBtYXJnaW4tdG9wOiBidSgtMS43KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBwYWRkaW5nOiBidSgzLjUpIDAgYnUoMi44KTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgxLjUpO1xuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC43KTtcbiAgICB9XG5cbiAgICAmX19jYXRlZ29yeSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBidSg1KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBidSg1KTtcbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjgpO1xuICAgIH1cblxuICAgICZfX2V4cGFuZCB7XG4gICAgICAuanMtZW5hYmxlZCAmIHtcbiAgICAgICAgLmItY29udGVudC1yZXZlYWxfX2hlYWRlciB7XG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2d1aWRlLXRpdGxlIHtcbiAgICAgICN7ZS1uZXN0KCl9X19ndWlkZS1jb3ZlciArICYge1xuICAgICAgICAuYi1zZWFyY2gtcmVzdWx0X19jYXRlZ29yeSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoLS45KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSguOSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICBtYXJnaW46IGJ1KC0uMykgMTUlIDA7XG4gICAgfVxuXG5cbiAgICAmX19tYXRjaCB7XG4gICAgICAje2UtbmVzdCgpfV9fdGl0bGUgfiAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMi40KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19waWN0dXJlIHtcbiAgICAgICYtLWhlbHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZWFzZXIge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMy4zKTtcbiAgICB9XG5cbiAgICAmLS1ndWlkZSB7XG4gICAgICAje20tbmVzdCgpfV9fY2F0ZWdvcnkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWhlbHAge1xuICAgICAgI3ttLW5lc3QoKX1fX2RldGFpbHMge1xuICAgICAgICAubC0xX19jb2wge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYi1waWN0dXJlX19pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX21hdGNoIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiBidSguOSk7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19tYXRjaCArICN7bS1uZXN0KCl9X19leHBhbmQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KC45KTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IC4yZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSguNCk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC4yKTtcbiAgICAgICAgICBmb250LXNpemU6IGJ1KDMpO1xuICAgICAgICAgIGNvbG9yOiBjb2xvcihydWxlLXRoaW4tbGlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmItaGlkZS1zaG93LWpzLWV4cGFuZG1vcmUge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLXJlc291cmNlIHtcbiAgICAgIC8vIG9mZnNldCB0aGUgYnV0dG9uIGlmIHRoZSBjb250YWluZXIgaXMgZXhwYW5kZWRcbiAgICAgICN7bS1uZXN0KCl9X19leHBhbmQtdGFyZ2V0IHtcbiAgICAgICAgJjpub3QoW2RhdGEtaGlkZGVuXSkge1xuICAgICAgICAgICYgKyAubC0yLS1zZWFyY2gtLXJlc3VsdCB7XG4gICAgICAgICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBuZXN0aW5nLWRlcHRoXG4gICAgICAgICAgICAuYi1zZWFyY2gtcmVzdWx0X19idXR0b24ge1xuICAgICAgICAgICAgICAvLyBvdmVybGFwIHRoZSB0cmFpbGluZyBndXR0ZXIgb2YgLmwtMS0tc2VhcmNoLS1yZXN1bHQtY29udGVudCA+IC5sLTFfX2NvbFxuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBidSgtMS4xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX21hdGNoIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiBidSguOSk7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19tYXRjaCArICN7bS1uZXN0KCl9X19leHBhbmQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KC45KTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IC4yZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSguNCk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC4yKTtcbiAgICAgICAgICBmb250LXNpemU6IGJ1KDMpO1xuICAgICAgICAgIGNvbG9yOiBjb2xvcihydWxlLXRoaW4tbGlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmItaGlkZS1zaG93LWpzLWV4cGFuZG1vcmUge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgtLjEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItbmF2LWluLXBhZ2UtcGlubmVkLWpzXG4vL1xuLy8gU2VlIGFsc28gbGF5b3V0L196LWluZGV4LnNjc3Ncbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIE5hdiAtIEluLXBhZ2UgLSBwaW5uZWRcbi8vXG4vLyBUaGlzIHZhcmlhbnQgaXMgYWx3YXlzIHBpbm5lZCxcbi8vIGJ1dCB3aWxsIG9ubHkgYXBwZWFyIGF0XG4vLyBjZXJ0YWluIGJyZWFrcG9pbnRzIGFuZCBzY3JvbGxwb2ludHMuXG4vLyBJdCBleHRlbmRzIGItbmF2LWluLXBhZ2UsIGFkZGluZzpcbi8vIC0gYSBmaXhlZCBibG9jayBoZWFkaW5nXG4vLyAtIGEgZHluYW1pYyBjdXJyZW50IHNlY3Rpb24gdGl0bGVcbi8vIC0gYSBiYWNrIHRvIHRvcCBsaW5rLFxuLy8gLSBleHBhbmQvY29sbGFwc2Vcbi8vIC0gZHluYW1pYyBjdXJyZW50IGxpbmsgaGlnaGxpZ2h0aW5nXG4vL1xuLy8gTWFya3VwOiBiLW5hdi1pbi1wYWdlLXBpbm5lZC1qcy5odG1sXG4vL1xuLy8gU3R5bGVndWlkZTogMTAwLjMwXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGItbmF2LWluLXBhZ2UtcGlubmVkLWpzLWJ1dHRvbi1wYWRkaW5nLS1tb2JpbGU6IGJ1KDEuNykgYnUoMS44NzUpIGJ1KDEuMikgYnUoJGctbWFyZ2luLW5hcnJvdyAvICRnLWJ1KTtcbiRiLW5hdi1pbi1wYWdlLXBpbm5lZC1qcy1idXR0b24tcGFkZGluZy0tZGVza3RvcDogYnUoMS4xNSkgYnUoMS44NzUpIGJ1KC45KTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyB0aGUgcGlubmVkIGJhclxuLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIGJhciBpcyBwZXJtYW5lbnRseSBwaW5uZWRcbiAgLy8gYnV0IGlzIG9ubHkgcmV2ZWFsZWQgd2hlbiBiLWluLXBhZ2UtbmF2IGlzIHNjcm9sbGVkIG9mZiB0aGUgcGFnZVxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgLy8gdGhlIGZpbGwgbWF0Y2hlcyBiLW5hdi1ndWlkZS1zaWRlYmFyXG4gICYuYi1maWxsLS1kYXJrLWxpZ2h0LXN0cmlwZSB7XG4gICAgLy8gYWxsb3cgbWVudSB0byBwb3Agb3V0IG9mIHRoZSBwaW5uZWQgYmFyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gXCJPbiB0aGlzIHBhZ2VcIiB0aXRsZVxuICAvLyB2aXN1YWxseSB0aGlzIGxvb2tzIGxpa2UgdGhlIGRyb3Bkb3duJ3MgbGFiZWwgb24gcGFnZS13aWRlLWFuZC11cFxuICAvLyBuYXJyb3c6IGRpc3BsYXlzIG5leHQgdG8gdGhlIGV4cGFuZCBidXR0b24gd2hlbiB0aGUgbWVudSBpcyBvcGVuXG4gIC8vIHBhZ2Utd2lkZS1hbmQtdXA6IGRpc3BsYXlzIHRvIHRoZSBmYXIgbGVmdCBvZiB0aGUgZXhwYW5kIGJ1dHRvbiB0ZXh0IGFuZCBpY29uXG5cbiAgLy8gJl9fbGFiZWwge31cblxuICAvLyBiYWNrIHRvIHRvcCBidXR0b25cbiAgLy8gbmFycm93OiBkaXNwbGF5cyBiZWxvdyB0aGUgdGl0bGUgd2hlbiB0aGUgbWVudSBpcyBvcGVuXG4gIC8vIHBhZ2Utd2lkZS1hbmQtdXA6IGRpc3BsYXlzIG5leHQgdG8gdGhlIGV4cGFuZCBidXR0b24gaWNvbiB3aGVuIHRoZSBtZW51IGlzIG9wZW5cblxuICAmX190b3Age1xuICAgICZfX3J1bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoLjcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qc19fbWVudVxuICAvLyB3cmFwcGVyIHRvIGFsbG93IGFic29sdXRlIHBvc2l0aW9uaW5nIG9mIHRoZSBtZW51XG4gICZfX21lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qc19fbWVudV9fZHJvcGRvd25cbiAgICAvLyB0aGUgbWVudSBwb3BzIG91dCBvdmVyIHRoZSBwaW5uZWQgYmFyIHdoZW4gb3BlbmVkXG4gICAgJl9fZHJvcGRvd24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogJGItbmF2LWluLXBhZ2UtcGlubmVkLWpzLWJ1dHRvbi1wYWRkaW5nLS1tb2JpbGU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IocnVsZS10aGluLWxpZ2h0KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuICAgICAgYm94LXNoYWRvdzogMCBidSguMjUpIGJ1KDEpIHJnYmEoY29sb3IoZmlsbC1kYXJrKSwgLjA4KTtcblxuICAgICAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzX19tZW51X19kcm9wZG93bl9faGVhZGVyXG4gICAgICAmX19oZWFkZXIge1xuXG4gICAgICAgIC8vIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qc19fbWVudV9fZHJvcGRvd25fX2hlYWRlcl9fbGFiZWxcbiAgICAgICAgLy8gdGhpcyBpcyBhIGR1cGxpY2F0ZSBvZiB0aGUgdGl0bGUgdGhhdCBhcHBlYXJzXG4gICAgICAgIC8vIGluIGEgZGlmZmVyZW50IGxvY2F0aW9uIG9uIHBhZ2Utd2lkZS1hbmQtdXBcbiAgICAgICAgJl9fbGFiZWwge1xuICAgICAgICAgIC8vIHJlc2V0IGgyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAvLyBwdXNoIGFkamFjZW50IHJ1bGUgYW5kIHRleHQgZG93biwgYmVsb3cgdGhlICdidXR0b24nXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS4yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRoZSBwYXJlbnQgb2YgdGhlIGludmlldyB0ZXh0IHNlbGVjdG9yXG4gICAgICAgIHAge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qc19fbWVudV9fZHJvcGRvd25fX2hlYWRlcl9faW52aWV3XG4gICAgICAgIC8vIGRpc3BsYXlzIHRoZSB0ZXh0IG9mIHRoZSBjdXJyZW50IEgyL0gzIHdoaWNoIGlzICdpbiB2aWV3J1xuICAgICAgICAmX19pbnZpZXcge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYnUoNik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzX19tZW51X19kcm9wZG93bl9fYnV0dG9uXG4gICAgICAvLyBUaGUgZHJvcGRvd24gZXhwYW5kL2NvbGxhcHNlIGJ1dHRvbixcbiAgICAgIC8vIHVzZXMgYi1jb250ZW50LXJldmVhbCBhbmQgaGlkZS1zaG93LmpzLlxuICAgICAgLy8gVGhlIHByZWNlZGluZyBoZWFkZXIgaXRlbXMgYXBwZWFyIHRvIGV4aXN0IHdpdGhpbiB0aGlzIGJ1dHRvbixcbiAgICAgIC8vIGJ1dCBhcyB0aGV5IGFyZSBzZW1hbnRpY2FsbHkgaW5jb21wYXRpYmxlIChlLmcuIGEgYmFjayB0byB0b3AgbGluayBpbnNpZGUgYSBidXR0b24pXG4gICAgICAvLyB0aGUgYnV0dG9uIGFjdHVhbGx5IGNvbnRhaW5zIG9ubHkgYSBoaWRkZW4gbGFiZWwgYW5kIHRoZSBleHBhbmQvY29sbGFwc2UgYnV0dG9uIGVsZW1lbnRcbiAgICAgIC8vIGFuZCB0aGlzIGlzIHBvc2l0aW9uZWQgb24gdG9wIG9mIHRoZSBoZWFkZXIgdGV4dCB0byBnaXZlIHRoZSBpbGx1c2lvbiBvZiBhIGNvbXBsZXRlIGJ1dHRvblxuICAgICAgLy8gd2hpbGUgc3RpbGwgbWFpbnRhaW5pbmcgc2VwYXJhdGlvbiBmb3IgZ29vZCBhY2Nlc3NpYmlsaXR5XG4gICAgICAmX19idXR0b24ge1xuICAgICAgICAvLyBidXR0b24gaXMgb3ZlcmxhaWQgb3ZlciB0aGUgaGVhZGVyIHRleHQgYXQgMTAwJSB3aWR0aFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgLy8gdGhlIGV4cGFuZC9jb2xsYXBzZSBidXR0b25cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAkYi1uYXYtaW4tcGFnZS1waW5uZWQtanMtYnV0dG9uLXBhZGRpbmctLW1vYmlsZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgLy8gZHJvcGRvd24gaWNvblxuXG4gICAgICAgICAgLy8gb3ZlcnJpZGUgLmpzLWVuYWJsZWQgLmItY29udGVudC1yZXZlYWxfX2hlYWRlciBidXR0b25cbiAgICAgICAgICAuanMtZW5hYmxlZCAmIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBhIHNwYWNlciBlbGVtZW50XG4gICAgICAgICAgLy8gdG8gZXhwYW5kIHRoZSBidXR0b24gaGVpZ2h0IHRvIG1hdGNoIHRoZSBoZWFkZXIgdGV4dCBzdGFja2VkIHVuZGVybmVhdGhcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgcC0tbmF2LS1pbi1wYWdlLXBpbm5lZC10cmlnZ2VyLXRleHQ7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBidXR0b24gY2hldnJvblxuICAgICAgICAgIC5oLWljb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm90YXRlLWljb24oMTgwKTtcbiAgICAgICAgICAgIHdpZHRoOiAuOWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAuOWVtO1xuXG4gICAgICAgICAgICAvLyBJRTExIGZhaWxzIHRvIHJlbmRlciB0aGUgU1ZHIHNoYXBlXG4gICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgJi5oLWljb24tLWNoZXZyb24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZy1pbWFnZS1wYXRoICsgXCJpY29ucy9jaGV2cm9uLWJsdWUuc3ZnXCIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gZXhwYW5kZWQgYnV0dG9uIGljb25cbiAgICAgICAgICAmLmlzLW9wZW5lZCB7XG4gICAgICAgICAgICAuaC1pY29uIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcm90YXRlLWljb24oMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qc19fbWVudV9fZHJvcGRvd25fX2xpc3RcbiAgICAgIC8vIG5hdmlnYXRpb24gbGlzdCBvZiBqdW1wbGlua3NcbiAgICAgICZfX2xpc3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyKTtcblxuICAgICAgICAvLyAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanNfX21lbnVfX2Ryb3Bkb3duX19saXN0X19pdGVtXG4gICAgICAgIC8vIGxpc3QgaXRlbVxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzX19tZW51X19kcm9wZG93bl9fbGlzdF9fbGlua1xuICAgICAgICAvLyBqdW1wIGxpbmtcbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogYnUoMi41KTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KDQpOyAvLyBtYXRjaCB0ZXh0IHdyYXBwaW5nIHRvIHRoZSBkZXNpZ25cbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgIC8vIG92ZXJyaWRlcyB0byBiLWxpbmstaWNvblxuICAgICAgICAgICYuYi1saW5rLWljb24tLXN0YXJ0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAuaC1pY29uLS1hcnJvdyB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLy8gdW5kZXJsaW5lIHRleHQgb24gaG92ZXIsIGJ1dCBub3QgaWNvblxuICAgICAgICAgICAgLmItbGluay1pY29uX19saW5lciB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IGJ1KC4xMjUpIHNvbGlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGJvbGQgdGhlIGp1bXBsaW5rIHdoaWNoIG1hdGNoZXMgdGhlIGJsb2NrIHdoaWNoIGlzICdpbiB2aWV3J1xuICAgICAgICAgIC8vIHNlZSBuYXYtaW4tcGFnZS5qc1xuICAgICAgICAgICYje2UtbmVzdCgpfS0taXMtaW52aWV3IHtcbiAgICAgICAgICAgICYsIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbmVzdGluZy1kZXB0aFxuICAgICAgICAgICAgJiAuYSB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgIGNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanNfX21lbnVfX2Ryb3Bkb3duX19saXN0X19saW5rX19pY29uXG4gICAgICAgICAgLy8gaWNvbiB0byB0aGUgbGVmdCBvZiB0aGUganVtcGxpbmtcbiAgICAgICAgICAvLyB0aGVzZSBkeW5hbWljYWxseSBjaGFuZ2UgdG8gbWF0Y2ggdGhlIGJsb2NrIHdoaWNoIGlzICdpbiB2aWV3J1xuICAgICAgICAgIC8vIHNlZSBuYXYtaW4tcGFnZS5qc1xuICAgICAgICAgICZfX2ljb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAuMDVlbTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogLjc1ZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgLy8gaXRlbXMgYmVmb3JlIGFuZCBhZnRlciB0aGUgY3VycmVudCBpdGVtIGhhdmUgYW4gYXJyb3dcbiAgICAgICAgICAgIC8vIGEgZGlyZWN0aW9uYWwgY2xhc3MgaXMgdG9nZ2xlZCBieSB0aGUgSlNcbiAgICAgICAgICAgIC8vIHRvIHByb3ZpZGUgYm90aCAndXAnIGFuZCAnZG93bicgdmFyaWF0aW9uc1xuICAgICAgICAgICAgJi5oLWljb24tLWFycm93IHtcbiAgICAgICAgICAgICAgZmlsbDogY29sb3IobGluayk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRoZSBjdXJyZW50IGl0ZW0gaGFzIGEgYnVsbGV0XG4gICAgICAgICAgICAmLmgtaWNvbi0tYnVsbGV0IHtcbiAgICAgICAgICAgICAgd2lkdGg6IGJ1KC41KTtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC41NSk7IC8vIGFsaWduIHdpdGggYWRqYWNlbnQgYXJyb3dzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcnVsZSB7XG4gICAgaGVpZ2h0OiAxcHg7IC8vIGZhdXggYm9yZGVyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gdGhlIGlzLW9wZW4gY2xhc3MgaXMgdG9nZ2xlZFxuICAvLyBieSBuYXYtaW4tcGFnZS1waW5uZWQuanNcbiAgLy8gdmlhIGEgcHVic3ViIGV2ZW50IGluIGhpZGUtc2hvdy5qc1xuICAuaC1zaG93LS1pcy1vcGVuIHtcbiAgICBAaW5jbHVkZSBoLWhpZGU7XG4gIH1cblxuICAmLS1pcy1vcGVuIHtcbiAgICAmI3ttLW5lc3QoKX0ge1xuICAgICAgLmgtaGlkZS0taXMtb3BlbiB7XG4gICAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICAgIH1cblxuICAgICAgLmgtc2hvdy0taXMtb3BlbiB7XG4gICAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LWJlbG93LXdpZGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmaWxsLWxpZ2h0ZXN0KTtcblxuICAgICYuYi1maWxsLS1kYXJrLWxpZ2h0LXN0cmlwZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmaWxsLWxpZ2h0ZXN0KTtcbiAgICB9XG5cbiAgICAuYi1ydWxlIHtcbiAgICAgICYuYi1maWxsLS1kYXJrLWxpZ2h0LXN0cmlwZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gbWFrZSB0aGUgZHJvcGRvd24gbWVudSBleHRlbmQgdG8gdGhlIGZ1bGwgd2lkdGggb24gbmFycm93IHZpZXdwb3J0c1xuICAgIC8vIFRPRE8gdGhpcyBpcyBhcHBseWluZyBhdCAxMDIzcHhcbiAgICA+IC5sLW91dGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZfX3RvcCB7XG4gICAgICBtYXJnaW46IDA7IC8vIHJlc2V0IHBcblxuICAgICAgJl9fbGluayB7XG4gICAgICAgIC8vIGxpbmsgaXMgYmxvY2sgZnJvbSBoLWVsbGlwc2lzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogYnUoMS43KSBidSg1KSBidSgxLjcpIDA7IC8vIHJpZ2h0IGlzIHNwYWNlIGZvciBpY29uXG5cbiAgICAgICAgJi5iLWxpbmstaWNvbi0tZW5kIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9faWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBidSgyKTtcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgJi5iLWxpbmstaWNvbl9faWNvbiB7XG4gICAgICAgICAgd2lkdGg6IC44ZW07XG4gICAgICAgICAgaGVpZ2h0OiAuOGVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVudSB7XG4gICAgICAmX19kcm9wZG93biB7XG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDIuNik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1pcy1vcGVuIHtcbiAgICAgICYje20tbmVzdCgpfSB7XG4gICAgICAgIC5oLWhpZGUtLWlzLW9wZW4ge1xuICAgICAgICAgICYuaC1zaG93LS1wYWdlLWJlbG93LXdpZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oLXNob3ctLWlzLW9wZW4ge1xuICAgICAgICAgICYuaC1oaWRlLS1wYWdlLWJlbG93LXdpZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIC5sLTItLWNvbnRlbnQtLWd1aWRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgd2lkdGg6IC44NWVtO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuNik7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgICB9XG5cbiAgICAuYi1ydWxlLS10aGluIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDEuNCk7XG4gICAgfVxuXG4gICAgJl9fbWVudSB7XG4gICAgICAmX19kcm9wZG93biB7XG4gICAgICAgIHRvcDogYnUoMS4yNSk7XG4gICAgICAgIHBhZGRpbmc6ICRiLW5hdi1pbi1wYWdlLXBpbm5lZC1qcy1idXR0b24tcGFkZGluZy0tZGVza3RvcDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IocnVsZS10aGluLWxpZ2h0ZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBidSguMjUpO1xuXG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDEuNyk7XG5cbiAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuOCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fcnVsZSB7XG4gICAgICAvLyBBdCB0aGlzIGJyZWFrcG9pbnQsIHRoZSBwaW5uZWQgbmF2IHNpdHMgb24gdG9wXG4gICAgICAvLyBvZiB0aGUgZ3VpZGUgbmF2ICh3aGljaCBjYW4gYWxzbyBwaW4pLlxuICAgICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgdG8gbWFpbnRhaW4gdXNlciBpbnRlcmFjdGl2aXR5XG4gICAgICAvLyBpbiBhbGwgcGlubmVkIGFuZCBub24tcGlubmVkIGFyZWFzIG9mIHRoZSBVSS5cbiAgICAgIC8vIFRoZSBvZmZzZXQgYmVsb3cgY3JlYXRlcyB0aGUgaWxsdXNpb24gb2Ygbm8tb3ZlcmxhcC5cblxuICAgICAgLy8gVE9ETzogY2FsYyBjb3BpZWQgZnJvbSB0aGUgZ3JpZCBvdXRwdXQgYXQgdGhlIGRlc2t0b3AgbGF5b3V0IC0gbWFrZSB0aGlzIGR5bmFtaWNcbiAgICAgICYtLW9mZnNldCB7XG4gICAgICAgIC8vIE9uIGd1aWRlIHBhZ2VzIHdpdGggc2lkZWJhclxuICAgICAgICAubC0yLS1wYWdlLS1ndWlkZSAmIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAoNzAuNzVyZW0gLSAzNS4zNzVyZW0gLSA2cmVtKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBtZW51IG9wZW4gYnV0dG9uIGNvbnRhaW5pbmcgY2hldnJvbiBhbmQgaGlkZGVuIHRleHRcbiAgICAuYi1jb250ZW50LXJldmVhbCB7XG4gICAgICAmX19oZWFkZXIge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIHBhZGRpbmc6ICRiLW5hdi1pbi1wYWdlLXBpbm5lZC1qcy1idXR0b24tcGFkZGluZy0tZGVza3RvcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWlzLW9wZW4ge1xuICAgICAgI3ttLW5lc3QoKX1fX21lbnUge1xuICAgICAgICAmX19kcm9wZG93biB7XG4gICAgICAgICAgLy8gZGlzYWJsZSB0aGUgZnVsbC13aWR0aCBidXR0b24gc3RyZXRjaFxuICAgICAgICAgIC8vIHNvIHRoYXQgb25seSB0aGUgcmlnaHQgaGFuZCBzaWRlIG9mIHRoZSAnYnV0dG9uJyBpcyBjbGlja2FibGVcbiAgICAgICAgICAvLyB0aGlzIGFsbG93cyB0aGUgbm93IGFkamFjZW50IGJhY2sgdG8gdG9wIGxpbmsgdG8gYmUgY2xpY2tlZFxuICAgICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmI3ttLW5lc3QoKX0ge1xuICAgICAgICAuaC1oaWRlLS1pcy1vcGVuIHtcbiAgICAgICAgICAmLmgtc2hvdy0tcGFnZS13aWRlLWFuZC11cCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmgtc2hvdy0taXMtb3BlbiB7XG4gICAgICAgICAgJi5oLWhpZGUtLXBhZ2Utd2lkZS1hbmQtdXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLXBpbm5lZCB7XG4gICAgICAubC0yLS1wYWdlLS1ndWlkZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICA+IC5sLTJfX2NvbCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29sb3Vyc1xuLy9cbi8vIFNpdGUgY29sb3VyIHBhbGV0dGUuXG4vLyAqIGBzcmMvc2Nzcy92YXJpYWJsZXMvX2NvbG9ycy5zY3NzYCAoc3R5bGVzKVxuLy8gKiBgc3JjL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9jb2xvcnMvY29sb3JzLmh0bWxgIChzdHlsZWd1aWRlKVxuLy9cbi8vIE1hcmt1cDogY29sb3JzLmh0bWxcbi8vXG4vLyBwYXR0ZXJuOiB0cnVlXG4vL1xuLy8gU3R5bGVndWlkZTogOTkuM1xuXG4ucGF0dGVybi1jb2xvciB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KFwiY2VudGVyXCIpO1xuICBwYWRkaW5nOiByZW0oJGctYnUgKiA0KTtcblxuICAmX19uYW1lIHtcbiAgICBtYXJnaW46IHJlbSgkZy1idSkgMCAwO1xuICAgIGZvbnQtc2l6ZTogYnUoMik7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gNSk7XG4gICAgbWFyZ2luOiBidSgxKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAqIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zd2F0Y2gge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBidSgxMCk7XG4gICAgaGVpZ2h0OiBidSgxMCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG5cbiAgJl9fdmFyaWFibGUge1xuICAgIG1hcmdpbi10b3A6IGJ1KC0uNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogYnUoMS41KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG5cbiAgJl9faGV4IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IGJ1KDEuNSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxufVxuXG4vLyBnZW5lcmF0ZSBzZWxlY3RvcnMgZm9yIFN0eWxlIFBhdHRlcm5zIGZyb20gJGNvbG9ycyBtYXBcbi8vIHNlZSBzY3NzL3ZhcmlhYmxlcy9fY29sb3JzLnNjc3NcbkBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gIC5wYXR0ZXJuLWNvbG9yX19pdGVtLS0jeyRuYW1lfSB7XG5cbiAgICAucGF0dGVybi1jb2xvcl9fc3dhdGNoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkY29sb3JzLCAkbmFtZSwgXCJoZXhcIik7XG4gICAgfVxuXG4gICAgLnBhdHRlcm4tY29sb3JfX25hbWUge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbWFwLWRlZXAtZ2V0KCRjb2xvcnMsICRuYW1lLCBcIm5hbWVcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhdHRlcm4tY29sb3JfX2hleCB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcImhleDogI3ttYXAtZGVlcC1nZXQoJGNvbG9ycywgJG5hbWUsIFwiaGV4XCIpfVwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wYXR0ZXJuLWNvbG9yX192YXJpYWJsZSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcImNvbG9yKCN7JG5hbWV9KVwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSWNvbnNcbi8vXG4vLyBTaXRlIGljb25zLlxuLy8gKiBgc3JjL2ltZy9pY29ucy9gIChTVkdzKVxuLy8gKiBgc3JjL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9pY29ucy9pY29ucy5odG1sYCAoZWxlbWVudHMpXG4vLyBcbi8vIFNlZSBhbHNvOlxuLy8gKiBgc3JjL3Njc3MvaGVscGVycy9faWNvbnMuc2Nzc2AgKGN1c3RvbSB0cmVhdG1lbnRzKVxuLy9cbi8vIE1hcmt1cDogaWNvbnMuaHRtbFxuLy9cbi8vIHBhdHRlcm46IHRydWVcbi8vXG4vLyBTdHlsZWd1aWRlOiA5OS43XG5cbi5pY29ucyB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KFwiY2VudGVyXCIpO1xuICBwYWRkaW5nOiByZW0oJGctYnUgKiA0KTtcblxuICAmX19pdGVtIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gNSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgKiB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAmLS1sb2FkaW5nLXNwaW5uZXItbGFyZ2UsXG4gICAgJi0tbG9hZGluZy1zcGlubmVyLXNtYWxsLXdoaXRlIHtcbiAgICAgIC5oLWljb24ge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGxvYWRpbmctc3Bpbm5lci1hbmltYXRpb247XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgPiAuaC1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogODBweDtcbiAgICB9XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICBtYXJnaW46IHJlbSgkZy1idSkgMCAwO1xuICB9XG5cbiAgJl9faWQge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJl9faGV4IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsb2FkaW5nLXNwaW5uZXItYW5pbWF0aW9uIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuIiwiLy8gR3JpZFxuLy9cbi8vIFNpdGUgZGVmYXVsdCBHcmlkLlxuLy8gKiBgc3JjL3Njc3MvbGF5b3V0L19ncmlkLnNjc3NgIChyb3cgc3R5bGluZyBhbmQgZ2VuZXJpYyByZXNwb25zaXZlIGNvbHVtbnMpXG4vLyAqIGBzcmMvc2Nzcy9sYXlvdXQvX291dGVyLWNvbnRhaW5lci5zY3NzYCAocmVzcG9uc2l2ZSBsYXlvdXQgYm91bmRhcmllcylcbi8vICogYHNyYy9zY3NzL3Rvb2xzL19jYWxjLWdyaWQuc2Nzc2AgKG1peGlucylcbi8vICogYHNyYy9zY3NzL3Rvb2xzL19tZWRpYS5zY3NzYCAocmVzcG9uc2l2ZSBtaXhpbnMpXG4vLyAqIGBzcmMvc2Nzcy92YXJpYWJsZXMvX2dlbmVyYWwuc2Nzc2AgKHVuaXRzKVxuLy8gKiBgc3JjL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9ncmlkL2dyaWQuaHRtbGAgKGVsZW1lbnRzKVxuLy8gXG4vLyBTZWUgYWxzbzpcbi8vICogYHNyYy9zY3NzL2hlbHBlcnMvX2xheW91dC5zY3NzYCAocmVzcG9uc2l2ZSBoaWRpbmcgJiBzaG93aW5nKVxuLy8gKiBgc3JjL3Njc3MvaGVscGVycy9fb3JkZXIuc2Nzc2AgKHJlc3BvbnNpdmUgY29sdW1uIHJlb3JkZXJpbmcpXG4vLyAqIGBzcmMvc2Nzcy9oZWxwZXJzL19zdGF0ZS5zY3NzYCAobm9zY3JpcHQgaGlkaW5nICYgc2hvd2luZylcbi8vICogYHNyYy9zY3NzL3ZhcmlhYmxlcy9fYnJlYWtwb2ludHMuc2Nzc2AgKHJlc3BvbnNpdmUgYnJlYWtwb2ludHMpXG4vLyAqIGBzcmMvdGVtcGxhdGVzL2xheW91dHMvYCAoY3VzdG9tIHZhcmlhdGlvbnMpXG4vL1xuLy8gTWFya3VwOiBncmlkLmh0bWxcbi8vXG4vLyBwYXR0ZXJuOiB0cnVlXG4vL1xuLy8gU3R5bGVndWlkZTogOTkuMlxuXG4uZ3JpZC1wYXR0ZXJuIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgfVxuXG4gIFtjbGFzcyo9XCJncmlkLVwiXSB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgIGNvbG9yOiAjMjIyO1xuICB9XG5cbiAgLmdyaWQtMW9mMiB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDIpO1xuICB9XG5cbiAgLmdyaWQtMW9mMyB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDMpO1xuICB9XG5cbiAgLmdyaWQtMW9mNCB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDQpO1xuICB9XG5cbiAgLmdyaWQtMW9mMTIge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyAxMik7XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBsLTFcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMYXlvdXQgU3R5bGVzXG4vLyBVc2FnZSBpcyBhbHNvIGRvY3VtZW50ZWQgaW4gX2MtbGF5b3V0cy5zY3NzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmwtMSB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSGVhZGVyIC0gQ29udGVudFxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gUGFnZSBjb250ZW50IGhlYWRlcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0xLS1oZWFkZXItLWNvbnRlbnRcbiAgJi0taGVhZGVyLS1jb250ZW50IHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNCAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSGVhZGVyIC0gR3VpZGVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIEd1aWRlIHBhZ2UgY29udGVudCBoZWFkZXJzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMS0taGVhZGVyLS1ndWlkZVxuICAmLS1oZWFkZXItLWd1aWRlIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNSAvIDgsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBIZWFkZXIgLSBXaWRlXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBVbmRlcnN0YW5kIHBhZ2UgY29udGVudCBoZWFkZXJzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMS0taGVhZGVyLS13aWRlXG4gICYtLWhlYWRlci0td2lkZSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUGlubmVkIGFib3ZlIFJIIGNvbCBvZiBwYWdlIGd1aWRlXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBOYXYgLSBJbi1wYWdlIC0gcGlubmVkXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMS0tcGFnZS0tZ3VpZGUtLXBpbm5lZFxuICAmLS1wYWdlLS1ndWlkZS0tcGlubmVkIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgLy8gT24gZ3VpZGUgcGFnZXMgd2l0aCBzaWRlYmFyXG4gICAgICAubC0yLS1wYWdlLS1ndWlkZSAmIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyAvLyByaWdodCBhbGlnbiBjb2wgd2l0aGluIHJvdyAgICBcbiAgICAgIH1cblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUGFnZSAtIE5hcnJvd1xuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gRXJyb3IgcGFnZSwgXG4gIC8vIEhlbHAgcGFnZSwgXG4gIC8vIFNlYXJjaCBtb2RhbCBzZWFyY2ggZmllbGRcbiAgLy8gU2VhcmNoIG1vZGFsIHJlc3VsdHMgbWVzc2FnZSBcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0xLS1wYWdlLS1uYXJyb3dcbiAgJi0tcGFnZS0tbmFycm93IHtcblxuICAgIG1hcmdpbi1ib3R0b206IGJ1KDEwKTsgLy8gZXJyb3IgcGFnZVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNlYXJjaFxuICAvLyBXaWRlIGdyaWRcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA2IEdVSURFIExJU1QgU0VBUkNIIEFORCBGSUxURVIgKEd1aWRlIExpc3QgcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0xLS1zZWFyY2hcbiAgJi0tc2VhcmNoIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGp1c3RpZnk6IFwiZmxleC1lbmRcIik7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyAxMik7XG4gICAgICB9XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1zZWFyY2ggJiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2VhcmNoIFJlc3VsdHMgU3VtbWFyeVxuICAvLyBXaWRlIGdyaWRcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA2IEdVSURFIExJU1QgU0VBUkNIIEFORCBGSUxURVIgKEd1aWRlIExpc3QgcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0xLS1zZWFyY2gtcmVzdWx0cy1zdW1tYXJ5XG4gICYtLXNlYXJjaC1yZXN1bHRzLXN1bW1hcnkge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LWVuZFwiKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2VhcmNoIFJlc3VsdCBDb250ZW50XG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAxMC4wNCDigJQgU0VBUkNIIFJFU1VMVCAoU2VhcmNoIHBhZ2UpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMS0tc2VhcmNoLS1yZXN1bHQtY29udGVudFxuICAmLS1zZWFyY2gtLXJlc3VsdC1jb250ZW50IHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNiAvIDkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGwtMlxuLy9cbi8vIFNlZSBhbHNvIGxheW91dC9fei1pbmRleC5zY3NzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExheW91dCBTdHlsZXNcbi8vIFVzYWdlIGlzIGFsc28gZG9jdW1lbnRlZCBpbiBfYy1sYXlvdXRzLnNjc3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubC0yIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBDb250ZW50XG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wNyBHVUlERSBUSUxFUyAoSG9tZSBwYWdlIGd1aWRlIHRpbGVzKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLWNvbnRlbnRcbiAgJi0tY29udGVudCB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMgLyAxMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyAxMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBDb250ZW50IC0gRXhhbXBsZSBIb21lXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBFeGFtcGxlIC0gSG9tZVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLWNvbnRlbnQtLWV4YW1wbGUtaG9tZVxuICAmLS1jb250ZW50LS1leGFtcGxlLWhvbWUge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBHdWlkZVxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gTVVMVElQTEUgQ09NUE9ORU5UUyAoR3VpZGUgcGFnZSBjb250ZW50LCBIZWxwIHBhZ2UgY29udGVudCwgVW5kZXJzdGFuZCBwYWdlIGNvbnRlbnQpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tY29udGVudC0tZ3VpZGVcbiAgJi0tY29udGVudC0tZ3VpZGUge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig1IC8gOCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBmb3IgZ3VpZGUgcGFnZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRmlsdGVyXG4gIC8vIER1ZSB0byBkZXNpZ24gdXBkYXRlcyB0aGlzIGlzIG5vdyBhIGNsb25lIG9mXG4gIC8vIC5sLTItLWNvbnRlbnQtLWd1aWRlXG4gIC8vIFxuICAvLyBTaGFyZWQgYnkgR3VpZGUgKDIgY29sIHBhZ2UpXG4gIC8vIGFuZCBHdWlkZSBMaXN0aW5nICgxIGNvbCBwYWdlKVxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMDYgR1VJREUgTElTVCBTRUFSQ0ggQU5EIEZJTFRFUiAoR3VpZGUgTGlzdCBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLWZpbHRlclxuICAmLS1maWx0ZXIge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAvLyBwYWdlcyB0aGF0IGRvbid0IGhhdmUgYSBMSCBndWlkZSBuYXZcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcblxuICAgICAgICAgIC8vIHBhZ2VzIHRoYXQgZG8gaGF2ZSBhIExIIGd1aWRlIG5hdlxuICAgICAgICAgIC5sLTItLXBhZ2UtLWd1aWRlICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMyAvIDgsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIC8vIHBhZ2VzIHRoYXQgZG9uJ3QgaGF2ZSBhIExIIGd1aWRlIG5hdlxuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuXG4gICAgICAgICAgLy8gcGFnZXMgdGhhdCBkbyBoYXZlIGEgTEggZ3VpZGUgbmF2XG4gICAgICAgICAgLmwtMi0tcGFnZS0tZ3VpZGUgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig1IC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEZvb3RlclxuICAvL1xuICAvLyBVc2VkIGJ5OiBBbGwgZnVsbCBwYWdlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLWZvb3RlclxuICAmLS1mb290ZXIge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LXN0YXJ0XCIpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDcgLyAxMiwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHByaW50IHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR3VpZGUgVGlsZSAtIEZlYXR1cmVkXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wNyBHVUlERSBUSUxFIENPTVBPTkVOVCAoR3VpZGUgcGFnZTogTW9yZSBvcHRpb25zKVxuICAvLyBcbiAgLy8gTmFycm93XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBbIGltYWdlIHwgaGVhZGVyIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBcbiAgLy8gWC1XaWRlICgyLzIgY29sIGNvbnRhaW5lcilcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXVxuICAvLyAgICAgICAgIFsgZGVzYyAgIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXVxuICAvLyAgICAgICAgIFsgZGVzYyAgIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXVxuICAvLyAgICAgICAgIFsgZGVzYyAgIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1ndWlkZS10aWxlLS1mZWF0dXJlZFxuICAmLS1ndWlkZS10aWxlLS1mZWF0dXJlZCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTA0IC8gMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTUyIC8gMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgLy8gcHJldmVudCBjb250ZW50IGZyb20gdG91Y2hpbmcgdGhlIGVkZ2VcbiAgICAgICAgcGFkZGluZy1yaWdodDogYnUoMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigyNzAgLyA3NDgsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0NDggLyA3NDgsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR3VpZGUgVGlsZSAtIEZlYXR1cmVkIC0gTmV4dCBTdGVwc1xuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMDQgTkVYVCBTVEVQUyAoU3VnZ2VzdGlvbiBwYWdlLCBVbmRlcnN0YW5kIHBhZ2UpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tZ3VpZGUtdGlsZS0tZmVhdHVyZWQtLW5leHQtc3RlcHNcbiAgJi0tZ3VpZGUtdGlsZS0tZmVhdHVyZWQtLW5leHQtc3RlcHMge1xuXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOTkgLyAyNzgsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxNTUgLyAyNzgsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOTkgLyA0NTMsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzMjIgLyA0NTMsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR3VpZGUgVGlsZSAtIEZlYXR1cmVkIC0gVGFsbFxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMDcgR1VJREUgVElMRSBDT01QT05FTlQgKEhvbWUgcGFnZSlcbiAgLy8gXG4gIC8vIE5hcnJvd1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBbIGltYWdlIHwgaGVhZGVyIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gXG4gIC8vIFgtV2lkZSAoMS8xIGNvbCBjb250YWluZXIpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBpbWFnZSAgIHwgICBpbWFnZSAgIHwgICBpbWFnZVxuICAvLyBoZWFkZXIgIHwgICBoZWFkZXIgIHwgICBoZWFkZXJcbiAgLy8gZGVzYyAgICB8ICAgZGVzYyAgICB8ICAgZGVzY1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLWd1aWRlLXRpbGUtLWZlYXR1cmVkLS10YWxsXG4gICYtLWd1aWRlLXRpbGUtLWZlYXR1cmVkLS10YWxsIHtcblxuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEwNCAvIDI4MCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDE1MiAvIDI4MCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgIC8vIHByZXZlbnQgY29udGVudCBmcm9tIHRvdWNoaW5nIHRoZSBlZGdlXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgLmwtMy0tZ3VpZGUtdGlsZXMgJiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBmaXggdmVydGljYWwgYWxpZ25tZW50XG5cbiAgICAgIC5pZTExICYge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyAvLyBmaXggYnJva2VuIGFuZCBzdGFja2luZyBsYXlvdXRcbiAgICAgIH1cblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgLy8gaW1hZ2VcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTIgLyAxMiwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgaGVpZ2h0OiBidSg0Ni4yNSk7XG4gICAgICAgICAgbWF4LWhlaWdodDogYnUoNDYuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGV4dFxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEyIC8gMTIsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gLmwtMi0tZ3VpZGUtdGlsZS0tZmVhdHVyZWQtLXRhbGxfX2lubmVyXG4gICAgICAmX19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gbm90IHdvcmtpbmdcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTsgLy8gbm90IHdvcmtpbmdcblxuICAgICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAgIC8vIHRpdGxlICYgdGVhc2VyXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMSwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gcmVhZCBtb3JlIGxpbmtcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDEsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEd1aWRlIFRpbGUgLSBMaXN0aW5nXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wNyBHVUlERSBUSUxFIENPTVBPTkVOVCAoR3VpZGUgTGlzdGluZyBwYWdlKVxuICAvLyBcbiAgLy8gTmFycm93XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBbIGltYWdlIHwgaGVhZGVyIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBcbiAgLy8gV2lkZVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdIFsgZGVzYyBdXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBbIGltYWdlIHwgaGVhZGVyIF0gWyBkZXNjIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXSBbIGRlc2MgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLWd1aWRlLXRpbGUtLWxpc3RpbmdcbiAgJi0tZ3VpZGUtdGlsZS0tbGlzdGluZyB7XG5cbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigyODAgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAvLyBAaW5jbHVkZSBzcGFuLWNvbHVtbigxNjkgLyAyODAsIDBweCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgIC8vIGhpZGUgdGhlICczcmQnIGNvbHVtblxuICAgICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmwtMi0tZ3VpZGUtdGlsZS0tbGlzdGluZ19faW5uZXJcbiAgICAvLyBhdCB0aGUgbmFycm93IHdpZHRoLCB0aGUgbGlzdGluZyBpbm5lciBpcyBpZGVudGljYWwgdG8gb3RoZXIgdGlsZSAnb3V0ZXJzJ1xuICAgICZfX2lubmVyIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgLy8gMy41IGNvbHVtbnMgd2l0aCBndXR0ZXJzLCBkb3VibGUgZ3V0dGVyXG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTA0IC8gMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgLy8gNCBjb2x1bW5zIHdpdGggZ3V0dGVyc1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDE1MiAvIDI4MCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgLy8gcHJldmVudCBjb250ZW50IGZyb20gdG91Y2hpbmcgdGhlIGVkZ2VcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBidSgyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGp1c3RpZnk6IFwiZmxleC1zdGFydFwiKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNyAvIDEyLCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gMTIsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIC5sLTItLWd1aWRlLXRpbGUtLWxpc3RpbmdfX2lubmVyXG4gICAgICAmX19pbm5lciB7XG5cbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgLy8gMy41IGNvbHVtbnMgd2l0aCBndXR0ZXJzLCBkb3VibGUgZ3V0dGVyXG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzMjkgLyA2NTEsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAvLyA0IGNvbHVtbnMgd2l0aCBndXR0ZXJzXG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigyNjEgLyA2NTEsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBJbnRybyAtIEd1aWRlXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMy4wMSBHVUlERSBJTlRST0RVQ1RJT04gKEd1aWRlIHBhZ2UpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0taW50cm8tLWd1aWRlXG4gICYtLWludHJvLS1ndWlkZSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyA4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMyAvIDgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSW50cm8gLSBHdWlkZSBMaXN0aW5nXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMy4wMSBHVUlERSBJTlRST0RVQ1RJT04gKEd1aWRlIExpc3RpbmcgcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1pbnRyby0tZ3VpZGUtbGlzdGluZ1xuICAmLS1pbnRyby0tZ3VpZGUtbGlzdGluZyB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7IC8vICRqdXN0aWZ5OiBcImZsZXgtc3RhcnRcIik7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICAgIC8vQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMyAvIDEyLCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMywgJG1hcmdpbi1yaWdodC1mcmFjOiAxIC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgLy8gQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNyAvIDEyLCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMywgJG1hcmdpbi1yaWdodC1mcmFjOiAxIC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEludHJvIC0gSGVscFxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gSGVscCBwYWdlIGludHJvZHVjdGlvblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLWludHJvLS1oZWxwXG4gICYtLWludHJvLS1oZWxwIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTIgLyAxMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEyIC8gMTIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSW50cm8gLSBIb21lXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBIb21lIHBhZ2UgaW50cm9kdWN0aW9uXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0taW50cm8tLWhvbWVcbiAgJi0taW50cm8tLWhvbWUge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig2IC8gMTIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gMTIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSW50cm8gLSBTZWFyY2hcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIFNlYXJjaCBtb2RhbFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLWludHJvLS1zZWFyY2hcbiAgJi0taW50cm8tLXNlYXJjaCB7XG5cbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIpO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gMTIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEludHJvIC0gU3VnZ2VzdGlvblxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMTEgU0hBUkUgQU5EIE9VVFBVVCAoU3VnZ2VzdGlvbiBwYWdlKSwgXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0taW50cm8tLXN1Z2dlc3Rpb25cbiAgJi0taW50cm8tLXN1Z2dlc3Rpb24ge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig1IC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAvLyB3ZSB1c2UgdGhlIGd1dHRlciBjb2x1bW5cbiAgICAgICAgICAvLyB0byBwcmV2ZW50IHdyYXBwaW5nIGluc2lkZSBidXR0b25zXG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMyAvIDgsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigyIC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2VhcmNoIEhlYWRlclxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gU2VhcmNoIHBhZ2VcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1zZWFyY2gtLWhlYWRlclxuICAmLS1zZWFyY2gtLWhlYWRlciB7XG5cbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig3IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNSAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2hhcmUgLSBTdWdnZXN0aW9uIHNsaWRlXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4xMSBTSEFSRSBBTkQgT1VUUFVUIChTdWdnZXN0aW9uIHBhZ2UpLCBcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1zaGFyZS1zbGlkZVxuICAmLS1zaGFyZS1zbGlkZSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDUgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIC8vIHdlIHVzZSB0aGUgZ3V0dGVyIGNvbHVtblxuICAgICAgICAgIC8vIHRvIHByZXZlbnQgd3JhcHBpbmcgaW5zaWRlIGJ1dHRvbnNcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtd2lkZS1hbmQtdXApIHtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDIgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQcmVzZW50IE1vZGFsIC0gSGVhZGVyXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBTdWdnZXN0aW9uIHByZXNlbnQgbW9kYWxcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1tb2RhbC0taGVhZGVyLS1wcmVzZW50XG4gICYtLW1vZGFsLS1oZWFkZXItLXByZXNlbnQge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxMSAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHJlc2VudCBNb2RhbCAtIFBhZ2luYXRpb25cbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIFN1Z2dlc3Rpb24gcHJlc2VudCBtb2RhbFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLW1vZGFsLS1wYWdpbmF0aW9uLS1wcmVzZW50XG4gICYtLW1vZGFsLS1wYWdpbmF0aW9uLS1wcmVzZW50IHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDIsICRndXR0ZXItYm90dG9tOiAwKTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSGVhZGVyXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wMSBQUklNQVJZIE5BVklHQVRJT04gKGV4Y2VwdCBIb21lIHBhZ2UpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0taGVhZGVyXG4gICYtLWhlYWRlciB7XG5cbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxMDAvMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTgwLzI4MCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlLWFuZC11cCkge1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBOYXZpZ2F0aW9uIC0gUHJpbWFyeSAoSG9tZSlcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjAxIFBSSU1BUlkgTkFWSUdBVElPTiAoSG9tZSBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLW5hdi0tcHJpbWFyeS0taG9tZVxuICAmLS1uYXYtLXByaW1hcnktLWhvbWUge1xuXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDIpO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigyIC8gMTIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTmV4dCBTdGVwc1xuICAvLyBcbiAgLy8gSW5maW5pdGUgZ3JpZCB3aXRoIDIgaXRlbXMgcGVyIHJvdy5cbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIEd1aWRlIHBhZ2UgTmV4dCBTdGVwcywgXG4gIC8vIFN1Z2dlc3Rpb24gcGFnZSBOZXh0IFN0ZXBzLCBcbiAgLy8gVW5kZXJzdGFuZCBwYWdlIE5leHQgU3RlcHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1uZXh0LXN0ZXBzXG4gICYtLW5leHQtc3RlcHMge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LXN0YXJ0XCIpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gOCwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQYWdlIC0gR3VpZGVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIEd1aWRlIHBhZ2UsIFxuICAvLyBTdWdnZXN0aW9uIHBhZ2UsIFxuICAvLyBVbmRlcnN0YW5kIHBhZ2VcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1wYWdlLS1ndWlkZVxuICAmLS1wYWdlLS1ndWlkZSB7XG4gICAgQGluY2x1ZGUgbC0yLS1wYWdlLS1ndWlkZTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFJlc291cmNlXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wNSBSRVNPVVJDRSAoR3VpZGUgcGFnZSwgVW5kZXJzdGFuZCBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXJlc291cmNlXG4gICYtLXJlc291cmNlIHtcblxuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDU1IC8gMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMjAxIC8gMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDY3IC8gNzQ4LCAwcHgpOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig2MzQgLyA3NDgsIDBweCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBSZXNvdXJjZSAtIENvbnRlbnRcbiAgLy8gTmVzdGVkIHdpdGhpbiBSZXNvdXJjZVxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMDUgUkVTT1VSQ0UgKEd1aWRlIHBhZ2UsIFVuZGVyc3RhbmQgcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1yZXNvdXJjZS1jb250ZW50XG4gICYtLXJlc291cmNlLWNvbnRlbnQge1xuXG4gICAgLy8gcmVzZXQgZm9yIG5lc3RlZCBncmlkXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgIC8vIHJlc2V0IGZvciBuZXN0ZWQgZ3JpZFxuICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAmOmZpcnN0LWNoaWxkLFxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDEsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNCAvIDcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigyIC8gNyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBSZXNvdXJjZSAtIFNsaWRlXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4xMCBLTk9XTEVER0UgU0xJREUgKFN1Z2dlc3Rpb24gcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1yZXNvdXJjZS0tc2xpZGVcbiAgJi0tcmVzb3VyY2UtLXNsaWRlIHtcblxuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAvLyBzYW1lIGFzIHJlc291cmNlIGdyaWQgQCBuYXJyb3dcbiAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDU1IC8gMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMjAxIC8gMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDY3IC8gNDUwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTQwIC8gNzMwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDM1OSAvIDQ1MCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG5cbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDU1MyAvIDczMCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUmVzb3VyY2UgLSBTbGlkZSAtIExhcmdlXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4xMCBLTk9XTEVER0UgU0xJREUgKFN1Z2dlc3Rpb24gcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1yZXNvdXJjZS0tc2xpZGUtLWxhcmdlXG4gICYtLXJlc291cmNlLS1zbGlkZS0tbGFyZ2Uge1xuXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgIC8vIHNhbWUgYXMgcmVzb3VyY2UgZ3JpZCBAIG5hcnJvd1xuICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNTUgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigyMDEgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOTQgLyA0NTIsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigyNDggLyA3MzAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMzI2IC8gNDUyLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNDMwIC8gNzMwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTZWFyY2ggUmVzdWx0XG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAxMC4wNCDigJQgU0VBUkNIIFJFU1VMVCAoU2VhcmNoIHBhZ2UpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tc2VhcmNoLS1yZXN1bHRcbiAgJi0tc2VhcmNoLS1yZXN1bHQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGp1c3RpZnk6IFwiZmxleC1zdGFydFwiKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAvLyAyIGNvbHVtbnMgKyB0cmFpbGluZyBndXR0ZXJcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxOTQgLyAxMTMyLCAwcHgsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAyLCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgbWluLXdpZHRoOiBidSgyMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDkgLyAxMiwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNlYXJjaCBSZXN1bHQgd2l0aCBJbWFnZVxuICAvLyBOYXJyb3cgJiBYLVdpZGUgZ3JpZHNcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDEwLjA0IOKAlCBTRUFSQ0ggUkVTVUxUIChTZWFyY2ggcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1zZWFyY2gtLXJlc3VsdC13aXRoLWltYWdlXG4gICYtLXNlYXJjaC0tcmVzdWx0LXdpdGgtaW1hZ2Uge1xuXG4gICAgLy8gY2hpbGQgc2VsZWN0b3IgcHJldmVudHMgaW5oZXJpdGFuY2VcbiAgICAvLyBieSBuZXN0ZWQgZ3JpZCBsLTEtLXNlYXJjaC0tcmVzdWx0LWNvbnRlbnRcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4MCAvIDI0MCwgMHB4KTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgbWluLXdpZHRoOiBidSgyMCk7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDE0MCAvIDI0MCwgMHB4KTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB3aWRlIGxheW91dCBpcyB0aGUgc2FtZSBhcyBsLTItLXNlYXJjaC0tcmVzdWx0XG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LXN0YXJ0XCIpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAvLyAyIGNvbHVtbnMgKyB0cmFpbGluZyBndXR0ZXJcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxOTQgLyAxMTMyLCAwcHgsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAyLCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDkgLyAxMiwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNsaWRlXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wOCBFWEFNUExFIFNMSURFICYgMDAuMTAgS05PV0xFREdFIFNMSURFXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tc2xpZGVcbiAgJi0tc2xpZGUge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuXG4gICAgICAgICAgLy8gbW9kYWwgaXMgb25seSBzaG93biBvbiB3aWRlIGFuZCB1cFxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNCAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig1IC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuXG4gICAgICAgICAgLy8gbW9kYWwgaXMgb25seSBzaG93biBvbiB3aWRlIGFuZCB1cFxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2xpZGUgLSBVc2VzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwcmVzZW50IG1vZGFsXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wOCBFWEFNUExFIFNMSURFXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tc2xpZGUtLXByZXNlbnQtd2lkZVxuICAmLS1zbGlkZS0tcHJlc2VudC13aWRlIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMyAvIDgsICRndXR0ZXItYm90dG9tOiAwKTtcblxuICAgICAgICAgIC8vIG1vZGFsIGlzIG9ubHkgc2hvd24gb24gd2lkZSBhbmQgdXBcbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDUgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG5cbiAgICAgICAgICAvLyBtb2RhbCBpcyBvbmx5IHNob3duIG9uIHdpZGUgYW5kIHVwXG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIDUwLzUwIFNwbGl0XG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wMyBHVUlERSBTSURFLUJBUiBOQVZJR0FUSU9OXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tc3BsaXRcbiAgJi0tc3BsaXQge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDIsICRndXR0ZXI6IGJ1KDEpLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gNTAvNTAgU3BsaXQgKE1lZGl1bSAmIFVwKVxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gVklERU8gRU1CRUQgQ0FQVElPTlxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXNwbGl0LS1jb250ZW50LXdpZGUtYW5kLXVwXG4gICYtLXNwbGl0LS1jb250ZW50LXdpZGUtYW5kLXVwIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMiwgJGd1dHRlcjogYnUoMSksICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyA1MC81MCBTcGxpdCAtIFZlcnRpY2FsXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMy4wNSBHVUlERSBTVFJBVEVHWVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXZzcGxpdFxuICAmLS12c3BsaXQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMSwgJGd1dHRlcjogMCwgJGd1dHRlci1ib3R0b206IDApO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBsLTRcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMYXlvdXQgU3R5bGVzXG4vLyBVc2FnZSBpcyBhbHNvIGRvY3VtZW50ZWQgaW4gX2MtbGF5b3V0cy5zY3NzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmwtNCB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR3VpZGUgTGlzdCBGaWx0ZXJzXG4gIC8vIFdhcyBhIGdyaWQsIG5vdyBhbiBpbmxpbmUgbGlzdFxuICAvL1xuICAvLyBNIEd1aWRlOiAzIGNvbHVtbnMsIGxlZnQgYWxpZ25lZCB3aXRoIGZpeGVkIGdhcHNcbiAgLy8gTSBHdWlkZSBMaXN0aW5nOiA0IGNvbHVtbnMsIGxlZnQgYWxpZ25lZCB3aXRoIGZpeGVkIGdhcHNcbiAgLy8gTSBIb21lOiAzIGNvbHVtbnMsIGxlZnQgYWxpZ25lZCB3aXRoIGZpeGVkIGdhcHNcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA2IOKAlCBHVUlERSBMSVNUIFNFQVJDSCBBTkQgRklMVEVSXG4gIC8vIChIb21lIHBhZ2UsIEd1aWRlIHBhZ2UsIEd1aWRlIExpc3RpbmcgcGFnZSwgKyBTZWFyY2ggbW9kYWwpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtNC0tZ3VpZGUtbGlzdC1maWx0ZXJzXG4gICYtLWd1aWRlLWxpc3QtZmlsdGVycyB7XG4gICAgQGluY2x1ZGUgaC1saXN0LS1pbmxpbmU7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGJ1KDEpO1xuXG4gICAgICAvLyBUaGUgUmVzdWx0cyBmaWx0ZXIgaXMgYWx3YXlzIHZpc3VhbGx5aGlkZGVuXG4gICAgICAmLmgtdmlzdWFsbHloaWRkZW4sXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYnUoNik7XG5cbiAgICAgICAgLy8gVGhlIFJlc3VsdHMgZmlsdGVyIGlzIGFsd2F5cyB2aXN1YWxseWhpZGRlblxuICAgICAgICAmLmgtdmlzdWFsbHloaWRkZW4sXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1iZXR3ZWVuLW5hcnJvd2lzaC1hbmQtd2lkZWlzaCkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYnUoNCk7XG5cbiAgICAgICAgLy8gVGhlIFJlc3VsdHMgZmlsdGVyIGlzIGFsd2F5cyB2aXN1YWxseWhpZGRlblxuICAgICAgICAmLmgtdmlzdWFsbHloaWRkZW4sXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gbC0zXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGF5b3V0IFN0eWxlc1xuLy8gVXNhZ2UgaXMgYWxzbyBkb2N1bWVudGVkIGluIF9jLWxheW91dHMuc2Nzc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5sLTMge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEd1aWRlIHRpbGVzIChpbmZpbml0ZSBncmlkKVxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMDcgR1VJREUgVElMRVMgKEhvbWUgcGFnZSBndWlkZSB0aWxlcylcbiAgLy8gMSB8IDIgfCAzXG4gIC8vIDQgfCA1XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMy0tZ3VpZGUtdGlsZXNcbiAgJi0tZ3VpZGUtdGlsZXMge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LXN0YXJ0XCIpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gMTIsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAzLCAkZ3V0dGVyOiBidSgxLjUpLCAkZ3V0dGVyLWJvdHRvbTogYnUoMS41KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTmF2aWdhdGlvbiAtIEluLXBhZ2VcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjEzIOKAlCAoTm9uLXBpbm5lZCkgSU4tUEFHRSBOQVZJR0FUSU9OIChHdWlkZSBwYWdlLCBIZWxwIHBhZ2UsIFN1Z2dlc3Rpb24gcGFnZSwgVW5kZXJzdGFuZCBwYWdlKVxuICAvLyAxIHwgMiB8IDNcbiAgLy8gNCB8IDVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0zLS1uYXYtLWluLXBhZ2VcbiAgJi0tbmF2LS1pbi1wYWdlIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGp1c3RpZnk6IFwiZmxleC1zdGFydFwiKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBidSgtLjUpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMywgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTZWFyY2ggUmVzdWx0XG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAxMC4wNCDigJQgU0VBUkNIIFJFU1VMVCAoU2VhcmNoIHBhZ2UpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMy0tc2VhcmNoLS1yZXN1bHRcbiAgJi0tc2VhcmNoLS1yZXN1bHQge1xuXG4gICAgLmItbW9kYWwtanMtLXNlYXJjaCAmIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGp1c3RpZnk6IFwiZmxleC1zdGFydFwiKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIC8vIDIgY29sdW1ucyArIHRyYWlsaW5nIGd1dHRlclxuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDE5MiAvIDExMzIsIDBweCwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDMsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig1IC8gMTIsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAzLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNCAvIDEyLCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMywgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gVGV4dCBwcm9tb1xuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gLmItdGV4dC1wcm9tbyBvbiBob21lcGFnZVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTMtLXRleHQtcHJvbW9cbiAgJi0tdGV4dC1wcm9tbyB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gMTIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDUgLyAxMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMiAvIDEyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlcy9jb2xvdXJzLnNjc3NcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvbGF5b3V0LnNjc3NcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvdHlwb2dyYXBoeS5zY3NzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL3RyYW5zaXRpb25zLnNjc3NcIjtcblxuLy8gLS0tLS0tLS0gIHNpemVzICAtLS0tLS0tLVxuJGdhcC1iYXNlOiAwLjI3NzdyZW0gIWRlZmF1bHQ7IC8qIDVweCBnYXAsIHZlcnRpY2lhbCBhbGlnbm1lbnQgKi9cbiRpY29uLXNpemU6IDIuNXJlbTtcbiRzaXplLWhlYWRlci1oZWlnaHQ6IDQuNzVyZW07XG5cbiRzaXplLWNhcmQtd2lkdGg6IDEycmVtO1xuJHNpemUtY2FyZC1oZWlnaHQ6IDEzcmVtO1xuJHNpemUtYWNjb3JkaW9uLXRvZ2dsZS13aWR0aDogMjlweDtcblxuLy8gLS0tLS0tLS0gIHJhdGlvcyAtLS0tLS0tLVxuJHJhdGlvLTE2eDk6IDU2LjI1JTtcblxuLy8gLS0tLS0tLS0gIHNoYWRvd3MgIC0tLS0tLS0tXG4kc2hhZG93LXN0YW5kYXJkOiAwIDAuMXJlbSAxcmVtIHRyYW5zcGFyZW50aXplKCRjb2xvci1ibGFjaywgMC45NSk7XG4kc2hhZG93LXRleHQ6IDAgLTAuMDVyZW0gMC4xcmVtIHRyYW5zcGFyZW50aXplKCRjb2xvci1ibGFjaywgMC45KTtcbiRzaGFkb3ctZHJvcDogMCAwLjVyZW0gMXJlbSAwIHRyYW5zcGFyZW50aXplKCRjb2xvci1ibGFjaywgMC45KTtcbiRzaGFkb3ctZHJvcC1hY3RpdmU6IC0wLjI1cmVtIDAgMC41cmVtIC0wLjI1cmVtICRjb2xvci1ibGFjaztcblxuLy8gLS0tLS0tLS0gIGJvcmRlciAgLS0tLS0tLS1cblxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaXQtYmxhY2tsaXN0ICovXG4kYm9yZGVyLXdpZHRoOiAxcHg7XG4kYm9yZGVyLXdpZHRoLXJlbTogMC4wMjVyZW07XG5cbiRib3JkZXItd2lkdGgtYnV0dG9uOiAkYm9yZGVyLXdpZHRoICogMjtcbiRib3JkZXItc3RhbmRhcmQ6ICN7JGJvcmRlci13aWR0aH0gc29saWQgJGNvbG9yLWdyZXktMTEwO1xuJGJvcmRlci13aGl0ZTogI3skYm9yZGVyLXdpZHRofSBzb2xpZCAkY29sb3Itd2hpdGU7XG4kYm9yZGVyLXRyYW5zcGFyZW50OiAjeyRib3JkZXItd2lkdGgqMn0gc29saWQgdHJhbnNwYXJlbnQ7XG4kYm9yZGVyLXRyYW5zbHVjZW50OiAjeyRib3JkZXItd2lkdGgqMn0gc29saWQgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXdoaXRlLCAwLjc1KTtcbiRib3JkZXItdHJhbnNsdWNlbnQtcHVycGxlOiAjeyRib3JkZXItd2lkdGgqMn0gc29saWQgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXB1cnBsZSwgMC43NSk7XG4kYm9yZGVyLW1pZDogI3skYm9yZGVyLXdpZHRofSBzb2xpZCAkY29sb3ItZ3JleS0yMDA7XG4kYm9yZGVyLWJ1dHRvbjogJGJvcmRlci13aWR0aC1idXR0b24gc29saWQgJGNvbG9yLWJsdWU7XG4kYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiRib3JkZXItcmFkaXVzLWxhcmdlOiAxcmVtO1xuXG5cbi8vIC0tLS0tLS0tICB6IGxheWVycyAtLS0tLS0tLVxuJHotbW9kYWw6IDMwO1xuJHotbWVudTogMjA7XG4kei10b2dnbGU6IDE1O1xuJHotYnVmZmVyczogMTA7XG4kei1kZWZhdWx0OiAxO1xuJHotYmVsb3c6IC0xMDtcblxuLy8gLS0tLS0tLS0gIHByaW50ICAtLS0tLS0tLVxuJHByaW50LXBhZ2U6IGE0ICFkZWZhdWx0O1xuJHByaW50LW1hcmdpbjogMS41Y20gMWNtICFkZWZhdWx0O1xuJHByaW50LW9ycGhhbnM6IDMgIWRlZmF1bHQ7XG4kcHJpbnQtd2lkb3dzOiAzICFkZWZhdWx0O1xuIiwiLm5hdmJhci1oZWFkZXIgLnNlYXJjaC1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgd2lkdGg6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmhlYWRlci1zZWFyY2gtcGFuZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLWhlYWRlci1oZWlnaHQpKTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTgwMDtcbiAgei1pbmRleDogMTAwO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC44MjAsIDAuMDg1LCAwLjM5NSwgMC44OTUpO1xuXG4gIG9sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5haXMtU3RhdHMtdGV4dCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMjBweCAyMHB4IDlweCAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGZvbnQteHhzbWFsbCgpO1xuICB9XG5cblxuICAuYWlzLVBhZ2luYXRpb24tbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAuYWlzLVBhZ2luYXRpb24taXRlbS0tZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuYWlzLVBhZ2luYXRpb24tbGluayB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyZXktNjAwO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTcwMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBAaW5jbHVkZSBmb250LXhzbWFsbCgpO1xuICB9XG5cbiAgLmFpcy1IaXRzLWl0ZW0ge1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogOXB4IDIwcHggOXB4IDIwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXktNzAwO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmhpdC1uYW1lIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc21hbGwoKTtcblxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAuaGl0LWRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgQGluY2x1ZGUgZm9udC14eHNtYWxsKCk7XG4gICAgfVxuXG4gICAgLmhpdC1saW5rIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgIEBpbmNsdWRlIGZvbnQteHhzbWFsbCgpO1xuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQpKTtcbn1cblxuLmhlYWRlci1zZWFyY2gtaW5wdXQge1xuICAuYWlzLVNlYXJjaEJveC1pbnB1dCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gICAgcGFkZGluZzogMCB2YXIoLS1oZWFkZXItaGVpZ2h0KSAwIDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmV5LTYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmFpcy1TZWFyY2hCb3gtc3VibWl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zZWFyY2gtcGFuZS1vcGVuIHtcbiAgLmhlYWRlci1zZWFyY2gtcGFuZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYm9keSB7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG59XG5cbi5oZWFkZXItc2VhcmNoX2Nsb3NlIHtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBsaW5lLWhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIGNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xufVxuXG4vKiBjbGVhcnMgdGhlICdYJyBmcm9tIEludGVybmV0IEV4cGxvcmVyICovXG4uYWlzLVNlYXJjaEJveC1pbnB1dFt0eXBlPXNlYXJjaF06Oi1tcy1jbGVhcixcbi5haXMtU2VhcmNoQm94LWlucHV0W3R5cGU9c2VhcmNoXTo6LW1zLXJldmVhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qIGNsZWFycyB0aGUgJ1gnIGZyb20gQ2hyb21lICovXG4uYWlzLVNlYXJjaEJveC1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuLmFpcy1TZWFyY2hCb3gtaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi5haXMtU2VhcmNoQm94LWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuLmFpcy1TZWFyY2hCb3gtaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8vIC0tLS0tLS0tICBicmFuZCBjb2xvcnMgIC0tLS0tLS0tXG5cbi8vIHB1cnBsZVxuJGNvbG9yLXB1cnBsZS05MDA6ICMyRjFCNTUgIWRlZmF1bHQ7XG4kY29sb3ItcHVycGxlLTgwMDogIzI3MjA4MiAhZGVmYXVsdDtcbiRjb2xvci1wdXJwbGUtNjAwOiAjNEUyNDhCICFkZWZhdWx0O1xuJGNvbG9yLXB1cnBsZS01MDA6ICM0RTIzOEMgIWRlZmF1bHQ7XG4kY29sb3ItcHVycGxlLTQwMDogIzUwMjE4OSAhZGVmYXVsdDtcbiRjb2xvci1wdXJwbGUtMTAwOiAjRjBFRkY1ICFkZWZhdWx0O1xuJGNvbG9yLXB1cnBsZTogJGNvbG9yLXB1cnBsZS01MDA7XG5cbi8vIHJlZFxuJGNvbG9yLXJlZC03MDA6ICNFMjFBNDAgIWRlZmF1bHQ7XG4kY29sb3ItcmVkLTUwMDogI0U0MjQzQiAhZGVmYXVsdDtcbiRjb2xvci1yZWQtNDAwOiAjRjQyQzQ5ICFkZWZhdWx0O1xuJGNvbG9yLXJlZDogJGNvbG9yLXJlZC01MDA7XG5cbi8vIG1lbG9uXG4kY29sb3ItbWVsb24tNzAwOiAjRkY5QzBEICFkZWZhdWx0O1xuJGNvbG9yLW1lbG9uLTUwMDogI0ZGQUMyNyAhZGVmYXVsdDtcbiRjb2xvci1tZWxvbi00MDA6ICNGQjIgIWRlZmF1bHQ7XG4kY29sb3ItbWVsb246ICRjb2xvci1tZWxvbi01MDA7XG5cbi8vIHllbGxvd1xuJGNvbG9yLXllbGxvdy03MDA6ICNFNUJFM0QgIWRlZmF1bHQ7XG4kY29sb3IteWVsbG93LTUwMDogI0ZGRDQ0NCAhZGVmYXVsdDtcbiRjb2xvci15ZWxsb3c6ICRjb2xvci15ZWxsb3ctNTAwO1xuXG5cbi8vIGJsdWVzXG4kY29sb3ItYmx1ZS0yMDA6ICM2Q0FDRTQgIWRlZmF1bHQ7XG4kY29sb3ItYmx1ZS0zMDA6ICMyNEE3RkYgIWRlZmF1bHQ7XG4kY29sb3ItYmx1ZS00MDA6ICMwMDhDRkYgIWRlZmF1bHQ7XG4kY29sb3ItYmx1ZS01MDA6ICMxNDcwRTEgIWRlZmF1bHQ7XG4kY29sb3ItYmx1ZS02MDA6ICMxMzMzZTcgIWRlZmF1bHQ7XG4kY29sb3ItYmx1ZS03MDA6ICMwRTVDQkEgIWRlZmF1bHQ7XG4kY29sb3ItYmx1ZS04MDA6ICMwNzJkNWQgIWRlZmF1bHQ7XG5cbiRjb2xvci1ibHVlOiAkY29sb3ItYmx1ZS01MDA7XG4kY29sb3ItYmx1ZS1kYXJrOiAkY29sb3ItYmx1ZS02MDA7XG4kY29sb3ItYmx1ZS1kYXJrZXI6ICRjb2xvci1ibHVlLTcwMDtcblxuLy8gZ3JleXNcbiRjb2xvci1ibGFjazogIzA1MDUwNSAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LTk1MDogIzEyMTIxMiAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LTkwMDogIzFFMjIyOSAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LTgwMDogIzJDMkMyQyAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LTcwMDogIzRhNGE0YSAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LTYwMDogIzVlNWU1ZSAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LTUwMDogIzgwODA4MCAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LTM1MDogI0EwQTBBMCAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LTMwMDogI0E3QTlBQyAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LTIwMDogI0I3QjdCNyAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LTE1MDogI0U2RTdFOCAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LTExMDogI0U0RTZFMiAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LTEwMDogI0VBRUFFQSAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LTUwOiAjRkFGQUZBICFkZWZhdWx0O1xuJGNvbG9yLXdoaXRlOiAjRkZGICFkZWZhdWx0O1xuJGNvbG9yLWdyZXk6ICNFQUU5RjM7XG5cbi8vIG1hcHBpbmdzXG4kY29sb3ItYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGNvbG9yLXRleHQ6ICRjb2xvci1ncmV5LTgwMCAhZGVmYXVsdDtcblxuLy8gbGVnYWN5IG1hcHBpbmdzXG4kY29sb3IteGRhcmstZ3JleTogJGNvbG9yLWdyZXktNjAwICFkZWZhdWx0O1xuJGNvbG9yLWRhcmstZ3JleTogJGNvbG9yLWdyZXktNTAwICFkZWZhdWx0O1xuJGNvbG9yLW1pZC1ncmV5OiAkY29sb3ItZ3JleS0yMDAgIWRlZmF1bHQ7XG4kY29sb3ItY2hhcmNvYWw6ICRjb2xvci1ncmV5LTk1MCAhZGVmYXVsdDtcbiRjb2xvci1jaGFyY29hbC1taWQ6ICRjb2xvci1ncmV5LTkwMCAhZGVmYXVsdDtcbiRjb2xvci1jaGFyY29hbC1taWQtMjogJGNvbG9yLWdyZXktODAwICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktaWNvbjogJGNvbG9yLWdyZXktMzUwICFkZWZhdWx0O1xuJGNvbG9yLWRpc2FibGVkLWJvcmRlcjogJGNvbG9yLWdyZXktMzAwICFkZWZhdWx0O1xuJGNvbG9yLWRpc2FibGVkLWJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTE1MCAhZGVmYXVsdDtcbiRjb2xvci1wYWxlLWdyZXk6ICRjb2xvci1ncmV5LTExMCFkZWZhdWx0O1xuJGNvbG9yLWxpZ2h0LWdyZXk6ICRjb2xvci1ncmV5LTEwMCAhZGVmYXVsdDtcbiRjb2xvci14bGlnaHQtZ3JleTogJGNvbG9yLWdyZXktNTAgIWRlZmF1bHQ7XG4kY29sb3ItZ3JleS10ZXh0OiAkY29sb3ItZ3JleS04MDAgIWRlZmF1bHQ7XG5cblxuLy8gLS0tLS0tLS0gIGdyYWRpZW50cyAgLS0tLS0tLS1cbiRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KFxuICAxMjBkZWcsXG4gIHRyYW5zcGFyZW50aXplKCRjb2xvci1ncmV5LTExMCwgMC4yKSAyMCUsXG4gIHRyYW5zcGFyZW50aXplKCRjb2xvci1ncmV5LTExMCwgMC4yKSA0MCUsXG4gIHRyYW5zcGFyZW50aXplKCRjb2xvci1wdXJwbGUtOTAwLCAwLjkpIDUwJSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLWdyZXktMTEwLCAwLjIpIDYwJSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLWdyZXktMTEwLCAwLjIpIDgwJVxuKTtcblxuJGdyYWRpZW50LWxpZ2h0OiBsaW5lYXItZ3JhZGllbnQoXG4gIDEyMGRlZyxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXdoaXRlLCAwLjYpIDIwJSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXdoaXRlLCAwLjYpIDM1JSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXdoaXRlLCAwLjEpIDUwJSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXdoaXRlLCAwLjYpIDY1JSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXdoaXRlLCAwLjYpIDgwJVxuKTtcblxuJGdyYWRpZW50LXByaW1hcnk6IGxpbmVhci1ncmFkaWVudChcbiAgMTIwZGVnLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItcHVycGxlLCAwLjkpIDIwJSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXB1cnBsZSwgMC45KSAzNSUsXG4gIHRyYW5zcGFyZW50aXplKCRjb2xvci1wdXJwbGUsIDAuOCkgNTAlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItcHVycGxlLCAwLjkpIDY1JSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXB1cnBsZSwgMC45KSA4MCVcbik7XG5cbiRncmFkaWVudC1kYXJrOiBsaW5lYXItZ3JhZGllbnQoXG4gIDEyMGRlZyxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXB1cnBsZS05MDAsIDAuNikgMjAlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItcHVycGxlLTkwMCwgMC42KSAzNSUsXG4gIHRyYW5zcGFyZW50aXplKCRjb2xvci1wdXJwbGUtOTAwLCAwLjQpIDUwJSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXB1cnBsZS05MDAsIDAuNikgNjUlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItcHVycGxlLTkwMCwgMC42KSA4MCVcbik7XG5cbi8vIC0tLS0tLS0tICBvcGFjaXRpZXMgIC0tLS0tLS0tXG4kb3BhY2l0eS1zZW1pLXRyYW5zbHVjZW50OiAwLjAyO1xuJG9wYWNpdHktdHJhbnNsdWNlbnQ6IDAuMzU7XG4kb3BhY2l0eS12ZXJ5LXRyYW5zbHVjZW50OiAwLjY7XG4kb3BhY2l0eS1zZW1pLXRyYW5zcGFyZW50OiAwLjg7XG4iLCJAbWl4aW4gZm9udC14eHNtYWxsKCkge1xuICBmb250LXNpemU6ICRmb250LXNpemUteHhzbWFsbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC14eHNtYWxsO1xufVxuXG5AbWl4aW4gZm9udC14c21hbGwoKSB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14c21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQteHNtYWxsO1xufVxuXG5AbWl4aW4gZm9udC1zbWFsbCgpIHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXNtYWxsO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDE2cmVtO1xufVxuXG5AbWl4aW4gZm9udC1ib2R5KCkge1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDM4cmVtO1xufVxuXG5AbWl4aW4gZm9udC1tZWRpdW0oKSB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW07XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNDRyZW07XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbWVkaXVtO1xufVxuXG5AbWl4aW4gZm9udC14bWVkaXVtKCkge1xuICBmb250LXNpemU6ICRmb250LXNpemUteG1lZGl1bTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0NHJlbTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC14bWVkaXVtO1xufVxuXG5AbWl4aW4gZm9udC14eG1lZGl1bSgpIHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXh4bWVkaXVtO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDQ0cmVtO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXh4bWVkaXVtO1xufVxuXG5AbWl4aW4gaGVhZGluZy1jb21tb24oKSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IGdhcC1zaXplKDEvMikgMCBnYXAtc2l6ZSgxLzQpO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXG4gICYgPiBhOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVlbTtcbiAgfVxufVxuXG4vLyBIMSBzcGVjaWZpYyBzdHlsZXNcbkBtaXhpbiBoZWFkaW5nLWgxKCkge1xuICBAaW5jbHVkZSBoZWFkaW5nLWNvbW1vbjtcblxuICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xNjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGFyZ2U7XG4gIG1hcmdpbjogZ2FwLXNpemUoMCkgMCBnYXAtc2l6ZSgwKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ibGFjaztcblxuICBAaW5jbHVkZSBicmVha3BvaW50LW1kLWRvd24oKSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXh4bWVkaXVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wODhyZW07XG4gIH1cbn1cblxuLy8gSDIgc3BlY2lmaWMgc3R5bGVzXG5AbWl4aW4gaGVhZGluZy1oMigpIHtcbiAgQGluY2x1ZGUgaGVhZGluZy1jb21tb247XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXh4bWVkaXVtO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWgyO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDc3cmVtO1xuICBtYXJnaW46IGdhcC1zaXplKDIpIDAgZ2FwLXNpemUoMS8yKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ibGFjaztcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiBnYXAtc2l6ZSgyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWQtZG93bigpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUteG1lZGl1bTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTFweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtc20tZG93bigpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbWVkaXVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICB9XG59XG5cbi8vIEgzIHNwZWNpZmljIHN0eWxlc1xuQG1peGluIGhlYWRpbmctaDMoKSB7XG4gIEBpbmNsdWRlIGhlYWRpbmctY29tbW9uO1xuICBmb250LXNpemU6ICRmb250LXNpemUteG1lZGl1bTtcbiAgbGluZS1oZWlnaHQ6IDEuMTMzO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDQ0cmVtO1xuICBtYXJnaW46IGdhcC1zaXplKDApIDAgZ2FwLXNpemUoMS8yKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ibGFjaztcblxuICBAaW5jbHVkZSBicmVha3BvaW50LXNtLWRvd24oKSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIH1cbn1cblxuLy8gSDQgc3BlY2lmaWMgc3R5bGVzXG5AbWl4aW4gaGVhZGluZy1oNCgpIHtcbiAgQGluY2x1ZGUgaGVhZGluZy1jb21tb247XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxLjM4ODtcbiAgbWFyZ2luOiBnYXAtc2l6ZSgwKSAwIGdhcC1zaXplKDEvMik7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMzhyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1zbS1kb3duKCkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXNtYWxsO1xuICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nLWg1KCkge1xuICBAaW5jbHVkZSBoZWFkaW5nLWNvbW1vbjtcblxuICBmb250LXNpemU6IDAuODMzcmVtO1xuICBsaW5lLWhlaWdodDogMS42NjY7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMTFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbkBtaXhpbiBoZWFkaW5nLWg2KCkge1xuICBAaW5jbHVkZSBoZWFkaW5nLWNvbW1vbjtcblxuICBmb250LXNpemU6IDAuNjMzcmVtO1xuICBsaW5lLWhlaWdodDogMS4zODg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMDZyZW07XG59XG4iLCJcbi8vIC0tLS0tLS0tICBmb250ICgxOHB4IGJhc2UsIHNob3VsZCBiZSBzZXQgb24gaHRtbCkgLS0tLS0tLS1cbi8vIGh0dHBzOi8vbW9lLXdlYnNlcnZpY2VzLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvV1NUL3BhZ2VzLzEwNzkzNzgxNC9UeXBvZ3JhcGh5XG4kZm9udC1mYW1pbHk6IFwiR290aGFtIFNTbSBBXCIsIFwiR290aGFtIFNTbSBCXCIsIFwiR290aGFtXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuJGZvbnQtZmFtaWx5LW1vbm86IFNGTW9uby1SZWd1bGFyLENvbnNvbGFzLExpYmVyYXRpb24gTW9ubyxNZW5sbyxtb25vc3BhY2U7XG4kZm9udC1zaXplLXh4eHhzbWFsbDogMC41cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14eHhzbWFsbDogMC42NXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUteHhzbWFsbDogMC43MjJyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhzbWFsbDogMC44MzMzcmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbWFsbDogMC45cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1ib2R5OiAxcmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlOiAxcmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1tZWRpdW06IDEuMjUwcmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14bWVkaXVtOiAxLjU2M3JlbSAhZGVmYXVsdDtcbiRmb250LXNpemUteHhtZWRpdW06IDEuOTUzcmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZTogMi40NDFyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhsYXJnZTogMy41NTJyZW0gIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC14eHNtYWxsOiAxLjM4NDYgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQteHNtYWxsOiAxLjMzMzMgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc21hbGw6IDEuNTYyNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAxLjY2NjYgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtbWlkOiAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYm9keTogMS42NjY2ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LW1lZGl1bTogMS4zMzMzICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXhtZWRpdW06IDEuMjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQteHhtZWRpdW06IDEuMjIyMiAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sYXJnZTogMS4xMzYgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtaDI6IDEuNDI4NTcgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodDogMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1tZWRpdW06IDUwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1zZW1pLWJvbGQ6IDYwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYmxhY2s6IDgwMCAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCJzZWFyY2guc2Nzc1wiO1xuXG46cm9vdCB7XG4gIC0taGVhZGVyLWhlaWdodDogODBweDtcbiAgLS1oZWFkZXItYmFja2dyb3VuZDogI2ZmZjtcbiAgLS1oZWFkZXItdGV4dC1jb2xvcjogI3skY29sb3ItZ3JleS04MDB9O1xuICAtLWhlYWRlci1saW5rLWNvbG9yOiAjeyRjb2xvci1ibHVlfTtcbiAgLS1oZWFkZXItaWNvbi1jb2xvcjogI3skY29sb3ItYmx1ZX07XG4gIC0taGVhZGVyLWxpbmstaG92ZXItY29sb3I6ICN7JGNvbG9yLWJsdWV9O1xuICAtLWhlYWRlci1sb2dvLXVybDogdXJsKCcvX3Jlc291cmNlcy92ZW5kb3IvZWR1Y2F0aW9uLW56L21vZS1zdGFuZGFyZC1oZWFkZXIvY2xpZW50L2ltZy9NT0VfaWNvbl9sb2dvX2JsYWNrLnN2ZycpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWwtZG93bigpIHtcbiAgICAtLWhlYWRlci1oZWlnaHQ6IDYwcHg7XG4gIH1cbn1cblxuYm9keVtkYXRhLWRhcmstaGVhZGVyXSB7XG4gIC0taGVhZGVyLWJhY2tncm91bmQ6ICN7JGNvbG9yLWdyZXktODAwfTtcbiAgLS1oZWFkZXItdGV4dC1jb2xvcjogI2ZmZjtcbiAgLS1oZWFkZXItbGluay1jb2xvcjogI2ZmZjtcbiAgLS1oZWFkZXItaWNvbi1jb2xvcjogI2ZmZjtcbiAgLS1oZWFkZXItbGluay1ob3Zlci1jb2xvcjogI2ZmZjtcbiAgLS1oZWFkZXItbG9nby11cmw6IHVybCgnL19yZXNvdXJjZXMvdmVuZG9yL2VkdWNhdGlvbi1uei9tb2Utc3RhbmRhcmQtaGVhZGVyL2NsaWVudC9pbWcvTU9FX2ljb25fbG9nb193aGl0ZS5zdmcnKTtcbn1cblxuYm9keVtkYXRhLWhlYWRlci1zdGF0aWNdIHtcbiAgLm5hdmJhciB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuXG4gIC5ib2R5IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG4vKipcbiAqIFN0eWxlcyBmb3IgdGhlIGdlbmVyaWMgTW9FIGhlYWRlci5cbiAqXG4gKiBOb3RlIHRoYXQgdGhlc2Ugc3R5bGVzIHdpbGwgdXNlIGhlbHBlciBjbGFzc2VzIHJhdGhlciB0aGFuIGJyZWFrcG9pbnRzIGluXG4gKiBtYW55IGNhc2VzIHNpbmNlIHRvIGFsbG93IGZvciBlYXNpZXIgcGVyLXNpdGUgY2hhbmdlcyB0aGUgbW9iaWxlIG1lbnUgY2FuIGJlXG4gKiBjdXN0b21pc2VkIHZpYSBIVE1MIGRhdGEgYXR0cmlidXRlcyAtIGUuZyBkYXRhLW1lbnUtbW9iaWxlLWJyZWFrcG9pbnQ9XCIxMTgwXCJcbiAqXG4gKiBPdGhlciBjbGFzc2VzIGFyZSBhcHBsaWVkIHRvIHRoZSA8aHRtbD4gdG8gaW5kaWNhdGUgc3RhdGVcbiAqXG4gKiAtIGBzZWFyY2gtcGFuZS1vcGVuYFxuICogLSBgbWVudS1pcy1hY3RpdmVgXG4gKi9cbmJvZHksXG5odG1sIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5ib2R5IHtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvci15OiBub25lO1xufVxuXG4ubm9udmlzdWFsLWluZGljYXRvcixcbi52aXN1YWxseWhpZGRlbixcbi52aXN1YWxseS1oaWRkZW4sXG4uYWNjZXNzLFxuLmhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLm5hdmJhciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWhlYWRlci1iYWNrZ3JvdW5kKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA0MDtcbiAgaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgYm94LXNoYWRvdzogMCAwIDAuNXJlbSByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50LW1sLWRvd24oKSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taGVhZGVyLWJhY2tncm91bmQpO1xuICB9XG5cbiAgJiA+IC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWwtZG93bigpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIG1hcmdpbjogMCAwO1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgYSB7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tbGlua3M7XG4gICAgY29sb3I6IHZhcigtLWhlYWRlci1saW5rLWNvbG9yKTtcbiAgfVxuXG4gICYubmF2YmFyX19zaXplX3NtYWxsIHtcbiAgICAtLWhlYWRlci1oZWlnaHQ6IDU0cHg7XG4gIH1cbn1cblxuLyogc3BhY2UgZm9yIHRoZSBmaXhlZCBoZWFkZXIsIGZhZGVzIG91dCB3aGVuIHRoZSBtZW51IGlzIG9wZW4gKi9cbi5ib2R5IHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4ubmF2YmFyICsgZGl2IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG59XG5cbi5uYXZiYXItYnJhbmQtLWxvZ28ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1oZWFkZXItbG9nby11cmwpIGxlZnQgY2VudGVyIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS1oZWFkZXItaGVpZ2h0KSB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgd2lkdGg6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5uYXZiYXItYnJhbmQge1xuICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXdlaWdodDogOTAwO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBjb2xvcjogdmFyKC0taGVhZGVyLXRleHQtY29sb3IpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDM4cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBzcGFuIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1sLWRvd24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC1kb3duKCkge1xuICAgIGZvbnQtc2l6ZTogMC45NHJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtc20tZG93biB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXh4c21hbGw7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWhlYWRlci10ZXh0LWNvbG9yKTtcbiAgfVxufVxuXG4ubmF2YmFyLW1lbnUtLWhvbGRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5uYXZiYXItbWVudSB7XG4gIEBpbmNsdWRlIGhpZGVTY3JvbGxiYXI7XG5cbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLmhhcy1kcm9wZG93biB7XG4gICAgLm5hdmJhci1kcm9wZG93biB7XG4gICAgICB0b3A6IGNhbGMoMTAwJSArIDAuMjVyZW0pO1xuICAgIH1cblxuICAgIC5uYXZiYXItbGluayB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjFyZW07XG4gICAgfVxuXG4gICAgLmlzLWV4cGFuZGVkICsgLm5hdmJhci1kcm9wZG93biB7XG4gICAgICB0b3A6IGNhbGMoMTAwJSArIDAuM3JlbSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAvKiBsYXN0IG9uZSBnb2VzIGxlZnQgcmF0aGVyIHRoYW4gcmlnaHQgKi9cbiAgICAgICAgLm5hdmJhci1kcm9wZG93biB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgIC5hcnJvdy11cCB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1pdGVtLFxuICAubmF2YmFyLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxMnJlbTtcbiAgICBwYWRkaW5nOiBnYXAtc2l6ZSgxKSAwO1xuICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItdGV4dC1jb2xvcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC11cCgpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogZ2FwLXNpemUoMSk7XG4gICAgICBtYXJnaW4tbGVmdDogZ2FwLXNpemUoMSlcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgQGluY2x1ZGUgdHJ1bmNhdGUoKTtcbiAgfVxuXG4gIC5uYXZiYXItc2VwZXJhdG9yIHtcbiAgICBmb250LXNpemU6IDA7XG4gICAgd2lkdGg6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1ncmV5LTEwMDtcbiAgICBtYXJnaW46IDAgZ2FwLXNpemUoMiwgMC41KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICArIGEge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taGVhZGVyLWxpbmstY29sb3IpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IHZhcigtLWhlYWRlci1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJiA+IGEsXG4gICYgPiAubmF2YmFyLWl0ZW0gPiBhIHtcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IHZhcigtLWhlYWRlci1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWwtZG93bigpIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0xMDA7XG4gICAgcGFkZGluZzogMjBweDtcblxuICAgIC5uYXZiYXItbGluayB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2YmFyLWRyb3Bkb3duIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXIubmF2YmFyLmhhcy1zaGFkb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VhZWFlYTtcbn1cblxuLm5hdmJhci1pdGVtOmhvdmVyIC5uYXZiYXItbGluayB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi5uYXZiYXItbGluayB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGUtY2hpbGRyZW4ge1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMC40cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDAuM3JlbSk7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwLjRyZW07XG4gICAgICB3aWR0aDogMC40cmVtO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWJsdWU7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wOiAwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50LW1sLWRvd24oKSB7XG4gICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1leHBhbmRlZCB7XG4gICAgLm5hdmJhci10b2dnbGUtY2hpbGRyZW4ge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDAuMXJlbSk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICB0b3A6IDJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci1lbmQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgZm9udC1zaXplOiAwLjgzM3JlbTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG59XG5cbi8qIGRyb3Bkb3duIG1lbnUgKi9cbi5uYXZiYXItZHJvcGRvd24ge1xuICBwYWRkaW5nOiBnYXAtc2l6ZSgyKTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuICB0b3A6IGNhbGMoMTAwJSAtIDAuMjVyZW0pO1xuICBtYXgtd2lkdGg6IDMyMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3gtc2hhZG93OiAwIDhweCA4cHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICBsZWZ0OiAwO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB6LWluZGV4OiAyMDtcbiAgbWluLXdpZHRoOiAxNDBweDtcblxuICBAaW5jbHVkZSBmb250LXhzbWFsbCgpO1xuXG4gIGhyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWFlYWVhO1xuICAgIG1hcmdpbjogMC4yNXJlbSAwIDAuNXJlbSAwLjVyZW07XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItdGV4dC1jb2xvcik7XG4gIH1cblxuICAuYXJyb3ctdXAge1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHJnYmEoMjM0LCAyMzQsIDIzNCwgMC41KTtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHJnYmEoMjM0LCAyMzQsIDIzNCwgMC41KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMC41NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGxlZnQ6IDI1JTtcbiAgfVxuXG4gIC5uYXZiYXItZHJvcGRvd24tY29sIHtcbiAgICBvbCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItZHJvcGRvd24tbGluayB7XG4gICAgcGFkZGluZzogZ2FwLXNpemUoMikgMC41cmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGFsbCBlYXNlLW91dDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG5cbiAgICBAaW5jbHVkZSBmb250LXhzbWFsbCgpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LTUwO1xuICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWwtZG93bigpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQteHhzbWFsbCgpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiA+IC5uYXZiYXItaXRlbSB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS04MDA7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci1pdGVtIHtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICRjb2xvci1ncmV5LTgwMDtcbiAgZm9udC1zaXplOiAwLjgzM3JlbTtcblxuICAmLmhhcy1kcm9wZG93biB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC1kb3duKCkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC1kb3duKCkge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1leHBhbmRlZCB7XG4gICAgKyAubmF2YmFyLWRyb3Bkb3duIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJiA+IC5uYXZiYXItdG9nZ2xlLWNoaWxkcmVuOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgdG9wOiBjYWxjKDEuNzVyZW0gKyA1cHgpO1xuICAgIH1cbiAgfVxuXG4gICYgPiBhIHtcbiAgICBjb2xvcjogJGNvbG9yLWdyZXktODAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWwtdXAoKSB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjphY3RpdmUsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWl0ZW0gaW1nIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbn1cblxuLm5hdmJhci1oZWFkZXJfX25vLXNlYXJjaCAubmF2YmFyLW1lbnUge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG4vKiBoYW1idXJnZXIgKi9cbi5uYXZiYXItYnVyZ2VyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA1MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgY29sb3I6IHZhcigtLWhlYWRlci1pY29uLWNvbG9yKTtcblxuICBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItaWNvbi1jb2xvcik7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogbm9uZSA4Nm1zIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICB3aWR0aDogMjBweDtcblxuICAgICY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgfVxuICB9XG59XG5cbi8qIE1lbnUgZXhpc3RzLCBidXQgc2hvdWxkIG5vdCBiZSBvcGVuIHF1aXRlIHlldCAqL1xuLm1lbnUtb2Zmc2NyZWVuLXJlYWR5IHtcbiAgLm5hdmJhci1tZW51IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwdncpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLCB0cmFuc2Zvcm0gMC40cyBlYXNlLW91dDtcbiAgfVxufVxuXG4vKiBQcmVwIG1vYmlsZSBtZW51ICovXG4ubWVudS1sb2FkIHtcbiAgLm5hdmJhci1tZW51IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBnYXAtc2l6ZSg0KSBnYXAtc2l6ZSg0KSA4MHB4IGdhcC1zaXplKDQpIDtcbiAgICBib3gtc2hhZG93OiAwIDAgMC41cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0taGVhZGVyLWhlaWdodCkpO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBsZWZ0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC1kb3duIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IGdhcC1zaXplKDQpIGdhcC1zaXplKDQpIGNhbGModmFyKC0taGVhZGVyLWhlaWdodCkgKyAyMHB4KTtcbiAgICB9XG5cbiAgICAubmF2YmFyLWxpbmsge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWl0ZW0uaGFzLWRyb3Bkb3duIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5uYXZiYXItbGluayxcbiAgLm5hdmJhci1pdGVtIHtcbiAgICBjb2xvcjogJGNvbG9yLWdyZXktdGV4dDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBsaW5lLWhlaWdodDogZ2FwLXNpemUoOCk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICYuaGFzLWRyb3Bkb3duIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItZHJvcGRvd24tbGluayB7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlLWNoaWxkcmVuIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5hcnJvdy11cCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIGRyb3Bkb3ducyBpbnNpZGUgdGhlIG1lbnUgYXJlIG5vdCBhY3R1YWxseSBkcm9wZG93bnMgKi9cbiAgLm5hdmJhci1kcm9wZG93biB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgQGluY2x1ZGUgZm9udC14c21hbGwoKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogbW9iaWxlIG1lbnUgc2hvdyBjaGlsZHJlbiAqL1xuICAuaXMtZXhwYW5kZWQge1xuICAgIC5uYXZiYXItdG9nZ2xlLWNoaWxkcmVuOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMC4ycmVtKTtcbiAgICB9XG5cbiAgICArIC5uYXZiYXItZHJvcGRvd24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLyogaGFtYnVyZ2VyICovXG4gIC5uYXZiYXItbWVudS0taG9sZGVyIC5uYXZiYXItYnVyZ2VyIHtcbiAgICBzcGFuOm50aC1vZi10eXBlKDEpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuXG4gICAgc3BhbjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIHNwYW46bnRoLW9mLXR5cGUoMykge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIE1lbnUgaXMgb3BlbiEgKi9cbi5tZW51LWlzLWFjdGl2ZSB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAubmF2YmFyLW1lbnUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gIH1cblxuICAuYm9keSB7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG5cbiAgLm5hdmJhci1saW5rLFxuICAubmF2YmFyLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLyoqXG4gKiBNZW51IGlzIG5vdCBhY3RpdmUsIGJ1dCBhbnkgaXRlbXMgd2hpY2ggYXJlIHRvbyBsb25nIHNob3VsZCBub3cgYmUgaGlkZGVuXG4gKi9cbmh0bWw6bm90KC5tZW51LWlzLWFjdGl2ZSkge1xuICAubWVudS1pbnZpc2libGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBib3JkZXI6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmLm5hdmJhci1idXJnZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWl0ZW1zX19tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm5hdmJhci1pdGVtc19fbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AaW5jbHVkZSBicmVha3BvaW50LW1sLWRvd24ge1xuICAubmF2YmFyLW1lbnUtLWxpbmtzb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGJyZWFrcG9pbnQtY3VzdG9tLXVwKCRtaW4pIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJG1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXh4cy1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tZG93bigkc2NyZWVuLXh4cy1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC14eHMtdXAge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWN1c3RvbS11cCgkc2NyZWVuLXh4cy1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC14cy1vbmx5IHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC14cy11cCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLXVwKCRzY3JlZW4teHMtbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtc20tdXAge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWN1c3RvbS11cCgkc2NyZWVuLXNtLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXRhYmxldC11cCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLXVwKCRzY3JlZW4tdGFibGV0KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtbWQtdXAge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWN1c3RvbS11cCgkc2NyZWVuLW1kLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LW1sLXVwIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tdXAoJHNjcmVlbi1tbC1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1sZy11cCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLXVwKCRzY3JlZW4tbGctbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQteGwtdXAge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWN1c3RvbS11cCgkc2NyZWVuLXhsLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXh4bC11cCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLXVwKCRzY3JlZW4teHhsLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LWN1c3RvbS1kb3duKCRtaW4pIHtcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJG1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXhzLWRvd24ge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWN1c3RvbS1kb3duKCRzY3JlZW4teHMtbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtc20tZG93biB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLWRvd24oJHNjcmVlbi1zbS1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC10YWJsZXQtZG93biB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLWRvd24oJHNjcmVlbi10YWJsZXQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1tZC1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tZG93bigkc2NyZWVuLW1kLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LW1sLWRvd24ge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWN1c3RvbS1kb3duKCRzY3JlZW4tbWwtbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtbGctZG93biB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLWRvd24oJHNjcmVlbi1sZy1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1tbGctZG93biB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLWRvd24oJHNjcmVlbi1tbGctbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQteGwtZG93biB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLWRvd24oJHNjcmVlbi14bC1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC14eGwtZG93biB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLWRvd24oJHNjcmVlbi14eGwtbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIlxuLy8gLS0tLS0tLS0gIHRyYW5zaXRpb25zICAtLS0tLS0tLVxuJHRyYW5zaXRpb24tYWxsOiBhbGwgMzUwbXMgZWFzZS1pbiAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWJvcmRlcjogYm9yZGVyIDM1MG1zIGVhc2UtaW4gIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1iYWNrZ3JvdW5kOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2UtaW4gIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xvcjogY29sb3IgMjUwbXMgZWFzZS1pbiAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLW9wYWNpdHk6IG9wYWNpdHkgMzAwbXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1saW5rczogYWxsIDM1MG1zIGVhc2UtaW4gIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1saW5rcy1mYXN0ZXI6IGFsbCAyNTBtcyBlYXNlICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGU6IHRyYW5zZm9ybSAzNTBtcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZsaXA6IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLCBvcGFjaXR5IDE1MG1zIGVhc2UtaW4gMTAwbXMgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1leHBhbmQ6IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvdmVyLWZhZGU6IG9wYWNpdHkgMTUwbXMgZWFzZS1pbiAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6IG9wYWNpdHkgMzAwbXMgZWFzZS1pbiAhZGVmYXVsdDtcbiIsIlxuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50cy5zY3NzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NvbnRhaW5lci5zY3NzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zLnNjc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlua3Muc2Nzc1wiO1xuQGltcG9ydCBcIm1peGlucy9zcGFjaW5nLnNjc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdHlwb2dyYXBoeS5zY3NzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnMuc2Nzc1wiO1xuXG5AbWl4aW4gZmEtZnJlZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG5cbkBtaXhpbiBmYS1icmFuZHMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG5cbi8vIENsZWFyZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLyBDdXQgb2ZmIHRleHQgd2l0aCBlbGxpcHNpcyB3aGVuIGl0IGdldHMgdG9vIGxvbi4uLlxuQG1peGluIHRydW5jYXRlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8vIGluY2x1ZGUgY29tbW9uIHByb3BlcnRpZXMgb2YgYSBwc2V1ZG8gZWxlbWVudFxuQG1peGluIHBzZXVkby1lbGVtZW50IHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBhYnNvbHV0ZSB0cmFuc2Zvcm0gY2VudGVyIGFuIGVsZW1lbnRcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbkBtaXhpbiByZXNldC1idXR0b24oKSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuQG1peGluIGhpZGVTY3JvbGxiYXIge1xuICAvLyBodHRwczovL2Jsb2dzLm1zZG4ubWljcm9zb2Z0LmNvbS9rdXJsYWsvMjAxMy8xMS8wMy9oaWRpbmctdmVydGljYWwtc2Nyb2xsYmFycy13aXRoLXB1cmUtY3NzLWluLWNocm9tZS1pZS02LWZpcmVmb3gtb3BlcmEtYW5kLXNhZmFyaS9cbiAgLy8gVGhlcmUgaXMgYSBDU1MgcnVsZSB0aGF0IGNhbiBoaWRlIHNjcm9sbGJhcnMgaW4gV2Via2l0LWJhc2VkIGJyb3dzZXJzIChDaHJvbWUgYW5kIFNhZmFyaSkuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gVGhlcmUgaXMgYSBDU1MgcnVsZSB0aGF0IGNhbiBoaWRlIHNjcm9sbGJhcnMgaW4gSUUgMTArLlxuICAvLyBVc2UgLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyIGlmIHlvdSB3aXNoIHRvIGRpc3BsYXkgb24gaG92ZXIuXG4gIC8vIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG5cbiAgLy8gVGhlcmUgdXNlZCB0byBiZSBhIENTUyBydWxlIHRoYXQgY291bGQgaGlkZSBzY3JvbGxiYXJzIGluIEZpcmVmb3gsIGJ1dCBpdCBoYXMgc2luY2UgYmVlbiBkZXByZWNhdGVkLlxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktbm8tdW5rbm93biAqL1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/
=======
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUhtZU47QUcvZE07RUFDRTtBSGllUjtBRzNkSTtFQUNFO0FINmROO0FHemRNO0VBQ0U7QUgyZFI7QUdyZEk7RUFDRTtBSHVkTjtBR25kTTtFQUNFO0FIcWRSO0FHL2NJO0VBQ0U7QUhpZE47QUc3Y007RUFDRTtBSCtjUjs7QUlsa0JBO0VBRUU7RUFHQTtFQUNBO0VBR0E7RUFHQTtBSjhqQkY7QUk1akJFO0VBS0U7QUowakJKO0FJdmpCRTtFQTlCQTtVQUFBO0FKd2xCRjtBSXRqQkU7RUFsQ0E7VUFBQTtBSjJsQkY7QUlyakJFO0VBdENBO1VBQUE7QUo4bEJGO0FJbmpCSTtFQUNFO0FKcWpCTjtBSWxqQkk7RUFDRTtBSm9qQk47QUlqakJJO0VBbkRGO1VBQUE7QUp1bUJGO0FJaGpCSTtFQXZERjtVQUFBO0FKMG1CRjtBSS9pQkk7RUEzREY7VUFBQTtBSjZtQkY7QUk5aUJJO0VBL0RGO1VBQUE7QUpnbkJGO0FJMWlCSTtFQXRFRjtVQUFBO0FKbW5CRjtBSXhpQkU7RUFFRTtVQUFBO0VBQ0E7VUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0FKeWlCSjs7QUlyaUJBO0VBQ0U7SUFyRkE7WUFBQTtFSjhuQkE7QUFDRjs7QUkzaUJBO0VBQ0U7SUFyRkE7WUFBQTtFSjhuQkE7QUFDRjtBS25pQkE7RUF4Q0U7QUw4a0JGO0FLM2tCSTtFQUVFO0VBQUE7RUFBQTtBTDRrQk47QUs5a0JJO0VBRUU7RUFBQTtFQUFBO0FMK2tCTjtBS2psQkk7RUFFRTtFQUFBO0VBQUE7QUxrbEJOO0FLcGxCSTtFQUVFO0VBQUE7RUFBQTtBTHFsQk47O0FLOWlCQTtFQWhFSTtFQUVBO0FMaW5CSjs7QUt2aUJBO0VBL0RFO0FMMG1CRjtBS3RpQkk7RUFwRUY7QUw2bUJGO0FLbGlCSTtFQTNFRjtBTGduQkY7O0FLOWhCQTtFQUNFO0FMaWlCRjs7QUs3aEJBO0VBQ0U7RUFJQTtFQUNBO0FMNmhCRjtBSzFoQkU7O0VBRUU7QUw0aEJKO0FNL3BCRTtFRHdIRjtJQWVJO0VMNGhCRjtFSzFoQkU7O0lBRUU7RUw0aEJKO0FBQ0Y7O0FLdmhCQTtF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cHBDSTtFQUNFO0FQc3BDTjtBT3ppQ0k7RUFDRTtFQUNBO0VBQ0EseUJBaElpQjtFQWlJakI7QVAyaUNOO0FPdGlDRTtFQUNFO0VBQ0E7RUFDQTtBUHdpQ0o7QU90aUNJO0VBQ0U7QVB3aUNOO0FPdGlDTTtFQUNFO0FQd2lDUjtBTTdxQ0U7RUM0Skk7SUFFRTtJQUNBO0VQbWhDTjtFT2hoQ1E7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVBpaENWO0VPeGdDTTtJRmpKTjtFTDRwQ0E7RU9uZ0NJO0lBQ0U7SUFDQTtJQUNBO0VQcWdDTjtFT25nQ007SUY5Sk47RUxvcUNBO0VPbGdDTTtJQUNFO0VQb2dDUjtFTzcvQkk7SUFDRTtFUCsvQk47RU81L0JJO0lBQ0U7RVA4L0JOO0VPMy9CUTtJQUVFO0lBRUE7SUFDQTtJQUNBO0lBQ0E7SUFFQTtFUDAvQlY7RU94L0JVO0lBQ0U7RVAwL0JaO0VPaC9CSTtJQUNFO0VQay9CTjtFTy8rQkk7SUFDRTtFUGkvQk47RU8vK0JNO0lBRUU7SUFDQTtJQUNBO0VQZy9CUjtBQUNGOztBUXJ2Q0U7RUFDRTtNQUFBO1VBQUE7QVJ3dkNKO0FRcnZDRTtFQUNFO01BQUE7VUFBQTtBUnV2Q0o7O0FTMXNDRTtFQUNFO0FUNnNDSjs7QVN2c0NFO0VBQ0U7QVQwc0NKOztBU3BzQ0U7RUFDRTtBVHVzQ0o7QU14dkNFO0VHdURJO0lBQ0U7RVRvc0NOO0FBQ0Y7O0FVOW9DQTtFQUNFO0FWaXBDRjs7QU1qd0NFO0VJb0hBO0lBRUk7SUFDQTtRQUFBO1lBQUE7RVZncENKO0FBQ0Y7O0FVNW9DQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FWK29DRjs7QVV0b0NFO0VSekdFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRMEZyQjtBVjBvQ0o7QVV0b0NFO0VBQ0UsMENSckZhO0VRc0ZiO0VBQ0E7RUFDQTtBVndvQ0o7O0FVOW5DRTtFUjlIRTtFQUNBO0VBbUJBLDhCQUZxQjtFUStHckI7QVZrb0NKO0FVOW5DRTtFUnJJRTtFQUNBO0VBbUJBLDJCQUZxQjtFUXNIckIsMENSNUdhO0VRNkdiO0VBQ0E7QVZpb0NKO0FVN25DRTtFUjlJRTtFQUNBO0VBbUJBLGdDQUZxQjtFUStIckIsbUNSbkhlO0VRb0hmO0FWZ29DSjtBVTluQ0k7RUFDRTtFQUNBLDBDUjFIVztFUTJIWDtBVmdvQ047QVU1bkNJO0VBQ0U7QVY4bkNOO0FVNW5DTTtFQUVFLG1DUmxJVztBRit2Q25CO0FVdm5DRTtFUnRLRTtFQUNBO0VBbUJBLHdCQUZxQjtFUXVKckI7RUFDQTtFQUNBO0FWMG5DSjtBVXRuQ0U7RVIvS0U7RUFDQTtFQW1CQSxnQ0FGcUI7RVFnS3JCO0FWeW5DSjtBVXJuQ0U7RVJ0TEU7RUFDQTtFQW1CQSwyQkFGcUI7RVF1S3JCLDBDUjdKYTtFUThKYjtBVnduQ0o7QVVwbkNFO0VSOUxFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRK0tyQjtBVnVuQ0o7O0FVN21DRTtFUjNNRTtFQUNBO0VRNE1BO0FWaW5DSjtBVTdtQ0U7RVJqTkU7RUFDQTtFQW1CQSw4QkFGcUI7RVFrTXJCO0VBQ0E7QVZnbkNKO0FVNW1DRTtFUnpORTtFQUNBO0VBbUJBLGdDQUZxQjtFUTBNckIsbUNSOUxlO0VRK0xmO0VBQ0E7QVYrbUNKO0FVN21DSTtFQUVFLG1DUnBNYTtBRmt6Q25CO0FVem1DRTtFUnZPRTtFQUNBO0VBbUJBLDhCQUZxQjtFUXdOckI7RUFDQTtBVjRtQ0o7QU12M0NFO0VJOFFJO0lSOU9GO0lBQ0E7SUFtQkEsZ0NBRnFCO0VGMjBDdkI7QUFDRjtBVXhtQ0U7RVJ0UEU7RUFDQTtFQW1CQSw4QkFGcUI7RVF1T3JCO0VBQ0E7QVYybUNKO0FVdm1DRTtFUjlQRTtFQUNBO0VBbUJBLGdDQUZxQjtFUStPckIsMENSck9hO0VRc09iO0FWMG1DSjtBVXRtQ0U7RVJ0UUU7RUFDQTtFQW1CQSxnQ0FGcUI7RVF1UHJCLDBDUjdPYTtFUThPYjtBVnltQ0o7QU1uNUNFO0VJOFNBO0lSOVFFO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRZ1FuQjtFVndtQ0o7QUFDRjtBVW5tQ0U7RVJ4UkU7RUFDQTtFQW1CQSw4QkFGcUI7RVF5UXJCO0VBQ0E7QVZzbUNKO0FVbG1DRTtFUmhTRTtFQUNBO0VBbUJBLDJCQUZxQjtFUWlSckI7RUFDQTtBVnFtQ0o7O0FVM2xDRTtFQUNFO0FWOGxDSjtBVTFsQ0U7RVJuVEU7RUFDQTtFQW1CQSx3QkFGcUI7RVFvU3JCO0VBQ0E7QVY2bENKO0FVemxDRTtFUjNURTtFQUNBO0VBbUJBLDJCQUZxQjtFUTRTckI7QVY0bENKOztBVWxsQ0U7RVJ4VUU7RUFDQTtFQW1CQSw4QkFGcUI7RVF5VHJCO0VBQ0E7QVZzbENKO0FVcGxDSTtFQUNFO0FWc2xDTjtBVWpsQ0U7RVJwVkU7RUFDQTtFQW1CQSxnQ0FGcUI7RVFxVXJCO0FWb2xDSjtBVWxsQ0k7RUFDRTtBVm9sQ047O0FVeGtDRTtFQUNFO0FWMmtDSjtBVXZrQ0U7RUFDRTtBVnlrQ0o7QVV2a0NJO0VBQ0U7QVZ5a0NOO0FVdGtDTTtFQUNFO0FWd2tDUjtBVWxrQ0U7RUFDRTtBVm9rQ0o7QVVsa0NJO0VBQ0U7QVZva0NOO0FVamtDTTtFQUNFO0FWbWtDUjtBVTVqQ0k7RUFFRTtBVjZqQ047QVV2akNFO0VBQ0U7QVZ5akNKO0FVdmpDSTtFQUNFO0FWeWpDTjtBVXBqQ0U7RUFDRTtBVnNqQ0o7QVVsakNFO0VBQ0U7QVZvakNKOztBVTFpQ0U7RVJ6YUU7RUFDQTtFQW1CQSxnQ0FGcUI7RVEwWnJCLDBDUmhaYTtBRjg3Q2pCO0FVMWlDRTtFUmhiRTtFQUNBO0VBbUJBLHdCQUZxQjtFUWlhckIsMENSdlphO0VRd1piO0VBQ0E7QVY2aUNKO0FVM2lDSTtFQUNFO0FWNmlDTjtBVXhpQ0U7RVI3YkU7RUFDQTtFQW1CQSwyQkFGcUI7RVE4YXJCLDBDUnBhYTtFUXFhYjtFQUNBO0FWMmlDSjtBVXZpQ0U7RVJ0Y0U7RUFDQTtFQW1CQSxnQ0FGcUI7RVF1YnJCLDBDUjdhYTtBRnU5Q2pCO0FVdGlDRTtFUjdjRTtFQUNBO0VBbUJBLDhCQUZxQjtFUThickIsMENScGJhO0VRcWJiO0VBQ0E7QVZ5aUNKO0FVcmlDRTtFUnRkRTtFQUNBO0VBbUJBLDJCQUZxQjtFUXVjckIsMENSN2JhO0VROGJiO0FWd2lDSjtBVXRpQ0k7O0VBRUU7QVZ3aUNOO0FVcmlDSTtFQUNFO0VBQ0E7RUFDQTtBVnVpQ047QVVsaUNFO0VSemVFO0VBQ0E7RUFtQkEsK0JBRnFCO0VRMGRyQiwwQ1JoZGE7RVFpZGI7RUFDQTtBVnFpQ0o7QVVuaUNJO0VBQ0U7QVZxaUNOO0FVaGlDRTtFUnRmRTtFQUNBO0VBbUJBLHdCQUZxQjtFUXVlckIsMENSN2RhO0VROGRiO0FWbWlDSjtBVS9oQ0U7RVI5ZkU7RUFDQTtFQW1CQSwyQkFGcUI7RVErZXJCLDBDUnJlYTtFUXNlYjtBVmtpQ0o7QVVoaUNJO0VBQ0U7QVZraUNOO0FVaGlDTTtFQUNFO0FWa2lDUjtBVTVoQ0U7RUFDRTtBVjhoQ0o7QVU1aENJO0VBQ0U7QVY4aENOO0FVemhDRTtFQUNFO0FWMmhDSjtBVXpoQ0k7RUFDRTtBVjJoQ047QVV0aENFO0VSaGlCRTtFQUNBO0VBbUJBLGdDQUZxQjtFUWloQnJCLDBDUnZnQmE7RVF3Z0JiO0FWeWhDSjtBVXZoQ0k7RUFDRTtBVnloQ047QVVwaENFO0VSNWlCRTtFQUNBO0VBbUJBLGdDQUZxQjtFUTZoQnJCO0FWdWhDSjtBVW5oQ0U7RVJuakJFO0VBQ0E7RUFtQkEsOEJBRnFCO0VRb2lCckIsMENSMWhCYTtFUTJoQmI7QVZzaENKO0FVamhDRTtFUjVqQkU7RUFDQTtFQW1CQSwyQkFGcUI7RVE4aUJyQiwwQ1JwaUJhO0VRcWlCYjtFQUNBO0FWbWhDSjtBVWpoQ0k7RUFDRTtBVm1oQ047QVU5Z0NFO0VSMWtCRTtFQUNBO0VBbUJBLDZCQUZxQjtFUTJqQnJCLDBDUmpqQmE7RVFrakJiO0VBQ0E7QVZpaENKO0FVL2dDSTtFQUNFO0FWaWhDTjtBVTNnQ0U7RVJ4bEJFO0VBQ0E7RUFtQkEsOEJBRnFCO0VReWtCckIsMENSL2pCYTtFUWdrQmI7RUFDQTtBVjhnQ0o7QVUxZ0NFO0VBQ0U7QVY0Z0NKO0FVdGdDTTtFUnhtQkY7RUFDQTtFQW1CQSw4QkFGcUI7RVEwbEJqQiwwQ1JobEJTO0VRaWxCVDtFQUNBO0FWd2dDUjs7QVVoZ0NFO0VSdG5CRTtFQUNBO0FGMG5ESjtBVWpnQ0k7RVIxbkJBO0VBQ0E7RUFtQkEsMkJBRnFCO0VRMm1CbkI7RUFDQTtBVm9nQ047QVUvL0JFO0VBQ0UsMENSeG1CYTtBRnltRGpCO0FVOS9CSTtFUnZvQkE7RUFDQTtFQW1CQSxnQ0FGcUI7RVF3bkJuQiwwQ1I5bUJXO0VRK21CWDtBVmlnQ047QVU1L0JJO0VSaHBCQTtFQUNBO0VBbUJBLHdCQUZxQjtFUWlvQm5CLDBDUnZuQlc7RVF3bkJYO0FWKy9CTjtBVXovQkk7RVIxcEJBO0VBQ0E7RUFtQkEsMkJBRnFCO0VRNm9CbkIsMENSbm9CVztFUW9vQlg7RUFDQTtBVjAvQk47QVV0L0JJO0VScnFCQTtFQUNBO0VBbUJBLHdCQUZxQjtFUXNwQm5CLDBDUjVvQlc7RVE2b0JYO0VBQ0E7QVZ5L0JOO0FVcC9CRTtFUi9xQkU7RUFDQTtFQW1CQSx3QkFGcUI7RVFncUJyQiwwQ1J0cEJhO0VRdXBCYjtBVnUvQko7QVVuL0JFO0VSbnFCRSx3QkFGcUI7RVF1cUJyQiwwQ1I3cEJhO0VROHBCYjtFQUNBO0FWcS9CSjtBVWovQkU7RVIzcUJFLHdCQUZxQjtFUStxQnJCLDBDUnJxQmE7RVFzcUJiO0VBQ0E7QVZtL0JKO0FVLytCRTtFUnZzQkU7RUFDQTtFQW1CQSx3QkFGcUI7RVE2Q3ZCLDBDUm5DZTtFUW9DZjtFQUNBO0VBQ0E7QVY2bkRGO0FVbi9CRTtFUjVzQkU7RUFDQTtFQW1CQSx3QkFGcUI7RVE2ckJyQiwwQ1JuckJhO0VRb3JCYjtFQUNBO0FWcy9CSjtBVXAvQkk7RUFDRTtBVnMvQk47QVVuL0JJOztFQUVFO0FWcS9CTjtBVWgvQkU7RVI5dEJFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRK3NCckIsMENScnNCYTtFUXVzQmI7RUFDQTtBVmsvQko7QVU5K0JFO0VSeHVCRTtFQUNBO0VBbUJBLGdDQUZxQjtFUXl0QnJCLDBDUi9zQmE7RVFndEJiO0FWaS9CSjtBVTkrQkk7RUFDRTtBVmcvQk47QVUzK0JFO0VScnZCRTtFQUNBO0VRc3ZCQSwwQ1IzdEJhO0VRNHRCYjtFQUNBO0FWOCtCSjtBVTErQkU7RVI3dkJFO0VBQ0E7RUFtQkEsMEJBRnFCO0VROHVCckI7QVY2K0JKO0FVditCSTtFUnR3QkE7RUFDQTtFQW1CQSxnQ0FGcUI7RVF1dkJuQiwwQ1I3dUJXO0VROHVCWDtBVjArQk47QVV4K0JNO0VBQ0U7RUFDQTtBVjArQlI7QVV4K0JRO0VBQ0U7QVYwK0JWO0FVditCUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnkrQlY7QVVsK0JFO0VSanlCRTtFQUNBO0VBbUJBLDJCQUZxQjtFUWt4QnJCO0VBQ0E7QVZxK0JKO0FVaitCRTtFUnp5QkU7RUFDQTtFQW1CQSx3QkFGcUI7RVEweEJyQjtBVm8rQko7QVVoK0JFO0VSaHpCRTtFQUNBO0VBbUJBLGdDQUZxQjtFUWl5QnJCLDBDUnZ4QmE7QUYwdkRqQjtBVWorQkk7RUFDRTtFQUNBO0FWbStCTjtBVTk5QkU7RVI1ekJFO0VBQ0E7RVE2ekJBO0FWaStCSjtBVTc5QkU7RVJsMEJFO0VBQ0E7RVFtMEJBLDBDUnh5QmE7RVF5eUJiO0VBQ0E7RUFDQTtBVmcrQko7QVU1OUJFO0VSMzBCRTtFQUNBO0VBbUJBLHdCQUZxQjtBRjB4RHpCO0FVbjlCSTtFUnoxQkE7RUFDQTtFQW1CQSxnQ0FGcUI7RVErMEJuQiwwQ1JyMEJXO0VRczBCWDtBVmk5Qk47QVUvOEJNO0VBQ0U7RUFDQTtBVmk5QlI7QVU1OEJJO0VBQ0U7QVY4OEJOO0FVejhCTTtFUmozQkY7RUFDQTtBRjZ6REo7QVV0OEJNO0VBQ0U7QVZ3OEJSO0FVbDhCSTtFQUNFO0VBQ0E7RUFDQTtBVm84Qk47QVU3N0JNO0VBQ0U7QVYrN0JSO0FVdDdCSTtFUm41QkE7RUFDQTtFQW1CQSxnQ0FGcUI7RVFxNEJuQiwwQ1IzM0JXO0VRNDNCWDtBVnc3Qk47QVV0N0JNO0VBQ0U7RUFDQTtBVnc3QlI7QVVsN0JFO0VSbDZCRTtFQUNBO0VBbUJBLCtCQUZxQjtFUW01QnJCLDBDUno0QmE7RVEwNEJiO0VBQ0E7RUFDQTtBVnE3Qko7QVVqN0JFO0VSNTZCRTtFQUNBO0VBbUJBLDJCQUZxQjtFUTY1QnJCLDBDUm41QmE7RVFvNUJiO0FWbzdCSjtBVWw3Qkk7RUFDRTtBVm83Qk47QVUvNkJFO0VSeDdCRTtFQUNBO0VBbUJBLDJCQUZxQjtFUXk2QnJCO0VBQ0E7QVZrN0JKO0FVOTZCRTtFUmg4QkU7RUFDQTtFUWk4QkEsMENSdDZCYTtFUXU2QmI7QVZpN0JKO0FVLzZCSTtFQUNFO0FWaTdCTjtBVTU2QkU7RVIzOEJFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRNDdCckIsMENSbDdCYTtFUW03QmI7QVYrNkJKO0FVNzZCSTtFQUNFO0FWKzZCTjtBVTM2Qkk7RUFDRTtBVjY2Qk47QVV4NkJFO0VSNTlCRTtFQUNBO0VRNjlCQSwwQ1JsOEJhO0VRbThCYjtBVjI2Qko7QVV6NkJJO0VBQ0U7QVYyNkJOO0FVdDZCRTtFUnYrQkU7RUFDQTtFQW1CQSwwQkFGcUI7RVF3OUJyQjtFQUNBO0FWeTZCSjtBVXI2QkU7RVIvK0JFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRZytCckIsMENSdDlCYTtFUXU5QmI7QVZ3NkJKO0FVcDZCRTtFUnYvQkU7RUFDQTtFQW1CQSwyQkFGcUI7RVE1QnZCLDBDUnNDZTtFUXJDZjtFQUNBO0FWMjZERjtBVXo2REU7RUFDRTtBVjI2REo7QU10OERFO0VJdWhDQTtJUnYvQkU7SUFDQTtJQW1CQSxnQ0FGcUI7SVFqQnJCO0VWNDZERjtBQUNGO0FVbDdCRTtFUjUvQkU7RUFDQTtFQW1CQSwyQkFGcUI7RVE2K0JyQiwwQ1JuK0JhO0VRbytCYjtBVnE3Qko7QVVqN0JFO0VBQ0UsMENSeitCYTtFUTArQmI7RUFDQTtBVm03Qko7QVUvNkJFO0VSM2dDRTtFQUNBO0VBbUJBLHdCQUZxQjtBRjY2RHpCO0FNLzlERTtFSTJpQ0E7SVIzZ0NFO0lBQ0E7SUFtQkEsMkJBRnFCO0lRTnJCO0VWMDdERjtFVXg3REU7SVJkQTtJQUNBO0lBbUJBLGdDQUZxQjtJUURuQjtJQUNBO0VWMjdESjtFVXo3REk7SUFDRTtFVjI3RE47QUFDRjtBVWo4QkU7RVJoaENFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRaWdDckIsMENSdi9CYTtFUXcvQmI7QVZvOEJKO0FVbDhCSTtFQUNFO0VBQ0E7QVZvOEJOO0FVLzdCRTtFUjdoQ0U7RUFDQTtFQW1CQSwrQkFGcUI7RVE4Z0NyQiwwQ1JwZ0NhO0VRcWdDYjtBVms4Qko7QVU5N0JFO0VScmlDRTtFQUNBO0VBbUJBLHdCQUZxQjtFUXNoQ3JCO0FWaThCSjtBVTc3QkU7RVI1aUNFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRNmhDckI7RUFDQSwwQ1JwaENhO0VRcWhDYjtFQUNBO0FWZzhCSjtBVTU3QkU7RVJ0akNFO0VBQ0E7RUFtQkEsZ0NBRnFCO0VRdWlDckIsMENSN2hDYTtFUThoQ2I7RUFDQTtBVis3Qko7QVU3N0JJO0VBQ0U7QVYrN0JOO0FVMTdCRTtFUm5rQ0U7RUFDQTtFQW1CQSxnQ0FGcUI7RVFvakNyQjtBVjY3Qko7QVUzN0JJO0VBQ0U7QVY2N0JOOztBTXRpRUU7RUl1bkNJO0lBQ0U7RVZtN0JOO0VVajdCTTtJUnRrQ0osOEJBRnFCO0VGNC9EdkI7RVU5NkJJO0lBQ0U7RVZnN0JOO0VVOTZCTTtJQUNFO0VWZzdCUjtBQUNGO0FNcmpFRTtFSStvQ0U7SVIvbUNBO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRZ21DbkI7RVYwNkJKO0VVdDZCRTtJQUNFO0VWdzZCSjtFVWw2QkU7SVI3bkNBO0lBQ0E7SUFtQkEsZ0NBRnFCO0lROG1DbkI7RVZxNkJKO0VVajZCRTtJQUNFO0VWbTZCSjtFVS81QkU7SVJ6b0NBO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRMG5DbkI7RVZrNkJKO0VVaDZCSTtJUjlvQ0Y7SUFDQTtJQW1CQSxnQ0FGcUI7SVErbkNqQjtFVm02Qk47RVU1NUJFO0lSeHBDQTtJQUNBO0lReXBDRTtFVis1Qko7RVUzNUJFO0lSOXBDQTtJQUNBO0lBbUJBLCtCQUZxQjtJUStvQ25CO0VWODVCSjtFVTE1QkU7SVJqcENBLGdDQUZxQjtFRmdqRXZCO0VVeDVCRTtJUjFxQ0E7SUFDQTtJQW1CQSwrQkFGcUI7SVEycENuQjtFVjI1Qko7RVV6NUJJO0lSL3FDRjtJQUNBO0lBbUJBLGdDQUZxQjtJUWdxQ2pCO0VWNDVCTjtFVXY1QkU7SVJ2ckNBO0lBQ0E7SUFtQkEsK0JBRnFCO0lRd3FDbkI7RVYwNUJKO0VVdDVCRTtJUjlyQ0E7SUFDQTtJQW1CQSxnQ0FGcUI7RUZ1a0V2QjtFVXA1QkU7SVJyc0NBO0lBQ0E7SUFtQkEsK0JBRnFCO0lRc3JDbkI7SUFDQTtFVnU1Qko7RVVqNUJFO0lSL3NDQTtJQUNBO0lBbUJBLDJCQUZxQjtJUWdzQ25CO0VWbzVCSjtFVWg1QkU7SVJ0dENBO0lBQ0E7SUFtQkEsK0JBRnFCO0VGeWxFdkI7RVU1NEJFO0lSL3RDQTtJQUNBO0lBbUJBLCtCQUZxQjtFRjhsRXZCO0VVMzRCRTtJUnJ1Q0E7SUFDQTtJQW1CQSwrQkFGcUI7RUZtbUV2QjtFVXg0QkU7SVI3dUNBO0lBQ0E7SUFtQkEsMkJBRnFCO0lROHRDbkI7RVYyNEJKO0VVdjRCRTtJUnB2Q0E7SUFDQTtJQW1CQSxnQ0FGcUI7RUY4bUV2QjtFVXQ0QkU7SVIxdkNBO0lBQ0E7SUFtQkEsK0JBRnFCO0lRMnVDbkI7RVZ5NEJKO0VVcjRCRTtJUmp3Q0E7SUFDQTtJQW1CQSwrQkFGcUI7SVFrdkNuQjtFVnc0Qko7RVVwNEJFO0lSeHdDQTtJQUNBO0lBbUJBLCtCQUZxQjtFRituRXZCO0VVbjRCRTtJUjl3Q0E7SUFDQTtJQW1CQSwrQkFGcUI7SVErdkNuQjtFVnM0Qko7RVVsNEJFO0lScnhDQTtJQUNBO0lBbUJBLCtCQUZxQjtJUXN3Q25CO0VWcTRCSjtFVW40Qkk7SUFDRTtFVnE0Qk47RVVoNEJFO0lSaHlDQTtJQUNBO0lBbUJBLGdDQUZxQjtJUWl4Q25CO0VWbTRCSjtFVS8zQkU7SUFDRSwwQ1I1d0NXO0lRNndDWDtJQUNBO0VWaTRCSjtFVTczQkU7SUFDRSwwQ1JueENXO0lRb3hDWDtJQUNBO0VWKzNCSjtFVTMzQkU7SVJyekNBO0lBQ0E7SUFtQkEsZ0NBRnFCO0VGbXFFdkI7RVUxM0JFO0lSM3pDQTtJQUNBO0lBbUJBLDBCQUZxQjtJUTR5Q25CLDBDUmx5Q1c7SVFteUNYO0lBQ0E7RVY2M0JKO0VVMzNCSTtJQUNFO0lBQ0E7RVY2M0JOO0VVeDNCRTtJUnowQ0E7SUFDQTtJUTAwQ0U7SUFDQTtFVjIzQko7RVV2M0JFO0lSaDFDQTtJQUNBO0lBbUJBLGdDQUZxQjtFRjByRXZCO0VVcjNCSTtJUnYxQ0Y7SUFDQTtJQW1CQSxnQ0FGcUI7SVF3MENqQjtFVnczQk47RVVsM0JFO0lSaDJDQTtJQUNBO0lBbUJBLGdDQUZxQjtJUWkxQ25CO0VWcTNCSjtFVWozQkU7SVJuMUNBLCtCQUZxQjtFRnlzRXZCO0VVNzJCTTtJUjExQ0osOEJBRnFCO0VGNHNFdkI7RVU1MkJRO0lSbDNDTjtJQUNBO0lBbUJBLGdDQUZxQjtJUW0yQ2I7SUFDQTtFVisyQlY7RVV0MkJFO0lSLzNDQTtJQUNBO0lBbUJBLDJCQUZxQjtFRnd0RXZCO0VVdDJCSTtJUnA0Q0Y7SUFDQTtFRjZ1RUY7RVVuMkJFO0lSMzRDQTtJQUNBO0lRNDRDRTtFVnMyQko7RVVwMkJJO0lBQ0U7RVZzMkJOO0VVNzFCSTtJUno1Q0Y7SUFDQTtJQW1CQSw4QkFGcUI7SVE0NENqQjtFVjgxQk47RVUxMUJJO0lSbDZDRjtJQUNBO0lBbUJBLDJCQUZxQjtJUW01Q2pCO0VWNjFCTjtFVXgxQkU7SVIxNkNBO0lBQ0E7SUFtQkEsMkJBRnFCO0lRMjVDbkI7RVYyMUJKO0VVdjFCRTtJUmo3Q0E7SUFDQTtJQW1CQSxnQ0FGcUI7RUYydkV2QjtFVXQxQkU7SVJ2N0NBO0lBQ0E7SUFtQkEsK0JBRnFCO0VGZ3dFdkI7RVVyMUJFO0lSNzdDQTtJQUNBO0VGcXhFRjtFVXAxQkU7SVJsOENBO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRbTdDbkI7RVZ1MUJKO0VVbjFCRTtJUno4Q0E7SUFDQTtJQW1CQSxnQ0FGcUI7SVEwN0NuQjtFVnMxQko7RVVwMUJJO0lSOThDRjtJQUNBO0lBbUJBLGdDQUZxQjtJUSs3Q2pCO0VWdTFCTjtFVWwxQkU7SVJsOENBLDJCQUZxQjtJUXU4Q25CO0VWbTFCSjtFVWoxQkk7SVIzOUNGO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRNDhDakI7RVZvMUJOO0VVLzBCRTtJUm4rQ0E7SUFDQTtJQW1CQSxnQ0FGcUI7RUZxeUV2QjtFVWgxQkk7SVJ2K0NGO0lBQ0E7SUFtQkEsd0JBRnFCO0lRdzlDakI7SUFDQTtFVm0xQk47RVU3MEJJO0lSai9DRjtJQUNBO0lRay9DSTtFVmcxQk47RVVuMEJJO0lSaGdERjtJQUNBO0lBbUJBLHdCQUZxQjtJUXMvQ2pCO0VWaTBCTjtFVS96Qk07SVIxZ0RKO0lBQ0E7SUFtQkEsNkJBRnFCO0lRMi9DZjtJQUNBO0lBQ0E7RVZrMEJSO0VVNXpCSTtJUnJoREY7SUFDQTtFRm8xRUY7RVU1ekJNO0lBQ0U7RVY4ekJSO0VVenpCSTtJUi9oREY7SUFDQTtFRjIxRUY7RVV4ekJJO0lScGlERjtJQUNBO0lBbUJBLGdDQUZxQjtJUXFoRGpCO0VWMnpCTjtFVXp6Qk07SVJ6aURKO0lBQ0E7SVEwaURNO0VWNHpCUjtFVXZ6Qkk7SVJoakRGO0lBQ0E7SUFtQkEsd0JBRnFCO0lRaWlEakI7RVYwekJOO0VVaHpCTTtJUjdqREo7SUFDQTtJQW1CQSw4QkFGcUI7SVE4aURmO0VWbXpCUjtFVTd5QkU7SVJ0a0RBO0lBQ0E7SUFtQkEsK0JBRnFCO0lRdWpEbkI7RVZnekJKO0VVNXlCRTtJUjdrREE7SUFDQTtJQW1CQSw4QkFGcUI7SVE4akRuQjtFVit5Qko7RVUzeUJFO0lScGxEQTtJQUNBO0lBbUJBLHdCQUZxQjtJUXFrRG5CO0VWOHlCSjtFVTF5QkU7SVIzbERBO0lBQ0E7SUFtQkEsd0JBRnFCO0VGdzNFdkI7RVV6eUJFO0lSam1EQTtJQUNBO0lBbUJBLDJCQUZxQjtJUWtsRG5CO0VWNHlCSjtFVXh5QkU7SVJ4bURBO0lBQ0E7SUFtQkEsMkJBRnFCO0VGbTRFdkI7RVV2eUJFO0lSOW1EQTtJQUNBO0lBbUJBLDJCQUZxQjtJUStsRG5CO0VWMHlCSjtFVXR5QkU7SVJybkRBO0lBQ0E7SUFtQkEsZ0NBRnFCO0VGODRFdkI7RVV2eUJJO0lSem5ERjtJQUNBO0lBbUJBLDhCQUZxQjtFRm01RXZCO0VVcnlCRTtJQUNFO0VWdXlCSjtFVW55QkU7SVJyb0RBO0lBQ0E7SUFtQkEsK0JBRnFCO0VGMjVFdkI7QUFDRjtBTTk4RUU7RUkr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RjtBZ0JyaUdFO0VBQ0U7RUFDQTtBaEJ1aUdKO0FnQnJpR0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQnVpR047QU03bEdFO0VVcUNGO0lBc0JJO0VoQnNpR0Y7RWdCcGlHRTtJQUNFO0VoQnNpR0o7RWdCcGlHSTtJQUNFO0VoQnNpR047RWdCbGlHRTtJQUNFO0VoQm9pR0o7RWdCbGlHSTtJQUNFO0lBQ0E7SUFDQTtFaEJvaUdOO0VnQmxpR007SUFDRTtJQUNBO0lBQ0E7SUFDQTtFaEJvaUdSO0FBQ0Y7O0FpQnpvR0E7RUFDRTtBakI0b0dGO0FpQjFvR0U7O0VBRUU7RUFDQTtBakI0b0dKO0FpQnhvR0k7RWZ5Q0E7RUFDQTtFQW1CQSx3QkFGcUI7RVFZdkIsMENSRmU7RVE0QmY7RUFDQTtFT2hHSTtFQUNBO0VBQ0E7QWpCK29HTjtBVTFrR0U7RUFDRTtFQUNBO0FWNGtHSjtBTTlvR0U7RVdURTtJZnlDQTtJQUNBO0lBbUJBLDJCQUZxQjtJUXNCckI7RVY2a0dGO0VVM2tHRTtJUjFDQTtJQUNBO0lBbUJBLGdDQUZxQjtFRndtR3ZCO0FBQ0Y7QWlCM3BHSTtFZmdDQTtFQUNBO0VBbUJBLHdCQUZxQjtFUVl2QiwwQ1JGZTtFUXVCZjtFT2pGSTtFQUNBO0FqQmlxR047QVVwbUdFO0VBQ0U7RUFDQTtBVnNtR0o7QU14cUdFO0VXQUU7SWZnQ0E7SUFDQTtJQW1CQSwyQkFGcUI7SVFzQnJCO0VWdW1HRjtFVXJtR0U7SVIxQ0E7SUFDQTtJQW1CQSxnQ0FGcUI7RUZrb0d2QjtBQUNGO0FpQmhyR007RUFDRTtBakJrckdSO0FpQjNxR1E7O0VBQ0U7QWpCOHFHVjtBaUJ6cUdRO0VBQ0U7QWpCMnFHVjtBaUJ0cUdJO0VmT0E7RUFDQTtFQW1CQSx3QkFGcUI7RVFZdkIsMENSRmU7QUZ5b0dqQjtBVXJvR0U7RUFDRTtFQUNBO0FWdW9HSjtBTXpzR0U7RVd5QkU7SWZPQTtJQUNBO0lBbUJBLDJCQUZxQjtJUXNCckI7RVZ3b0dGO0VVdG9HRTtJUjFDQTtJQUNBO0lBbUJBLGdDQUZxQjtFRm1xR3ZCO0FBQ0Y7QWlCenJHSTs7RUFFRTtFQUNBO0VBQ0E7QWpCMnJHTjtBaUJ6ckdNOztFQUNFO0FqQjRyR1I7QU1odUdFO0VXbkJGO0lBNkRJO0VqQjByR0Y7RWlCeHJHRTtJQUVFO1lBQUE7RWpCeXJHSjtBQUNGOztBa0JsdUdBO0VBbkJJO0FsQnl2R0o7QU01dUdFO0VZTUY7SUFkTTtFbEJ3dkdKO0FBQ0Y7QU1qdkdFO0VZTUY7SUFUSTtJQUNBO0lBR0U7RWxCc3ZHSjtBQUNGOztBbUIzd0dBO0VBQ0U7RUFDQTtFQUNBO0FuQjh3R0Y7O0FvQnZ3R0E7RUNERTtFQUFBO0VBQUE7RUFDQTtFQUFBO01BQUE7VUFBQTtFQUNBO01BQUE7RUFDQTtNQUFBO1VBQUE7QXJCNHdHRjs7QW9CMXdHQTtFQ0xFO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtBckJteEdGOztBTTV3R0U7RWNLRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCc3dHVDtFb0JoeEdFO0lDQUY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI2d0dUO0VvQnZ4R0U7SUNBRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0Qm94R1Q7RW9COXhHRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCMnhHVDtFb0JyeUdFO0lDQUY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJreUdUO0VvQjV5R0U7SUNBRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0Qnl5R1Q7RW9CbnpHRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCZ3pHVDtFb0IxekdFO0lDQUY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJ1ekdUO0VvQmowR0U7SUNBRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0Qjh6R1Q7RW9CeDBHRTtJQ0FGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCcTBHVDtFb0IvMEdFO0lDQUY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI0MEdUO0VvQnQxR0U7SUNBRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0Qm0xR1Q7QUFDRjtBTW4yR0U7RWNhRTtJQ1JGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCNDFHVDtFb0I5MUdFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJtMkdUO0VvQnIyR0U7SUNSRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QjAyR1Q7RW9CNTJHRTtJQ1JGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCaTNHVDtFb0JuM0dFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJ3M0dUO0VvQjEzR0U7SUNSRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QiszR1Q7RW9CajRHRTtJQ1JGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCczRHVDtFb0J4NEdFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI2NEdUO0VvQi80R0U7SUNSRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0Qm81R1Q7RW9CdDVHRTtJQ1JGO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCMjVHVDtFb0I3NUdFO0lDUkY7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJrNkdUO0VvQnA2R0U7SUNSRjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0Qnk2R1Q7QUFDRjtBdUI5OEdBO0VBQ0U7RUFDQTtFQUNBO0F2Qmc5R0Y7QXVCNzhHRTtFQUNFO0F2Qis4R0o7QXVCNThHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtBdkI4OEdKO0F1QjM4R0k7RUFDRTtBdkI2OEdOO0F1QjE4R0k7RUFDRTtFQUNBO0VBQ0E7QXZCNDhHTjtBdUJ6OEdNO0VBQ0U7QXZCMjhHUjtBdUJ2OEdJO0VBQ0U7RUFDQTtBdkJ5OEdOO0F1QnQ4R0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0F2Qnc4R047QXVCcDhHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0F2QnM4R0o7QXVCcDhHSTtFQUNFO0VBQ0E7VUFBQTtBdkJzOEdOO0F1Qmo4R0k7RUFDRTtBdkJtOEdOOztBdUI5N0dBO0VBQ0U7RUFDQTtBdkJpOEdGOztBdUI5N0dBO0VBQ0U7SUFDRTtZQUFBO0V2Qmk4R0Y7QUFDRjs7QXVCcDhHQTtFQUNFO0lBQ0U7WUFBQTtFdkJpOEdGO0FBQ0Y7QXdCN2dIRTtFQUNFO0F4QitnSEo7O0F3QngvR0U7RUFDRTtBeEIyL0dKO0F3Qm4vR0k7RUFDRTtBeEJxL0dOOztBd0JoOUdFO0VBQ0U7QXhCbTlHSjs7QXlCcmdIRTtFQUNFO0VBQ0E7QXpCd2dISjtBeUJ0Z0hJO0VBRUU7RUFDQTtBekJ1Z0hOO0F5QnBnSEk7RUFDRTtFQUNBO0F6QnNnSE47QXlCNS9HTTtFcEJBSjtBTCsvR0Y7QXlCMS9HSTtFQUNFO01BQUE7VUFBQTtFQUNBO0F6QjQvR047QXlCei9HSTtFQUNFO0F6QjIvR047QXlCeC9HUTtFQUNFO0F6QjAvR1Y7QXlCeC9HVTtFQUNFO0F6QjAvR1o7QXlCbC9HSTtFQUNFO0F6Qm8vR047QXlCai9HUTtFQUNFO0F6Qm0vR1Y7QXlCNStHSTtFQUNFO0F6QjgrR047QXlCMytHUTtFQUNFO0F6QjYrR1Y7QXlCditHRTtFQUNFO0F6QnkrR0o7QXlCditHSTtFQUNFO01BQUE7VUFBQTtFQUNBO0F6QnkrR047QXlCdCtHSTtFQUNFO0F6QncrR047QXlCcitHUTtFQUNFO0F6QnUrR1Y7QXlCcitHVTtFQUNFO0F6QnUrR1o7QXlCLzlHSTtFQUNFO0F6QmkrR047QU01a0hFO0VtQmdJSTtJQUNFO0V6Qis4R047RXlCMzhHTTtJQUVFO0V6QjQ4R1I7RXlCdjhHTTtJQUNFO0V6Qnk4R1I7RXlCbjhHRTtJQUNFO0V6QnE4R0o7RXlCbjhHSTtJQUNFO0lBQ0E7SUFDQTtFekJxOEdOO0V5Qmo4R007SUFDRTtFekJtOEdSO0V5Qjk3R007SUFDRTtFekJnOEdSO0V5QjE3R1E7SUFDRTtFekI0N0dWO0V5QnA3R1U7SUFDRTtJQUNBO0V6QnM3R1o7RXlCOTZHRTtJQUNFO0lBQ0E7RXpCZzdHSjtFeUI5NkdJO0lBQ0U7SUFDQTtFekJnN0dOO0V5Qjk2R007SUFDRTtJQUFBO0lBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtFekJnN0dSO0V5Qjk2R1E7SUFDRTtFekJnN0dWO0V5QjE2R007SUFDRTtFekI0NkdSO0V5QnQ2R0k7SUFDRTtFekJ3NkdOO0V5QnI2R1E7SUFDRTtFekJ1NkdWO0V5Qmg2R0U7SUFDRTtFekJrNkdKO0V5Qmg2R0k7SUFDRTtJQUNBO0V6Qms2R047RXlCOTVHTTtJQUNFO0V6Qmc2R1I7RXlCMzVHTTtJQUNFO0V6QjY1R1I7RXlCdjVHUTtJQUNFO0V6Qnk1R1Y7RXlCajVHVTtJQUNFO0lBQ0E7RXpCbTVHWjtBQUNGOztBMEJwcEhFO0VBQ0U7RUFDQTtBMUJ1cEhKO0EwQm5wSEk7RUFDRTtBMUJxcEhOO0EwQmpwSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQm1wSEo7QTBCanBISTtFQUNFO0ExQm1wSE47QTBCanBITTtFQUNFO0VBQ0E7QTFCbXBIUjtBMEI5b0hNO0VBQ0U7QTFCZ3BIUjtBMEIzb0hFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUI2b0hKO0EwQjFvSEU7RUFDRTtBMUI0b0hKO0FNNXJIRTtFb0JxRUU7SUFDRTtFMUIwbkhKO0UwQnZuSEU7SUFDRTtFMUJ5bkhKO0FBQ0Y7O0EyQnZzSEU7RUFDRTtFQUNBO0EzQjBzSEo7QTJCbnNIRTtFQUNFO0EzQnFzSEo7QTJCbHNIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EzQm9zSEo7QTJCanNIRTtFQUNFO0VBQ0E7QTNCbXNISjtBMkJoc0hFO0VBQ0U7QTNCa3NISjtBMkI3ckhNO0VBQ0U7QTNCK3JIUjtBMkI3ckhRO0VBQ0U7QTNCK3JIVjtBTS90SEU7RXFCd0RFO0lBQ0U7SUFDQTtFM0IwcUhKO0UyQnZxSEU7SUFDRTtJQUNBO0lBQ0E7RTNCeXFISjtFMkJ0cUhFO0lBQ0U7SUFDQTtFM0J3cUhKO0UyQm5xSE07SUFDRTtFM0JxcUhSO0UyQm5xSFE7SUFDRTtFM0JxcUhWO0FBQ0Y7QTJCL3BIRTtFQTlGRjtJQStGSTtJQUNBO0lBQ0E7SUFDQTtFM0JrcUhGO0UyQmhxSEU7SUFDRTtFM0JrcUhKO0UyQjVwSEk7SUFDRTtFM0I4cEhOO0UyQjVwSE07SUFDRTtFM0I4cEhSO0FBQ0Y7O0E0Qjd2SEE7RUFNRTtBNUIydkhGO0E0QnJ2SEU7RUFDRTtBNUJ1dkhKOztBNkJsd0hJO0VBQ0U7QTdCcXdITjtBNkIzdkhJO0VBQ0U7RUFDQTtFQUNBO0E3QjZ2SE47QTZCMXZISTtFQUNFO0VBQ0E7QTdCNHZITjtBNkJ6dkhJO0VBQ0U7QTdCMnZITjtBNkJ0dkhJO0VBQ0U7RUFDQTtFQUNBO0E3Qnd2SE47QTZCcnZISTtFQUNFO0E3QnV2SE47QTZCbnZIRTtFQUNFO0VBQ0E7QTdCcXZISjtBNkJqdkhJO0VBQ0U7RUFDQTtFQUNBO0E3Qm12SE47QU03eUhFO0V1QmdGSTtJQUNFO0lBQ0E7RTdCZ3VITjtFNkIzdEhJO0lBQ0U7RTdCNnRITjtFNkJ4dEhJO0lBQ0U7SUFDQTtFN0IwdEhOO0U2QnJ0SEk7SUFDRTtFN0J1dEhOO0U2Qmx0SFE7SUFDRTtFN0JvdEhWO0U2QjlzSEU7SUFDRTtFN0JndEhKO0U2QjVzSEk7SUFDRTtJQUNBO0U3QjhzSE47RTZCM3NISTtJQUNFO0U3QjZzSE47RTZCeHNISTtJQUNFO0lBQ0E7RTdCMHNITjtFNkJ2c0hJO0lBQ0U7RTdCeXNITjtFNkJyc0hFO0lBQ0U7RTdCdXNISjtFNkJyc0hJO0lBQ0U7SUFDQTtFN0J1c0hOO0U2QnBzSEk7SUFDRTtFN0Jzc0hOO0U2QnBzSE07SUFDRTtFN0Jzc0hSO0FBQ0Y7O0E4Qi8xSEE7RUFNRTtFQUNBO0E5QjYxSEY7QThCdjFIRTtFQUNFO0E5QnkxSEo7QThCdDFIRTtFQUNFO0E5QncxSEo7QThCdDFISTtFQUNFO0E5QncxSE47QThCbjFIRTtFQUNFO0E5QnExSEo7QThCbDFIRTtFQUNFO0E5Qm8xSEo7QThCajFIRTtFQUNFO0VBQ0E7QTlCbTFISjtBOEJoMUhFO0VBQ0U7RUFDQTtBOUJrMUhKO0E4QjcwSE07RUFDRTtBOUIrMEhSO0E4QnYwSEk7RUFDRTtBOUJ5MEhOO0E4Qi96SE07RUFDRTtFQUNBO0E5QmkwSFI7QThCMXpITTtFQUNFO0VBQ0E7QTlCNHpIUjtBTXg0SEU7RXdCaUdFO0lBQ0U7RTlCMHlISjtFOEJ2eUhFO0lBQ0U7SUFDQTtFOUJ5eUhKO0U4QnZ5SEk7SUFDRTtFOUJ5eUhOO0U4QnJ5SEU7SUFDRTtFOUJ1eUhKO0U4QnB5SEU7SUFDRTtFOUJzeUhKO0U4Qi94SE07OztJQUVFO0U5Qmt5SFI7RThCNXhISTtJQUNFO0U5Qjh4SE47RThCM3hISTtJQUNFO0lBQ0E7RTlCNnhITjtFOEIzeEhNO0lBQ0U7RTlCNnhIUjtFOEJ4eEhNO0lBQ0U7SUFDQTtFOUIweEhSO0U4Qnh4SFE7SUFDRTtFOUIweEhWO0U4Qm54SEk7SUFDRTtFOUJxeEhOO0U4Qmx4SEk7SUFDRTtJQUNBO0U5Qm94SE47RThCbHhITTtJQUNFO0U5Qm94SFI7RThCL3dITTtJQUNFO0lBQ0E7RTlCaXhIUjtFOEIvd0hRO0lBQ0U7RTlCaXhIVjtBQUNGOztBK0J0N0hFO0VBQ0U7RUFDQTtBL0J5N0hKO0ErQnQ3SEU7RUFDRTtBL0J3N0hKO0ErQnI3SEU7RUFDRTtBL0J1N0hKO0ErQi82SEk7RUFDRTtBL0JpN0hOO0FNLzhIRTtFeUJrREU7SUFDRTtFL0JnNkhKO0UrQjc1SEU7SUFDRTtFL0IrNUhKO0UrQjU1SEU7SUFDRTtJQUNBO0UvQjg1SEo7RStCMzVIRTtJQUNFO0lBQ0E7RS9CNjVISjtBQUNGOztBZ0NwOUhFO0VBQ0U7RUFDQTtBaEN1OUhKO0FNcCtIRTtFMEJtQ0U7SUFDRTtJQUNBO0VoQ284SEo7QUFDRjs7QWlDMStIRTtFQUNFO0FqQzYrSEo7QWlDMStIRTtFQUNFO0VBQ0E7QWpDNCtISjtBTWwvSEU7RTJCZ0JFO0lBQ0U7RWpDcStISjtFaUNsK0hFO0lBQ0U7SUFDQTtFakNvK0hKO0VpQ2wrSEk7SUFDRTtFakNvK0hOO0VpQ2grSEk7SUFDRTtFakNrK0hOO0VpQ2grSE07SUFDRTtFakNrK0hSO0FBQ0Y7O0FrQ3ovSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO1VBQUE7QWxDNC9ISjtBa0MxL0hJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtBbEM0L0hOO0FrQ3gvSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEMwL0hKOztBbUNuaUlFO0VBQ0U7RUFDQTtBbkNzaUlKO0FtQ25pSUU7RUFDRTtBbkNxaUlKO0FtQ2xpSUU7RUFDRTtBbkNvaUlKO0FtQ2xpSUk7RUFDRTtBbkNvaUlOO0FtQy9oSUk7RUFDRTtBbkNpaUlOO0FNcGpJRTtFNkIwQkk7SUFDRTtFbkM2aElOO0VtQ3poSU07SUFDRTtFbkMyaElSO0VtQ3JoSUk7SUFDRTtFbkN1aElOO0VtQ25oSU07SUFDRTtFbkNxaElSO0FBQ0Y7QU1sa0lFO0U2QnlERTtJQUNFO0VuQzRnSUo7RW1DMWdJSTtJQUNFO0VuQzRnSU47QUFDRjs7QW9DemtJQTtFQU1FO0FwQ3VrSUY7QW9DamtJRTtFQUNFO0FwQ21rSUo7QW9DL2pJTTtFQUNFO0FwQ2lrSVI7QW9DOWpJTTtFQUNFO0FwQ2drSVI7QW9DN2pJTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwQytqSVI7QW9DM2pJSTtFQUNFO0FwQzZqSU47QW9DMWpJSTtFQUNFO0FwQzRqSU47QW9DcGpJRTtFQUNFO0FwQ3NqSUo7QU10bUlFO0U4QkNGO0lBaUVJO0VwQ3dpSUY7RW9DdGlJRTtJQUtFO0lBQ0E7RXBDb2lJSjtFb0NqaUlFO0lBQ0U7RXBDbWlJSjtFb0NqaUlJO0lBQ0U7RXBDbWlJTjtFb0NoaUlJO0lBQ0U7SUFDQTtFcENraUlOO0VvQ2hpSU07SUFDRTtFcENraUlSO0VvQy9oSU07SUFDRTtJQUNBO0VwQ2lpSVI7RW9DL2hJUTtJQUNFO0VwQ2lpSVY7RW9DNWhJSTtJQUNFO0VwQzhoSU47RW9DNWhJTTtJQUNFO0VwQzhoSVI7RW9DM2hJTTtJQUNFO0VwQzZoSVI7QUFDRjs7QXFDM29JQTtFQU1FO0FyQ3lvSUY7QXFDbm9JRTtFQUNFO0FyQ3FvSUo7QXFDbG9JRTtFQUNFO0VBQ0E7QXJDb29JSjtBcUNqb0lFO0VBQ0U7QXJDbW9JSjtBcUNob0lFO0VBQ0U7QXJDa29JSjtBTTdwSUU7RStCQ0Y7SUFpREk7RXJDK21JRjtFcUM3bUlFO0lBQ0U7RXJDK21JSjtFcUM1bUlFO0lBQ0U7RXJDOG1JSjtBQUNGOztBc0N2cUlBO0VqQ2dDRTtBTDJvSUY7O0FzQzVwSU07RUFFRTtFQUNBO0VBQ0E7RUFDQTtBdEM4cElSO0FNbnJJRTtFZ0NnQkk7SXBCbkJGO0lBQ0E7RWxCMHJJRjtBQUNGO0FNenJJRTtFZ0MyQkk7SWpCckNKO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJ1c0lBO0VLcHZISTtJZ0J2Y0o7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJ3cklUO0VLdnZISTtJZ0IzY0o7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztJakJtY0g7RUw2dkhOO0FBQ0Y7QXNDbHJJUTtFQUVFO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFHQTtBdENpcklWO0FzQy9xSVU7RUFDRTtBdENpcklaO0FzQ3hxSU07RUFDRTtBdEMwcUlSO0FzQ2hxSU07RUFDRTtBdENrcUlSO0FzQzdwSU07RUFDRTtBdEMrcElSO0FzQ3hwSUk7RUFDRTtBdEMwcElOO0FzQ3RwSUU7RUFDRTtBdEN3cElKO0FzQ3RwSUk7RUFDRTtBdEN3cElOO0FzQ2xwSUk7RUFDRTtBdENvcElOO0FzQ2pwSUk7RUFDRTtBdENtcElOO0FzQ2hwSUk7RUFDRTtFQUNBO0F0Q2twSU47QXNDeG9JRTtFQUNFO0F0QzBvSUo7QXNDeG9JSTtFQUNFO0F0QzBvSU47QXNDcG9JRTtFQUNFO0VBQ0E7QXRDc29JSjtBc0Nqb0lFO0VBQ0U7RUFDQTtBdENtb0lKO0FzQ2pvSUk7RUFDRTtBdENtb0lOO0FzQy9uSUU7RUFDRTtFQUNBO0F0Q2lvSUo7QXNDM25JSTtFQUNFO0F0QzZuSU47QXNDdm5JSTtFQUNFO0F0Q3luSU47QXNDdG5JSTtFQUNFO0VBQ0E7RUFDQTtBdEN3bklOO0FzQ3RuSU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDd25JUjtBc0NubklRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRDcW5JVjtBc0NqbklZO0VBQ0U7QXRDbW5JZDtBc0M5bUlROztFQUdFO0F0QyttSVY7QXNDNW1JUTtFQUNFO0VBQ0E7QXRDOG1JVjtBc0N6bUlJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRDMm1JTjtBc0N4bUlJO0VBQ0U7QXRDMG1JTjtBc0N2bUlJO0VBQ0U7QXRDeW1JTjtBc0NwbUlJO0VBQ0U7RUFDQTtBdENzbUlOO0FzQ3BtSU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDc21JUjtBc0MvbElJO0VBQ0U7QXRDaW1JTjtBc0M5bElJO0VBQ0U7QXRDZ21JTjtBTTcwSUU7RWdDZ1FFO0lBQ0U7SUFDQTtFdENnbElKO0VzQzdrSUU7SUFDRTtFdEMra0lKO0VzQzVrSUU7SUFDRTtJQUNBO0V0QzhrSUo7RXNDemtJTTtJQUNFO0V0QzJrSVI7RXNDdGtJRTtJQUNFO0V0Q3drSUo7RXNDbmtJSTtJQUNFO0V0Q3FrSU47RXNDL2pJSTtJQUNFO0V0Q2lrSU47RXNDOWpJSTtJQUNFO0V0Q2drSU47RXNDNWpJRTtJQUNFO0V0QzhqSUo7QUFDRjs7QXVDMzJJQTtFQU1FO0F2Q3kySUY7QXVDbDJJRTtFQUVFO0F2Q20ySUo7QXVDaDJJRTtFQUNFO0F2Q2sySUo7QXVDLzFJRTtFQUNFO0VBQ0E7QXZDaTJJSjtBdUM5MUlJO0VBRUU7QXZDKzFJTjtBdUMzMUlFO0VBQ0U7RUFDQTtBdkM2MUlKO0FTMTRJSTtFQWlDRjtBVDQySUY7QVNwNElJO0VBbUJGO0VBQ0E7QVRvM0lGO0FTbjRJTTtFQW1CSjtBVG0zSUY7QVNsNElRO0VBVU47RUFDQTtBVDIzSUY7QU0vNElFO0VpQ0NGO0lBNkRJO0V2Q3ExSUY7RXVDbjFJRTtJQUNFO0V2Q3ExSUo7RXVDajFJSTtJQUNFO0V2Q20xSU47RXVDaDFJSTtJQUNFO0V2Q2sxSU47RXVDNzBJUTtJQUNFO0lBQ0E7RXZDKzBJVjtFdUN6MElFO0lBQ0U7RXZDMjBJSjtFdUN6MElJO0lBQ0U7SUFDQTtFdkMyMElOO0V1Q3QwSUU7SUFFRTtFdkN1MElKO0V1Q3IwSWE7SUFDUDtFdkN1MElOO0V1Q24wSUk7SUFDRTtJQUNBO0V2Q3EwSU47RXVDbjBJZTtJQUNQO0lBQ0E7RXZDcTBJUjtFdUNoMElFO0lBQ0U7RXZDazBJSjtBQUNGOztBdUM5eklBO0VBQ0U7QXZDaTBJRjs7QXdDajdJSTtFQUNFO0F4Q283SU47QXdDaDdJRTtFQUNFO0F4Q2s3SUo7QXdDOTZJSTtFQUNFO0F4Q2c3SU47QXdDNTZJRTtFQUNFO0F4Qzg2SUo7QU0xOElFO0VrQ0NGO0lBbURJO0V4QzA1SUY7RXdDeDVJRTtJQUNFO0V4QzA1SUo7RXdDdjVJRTtJQUNFO0V4Q3k1SUo7RXdDdDVJRTtJQUNFO0V4Q3c1SUo7RXdDbjVJRTtJQUNFO0V4Q3E1SUo7RXdDbjVJSTtJQUNFO0V4Q3E1SU47RXdDbjVJTTtJQUNFO0lBQ0E7RXhDcTVJUjtFd0NqNUlJO0lBQ0U7RXhDbTVJTjtFd0NoNUlJO0lBQ0U7RXhDazVJTjtBQUNGOztBeUNqK0lFO0VBQ0U7QXpDbytJSjtBeUM3OUlFO0VBQ0U7RUFDQTtFQUNBO0F6Qys5SUo7QXlDNTlJRTtFQUNFO0F6Qzg5SUo7QXlDMTlJSTtFQUNFO0F6QzQ5SU47QXlDdjlJSTtFQUNFO0F6Q3k5SU47QXlDdDlJSTtFQUNFO0F6Q3c5SU47QU03L0lFO0VtQzhESTtJQUNFO0V6Q2s4SU47RXlDOTdJRTtJQUNFO0V6Q2c4SUo7RXlDNzdJRTtJQUNFO0lBQ0E7RXpDKzdJSjtFeUM1N0lFO0lBRUU7SUFDQTtFekM2N0lKO0FBQ0Y7O0EwQzVnSkE7RUFNRTtFQUNBO0ExQzBnSkY7QTBDbGdKSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0ExQ29nSk47QTBDaGdKRTtFQUNFO0VBQ0E7QTFDa2dKSjtBMEMzL0lJOztFQUVFO0ExQzYvSU47QTBDei9JTTtFQUNFO0ExQzIvSVI7QU1uaUpFO0VvQ2dFRTtJQUNFO0lBQ0E7RTFDcytJSjtBQUNGO0FNemlKRTtFb0NDRjtJQXNFSTtFMUNzK0lGO0UwQ3ArSUU7SUFDRTtFMUNzK0lKO0UwQ3ArSUk7SUFDRTtJQUNBO0lBQ0E7RTFDcytJTjtFMENwK0lNO0lBQ0U7SUFDQTtJQUNBO0UxQ3MrSVI7RTBDOTlJTTtJQUNFO0UxQ2crSVI7RTBDMzlJRTtJQUNFO0UxQzY5SUo7RTBDeDlJTTtJQUNFO0lBQ0E7RTFDMDlJUjtFMENyOUlFO0lBQ0U7RTFDdTlJSjtFMENsOUlNO0l4Q3JGSjtJQUNBO0lBbUJBLGdDQUZxQjtJUW5DdkIsMENSNkNlO0lRNUNmO0lnQ3VHUTtFMUN3OUlSO0FBQ0Y7O0EyQ3prSkE7RUFNRTtBM0N1a0pGO0EyQ2hrSkk7RUFDRTtBM0Nra0pOO0EyQ2hrSk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCQWpDbUI7QTNDbW1KM0I7QTJDN2pKVTtFQUNFO0VBQ0E7RUFDQTtBM0MrakpaO0EyQzNqSlE7RUFDRTtBM0M2akpWO0EyQ3hqSlE7RUFDRTtBM0MwakpWO0EyQ3RqSk07RUFDRTtFQUNBO0VBQ0E7QTNDd2pKUjtBMkN0akpRO0VBQ0U7RUFDQTtBM0N3akpWO0EyQzlpSkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNDZ2pKSjtBMkM5aUpJO0VBQ0U7QTNDZ2pKTjtBMkM1aUpJO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0M2aUpOO0EyQzFpSkk7RUFDRTtBM0M0aUpOO0EyQ3ppSkk7RUFDRTtBM0MyaUpOO0EyQ3hpSkk7RUFDRTtBM0MwaUpOO0EyQ3RpSlU7RUFDRTtBM0N3aUpaO0EyQ25pSlU7RUFDRTtBM0NxaUpaO0EyQy9oSk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNDaWlKUjtBMkMvaEpRO0VBQ0U7RUFDQTtBM0NpaUpWO0EyQzVoSkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBM0M4aEpOO0EyQzVoSk07RUFDRTtFQUNBO0VBQ0E7QTNDOGhKUjtBTTFxSkU7RXFDa0tJO0lBQ0U7SUFDQSxpQkExS2dDO0UzQ3FySnRDO0UyQ3pnSk07SUFFRTtJQUNBLGlCQS9LOEI7RTNDeXJKdEM7RTJDdGdKUTtJQUNFLGlCQXBMNEI7RTNDNHJKdEM7RTJDLy9JUTtJQUNFO0UzQ2lnSlY7RTJDNy9JTTtJQUNFO0UzQysvSVI7RTJDNy9JUTtJQUVFO0lBQ0E7SUFDQSx1QkF2TXVCO0UzQ3FzSmpDO0FBQ0Y7O0E0Q3ZySkU7RUFDRTtFQUNBO0E1QzBySko7QTRDdnJKRTtFQUNFO0E1Q3lySko7QTRDdHJKRTtFQUNFO0E1Q3dySko7QTRDcnJKRTtFQUNFO0E1Q3VySko7QTRDbnJKSTtFQUNFO0E1Q3FySk47QU1udEpFO0VzQ3FERTtJQUNFO0lBQ0E7RTVDaXFKSjtFNEM5cEpFO0lBQ0U7RTVDZ3FKSjtFNEM3cEpFO0lBQ0U7RTVDK3BKSjtBQUNGOztBNkNsb0pFO0VBeEdBO0VBQ0E7RUF5R0U7QTdDc29KSjtBNkNub0pFO0VBN0dBO0VBQ0E7QTdDbXZKRjtBNkNub0pFO0VBakhBO0VBQ0E7QTdDdXZKRjtBNkNub0pFO0VBckhBO0VBQ0E7QTdDMnZKRjtBNkNub0pFO0VBekhBO0VBQ0E7QTdDK3ZKRjtBNkNub0pFO0VBN0hBO0VBQ0E7QTdDbXdKRjtBNkNub0pFO0VBaklBO0VBQ0E7QTdDdXdKRjtBNkNub0pFO0VBcklBO0VBQ0E7QTdDMndKRjtBNkNub0pFO0VBeklBO0VBQ0E7QTdDK3dKRjtBNkM1d0pJOzs7Ozs7Ozs7Ozs7Ozs7RUFlRTtBN0M4d0pOO0E2QzN3Skk7O0VBRUU7QTdDNndKTjtBNkMzd0pNOztFQUNFO0E3Qzh3SlI7QTZDendKTTtFQUNFO0E3QzJ3SlI7QTZDendKUTtFQUNFO0E3QzJ3SlY7QTZDeHdKUTtFQUNFO0E3QzB3SlY7QTZDcHdKVTs7RUFFRTtBN0Nzd0paO0E2Q253SlU7RUFDRTtBN0Nxd0paO0E2Qzl2Sk07RUFDRTtBN0Nnd0pSO0E2Qzl2SlE7RUFDRTtBN0Nnd0pWO0E2QzF2Sk07RUFDRTtBN0M0dkpSO0E2QzF2SlE7RUFDRTtBN0M0dkpWO0E2Q3Z2Skk7RUFDRTtBN0N5dkpOO0E2Q3R2Skk7RUFDRTtBN0N3dkpOO0E2Q3R2Sk07OztFQUdFO0E3Q3d2SlI7QTZDcHZKSTtFQUNFO0VBQ0E7QTdDc3ZKTjtBTXowSkU7RXVDaUlFO0lBNUlGO0lBQ0E7RTdDdzFKQTtFNkNyMUpFOzs7Ozs7Ozs7Ozs7Ozs7SUFlRTtFN0N1MUpKO0U2Q3AxSkU7O0lBRUU7RTdDczFKSjtFNkNwMUpJOztJQUNFO0U3Q3UxSk47RTZDbDFKSTtJQUNFO0U3Q28xSk47RTZDbDFKTTtJQUNFO0U3Q28xSlI7RTZDajFKTTtJQUNFO0U3Q20xSlI7RTZDNzBKUTs7SUFFRTtFN0MrMEpWO0U2QzUwSlE7SUFDRTtFN0M4MEpWO0U2Q3YwSkk7SUFDRTtFN0N5MEpOO0U2Q3YwSk07SUFDRTtFN0N5MEpSO0U2Q24wSkk7SUFDRTtFN0NxMEpOO0U2Q24wSk07SUFDRTtFN0NxMEpSO0U2Q2gwSkU7SUFDRTtFN0NrMEpKO0U2Qy96SkU7SUFDRTtFN0NpMEpKO0U2Qy96Skk7OztJQUdFO0U3Q2kwSk47RTZDN3pKRTtJQUNFO0lBQ0E7RTdDK3pKSjtBQUNGO0FNbjVKRTtFdUN1SUU7SUFsSkY7SUFDQTtFN0NrNkpBO0U2Qy81SkU7Ozs7Ozs7Ozs7Ozs7OztJQWVFO0U3Q2k2Sko7RTZDOTVKRTs7SUFFRTtFN0NnNkpKO0U2Qzk1Skk7O0lBQ0U7RTdDaTZKTjtFNkM1NUpJO0lBQ0U7RTdDODVKTjtFNkM1NUpNO0lBQ0U7RTdDODVKUjtFNkMzNUpNO0lBQ0U7RTdDNjVKUjtFNkN2NUpROztJQUVFO0U3Q3k1SlY7RTZDdDVKUTtJQUNFO0U3Q3c1SlY7RTZDajVKSTtJQUNFO0U3Q201Sk47RTZDajVKTTtJQUNFO0U3Q201SlI7RTZDNzRKSTtJQUNFO0U3Qys0Sk47RTZDNzRKTTtJQUNFO0U3Qys0SlI7RTZDMTRKRTtJQUNFO0U3QzQ0Sko7RTZDejRKRTtJQUNFO0U3QzI0Sko7RTZDejRKSTs7O0lBR0U7RTdDMjRKTjtFNkN2NEpFO0lBQ0U7SUFDQTtFN0N5NEpKO0FBQ0Y7QU03OUpFO0V1QzZJRTtJQXhKRjtJQUNBO0U3QzQrSkE7RTZDeitKRTs7Ozs7Ozs7Ozs7Ozs7O0lBZUU7RTdDMitKSjtFNkN4K0pFOztJQUVFO0U3QzArSko7RTZDeCtKSTs7SUFDRTtFN0MyK0pOO0U2Q3QrSkk7SUFDRTtFN0N3K0pOO0U2Q3QrSk07SUFDRTtFN0N3K0pSO0U2Q3IrSk07SUFDRTtFN0N1K0pSO0U2Q2orSlE7O0lBRUU7RTdDbStKVjtFNkNoK0pRO0lBQ0U7RTdDaytKVjtFNkMzOUpJO0lBQ0U7RTdDNjlKTjtFNkMzOUpNO0lBQ0U7RTdDNjlKUjtFNkN2OUpJO0lBQ0U7RTdDeTlKTjtFNkN2OUpNO0lBQ0U7RTdDeTlKUjtFNkNwOUpFO0lBQ0U7RTdDczlKSjtFNkNuOUpFO0lBQ0U7RTdDcTlKSjtFNkNuOUpJOzs7SUFHRTtFN0NxOUpOO0U2Q2o5SkU7SUFDRTtJQUNBO0U3Q205Sko7QUFDRjtBNkNuNUpNO0VBL0pKO0VBQ0E7QTdDcWpLRjtBNkNsaktJOzs7Ozs7Ozs7Ozs7Ozs7RUFlRTtBN0NvaktOO0E2Q2pqS0k7O0VBRUU7QTdDbWpLTjtBNkNqaktNOztFQUNFO0E3Q29qS1I7QTZDL2lLTTtFQUNFO0E3Q2lqS1I7QTZDL2lLUTtFQUNFO0E3Q2lqS1Y7QTZDOWlLUTtFQUNFO0E3Q2dqS1Y7QTZDMWlLVTs7RUFFRTtBN0M0aUtaO0E2Q3ppS1U7RUFDRTtBN0MyaUtaO0E2Q3BpS007RUFDRTtBN0NzaUtSO0E2Q3BpS1E7RUFDRTtBN0NzaUtWO0E2Q2hpS007RUFDRTtBN0NraUtSO0E2Q2hpS1E7RUFDRTtBN0NraUtWO0E2QzdoS0k7RUFDRTtBN0MraEtOO0E2QzVoS0k7RUFDRTtBN0M4aEtOO0E2QzVoS007OztFQUdFO0E3QzhoS1I7QTZDMWhLSTtFQUNFO0VBQ0E7QTdDNGhLTjtBNkNqOUpNO0VBQ0U7QTdDbTlKUjtBNkM5OEpFO0VBRUU7QTdDKzhKSjtBTXJuS0U7RXVDb0tBO0l4QnZIRTtJQUFBO0lBQ0E7RXJCNGtLRjtBQUNGO0FNM25LRTtFdUNvS0E7SXhCaEhFO0VyQjJrS0Y7QUFDRjtBTWhvS0U7RXVDb0tBO0l4QnpHRTtFckJ5a0tGO0FBQ0Y7QU1yb0tFO0V1Q29LQTtJeEJsR0U7RXJCdWtLRjtBQUNGO0E2Q2grSkU7RUFFRTtFQUNBO0E3Q2krSko7QU05b0tFO0V1QzBLQTtJeEI3SEU7SUFBQTtJQUNBO0VyQnFtS0Y7QUFDRjtBTXBwS0U7RXVDMEtBO0l4QnRIRTtFckJvbUtGO0FBQ0Y7QU16cEtFO0V1QzBLQTtJeEIvR0U7RXJCa21LRjtBQUNGO0FNOXBLRTtFdUMwS0E7SXhCeEdFO0VyQmdtS0Y7QUFDRjtBTW5xS0U7RXVDMEtBO0lBTUk7RTdDdS9KSjtBQUNGOztBOENucUtFO0VBQ0U7QTlDc3FLSjs7QThDbHFLQTtFQUNFO0E5Q3FxS0Y7QThDbnFLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E5Q3FxS0o7QThDbHFLRTtFQUNFO0E5Q29xS0o7O0ErQ3RxS0U7RUFDRTtBL0N5cUtKO0ErQ3BxS0U7RUFDRTtBL0NzcUtKO0ErQ2pxS0U7RUFDRTtBL0NtcUtKO0ErQzFwS007RUFDRTtBL0M0cEtSO0ErQ3hwS0k7RTdDZEE7RUFDQTtFQW1CQSxnQ0FGcUI7RTZDRG5CO0VBQ0E7QS9DMnBLTjtBK0N0cEtJO0VBR0U7QS9Dc3BLTjtBK0NucEtJO0VBSUU7RUFDQTtBL0NrcEtOO0ErQy9vS0k7RUFHRTtFQUNBO0EvQytvS047QStDNW9LSTtFQUlFO0VBQ0E7QS9DMm9LTjtBK0N6b0tNO0VBR0U7QS9DeW9LUjtBK0Nqb0tJO0VBQ0U7RUFDQTtFQUNBO0EvQ21vS047QStDaG9LUTtFQUNFO0EvQ2tvS1Y7QStDM25LTTs7RUFDRTtFQUNBO0EvQzhuS1I7QU01dUtFO0V5Q3lJRTtJQUNFO0UvQ3NtS0o7RStDbm1LRTtJQUNFO0UvQ3FtS0o7QUFDRjtBTXB2S0U7RXlDa0pJOzs7STdDbEhGO0lBQ0E7SUFtQkEsMkJBRnFCO0VGMHNLdkI7QUFDRjtBTTd2S0U7RXlDd0pJO0lBQ0U7SUFDQTtJQUNBO0UvQ3dtS047RStDdG1LTTtJQUNFO0UvQ3dtS1I7RStDdG1LUTtJQUNFO0UvQ3dtS1Y7RStDbm1LSTtJQUNFO0lBQ0E7RS9DcW1LTjtFK0NsbUtRO0lBQ0U7SUFDQTtJQUNBO0UvQ29tS1Y7RStDL2xLSTtJN0NuSkY7SUFDQTtJQW1CQSxnQ0FGcUI7STZDb0lqQjtFL0NrbUtOO0UrQzdsS0k7SUFDRTtFL0MrbEtOO0UrQzVsS0k7SUFDRTtJQUNBO0UvQzhsS047RStDM2xLSTtJQUNFO0UvQzZsS047QUFDRjtBTW55S0U7RXlDNk1NOzs7STdDN0tKO0lBQ0E7SUFtQkEsMkJBRnFCO0lRMUNyQjtFVm95S0Y7QUFDRjtBTTd5S0U7RXlDa05ROzs7SUFDRTtFL0NnbUtWO0FBQ0Y7O0FnRHp5S0U7RUFDRTtBaEQ0eUtKO0FnRDF5S0k7RUFDRTtBaEQ0eUtOO0FnRHh5S0U7RUFDRTtFQUNBO0FoRDB5S0o7QWdEdnlLRTtFQUNFO0FoRHl5S0o7QWdEdnlLSTtFQUNFO0VBQ0E7QWhEeXlLTjtBZ0RyeUtFO0VBQ0U7QWhEdXlLSjtBTXowS0U7RTBDd0RFO0lBQ0U7RWhEb3hLSjtFZ0RqeEtFO0lBQ0U7RWhEbXhLSjtFZ0RoeEtFO0lBQ0U7RWhEa3hLSjtFZ0Qvd0tFO0lBQ0U7SUFDQTtFaERpeEtKO0VnRC93S0k7SUFDRTtJQUNBO0VoRGl4S047RWdEL3dLTTtJQUNFO0VoRGl4S1I7RWdENXdLRTtJQUNFO0VoRDh3S0o7QUFDRjs7QWlEajJLQTtFQUVFO0FqRG0yS0Y7QWlENzFLRTtFQUNFO0VBQ0E7QWpEKzFLSjtBaUQ1MUtFOztFQUVFO0FqRDgxS0o7QWlEMzFLRTtFQUNFO0VBQ0E7QWpENjFLSjtBTWwzS0U7RTJDQ0Y7SUE4Q0k7SUFHQTtFakRxMEtGO0VpRG4wS0U7SUFDRTtJQUNBO0VqRHEwS0o7RWlEbDBLRTtJQUNFO0VqRG8wS0o7QUFDRjs7QWtEdDRLRTtFQUNFO0FsRHk0S0o7QWtEdDRLRTtFQUNFO0VBQ0E7QWxEdzRLSjtBa0RyNEtFO0VBQ0U7QWxEdTRLSjtBa0RyNEtJO0VBQ0U7QWxEdTRLTjtBa0RuNEtFO0VBQ0U7QWxEcTRLSjtBa0RuNEtJOztFQUVFO0FsRHE0S047O0FtRGo1S0E7RUFDRTtFQUNBO0VBQ0E7QW5EbzVLRjtBbURsNUtFO0VBQ0U7RUFDQTtFQUNBO0FuRG81S0o7QW1EajVLRTtFQUVFO0FuRGs1S0o7QU1sNktFO0U2Q0dGO0lBMkNJO0VuRHczS0Y7RW1EdDNLRTtJQUVFO0VuRHUzS0o7QUFDRjtBTTE2S0U7RTZDdURFO0lBRUU7RW5EcTNLSjtBQUNGO0FNLzZLRTtFNkNHRjtJQTJESTtFbkRxM0tGO0VtRG4zS0U7SUFFRTtFbkRvM0tKO0FBQ0Y7O0FvRHQ3S0E7RUFFRTtBcER3N0tGO0FvRDk2S0U7RUFDRTtFQUNBO0FwRGc3S0o7QW9ENzZLRTtFQUNFO0FwRCs2S0o7QW9ENTZLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBEODZLSjtBb0R0NktFO0VBQ0U7QXBEdzZLSjtBTTU4S0U7RThDdURFO0lBQ0U7SUFDQTtFcER3NUtKO0VvRHI1S0U7SUFDRTtFcER1NUtKO0VvRHI1S0k7SUFDRTtJQUNBO0VwRHU1S047RW9EcDVLSTtJQUNFO0VwRHM1S047QUFDRjs7QXFEaDlLQTtFQUNFO0FyRG05S0Y7O0FxRGg5S0E7RWhEdUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUw2NktGOztBcUR2OUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckQwOUtGOztBcUR2OUtBO0VBOUJFO0VBQUE7RUFnQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQSx1QkFuRDZCO0VBb0Q3QjtFQUNBO0FyRDA5S0Y7QXFEeDlLRTtFQUNFO0FyRDA5S0o7QXFEdjlLRTtFQUNFO0VBQ0E7RUFDQTtBckR5OUtKO0FxRHQ5S0U7RWhEdkJBO0VnRHlCRTtBckR3OUtKO0FxRHI5S0U7RUFDRTtBckR1OUtKO0FxRHA5S0U7RUFDRTtBckRzOUtKO0FxRGw5S0U7RUFDRTtBckRvOUtKOztBcURoOUtBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QXJEazlLRjtBcURoOUtFO0VBQ0U7QXJEazlLSjs7QXFEOThLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckRpOUtGO0FxRDk4S0U7RUFDRTtFQUNBO0VBQ0E7QXJEZzlLSjs7QXFENThLQTtFQUVFO0VBQ0E7RUFDQTtFQUNBLGlCQWxIMEI7RUFtSDFCO0VBQ0EsdUJBdEgrQjtFQXVIL0I7RUFDQTtBckQ4OEtGO0FxRDM4S0U7RUFDRTtFQUNBO0VBQ0E7QXJENjhLSjtBcUR6OEtFO0VBQ0U7RUFDQTtFQUNBO0FyRDI4S0o7O0FxRHY4S0E7RUFoSUU7RUFBQTtFQWtJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckQwOEtGO0FxRHg4S0U7RWhEcEZBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUwraExGO0FxRDc4S0U7RUEvSUE7RUFBQTtFQWtKRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHVCQWpLaUM7QXJEK21MckM7QXFEMzhLRTtFQUNFO1VBQUE7QXJENjhLSjtBcUQxOEtFO0VBQ0U7VUFBQTtBckQ0OEtKO0FxRHo4S0U7RUFDRTtFQUNBO0FyRDI4S0o7O0FzRC9sTEU7Ozs7RUFJRTtBdERrbUxKO0FzRDdsTEU7RUFDRTtBdEQrbExKO0FzRDFsTE07RUFDRTtFQUNBO0VBQ0E7QXRENGxMUjtBUzFvTEk7RUFpQ0Y7QVQ0bUxGO0FTcG9MSTtFQW1CRjtFQUNBO0FUb25MRjtBU25vTE07RUFtQko7QVRtbkxGO0FTbG9MUTtFQVVOO0VBQ0E7QVQybkxGO0FzRDdsTEk7RVQ3REY7RUFDQTtFUzhESTtBdERnbUxOO0FzRDlsTE07RVRqRUo7RUFDQTtFU2tFTTtFQUNBO0F0RGltTFI7QXNEOWxMTTtFQUVFO0F0RCtsTFI7QXNEM2xMUTtFQUNFLG1CQXRFMEI7RUF1RTFCO0F0RDZsTFY7QXNEemxMTTtFVG5GSjtFQUNBO0VTaUJBO0VBQ0E7RUFDQTtFQWtFTTtFQUNBLGVBL0U0QjtFQWlGNUIsc0JBaEZzQztBdEQ2cUw5QztBc0R4bExRO0VBQ0U7RUFDQTtBdEQwbExWO0FzRHJsTFE7RUFDRTtNQUFBO1VBQUE7RUFDQTtBdER1bExWO0FzRHJsTFU7RUFDRTtBdER1bExaO0FzRHJsTFk7RUFDRTtBdER1bExkO0FzRGhsTE07RVRwSEo7RUFDQTtFU2lCQTtFQUNBO0VBQ0E7RUFtR007RUFDQTtFQUVBLG1CQWhIcUM7QXREb3NMN0M7QXNEL2tMUTtFQUNFO0F0RGlsTFY7QXNEOWtMUTtFQUNFO01BQUE7VUFBQTtFQUNBO0F0RGdsTFY7QXNEOWtMVTtFQUNFO0F0RGdsTFo7QXNEeGtMSTtFakRwR0Y7QUwrcUxGO0FzRHZrTEk7RWpEakdGO0FMMnFMRjtBS3hxTEk7RUFFRTtFQUFBO0VBQUE7QUx5cUxOO0FLM3FMSTtFQUVFO0VBQUE7RUFBQTtBTDRxTE47QUs5cUxJO0VBRUU7RUFBQTtFQUFBO0FMK3FMTjtBS2pyTEk7RUFFRTtFQUFBO0VBQUE7QUxrckxOO0FzRGhsTEk7RVQxSkY7RUFDQTtFUzJKSTtBdERtbExOO0E2QzN1TEk7Ozs7Ozs7Ozs7Ozs7OztFQWVFO0E3QzZ1TE47QTZDMXVMSTs7RUFFRTtBN0M0dUxOO0E2QzF1TE07O0VBQ0U7QTdDNnVMUjtBNkN4dUxNO0VBQ0U7QTdDMHVMUjtBNkN4dUxRO0VBQ0U7QTdDMHVMVjtBNkN2dUxRO0VBQ0U7QTdDeXVMVjtBNkNudUxVOztFQUVFO0E3Q3F1TFo7QTZDbHVMVTtFQUNFO0E3Q291TFo7QTZDN3RMTTtFQUNFO0E3Qyt0TFI7QTZDN3RMUTtFQUNFO0E3Qyt0TFY7QTZDenRMTTtFQUNFO0E3QzJ0TFI7QTZDenRMUTtFQUNFO0E3QzJ0TFY7QTZDdHRMSTtFQUNFO0E3Q3d0TE47QTZDcnRMSTtFQUNFO0E3Q3V0TE47QTZDcnRMTTs7O0VBR0U7QTdDdXRMUjtBNkNudExJO0VBQ0U7RUFDQTtBN0NxdExOO0FzRHBwTEk7RVQvSkY7RUFDQTtFU2dLSTtBdER1cExOO0E2Q3B6TEk7Ozs7Ozs7Ozs7Ozs7OztFQWVFO0E3Q3N6TE47QTZDbnpMSTs7RUFFRTtBN0NxekxOO0E2Q256TE07O0VBQ0U7QTdDc3pMUjtBNkNqekxNO0VBQ0U7QTdDbXpMUjtBNkNqekxRO0VBQ0U7QTdDbXpMVjtBNkNoekxRO0VBQ0U7QTdDa3pMVjtBNkM1eUxVOztFQUVFO0E3Qzh5TFo7QTZDM3lMVTtFQUNFO0E3QzZ5TFo7QTZDdHlMTTtFQUNFO0E3Q3d5TFI7QTZDdHlMUTtFQUNFO0E3Q3d5TFY7QTZDbHlMTTtFQUNFO0E3Q295TFI7QTZDbHlMUTtFQUNFO0E3Q295TFY7QTZDL3hMSTtFQUNFO0E3Q2l5TE47QTZDOXhMSTtFQUNFO0E3Q2d5TE47QTZDOXhMTTs7O0VBR0U7QTdDZ3lMUjtBNkM1eExJO0VBQ0U7RUFDQTtBN0M4eExOO0FzRHR0TEk7RVR0S0Y7RUFDQTtFU3VLSTtBdER5dExOO0FzRHR0TEk7RUFDRTtBdER3dExOO0FzRG50TFE7RUFDRTtBdERxdExWO0FzRC9zTE07RUFDRTtBdERpdExSO0FNLzNMRTtFZ0RxTEk7O0lBRUU7RXRENnNMTjtFc0R4c0xRO0lBQ0U7RXREMHNMVjtBQUNGOztBdUR4NExFO0VBQ0U7QXZEMjRMSjtBTTU0TEU7RWlEV0U7SUFDRTtFdkRvNExKO0V1RGw0TEk7SUFDRTtJQUNBO0V2RG80TE47QUFDRjs7QXdEcjRMRTtFQUNFO0F4RHc0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QUNBO0VBQ0E7RUFDQTtBNUQ0NU1KO0E0RHhzTVE7RUFDRTtBNUQwc01WO0E0RHRzTU07RUFDRTtBNUR3c01SO0E0RG5zTVE7RUE5T047RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBNk9RO0E1RHdzTVY7QTREbDdNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1RG83TUo7QTREeHNNUTtFQTNQTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUEyUFE7RUFDQTtBNUQ0c01WO0E0RHI4TUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUR1OE1KO0E0RDVzTVE7RUExUU47RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RHk5TUY7QTREdDlNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1RHc5TUo7QTREMXNNTTtFQUNFO0VBQ0E7RUFDQTtBNUQ0c01SO0E0RGxzTUU7RTFEM1FFO0VBQ0E7RUFtQkEsd0JBRnFCO0UwRDRQckI7RUFDQTtFQUNBO0VBQ0E7RUFDQSwwQzFEdFBhO0UwRHVQYjtFQUNBO0VBQ0E7RUFDQTtBNURxc01KO0E0RGxzTU07RUFDRTtBNURvc01SO0E0RGpzTU07RUFDRTtBNURtc01SO0E0RC9yTUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RGlzTU47QTREN3JNTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1RCtyTVI7QTRENXJNTTtFQUNFO0VBQ0E7QTVEOHJNUjtBNEQzck1NO0VBQ0U7RUFDQTtBNUQ2ck1SO0E0RHpyTUk7RUFDRTtBNUQyck1OO0E0RHZyTUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUR5ck1OO0E0RDNxTUk7RUFDRTtFQUNBO0VBQ0E7QTVENnFNTjtBNEQxcU1RO0VBQ0U7QTVENHFNVjtBNER0cU1VO0VBQ0U7RUFDQTtBNUR3cU1aO0E0RG5xTU07RUFDRTtBNURxcU1SO0E0RGxxTU07RUFDRTtFQUNBO0E1RG9xTVI7QTREbHFNUTtFQUNFO0E1RG9xTVY7QTREeHBNSTtFQUNFO0VBQ0E7RUFDQTtBNUQwcE1OO0E0RHZwTVE7RUFDRTtFQUNBO0VBQ0E7QTVEeXBNVjtBNERycE1NO0VBQ0U7QTVEdXBNUjtBNERscE1JO0VBQ0U7QTVEb3BNTjtBNERscE1NO0VBQ0U7QTVEb3BNUjtBNERqcE1NO0VBQ0U7QTVEbXBNUjtBNEQ5b01JO0UxRDdaQTtFQUNBO0UwRDhaRTtFQUNBO0E1RGlwTU47QTREL29NTTtFQUNFO0VBQ0E7RUFDQTtBNURpcE1SO0E0RDdvTVE7RUFDRTtBNUQrb01WO0E0RG5vTUU7RTFEdGJFO0VBQ0E7RUFtQkEsZ0NBRnFCO0UwRHVhckI7RUFDQTtFQUNBO0VBQ0E7RUFDQSwwQzFEamFhO0UwRGthYjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RHNvTUo7QTREbm9NTTtFQUNFO0E1RHFvTVI7QTREbG9NTTtFQUNFO0E1RG9vTVI7QTREaG9NSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVEa29NTjtBNEQvbk1JO0VBQ0U7QTVEaW9NTjtBNERubk1JO0VBQ0U7RUFDQTtFQUNBO0E1RHFuTU47QTREbG5NUTtFQUNFO0VBQ0E7RUFDQTtBNURvbk1WO0E0RHhtTUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RDBtTU47QTREeG1NTTtFQUNFO0VBQ0E7QTVEMG1NUjtBNER0bU1RO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVEd21NVjtBNERwbU1VO0VBQ0U7RUFDQTtBNURzbU1aO0E0RDFsTUU7RTFEN2hCRTtFQUNBO0UwRDhoQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDBDMUR4Z0JhO0UwRHlnQmI7RUFDQTtFQUNBO0VBQ0E7QTVENmxNSjtBNEQzbE1JO0VBQ0U7RUFDQTtFQUNBO0E1RDZsTU47QTREM2xNTTtFQUNFO0E1RDZsTVI7QTREOWtNSTtFQUNFO0VBQ0E7RUFDQTtBNURnbE1OO0E0RDdrTVE7RUFDRTtFQUNBO0VBQ0E7QTVEK2tNVjtBNERwa01JO0VBQ0U7QTVEc2tNTjtBNERqa01JO0VBQ0U7QTVEbWtNTjtBTTdyTkU7RXNEeW9CUTtJQUNFO0U1RHVqTVY7RTREcmpN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Rjs7QWlFcCtOQTtFQU1FO0FqRWsrTkY7QWlFMTlORTtFQUVFO0FqRTI5Tko7QWlFdjlOSTtFQUNFO0FqRXk5Tk47QWlFcjlORTtFQUNFO0FqRXU5Tko7QWlFcDlORTtFQUNFO0VBQ0E7QWpFczlOSjtBaUVuOU5JO0VBRUU7QWpFbzlOTjtBaUVoOU5FO0VBQ0U7RUFDQTtBakVrOU5KO0FpRS84TkU7RUFDRTtBakVpOU5KO0FpRTE4Tk07RUFFRTtBakUyOE5SO0FpRXQ4Tk07RUFDRTtBakV3OE5SO0FpRTc3Tlk7RS9EekNSO0VBQ0E7RUFtQkEsd0JBRnFCO0FGeTlOekI7QU0zZ09FO0UyRHlFVTtJL0R6Q1I7SUFDQTtJQW1CQSwyQkFGcUI7SVFOckI7RVZzK05GO0VVcCtORTtJUmRBO0lBQ0E7SUFtQkEsZ0NBRnFCO0lRRG5CO0lBQ0E7RVZ1K05KO0VVcitOSTtJQUNFO0VWdStOTjtBQUNGO0FpRTc4Tk07RUFDRTtBakUrOE5SO0FpRTU4Tk07RUFDRTtFQUNBO0VBQ0E7QWpFODhOUjtBaUV6OE5NO0UvRDVERjtFQUNBO0VBbUJBLHdCQUZxQjtBRncvTnpCO0FNMWlPRTtFMkQ0Rkk7SS9ENURGO0lBQ0E7SUFtQkEsMkJBRnFCO0lRTnJCO0VWcWdPRjtFVW5nT0U7SVJkQTtJQUNBO0lBbUJBLGdDQUZxQjtJUURuQjtJQUNBO0VWc2dPSjtFVXBnT0k7SUFDRTtFVnNnT047QUFDRjtBaUV4OU5VO0UvRHBFTjtFQUNBO0VBbUJBLHdCQUZxQjtBRitnT3pCO0FNamtPRTtFMkRvR1E7SS9EcEVOO0lBQ0E7SUFtQkEsMkJBRnFCO0lRTnJCO0VWNGhPRjtFVTFoT0U7SVJkQTtJQUNBO0lBbUJBLGdDQUZxQjtJUURuQjtJQUNBO0VWNmhPSjtFVTNoT0k7SUFDRTtFVjZoT047QUFDRjtBaUV4K05RO0VBQ0U7QWpFMCtOVjtBaUVyK05JO0VBQ0U7RUFDQTtBakV1K05OO0FpRWwrTlE7RUFDRTtBakVvK05WO0FpRTc5TlE7RUFDRTtBakUrOU5WO0FpRTE5Tkk7RUFDRTtBakU0OU5OO0FpRXY5TlE7RUFDRTtBakV5OU5WO0FpRXA5Tkk7RUFDRTtBakVzOU5OO0FpRWo5TlE7RUFDRTtBakVtOU5WO0FpRTk4Tkk7RUFDRTtBakVnOU5OO0FpRTk4Tk07RUFFRTtBakUrOE5SO0FpRTM4Tkk7RUFDRTtBakU2OE5OO0FpRTM4Tk07RUFDRTtBakU2OE5SO0FpRTE4Tk07RUFHRTtBakUwOE5SO0FpRTc3Tkk7O0VBRUU7QWpFKzdOTjtBaUU1N05ROztFQUNFO0FqRSs3TlY7QWlFejdOTTtFQUNFO0FqRTI3TlI7QVMvb09JO0VBaUNGO0FUaW5PRjtBU3pvT0k7RUFtQkY7RUFDQTtBVHluT0Y7QVN4b09NO0VBbUJKO0FUd25PRjtBU3ZvT1E7RUFVTjtFQUNBO0FUZ29PRjtBTXBwT0U7RTJEQ0Y7SUFzT0k7RWpFaTdORjtFaUUvNk5FO0lBQ0U7RWpFaTdOSjtFaUUzNk5JO0lBQ0U7SUFDQTtFakU2Nk5OO0VpRTM2Tk07SUFDRTtFakU2Nk5SO0VpRTE2Tk07SUFDRTtFakU0Nk5SO0VpRXg2TlE7SUFFRTtFakV5Nk5WO0VpRS81TlE7SUFDRTtJQUNBO0VqRWk2TlY7RWlFMzVORTtJQUNFO0VqRTY1Tko7RWlFMTVORTtJQUNFO0VqRTQ1Tko7RWlFMTVOSTtJQUNFO0lBQ0E7RWpFNDVOTjtFaUV2NU5JO0lBQ0U7RWpFeTVOTjtFaUVwNU5JO0lBR0U7RWpFbzVOTjtFaUVqNU5RO0lBQ0U7RWpFbTVOVjtFaUVoNU5RO0lBQ0U7RWpFazVOVjtFaUUzNE5RO0lBQ0U7RWpFNjROVjtFaUV0NE5RO0lBQ0U7RWpFdzROVjtFaUVqNE5FO0lBRUU7RWpFazROSjtFaUVoNE5JO0lBQ0U7RWpFazROTjtFaUU5M05JO0lBQ0U7SUFDQTtFakVnNE5OO0VpRTkzTmU7SUFDUDtJQUNBO0VqRWc0TlI7RWlFMzNORTs7SUFFRTtFakU2M05KO0VpRTEzTkU7SUFDRTtJQUNBO0VqRTQzTko7RWlFMTNOSTtJQUNFO0VqRTQzTk47RWlFMTNOTTs7SUFFRTtFakU0M05SO0VpRXQzTkk7SUFDRTtJQUNBO0VqRXczTk47RWlFbDNOSTtJQUNFO0VqRW8zTk47RWlFajNOSTtJQUNFO0VqRW0zTk47RWlFajNOTTtJQUNFO0VqRW0zTlI7RWlFOTJOTTtJQUNFO0VqRWczTlI7RWlFOTJOUTtJQUNFO0VqRWczTlY7RWlFOTJOVTtJQUNFO0VqRWczTlo7RWlFMzJOTTtJQUNFO0VqRTYyTlI7RWlFMzJOUTtJQUNFO0VqRTYyTlY7RWlFMzJOVTtJQUNFO0VqRTYyTlo7RWlFdDJOTTtJQUNFO0VqRXcyTlI7RWlFdDJOUTtJQUNFO0VqRXcyTlY7RWlFdDJOVTtJQUNFO0VqRXcyTlo7RWlFaDJOUTtJQUNFO0VqRWsyTlY7QUFDRjs7QWtFaHhPQTtFQUNFO0VBQ0E7RUFDQTtBbEVteE9GO0FNdnhPRTtFNERDRjtJQWdDSTtJQUNBO0lBQ0E7RWxFMHZPRjtFa0V4dk9FO0lBRUU7RWxFeXZPSjtBQUNGO0FNanlPRTtFNERDRjtJQTJDSTtJQUNBO0lBQ0E7RWxFeXZPRjtBQUNGOztBbUV6d09BO0VBTUU7QW5FdXdPRjtBbUVod09JO0VBQ0U7QW5Fa3dPTjtBbUUvdk9JO0VBQ0U7QW5FaXdPTjtBbUU3dk9FO0VBQ0U7QW5FK3ZPSjtBbUU3dk9JO0VBQ0U7RUFDQTtFQUNBO0tBQUE7QW5FK3ZPTjtBbUUzdk9FO0VBQ0U7RUFDQTtBbkU2dk9KO0FtRTF2T0U7RUFDRTtBbkU0dk9KO0FtRTF2T0k7RUFDRTtBbkU0dk9OO0FtRXB2T0U7RUFDRTtBbkVzdk9KO0FtRWx2T0k7RUFDRTtBbkVvdk9OO0FNMTBPRTtFNkR5R0U7SUFDRTtFbkVvdU9KO0FBQ0Y7QU0vME9FO0U2RGlISTtJQUNFO0VuRWl1T047RW1FN3RPTTtJQUNFO0VuRSt0T1I7RW1FMXRPRTtJQUNFO0VuRTR0T0o7RW1FMXRPSTtJQUNFO0VuRTR0T047RW1FenRPSTtJQUNFO0lBQ0E7RW5FMnRPTjtFbUV4dE9JO0lBQ0U7RW5FMHRPTjtFbUV0dE9JO0lBQ0U7SUFDQTtFbkV3dE9OO0VtRXB0T0U7SUFDRTtJQUNBO0lBQ0E7RW5Fc3RPSjtFbUVwdE9JO0lBQ0U7RW5Fc3RPTjtFbUVudE9JO0lBQ0U7SUFDQTtFbkVxdE9OO0VtRWx0T0k7SUFDRTtFbkVvdE9OO0VtRWp0T0k7SUFDRTtJQUNBO0VuRW10T047RW1FaHRPSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RW5Fa3RPTjtFbUVodE9NO0lBQ0U7RW5Fa3RPUjtFbUUvc09NO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbkVpdE9SO0VtRTNzT0k7SUFDRTtFbkU2c09OO0VtRTFzT0k7SUFDRTtFbkU0c09OO0VtRXpzT0k7SUFDRTtFbkUyc09OO0VtRXhzT0k7SUFDRTtFbkUwc09OO0FBQ0Y7O0FvRWg1T0U7RUFDRTtBcEVtNU9KO0FvRTU0T0U7RUFHRTtFQUNBO0VBQ0E7QXBFNDRPSjtBb0V2NE9JO0VsRU1BO0VBQ0E7RWtFTEU7RUFDQTtFQUNBO0VBQ0E7RUFDQSwwQ2xFNEJXO0VrRTNCWDtFQUNBO0VBQ0E7QXBFMDRPTjtBb0V2NE9RO0VBQ0U7VUFBQTtBcEV5NE9WO0FvRWo0T1U7RUFDRTtVQUFBO0FwRW00T1o7QW9FaDRPVTtFQUNFO1VBQUE7QXBFazRPWjtBb0U3M09NO0VBQ0U7QXBFKzNPUjtBb0UxM09FO0VBQ0U7QXBFNDNPSjtBb0UxM09JO0VBQ0U7QXBFNDNPTjtBb0V4M09FO0VBQ0U7RUFDQTtBcEUwM09KO0FvRXQzT0k7RUFDRTtBcEV3M09OO0FNdDhPRTtFOEQwR0k7SUFDRTtFcEUrMU9OO0VvRTUxT2E7SUFDUDtJQUNBO0VwRTgxT047RW9FMzFPYTtJQUNQO0lBQ0E7RXBFNjFPTjtBQUNGOztBcUVoOU9BO0VBU0U7QXJFMjhPRjtBcUV0OE9FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckV3OE9KO0FxRWg4T0k7RUFDRTtBckVrOE9OO0FxRTc3T0k7RUFDRTtBckUrN09OO0FxRTE3T0k7RUFDRTtBckU0N09OOztBc0V0K09BO0VBTUU7RUFDQTtBdEVvK09GO0FzRWwrT0U7RUFDRTtBdEVvK09KO0FzRWorT0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRFbStPSjtBc0VqK09JO0VBQ0U7QXRFbStPTjtBc0UxOU9JO0VBQ0U7QXRFNDlPTjtBc0V6OU9JO0VBQ0U7QXRFMjlPTjtBTWhnUEU7RWdFQ0Y7SUE0REk7RXRFdThPRjtFc0VyOE9FO0lBQ0U7RXRFdThPSjtBQUNGOztBdUU5L09FO0VBQ0U7QXZFaWdQSjtBdUU5L09FO0VBQ0U7QXZFZ2dQSjtBdUU1L09JO0VBQ0U7QXZFOC9PTjtBdUUxL09FO0VBQ0U7QXZFNC9PSjtBdUV6L09FO0VBQ0U7RUFDQTtBdkUyL09KO0F1RXAvT0U7RUFDRTtFQUNBO0F2RXMvT0o7QXVFcC9PSTtFQUNFO0F2RXMvT047QXVFcC9PTTtFQUNFO0F2RXMvT1I7QXVFai9PRTtFQUNFO0F2RW0vT0o7QXVFaC9PRTtFQUNFO0F2RWsvT0o7QXVFLytPRTtFQUNFO0F2RWkvT0o7QXVFLytPSTtFQUNFO0F2RWkvT047QU0vaVBFO0VpRWtGRTtJQUNFO0lBQ0E7RXZFZytPSjtFdUU3OU9FO0lBQ0U7RXZFKzlPSjtFdUU1OU9FO0lBQ0U7RXZFODlPSjtFdUUzOU9FO0lBQ0U7RXZFNjlPSjtFdUUzOU9JO0lBQ0U7SUFDQTtFdkU2OU9OO0V1RTE5T0k7SUFDRTtFdkU0OU9OO0V1RXg5T0U7SUFDRTtFdkUwOU9KO0V1RXg5T0k7SUFDRTtFdkUwOU9OO0V1RXQ5T0U7SUFDRTtJQUNBO0V2RXc5T0o7RXVFdDlPSTtJQUNFO0V2RXc5T047RXVFcjlPSTtJQUNFO0V2RXU5T047RXVFcDlPSTtJQUNFO0lBQ0E7RXZFczlPTjtBQUNGOztBd0V4a1BFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO01BQUE7VUFBQTtBeEUya1BKO0F3RXZrUE07RUFDRTtBeEV5a1BSO0F3RXJrUEk7RUFDRTtBeEV1a1BOO0F3RWhrUE07RUF6Q0o7RUFDQTtBeEU0bVBGOztBd0U1alBNO0UvRDVCSjtFQUNBO0FUNGxQRjtBd0UzalBNO0VBQ0U7QXhFNmpQUjtBd0UzaVBJO0VBQ0U7QXhFNmlQTjtBd0V2aVBRO0VBQ0U7QXhFeWlQVjtBd0VoaVBRO0VBRUU7RUFDQTtBeEVpaVBWO0F3RS9oUFU7RUFFRTtBeEVnaVBaO0F3RXhoUE07RUExR0o7RUFDQTtBeEVx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QTdFbzNQVjtBNkUvMlBJO0VBQ0k7RUFDQTtFQUNBO0E3RWkzUFI7QU1waVFFO0V1RWdMRTtJQU1NO0U3RWszUFI7QUFDRjtBNkU5MlBFO0VBQ0U7RUFDQTtBN0VnM1BKO0E2RTcyUEU7RUFDRTtBN0UrMlBKO0E2RTcyUEk7RUFDRTtFQUNBO0E3RSsyUE47QTZFNTJQSTtFQUNFO0E3RTgyUE47QTZFdjJQRTtFQUNFO0E3RXkyUEo7QTZFdjJQSTtFQUNFO0VBQ0E7QTdFeTJQTjtBNkV0MlBJO0VBQ0U7QTdFdzJQTjtBTWprUUU7RXVFa09FO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFN0VrMlBKO0U2RWgyUEk7SUFDRTtFN0VrMlBOO0U2RTUxUEk7SUFDRTtFN0U4MVBOO0U2RTExUEU7SUFDRTtFN0U0MVBKO0U2RTExUEk7SUFDRTtFN0U0MVBOO0U2RXgxUEU7SUFDRTtJQUNBO0U3RTAxUEo7RTZFeDFQSTtJQUNFO0U3RTAxUE47RTZFdjFQSTtJQUNFO0U3RXkxUE47RTZFdDFQSTtJQUNFO0U3RXcxUE47RTZFdDFQTTtJQUNFO0U3RXcxUFI7RTZFcDFQSTtJQUNFO0U3RXMxUE47RTZFajFQSTtJQUNFO0U3RW0xUE47RTZFaDFQSTtJQUNFO0U3RWsxUE47RTZFLzBQSTtJQUNFO0lBQ0E7RTdFaTFQTjtFNkU5MFBJO0lBQ0U7RTdFZzFQTjtFNkU1MFBFO0lBQ0U7RTdFODBQSjtFNkU1MFBJO0lBQ0U7RTdFODBQTjtFNkUxMFBFO0lBQ0U7RTdFNDBQSjtFNkUxMFBJO0lBQ0U7RTdFNDBQTjtFNkV6MFBJO0lBQ0U7RTdFMjBQTjtFNkV4MFBJO0lBQ0U7RTdFMDBQTjtFNkV0MFBFO0lBQ0U7SUFDQTtFN0V3MFBKO0U2RXQwUEk7SUFDRTtJQUNBO0U3RXcwUE47RTZFcjBQSTtJQUNFO0U3RXUwUE47RTZFcjBQTTtJQUNFO0U3RXUwUFI7RTZFbDBQRTtJQUNFO0lBQ0E7RTdFbzBQSjtFNkVsMFBJO0lBQ0U7SUFDQTtFN0VvMFBOO0U2RWowUEk7SUFDRTtFN0VtMFBOO0U2RWowUE07SUFDRTtFN0VtMFBSO0FBQ0Y7O0E2RTV6UEE7RUFDRTtFQUNBO0E3RSt6UEY7O0E2RTV6UEE7QUFDQTtFQUNFO0VBQ0E7QTdFK3pQRjs7QTZFNXpQQTtBQUVBO0FBQ0E7RUFDRTtFQUNBO0E3RTh6UEY7O0E4RXhyUUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RTJyUUo7QThFdHJRSTtFQUNFO0E5RXdyUU47QThFbHJRSTtFQUNFO0E5RW9yUU47QThFOXFRSTtFQUNFO0E5RWdyUU47QThFM3FRRTtFQUNFO0VBQ0E7QTlFNnFRSjtBOEV4cVFJO0VBQ0U7QTlFMHFRTjtBOEVwcVFJO0VBQ0U7QTlFc3FRTjtBTWp0UUU7RXdFdURJO0lBQ0U7RTlFNnBRTjtFOEV2cFFJO0lBQ0U7RTlFeXBRTjtFOEVycFFNO0lBQ0U7RTlFdXBRUjtFOEVqcFFFO0lBQ0U7RTlFbXBRSjtFOEVqcFFJO0l6RTVDSjtJeUU4Q007SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlFbXBRTjtFOEVqcFFNO0lBQ0U7RTlFbXBRUjtFOEVqcFFRO0lBQ0U7SUFDQTtFOUVtcFFWO0U4RS9vUU07SUFDRTtFOUVpcFFSO0U4RS9vUVE7SXpFbEVSO0VMb3RRQTtBQUNGOztBK0VydlFBO0VBTUU7RUFDQTtFQUNBO0EvRW12UUY7QStFN3VRRTtFQUNFO0VBQ0E7QS9FK3VRSjtBK0U1dVFFO0VBQ0U7RUFDQTtBL0U4dVFKO0ErRTN1UUU7RUFDRTtBL0U2dVFKO0ErRTF1UUU7RUFDRTtBL0U0dVFKO0ErRXp1UUU7RUFDRTtFQUNBO0EvRTJ1UUo7QStFdnVRSTtFQUNFO0EvRXl1UU47QStFcnVRRTtFQUNFO0EvRXV1UUo7QStFcHVRRTtFQUNFO0EvRXN1UUo7QStFanVRTTtFQUNFO0EvRW11UVI7QStFOXRRRTtFQUNFO0EvRWd1UUo7QStFOXRRSTtFQUNFO0EvRWd1UU47QStFN3RRSTtFQUNFO0EvRSt0UU47QStFNXRRSTtFQUNFO0EvRTh0UU47QStFMXRRRTtFQUNFO0VBQ0E7QS9FNHRRSjtBK0V6dFFFO0VBQ0U7RUFDQTtBL0UydFFKO0ErRXR0UU07RUFDRTtBL0V3dFFSO0ErRW50UUU7RUFDRTtFQUNBO0EvRXF0UUo7QStFbHRRRTtFQUNFO0VBQ0E7QS9Fb3RRSjtBK0VsdFFJO0VBQ0U7QS9Fb3RRTjtBK0U5c1FJOztFQUNFO0EvRWl0UU47QStFenNRRTtFQUNFO0EvRTJzUUo7QU1uMFFFO0V5RUNGO0lBeUlJO0lBQ0E7RS9FNnJRRjtFK0UzclFFO0lBQ0U7RS9FNnJRSjtFK0UxclFFO0lBQ0U7SUFDQTtJQUNBO0UvRTRyUUo7RStFenJRRTtJQUNFO0UvRTJyUUo7RStFcnJRUTtJQUNFO0lBQ0E7SUFDQTtFL0V1clFWO0UrRS9xUU07SUFDRTtJQUNBO0UvRWlyUVI7RStFNXFRRTtJQUNFO0UvRThxUUo7RStFenFRSTtJQUNFO0UvRTJxUU47RStFdHFRSTtJQUNFO0UvRXdxUU47RStFcHFRRTtJQUNFO0UvRXNxUUo7RStFbHFRSTtJQUNFO0lBQ0E7RS9Fb3FRTjtFK0U5cFFNO0lBQ0U7RS9FZ3FRUjtFK0U3cFFNO0lBQ0U7RS9FK3BRUjtFK0UzcFFJO0lBQ0U7SUFDQTtFL0U2cFFOO0UrRTFwUUk7SUFDRTtJQUNBO0UvRTRwUU47RStFMXBRTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RS9FNHBRUjtFK0V6cFFNO0lBQ0U7RS9FMnBRUjtFK0VocFFVO0lBRUU7RS9FaXBRWjtFK0Uzb1FJO0lBQ0U7SUFDQTtFL0U2b1FOO0UrRTFvUUk7SUFDRTtJQUNBO0UvRTRvUU47RStFMW9RTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RS9FNG9RUjtFK0V6b1FNO0lBQ0U7RS9FMm9RUjtFK0V2b1FJO0lBQ0U7RS9FeW9RTjtBQUNGOztBZ0ZwNVFBO0VBUUU7RUFDQTtFQUNBO0VBQ0E7QWhGZzVRRjtBZ0Y3NFFFO0VBRUU7QWhGODRRSjtBZ0YzM1FJO0VBQ0U7QWhGNjNRTjtBZ0Z2M1FFO0VBQ0U7QWhGeTNRSjtBZ0ZyM1FJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQ0FoRTJDO0VBaUUzQztFQUNBO0VBQ0E7VUFBQTtBaEZ1M1FOO0FnRi8yUVE7RUFFRTtFQUVBO0FoRisyUVY7QWdGMzJRUTtFQUNFO0FoRjYyUVY7QWdGeDJRUTtFQUNFO0FoRjAyUVY7QWdGOTFRTTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0FoRisxUVI7QWdGNTFRUTtFQUNFO0VBQ0Esc0NBaEh1QztFQWlIdkM7RUFDQTtFQUNBO0VBQ0E7QWhGODFRVjtBZ0YzMVFVO0VBQ0U7QWhGNjFRWjtBZ0Z4MVFVO0U5RWhHTjtFQUNBO0VBbUJBLHdCQUZxQjtFUTZDdkIsMENSbkNlO0VRb0NmO0VBQ0E7RUFDQTtFc0VnQ1U7QWhGZzJRWjtBZ0Y1MVFVO0U1RWxKUjtVQUFBO0U0RW9KVTtFQUNBO0FoRjgxUVo7QWdGMTFRYztFQUNFO0FoRjQxUWhCO0FnRnIxUVk7RTVFaktWO1VBQUE7QUp5L1FGO0FnRi8wUU07RUFDRTtBaEZpMVFSO0FnRjcwUVE7RUFDRTtBaEYrMFFWO0FnRjEwUVE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRjQwUVY7QWdGejBRVTtFQUNFO0FoRjIwUVo7QWdGejBRWTtFQUNFO0FoRjIwUWQ7QWdGcjBRWTtFQUNFO0FoRnUwUWQ7QWdGaDBRWTtFQUVFO0VBQ0E7QWhGaTBRZDtBZ0Z6elFVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEYyelFaO0FnRnR6UVk7RUFDRTtBaEZ3elFkO0FnRnB6UVk7RUFDRTtFQUNBO0FoRnN6UWQ7QWdGOXlRRTtFQUNFO0VBQ0E7QWhGZ3pRSjtBZ0Z0eVFFO0UzRWxOQTtBTDIvUUY7QWdGbnlRTTtFM0V4Tko7QUw4L1FGO0FnRmx5UU07RTNFck5KO0FMMC9RRjtBS3YvUUk7RUFFRTtFQUFBO0VBQUE7QUx3L1FOO0FLMS9RSTtFQUVFO0VBQUE7RUFBQTtBTDIvUU47QUs3L1FJO0VBRUU7RUFBQTtFQUFBO0FMOC9RTjtBS2hnUkk7RUFFRTtFQUFBO0VBQUE7QUxpZ1JOO0FNOWlSRTtFMEVlRjtJQTZQSTtFaEZzeVFGO0VnRnB5UUU7SUFDRTtFaEZzeVFKO0VnRmx5UUk7SUFDRTtFaEZveVFOO0VnRjl4UUU7SUFDRTtFaEZneVFKO0VnRjd4UUU7SUFDRTtFaEYreFFKO0VnRjd4UUk7SUFFRTtJQUNBO0VoRjh4UU47RWdGNXhRTTtJQUNFO0VoRjh4UVI7RWdGMXhRSTtJQUNFO0lBQ0E7SUFDQTtFaEY0eFFOO0VnRjF4UU07SUFDRTtJQUNBO0VoRjR4UVI7RWdGcnhRTTtJQUNFO0VoRnV4UVI7RWdGL3dRUTtJM0UxUlI7RUw0aVJBO0VLemlSRTtJQUVFO0lBQUE7SUFBQTtFTDBpUko7RUs1aVJFO0lBRUU7SUFBQTtJQUFBO0VMNmlSSjtFSy9pUkU7SUFFRTtJQUFBO0lBQUE7RUxnalJKO0VLbGpSRTtJQUVFO0lBQUE7SUFBQTtFTG1qUko7RWdGeHhRUTtJM0V2U1I7RUxra1JBO0FBQ0Y7QU1wbVJFO0UwRWtWRTtJQUNFO0VoRnF4UUo7RWdGbHhRRTtJQUNFO0VoRm94UUo7RWdGanhRRTtJQUNFO0lBQ0E7RWhGbXhRSjtFZ0ZoeFFFO0lBQ0U7RWhGa3hRSjtFZ0Y5d1FJO0lBQ0U7SUFDQSxnQ0FsVzBDO0lBbVcxQztJQUNBO0VoRmd4UU47RWdGOXdRTTtJQUNFO0VoRmd4UVI7RWdGOXdRUTtJQUNFO0VoRmd4UVY7RWdGaHdRTTtJQUNFO0lBQ0E7RWhGa3dRUjtFZ0YxdlFNO0lBQ0UsZ0NBcll3QztFaEZpb1JoRDtFZ0ZqdlFRO0lBQ0U7RWhGbXZRVjtFZ0Y1dVFRO0kzRXBYUjtFTG1tUkE7RUtobVJFO0lBRUU7SUFBQTtJQUFBO0VMaW1SSjtFS25tUkU7SUFFRTtJQUFBO0lBQUE7RUxvbVJKO0VLdG1SRTtJQUVFO0lBQUE7SUFBQTtFTHVtUko7RUt6bVJFO0lBRUU7SUFBQTtJQUFBO0VMMG1SSjtFZ0ZydlFRO0kzRWpZUjtFTHluUkE7RWdGaHZRSTtJQUNFO0lBQUE7UUFBQTtZQUFBO0VoRmt2UU47RWdGaHZRTTtJQUNFO0VoRmt2UVI7QUFDRjs7QWlGNXFSQTtFNURDRTtFQUFBO0VBQUE7RUFDQTtFQUFBO01BQUE7VUFBQTtFQUNBO01BQUE7RUFDQTtNQUFBO1VBQUE7RTRERkE7QWpGa3JSRjtBaUZoclJFO0VBQ0U7RUFDQTtBakZrclJKO0FpRi9xUkU7RTVET0E7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxtQkNNUztFMkRmUDtFQUNBO0FqRnFyUko7QWlGbnJSSTtFQUNFO0FqRnFyUk47QWlGbnJSTTtFQUNFO0FqRnFyUlI7QWlGaHJSRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqRmtyUko7QWlGL3FSRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGaXJSSjtBaUY5cVJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZnclJKOztBaUZ2cVJJO0VBQ0U7QWpGMHFSTjtBaUZ0cVJNO0VBQ0U7QWpGd3FSUjtBaUZucVJNO0VBQ0U7QWpGcXFSUjtBaUZocVJNO0VBQ0U7QWpGa3FSUjs7QWlGcHJSSTtFQUNFO0FqRnVyUk47QWlGbnJSTTtFQUNFO0FqRnFyUlI7QWlGaHJSTTtFQUNFO0FqRmtyUlI7QWlGN3FSTTtFQUNFO0FqRitxUlI7O0FpRmpzUkk7RUFDRTtBakZvc1JOO0FpRmhzUk07RUFDRTtBakZrc1JSO0FpRjdyUk07RUFDRTtBakYrclJSO0FpRjFyUk07RUFDRTtBakY0clJSOztBaUY5c1JJO0VBQ0U7QWpGaXRSTjtBaUY3c1JNO0VBQ0U7QWpGK3NSUjtBaUYxc1JNO0VBQ0U7QWpGNHNSUjtBaUZ2c1JNO0VBQ0U7QWpGeXNSUjs7QWlGM3RSSTtFQUNFO0FqRjh0Uk47QWlGMXRSTTtFQUNFO0FqRjR0UlI7QWlGdnRSTTtFQUNFO0FqRnl0UlI7QWlGcHRSTTtFQUNFO0FqRnN0UlI7O0FpRnh1Ukk7RUFDRTtBakYydVJOO0FpRnZ1Uk07RUFDRTtBakZ5dVJSO0FpRnB1Uk07RUFDRTtBakZzdVJSO0FpRmp1Uk07RUFDRTtBakZtdVJSOztBaUZydlJJO0VBQ0U7QWpGd3ZSTjtBaUZwdlJNO0VBQ0U7QWpGc3ZSUjtBaUZqdlJNO0VBQ0U7QWpGbXZSUjtBaUY5dVJNO0VBQ0U7QWpGZ3ZSUjs7QWlGbHdSSTtFQUNFO0FqRnF3Uk47QWlGandSTTtFQUNFO0FqRm13UlI7QWlGOXZSTTtFQUNFO0FqRmd3UlI7QWlGM3ZSTTtFQUNFO0FqRjZ2UlI7O0FpRi93Ukk7RUFDRTtBakZreFJOO0FpRjl3Uk07RUFDRTtBakZneFJSO0FpRjN3Uk07RUFDRTtBakY2d1JSO0FpRnh3Uk07RUFDRTtBakYwd1JSOztBaUY1eFJJO0VBQ0U7QWpGK3hSTjtBaUYzeFJNO0VBQ0U7QWpGNnhSUjtBaUZ4eFJNO0VBQ0U7QWpGMHhSUjtBaUZyeFJNO0VBQ0U7QWpGdXhSUjs7QWlGenlSSTtFQUNFO0FqRjR5Uk47QWlGeHlSTTtFQUNFO0FqRjB5UlI7QWlGcnlSTTtFQUNFO0FqRnV5UlI7QWlGbHlSTTtFQUNFO0FqRm95UlI7O0FpRnR6Ukk7RUFDRTtBakZ5elJOO0FpRnJ6Uk07RUFDRTtBakZ1elJSO0FpRmx6Uk07RUFDRTtBakZvelJSO0FpRi95Uk07RUFDRTtBakZpelJSOztBaUZuMFJJO0VBQ0U7QWpGczBSTjtBaUZsMFJNO0VBQ0U7QWpGbzBSUjtBaUYvelJNO0VBQ0U7QWpGaTBSUjtBaUY1elJNO0VBQ0U7QWpGOHpSUjs7QWlGaDFSSTtFQUNFO0FqRm0xUk47QWlGLzBSTTtFQUNFO0FqRmkxUlI7QWlGNTBSTTtFQUNFO0FqRjgwUlI7QWlGejBSTTtFQUNFO0FqRjIwUlI7O0FpRjcxUkk7RUFDRTtBakZnMlJOO0FpRjUxUk07RUFDRTtBakY4MVJSO0FpRnoxUk07RUFDRTtBakYyMVJSO0FpRnQxUk07RUFDRTtBakZ3MVJSOztBaUYxMlJJO0VBQ0U7QWpGNjJSTjtBaUZ6MlJNO0VBQ0U7QWpGMjJSUjtBaUZ0MlJNO0VBQ0U7QWpGdzJSUjtBaUZuMlJNO0VBQ0U7QWpGcTJSUjs7QWlGdjNSSTtFQUNFO0FqRjAzUk47QWlGdDNSTTtFQUNFO0FqRnczUlI7QWlGbjNSTTtFQUNFO0FqRnEzUlI7QWlGaDNSTTtFQUNFO0FqRmszUlI7O0FpRnA0Ukk7RUFDRTtBakZ1NFJOO0FpRm40Uk07RUFDRTtBakZxNFJSO0FpRmg0Uk07RUFDRTtBakZrNFJSO0FpRjczUk07RUFDRTtBakYrM1JSOztBaUZqNVJJO0VBQ0U7QWpGbzVSTjtBaUZoNVJNO0VBQ0U7QWpGazVSUjtBaUY3NFJNO0VBQ0U7QWpGKzRSUjtBaUYxNFJNO0VBQ0U7QWpGNDRSUjs7QWlGOTVSSTtFQUNFO0FqRmk2Uk47QWlGNzVSTTtFQUNFO0FqRis1UlI7QWlGMTVSTTtFQUNFO0FqRjQ1UlI7QWlGdjVSTTtFQUNFO0FqRnk1UlI7O0FpRjM2Ukk7RUFDRTtBakY4NlJOO0FpRjE2Uk07RUFDRTtBakY0NlJSO0FpRnY2Uk07RUFDRTtBakZ5NlJSO0FpRnA2Uk07RUFDRTtBakZzNlJSOztBaUZ4N1JJO0VBQ0U7QWpGMjdSTjtBaUZ2N1JNO0VBQ0U7QWpGeTdSUjtBaUZwN1JNO0VBQ0U7QWpGczdSUjtBaUZqN1JNO0VBQ0U7QWpGbTdSUjs7QWlGcjhSSTtFQUNFO0FqRnc4Uk47QWlGcDhSTTtFQUNFO0FqRnM4UlI7QWlGajhSTTtFQUNFO0FqRm04UlI7QWlGOTdSTTtFQUNFO0FqRmc4UlI7O0FpRmw5Ukk7RUFDRTtBakZxOVJOO0FpRmo5Uk07RUFDRTtBakZtOVJSO0FpRjk4Uk07RUFDRTtBakZnOVJSO0FpRjM4Uk07RUFDRTtBakY2OFJSOztBaUYvOVJJO0VBQ0U7QWpGaytSTjtBaUY5OVJNO0VBQ0U7QWpGZytSUjtBaUYzOVJNO0VBQ0U7QWpGNjlSUjtBaUZ4OVJNO0VBQ0U7QWpGMDlSUjs7QWlGNStSSTtFQUNFO0FqRisrUk47QWlGMytSTTtFQUNFO0FqRjYrUlI7QWlGeCtSTTtFQUNFO0FqRjArUlI7QWlGcitSTTtFQUNFO0FqRnUrUlI7O0FpRnovUkk7RUFDRTtBakY0L1JOO0FpRngvUk07RUFDRTtBakYwL1JSO0FpRnIvUk07RUFDRTtBakZ1L1JSO0FpRmwvUk07RUFDRTtBakZvL1JSOztBaUZ0Z1NJO0VBQ0U7QWpGeWdTTjtBaUZyZ1NNO0VBQ0U7QWpGdWdTUjtBaUZsZ1NNO0VBQ0U7QWpGb2dTUjtBaUYvL1JNO0VBQ0U7QWpGaWdTUjs7QWlGbmhTSTtFQUNFO0FqRnNoU047QWlGbGhTTTtFQUNFO0FqRm9oU1I7QWlGL2dTTTtFQUNFO0FqRmloU1I7QWlGNWdTTTtFQUNFO0FqRjhnU1I7O0FpRmhpU0k7RUFDRTtBakZtaVNOO0FpRi9oU007RUFDRTtBakZpaVNSO0FpRjVoU007RUFDRTtBakY4aFNSO0FpRnpoU007RUFDRTtBakYyaFNSOztBaUY3aVNJO0VBQ0U7QWpGZ2pTTjtBaUY1aVNNO0VBQ0U7QWpGOGlTUjtBaUZ6aVNNO0VBQ0U7QWpGMmlTUjtBaUZ0aVNNO0VBQ0U7QWpGd2lTUjs7QWlGMWpTSTtFQUNFO0FqRjZqU047QWlGempTTTtFQUNFO0FqRjJqU1I7QWlGdGpTTTtFQUNFO0FqRndqU1I7QWlGbmpTTTtFQUNFO0FqRnFqU1I7O0FpRnZrU0k7RUFDRTtBakYwa1NOO0FpRnRrU007RUFDRTtBakZ3a1NSO0FpRm5rU007RUFDRTtBakZxa1NSO0FpRmhrU007RUFDRTtBakZra1NSOztBa0Zyb1NBO0U3REZFO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtFNkRDQTtBbEYyb1NGO0FrRnpvU0U7RTdEU0E7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxtQkNNUztFNERqQlA7QWxGK29TSjtBa0Y3b1NJO0VBQ0U7QWxGK29TTjtBa0Yxb1NNO0VBQ0U7VUFBQTtFQUNBO1VBQUE7RUFDQTtVQUFBO0VBQ0E7VUFBQTtBbEY0b1NSO0FrRnZvU0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEZ5b1NKO0FrRnZvU0k7RUFDRTtBbEZ5b1NOO0FrRnJvU0U7RUFDRTtBbEZ1b1NKO0FrRnBvU0U7RUFDRTtFQUNBO0FsRnNvU0o7QWtGbm9TRTtFQUNFO0VBQ0E7QWxGcW9TSjs7QWtGam9TQTtFQUNFO0lBQ0U7WUFBQTtFbEZvb1NGO0FBQ0Y7QW1GL3FTRTtFOURYQTtFQUFBO0VBQUE7RUFDQTtFQUFBO01BQUE7VUFBQTtFQUNBO01BQUE7RUFDQTtNQUFBO1VBQUE7QXJCNnJTRjtBbUZqclNFO0VBQ0U7RUFDQTtFQUNBO0FuRm1yU0o7QW1GaHJTRTtFOUROQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLG1CQ01TO0F0Qm1yU1g7QW1GbnJTRTtFOURWQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLG1CQ01TO0F0QjByU1g7QW1GdHJTRTtFOURkQTtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLG1CQ01TO0F0QmlzU1g7QW1GenJTRTtFOURsQkE7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxtQkNNUztBdEJ3c1NYOztBTXZ0U0U7RThFSEE7SS9EUEE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQnN1U0E7RW9GNXRTSTtJL0RFSjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCK0RMbUQ7RXBGa3VTbkQ7QUFDRjtBTXZ1U0U7RThFaUJBO0kvRDNCQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCcXZTQTtFb0Z2dFNJO0kvRGxCSjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCK0Rla0Q7RXBGNnRTbEQ7QUFDRjtBTXR2U0U7RThFcUNBO0kvRC9DQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCb3dTQTtFb0ZsdFNJO0kvRHRDSjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCK0RtQ2tEO0VwRnd0U2xEO0FBQ0Y7QU1yd1NFO0U4RXlEQTtJL0RuRUE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQm14U0E7RW9GNXNTSTtJQUNFO0lBQUE7UUFBQTtZQUFBO0VwRjhzU047RW9GM3NTSTtJL0QvREo7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQitENERtRDtFcEZpdFNuRDtBQUNGO0FvRmxzU0U7RUFFRTtBcEZtc1NKO0FNMXhTRTtFOEVxRkE7SS9EL0ZBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJ3eVNBO0VvRnBzU0k7SS9EeEZKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCeXhTVDtBQUNGO0FNenlTRTtFOEU0R0E7SS9EdEhBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckJ1elNBO0VvRjlyU0k7SS9EN0dKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCd3lTVDtFb0Zqc1NJO0kvRGhJSjtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCbzBTQTtBQUNGO0FNOXpTRTtFOEVxSUE7SS9EL0lBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckI0MFNBO0VvRjFyU0k7SS9EdElKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0IrRG1JbUQ7RXBGZ3NTbkQ7QUFDRjtBTTcwU0U7RThFeUpBO0kvRG5LQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCMjFTQTtFb0ZyclNJO0kvRDFKSjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QjQwU1Q7QUFDRjs7QU01MVNFO0UrRUZBO0loRVJBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckIyMlNBO0VxRi8xU007SWhFQU47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI0MVNUO0VxRmwyU007SWhFSk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJtMlNUO0FBQ0Y7QU1uM1NFO0UrRXdCQTtJaEVsQ0E7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQmk0U0E7RXFGMzFTTTtJaEUxQk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFdUJxRDtFckZpMlNyRDtFcUY5MVNNO0loRTlCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0UyQnFEO0VyRm8yU3JEO0FBQ0Y7QU16NFNFO0UrRWtEQTtJaEU1REE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQnU1U0E7RXFGdjFTTTtJaEVwRE47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFaURvRDtFckY2MVNwRDtFcUYxMVNNO0loRXhETjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VxRG9EO0VyRmcyU3BEO0FBQ0Y7QU0vNVNFO0UrRWlGQTtJaEUzRkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQjY2U0E7RXFGOTBTTTtJaEVuRk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFaUZxRDtFckZtMVNyRDtFcUZoMVNRO0loRXhGUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VxRnNEO0VyRnMxU3REO0VxRmwxU007SWhFN0ZOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRTJGcUQ7RXJGdTFTckQ7RXFGcDFTUTtJaEVsR1I7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFK0ZzRDtFckYwMVN0RDtBQUNGO0FNbjhTRTtFK0VzSEE7SWhFaElBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtF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SjtFSy9xVEU7SUFFRTtJQUFBO0lBQUE7RUxnclRKO0VLbHJURTtJQUVFO0lBQUE7SUFBQTtFTG1yVEo7RXFGNTBTSTtJaEU5Wko7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQjZ1VEE7RXFGNzBTUTtJaEVwWlI7UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFa1orRDtFckZrMVMvRDtFcUYvMFNRO0loRXpaUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0V1WitEO0lBQ3JEO0VyRm8xU1Y7QUFDRjtBTXR2VEU7RStFZ2JBO0loRTFiQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCb3dUQTtFcUZ0MFNNO0loRWxiTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QnF2VFQ7RXFGejBTTTtJaEV0Yk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEI0dlRUO0FBQ0Y7QU01d1RFO0UrRTBjQTtJaEVwZEE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQjB4VEE7RXFGbDBTTTtJaEU1Y047UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFeWNxRDtFckZ3MFNyRDtFcUZwMFNNO0loRWpkTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0U4Y3FEO0VyRjAwU3JEO0FBQ0Y7QU1seVRFO0UrRXNlQTtJaEVoZkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQmd6VEE7RXFGNXpTTTtJaEV4ZU47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJpeVRUO0VxRi96U007SWhFNWVOO1FBQUE7SUFDQTtR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ckI4aFVKO0FBQ0Y7QU1oa1VFO0UrRTJ5QkE7SWhFcnpCQTtJQUFBO0lBQUE7SUFDQTtJQUFBO1FBQUE7WUFBQTtJQUNBO1FBQUE7SUFDQTtRQUFBO1lBQUE7RXJCOGtVQTtFSzNuVEk7SWdCdmNKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCK2pVVDtFSzluVEk7SWdCM2NKO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7SWpCbWNIO0VMb29UTjtBQUNGO0FxRmh5U0U7RWhFajBCQTtFQUFBO0VBQUE7RUFDQTtFQUFBO01BQUE7VUFBQTtFQUNBO01BQUE7RUFDQTtNQUFBO1VBQUE7QXJCb21VRjtBcUZqeVNNO0VoRXZ6Qko7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFb3pCMEQ7QXJGdXlTNUQ7QXFGcHlTTTtFaEUzekJKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsZ0JnRXd6QjJEO0FyRjB5UzdEO0FNM21VRTtFK0V1ekJBO0loRWowQkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQnluVUE7RXFGeHlTTTtJaEVyMEJOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCMG1VVDtFcUYzeVNNO0loRXowQk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxtQkNNUztFdEJpblVUO0FBQ0Y7QXFGbnlTRTtFaEV4MkJBO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtBckI4b1VGO0FxRmx5U007RWhFaDJCSjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLGdCZ0U4MUJ1RDtBckZ1eVN6RDtBTTlvVUU7RStFODFCQTtJaEV4MkJBO0lBQUE7SUFBQTtJQUNBO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtJQUNBO1FBQUE7WUFBQTtFckI0cFVBO0VxRnJ5U007SWhFMzJCTjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLG1CQ01TO0V0QjZvVVQ7RXFGeHlTTTtJaEUvMkJOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsbUJDTVM7RXRCb3BVVDtBQUNGO0FxRmp5U0U7RWhFNzRCQTtFQUFBO0VBQUE7RUFDQTtFQUFBO01BQUE7VUFBQTtFQUNBO01BQUE7RUFDQTtNQUFBO1VBQUE7QXJCaXJVRjtBcUZqeVNNO0VoRXA0Qko7TUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQSxnQmdFaTRCMEQ7QXJGdXlTNUQ7QXFGcHlTTTtFaEV4NEJKO01BQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0EsZ0JnRXE0QjJEO0FyRjB5UzdEO0FNeHJVRTtFK0VtNEJBO0loRTc0QkE7SUFBQTtJQUFBO0lBQ0E7SUFBQTtRQUFBO1lBQUE7SUFDQTtRQUFBO0lBQ0E7UUFBQTtZQUFBO0VyQnNzVUE7RXFGeHlTTTtJaEVsNUJOO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRSs0QjREO0VyRjh5UzVEO0VxRjV5U1E7SWhFcjVCUjtRQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBLGdCZ0VrNUIrRDtFckZrelMvRDtFcUY5eVNNO0loRTE1Qk47UUFBQTtJQUNBO1FBQUE7WUFBQTtJQUNBO0lBQ0E7SUFDQSxnQmdFdTVCNkQ7RXJGb3pTN0Q7RXFGbHpTUTtJaEU3NUJSO1FBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0EsZ0JnRTA1QitEO0VyRnd6Uy9EO0FBQ0Y7QXFGMXlTRTtFaEU1N0JBO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7TUFBQTtFQUNBO01BQUE7VUFBQTtBckJ5dVVGO0FxRjF5U007RWhFbjdCSjtNQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBLGdCZ0VnN0IwRDtBckZnelM1RDtBcUY3eVNNO0VoRXY3Qko7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Q0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQkM2QmU7RUQ1QmY7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0F6RjJzVkY7QXlGenNWRTtFQUNFO0VBQ0E7QXpGMnNWSjtBeUZ4c1ZFO0VBQ0U7RUFDQTtFQUNBO0VFN0JGLG1CQ01rQjtFRExsQixtQkNnQm9CO0E1Rnd0VnRCO0F5RnZzVkU7RUFDRTtFQUFBO0VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtBekZ5c1ZKO0F5RnRzVkU7RUFDRTtBekZ3c1ZKO0F5RnJzVkU7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtQkNIYTtFREliO0VBQ0E7RUFDQTtFRS9DRixvQkNFaUI7RUREakIsbUJDWW1CO0E1RjJ1VnJCO0F5Rm5zVkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBekZxc1ZOO0F5Rm5zVk07RUFFRTtFQUNBO0F6Rm9zVlI7QXlGL3JWSTtFRTlERixpQkNGZ0I7RURHaEIsbUJDUWtCO0VEUGxCO0VGK0RJO0VBQ0E7QXpGa3NWTjtBeUYvclZJO0VBQ0U7RUVoRkosbUJDTWtCO0VETGxCLG1CQ2dCb0I7QTVGa3dWdEI7QXlGL3JWSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUU1RkosbUJDTWtCO0VETGxCLG1CQ2dCb0I7QTVGOHdWdEI7O0F5RjdyVkE7RUFDRTtFQUNBO0F6RmdzVkY7O0F5RjVyVkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7QXpGK3JWSjtBeUY3clZJO0VBQ0U7QXpGK3JWTjtBeUYzclZFO0VBQ0U7QXpGNnJWSjs7QXlGeHJWRTtFQUNFO0VBQ0E7VUFBQTtFQUNBO0F6RjJyVko7QXlGeHJWRTtFQUNFO0F6RjByVko7O0F5RnRyVkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpGeXJWRjs7QXlGdHJWQTtBQUNBOztFQUVFO0VBQ0E7RUFDQTtBekZ5clZGOztBeUZ0clZBO0FBQ0E7Ozs7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RUFDRTtBQTAzV047O0FBcDNXQTtFQUNFO0FBdTNXRjs7QUFuM1dFO0VBQ0U7VUFBQTtFQUNBO0FBczNXSjtBQW4zV0U7RUFDRTtBQXEzV0o7QUFqM1dJO0VBQ0U7QUFtM1dOLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL21haW4uc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy92YXJpYWJsZXMvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2hlbHBlcnMvX2RlYnVnLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9oZWxwZXJzL19pY29ucy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvaGVscGVycy9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy90b29scy9fbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2hlbHBlcnMvX2xpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9oZWxwZXJzL19vcmRlci5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvaGVscGVycy9fc3RhdGUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2hlbHBlcnMvX3R5cGUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2hlbHBlcnMvX3Rvb2x0aXBzLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9iYXNlL19nbG9iYWwuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2Jhc2UvX3R5cGUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2Jhc2UvX2ltYWdlcy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvYmFzZS9fZm9ybS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvYmFzZS9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2Jhc2UvX3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy9sYXlvdXQvX291dGVyLWNvbnRhaW5lci5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvbGF5b3V0L19vdmVyZmxvdy1saW5lci5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvbGF5b3V0L19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy90b29scy9fY2FsYy1ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvc2Nzcy92YXJpYWJsZXMvX2dlbmVyYWwuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy9zY3NzL2xheW91dC9fYWpheC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3Njc3MvbGF5b3V0L196LWluZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9ucy9fYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItbmF2LWluLXBhZ2UvX2ItbmF2LWluLXBhZ2Uuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItZm9vdGVyL19iLWZvb3Rlci5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi10YWJsZS1qcy9fYi10YWJsZS1qcy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1jb250ZW50LWhlYWRlci9fYi1jb250ZW50LWhlYWRlci5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1yZXNvdXJjZS9fYi1yZXNvdXJjZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1oZWxwLWl0ZW0vX2ItaGVscC1pdGVtLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWNvbnRlbnQtc3ViLWhlYWRlci9fYi1jb250ZW50LXN1Yi1oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2Itc2VhcmNoLXJlc3VsdHMtc3VtbWFyeS9fYi1zZWFyY2gtcmVzdWx0cy1zdW1tYXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWhpZGUtc2hvdy9fYi1oaWRlLXNob3cuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2Itc2VhcmNoLXN1Z2dlc3Rpb25zL19iLXNlYXJjaC1zdWdnZXN0aW9ucy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1leGFtcGxlLWVtYmVkL19iLWV4YW1wbGUtZW1iZWQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2Itc2VhcmNoLWhlYWRlci9fYi1zZWFyY2gtaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLW5hdi1ndWlkZS1zaWRlYmFyL19iLW5hdi1ndWlkZS1zaWRlYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWV4YW1wbGUtc2xpZGUvX2ItZXhhbXBsZS1zbGlkZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1zdHJhdGVneS9fYi1zdHJhdGVneS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi11bmRlcnN0YW5kLW92ZXJ2aWV3L19iLXVuZGVyc3RhbmQtb3ZlcnZpZXcuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItY2FwdGlvbi9fYi1jYXB0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXByb2Nlc3MtbGlzdC9fYi1wcm9jZXNzLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItZXhhbXBsZS1ob21lL19iLWV4YW1wbGUtaG9tZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1maWxsL19iLWZpbGwuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItcGljdHVyZS9fYi1waWN0dXJlLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWNvbnRlbnQvX2ItY29udGVudC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1uZXh0LXN0ZXBzL19iLW5leHQtc3RlcHMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItaG93LXRvLXVzZS10aGUtc2l0ZS9fYi1ob3ctdG8tdXNlLXRoZS1zaXRlLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWxpbmstaWNvbi9fYi1saW5rLWljb24uc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItYmFjay10by10b3AvX2ItYmFjay10by10b3Auc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItZmlsdGVyLW5vdGljZS9fYi1maWx0ZXItbm90aWNlLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLW1vZGFsLWpzL19iLXZlbmRvci1tb2RhYWwuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItbW9kYWwtanMvX2ItbW9kYWwtanMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2Itbm8tcmVzdWx0cy1tZXNzYWdlL19iLW5vLXJlc3VsdHMtbWVzc2FnZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtZmllbGQvX2Itc2VhcmNoLWZpZWxkLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXNlYXJjaC1maWVsZC9fYi1zZWFyY2hmaWVsZC0tdHlwZWFoZWFkLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9fYi1leGFtcGxlXy9fYi1leGFtcGxlLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXRraS1iYXIvX2ItdGtpLWJhci5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1idXR0b24vX2ItYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLXBhZ2luYXRpb24vX2ItcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1hbGVydC9fYi1hbGVydC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1za2lwLWxpbmtzL19iLXNraXAtbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2Itc3VnZ2VzdGlvbi9fYi1zdWdnZXN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWtub3dsZWRnZS1zbGlkZS9fYi1rbm93bGVkZ2Utc2xpZGUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItbmV4dC1zdGVwcy1hbmQtaG93LXRvLXVzZS10aGUtc2l0ZS9fYi1uZXh0LXN0ZXBzLWFuZC1ob3ctdG8tdXNlLXRoZS1zaXRlLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLWd1aWRlLXRpbGUvX2ItZ3VpZGUtdGlsZS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1jb250ZW50LXJldmVhbC9fYi1jb250ZW50LXJldmVhbC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi10YWcvX2ItdGFnLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLW5vdGUtanMvX2Itbm90ZS1qcy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1ndWlkZS1saXN0LXNlYXJjaC1hbmQtZmlsdGVyL19iLWd1aWRlLWxpc3Qtc2VhcmNoLWFuZC1maWx0ZXIuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItZmlsdGVyL19iLWZpbHRlci5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi12aWRlby9fYi12aWRlby5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1zY3JvbGwtdHJpZ2dlci1qcy9fYi1zY3JvbGwtdHJpZ2dlci1qcy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi10ZXh0LXByb21vL19iLXRleHQtcHJvbW8uc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItbmF2LXByaW1hcnkvX2ItbmF2LXByaW1hcnkuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2ItaW50cm9kdWN0aW9uL19iLWludHJvZHVjdGlvbi5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9ibG9ja3MvYi1ydWxlL19iLXJ1bGUuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvYmxvY2tzL2Itc2VhcmNoLXJlc3VsdC9fYi1zZWFyY2gtcmVzdWx0LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2Jsb2Nrcy9iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcy9fYi1uYXYtaW4tcGFnZS1waW5uZWQtanMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvc3R5bGUtcGF0dGVybnMvY29sb3JzL19jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvc3R5bGUtcGF0dGVybnMvaWNvbnMvX2ljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL3N0eWxlLXBhdHRlcm5zL2dyaWQvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvbGF5b3V0cy9sLTEvX2wtMS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4vc3JjL3RlbXBsYXRlcy9sYXlvdXRzL2wtMi9fbC0yLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi9zcmMvdGVtcGxhdGVzL2xheW91dHMvbC00L19sLTQuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uL3NyYy90ZW1wbGF0ZXMvbGF5b3V0cy9sLTMvX2wtMy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4uLy4uL3ZlbmRvci9lZHVjYXRpb24tbnovbW9lLWRlc2lnbi1zeXN0ZW0vY2xpZW50L3Njc3MvdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi4vLi4vdmVuZG9yL2VkdWNhdGlvbi1uei9tb2Utc3RhbmRhcmQtaGVhZGVyL2NsaWVudC9zY3NzL3NlYXJjaC5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4uLy4uL3ZlbmRvci9lZHVjYXRpb24tbnovbW9lLWRlc2lnbi1zeXN0ZW0vY2xpZW50L3Njc3MvdmFyaWFibGVzL2NvbG91cnMuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uLi8uLi92ZW5kb3IvZWR1Y2F0aW9uLW56L21vZS1kZXNpZ24tc3lzdGVtL2NsaWVudC9zY3NzL21peGlucy90eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi4vLi4vdmVuZG9yL2VkdWNhdGlvbi1uei9tb2UtZGVzaWduLXN5c3RlbS9jbGllbnQvc2Nzcy92YXJpYWJsZXMvdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4uLy4uL3ZlbmRvci9lZHVjYXRpb24tbnovbW9lLXN0YW5kYXJkLWhlYWRlci9jbGllbnQvc2Nzcy9oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei8uLi8uLi92ZW5kb3IvZWR1Y2F0aW9uLW56L21vZS1kZXNpZ24tc3lzdGVtL2NsaWVudC9zY3NzL21peGlucy9icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovL2luY2x1c2l2ZS50a2kub3JnLm56Ly4uLy4uL3ZlbmRvci9lZHVjYXRpb24tbnovbW9lLWRlc2lnbi1zeXN0ZW0vY2xpZW50L3Njc3MvdmFyaWFibGVzL3RyYW5zaXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vaW5jbHVzaXZlLnRraS5vcmcubnovLi4vLi4vdmVuZG9yL2VkdWNhdGlvbi1uei9tb2UtZGVzaWduLXN5c3RlbS9jbGllbnQvc2Nzcy9taXhpbnMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gTWFpbiBTdHlsZXNoZWV0cyBJbXBvcnRcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IGZyb20gd2hpY2ggYWxsIG90aGVyIHN0eWxlc2hlZXRzIGFyZSBpbXBvcnRlZC5cblxuQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4vLyBFbnRyeSBwb2ludFxuQGltcG9ydFxuXCJsaWJcIixcblwidG9vbHNcIixcblwidmFyaWFibGVzXCIsXG5cImhlbHBlcnNcIixcblwiYmFzZVwiLFxuXCJsYXlvdXRcIjtcblxuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnMvX2Itc2hhcmUtYW5kLW91dHB1dC1idXR0b25zLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItbmF2LWluLXBhZ2UvX2ItbmF2LWluLXBhZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1mb290ZXIvX2ItZm9vdGVyLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItdGFibGUtanMvX2ItdGFibGUtanMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1jb250ZW50LWhlYWRlci9fYi1jb250ZW50LWhlYWRlci5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXJlc291cmNlL19iLXJlc291cmNlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItaGVscC1pdGVtL19iLWhlbHAtaXRlbS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWNvbnRlbnQtc3ViLWhlYWRlci9fYi1jb250ZW50LXN1Yi1oZWFkZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtcmVzdWx0cy1zdW1tYXJ5L19iLXNlYXJjaC1yZXN1bHRzLXN1bW1hcnkuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1oaWRlLXNob3cvX2ItaGlkZS1zaG93LnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itc2VhcmNoLXN1Z2dlc3Rpb25zL19iLXNlYXJjaC1zdWdnZXN0aW9ucy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWV4YW1wbGUtZW1iZWQvX2ItZXhhbXBsZS1lbWJlZC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXNlYXJjaC1oZWFkZXIvX2Itc2VhcmNoLWhlYWRlci5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLW5hdi1ndWlkZS1zaWRlYmFyL19iLW5hdi1ndWlkZS1zaWRlYmFyLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItZXhhbXBsZS1zbGlkZS9fYi1leGFtcGxlLXNsaWRlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itc3RyYXRlZ3kvX2Itc3RyYXRlZ3kuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi11bmRlcnN0YW5kLW92ZXJ2aWV3L19iLXVuZGVyc3RhbmQtb3ZlcnZpZXcuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1jYXB0aW9uL19iLWNhcHRpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1wcm9jZXNzLWxpc3QvX2ItcHJvY2Vzcy1saXN0LnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItZXhhbXBsZS1ob21lL19iLWV4YW1wbGUtaG9tZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWZpbGwvX2ItZmlsbC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXBpY3R1cmUvX2ItcGljdHVyZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWNvbnRlbnQvX2ItY29udGVudC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLW5leHQtc3RlcHMvX2ItbmV4dC1zdGVwcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWhvdy10by11c2UtdGhlLXNpdGUvX2ItaG93LXRvLXVzZS10aGUtc2l0ZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWxpbmstaWNvbi9fYi1saW5rLWljb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1iYWNrLXRvLXRvcC9fYi1iYWNrLXRvLXRvcC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWZpbHRlci1ub3RpY2UvX2ItZmlsdGVyLW5vdGljZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLW1vZGFsLWpzL19iLXZlbmRvci1tb2RhYWwuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1tb2RhbC1qcy9fYi1tb2RhbC1qcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLW5vLXJlc3VsdHMtbWVzc2FnZS9fYi1uby1yZXN1bHRzLW1lc3NhZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1zZWFyY2gtZmllbGQvX2Itc2VhcmNoLWZpZWxkLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itc2VhcmNoLWZpZWxkL19iLXNlYXJjaGZpZWxkLS10eXBlYWhlYWQuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvX2ItZXhhbXBsZV8vX2ItZXhhbXBsZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXRraS1iYXIvX2ItdGtpLWJhci5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWJ1dHRvbi9fYi1idXR0b24uc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1wYWdpbmF0aW9uL19iLXBhZ2luYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1hbGVydC9fYi1hbGVydC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXNraXAtbGlua3MvX2Itc2tpcC1saW5rcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLW1vZGFsLXBhZ2luYXRpb24tanMvX2ItbW9kYWwtcGFnaW5hdGlvbi1qcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXN1Z2dlc3Rpb24vX2Itc3VnZ2VzdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWtub3dsZWRnZS1zbGlkZS9fYi1rbm93bGVkZ2Utc2xpZGUuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1uZXh0LXN0ZXBzLWFuZC1ob3ctdG8tdXNlLXRoZS1zaXRlL19iLW5leHQtc3RlcHMtYW5kLWhvdy10by11c2UtdGhlLXNpdGUuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1pY29uL19iLWljb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvX2Jsb2Nrcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWd1aWRlLXRpbGUvX2ItZ3VpZGUtdGlsZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWNvbnRlbnQtcmV2ZWFsL19iLWNvbnRlbnQtcmV2ZWFsLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItdGFnL19iLXRhZy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLW5vdGUtanMvX2Itbm90ZS1qcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWd1aWRlLWxpc3Qtc2VhcmNoLWFuZC1maWx0ZXIvX2ItZ3VpZGUtbGlzdC1zZWFyY2gtYW5kLWZpbHRlci5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLWZpbHRlci9fYi1maWx0ZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi12aWRlby9fYi12aWRlby5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2Jsb2Nrcy9iLXNjcm9sbC10cmlnZ2VyLWpzL19iLXNjcm9sbC10cmlnZ2VyLWpzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItdGV4dC1wcm9tby9fYi10ZXh0LXByb21vLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItbmF2LXByaW1hcnkvX2ItbmF2LXByaW1hcnkuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9ibG9ja3MvYi1pbnRyb2R1Y3Rpb24vX2ItaW50cm9kdWN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItcnVsZS9fYi1ydWxlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2Itc2VhcmNoLXJlc3VsdC9fYi1zZWFyY2gtcmVzdWx0LnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvYmxvY2tzL2ItbmF2LWluLXBhZ2UtcGlubmVkLWpzL19iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL3N0eWxlLXBhdHRlcm5zL3RhYmxlcy9fdGFibGVzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvc3R5bGUtcGF0dGVybnMvZm9ybXMvX2Zvcm1zLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvc3R5bGUtcGF0dGVybnMvbGlzdHMvX2xpc3RzLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvc3R5bGUtcGF0dGVybnMvX3N0eWxlLXBhdHRlcm5zLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvc3R5bGUtcGF0dGVybnMvY29sb3JzL19jb2xvcnMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy9pY29ucy9faWNvbnMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy90eXBvZ3JhcGh5L190eXBvZ3JhcGh5LnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvc3R5bGUtcGF0dGVybnMvZ3JpZC9fZ3JpZC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDctaGVscC9fYy0wNy1oZWxwLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvY29tcG9uZW50cy8wMy1ndWlkZS9fYy0wMy0wMC1ndWlkZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTA0LW5leHQtc3RlcHMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzAwLWNvbW1vbi9fYy0wMC0xMC1rbm93bGVkZ2Utc2xpZGUuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzAwLWNvbW1vbi9fYy0wMC0xMS1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzAwLWNvbW1vbi9fYy0wMC0wNS1yZXNvdXJjZXMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzAwLWNvbW1vbi9fYy0wMC0wMS1wcmltYXJ5LW5hdmlnYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzAwLWNvbW1vbi9fYy0wMC0xMy1pbi1wYWdlLW5hdmlnYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzAwLWNvbW1vbi9fYy0wMC0wOC1leGFtcGxlLXNsaWRlLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvY29tcG9uZW50cy8wMC1jb21tb24vX2MtMDAtMDktZXhhbXBsZS1lbWJlZC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTA3LWd1aWRlLXRpbGUuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzAwLWNvbW1vbi9fYy0wMC0wMC1jb21tb24tY29tcG9uZW50cy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMDAtY29tbW9uL19jLTAwLTA2LWd1aWRlLWxpc3Qtc2VhcmNoLWFuZC1maWx0ZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzAwLWNvbW1vbi9fYy0wMC0wMy1ndWlkZS1zaWRlYmFyLW5hdmlnYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzAwLWNvbW1vbi9fYy0wMC0wMi1mb290ZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzAwLWNvbW1vbi9fYy0wMC0xMi1pbnRyb2R1Y3Rpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9jb21wb25lbnRzLzA1LXN1Z2dlc3Rpb24vX2MtMDUtMDAtc3VnZ2VzdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2NvbXBvbmVudHMvMTAtc2VhcmNoLW1vZGFsL19jLTEwLTAwLXNlYXJjaC1tb2RhbC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2xheW91dHMvbC0xL19sLTEuc2Nzc1wiO1xuQGltcG9ydCBcIi4uL3RlbXBsYXRlcy9sYXlvdXRzL2wtMi9fbC0yLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi90ZW1wbGF0ZXMvbGF5b3V0cy9sLTQvX2wtNC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vdGVtcGxhdGVzL2xheW91dHMvbC0zL19sLTMuc2Nzc1wiO1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vdmVuZG9yL2VkdWNhdGlvbi1uei9tb2UtZGVzaWduLXN5c3RlbS9jbGllbnQvc2Nzcy92YXJpYWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9lZHVjYXRpb24tbnovbW9lLWRlc2lnbi1zeXN0ZW0vY2xpZW50L3Njc3MvbWl4aW5zLnNjc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi92ZW5kb3IvZWR1Y2F0aW9uLW56L21vZS1zdGFuZGFyZC1oZWFkZXIvY2xpZW50L3Njc3MvaGVhZGVyLnNjc3NcIjtcblxuYm9keSxcbmh0bWwge1xuICBvdmVyZmxvdy14OiB1bnNldDtcbn1cblxuLm5hdmJhci1icmFuZCB7XG4gIGZvbnQtZmFtaWx5OiBNb250c2VycmF0LCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4vL2FkZGVkIHBhZGRpbmcgdG8gdG9wLXJpZ2h0IGxvZ29cbi5uYXZiYXItYnJhbmQtLWxvZ28ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1oZWFkZXItbG9nby11cmwpIGxlZnQgY2VudGVyIG5vLXJlcGVhdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBib3JkZXI6IDJyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MXB4KSB7XG4gICAgYm9yZGVyOiAxLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLm5hdmJhci1tZW51IGEge1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdCwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9leHRlcm5hbC1saW5rLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggYXV0bztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogIzE0NzBFMTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2V4dGVybmFsLWxpbmstYmx1ZS5zdmdcIik7XG4gICAgfVxuICB9XG59XG5cblxuLm5hdmJhciArIGRpdiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbltkYXRhLWNsYXNzbmFtZT1JbmNsdXNpdmVIb21lcGFnZV0ge1xuICAubmF2YmFyIHtcbiAgICBib3gtc2hhZG93OiAwIDFweCA4cHggcmdiYSgwLDAsMCwwLjIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjI1MmE7XG4gIH1cblxuICAuYi1uYXYtcHJpbWFyeV9fYnJhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuYi1uYXYtcHJpbWFyeSB7XG4gICAgLmItcnVsZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIFR5cG9ncmFwaGljXG4vLyBcbi8vIFNlZSBhbHNvIC4uL2Jhc2UvX3R5cGUuc2Nzc1xuLy8gU2VlIGFsc28gLi4vaGVscGVycy9fdHlwZS5zY3NzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHbG9iYWwgc2l6aW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbiRnLWZvbnQtYmFzZTogOHB4O1xuJGctbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vZHVsYXIgU2NhbGUgVHlwb2dyYXBoeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gVGhlc2UgYXJlIHNldHRpbmdzIGZvciB0aGUgbW9kdWxhciBzY2FsZSBwbHVnaW4gYW5kIHRoZXJlZm9yZSB1c2UgdGhlaXJcbi8vIG93biBuYW1pbmcgY29udmVudGlvbi5cbiRtcy1iYXNlOiBidSgyKTtcbiRtcy1mbHVpZDogZmFsc2U7XG4kbXMtcmF0aW86ICRtYWpvci1zZWNvbmQ7XG5cbi8vIFVzZWQgdG8gbWF0Y2ggYSBwb2ludCBvbiB0aGUgc2NhbGUgdG8gYSBzdGFuZGFyZCBsaW5lIGhlaWdodCB1c2luZyBiYXNlIHVuaXRzXG4vLyBUaGlzIGhhcyBiZWVuIGN1c3RvbWlzZWQgdG8gbWF0Y2ggdGhlIGxpbmUgaGVpZ2h0cyB1c2VkIGluIHRoZSBkZXNpZ24uXG4kZy1mb250LXNjYWxlLXNpemluZzogKFxuICAtMzogYnUoMiksXG4gIC0yOiBidSgyKSxcbiAgLTE6IGJ1KDIuMjUpLFxuICAwOiAgYnUoMyksXG4gIDE6ICBidSgzLjUpLFxuICAyOiAgYnUoMyksXG4gIDM6ICBidSgzLjUpLFxuICA0OiAgYnUoMy41KSxcbiAgNTogIGJ1KDMuNSksXG4gIDY6ICBidSg1KSxcbiAgNzogIGJ1KDUpLFxuICA4OiAgYnUoNS41KSxcbiAgOTogIGJ1KDUuNSksXG4gIDEwOiAgYnUoOCksXG4gIDExOiAgYnUoNy43NSksXG4gIDEyOiAgYnUoMTApLFxuICAxMzogIGJ1KDExKSxcbiAgMTQ6ICBidSgxMiksXG4gIDE1OiAgYnUoMTMpLFxuICAxNjogIGJ1KDEzKVxuKTtcblxuQG1peGluIGZvbnQtc2NhbGUoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGctZm9udC1zY2FsZS1zaXppbmcsICRrZXkpIHtcbiAgICBmb250LXNpemU6IG1zKCRrZXkpO1xuICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRnLWZvbnQtc2NhbGUtc2l6aW5nLCAka2V5KTtcbiAgfVxufVxuXG4vLyBDb252ZXJ0IFBob3Rvc2hvcCBsZXR0ZXJzcGFjaW5nIGludG8gcmVtc1xuLy9cbi8vIEBwYXJhbSBzdHJpbmcgICRsZXR0ZXItc3BhY2luZy1weC1wc2QgIFBpeGVsIGFtb3VudCBjb3BpZWQgZnJvbSBQaG90b3Nob3AvSW52aXNpb25cbi8vIEBwYXJhbSBpbnQgICAgICRtcy1zaXplICAgICAgICAgICAgICAgIE1vZHVsYXIgU2NhbGUgdmFsdWVcbi8vIEBzZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL2FseWRhL3Blbi9nR3piTFxuLy8gQGV4YW1wbGVcbi8vICBAaW5jbHVkZSBmb250LXNjYWxlKDExKTtcbi8vICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMTEpO1xuQG1peGluIGxldHRlci1zcGFjaW5nKCRsZXR0ZXItc3BhY2luZy1weC1wc2QsICRtcy1zaXplKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZy1mb250LXNjYWxlLXNpemluZywgJG1zLXNpemUpIHtcbiAgICAkZm9udC1zaXplLXJlbTogbXMoJG1zLXNpemUpOyAvLyBOcmVtXG4gICAgJGZvbnQtc2l6ZS1weDogKG1hdGguZGl2KCRmb250LXNpemUtcmVtLCAxcmVtKSAqICRnLWZvbnQtYmFzZSk7IC8vIDFyZW0gLT4gOHB4XG4gICAgJGxldHRlci1zcGFjaW5nLXB4OiAoJGxldHRlci1zcGFjaW5nLXB4LXBzZCAqICRmb250LXNpemUtcHggKiAwLjAwMSk7XG4gICAgJGxldHRlci1zcGFjaW5nLXJlbTogKG1hdGguZGl2KG1hdGguZGl2KCRsZXR0ZXItc3BhY2luZy1weCwgJGctZm9udC1iYXNlKSwgMXB4KSAqIDFyZW0pO1xuXG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZy1yZW07XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZy1mb250LXByaW1hcnk6IE1vbnRzZXJyYXQsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4kZy1mb250LXNlY29uZGFyeTogTWFydGVsLCBHZW9yZ2lhLCBzZXJpZjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnQgRmFjZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gTm90ZSB0aGVzZSBhcmUgbm90IHZhcmlhYmxlcywgYnV0IGFyZSB1c2VkIGxpa2UgdmFyaWFibGVzIHNvIGluY2x1ZGVkIGluIHRoaXMgbG9jYXRpb24uXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQcmltYXJ5XG4vLyBodHRwczovL2ZvbnRzLmdvb2dsZS5jb20vc3BlY2ltZW4vTW9udHNlcnJhdFxuLy8gaHR0cDovL2dvb2dsZS13ZWJmb250cy1oZWxwZXIuaGVyb2t1YXBwLmNvbS9mb250cy9tb250c2VycmF0P3N1YnNldHM9bGF0aW4tZXh0LGxhdGluXG4vLyBodHRwOi8vbWFvcmkudHlwZWl0Lm9yZy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIDEwMDogVGhpblxuLy8gMjAwOiBFeHRyYS1MaWdodFxuLy8gMzAwOiBMaWdodFxuLy8gNDAwIChSZWd1bGFyKVxuLy8gNTAwOiBNZWRpdW1cbi8vIDYwMDogU2VtaS1Cb2xkXG4vLyA3MDA6IEJvbGRcbi8vIDgwMDogRXh0cmEtQm9sZFxuJHByaW1hcnktd2VpZ2h0czogMTAwLCAyMDAsIDMwMCwgcmVndWxhciwgNTAwLCA2MDAsIDcwMCwgODAwO1xuXG5AZWFjaCAkd2VpZ2h0IGluICRwcmltYXJ5LXdlaWdodHMge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG5cbiAgICBAaWYgJHdlaWdodCA9PSBcInJlZ3VsYXJcIiB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH0gQGVsc2Uge1xuICAgICAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gICAgfVxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBzcmM6IHVybCgkZy1mb250LXBhdGggKyBcIm1vbnRzZXJyYXQvbW9udHNlcnJhdC12MTItbGF0aW5fbGF0aW4tZXh0LSN7JHdlaWdodH0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybCgkZy1mb250LXBhdGggKyBcIm1vbnRzZXJyYXQvbW9udHNlcnJhdC12MTItbGF0aW5fbGF0aW4tZXh0LSN7JHdlaWdodH0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICB9XG59XG5cbi8vIGNyZWF0ZSB0ZXN0IGNsYXNzZXNcbkBlYWNoICR3ZWlnaHQgaW4gJHByaW1hcnktd2VpZ2h0cyB7XG4gIC5mb250LXByaW1hcnktI3skd2VpZ2h0fSB7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogI3skd2VpZ2h0fTtcbiAgfVxufVxuXG4vLyAyMDA6IEV4dHJhLUxpZ2h0IEl0YWxpY1xuLy8gNDAwIChSZWd1bGFyIEl0YWxpYylcbiRwcmltYXJ5LXdlaWdodHMtaXRhbGljOiAyMDAsIHJlZ3VsYXI7XG5cbkBlYWNoICR3ZWlnaHQgaW4gJHByaW1hcnktd2VpZ2h0cyB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcblxuICAgIEBpZiAkd2VpZ2h0ID09IFwicmVndWxhclwiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfSBAZWxzZSB7XG4gICAgICBmb250LXdlaWdodDogI3skd2VpZ2h0fTtcbiAgICB9XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gICAgQGlmICR3ZWlnaHQgPT0gXCJyZWd1bGFyXCIge1xuICAgICAgJHdlaWdodDogXCJcIjtcbiAgICB9XG5cbiAgICBzcmM6IHVybCgkZy1mb250LXBhdGggKyBcIm1vbnRzZXJyYXQvbW9udHNlcnJhdC12MTItbGF0aW5fbGF0aW4tZXh0LSN7JHdlaWdodH1pdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybCgkZy1mb250LXBhdGggKyBcIm1hcnRlbC9tYXJ0ZWwtdjItbGF0aW5fbGF0aW4tZXh0LSN7JHdlaWdodH1pdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICB9XG59XG5cbi8vIGNyZWF0ZSB0ZXN0IGNsYXNzZXNcbkBlYWNoICR3ZWlnaHQgaW4gJHByaW1hcnktd2VpZ2h0cy1pdGFsaWMge1xuICAuZm9udC1wcmltYXJ5LWl0YWxpYy0jeyR3ZWlnaHR9IHtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiAjeyR3ZWlnaHR9O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2Vjb25kYXJ5XG4vLyBodHRwczovL2ZvbnRzLmdvb2dsZS5jb20vc3BlY2ltZW4vTWFydGVsXG4vLyBodHRwOi8vZ29vZ2xlLXdlYmZvbnRzLWhlbHBlci5oZXJva3VhcHAuY29tL2ZvbnRzL21hcnRlbD9zdWJzZXRzPWxhdGluLWV4dCxsYXRpblxuLy8gaHR0cDovL21hb3JpLnR5cGVpdC5vcmcvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAzMDA6IGxpZ2h0XG4vLyBub3JtYWw6IHJlZ3VsYXJcbi8vIDYwMDogc2VtaS1ib2xkXG4vLyA4MDA6IGV4dHJhLWJvbGRcbi8vIDkwMDogYmxhY2tcbiRzZWNvbmRhcnktd2VpZ2h0czogMzAwLCByZWd1bGFyLCA2MDAsIDgwMCwgOTAwO1xuXG5AZWFjaCAkd2VpZ2h0IGluICRzZWNvbmRhcnktd2VpZ2h0cyB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1hcnRlbFwiO1xuXG4gICAgQGlmICR3ZWlnaHQgPT0gXCJyZWd1bGFyXCIge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAjeyR3ZWlnaHR9O1xuICAgIH1cbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgc3JjOiB1cmwoJGctZm9udC1wYXRoICsgXCJtYXJ0ZWwvbWFydGVsLXYyLWxhdGluX2xhdGluLWV4dC0jeyR3ZWlnaHR9LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoJGctZm9udC1wYXRoICsgXCJtYXJ0ZWwvbWFydGVsLXYyLWxhdGluX2xhdGluLWV4dC0jeyR3ZWlnaHR9LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgfVxufVxuXG4vLyBjcmVhdGUgdGVzdCBjbGFzc2VzXG5AZWFjaCAkd2VpZ2h0IGluICRzZWNvbmRhcnktd2VpZ2h0cyB7XG4gIC5mb250LXNlY29uZGFyeS0jeyR3ZWlnaHR9IHtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1zZWNvbmRhcnk7XG4gICAgZm9udC13ZWlnaHQ6ICN7JHdlaWdodH07XG4gIH1cbn1cbiIsIi8vIGFkZCBmaWxscyB0byBsYXlvdXQgY29sdW1ucyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzXG5cbi5oLWRlYnVnLWxheW91dCB7XG4gIFtjbGFzc149XCJsLVwiXSxcbiAgW2NsYXNzKj1cIiBsLVwiXSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xheW91dC9ncmlkLTExMzItMTItMzItMC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQteTogcmVwZWF0O1xuICB9XG5cbiAgLy8gW2NsYXNzKj1cIl9fY29sXCJdIHtcbiAgLy8gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyMDQsIDAsIC4xNSk7XG4gIC8vIH1cbn1cblxuLy8gdHlwZVxuXG4uaC1kZWJ1Zy10eXBlIHtcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcCxcbiAgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAwLCAyMjEpO1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgaDEge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcImgxXCI7XG4gICAgfVxuXG4gICAgJltjbGFzc10ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJoMS5cIiBhdHRyKGNsYXNzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiaDJcIjtcbiAgICB9XG5cbiAgICAmW2NsYXNzXSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcImgyLlwiIGF0dHIoY2xhc3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJoM1wiO1xuICAgIH1cblxuICAgICZbY2xhc3NdIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiaDMuXCIgYXR0cihjbGFzcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaDQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcImg0XCI7XG4gICAgfVxuXG4gICAgJltjbGFzc10ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJoNC5cIiBhdHRyKGNsYXNzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoNSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiaDVcIjtcbiAgICB9XG5cbiAgICAmW2NsYXNzXSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcImg1LlwiIGF0dHIoY2xhc3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGg2IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJoNlwiO1xuICAgIH1cblxuICAgICZbY2xhc3NdIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiaDYuXCIgYXR0cihjbGFzcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwicFwiO1xuICAgIH1cblxuICAgICZbY2xhc3NdIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwicC5cIiBhdHRyKGNsYXNzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsaSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwibGlcIjtcbiAgICB9XG5cbiAgICAmW2NsYXNzXSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcImxpLlwiIGF0dHIoY2xhc3MpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gSWNvbiBIZWxwZXJzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlbHBlcnMgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIGFsbCBpY29ucyBoYXZlIGRpZmZlcmVudCBkZWZhdWx0IHJvdGF0aW9uc1xuLy8gc28gdmlzdWFsbHkgY2hlY2sgdGhhdCB0aGUgcm90YXRpb24gaXMgYXMgZGVzaXJlZFxuQG1peGluIHJvdGF0ZS1pY29uKCRyb3RhdGlvbikge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgjeyRyb3RhdGlvbn1kZWcpO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlbHBlcnMgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gRGVmYXVsdCBpY29uIHN0eWxpbmcuIFNlZSBodHRwczovL2Z2c2NoLmNvbS9jb2RlL3N2Zy1pY29ucy9ob3ctdG8vXG4uaC1pY29uIHtcbiAgLy8gTmljZSB2aXN1YWwgYWxpZ25tZW50IGZvciBpY29ucyBhbG9uZ3NpZGUgdGV4dC4gKEkgZ290IGEgZmV3IHF1ZXN0aW9ucyBhYm91dCB0aGlzIGFuZDogd2l0aCBtb3N0IGZvbnRzIGFuZCBzdHlsZXMsIHRoaXMgd29ya3MgYmV0dGVyIHRoYW4ganVzdCB2ZXJ0aWNhbC1hbGlnbjptaWRkbGUuIFRyeSBpdCBhbmQgc2VlIHdoYXQgeW91IGxpa2UgYmVzdC5cbiAgdmVydGljYWwtYWxpZ246IC0uMTVlbTtcblxuICAvLyBJbmhlcml0IHRoZSB0ZXh04oCZcyBzaXplLiBBbHNvIGFsbG93cyBzaXppbmcgdGhlIGljb24gYnkgY2hhbmdpbmcgaXRzIGZvbnQtc2l6ZS5cbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG5cbiAgLy8gUGF0aHMgYW5kIHN0cm9rZXMgdGhhdCBvdmVyZmxvdyB0aGUgdmlld0JveCBjYW4gc2hvdyBpbiBJRS4gSWYgeW91IHVzZSBub3JtYWxpemUuY3NzLCBpdCBhbHJlYWR5IHNldHMgdGhpcy5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBMZXRzIHRoZSBpY29uIGluaGVyaXQgdGhlIHRleHQgY29sb3IuXG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcblxuICBhICYsXG4gIGJ1dHRvbiAmLFxuICBpbnB1dCAmLFxuICAuYi1zZWFyY2gtZmllbGQgJiB7XG4gICAgLy8gcHJldmVudCBTVkcgaWNvbnMgZnJvbSBibG9ja2luZyBhY2Nlc3MgdG8gdGhlIGJ1dHRvbiBob3RzcG90ICdiZWhpbmQnIHRoZW5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYtLXJvdGF0ZS05MCB7XG4gICAgQGluY2x1ZGUgcm90YXRlLWljb24oOTApO1xuICB9XG5cbiAgJi0tcm90YXRlLTE4MCB7XG4gICAgQGluY2x1ZGUgcm90YXRlLWljb24oMTgwKTtcbiAgfVxuXG4gICYtLXJvdGF0ZS0yNzAge1xuICAgIEBpbmNsdWRlIHJvdGF0ZS1pY29uKDI3MCk7XG4gIH1cblxuICAmLS1hcnJvdyB7XG4gICAgYSAmIHtcbiAgICAgIGZpbGw6IGNvbG9yKHR5cGUpO1xuICAgIH1cblxuICAgIC5iLWJ1dHRvbiAmIHtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAmLS11cCB7XG4gICAgICBAaW5jbHVkZSByb3RhdGUtaWNvbigtOTApO1xuICAgIH1cblxuICAgICYtLWRvd24ge1xuICAgICAgQGluY2x1ZGUgcm90YXRlLWljb24oOTApO1xuICAgIH1cblxuICAgICYtLWxlZnQge1xuICAgICAgQGluY2x1ZGUgcm90YXRlLWljb24oMTgwKTtcbiAgICB9XG5cbiAgICAmLS11cC1yaWdodCB7XG4gICAgICBAaW5jbHVkZSByb3RhdGUtaWNvbigtNDUpO1xuICAgIH1cbiAgfVxuXG4gICYtLXRyaWFuZ2xlIHtcblxuICAgICYtLXVwIHtcbiAgICAgIEBpbmNsdWRlIHJvdGF0ZS1pY29uKDE4MCk7XG4gICAgfVxuICB9XG5cbiAgJi0tbG9hZGluZy1zcGlubmVyLWxhcmdlLFxuICAmLS1sb2FkaW5nLXNwaW5uZXItc21hbGwtd2hpdGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGxvYWRpbmctc3Bpbm5lci1hbmltYXRpb247XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbG9hZGluZy1zcGlubmVyLWFuaW1hdGlvbiB7XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHJvdGF0ZS1pY29uKDM2MCk7XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBMYXlvdXQgSGVscGVyc1xuLy9cbi8vIFNlZSBhbHNvIF9zdGF0ZS5zY3NzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBEZWZpbmUgYWxsIGhlbHBlcnMgcmVsYXRlZCB0byBsYXlvdXQgaW4gdGhpcyBzdHlsZXNoZWV0XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIG9mZnNldCBwYWRkaW5nIG9mIHBhcmVudCAubC1vdXRlci1jb250YWluZXJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQG1peGluIGgtZnVsbHdpZHRoKCRicmVha3BvaW50KSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJG1hcmdpbjogXCJcIjtcblxuICBAaWYgKCRicmVha3BvaW50ID09IFwibmFycm93XCIpIHtcbiAgICAkbWFyZ2luOiAkZy1tYXJnaW4tbmFycm93O1xuICB9XG4gIEBlbHNlIGlmICgkYnJlYWtwb2ludCA9PSBcIndpZGVcIikge1xuICAgICRtYXJnaW46ICRnLW1hcmdpbi13aWRlO1xuICB9XG4gIEBlbHNlIGlmICgkYnJlYWtwb2ludCA9PSBcIndpZGVzdFwiKSB7XG4gICAgJG1hcmdpbjogJGctbWFyZ2luLXdpZGVzdDtcbiAgfVxuICBAZWxzZSBpZiAoJGJyZWFrcG9pbnQgPT0gXCJmdWxsXCIpIHtcbiAgICAkbWFyZ2luOiAxNDQ7XG4gIH1cblxuICByaWdodDogKC0jeyRtYXJnaW59cHgpO1xuICBsZWZ0OiAoLSN7JG1hcmdpbn1weCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAjezJweCAqICRtYXJnaW59KTtcbn1cblxuLy8gR2xvYmFsIG1hcmdpbiBzZXR0aW5nc1xuLy8gVGhlb3JldGljYWxseSB1c2VkIGJ5IGFsbCB0b3AgbGV2ZWwgYmxvY2tzXG4vLyBmb3IgY29uc2lzdGVudCBsYXlvdXRcbi8vIGJ1dCBsaW5lLWhlaWdodHMgY2FuIGFmZmVjdCB0aGlzXG5AbWl4aW4gaC1nbG9iYWwtbWFyZ2luKCRzaWRlKSB7XG4gIEBpZiAkc2lkZSA9PSBcInRvcFwiIHtcbiAgICBtYXJnaW4tdG9wOiBidSg0KTtcbiAgfSBAZWxzZSBpZiAkc2lkZSA9PSBcImJvdHRvbVwiIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgfSBAZWxzZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gIH1cbn1cblxuLy8gZHVlIHRvIG5vLWltcG9ydGFudFxuLy8gYXZvaWQgdXNpbmcgdGhpcyBoZWxwZXIgb24gYW4gZWxlbWVudCB0aGF0IGFsc28gdXNlcyBkaXNwbGF5LFxuLy8gdXNlIGl0IG9uIHRoZSBwYXJlbnQgaW5zdGVhZFxuQG1peGluIGgtaGlkZSgpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gZHVlIHRvIG5vLWltcG9ydGFudFxuLy8gYXZvaWQgdXNpbmcgdGhpcyBoZWxwZXIgb24gYW4gZWxlbWVudCB0aGF0IGFsc28gdXNlcyBkaXNwbGF5LFxuLy8gdXNlIGl0IG9uIHRoZSBwYXJlbnQgaW5zdGVhZFxuQG1peGluIGgtc2hvdygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA0IHtcbiAgICAmW2NsYXNzXj1cImwtI3skaX0tLVwiXSxcbiAgICAmW2NsYXNzKj1cIiBsLSN7JGl9LS1cIl0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuLy8gaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuLy8gRGVmaW5lZCBhcyBtaXhpbiBiZWNhdXNlIG9mdGVuIHVzZWQgYXQgZGlmZmVyZW50IG1lZGlhIGxldmVsc1xuXG5AbWl4aW4gaC12aXN1YWxseWhpZGRlbigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG59XG5cbkBtaXhpbiBoLXZpc3VhbGx5c2hvd24oKSB7XG4gIHBvc2l0aW9uOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgcGFkZGluZzogaW5oZXJpdDtcbiAgYm9yZGVyOiBpbmhlcml0O1xuICBtYXJnaW46IGluaGVyaXQ7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2RpZmllcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oLWJsb2NrIHtcbiAgQGluY2x1ZGUgaC1zaG93O1xufVxuXG4uaC1nbG9iYWwtbWFyZ2luIHtcbiAgQGluY2x1ZGUgaC1nbG9iYWwtbWFyZ2luKFwidG9wXCIpO1xuICBAaW5jbHVkZSBoLWdsb2JhbC1tYXJnaW4oXCJib3R0b21cIik7XG59XG5cbi8vIEhpZGluZyBhbmQgc2hvd2luZ1xuLy8gVG8gYXZvaWQgdXNlIG9mICFpbXBvcnRhbnQsIGl0IGlzIG5lY2Vzc2FyeSB0byBhcHBseSB0d28gY2xhc3Nlczpcbi8vXG4vLyAxLiBUaGUgZGVmYXVsdC9nZW5lcmljIHN0YXRlICguaC1oaWRlIG9ubHksIC5oLXNob3cgaXMgaW1wbGllZClcbi8vIDIuIFRoZSBjb250ZXh0dWFsL3NwZWNpZmljIHN0YXRlICguaC1zaG93LS13aWRlLCBoLWhpZGUtLW1vZGFsKVxuXG4vLyAuaC1oaWRlXG4uaC1oaWRlIHtcbiAgQGluY2x1ZGUgaC1oaWRlO1xuXG4gIC8vIC5oLWhpZGUtLW1vZGFsXG4gICYtLW1vZGFsIHtcbiAgICAuYi1tb2RhbC1qcyAmIHtcbiAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICB9XG4gIH1cblxuICAvLyAuaC1oaWRlLS1tb2RhbC0tcHJlc2VudFxuICAmLS1tb2RhbC0tcHJlc2VudCB7XG4gICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgfVxuICB9XG59XG5cbi8vIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnMsIGJ1dCBtYWludGFpbiBsYXlvdXRcbi5oLWludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gTmVlZCB0byB0YXJnZXQgbWFpbiBlbGVtZW50cyB0byBwcmV2ZW50IGJhY2tncm91bmQgc2Nyb2xsIGluIGlvc1xuLmgtb3ZlcmxheS0taXMtYWN0aXZlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBSZXF1aXJlZCBmb3Igd2Via2l0IGJ1ZyBpbiBpb3M5LiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwNzE1XG4gIC8vIEZpeCBkZXNjcmliZWQgaGVyZS4gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzI2NzU4NDkvc2NyZWVuLXpvb21zLWluLXdoZW4tYS1ib290c3RyYXAtbW9kYWwtaXMtb3BlbmVkLW9uLWlvcy05LXNhZmFyaVxuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XG5cbiAgLy8gUmVxdWlyZWQgYmVjYXVzZSBTYWZhcmkgc3RpbGwgaXNudCBhYmxlIHRvIHByZXZlbnQgc2Nyb2xsIG9uIHVuZGVybGF5ZWQgZWxlbWVudHNcbiAgLmItbWVzc2FnZS1qcyxcbiAgLmgtaGlkZS0tb3ZlcmxheS1pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgICAuYi1tZXNzYWdlLWpzLFxuICAgIC5oLWhpZGUtLW92ZXJsYXktaXMtYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4vLyAuaC1wcmludFxuLmgtcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taW1wb3J0YW50XG59XG5cbi5oLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8vIC5oLXNob3dcbi5oLXNob3cge1xuICBAaW5jbHVkZSBoLXNob3c7XG5cbiAgLy8gLmgtc2hvdy0tbW9kYWxcbiAgJi0tbW9kYWwge1xuICAgIC5iLW1vZGFsLWpzICYge1xuICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oLXNob3ctLW1vZGFsLS1wcmVzZW50XG4gICYtLW1vZGFsLS1wcmVzZW50IHtcbiAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cbn1cblxuLy8gLmgtdmlzdWFsbHloaWRkZW5cbi5oLXZpc3VhbGx5aGlkZGVuIHtcbiAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcblxuICAmLmgtZm9jdXNhYmxlIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY2xpcDogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyAuaC12aXN1YWxseWhpZGRlbi0tbW9kYWxcbiAgJi0tbW9kYWwge1xuICAgIC5iLW1vZGFsICYge1xuICAgICAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuLy8gLmgtdmlzdWFsbHlzaG93blxuLmgtdmlzdWFsbHlzaG93biB7XG4gIEBpbmNsdWRlIGgtdmlzdWFsbHlzaG93bjtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC1iZWxvdy13aWRlKSB7XG4gIC5oLWhpZGUge1xuICAgICYtLWNvbnRlbnQtYmVsb3ctd2lkZSB7XG4gICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgfVxuICB9XG5cbiAgLmgtc2hvdyB7XG4gICAgLy8gLmgtc2hvdy0tY29udGVudC1iZWxvdy13aWRlXG4gICAgJi0tY29udGVudC1iZWxvdy13aWRlIHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cblxuICAuaC12aXN1YWxseWhpZGRlbiB7XG4gICAgLy8gLmgtdmlzdWFsbHloaWRkZW4tLWNvbnRlbnQtYmVsb3ctd2lkZVxuICAgICYtLWNvbnRlbnQtYmVsb3ctd2lkZSB7XG4gICAgICBAaW5jbHVkZSBoLXZpc3VhbGx5aGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gIC5oLWhpZGUge1xuICAgIC8vIC5oLWhpZGUtLWNvbnRlbnQtd2lkZS1hbmQtdXBcbiAgICAmLS1jb250ZW50LXdpZGUtYW5kLXVwIHtcbiAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICB9XG4gIH1cblxuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1jb250ZW50LXdpZGUtYW5kLXVwXG4gICAgJi0tY29udGVudC13aWRlLWFuZC11cCB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG5cbiAgLmgtdmlzdWFsbHloaWRkZW4ge1xuICAgIC8vIC5oLXZpc3VhbGx5aGlkZGVuLS1jb250ZW50LXdpZGUtYW5kLXVwXG4gICAgJi0tY29udGVudC13aWRlLWFuZC11cCB7XG4gICAgICBAaW5jbHVkZSBoLXZpc3VhbGx5aGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLW5hcnJvdy1hbmQtdXApIHtcbiAgLmgtc2hvdyB7XG4gICAgLy8gLmgtc2hvdy0tcGFnZS1uYXJyb3ctYW5kLXVwXG4gICAgJi0tcGFnZS1uYXJyb3ctYW5kLXVwIHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1iZWxvdy1uYXJyb3dpc2gpIHtcbiAgLmgtc2hvdyB7XG4gICAgLy8gLmgtc2hvdy0tcGFnZS1uYXJyb3dcbiAgICAmLS1wYWdlLW5hcnJvdyB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtbmFycm93aXNoLWFuZC11cCkge1xuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1wYWdlLW5hcnJvd2lzaC1hbmQtdXBcbiAgICAmLS1wYWdlLW5hcnJvd2lzaC1hbmQtdXAge1xuICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLWJldHdlZW4tbmFycm93aXNoLWFuZC13aWRlaXNoKSB7XG4gIC5oLXNob3cge1xuICAgIC8vIC5oLXNob3ctLXBhZ2UtbmFycm93aXNoXG4gICAgJi0tcGFnZS1uYXJyb3dpc2gge1xuICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgIH1cbiAgfVxuXG4gIC5oLXZpc3VhbGx5aGlkZGVuIHtcbiAgICAvLyAuaC12aXN1YWxseWhpZGRlbi0tcGFnZS1uYXJyb3dpc2hcbiAgICAmLS1wYWdlLW5hcnJvd2lzaCB7XG4gICAgICBAaW5jbHVkZSBoLXZpc3VhbGx5aGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLWJlbG93LXdpZGVpc2gpIHtcbiAgLmgtdmlzdWFsbHloaWRkZW4ge1xuICAgIC8vIC5oLXZpc3VhbGx5aGlkZGVuLS1wYWdlLWJlbG93LXdpZGVpc2hcbiAgICAmLS1wYWdlLWJlbG93LXdpZGVpc2gge1xuICAgICAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlaXNoLWFuZC11cCkge1xuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1wYWdlLXdpZGVpc2gtYW5kLXVwXG4gICAgJi0tcGFnZS13aWRlaXNoLWFuZC11cCB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmV0d2Vlbi13aWRlaXNoLWFuZC13aWRlKSB7XG4gIC5oLXNob3cge1xuICAgIC8vIC5oLXNob3ctLXBhZ2Utd2lkZWlzaFxuICAgICYtLXBhZ2Utd2lkZWlzaCB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmVsb3ctd2lkZSkge1xuICAuaC1mdWxsd2lkdGgge1xuICAgIC8vIC5oLWZ1bGx3aWR0aC0tcGFnZS1iZWxvdy13aWRlXG4gICAgJi0tcGFnZS1iZWxvdy13aWRlIHtcbiAgICAgIEBpbmNsdWRlIGgtZnVsbHdpZHRoKFwibmFycm93XCIpO1xuICAgIH1cbiAgfVxuXG4gIC5oLWhpZGUge1xuICAgIC8vIC5oLWhpZGUtLXBhZ2UtYmVsb3ctd2lkZVxuICAgICYtLXBhZ2UtYmVsb3ctd2lkZSB7XG4gICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZS1hbmQtdXApIHtcbiAgLmgtaGlkZSB7XG4gICAgLy8gLmgtaGlkZS0tcGFnZS13aWRlLWFuZC11cFxuICAgICYtLXBhZ2Utd2lkZS1hbmQtdXAge1xuICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgIH1cbiAgfVxuXG4gIC5oLXNob3cge1xuICAgIC8vIC5oLXNob3ctLXBhZ2Utd2lkZS1hbmQtdXBcbiAgICAmLS1wYWdlLXdpZGUtYW5kLXVwIHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cblxuICAuaC12aXN1YWxseWhpZGRlbiB7XG4gICAgLy8gLmgtdmlzdWFsbHloaWRkZW4tLXBhZ2Utd2lkZS1hbmQtdXBcbiAgICAmLS1wYWdlLXdpZGUtYW5kLXVwIHtcbiAgICAgIEBpbmNsdWRlIGgtdmlzdWFsbHloaWRkZW47XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmV0d2Vlbi13aWRlLWFuZC13aWRlc3QpIHtcbiAgLmgtZnVsbHdpZHRoIHtcbiAgICAvLyAuaC1mdWxsd2lkdGgtLXBhZ2Utd2lkZVxuICAgICYtLXBhZ2Utd2lkZSB7XG4gICAgICBAaW5jbHVkZSBoLWZ1bGx3aWR0aChcIndpZGVcIik7XG4gICAgfVxuICB9XG5cbiAgLmgtaGlkZSB7XG4gICAgLy8gLmgtaGlkZS0tcGFnZS13aWRlXG4gICAgJi0tcGFnZS13aWRlIHtcbiAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICB9XG4gIH1cblxuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1wYWdlLXdpZGVcbiAgICAmLS1wYWdlLXdpZGUge1xuICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgIH1cbiAgfVxuXG4gIC5oLXZpc3VhbGx5aGlkZGVuIHtcbiAgICAvLyAuaC12aXN1YWxseWhpZGRlbi0tcGFnZS13aWRlXG4gICAgJi0tcGFnZS13aWRlIHtcbiAgICAgIEBpbmNsdWRlIGgtdmlzdWFsbHloaWRkZW47XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZXN0LWFuZC11cCkge1xuICAuaC1oaWRlIHtcbiAgICAvLyAuaC1oaWRlLS1wYWdlLXdpZGVzdC1hbmQtdXBcbiAgICAmLS1wYWdlLXdpZGVzdC1hbmQtdXAge1xuICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgIH1cbiAgfVxuXG4gIC5oLXNob3cge1xuICAgIC8vIC5oLXNob3ctLXBhZ2Utd2lkZXN0LWFuZC11cFxuICAgICYtLXBhZ2Utd2lkZXN0LWFuZC11cCB7XG4gICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgfVxuICB9XG5cbiAgLmgtdmlzdWFsbHloaWRkZW4ge1xuICAgIC8vIC5oLXZpc3VhbGx5aGlkZGVuLS1wYWdlLXdpZGVzdC1hbmQtdXBcbiAgICAmLS1wYWdlLXdpZGVzdC1hbmQtdXAge1xuICAgICAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1iZXR3ZWVuLXdpZGVzdC1hbmQtZnVsbCkge1xuICAuaC1mdWxsd2lkdGgge1xuICAgIC8vIC5oLWZ1bGx3aWR0aC0tcGFnZS13aWRlc3RcbiAgICAmLS1wYWdlLXdpZGVzdCB7XG4gICAgICBAaW5jbHVkZSBoLWZ1bGx3aWR0aChcIndpZGVzdFwiKTtcbiAgICB9XG4gIH1cblxuICAuaC1oaWRlIHtcbiAgICAvLyAuaC1oaWRlLS1wYWdlLXdpZGVzdFxuICAgICYtLXBhZ2Utd2lkZXN0IHtcbiAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICB9XG4gIH1cblxuICAuaC1zaG93IHtcbiAgICAvLyAuaC1zaG93LS1wYWdlLXdpZGVzdFxuICAgICYtLXBhZ2Utd2lkZXN0IHtcbiAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICB9XG4gIH1cblxuICAuaC12aXN1YWxseWhpZGRlbiB7XG4gICAgLy8gLmgtdmlzdWFsbHloaWRkZW4tLXBhZ2Utd2lkZXN0XG4gICAgJi0tcGFnZS13aWRlc3Qge1xuICAgICAgQGluY2x1ZGUgaC12aXN1YWxseWhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1mdWxsLWFuZC11cCkge1xuICAuaC1mdWxsd2lkdGgge1xuICAgIC8vIC5oLWZ1bGx3aWR0aC0tcGFnZS1mdWxsXG4gICAgJi0tcGFnZS1mdWxsIHtcbiAgICAgIEBpbmNsdWRlIGgtZnVsbHdpZHRoKFwiZnVsbFwiKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gbWl4aW5zIGFsbG93cyBsYXlvdXQgdG8gYmUgYXBwbGllZCB0byBlbGVtZW50IHdoaWNoIGR5bmFtaWNhbGx5IHBpblxuLy8gdGhpcyBtaXhpbiBpcyBub3QgZm91bmQgaWYgc3RvcmVkIGluIF9sLTIuc2Nzc1xuLy8gbm90ZSB0aGF0IHRoZSAubC0yIG1vZGlmaWVyIGlzIGhhcmRjb2RlZCBoZXJlXG5AbWl4aW4gbC0yLS1wYWdlLS1ndWlkZSgpIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlLWFuZC11cCkge1xuXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgID4gLmwtMl9fY29sIHtcbiAgICAgICYubC1vcmRlci0tMSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKG1hdGguZGl2KDMsIDEyKSk7XG4gICAgICB9XG5cbiAgICAgICYubC1vcmRlci0tMiB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKG1hdGguZGl2KDgsIDEyKSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBNZWRpYSBRdWVyeSBGdW5jdGlvbnMgYW5kIE1peGluc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gR2VuZXJhdGVzIG1lZGlhIHF1ZXJpZXMgYW5kIHRoZWlyIGRlY2xhcmF0aW9ucy5cbkBmdW5jdGlvbiBuZXctYnJlYWtwb2ludCgkdHlwZSwgJHZhbHVlLCAkdmFsdWUyOiBmYWxzZSkge1xuICAkcXVlcnk6IGZhbHNlO1xuICBAaWYgJHZhbHVlMiB7XG4gICAgJHZhbHVlMjogKCR2YWx1ZTIpO1xuICAgICRxdWVyeTogJHR5cGUgKyBcIi13aWR0aDpcIiArICR2YWx1ZSArIFwiKSBhbmQgKG1heC13aWR0aDpcIiArICR2YWx1ZTI7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAoI3skdHlwZX09PW1heCkge1xuICAgICAgJHZhbHVlOiAoJHZhbHVlKTtcbiAgICAgICRxdWVyeTogJHR5cGUgKyBcIi13aWR0aDpcIiArICR2YWx1ZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRxdWVyeTogJHR5cGUgKyBcIi13aWR0aDpcIiArICR2YWx1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcXVlcnk7XG59XG5cbi8vIFBvcHVsYXRlcyB0aGUgbWVkaWEgcXVlcnkgd2l0aCBicmVha3BvaW50cy5cbkBtaXhpbiBtZWRpYSgkcXVlcnkpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKCRxdWVyeSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gTGlzdCBoZWxwZXJzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBMaXN0IGhlbHBlcnNcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTAwXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVscGVyIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEhlbHBlciB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBIZWxwZXIgbmFtZVxuJGgtbGlzdC1xdWVzdGlvbi1maWxsOiBjb2xvcihmaWxsLWxpZ2h0KTtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlbHBlciBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGgtbGlzdC0tcmVzZXQoKSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBoLWxpc3QtLWlubGluZSgpIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgPiBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVscGVyIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oLWxpc3Qge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmgtbGlzdC0tY2hlY2tcbiAgJi0tY2hlY2sge1xuICAgIHBhZGRpbmctbGVmdDogYnUoNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMy4yNSk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIC8vIHdpZHRoICogLTEgPSBtYXJnaW4tbGVmdFxuICAgICAgICB3aWR0aDogYnUoNC4zKTtcbiAgICAgICAgaGVpZ2h0OiBidSgyLjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgtLjc1KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC00LjMpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGctaW1hZ2UtcGF0aCArIFwiaWNvbnMvY2hlY2suc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSAyNSU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogYnUoMi41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAuaC1saXN0LS1pbmxpbmVcbiAgLy8gZGlzcGxheTppbmxpbmUtZmxleCBpcyBwcmVmZXJhYmxlIHRvIGRpc3BsYXk6aW5saW5lXG4gIC8vIGZvciBjb21wYXRpYmlsaXR5IHdpdGggLmgtaGlkZSBhbmQgLmgtc2hvd1xuICAmLS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGgtbGlzdC0taW5saW5lO1xuICB9XG5cbiAgLy8gLmgtbGlzdC0tbnVtYmVyZWRcbiAgJi0tbnVtYmVyZWQge1xuICAgIC8vIDpiZWZvcmUgd2lkdGggKyA6YmVmb3JlIG1hcmdpbi1yaWdodCA9IHBhZGRpbmctbGVmdFxuICAgIHBhZGRpbmctbGVmdDogYnUoNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMy4yNSk7XG4gICAgY291bnRlci1yZXNldDogbGlzdC1udW1iZXJpbmc7XG5cbiAgICA+IGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNSk7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3QtbnVtYmVyaW5nO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAwKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKGxpc3QtbnVtYmVyaW5nKTtcbiAgICAgICAgLy8gdmVydGljYWwgY2lyY2xlIGFsaWdubWVudFxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIC8vIHdpZHRoICsgbWFyZ2luLXJpZ2h0ICogLTEgPSBtYXJnaW4tbGVmdFxuICAgICAgICB3aWR0aDogYnUoMyk7XG4gICAgICAgIGhlaWdodDogYnUoMyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBidSgyKSAwIGJ1KC01KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1kYXJrKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICAgICAgLy8gdmVydGljYWwgdGV4dCBjZW50ZXJpbmcgPSBoZWlnaHQgKyAuMjVcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuMjUpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyBpbmNsdWRlIHBhZGRpbmcgaW4gaGVpZ2h0XG4gICAgICAgICAgcGFkZGluZy10b3A6IGJ1KDEuNSk7IC8vIGNlbnRlciB0ZXh0IHdpdGhpbiBjaXJjbGVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5oLWxpc3QtLXF1ZXN0aW9uc1xuICAvLyBub3RlOiB1c2VkIHdpdGggaC1saXN0LS1yZXNldFxuICAmLS1xdWVzdGlvbnMge1xuICAgIEBpbmNsdWRlIGgtbGlzdC0tcmVzZXQoKTtcblxuICAgID4gbGkge1xuICAgICAgcGFkZGluZzogYnUoMi4xMjUpIGJ1KDIuNSkgYnUoMS44MjUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS41KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoLWxpc3QtcXVlc3Rpb24tZmlsbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oLWxpc3QtLXJlc2V0XG4gICYtLXJlc2V0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIC8vIC5oLWxpc3QtLWNoZWNrXG4gICAgJi0tY2hlY2sge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIC8vIDpiZWZvcmUgd2lkdGggKyA6YmVmb3JlIG1hcmdpbi1yaWdodCA9IHBhZGRpbmctbGVmdFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IGJ1KDgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAvLyB3aWR0aCAqIC0xID0gbWFyZ2luLWxlZnRcbiAgICAgICAgICAgIHdpZHRoOiBidSg4KTsgLy9cbiAgICAgICAgICAgIGhlaWdodDogYnUoMyk7IC8vXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBidSgtLjc1KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSgtOCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzMCUgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBidSgzLjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5oLWxpc3QtLWlubGluZVxuICAgICYtLWlubGluZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgJi5oLWhpZGUtLWNvbnRlbnQtd2lkZS1hbmQtdXAge1xuICAgICAgICAgIEBpbmNsdWRlIGgtaGlkZTsgLy8gcHJldmVudCB0cnVtcGluZyBieSBkaXNwbGF5OmlubGluZS1ibG9ja1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmgtbGlzdC0taW5saW5lLW1lZGl1bVxuICAgICYtLWlubGluZS1tZWRpdW0ge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSgxKTtcblxuICAgICAgICAmLmgtaGlkZS0tY29udGVudC13aWRlLWFuZC11cCB7XG4gICAgICAgICAgQGluY2x1ZGUgaC1oaWRlOyAvLyBwcmV2ZW50IHRydW1waW5nIGJ5IGRpc3BsYXk6aW5saW5lLWJsb2NrXG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5oLWxpc3QtLW51bWJlcmVkXG4gICAgJi0tbnVtYmVyZWQge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogYnUoOCk7XG4gICAgICB9XG5cbiAgICAgID4gbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgzKTtcblxuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAvLyB2ZXJ0aWNhbCBjaXJjbGUgYWxpZ25tZW50XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLjRlbTtcbiAgICAgICAgICAgIC8vIHdpZHRoICsgbWFyZ2luLXJpZ2h0ICogLTEgPSBtYXJnaW4tbGVmdFxuICAgICAgICAgICAgd2lkdGg6IGJ1KDMuNSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGJ1KDMuNSk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KDMuNSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLTcpO1xuICAgICAgICAgICAgLy8gdmVydGljYWwgdGV4dCBjZW50ZXJpbmcgPSBoZWlnaHQgKyAuMjVcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjc1KTtcblxuICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBidSgxLjg1KTsgLy8gY2VudGVyIHRleHQgd2l0aGluIGNpcmNsZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5oLWxpc3QtLXF1ZXN0aW9uc1xuICAgIC8vIG5vdGU6IHVzZWQgd2l0aCBoLWxpc3QtLXJlc2V0XG4gICAgJi0tcXVlc3Rpb25zIHtcbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgPiBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogYnUoMyk7XG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgLy8gc2VlIGItcHJvY2Vzcy1saXN0XG4gICAgICAgICAgcGFkZGluZzogYnUoNC4xKSBidSgzLjkpIGJ1KDMuNSkgYnUoNS40KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgzKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmaWxsLWxpZ2h0ZXN0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIE9yZGVyIEhlbHBlcnNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIERlZmluZSBhbGwgaGVscGVycyByZWxhdGVkIHRvIGZsZXhib3ggc291cmNlIHJlLW9yZGVyaW5nIGluIHRoaXMgc3R5bGVzaGVldFxuXG4ubC1vcmRlciB7XG4gICYtLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG5cbiAgJi0tMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBTdGF0ZSBoZWxwZXJzXG4vLyBcbi8vIFNlZSBhbHNvIF9sYXlvdXQuc2Nzc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTdGF0ZSBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGgtZm9jdXNhYmxlIHtcbiAgJjpmb2N1cyB7XG4gICAgLy8gb24gbW91c2Ugb3IgdG91Y2ggZm9jdXNcbiAgICAvLyBkbyBub3RoaW5nXG4gICAgLmpzLWVuYWJsZWQgJiB7XG4gICAgICBAaW5jbHVkZSBuby1mb2N1cy1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIG9uIGtleWJvYXJkIGludGVyYWN0aW9uXG4gICAgLy8gLmpzLXdhaS1vdXRsaW5lIGlzIGFwcGxpZWQgdG8gdGhlIGJvZHkgZWxlbWVudFxuXG4gICAgLy8gb24ga2V5Ym9hcmQgZm9jdXNcbiAgICAvLyBvdXRsaW5lIHRoaXMgZWxlbWVudFxuICAgIC5qcy13YWktb3V0bGluZSAmIHtcbiAgICAgIEBpbmNsdWRlIGZvY3VzLW91dGxpbmU7XG5cbiAgICAgIC8vIG9uIGtleWJvYXJkIGZvY3VzXG4gICAgICAvLyBkb24ndCBvdXRsaW5lIHRoaXMgZWxlbWVudFxuICAgICAgJi5qcy13YWktbm8tb3V0bGluZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vLWZvY3VzLW91dGxpbmU7XG5cbiAgICAgICAgLy8gYnV0IGRvIG91dGxpbmUgYSBzcGVjaWZpZWQgY2hpbGQgZWxlbWVudFxuICAgICAgICAuanMtd2FpLW91dGxpbmUtLXByb3h5IHtcbiAgICAgICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb2N1cy1vdXRsaW5lKCkge1xuICAvLyBjb2xvdXJlZCBvdXRsaW5lXG4gIG91dGxpbmU6IDJweCBzb2xpZCBjb2xvcihsaW5rLWxpZ2h0KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuQG1peGluIG5vLWZvY3VzLW91dGxpbmUoKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU3RhdGUgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQW55dGhpbmcgZm9jdXNlZCB3aGVuIGpzIGlzIGVuYWJsZWRcbi8vIHNob3VsZCB1c2UgdGhlIGFib3ZlIG1lY2hhbmlzbSB0byBhcHBseSBmb2N1cyBzdGF0ZVxuOmZvY3VzIHtcbiAgLmpzLWVuYWJsZWQgJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLyAuaC1oaWRlLS1uby1qc1xuLmgtaGlkZS0tbm8tanMge1xuICAuanMtZGlzYWJsZWQgJiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICB9XG59XG5cbi8vIC5oLWhpZGUtLWpzXG4uaC1oaWRlLS1qcyB7XG4gIC5qcy1lbmFibGVkICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyAuaC1oaWRlLS1qcy0tcGFnZS1uYXJyb3dcbiAgJi0tcGFnZS1uYXJyb3cge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2UtYmVsb3ctd2lkZSkge1xuICAgICAgLmpzLWVuYWJsZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gVHlwb2dyYXBoaWMgSGVscGVyc1xuLy9cbi8vIFNpdGUgZGVmYXVsdCB0eXBvZ3JhcGh5IHN0eWxlcy5cbi8vICogc3JjL3Njc3MvYmFzZS9fZ2xvYmFsLnNjc3MgKHN0eWxlcylcbi8vICogc3JjL3Njc3MvYmFzZS9fdHlwZS5zY3NzIChzdHlsZXMpXG4vLyAqIHNyYy9zY3NzL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIChmb250cywgbW9kdWxhciBzY2FsZSlcbi8vICogc3JjL3RlbXBsYXRlcy9zdHlsZS1wYXR0ZXJucy90eXBvZ3JhcGh5L3R5cG9ncmFwaHkuaHRtbCAoZWxlbWVudHMpXG4vL1xuLy8gU2VlIGFsc286XG4vLyAqIHNyYy9zY3NzL2hlbHBlcnMvX3ByaW50LnNjc3MgKHByaW50IGhpZGluZyAmIHNob3dpbmcpXG4vLyAqIHNyYy9zY3NzL2hlbHBlcnMvX3N0YXRlLnNjc3MgKGZvY3VzIHN0YXRlcylcbi8vICogc3JjL3Njc3MvaGVscGVycy9fdHlwZS5zY3NzIChjdXN0b20gdHJlYXRtZW50cylcbi8vICogc3JjL3Njc3MvcHJpbnQvcHJpbnQuc2NzcyAoZ2VuZXJpYyBzdHlsZXMpXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFR5cG9ncmFwaGljIEhlbHBlciBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIHAtLWNvbnRlbnQge1xuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAxKTtcbiAgfVxufVxuXG5AbWl4aW4gcC0tY29udGVudC0tc21hbGwge1xuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAxKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gIH1cbn1cblxuQG1peGluIHAtLWNhcHRpb24tLXdpZGUoKSB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgLTEpO1xuICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICBsaW5lLWhlaWdodDogYnUoMik7XG59XG5cbkBtaXhpbiBwLS1zZWFyY2gtaW5wdXQoKSB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgbGluZS1oZWlnaHQ6IGJ1KDMuNzUpO1xuICBmb250LXdlaWdodDogMzAwO1xuXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0zMHB4LCA0KTtcbiAgICBsaW5lLWhlaWdodDogYnUoMy43NSk7XG4gIH1cbn1cblxuQG1peGluIHAtLXNsaWRlKCkge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAwKTtcblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAxKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMy4yNSk7XG5cbiAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNik7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCA2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg2KTsgLy8gZGVzaWduIGlzIHNvbWV0aW1lcyA1Ljc1XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgICAmLmItcHJvY2Vzcy1saXN0X19zdGVwLWlubmVyIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcC0tc2xpZGUtLXRkKCkge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMCk7XG4gIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG5cbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogY29sb3IodHlwZS1kaXNhYmxlZCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuXG4gICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcC0tc2xpZGUtLXRoKCkge1xuICBAaW5jbHVkZSBwLS1zbGlkZS0tdGQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBtaXhpbiBwLS1zbGlkZS0tdGgtLXRvcCgpIHtcbiAgQGluY2x1ZGUgcC0tc2xpZGUtLXRkO1xuICBsaW5lLWhlaWdodDogYnUoMi41KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1peGluIHAtLW5hdi0taW4tcGFnZS1waW5uZWQtdHJpZ2dlci10ZXh0KCkge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTVweCwgMCk7XG4gIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogY29sb3IodHlwZSk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHlwb2dyYXBoaWMgSGVscGVyIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFR5cG9ncmFwaHkgaGVscGVyc1xuLy9cbi8vIFRoZXNlIGFkZCB2YXJpYW5jZSB0byB0aGUgYmFzZSBlbGVtZW50c1xuLy9cbi8vIFN0eWxlZ3VpZGU6IDk5LjEuMVxuXG4uaC1hbmNob3Ige1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmgtYnJlYWsge1xuICAmLS1jb250ZW50LW5hcnJvdyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC1iZWxvdy13aWRlKSB7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgaHlwaGVuczogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLmgtZWxsaXBzaXMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gaDFcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaDEge1xuICAvLyAuaDEtLWhvbWVcbiAgJi0taG9tZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSg5KTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgOSk7XG4gICAgY29sb3I6IGNvbG9yKHR5cGUtYnJhbmQpO1xuICB9XG5cbiAgLy8gLmgxLS1saWdodFxuICAmLS1saWdodCB7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoNSk7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBjb2xvcjogY29sb3IodHlwZSk7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBoMlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oMiB7XG4gIC8vIC5oMi0tZ3VpZGVcbiAgJi0tZ3VpZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgfVxuXG4gIC8vIC5oMi0taG93LXRvLXVzZS10aGUtc2l0ZVxuICAmLS1ob3ctdG8tdXNlLXRoZS1zaXRlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLy8gLmgyLS1uYXYtZ3VpZGUtc2lkZWJhci0taGVhZGVyXG4gICYtLW5hdi1ndWlkZS1zaWRlYmFyLS1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXNlY29uZGFyeTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgLy8gLmgyLS1uYXYtZ3VpZGUtc2lkZWJhci0taGVhZGVyX19pbmRleG9mXG4gICAgJl9faW5kZXhvZiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJltjbGFzc149XCJoMi0tXCJdLFxuICAgICAgJltjbGFzcyo9XCIgaDItLVwiXSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXNlY29uZGFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAuaDItLW5hdi0taW4tcGFnZS1waW5uZWQtbGFiZWxcbiAgJi0tbmF2LS1pbi1wYWdlLXBpbm5lZC1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTVweCwgMCk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogY29sb3IodHlwZS1taWQpO1xuICB9XG5cbiAgLy8gLmgyLS1uZXh0LXN0ZXBzXG4gICYtLW5leHQtc3RlcHMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoOCk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDgpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSg3LjI1KTtcbiAgfVxuXG4gIC8vIC5oMi0tc2VhcmNoXG4gICYtLXNlYXJjaCB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLy8gLmgyLS1zbGlkZVxuICAmLS1zbGlkZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSg1KTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDQpO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gaDNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaDMge1xuICAvLyAuaDMtLWd1aWRlXG4gICYtLWd1aWRlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAvLyAuaDMtLWhlbHAtaXRlbVxuICAmLS1oZWxwLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzLjEyNSk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5oMy0tbmF2LWd1aWRlLXNpZGViYXItLXN1Yi1oZWFkZXJcbiAgJi0tbmF2LWd1aWRlLXNpZGViYXItLXN1Yi1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1zZWNvbmRhcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgJltjbGFzc149XCJoMy0tXCJdLFxuICAgICZbY2xhc3MqPVwiIGgzLS1cIl0ge1xuICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oMy0tcmVzb3VyY2VcbiAgJi0tcmVzb3VyY2Uge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNik7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAuaDMtLXJlc291cmNlLS1sYXJnZVxuICAmLS1yZXNvdXJjZS0tbGFyZ2Uge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLy8gLmgzLS1yZXN1bHRcbiAgJi0tcmVzdWx0IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAzKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAvLyAuaDMtLXJlc3VsdC0tZ3VpZGVcbiAgJi0tcmVzdWx0LS1ndWlkZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICB9XG5cbiAgLy8gLmgzLS1zdHJhdGVneVxuICAmLS1zdHJhdGVneSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg2KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg0LjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oMy0tdGV4dC1wcm9tb1xuICAvLyBVc2VkIGluIC5iLXRleHQtcHJvbW8gKGhvbWUpXG4gICYtLXRleHQtcHJvbW8ge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzLjc1KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLy8gLmgzLS11bmRlcnN0YW5kLXN1bW1hcnlcbiAgJi0tdW5kZXJzdGFuZC1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGg0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmg0IHtcbiAgLy8gY3VycmVudCB0YWIgaW4gU29ydCBndWlkZXMgbmF2XG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyAuaDQtLXN1Z2dlc3Rpb25zXG4gICYtLXN1Z2dlc3Rpb25zIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAwKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi42MjUpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAvLyAuaDQtLXVuZGVyc3RhbmQtbW9yZVxuICAmLS11bmRlcnN0YW5kLW1vcmUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IC8vIGFzIHBlciAuaDQsIGJ1dCB0byBhbGxvdyBoMyB1c2FnZVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gaDVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaDUge1xuICAvLyAuaDUtLXN1Z2dlc3Rpb25cbiAgJi0tc3VnZ2VzdGlvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgyKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMik7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oNS0tc3VnZ2VzdGlvbi0tbGFyZ2VcbiAgJi0tc3VnZ2VzdGlvbi0tbGFyZ2Uge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gYVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5hIHtcblxuICAvLyAuYS0taG92ZXJcbiAgJi0taG92ZXIge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIC8vIC5hLS1uby11bmRlcmxpbmVcbiAgJi0tbm8tdW5kZXJsaW5lIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIC8vIG5lc3RlZCBmYXV4IGxpbmtcbiAgICAgIC5hIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5hLS1uby11bmRlcmxpbmUtZXZlclxuICAmLS1uby11bmRlcmxpbmUtZXZlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAvLyBuZXN0ZWQgZmF1eCBsaW5rXG4gICAgICAuYSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5hLS1uby12aXNpdGVkXG4gICYtLW5vLXZpc2l0ZWQge1xuICAgICY6dmlzaXRlZCxcbiAgICAmOnZpc2l0ZWQgPiAuYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyAuYS0tYWN0aXZlLXBhZ2Utb3ItcGFyZW50XG4gIC8vIEFwcGx5IHRoZSB1bmxpbmtlZCB0ZXh0IGNvbG91ciBzY2hlbWVcbiAgJi0tYWN0aXZlLXBhZ2Utb3ItcGFyZW50IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyAuYS0tdW5kZXJsaW5lXG4gICYtLXVuZGVybGluZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudENvbG9yO1xuICB9XG5cbiAgLy8gLmEtLXZpc2l0ZWRcbiAgJi0tdmlzaXRlZCB7XG4gICAgY29sb3I6IGNvbG9yKGxpbmstdmlzaXRlZCk7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBwXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnAge1xuICAvLyAucC0tYWxlcnRcbiAgJi0tYWxlcnQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICB9XG5cbiAgLy8gLnAtLWJyYW5kXG4gICYtLWJyYW5kIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC00MHB4LCAxKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjI1KTtcbiAgICBmb250LXdlaWdodDogODAwO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyAucC0tYnJvd3NlLWFsbC1ndWlkZXNcbiAgJi0tYnJvd3NlLWFsbC1ndWlkZXMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMuODc1KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLy8gLnAtLWNhcHRpb25cbiAgJi0tY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIC0yKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICB9XG5cbiAgLy8gLnAtLWV4YW1wbGUtaG9tZS10aXRsZVxuICAmLS1leGFtcGxlLWhvbWUtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAvLyAucC0tZmlsdGVyXG4gICYtLWZpbHRlciB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgYSxcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgZGVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBjb2xvcjogY29sb3IodHlwZS1kaXNhYmxlZCk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gLnAtLWZpbHRlci1ub3RpY2VcbiAgJi0tZmlsdGVyLW5vdGljZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMyk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoNXB4LCAtMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi4yNSk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1mb290ZXJcbiAgJi0tZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAwKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuICB9XG5cbiAgLy8gLnAtLWZvb3Rlci1uYXZcbiAgJi0tZm9vdGVyLW5hdiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1ndWlkZS1saW5rXG4gICYtLWd1aWRlLWxpbmsge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1ndWlkZS1saW5rLS1mZWF0dXJlZC10YWxsXG4gICYtLWd1aWRlLWxpbmstLWZlYXR1cmVkLXRhbGwge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1pbmNsdWRlc1xuICAmLS1pbmNsdWRlcyB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyKTtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1pbnRyb1xuICAmLS1pbnRybyB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTsgLy8gYXBwbGllcyBsaW5lLWhlaWdodDogYnUoMy41KVxuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0zcHgsIDMpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSg0KTtcbiAgfVxuXG4gIC8vIC5wLS1pbnRyby0tZ3VpZGVcbiAgJi0taW50cm8tLWd1aWRlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIDIpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMuMjUpO1xuICB9XG5cbiAgLy8gLnAtLWludHJvLS1uZXh0LXN0ZXBzXG4gIC8vIC5wLS1yZXR1cm5cbiAgJi0taW50cm8tLW5leHQtc3RlcHMsXG4gICYtLXJldHVybiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1pbnRyby0tc29ycnlcbiAgJi0taW50cm8tLXNvcnJ5IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAyKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAvLyAucC0taW50cm8tLXN1YlxuICAvLyB1bmRlcnN0YW5kIHBhZ2VcbiAgJi0taW50cm8tLXN1YiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgyKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMik7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMy4yNSk7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuXG4gIC8vIC5wLS1pbnRyby0tc3ViLS1oZWF2eVxuICAmLS1pbnRyby0tc3ViLS1oZWF2eSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5wLS1pbnRyby0tc3VnZ2VzdGlvblxuICAmLS1pbnRyby0tc3VnZ2VzdGlvbiB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgJixcbiAgICAgICYuYi1jb250ZW50ID4gcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIDIpO1xuICAgICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMy4yNSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLnAtLWxhcmdlXG4gIC8vIC5wLS1sYXJnZS0taG9tZVxuICAvLyBEaXNwbGF5cyBsYXJnZSBvbiBjb250ZW50LXdpZGUtYW5kLXVwXG4gICYtLWxhcmdlLFxuICAmLS1sYXJnZS0taG9tZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTsgLy8gYXBwbGllcyBsaW5lLWhlaWdodDogYnUoMylcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTsgLy8gYXBwbGllcyBsaW5lLWhlaWdodDogYnUoMy41KVxuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAvLyAucC0tbmF2LWd1aWRlLXNpZGViYXJcbiAgJi0tbmF2LWd1aWRlLXNpZGViYXIge1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG5cbiAgICAvLyAucC0tbmF2LWd1aWRlLXNpZGViYXItLWJhY2tcbiAgICAmLS1iYWNrIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMyk7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIpO1xuICAgIH1cblxuICAgIC8vIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tbW5hdlxuICAgIC8vIENsb3NlLCBIb21lLCBBbGwgZ3VpZGVzXG4gICAgJi0tbW5hdiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTQwcHgsIDEpO1xuICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyLS1zdHJhdGVneVxuICAgIC8vIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tcmVzb3VyY2VzXG4gICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyLS11bmRlcnN0YW5kXG4gICAgJi0tc3RyYXRlZ3ksXG4gICAgJi0tcmVzb3VyY2VzLFxuICAgICYtLXVuZGVyc3RhbmQge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAvLyAucC0tbmF2LWd1aWRlLXNpZGViYXItLXN1Z2dlc3Rpb25cbiAgICAmLS1zdWdnZXN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMCk7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1uYXYtLWd1aWRlLS11aS1saW5rXG4gICYtLW5hdi0tZ3VpZGUtLXVpLWxpbmsge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTQwcHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIC8vIC5wLS1uYXYtLWluLXBhZ2VcbiAgJi0tbmF2LS1pbi1wYWdlIHtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTVweCwgMCk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi41KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLy8gLnAtLW5hdi0taW4tcGFnZS1waW5uZWRcbiAgJi0tbmF2LS1pbi1wYWdlLXBpbm5lZCB7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDApO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC8vIC5wLS1uYXYtLWluLXBhZ2UtcGlubmVkLXRyaWdnZXItdGV4dFxuICAmLS1uYXYtLWluLXBhZ2UtcGlubmVkLXRyaWdnZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcC0tbmF2LS1pbi1wYWdlLXBpbm5lZC10cmlnZ2VyLXRleHQ7XG4gIH1cblxuICAvLyAucC0tbmF2LXByaW1hcnlcbiAgJi0tbmF2LXByaW1hcnkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTQwcHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogY29sb3IodHlwZS1kYXJrKTtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgIH1cblxuICAgIGEsXG4gICAgYnV0dG9uIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1uYXYtc2xpZGVcbiAgJi0tbmF2LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAzKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIC8vIGxpbmUtaGVpZ2h0OiBidSgyLjI1KTsgLy8gY29ycmVjdCBidXQgY3JlYXRlcyBwb29yIHVuZGVybGluZSBwb3NpdGlvblxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAvLyAucC0tbmV4dC1zdGVwLS1saW5rXG4gICYtLW5leHQtc3RlcC0tbGluayB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogODAwO1xuXG4gICAgLy8gLnAtLW5leHQtc3RlcC0tbGluay0tbGlnaHRcbiAgICAmLS1saWdodCB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1ub3RlXG4gICYtLW5vdGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgfVxuXG4gIC8vIC5wLS1wb3B1bGFyLXNlYXJjaFxuICAmLS1wb3B1bGFyLXNlYXJjaCB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgMSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDYuMzUpOyAvLyBkZXNpZ24gaXMgOC41XG4gIH1cblxuICAvLyAucC0tcHJpbnRcbiAgJi0tcHJpbnQge1xuICAgIC8vIC5wLS1wcmludC0tbWV0YVxuICAgICYtLW1ldGEge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMyk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgLTMpO1xuICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW50LW1ldGEpO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMCBidSguNSk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogYnUoLjM3NSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbnQtbWV0YS11cmwtZmlsbCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBjb2xvcjogY29sb3IocHJpbnQtbWV0YS11cmwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLnAtLXF1b3RlXG4gICYtLXF1b3RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuXG4gIC8vIC5wLS1xdW90ZS1jaXRlXG4gICYtLXF1b3RlLWNpdGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTE1cHgsIDApO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIH1cblxuICAvLyAucC0tcXVvdGUtc291cmNlXG4gICYtLXF1b3RlLXNvdXJjZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMik7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIC0yKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuXG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1yZWFkLW1vcmVcbiAgJi0tcmVhZC1tb3JlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLy8gLnAtLXJlcGVhdHNcbiAgJi0tcmVwZWF0cyB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMik7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLy8gLnAtLXJlc291cmNlLWRlc2NyaXB0aW9uXG4gICYtLXJlc291cmNlLWRlc2NyaXB0aW9uIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAwKTtcbiAgfVxuXG4gIC8vIC5wLS1yZXNvdXJjZS1tZXRhXG4gICYtLXJlc291cmNlLW1ldGEge1xuXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLWNvc3RcbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tZmlsZS1zaXplXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXJlYWQtdGltZVxuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1wdWJsaXNoZXJcbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tcmVnaXN0cmF0aW9uXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXN1YnNjcmlwdGlvblxuICAgICYtLWNvc3QsXG4gICAgJi0tZmlsZS1zaXplLFxuICAgICYtLXB1Ymxpc2hlcixcbiAgICAmLS1yZWFkLXRpbWUsXG4gICAgJi0tcmVnaXN0cmF0aW9uLFxuICAgICYtLXN1YnNjcmlwdGlvbiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAtMSk7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuMTI1KTtcblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tY29zdFxuICAgICYtLWNvc3Qge1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1yZWFkLXRpbWVcbiAgICAmLS1yZWFkLXRpbWUge1xuICAgICAgc3Ryb25nIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXJlZ2lzdHJhdGlvblxuICAgICYtLXJlZ2lzdHJhdGlvbiB7XG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tZmlsZS1zaXplXG4gICAgJi0tZmlsZS1zaXplIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1jb3N0XG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXN1YnNjcmlwdGlvblxuICAgICYtLWNvc3QsXG4gICAgJi0tc3Vic2NyaXB0aW9uIHtcbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWJyYW5kKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tc2xpZGVcbiAgJi0tcmVzb3VyY2UtbWV0YS0tc2xpZGUge1xuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1zbGlkZS0tcmVhZC10aW1lXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXNsaWRlLS1wdWJsaXNoZXJcbiAgICAmLS1yZWFkLXRpbWUsXG4gICAgJi0tcHVibGlzaGVyIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIC0xKTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMi4xMjUpO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1yZXN1bHQtY2F0ZWdvcnlcbiAgJi0tcmVzdWx0LWNhdGVnb3J5IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0yKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygyNXB4LCAtMik7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLy8gLnAtLXJlc3VsdC1jb3VudFxuICAmLS1yZXN1bHQtY291bnQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMuODc1KTtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1yZXN1bHQtZGVzY3JpcHRpb25cbiAgJi0tcmVzdWx0LWRlc2NyaXB0aW9uIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5wLS1yZXN1bHQtbWF0Y2hcbiAgJi0tcmVzdWx0LW1hdGNoIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG5cbiAgLy8gLnAtLXJlc3VsdC1tZXRhXG4gICYtLXJlc3VsdC1tZXRhIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgLTEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIuMTI1KTtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXN1bHQtbWV0YS0tcmVhZC10aW1lXG4gICAgJi0tcmVhZC10aW1lIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjc1KTtcbiAgICB9XG4gIH1cblxuICAvLyAucC0tcmVzdWx0LW1vcmUtbGlua1xuICAmLS1yZXN1bHQtbW9yZS1saW5rIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuXG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyAucC0tcmVzdWx0LXNvbHV0aW9uXG4gICYtLXJlc3VsdC1zb2x1dGlvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDEpO1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyLjYyNSk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5wLS1yZXN1bHQtdGVhc2VyXG4gICYtLXJlc3VsdC10ZWFzZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAtMSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi41KTtcbiAgfVxuXG4gIC8vIC5wLS1zZWFyY2gtaW5wdXRcbiAgJi0tc2VhcmNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBwLS1zZWFyY2gtaW5wdXQ7XG4gIH1cblxuICAvLyAucC0tc2VlLWFsbC1ndWlkZXNcbiAgJi0tc2VlLWFsbC1ndWlkZXMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIC8vIC5wLS1zaG93LW1hdGVyaWFsLWZvclxuICAmLS1zaG93LW1hdGVyaWFsLWZvciB7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMS43NSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIC8vIC5wLS1zbGlkZVxuICAmLS1zbGlkZSB7XG4gICAgQGluY2x1ZGUgcC0tc2xpZGUoKTtcbiAgfVxuXG4gIC8vIC5wLS1zbGlkZS1zb3VyY2VcbiAgJi0tc2xpZGUtc291cmNlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgLTEpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDIpO1xuXG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS1zb3J0LWJ5XG4gICYtLXNvcnQtYnkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIC5wLS1zdHJhdGVneS1vdmVydmlld1xuICAmLS1zdHJhdGVneS1vdmVydmlldyB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAwKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gIH1cblxuICAvLyAucC0tc3VnZ2VzdGlvbi0tY3VycmVudC1wYWdlXG4gICYtLXN1Z2dlc3Rpb24tLWN1cnJlbnQtcGFnZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMSk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIC0xKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuICAgIG9wYWNpdHk6IC42O1xuICB9XG5cbiAgLy8gLnAtLXRhZ1xuICAmLS10YWcge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTMpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAtMyk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi41KTsgLy8gYWRqdXN0ZWRcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5wLS11bmRlcnN0YW5kXG4gICYtLXVuZGVyc3RhbmQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1lZGlhIFF1ZXJpZXMgKGV4Y2VwdCBtaXhpbnMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC1iZWxvdy13aWRlKSB7XG4gIC5wIHtcbiAgICAvLyAucC0tcmVzb3VyY2UtbWV0YVxuICAgICYtLXJlc291cmNlLW1ldGEge1xuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLWNvc3RcbiAgICAgICYtLWNvc3Qge1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMi41KTtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01cHgsIDIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1zdWJzY3JpcHRpb25cbiAgICAgICYtLXN1YnNjcmlwdGlvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBuYXJyb3dpc2hcbkBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgLmgxIHtcbiAgICAvLyAuaDEtLWhvbWVcbiAgICAmLS1ob21lIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMTQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTUwcHgsIDE0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgxMCk7XG4gICAgfVxuXG4gICAgLy8gLmgxLS1saWdodFxuICAgICYtLWxpZ2h0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg3Ljc1KTtcbiAgICB9XG4gIH1cblxuICAuaDIge1xuICAgIC8vIC5oMi0tbmF2LWd1aWRlLXNpZGViYXItLWhlYWRlclxuICAgICYtLW5hdi1ndWlkZS1zaWRlYmFyLS1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg1LjEyNSk7XG4gICAgfVxuXG4gICAgLy8gLmgyLS1zZWFyY2hcbiAgICAmLS1zZWFyY2gge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAvLyAuaDItLXNsaWRlXG4gICAgJi0tc2xpZGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg3KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA3KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg0LjUpO1xuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaDMge1xuICAgIC8vIC5oMy0tZ3VpZGVcbiAgICAmLS1ndWlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvLyAuaDMtLWhlbHAtaXRlbVxuICAgICYtLWhlbHAtaXRlbSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNzUpO1xuICAgIH1cblxuICAgIC8vIC5oMy0tbmF2LWd1aWRlLXNpZGViYXItLXN1Yi1oZWFkZXJcbiAgICAmLS1uYXYtZ3VpZGUtc2lkZWJhci0tc3ViLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgLTEpO1xuICAgIH1cblxuICAgIC8vIC5oMy0tcmVzb3VyY2UtLWxhcmdlXG4gICAgJi0tcmVzb3VyY2UtLWxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoNCk7XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDgpO1xuICAgICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSg2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuaDMtLXJlc3VsdFxuICAgICYtLXJlc3VsdCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQpO1xuICAgIH1cblxuICAgIC8vIC5oMy0tcmVzdWx0LS1ndWlkZVxuICAgICYtLXJlc3VsdC0tZ3VpZGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg2KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcbiAgICB9XG5cbiAgICAvLyAuaDMtLXRleHQtcHJvbW9cbiAgICAvLyBVc2VkIGluIC5iLXRleHQtcHJvbW8gKGhvbWUpXG4gICAgJi0tdGV4dC1wcm9tbyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNzUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAuaDQge1xuICAgIC8vIC5oNC0tc3VnZ2VzdGlvbnNcbiAgICAmLS1zdWdnZXN0aW9ucyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNzUpO1xuICAgIH1cblxuICAgIC8vIC5oNC0tdW5kZXJzdGFuZC1tb3JlXG4gICAgJi0tdW5kZXJzdGFuZC1tb3JlIHtcbiAgICAgIC8vIGFzIHBlciByZWd1bGFyIC5oNDpcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuICB9XG5cbiAgLmg1IHtcbiAgICAvLyAuaDUtLXN1Z2dlc3Rpb25cbiAgICAmLS1zdWdnZXN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuXG4gICAgLy8gLmg1LS1zdWdnZXN0aW9uLS1sYXJnZVxuICAgICYtLXN1Z2dlc3Rpb24tLWxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuICB9XG5cbiAgLnAge1xuICAgIC8vIC5wLS1hbGVydFxuICAgICYtLWFsZXJ0IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCAxKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICB9XG5cbiAgICAvLyAucC0tYnJhbmRcbiAgICAmLS1icmFuZCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDUpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTQwcHgsIDUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1icm93c2UtYWxsLWd1aWRlc1xuICAgICYtLWJyb3dzZS1hbGwtZ3VpZGVzIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMy44NzUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1leGFtcGxlLWhvbWUtdGl0bGVcbiAgICAmLS1leGFtcGxlLWhvbWUtdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg0KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjc1KTtcbiAgICB9XG5cbiAgICAvLyAucC0tZmlsdGVyXG4gICAgJi0tZmlsdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuXG4gICAgLy8gLnAtLWZpbHRlci1ub3RpY2VcbiAgICAmLS1maWx0ZXItbm90aWNlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTIpOyAvLyBndWlkZSBuYXZcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKDVweCwgLTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIpO1xuICAgIH1cblxuICAgIC8vIC5wLS1mb290ZXJcbiAgICAmLS1mb290ZXIge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg0KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAucC0tZm9vdGVyLW5hdlxuICAgICYtLWZvb3Rlci1uYXYge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAzKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICB9XG5cbiAgICAvLyAucC0tZ3VpZGVcbiAgICAmLS1ndWlkZSB7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNzUpO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvLyAucC0tZ3VpZGUtLWZlYXR1cmVkLXRhbGxcbiAgICAmLS1ndWlkZS0tZmVhdHVyZWQtdGFsbCB7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNSk7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cblxuICAgIC8vIC5wLS1ndWlkZS1saW5rLS1mZWF0dXJlZC10YWxsXG4gICAgJi0tZ3VpZGUtbGluay0tZmVhdHVyZWQtdGFsbCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAtMSk7XG4gICAgfVxuXG4gICAgLy8gLnAtLWd1aWRlLWxpc3RpbmdcbiAgICAmLS1ndWlkZS1saXN0aW5nIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMTBweCwgMSk7XG4gICAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNzUpO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjEyNSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLWludHJvXG4gICAgJi0taW50cm8ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgzKTsgLy9hcHBsaWVzIGxpbmUtaGVpZ2h0OiBidSgzLjUpXG4gICAgICBsaW5lLWhlaWdodDogYnUoNC41KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLy8gLnAtLWludHJvLS1ndWlkZVxuICAgICYtLWludHJvLS1ndWlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTE1cHgsIDQpO1xuICAgIH1cblxuICAgIC8vIC5wLS1pbnRyby0tc29ycnlcbiAgICAmLS1pbnRyby0tc29ycnkge1xuICAgICAgLmItbW9kYWwtanMtLXNlYXJjaCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg2KTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTM1cHgsIDYpO1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLWludHJvLS1zdWJcbiAgICAvLyB1bmRlcnN0YW5kIHBhZ2VcbiAgICAmLS1pbnRyby0tc3ViIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNXB4LCA0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSg0KTtcbiAgICB9XG5cbiAgICAvLyAucC0taW50cm8tLXN1Yi0taGVhdnlcbiAgICAmLS1pbnRyby0tc3ViLS1oZWF2eSB7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuXG4gICAgLy8gLnAtLWludHJvLS1zdWdnZXN0aW9uXG4gICAgJi0taW50cm8tLXN1Z2dlc3Rpb24ge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAmLFxuICAgICAgICAmLmItY29udGVudCA+IHAge1xuICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAyKTtcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBidSg1Ljc1KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLWxhcmdlXG4gICAgLy8gLnAtLWxhcmdlLS1ob21lXG4gICAgLy8gRGlzcGxheXMgbGFyZ2Ugb24gY29udGVudC13aWRlLWFuZC11cFxuICAgICYtLWxhcmdlLFxuICAgICYtLWxhcmdlLS1ob21lIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7IC8vIGFwcGxpZXMgbGluZS1oZWlnaHQ6IGJ1KDMuNSlcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcblxuICAgICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLWxhcmdlLS1ob21lXG4gICAgLy8gRGlzcGxheXMgbGFyZ2Ugb24gY29udGVudC13aWRlLWFuZC11cFxuICAgICYtLWxhcmdlLS1ob21lIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7IC8vIGFwcGxpZXMgbGluZS1oZWlnaHQ6IGJ1KDMuNSlcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjI1KTsgLy8gcmVkdWNlZCBsaW5lIGhlaWdodFxuXG4gICAgICBhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuMjUpOyAvLyByZWR1Y2VkIGxpbmUgaGVpZ2h0XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyXG4gICAgJi0tbmF2LWd1aWRlLXNpZGViYXIge1xuICAgICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyLS1zdHJhdGVneVxuICAgICAgLy8gLnAtLW5hdi1ndWlkZS1zaWRlYmFyLS1yZXNvdXJjZXNcbiAgICAgIC8vIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tdW5kZXJzdGFuZFxuICAgICAgJi0tc3RyYXRlZ3ksXG4gICAgICAmLS1yZXNvdXJjZXMsXG4gICAgICAmLS11bmRlcnN0YW5kIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgyKTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG4gICAgICB9XG5cbiAgICAgIC8vIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tc3VnZ2VzdGlvblxuICAgICAgJi0tc3VnZ2VzdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMSk7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIuNzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5wLS1uYXYtLWluLXBhZ2VcbiAgICAmLS1uYXYtLWluLXBhZ2Uge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xNXB4LCAxKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1uYXYtcHJpbWFyeVxuICAgICYtLW5hdi1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNSk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNDBweCwgNSk7XG4gICAgfVxuXG4gICAgLy8gLnAtLW5leHQtc3RlcC0tbGlua1xuICAgICYtLW5leHQtc3RlcC0tbGluayB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICAgIH1cblxuICAgIC8vIC5wLS1ub3RlXG4gICAgJi0tbm90ZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIH1cblxuICAgIC8vIC5wLS1wb3B1bGFyLXNlYXJjaFxuICAgICYtLXBvcHVsYXItc2VhcmNoIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMyk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoNik7IC8vIGRlc2lnbiBpcyA4LjVcbiAgICB9XG5cbiAgICAvLyAucC0tcXVvdGVcbiAgICAmLS1xdW90ZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNjI1KTtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNSk7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA3KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5wLS1xdW90ZS1jaXRlXG4gICAgJi0tcXVvdGUtY2l0ZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDAuNzUpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTE1cHgsIDEpO1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNSk7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xNXB4LCA3KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLXF1b3RlLXNvdXJjZVxuICAgICYtLXF1b3RlLXNvdXJjZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0yKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAtMik7XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjI1KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAucC0tcmVwZWF0c1xuICAgICYtLXJlcGVhdHMge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhXG4gICAgJi0tcmVzb3VyY2UtbWV0YSB7XG5cbiAgICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1jb3N0XG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tZmlsZS1zaXplXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tcmVhZC10aW1lXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tcHVibGlzaGVyXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tcmVnaXN0cmF0aW9uXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tc3Vic2NyaXB0aW9uXG4gICAgICAmLS1jb3N0LFxuICAgICAgJi0tZmlsZS1zaXplLFxuICAgICAgJi0tcHVibGlzaGVyLFxuICAgICAgJi0tcmVhZC10aW1lLFxuICAgICAgJi0tcmVnaXN0cmF0aW9uLFxuICAgICAgJi0tc3Vic2NyaXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDApO1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0xMHB4LCAyKTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tY29zdFxuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXN1YnNjcmlwdGlvblxuICAgICAgJi0tY29zdCxcbiAgICAgICYtLXN1YnNjcmlwdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyAucC0tcmVzb3VyY2UtbWV0YS0tZmlsZS1zaXplXG4gICAgICAmLS1maWxlLXNpemUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0yKTtcbiAgICAgIH1cblxuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXB1Ymxpc2hlclxuICAgICAgJi0tcHVibGlzaGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMik7XG4gICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAtMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjEyNSk7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0yKTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXJlYWQtdGltZVxuICAgICAgJi0tcmVhZC10aW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDApO1xuICAgICAgICBsaW5lLWhlaWdodDogYnUoMi43NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXNsaWRlXG4gICAgJi0tcmVzb3VyY2UtbWV0YS0tc2xpZGUge1xuICAgICAgLy8gLnAtLXJlc291cmNlLW1ldGEtLXNsaWRlLS1yZWFkLXRpbWVcbiAgICAgIC8vIC5wLS1yZXNvdXJjZS1tZXRhLS1zbGlkZS0tcHVibGlzaGVyXG4gICAgICAmLS1yZWFkLXRpbWUsXG4gICAgICAmLS1wdWJsaXNoZXIge1xuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgICAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAyKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogYnUoMy44NzUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnAtLXJlc3VsdC1jYXRlZ29yeVxuICAgICYtLXJlc3VsdC1jYXRlZ29yeSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKDI1cHgsIC0xKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICB9XG5cbiAgICAvLyAucC0tcmVzdWx0LWNvdW50XG4gICAgJi0tcmVzdWx0LWNvdW50IHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMik7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMy44NzUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXN1bHQtZGVzY3JpcHRpb25cbiAgICAmLS1yZXN1bHQtZGVzY3JpcHRpb24ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAwKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuXG4gICAgLy8gLnAtLXJlc3VsdC1zb2x1dGlvblxuICAgICYtLXJlc3VsdC1zb2x1dGlvbiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDApO1xuICAgIH1cblxuICAgIC8vIC5wLS1yZXN1bHQtdGVhc2VyXG4gICAgJi0tcmVzdWx0LXRlYXNlciB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTVweCwgMSk7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgfVxuXG4gICAgLy8gLnAtLXNlZS1hbGwtZ3VpZGVzXG4gICAgJi0tc2VlLWFsbC1ndWlkZXMge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg0KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxKTtcbiAgICB9XG5cbiAgICAvLyAucC0tc2hvdy1tYXRlcmlhbC1mb3JcbiAgICAmLS1zaG93LW1hdGVyaWFsLWZvciB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDEpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDEuNzUpO1xuICAgIH1cblxuICAgIC8vIC5wLS1zbGlkZS1zb3VyY2VcbiAgICAmLS1zbGlkZS1zb3VyY2Uge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMyk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgLTMpO1xuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgyKTtcbiAgICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5wLS1zdHJhdGVneS1vdmVydmlld1xuICAgICYtLXN0cmF0ZWd5LW92ZXJ2aWV3IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgyLjYyNSk7XG4gICAgfVxuXG4gICAgLy8gLnAtLXVuZGVyc3RhbmRcbiAgICAmLS11bmRlcnN0YW5kIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNCk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXdpZGUtYW5kLXVwKSB7XG4gIC5oMSB7XG4gICAgLy8gLmgxLS1ob21lXG4gICAgJi0taG9tZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDE2KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC01MHB4LCAxNik7XG4gICAgICBsaW5lLWhlaWdodDogYnUoMTIpO1xuICAgIH1cbiAgfVxuXG4gIC5wIHtcbiAgICAvLyAucC0taW50cm9cbiAgICAmLS1pbnRybyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDQpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQuNSk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC13aWRlaXNoLWFuZC11cCkge1xuICAuaDIge1xuICAgIC8vIC5oMi0tZ3VpZGVcbiAgICAmLS1ndWlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDcpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDcpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1iZXR3ZWVuLXdpZGVpc2gtYW5kLXdpZGUpIHtcbiAgLmgyIHtcbiAgICAvLyAuaDItLWd1aWRlXG4gICAgJi0tZ3VpZGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg2KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjkpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC1iZXR3ZWVuLW5hcnJvd2lzaC1hbmQtd2lkZWlzaCkge1xuICAuaDIge1xuICAgIC8vIC5oMi0tZ3VpZGVcbiAgICAmLS1ndWlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDUpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDUpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQuMSk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLWJldHdlZW4tNTAwLWFuZC1uYXJyb3dpc2gpIHtcbiAgLmgyIHtcbiAgICAvLyAuaDItLWd1aWRlXG4gICAgJi0tZ3VpZGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSg0KTtcbiAgICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjcpO1xuICAgIH1cbiAgfVxuXG4gIC5wIHtcbiAgICAvLyAucC0tZmlsdGVyXG4gICAgJi0tZmlsdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMik7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLWJldHdlZW4tbmFycm93aXNoLWFuZC1mdWxsKSB7XG4gIC8vIC5oMi0tc2xpZGVcbiAgLmgyIHtcbiAgICAmLS1zbGlkZSB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDUpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDUpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgkZy1icC13aWRlLWFuZC11cCkge1xuICAuaDEge1xuICAgIC8vIC5oMS0taG9tZVxuICAgICYtLWhvbWUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgxNSk7XG4gICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtNTBweCwgMTUpO1xuICAgIH1cbiAgfVxufVxuIiwiJGVtLXNwYWNlci01OiAwLjVyZW07XG4kZW0tc3BhY2VyLTY6IDAuNnJlbTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiRib2R5LWZvbnQ6IE1vbnRzZXJyYXQsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJHRvb2x0aXAtdGV4dC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiRib3JkZXItcmFkaXVzOiA0cHg7XG4kYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiR0b29sdGlwLWR1cmF0aW9uOiAyMDA7XG4kdG9vbHRpcC1kZWxheTogMDtcbiRzcGFjZXItMzogMC4zcmVtO1xuXG4udG9vbHRpcHBlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gVGhpcyBpcyB0aGUgdG9vbHRpcCBidWJibGVcbi50b29sdGlwcGVkOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJGVtLXNwYWNlci01ICRlbS1zcGFjZXItNjtcbiAgZm9udDogbm9ybWFsIG5vcm1hbCAxMXB4LzEuNSAkYm9keS1mb250O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgY29sb3I6ICR0b29sdGlwLXRleHQtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IGF0dHIoYXJpYS1sYWJlbCk7XG4gIGJhY2tncm91bmQ6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLyBUaGlzIGlzIHRoZSB0b29sdGlwIGFycm93XG4udG9vbHRpcHBlZDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwMDAxO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBjb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlcjogNnB4ICRib3JkZXItc3R5bGUgdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vIGRlbGF5IGFuaW1hdGlvbiBmb3IgdG9vbHRpcFxuQGtleWZyYW1lcyB0b29sdGlwLWFwcGVhciB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBUaGlzIHdpbGwgaW5kaWNhdGUgd2hlbiB3ZSdsbCBhY3RpdmF0ZSB0aGUgdG9vbHRpcFxuLnRvb2x0aXBwZWQ6aG92ZXIsXG4udG9vbHRpcHBlZDphY3RpdmUsXG4udG9vbHRpcHBlZDpmb2N1cyB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHRvb2x0aXAtYXBwZWFyO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJHRvb2x0aXAtZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tZGVsYXk6ICR0b29sdGlwLWRlbGF5O1xuICB9XG59XG5cbi50b29sdGlwcGVkLW5vLWRlbGF5OmhvdmVyLFxuLnRvb2x0aXBwZWQtbm8tZGVsYXk6YWN0aXZlLFxuLnRvb2x0aXBwZWQtbm8tZGVsYXk6Zm9jdXMge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICB9XG59XG5cbi50b29sdGlwcGVkLW11bHRpbGluZTpob3Zlcixcbi50b29sdGlwcGVkLW11bHRpbGluZTphY3RpdmUsXG4udG9vbHRpcHBlZC1tdWx0aWxpbmU6Zm9jdXMge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgfVxufVxuXG4vLyBUb29sdGlwcGVkIHNvdXRoXG4udG9vbHRpcHBlZC1zLFxuLnRvb2x0aXBwZWQtc2UsXG4udG9vbHRpcHBlZC1zdyB7XG4gICY6OmFmdGVyIHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogYXV0bztcbiAgICByaWdodDogNTAlO1xuICAgIGJvdHRvbTogLTdweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC02cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4udG9vbHRpcHBlZC1zZSB7XG4gICY6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kc3BhY2VyLTM7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtc3c6OmFmdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJHNwYWNlci0zO1xufVxuXG4vLyBUb29sdGlwcyBhYm92ZSB0aGUgb2JqZWN0XG4udG9vbHRpcHBlZC1uLFxuLnRvb2x0aXBwZWQtbmUsXG4udG9vbHRpcHBlZC1udyB7XG4gICY6OmFmdGVyIHtcbiAgICByaWdodDogNTAlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogLTdweDtcbiAgICByaWdodDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IC02cHg7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4udG9vbHRpcHBlZC1uZSB7XG4gICY6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kc3BhY2VyLTM7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtbnc6OmFmdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJHNwYWNlci0zO1xufVxuXG4vLyBNb3ZlIHRoZSB0b29sdGlwIGJvZHkgdG8gdGhlIGNlbnRlciBvZiB0aGUgb2JqZWN0LlxuLnRvb2x0aXBwZWQtczo6YWZ0ZXIsXG4udG9vbHRpcHBlZC1uOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xufVxuXG4vLyBUb29sdGlwcGVkIHRvIHRoZSBsZWZ0XG4udG9vbHRpcHBlZC13IHtcbiAgJjo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IDUwJTtcbiAgICBsZWZ0OiAtN3B4O1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIH1cbn1cblxuLy8gdG9vbHRpcHBlZCB0byB0aGUgcmlnaHRcbi50b29sdGlwcGVkLWUge1xuICAmOjphZnRlciB7XG4gICAgYm90dG9tOiA1MCU7XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogLTdweDtcbiAgICBib3R0b206IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4vLyBUb29sdGlwIGFsaWduIHJpZ2h0IGFuZCBsZWZ0XG4udG9vbHRpcHBlZC1hbGlnbi1yaWdodC0xLFxuLnRvb2x0aXBwZWQtYWxpZ24tcmlnaHQtMiB7XG4gICY6OmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtYWxpZ24tcmlnaHQtMSB7XG4gICY6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDEwcHg7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtYWxpZ24tcmlnaHQtMiB7XG4gICY6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDE1cHg7XG4gIH1cbn1cblxuLnRvb2x0aXBwZWQtYWxpZ24tbGVmdC0xLFxuLnRvb2x0aXBwZWQtYWxpZ24tbGVmdC0yLCB7XG4gICY6OmFmdGVyIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi50b29sdGlwcGVkLWFsaWduLWxlZnQtMSB7XG4gICY6OmJlZm9yZSB7XG4gICAgbGVmdDogNXB4O1xuICB9XG59XG5cbi50b29sdGlwcGVkLWFsaWduLWxlZnQtMiB7XG4gICY6OmJlZm9yZSB7XG4gICAgbGVmdDogMTBweDtcbiAgfVxufVxuXG4vLyBTdGlja3kgdG9vbHRpcHNcbi8vXG4vLyBBbHdheXMgc2hvdyB0aGUgdG9vbHRpcC5cbi50b29sdGlwcGVkLXN0aWNreSB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHRvb2x0aXAtYXBwZWFyO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJHRvb2x0aXAtZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tZGVsYXk6ICR0b29sdGlwLWRlbGF5O1xuICB9XG5cbiAgJi50b29sdGlwcGVkLW11bHRpbGluZSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBCYXNlIEdsb2JhbCBTdHlsZXNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbmh0bWwge1xuICBmb250LXNpemU6ICRnLWZvbnQtYmFzZTtcbn1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogYnUoMik7XG4gIGxpbmUtaGVpZ2h0OiAkZy1saW5lLWhlaWdodDtcbn1cblxuaHRtbCxcbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuXG4gICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbn1cblxuLnVwcGVyLWZvb3RlciB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xufVxuXG4uZm9vdGVyLWxvZ29zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgZ2FwOiA0cmVtO1xuICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAmX19jb250YWluZXIge1xuICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tb2UtbG9nbyB7XG4gICAgdHJhbnNpdGlvbjogdW5zZXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgIHN2ZyB7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gQmFzZSBUeXBvZ3JhcGhpYyBTdHlsZXNcbi8vIFxuLy8gU2VlIGFsc28gLi4vaGVscGVycy9fdHlwZS5zY3NzXG4vLyBTZWUgYWxzbyAuLi92YXJpYWJsZXMvX3R5cG9ncmFwaHkuc2Nzc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gQXMgLnNhc3MtbGludC55bWwgcHJvaGliaXRzIHRoZSB1c2Ugb2YgQGV4dGVuZFxuLy8gdGhlc2UgcmF3IEhUTUwgZWxlbWVudHMgYXJlIGFsaWFzZWRcbi8vIHRvIG1hdGNoaW5nIGNsYXNzbmFtZXMuXG5cbmJvZHkge1xuICBmb250LWZhbWlseTogJGctZm9udC1zZWNvbmRhcnk7XG4gIGNvbG9yOiBjb2xvcih0eXBlKTtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhlc1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLy8gc2Fzcy1saW50OmVuYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcbn1cblxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbi5oMSxcbi5oMixcbi5oMyxcbi5oNCxcbi5oNSxcbi5oNixcbltjbGFzc149XCJoMS0tXCJdLFxuW2NsYXNzKj1cIiBoMS0tXCJdLFxuW2NsYXNzXj1cImgyLS1cIl0sXG5bY2xhc3MqPVwiIGgyLS1cIl0sXG5bY2xhc3NePVwiaDMtLVwiXSxcbltjbGFzcyo9XCIgaDMtLVwiXSxcbltjbGFzc149XCJoNC0tXCJdLFxuW2NsYXNzKj1cIiBoNC0tXCJdLFxuW2NsYXNzXj1cImg1LS1cIl0sXG5bY2xhc3MqPVwiIGg1LS1cIl0sXG5bY2xhc3NePVwiaDYtLVwiXSxcbltjbGFzcyo9XCIgaDYtLVwiXSB7XG4gIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbi5oMSxcbi5oMixcbi5oMyxcbi5oNCxcbi5oNSxcbi5oNiB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGNvbG9yOiBjb2xvcih0eXBlKTtcbn1cblxuaDEge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDgpO1xuICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgOCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMTEpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCAxMSk7XG4gICAgbWFyZ2luOiAwIDAgYnUoNik7XG4gIH1cbn1cblxuLmgxIHtcbiAgQGluY2x1ZGUgZm9udC1zY2FsZSg2KTtcbiAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDYpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDExKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMTEpO1xuICAgIG1hcmdpbjogMCAwIGJ1KDYpO1xuICB9XG59XG5cbmgyLFxuLmgyIHtcbiAgQGluY2x1ZGUgZm9udC1zY2FsZSg2KTtcbiAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDYpO1xuICBtYXJnaW46IGJ1KDUuOSkgMCBidSgzLjYpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDgpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA4KTtcbiAgfVxufVxuXG5oMyxcbi5oMyB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDgpO1xuICAgIEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKC0yNXB4LCA4KTtcbiAgfVxufVxuXG5oNCxcbi5oNCB7XG4gIEBpbmNsdWRlIGZvbnQtc2NhbGUoMyk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDQpO1xuICB9XG59XG5cbmg1LFxuLmg1IHtcbiAgQGluY2x1ZGUgZm9udC1zY2FsZSgyKTtcbiAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTVweCwgMik7XG4gIG1hcmdpbjogYnUoMy41KSAwIGJ1KDIuMyk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbmg2LFxuLmg2IHtcbiAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgbWFyZ2luOiBidSg1KSAwIGJ1KDMpO1xuICBsaW5lLWhlaWdodDogYnUoMy41KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbnAsXG4ucCB7XG4gIGEge1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxufVxuXG5hLFxuLmEge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBjb2xvcihsaW5rKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgLjJzIGVhc2UsIGNvbG9yIC4ycyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgfVxufVxuXG5hIHtcbiAgJjp2aXNpdGVkIHtcbiAgICAmLFxuICAgICYgPiAuYSxcbiAgICAmIG1hcmsge1xuICAgICAgY29sb3I6IGNvbG9yKGxpbmstdmlzaXRlZCk7XG4gICAgfVxuICB9XG59XG5cbmhyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvcih0eXBlKTtcbiAgbWFyZ2luOiBidSgxKSAwO1xufVxuXG5hLFxuYnV0dG9uLFxuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCxcblt0YWJJbmRleCo9XCJcIl0ge1xuICBAaW5jbHVkZSBoLWZvY3VzYWJsZTtcbn1cblxubWFyayB7XG4gIC8vIG92ZXJyaWRlIG5vcm1hbGlzZS5jc3NcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IobWFyayk7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIEJhc2UgSW1hZ2UgU3R5bGVzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8vIHBpY3R1cmUge1xuLy9cbi8vIH1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBCYXNlIEZvcm0gU3R5bGVzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBUaGUgbGlzdCBiZWxvdyBjb3ZlcnMgYWxsIHBvc3NpYmxlIGlucHV0IHR5cGVzIGFuZCB0aGVpciBzZWxlY3RvcnMuIFRoZXNlXG4vLyBjYW4gYmUgY2hlcnJ5IHBpY2tlZCB0byBleHRlbmQgZGVmYXVsdCBmb3JtIHN0eWxlcy5cbi8vIGJ1dHRvbixcbi8vIHRleHRhcmVhLFxuLy8gaW5wdXRbdHlwZT1jaGVja2JveFwiXSxcbi8vIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbi8vIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLy8gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLy8gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLy8gaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4vLyBpbnB1dFt0eXBlPVwiaGlkZGVuXCJdLFxuLy8gaW5wdXRbdHlwZT1cImltYWdlXCJdLFxuLy8gaW5wdXRbdHlwZT1cImxpc3RcIl0sXG4vLyBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4vLyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLy8gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLy8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLy8gaW5wdXRbdHlwZT1cInJhbmdlXCJdLFxuLy8gaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi8vIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4vLyBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLy8gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4vLyBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi8vIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4vLyBpbnB1dFt0eXBlPVwid2Vla1wiXVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBGb3JtIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBpbnB1dCB0eXBlcyB0aGF0IHJlcXVpcmUga2V5Ym9hcmQgaW5wdXRcbiRmb3JtLWlucHV0LXRleHQ6IFwiaW5wdXRbdHlwZT0ndGV4dCddLGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10saW5wdXRbdHlwZT0nc2VhcmNoJ10saW5wdXRbdHlwZT0nZW1haWwnXSxpbnB1dFt0eXBlPSdudW1iZXInXSxpbnB1dFt0eXBlPSd0ZWwnXSxpbnB1dFt0eXBlPSd1cmwnXSxpbnB1dFt0eXBlXj0nZGF0ZSddLGlucHV0W3R5cGU9J21vbnRoJ10saW5wdXRbdHlwZT0nd2VlayddLGlucHV0W3R5cGU9J3RpbWUnXVwiO1xuXG4vLyBJbnB1dCB0eXBlcyB0aGF0IGNvbW1vbmx5IGFwcGVhciBhcyBidXR0b25zXG4kZm9ybS1pbnB1dC1idXR0b25zOiBcImlucHV0W3R5cGU9J3N1Ym1pdCddLGlucHV0W3R5cGU9J3Jlc2V0J10saW5wdXRbdHlwZT0nYnV0dG9uJ11cIjtcblxuLy8gSW5wdXQgdHlwZXMgZ3JvdXBlZCBieSBhbGwgdHlwZXMgYnV0IE5PVCBjaGVja2JveCBvciByYWRpby5cbiRmb3JtLWlucHV0LW5vdC1yYWRpby1ub3QtY2hlY2tib3g6XG5cImlucHV0Om5vdChbdHlwZT1cInJhZGlvXCJdKTpub3QoW3R5cGU9XCJjaGVja2JveFwiXSlcIjtcblxuI3skZm9ybS1pbnB1dC1ub3QtcmFkaW8tbm90LWNoZWNrYm94fSB7XG4gIG1hcmdpbi1ib3R0b206IGJ1KDEpO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRGVmYXVsdCBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG5cbiAgLmZpZWxkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDAgMCBidSg0KTtcbiAgfVxufVxuXG4jeyRmb3JtLWlucHV0LXRleHR9LFxudGV4dGFyZWEge1xuICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgMSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogYnUoMS41KSBidSgyKTtcbiAgYm9yZGVyOiAxcHggc29saWQgY29sb3IodHlwZSk7XG4gIC8vIGxpbmUtaGVpZ2h0OiBidSgzLjc1KTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6IGRhcmtlbihjb2xvcih0eXBlKSwgNTAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuXG4jeyRmb3JtLWlucHV0LWJ1dHRvbnN9LFxuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogYnUoMikgYnUoMyk7XG4gIGNvbG9yOiBkYXJrZW4oY29sb3IodHlwZSksIDUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLy8gYXBwZWFyYW5jZTogdGV4dGZpZWxkOyBEUzogd2FzIGluIGR1cGxpY2F0ZSBwcmVjZWRpbmcgcnVsZVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGaWVsZCBTcGVjaWZpYyBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4vLyB9XG5cbi8vIGlucHV0W3R5cGU9XCJjb2xvclwiXSB7XG4vLyB9XG5cbi8vIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbi8vIH1cblxuLy8gaW5wdXRbdHlwZT1cImhpZGRlblwiXSB7XG4vLyB9XG5cbi8vIGlucHV0W3R5cGU9XCJpbWFnZVwiXSB7XG4vLyB9XG5cbi8vIGlucHV0W3R5cGU9XCJsaXN0XCJdIHtcbi8vIH1cblxuLy8gaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbi8vIH1cblxuLy8gaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbi8vIH1cblxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIEJhc2UgTGlzdCBTdHlsZXNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbnVsLFxub2wge1xuICBtYXJnaW46IGJ1KDEpIDAgYnUoMy43KTtcblxuICB1bCxcbiAgb2wge1xuICAgIG1hcmdpbjogYnUoLjUpIDAgMDtcbiAgfVxuXG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSguNSk7XG4gIH1cbn1cblxuLy8gRGVmaW5pdGlvbiBsaXN0cyBkZWZhdWx0IHN0eWxlc1xuZGwge1xuICBtYXJnaW46IGJ1KDIpIDA7XG5cbiAgZHQsXG4gIGRkIHtcbiAgICBtYXgtd2lkdGg6IGJ1KDIwKTtcbiAgfVxuXG4gIC8vIGR0IHt9XG5cbiAgZGQge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuICB9XG59XG5cbm9sIHtcbiAgbWFyZ2luLWJvdHRvbTogYnUoMy4yNSk7XG5cbiAgPiBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMS41KTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0LW51bWJlcmluZztcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC1udW1iZXJpbmcpIFwiLlwiO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgd2lkdGg6IGJ1KDMpO1xuICAgICAgaGVpZ2h0OiBidSgzKTtcbiAgICAgIG1hcmdpbjogMCBidSguNSkgMCBidSgtMy41KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjI1KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgPiBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzKTtcbiAgICB9XG4gIH1cbn1cblxudWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiBidSg0LjMpO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgPiBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDEpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogYnUoNC4zKTtcbiAgICAgIGhlaWdodDogYnUoMSk7XG4gICAgICBtYXJnaW4tbGVmdDogYnUoLTQuMyk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGctaW1hZ2UtcGF0aCArIFwiaWNvbnMvYnVsbGV0LnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MCUgMjUlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBtYXJnaW4tbGVmdDogYnUoNSk7XG5cbiAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBidSg0LjQpO1xuXG4gICAgICAmLmgtbGlzdC0tcmVzZXQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiBidSg1KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC01KTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDI1JTtcblxuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICB3aWR0aDogYnUoNC40KTtcbiAgICAgICAgICBoZWlnaHQ6IGJ1KDIuMik7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC00LjQpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwJSAyMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBCYXNlIFRhYmxlIFN0eWxlc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgPiB0aGVhZCB7XG4gICAgdGgge1xuICAgICAgQGluY2x1ZGUgcC0tc2xpZGUtLXRoLS10b3A7XG4gICAgICBwYWRkaW5nOiBidSgxLjkpIGJ1KDIuOCkgYnUoMS43KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtZGFyayk7XG4gICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgfVxuICB9XG5cbiAgPiB0Ym9keSB7XG4gICAgdGgge1xuICAgICAgQGluY2x1ZGUgcC0tc2xpZGUtLXRoO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodGVyKTtcbiAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWRhcmspO1xuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodGVzdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IHRoIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgQGluY2x1ZGUgcC0tc2xpZGUtLXRkO1xuICAgIH1cblxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6IGJ1KDIuNikgYnUoMi44KSBidSgyLjIpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IocnVsZS10aGluLWxpZ2h0ZXIpO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IocnVsZS10aGluLWxpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgIC8vIHJldmVhbCB0YWJsZSBib3JkZXJzXG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBMYXlvdXQgT3V0ZXIgQ29udGFpbmVyXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gVGhlc2Ugc3R5bGVzIHNldCB0aGUgb3V0ZXIgYm91bmRhcnkgZm9yIGEgY2VudGVyZWQgd2ViIHBhZ2VcblxuLy8gbWl4aW5zIGFsbG93cyBsYXlvdXQgdG8gYmUgYXBwbGllZCB0byBlbGVtZW50IHdoaWNoIGR5bmFtaWNhbGx5IHBpblxuQG1peGluIGwtb3V0ZXItY29udGFpbmVyKCRlbmFibGUtcGFkZGluZzogdHJ1ZSkge1xuXG4gIEBpZiAkZW5hYmxlLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDAgI3skZy1tYXJnaW4tbmFycm93fXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIEBpZiAkZW5hYmxlLXBhZGRpbmcge1xuICAgICAgcGFkZGluZzogMCAjeyRnLW1hcmdpbi13aWRlfXB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZXN0LWFuZC11cCkge1xuICAgIG1heC13aWR0aDogcmVtKCRnLW1hcmdpbi13aWRlc3QgKyAkZy13aWR0aC13aWRlc3QgKyAkZy1tYXJnaW4td2lkZXN0KTtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBpZiAkZW5hYmxlLXBhZGRpbmcge1xuICAgICAgcGFkZGluZzogMCAjeyRnLW1hcmdpbi13aWRlfXB4O1xuICAgIH1cbiAgfVxufVxuXG4ubC1vdXRlci1jb250YWluZXIge1xuICBAaW5jbHVkZSBsLW91dGVyLWNvbnRhaW5lcjtcbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBPdmVyZmxvdyBsaW5lclxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLmwtb3ZlcmZsb3ctbGluZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gQ2xhc3MgQmFzZWQgR3JpZCBMYXlvdXQgU3R5bGVzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBOb3RlIHRoZXNlIGFyZSB1c2VkIHRvIGxheW91dCBjb21wb25lbnRzIC8gYmxvY2tzIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgaW5zaWRlIHRoZVxuLy8gY29tcG9uZW50cyAvIGJsb2NrcyB0aGVtc2VsdmVzLlxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSb3cgRGVjbGFyYXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AdXNlIFwic2FzczpsaXN0XCI7XG5cbi5sLXJvdyB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCk7XG59XG5cbi5sLXJvdy0tY2VudGVyZWQge1xuICBAaW5jbHVkZSBncmlkLXJvdyhcImNlbnRlclwiKTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbHVtbiBEZWNsYXJhdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLW5hcnJvdy1hbmQtdXApIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZy1ncmlkLWNvbHVtbnMge1xuICAgIC5sLWdyaWQtbmFycm93LSN7JGl9b2YjeyRnLWdyaWQtY29sdW1uc30ge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4obGlzdC5zbGFzaCgkaSwgJGctZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCRnLWJwLXdpZGUtYW5kLXVwKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGctZ3JpZC1jb2x1bW5zIHtcbiAgICAubC1ncmlkLXdpZGUtI3skaX1vZiN7JGctZ3JpZC1jb2x1bW5zfSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbihsaXN0LnNsYXNoKCRpLCAkZy1ncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBDYWxjIEdyaWQgTWl4aW5zXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBDcmVhdGUgYSByb3cgLSBAaW5jbHVkZSBncmlkLXJvdygpO1xuLy8gQ3JlYXRlIGFuIGl0ZW0gLSBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gNCk7IG9wdGlvbmFsbHkgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDQsIDQwcHgpO1xuLy8gQ2FuIGFsc28gc3BlY2lmeSB0aGUganVzdGlmaWNhdGlvbiBpZiBmb3IgZXhhbXBsZSB5b3Ugd2FudCB0byBjZW50ZXIgdGhlIGNvbHVtbiBvbiBhIHBhZ2UuIGVnIEBpbmNsdWRlIGdyaWQtcm93KFwiY2VudGVyXCIpLlxuLy8gVG8gY3JlYXRlIGEgY29udGlub3VzIGxpc3Qgb2YgZ3JpZCBlbGVtZW50cyBpbiByb3dzIG9mIDMgbGF5ZWQgb3V0IGluIGEgZ3JpZFxuLy8gQ2FsbCB0aGUgd3JhcHBlciB1c2luZyAtIEBpbmNsdWRlIGdyaWQtcm93KFwiZmxleC1zdGFydFwiKTtcbi8vIFRoZW4gb24gdGhlIGNoaWxkcmVuIGNhbGwgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDMsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAzKTtcbi8vIFRoZSBudGggd3JhcHBlciBzZWxlY3RvciB3aWxsIGJlIG92ZXJpZGVuIGVhY2ggdGltZSB5b3UgY2FsbCB0aGlzIGF0IGRpZmZlcmVudCBicmVha3BvaW50cy5cblxuQG1peGluIGdyaWQtcm93KCRqdXN0aWZ5OiBcInNwYWNlLWJldHdlZW5cIikge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogI3skanVzdGlmeX07XG59XG5cbi8vICRndXR0ZXIgLSBncmlkIGd1dHRlclxuLy8gJG1hcmdpbi1yaWdodC1mcmFjIC0gYWRkaXRpb25hbCBjb2x1bW4td2lkZSBndXR0ZXIgYmV0d2VlbiBsZWZ0IGp1c3RpZmllZCBpdGVtc1xuQG1peGluIHNwYW4tY29sdW1uKCRmcmFjLCAkZ3V0dGVyOiBmYWxzZSwgJGZsZXgtc3RhcnQ6IGZhbHNlLCAkbnRoOiAyLCAkbWFyZ2luLXJpZ2h0LWZyYWM6IGZhbHNlLCAkZ3V0dGVyLWJvdHRvbTogJGctZ3V0dGVyKSB7XG4gICRjdXJyZW50LWd1dHRlcjogJGctZ3V0dGVyOyAvLyBzZWUgc3JjL3Njc3MvdmFyaWFibGVzL19nZW5lcmFsLnNjc3NcblxuICBAaWYoJGd1dHRlcikge1xuICAgICRjdXJyZW50LWd1dHRlcjogJGd1dHRlcjtcbiAgfVxuXG4gIGZsZXgtYmFzaXM6IGNhbGMoKDEwMCUgKiAjeyRmcmFjfSkgLSAoI3skY3VycmVudC1ndXR0ZXJ9ICogKDEgLSAjeyRmcmFjfSkpKTtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBjYWxjKCgxMDAlICogI3skZnJhY30pIC0gKCN7JGN1cnJlbnQtZ3V0dGVyfSAqICgxIC0gI3skZnJhY30pKSk7XG4gIG1hcmdpbi1ib3R0b206ICRndXR0ZXItYm90dG9tO1xuXG4gIEBpZigkZmxleC1zdGFydCkge1xuICAgIEBpZigkbWFyZ2luLXJpZ2h0LWZyYWMpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygoMTAwJSAqICN7JG1hcmdpbi1yaWdodC1mcmFjfSkgLSAoI3skY3VycmVudC1ndXR0ZXJ9ICogKDEgLSAjeyRtYXJnaW4tcmlnaHQtZnJhY30pKSArICgjeyRjdXJyZW50LWd1dHRlcn0gKiAoI3skbnRofSAtIDEpKSk7XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCksXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygoMTAwJSAqICN7JG1hcmdpbi1yaWdodC1mcmFjfSkgLSAoI3skY3VycmVudC1ndXR0ZXJ9ICogKDEgLSAjeyRtYXJnaW4tcmlnaHQtZnJhY30pKSArICgjeyRjdXJyZW50LWd1dHRlcn0gKiAoI3skbnRofSAtIDEpKSk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjdXJyZW50LWd1dHRlcjtcblxuICAgICAgJjpudGgtY2hpbGQob2RkKSxcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY3VycmVudC1ndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoI3skbnRofW4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIGlzIG5vdCBhbiBleGFjdCBzY2llbmNlLCBidXQgaXQgd29ya3Mgd2VsbCBlbm91Z2ggd2l0aCB0aGUgZGVzaWduXG4vLyAodmlld3BvcnQgYm91bmRhcnkgdG8gbWlkcG9pbnQgYmV0d2VlbiBzZWNvbmRhcnkgbmF2IGFuZCBtYWluIGNvbnRhaW5lcilcbkBtaXhpbiBzcGFuLWNvbHVtbi1ibGVlZC1maWxsKCRmcmFjLCAkaW5uZXItYmxlZWQtd2lkZTogYnUoMCksICRpbm5lci1ibGVlZC13aWRlc3Q6IGJ1KDApLCAkaW5uZXItYmxlZWQtZnVsbDogYnUoMCksICRjb2xvcjogIzAwMCkge1xuICAkcGFnZS13aWR0aDogMTAwJTtcblxuICAvLyB0aGUgZmlsbCBpc24ndCBhcHBsaWVkIG9uIG5hcnJvd1xuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvciwgJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG5cbiAgLy8gYXQgdGhlIHdpZGUgYnJlYWtwb2ludCB0aGUgbGVmdCBoYW5kIG1hcmdpbiBpcyBmaXhlZCBhbmQgdGhlIGNvbnRhaW5lciBzY2FsZXNcbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1iZXR3ZWVuLXdpZGUtYW5kLXdpZGVzdCkge1xuICAgIC8vIGZpeGVkIExIIG1hcmdpbiArIE4gY29sdW1ucyArIGV4dHJhXG4gICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKCN7YnUoJGctbWFyZ2luLXdpZGUqMC4xMjUpfSArICN7JGZyYWMgKiAxMDB9ICsgI3skaW5uZXItYmxlZWQtd2lkZX0pIDEwMCU7XG4gIH1cblxuICAvLyBhdCB0aGUgd2lkZXN0IGJyZWFrcG9pbnQgdGhlIGxlZnQgaGFuZCBtYXJnaW4gaXMgZml4ZWQgYW5kIHRoZSBjb250YWluZXIgaXMgZml4ZWQsIGJ1dCB0aGVyZSBpcyBob3Jpem9udGFsIGJsZWVkXG4gIC8vIG5vdGUgdGhhdCAkZy13aWR0aC13aWRlc3QgZXhjbHVkZXMgZml4ZWQgJGctbWFyZ2luLXdpZGVzdCBtYXJnaW5zIFxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGVzdC1hbmQtdXApIHtcbiAgICAvLyBtaWRkbGUgb2YgcGFnZSAtIG1pZGRsZSBvZiBjb250YWluZXIgLSBOIGNvbHVtbnMgKyBMSCBtYXJnaW4gKyBleHRyYVxuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygjeyRwYWdlLXdpZHRoKjAuNX0gLSAoI3tidSgkZy13aWR0aC13aWRlc3QqMC4xMjUpKjAuNX0gLSAje2J1KCgkZnJhYyAqICRnLXdpZHRoLXdpZGVzdCkqMC4xMjUpfSAtICN7YnUoJGctbWFyZ2luLXdpZGVzdCowLjEyNSl9IC0gI3skaW5uZXItYmxlZWQtd2lkZXN0fSkpIDEwMCU7XG4gIH1cblxuICAvLyBhdCB0aGUgd2lkZSBicmVha3BvaW50IHRoZSBsZWZ0IGhhbmQgbWFyZ2luIGlzIGZpeGVkIGFuZCB0aGUgY29udGFpbmVyIGlzIGZpeGVkLCBidXQgdGhlcmUgaXMgaG9yaXpvbnRhbCBibGVlZFxuICAvLyBub3RlIHRoYXQgJGctd2lkdGgtd2lkZXN0IGV4Y2x1ZGVzIGZpeGVkICRnLW1hcmdpbi13aWRlc3QgbWFyZ2lucyBcbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1mdWxsLWFuZC11cCkge1xuICAgIC8vIG1pZGRsZSBvZiBwYWdlIC0gbWlkZGxlIG9mIGNvbnRhaW5lciAtIE4gY29sdW1ucyArIExIIG1hcmdpbiArIGV4dHJhXG4gICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKCN7JHBhZ2Utd2lkdGgqMC41fSAtICgje2J1KCRnLXdpZHRoLXdpZGVzdCowLjEyNSkqMC41fSAtICN7YnUoKCRmcmFjICogJGctd2lkdGgtd2lkZXN0KSowLjEyNSl9IC0gI3tidSgkZy1tYXJnaW4td2lkZXN0KjAuMTI1KX0gLSAjeyRpbm5lci1ibGVlZC1mdWxsfSkpIDEwMCU7XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBHZW5lcmFsIFZhcmlhYmxlc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gQSBncm91cCBvZiB2YXJpYWJsZXMgdGhhdCBkbyBub3QgcmVxdWlyZSB0aGVpciBvd24gc3R5bGVzaGVldC5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQXNzdCBQYXRoc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGctaW1hZ2UtcGF0aDogXCIuLi9pbWcvXCI7XG4kZy1mb250LXBhdGg6IFwiLi4vZm9udC9cIjtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVW5pdHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJhc2UgdW5pdC5cbiRnLWJ1OiA4O1xuXG4vLyBIYWxmIGJhc2UgdW5pdC5cbiRnLWhidTogNDtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQW5pbWF0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZy1hbmltLWhvdmVyOiAuMXM7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdyaWRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRnLWdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG4kZy1ndXR0ZXI6ICRnLWJ1ICogNCArIHB4ICFkZWZhdWx0OyAvLyBNdXN0IGJlIGEgcHggdmFsdWVcbiRnLWd1dHRlci11bml0bGVzczogJGctYnUgKiA0ICFkZWZhdWx0O1xuIiwiLy8gQWpheCBvdmVybGF5IGxvYWRlclxuXG4ubC1hamF4LWpzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogYnUoMjQuNzUgKyAxMyArIDI0Ljc1KTtcblxuICAvLyBwYXJlbnQgZWxlbWVudFxuICAmX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIHNldCB2ZXJ0aWNhbCBzdHJldGNoIGxpbWl0IGZvciBzZWFyY2ggcmVzdWx0cyBzcGlubmVyXG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmaWxsLWxpZ2h0KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGxpbmVhcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC8vIEhhY2sgZm9yIGllMTAgYXMgZG9lc250IHN1cHBvcnQgcG9pbnRlciBldmVudHNcbiAgICAuaWUxMCAmIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAmLS1pbiB7XG4gICAgICBtaW4taGVpZ2h0OiBidSgyNC43NSArIDEzICsgMjQuNzUpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXG4gICAgICAvLyBIYWNrIGZvciBpZTEwIGFzIGRvZXNudCBzdXBwb3J0IHBvaW50ZXIgZXZlbnRzXG4gICAgICAuaWUxMCAmIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLW91dCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAje2J1KDEzKjAuNSl9KTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gI3tidSgxMyowLjUpfSk7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiBidSgxMyk7XG4gICAgICBoZWlnaHQ6IGJ1KDEzKTtcbiAgICAgIGJvcmRlcjogYnUoMSkgc29saWQgI2YxZjFmMTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDljZGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBhbmltYXRpb246IGFqYXgtc3Bpbm5lciAuOXMgbGluZWFyIGluZmluaXRlO1xuICAgIH1cbiAgfVxuXG4gICYtLWlubGluZS1sb2FkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiBtcygxKTtcbiAgICBsaW5lLWhlaWdodDogYnUoMi41KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyBlYXNlLW91dCAuMnM7XG5cbiAgICAuYi1idXR0b25fX2ljb24td3JhcC0tYmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBhbmltYXRpb246IGFqYXgtc3Bpbm5lciAuNnMgbGluZWFyIGluZmluaXRlO1xuICAgIH1cbiAgfVxuXG4gICYtLWlubGluZS1sb2FkaW5nIHtcbiAgICAuYi1idXR0b25fX2ljb24td3JhcC0tYmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLmwtYWpheC1qcy1mYWlsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQGtleWZyYW1lcyBhamF4LXNwaW5uZXIge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIFotSW5kZXhcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi5sLTEtLXBhZ2UtLW5hcnJvdyB7XG5cbiAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzIC0gcGlubmVkIGluIHBhZ2UgbmF2XG4gIC8vIENoaWxkIG9mIG9ubHkgY29sIHdoZW4gb25lIGNvbHVtbiAoZS5nLiBIZWxwIHBhZ2UpXG4gIC8vIFRoaXMgZWxlbWVudCBhdXRvbWF0aWNhbGx5IHN0YWNrcyBvbiB0b3AgZHVlIHRvIHBvc2l0aW9uOmZpeGVkLlxuICAvLyBJdCBvciBhIGNoaWxkIG9mIGl0LCBtdXN0IHN0YWNrIG9uIHRvcCBvZiBzaWJsaW5nIGNvbnRlbnQsXG4gIC8vIGluIG9yZGVyIHRvIG9ic2N1cmUgZWxlbWVudHMgc2Nyb2xsaW5nIGJlbmVhdGggaXQuXG5cbiAgLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzIHtcbiAgICB6LWluZGV4OiAzOyAvLyBzdGFjayBvbiB0b3Agb2YgY29udGVudCwgaW5jbCAuYi12aWRlby1qc19faWNvblxuICB9XG59XG5cbi5sLTItLXBhZ2UtLWd1aWRlIHtcblxuICAvLyAubC1vcmRlci0tMiAtIFJIIGNvbCBjb250YWluaW5nIG1haW4gY29udGVudFxuICAvLyBGaXJzdCBpbiBjb250ZW50IG9yZGVyLlxuICAvLyBJbiBvcmRlciB0byBtYWludGFpbiBpbnRlcmFjdGl2aXR5IHdpdGggdGhlIHBhZ2UgY29udGVudCxcbiAgLy8gaXQsIG9yIGEgY2hpbGQgb2YgaXQsIG11c3Qgc3RhY2sgb24gdG9wIG9mXG4gIC8vIHRoZSBmaXhlZCBwb3NpdGlvbiwgMTAwJSB3aWRlIC5iLW5hdi1ndWlkZS1zaWRlYmFyLS1waW5uZWRfX2wtb3V0ZXItY29udGFpbmVyXG4gIC8vIGluIHRoZSBMSCBjb2wgKC5sLW9yZGVyLS0xKVxuXG4gIC8vIEhvd2V2ZXIsIHdoZW4gdGhpcyBpcyBzdWNjZXNzZnVsbHkgYWNoaWV2ZWQsIGl0IG1lYW5zIHRoYXQgaXRzIHBpbm5lZCBjaGlsZCxcbiAgLy8gdGhlIGZpeGVkIHBvc2l0aW9uLCAxMDAlIHdpZGUgLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzXG4gIC8vIHdpbGwgYmUgYWxzbyBiZSBvbiB0b3Agb2YgdGhlIExIIGNvbCAoLmwtb3JkZXItLTEpLFxuICAvLyB3aGljaCB3aWxsIHJlc3VsdCBpbiB0aGUgdG9wIHBvcnRpb24gb2YgdGhlIGd1aWRlIG5hdiBiZWluZyBvYnNjdXJlZCBieSAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanNcblxuICAvLyBBcyB0aGlzIGlzIHRoZSBvbmx5IG91dGNvbWUgd2hpY2ggcHJlc2VydmVzIGludGVyYWN0aXZpdHkgaW4gYWxsIGFyZWFzIG9mIHRoZSBVSSxcbiAgLy8gKGV4Y2x1ZGluZyB0aGUgc21hbGwgb3ZlcmxhcCBhcmVhIGF0IHRoZSB0b3Agb2YgdGhlIGd1aWRlIG5hdilcbiAgLy8gYSBMSCBvZmZzZXQgaGFzIGJlZW4gYXBwbGllZCB0byB0aGUgdGhpbiBydWxlIHJ1bm5pbmcgYmVsb3cgLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzXG4gIC8vIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIG5vIG92ZXJsYXAgd2l0aCB0aGUgZ3VpZGUgbmF2LlxuXG4gIC5sLW9yZGVyLS0yIHtcbiAgICB6LWluZGV4OiAxOyAvLyBzdGFjayBvbiB0b3Agb2YgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMgaW4gTEggY29sICgubC1vcmRlci0tMSlcblxuICAgIC8vIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcyAtIHBpbm5lZCBpbiBwYWdlIG5hdlxuICAgIC8vIENoaWxkIG9mIFJIIGNvbCAoLmwtb3JkZXItLTIpIHdoZW4gdHdvIGNvbHVtbnMgKGd1aWRlIHBhZ2VzKVxuICAgIC8vIFRoaXMgZWxlbWVudCBhdXRvbWF0aWNhbGx5IHN0YWNrcyBvbiB0b3AgZHVlIHRvIHBvc2l0aW9uOmZpeGVkLlxuICAgIC8vIEl0IG9yIGEgY2hpbGQgb2YgaXQsIG11c3Qgc3RhY2sgb24gdG9wIG9mIHNpYmxpbmcgY29udGVudCxcbiAgICAvLyBpbiBvcmRlciB0byBvYnNjdXJlIGVsZW1lbnRzIHNjcm9sbGluZyBiZW5lYXRoIGl0LlxuXG4gICAgPiAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanMge1xuICAgICAgei1pbmRleDogMzsgLy8gc3RhY2sgb24gdG9wIG9mIGNvbnRlbnQgaW4gUkggY29sICgubC1vcmRlci0tMiksIGluY2wgLmItdmlkZW8tanNfX2ljb25cbiAgICB9XG4gIH1cblxuICAvLyAubC1vcmRlci0tMSAtIExIIGNvbCBjb250YWluaW5nIGd1aWRlIG5hdlxuICAvLyBMYXN0IGluIGNvbnRlbnQgb3JkZXIuXG4gIC8vIEl0LCBvciBhIGNoaWxkIG9mIGl0LCBtdXN0IHN0YWNrIG9uIHRvcCBvZlxuICAvLyB0aGUgMTAwJSB3aWRlIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcyBpbiB0aGUgUkggY29sICgubC1vcmRlci0tMilcbiAgLy8gaW4gb3JkZXIgdG8gcHJldmVudCB0aGUgdG9wIHBvcnRpb24gb2YgdGhlIGd1aWRlIG5hdiBmcm9tIGxvc2luZyBpbnRlcmFjdGl2aXR5XG5cbiAgLy8gSG93ZXZlciwgd2hlbiB0aGlzIGlzIHN1Y2Nlc3NmdWxseSBhY2hpZXZlZCwgaXQgbWVhbnMgdGhhdCBpdHMgcGlubmVkIGNoaWxkLFxuICAvLyB0aGUgZml4ZWQgcG9zaXRpb24sIDEwMCUgd2lkZSAuYi1uYXYtZ3VpZGUtc2lkZWJhci0tcGlubmVkX19sLW91dGVyLWNvbnRhaW5lclxuICAvLyB3aWxsIHN0YWNrIG9uIHRvcCBvZiB0aGUgYWRqYWNlbnQgY29udGVudCBjb2x1bW4gKC5sLW9yZGVyLS0yKVxuICAvLyBhbmQgYmxvY2sgYWxsIGludGVyYWN0aXZpdHkgdGhlcmUuXG5cbiAgLy8gQXMgdGhpcyBpcyBub3QgZmVhc2libGUsXG4gIC8vIGEgd29ya2Fyb3VuZCBoYXMgYmVlbiBhcHBsaWVkIHRvIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcyxcbiAgLy8gdG8gZ2l2ZSB0aGUgaWxsdXNpb24gb2Ygbm8gb3ZlcmxhcCAoc2VlIGFib3ZlKVxuICAvL1xuICAvLyAubC1vcmRlci0tMSB7XG4gIC8vXG4gIC8vIC5iLW5hdi1ndWlkZS1zaWRlYmFyLS1waW5uZWRfX2wtb3V0ZXItY29udGFpbmVyIC0gcGlubmVkIGd1aWRlIG5hdiBsaW5lclxuICAvLyBDaGlsZCBvZiBMSCBjb2wgKC5sLW9yZGVyLS0xKS5cbiAgLy8gQXV0b21hdGljYWxseSBzdGFja3Mgb24gdG9wIGR1ZSB0byBwb3NpdGlvbjpmaXhlZCBhbmQgcG9zaXRpb24gaW4gY29udGVudCBvcmRlclxuICAvLyBDYW5ub3QgYmUgYWxsb3dlZCB0byBzdGFjayBvbiB0b3Agb2YgUkggY29sICgubC1vcmRlci0tMilcbiAgLy8gYXMgdGhpcyB3b3VsZCBibG9jayBhbGwgaW50ZXJhY3Rpdml0eSB0aGVyZS5cbiAgLy9cbiAgLy8gLmItbmF2LWd1aWRlLXNpZGViYXItLXBpbm5lZF9fbC0yLS1wYWdlLS1ndWlkZSAtIHBpbm5lZCBndWlkZSBuYXYgZ3JpZFxuICAvLyBDaGlsZCBvZiBMSCBjb2wgKCAubC1vcmRlci0tMSkuXG4gIC8vIENvdWxkIGJlIHN0YWNrZWQgdG8gb2JzY3VyZSBvdmVyZmxvdyBvZiAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanNcbiAgLy8gYnV0IHdvbid0IGJlIGFibGUgdG8gc3RhY2sgaGlnaGVyIHRoYW4gaXRzIGZpeGVkIHBhcmVudCAuYi1uYXYtZ3VpZGUtc2lkZWJhci0tcGlubmVkX19sLW91dGVyLWNvbnRhaW5lclxuICAvLyB3aGljaCBjYW5ub3QgYmUgYWxsb3dlZCB0byBzdGFjayBoaWdoIGVub3VnaCB0byBtYWtlIHRoaXMgdXNlZnVsLlxuICAvL1xuICAvLyB9XG59XG5cbi5iLWZvb3RlciB7XG4gIC5iLWJhY2stdG8tdG9wIHtcbiAgICB6LWluZGV4OiAzO1xuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFNoYXJlIGFuZCBPdXRwdXQgYnV0dG9uc1xuLy9cbi8vIE1hcmt1cDogYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnMuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDEwMC40N1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnMge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX3NoYXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEFQIGZvciBkb3dubG9hZCBpY29uXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAmX19kb3dubG9hZCB7XG4gICAgICAvLyBmbG9hdCBkb2Vzbid0IHdvcmsgd2l0aGluIGlubGluZS1mbGV4XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLWV4YW1wbGUtc2xpZGUge1xuICAgID4gLmItcnVsZS0tdGhpbiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5sLTItLXNoYXJlLXNsaWRlIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGJ1KDIuMSkgMDtcbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9fc2hhcmUge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIC5oLWxpc3QtLWlubGluZSB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSguNSk7XG5cbiAgICAgICAgICAmLmItc2hhcmUtYW5kLW91dHB1dC1idXR0b25zX19zaGFyZV9fZG93bmxvYWQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0taW50cm8ge1xuICAgICN7bS1uZXN0KCl9X19zaGFyZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAuaC1saXN0LS1pbmxpbmUge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KC41KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWludHJvLS1ndWlkZSB7XG4gICAgI3ttLW5lc3QoKX1fX3NoYXJlIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIC5oLWxpc3QtLWlubGluZSB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYnUoLjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0ta25vd2xlZGdlLXNsaWRlIHtcbiAgICBtYXJnaW4tdG9wOiBidSgyKTtcblxuICAgIC5sLTItLXNoYXJlLXNsaWRlIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGJ1KDIuMSkgMDtcbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9fc2hhcmUge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIC5oLWxpc3QtLWlubGluZSB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSguNSk7XG5cbiAgICAgICAgICAmLmItc2hhcmUtYW5kLW91dHB1dC1idXR0b25zX19zaGFyZV9fZG93bmxvYWQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tbW9kYWwtLXByZXNlbnQge1xuICAgICN7bS1uZXN0KCl9X19zaGFyZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICZfX291dHB1dCB7XG4gICAgICAuYi1idXR0b24tLXBpbGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICAmLFxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmgtbGlzdC0taW5saW5lIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSgxLjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gaW4gcGFnZSBzbGlkZVxuICAgICYtLWV4YW1wbGUtc2xpZGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMS43KTtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDYpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYnUoMS43KTsvKiBhbGxvdyBmb3IgdG9vbHRpcCAqL1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICA+IC5iLXJ1bGUtLXRoaW4ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYi1ydWxlLS10aGljayB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fc2hhcmUge1xuICAgICAgICAuaC1saXN0LS1pbmxpbmUge1xuICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC41KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5iLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9ucy0tbW9kYWwtLXByZXNlbnQge1xuICAgICAgICAje20tbmVzdCgpfV9fc2hhcmUge1xuICAgICAgICAgIC5oLWxpc3QtLWlubGluZSB7XG4gICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSguOCk7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5iLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9ucy0taW50cm9cbiAgICAmLS1pbnRybyB7XG4gICAgICBtYXgtd2lkdGg6IGJ1KDE3LjI1KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyAvLyByaWdodCBhbGlnblxuXG4gICAgICAje20tbmVzdCgpfV9fc2hhcmUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgxLjYpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAuaC1saXN0LS1pbmxpbmUge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fb3V0cHV0IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1pbnRyby0tZ3VpZGUge1xuICAgICAgI3ttLW5lc3QoKX1fX3NoYXJlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAuaC1saXN0LS1pbmxpbmUge1xuICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSguNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gaW4gcGFnZSBzbGlkZVxuICAgICYtLWtub3dsZWRnZS1zbGlkZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgxLjcpO1xuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNyk7XG4gICAgICB9XG5cbiAgICAgID4gLmItcnVsZS0tdGhpbiB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5iLXJ1bGUtLXRoaWNrIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19zaGFyZSB7XG4gICAgICAgIC5oLWxpc3QtLWlubGluZSB7XG4gICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmItc2hhcmUtYW5kLW91dHB1dC1idXR0b25zLS1tb2RhbC0tcHJlc2VudCB7XG4gICAgICAgICN7bS1uZXN0KCl9X19zaGFyZSB7XG4gICAgICAgICAgLmgtbGlzdC0taW5saW5lIHtcbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KC44KTtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1uYXYtaW4tcGFnZVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gTmF2IC0gSW4tcGFnZVxuLy8gXG4vLyBNYXJrdXA6IGItbmF2LWluLXBhZ2UuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMjlcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLW5hdi1pbi1wYWdlIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2xpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogYnUoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNCk7XG4gIH1cblxuICAmX19saXN0IHtcbiAgICAmX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNik7XG4gICAgfVxuICB9XG5cbiAgJl9fbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogYnUoMi41KTtcbiAgICBtYXJnaW4tcmlnaHQ6IGJ1KDQpOyAvLyBtYXRjaCB0ZXh0IHdyYXBwaW5nIHRvIHRoZSBkZXNpZ25cbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICYuYi1saW5rLWljb24tLXN0YXJ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAuaC1pY29uLS1hcnJvdyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBmaWxsOiBjb2xvcihsaW5rKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5iLWxpbmstaWNvbl9fbGluZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiBidSguMTI1KSBzb2xpZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuMDVlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAuNzVlbTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5iLXJ1bGUtLXRoaW4ge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIuNjI1KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAmX19pY29uIHtcbiAgICAgIHdpZHRoOiAuODVlbTtcbiAgICB9XG5cbiAgICAuYi1ydWxlLS10aGluIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDEuNCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1mb290ZXJcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEZvb3RlclxuLy8gXG4vLyBNYXJrdXA6IGItZm9vdGVyLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjE1XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItZm9vdGVyIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYuYi1maWxsLS1tYXJnaW5zIHtcbiAgICBwYWRkaW5nLXRvcDogYnUoNik7XG4gICAgcGFkZGluZy1ib3R0b206IGJ1KDIuNSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLmwtb3V0ZXItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEFQIGZvciBiLWJhY2stdG8tdG9wIGJ1dHRvblxuICB9XG5cbiAgJl9fbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGJ1KDE3Ljc1KTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIDAgYnUoNC41KSBidSgtLjIpOyAvLyBuZWdhdGl2ZSBtYXJnaW4gb2Zmc2V0cyB3aGl0ZXNwYWNlIG9uIFNWR1xuICB9XG5cbiAgJl9fcnVsZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoMy40KTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSg0LjIpO1xuICB9XG5cbiAgLnAtLWZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5oLWxpc3Qge1xuICAgICYtLWlubGluZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIGJ1KDMuNzUpIGJ1KDMpIDA7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgJi5iLWZpbGwtLW1hcmdpbnMge1xuICAgICAgcGFkZGluZy10b3A6IGJ1KDExLjMpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGJ1KC42KTtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgIHdpZHRoOiBidSgyNy4yNSk7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIG9mIGdyaWQgY29sdW1uXG4gICAgICBtYXJnaW46IGJ1KC4zKSAwIGJ1KDMuNykgYnUoLS4yKTtcbiAgICB9XG5cbiAgICAmX19ydWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KC0zLjMpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNS41KTtcbiAgICB9XG5cbiAgICAuaC1saXN0IHtcbiAgICAgICYtLWlubGluZSB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYnUoNi41KTtcblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBwYWRkaW5nOiBidSgyLjc1KSAwIDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yKHJ1bGUtdGhpbi1kYXJrKTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG5cbiAgICAmLmItZmlsbC0tYnJhbmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gbm90ZTogdHlwZSBzdHlsZSBpcyBhcHBsaWVkIHRvIHdyYXBwZXIgaGVyZVxuICAgIC8vIGFzIHRoZSBwYXJhZ3JhcGggdGV4dCBpcyBlZGl0YWJsZSBpbiB0aGUgQ01TIHdpdGggdGhlIEhUTUwgZWRpdG9yXG4gICAgLnAtLXByaW50LS1tZXRhIHtcbiAgICAgID4gcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi10YWJsZVxuLy8gXG4vLyBTZWUgYWxzbyBiYXNlL3RhYmxlXG4vLyBTZWUgYWxzbyBiLXNjcm9sbC10cmlnZ2VyXG4vLyBTZWUgYWxzbyBsLW92ZXJmbG93LWxpbmVyXG4vLyBTZWUgYWxzbyBjdC1vdmVyZmxvdy1oZWxwZXIuanNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFRhYmxlXG4vLyBcbi8vIE92ZXJmbG93IHNjcm9sbCBiYXJzIGFuZCBzY3JvbGwgY29udHJvbCBhcnJvd3MuXG4vL1xuLy8gTWFya3VwOiBiLXRhYmxlLWpzLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjUxXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXRhYmxlLWpzIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgKyBwOm5vdChbY2xhc3NdKSB7XG4gICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIC8vIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHt9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1jb250ZW50LWhlYWRlclxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gQ29udGVudCBoZWFkZXJcbi8vXG4vLyBNYXJrdXA6IGItY29udGVudC1oZWFkZXIuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDEwMC42XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1jb250ZW50LWhlYWRlciB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fdGl0bGUge1xuICAgICYuaDEge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gICAgfVxuICB9XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLWd1aWRlIHtcbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IGJ1KDYuNSk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gICAgfVxuXG4gICAgI3ttLW5lc3QoKX1fX3N1bW1hcnkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMyk7XG4gICAgfVxuXG4gICAgKyAuYi1ndWlkZS10aWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICAgIH1cbiAgfVxuXG4gICYtLWhlbHAge1xuICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogYnUoNS45KTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgICB9XG5cbiAgICAuYi1ydWxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuNyk7XG4gICAgfVxuICB9XG5cbiAgJi0taG9tZS1ndWlkZXMge1xuICAgIG1hcmdpbi10b3A6IGJ1KDYuNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoLTEuNSk7XG4gIH1cblxuICAmLS11bmRlcnN0YW5kIHtcbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IGJ1KDUuOSk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi44KTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICYuaDEge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSg0LjkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIC5iLXJ1bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWd1aWRlIHtcbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDUuNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuMyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taGVscCB7XG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qcyArIC5iLWNvbnRlbnQtaGVhZGVyLS1oZWxwIHtcbiAgICAgICAgICAuYi1jb250ZW50LWhlYWRlcl9fdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ob21lLWd1aWRlcyB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg1LjIpO1xuICAgIH1cblxuICAgICYtLWtleS1yZXNvdXJjZXMge1xuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMTEpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjkpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fc3VtbWFyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuNyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbW9yZS1vcHRpb25zIHtcbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDEwLjYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjkpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fc3VtbWFyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdW5kZXJzdGFuZCB7XG4gICAgICBwYWRkaW5nLXRvcDogYnUoOC45KTtcblxuICAgICAgLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzICsgJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBidSg4LjkpO1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgtNCk7IC8vIG9mZnNldCB0cmFpbGluZyBtYXJnaW4gb24gYi1uYXYtaW4tcGFnZVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICsgcCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoNS43KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItcmVzb3VyY2Vcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFJlc291cmNlXG4vLyBcbi8vIE1hcmt1cDogYi1yZXNvdXJjZS5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4zOVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItcmVzb3VyY2Uge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgbWFyZ2luLXRvcDogYnUoMy41KTtcbiAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fY292ZXIge1xuICAgIG1hcmdpbi10b3A6IGJ1KC41KTtcbiAgfVxuXG4gICZfX2J1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcblxuICAgIC5iLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAvLyBkb3dubG9hZC1idXR0b24gZmlsZSBzaXplXG4gIC5iLWJ1dHRvbl9faW5mbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gIH1cblxuICAmX19jb3N0IHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSguOCk7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyLjMpO1xuICB9XG5cbiAgJl9fcHVibGlzaGVyIHtcbiAgICBtYXJnaW4tdG9wOiBidSgtLjYpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuICB9XG5cbiAgPiAubC0yX19jb2wge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVHJhaWxpbmcgZWxlbWVudHNcblxuICArIC5iLXJ1bGUge1xuICAgICsgLmItY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg2KTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLXNsaWRlIHtcbiAgICAje20tbmVzdCgpfV9fYnV0dG9uIHtcbiAgICAgIC5iLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXNsaWRlLS1sYXJnZSB7XG4gICAgI3ttLW5lc3QoKX1fX2J1dHRvbiB7XG4gICAgICAuYi1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjIpO1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBidSguNyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjcpO1xuXG4gICAgICArICN7ZS1uZXN0KCl9X19yZWdpc3RyYXRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgtMi4yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgICB9XG5cbiAgICAmX19jb3N0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuOSk7XG4gICAgfVxuXG4gICAgLy8gdG9vIGxhdGUgdG8gY2hhbmdlIHRoZSBncmlkXG4gICAgJi5sLTItLXJlc291cmNlLFxuICAgIC5sLTItLXJlc291cmNlLWNvbnRlbnQge1xuICAgICAgPiAubC0yX19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkLFxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zbGlkZSB7XG4gICAgICAje20tbmVzdCgpfV9fY292ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgtLjI1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS4yNSk7XG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi43NSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX2J1dHRvbiB7XG4gICAgICAgIC5iLWJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoMS4yKTtcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYnUoMi4yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zbGlkZS0tbGFyZ2Uge1xuICAgICAgI3ttLW5lc3QoKX1fX2NvdmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLS41KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoLjcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19idXR0b24ge1xuICAgICAgICAuYi1idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDEuNyk7XG5cbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDQuMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1oZWxwLWl0ZW1cbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEhlbHAgaXRlbVxuLy8gXG4vLyBNYXJrdXA6IGItaGVscC1pdGVtLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjE4XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWhlbHAtaXRlbSB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLmItcnVsZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoNC4yKTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgzLjEpO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMyk7XG4gIH1cblxuICAuYi1waWN0dXJlIHtcbiAgICBtYXJnaW4tdG9wOiBidSgzLjMpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1waWN0dXJlIHtcbiAgICAuYi1ydWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIC5iLWNvbnRlbnQtaGVhZGVyICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg1LjYpO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLmItcGljdHVyZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgzKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC44KTtcbiAgICB9XG5cbiAgICAuYi1ydWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMuMSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg1KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWNvbnRlbnQtc3ViLWhlYWRlclxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gQ29udGVudCBzdWIgaGVhZGVyXG4vLyBcbi8vIFVzZWQgb24gdGhlIFVuZGVyc3RhbmQgcGFnZSBhYm92ZSB0aGUgcmVzb3VyY2VzXG4vLyBcbi8vIE1hcmt1cDogYi1jb250ZW50LXN1Yi1oZWFkZXIuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuOFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItY29udGVudC1zdWItaGVhZGVyIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoNS4xKTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgxLjUpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMTAuNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItc2VhcmNoLXJlc3VsdHMtc3VtbWFyeVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gU2VhcmNoIHJlc3VsdHMgc3VtbWFyeVxuLy9cbi8vIE1hcmt1cDogYi1zZWFyY2gtcmVzdWx0cy1zdW1tYXJ5Lmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuNDVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXNlYXJjaC1yZXN1bHRzLXN1bW1hcnkge1xuICAmLmwtMS0tcGFnZS0tbmFycm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJl9fY291bnQge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIuMik7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNC4yKTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgPiAubC0xX19jb2wge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmX19jb3VudCB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMyk7XG5cbiAgICAgICsgLmItbm8tcmVzdWx0cy1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLTIpOyAvLyBvZmZzZXQgY291bnQgYm90dG9tIG1hcmdpblxuICAgICAgfVxuICAgIH1cbiAgICAuYi1tb2RhbC1qcy0tc2VhcmNoICYge1xuICAgICAgJl9fY291bnQge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyKTtcblxuICAgICAgICArIC5iLW5vLXJlc3VsdHMtbWVzc2FnZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItaGlkZS1zaG93XG4vLyBcbi8vIFNlZSBhbHNvIGItY29udGVudC1yZXZlYWxcbi8vIFNlZSBhbHNvIGhpZGUtc2hvdy5qc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gSGlkZS1TaG93XG4vLyBcbi8vIFNlZSBDb250ZW50IHJldmVhbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTlcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItaGlkZS1zaG93LWpzLWV4cGFuZG1vcmUge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIEFuaW1hdGlvbiBzdHlsZXNcbiAgJl9fdG9fZXhwYW5kIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBjbGFzcy1uYW1lLWZvcm1hdFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC1oZWlnaHQ6IDgwZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCBlYXNlIC41cywgdmlzaWJpbGl0eSAwcyBlYXNlLCBtYXgtaGVpZ2h0IC42cyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzLCAwcywgMHMsIDBzO1xuXG4gICAgJltkYXRhLWhpZGRlbj10cnVlXSB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4ycywgMXMsIDBzLCAwcztcbiAgICB9XG4gIH1cblxuICAmX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgLy8gQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge31cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLXNlYXJjaC1zdWdnZXN0aW9uc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gU2VhcmNoIHN1Z2dlc3Rpb25zXG4vLyBcbi8vIE1hcmt1cDogYi1zZWFyY2gtc3VnZ2VzdGlvbnMuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuNDZcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXNlYXJjaC1zdWdnZXN0aW9ucyB7XG4gICZfX2hlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IGJ1KDMuMSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gIH1cblxuICAmX19zdWdnZXN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgxLjUpO1xuICB9XG5cbiAgJl9fcG9wdWxhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNC4yKTtcblxuICAgIC5iLWJ1dHRvbi0tcmVjdGFuZ2xlLS1vdXRsaW5lLWxhcmdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX3ByZXZpb3VzIHtcbiAgICAuYi1idXR0b24tLXJlY3RhbmdsZS0tb3V0bGluZS1sYXJnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAmX19wb3B1bGFyIHtcbiAgICAgIC5iLWJ1dHRvbi0tcmVjdGFuZ2xlLS1vdXRsaW5lLWxhcmdlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAje2UtbmVzdCgpfV9faGVhZGluZyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoNy45KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByZXZpb3VzIHtcbiAgICAgIC5iLWJ1dHRvbi0tcmVjdGFuZ2xlLS1vdXRsaW5lLWxhcmdlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAje2UtbmVzdCgpfV9faGVhZGluZyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoNy45KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJl9faGVhZGluZyB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg0LjkpO1xuXG4gICAgICAmLS1oZWxwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy4zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWV4YW1wbGUtZW1iZWRcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEV4YW1wbGUgZW1iZWRcbi8vXG4vLyBNYXJrdXA6IGItZXhhbXBsZS1lbWJlZC5odG1sXG4vL1xuLy8gU3R5bGVndWlkZTogMTAwLjlcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItZXhhbXBsZS1lbWJlZCB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBtYXJnaW4tYm90dG9tOiBidSgzLjQpO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19xdW90ZSB7XG4gICAgcGFkZGluZzogYnUoNC40KSBidSgzLjQpIGJ1KDEuNSk7XG5cbiAgICAmX190ZXh0IHtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC5oLWljb24ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiBidSguMzI1KSBidSgxLjMpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiBidSg1KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2NpdGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gICAgfVxuXG4gICAgJl9fYXV0aG9yIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tb3V0bGluZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IocnVsZS10aGluLWxpZ2h0KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgzKTtcblxuICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgLy8gY2VudGVyIHRoZSBpbWFnZVxuICAgICAgLy8gbm8gZWZmZWN0IGlmIDEwMCUgd2lkZVxuICAgICAgLy8gYnV0IGNlbnRlcnMgZW1iZWQgaWYgYW4gaW5saW5lIG1heC13aWR0aCBoYXMgYmVlbiBhcHBsaWVkXG4gICAgICAvLyBieSB0aGUgcHJvcG9ydGlvbmFsIHNjYWxpbmcgc2NyaXB0IGluIG1vZGFhbC5qc1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fcXVvdGUge1xuICAgICAgcGFkZGluZzogYnUoMi43KSBidSgzLjQpIGJ1KDEuNCk7XG5cbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICBwYWRkaW5nOiBidSg3LjYpIGJ1KDUuNCkgYnUoNSkgYnUoOS4xKTtcbiAgICAgIH1cblxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEpO1xuICAgICAgICBmb250LXNpemU6IGJ1KDIuMSk7XG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNCk7XG4gICAgICAgIH1cblxuICAgICAgICAuaC1pY29uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogYnUoNi40KTtcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgZm9udC1zaXplOiBidSgxMC41KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fYXV0aG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMi42KTtcblxuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSg2LjcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcHJvZmVzc2lvbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1zZWFyY2gtaGVhZGVyXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBTZWFyY2ggKG1vZGFsKSBoZWFkZXJcbi8vXG4vLyBNYXJrdXA6IGItc2VhcmNoLWhlYWRlci5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC40M1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1zZWFyY2gtaGVhZGVyIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIG1hcmdpbi10b3A6IGJ1KDQuNCk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2Nsb3NlLXdyYXAge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgJl9fY2xvc2Uge1xuICAgIG1hcmdpbi10b3A6IGJ1KDQuOCk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5iLWd1aWRlLWxpc3Qtc2VhcmNoLWFuZC1maWx0ZXIge1xuICAgIG1hcmdpbi10b3A6IGJ1KDMuMik7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIG1hcmdpbi10b3A6IGJ1KDExLjMpO1xuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMi44KTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSguNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1uYXYtZ3VpZGUtc2lkZWJhclxuLy8gXG4vLyBTZWUgYWxzbyBtb2RhYWwuanNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIE5hdiAtIEd1aWRlIFNpZGViYXJcbi8vIFxuLy8gTWFya3VwOiBiLW5hdi1ndWlkZS1zaWRlYmFyLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjI4XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubW9kYWFsLWNsb3NlIHtcbiAgQGluY2x1ZGUgaC1oaWRlO1xufVxuXG4uYi1uYXYtZ3VpZGUtc2lkZWJhciB7XG5cbiAgLy8gLmItbmF2LWd1aWRlLXNpZGViYXItLXBpbm5lZFxuICAvLyBhcHBsaWVkIGJ5IG5hdi1ndWlkZS1waW5uZWQuanNcbiAgJi0tcGlubmVkIHtcblxuICAgIC8vIGZvciBwZXJmb3JtYW5jZSwgd3JhcHBlcnMgYXJlIGhhcmRjb2RlZFxuICAgIC8vIGJ1dCBvbmx5IHRha2Ugb24gdGhlaXIgc3R5bGluZyBvbmNlIHRoZSBwYXJlbnQncyBwaW5uaW5nIG1vZGlmaWVyIGlzIGFwcGxpZWRcblxuICAgIC8vIC5iLW5hdi1ndWlkZS1zaWRlYmFyLS1waW5uZWRfX2wtb3V0ZXItY29udGFpbmVyXG4gICAgJl9fbC1vdXRlci1jb250YWluZXIge1xuICAgICAgI3ttLW5lc3QoKX0tLXBpbm5lZCAmIHtcbiAgICAgICAgQGluY2x1ZGUgbC1vdXRlci1jb250YWluZXIoJGVuYWJsZS1wYWRkaW5nOiBmYWxzZSk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDsgLy8gZWxzZSB0aGUgcGFkZGVkIGNvbnRhaW5lciBzaXRzIHdpdGhpbiB0aGUgcGFyZW50IGNvbnRhaW5lcidzIHBhZGRpbmcsIGV2ZW4gdGhvdWdoIGl0J3MgZml4ZWQuLlxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5iLW5hdi1ndWlkZS1zaWRlYmFyLS1waW5uZWRfX2wtMi0tcGFnZS0tZ3VpZGVcbiAgICAmX19sLTItLXBhZ2UtLWd1aWRlIHtcbiAgICAgICN7bS1uZXN0KCl9LS1waW5uZWQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGwtMi0tcGFnZS0tZ3VpZGU7XG5cbiAgICAgICAgPiAubC1vcmRlci0tMSB7XG4gICAgICAgICAgJHNjcm9sbGJhci13aWR0aDogYnUoMik7XG4gICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgICAgICAvLyBUT0RPOiBjYWxjIGNvcGllZCBmcm9tIHRoZSBncmlkIG91dHB1dCBhdCB0aGUgZGVza3RvcCBsYXlvdXQgLSBtYWtlIHRoaXMgZHluYW1pY1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMiooMzJweCAqICgxIC0gLjI1KSkpO1xuXG4gICAgICAgICAgLmItbW9kYWwtanMtLW5hdi1ndWlkZSAmIHsgLy8gc2Fzcy1saW50OiBkaXNhYmxlLWxpbmUgbmVzdGluZy1kZXB0aFxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgLy8gcmVtb3ZlIGd1dHRlclxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5sLTItLXNwbGl0IHtcbiAgICAubC0yX19jb2wge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG9tZSwgQWxsIGd1aWRlcyBidXR0b25zXG5cbiAgLmItZmlsbC0tZGFyayB7XG5cbiAgICAuYi1uYXYtZ3VpZGUtc2lkZWJhcl9faGVhZGVyIHtcbiAgICAgIC5iLWxpbmstaWNvbiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1uYXYtZ3VpZGUtc2lkZWJhcl9fZm9vdGVyIHtcbiAgICAgIC5iLWxpbmstaWNvbiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYi1saW5rLWljb24ge1xuXG4gICAgJl9faWNvbiB7XG4gICAgICB3aWR0aDogMWVtOyAvLyBsYXJnZXIgYXJyb3csIHVzdWFsbHkgMC43ZW1cbiAgICB9XG4gIH1cblxuICAuYi1saW5rLWljb24tLXN0YXJ0IHtcbiAgICBtYXJnaW4tbGVmdDogMS4zZW07XG5cbiAgICAuaC1pY29uLS1hcnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEuM2VtO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhYWwtaW5saW5lX19jbG9zZSB7XG5cbiAgICAmLmItYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5iLWJ1dHRvbl9fY29udGVudCB7XG4gICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgfVxuXG4gICAgLmItYnV0dG9uX19pY29uLXdyYXAge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICBjb2xvcjogY29sb3IodHlwZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBOYXJyb3ctb25seSBoZWFkZXJcblxuICAmX19oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IGJ1KDguODc1KTtcblxuICAgIC5sLTItLXNwbGl0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNzUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5hcnJvdy1vbmx5IGZvb3RlclxuXG4gICZfX2Zvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogYnUoMi4yNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMTMuNSk7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiBidSg1LjM3NSk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMy4zNzUpO1xuXG4gICAgJl9faW5kZXhvZiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgtLjI1KTtcbiAgICB9XG4gIH1cblxuICAmX19zdWItdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIuNjI1KTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuICB9XG5cbiAgLy8gU2VjdGlvbnNcblxuICAmX191bmRlcnN0YW5kIHtcbiAgICAje2UtbmVzdCgpfV9fbWVudSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjYyNSk7XG4gICAgfVxuICB9XG5cbiAgJl9fc3RyYXRlZ2llcyB7XG5cbiAgICAje2UtbmVzdCgpfV9fbWVudSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjUpO1xuICAgIH1cblxuICAgICN7ZS1uZXN0KCl9X19zdWJtZW51LXBhcmVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDYpOyAvLyBzcGFjZSBmb3IgYnV0dG9uXG5cbiAgICAgIC5iLWNvbnRlbnQtcmV2ZWFsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBjb2xvcih0eXBlLWxpZ2h0KTtcblxuICAgICAgICAvLyBpY29uIHJlbmRlcnMgZmlyc3RcbiAgICAgICAgLy8gdGhlbiBoaWRlLXNob3cuanMgaW5qZWN0cyB0aGUgd3JhcHBpbmdcbiAgICAgICAgLy8gLmItaGlkZS1zaG93LWpzLWV4cGFuZG1vcmVfX2J1dHRvblxuICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIGNlbnRlclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gY2VudGVyXG4gICAgICAgICAgbWFyZ2luOiAwIGJ1KDEpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogYnUoNCk7XG5cbiAgICAgICAgICAvLyBJRTExIGZhaWxzIHRvIHJlbmRlciB0aGUgU1ZHIHNoYXBlXG4gICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAmLmgtaWNvbi0tdHJpYW5nbGUgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRnLWltYWdlLXBhdGggKyBcImljb25zL3RyaWFuZ2xlLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYi1oaWRlLXNob3ctanMtZXhwYW5kbW9yZSxcbiAgICAgICAgJl9faGVhZGVyLFxuICAgICAgICAuYi1oaWRlLXNob3ctanMtZXhwYW5kbW9yZV9fYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYi1oaWRlLXNob3ctanMtZXhwYW5kbW9yZV9fYnV0dG9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICN7ZS1uZXN0KCl9X19zdWJtZW51IHtcbiAgICAgIHBhZGRpbmctbGVmdDogYnUoMi4xMjUpO1xuICAgICAgYm9yZGVyLWxlZnQ6IGJ1KC4xMjUpIHNvbGlkIGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgbWFyZ2luLXRvcDogYnUoMi4yNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgtLjUpO1xuICAgIH1cblxuICAgIC5wLS1uYXYtZ3VpZGUtc2lkZWJhci0tc3RyYXRlZ3kge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy4yNSk7XG4gICAgfVxuXG4gICAgLnAtLW5hdi1ndWlkZS1zaWRlYmFyLS1zdWdnZXN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuICAgIH1cbiAgfVxuXG4gICZfX3N1Z2dlc3Rpb25zIHtcbiAgICAmX19hY3RpdmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IGJ1KC4yNSk7XG4gICAgICAgIGxlZnQ6IGJ1KC0yLjEyNSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBidSguNSkgc29saWQgY29sb3IoZmlsbC1saWdodGVzdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcmVzb3VyY2VzIHtcblxuICAgICN7ZS1uZXN0KCl9X19tZW51IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuODc1KTtcbiAgICB9XG5cbiAgICAuaDMtLW5hdi1ndWlkZS1zaWRlYmFyLS1zdWItaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZS1hbmQtdXApIHtcbiAgICAubC1vdXRlci1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19tZW51IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNyk7XG4gICAgfVxuXG4gICAgJl9fc3ViLXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuMzI1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMyk7XG4gICAgfVxuXG4gICAgJl9fc3VnZ2VzdGlvbnMge1xuICAgICAgJl9fYWN0aXZlIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg1LjcpO1xuICAgIH1cblxuICAgICZfX3VuZGVyc3RhbmQge1xuXG4gICAgICAje2UtbmVzdCgpfV9fbWVudSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuOCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmItbGluay1pY29uIHtcblxuICAgICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAuOGVtO1xuICAgICAgfVxuXG4gICAgICAuaC1pY29uLS1hcnJvdy0tZG93biB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBidSgtLjQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5iLWZpbHRlci1ub3RpY2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC4zKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWV4YW1wbGUtc2xpZGVcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEV4YW1wbGUgc2xpZGVcbi8vXG4vLyBNYXJrdXA6IGItZXhhbXBsZS1zbGlkZS5odG1sXG4vL1xuLy8gU3R5bGVndWlkZTogMTAwLjExXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWV4YW1wbGUtc2xpZGUge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcGFkZGluZy10b3A6IGJ1KDcuNCk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIHN1YnNlcXVlbnQgc2xpZGVzXG4gIC5iLWV4YW1wbGUtc2xpZGUgKyAmLFxuICAuYi1rbm93bGVkZ2Utc2xpZGUgKyAmIHtcbiAgICBwYWRkaW5nLXRvcDogYnUoOC41KTtcbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uICB7XG4gICAgbWFyZ2luLXRvcDogYnUoMik7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcblxuICAgIC8vIHRpdGxlcyBpbiBzdWJzZXF1ZW50IHNsaWRlc1xuICAgIC5iLWV4YW1wbGUtc2xpZGUgKyAuYi1leGFtcGxlLXNsaWRlICYsXG4gICAgLmIta25vd2xlZGdlLXNsaWRlICsgLmItZXhhbXBsZS1zbGlkZSAmIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNyk7XG4gICAgfVxuICB9XG5cbiAgLmItZXhhbXBsZS1lbWJlZCB7XG4gICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmW2RhdGEtYi1tb2RhbC1zbGlkZXNob3ctanMtc2xpZGVdIHtcbiAgICBAaW5jbHVkZSBoLWZvY3VzYWJsZSgpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBwYWRkaW5nLXRvcDogYnUoMTApO1xuXG4gICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAmX19leGFtcGxlIHtcbiAgICAgICYubC0yLS1zbGlkZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICAgICAgfVxuXG4gICAgICAje2UtbmVzdCgpfV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgtLjQpO1xuICAgICAgfVxuXG4gICAgICAmLmwtMi0tc2xpZGUtLXByZXNlbnQtd2lkZSB7XG4gICAgICAgIC5iLWV4YW1wbGUtc2xpZGVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgtLjkpO1xuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzdWJzZXF1ZW50IHNsaWRlc1xuICAgIC5iLWV4YW1wbGUtc2xpZGUgKyAmLFxuICAgIC5iLWtub3dsZWRnZS1zbGlkZSArICYge1xuICAgICAgcGFkZGluZy10b3A6IGJ1KDExLjkpO1xuXG4gICAgICBAYXQtcm9vdCAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIHRpdGxlcyBpbiBzdWJzZXF1ZW50IHNsaWRlc1xuICAgICAgLmItZXhhbXBsZS1zbGlkZV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgtLjcpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSg2LjYpO1xuXG4gICAgICAgIEBhdC1yb290IC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5iLWV4YW1wbGUtZW1iZWQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuW2RhdGEtY2xhc3M9U2xpZGVDb250ZW50XSArIFtkYXRhLWNsYXNzPUdlbmVyaWNDb250ZW50XSAuYi1jb250ZW50LS1uby10aXRsZSB7XG4gIHBhZGRpbmctdG9wOiBidSg2KTtcbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLXN0cmF0ZWd5XG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBTdHJhdGVneVxuLy8gXG4vLyBNYXJrdXA6IGItc3RyYXRlZ3kuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuNDlcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItc3RyYXRlZ3kge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2VtYmVkIHtcbiAgICAuYi1leGFtcGxlLWVtYmVkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNSk7XG4gIH1cblxuICAmX19zdWdnZXN0aW9ucyB7XG4gICAgLmItZmlsdGVyLW5vdGljZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiBidSg0LjUpO1xuICB9XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuXG4gICAgJl9fZW1iZWQge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNSk7XG4gICAgfVxuXG4gICAgJl9fc3VnZ2VzdGlvbnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMSk7XG4gICAgfVxuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMi41KTtcbiAgICB9XG5cbiAgICAvLyBmaXJzdCBvbmUgaXMgZGlmZmVyZW50XG4gICAgLy8gdW5zdXJlIG9mIGUvbS1uZXN0IHN5bnRheCBoZXJlXG4gICAgLmItZmlsdGVyLW5vdGljZSArICYge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMy4zKTtcblxuICAgICAgLmItc3RyYXRlZ3lfX2VtYmVkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMi4xKTtcblxuICAgICAgICAuYi1leGFtcGxlLWVtYmVkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSguOSk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYi1zdHJhdGVneV9fc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyLjcpO1xuICAgICAgfVxuXG4gICAgICAuYi1zdHJhdGVneV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyLjMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItdW5kZXJzdGFuZC1vdmVydmlld1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gVW5kZXJzdGFuZCBPdmVydmlld1xuLy8gXG4vLyBNYXJrdXA6IGItdW5kZXJzdGFuZC1vdmVydmlldy5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC41NVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi11bmRlcnN0YW5kLW92ZXJ2aWV3IHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYuaC1nbG9iYWwtbWFyZ2luIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19zaG9ydC10aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IGJ1KDcpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgzLjMpO1xuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICAuYi1ydWxlLS10aGljayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjQpO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIC5oMy0tdW5kZXJzdGFuZC1zdW1tYXJ5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC0uNik7XG4gICAgfVxuXG4gICAgLnAtLWludHJvLS1ndWlkZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjQpO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJl9faGVhZGVyIHtcbiAgICAgIC5iLXJ1bGUtLXRoaWNrIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vdmVydmlldyB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg0KTtcbiAgICB9XG5cbiAgICAmX19zaG9ydC10aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogYnUoOCk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlLFxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC40KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWNhcHRpb25cbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIENhcHRpb25cbi8vXG4vLyBTZWUgRXhhbXBsZSBlbWJlZFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDEwMC40XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWNhcHRpb24ge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBidSgxLjcpIGJ1KDEuMjUpIGJ1KDEuMSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2Nsb3NlZC1jYXB0aW9uaW5nIHtcblxuICAgIC5oLWljb24tLWNsb3NlZGNhcHRpb25zIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAtLjQ1ZW07XG4gICAgICB3aWR0aDogMS43ZW07XG4gICAgICBoZWlnaHQ6IDEuN2VtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBidSguNSk7XG4gICAgfVxuICB9XG5cbiAgJl9fY3JlZGl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGJ1KC41KSAwO1xuICB9XG5cblxuICAvLyB1c2UgYSB3aGl0ZSBsaW5rIHJhdGhlciB0aGFuIGEgYmx1ZSBvbmVcbiAgLy8gKGRlc2lnbiBkZXZpYXRlcyBmcm9tIHRoZSBmaWxsIGNvbG9yIHRyZW5kIGhlcmUpXG4gICYuYi1maWxsLS1kYXJrIHtcbiAgICBhLFxuICAgIC5hIHtcbiAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICYuYi1saW5rLS1leHRlcm5hbCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pY29ucy9hcnJvdy0tdXAtcmlnaHQtLXR5cGUtbGlnaHQuc3ZnXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC1iZWxvdy13aWRlKSB7XG4gICAgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjg3NSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIHBhZGRpbmc6IGJ1KC41KSBidSgyLjQ1KSBidSguNSk7XG5cbiAgICAmX19jbG9zZWQtY2FwdGlvbmluZyB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgLnAtLWNhcHRpb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEFQXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gcG9zaXRpb24gaWNvbiBuZXh0IHRvIHRleHRcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBidSgzLjIpO1xuXG4gICAgICAgIC5iLWljb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IGJ1KC0uMyk7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG1hcmdpbnMgZG9uJ3Qgb3ZlcmxhcCBkdWUgdG8gdGhlIGdyaWQgd3JhcHBlclxuICAgICZfX2NhcHRpb24ge1xuICAgICAgKyAubC0yLS1zcGxpdC0tY29udGVudC13aWRlLWFuZC11cCB7XG4gICAgICAgIC5wLS1jYXB0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbm8tY2xvc2VkLWNhcHRpb25pbmcge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgJl9fc291cmNlIHtcbiAgICAgIC5wLS1xdW90ZS1zb3VyY2Uge1xuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSgxLjQpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zb3VyY2UtaW1hZ2Uge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgJi0td2lkZSB7XG4gICAgICAje20tbmVzdCgpfV9fY2FwdGlvbiB7XG4gICAgICAgIC5wLS1jYXB0aW9uIHtcbiAgICAgICAgICBAaW5jbHVkZSBwLS1jYXB0aW9uLS13aWRlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1wcm9jZXNzLWxpc3Rcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFByb2Nlc3MgTGlzdFxuLy8gUmVwZWF0aW5nIG9yIFN0YXJ0IHRvIEZpbmlzaFxuLy9cbi8vIE1hcmt1cDogYi1wcm9jZXNzLWxpc3QuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMzhcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG4kYi1wcm9jZXNzLWxpc3QtbGluZS10aGlja25lc3M6IDFweDtcbiRiLXByb2Nlc3MtbGlzdC1saW5lLXRoaWNrbmVzcy1wcmVzZW50OiAycHg7XG4kYi1wcm9jZXNzLWxpc3Qtc3RlcC1maWxsOiBjb2xvcihmaWxsLWxpZ2h0KTtcbiRiLXByb2Nlc3MtbGlzdC1zdGVwLWZpbGwtcHJlc2VudDogY29sb3IoZmlsbC1saWdodGVzdCk7XG4kYi1wcm9jZXNzLWxpc3QtbGluZS1jb2xvcjogY29sb3IodHlwZS1kYXJrKTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1wcm9jZXNzLWxpc3Qge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgbWFyZ2luLXRvcDogMDtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fbGlzdCB7XG4gICAgI3tlLW5lc3QoKX1fX3N0ZXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgI3tlLW5lc3QoKX1fX3N0ZXAtaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IGJ1KDIuMTI1KSBidSgyLjUpO1xuICAgICAgICBtYXJnaW4tdG9wOiBidSguNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC45KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGItcHJvY2Vzcy1saXN0LXN0ZXAtZmlsbDtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbmVzdGluZy1kZXB0aFxuICAgICAgICAje2UtbmVzdCgpfV9faWNvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbmVzdGluZy1kZXB0aFxuICAgICAgICAgIC5oLWljb24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgLy8gY29ubmVjdCBsb25nIGFycm93IHdpdGggYWRqYWNlbnQgYm9yZGVyXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3tlLW5lc3QoKX1fX3N0ZXAtaW5uZXIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuZXN0aW5nLWRlcHRoXG4gICAgICAgICN7ZS1uZXN0KCl9X19zdGVwLWlubmVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7ZS1uZXN0KCl9X19pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiBidSguMjUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLmgtaWNvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbmVzdGluZy1kZXB0aFxuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KC0uMSk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSgtLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tcmVwZWF0aW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1yaWdodDogYnUoMi41KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogYnUoMyk7XG4gICAgYm9yZGVyLXJpZ2h0OiAkYi1wcm9jZXNzLWxpc3QtbGluZS10aGlja25lc3Mgc29saWQgJGItcHJvY2Vzcy1saXN0LWxpbmUtY29sb3I7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoLjUpO1xuXG4gICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogYnUoNik7XG4gICAgfVxuXG4gICAgLy8gaG9yaXpvbnRhbCBzdHJ1dHMgb2Ygb2Zmc2V0IGN5Y2xpY2FsIHJlY3RhbmdsZVxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgKyAje2J1KDIuNS8yKX0pOyAvLyAyLjUgaXMgcGFkZGluZy1yaWdodFxuICAgICAgYm9yZGVyLXRvcDogJGItcHJvY2Vzcy1saXN0LWxpbmUtdGhpY2tuZXNzIHNvbGlkICRiLXByb2Nlc3MtbGlzdC1saW5lLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19saXN0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmItcHJvY2Vzcy1saXN0X19zdGVwIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgLmItcHJvY2Vzcy1saXN0X19zdGVwLWlubmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KC42KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIC5iLXByb2Nlc3MtbGlzdF9fc3RlcC1pbm5lciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSguNik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIHZlcnRpY2FsIHN0cnV0cyBvZiBvZmZzZXQgY3ljbGljYWwgcmVjdGFuZ2xlXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiBidSgtMy41KTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IGJ1KDIpO1xuICAgICAgICBib3JkZXItbGVmdDogJGItcHJvY2Vzcy1saXN0LWxpbmUtdGhpY2tuZXNzIHNvbGlkICRiLXByb2Nlc3MtbGlzdC1saW5lLWNvbG9yO1xuXG4gICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgIGJvdHRvbTogYnUoLTYuNSk7XG4gICAgICAgICAgaGVpZ2h0OiBidSg1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19yZXBlYXRzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogYnUoLS42MjUpO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDQ1JSArICN7YnUoMi41LzIpfSk7XG5cbiAgICAgIC5oLWljb24ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLS41ZW07XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICYtLXJlcGVhdGluZyB7XG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogYnUoNC43KTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkYi1wcm9jZXNzLWxpc3QtbGluZS10aGlja25lc3MtcHJlc2VudDtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgKyAje2J1KDQuNy8yKX0pOyAvLyA0LjcgaXMgcGFkZGluZy1yaWdodFxuICAgICAgICAgIGJvcmRlci13aWR0aDogJGItcHJvY2Vzcy1saXN0LWxpbmUtdGhpY2tuZXNzLXByZXNlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYi1wcm9jZXNzLWxpc3RfX2xpc3Qge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGItcHJvY2Vzcy1saXN0LWxpbmUtdGhpY2tuZXNzLXByZXNlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAje2UtbmVzdCgpfV9fc3RlcCB7XG4gICAgICAgICN7ZS1uZXN0KCl9X19pY29uIHtcbiAgICAgICAgICAuaC1pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KC0uMik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3tlLW5lc3QoKX1fX3N0ZXAtaW5uZXIge1xuICAgICAgICAgIHBhZGRpbmc6IGJ1KDIuMSkgYnUoMy45KSBidSgzLjYpIGJ1KDMpO1xuXG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICAvLyBhbHNvIHVzZWQgYnkgaC1saXN0LS1xdWVzdGlvbnNcbiAgICAgICAgICAgIHBhZGRpbmc6IGJ1KDQuMSkgYnUoMy45KSBidSg0LjMpIGJ1KDUuNCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGItcHJvY2Vzcy1saXN0LXN0ZXAtZmlsbC1wcmVzZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItZXhhbXBsZS1ob21lXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBFeGFtcGxlIC0gSG9tZVxuLy8gXG4vLyBNYXJrdXA6IGItZXhhbXBsZS1ob21lLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjEwXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWV4YW1wbGUtaG9tZSB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuNyk7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiBidSg0LjEpO1xuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAuYi1leGFtcGxlLWVtYmVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgfVxuXG4gID4gLmItcnVsZSB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDEuNzUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgtLjUpO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuYi1leGFtcGxlLWVtYmVkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1maWxsXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBGaWxsXG4vL1xuLy8gQXBwbGllcyBhIHNvbGlkIGNvbG91ciBmaWxsIHRvIGEgY29udGFpbmVyLFxuLy8gYW5kIGluc3RydWN0cyB0aGUgY29udGFpbmVkIHRleHQgdG8gYWRhcHQgYXBwcm9wcmlhdGVseS5cbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTJcblxuQG1peGluIGItZmlsbCgkY29sb3IpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gcmVuZGVyIGNoaWxkIG1hcmdpbnMgYXMgcGFkZGluZ1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcigkY29sb3IpO1xuXG4gIEBpZiAoJGNvbG9yID09IFwiZmlsbC1kYXJrXCIpIHtcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNixcbiAgICAuaDEsXG4gICAgLmgyLFxuICAgIC5oMyxcbiAgICAuaDQsXG4gICAgLmg1LFxuICAgIC5oNixcbiAgICBwLFxuICAgIC5wLFxuICAgIGxpIHtcbiAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICB9XG5cbiAgICBhLFxuICAgIC5hIHtcbiAgICAgIGNvbG9yOiBjb2xvcihsaW5rLWxpZ2h0KTtcblxuICAgICAgLmgtaWNvbi0tYXJyb3cge1xuICAgICAgICBmaWxsOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICYuYS0tYWN0aXZlLXBhZ2Utb3ItcGFyZW50IHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGxpbmstbGlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmEge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICY6bm90KC5hLS1uby12aXNpdGVkKSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICA+IC5hIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihsaW5rLWxpZ2h0LXZpc2l0ZWQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1hcmsge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKG1hcmspO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wLS1icmFuZCB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGxpbmstbGlnaHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmEge1xuICAgICAgJi0tdmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihsaW5rLWxpZ2h0LXZpc2l0ZWQpO1xuXG4gICAgICAgIC5hIHtcbiAgICAgICAgICBjb2xvcjogY29sb3IobGluay1saWdodC12aXNpdGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5iLWhpZGUtc2hvdy1qcy1leHBhbmRtb3JlX19idXR0b24ge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmItZmlsbC0tbGlnaHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodC1vbi1kYXJrKTtcblxuICAgICAgcCxcbiAgICAgIGEsXG4gICAgICAuYSB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWRhcmspO1xuICAgICAgfVxuICAgIH1cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiBjb2xvcihtYXJrKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1maWxsIHtcbiAgJi0tYnJhbmQge1xuICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtYnJhbmRcIik7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIGVsc2UgQVAgYi1iYWNrLXRvLXRvcCBjb21wcm9taXNlZFxuICB9XG5cbiAgJi0tdGhlbWUxIHtcbiAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLXRoZW1lMVwiKTtcbiAgfVxuXG4gICYtLXRoZW1lMiB7XG4gICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC10aGVtZTJcIik7XG4gIH1cblxuICAmLS10aGVtZTMge1xuICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtdGhlbWUzXCIpO1xuICB9XG5cbiAgJi0tdGhlbWU0IHtcbiAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLXRoZW1lNFwiKTtcbiAgfVxuXG4gICYtLXRoZW1lNSB7XG4gICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC10aGVtZTVcIik7XG4gIH1cblxuICAmLS1saWdodCB7XG4gICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC1saWdodFwiKTtcbiAgfVxuXG4gICYtLWxpZ2h0ZXIge1xuICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtbGlnaHRlclwiKTtcbiAgfVxuXG4gICYtLWRhcmsge1xuICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtZGFya1wiKTtcblxuICAgICYtLW5hcnJvdyB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLWJlbG93LXdpZGUpIHtcbiAgICAgICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC1kYXJrXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXdpZGUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1iZXR3ZWVuLXdpZGUtYW5kLXdpZGVzdCkge1xuICAgICAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWRhcmtcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0td2lkZXN0IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZS1hbmQtdXApIHtcbiAgICAgICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC1kYXJrXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLW1vZGFsIHtcbiAgICAgIC5iLW1vZGFsICYge1xuICAgICAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWRhcmtcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tdGhlbWUxLFxuICAmLS10aGVtZTIsXG4gICYtLWRhcmsge1xuICAgIC5iLXJ1bGUge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWRhcmstc3RyaXBlIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbi1ibGVlZC1maWxsKDMgLyAxMiwgJGlubmVyLWJsZWVkLXdpZGU6IGJ1KDIpLCAkaW5uZXItYmxlZWQtd2lkZXN0OiBidSgyKSwgJGlubmVyLWJsZWVkLWZ1bGw6IGJ1KDApLCAkY29sb3I6IGNvbG9yKGZpbGwtZGFyaykpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIHJlbmRlciBjaGlsZCBtYXJnaW5zIGFzIHBhZGRpbmdcbiAgfVxuXG4gIC8vIGFwcGxpZWQgb24gYnAtcGFnZS13aWRlLWFuZC11cFxuICAmLS1kYXJrLWxpZ2h0LXN0cmlwZSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4tYmxlZWQtZmlsbCgzIC8gMTIsICRpbm5lci1ibGVlZC13aWRlOiBidSgyKSwgJGlubmVyLWJsZWVkLXdpZGVzdDogYnUoMiksICRpbm5lci1ibGVlZC1mdWxsOiBidSgwKSwgJGNvbG9yOiBjb2xvcihmaWxsLWRhcmspKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyByZW5kZXIgY2hpbGQgbWFyZ2lucyBhcyBwYWRkaW5nXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodGVyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZS1hbmQtdXApIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1waWN0dXJlXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBQaWN0dXJlXG4vLyBcbi8vIFNlZSBFeGFtcGxlIGVtYmVkXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4zN1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gSUUxMSBkb2Vzbid0IHNjYWxlIFNWRyBpbWFnZSBoZWlnaHRzXG4vLyB3aGVuIHZpZXdCb3gsIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcyBhcmUgc3BlY2lmaWVkXG4vLyBhbmQgdGhlIGltYWdlJ3MgY29udGFpbmVyIGlzIG5hcnJvd2VyIHRoYW4gdGhlIGltYWdlIHdpZHRoXG4vLyBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9sYXJyeWJvdGhhLzc4ODE2OTFcblxuaW1nIHtcbiAgJltzcmMkPVwiLnN2Z1wiXSB7XG4gICAgd2lkdGg6IDEwMCU7ICAvLyBzY2FsZSBTVkcgdmlld3BvcnQgaW4gSUUxMVxuICB9XG59XG5cbi5iLXBpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAmX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICYtLW91dGxpbmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWNvbnRlbnRcbi8vIFxuLy8gU2VlIGFsc28gYmFzZS90eXBlXG4vLyBTZWUgYWxzbyBoZWxwZXJzL3R5cGVcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIENvbnRlbnRcbi8vIFxuLy8gQSBzYW5kYm94IGZvciB1c2luZyBnZW5lcmFsIGNvbnRlbnQgc3R5bGVzLFxuLy8gYXMgdGhlIGdlbmVyYWwgY29udGVudCBkZXNpZ25zXG4vLyB3ZXJlIGNvbXBsZXRlZCBhZnRlciBkZXZlbG9wbWVudCBoYWQgc3RhcnRlZC5cbi8vIFxuLy8gVXNlZCBieTpcbi8vIC0gQ29udGVudCBibG9ja3Mgb24gVW5kZXJzdGFuZCBwYWdlXG4vLyAtIENvbnRlbnQgYmxvY2tzIG9uIEVycm9yIHBhZ2Vcbi8vIC0gUkggY29sdW1uIG9mIEhlbHAgaXRlbSwgb24gSGVscCBwYWdlXG4vLyBcbi8vIE1hcmt1cDogYi1jb250ZW50Lmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWNvbnRlbnQge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gc3BhY2UgYWZ0ZXIgYSBsZWFkaW5nIGVtYmVkXG4gIC8vIGZvciB1bmRlcnN0YW5kIHBhZ2VcbiAgLmItZXhhbXBsZS1lbWJlZCArICYge1xuICAgIG1hcmdpbi10b3A6IGJ1KDQuNik7XG4gIH1cblxuICAvLyBzcGFjZSBiZWZvcmUgYSB0cmFpbGluZyBydWxlXG4gIC8vIGZvciB1bmRlcnN0YW5kIHBhZ2VcbiAgKyAuYi1ydWxlLS10aGluIHtcbiAgICBtYXJnaW4tdG9wOiBidSg0LjYpO1xuICB9XG5cbiAgLy8gc3BhY2UgYWZ0ZXIgYSBjb250ZW50IGhlYWRlclxuICAvLyBmb3IgdW5kZXJzdGFuZCBwYWdlXG4gIC5iLWNvbnRlbnQtaGVhZGVyICsgJiB7XG4gICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgPiB7XG4gICAgKiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDMpO1xuICAgICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTI1cHgsIDMpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNSk7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgIH1cblxuICAgIC8vIGg0IGluaGVyaXRzIGZyb20gYmFzZVxuXG4gICAgaDUge1xuICAgICAgLy8gaW5jcmVhc2UgdHJhaWxpbmcgc3BhY2VcbiAgICAgIC8vIGZvciB1bmRlcnN0YW5kIHBhZ2VcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNCk7XG4gICAgfVxuXG4gICAgaDYge1xuICAgICAgLy8gZGVjcmVhc2UgbGVhZGluZyBzcGFjZVxuICAgICAgLy8gaW5jcmVhc2UgdHJhaWxpbmcgc3BhY2VcbiAgICAgIC8vIGZvciB1bmRlcnN0YW5kIHBhZ2VcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuOSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjgpO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgLy8gaW5jcmVhc2UgaW50ZXJuYWwgYW5kIHRyYWlsaW5nIHNwYWNlXG4gICAgICAvLyBmb3IgdW5kZXJzdGFuZCBwYWdlXG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIC8vIGluY3JlYXNlIHRyYWlsaW5nIHNwYWNlXG4gICAgICAvLyBkZWNyZWFzZSBzcGFjZSB0byBtYXJnaW5cbiAgICAgIC8vIGZvciB1bmRlcnN0YW5kIHBhZ2VcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuOSk7XG4gICAgICBtYXJnaW4tbGVmdDogYnUoMy44cmVtKTtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIC8vIGluY3JlYXNlIGludGVybmFsIHNwYWNlXG4gICAgICAgIC8vIGZvciB1bmRlcnN0YW5kIHBhZ2VcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG1vdmUgdGV4dCBjbG9zZXIgdG8gbWFyZ2luXG4gICAgLy8gbW92ZSBudW1iZXJpbmcgY2xvc2VyIHRvIHRleHRcbiAgICAvLyBmb3IgdW5kZXJzdGFuZCBwYWdlXG4gICAgLy8gY291bGQgYmUgZ2xvYmFsXG4gICAgb2wge1xuICAgICAgcGFkZGluZy1sZWZ0OiBidSgxLjUpO1xuICAgICAgbWFyZ2luLXRvcDogYnUoLS41KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuOSk7XG5cbiAgICAgID4gbGkge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSgtLjc1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHAsXG4gICAgLnAge1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIC8vIHNwYWNlIGFmdGVyIGEgbGVhZGluZyBlbWJlZFxuICAgIC8vIGZvciB1bmRlcnN0YW5kIHBhZ2VcbiAgICAuYi1leGFtcGxlLWVtYmVkICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg2KTtcbiAgICB9XG5cbiAgICArIC5iLXJ1bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNi45KTtcbiAgICB9XG5cbiAgICA+IHtcbiAgICAgIHAsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgcC0tY29udGVudDtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGJ1KDUuMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuNSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBidSgzLjUpO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBvbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogYnUoNS4yKTtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMSk7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IGJ1KDMuMik7IC8vIDUuMiBsZXNzIDJyZW0gaW5kZW50XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLTMuMik7IC8vIG1hdGNoZXMgd2lkdGhcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDUpO1xuICAgICAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMjVweCwgNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBidSg0KTtcbiAgICAgIH1cblxuICAgICAgLy8gaDQgaW5oZXJpdHMgZnJvbSBiYXNlXG5cbiAgICAgIGg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi44KTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgzLjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjMpO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGVscCBwYWdlXG4gICAgLy8gbm90ZTogZGVzaWduIG9ubHkgZGVtb25zdHJhdGVzIHBhcmFncmFwaHNcbiAgICAmLS1zbWFsbCB7XG4gICAgICA+IHtcbiAgICAgICAgcCxcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBwLS1jb250ZW50LS1zbWFsbDtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLW5leHQtc3RlcHNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIE5leHQgU3RlcHNcbi8vIFxuLy8gTWFya3VwOiBiLW5leHQtc3RlcHMuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMzJcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItbmV4dC1zdGVwcyB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fcmV0dXJuIHtcbiAgICBtYXJnaW4tdG9wOiBidSg0LjQpO1xuXG4gICAgJl9fcHJlZml4IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiBidSg0KTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuICB9XG5cbiAgLmItZ3VpZGUtdGlsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNC4xKTtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KC42KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC42KTtcbiAgICB9XG4gIH1cblxuICAuYi1ydWxlLS10aGljayB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNC41KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDYpO1xuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogYnUoLTEuNCk7XG4gICAgfVxuXG4gICAgJl9fcmV0dXJuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJl9fZ3VpZGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNC40KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuOCk7XG5cbiAgICAgIC5iLWd1aWRlLXRpbGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSguOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDEuOSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1ydWxlLS10aGljayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSguNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1ob3ctdG8tdXNlLXRoZS1zaXRlXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBIb3cgdG8gdXNlIHRoZSBzaXRlXG4vLyBcbi8vIE1hcmt1cDogYi1ob3ctdG8tdXNlLXRoZS1zaXRlLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjIwXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWhvdy10by11c2UtdGhlLXNpdGUge1xuXG4gIHBhZGRpbmctYm90dG9tOiBidSgzLjUpO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IGJ1KDQuNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMi44KTtcbiAgfVxuXG4gIGEsXG4gIC5hIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIC5iLXJ1bGUge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuNSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAvLyBvZmZzZXQgLmwtMi0tcGFnZS0tZ3VpZGUgYm90dG9tIG1hcmdpblxuICAgIG1hcmdpbi1ib3R0b206IGJ1KC0xMik7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg1LjQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy45KTtcbiAgICB9XG5cbiAgICAuYi1ydWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuNyk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1saW5rLWljb25cbi8vIFxuLy8gU2VlIGFsc28gZ3VscGZpbGUuanM6IGxpbmtJY29uKClcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIExpbmsgd2l0aCBJY29uXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4yNVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWxpbmstaWNvbiB7XG5cbiAgJl9faWNvbiB7XG4gICAgd2lkdGg6IC43ZW07XG4gIH1cblxuICAmX193b3JkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gICYtLXN0YXJ0IHtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuXG4gICAgLmgtaWNvbi0tYXJyb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgfVxuICB9XG5cbiAgJi0tZW5kIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcblxuICAgIC5oLWljb24tLWFycm93LFxuICAgIC5oLWljb24tLWFycm93LS11cC1yaWdodC0tbGluayB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1iYWNrLXRvLXRvcFxuLy8gXG4vLyBTZWUgYWxzbyBiYWNrLXRvLXRvcC5qc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gQmFjayB0byB0b3Bcbi8vIFxuLy8gTWFya3VwOiBiLWJhY2stdG8tdG9wLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjJcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItYmFjay10by10b3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygje2J1KC0xMS45KX0gLSAxcHgpOyAvLyB0b3AgcGFkZGluZyBvbiBmb290ZXIgLSBidXR0b24gaGVpZ2h0IC0gYnV0dG9uIGJvcmRlclxuICBoZWlnaHQ6IGJ1KDYpOyAvLyBidXR0b24gaGVpZ2h0XG5cbiAgJi5oLWlzLXN0aWNreSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7XG4gIH1cblxuICAmLFxuICAmLmgtaXMtc3RpY2t5IHtcbiAgICByaWdodDogYnUoJGctbWFyZ2luLW5hcnJvdy1idSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICB0b3A6IGNhbGMoI3tidSgtMTEuMyAtIDYpfSAtIDFweCk7IC8vIHRvcCBwYWRkaW5nIG9uIGZvb3RlciAtIGJ1dHRvbiBoZWlnaHQgLSBidXR0b24gYm9yZGVyXG5cbiAgICAmLFxuICAgICYuaC1pcy1zdGlja3kge1xuICAgICAgcmlnaHQ6IGJ1KCRnLW1hcmdpbi13aWRlLWJ1KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGVzdC1hbmQtdXApIHtcbiAgICAmLFxuICAgICYuaC1pcy1zdGlja3kge1xuICAgICAgcmlnaHQ6IGJ1KCRnLW1hcmdpbi13aWRlc3QtYnUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXdpZHRoLWJhY2t0b3RvcC1vdXRkZW50LWFuZC11cCkge1xuICAgIHJpZ2h0OiBjYWxjKCN7YnUoLTguNSl9IC0gMXB4KTsgLy8gZ3V0dGVyIG9mZnNldCAtIGJ1dHRvbiBib3JkZXJcblxuICAgICYuaC1pcy1zdGlja3kge1xuICAgICAgLy8gcmlnaHQ6IGNlbnRlciArIGhhbGYgYnV0dG9uIHdpZHRoIC0gaGFsZiBVSSB3aWR0aCAtIGd1dHRlciBvZmZzZXQgLSBidXR0b24gYm9yZGVyIC0gMlxuICAgICAgcmlnaHQ6IGNhbGMoNTAlICsgI3tidSg2LzIpfSAtICN7LjUgKiByZW0oJGctbWFyZ2luLXdpZGVzdCArICRnLXdpZHRoLXdpZGVzdCArICRnLW1hcmdpbi13aWRlc3QpfSAtICN7YnUoMTEuMyl9IC0gMXB4IC0gMnB4KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWZpbHRlci1ub3RpY2Vcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEZpbHRlciBub3RpY2Vcbi8vIFxuLy8gTWFya3VwOiBiLWZpbHRlci1ub3RpY2UuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTRcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItZmlsdGVyLW5vdGljZSB7XG5cbiAgbWFyZ2luLWJvdHRvbTogYnUoMi41KTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IGJ1KDEuNSkgYnUoMS41KSBidSgxLjUpIGJ1KDUpO1xuICB9XG5cbiAgLnAtLWZpbHRlci1ub3RpY2Uge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5oLWljb24tLWluZm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGJ1KDEuNSk7XG4gICAgbGVmdDogYnUoMS41KTtcbiAgICB3aWR0aDogMS41ZW07XG4gICAgaGVpZ2h0OiAxLjVlbTtcbiAgfVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1zdHJhdGVneSB7XG4gICAgbWFyZ2luLXRvcDogYnUoMi41KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgIC5iLXN0cmF0ZWd5ICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgzLjYpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy42KTtcbiAgICB9XG5cbiAgICAmLS13aWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEpO1xuXG4gICAgICAuaC1pY29uLS1pbmZvIHtcbiAgICAgICAgdG9wOiBidSgxLjcpO1xuICAgICAgICBsZWZ0OiBidSgyKTtcbiAgICAgIH1cblxuICAgICAgLmItZmlsdGVyLW5vdGljZV9faW5uZXIge1xuICAgICAgICBwYWRkaW5nOiBidSgyKSBidSgxLjUpIGJ1KDEuOCkgYnUoNS42KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIE1vZGFhbCAtIGFjY2Vzc2libGUgbW9kYWxzIC0gdjAuMy4xXG4vLyBieSBIdW1hYW4sIGZvciBhbGwgaHVtYW5zLlxuLy8gaHR0cDovL2h1bWFhbi5jb21cblxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItdmVuZG9yLW1vZGFhbFxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG4kYi12ZW5kb3ItbW9kYWFsLW92ZXJsYXktZmlsbDogY29sb3IoZmlsbC1saWdodGVzdCk7XG4kYi12ZW5kb3ItbW9kYWFsLXdyYXBwZXItZmlsbDogY29sb3IoZmlsbC1saWdodGVzdCk7XG4kYi12ZW5kb3ItbW9kYWFsLWNvbnRhaW5lci1maWxsOiBjb2xvcihmaWxsLWxpZ2h0ZXN0KTtcbiRiLXZlbmRvci1tb2RhYWwtY2xvc2UtYnV0dG9uLWNvbG9yOiBjb2xvcih0eXBlLWRhcmspO1xuJGItdmVuZG9yLW1vZGFhbC1tYXgtd2lkdGg6IGJ1KDE1MCk7IC8vIDEyMDBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gbW9kYWFsLXRyYW5zaXRpb24oJHR5cGUsICRzcGVlZDogLjJzLCAkZWFzZTogZWFzZS1pbi1vdXQpIHtcbiAgdHJhbnNpdGlvbjogJHR5cGUgI3skc3BlZWR9ICN7JGVhc2V9O1xufVxuXG5AbWl4aW4gbW9kYWFsLWhpZGV0ZXh0KCkge1xuICBAaW5jbHVkZSBoLXZpc3VhbGx5aGlkZGVuKCk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLm1vZGFhbC1ub3Njcm9sbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tb2RhYWwtYWNjZXNzaWJsZS1oaWRlIHtcbiAgQGluY2x1ZGUgbW9kYWFsLWhpZGV0ZXh0O1xufVxuXG4ubW9kYWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYi12ZW5kb3ItbW9kYWFsLW92ZXJsYXktZmlsbCAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICBvcGFjaXR5OiAwO1xufVxuXG4ubW9kYWFsLXdyYXBwZXIge1xuICBAaW5jbHVkZSBtb2RhYWwtdHJhbnNpdGlvbihvcGFjaXR5LCAuM3MpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYi12ZW5kb3ItbW9kYWFsLXdyYXBwZXItZmlsbDtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICYgKiB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gIH1cblxuICAubW9kYWFsLWNsb3NlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gIH1cblxuICAmLm1vZGFhbC1zdGFydF9ub25lIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBjbGFzcy1uYW1lLWZvcm1hdFxuICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5tb2RhYWwtc3RhcnRfZmFkZSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgY2xhc3MtbmFtZS1mb3JtYXRcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJiAqW3RhYmluZGV4PVwiMFwiXSB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuICB9XG5cbiAgLy8gaXMgZnVsbHNjcmVlblxuICAmLm1vZGFhbC1mdWxsc2NyZWVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi5tb2RhYWwtb3V0ZXItd3JhcHBlciB7XG4gIC8vQGV4dGVuZCAlbC1vdXRlci1jb250YWluZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgLm1vZGFhbC1mdWxsc2NyZWVuICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5tb2RhYWwtaW5uZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC8vIHdoZW4gaXMgZnVsbHNjcmVlblxuICAubW9kYWFsLWZ1bGxzY3JlZW4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi5tb2RhYWwtY29udGFpbmVyIHtcbiAgLy9AZXh0ZW5kICVsLW91dGVyLWNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogJGItdmVuZG9yLW1vZGFhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGItdmVuZG9yLW1vZGFhbC1jb250YWluZXItZmlsbDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY3Vyc29yOiBhdXRvO1xuXG4gIC8vIHdoaWxlIGxvYWRpbmdcbiAgJi5pc19sb2FkaW5nIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBjbGFzcy1uYW1lLWZvcm1hdFxuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyB3aGVuIGlzIGZ1bGxzY3JlZW5cbiAgLm1vZGFhbC1mdWxsc2NyZWVuICYge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFhbC1jbG9zZSB7XG4gIEBpbmNsdWRlIG1vZGFhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYnUoMik7XG4gIHJpZ2h0OiBidSgyKTtcbiAgd2lkdGg6IGJ1KDUpO1xuICBoZWlnaHQ6IGJ1KDUpO1xuICBvcGFjaXR5OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgc3BhbiB7XG4gICAgQGluY2x1ZGUgbW9kYWFsLWhpZGV0ZXh0O1xuICB9XG5cbiAgLy8gWCBjbG9zZSBpY29uIGlzIHR3byByb3RhdGVkIGxpbmVzXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIG1vZGFhbC10cmFuc2l0aW9uKGJhY2tncm91bmQpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICBsZWZ0OiAxOXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHdpZHRoOiAzcHg7IC8vIGxpbmUgd2lkdGhcbiAgICBoZWlnaHQ6IGJ1KDMuNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGItdmVuZG9yLW1vZGFhbC1jbG9zZS1idXR0b24tY29sb3I7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxuXG4gIC5tb2RhYWwtZnVsbHNjcmVlbiAmIHtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLW1vZGFsLWpzXG4vL1xuLy8gU2VlIGFsc28gaGVscGVycy9sYXlvdXRcbi8vIFNlZSBhbHNvIG1vZGFhbC5qc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gTW9kYWxcbi8vXG4vLyBNYXJrdXA6IGItbW9kYWwtanMuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDEwMC4yNlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gaGVhZGVyICYgZm9vdGVyIGhlaWdodHMgbXVzdCB1c2UgcmVtc1xuJGItbW9kYWwtanMtLXByZXNlbnQtaGVhZGVyLWhlaWdodDogYnUoMTYuNyk7XG4kYi1tb2RhbC1qcy0tcHJlc2VudC1oZWFkZXItdHJhaWxpbmctcGFkZGluZzogYnUoMS41KTtcbiRiLW1vZGFsLWpzLS1wcmVzZW50LWZvb3Rlci1sZWFkaW5nLXBhZGRpbmc6IGJ1KC44KTtcbiRiLW1vZGFsLWpzLS1wcmVzZW50LWZvb3Rlci1oZWlnaHQ6IGJ1KDE2LjcpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gYi1tb2RhbC1qcy0tcHJlc2VudC1zdGlja3koKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMzsgLy8gc3RhY2sgYWJvdmUgYi12aWRlbyBidXR0b25cbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItbW9kYWwtanMge1xuXG4gIC8vIGFsbG93IEFqYXggc3Bpbm5lciBvdmVybGF5IHRvIGV4dGVuZCB0byBtb2RhbCBoZWlnaHQgZHVyaW5nIGxvYWRcbiAgLm1vZGFhbC1jb250YWluZXIsXG4gIC5tb2RhYWwtY29udGVudCxcbiAgLm1vZGFhbC1jb250ZW50LWNvbnRhaW5lcixcbiAgLm1vZGFhbC1jb250ZW50LWNvbnRhaW5lciA+IC5sLWFqYXgtanMge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAvLyBwcmV2ZW50IHZlcnRpY2FsIHNoaWZ0IHdoZW4gQWpheCByZXNwb25zZXNcbiAgLy8gY2hhbmdlIHRoZSBhbW91bnQgb2YgY29udGVudCBpbiB0aGUgbW9kYWxcbiAgLm1vZGFhbC1pbm5lci13cmFwcGVyIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgLm1vZGFhbC1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgPiAubC1vdXRlci1jb250YWluZXIge1xuICAgICAgJi5iLWZpbGwtLWxpZ2h0IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIHByZXZlbnQgdHlwZWFoZWFkIGRyb3Bkb3duIGZyb20gYmVpbmcgY3JvcHBlZFxuICAgICAgICBwYWRkaW5nLXRvcDogMXB4OyAvLyBhbHRlcm5hdGl2ZSBmaXggZm9yIGItZmlsbFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXB4OyAvLyBhbHRlcm5hdGl2ZSBmaXggZm9yIGItZmlsbFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ZvY3VzYWJsZSB7XG4gICAgQGluY2x1ZGUgaC1mb2N1c2FibGU7XG4gIH1cblxuICAvLyB1c2VzIGItbW9kYWwtc2xpZGVzaG93LWpzXG4gIC8vIG5vdGUgdGhhdCAuYi1tb2RhbC1qcy0tcHJlc2VudCBjbGFzc2VzIGFyZSBhbHNvIHVzZWQgaW4gaW5kaXZpZHVhbCBibG9ja3MsXG4gIC8vIHRvIHNldCB1cCBjdXN0b20gc3R5bGluZyB3aXRoaW4gYmxvY2tzIHVzZWQgaW4gbW9kYWxzXG4gICYtLXByZXNlbnQge1xuICAgICYubW9kYWFsLXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgYi1maWxsKFwiZmlsbC1saWdodFwiKTtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAubW9kYWFsLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtbGlnaHRcIik7XG4gICAgICAgIG1heC13aWR0aDogYnUoMTQyLjUpO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAubW9kYWFsLWlubmVyLXdyYXBwZXIge1xuICAgICAgICAvLyBvdmVycmlkZSB0YWJsZSBjZW50ZXJpbmcgdG8gYWNjb21tb2RhdGUgcGlubmVkIGhlYWRlciBhbmQgZm9vdGVyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgLy8gY2hpbGQgc2VsZWN0b3IgYXMgdGhpcyBzZWxlY3RvciBpcyBhbHNvIHVzZWQgb24gcGlubmVkIGl0ZW1cbiAgICAgICAgLy8gdG8gY29udHJvbCB0aGVpciBsYXlvdXQgd2hlbiB0aGV5IGFyZSB1c2luZyBwb3NpdGlvbjpmaXhlZFxuICAgICAgICA+IC5tb2RhYWwtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAkYi1tb2RhbC1qcy0tcHJlc2VudC1oZWFkZXItaGVpZ2h0OyAvLyBwdXNoIGNvbnRlbnQgZG93biBiZWxvdyB0aGUgcGlubmVkIGhlYWRlclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICN7JGItbW9kYWwtanMtLXByZXNlbnQtZm9vdGVyLWxlYWRpbmctcGFkZGluZyArICRiLW1vZGFsLWpzLS1wcmVzZW50LWZvb3Rlci1oZWlnaHR9OyAvLyBhbGxvdyBzY3JvbGxpbmcgdG8gdGhlIGVuZCBvZiB0aGUgY29udGVudFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWxpZ2h0XCIpOyAvLyBhcHBsaWVzIG92ZXJmbG93OiBoaWRkZW5cbiAgICAgICAgQGluY2x1ZGUgYi1tb2RhbC1qcy0tcHJlc2VudC1zdGlja3koKTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6ICRiLW1vZGFsLWpzLS1wcmVzZW50LWhlYWRlci1oZWlnaHQ7XG4gICAgICAgIC8vIHNwYWNlIGJlbG93IHJ1bGUgKyBydWxlIGhlaWdodFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGItbW9kYWwtanMtLXByZXNlbnQtaGVhZGVyLXRyYWlsaW5nLXBhZGRpbmc7XG5cbiAgICAgICAgLy8gbmVzdGVkIGNvbnRhaW5lciBpcyByZXF1aXJlZFxuICAgICAgICAvLyB0byBtYXRjaCBtb2RhbCBsYXlvdXRcbiAgICAgICAgLy8gYXMgdGhlIGhlYWRlciBoYXMgZml4ZWQgcG9zaXRpb25pbmdcbiAgICAgICAgPiAubW9kYWFsLWNvbnRhaW5lciB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyByZXZlYWwgdHJhaWxpbmcgcnVsZVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYWxsb3cgdGl0bGUgdG8gcHVzaCB1cCBpbnRvIHdoaXRlc3BhY2VcbiAgICAgICAgLy8gaWYgaXQgZG9lcyBub3QgZml0IG9uIG9uZSBsaW5lXG4gICAgICAgIC5sLTItLW1vZGFsLS1oZWFkZXItLXByZXNlbnQge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICA+IC5sLTJfX2NvbCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbmVzdGluZy1kZXB0aFxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC41KTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNzUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBmb290ZXJcbiAgICAgIC5iLW1vZGFsLXBhZ2luYXRpb24tanMge1xuICAgICAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWxpZ2h0XCIpO1xuICAgICAgICBAaW5jbHVkZSBiLW1vZGFsLWpzLS1wcmVzZW50LXN0aWNreSgpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogI3skYi1tb2RhbC1qcy0tcHJlc2VudC1mb290ZXItbGVhZGluZy1wYWRkaW5nICsgJGItbW9kYWwtanMtLXByZXNlbnQtZm9vdGVyLWhlaWdodH07XG4gICAgICAgIC8vIHNwYWNlIGFib3ZlIHJ1bGVcbiAgICAgICAgcGFkZGluZy10b3A6ICRiLW1vZGFsLWpzLS1wcmVzZW50LWZvb3Rlci1sZWFkaW5nLXBhZGRpbmc7XG5cbiAgICAgICAgLy8gbmVzdGVkIGNvbnRhaW5lciBpcyByZXF1aXJlZFxuICAgICAgICAvLyB0byBtYXRjaCBtb2RhbCBsYXlvdXRcbiAgICAgICAgLy8gYXMgdGhlIGhlYWRlciBoYXMgZml4ZWQgcG9zaXRpb25pbmdcbiAgICAgICAgPiAubW9kYWFsLWNvbnRhaW5lciB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmwtMi0tbW9kYWwtLXBhZ2luYXRpb24tLXByZXNlbnQge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgPiAubC0yX19jb2wge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi4zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIG5vdGU6IHRoZSBzaWJsaW5nIC5tb2RhYWwtb3ZlcmxheSBpcyBub3Qgc2VlbixcbiAgICAgIC8vIGFzIHRoZSBtb2RhbCBpcyBmdWxsc2l6ZVxuICAgIH1cblxuICAgICYtLWhpZGUge1xuICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgIH1cblxuICAgICYtLXNob3cge1xuICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgIH1cbiAgfVxuXG4gICYtLW5hdi1ndWlkZSB7XG4gICAgJi5tb2RhYWwtd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWRhcmtcIik7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG5cbiAgICAubW9kYWFsLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBiLWZpbGwoXCJmaWxsLWRhcmtcIik7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogdGl0bGVzIGFuZCBwb3B1cHMgc2l0IG91dHNpZGUgY29udGFpbmVyICovXG4gICAgfVxuICB9XG5cbiAgJi0tc2VhcmNoIHtcbiAgICAmLm1vZGFhbC13cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGItZmlsbChcImZpbGwtbGlnaHRcIik7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgLm1vZGFhbC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIGFsbG93IHRoZSBmaWxsIHRvIGJsZWVkIHRocm91Z2hcbiAgICB9XG5cbiAgICAubW9kYWFsLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgID4gLmwtb3V0ZXItY29udGFpbmVyIHtcbiAgICAgICAgJi5iLWZpbGwtLWxpZ2h0IHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogYnUoNC40KTsgLy8gbWF0Y2ggYi1zZWFyY2gtaGVhZGVyXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWFsLWlubGluZV9fY2xvc2Uge1xuICAgICAgJi5iLWJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXBhZ2Utd2lkZXN0LWFuZC11cCkge1xuICAgICYtLXNlYXJjaCB7XG4gICAgICAubW9kYWFsLWNvbnRhaW5lcixcbiAgICAgIC5sLW91dGVyLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogYnUoMTU0LjUpO1xuICAgICAgfVxuXG4gICAgICAubW9kYWFsLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgPiAubC1vdXRlci1jb250YWluZXIge1xuICAgICAgICAgICYuYi1maWxsLS1saWdodCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogYnUoMTMuMTc1KTsgLy8gbWF0Y2ggYi1zZWFyY2gtaGVhZGVyICsgbGluZS1oZWlnaHRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLW5vLXJlc3VsdHMtbWVzc2FnZVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gTm8gcmVzdWx0cyBtZXNzYWdlXG4vLyBcbi8vIE1hcmt1cDogYi1uby1yZXN1bHRzLW1lc3NhZ2UuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMzRcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLW5vLXJlc3VsdHMtbWVzc2FnZSB7XG4gICZfX3NvcnJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSg1LjUpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAmX19zb3JyeSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzKTtcblxuICAgICAgLmItbW9kYWwtanMtLXNlYXJjaCAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoOS41KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLTIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItc2VhcmNoLWZpZWxkXG4vLyBcbi8vIFNlZSBhbHNvIGItc2VhcmNoLWZpZWxkLS10eXBlYWhlYWRcbi8vIFNlZSBhbHNvIGN0LXR5cGVhaGVhZC1idW5kbGUuanNcbi8vIFNlZSBhbHNvIHR5cGVhaGVhZC1hamF4LmpzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBTZWFyY2ggZmllbGRcbi8vIFxuLy8gTWFya3VwOiBiLXNlYXJjaC1maWVsZC5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC40MlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcbiRiLXNlYXJjaC1maWVsZC1ib3JkZXItY29sb3I6IGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItc2VhcmNoLWZpZWxkIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19pbnB1dC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19pbnB1dC1sYWJlbCB7XG4gICAgbWFyZ2luOiAwIGJ1KDIpIDAgMDtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1zZWNvbmRhcnk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogY29sb3IodHlwZSk7XG4gIH1cblxuICAmX19pbnB1dCB7XG4gICAgJlt0eXBlPXRleHRdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDkpOyAvLyBzcGFjZSBmb3Igc3VibWl0IGJ1dHRvblxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGItc2VhcmNoLWZpZWxkLWJvcmRlci1jb2xvcjtcbiAgICAgIC8vIE5lZWRlZCB0byBvdmVyaWRlIHNvbWUgc3BlY2lmaWMgZm9ybSBzdHlsZXNcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWltcG9ydGFudFxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgLy8gb2Zmc2V0IDFweCB0aGlja2VyIGJvcmRlclxuICAgICAgICBwYWRkaW5nLXRvcDogYnUoMS4zNzUpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYnUoMS4zNzUpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGJ1KDEuODc1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19yZXNldCB7XG4gICAgLmpzLWVuYWJsZWQgJiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIHJpZ2h0OiBidSg3KTsgLy8gbGVhdmUgc3BhY2UgZm9yIHNlYXJjaCBidXR0b25cbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnB4KTsgLy8gaGVpZ2h0IGxlc3MgYm9yZGVyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiBidSgxLjUpO1xuICAgICAgcGFkZGluZy1sZWZ0OiBidSgxLjUpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgIC5iLWJ1dHRvbl9faWNvbi13cmFwLS1hZnRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBoaWRpbmcgY2xhc3MgaXMgYXBwbGllZCBieSBzY3JpcHRcbiAgICAgIC8vIGJ1dCBjbGFzaGVkIHdpdGggYnV0dG9uIGRpc3BsYXkgcnVsZVxuICAgICAgLy8gKG5vLWltcG9ydGFudClcbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N1Ym1pdCB7XG4gICAgJlt0eXBlPXN1Ym1pdF0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogYnUoNyk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgIHRleHQtaW5kZW50OiAtMTAwMDBweDtcbiAgICB9XG4gIH1cblxuICAmX19zdWJtaXQtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYnUoMik7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEuNWVtO1xuICAgIGhlaWdodDogMS41ZW07XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1oYXMtcmVzZXQge1xuICAgICN7bS1uZXN0KCl9X19pbnB1dCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBidSgxMyk7IC8vIHNwYWNlIGZvciBjbGVhciBhbmQgc3VibWl0IGJ1dHRvbnNcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KFwiZmxleC1zdGFydFwiKTtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgICAmX19pbnB1dC1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKDIpO1xuICAgIH1cblxuICAgICZfX2lucHV0LXdyYXBwZXIge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgICZfX2lucHV0IHtcbiAgICAgICZbdHlwZT10ZXh0XSB7XG4gICAgICAgIEBpbmNsdWRlIHAtLXNlYXJjaC1pbnB1dDtcbiAgICAgICAgcGFkZGluZzogYnUoMi41NSkgYnUoMTIpIGJ1KDIuNykgYnUoMi45KTsgLy8gUkhTIGlzIHNwYWNlIGZvciBzdWJtaXQgYnV0dG9uXG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgLy8gb2Zmc2V0IDFweCB0aGlja2VyIGJvcmRlclxuICAgICAgICAgIHBhZGRpbmctdG9wOiBidSgyLjU1IC0gLjEyNSk7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IGJ1KDIuNyAtIC4xMjUpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogYnUoMi45IC0gLjEyNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yZXNldCB7XG4gICAgICAuanMtZW5hYmxlZCAmIHtcbiAgICAgICAgcmlnaHQ6IGJ1KDEwKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogYnUoMik7XG4gICAgICAgIHBhZGRpbmctbGVmdDogYnUoMik7XG5cbiAgICAgICAgLmItYnV0dG9uX19pY29uLXdyYXAge1xuICAgICAgICAgIHdpZHRoOiBidSgzLjUpO1xuICAgICAgICAgIGhlaWdodDogYnUoMy41KTtcblxuICAgICAgICAgIC5iLWJ1dHRvbl9faWNvbiB7XG4gICAgICAgICAgICB0b3A6IC4yNWVtO1xuICAgICAgICAgICAgd2lkdGg6IC43NWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAuNzVlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJtaXQge1xuICAgICAgJlt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBidSg1KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBidSg1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJtaXQtaWNvbiB7XG4gICAgICByaWdodDogYnUoMy4xKTtcbiAgICAgIHdpZHRoOiAyZW07XG4gICAgICBoZWlnaHQ6IDJlbTtcbiAgICB9XG5cbiAgICAmLS1sYXJnZSB7XG4gICAgICAje20tbmVzdCgpfV9faW5wdXQge1xuICAgICAgICAmW3R5cGU9dGV4dF0ge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBidSgzKTtcblxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBidSgzLCAtMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19zdWJtaXQtaWNvbiB7XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWhhcy1yZXNldCB7XG4gICAgICAje20tbmVzdCgpfV9faW5wdXQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBidSgxNy40KTsgLy8gc3BhY2UgZm9yIGNsZWFyIGFuZCBzdWJtaXQgYnV0dG9uc1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItc2VhcmNoLWZpZWxkXG4vLyBcbi8vIFNlZSBhbHNvIGN0LXR5cGVhaGVhZC1idW5kbGUuanNcbi8vIFNlZSBhbHNvIHR5cGVhaGVhZC1hamF4LmpzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRnLWNvbG9yLWJsdWUwMzogY29sb3IodHlwZSk7XG4kZy1jb2xvci1ibHVlMDQ6IGNvbG9yKHR5cGUpO1xuJGctY29sb3ItYmx1ZTA3OiBjb2xvcih0eXBlKTtcbiRnLWNvbG9yLWJsdWVsaWdodDogY29sb3IobGluayk7XG4kYi1zZWFyY2hmaWVsZC10eXBlYWhlYWQtZm9jdXMtYm9yZGVyLWNvbG9yOiBjb2xvcihsaW5rKTtcbiRnLWNvbG9yLWdyZXlsaWdodDogY29sb3IodHlwZSk7XG4kZy1jb2xvci1ncmV5MDg6IGNvbG9yKHR5cGUpO1xuJGctY29sb3ItdHlwZTogY29sb3IodHlwZSk7XG4kZy1jb2xvci13aGl0ZTogY29sb3IoZmlsbC1saWdodGVzdCk7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbi8vIFR5cGVhaGVhZFxuLmItdHQtanMge1xuXG4gICZfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDApO1xuICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cblxuICAmX19pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkZy1jb2xvci1ibHVlMDM7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRiLXNlYXJjaGZpZWxkLXR5cGVhaGVhZC1mb2N1cy1ib3JkZXItY29sb3I7XG5cbiAgICAgIC5qcy13YWktb3V0bGluZSAmIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgLy8gYm9yZGVyIHJlcGxhY2VzIG91dGxpbmUgaGVyZVxuICAgICAgfVxuICAgICAgXG4gICAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOi1tb3otcGxhY2Vob2xkZXIgeyAvLyBGaXJlZm94IDE4LVxuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAgLy8gRmlyZWZveCAxOStcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19oaW50IHtcbiAgICBjb2xvcjogJGctY29sb3ItZ3JleWxpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmX19kYXRhc2V0IHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMzYwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiAwIGJ1KDIpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRiLXNlYXJjaGZpZWxkLXR5cGVhaGVhZC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGItc2VhcmNoZmllbGQtdHlwZWFoZWFkLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBiYWNrZ3JvdW5kOiAkZy1jb2xvci13aGl0ZTtcblxuICAgICYtLWlucHV0IHtcbiAgICAgIHBhZGRpbmc6IGJ1KDEpIDA7XG5cbiAgICAgIC5iLXR0LWpzX19jYXRlZ29yeSxcbiAgICAgIC5iLXR0LWpzX19zdWJjYXRlZ29yeSB7XG4gICAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICAgIH1cblxuICAgICAgLmItdHQtanNfX2FuY2hvciB7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1sZWZ0IHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmX19zdWdnZXN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICYtLXBhZGRlZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEFQXG4gICAgICBwYWRkaW5nOiBidSgyKSBidSgyLjUpIGJ1KDIuMjUpO1xuXG4gICAgICAmLmItcnVsZSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IGJ1KC0yLjUpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiBidSgtMi41KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IobGluayk7XG4gICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICYuYi1ydWxlIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jdXJzb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGxpbmspO1xuICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgfVxuXG4gICZfX2hpZ2hsaWdodCB7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIFN1Z2dlc3Rpb24gdHlwZSBzdHlsZXNcblxuICAmX19jYXRlZ29yeSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSg0KTtcbiAgICBwYWRkaW5nOiBidSgxLjUpIDA7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRnLWNvbG9yLWJsdWUwMztcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGctY29sb3ItYmx1ZTAzO1xuICAgIG1hcmdpbjogMCAwIGJ1KDEuNSk7XG4gICAgbGluZS1oZWlnaHQ6IGJ1KDMuNSk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogJGctY29sb3ItZ3JleTA4O1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgfVxuXG4gICAgKyAuYi10dC1qc19fc3ViY2F0ZWdvcnkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3N1YmNhdGVnb3J5IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDEpO1xuICAgIHBhZGRpbmc6IGJ1KDEuNSkgMCAwO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkZy1jb2xvci1ibHVlMDM7XG4gICAgbWFyZ2luOiAwIDAgYnUoLjUpIGJ1KDMpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICRnLWNvbG9yLWdyZXkwODtcbiAgfVxuXG4gICZfX2FuY2hvciB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgwKTtcbiAgICBwYWRkaW5nOiBidSguNSkgYnUoMikgYnUoLjUpIGJ1KDMpO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IGJ1KDApIDA7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmLXNlbGVjdGVkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogJGctY29sb3ItdHlwZTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS41KTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC8vIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGctY29sb3ItYmx1ZTAzLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJl9fZW1wdHktbWVzc2FnZSB7XG4gICAgcGFkZGluZzogYnUoMSkgYnUoMik7XG4gIH1cblxuICAmX19sb2FkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1cHg7XG4gICAgcmlnaHQ6IDQwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgbGluZWFyO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNkZGQ7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDA5Y2RlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJlbG93IGlzIGFkZGVkIGJ5IGxpYnJhcnkgc28gbmVlZHMgdG8gYmUgdGFyZ2V0dGVkIHNwZWNpZmljYWxseVxuXG4gIC50d2l0dGVyLXR5cGVhaGVhZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBidSgxMik7XG4gICAgICByaWdodDogYnUoMTgpO1xuICAgICAgLy8gc3VwcHJlc3MgZG93biBhcnJvdyB0aGF0IGFwcGVhcnMgYmVmb3JlIHRoZSB0eXBlYWhlYWQgaXMgaW50ZXJhY3RlZCB3aXRoXG4gICAgICBAaW5jbHVkZSBoLWhpZGU7IC8vIGlubGluZS1ibG9jazsgXG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xuXG4gICAgICAvL2VuY29kZSBzdmcgVVJJIHdpdGggOiBodHRwczovL2NvZGVwZW4uaW8veW9rc2VsL2RldGFpbHMvSkRxdnNcbiAgICAgIC8vIDxzdmcgZmlsbD1cInJnYigxNjUsMTY1LDE2NSlcIiB2ZXJzaW9uPVwiMS4xXCIgaWQ9XCJMYXllcl8xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAyMCAyMVwiIHN0eWxlPVwiZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyMCAyMTtcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiPjxwb2x5bGluZSBwb2ludHM9XCIxMC4xLDE2LjEgNS42LDExIDEuMSw2IDEwLjEsNiAxOS4yLDYgXCIvPjwvc3ZnPlxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMGZpbGwlM0QlMjJyZ2IlMjgxNjUlMkMxNjUlMkMxNjUlMjklMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIwaWQlM0QlMjJMYXllcl8xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMTk5OS94bGluayUyMiUyMHglM0QlMjIwcHglMjIlMjB5JTNEJTIyMHB4JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjAlMjAyMSUyMiUyMHN0eWxlJTNEJTIyZW5hYmxlLWJhY2tncm91bmQlM0FuZXclMjAwJTIwMCUyMDIwJTIwMjElM0IlMjIlMjB4bWwlM0FzcGFjZSUzRCUyMnByZXNlcnZlJTIyJTNFJTNDcG9seWxpbmUlMjBwb2ludHMlM0QlMjIxMC4xJTJDMTYuMSUyMDUuNiUyQzExJTIwMS4xJTJDNiUyMDEwLjElMkM2JTIwMTkuMiUyQzYlMjAlMjIvJTNFJTNDL3N2ZyUzRScpO1xuXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcblxuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGxpbmVhciAuMnM7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1mdWxsd2lkdGgge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICAvLyAudHdpdHRlci10eXBlYWhlYWQge1xuICAgIC8vICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIC8vIH1cblxuICAgICN7bS1uZXN0KCl9X19sYWJlbCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogYnUoMikgMCBidSgxLjUpO1xuICAgIH1cbiAgfVxuXG4gIC52aXN1YWxseWhpZGRlbiB7XG4gICAgLy8gQGV4dGVuZCAlaC12aXN1YWxseWhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAmX19tZW51IHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXdpZGUtYW5kLXVwKSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgJl9fbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IHJlbSgxNDApO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8vIFJlcXVpcmVkIHRvIGZpeCBJRTEwIGZsZXhib3ggYnVnXG4gICAgLnR3aXR0ZXItdHlwZWFoZWFkIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIH1cblxuICAgICZfX21lbnUge1xuICAgICAgbWF4LWhlaWdodDogNjYwcHg7IC8vIDEweCBJbmNsdXNpdmUgcmVzdWx0c1xuICAgICAgcGFkZGluZzogMCBidSg1KTtcblxuICAgICAgJi0taW5wdXQge1xuICAgICAgICBwYWRkaW5nOiBidSgxKSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlLWFsbFxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItZXhhbXBsZVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gRXhhbXBsZVxuLy9cbi8vIE1hcmt1cDogYi1leGFtcGxlLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjEwMFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcbiRiLWV4YW1wbGUtYmctY29sb3I6ICNmMmYyZjI7XG4kYi1leGFtcGxlLXRleHQtY29sb3I6ICMwMDA7XG4kYi1leGFtcGxlLXRleHQtY29sb3ItYWx0OiAjNTU1O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWV4YW1wbGUge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcGFkZGluZzogYnUoMyk7XG4gIGJhY2tncm91bmQ6ICRiLWV4YW1wbGUtYmctY29sb3I7XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9faW5uZXIge1xuICAgIG1heC13aWR0aDogYnUoMjAwKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKDUpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBjb2xvcjogJGItZXhhbXBsZS10ZXh0LWNvbG9yO1xuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIG9wYWNpdHk6IC44O1xuICB9XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLXNtYWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG5cbiAgJi0tbGFyZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLWlzLWFjdGl2ZSB7XG4gICAgY29sb3I6ICRiLWV4YW1wbGUtdGV4dC1jb2xvci1hbHQ7XG4gIH1cblxuICAmLS1pcy1sb2FkZWQge1xuICAgIGNvbG9yOiAkYi1leGFtcGxlLXRleHQtY29sb3ItYWx0O1xuICB9XG5cbiAgJi0taXMtbG9hZGluZyB7XG4gICAgY29sb3I6ICRiLWV4YW1wbGUtdGV4dC1jb2xvci1hbHQ7XG4gIH1cblxuICAmLS1pcy12aXNpYmxlIHtcbiAgICBjb2xvcjogJGItZXhhbXBsZS10ZXh0LWNvbG9yLWFsdDtcbiAgfVxuXG4gICYtLWlzLWRpc2FibGVkIHtcbiAgICBjb2xvcjogJGItZXhhbXBsZS10ZXh0LWNvbG9yLWFsdDtcbiAgfVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJjpob3ZlciB7XG4gICAgLy8gQW4gaW5saW5lIGNvbW1lbnQgd291bGQgbG9vayBsaWtlIHRoaXNcbiAgICBjb2xvcjogJGItZXhhbXBsZS10ZXh0LWNvbG9yLWFsdDtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGItZXhhbXBsZS10ZXh0LWNvbG9yLWFsdDtcbiAgfVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIC8vIEBpbmNsdWRlIG1lZGlhKCRnLWJwLW5hcnJvdy1hbmQtdXApIHt9XG5cbiAgLy8gQGluY2x1ZGUgbWVkaWEoJGctYnAtd2lkZS1hbmQtdXApIHt9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gdGtpLTU2ODItaGVhZGVyXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBUS0kgQmFyXG4vLyBcbi8vIE1hcmt1cDogYi10a2ktYmFyLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjU0XG5cbi8vIENTUyBpbmNsdWRlZCBmcm9tIGh0dHA6Ly9pbmNsdXNpdmUudGtpLm9yZy5uei9cblxuI3RraS01NjgyLWhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDAgbm9uZTtcblxuICBsaTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuI3RraS01NjgyLWZvb3RlciB7XG4gIGxpOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItYnV0dG9uXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBCdXR0b25cbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICRidXR0b24tYnUtd2lkdGgsXG4gICRpY29uLWVtLXdpZHRoLFxuICAkaWNvbi1lbS12LW9mZnNldCxcbiAgJGJvcmRlci1idS13aWR0aFxuKSB7XG5cbiAgLy8gLmItYnV0dG9uX19pY29uLXdyYXBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBhbGlnbiB3aXRoIHNpYmxpbmcgX19jb250ZW50XG4gIHdpZHRoOiBidSgkYnV0dG9uLWJ1LXdpZHRoKTtcbiAgaGVpZ2h0OiBidSgkYnV0dG9uLWJ1LXdpZHRoKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBidSgkYm9yZGVyLWJ1LXdpZHRoKSBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogYnUoJGJ1dHRvbi1idS13aWR0aCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIC8vIC5iLWJ1dHRvbl9faWNvbi13cmFwID4gLmItYnV0dG9uX19pY29uXG4gIC5iLWJ1dHRvbl9faWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogI3skaWNvbi1lbS12LW9mZnNldH1lbTtcbiAgICB3aWR0aDogI3skaWNvbi1lbS13aWR0aH1lbTtcbiAgICBoZWlnaHQ6ICN7JGljb24tZW0td2lkdGh9ZW07XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1idXR0b24ge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogY29sb3IodHlwZSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZSwgYm9yZGVyIC4ycyBlYXNlLCBjb2xvciAuMnMgZWFzZTtcblxuICAvLyB3aGVuIHRoZSB0eXBlIHN0eWxpbmcgaXMgYXBwbGllZCB0byB0aGUgcGFyZW50IGVsZW1lbnRcbiAgLy8gaW5oZXJpdCBpdFxuICBAYXQtcm9vdCB7XG4gICAgW2NsYXNzXj1cInAtLVwiXSxcbiAgICBbY2xhc3MqPVwiIHAtLVwiXSB7XG4gICAgICA+IC5iLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua1xuICAvL1xuICAvLyBNYXJrdXA6IGItYnV0dG9uLS1saW5rLmh0bWxcbiAgLy9cbiAgLy8gU3R5bGVndWlkZTogMTAwLjMuMVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAuYi1idXR0b24uYVxuICAmLmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcblxuICAgICYtLXVuZGVybGluZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlczogU3RyZXRjaCAodG8gY29udGFpbmVyKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAuYi1idXR0b24tLXN0cmV0Y2hcbiAgJi0tc3RyZXRjaCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzOiBJY29uIChOYXYgRXhwYW5kKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAuYi1idXR0b24tLWljb25cbiAgJi0taWNvbiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzOiBJY29uIENpcmNsZSAoU2hhcmUpIC0vKyBUZXh0XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGVcbiAgJi0taWNvbi1jaXJjbGUge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAkYnV0dG9uLWJ1LXdpZHRoOiA1LFxuICAgICAgICAkaWNvbi1lbS13aWR0aDogMS41LFxuICAgICAgICAkaWNvbi1lbS12LW9mZnNldDogLjMsXG4gICAgICAgICRib3JkZXItYnUtd2lkdGg6IC4zNzVcbiAgICAgICk7XG5cbiAgICAgIC8vIC0tYmVmb3JlIGlzIHRoZSBkZWZhdWx0XG4gICAgICAmLS1iZWZvcmUgKyAuYi1idXR0b25fX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogYnUoMS41KTtcbiAgICAgIH1cblxuICAgICAgJi0tYWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYnUoMS41KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBhbGlnbiB3aXRoIHNpYmxpbmcgX19pY29uLXdyYXBcbiAgICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcblxuICAgICAgLy8gcHJldmVudCBoaWRkZW4gY29udGVudCBmcm9tIGludHJvZHVjaW5nIGFueSB3aGl0ZXNwYWNlXG4gICAgICAmLmgtdmlzdWFsbHloaWRkZW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2l6ZSAmIGNvbG9yIHZhcmlhdGlvbnNcbiAgICAvLyAoJGJ1dHRvbi1idS13aWR0aCwgJGljb24tZW0td2lkdGgsICRpY29uLWVtLXYtb2Zmc2V0LCAkYm9yZGVyLWJ1LXdpZHRoKSBcblxuICAgIC8vIEljb24gQ2lyY2xlXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy4yXG5cblxuICAgIC8vIEljb24gQ2lyY2xlOiBEb3dubG9hZFxuICAgIC8vXG4gICAgLy8gTWFya3VwOiBiLWJ1dHRvbi0taWNvbi1jaXJjbGUtLWRvd25sb2FkLmh0bWxcbiAgICAvL1xuICAgIC8vIFN0eWxlZ3VpZGU6IDEwMC4zLjIuMVxuXG4gICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tZG93bmxvYWRcbiAgICAmLS1kb3dubG9hZCB7XG4gICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogNSxcbiAgICAgICAgICAkaWNvbi1lbS13aWR0aDogMS4wNSxcbiAgICAgICAgICAkaWNvbi1lbS12LW9mZnNldDogLjUsXG4gICAgICAgICAgJGJvcmRlci1idS13aWR0aDogLjM3NVxuICAgICAgICApO1xuXG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IobGluayk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuICAgICAgICBjb2xvcjogY29sb3IobGluayk7XG4gICAgICB9XG5cbiAgICAgICYuYi1idXR0b24tLWljb24tY2lyY2xlIHsgLy8gc3BlY2lmaWNpdHkgb3ZlcnJpZGVcbiAgICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IobGluayk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICAgICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBDaXJjbGU6IE91dGxpbmVcbiAgICAvL1xuICAgIC8vIE1hcmt1cDogYi1idXR0b24tLWljb24tY2lyY2xlLS1vdXRsaW5lLmh0bWxcbiAgICAvL1xuICAgIC8vIFN0eWxlZ3VpZGU6IDEwMC4zLjIuMlxuXG4gICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tb3V0bGluZVxuICAgICYtLW91dGxpbmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICBjb2xvcjogY29sb3IodHlwZSk7XG5cbiAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodHlwZSk7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgI3ttLW5lc3QoKX1fX2NvbnRlbnQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogYnUoLjEyNSkgc29saWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgICBjb2xvcjogY29sb3IodHlwZS1kaXNhYmxlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAje20tbmVzdCgpfV9fY29udGVudCB7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUtZGlzYWJsZWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBDaXJjbGU6IFNtYWxsXG4gICAgLy8gXG4gICAgLy8gV29ya3MgYmVzdCB3aGVuIHdyYXBwZWQgaW4gLnAtLW5hdi1wcmltYXJ5IC0gc2VlIC5iLW5hdi1wcmltYXJ5XG4gICAgLy9cbiAgICAvLyBNYXJrdXA6IGItYnV0dG9uLS1pY29uLWNpcmNsZS0tc21hbGwuaHRtbFxuICAgIC8vXG4gICAgLy8gU3R5bGVndWlkZTogMTAwLjMuMi4zXG5cbiAgICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlLS1zbWFsbFxuICAgICYtLXNtYWxsIHtcblxuICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAgICRidXR0b24tYnUtd2lkdGg6IDMsXG4gICAgICAgICAgJGljb24tZW0td2lkdGg6IDEsXG4gICAgICAgICAgJGljb24tZW0tdi1vZmZzZXQ6IC4xLFxuICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IDBcbiAgICAgICAgKTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodHlwZSk7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcblxuICAgICAgICAmLS1hZnRlciB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC42MjUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19jb250ZW50IHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgICAgfVxuXG4gICAgICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlLS1zbWFsbC0tY2xvc2VcbiAgICAgICYtLWNsb3NlIHtcbiAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgICAkYnV0dG9uLWJ1LXdpZHRoOiAzLFxuICAgICAgICAgICAgJGljb24tZW0td2lkdGg6IC42NSxcbiAgICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAtLjI1LFxuICAgICAgICAgICAgJGJvcmRlci1idS13aWR0aDogMFxuICAgICAgICAgICk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC4yNXJlbSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tc21hbGwtLXJlc2V0XG4gICAgICAmLS1yZXNldCB7XG4gICAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogMyxcbiAgICAgICAgICAgICRpY29uLWVtLXdpZHRoOiAuNjUsXG4gICAgICAgICAgICAkaWNvbi1lbS12LW9mZnNldDogLjA1LFxuICAgICAgICAgICAgJGJvcmRlci1idS13aWR0aDogMFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmaWxsLW1pZCk7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLXNtYWxsLS1zZWFyY2hcbiAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAgIEBpbmNsdWRlIGItYnV0dG9uLWljb24tY2lyY2xlKFxuICAgICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogMyxcbiAgICAgICAgICAgICRpY29uLWVtLXdpZHRoOiAuOSxcbiAgICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAtLjEsXG4gICAgICAgICAgICAkYm9yZGVyLWJ1LXdpZHRoOiAwXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gQ2lyY2xlOiBTdWNjZXNzXG4gICAgLy9cbiAgICAvLyBNYXJrdXA6IGItYnV0dG9uLS1pY29uLWNpcmNsZS0tc3VjY2Vzcy5odG1sXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy4yLjRcblxuICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLXN1Y2Nlc3NcbiAgICAmLS1zdWNjZXNzIHtcbiAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKHN1Y2Nlc3MpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzdWNjZXNzKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXM6IFBpbGwgKERvd25sb2FkIGV0YylcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmItYnV0dG9uLS1waWxsXG4gICYtLXBpbGwge1xuICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoMCk7XG4gICAgQGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcoLTEwcHgsIDApO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiBidSguOCkgYnUoMSkgYnUoLjYpOyAvLyAxLjcgY2xlYXJzIHRoZSBjdXJ2ZSwgYnV0IDEgcHJldmVudHMgd3JhcCBhdCAxMDI0cHhcbiAgICBib3JkZXI6IGJ1KC4yNSkgc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogYnUoMi41KTtcbiAgICBmb250LWZhbWlseTogJGctZm9udC1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiBidSgyKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICYtLWJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgLy8gaW5saW5lLWJsb2NrXG4gICAgICB9XG5cbiAgICAgICYtLWFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC4zMjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19pY29uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLS4xZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07XG4gICAgICB3aWR0aDogLjg1ZW07XG4gICAgICBoZWlnaHQ6IC44NWVtO1xuICAgIH1cblxuICAgIC5oLWljb24ge1xuICAgICAgJi0tYXJyb3ctLXVwLXJpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0uMTVlbTtcbiAgICAgICAgd2lkdGg6IC43NWVtO1xuICAgICAgICBoZWlnaHQ6IC43NWVtO1xuICAgICAgfVxuXG4gICAgICAmLS1mdWxsc2NyZWVuIHtcbiAgICAgICAgd2lkdGg6IC45ZW07XG4gICAgICAgIGhlaWdodDogLjllbTtcbiAgICAgIH1cblxuICAgICAgJi0tcHJpbnQge1xuICAgICAgICB3aWR0aDogLjllbTtcbiAgICAgICAgaGVpZ2h0OiAuOWVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gZm9yIGNvbnNpc3RlbmN5IHdpdGggLmItYnV0dG9uLS1pY29uLWNpcmNsZVxuICAgIH1cblxuICAgIC8vIC5iLWJ1dHRvbi0tcGlsbCArIC5iLWJ1dHRvbl9faW5mb1xuICAgICsgI3ttLW5lc3QoKX1fX2luZm8ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiBidSgxKTtcbiAgICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvLyBQaWxsXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy4zXG5cbiAgICAvLyBQaWxsOiBQcmltYXJ5XG4gICAgLy9cbiAgICAvLyBNYXJrdXA6IGItYnV0dG9uLS1waWxsLS1wcmltYXJ5Lmh0bWxcbiAgICAvL1xuICAgIC8vIFN0eWxlZ3VpZGU6IDEwMC4zLjMuMVxuXG4gICAgLy8gLmItYnV0dG9uLS1waWxsLS1wcmltYXJ5XG4gICAgJi0tcHJpbWFyeSB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IobGluayk7XG4gICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG5cbiAgICAgICYubC1hamF4LWpzLS1pbmxpbmUtbG9hZGluZyB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGNvbG9yKGxpbmspOyAvLyBvdmVycmlkZSBjdXJyZW50Q29sb3IgZ2xvYmFsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAmOm5vdCgubC1hamF4LWpzLS1pbmxpbmUtbG9hZGluZykge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IobGluayk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIH1cblxuICAgICAgLmwtMi0tcmVzb3VyY2UtY29udGVudCAmIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogYnUoMS4xKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBidSgxLjEpO1xuXG4gICAgICAgIC5oLWljb24tLWJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGlsbDogT3V0bGluZVxuICAgIC8vXG4gICAgLy8gTWFya3VwOiBiLWJ1dHRvbi0tcGlsbC0tb3V0bGluZS5odG1sXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy4zLjJcblxuICAgIC8vIC5iLWJ1dHRvbi0tcGlsbC0tb3V0bGluZVxuICAgICYtLW91dGxpbmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcblxuICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICAgIGNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogY29sb3IobGluayk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmItYnV0dG9uLS1waWxsLS1sYXJnZVxuICAgICYtLWxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IGJ1KDEuNCkgYnUoMi40KSBidSgxLjEpO1xuXG4gICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSguNzI1KTtcbiAgICAgIH1cblxuICAgICAgLmItYnV0dG9uX19pY29uIHtcbiAgICAgICAgdG9wOiAtLjE1ZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmItYnV0dG9uLS1waWxsLS1zbWFsbFxuICAgICYtLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoLTEpO1xuICAgICAgcGFkZGluZzogYnUoLjgpIGJ1KDIuMSkgYnUoLjcpO1xuICAgICAgbGluZS1oZWlnaHQ6IGJ1KDIpO1xuXG4gICAgICAje20tbmVzdCgpfV9faWNvbiB7XG4gICAgICAgIHRvcDogLS4wNWVtO1xuICAgICAgICB3aWR0aDogLjk1ZW07XG4gICAgICAgIGhlaWdodDogLjk1ZW07XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAmLS1iZWZvcmUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYnUoLjEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlczogSWNvbiBSZWN0YW5nbGUgKEJyb3dzZSBndWlkZSlcbiAgLy8gTmFycm93IG9ubHlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmItYnV0dG9uLS1yZWN0YW5nbGVcbiAgJi0tcmVjdGFuZ2xlIHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXItc3BhY2luZygtMzBweCwgLTEpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiBidSguMTI1KSBidSgxLjEyNSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogYnUoLjM3NSk7XG4gICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICBsaW5lLWhlaWdodDogYnUoMy41KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgJi0tYmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSguMzc1KTtcbiAgICAgIH1cblxuICAgICAgJi0tYWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYnUoLjM3NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3ttLW5lc3QoKX1fX2ljb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtLjE1ZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07XG4gICAgICB3aWR0aDogLjg1ZW07XG4gICAgICBoZWlnaHQ6IC44NWVtO1xuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gZm9yIGNvbnNpc3RlbmN5IHdpdGggLmItYnV0dG9uLS1pY29uLWNpcmNsZVxuICAgIH1cblxuICAgIC8vIFJlY3RhbmdsZVxuICAgIC8vXG4gICAgLy8gU3R5bGVndWlkZTogMTAwLjMuNFxuXG4gICAgLy8gUmVjdGFuZ2xlOiBPdXRsaW5lXG4gICAgLy9cbiAgICAvLyBNYXJrdXA6IGItYnV0dG9uLS1yZWN0YW5nbGUtLW91dGxpbmUuaHRtbFxuICAgIC8vXG4gICAgLy8gU3R5bGVndWlkZTogMTAwLjMuNC4xXG5cbiAgICAvLyAuYi1idXR0b24tLXJlY3RhbmdsZS0tb3V0bGluZVxuICAgICYtLW91dGxpbmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihydWxlLXRoaW4tbGlnaHQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICBjb2xvcjogY29sb3IodHlwZSk7XG5cbiAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICAgICAgICBjb2xvcjogY29sb3IodHlwZS1saWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZWN0YW5nbGU6IE91dGxpbmUgLyBMYXJnZVxuICAgIC8vXG4gICAgLy8gTWFya3VwOiBiLWJ1dHRvbi0tcmVjdGFuZ2xlLS1vdXRsaW5lLS1sYXJnZS5odG1sXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy40LjJcblxuICAgIC8vIC5iLWJ1dHRvbi0tcmVjdGFuZ2xlLS1vdXRsaW5lLWxhcmdlXG4gICAgJi0tb3V0bGluZS1sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAwIGJ1KDMuNjI1KTsgLy8gdGV4dCBsaW5lIGhlaWdodCBkaWN0YXRlcyBidXR0b24gaGVpZ2h0XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcblxuICAgICAgJi5hLS12aXNpdGVkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihsaW5rLXZpc2l0ZWQpO1xuICAgICAgICBjb2xvcjogY29sb3IobGluay12aXNpdGVkKTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hLS12aXNpdGVkIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IobGluay12aXNpdGVkKTtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihsaW5rLXZpc2l0ZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXM6IFNxdWFyZSAoQmFjayB0byB0b3ApXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5iLWJ1dHRvbi0tc3F1YXJlXG4gICYtLXNxdWFyZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IGJ1KC44KSBidSgxLjI1KTtcbiAgICBib3JkZXI6IGJ1KC4xMjUpIHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogYnUoLjM3NSkgYnUoLjM3NSkgMCAwO1xuICAgIGZvbnQtZmFtaWx5OiAkZy1mb250LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgJi0tYmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjQ3NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3F1YXJlXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy41XG5cbiAgICAvLyBTcXVhcmU6IE91dGxpbmVcbiAgICAvL1xuICAgIC8vIE1hcmt1cDogYi1idXR0b24tLXNxdWFyZS0tb3V0bGluZS5odG1sXG4gICAgLy9cbiAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy41LjFcblxuICAgIC8vIC5iLWJ1dHRvbi0tc3F1YXJlLS1vdXRsaW5lXG4gICAgJi0tb3V0bGluZSB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcbiAgICAgIGNvbG9yOiBjb2xvcih0eXBlKTtcblxuICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHR5cGUtbGlnaHQpO1xuICAgICAgICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS1iZWxvdy13aWRlaXNoKSB7XG4gICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZVxuICAgICYtLWljb24tY2lyY2xlIHtcbiAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgI3ttLW5lc3QoKX1fX2NvbnRlbnQge1xuICAgICAgICAgIC8vIHByZXZlbnQgaGlkZGVuIGNvbnRlbnQgZnJvbSBpbnRyb2R1Y2luZyBhbnkgd2hpdGVzcGFjZVxuICAgICAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAmLmgtdmlzdWFsbHloaWRkZW4tLXBhZ2UtYmVsb3ctd2lkZWlzaCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgICAgICsgLmItYnV0dG9uX19pY29uLXdyYXAtLWFmdGVyIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgLy8gJGctYnAtY29udGVudC13aWRlLWFuZC11cFxuICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGVcbiAgICAmLS1pY29uLWNpcmNsZSB7XG4gICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogNCxcbiAgICAgICAgICAkaWNvbi1lbS13aWR0aDogMS4yLFxuICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAuMjUsXG4gICAgICAgICAgJGJvcmRlci1idS13aWR0aDogLjI1XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vICRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXBcbiAgICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLW91dGxpbmVcbiAgICAgICYtLW91dGxpbmUge1xuICAgICAgICBAYXQtcm9vdCAuYi1zaGFyZS1hbmQtb3V0cHV0LWJ1dHRvbnMtLW1vZGFsLS1wcmVzZW50IHtcbiAgICAgICAgICAuYi1idXR0b25fX2ljb24td3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiLWJ1dHRvbi1pY29uLWNpcmNsZShcbiAgICAgICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogNixcbiAgICAgICAgICAgICAgJGljb24tZW0td2lkdGg6IDEuNyxcbiAgICAgICAgICAgICAgJGljb24tZW0tdi1vZmZzZXQ6IC4zNSxcbiAgICAgICAgICAgICAgJGJvcmRlci1idS13aWR0aDogLjQ1XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEljb24gQ2lyY2xlOiBPdXRsaW5lICsgQ2xvc2UgKE1lZGl1bSAmIFVwKVxuICAgICAgICAvL1xuICAgICAgICAvLyBNYXJrdXA6IGItYnV0dG9uLS1pY29uLWNpcmNsZS0tb3V0bGluZS0tY2xvc2UuaHRtbFxuICAgICAgICAvL1xuICAgICAgICAvLyBTdHlsZWd1aWRlOiAxMDAuMy4yLjVcblxuICAgICAgICAvLyAkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwXG4gICAgICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLW91dGxpbmUtLWNsb3NlXG4gICAgICAgICYtLWNsb3NlIHtcbiAgICAgICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgICAgIEBhdC1yb290IHtcbiAgICAgICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgICAgICAgICAkYnV0dG9uLWJ1LXdpZHRoOiA0Ljc1LFxuICAgICAgICAgICAgICAgICAgJGljb24tZW0td2lkdGg6IDEsXG4gICAgICAgICAgICAgICAgICAkaWNvbi1lbS12LW9mZnNldDogLjU1LFxuICAgICAgICAgICAgICAgICAgJGJvcmRlci1idS13aWR0aDogLjEyNVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJY29uIENpcmNsZTogT3V0bGluZSArIFRoaW4gKE1lZGl1bSAmIFVwKVxuICAgICAgICAvL1xuICAgICAgICAvLyBNYXJrdXA6IGItYnV0dG9uLS1pY29uLWNpcmNsZS0tb3V0bGluZS0tdGhpbi5odG1sXG4gICAgICAgIC8vXG4gICAgICAgIC8vIFN0eWxlZ3VpZGU6IDEwMC4zLjIuNlxuXG4gICAgICAgIC8vICRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXBcbiAgICAgICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tb3V0bGluZS0tdGhpblxuICAgICAgICAmLS10aGluIHtcbiAgICAgICAgICAje20tbmVzdCgpfV9faWNvbi13cmFwIHtcbiAgICAgICAgICAgIEBhdC1yb290IHtcbiAgICAgICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICAgICAgLy8gYmlnZ2VyIGljb25cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiLWJ1dHRvbi1pY29uLWNpcmNsZShcbiAgICAgICAgICAgICAgICAgICRidXR0b24tYnUtd2lkdGg6IDQuNzUsXG4gICAgICAgICAgICAgICAgICAkaWNvbi1lbS13aWR0aDogMS4yLFxuICAgICAgICAgICAgICAgICAgJGljb24tZW0tdi1vZmZzZXQ6IC41NSxcbiAgICAgICAgICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IC4xMjVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgI3ttLW5lc3QoKX1fX2NvbnRlbnQge1xuICAgICAgICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgICAgICAvLyBhbGlnbiB0ZXh0IHdpdGggYmlnZ2VyIGJ1dHRvblxuICAgICAgICAgICAgICAgIHRvcDogLjQ1ZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gJGctYnAtY29udGVudC13aWRlLWFuZC11cFxuICAgICAgLy8gLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tc21hbGxcbiAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgICAkYnV0dG9uLWJ1LXdpZHRoOiAzLjUsXG4gICAgICAgICAgICAkaWNvbi1lbS13aWR0aDogMSxcbiAgICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAuMixcbiAgICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IDBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gJGctYnAtY29udGVudC13aWRlLWFuZC11cFxuICAgICAgICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlLS1zbWFsbC0tY2xvc2VcbiAgICAgICAgJi0tY2xvc2Uge1xuICAgICAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgICAgICRidXR0b24tYnUtd2lkdGg6IDMuNSxcbiAgICAgICAgICAgICAgJGljb24tZW0td2lkdGg6IC41NSxcbiAgICAgICAgICAgICAgJGljb24tZW0tdi1vZmZzZXQ6IC0uMixcbiAgICAgICAgICAgICAgJGJvcmRlci1idS13aWR0aDogMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwXG4gICAgICAgIC8vIC5iLWJ1dHRvbi0taWNvbi1jaXJjbGUtLXNtYWxsLS1yZXNldFxuICAgICAgICAmLS1yZXNldCB7XG4gICAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgICAvLyBzYW1lIGFzIG5hcnJvdyBicFxuICAgICAgICAgICAgQGluY2x1ZGUgYi1idXR0b24taWNvbi1jaXJjbGUoXG4gICAgICAgICAgICAgICRidXR0b24tYnUtd2lkdGg6IDMsXG4gICAgICAgICAgICAgICRpY29uLWVtLXdpZHRoOiAuNjUsXG4gICAgICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAuMDUsXG4gICAgICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gJGctYnAtY29udGVudC13aWRlLWFuZC11cFxuICAgICAgICAvLyAuYi1idXR0b24tLWljb24tY2lyY2xlLS1zbWFsbC0tc2VhcmNoXG4gICAgICAgICYtLXNlYXJjaCB7XG4gICAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24td3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiLWJ1dHRvbi1pY29uLWNpcmNsZShcbiAgICAgICAgICAgICAgJGJ1dHRvbi1idS13aWR0aDogMy41LFxuICAgICAgICAgICAgICAkaWNvbi1lbS13aWR0aDogLjYsXG4gICAgICAgICAgICAgICRpY29uLWVtLXYtb2Zmc2V0OiAtLjIsXG4gICAgICAgICAgICAgICRib3JkZXItYnUtd2lkdGg6IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gJGctYnAtY29udGVudC13aWRlLWFuZC11cFxuICAgIC8vIC5iLWJ1dHRvbi0tcGlsbFxuICAgICYtLXBpbGwge1xuICAgICAgLy8gLmItYnV0dG9uLS1waWxsICsgLmItYnV0dG9uX19pbmZvXG4gICAgICArIC5iLWJ1dHRvbl9faW5mbyB7XG4gICAgICAgICYuYi1idXR0b25fX2luZm8tLWlubGluZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSguOSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICAgIHBhZGRpbmc6IGJ1KDEpIGJ1KDQuNCkgYnUoMS4yKSBidSgzLjcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBidSg3KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQpO1xuXG4gICAgICAgICN7bS1uZXN0KCl9X19pY29uLXdyYXAge1xuICAgICAgICAgICYtLWJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3ttLW5lc3QoKX1fX2ljb24ge1xuICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLXBhZ2luYXRpb25cbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFBhZ2luYXRpb24gKEFqYXgpXG4vLyBcbi8vIE1hcmt1cDogYi1wYWdpbmF0aW9uLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjM2XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItcGFnaW5hdGlvbiB7XG4gIG1hcmdpbi10b3A6IGJ1KDMpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICZfX2J1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIG1hcmdpbi10b3A6IGJ1KDcpO1xuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItYWxlcnRcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEFsZXJ0XG4vLyBcbi8vIEFsZXJ0IG1lc3NhZ2Ugd2hpY2ggYXBwZWFycyBiZWZvcmUgdGhlIHBhZ2UgY29udGVudC5cbi8vXG4vLyBNYXJrdXA6IGItYWxlcnQuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcbiRiLWFsZXJ0LWJnLWNvbG9yLS1ub2pzOiBjb2xvcihtYXJrKTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1hbGVydCB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBwYWRkaW5nOiBidSgyKTtcbiAgbWFyZ2luLXRvcDogYnUoMy4yNSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2ljb24ge1xuICAgIG1hcmdpbi1yaWdodDogYnUoLjM3NSk7XG4gICAgbWFyZ2luLWxlZnQ6IGJ1KC4yNSk7XG4gIH1cblxuICAvLyBzaW5nbGUgcGFyYWdyYXBoXG4gICZfX2FsZXJ0IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLW5vanMge1xuICAgIGJhY2tncm91bmQ6ICRiLWFsZXJ0LWJnLWNvbG9yLS1ub2pzO1xuICB9XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IGJ1KDIuMzc1KSBidSgyKSBidSgyLjUpIGJ1KDguMzUpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoOCk7XG5cbiAgICAmX19pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYnUoMi44KTtcbiAgICAgIGxlZnQ6IGJ1KDIuNyk7XG4gICAgICB3aWR0aDogMS40ZW07XG4gICAgICBoZWlnaHQ6IDEuNGVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1za2lwLWxpbmtzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBTa2lwIExpbmtzXG4vLyBcbi8vIE1hcmt1cDogYi1za2lwLWxpbmtzLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjQ4XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGItc2tpcC1saW5rLWJhY2tncm91bmQtY29sb3I6IGNvbG9yKHR5cGUpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXNraXAtbGlua3Mge1xuXG4gICZfX2FuY2hvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBwYWRkaW5nOiBidSgxKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGV5KC00MHB4KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGctYW5pbS1ob3ZlciBlYXNlLW91dCwgYmFja2dyb3VuZCAkZy1hbmltLWhvdmVyIGxpbmVhcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogJGItc2tpcC1saW5rLWJhY2tncm91bmQtY29sb3I7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXkoMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1zdWdnZXN0aW9uXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBTdWdnZXN0aW9uXG4vLyBcbi8vIE1hcmt1cDogYi1zdWdnZXN0aW9uLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjUwXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXN1Z2dlc3Rpb24ge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tbmV4dC1zdGVwcyB7XG4gICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuMik7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjkpO1xuICAgIH1cbiAgfVxuXG4gICYtLXN0cmF0ZWd5IHtcbiAgICAvLyBkeW5hbWljYWxseSBhZGRlZCBieSBjb250ZW50LWZpbHRlci5qc1xuICAgICYuaC1maXJzdC12aXNpYmxlIHtcbiAgICAgIC5iLXJ1bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgyLjUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjUpO1xuXG4gICAgICAvLyBpZiBubyBfX2luY2x1ZGVzXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19pbmNsdWRlcyB7XG4gICAgICBtYXJnaW4tdG9wOiBidSguNyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjUpO1xuXG4gICAgICAqIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAucC0taW5jbHVkZXMge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KC4yKTtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogLjE0ZW07XG4gICAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgICBmb250LXNpemU6IGJ1KDQpO1xuICAgICAgICAgIGNvbG9yOiBjb2xvcihydWxlLXRoaW4tbGlnaHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAmLS1uZXh0LXN0ZXBzIHtcblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMi41KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi42KTtcblxuICAgICAgICAmX19jdXJyZW50IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSguMik7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tc3RyYXRlZ3kge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi43KTtcblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMi43KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjgpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEBpbmNsdWRlIG1lZGlhKCRnLWJwLXdpZGUtYW5kLXVwKSB7fVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGIta25vd2xlZGdlLXNsaWRlXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBLbm93bGVkZ2UgU2xpZGVcbi8vXG4vLyBNYXJrdXA6IGIta25vd2xlZGdlLXNsaWRlLmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMjNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmIta25vd2xlZGdlLXNsaWRlIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHBhZGRpbmctdG9wOiBidSg3LjQpO1xuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIHN1YnNlcXVlbnQgc2xpZGVzXG4gIC5iLWV4YW1wbGUtc2xpZGUgKyAmLFxuICAuYi1rbm93bGVkZ2Utc2xpZGUgKyAmIHtcbiAgICBwYWRkaW5nLXRvcDogYnUoOC41KTtcbiAgfVxuXG4gICZfX2ludHJvIHtcbiAgICAuYi1ydWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMuMyk7XG4gICAgfVxuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24gIHtcbiAgICBtYXJnaW4tdG9wOiBidSgyKTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuXG4gICAgLy8gdGl0bGVzIGluIHN1YnNlcXVlbnQgc2xpZGVzXG4gICAgLmItZXhhbXBsZS1zbGlkZSArIC5iLWV4YW1wbGUtc2xpZGUgJixcbiAgICAuYi1rbm93bGVkZ2Utc2xpZGUgKyAuYi1leGFtcGxlLXNsaWRlICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi43KTtcbiAgICB9XG4gIH1cblxuICAuYi1leGFtcGxlLWVtYmVkIHtcbiAgICBtYXJnaW4tdG9wOiBidSgzKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmItcmVzb3VyY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuOSk7XG4gIH1cblxuICAvLyBncmlkXG4gIC5sLTItLXNsaWRlIHtcblxuICAgID4gLmwtMl9fY29sIHtcbiAgICAgICYsXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjYyNSk7XG4gICAgICB9XG5cbiAgICAgIC8vIHJlbW92ZSBtYXJnaW5zIGZyb20gdG9wIGFuZCBib3R0b20gb2YgY29udGVudFxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgcCB7XG4gICAgICAvLyBjYW4ndCBzYXRpc2Z5IGJvdGggZm9yY2UtcHNldWRvLW5lc3RpbmcgYW5kIG5lc3RpbmctZGVwdGhcbiAgICAgICY6bm90KC5iLWtub3dsZWRnZS1zbGlkZV9fc291cmNlKSB7XG4gICAgICAgICY6bm90KC5iLXByb2Nlc3MtbGlzdF9fcmVwZWF0cykge1xuICAgICAgICAgICY6bm90KFtjbGFzc149XCJiLXJlc291cmNlX19cIl0pIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuZXN0aW5nLWRlcHRoXG4gICAgICAgICAgICAmOm5vdChbY2xhc3MqPVwiIGItcmVzb3VyY2VfX1wiXSkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcC0tc2xpZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgYnUoMik7XG4gICAgICB9XG5cbiAgICAgIGE6bm90KFtjbGFzc10pIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBvbCB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgQGluY2x1ZGUgcC0tc2xpZGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2IHtcbiAgICAgICY6bm90KC5iLXNoYXJlLWFuZC1vdXRwdXQtYnV0dG9uc19fc2hhcmUpIHtcbiAgICAgICAgPiB1bCB7XG4gICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwLS1zbGlkZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpub3QoW2NsYXNzXSkge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgYnUoMS4zKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICN7ZS1uZXN0KCl9X19zb3VyY2Uge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMi45KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC0uNyk7XG4gICAgfVxuXG4gICAgI3tlLW5lc3QoKX1fX2xpc3Qge1xuICAgICAgKyBwIHtcbiAgICAgICAgJjpub3QoW2NsYXNzXSkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3tlLW5lc3QoKX1fX2xpc3QtLXByb2Nlc3Mge1xuICAgICAgKyBwIHtcbiAgICAgICAgJjpub3QoW2NsYXNzXSkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3tlLW5lc3QoKX1fX2xpc3QtLXByb2Nlc3MgKyAje2UtbmVzdCgpfV9fc291cmNlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMuOCk7XG4gICAgfVxuXG4gICAgI3tlLW5lc3QoKX1fX2xpc3QtLXByb2Nlc3MtcmVwZWF0aW5nIHtcbiAgICAgICsgcCB7XG4gICAgICAgICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSg0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICN7ZS1uZXN0KCl9X19saXN0LS1wcm9jZXNzLXJlcGVhdGluZyArICN7ZS1uZXN0KCl9X19zb3VyY2Uge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMy43KTsgLy8gZ2FwIGFmdGVyICdSZXBlYXRzJyB0ZXh0IGJhc2VsaW5lXG4gICAgfVxuXG4gICAgI3tlLW5lc3QoKX1fX2xpc3QtLXF1ZXN0aW9ucyB7XG4gICAgICArIHAge1xuICAgICAgICAmOm5vdChbY2xhc3NdKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1saW5rLS1leHRlcm5hbCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaWNvbnMvYXJyb3ctLXVwLXJpZ2h0LnN2Z1wiKTtcblxuICAgICAgJixcbiAgICAgICYgLmEge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1yZXNvdXJjZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgyLjUpO1xuXG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEpO1xuICAgICAgfVxuXG4gICAgICAmX19wdWJsaXNoZXIsXG4gICAgICAmX19yZWFkLXRpbWUsXG4gICAgICAmX19jb3N0IHtcbiAgICAgICAgbWFyZ2luOiBidSguNykgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19saXN0IHtcbiAgICAvLyBzaXQgZmx1c2ggd2l0aCBib3R0b20gb2ZcbiAgICAvLyB2ZXJ0aWNhbCBkaXZpZGVyXG4gICAgLy8gYXQgZGVza3RvcCB3aWR0aFxuICAgIC8vIGlmIG5vIHRyYWlsaW5nICdzb3VyY2UnXG4gICAgLy8gYWxzbyBhcHBsaWVkIGF0IG5hcnJvdyB3aWR0aFxuICAgIC8vIHRvIGVuc3VyZSB0aGF0IHRyYWlsaW5nIGVsZW1lbnRzIGhhdmVcbiAgICAvLyBjb3JyZWN0IHRvcCBtYXJnaW5cbiAgICA+IG9sLFxuICAgID4gdWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJltkYXRhLWItbW9kYWwtc2xpZGVzaG93LWpzLXNsaWRlXSB7XG4gICAgQGluY2x1ZGUgaC1mb2N1c2FibGUoKTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgcGFkZGluZy10b3A6IGJ1KDEwKTtcblxuICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgJl9fa25vd2xlZGdlIHtcbiAgICAgIC8vIGFsbCBjb250ZW50IGV4Y2VwdCB0YWJsZXMgdXNlcyB0aGUgdHdvIGNvbHVtbiBmb3JtYXRcbiAgICAgIC8vIGluIHBhZ2UgYW5kIG1vZGFsIHZpZXdcbiAgICAgICYubC0yLS1zbGlkZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjYpO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyLjQpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAubC0yX19jb2wge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cblxuICAgICAgLy8gdGFibGVzIHVzZSB0aGUgdHdvIGNvbHVtbiBmb3JtYXQgaW4gaW5wYWdlIHZpZXdcbiAgICAgIC8vIGFuZCB0aGUgd2lkZSB0d28gcm93IGZvcm1hdCBpbiBtb2RhbCB2aWV3XG4gICAgICAmLmwtMi0tc2xpZGUtLXByZXNlbnQtd2lkZSB7XG4gICAgICAgIC5iLWtub3dsZWRnZS1zbGlkZV9faW50cm9kdWN0aW9uIHtcbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1tb2RhbC1qc19faGVhZGVyICsgLmwtMi0tc2xpZGUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgtLjkpO1xuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbnRyb2R1Y3Rpb24ge1xuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KC0uNCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAmLS1wcm9jZXNzLFxuICAgICAgJi0tcHJvY2Vzcy1yZXBlYXRpbmcsXG4gICAgICAmLS1xdWVzdGlvbnMge1xuICAgICAgICBtYXJnaW4tbGVmdDogYnUoMSk7IC8vIGludGVybmFsIGd1dHRlciBhZnRlciB2ZXJ0aWNhbCBydWxlXG5cbiAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgfiAuYi1rbm93bGVkZ2Utc2xpZGVfX3NvdXJjZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoMSk7IC8vIGludGVybmFsIGd1dHRlciBhZnRlciB2ZXJ0aWNhbCBydWxlXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgfiAuYi1rbm93bGVkZ2Utc2xpZGVfX3NoYXJlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSgxKTsgLy8gaW50ZXJuYWwgZ3V0dGVyIGFmdGVyIHZlcnRpY2FsIHJ1bGVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0tcHJvY2VzcyB7XG4gICAgICAgICsgcCB7XG4gICAgICAgICAgJjpub3QoW2NsYXNzXSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLXF1ZXN0aW9ucyB7XG4gICAgICAgICsgcCB7XG4gICAgICAgICAgJjpub3QoW2NsYXNzXSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc3Vic2VxdWVudCBzbGlkZXNcbiAgICAuYi1leGFtcGxlLXNsaWRlICsgJixcbiAgICAuYi1rbm93bGVkZ2Utc2xpZGUgKyAmIHtcbiAgICAgIHBhZGRpbmctdG9wOiBidSgxMS45KTtcblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAvLyB0aXRsZXMgaW4gc3Vic2VxdWVudCBzbGlkZXNcbiAgICAgIC5iLWtub3dsZWRnZS1zbGlkZV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgtLjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSg2LjYpO1xuXG4gICAgICAgIEBhdC1yb290IC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5iLWV4YW1wbGUtZW1iZWQsXG4gICAgLmItcmVzb3VyY2Uge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuYi1yZXNvdXJjZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg1LjgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGJ1KDEpOyAvLyBpbnRlcm5hbCBndXR0ZXIgYWZ0ZXIgdmVydGljYWwgcnVsZVxuXG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoOS42KTtcblxuICAgICAgICAmLFxuICAgICAgICArIC5iLWtub3dsZWRnZS1zbGlkZV9fc2hhcmUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSgyKTsgLy8gaW50ZXJuYWwgZ3V0dGVyIGFmdGVyIHZlcnRpY2FsIHJ1bGVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgI3tlLW5lc3QoKX1fX3NvdXJjZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgtLjMpO1xuICAgICAgfVxuXG4gICAgICAvLyB1bmxpa2UgdGhlIG90aGVyIGxpc3QgdHlwZXNcbiAgICAgIC8vIHRoZSBib3R0b20gb2YgdGhlIHByb2Nlc3MgbGlzdCBjb250YWluZXJcbiAgICAgIC8vIGRvZXMgbm90IGhhdmUgYSB0cmFpbGluZyBsaW5lIGhlaWdodFxuICAgICAgI3tlLW5lc3QoKX1fX2xpc3QtLXByb2Nlc3MgKyAje2UtbmVzdCgpfV9fc291cmNlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMi45KTtcbiAgICAgIH1cblxuICAgICAgI3tlLW5lc3QoKX1fX2xpc3QtLXByb2Nlc3MtcmVwZWF0aW5nICsgI3tlLW5lc3QoKX1fX3NvdXJjZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDIuOCk7IC8vIGdhcCBhZnRlciAnUmVwZWF0cycgdGV4dCBiYXNlbGluZVxuXG4gICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBidSgxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgICY6bm90KFtjbGFzc10pIHsgLy8gUGxhaW4gY29udGVudFxuICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KDIuOSk7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCBidSgyKTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmgtbGlzdC0tY2hlY2sge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb2wge1xuICAgICAgICAmLmgtbGlzdC0tbnVtYmVyZWQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCArIC5iLWtub3dsZWRnZS1zbGlkZV9fbGlzdCB7XG4gICAgICAgID4gdWwge1xuICAgICAgICAgICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1uZXh0LXN0ZXBzLWFuZC1ob3ctdG8tdXNlLXRoZS1zaXRlXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBOZXh0IFN0ZXBzICYgSG93IHRvIHVzZSB0aGUgc2l0ZVxuLy8gXG4vLyBNYXJrdXA6IGItbmV4dC1zdGVwcy1hbmQtaG93LXRvLXVzZS10aGUtc2l0ZS5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4zM1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1uZXh0LXN0ZXBzLWFuZC1ob3ctdG8tdXNlLXRoZS1zaXRlIHtcbiAgcGFkZGluZy1yaWdodDogYnUoJGctbWFyZ2luLW5hcnJvdy1idSk7XG4gIHBhZGRpbmctbGVmdDogYnUoJGctbWFyZ2luLW5hcnJvdy1idSk7XG4gIG1hcmdpbjogYnUoNCkgYnUoLSRnLW1hcmdpbi1uYXJyb3ctYnUpIDA7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG4gICAgcGFkZGluZy1yaWdodDogYnUoMy4zNzUpO1xuICAgIHBhZGRpbmctbGVmdDogYnUoMy4zNzUpO1xuICAgIG1hcmdpbjogYnUoNikgYnUoLTMuMzc1KSBidSgtMTIpOyAvLyBvZmZzZXQgLmwtMi0tcGFnZS0tZ3VpZGUgYm90dG9tIG1hcmdpblxuXG4gICAgLmItaG93LXRvLXVzZS10aGUtc2l0ZSB7XG4gICAgICAvLyBvZmZzZXQgaGFuZGxlZCBieSBwYXJlbnQgYmxvY2tcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlc3QtYW5kLXVwKSB7XG4gICAgcGFkZGluZy1yaWdodDogYnUoMy42MjUpO1xuICAgIHBhZGRpbmctbGVmdDogYnUoMy42MjUpO1xuICAgIG1hcmdpbjogYnUoNikgYnUoLTMuNjI1KSBidSgtMTIpOyAvLyBvZmZzZXQgLmwtMi0tcGFnZS0tZ3VpZGUgYm90dG9tIG1hcmdpblxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1ndWlkZS10aWxlXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBHdWlkZSBUaWxlXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4xN1xuXG4vLyBHdWlkZSBUaWxlIC0gRmVhdHVyZWRcbi8vIFxuLy8gR3VpZGUgKE5hcnJvdyAyIGNvbCwgV2lkZSAyIGNvbClcbi8vIFxuLy8gTWFya3VwOiBiLWd1aWRlLXRpbGUtLWZlYXR1cmVkLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjE3LjFcblxuLy8gR3VpZGUgVGlsZSAtIEZlYXR1cmVkIC8gTmV4dCBTdGVwc1xuLy8gXG4vLyBHdWlkZSAoTmFycm93IDIgY29sLCBXaWRlIDIgY29sKVxuLy8gXG4vLyBNYXJrdXA6IGItZ3VpZGUtdGlsZS0tZmVhdHVyZWQtLW5leHQtc3RlcHMuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTcuMlxuXG4vLyBHdWlkZSBUaWxlIC0gRmVhdHVyZWQgLyBUYWxsXG4vLyBcbi8vIEhvbWUgKE5hcnJvdyAyIGNvbCwgV2lkZSAxIGNvbClcbi8vIFxuLy8gTWFya3VwOiBiLWd1aWRlLXRpbGUtLWZlYXR1cmVkLS10YWxsLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjE3LjNcblxuLy8gR3VpZGUgVGlsZSAtIExpc3Rpbmdcbi8vIFxuLy8gSG9tZSAoTmFycm93IDIgY29sLCBXaWRlIDMgY29sKVxuLy8gXG4vLyBNYXJrdXA6IGItZ3VpZGUtdGlsZS0tbGlzdGluZy5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC4xNy40XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWd1aWRlLXRpbGUge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgbWFyZ2luLWJvdHRvbTogYnUoMSk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX3RpdGxlIHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyAvLyB3cmFwIHRleHRcbiAgICB9XG5cbiAgICAuYi10YWcge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBpbWcgeyAvLyAxMDR4MTEyXG4gICAgICB3aWR0aDogMTAwJTsgLy8gYnUoMTMpO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgLmwtMyAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmwtMi0tZ3VpZGUtdGlsZS0tbGlzdGluZ19faW5uZXIge1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgID4gLmwtMl9fY29sIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLWZlYXR1cmVkLS10YWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgxKTtcbiAgfVxuXG4gICYtLW5leHQtc3RlcHMge1xuICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtYmVsb3ctd2lkZSkge1xuICAgICZfX2ltYWdlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAuYi10YWcge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIH1cblxuICAgICAgLmwtMy0tZ3VpZGUtdGlsZXMgJiB7XG4gICAgICAgIC5iLXRhZyB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWZlYXR1cmVkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNSk7XG5cbiAgICAgICN7bS1uZXN0KCl9X19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoNC4yKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMi40KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3RlYXNlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDIuNCk7XG4gICAgICB9XG5cbiAgICAgIC8vIHRleHQgb3JwaGFuXG4gICAgICArIC5wLS1icm93c2UtYWxsLWd1aWRlcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDYuMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIGxhc3QgZWxlbWVudCBpbiBjb2x1bW5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mZWF0dXJlZC0tdGFsbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEFQIGZvciBSZWFkIG1vcmUgbGlua1xuICAgICAgcGFkZGluZy1ib3R0b206IGJ1KDMuNSk7IC8vIHNwYWNlIGZvciBBUCBSZWFkIG1vcmUgbGlua1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS41KTtcblxuICAgICAgI3ttLW5lc3QoKX1fX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDcwLjYlO1xuICAgICAgICBtYXJnaW46IGJ1KDIuOSkgYnUoMy40KSBidSgxLjYpO1xuICAgICAgfVxuXG4gICAgICAuYi1ydWxlLS1uYXJyb3cge1xuICAgICAgICBtYXJnaW46IGJ1KDEuNSkgYnUoMy40KSBidSgyLjIpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fdGVhc2VyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MC42JTtcbiAgICAgICAgbWFyZ2luOiBidSgyLjEpIGJ1KDMuNCkgYnUoMi45KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3N0cmF0ZWdpZXMtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwIGJ1KDMpIGJ1KDMuNSkgYnUoMy40KTtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oLWljb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IGJ1KC0uMik7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEuMmVtO1xuICAgICAgICAgIGhlaWdodDogMS4yZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1saXN0aW5nIHtcbiAgICAgICN7bS1uZXN0KCl9X19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoNCk7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X190ZWFzZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSg0LjQpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fc3RyYXRlZ2llcy1saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1jb250ZW50LXJldmVhbFxuLy8gXG4vLyBTZWUgYWxzbyBiLWhpZGUtc2hvd1xuLy8gU2VlIGFsc28gaGlkZS1zaG93LmpzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBDb250ZW50IHJldmVhbFxuLy8gXG4vLyBNYXJrdXA6IGItY29udGVudC1yZXZlYWwuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuN1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLmItY29udGVudC1yZXZlYWwge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgKyAuYi1jb250ZW50LXJldmVhbCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19oZWFkZXIge1xuICAgIC8vIEBleHRlbmQgaDMgIW9wdGlvbmFsO1xuICAgIC8vIEBpbmNsdWRlIGZvbnQtc2NhbGUoMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICAvLyBsaW5lLWhlaWdodDogYnUoMyk7XG4gICAgLy8gZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAvLyBjb2xvcjogJGItY29udGVudC1yZXZlYWwtbGluay1jb2xvcjtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcih0eXBlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZm9udC1mYW1pbHk6ICRnLWZvbnQtcHJpbWFyeTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICAgIGNvbG9yOiBjb2xvcih0eXBlKTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICN7ZS1uZXN0KCl9X19pY29uIHtcbiAgICAgICAgJi5oLWljb24tLWNoZXZyb24ge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IC8vIHBvaW50IGRvd25cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmlzLW9wZW5lZCB7XG5cbiAgICAgICAgI3tlLW5lc3QoKX1fX2ljb24ge1xuICAgICAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAmLmgtaWNvbi0tY2hldnJvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgLy8gcG9pbnQgdXBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmgtaWNvbi0tdHJpYW5nbGUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IC8vIHBvaW50IHVwXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IGJ1KDMpO1xuXG4gICAgb2wge1xuICAgICAgcGFkZGluZy1sZWZ0OiBidSgzLjc1KTsgLy8gZG9uJ3QgY3JvcCBwcmV0ZWVuIGRpZ2l0cyBpbiBTYWZhcmlcbiAgICB9XG4gIH1cblxuICAmX19pY29uIHtcbiAgICB3aWR0aDogLjY1ZW07XG4gICAgaGVpZ2h0OiAuNjVlbTtcbiAgICAvLyB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbiAgICAvLyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjFzIGxpbmVhcjtcblxuICAgIC5qcy1lbmFibGVkICYge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgIC8vIEBpbmNsdWRlIGZvbnQtc2NhbGUoNCk7XG4gICAgICAvLyBsaW5lLWhlaWdodDogYnUoNCk7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDcuNSk7XG4gICAgICB9XG5cbiAgICAgIEBhdC1yb290IC5qcy1kaXNhYmxlZCAmIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGJ1KDMpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYnUoMyk7XG4gICAgICB9XG5cbiAgICAgIEBhdC1yb290IC5qcy1lbmFibGVkICYgYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGJ1KDMpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYnUoMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi10YWdcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIFRhZ1xuLy8gXG4vLyBUYWdzIGFyZSBoaWRkZW4gb24gbmFycm93IHZpZXdwb3J0cy5cbi8vIFxuLy8gTWFya3VwOiBiLXRhZy5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC41MlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi10YWcge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gYmxvY2sgd3JhcHBlciBwcm92aWRlcyBkaXNwbGF5IGNvbnRyb2xcbiAgLy8gd2l0aG91dCBhZmZlY3RpbmcgdGhlIGZpbGxcblxuICBkaXNwbGF5OiBibG9jazsgLy8gcGxhY2Ugb24gYSBuZXcgbGluZVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRWxlbWVudCBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcGFkZGluZzogMCBidSgxKTtcbiAgICBib3JkZXItcmFkaXVzOiBidSgxLjI1KTtcbiAgICBjb2xvcjogY29sb3IodHlwZSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICYtLW5ldyB7XG4gICAgI3ttLW5lc3QoKX1fX2NvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC10aGVtZTQpO1xuICAgIH1cbiAgfVxuXG4gICYtLXBvcHVsYXIge1xuICAgICN7bS1uZXN0KCl9X19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtdGhlbWUzKTtcbiAgICB9XG4gIH1cblxuICAmLS11cGRhdGVkIHtcbiAgICAje20tbmVzdCgpfV9fY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihmaWxsLXRhZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1ub3RlLWpzXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBOb3RlXG4vLyBcbi8vIE1hcmt1cDogYi1ub3RlLWpzLmh0bWxcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjM1XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLW5vdGUtanMge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBidSgzLjUpIGJ1KDMuMjUpIGJ1KDEuMzc1KSBidSgyKTtcblxuICAmLmgtZ2xvYmFsLW1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogYnUoNC44KTtcbiAgfVxuXG4gICZfX2Nsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBidSguNjUpO1xuICAgIHJpZ2h0OiBidSguOCk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IGJ1KDEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgLmgtaWNvbiB7XG4gICAgICB3aWR0aDogLjc1ZW07XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX25vdGUge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIHBhZGRpbmctdG9wOiBidSgxLjQpO1xuXG4gICAgJi5oLWdsb2JhbC1tYXJnaW4ge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNS41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWd1aWRlLWxpc3Qtc2VhcmNoLWFuZC1maWx0ZXJcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIEd1aWRlIFNlYXJjaCBMaXN0IGFuZCBGaWx0ZXJcbi8vIFxuLy8gTWFya3VwOiBiLWd1aWRlLWxpc3Qtc2VhcmNoLWFuZC1maWx0ZXIuaHRtbFxuLy8gXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTZcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWd1aWRlLWxpc3Qtc2VhcmNoLWFuZC1maWx0ZXIge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIGZpZWxkc2V0IGNvbnRhaW5pbmcgdGhlIGZpbHRlciByYWRpb3NcbiAgJl9fZmllbGRzZXQge1xuICAgIGJvcmRlci1ib3R0b206IGJ1KC4xMjUpIHNvbGlkIGNvbG9yKHR5cGUtZGFyayk7XG4gIH1cblxuICAmX19yZXN1bHRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgzLjUpO1xuICB9XG5cbiAgJl9fc29ydGJ5IHtcbiAgICAucC0tc29ydC1ieSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLnAtLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLmItc2VhcmNoLWZpZWxkIHtcbiAgICBtYXJnaW4tdG9wOiBidSgtLjcpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDMpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1ndWlkZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gc2l0IGZsdXNoIHdpdGggYi1maWx0ZXItbm90aWNlXG5cbiAgICAje20tbmVzdCgpfV9fZmlsdGVycyB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgxLjUpO1xuXG4gICAgICAuYi1maWx0ZXJfX2xhYmVsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC42ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tZ3VpZGUtbGlzdGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMi4yKTtcbiAgfVxuXG4gICYtLWhvbWUge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuNSk7XG4gIH1cblxuICAmLS1zZWFyY2gtLW5hcnJvdyB7XG4gICAgbWFyZ2luLXRvcDogYnUoMyk7XG5cbiAgICAuYi1zZWFyY2gtZmllbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZWQgU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAuYi1zZWFyY2gtZmllbGQge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMS44KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIuNSk7XG4gICAgfVxuXG4gICAgJl9fcmVzdWx0cyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0KTtcbiAgICB9XG5cbiAgICAmX19zZWUtYWxsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEwKTtcbiAgICB9XG5cbiAgICAmLS1ndWlkZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgxLjgpO1xuXG4gICAgICAje20tbmVzdCgpfV9fbGVnZW5kIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDEuMSk7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19maWx0ZXJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ndWlkZS1saXN0aW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuMSk7XG5cbiAgICAgIC5iLXNlYXJjaC1maWVsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDcpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWhvbWUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQpO1xuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAuYi1zZWFyY2gtZmllbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgxLjYpO1xuICAgICAgfVxuXG4gICAgICAucC0tbGFyZ2UtLWhvbWUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgxKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNy41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBiLWZpbHRlclxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gRmlsdGVyXG4vL1xuLy8gU2VlIEd1aWRlIFNlYXJjaCBMaXN0IGFuZCBGaWx0ZXJcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMTNcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbG9jayB2YXJzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBCbG9jayBuYW1lXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtaXhpbiBiLWZpbHRlci0tZGlzYWJsZWQoKSB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiBjb2xvcih0eXBlLWRpc2FibGVkKTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1maWx0ZXIge1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAuanMtZW5hYmxlZDogbGFiZWxcbiAgLy8gLmpzLWRpc2FibGVkOiBhIHwgc3BhblxuICAmX19sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IGJ1KDAuODc1KTtcbiAgICBib3JkZXItYm90dG9tOiBidSgwLjYyNSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGNvbG9yKGxpbmspO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgLy8gLmpzLWRpc2FibGVkXG4gICAgJi5hLS1uby12aXNpdGVkIHtcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihsaW5rKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmEtLXZpc2l0ZWQge1xuICAgICAgY29sb3I6IGNvbG9yKGxpbmstdmlzaXRlZCk7XG4gICAgfVxuXG4gICAgQGF0LXJvb3Qge1xuICAgICAgLy8gLmpzLWRpc2FibGVkXG4gICAgICAvLyBub3QgY3VycmVudGx5IHVzZWQgYnV0IGludGVuZGVkXG4gICAgICAvLyBmb3Igbm9zY3JpcHQgZW11bGF0aW9uIG9mIDpkaXNhYmxlZFxuICAgICAgZGVsI3smfSB7XG4gICAgICAgIEBpbmNsdWRlIGItZmlsdGVyLS1kaXNhYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pbnB1dCB7XG4gICAgJjpmb2N1cyB7XG4gICAgICArIC5iLWZpbHRlcl9fbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb2N1cy1vdXRsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICsgLmItZmlsdGVyX19sYWJlbCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJjpob3ZlciB7XG4gICAgLmItZmlsdGVyX19sYWJlbCB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIC8vIGRpc2FibGVkIGF0dHJpYnV0ZSBpcyB0b2dnbGVkIGJ5IGNvbnRlbnQtZmlsdGVyLmpzXG4gICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgfiAuYi1maWx0ZXJfX2xhYmVsIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlucHV0IHtcbiAgICAmOmNoZWNrZWQge1xuICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICB+IC5iLWZpbHRlcl9fbGFiZWwge1xuICAgICAgICAgIC8vIGVpdGhlciB0aGUganMgcmFkaW8gbGFiZWwsIG9yIHRoZSBuby1qcyBzcGFuXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICBjb2xvcjogY29sb3IodHlwZS1kYXJrKTtcblxuICAgICAgICAgICYuYS0tdmlzaXRlZCB7XG4gICAgICAgICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihsaW5rLXZpc2l0ZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRpc2FibGVkIGF0dHJpYnV0ZSBpcyB0b2dnbGVkIGJ5IGNvbnRlbnQtZmlsdGVyLmpzXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICB+IC5iLWZpbHRlcl9fbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBiLWZpbHRlci0tZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAmX19sYWJlbCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogYnUoMS40NSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi12aWRlb1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gVmlkZW9cbi8vXG4vLyBTZWUgRXhhbXBsZSBlbWJlZFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDEwMC41NlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcbiRiLXZpZGVvLWJnLWNvbG9yOiBjb2xvcih0eXBlKTtcbiRiLXZpZGVvLWJnLWNvbG9yLWhpZGVzaG93OiBjb2xvcih0eXBlKTtcbiRiLXZpZGVvLWljb24tY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLXZpZGVvLWpzIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogNTYlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiLXZpZGVvLWJnLWNvbG9yO1xuICB9XG5cbiAgJl9faWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICZfX3RyaWdnZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gbWFzayBpbnRlcm1pdHRlbnQgMXB4IGdhcCBiZXR3ZWVuIHJlc2l6ZWQgcGxhY2Vob2xkZXIgYW5kIGdyZXkgY2FwdGlvblxuICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGItdmlkZW8tYmctY29sb3I7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAje2UtbmVzdCgpfV9faWNvbiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihsaW5rLWxpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1waWN0dXJlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuYi1waWN0dXJlX19pbWFnZSB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5oLWljb24tLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19wb3N0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogYnUoMTIpO1xuICAgIGhlaWdodDogYnUoMTIpO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBjb2xvcjogJGItdmlkZW8taWNvbi1jb2xvcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJl9fdHJhbnNjcmlwdC1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjFzIGxpbmVhcjtcbiAgfVxuXG4gICZfX2hpZGVzaG93IHtcbiAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0yKTtcbiAgICBwYWRkaW5nOiAwIGJ1KDIpIGJ1KDIpIGJ1KDMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiLXZpZGVvLWJnLWNvbG9yLWhpZGVzaG93O1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zY2FsZSgtMik7XG4gICAgICBtYXJnaW46IDAgMCBidSgxKTtcblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1vcGVuZWQge1xuICAgICAgLmItdmlkZW8tanNfX3RyYW5zY3JpcHQtaWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmLS1hY3RpdmUge1xuICAgICN7bS1uZXN0KCl9X190cmlnZ2VyIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLW5hcnJvdy1hbmQtdXApIHtcbiAgICAmX19oaWRlc2hvdyB7XG4gICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcblxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNjYWxlKC0xKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJl9faWNvbiB7XG4gICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgd2lkdGg6IGJ1KDI2KTtcbiAgICAgICAgaGVpZ2h0OiBidSgyNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbGFyZ2Uge1xuICAgICAgI3ttLW5lc3QoKX1fX2ljb24ge1xuICAgICAgICB3aWR0aDogYnUoMjUuMzc1KTtcbiAgICAgICAgaGVpZ2h0OiBidSgyNS4zNzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXdpZGUge1xuICAgICAgI3ttLW5lc3QoKX1fX2ljb24ge1xuICAgICAgICB3aWR0aDogYnUoMjEuNSk7XG4gICAgICAgIGhlaWdodDogYnUoMjEuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1zY3JvbGwtdHJpZ2dlci1qc1xuLy8gXG4vLyBTZWUgYWxzbyBiLXRhYmxlLWpzXG4vLyBTZWUgYWxzbyBsLW92ZXJmbG93LWxpbmVyXG4vLyBTZWUgYWxzbyBjdC1vdmVyZmxvdy1oZWxwZXIuanNcbi8vIFxuLy8gTW92ZWQgb3BhY2l0eSBmcm9tIHdyYXBwZXIgdG8gYnV0dG9uXG4vLyB0byBmaXggdGFiIG9yZGVyIHZpc2liaWxpdHkuXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBTY3JvbGwgdHJpZ2dlclxuLy8gXG4vLyBTZWUgVGFibGVcbi8vIFxuLy8gU3R5bGVndWlkZTogMTAwLjQxXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQmxvY2sgdmFycyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCB0aGUgQmxvY2sgbmFtZVxuJGItc2Nyb2xsLXRyaWdnZXItYmctY29sb3I6IHJnYmEoY29sb3IobGluayksIC44KTtcbiRiLXNjcm9sbC10cmlnZ2VyLWJnLWNvbG9yLWFsdDogcmdiYShjb2xvcihsaW5rKSwgMSk7XG4kYi1zY3JvbGwtdHJpZ2dlci10ZXh0LWNvbG9yOiBjb2xvcih0eXBlLWxpZ2h0KTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTdHlsZXMgZm9yIHRoZSBodG1sIGFkZGVkIGJ5IHRoZSBjdC1vdmVyZmxvdy1oZWxwZXIuanNcblxuLmItc2Nyb2xsLXRyaWdnZXItanMge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGJ1KDUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8vIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMXMgZWFzZS1pbi1vdXQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQ4JTtcbiAgICBwYWRkaW5nOiBidSgxLjI1KSBidSgxLjUpO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGJ1KDIuNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGItc2Nyb2xsLXRyaWdnZXItYmctY29sb3I7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xcyBlYXNlLWluLW91dDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBvbiBrZXlib2FyZCBmb2N1c1xuICAgIC8vIHJldmVhbCB0aGUgYnV0dG9uIGV2ZW4gaWYgaXQgaXMgbm90IGFjdGl2ZVxuICAgIC8vIHNvIHRoYXQgdGhlIHRhYiBmb2N1cyBpcyBub3QgbG9zdFxuICAgICY6Zm9jdXMge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmX19pY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLS4xMjVlbTtcbiAgICB3aWR0aDogLjk1ZW07XG4gICAgaGVpZ2h0OiAuOTVlbTtcbiAgICBjb2xvcjogJGItc2Nyb2xsLXRyaWdnZXItdGV4dC1jb2xvcjtcbiAgfVxuXG4gICZfX2xlZnQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgICN7bS1uZXN0KCl9X19idXR0b24ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGItc2Nyb2xsLXRyaWdnZXItYmctY29sb3ItYWx0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJlcGVhdCB0aGUgc3RydWN0dXJlIGFib3ZlIGluc2lkZSB0aGUgbWVkaWEgcXVlcmllcy5cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgJl9faWNvbiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLS4yZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi10ZXh0LXByb21vXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBUZXh0IHByb21vXG4vL1xuLy8gVXNlZCBvbiB0aGUgaG9tZXBhZ2Vcbi8vXG4vLyBNYXJrdXA6IGItdGV4dC1wcm9tby5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC41M1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi10ZXh0LXByb21vIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX19saW5rIHtcbiAgICBhIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBidSgzKTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTW9kaWZpZXIgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllZCBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBzZXVkbyBTdGF0ZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gUmVwZWF0IHRoZSBzdHJ1Y3R1cmUgYWJvdmUgaW5zaWRlIHRoZSBtZWRpYSBxdWVyaWVzLlxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICBtYXJnaW4tdG9wOiBidSg3LjEpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuMik7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSguMzUpO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgLmgtbGlzdC0tbnVtYmVyZWQge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgbWFyZ2luLXRvcDogYnUoLjcpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItbmF2LXByaW1hcnlcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vIE5hdiAtIFByaW1hcnlcbi8vXG4vLyBNYXJrdXA6IGItbmF2LXByaW1hcnkuaHRtbFxuLy9cbi8vIFN0eWxlZ3VpZGU6IDEwMC4zMVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgTWl4aW5zIChuby1leHRlbmRzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlLWFuZC11cCkge1xuICAuYi1maWxsLS1kYXJrLXN0cmlwZSAuYi1uYXYtcHJpbWFyeSAucC0tYnJhbmQgYTphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9ob21lLnN2Zykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxNHB4O1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgfVxufVxuXG4vLyBoaWRlIHRoZSBidXJnZXIgbWVudSBhcyBpdHMgbm90IGJlaW5nIHVzZWQuIFdTLTI5ODhcbmEubmF2YmFyLWJ1cmdlci5idXJnZXIubWVudS1pbnZpc2libGV7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5iLW5hdi1wcmltYXJ5IHtcbiAgXG4gIC5iLW5hdi1wcmltYXJ5X19sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIFxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpe1xuICAgIC5iLW5hdi1wcmltYXJ5X19sb2dvIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmItbmF2LXByaW1hcnlfX2JyYW5kIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC5sLTItLWhlYWRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiBidSgyKTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgyKTtcblxuICAgID4gLmwtMl9fY29sIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iLXJ1bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IGJ1KC4zNzUpOyAvLyBwcmV2ZW50IHJlbGF0aXZlIHBvc2l0aW9uZWQgYi1waWN0dXJlIGZyb20gb3ZlcmxhcHBpbmcgdGhpcyBlbGVtZW50XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogKC0jeyRnLW1hcmdpbi1uYXJyb3d9cHgpO1xuICAgICAgbGVmdDogKC0jeyRnLW1hcmdpbi1uYXJyb3d9cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5wLS1icmFuZCB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9ob21lLWRhcmsuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEycHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxlZnQ6IC0yMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2xpc3Qge1xuICAgIC8vIHZlcnRpY2FsbHkgY2VudGVyIGl0ZW1zXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICZfX3NlYXJjaCB7XG4gICAgICAuYi1idXR0b24tLWljb24tY2lyY2xlLS1zbWFsbCB7XG4gICAgICAgIC5iLWJ1dHRvbl9fY29udGVudCB7XG4gICAgICAgICAgLy8gbWF0Y2ggbGluZSBoZWlnaHQgd2l0aCBzaWJsaW5nIGh5cGVybGlua1xuICAgICAgICAgIHBhZGRpbmc6IC4xZW0gMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IGJ1KDEpO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIC5wLS1icmFuZCBhOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaG9tZS1kYXJrLnN2Zykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDE0cHg7XG4gICAgICBvcGFjaXR5OiAwLjk7XG4gICAgfVxuXG4gICAgLmwtMi0taGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiBidSgzKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBidSgzKTtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgIHdpZHRoOiBidSgyMi41KTtcbiAgICB9XG5cbiAgICAmX19saXN0IHtcblxuICAgICAgJl9fc2VhcmNoIHtcbiAgICAgICAgLmItYnV0dG9uLS1pY29uLWNpcmNsZS0tc21hbGwge1xuICAgICAgICAgIC5iLWJ1dHRvbl9fY29udGVudCB7XG4gICAgICAgICAgICAvLyBtYXRjaCB2ZXJ0aWNhbCBhbGlnbm1lbnQgd2l0aCBzaWJsaW5nIGh5cGVybGlua1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYm90dG9tOiAtLjA1ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogYnUoMik7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG4gICAgJl9fbGlzdCB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGJ1KDUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItaW50cm9kdWN0aW9uXG4vLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuXG4vLyBJbnRyb2R1Y3Rpb25cbi8vXG4vLyBNYXJrdXA6IGItaW50cm9kdWN0aW9uLmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMjJcblxuLy8gSG9tZTpcbi8vICAgICBUaXRsZSB8IEludHJvIDFcbi8vXG4vLyBHdWlkZSBMaXN0aW5nOlxuLy8gICAgIFRpdGxlXG4vLyAgICAgSW50cm8gMSB8IEludHJvIDJcbi8vXG4vLyBHdWlkZTpcbi8vICAgICBUaXRsZSB8IEludHJvIDFcbi8vICAgICAgICAgICB8IFNoYXJlIGJ1dHRvbnNcbi8vXG4vLyAgICAgTm90ZTogSnVtcGxpbmtzIHdlcmUgcGFydCBvZiB0aGlzIGluIHRoZSBJQVxuLy8gICAgIGJ1dCBmb2xsb3cgdGhlIHNoYXJpbmcgYnV0dG9ucyBpbiB0aGUgZGVzaWduXG4vL1xuLy8gVW5kZXJzdGFuZGluZzpcbi8vICAgICBUaXRsZVxuLy8gICAgIEludHJvIDEgfCBPdXRwdXQgYnV0dG9ucyBleGNsIFByZXNlbnQgQWxsXG4vLyAgICAgICAgICAgICB8IFNoYXJlIGJ1dHRvbnNcbi8vXG4vLyBTdWdnZXN0aW9uOlxuLy8gICAgIFRpdGxlXG4vLyAgICAgSW50cm8gMSB8IE91dHB1dCBidXR0b25zIGluY2wgUHJlc2VudCBBbGxcbi8vICAgICAgICAgICAgIHwgU2hhcmUgYnV0dG9uc1xuLy9cbi8vICAgICBOb3RlOiBKdW1wbGlua3Mgd2VyZSBwYXJ0IG9mIHRoaXMgaW4gdGhlIElBXG4vLyAgICAgYnV0IGZvbGxvdyB0aGUgc2hhcmluZyBidXR0b25zIGluIHRoZSBkZXNpZ25cbi8vICAgICBhbmQgdGhlIHNoYXJpbmcgYnV0dG9ucyBoYXZlIGJlZW4gbW92ZWQgaW50b1xuLy8gICAgIHRoZSBpbnRyby5cbi8vXG4vLyBIZWxwLCBQYWdlIG5vdCBmb3VuZCwgU3VnZ2VzdGlvbiBQREZcbi8vICAgICBUaXRsZVxuLy8gICAgIEludHJvIDFcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5iLWludHJvZHVjdGlvbiB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJsb2NrIExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAmX190aXRsZSB7XG4gICAgLmItdGFnIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tZXJyb3Ige1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuNSk7XG5cbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNS42KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQpO1xuICAgIH1cbiAgfVxuXG4gICYtLWhlbHAge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMzc1KTtcblxuICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSg1LjYpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNSk7XG4gICAgfVxuICB9XG5cbiAgJi0tZ3VpZGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNS41KTtcblxuICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjc1KTtcbiAgICB9XG5cbiAgICAje20tbmVzdCgpfV9faW50cm8tMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgzLjEyNSk7XG4gICAgfVxuICB9XG5cbiAgJi0tZ3VpZGUtbGlzdGluZyB7XG5cbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNS4zNzUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMy43NSk7XG4gICAgfVxuXG4gICAgI3ttLW5lc3QoKX1fX2ludHJvLTEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC4zNzUpO1xuICAgIH1cbiAgfVxuXG4gICYtLWhvbWUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoNS4yNSk7XG5cbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMyk7XG4gICAgfVxuXG4gICAgdmlkZW8ge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQod2hpdGUsIGJsYWNrKTtcbiAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBhc3BlY3QtcmF0aW86IDU3MC8yODA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1pbnRyb2R1Y3Rpb24tLXRhZ2xpbmUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDI4cHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDU0cHg7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzA3MDcwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtMTZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYi1pbnRyb2R1Y3Rpb24tLWhvbWUtdmlkZW8ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBhc3BlY3QtcmF0aW86IDU3MC8yODA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudmlkZW8tLWNvbnRyb2wge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMTJweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYXNwZWN0LXJhdGlvOiA1NzAvMjgwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9wYXVzZS1idXR0b24uc3ZnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvcGF1c2UtYnV0dG9uLWhvdmVyLnN2Zyk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtLXBhdXNlZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvcGxheS1idXR0b24uc3ZnKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL3BsYXktYnV0dG9uLnN2Zyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucC0taW50cm8ge1xuICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzY7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IGJ1KDMpO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0taG9tZS1pbm5lciB7XG4gICAgbWF4LXdpZHRoOiA1NzBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICYtLXN1Z2dlc3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuNSk7XG5cbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNC41KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMjUpO1xuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19pbnRyby0xIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBtLW5lc3QoKSBydWxlcyBmYWlsc1xuICAvLyBpZiB0aGlzIGlzIGNvbWJpbmVkIHdpdGggdGhlIGlkZW50aWNhbCBydWxlXG4gIC8vIGFib3ZlXG4gICYtLXVuZGVyc3RhbmQge1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuNSk7XG5cbiAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogYnUoNC41KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMjUpO1xuICAgIH1cblxuICAgICN7bS1uZXN0KCl9X19pbnRyby0xIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMuMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgLmItaW50cm9kdWN0aW9uLS10YWdsaW5lIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIHBhZGRpbmctdG9wOiAyOHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtNDBweDtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIC5iLXRhZyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuODU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tZXJyb3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNi4yNSk7XG5cbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDcuNzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWd1aWRlIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDUuNik7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSguNSk7XG5cbiAgICAgICN7bS1uZXN0KCl9X19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDUuMyk7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDQuMjUpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9faW50cm8tMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgJi5wLS1pbnRybyB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDMuNjI1KTsgLy8gcmVkdWNlZFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICsgLmItbmF2LWluLXBhZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWd1aWRlLWxpc3Rpbmcge1xuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNC4yNSk7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19pbnRyby0xIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX2ludHJvLTIge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19pbnRyby1saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taGVscCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSgxKTtcblxuICAgICAgI3ttLW5lc3QoKX1fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLS4yNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taG9tZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg4Ljc1KTtcblxuICAgICAgLmItcGljdHVyZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEzLjEyNSk7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X19pbnRyby0xIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zdWdnZXN0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMuMyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjcpO1xuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNi42MjUpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9faW50cm8tMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgJi5wLS1pbnRybyB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQpOyAvLyByZWR1Y2VkXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS11bmRlcnN0YW5kIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDMuMyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBidSg0LjcpO1xuXG4gICAgICAje20tbmVzdCgpfV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoNi42MjUpO1xuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9faW50cm8tMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgJi5wLS1pbnRybyB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IGJ1KDQpOyAvLyByZWR1Y2VkXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4qOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyogT2xkIHNoYWRvdyBkb20gZm9yIHBsYXkgYnV0dG9uICovXG4qOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBsYXktYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyogTmV3IHNoYWRvdyBkb20gZm9yIHBsYXkgYnV0dG9uICovXG5cbi8qIFRoaXMgb25lIHdvcmtzISAqL1xuKjo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1zdGFydC1wbGF5YmFjay1idXR0b24ge1xuICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItcnVsZVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gUnVsZVxuLy8gXG4vLyBNYXJrdXA6IGItcnVsZS5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC40MFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmxvY2sgU3R5bGVzXG4vLyBDYW4gYmUgdXNlZCBzdGFuZGFsb25lIG9yIG9uIGFueSBlbGVtZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmItcnVsZSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3IodHlwZSk7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwOyAvLyBwcmV2ZW50cyB0aGljayBib3JkZXIgb24gYi1ydWxlLS12ZXJ0aWNhbCBvbiBuYXJyb3dcbiAgfVxuXG4gIC8vIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBhIHRoaWNrbmVzcyBtb2RpZmllclxuICAmLS1saWdodCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogLjM7XG4gICAgfVxuICB9XG5cbiAgLy8gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGEgdGhpY2tuZXNzIG1vZGlmaWVyXG4gICYtLWxpZ2h0ZXIge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IC4xO1xuICAgIH1cbiAgfVxuXG4gIC8vIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBhIHRoaWNrbmVzcyBtb2RpZmllclxuICAmLS1saW5rIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKGxpbmspO1xuICAgIH1cbiAgfVxuXG4gIC8vIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBhIHRoaWNrbmVzcyBtb2RpZmllclxuICAmLS1uYXJyb3cge1xuICAgIHdpZHRoOiBidSgxMSk7XG4gICAgbWFyZ2luOiBidSgyKSAwO1xuICB9XG5cbiAgLy8gdGhpY2tuZXNzIG1vZGlmaWVyXG4gICYtLXRoaWNrIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBidSguMzc1KTtcbiAgICB9XG4gIH1cblxuICAvLyB0aGlja25lc3MgbW9kaWZpZXJcbiAgJi0tdGhpbiB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogYnUoLjEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgLy8gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGEgdGhpY2tuZXNzIG1vZGlmaWVyXG4gICAgJi0tbmFycm93IHtcbiAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICB3aWR0aDogYnUoMjIuNSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gdGhpY2tuZXNzIG1vZGlmaWVyXG4gICAgJi0tdGhpY2sge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBidSguNjI1KTtcbiAgICAgIH1cblxuICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBidSguOCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0aGlja25lc3MgYW5kIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi0tdmVydGljYWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogYnUoLTEuNzUpO1xuICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IGJ1KC4xMjUpO1xuICAgICAgICBvcGFjaXR5OiAuMztcblxuICAgICAgICAubC0yLS1zbGlkZSAmIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgdG9wOiBidSguNSk7XG4gICAgICAgICAgICBsZWZ0OiBidSgtMi41NSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmwtMi0tc2xpZGUtLXByZXNlbnQtd2lkZSAmIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgLy8gaGlkZSB3aGVuIGdyaWQgZGlzcGxheXMgYXMgb25lIGNvbHVtblxuICAgICAgICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGItc2VhcmNoLXJlc3VsdFxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gU2VhcmNoIFJlc3VsdFxuLy8gXG4vLyBNYXJrdXA6IGItc2VhcmNoLXJlc3VsdC5odG1sXG4vLyBcbi8vIFN0eWxlZ3VpZGU6IDEwMC40NFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJsb2NrIHZhcnMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIEJsb2NrIG5hbWVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBNaXhpbnMgKG5vLWV4dGVuZHMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBTdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYi1zZWFyY2gtcmVzdWx0IHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQmxvY2sgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHBhZGRpbmc6IGJ1KC4yNSkgYnUoMi41KSBidSgzKTtcbiAgbWFyZ2luLWJvdHRvbTogYnUoMS43KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodGVzdCk7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVsZW1lbnQgTGV2ZWwgU3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICZfX2J1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogYnUoMik7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoLjUpO1xuICB9XG5cbiAgJl9fY2F0ZWdvcnkge1xuICAgIG1hcmdpbi10b3A6IGJ1KDIuOCk7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoLjcpO1xuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IGJ1KC0uMik7XG4gIH1cblxuICAmX19kZXRhaWxzIHtcbiAgICBtYXJnaW4tdG9wOiBidSgxLjgpO1xuICB9XG5cbiAgJl9fZXhwYW5kIHtcbiAgICBtYXJnaW4tdG9wOiBidSgyKTtcbiAgICBtYXJnaW4tYm90dG9tOiBidSguNSk7XG4gIH1cblxuICAmX19leHBhbmQtdGFyZ2V0IHtcbiAgICArICN7ZS1uZXN0KCl9X19idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogYnUoLjgpO1xuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBtYXJnaW46IGJ1KC0uMjUpIGJ1KC0yLjUpIDA7IC8vIG9mZnNldCBwYWRkaW5nXG4gIH1cblxuICAmX19ndWlkZS1jb3ZlciB7XG4gICAgbWluLXdpZHRoOiBidSgyMCk7XG4gIH1cblxuICAmX19ndWlkZS10aXRsZSB7XG4gICAgI3tlLW5lc3QoKX1fX2d1aWRlLWNvdmVyICsgJiB7XG4gICAgICAuYi1zZWFyY2gtcmVzdWx0X19jYXRlZ29yeSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDEuOCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbWF0Y2gge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAje2UtbmVzdCgpfV9fdGl0bGUgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDIuNCk7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGJ1KC43KTtcbiAgICB9XG5cbiAgICBtYXJrIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxuXG4gICZfX21ldGEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoLjgpO1xuICB9XG5cbiAgJl9fbW9yZS1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiBidSgyLjYpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmX19waWN0dXJlIHtcbiAgICAmLS1oZWxwIHtcbiAgICAgICsgI3tlLW5lc3QoKX1fX2hlbHAtc29sdXRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190ZWFzZXIge1xuICAgIG1hcmdpbi10b3A6IGJ1KDEuMik7XG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMik7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBidSgxLjIpO1xuXG4gICAgKyAje2UtbmVzdCgpfV9fZXhwYW5kIHtcbiAgICAgIG1hcmdpbi10b3A6IGJ1KDEuMSk7XG4gICAgfVxuICB9XG5cbiAgPiAubC0yX19jb2wsXG4gID4gLmwtM19fY29sIHtcbiAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNb2RpZmllciBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi0tbWVyZ2Uge1xuICAgIG1hcmdpbi10b3A6IGJ1KC0xLjcpO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVkIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHNldWRvIFN0YXRlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWVkaWEgUXVlcmllc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBSZXBlYXQgdGhlIHN0cnVjdHVyZSBhYm92ZSBpbnNpZGUgdGhlIG1lZGlhIHF1ZXJpZXMuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgIHBhZGRpbmc6IGJ1KDMuNSkgMCBidSgyLjgpO1xuICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNSk7XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYnUoLjcpO1xuICAgIH1cblxuICAgICZfX2NhdGVnb3J5IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGJ1KDUpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGJ1KDUpO1xuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuOCk7XG4gICAgfVxuXG4gICAgJl9fZXhwYW5kIHtcbiAgICAgIC5qcy1lbmFibGVkICYge1xuICAgICAgICAuYi1jb250ZW50LXJldmVhbF9faGVhZGVyIHtcbiAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ3VpZGUtdGl0bGUge1xuICAgICAgI3tlLW5lc3QoKX1fX2d1aWRlLWNvdmVyICsgJiB7XG4gICAgICAgIC5iLXNlYXJjaC1yZXN1bHRfX2NhdGVnb3J5IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBidSgtLjkpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KC45KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgIG1hcmdpbjogYnUoLS4zKSAxNSUgMDtcbiAgICB9XG5cblxuICAgICZfX21hdGNoIHtcbiAgICAgICN7ZS1uZXN0KCl9X190aXRsZSB+ICYge1xuICAgICAgICBtYXJnaW4tdG9wOiBidSgyLjQpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3BpY3R1cmUge1xuICAgICAgJi0taGVscCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDMpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RlYXNlciB7XG4gICAgICBtYXJnaW4tdG9wOiBidSgzLjMpO1xuICAgIH1cblxuICAgICYtLWd1aWRlIHtcbiAgICAgICN7bS1uZXN0KCl9X19jYXRlZ29yeSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taGVscCB7XG4gICAgICAje20tbmVzdCgpfV9fZGV0YWlscyB7XG4gICAgICAgIC5sLTFfX2NvbCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5iLXBpY3R1cmVfX2ltYWdlIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fbWF0Y2gge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KC45KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX21hdGNoICsgI3ttLW5lc3QoKX1fX2V4cGFuZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLjkpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogLjJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KC40KTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLjIpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogYnUoMyk7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAuYi1oaWRlLXNob3ctanMtZXhwYW5kbW9yZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tcmVzb3VyY2Uge1xuICAgICAgLy8gb2Zmc2V0IHRoZSBidXR0b24gaWYgdGhlIGNvbnRhaW5lciBpcyBleHBhbmRlZFxuICAgICAgI3ttLW5lc3QoKX1fX2V4cGFuZC10YXJnZXQge1xuICAgICAgICAmOm5vdChbZGF0YS1oaWRkZW5dKSB7XG4gICAgICAgICAgJiArIC5sLTItLXNlYXJjaC0tcmVzdWx0IHtcbiAgICAgICAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIG5lc3RpbmctZGVwdGhcbiAgICAgICAgICAgIC5iLXNlYXJjaC1yZXN1bHRfX2J1dHRvbiB7XG4gICAgICAgICAgICAgIC8vIG92ZXJsYXAgdGhlIHRyYWlsaW5nIGd1dHRlciBvZiAubC0xLS1zZWFyY2gtLXJlc3VsdC1jb250ZW50ID4gLmwtMV9fY29sXG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IGJ1KC0xLjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAje20tbmVzdCgpfV9fbWF0Y2gge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KC45KTtcbiAgICAgIH1cblxuICAgICAgI3ttLW5lc3QoKX1fX21hdGNoICsgI3ttLW5lc3QoKX1fX2V4cGFuZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogYnUoLjkpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogLjJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGJ1KC40KTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLjIpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogYnUoMyk7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKHJ1bGUtdGhpbi1saWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAuYi1oaWRlLXNob3ctanMtZXhwYW5kbW9yZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICN7bS1uZXN0KCl9X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KC0uMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gYi1uYXYtaW4tcGFnZS1waW5uZWQtanNcbi8vXG4vLyBTZWUgYWxzbyBsYXlvdXQvX3otaW5kZXguc2Nzc1xuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuLy8gTmF2IC0gSW4tcGFnZSAtIHBpbm5lZFxuLy9cbi8vIFRoaXMgdmFyaWFudCBpcyBhbHdheXMgcGlubmVkLFxuLy8gYnV0IHdpbGwgb25seSBhcHBlYXIgYXRcbi8vIGNlcnRhaW4gYnJlYWtwb2ludHMgYW5kIHNjcm9sbHBvaW50cy5cbi8vIEl0IGV4dGVuZHMgYi1uYXYtaW4tcGFnZSwgYWRkaW5nOlxuLy8gLSBhIGZpeGVkIGJsb2NrIGhlYWRpbmdcbi8vIC0gYSBkeW5hbWljIGN1cnJlbnQgc2VjdGlvbiB0aXRsZVxuLy8gLSBhIGJhY2sgdG8gdG9wIGxpbmssXG4vLyAtIGV4cGFuZC9jb2xsYXBzZVxuLy8gLSBkeW5hbWljIGN1cnJlbnQgbGluayBoaWdobGlnaHRpbmdcbi8vXG4vLyBNYXJrdXA6IGItbmF2LWluLXBhZ2UtcGlubmVkLWpzLmh0bWxcbi8vXG4vLyBTdHlsZWd1aWRlOiAxMDAuMzBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCbG9jayBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYi1uYXYtaW4tcGFnZS1waW5uZWQtanMtYnV0dG9uLXBhZGRpbmctLW1vYmlsZTogYnUoMS43KSBidSgxLjg3NSkgYnUoMS4yKSBidSgkZy1tYXJnaW4tbmFycm93IC8gJGctYnUpO1xuJGItbmF2LWluLXBhZ2UtcGlubmVkLWpzLWJ1dHRvbi1wYWRkaW5nLS1kZXNrdG9wOiBidSgxLjE1KSBidSgxLjg3NSkgYnUoLjkpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIE1peGlucyAobm8tZXh0ZW5kcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJsb2NrIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIHRoZSBwaW5uZWQgYmFyXG4uYi1uYXYtaW4tcGFnZS1waW5uZWQtanMge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBCbG9jayBMZXZlbCBTdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gYmFyIGlzIHBlcm1hbmVudGx5IHBpbm5lZFxuICAvLyBidXQgaXMgb25seSByZXZlYWxlZCB3aGVuIGItaW4tcGFnZS1uYXYgaXMgc2Nyb2xsZWQgb2ZmIHRoZSBwYWdlXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcblxuICAvLyB0aGUgZmlsbCBtYXRjaGVzIGItbmF2LWd1aWRlLXNpZGViYXJcbiAgJi5iLWZpbGwtLWRhcmstbGlnaHQtc3RyaXBlIHtcbiAgICAvLyBhbGxvdyBtZW51IHRvIHBvcCBvdXQgb2YgdGhlIHBpbm5lZCBiYXJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBFbGVtZW50IExldmVsIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBcIk9uIHRoaXMgcGFnZVwiIHRpdGxlXG4gIC8vIHZpc3VhbGx5IHRoaXMgbG9va3MgbGlrZSB0aGUgZHJvcGRvd24ncyBsYWJlbCBvbiBwYWdlLXdpZGUtYW5kLXVwXG4gIC8vIG5hcnJvdzogZGlzcGxheXMgbmV4dCB0byB0aGUgZXhwYW5kIGJ1dHRvbiB3aGVuIHRoZSBtZW51IGlzIG9wZW5cbiAgLy8gcGFnZS13aWRlLWFuZC11cDogZGlzcGxheXMgdG8gdGhlIGZhciBsZWZ0IG9mIHRoZSBleHBhbmQgYnV0dG9uIHRleHQgYW5kIGljb25cblxuICAvLyAmX19sYWJlbCB7fVxuXG4gIC8vIGJhY2sgdG8gdG9wIGJ1dHRvblxuICAvLyBuYXJyb3c6IGRpc3BsYXlzIGJlbG93IHRoZSB0aXRsZSB3aGVuIHRoZSBtZW51IGlzIG9wZW5cbiAgLy8gcGFnZS13aWRlLWFuZC11cDogZGlzcGxheXMgbmV4dCB0byB0aGUgZXhwYW5kIGJ1dHRvbiBpY29uIHdoZW4gdGhlIG1lbnUgaXMgb3BlblxuXG4gICZfX3RvcCB7XG4gICAgJl9fcnVsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBidSguNyk7XG4gICAgfVxuICB9XG5cbiAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzX19tZW51XG4gIC8vIHdyYXBwZXIgdG8gYWxsb3cgYWJzb2x1dGUgcG9zaXRpb25pbmcgb2YgdGhlIG1lbnVcbiAgJl9fbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzX19tZW51X19kcm9wZG93blxuICAgIC8vIHRoZSBtZW51IHBvcHMgb3V0IG92ZXIgdGhlIHBpbm5lZCBiYXIgd2hlbiBvcGVuZWRcbiAgICAmX19kcm9wZG93biB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAkYi1uYXYtaW4tcGFnZS1waW5uZWQtanMtYnV0dG9uLXBhZGRpbmctLW1vYmlsZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihydWxlLXRoaW4tbGlnaHQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodGVzdCk7XG4gICAgICBib3gtc2hhZG93OiAwIGJ1KC4yNSkgYnUoMSkgcmdiYShjb2xvcihmaWxsLWRhcmspLCAuMDgpO1xuXG4gICAgICAvLyAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanNfX21lbnVfX2Ryb3Bkb3duX19oZWFkZXJcbiAgICAgICZfX2hlYWRlciB7XG5cbiAgICAgICAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzX19tZW51X19kcm9wZG93bl9faGVhZGVyX19sYWJlbFxuICAgICAgICAvLyB0aGlzIGlzIGEgZHVwbGljYXRlIG9mIHRoZSB0aXRsZSB0aGF0IGFwcGVhcnNcbiAgICAgICAgLy8gaW4gYSBkaWZmZXJlbnQgbG9jYXRpb24gb24gcGFnZS13aWRlLWFuZC11cFxuICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgLy8gcmVzZXQgaDJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIC8vIHB1c2ggYWRqYWNlbnQgcnVsZSBhbmQgdGV4dCBkb3duLCBiZWxvdyB0aGUgJ2J1dHRvbidcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBidSgxLjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGhlIHBhcmVudCBvZiB0aGUgaW52aWV3IHRleHQgc2VsZWN0b3JcbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzX19tZW51X19kcm9wZG93bl9faGVhZGVyX19pbnZpZXdcbiAgICAgICAgLy8gZGlzcGxheXMgdGhlIHRleHQgb2YgdGhlIGN1cnJlbnQgSDIvSDMgd2hpY2ggaXMgJ2luIHZpZXcnXG4gICAgICAgICZfX2ludmlldyB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSg2KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanNfX21lbnVfX2Ryb3Bkb3duX19idXR0b25cbiAgICAgIC8vIFRoZSBkcm9wZG93biBleHBhbmQvY29sbGFwc2UgYnV0dG9uLFxuICAgICAgLy8gdXNlcyBiLWNvbnRlbnQtcmV2ZWFsIGFuZCBoaWRlLXNob3cuanMuXG4gICAgICAvLyBUaGUgcHJlY2VkaW5nIGhlYWRlciBpdGVtcyBhcHBlYXIgdG8gZXhpc3Qgd2l0aGluIHRoaXMgYnV0dG9uLFxuICAgICAgLy8gYnV0IGFzIHRoZXkgYXJlIHNlbWFudGljYWxseSBpbmNvbXBhdGlibGUgKGUuZy4gYSBiYWNrIHRvIHRvcCBsaW5rIGluc2lkZSBhIGJ1dHRvbilcbiAgICAgIC8vIHRoZSBidXR0b24gYWN0dWFsbHkgY29udGFpbnMgb25seSBhIGhpZGRlbiBsYWJlbCBhbmQgdGhlIGV4cGFuZC9jb2xsYXBzZSBidXR0b24gZWxlbWVudFxuICAgICAgLy8gYW5kIHRoaXMgaXMgcG9zaXRpb25lZCBvbiB0b3Agb2YgdGhlIGhlYWRlciB0ZXh0IHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgY29tcGxldGUgYnV0dG9uXG4gICAgICAvLyB3aGlsZSBzdGlsbCBtYWludGFpbmluZyBzZXBhcmF0aW9uIGZvciBnb29kIGFjY2Vzc2liaWxpdHlcbiAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgIC8vIGJ1dHRvbiBpcyBvdmVybGFpZCBvdmVyIHRoZSBoZWFkZXIgdGV4dCBhdCAxMDAlIHdpZHRoXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAvLyB0aGUgZXhwYW5kL2NvbGxhcHNlIGJ1dHRvblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6ICRiLW5hdi1pbi1wYWdlLXBpbm5lZC1qcy1idXR0b24tcGFkZGluZy0tbW9iaWxlO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGxpbmspO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyAvLyBkcm9wZG93biBpY29uXG5cbiAgICAgICAgICAvLyBvdmVycmlkZSAuanMtZW5hYmxlZCAuYi1jb250ZW50LXJldmVhbF9faGVhZGVyIGJ1dHRvblxuICAgICAgICAgIC5qcy1lbmFibGVkICYge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGEgc3BhY2VyIGVsZW1lbnRcbiAgICAgICAgICAvLyB0byBleHBhbmQgdGhlIGJ1dHRvbiBoZWlnaHQgdG8gbWF0Y2ggdGhlIGhlYWRlciB0ZXh0IHN0YWNrZWQgdW5kZXJuZWF0aFxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwLS1uYXYtLWluLXBhZ2UtcGlubmVkLXRyaWdnZXItdGV4dDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGJ1dHRvbiBjaGV2cm9uXG4gICAgICAgICAgLmgtaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3RhdGUtaWNvbigxODApO1xuICAgICAgICAgICAgd2lkdGg6IC45ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IC45ZW07XG5cbiAgICAgICAgICAgIC8vIElFMTEgZmFpbHMgdG8gcmVuZGVyIHRoZSBTVkcgc2hhcGVcbiAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAmLmgtaWNvbi0tY2hldnJvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRnLWltYWdlLXBhdGggKyBcImljb25zL2NoZXZyb24tYmx1ZS5zdmdcIik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBleHBhbmRlZCBidXR0b24gaWNvblxuICAgICAgICAgICYuaXMtb3BlbmVkIHtcbiAgICAgICAgICAgIC5oLWljb24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSByb3RhdGUtaWNvbigwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gLmItbmF2LWluLXBhZ2UtcGlubmVkLWpzX19tZW51X19kcm9wZG93bl9fbGlzdFxuICAgICAgLy8gbmF2aWdhdGlvbiBsaXN0IG9mIGp1bXBsaW5rc1xuICAgICAgJl9fbGlzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IGJ1KDIpO1xuXG4gICAgICAgIC8vIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qc19fbWVudV9fZHJvcGRvd25fX2xpc3RfX2l0ZW1cbiAgICAgICAgLy8gbGlzdCBpdGVtXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDEuNik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAuYi1uYXYtaW4tcGFnZS1waW5uZWQtanNfX21lbnVfX2Ryb3Bkb3duX19saXN0X19saW5rXG4gICAgICAgIC8vIGp1bXAgbGlua1xuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBidSgyLjUpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYnUoNCk7IC8vIG1hdGNoIHRleHQgd3JhcHBpbmcgdG8gdGhlIGRlc2lnblxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgLy8gb3ZlcnJpZGVzIHRvIGItbGluay1pY29uXG4gICAgICAgICAgJi5iLWxpbmstaWNvbi0tc3RhcnQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgIC5oLWljb24tLWFycm93IHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAvLyB1bmRlcmxpbmUgdGV4dCBvbiBob3ZlciwgYnV0IG5vdCBpY29uXG4gICAgICAgICAgICAuYi1saW5rLWljb25fX2xpbmVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogYnUoLjEyNSkgc29saWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gYm9sZCB0aGUganVtcGxpbmsgd2hpY2ggbWF0Y2hlcyB0aGUgYmxvY2sgd2hpY2ggaXMgJ2luIHZpZXcnXG4gICAgICAgICAgLy8gc2VlIG5hdi1pbi1wYWdlLmpzXG4gICAgICAgICAgJiN7ZS1uZXN0KCl9LS1pcy1pbnZpZXcge1xuICAgICAgICAgICAgJiwgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuZXN0aW5nLWRlcHRoXG4gICAgICAgICAgICAmIC5hIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKHR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIC5iLW5hdi1pbi1wYWdlLXBpbm5lZC1qc19fbWVudV9fZHJvcGRvd25fX2xpc3RfX2xpbmtfX2ljb25cbiAgICAgICAgICAvLyBpY29uIHRvIHRoZSBsZWZ0IG9mIHRoZSBqdW1wbGlua1xuICAgICAgICAgIC8vIHRoZXNlIGR5bmFtaWNhbGx5IGNoYW5nZSB0byBtYXRjaCB0aGUgYmxvY2sgd2hpY2ggaXMgJ2luIHZpZXcnXG4gICAgICAgICAgLy8gc2VlIG5hdi1pbi1wYWdlLmpzXG4gICAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC4wNWVtO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAuNzVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAvLyBpdGVtcyBiZWZvcmUgYW5kIGFmdGVyIHRoZSBjdXJyZW50IGl0ZW0gaGF2ZSBhbiBhcnJvd1xuICAgICAgICAgICAgLy8gYSBkaXJlY3Rpb25hbCBjbGFzcyBpcyB0b2dnbGVkIGJ5IHRoZSBKU1xuICAgICAgICAgICAgLy8gdG8gcHJvdmlkZSBib3RoICd1cCcgYW5kICdkb3duJyB2YXJpYXRpb25zXG4gICAgICAgICAgICAmLmgtaWNvbi0tYXJyb3cge1xuICAgICAgICAgICAgICBmaWxsOiBjb2xvcihsaW5rKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGhlIGN1cnJlbnQgaXRlbSBoYXMgYSBidWxsZXRcbiAgICAgICAgICAgICYuaC1pY29uLS1idWxsZXQge1xuICAgICAgICAgICAgICB3aWR0aDogYnUoLjUpO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYnUoLjU1KTsgLy8gYWxpZ24gd2l0aCBhZGphY2VudCBhcnJvd3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19ydWxlIHtcbiAgICBoZWlnaHQ6IDFweDsgLy8gZmF1eCBib3JkZXJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1vZGlmaWVyIFN0eWxlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyB0aGUgaXMtb3BlbiBjbGFzcyBpcyB0b2dnbGVkXG4gIC8vIGJ5IG5hdi1pbi1wYWdlLXBpbm5lZC5qc1xuICAvLyB2aWEgYSBwdWJzdWIgZXZlbnQgaW4gaGlkZS1zaG93LmpzXG4gIC5oLXNob3ctLWlzLW9wZW4ge1xuICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgfVxuXG4gICYtLWlzLW9wZW4ge1xuICAgICYje20tbmVzdCgpfSB7XG4gICAgICAuaC1oaWRlLS1pcy1vcGVuIHtcbiAgICAgICAgQGluY2x1ZGUgaC1oaWRlO1xuICAgICAgfVxuXG4gICAgICAuaC1zaG93LS1pcy1vcGVuIHtcbiAgICAgICAgQGluY2x1ZGUgaC1zaG93O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQc2V1ZG8gU3RhdGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZWRpYSBRdWVyaWVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtYmVsb3ctd2lkZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuXG4gICAgJi5iLWZpbGwtLWRhcmstbGlnaHQtc3RyaXBlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGZpbGwtbGlnaHRlc3QpO1xuICAgIH1cblxuICAgIC5iLXJ1bGUge1xuICAgICAgJi5iLWZpbGwtLWRhcmstbGlnaHQtc3RyaXBlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBtYWtlIHRoZSBkcm9wZG93biBtZW51IGV4dGVuZCB0byB0aGUgZnVsbCB3aWR0aCBvbiBuYXJyb3cgdmlld3BvcnRzXG4gICAgLy8gVE9ETyB0aGlzIGlzIGFwcGx5aW5nIGF0IDEwMjNweFxuICAgID4gLmwtb3V0ZXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fdG9wIHtcbiAgICAgIG1hcmdpbjogMDsgLy8gcmVzZXQgcFxuXG4gICAgICAmX19saW5rIHtcbiAgICAgICAgLy8gbGluayBpcyBibG9jayBmcm9tIGgtZWxsaXBzaXNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiBidSgxLjcpIGJ1KDUpIGJ1KDEuNykgMDsgLy8gcmlnaHQgaXMgc3BhY2UgZm9yIGljb25cblxuICAgICAgICAmLmItbGluay1pY29uLS1lbmQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGJ1KDIpO1xuICAgICAgICByaWdodDogMDtcblxuICAgICAgICAmLmItbGluay1pY29uX19pY29uIHtcbiAgICAgICAgICB3aWR0aDogLjhlbTtcbiAgICAgICAgICBoZWlnaHQ6IC44ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZW51IHtcbiAgICAgICZfX2Ryb3Bkb3duIHtcbiAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoMi42KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWlzLW9wZW4ge1xuICAgICAgJiN7bS1uZXN0KCl9IHtcbiAgICAgICAgLmgtaGlkZS0taXMtb3BlbiB7XG4gICAgICAgICAgJi5oLXNob3ctLXBhZ2UtYmVsb3ctd2lkZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmgtc2hvdy0taXMtb3BlbiB7XG4gICAgICAgICAgJi5oLWhpZGUtLXBhZ2UtYmVsb3ctd2lkZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgLmwtMi0tY29udGVudC0tZ3VpZGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodGVzdCk7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICB3aWR0aDogLjg1ZW07XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMi42KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuICAgIH1cblxuICAgIC5iLXJ1bGUtLXRoaW4ge1xuICAgICAgbWFyZ2luLXRvcDogYnUoMS40KTtcbiAgICB9XG5cbiAgICAmX19tZW51IHtcbiAgICAgICZfX2Ryb3Bkb3duIHtcbiAgICAgICAgdG9wOiBidSgxLjI1KTtcbiAgICAgICAgcGFkZGluZzogJGItbmF2LWluLXBhZ2UtcGlubmVkLWpzLWJ1dHRvbi1wYWRkaW5nLS1kZXNrdG9wO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihydWxlLXRoaW4tbGlnaHRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGJ1KC4yNSk7XG5cbiAgICAgICAgJl9fbGlzdCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYnUoMS43KTtcblxuICAgICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYnUoMS44KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ydWxlIHtcbiAgICAgIC8vIEF0IHRoaXMgYnJlYWtwb2ludCwgdGhlIHBpbm5lZCBuYXYgc2l0cyBvbiB0b3BcbiAgICAgIC8vIG9mIHRoZSBndWlkZSBuYXYgKHdoaWNoIGNhbiBhbHNvIHBpbikuXG4gICAgICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSB0byBtYWludGFpbiB1c2VyIGludGVyYWN0aXZpdHlcbiAgICAgIC8vIGluIGFsbCBwaW5uZWQgYW5kIG5vbi1waW5uZWQgYXJlYXMgb2YgdGhlIFVJLlxuICAgICAgLy8gVGhlIG9mZnNldCBiZWxvdyBjcmVhdGVzIHRoZSBpbGx1c2lvbiBvZiBuby1vdmVybGFwLlxuXG4gICAgICAvLyBUT0RPOiBjYWxjIGNvcGllZCBmcm9tIHRoZSBncmlkIG91dHB1dCBhdCB0aGUgZGVza3RvcCBsYXlvdXQgLSBtYWtlIHRoaXMgZHluYW1pY1xuICAgICAgJi0tb2Zmc2V0IHtcbiAgICAgICAgLy8gT24gZ3VpZGUgcGFnZXMgd2l0aCBzaWRlYmFyXG4gICAgICAgIC5sLTItLXBhZ2UtLWd1aWRlICYge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtICg3MC43NXJlbSAtIDM1LjM3NXJlbSAtIDZyZW0pKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG1lbnUgb3BlbiBidXR0b24gY29udGFpbmluZyBjaGV2cm9uIGFuZCBoaWRkZW4gdGV4dFxuICAgIC5iLWNvbnRlbnQtcmV2ZWFsIHtcbiAgICAgICZfX2hlYWRlciB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgcGFkZGluZzogJGItbmF2LWluLXBhZ2UtcGlubmVkLWpzLWJ1dHRvbi1wYWRkaW5nLS1kZXNrdG9wO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taXMtb3BlbiB7XG4gICAgICAje20tbmVzdCgpfV9fbWVudSB7XG4gICAgICAgICZfX2Ryb3Bkb3duIHtcbiAgICAgICAgICAvLyBkaXNhYmxlIHRoZSBmdWxsLXdpZHRoIGJ1dHRvbiBzdHJldGNoXG4gICAgICAgICAgLy8gc28gdGhhdCBvbmx5IHRoZSByaWdodCBoYW5kIHNpZGUgb2YgdGhlICdidXR0b24nIGlzIGNsaWNrYWJsZVxuICAgICAgICAgIC8vIHRoaXMgYWxsb3dzIHRoZSBub3cgYWRqYWNlbnQgYmFjayB0byB0b3AgbGluayB0byBiZSBjbGlja2VkXG4gICAgICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYje20tbmVzdCgpfSB7XG4gICAgICAgIC5oLWhpZGUtLWlzLW9wZW4ge1xuICAgICAgICAgICYuaC1zaG93LS1wYWdlLXdpZGUtYW5kLXVwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGgtc2hvdztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaC1zaG93LS1pcy1vcGVuIHtcbiAgICAgICAgICAmLmgtaGlkZS0tcGFnZS13aWRlLWFuZC11cCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoLWhpZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tcGlubmVkIHtcbiAgICAgIC5sLTItLXBhZ2UtLWd1aWRlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgID4gLmwtMl9fY29sIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb2xvdXJzXG4vL1xuLy8gU2l0ZSBjb2xvdXIgcGFsZXR0ZS5cbi8vICogYHNyYy9zY3NzL3ZhcmlhYmxlcy9fY29sb3JzLnNjc3NgIChzdHlsZXMpXG4vLyAqIGBzcmMvdGVtcGxhdGVzL3N0eWxlLXBhdHRlcm5zL2NvbG9ycy9jb2xvcnMuaHRtbGAgKHN0eWxlZ3VpZGUpXG4vL1xuLy8gTWFya3VwOiBjb2xvcnMuaHRtbFxuLy9cbi8vIHBhdHRlcm46IHRydWVcbi8vXG4vLyBTdHlsZWd1aWRlOiA5OS4zXG5cbi5wYXR0ZXJuLWNvbG9yIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coXCJjZW50ZXJcIik7XG4gIHBhZGRpbmc6IHJlbSgkZy1idSAqIDQpO1xuXG4gICZfX25hbWUge1xuICAgIG1hcmdpbjogcmVtKCRnLWJ1KSAwIDA7XG4gICAgZm9udC1zaXplOiBidSgyKTtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyA1KTtcbiAgICBtYXJnaW46IGJ1KDEpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICoge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N3YXRjaCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGJ1KDEwKTtcbiAgICBoZWlnaHQ6IGJ1KDEwKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cblxuICAmX192YXJpYWJsZSB7XG4gICAgbWFyZ2luLXRvcDogYnUoLS41KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiBidSgxLjUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICAmX19oZXgge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogYnUoMS41KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG59XG5cbi8vIGdlbmVyYXRlIHNlbGVjdG9ycyBmb3IgU3R5bGUgUGF0dGVybnMgZnJvbSAkY29sb3JzIG1hcFxuLy8gc2VlIHNjc3MvdmFyaWFibGVzL19jb2xvcnMuc2Nzc1xuQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgLnBhdHRlcm4tY29sb3JfX2l0ZW0tLSN7JG5hbWV9IHtcblxuICAgIC5wYXR0ZXJuLWNvbG9yX19zd2F0Y2gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRjb2xvcnMsICRuYW1lLCBcImhleFwiKTtcbiAgICB9XG5cbiAgICAucGF0dGVybi1jb2xvcl9fbmFtZSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBtYXAtZGVlcC1nZXQoJGNvbG9ycywgJG5hbWUsIFwibmFtZVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGF0dGVybi1jb2xvcl9faGV4IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiaGV4OiAje21hcC1kZWVwLWdldCgkY29sb3JzLCAkbmFtZSwgXCJoZXhcIil9XCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhdHRlcm4tY29sb3JfX3ZhcmlhYmxlIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiY29sb3IoI3skbmFtZX0pXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBJY29uc1xuLy9cbi8vIFNpdGUgaWNvbnMuXG4vLyAqIGBzcmMvaW1nL2ljb25zL2AgKFNWR3MpXG4vLyAqIGBzcmMvdGVtcGxhdGVzL3N0eWxlLXBhdHRlcm5zL2ljb25zL2ljb25zLmh0bWxgIChlbGVtZW50cylcbi8vIFxuLy8gU2VlIGFsc286XG4vLyAqIGBzcmMvc2Nzcy9oZWxwZXJzL19pY29ucy5zY3NzYCAoY3VzdG9tIHRyZWF0bWVudHMpXG4vL1xuLy8gTWFya3VwOiBpY29ucy5odG1sXG4vL1xuLy8gcGF0dGVybjogdHJ1ZVxuLy9cbi8vIFN0eWxlZ3VpZGU6IDk5LjdcblxuLmljb25zIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coXCJjZW50ZXJcIik7XG4gIHBhZGRpbmc6IHJlbSgkZy1idSAqIDQpO1xuXG4gICZfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyA1KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAqIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgICYtLWxvYWRpbmctc3Bpbm5lci1sYXJnZSxcbiAgICAmLS1sb2FkaW5nLXNwaW5uZXItc21hbGwtd2hpdGUge1xuICAgICAgLmgtaWNvbiB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogbG9hZGluZy1zcGlubmVyLWFuaW1hdGlvbjtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICA+IC5oLWljb24ge1xuICAgICAgZm9udC1zaXplOiA4MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX25hbWUge1xuICAgIG1hcmdpbjogcmVtKCRnLWJ1KSAwIDA7XG4gIH1cblxuICAmX19pZCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmX19oZXgge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxvYWRpbmctc3Bpbm5lci1hbmltYXRpb24ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4iLCIvLyBHcmlkXG4vL1xuLy8gU2l0ZSBkZWZhdWx0IEdyaWQuXG4vLyAqIGBzcmMvc2Nzcy9sYXlvdXQvX2dyaWQuc2Nzc2AgKHJvdyBzdHlsaW5nIGFuZCBnZW5lcmljIHJlc3BvbnNpdmUgY29sdW1ucylcbi8vICogYHNyYy9zY3NzL2xheW91dC9fb3V0ZXItY29udGFpbmVyLnNjc3NgIChyZXNwb25zaXZlIGxheW91dCBib3VuZGFyaWVzKVxuLy8gKiBgc3JjL3Njc3MvdG9vbHMvX2NhbGMtZ3JpZC5zY3NzYCAobWl4aW5zKVxuLy8gKiBgc3JjL3Njc3MvdG9vbHMvX21lZGlhLnNjc3NgIChyZXNwb25zaXZlIG1peGlucylcbi8vICogYHNyYy9zY3NzL3ZhcmlhYmxlcy9fZ2VuZXJhbC5zY3NzYCAodW5pdHMpXG4vLyAqIGBzcmMvdGVtcGxhdGVzL3N0eWxlLXBhdHRlcm5zL2dyaWQvZ3JpZC5odG1sYCAoZWxlbWVudHMpXG4vLyBcbi8vIFNlZSBhbHNvOlxuLy8gKiBgc3JjL3Njc3MvaGVscGVycy9fbGF5b3V0LnNjc3NgIChyZXNwb25zaXZlIGhpZGluZyAmIHNob3dpbmcpXG4vLyAqIGBzcmMvc2Nzcy9oZWxwZXJzL19vcmRlci5zY3NzYCAocmVzcG9uc2l2ZSBjb2x1bW4gcmVvcmRlcmluZylcbi8vICogYHNyYy9zY3NzL2hlbHBlcnMvX3N0YXRlLnNjc3NgIChub3NjcmlwdCBoaWRpbmcgJiBzaG93aW5nKVxuLy8gKiBgc3JjL3Njc3MvdmFyaWFibGVzL19icmVha3BvaW50cy5zY3NzYCAocmVzcG9uc2l2ZSBicmVha3BvaW50cylcbi8vICogYHNyYy90ZW1wbGF0ZXMvbGF5b3V0cy9gIChjdXN0b20gdmFyaWF0aW9ucylcbi8vXG4vLyBNYXJrdXA6IGdyaWQuaHRtbFxuLy9cbi8vIHBhdHRlcm46IHRydWVcbi8vXG4vLyBTdHlsZWd1aWRlOiA5OS4yXG5cbi5ncmlkLXBhdHRlcm4ge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICB9XG5cbiAgW2NsYXNzKj1cImdyaWQtXCJdIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgY29sb3I6ICMyMjI7XG4gIH1cblxuICAuZ3JpZC0xb2YyIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMik7XG4gIH1cblxuICAuZ3JpZC0xb2YzIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMyk7XG4gIH1cblxuICAuZ3JpZC0xb2Y0IHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gNCk7XG4gIH1cblxuICAuZ3JpZC0xb2YxMiB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDEyKTtcbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGwtMVxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExheW91dCBTdHlsZXNcbi8vIFVzYWdlIGlzIGFsc28gZG9jdW1lbnRlZCBpbiBfYy1sYXlvdXRzLnNjc3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubC0xIHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBIZWFkZXIgLSBDb250ZW50XG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBQYWdlIGNvbnRlbnQgaGVhZGVyc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTEtLWhlYWRlci0tY29udGVudFxuICAmLS1oZWFkZXItLWNvbnRlbnQge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBIZWFkZXIgLSBHdWlkZVxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gR3VpZGUgcGFnZSBjb250ZW50IGhlYWRlcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0xLS1oZWFkZXItLWd1aWRlXG4gICYtLWhlYWRlci0tZ3VpZGUge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig1IC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEhlYWRlciAtIFdpZGVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIFVuZGVyc3RhbmQgcGFnZSBjb250ZW50IGhlYWRlcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0xLS1oZWFkZXItLXdpZGVcbiAgJi0taGVhZGVyLS13aWRlIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDgsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQaW5uZWQgYWJvdmUgUkggY29sIG9mIHBhZ2UgZ3VpZGVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIE5hdiAtIEluLXBhZ2UgLSBwaW5uZWRcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0xLS1wYWdlLS1ndWlkZS0tcGlubmVkXG4gICYtLXBhZ2UtLWd1aWRlLS1waW5uZWQge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtcGFnZS13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICAvLyBPbiBndWlkZSBwYWdlcyB3aXRoIHNpZGViYXJcbiAgICAgIC5sLTItLXBhZ2UtLWd1aWRlICYge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IC8vIHJpZ2h0IGFsaWduIGNvbCB3aXRoaW4gcm93ICAgIFxuICAgICAgfVxuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQYWdlIC0gTmFycm93XG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBFcnJvciBwYWdlLCBcbiAgLy8gSGVscCBwYWdlLCBcbiAgLy8gU2VhcmNoIG1vZGFsIHNlYXJjaCBmaWVsZFxuICAvLyBTZWFyY2ggbW9kYWwgcmVzdWx0cyBtZXNzYWdlIFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTEtLXBhZ2UtLW5hcnJvd1xuICAmLS1wYWdlLS1uYXJyb3cge1xuXG4gICAgbWFyZ2luLWJvdHRvbTogYnUoMTApOyAvLyBlcnJvciBwYWdlXG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyAxMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2VhcmNoXG4gIC8vIFdpZGUgZ3JpZFxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMDYgR1VJREUgTElTVCBTRUFSQ0ggQU5EIEZJTFRFUiAoR3VpZGUgTGlzdCBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTEtLXNlYXJjaFxuICAmLS1zZWFyY2gge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LWVuZFwiKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDEyKTtcbiAgICAgIH1cblxuICAgICAgLmItbW9kYWwtanMtLXNlYXJjaCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTZWFyY2ggUmVzdWx0cyBTdW1tYXJ5XG4gIC8vIFdpZGUgZ3JpZFxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMDYgR1VJREUgTElTVCBTRUFSQ0ggQU5EIEZJTFRFUiAoR3VpZGUgTGlzdCBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTEtLXNlYXJjaC1yZXN1bHRzLXN1bW1hcnlcbiAgJi0tc2VhcmNoLXJlc3VsdHMtc3VtbWFyeSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBcImZsZXgtZW5kXCIpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTZWFyY2ggUmVzdWx0IENvbnRlbnRcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDEwLjA0IOKAlCBTRUFSQ0ggUkVTVUxUIChTZWFyY2ggcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0xLS1zZWFyY2gtLXJlc3VsdC1jb250ZW50XG4gICYtLXNlYXJjaC0tcmVzdWx0LWNvbnRlbnQge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig2IC8gOSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuLy8gbC0yXG4vL1xuLy8gU2VlIGFsc28gbGF5b3V0L196LWluZGV4LnNjc3Ncbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGF5b3V0IFN0eWxlc1xuLy8gVXNhZ2UgaXMgYWxzbyBkb2N1bWVudGVkIGluIF9jLWxheW91dHMuc2Nzc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5sLTIge1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIENvbnRlbnRcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA3IEdVSURFIFRJTEVTIChIb21lIHBhZ2UgZ3VpZGUgdGlsZXMpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tY29udGVudFxuICAmLS1jb250ZW50IHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMyAvIDEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDEyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIENvbnRlbnQgLSBFeGFtcGxlIEhvbWVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIEV4YW1wbGUgLSBIb21lXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tY29udGVudC0tZXhhbXBsZS1ob21lXG4gICYtLWNvbnRlbnQtLWV4YW1wbGUtaG9tZSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEd1aWRlXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBNVUxUSVBMRSBDT01QT05FTlRTIChHdWlkZSBwYWdlIGNvbnRlbnQsIEhlbHAgcGFnZSBjb250ZW50LCBVbmRlcnN0YW5kIHBhZ2UgY29udGVudClcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1jb250ZW50LS1ndWlkZVxuICAmLS1jb250ZW50LS1ndWlkZSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDUgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIGZvciBndWlkZSBwYWdlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBGaWx0ZXJcbiAgLy8gRHVlIHRvIGRlc2lnbiB1cGRhdGVzIHRoaXMgaXMgbm93IGEgY2xvbmUgb2ZcbiAgLy8gLmwtMi0tY29udGVudC0tZ3VpZGVcbiAgLy8gXG4gIC8vIFNoYXJlZCBieSBHdWlkZSAoMiBjb2wgcGFnZSlcbiAgLy8gYW5kIEd1aWRlIExpc3RpbmcgKDEgY29sIHBhZ2UpXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wNiBHVUlERSBMSVNUIFNFQVJDSCBBTkQgRklMVEVSIChHdWlkZSBMaXN0IHBhZ2UpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tZmlsdGVyXG4gICYtLWZpbHRlciB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIC8vIHBhZ2VzIHRoYXQgZG9uJ3QgaGF2ZSBhIExIIGd1aWRlIG5hdlxuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuXG4gICAgICAgICAgLy8gcGFnZXMgdGhhdCBkbyBoYXZlIGEgTEggZ3VpZGUgbmF2XG4gICAgICAgICAgLmwtMi0tcGFnZS0tZ3VpZGUgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgLy8gcGFnZXMgdGhhdCBkb24ndCBoYXZlIGEgTEggZ3VpZGUgbmF2XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG5cbiAgICAgICAgICAvLyBwYWdlcyB0aGF0IGRvIGhhdmUgYSBMSCBndWlkZSBuYXZcbiAgICAgICAgICAubC0yLS1wYWdlLS1ndWlkZSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDUgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRm9vdGVyXG4gIC8vXG4gIC8vIFVzZWQgYnk6IEFsbCBmdWxsIHBhZ2VzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tZm9vdGVyXG4gICYtLWZvb3RlciB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBcImZsZXgtc3RhcnRcIik7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNyAvIDEyLCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgcHJpbnQge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyAxMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBHdWlkZSBUaWxlIC0gRmVhdHVyZWRcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA3IEdVSURFIFRJTEUgQ09NUE9ORU5UIChHdWlkZSBwYWdlOiBNb3JlIG9wdGlvbnMpXG4gIC8vIFxuICAvLyBOYXJyb3dcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBbIGltYWdlIHwgaGVhZGVyIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFxuICAvLyBYLVdpZGUgKDIvMiBjb2wgY29udGFpbmVyKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vICAgICAgICAgWyBkZXNjICAgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vICAgICAgICAgWyBkZXNjICAgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vICAgICAgICAgWyBkZXNjICAgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLWd1aWRlLXRpbGUtLWZlYXR1cmVkXG4gICYtLWd1aWRlLXRpbGUtLWZlYXR1cmVkIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxMDQgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxNTIgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICAvLyBwcmV2ZW50IGNvbnRlbnQgZnJvbSB0b3VjaGluZyB0aGUgZWRnZVxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBidSgyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDI3MCAvIDc0OCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQ0OCAvIDc0OCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBHdWlkZSBUaWxlIC0gRmVhdHVyZWQgLSBOZXh0IFN0ZXBzXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wNCBORVhUIFNURVBTIChTdWdnZXN0aW9uIHBhZ2UsIFVuZGVyc3RhbmQgcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1ndWlkZS10aWxlLS1mZWF0dXJlZC0tbmV4dC1zdGVwc1xuICAmLS1ndWlkZS10aWxlLS1mZWF0dXJlZC0tbmV4dC1zdGVwcyB7XG5cbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig5OSAvIDI3OCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDE1NSAvIDI3OCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig5OSAvIDQ1MywgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMyMiAvIDQ1MywgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBHdWlkZSBUaWxlIC0gRmVhdHVyZWQgLSBUYWxsXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wNyBHVUlERSBUSUxFIENPTVBPTkVOVCAoSG9tZSBwYWdlKVxuICAvLyBcbiAgLy8gTmFycm93XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBbIGltYWdlIHwgaGVhZGVyIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBcbiAgLy8gWC1XaWRlICgxLzEgY29sIGNvbnRhaW5lcilcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIGltYWdlICAgfCAgIGltYWdlICAgfCAgIGltYWdlXG4gIC8vIGhlYWRlciAgfCAgIGhlYWRlciAgfCAgIGhlYWRlclxuICAvLyBkZXNjICAgIHwgICBkZXNjICAgIHwgICBkZXNjXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tZ3VpZGUtdGlsZS0tZmVhdHVyZWQtLXRhbGxcbiAgJi0tZ3VpZGUtdGlsZS0tZmVhdHVyZWQtLXRhbGwge1xuXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTA0IC8gMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTUyIC8gMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgLy8gcHJldmVudCBjb250ZW50IGZyb20gdG91Y2hpbmcgdGhlIGVkZ2VcbiAgICAgICAgcGFkZGluZy1yaWdodDogYnUoMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICAubC0zLS1ndWlkZS10aWxlcyAmIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGZpeCB2ZXJ0aWNhbCBhbGlnbm1lbnRcblxuICAgICAgLmllMTEgJiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IC8vIGZpeCBicm9rZW4gYW5kIHN0YWNraW5nIGxheW91dFxuICAgICAgfVxuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAvLyBpbWFnZVxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxMiAvIDEyLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgICBoZWlnaHQ6IGJ1KDQ2LjI1KTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBidSg0Ni4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0ZXh0XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTIgLyAxMiwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyAubC0yLS1ndWlkZS10aWxlLS1mZWF0dXJlZC0tdGFsbF9faW5uZXJcbiAgICAgICZfX2lubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBub3Qgd29ya2luZ1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlOyAvLyBub3Qgd29ya2luZ1xuXG4gICAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICAgLy8gdGl0bGUgJiB0ZWFzZXJcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyAxLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyByZWFkIG1vcmUgbGlua1xuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMSwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR3VpZGUgVGlsZSAtIExpc3RpbmdcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA3IEdVSURFIFRJTEUgQ09NUE9ORU5UIChHdWlkZSBMaXN0aW5nIHBhZ2UpXG4gIC8vIFxuICAvLyBOYXJyb3dcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBbIGltYWdlIHwgaGVhZGVyIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFxuICAvLyBXaWRlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBbIGltYWdlIHwgaGVhZGVyIF0gWyBkZXNjIF1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFsgaW1hZ2UgfCBoZWFkZXIgXSBbIGRlc2MgXVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gWyBpbWFnZSB8IGhlYWRlciBdIFsgZGVzYyBdXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tZ3VpZGUtdGlsZS0tbGlzdGluZ1xuICAmLS1ndWlkZS10aWxlLS1saXN0aW5nIHtcblxuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDI4MCAvIDI4MCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIC8vIEBpbmNsdWRlIHNwYW4tY29sdW1uKDE2OSAvIDI4MCwgMHB4KTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgLy8gaGlkZSB0aGUgJzNyZCcgY29sdW1uXG4gICAgICAgIEBpbmNsdWRlIGgtaGlkZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAubC0yLS1ndWlkZS10aWxlLS1saXN0aW5nX19pbm5lclxuICAgIC8vIGF0IHRoZSBuYXJyb3cgd2lkdGgsIHRoZSBsaXN0aW5nIGlubmVyIGlzIGlkZW50aWNhbCB0byBvdGhlciB0aWxlICdvdXRlcnMnXG4gICAgJl9faW5uZXIge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAvLyAzLjUgY29sdW1ucyB3aXRoIGd1dHRlcnMsIGRvdWJsZSBndXR0ZXJcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxMDQgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAvLyA0IGNvbHVtbnMgd2l0aCBndXR0ZXJzXG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTUyIC8gMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgICAvLyBwcmV2ZW50IGNvbnRlbnQgZnJvbSB0b3VjaGluZyB0aGUgZWRnZVxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGJ1KDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LXN0YXJ0XCIpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig3IC8gMTIsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyAxMiwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgICBAaW5jbHVkZSBoLXNob3c7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gLmwtMi0tZ3VpZGUtdGlsZS0tbGlzdGluZ19faW5uZXJcbiAgICAgICZfX2lubmVyIHtcblxuICAgICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAvLyAzLjUgY29sdW1ucyB3aXRoIGd1dHRlcnMsIGRvdWJsZSBndXR0ZXJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMyOSAvIDY1MSwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIC8vIDQgY29sdW1ucyB3aXRoIGd1dHRlcnNcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDI2MSAvIDY1MSwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEludHJvIC0gR3VpZGVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAzLjAxIEdVSURFIElOVFJPRFVDVElPTiAoR3VpZGUgcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1pbnRyby0tZ3VpZGVcbiAgJi0taW50cm8tLWd1aWRlIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNCAvIDgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gOCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBJbnRybyAtIEd1aWRlIExpc3RpbmdcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAzLjAxIEdVSURFIElOVFJPRFVDVElPTiAoR3VpZGUgTGlzdGluZyBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLWludHJvLS1ndWlkZS1saXN0aW5nXG4gICYtLWludHJvLS1ndWlkZS1saXN0aW5nIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTsgLy8gJGp1c3RpZnk6IFwiZmxleC1zdGFydFwiKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNCAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgLy9AaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gMTIsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAzLCAkbWFyZ2luLXJpZ2h0LWZyYWM6IDEgLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgICAvLyBAaW5jbHVkZSBzcGFuLWNvbHVtbig3IC8gMTIsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAzLCAkbWFyZ2luLXJpZ2h0LWZyYWM6IDEgLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSW50cm8gLSBIZWxwXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBIZWxwIHBhZ2UgaW50cm9kdWN0aW9uXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0taW50cm8tLWhlbHBcbiAgJi0taW50cm8tLWhlbHAge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxMiAvIDEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTIgLyAxMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBJbnRybyAtIEhvbWVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIEhvbWUgcGFnZSBpbnRyb2R1Y3Rpb25cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1pbnRyby0taG9tZVxuICAmLS1pbnRyby0taG9tZSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDYgLyAxMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyAxMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBJbnRybyAtIFNlYXJjaFxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gU2VhcmNoIG1vZGFsXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0taW50cm8tLXNlYXJjaFxuICAmLS1pbnRyby0tc2VhcmNoIHtcblxuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyAxMik7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyAxMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSW50cm8gLSBTdWdnZXN0aW9uXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4xMSBTSEFSRSBBTkQgT1VUUFVUIChTdWdnZXN0aW9uIHBhZ2UpLCBcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1pbnRyby0tc3VnZ2VzdGlvblxuICAmLS1pbnRyby0tc3VnZ2VzdGlvbiB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDUgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIC8vIHdlIHVzZSB0aGUgZ3V0dGVyIGNvbHVtblxuICAgICAgICAgIC8vIHRvIHByZXZlbnQgd3JhcHBpbmcgaW5zaWRlIGJ1dHRvbnNcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtd2lkZS1hbmQtdXApIHtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDIgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTZWFyY2ggSGVhZGVyXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBTZWFyY2ggcGFnZVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXNlYXJjaC0taGVhZGVyXG4gICYtLXNlYXJjaC0taGVhZGVyIHtcblxuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDcgLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig1IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTaGFyZSAtIFN1Z2dlc3Rpb24gc2xpZGVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjExIFNIQVJFIEFORCBPVVRQVVQgKFN1Z2dlc3Rpb24gcGFnZSksIFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXNoYXJlLXNsaWRlXG4gICYtLXNoYXJlLXNsaWRlIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNSAvIDgsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgLy8gd2UgdXNlIHRoZSBndXR0ZXIgY29sdW1uXG4gICAgICAgICAgLy8gdG8gcHJldmVudCB3cmFwcGluZyBpbnNpZGUgYnV0dG9uc1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC13aWRlLWFuZC11cCkge1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMiAvIDgsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFByZXNlbnQgTW9kYWwgLSBIZWFkZXJcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIFN1Z2dlc3Rpb24gcHJlc2VudCBtb2RhbFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLW1vZGFsLS1oZWFkZXItLXByZXNlbnRcbiAgJi0tbW9kYWwtLWhlYWRlci0tcHJlc2VudCB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDExIC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMSAvIDEyLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQcmVzZW50IE1vZGFsIC0gUGFnaW5hdGlvblxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gU3VnZ2VzdGlvbiBwcmVzZW50IG1vZGFsXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tbW9kYWwtLXBhZ2luYXRpb24tLXByZXNlbnRcbiAgJi0tbW9kYWwtLXBhZ2luYXRpb24tLXByZXNlbnQge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMiwgJGd1dHRlci1ib3R0b206IDApO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBIZWFkZXJcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjAxIFBSSU1BUlkgTkFWSUdBVElPTiAoZXhjZXB0IEhvbWUgcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1oZWFkZXJcbiAgJi0taGVhZGVyIHtcblxuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEwMC8yODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxODAvMjgwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMgLyAxMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE5hdmlnYXRpb24gLSBQcmltYXJ5IChIb21lKVxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMDEgUFJJTUFSWSBOQVZJR0FUSU9OIChIb21lIHBhZ2UpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tbmF2LS1wcmltYXJ5LS1ob21lXG4gICYtLW5hdi0tcHJpbWFyeS0taG9tZSB7XG5cbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMik7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDIgLyAxMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyAxMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBOZXh0IFN0ZXBzXG4gIC8vIFxuICAvLyBJbmZpbml0ZSBncmlkIHdpdGggMiBpdGVtcyBwZXIgcm93LlxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gR3VpZGUgcGFnZSBOZXh0IFN0ZXBzLCBcbiAgLy8gU3VnZ2VzdGlvbiBwYWdlIE5leHQgU3RlcHMsIFxuICAvLyBVbmRlcnN0YW5kIHBhZ2UgTmV4dCBTdGVwc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLW5leHQtc3RlcHNcbiAgJi0tbmV4dC1zdGVwcyB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBcImZsZXgtc3RhcnRcIik7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyA4LCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFBhZ2UgLSBHdWlkZVxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gR3VpZGUgcGFnZSwgXG4gIC8vIFN1Z2dlc3Rpb24gcGFnZSwgXG4gIC8vIFVuZGVyc3RhbmQgcGFnZVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXBhZ2UtLWd1aWRlXG4gICYtLXBhZ2UtLWd1aWRlIHtcbiAgICBAaW5jbHVkZSBsLTItLXBhZ2UtLWd1aWRlO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUmVzb3VyY2VcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA1IFJFU09VUkNFIChHdWlkZSBwYWdlLCBVbmRlcnN0YW5kIHBhZ2UpXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tcmVzb3VyY2VcbiAgJi0tcmVzb3VyY2Uge1xuXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNTUgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigyMDEgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNjcgLyA3NDgsIDBweCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDYzNCAvIDc0OCwgMHB4KTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFJlc291cmNlIC0gQ29udGVudFxuICAvLyBOZXN0ZWQgd2l0aGluIFJlc291cmNlXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wNSBSRVNPVVJDRSAoR3VpZGUgcGFnZSwgVW5kZXJzdGFuZCBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXJlc291cmNlLWNvbnRlbnRcbiAgJi0tcmVzb3VyY2UtY29udGVudCB7XG5cbiAgICAvLyByZXNldCBmb3IgbmVzdGVkIGdyaWRcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgLy8gcmVzZXQgZm9yIG5lc3RlZCBncmlkXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMSwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gNyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDIgLyA3KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFJlc291cmNlIC0gU2xpZGVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjEwIEtOT1dMRURHRSBTTElERSAoU3VnZ2VzdGlvbiBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXJlc291cmNlLS1zbGlkZVxuICAmLS1yZXNvdXJjZS0tc2xpZGUge1xuXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgIC8vIHNhbWUgYXMgcmVzb3VyY2UgZ3JpZCBAIG5hcnJvd1xuICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNTUgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigyMDEgLyAyODAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNjcgLyA0NTAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxNDAgLyA3MzAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMzU5IC8gNDUwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNTUzIC8gNzMwLCAwcHgsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBSZXNvdXJjZSAtIFNsaWRlIC0gTGFyZ2VcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjEwIEtOT1dMRURHRSBTTElERSAoU3VnZ2VzdGlvbiBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXJlc291cmNlLS1zbGlkZS0tbGFyZ2VcbiAgJi0tcmVzb3VyY2UtLXNsaWRlLS1sYXJnZSB7XG5cbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgLy8gc2FtZSBhcyByZXNvdXJjZSBncmlkIEAgbmFycm93XG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig1NSAvIDI4MCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDIwMSAvIDI4MCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig5NCAvIDQ1MiwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG5cbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDI0OCAvIDczMCwgMHB4LCAkZ3V0dGVyLWJvdHRvbTogMCk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzMjYgLyA0NTIsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0MzAgLyA3MzAsIDBweCwgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNlYXJjaCBSZXN1bHRcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDEwLjA0IOKAlCBTRUFSQ0ggUkVTVUxUIChTZWFyY2ggcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1zZWFyY2gtLXJlc3VsdFxuICAmLS1zZWFyY2gtLXJlc3VsdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LXN0YXJ0XCIpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIC8vIDIgY29sdW1ucyArIHRyYWlsaW5nIGd1dHRlclxuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDE5NCAvIDExMzIsIDBweCwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDIsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgICBtaW4td2lkdGg6IGJ1KDIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOSAvIDEyLCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2VhcmNoIFJlc3VsdCB3aXRoIEltYWdlXG4gIC8vIE5hcnJvdyAmIFgtV2lkZSBncmlkc1xuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMTAuMDQg4oCUIFNFQVJDSCBSRVNVTFQgKFNlYXJjaCBwYWdlKVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTItLXNlYXJjaC0tcmVzdWx0LXdpdGgtaW1hZ2VcbiAgJi0tc2VhcmNoLS1yZXN1bHQtd2l0aC1pbWFnZSB7XG5cbiAgICAvLyBjaGlsZCBzZWxlY3RvciBwcmV2ZW50cyBpbmhlcml0YW5jZVxuICAgIC8vIGJ5IG5lc3RlZCBncmlkIGwtMS0tc2VhcmNoLS1yZXN1bHQtY29udGVudFxuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDgwIC8gMjQwLCAwcHgpOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICBtaW4td2lkdGg6IGJ1KDIwKTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTQwIC8gMjQwLCAwcHgpOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHdpZGUgbGF5b3V0IGlzIHRoZSBzYW1lIGFzIGwtMi0tc2VhcmNoLS1yZXN1bHRcbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBcImZsZXgtc3RhcnRcIik7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIC8vIDIgY29sdW1ucyArIHRyYWlsaW5nIGd1dHRlclxuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDE5NCAvIDExMzIsIDBweCwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDIsICRndXR0ZXItYm90dG9tOiAwKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOSAvIDEyLCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMiwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU2xpZGVcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA4IEVYQU1QTEUgU0xJREUgJiAwMC4xMCBLTk9XTEVER0UgU0xJREVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1zbGlkZVxuICAmLS1zbGlkZSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG5cbiAgICAgICAgICAvLyBtb2RhbCBpcyBvbmx5IHNob3duIG9uIHdpZGUgYW5kIHVwXG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDUgLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG5cbiAgICAgICAgICAvLyBtb2RhbCBpcyBvbmx5IHNob3duIG9uIHdpZGUgYW5kIHVwXG4gICAgICAgICAgLmItbW9kYWwtanMtLXByZXNlbnQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig4IC8gMTIsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTbGlkZSAtIFVzZXMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHByZXNlbnQgbW9kYWxcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjA4IEVYQU1QTEUgU0xJREVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1zbGlkZS0tcHJlc2VudC13aWRlXG4gICYtLXNsaWRlLS1wcmVzZW50LXdpZGUge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigzIC8gOCwgJGd1dHRlci1ib3R0b206IDApO1xuXG4gICAgICAgICAgLy8gbW9kYWwgaXMgb25seSBzaG93biBvbiB3aWRlIGFuZCB1cFxuICAgICAgICAgIC5iLW1vZGFsLWpzLS1wcmVzZW50ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oOCAvIDgsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNSAvIDgsICRndXR0ZXItYm90dG9tOiAwKTtcblxuICAgICAgICAgIC8vIG1vZGFsIGlzIG9ubHkgc2hvd24gb24gd2lkZSBhbmQgdXBcbiAgICAgICAgICAuYi1tb2RhbC1qcy0tcHJlc2VudCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDggLyA4LCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gNTAvNTAgU3BsaXRcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAwLjAzIEdVSURFIFNJREUtQkFSIE5BVklHQVRJT05cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0yLS1zcGxpdFxuICAmLS1zcGxpdCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigxIC8gMiwgJGd1dHRlcjogYnUoMSksICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyA1MC81MCBTcGxpdCAoTWVkaXVtICYgVXApXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyBWSURFTyBFTUJFRCBDQVBUSU9OXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tc3BsaXQtLWNvbnRlbnQtd2lkZS1hbmQtdXBcbiAgJi0tc3BsaXQtLWNvbnRlbnQtd2lkZS1hbmQtdXAge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyAyLCAkZ3V0dGVyOiBidSgxKSwgJGd1dHRlci1ib3R0b206IDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIDUwLzUwIFNwbGl0IC0gVmVydGljYWxcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDAzLjA1IEdVSURFIFNUUkFURUdZXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMi0tdnNwbGl0XG4gICYtLXZzcGxpdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyAxLCAkZ3V0dGVyOiAwLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbi8vIGwtNFxuLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExheW91dCBTdHlsZXNcbi8vIFVzYWdlIGlzIGFsc28gZG9jdW1lbnRlZCBpbiBfYy1sYXlvdXRzLnNjc3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubC00IHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBHdWlkZSBMaXN0IEZpbHRlcnNcbiAgLy8gV2FzIGEgZ3JpZCwgbm93IGFuIGlubGluZSBsaXN0XG4gIC8vXG4gIC8vIE0gR3VpZGU6IDMgY29sdW1ucywgbGVmdCBhbGlnbmVkIHdpdGggZml4ZWQgZ2Fwc1xuICAvLyBNIEd1aWRlIExpc3Rpbmc6IDQgY29sdW1ucywgbGVmdCBhbGlnbmVkIHdpdGggZml4ZWQgZ2Fwc1xuICAvLyBNIEhvbWU6IDMgY29sdW1ucywgbGVmdCBhbGlnbmVkIHdpdGggZml4ZWQgZ2Fwc1xuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMDYg4oCUIEdVSURFIExJU1QgU0VBUkNIIEFORCBGSUxURVJcbiAgLy8gKEhvbWUgcGFnZSwgR3VpZGUgcGFnZSwgR3VpZGUgTGlzdGluZyBwYWdlLCArIFNlYXJjaCBtb2RhbClcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC00LS1ndWlkZS1saXN0LWZpbHRlcnNcbiAgJi0tZ3VpZGUtbGlzdC1maWx0ZXJzIHtcbiAgICBAaW5jbHVkZSBoLWxpc3QtLWlubGluZTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYnUoMSk7XG5cbiAgICAgIC8vIFRoZSBSZXN1bHRzIGZpbHRlciBpcyBhbHdheXMgdmlzdWFsbHloaWRkZW5cbiAgICAgICYuaC12aXN1YWxseWhpZGRlbixcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSg2KTtcblxuICAgICAgICAvLyBUaGUgUmVzdWx0cyBmaWx0ZXIgaXMgYWx3YXlzIHZpc3VhbGx5aGlkZGVuXG4gICAgICAgICYuaC12aXN1YWxseWhpZGRlbixcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1wYWdlLWJldHdlZW4tbmFycm93aXNoLWFuZC13aWRlaXNoKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB3aWR0aDogYXV0bztcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBidSg0KTtcblxuICAgICAgICAvLyBUaGUgUmVzdWx0cyBmaWx0ZXIgaXMgYWx3YXlzIHZpc3VhbGx5aGlkZGVuXG4gICAgICAgICYuaC12aXN1YWxseWhpZGRlbixcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG4vLyBsLTNcbi8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMYXlvdXQgU3R5bGVzXG4vLyBVc2FnZSBpcyBhbHNvIGRvY3VtZW50ZWQgaW4gX2MtbGF5b3V0cy5zY3NzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmwtMyB7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR3VpZGUgdGlsZXMgKGluZmluaXRlIGdyaWQpXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAwMC4wNyBHVUlERSBUSUxFUyAoSG9tZSBwYWdlIGd1aWRlIHRpbGVzKVxuICAvLyAxIHwgMiB8IDNcbiAgLy8gNCB8IDVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0zLS1ndWlkZS10aWxlc1xuICAmLS1ndWlkZS10aWxlcyB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZy1icC1jb250ZW50LXdpZGUtYW5kLXVwKSB7XG5cbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRqdXN0aWZ5OiBcImZsZXgtc3RhcnRcIik7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDQgLyAxMiwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDMsICRndXR0ZXI6IGJ1KDEuNSksICRndXR0ZXItYm90dG9tOiBidSgxLjUpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBOYXZpZ2F0aW9uIC0gSW4tcGFnZVxuICAvL1xuICAvLyBVc2VkIGJ5OiBcbiAgLy8gMDAuMTMg4oCUIChOb24tcGlubmVkKSBJTi1QQUdFIE5BVklHQVRJT04gKEd1aWRlIHBhZ2UsIEhlbHAgcGFnZSwgU3VnZ2VzdGlvbiBwYWdlLCBVbmRlcnN0YW5kIHBhZ2UpXG4gIC8vIDEgfCAyIHwgM1xuICAvLyA0IHwgNVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIC5sLTMtLW5hdi0taW4tcGFnZVxuICAmLS1uYXYtLWluLXBhZ2Uge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LXN0YXJ0XCIpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGJ1KC0uNSk7XG5cbiAgICAgID4gI3ttLW5lc3QoKX1fX2NvbCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDEgLyAzLCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGJ1KDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNlYXJjaCBSZXN1bHRcbiAgLy9cbiAgLy8gVXNlZCBieTogXG4gIC8vIDEwLjA0IOKAlCBTRUFSQ0ggUkVTVUxUIChTZWFyY2ggcGFnZSlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyAubC0zLS1zZWFyY2gtLXJlc3VsdFxuICAmLS1zZWFyY2gtLXJlc3VsdCB7XG5cbiAgICAuYi1tb2RhbC1qcy0tc2VhcmNoICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZmlsbC1saWdodGVzdCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGctYnAtY29udGVudC13aWRlLWFuZC11cCkge1xuXG4gICAgICBAaW5jbHVkZSBncmlkLXJvdygkanVzdGlmeTogXCJmbGV4LXN0YXJ0XCIpO1xuXG4gICAgICA+ICN7bS1uZXN0KCl9X19jb2wge1xuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgLy8gMiBjb2x1bW5zICsgdHJhaWxpbmcgZ3V0dGVyXG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oMTkyIC8gMTEzMiwgMHB4LCAkZmxleC1zdGFydDogdHJ1ZSwgJG50aDogMywgJGd1dHRlci1ib3R0b206IDApOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDUgLyAxMiwgJGZsZXgtc3RhcnQ6IHRydWUsICRudGg6IDMsICRndXR0ZXItYm90dG9tOiAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbig0IC8gMTIsICRmbGV4LXN0YXJ0OiB0cnVlLCAkbnRoOiAzLCAkZ3V0dGVyLWJvdHRvbTogMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBUZXh0IHByb21vXG4gIC8vXG4gIC8vIFVzZWQgYnk6IFxuICAvLyAuYi10ZXh0LXByb21vIG9uIGhvbWVwYWdlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gLmwtMy0tdGV4dC1wcm9tb1xuICAmLS10ZXh0LXByb21vIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRnLWJwLWNvbnRlbnQtd2lkZS1hbmQtdXApIHtcblxuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgICAgPiAje20tbmVzdCgpfV9fY29sIHtcbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1uKDMgLyAxMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW4oNSAvIDEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbigyIC8gMTIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzL2NvbG91cnMuc2Nzc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9sYXlvdXQuc2Nzc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy90eXBvZ3JhcGh5LnNjc3NcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvdHJhbnNpdGlvbnMuc2Nzc1wiO1xuXG4vLyAtLS0tLS0tLSAgc2l6ZXMgIC0tLS0tLS0tXG4kZ2FwLWJhc2U6IDAuMjc3N3JlbSAhZGVmYXVsdDsgLyogNXB4IGdhcCwgdmVydGljaWFsIGFsaWdubWVudCAqL1xuJGljb24tc2l6ZTogMi41cmVtO1xuJHNpemUtaGVhZGVyLWhlaWdodDogNC43NXJlbTtcblxuJHNpemUtY2FyZC13aWR0aDogMTJyZW07XG4kc2l6ZS1jYXJkLWhlaWdodDogMTNyZW07XG4kc2l6ZS1hY2NvcmRpb24tdG9nZ2xlLXdpZHRoOiAyOXB4O1xuXG4vLyAtLS0tLS0tLSAgcmF0aW9zIC0tLS0tLS0tXG4kcmF0aW8tMTZ4OTogNTYuMjUlO1xuXG4vLyAtLS0tLS0tLSAgc2hhZG93cyAgLS0tLS0tLS1cbiRzaGFkb3ctc3RhbmRhcmQ6IDAgMC4xcmVtIDFyZW0gdHJhbnNwYXJlbnRpemUoJGNvbG9yLWJsYWNrLCAwLjk1KTtcbiRzaGFkb3ctdGV4dDogMCAtMC4wNXJlbSAwLjFyZW0gdHJhbnNwYXJlbnRpemUoJGNvbG9yLWJsYWNrLCAwLjkpO1xuJHNoYWRvdy1kcm9wOiAwIDAuNXJlbSAxcmVtIDAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLWJsYWNrLCAwLjkpO1xuJHNoYWRvdy1kcm9wLWFjdGl2ZTogLTAuMjVyZW0gMCAwLjVyZW0gLTAuMjVyZW0gJGNvbG9yLWJsYWNrO1xuXG4vLyAtLS0tLS0tLSAgYm9yZGVyICAtLS0tLS0tLVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pdC1ibGFja2xpc3QgKi9cbiRib3JkZXItd2lkdGg6IDFweDtcbiRib3JkZXItd2lkdGgtcmVtOiAwLjAyNXJlbTtcblxuJGJvcmRlci13aWR0aC1idXR0b246ICRib3JkZXItd2lkdGggKiAyO1xuJGJvcmRlci1zdGFuZGFyZDogI3skYm9yZGVyLXdpZHRofSBzb2xpZCAkY29sb3ItZ3JleS0xMTA7XG4kYm9yZGVyLXdoaXRlOiAjeyRib3JkZXItd2lkdGh9IHNvbGlkICRjb2xvci13aGl0ZTtcbiRib3JkZXItdHJhbnNwYXJlbnQ6ICN7JGJvcmRlci13aWR0aCoyfSBzb2xpZCB0cmFuc3BhcmVudDtcbiRib3JkZXItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci13aWR0aCoyfSBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuNzUpO1xuJGJvcmRlci10cmFuc2x1Y2VudC1wdXJwbGU6ICN7JGJvcmRlci13aWR0aCoyfSBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkY29sb3ItcHVycGxlLCAwLjc1KTtcbiRib3JkZXItbWlkOiAjeyRib3JkZXItd2lkdGh9IHNvbGlkICRjb2xvci1ncmV5LTIwMDtcbiRib3JkZXItYnV0dG9uOiAkYm9yZGVyLXdpZHRoLWJ1dHRvbiBzb2xpZCAkY29sb3ItYmx1ZTtcbiRib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6IDFyZW07XG5cblxuLy8gLS0tLS0tLS0gIHogbGF5ZXJzIC0tLS0tLS0tXG4kei1tb2RhbDogMzA7XG4kei1tZW51OiAyMDtcbiR6LXRvZ2dsZTogMTU7XG4kei1idWZmZXJzOiAxMDtcbiR6LWRlZmF1bHQ6IDE7XG4kei1iZWxvdzogLTEwO1xuXG4vLyAtLS0tLS0tLSAgcHJpbnQgIC0tLS0tLS0tXG4kcHJpbnQtcGFnZTogYTQgIWRlZmF1bHQ7XG4kcHJpbnQtbWFyZ2luOiAxLjVjbSAxY20gIWRlZmF1bHQ7XG4kcHJpbnQtb3JwaGFuczogMyAhZGVmYXVsdDtcbiRwcmludC13aWRvd3M6IDMgIWRlZmF1bHQ7XG4iLCIubmF2YmFyLWhlYWRlciAuc2VhcmNoLWljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICB3aWR0aDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaGVhZGVyLXNlYXJjaC1wYW5lIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0taGVhZGVyLWhlaWdodCkpO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktODAwO1xuICB6LWluZGV4OiAxMDA7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjgyMCwgMC4wODUsIDAuMzk1LCAwLjg5NSk7XG5cbiAgb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmFpcy1TdGF0cy10ZXh0IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggOXB4IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgZm9udC14eHNtYWxsKCk7XG4gIH1cblxuXG4gIC5haXMtUGFnaW5hdGlvbi1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC5haXMtUGFnaW5hdGlvbi1pdGVtLS1kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5haXMtUGFnaW5hdGlvbi1saW5rIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IDJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JleS02MDA7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktNzAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIEBpbmNsdWRlIGZvbnQteHNtYWxsKCk7XG4gIH1cblxuICAuYWlzLUhpdHMtaXRlbSB7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA5cHggMjBweCA5cHggMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleS03MDA7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAuaGl0LW5hbWUge1xuICAgICAgQGluY2x1ZGUgZm9udC1zbWFsbCgpO1xuXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIC5oaXQtZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBAaW5jbHVkZSBmb250LXh4c21hbGwoKTtcbiAgICB9XG5cbiAgICAuaGl0LWxpbmsge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgQGluY2x1ZGUgZm9udC14eHNtYWxsKCk7XG4gICAgfVxuICB9XG59XG5cbi5oZWFkZXItc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0taGVhZGVyLWhlaWdodCkpO1xufVxuXG4uaGVhZGVyLXNlYXJjaC1pbnB1dCB7XG4gIC5haXMtU2VhcmNoQm94LWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICBwYWRkaW5nOiAwIHZhcigtLWhlYWRlci1oZWlnaHQpIDAgMTVweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZXktNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYWlzLVNlYXJjaEJveC1zdWJtaXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnNlYXJjaC1wYW5lLW9wZW4ge1xuICAuaGVhZGVyLXNlYXJjaC1wYW5lIHtcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5ib2R5IHtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cbn1cblxuLmhlYWRlci1zZWFyY2hfY2xvc2Uge1xuICBmb250LXNpemU6IDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgY29sb3I6ICNmZmY7XG4gIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG59XG5cbi8qIGNsZWFycyB0aGUgJ1gnIGZyb20gSW50ZXJuZXQgRXhwbG9yZXIgKi9cbi5haXMtU2VhcmNoQm94LWlucHV0W3R5cGU9c2VhcmNoXTo6LW1zLWNsZWFyLFxuLmFpcy1TZWFyY2hCb3gtaW5wdXRbdHlwZT1zZWFyY2hdOjotbXMtcmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbn1cblxuLyogY2xlYXJzIHRoZSAnWCcgZnJvbSBDaHJvbWUgKi9cbi5haXMtU2VhcmNoQm94LWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4uYWlzLVNlYXJjaEJveC1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLmFpcy1TZWFyY2hCb3gtaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4uYWlzLVNlYXJjaEJveC1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gLS0tLS0tLS0gIGJyYW5kIGNvbG9ycyAgLS0tLS0tLS1cblxuLy8gcHVycGxlXG4kY29sb3ItcHVycGxlLTkwMDogIzJGMUI1NSAhZGVmYXVsdDtcbiRjb2xvci1wdXJwbGUtODAwOiAjMjcyMDgyICFkZWZhdWx0O1xuJGNvbG9yLXB1cnBsZS02MDA6ICM0RTI0OEIgIWRlZmF1bHQ7XG4kY29sb3ItcHVycGxlLTUwMDogIzRFMjM4QyAhZGVmYXVsdDtcbiRjb2xvci1wdXJwbGUtNDAwOiAjNTAyMTg5ICFkZWZhdWx0O1xuJGNvbG9yLXB1cnBsZS0xMDA6ICNGMEVGRjUgIWRlZmF1bHQ7XG4kY29sb3ItcHVycGxlOiAkY29sb3ItcHVycGxlLTUwMDtcblxuLy8gcmVkXG4kY29sb3ItcmVkLTcwMDogI0UyMUE0MCAhZGVmYXVsdDtcbiRjb2xvci1yZWQtNTAwOiAjRTQyNDNCICFkZWZhdWx0O1xuJGNvbG9yLXJlZC00MDA6ICNGNDJDNDkgIWRlZmF1bHQ7XG4kY29sb3ItcmVkOiAkY29sb3ItcmVkLTUwMDtcblxuLy8gbWVsb25cbiRjb2xvci1tZWxvbi03MDA6ICNGRjlDMEQgIWRlZmF1bHQ7XG4kY29sb3ItbWVsb24tNTAwOiAjRkZBQzI3ICFkZWZhdWx0O1xuJGNvbG9yLW1lbG9uLTQwMDogI0ZCMiAhZGVmYXVsdDtcbiRjb2xvci1tZWxvbjogJGNvbG9yLW1lbG9uLTUwMDtcblxuLy8geWVsbG93XG4kY29sb3IteWVsbG93LTcwMDogI0U1QkUzRCAhZGVmYXVsdDtcbiRjb2xvci15ZWxsb3ctNTAwOiAjRkZENDQ0ICFkZWZhdWx0O1xuJGNvbG9yLXllbGxvdzogJGNvbG9yLXllbGxvdy01MDA7XG5cblxuLy8gYmx1ZXNcbiRjb2xvci1ibHVlLTIwMDogIzZDQUNFNCAhZGVmYXVsdDtcbiRjb2xvci1ibHVlLTMwMDogIzI0QTdGRiAhZGVmYXVsdDtcbiRjb2xvci1ibHVlLTQwMDogIzAwOENGRiAhZGVmYXVsdDtcbiRjb2xvci1ibHVlLTUwMDogIzE0NzBFMSAhZGVmYXVsdDtcbiRjb2xvci1ibHVlLTYwMDogIzEzMzNlNyAhZGVmYXVsdDtcbiRjb2xvci1ibHVlLTcwMDogIzBFNUNCQSAhZGVmYXVsdDtcbiRjb2xvci1ibHVlLTgwMDogIzA3MmQ1ZCAhZGVmYXVsdDtcblxuJGNvbG9yLWJsdWU6ICRjb2xvci1ibHVlLTUwMDtcbiRjb2xvci1ibHVlLWRhcms6ICRjb2xvci1ibHVlLTYwMDtcbiRjb2xvci1ibHVlLWRhcmtlcjogJGNvbG9yLWJsdWUtNzAwO1xuXG4vLyBncmV5c1xuJGNvbG9yLWJsYWNrOiAjMDUwNTA1ICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktOTUwOiAjMTIxMjEyICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktOTAwOiAjMUUyMjI5ICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktODAwOiAjMkMyQzJDICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktNzAwOiAjNGE0YTRhICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktNjAwOiAjNWU1ZTVlICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktNTAwOiAjODA4MDgwICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktMzUwOiAjQTBBMEEwICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktMzAwOiAjQTdBOUFDICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktMjAwOiAjQjdCN0I3ICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktMTUwOiAjRTZFN0U4ICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktMTEwOiAjRTRFNkUyICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktMTAwOiAjRUFFQUVBICFkZWZhdWx0O1xuJGNvbG9yLWdyZXktNTA6ICNGQUZBRkEgIWRlZmF1bHQ7XG4kY29sb3Itd2hpdGU6ICNGRkYgIWRlZmF1bHQ7XG4kY29sb3ItZ3JleTogI0VBRTlGMztcblxuLy8gbWFwcGluZ3NcbiRjb2xvci1iYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dDogJGNvbG9yLWdyZXktODAwICFkZWZhdWx0O1xuXG4vLyBsZWdhY3kgbWFwcGluZ3NcbiRjb2xvci14ZGFyay1ncmV5OiAkY29sb3ItZ3JleS02MDAgIWRlZmF1bHQ7XG4kY29sb3ItZGFyay1ncmV5OiAkY29sb3ItZ3JleS01MDAgIWRlZmF1bHQ7XG4kY29sb3ItbWlkLWdyZXk6ICRjb2xvci1ncmV5LTIwMCAhZGVmYXVsdDtcbiRjb2xvci1jaGFyY29hbDogJGNvbG9yLWdyZXktOTUwICFkZWZhdWx0O1xuJGNvbG9yLWNoYXJjb2FsLW1pZDogJGNvbG9yLWdyZXktOTAwICFkZWZhdWx0O1xuJGNvbG9yLWNoYXJjb2FsLW1pZC0yOiAkY29sb3ItZ3JleS04MDAgIWRlZmF1bHQ7XG4kY29sb3ItZ3JleS1pY29uOiAkY29sb3ItZ3JleS0zNTAgIWRlZmF1bHQ7XG4kY29sb3ItZGlzYWJsZWQtYm9yZGVyOiAkY29sb3ItZ3JleS0zMDAgIWRlZmF1bHQ7XG4kY29sb3ItZGlzYWJsZWQtYmFja2dyb3VuZDogJGNvbG9yLWdyZXktMTUwICFkZWZhdWx0O1xuJGNvbG9yLXBhbGUtZ3JleTogJGNvbG9yLWdyZXktMTEwIWRlZmF1bHQ7XG4kY29sb3ItbGlnaHQtZ3JleTogJGNvbG9yLWdyZXktMTAwICFkZWZhdWx0O1xuJGNvbG9yLXhsaWdodC1ncmV5OiAkY29sb3ItZ3JleS01MCAhZGVmYXVsdDtcbiRjb2xvci1ncmV5LXRleHQ6ICRjb2xvci1ncmV5LTgwMCAhZGVmYXVsdDtcblxuXG4vLyAtLS0tLS0tLSAgZ3JhZGllbnRzICAtLS0tLS0tLVxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoXG4gIDEyMGRlZyxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLWdyZXktMTEwLCAwLjIpIDIwJSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLWdyZXktMTEwLCAwLjIpIDQwJSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXB1cnBsZS05MDAsIDAuOSkgNTAlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItZ3JleS0xMTAsIDAuMikgNjAlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItZ3JleS0xMTAsIDAuMikgODAlXG4pO1xuXG4kZ3JhZGllbnQtbGlnaHQ6IGxpbmVhci1ncmFkaWVudChcbiAgMTIwZGVnLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuNikgMjAlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuNikgMzUlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuMSkgNTAlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuNikgNjUlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3Itd2hpdGUsIDAuNikgODAlXG4pO1xuXG4kZ3JhZGllbnQtcHJpbWFyeTogbGluZWFyLWdyYWRpZW50KFxuICAxMjBkZWcsXG4gIHRyYW5zcGFyZW50aXplKCRjb2xvci1wdXJwbGUsIDAuOSkgMjAlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItcHVycGxlLCAwLjkpIDM1JSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXB1cnBsZSwgMC44KSA1MCUsXG4gIHRyYW5zcGFyZW50aXplKCRjb2xvci1wdXJwbGUsIDAuOSkgNjUlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItcHVycGxlLCAwLjkpIDgwJVxuKTtcblxuJGdyYWRpZW50LWRhcms6IGxpbmVhci1ncmFkaWVudChcbiAgMTIwZGVnLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItcHVycGxlLTkwMCwgMC42KSAyMCUsXG4gIHRyYW5zcGFyZW50aXplKCRjb2xvci1wdXJwbGUtOTAwLCAwLjYpIDM1JSxcbiAgdHJhbnNwYXJlbnRpemUoJGNvbG9yLXB1cnBsZS05MDAsIDAuNCkgNTAlLFxuICB0cmFuc3BhcmVudGl6ZSgkY29sb3ItcHVycGxlLTkwMCwgMC42KSA2NSUsXG4gIHRyYW5zcGFyZW50aXplKCRjb2xvci1wdXJwbGUtOTAwLCAwLjYpIDgwJVxuKTtcblxuLy8gLS0tLS0tLS0gIG9wYWNpdGllcyAgLS0tLS0tLS1cbiRvcGFjaXR5LXNlbWktdHJhbnNsdWNlbnQ6IDAuMDI7XG4kb3BhY2l0eS10cmFuc2x1Y2VudDogMC4zNTtcbiRvcGFjaXR5LXZlcnktdHJhbnNsdWNlbnQ6IDAuNjtcbiRvcGFjaXR5LXNlbWktdHJhbnNwYXJlbnQ6IDAuODtcbiIsIkBtaXhpbiBmb250LXh4c21hbGwoKSB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eHNtYWxsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXh4c21hbGw7XG59XG5cbkBtaXhpbiBmb250LXhzbWFsbCgpIHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXhzbWFsbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC14c21hbGw7XG59XG5cbkBtaXhpbiBmb250LXNtYWxsKCkge1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMTZyZW07XG59XG5cbkBtaXhpbiBmb250LWJvZHkoKSB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMzhyZW07XG59XG5cbkBtaXhpbiBmb250LW1lZGl1bSgpIHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLW1lZGl1bTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0NHJlbTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1tZWRpdW07XG59XG5cbkBtaXhpbiBmb250LXhtZWRpdW0oKSB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14bWVkaXVtO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDQ0cmVtO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXhtZWRpdW07XG59XG5cbkBtaXhpbiBmb250LXh4bWVkaXVtKCkge1xuICBmb250LXNpemU6ICRmb250LXNpemUteHhtZWRpdW07XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNDRyZW07XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQteHhtZWRpdW07XG59XG5cbkBtaXhpbiBoZWFkaW5nLWNvbW1vbigpIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogZ2FwLXNpemUoMS8yKSAwIGdhcC1zaXplKDEvNCk7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cbiAgJiA+IGE6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMC4yNWVtO1xuICB9XG59XG5cbi8vIEgxIHNwZWNpZmljIHN0eWxlc1xuQG1peGluIGhlYWRpbmctaDEoKSB7XG4gIEBpbmNsdWRlIGhlYWRpbmctY29tbW9uO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjE2NnJlbTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1sYXJnZTtcbiAgbWFyZ2luOiBnYXAtc2l6ZSgwKSAwIGdhcC1zaXplKDApO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJsYWNrO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWQtZG93bigpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUteHhtZWRpdW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4OHJlbTtcbiAgfVxufVxuXG4vLyBIMiBzcGVjaWZpYyBzdHlsZXNcbkBtaXhpbiBoZWFkaW5nLWgyKCkge1xuICBAaW5jbHVkZSBoZWFkaW5nLWNvbW1vbjtcblxuICBmb250LXNpemU6ICRmb250LXNpemUteHhtZWRpdW07XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtaDI7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNzdyZW07XG4gIG1hcmdpbjogZ2FwLXNpemUoMikgMCBnYXAtc2l6ZSgxLzIpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJsYWNrO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IGdhcC1zaXplKDIpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1tZC1kb3duKCkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14bWVkaXVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1zbS1kb3duKCkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tZWRpdW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XG4gIH1cbn1cblxuLy8gSDMgc3BlY2lmaWMgc3R5bGVzXG5AbWl4aW4gaGVhZGluZy1oMygpIHtcbiAgQGluY2x1ZGUgaGVhZGluZy1jb21tb247XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14bWVkaXVtO1xuICBsaW5lLWhlaWdodDogMS4xMzM7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNDRyZW07XG4gIG1hcmdpbjogZ2FwLXNpemUoMCkgMCBnYXAtc2l6ZSgxLzIpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJsYWNrO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtc20tZG93bigpIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgfVxufVxuXG4vLyBINCBzcGVjaWZpYyBzdHlsZXNcbkBtaXhpbiBoZWFkaW5nLWg0KCkge1xuICBAaW5jbHVkZSBoZWFkaW5nLWNvbW1vbjtcblxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IDEuMzg4O1xuICBtYXJnaW46IGdhcC1zaXplKDApIDAgZ2FwLXNpemUoMS8yKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50LXNtLWRvd24oKSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XG4gIH1cbn1cblxuQG1peGluIGhlYWRpbmctaDUoKSB7XG4gIEBpbmNsdWRlIGhlYWRpbmctY29tbW9uO1xuXG4gIGZvbnQtc2l6ZTogMC44MzNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY2NjtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIGhlYWRpbmctaDYoKSB7XG4gIEBpbmNsdWRlIGhlYWRpbmctY29tbW9uO1xuXG4gIGZvbnQtc2l6ZTogMC42MzNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM4ODtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNnJlbTtcbn1cbiIsIlxuLy8gLS0tLS0tLS0gIGZvbnQgKDE4cHggYmFzZSwgc2hvdWxkIGJlIHNldCBvbiBodG1sKSAtLS0tLS0tLVxuLy8gaHR0cHM6Ly9tb2Utd2Vic2VydmljZXMuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9XU1QvcGFnZXMvMTA3OTM3ODE0L1R5cG9ncmFwaHlcbiRmb250LWZhbWlseTogXCJHb3RoYW0gU1NtIEFcIiwgXCJHb3RoYW0gU1NtIEJcIiwgXCJHb3RoYW1cIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4kZm9udC1mYW1pbHktbW9ubzogU0ZNb25vLVJlZ3VsYXIsQ29uc29sYXMsTGliZXJhdGlvbiBNb25vLE1lbmxvLG1vbm9zcGFjZTtcbiRmb250LXNpemUteHh4eHNtYWxsOiAwLjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXh4eHNtYWxsOiAwLjY1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14eHNtYWxsOiAwLjcyMnJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUteHNtYWxsOiAwLjgzMzNyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtYWxsOiAwLjlyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJvZHk6IDFyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6IDFyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLW1lZGl1bTogMS4yNTByZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhtZWRpdW06IDEuNTYzcmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14eG1lZGl1bTogMS45NTNyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlOiAyLjQ0MXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUteGxhcmdlOiAzLjU1MnJlbSAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LXh4c21hbGw6IDEuMzg0NiAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC14c21hbGw6IDEuMzMzMyAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbWFsbDogMS41NjI1ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNjY2NiAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1taWQ6IDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1ib2R5OiAxLjY2NjYgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtbWVkaXVtOiAxLjMzMzMgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQteG1lZGl1bTogMS4yNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC14eG1lZGl1bTogMS4yMjIyICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxhcmdlOiAxLjEzNiAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1oMjogMS40Mjg1NyAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtcmVndWxhcjogNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDogNjAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ibGFjazogODAwICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcInNlYXJjaC5zY3NzXCI7XG5cbjpyb290IHtcbiAgLS1oZWFkZXItaGVpZ2h0OiA4MHB4O1xuICAtLWhlYWRlci1iYWNrZ3JvdW5kOiAjZmZmO1xuICAtLWhlYWRlci10ZXh0LWNvbG9yOiAjeyRjb2xvci1ncmV5LTgwMH07XG4gIC0taGVhZGVyLWxpbmstY29sb3I6ICN7JGNvbG9yLWJsdWV9O1xuICAtLWhlYWRlci1pY29uLWNvbG9yOiAjeyRjb2xvci1ibHVlfTtcbiAgLS1oZWFkZXItbGluay1ob3Zlci1jb2xvcjogI3skY29sb3ItYmx1ZX07XG4gIC0taGVhZGVyLWxvZ28tdXJsOiB1cmwoJy9fcmVzb3VyY2VzL3ZlbmRvci9lZHVjYXRpb24tbnovbW9lLXN0YW5kYXJkLWhlYWRlci9jbGllbnQvaW1nL01PRV9pY29uX2xvZ29fYmxhY2suc3ZnJyk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC1kb3duKCkge1xuICAgIC0taGVhZGVyLWhlaWdodDogNjBweDtcbiAgfVxufVxuXG5ib2R5W2RhdGEtZGFyay1oZWFkZXJdIHtcbiAgLS1oZWFkZXItYmFja2dyb3VuZDogI3skY29sb3ItZ3JleS04MDB9O1xuICAtLWhlYWRlci10ZXh0LWNvbG9yOiAjZmZmO1xuICAtLWhlYWRlci1saW5rLWNvbG9yOiAjZmZmO1xuICAtLWhlYWRlci1pY29uLWNvbG9yOiAjZmZmO1xuICAtLWhlYWRlci1saW5rLWhvdmVyLWNvbG9yOiAjZmZmO1xuICAtLWhlYWRlci1sb2dvLXVybDogdXJsKCcvX3Jlc291cmNlcy92ZW5kb3IvZWR1Y2F0aW9uLW56L21vZS1zdGFuZGFyZC1oZWFkZXIvY2xpZW50L2ltZy9NT0VfaWNvbl9sb2dvX3doaXRlLnN2ZycpO1xufVxuXG5ib2R5W2RhdGEtaGVhZGVyLXN0YXRpY10ge1xuICAubmF2YmFyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG5cbiAgLmJvZHkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi8qKlxuICogU3R5bGVzIGZvciB0aGUgZ2VuZXJpYyBNb0UgaGVhZGVyLlxuICpcbiAqIE5vdGUgdGhhdCB0aGVzZSBzdHlsZXMgd2lsbCB1c2UgaGVscGVyIGNsYXNzZXMgcmF0aGVyIHRoYW4gYnJlYWtwb2ludHMgaW5cbiAqIG1hbnkgY2FzZXMgc2luY2UgdG8gYWxsb3cgZm9yIGVhc2llciBwZXItc2l0ZSBjaGFuZ2VzIHRoZSBtb2JpbGUgbWVudSBjYW4gYmVcbiAqIGN1c3RvbWlzZWQgdmlhIEhUTUwgZGF0YSBhdHRyaWJ1dGVzIC0gZS5nIGRhdGEtbWVudS1tb2JpbGUtYnJlYWtwb2ludD1cIjExODBcIlxuICpcbiAqIE90aGVyIGNsYXNzZXMgYXJlIGFwcGxpZWQgdG8gdGhlIDxodG1sPiB0byBpbmRpY2F0ZSBzdGF0ZVxuICpcbiAqIC0gYHNlYXJjaC1wYW5lLW9wZW5gXG4gKiAtIGBtZW51LWlzLWFjdGl2ZWBcbiAqL1xuYm9keSxcbmh0bWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmJvZHkge1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IG5vbmU7XG59XG5cbi5ub252aXN1YWwtaW5kaWNhdG9yLFxuLnZpc3VhbGx5aGlkZGVuLFxuLnZpc3VhbGx5LWhpZGRlbixcbi5hY2Nlc3MsXG4uaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsMCwwLDApICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4ubmF2YmFyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0taGVhZGVyLWJhY2tncm91bmQpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDQwO1xuICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICBib3gtc2hhZG93OiAwIDAgMC41cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWwtZG93bigpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1oZWFkZXItYmFja2dyb3VuZCk7XG4gIH1cblxuICAmID4gLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC1kb3duKCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgbWFyZ2luOiAwIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICBhIHtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1saW5rcztcbiAgICBjb2xvcjogdmFyKC0taGVhZGVyLWxpbmstY29sb3IpO1xuICB9XG5cbiAgJi5uYXZiYXJfX3NpemVfc21hbGwge1xuICAgIC0taGVhZGVyLWhlaWdodDogNTRweDtcbiAgfVxufVxuXG4vKiBzcGFjZSBmb3IgdGhlIGZpeGVkIGhlYWRlciwgZmFkZXMgb3V0IHdoZW4gdGhlIG1lbnUgaXMgb3BlbiAqL1xuLmJvZHkge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5uYXZiYXIgKyBkaXYge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbn1cblxuLm5hdmJhci1icmFuZC0tbG9nbyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWhlYWRlci1sb2dvLXVybCkgbGVmdCBjZW50ZXIgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLWhlYWRlci1oZWlnaHQpIHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICB3aWR0aDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLm5hdmJhci1icmFuZCB7XG4gIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIGNvbG9yOiB2YXIoLS1oZWFkZXItdGV4dC1jb2xvcik7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMzhyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIHNwYW4ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWwtZG93biB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50LW1sLWRvd24oKSB7XG4gICAgZm9udC1zaXplOiAwLjk0cmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1zbS1kb3duIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUteHhzbWFsbDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0taGVhZGVyLXRleHQtY29sb3IpO1xuICB9XG59XG5cbi5uYXZiYXItbWVudS0taG9sZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm5hdmJhci1tZW51IHtcbiAgQGluY2x1ZGUgaGlkZVNjcm9sbGJhcjtcblxuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAuaGFzLWRyb3Bkb3duIHtcbiAgICAubmF2YmFyLWRyb3Bkb3duIHtcbiAgICAgIHRvcDogY2FsYygxMDAlICsgMC4yNXJlbSk7XG4gICAgfVxuXG4gICAgLm5hdmJhci1saW5rIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMXJlbTtcbiAgICB9XG5cbiAgICAuaXMtZXhwYW5kZWQgKyAubmF2YmFyLWRyb3Bkb3duIHtcbiAgICAgIHRvcDogY2FsYygxMDAlICsgMC4zcmVtKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIC8qIGxhc3Qgb25lIGdvZXMgbGVmdCByYXRoZXIgdGhhbiByaWdodCAqL1xuICAgICAgICAubmF2YmFyLWRyb3Bkb3duIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgLmFycm93LXVwIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyNSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWl0ZW0sXG4gIC5uYXZiYXItbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDEycmVtO1xuICAgIHBhZGRpbmc6IGdhcC1zaXplKDEpIDA7XG4gICAgY29sb3I6IHZhcigtLWhlYWRlci10ZXh0LWNvbG9yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1sLXVwKCkge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nOiBnYXAtc2l6ZSgxKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBnYXAtc2l6ZSgxKVxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBAaW5jbHVkZSB0cnVuY2F0ZSgpO1xuICB9XG5cbiAgLm5hdmJhci1zZXBlcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICB3aWR0aDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWdyZXktMTAwO1xuICAgIG1hcmdpbjogMCBnYXAtc2l6ZSgyLCAwLjUpO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgICsgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItbGluay1jb2xvcik7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiA+IGE6Zmlyc3QtY2hpbGQge1xuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogdmFyKC0taGVhZGVyLWxpbmstaG92ZXItY29sb3IpO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmID4gYSxcbiAgJiA+IC5uYXZiYXItaXRlbSA+IGEge1xuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogdmFyKC0taGVhZGVyLWxpbmstaG92ZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC1kb3duKCkge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTEwMDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgLm5hdmJhci1saW5rIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZiYXItZHJvcGRvd24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci5uYXZiYXIuaGFzLXNoYWRvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWFlYWVhO1xufVxuXG4ubmF2YmFyLWl0ZW06aG92ZXIgLm5hdmJhci1saW5rIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLm5hdmJhci1saW5rIHtcbiAgcGFkZGluZzogMC41cmVtO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZS1jaGlsZHJlbiB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAwLjRyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMC4zcmVtKTtcbiAgICByaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDAuNHJlbTtcbiAgICAgIHdpZHRoOiAwLjRyZW07XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2U7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYmx1ZTtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtbWwtZG93bigpIHtcbiAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLWV4cGFuZGVkIHtcbiAgICAubmF2YmFyLXRvZ2dsZS1jaGlsZHJlbiB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMC4xcmVtKTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWVuZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBmb250LXNpemU6IDAuODMzcmVtO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbn1cblxuLyogZHJvcGRvd24gbWVudSAqL1xuLm5hdmJhci1kcm9wZG93biB7XG4gIHBhZGRpbmc6IGdhcC1zaXplKDIpO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gIHRvcDogY2FsYygxMDAlIC0gMC4yNXJlbSk7XG4gIG1heC13aWR0aDogMzIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDhweCByZ2JhKDEwLCAxMCwgMTAsIDAuMSk7XG4gIGxlZnQ6IDA7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IDIwO1xuICBtaW4td2lkdGg6IDE0MHB4O1xuXG4gIEBpbmNsdWRlIGZvbnQteHNtYWxsKCk7XG5cbiAgaHIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYWVhZWE7XG4gICAgbWFyZ2luOiAwLjI1cmVtIDAgMC41cmVtIDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6IHZhcigtLWhlYWRlci10ZXh0LWNvbG9yKTtcbiAgfVxuXG4gIC5hcnJvdy11cCB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgcmdiYSgyMzQsIDIzNCwgMjM0LCAwLjUpO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgcmdiYSgyMzQsIDIzNCwgMjM0LCAwLjUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0wLjU1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbGVmdDogMjUlO1xuICB9XG5cbiAgLm5hdmJhci1kcm9wZG93bi1jb2wge1xuICAgIG9sIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1kcm9wZG93bi1saW5rIHtcbiAgICBwYWRkaW5nOiBnYXAtc2l6ZSgyKSAwLjVyZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRyYW5zaXRpb246IDAuMnMgYWxsIGVhc2Utb3V0O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgIEBpbmNsdWRlIGZvbnQteHNtYWxsKCk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZXktNTA7XG4gICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC1kb3duKCkge1xuICAgICAgQGluY2x1ZGUgZm9udC14eHNtYWxsKCk7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmID4gLm5hdmJhci1pdGVtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgY29sb3I6ICRjb2xvci1ncmV5LTgwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWl0ZW0ge1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogJGNvbG9yLWdyZXktODAwO1xuICBmb250LXNpemU6IDAuODMzcmVtO1xuXG4gICYuaGFzLWRyb3Bkb3duIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1sLWRvd24oKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1sLWRvd24oKSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAmLmlzLWV4cGFuZGVkIHtcbiAgICArIC5uYXZiYXItZHJvcGRvd24ge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmID4gLm5hdmJhci10b2dnbGUtY2hpbGRyZW46OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICB0b3A6IGNhbGMoMS43NXJlbSArIDVweCk7XG4gICAgfVxuICB9XG5cbiAgJiA+IGEge1xuICAgIGNvbG9yOiAkY29sb3ItZ3JleS04MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1tbC11cCgpIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItaXRlbSBpbWcge1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuXG4ubmF2YmFyLWhlYWRlcl9fbm8tc2VhcmNoIC5uYXZiYXItbWVudSB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbi8qIGhhbWJ1cmdlciAqL1xuLm5hdmJhci1idXJnZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogdmFyKC0taGVhZGVyLWhlaWdodCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDUwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBjb2xvcjogdmFyKC0taGVhZGVyLWljb24tY29sb3IpO1xuXG4gIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgY29sb3I6IHZhcigtLWhlYWRlci1pY29uLWNvbG9yKTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBub25lIDg2bXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgJjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICB9XG4gIH1cbn1cblxuLyogTWVudSBleGlzdHMsIGJ1dCBzaG91bGQgbm90IGJlIG9wZW4gcXVpdGUgeWV0ICovXG4ubWVudS1vZmZzY3JlZW4tcmVhZHkge1xuICAubmF2YmFyLW1lbnUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDB2dyk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjRzIGVhc2Utb3V0O1xuICB9XG59XG5cbi8qIFByZXAgbW9iaWxlIG1lbnUgKi9cbi5tZW51LWxvYWQge1xuICAubmF2YmFyLW1lbnUge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IGdhcC1zaXplKDQpIGdhcC1zaXplKDQpIDgwcHggZ2FwLXNpemUoNCkgO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwLjVyZW0gcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1oZWFkZXItaGVpZ2h0KSk7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIGxlZnQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50LW1sLWRvd24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogZ2FwLXNpemUoNCkgZ2FwLXNpemUoNCkgY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0KSArIDIwcHgpO1xuICAgIH1cblxuICAgIC5uYXZiYXItbGluayB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItaXRlbS5oYXMtZHJvcGRvd24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLm5hdmJhci1saW5rLFxuICAubmF2YmFyLWl0ZW0ge1xuICAgIGNvbG9yOiAkY29sb3ItZ3JleS10ZXh0O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiBnYXAtc2l6ZSg4KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJi5oYXMtZHJvcGRvd24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1kcm9wZG93bi1saW5rIHtcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGUtY2hpbGRyZW4ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmFycm93LXVwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogZHJvcGRvd25zIGluc2lkZSB0aGUgbWVudSBhcmUgbm90IGFjdHVhbGx5IGRyb3Bkb3ducyAqL1xuICAubmF2YmFyLWRyb3Bkb3duIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBmb250LXhzbWFsbCgpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBtb2JpbGUgbWVudSBzaG93IGNoaWxkcmVuICovXG4gIC5pcy1leHBhbmRlZCB7XG4gICAgLm5hdmJhci10b2dnbGUtY2hpbGRyZW46YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAwLjJyZW0pO1xuICAgIH1cblxuICAgICsgLm5hdmJhci1kcm9wZG93biB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAvKiBoYW1idXJnZXIgKi9cbiAgLm5hdmJhci1tZW51LS1ob2xkZXIgLm5hdmJhci1idXJnZXIge1xuICAgIHNwYW46bnRoLW9mLXR5cGUoMSkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG5cbiAgICBzcGFuOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgc3BhbjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gIH1cbn1cblxuLyogTWVudSBpcyBvcGVuISAqL1xuLm1lbnUtaXMtYWN0aXZlIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gIC5uYXZiYXItbWVudSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgfVxuXG4gIC5ib2R5IHtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cblxuICAubmF2YmFyLWxpbmssXG4gIC5uYXZiYXItaXRlbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vKipcbiAqIE1lbnUgaXMgbm90IGFjdGl2ZSwgYnV0IGFueSBpdGVtcyB3aGljaCBhcmUgdG9vIGxvbmcgc2hvdWxkIG5vdyBiZSBoaWRkZW5cbiAqL1xuaHRtbDpub3QoLm1lbnUtaXMtYWN0aXZlKSB7XG4gIC5tZW51LWludmlzaWJsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIGJvcmRlcjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICYubmF2YmFyLWJ1cmdlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItaXRlbXNfX21lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubmF2YmFyLWl0ZW1zX19saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQtbWwtZG93biB7XG4gIC5uYXZiYXItbWVudS0tbGlua3Nvbmx5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gYnJlYWtwb2ludC1jdXN0b20tdXAoJG1pbikge1xuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQteHhzLWRvd24ge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWN1c3RvbS1kb3duKCRzY3JlZW4teHhzLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXh4cy11cCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLXVwKCRzY3JlZW4teHhzLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXhzLW9ubHkge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXhzLXVwIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tdXAoJHNjcmVlbi14cy1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1zbS11cCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLXVwKCRzY3JlZW4tc20tbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtdGFibGV0LXVwIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tdXAoJHNjcmVlbi10YWJsZXQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1tZC11cCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLXVwKCRzY3JlZW4tbWQtbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtbWwtdXAge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWN1c3RvbS11cCgkc2NyZWVuLW1sLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LWxnLXVwIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tdXAoJHNjcmVlbi1sZy1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC14bC11cCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLXVwKCRzY3JlZW4teGwtbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQteHhsLXVwIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tdXAoJHNjcmVlbi14eGwtbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtY3VzdG9tLWRvd24oJG1pbikge1xuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQteHMtZG93biB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLWRvd24oJHNjcmVlbi14cy1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1zbS1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tZG93bigkc2NyZWVuLXNtLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXRhYmxldC1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tZG93bigkc2NyZWVuLXRhYmxldCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LW1kLWRvd24ge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWN1c3RvbS1kb3duKCRzY3JlZW4tbWQtbWluKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtbWwtZG93biB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQtY3VzdG9tLWRvd24oJHNjcmVlbi1tbC1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1sZy1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tZG93bigkc2NyZWVuLWxnLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LW1sZy1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tZG93bigkc2NyZWVuLW1sZy1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC14bC1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tZG93bigkc2NyZWVuLXhsLW1pbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXh4bC1kb3duIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jdXN0b20tZG93bigkc2NyZWVuLXh4bC1taW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiXG4vLyAtLS0tLS0tLSAgdHJhbnNpdGlvbnMgIC0tLS0tLS0tXG4kdHJhbnNpdGlvbi1hbGw6IGFsbCAzNTBtcyBlYXNlLWluICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tYm9yZGVyOiBib3JkZXIgMzUwbXMgZWFzZS1pbiAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWJhY2tncm91bmQ6IGJhY2tncm91bmQgMjUwbXMgZWFzZS1pbiAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbG9yOiBjb2xvciAyNTBtcyBlYXNlLWluICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tb3BhY2l0eTogb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWxpbmtzOiBhbGwgMzUwbXMgZWFzZS1pbiAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWxpbmtzLWZhc3RlcjogYWxsIDI1MG1zIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZTogdHJhbnNmb3JtIDM1MG1zIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmxpcDogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4sIG9wYWNpdHkgMTUwbXMgZWFzZS1pbiAxMDBtcyAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWV4cGFuZDogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY292ZXItZmFkZTogb3BhY2l0eSAxNTBtcyBlYXNlLWluICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogb3BhY2l0eSAzMDBtcyBlYXNlLWluICFkZWZhdWx0O1xuIiwiXG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzLnNjc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY29udGFpbmVyLnNjc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXMuc2Nzc1wiO1xuQGltcG9ydCBcIm1peGlucy9saW5rcy5zY3NzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NwYWNpbmcuc2Nzc1wiO1xuQGltcG9ydCBcIm1peGlucy90eXBvZ3JhcGh5LnNjc3NcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9ucy5zY3NzXCI7XG5cbkBtaXhpbiBmYS1mcmVlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuQG1peGluIGZhLWJyYW5kcyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuLy8gQ2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vIEN1dCBvZmYgdGV4dCB3aXRoIGVsbGlwc2lzIHdoZW4gaXQgZ2V0cyB0b28gbG9uLi4uXG5AbWl4aW4gdHJ1bmNhdGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLy8gaW5jbHVkZSBjb21tb24gcHJvcGVydGllcyBvZiBhIHBzZXVkbyBlbGVtZW50XG5AbWl4aW4gcHNldWRvLWVsZW1lbnQge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIGFic29sdXRlIHRyYW5zZm9ybSBjZW50ZXIgYW4gZWxlbWVudFxuQG1peGluIGFic29sdXRlLWNlbnRlcigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuQG1peGluIHJlc2V0LWJ1dHRvbigpIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5AbWl4aW4gaGlkZVNjcm9sbGJhciB7XG4gIC8vIGh0dHBzOi8vYmxvZ3MubXNkbi5taWNyb3NvZnQuY29tL2t1cmxhay8yMDEzLzExLzAzL2hpZGluZy12ZXJ0aWNhbC1zY3JvbGxiYXJzLXdpdGgtcHVyZS1jc3MtaW4tY2hyb21lLWllLTYtZmlyZWZveC1vcGVyYS1hbmQtc2FmYXJpL1xuICAvLyBUaGVyZSBpcyBhIENTUyBydWxlIHRoYXQgY2FuIGhpZGUgc2Nyb2xsYmFycyBpbiBXZWJraXQtYmFzZWQgYnJvd3NlcnMgKENocm9tZSBhbmQgU2FmYXJpKS5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBUaGVyZSBpcyBhIENTUyBydWxlIHRoYXQgY2FuIGhpZGUgc2Nyb2xsYmFycyBpbiBJRSAxMCsuXG4gIC8vIFVzZSAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXIgaWYgeW91IHdpc2ggdG8gZGlzcGxheSBvbiBob3Zlci5cbiAgLy8gLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcblxuICAvLyBUaGVyZSB1c2VkIHRvIGJlIGEgQ1NTIHJ1bGUgdGhhdCBjb3VsZCBoaWRlIHNjcm9sbGJhcnMgaW4gRmlyZWZveCwgYnV0IGl0IGhhcyBzaW5jZSBiZWVuIGRlcHJlY2F0ZWQuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1uby11bmtub3duICovXG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/
>>>>>>> f59aa417a1ec0dd3a9240fc849e9a920be7f6ae9
