
/**
  This file contains only imports of Bootstrap, GitLab UI and GitLab mixins,
  variables and functions, in the correct order.

  It is meant to be used in page_bundles, but SHOULD NOT introduce any
  styles of it's own. We actually check in CI that compiling _this_ file doesn't
  result in any additional styles.

  See: scripts/frontend/check_page_bundle_mixins_css_for_sideeffects.js
 */
/*
* SASS preserves units in arithmetic operations. For example:
* 12em * 0 = 0em. This function return the unit of a numeric value.
*
* For more examples, see: https://codepen.io/paulgv/pen/XWrqMgQ
*/
/* stylelint-disable @gitlab/no-gl-deprecated-design-tokens */
/* stylelint-enable @gitlab/no-gl-deprecated-design-tokens */
/* stylelint-disable-next-line @gitlab/no-gl-deprecated-design-tokens */
/* stylelint-disable-next-line @gitlab/no-gl-deprecated-design-tokens */
/*
 * Layout
 */
/**
  🚨 Do not use this spacing scale — it is deprecated and being removed. 🚨
  See https://gitlab.com/gitlab-org/gitlab/issues/36857 for more details.

  Instead, if you need a spacing class, add it to app/assets/stylesheets/framework/common.scss,
  using the following values.

    $gl-spacing-scale-0: 0;
    $gl-spacing-scale-1: 2px;
    $gl-spacing-scale-2: 4px;
    $gl-spacing-scale-3: 8px;
    $gl-spacing-scale-4: 12px;
    $gl-spacing-scale-5: 16px;
    $gl-spacing-scale-6: 24px;
    $gl-spacing-scale-7: 32px;
    $gl-spacing-scale-8: 40px;
    $gl-spacing-scale-9: 48px;
    $gl-spacing-scale-10: 56px;
    $gl-spacing-scale-11: 64px;
    $gl-spacing-scale-12: 80px;
    $gl-spacing-scale-13: 96px;

  E.g., a padding top of 96px can be added using:
  .gl-shim-pt-13 {
    padding-top: 96px;
  }

  Please use -shim- so it can be differentiated from the old scale classes.

  These will be replaced when the Gitlab UI utilities are included.
**/
/* Will be moved to @gitlab/ui by https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/issues/2792 */
/* End gitlab-ui#1709 */
/*
 * Text
 */
/*
 * Lists
 */
/*
 * Code
 */
/*
 * Tooltips
 */
/*
 * Padding
 */
/*
 * Misc
 */
/*
 * Merge requests
 */
/*
 * Calculated heights
 */
/* tanuki logo colors */
/*
 * State colors:
 */
/*
 * Commit Diff Colors
 */
/*
 * The transparent colors are used in Monaco editor. Using full opacity colors
 * would hide other layers (selected text, matching brackets).
 *
 * When the transparent colors get layered on white background, they create their
 * full opacity counterparts:
 *
 *  - white + $line-added-transparent = $line-added
 *  - white + $line-added-transparent + $line-added-dark-transparent = $line-added-dark
 *
 * More details: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41553
 */
/*
 * Fonts
 * The --default-mono-font and --default-regular-font variables give users
 * a way to override our font choices for them.
 */
/*
* Dropdowns
*/
/*
* Sidebar
*/
/*
* Buttons
*/
/*
* Badges
*/
/*
 *  Award emoji
 */
/*
 * Search Box
 */
/*
 *  Notes
 */
/*
* Boards
*/
/*
* Builds
*/
/*
* Commit Page
*/
/*
* Files
*/
/*
* Forms
*/
/*
* Label
*/
/*
* Animation
*/
/*
* Login
*/
/*
* Typography
*/
/*
Pipeline Graph
*/
/*
GitLab Plans
*/
/*
Performance Bar
*/
/*
Image Commenting cursor
*/
/*
Popup
*/
/*
Drawers
*/
/*
Modals
*/
/*
Popovers
*/
/*
Merge requests
*/
/*
Board Swimlanes
*/
/*
Source Editor theme overrides
*/
/**
 Bootstrap 4.2.0 introduced new icons for validating forms.
 Our design system does not use those, so we are disabling them for now:
 - Docs: https://getbootstrap.com/docs/4.3/components/forms/#server-side
 - Issue: https://gitlab.com/gitlab-org/design.gitlab.com/issues/242
 */
/*
 * This file is only for overriding Bootstrap 4 variables.
 * Please add any new variables to variables.scss
 */
/*
* SASS preserves units in arithmetic operations. For example:
* 12em * 0 = 0em. This function return the unit of a numeric value.
*
* For more examples, see: https://codepen.io/paulgv/pen/XWrqMgQ
*/
/* stylelint-disable @gitlab/no-gl-deprecated-design-tokens */
/* stylelint-enable @gitlab/no-gl-deprecated-design-tokens */
/* stylelint-disable-next-line @gitlab/no-gl-deprecated-design-tokens */
/* stylelint-disable-next-line @gitlab/no-gl-deprecated-design-tokens */
/**
 * Prefilled mixins
 * Mixins with fixed values
 */
/*
 * Base mixin for lists in GitLab
 */
/*
 * Mixin for status badges, as used for pipelines and commit signatures
 */
/*
 * Mixin that fixes wrapping issues with long strings (e.g. URLs)
 *
 * Note: the width needs to be set for it to work in Firefox
 */
/*
* Mixin that handles the container for the job logs (CI/CD and kubernetes pod logs)
*/
/*
* Mixin that handles the position of the controls placed on the top bar
*/
/*
* Mixin that handles the size and right margin of avatars.
*/
/**
* Style to apply to, for example, search results matches or text wrapped
* around <mark> (allowed in Markdown).
*/
/**
* Line connecting activity entries, used in issuables, work items etc
*/
/**
 * Deprecated mixin for dark mode
 */
/**
* CI/CD Job item failed status background
*
* Sets background color of items to visually
* highlight failed jobs in the UI.
*/
/*
* SASS preserves units in arithmetic operations. For example:
* 12em * 0 = 0em. This function return the unit of a numeric value.
*
* For more examples, see: https://codepen.io/paulgv/pen/XWrqMgQ
*/
/*
* SASS preserves units in arithmetic operations. For example:
* 12em * 0 = 0em. This function return the unit of a numeric value.
*
* For more examples, see: https://codepen.io/paulgv/pen/XWrqMgQ
*/
/* stylelint-disable @gitlab/no-gl-deprecated-design-tokens */
/* stylelint-enable @gitlab/no-gl-deprecated-design-tokens */
/* stylelint-disable-next-line @gitlab/no-gl-deprecated-design-tokens */
/* stylelint-disable-next-line @gitlab/no-gl-deprecated-design-tokens */
/**
* Declares a property with a fluid value that decreases or
* rises depending on the viewport’s size. The property type
* should be numeric.
*
* Values are expected in rem units.
* Fluid range: between 48rem (768px) – 75rem (1200px).
*
* @param $property Property name, i.e. line-height, font-size, width, height, etc.
* @param $min Property value lower bound.
* @param $max Property value upper bound.
*/
/**
* Helper function for :focus
*
* @param $size is deprecated and should not be used anymore
*/
/**
* Helper function for @media of at least the minimum
* breakpoint width.
*
* @param $name Breakpoint name, such as `sm` or `md`.
*/
/**
* Helper function for @media of at most the maximum
* breakpoint width.
*
* Note: Before using, consider using a mobile-first
* approach, and define @media for larger breakpoints
* using `gl-media-breakpoint-up` while using this rule as
* the starting point instead.
*
* @param $name Breakpoint, such as `sm` or `md`. `xs` is not valid
*/
/**
* Helper function to resolve font-size value from $gl-font-sizes and
* $gl-font-sizes-fixed maps.
*
* @param $size Number font-size scale
* @param $fixed Boolean toggle default and fixed font size scales
*/

.design-detail-layout .panel-content{
  position: fixed;
  inset: var(--gl-spacing-scale-0);
  z-index: var(--gl-zindex-1);
  max-width: none;
  height: 100vh;
}

.layout-page.design-detail-layout {
  max-height: 100vh;
}
.layout-page.design-detail-layout .super-sidebar, .layout-page.design-detail-layout .panel-header-inner {
  z-index: 0;
}

.design-detail {
  top: calc(var(--system-header-height) + var(--performance-bar-height));
  bottom: var(--system-footer-height);
  z-index: 1030;
}
.design-detail .comment-indicator {
  border-radius: 50%;
}
.design-detail .comment-indicator:active,
.design-detail .frame .design-note-pin:active {
  cursor: grabbing;
}

.design-disclosure {
  min-width: 400px;
  flex-shrink: 4;
}
@container panel (width >= 992px) {
  :where(html.with-gl-container-queries) .design-disclosure {
    width: 400px !important;
    flex-shrink: 0;
  }
}
@media (width >= 992px) {
  :where(html:not(.with-gl-container-queries)) .design-disclosure {
    width: 400px !important;
    flex-shrink: 0;
  }
}

.design-disclosure-enter-to {
  transform: translateX(0);
}

.design-disclosure-enter,
.design-disclosure-leave-to {
  transform: translateX(100%);
}

.design-disclosure-enter-active,
.design-disclosure-leave-active {
  transition: all 0.2s ease;
}

.design-list-item {
  height: 160px;
  text-decoration: none;
}

.design-note-pin {
  display: flex;
  height: 24px;
  width: 24px;
  box-sizing: content-box;
  color: var(--gl-color-neutral-0);
  background-color: var(--gl-status-brand-icon-color);
  font-weight: 600;
  border-radius: 50%;
  z-index: 1;
  padding: 0;
  border: 0;
}
.design-note-pin.draft {
  background-color: var(--gl-status-warning-icon-color);
}
.design-note-pin.resolved{
  background-color: var(--gl-background-color-strong);
  color: var(--gl-text-color-strong);
}
.design-note-pin.on-image {
  box-shadow: 0 2px 4px var(--gl-color-alpha-dark-8), 0 0 1px var(--gl-color-alpha-dark-24);
  border-width: 2px;
  border-style: solid;
  border-color: var(--gl-color-neutral-0);
  will-change: transform, box-shadow, opacity;
  transition: transform 100ms linear, box-shadow 100ms linear, opacity 100ms linear;
  transform-origin: 0 0;
  transform: translate(-50%, -50%);
}
.design-note-pin.on-image:hover {
  transform: scale(1.2) translate(-50%, -50%);
}
.design-note-pin.on-image:active {
  box-shadow: 0 0 4px var(--gl-shadow-color-default), 0 4px 12px var(--gl-shadow-color-default);
}
.design-note-pin.on-image.inactive {
  opacity: 0.5;
}
.design-note-pin.on-image.inactive:hover {
  opacity: 1;
}
.design-note-pin.small {
  position: absolute;
  border-width: 1px;
  border-style: solid;
  border-color: var(--gl-color-neutral-0);
  height: 24px;
  width: 24px;
}
.design-note-pin.user-avatar {
  top: 25px;
  right: 8px;
}

.design-scaler-wrapper {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.image-notes {
  overflow-y: auto;
  padding: 16px;
  padding-top: 50px;
  background-color: var(--gl-background-color-default);
}
.image-notes .link-inherit-color, .image-notes .link-inherit-color:hover, .image-notes .link-inherit-color:active, .image-notes .link-inherit-color:focus-visible {
  color: inherit;
}
.image-notes .toggle-comments {
  line-height: 20px;
}
.image-notes .toggle-comments[aria-expanded=true] {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.image-notes .toggle-comments .toggle-comments-button:focus-visible {
  text-decoration: none;
  color: var(--blue-600, #2566b5);
}
.image-notes .toggle-comments ~ .design-note{
  background-color: var(--gl-background-color-subtle);
}
.image-notes .design-discussion {
  margin: 16px 0;
}
.image-notes .design-discussion::before {
  content: "";
  border-left-style: solid;
  border-left-color: var(--gl-border-color-default);
  border-left-width: 1px;
  position: absolute;
  left: 11px;
  top: -17px;
  height: 17px;
}
.image-notes .design-discussion .design-note:first-child{
  background-color: var(--gl-background-color-section);
  border-bottom-style: solid;
  border-bottom-color: var(--gl-border-color-default);
  border-bottom-width: 1px;
  border-bottom-color: var(--gl-border-color-section);
  border-top-left-radius: .25rem;
  border-top-right-radius: .25rem;
}
.image-notes .design-discussion .design-note:not(:first-child){
  background-color: var(--gl-background-color-subtle);
}
.image-notes .design-discussion.active-discussion .design-note:first-child {
  background-color: var(--timeline-entry-target-background-color) !important;
}
.image-notes .design-discussion .design-note {
  padding: 8px;
  list-style: none;
  transition-property: background;
  transition-timing-function: ease;
  transition-duration: 200ms;
}
.image-notes .design-discussion .design-note video {
  width: 100%;
}
.image-notes .design-discussion .reply-wrapper, .image-notes .design-discussion .disabled-comment {
  padding: 8px;
  background-color: var(--gl-background-color-subtle);
  border-width: 0px;
  border-bottom-right-radius: .25rem;
  border-bottom-left-radius: .25rem;
}
.image-notes .new-discussion-disclaimer {
  line-height: 20px;
}

@container panel (width < 992px) {
  :where(html.with-gl-container-queries) .design-detail {
    overflow-y: scroll;
  }
  :where(html.with-gl-container-queries) .image-notes {
    overflow-y: auto;
    min-width: 100%;
    flex-grow: 1;
    flex-basis: auto;
  }
}
@media (width < 992px) {
  :where(html:not(.with-gl-container-queries)) .design-detail {
    overflow-y: scroll;
  }
  :where(html:not(.with-gl-container-queries)) .image-notes {
    overflow-y: auto;
    min-width: 100%;
    flex-grow: 1;
    flex-basis: auto;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9hc3NldHMvc3R5bGVzaGVldHMvcGFnZV9idW5kbGVzL2Rlc2lnbl9tYW5hZ2VtZW50LnNjc3MiLCJmaWxlOi8vL2dpdGxhYi1nZGsvZ2l0bGFiLWRldmVsb3BtZW50LWtpdC9naXRsYWIvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9wYWdlX2J1bmRsZXMvX21peGluc19hbmRfdmFyaWFibGVzX2FuZF9mdW5jdGlvbnMuc2NzcyIsImZpbGU6Ly8vZ2l0bGFiLWdkay9naXRsYWItZGV2ZWxvcG1lbnQta2l0L2dpdGxhYi9ub2RlX21vZHVsZXMvQGdpdGxhYi91aS9zcmMvc2Nzcy9mdW5jdGlvbnMuc2NzcyIsImZpbGU6Ly8vZ2l0bGFiLWdkay9naXRsYWItZGV2ZWxvcG1lbnQta2l0L2dpdGxhYi9ub2RlX21vZHVsZXMvQGdpdGxhYi91aS9zcmMvc2Nzcy92YXJpYWJsZXMuc2NzcyIsImZpbGU6Ly8vZ2l0bGFiLWdkay9naXRsYWItZGV2ZWxvcG1lbnQta2l0L2dpdGxhYi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2ZyYW1ld29yay92YXJpYWJsZXMuc2NzcyIsImZpbGU6Ly8vZ2l0bGFiLWdkay9naXRsYWItZGV2ZWxvcG1lbnQta2l0L2dpdGxhYi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2ZyYW1ld29yay92YXJpYWJsZXNfb3ZlcnJpZGVzLnNjc3MiLCJmaWxlOi8vL2dpdGxhYi1nZGsvZ2l0bGFiLWRldmVsb3BtZW50LWtpdC9naXRsYWIvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mcmFtZXdvcmsvbWl4aW5zLnNjc3MiLCJmaWxlOi8vL2dpdGxhYi1nZGsvZ2l0bGFiLWRldmVsb3BtZW50LWtpdC9naXRsYWIvbm9kZV9tb2R1bGVzL0BnaXRsYWIvdWkvc3JjL3Njc3MvbWl4aW5zLnNjc3MiLCJmaWxlOi8vL2dpdGxhYi1nZGsvZ2l0bGFiLWRldmVsb3BtZW50LWtpdC9naXRsYWIvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9wYWdlX2J1bmRsZXMvZGVzaWduX21hbmFnZW1lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7Ozs7OztFQUFBO0FDR0E7Ozs7O0NBQUE7QUN3QkEsNkRBQUE7QUFRQSw0REFBQTtBQXlPQSx1RUFBQTtBQUdBLHVFQUFBO0FDNVFBOztFQUFBO0FBcUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQTtBQXdDQSxpSEFBQTtBQUdBLHVCQUFBO0FBTUE7O0VBQUE7QUFlQTs7RUFBQTtBQUtBOztFQUFBO0FBT0E7O0VBQUE7QUFLQTs7RUFBQTtBQWlCQTs7RUFBQTtBQXVDQTs7RUFBQTtBQVVBOztFQUFBO0FBU0EsdUJBQUE7QUFLQTs7RUFBQTtBQU1BOztFQUFBO0FBUUE7Ozs7Ozs7Ozs7O0VBQUE7QUF1QkE7Ozs7RUFBQTtBQWFBOztDQUFBO0FBYUE7O0NBQUE7QUFPQTs7Q0FBQTtBQVlBOztDQUFBO0FBS0E7O0VBQUE7QUFRQTs7RUFBQTtBQU1BOztFQUFBO0FBTUE7O0NBQUE7QUFLQTs7Q0FBQTtBQU1BOztDQUFBO0FBTUE7O0NBQUE7QUFNQTs7Q0FBQTtBQVlBOztDQUFBO0FBT0E7O0NBQUE7QUFPQTs7Q0FBQTtBQUtBOztDQUFBO0FBS0E7O0NBQUE7QUFNQTs7Q0FBQTtBQU9BOztDQUFBO0FBUUE7O0NBQUE7QUFNQTs7Q0FBQTtBQU9BOztDQUFBO0FBS0E7O0NBQUE7QUFPQTs7Q0FBQTtBQU1BOztDQUFBO0FBS0E7O0NBQUE7QUFLQTs7Q0FBQTtBQU1BOzs7OztFQUFBO0FDbmJBOzs7RUFBQTtBSEdBOzs7OztDQUFBO0FDd0JBLDZEQUFBO0FBUUEsNERBQUE7QUF5T0EsdUVBQUE7QUFHQSx1RUFBQTtBRzNRQTs7O0VBQUE7QUFjQTs7RUFBQTtBQTJEQTs7RUFBQTtBQXVGQTs7OztFQUFBO0FBWUE7O0NBQUE7QUFxQ0E7O0NBQUE7QUFpR0E7O0NBQUE7QUErRUE7OztDQUFBO0FBYUE7O0NBQUE7QUFZQTs7RUFBQTtBQVNBOzs7OztDQUFBO0FKcGFBOzs7OztDQUFBO0FBQUE7Ozs7O0NBQUE7QUN3QkEsNkRBQUE7QUFRQSw0REFBQTtBQXlPQSx1RUFBQTtBQUdBLHVFQUFBO0FJblBBOzs7Ozs7Ozs7OztDQUFBO0FBZ0JBOzs7O0NBQUE7QUE2REE7Ozs7O0NBQUE7QUFvQkE7Ozs7Ozs7Ozs7Q0FBQTtBQStGQTs7Ozs7O0NBQUE7QUNyTkU7RUFBQSxlQUFBO0VBQ0EsZ0NBQUE7RUFDQSwyQkFBQTtFQUNBLGVBQUE7RUFDQTtBQUpBOztBQU9GO0VBQ0UsaUJBQUE7QVIwU0Y7QVF4U0U7RUFDRSxVQUFBO0FSMFNKOztBUXRTQTtFQUNFLHNFSnVLMkI7RUl0SzNCLG1DSnlLK0I7RUl4Sy9CLGFBQUE7QVJ5U0Y7QVF2U0U7RUFDRSxrQkFBQTtBUnlTSjtBUXBTSTs7RUFDRSxnQkFBQTtBUnVTTjs7QVFsU0E7RUFDRSxnQkFBQTtFQUNBLGNBQUE7QVJxU0Y7QU8vS0k7RUFFSTtJQ3JISix1QkFBQTtJQUNBLGNBQUE7RVJzU0Y7QUFDRjtBT3pLTTtFQUVJO0lDaklOLHVCQUFBO0lBQ0EsY0FBQTtFUjRTRjtBQUNGOztBUXZTQTtFQUNFLHdCQUFBO0FSMFNGOztBUXZTQTs7RUFFRSwyQkFBQTtBUjBTRjs7QVF2U0E7O0VBRUUseUJBQUE7QVIwU0Y7O0FRdlNBO0VBQ0UsYUFBQTtFQUNBLHFCQUFBO0FSMFNGOztBUXZTQTtFQUNFLGFBQUE7RUFDQSxZQXJFdUI7RUFzRXZCLFdBdEV1QjtFQXVFdkIsdUJBQUE7RUFDQSxnQ0FBQTtFQUNBLG1EQUFBO0VBQ0EsZ0JMakNvQjtFS2tDcEIsa0JBQUE7RUFDQSxVQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7QVIwU0Y7QVF4U0U7RUFDRSxxREFBQTtBUjBTSjtBUXRTSTtFQUFBLG1EQUFBO0VBQ0E7QUFEQTtBQUlGO0VBQ0UseUZBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsdUNBQUE7RUFDQSwyQ0FBQTtFQUVBLGlGQUFBO0VBQ0EscUJBQUE7RUFDQSxnQ0FBQTtBUnVTSjtBUXJTSTtFQUNFLDJDQUFBO0FSdVNOO0FRcFNJO0VBQ0UsNkZBQUE7QVJzU047QVFuU0k7RUFDRSxZQUFBO0FScVNOO0FRblNNO0VBQ0UsVUFBQTtBUnFTUjtBUWhTRTtFQUNFLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtFQUNBLHVDQUFBO0VBQ0EsWUExSHFCO0VBMkhyQixXQTNIcUI7QVI2WnpCO0FRL1JFO0VBQ0UsU0FBQTtFQUNBLFVBQUE7QVJpU0o7O0FRN1JBO0VBQ0UsU0FBQTtFQUNBLFNBQUE7RUFDQSwyQkFBQTtBUmdTRjs7QVE3UkE7RUFDRSxnQkFBQTtFQUNBLGFKZlc7RUlnQlgsaUJBQUE7RUFDQSxvREFBQTtBUmdTRjtBUTdSSTtFQUlFLGNBQUE7QVI0Uk47QVF4UkU7RUFDRSxpQkFBQTtBUjBSSjtBUXhSSTtFQUNFLDRCQUFBO0VBQ0EsNkJBQUE7QVIwUk47QVF2Ukk7RUFDRSxxQkFBQTtFQUNBLCtCQUFBO0FSeVJOO0FRcFJJO0VBQUE7QUFBQTtBQUdGO0VBQ0UsY0FBQTtBUnNSSjtBUXBSSTtFQUNFLFdBQUE7RUFDQSx3QkFBQTtFQUFBLGlEQUFBO0VBQUEsc0JBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtBUnNSTjtBUWxSTTtFQUFBLG9EQUFBO0VBQ0EsMEJBQUE7RUFBQSxtREFBQTtFQUFBLHdCQUFBO0VBQ0EsbURBQUE7RUFDQSw4QkFBQTtFQUFBO0FBSEE7QUFPQTtFQUFBO0FBQUE7QUFJQTtFQUNFLDBFQUFBO0FSa1JSO0FROVFJO0VBQ0UsWUo5RVM7RUkrRVQsZ0JBQUE7RUFDQSwrQkFBQTtFQUFBLGdDQUFBO0VBQUEsMEJBQUE7QVJnUk47QVE5UU07RUFDRSxXQUFBO0FSZ1JSO0FRNVFJO0VBQ0UsWUp4RlM7RUl5RlQsbURBQUE7RUFDQSxpQkFBQTtFQUNBLGtDQUFBO0VBQUEsaUNBQUE7QVI4UU47QVExUUU7RUFDRSxpQkFBQTtBUjRRSjs7QU94U0U7RUNpQ0E7SUFDRSxrQkFBQTtFUjJRRjtFUXhRQTtJQUNFLGdCQUFBO0lBQ0EsZUFBQTtJQUNBLFlBQUE7SUFDQSxnQkFBQTtFUjBRRjtBQUNGO0FPeFNJO0VDcUJGO0lBQ0Usa0JBQUE7RVJzUkY7RVFuUkE7SUFDRSxnQkFBQTtJQUNBLGVBQUE7SUFDQSxZQUFBO0lBQ0EsZ0JBQUE7RVJxUkY7QUFDRiIsImZpbGUiOiJhcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3BhZ2VfYnVuZGxlcy9kZXNpZ25fbWFuYWdlbWVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gIFRoaXMgZmlsZSBjb250YWlucyBvbmx5IGltcG9ydHMgb2YgQm9vdHN0cmFwLCBHaXRMYWIgVUkgYW5kIEdpdExhYiBtaXhpbnMsXG4gIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLCBpbiB0aGUgY29ycmVjdCBvcmRlci5cblxuICBJdCBpcyBtZWFudCB0byBiZSB1c2VkIGluIHBhZ2VfYnVuZGxlcywgYnV0IFNIT1VMRCBOT1QgaW50cm9kdWNlIGFueVxuICBzdHlsZXMgb2YgaXQncyBvd24uIFdlIGFjdHVhbGx5IGNoZWNrIGluIENJIHRoYXQgY29tcGlsaW5nIF90aGlzXyBmaWxlIGRvZXNuJ3RcbiAgcmVzdWx0IGluIGFueSBhZGRpdGlvbmFsIHN0eWxlcy5cblxuICBTZWU6IHNjcmlwdHMvZnJvbnRlbmQvY2hlY2tfcGFnZV9idW5kbGVfbWl4aW5zX2Nzc19mb3Jfc2lkZWVmZmVjdHMuanNcbiAqL1xuLypcbiogU0FTUyBwcmVzZXJ2ZXMgdW5pdHMgaW4gYXJpdGhtZXRpYyBvcGVyYXRpb25zLiBGb3IgZXhhbXBsZTpcbiogMTJlbSAqIDAgPSAwZW0uIFRoaXMgZnVuY3Rpb24gcmV0dXJuIHRoZSB1bml0IG9mIGEgbnVtZXJpYyB2YWx1ZS5cbipcbiogRm9yIG1vcmUgZXhhbXBsZXMsIHNlZTogaHR0cHM6Ly9jb2RlcGVuLmlvL3BhdWxndi9wZW4vWFdycU1nUVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIEBnaXRsYWIvbm8tZ2wtZGVwcmVjYXRlZC1kZXNpZ24tdG9rZW5zICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlIEBnaXRsYWIvbm8tZ2wtZGVwcmVjYXRlZC1kZXNpZ24tdG9rZW5zICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGdpdGxhYi9uby1nbC1kZXByZWNhdGVkLWRlc2lnbi10b2tlbnMgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBAZ2l0bGFiL25vLWdsLWRlcHJlY2F0ZWQtZGVzaWduLXRva2VucyAqL1xuLypcbiAqIExheW91dFxuICovXG4vKipcbiAg8J+aqCBEbyBub3QgdXNlIHRoaXMgc3BhY2luZyBzY2FsZSDigJQgaXQgaXMgZGVwcmVjYXRlZCBhbmQgYmVpbmcgcmVtb3ZlZC4g8J+aqFxuICBTZWUgaHR0cHM6Ly9naXRsYWIuY29tL2dpdGxhYi1vcmcvZ2l0bGFiL2lzc3Vlcy8zNjg1NyBmb3IgbW9yZSBkZXRhaWxzLlxuXG4gIEluc3RlYWQsIGlmIHlvdSBuZWVkIGEgc3BhY2luZyBjbGFzcywgYWRkIGl0IHRvIGFwcC9hc3NldHMvc3R5bGVzaGVldHMvZnJhbWV3b3JrL2NvbW1vbi5zY3NzLFxuICB1c2luZyB0aGUgZm9sbG93aW5nIHZhbHVlcy5cblxuICAgICRnbC1zcGFjaW5nLXNjYWxlLTA6IDA7XG4gICAgJGdsLXNwYWNpbmctc2NhbGUtMTogMnB4O1xuICAgICRnbC1zcGFjaW5nLXNjYWxlLTI6IDRweDtcbiAgICAkZ2wtc3BhY2luZy1zY2FsZS0zOiA4cHg7XG4gICAgJGdsLXNwYWNpbmctc2NhbGUtNDogMTJweDtcbiAgICAkZ2wtc3BhY2luZy1zY2FsZS01OiAxNnB4O1xuICAgICRnbC1zcGFjaW5nLXNjYWxlLTY6IDI0cHg7XG4gICAgJGdsLXNwYWNpbmctc2NhbGUtNzogMzJweDtcbiAgICAkZ2wtc3BhY2luZy1zY2FsZS04OiA0MHB4O1xuICAgICRnbC1zcGFjaW5nLXNjYWxlLTk6IDQ4cHg7XG4gICAgJGdsLXNwYWNpbmctc2NhbGUtMTA6IDU2cHg7XG4gICAgJGdsLXNwYWNpbmctc2NhbGUtMTE6IDY0cHg7XG4gICAgJGdsLXNwYWNpbmctc2NhbGUtMTI6IDgwcHg7XG4gICAgJGdsLXNwYWNpbmctc2NhbGUtMTM6IDk2cHg7XG5cbiAgRS5nLiwgYSBwYWRkaW5nIHRvcCBvZiA5NnB4IGNhbiBiZSBhZGRlZCB1c2luZzpcbiAgLmdsLXNoaW0tcHQtMTMge1xuICAgIHBhZGRpbmctdG9wOiA5NnB4O1xuICB9XG5cbiAgUGxlYXNlIHVzZSAtc2hpbS0gc28gaXQgY2FuIGJlIGRpZmZlcmVudGlhdGVkIGZyb20gdGhlIG9sZCBzY2FsZSBjbGFzc2VzLlxuXG4gIFRoZXNlIHdpbGwgYmUgcmVwbGFjZWQgd2hlbiB0aGUgR2l0bGFiIFVJIHV0aWxpdGllcyBhcmUgaW5jbHVkZWQuXG4qKi9cbi8qIFdpbGwgYmUgbW92ZWQgdG8gQGdpdGxhYi91aSBieSBodHRwczovL2dpdGxhYi5jb20vZ2l0bGFiLW9yZy9naXRsYWItc2VydmljZXMvZGVzaWduLmdpdGxhYi5jb20vLS9pc3N1ZXMvMjc5MiAqL1xuLyogRW5kIGdpdGxhYi11aSMxNzA5ICovXG4vKlxuICogVGV4dFxuICovXG4vKlxuICogTGlzdHNcbiAqL1xuLypcbiAqIENvZGVcbiAqL1xuLypcbiAqIFRvb2x0aXBzXG4gKi9cbi8qXG4gKiBQYWRkaW5nXG4gKi9cbi8qXG4gKiBNaXNjXG4gKi9cbi8qXG4gKiBNZXJnZSByZXF1ZXN0c1xuICovXG4vKlxuICogQ2FsY3VsYXRlZCBoZWlnaHRzXG4gKi9cbi8qIHRhbnVraSBsb2dvIGNvbG9ycyAqL1xuLypcbiAqIFN0YXRlIGNvbG9yczpcbiAqL1xuLypcbiAqIENvbW1pdCBEaWZmIENvbG9yc1xuICovXG4vKlxuICogVGhlIHRyYW5zcGFyZW50IGNvbG9ycyBhcmUgdXNlZCBpbiBNb25hY28gZWRpdG9yLiBVc2luZyBmdWxsIG9wYWNpdHkgY29sb3JzXG4gKiB3b3VsZCBoaWRlIG90aGVyIGxheWVycyAoc2VsZWN0ZWQgdGV4dCwgbWF0Y2hpbmcgYnJhY2tldHMpLlxuICpcbiAqIFdoZW4gdGhlIHRyYW5zcGFyZW50IGNvbG9ycyBnZXQgbGF5ZXJlZCBvbiB3aGl0ZSBiYWNrZ3JvdW5kLCB0aGV5IGNyZWF0ZSB0aGVpclxuICogZnVsbCBvcGFjaXR5IGNvdW50ZXJwYXJ0czpcbiAqXG4gKiAgLSB3aGl0ZSArICRsaW5lLWFkZGVkLXRyYW5zcGFyZW50ID0gJGxpbmUtYWRkZWRcbiAqICAtIHdoaXRlICsgJGxpbmUtYWRkZWQtdHJhbnNwYXJlbnQgKyAkbGluZS1hZGRlZC1kYXJrLXRyYW5zcGFyZW50ID0gJGxpbmUtYWRkZWQtZGFya1xuICpcbiAqIE1vcmUgZGV0YWlsczogaHR0cHM6Ly9naXRsYWIuY29tL2dpdGxhYi1vcmcvZ2l0bGFiLy0vbWVyZ2VfcmVxdWVzdHMvNDE1NTNcbiAqL1xuLypcbiAqIEZvbnRzXG4gKiBUaGUgLS1kZWZhdWx0LW1vbm8tZm9udCBhbmQgLS1kZWZhdWx0LXJlZ3VsYXItZm9udCB2YXJpYWJsZXMgZ2l2ZSB1c2Vyc1xuICogYSB3YXkgdG8gb3ZlcnJpZGUgb3VyIGZvbnQgY2hvaWNlcyBmb3IgdGhlbS5cbiAqL1xuLypcbiogRHJvcGRvd25zXG4qL1xuLypcbiogU2lkZWJhclxuKi9cbi8qXG4qIEJ1dHRvbnNcbiovXG4vKlxuKiBCYWRnZXNcbiovXG4vKlxuICogIEF3YXJkIGVtb2ppXG4gKi9cbi8qXG4gKiBTZWFyY2ggQm94XG4gKi9cbi8qXG4gKiAgTm90ZXNcbiAqL1xuLypcbiogQm9hcmRzXG4qL1xuLypcbiogQnVpbGRzXG4qL1xuLypcbiogQ29tbWl0IFBhZ2VcbiovXG4vKlxuKiBGaWxlc1xuKi9cbi8qXG4qIEZvcm1zXG4qL1xuLypcbiogTGFiZWxcbiovXG4vKlxuKiBBbmltYXRpb25cbiovXG4vKlxuKiBMb2dpblxuKi9cbi8qXG4qIFR5cG9ncmFwaHlcbiovXG4vKlxuUGlwZWxpbmUgR3JhcGhcbiovXG4vKlxuR2l0TGFiIFBsYW5zXG4qL1xuLypcblBlcmZvcm1hbmNlIEJhclxuKi9cbi8qXG5JbWFnZSBDb21tZW50aW5nIGN1cnNvclxuKi9cbi8qXG5Qb3B1cFxuKi9cbi8qXG5EcmF3ZXJzXG4qL1xuLypcbk1vZGFsc1xuKi9cbi8qXG5Qb3BvdmVyc1xuKi9cbi8qXG5NZXJnZSByZXF1ZXN0c1xuKi9cbi8qXG5Cb2FyZCBTd2ltbGFuZXNcbiovXG4vKlxuU291cmNlIEVkaXRvciB0aGVtZSBvdmVycmlkZXNcbiovXG4vKipcbiBCb290c3RyYXAgNC4yLjAgaW50cm9kdWNlZCBuZXcgaWNvbnMgZm9yIHZhbGlkYXRpbmcgZm9ybXMuXG4gT3VyIGRlc2lnbiBzeXN0ZW0gZG9lcyBub3QgdXNlIHRob3NlLCBzbyB3ZSBhcmUgZGlzYWJsaW5nIHRoZW0gZm9yIG5vdzpcbiAtIERvY3M6IGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS9kb2NzLzQuMy9jb21wb25lbnRzL2Zvcm1zLyNzZXJ2ZXItc2lkZVxuIC0gSXNzdWU6IGh0dHBzOi8vZ2l0bGFiLmNvbS9naXRsYWItb3JnL2Rlc2lnbi5naXRsYWIuY29tL2lzc3Vlcy8yNDJcbiAqL1xuLypcbiAqIFRoaXMgZmlsZSBpcyBvbmx5IGZvciBvdmVycmlkaW5nIEJvb3RzdHJhcCA0IHZhcmlhYmxlcy5cbiAqIFBsZWFzZSBhZGQgYW55IG5ldyB2YXJpYWJsZXMgdG8gdmFyaWFibGVzLnNjc3NcbiAqL1xuLypcbiogU0FTUyBwcmVzZXJ2ZXMgdW5pdHMgaW4gYXJpdGhtZXRpYyBvcGVyYXRpb25zLiBGb3IgZXhhbXBsZTpcbiogMTJlbSAqIDAgPSAwZW0uIFRoaXMgZnVuY3Rpb24gcmV0dXJuIHRoZSB1bml0IG9mIGEgbnVtZXJpYyB2YWx1ZS5cbipcbiogRm9yIG1vcmUgZXhhbXBsZXMsIHNlZTogaHR0cHM6Ly9jb2RlcGVuLmlvL3BhdWxndi9wZW4vWFdycU1nUVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIEBnaXRsYWIvbm8tZ2wtZGVwcmVjYXRlZC1kZXNpZ24tdG9rZW5zICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlIEBnaXRsYWIvbm8tZ2wtZGVwcmVjYXRlZC1kZXNpZ24tdG9rZW5zICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGdpdGxhYi9uby1nbC1kZXByZWNhdGVkLWRlc2lnbi10b2tlbnMgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBAZ2l0bGFiL25vLWdsLWRlcHJlY2F0ZWQtZGVzaWduLXRva2VucyAqL1xuLyoqXG4gKiBQcmVmaWxsZWQgbWl4aW5zXG4gKiBNaXhpbnMgd2l0aCBmaXhlZCB2YWx1ZXNcbiAqL1xuLypcbiAqIEJhc2UgbWl4aW4gZm9yIGxpc3RzIGluIEdpdExhYlxuICovXG4vKlxuICogTWl4aW4gZm9yIHN0YXR1cyBiYWRnZXMsIGFzIHVzZWQgZm9yIHBpcGVsaW5lcyBhbmQgY29tbWl0IHNpZ25hdHVyZXNcbiAqL1xuLypcbiAqIE1peGluIHRoYXQgZml4ZXMgd3JhcHBpbmcgaXNzdWVzIHdpdGggbG9uZyBzdHJpbmdzIChlLmcuIFVSTHMpXG4gKlxuICogTm90ZTogdGhlIHdpZHRoIG5lZWRzIHRvIGJlIHNldCBmb3IgaXQgdG8gd29yayBpbiBGaXJlZm94XG4gKi9cbi8qXG4qIE1peGluIHRoYXQgaGFuZGxlcyB0aGUgY29udGFpbmVyIGZvciB0aGUgam9iIGxvZ3MgKENJL0NEIGFuZCBrdWJlcm5ldGVzIHBvZCBsb2dzKVxuKi9cbi8qXG4qIE1peGluIHRoYXQgaGFuZGxlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbnRyb2xzIHBsYWNlZCBvbiB0aGUgdG9wIGJhclxuKi9cbi8qXG4qIE1peGluIHRoYXQgaGFuZGxlcyB0aGUgc2l6ZSBhbmQgcmlnaHQgbWFyZ2luIG9mIGF2YXRhcnMuXG4qL1xuLyoqXG4qIFN0eWxlIHRvIGFwcGx5IHRvLCBmb3IgZXhhbXBsZSwgc2VhcmNoIHJlc3VsdHMgbWF0Y2hlcyBvciB0ZXh0IHdyYXBwZWRcbiogYXJvdW5kIDxtYXJrPiAoYWxsb3dlZCBpbiBNYXJrZG93bikuXG4qL1xuLyoqXG4qIExpbmUgY29ubmVjdGluZyBhY3Rpdml0eSBlbnRyaWVzLCB1c2VkIGluIGlzc3VhYmxlcywgd29yayBpdGVtcyBldGNcbiovXG4vKipcbiAqIERlcHJlY2F0ZWQgbWl4aW4gZm9yIGRhcmsgbW9kZVxuICovXG4vKipcbiogQ0kvQ0QgSm9iIGl0ZW0gZmFpbGVkIHN0YXR1cyBiYWNrZ3JvdW5kXG4qXG4qIFNldHMgYmFja2dyb3VuZCBjb2xvciBvZiBpdGVtcyB0byB2aXN1YWxseVxuKiBoaWdobGlnaHQgZmFpbGVkIGpvYnMgaW4gdGhlIFVJLlxuKi9cbi8qXG4qIFNBU1MgcHJlc2VydmVzIHVuaXRzIGluIGFyaXRobWV0aWMgb3BlcmF0aW9ucy4gRm9yIGV4YW1wbGU6XG4qIDEyZW0gKiAwID0gMGVtLiBUaGlzIGZ1bmN0aW9uIHJldHVybiB0aGUgdW5pdCBvZiBhIG51bWVyaWMgdmFsdWUuXG4qXG4qIEZvciBtb3JlIGV4YW1wbGVzLCBzZWU6IGh0dHBzOi8vY29kZXBlbi5pby9wYXVsZ3YvcGVuL1hXcnFNZ1FcbiovXG4vKlxuKiBTQVNTIHByZXNlcnZlcyB1bml0cyBpbiBhcml0aG1ldGljIG9wZXJhdGlvbnMuIEZvciBleGFtcGxlOlxuKiAxMmVtICogMCA9IDBlbS4gVGhpcyBmdW5jdGlvbiByZXR1cm4gdGhlIHVuaXQgb2YgYSBudW1lcmljIHZhbHVlLlxuKlxuKiBGb3IgbW9yZSBleGFtcGxlcywgc2VlOiBodHRwczovL2NvZGVwZW4uaW8vcGF1bGd2L3Blbi9YV3JxTWdRXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgQGdpdGxhYi9uby1nbC1kZXByZWNhdGVkLWRlc2lnbi10b2tlbnMgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgQGdpdGxhYi9uby1nbC1kZXByZWNhdGVkLWRlc2lnbi10b2tlbnMgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBAZ2l0bGFiL25vLWdsLWRlcHJlY2F0ZWQtZGVzaWduLXRva2VucyAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIEBnaXRsYWIvbm8tZ2wtZGVwcmVjYXRlZC1kZXNpZ24tdG9rZW5zICovXG4vKipcbiogRGVjbGFyZXMgYSBwcm9wZXJ0eSB3aXRoIGEgZmx1aWQgdmFsdWUgdGhhdCBkZWNyZWFzZXMgb3JcbiogcmlzZXMgZGVwZW5kaW5nIG9uIHRoZSB2aWV3cG9ydOKAmXMgc2l6ZS4gVGhlIHByb3BlcnR5IHR5cGVcbiogc2hvdWxkIGJlIG51bWVyaWMuXG4qXG4qIFZhbHVlcyBhcmUgZXhwZWN0ZWQgaW4gcmVtIHVuaXRzLlxuKiBGbHVpZCByYW5nZTogYmV0d2VlbiA0OHJlbSAoNzY4cHgpIOKAkyA3NXJlbSAoMTIwMHB4KS5cbipcbiogQHBhcmFtICRwcm9wZXJ0eSBQcm9wZXJ0eSBuYW1lLCBpLmUuIGxpbmUtaGVpZ2h0LCBmb250LXNpemUsIHdpZHRoLCBoZWlnaHQsIGV0Yy5cbiogQHBhcmFtICRtaW4gUHJvcGVydHkgdmFsdWUgbG93ZXIgYm91bmQuXG4qIEBwYXJhbSAkbWF4IFByb3BlcnR5IHZhbHVlIHVwcGVyIGJvdW5kLlxuKi9cbi8qKlxuKiBIZWxwZXIgZnVuY3Rpb24gZm9yIDpmb2N1c1xuKlxuKiBAcGFyYW0gJHNpemUgaXMgZGVwcmVjYXRlZCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIGFueW1vcmVcbiovXG4vKipcbiogSGVscGVyIGZ1bmN0aW9uIGZvciBAbWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW1cbiogYnJlYWtwb2ludCB3aWR0aC5cbipcbiogQHBhcmFtICRuYW1lIEJyZWFrcG9pbnQgbmFtZSwgc3VjaCBhcyBgc21gIG9yIGBtZGAuXG4qL1xuLyoqXG4qIEhlbHBlciBmdW5jdGlvbiBmb3IgQG1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW1cbiogYnJlYWtwb2ludCB3aWR0aC5cbipcbiogTm90ZTogQmVmb3JlIHVzaW5nLCBjb25zaWRlciB1c2luZyBhIG1vYmlsZS1maXJzdFxuKiBhcHByb2FjaCwgYW5kIGRlZmluZSBAbWVkaWEgZm9yIGxhcmdlciBicmVha3BvaW50c1xuKiB1c2luZyBgZ2wtbWVkaWEtYnJlYWtwb2ludC11cGAgd2hpbGUgdXNpbmcgdGhpcyBydWxlIGFzXG4qIHRoZSBzdGFydGluZyBwb2ludCBpbnN0ZWFkLlxuKlxuKiBAcGFyYW0gJG5hbWUgQnJlYWtwb2ludCwgc3VjaCBhcyBgc21gIG9yIGBtZGAuIGB4c2AgaXMgbm90IHZhbGlkXG4qL1xuLyoqXG4qIEhlbHBlciBmdW5jdGlvbiB0byByZXNvbHZlIGZvbnQtc2l6ZSB2YWx1ZSBmcm9tICRnbC1mb250LXNpemVzIGFuZFxuKiAkZ2wtZm9udC1zaXplcy1maXhlZCBtYXBzLlxuKlxuKiBAcGFyYW0gJHNpemUgTnVtYmVyIGZvbnQtc2l6ZSBzY2FsZVxuKiBAcGFyYW0gJGZpeGVkIEJvb2xlYW4gdG9nZ2xlIGRlZmF1bHQgYW5kIGZpeGVkIGZvbnQgc2l6ZSBzY2FsZXNcbiovXG4uZGVzaWduLWRldGFpbC1sYXlvdXQgLnBhbmVsLWNvbnRlbnQge1xuICBAYXBwbHkgZ2wtZml4ZWQ7XG4gIEBhcHBseSBnbC1pbnNldC0wO1xuICBAYXBwbHkgZ2wtei0xO1xuICBAYXBwbHkgZ2wtbWF4LXctbm9uZTtcbiAgQGFwcGx5IGdsLWgtc2NyZWVuO1xufVxuXG4ubGF5b3V0LXBhZ2UuZGVzaWduLWRldGFpbC1sYXlvdXQge1xuICBtYXgtaGVpZ2h0OiAxMDB2aDtcbn1cbi5sYXlvdXQtcGFnZS5kZXNpZ24tZGV0YWlsLWxheW91dCAuc3VwZXItc2lkZWJhciwgLmxheW91dC1wYWdlLmRlc2lnbi1kZXRhaWwtbGF5b3V0IC5wYW5lbC1oZWFkZXItaW5uZXIge1xuICB6LWluZGV4OiAwO1xufVxuXG4uZGVzaWduLWRldGFpbCB7XG4gIHRvcDogY2FsYyh2YXIoLS1zeXN0ZW0taGVhZGVyLWhlaWdodCkgKyB2YXIoLS1wZXJmb3JtYW5jZS1iYXItaGVpZ2h0KSk7XG4gIGJvdHRvbTogdmFyKC0tc3lzdGVtLWZvb3Rlci1oZWlnaHQpO1xuICB6LWluZGV4OiAxMDMwO1xufVxuLmRlc2lnbi1kZXRhaWwgLmNvbW1lbnQtaW5kaWNhdG9yIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuLmRlc2lnbi1kZXRhaWwgLmNvbW1lbnQtaW5kaWNhdG9yOmFjdGl2ZSxcbi5kZXNpZ24tZGV0YWlsIC5mcmFtZSAuZGVzaWduLW5vdGUtcGluOmFjdGl2ZSB7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi5kZXNpZ24tZGlzY2xvc3VyZSB7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIGZsZXgtc2hyaW5rOiA0O1xufVxuQGNvbnRhaW5lciBwYW5lbCAod2lkdGggPj0gOTkycHgpIHtcbiAgOndoZXJlKGh0bWwud2l0aC1nbC1jb250YWluZXItcXVlcmllcykgLmRlc2lnbi1kaXNjbG9zdXJlIHtcbiAgICB3aWR0aDogNDAwcHggIWltcG9ydGFudDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxufVxuQG1lZGlhICh3aWR0aCA+PSA5OTJweCkge1xuICA6d2hlcmUoaHRtbDpub3QoLndpdGgtZ2wtY29udGFpbmVyLXF1ZXJpZXMpKSAuZGVzaWduLWRpc2Nsb3N1cmUge1xuICAgIHdpZHRoOiA0MDBweCAhaW1wb3J0YW50O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG59XG5cbi5kZXNpZ24tZGlzY2xvc3VyZS1lbnRlci10byB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLmRlc2lnbi1kaXNjbG9zdXJlLWVudGVyLFxuLmRlc2lnbi1kaXNjbG9zdXJlLWxlYXZlLXRvIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uZGVzaWduLWRpc2Nsb3N1cmUtZW50ZXItYWN0aXZlLFxuLmRlc2lnbi1kaXNjbG9zdXJlLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5kZXNpZ24tbGlzdC1pdGVtIHtcbiAgaGVpZ2h0OiAxNjBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZGVzaWduLW5vdGUtcGluIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMjRweDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIEBhcHBseSBnbC10ZXh0LW5ldXRyYWwtMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2wtc3RhdHVzLWJyYW5kLWljb24tY29sb3IpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cbi5kZXNpZ24tbm90ZS1waW4uZHJhZnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nbC1zdGF0dXMtd2FybmluZy1pY29uLWNvbG9yKTtcbn1cbi5kZXNpZ24tbm90ZS1waW4ucmVzb2x2ZWQge1xuICBAYXBwbHkgZ2wtYmctc3Ryb25nO1xuICBAYXBwbHkgZ2wtdGV4dC1zdHJvbmc7XG59XG4uZGVzaWduLW5vdGUtcGluLm9uLWltYWdlIHtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHZhcigtLWdsLWNvbG9yLWFscGhhLWRhcmstOCksIDAgMCAxcHggdmFyKC0tZ2wtY29sb3ItYWxwaGEtZGFyay0yNCk7XG4gIEBhcHBseSBnbC1ib3JkZXItMjtcbiAgQGFwcGx5IGdsLWJvcmRlci1zb2xpZDtcbiAgQGFwcGx5IGdsLWJvcmRlci1uZXV0cmFsLTA7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJveC1zaGFkb3csIG9wYWNpdHk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBsaW5lYXIsIGJveC1zaGFkb3cgMTAwbXMgbGluZWFyLCBvcGFjaXR5IDEwMG1zIGxpbmVhcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbi5kZXNpZ24tbm90ZS1waW4ub24taW1hZ2U6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuLmRlc2lnbi1ub3RlLXBpbi5vbi1pbWFnZTphY3RpdmUge1xuICBib3gtc2hhZG93OiAwIDAgNHB4IHZhcigtLWdsLXNoYWRvdy1jb2xvci1kZWZhdWx0KSwgMCA0cHggMTJweCB2YXIoLS1nbC1zaGFkb3ctY29sb3ItZGVmYXVsdCk7XG59XG4uZGVzaWduLW5vdGUtcGluLm9uLWltYWdlLmluYWN0aXZlIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLmRlc2lnbi1ub3RlLXBpbi5vbi1pbWFnZS5pbmFjdGl2ZTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4uZGVzaWduLW5vdGUtcGluLnNtYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBAYXBwbHkgZ2wtYm9yZGVyLTE7XG4gIEBhcHBseSBnbC1ib3JkZXItc29saWQ7XG4gIEBhcHBseSBnbC1ib3JkZXItbmV1dHJhbC0wO1xuICBoZWlnaHQ6IDI0cHg7XG4gIHdpZHRoOiAyNHB4O1xufVxuLmRlc2lnbi1ub3RlLXBpbi51c2VyLWF2YXRhciB7XG4gIHRvcDogMjVweDtcbiAgcmlnaHQ6IDhweDtcbn1cblxuLmRlc2lnbi1zY2FsZXItd3JhcHBlciB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi5pbWFnZS1ub3RlcyB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBAYXBwbHkgZ2wtYmctZGVmYXVsdDtcbn1cbi5pbWFnZS1ub3RlcyAubGluay1pbmhlcml0LWNvbG9yLCAuaW1hZ2Utbm90ZXMgLmxpbmstaW5oZXJpdC1jb2xvcjpob3ZlciwgLmltYWdlLW5vdGVzIC5saW5rLWluaGVyaXQtY29sb3I6YWN0aXZlLCAuaW1hZ2Utbm90ZXMgLmxpbmstaW5oZXJpdC1jb2xvcjpmb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4uaW1hZ2Utbm90ZXMgLnRvZ2dsZS1jb21tZW50cyB7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuLmltYWdlLW5vdGVzIC50b2dnbGUtY29tbWVudHNbYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLmltYWdlLW5vdGVzIC50b2dnbGUtY29tbWVudHMgLnRvZ2dsZS1jb21tZW50cy1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWJsdWUtNjAwLCAjMjU2NmI1KTtcbn1cbi5pbWFnZS1ub3RlcyAudG9nZ2xlLWNvbW1lbnRzIH4gLmRlc2lnbi1ub3RlIHtcbiAgQGFwcGx5IGdsLWJnLXN1YnRsZTtcbn1cbi5pbWFnZS1ub3RlcyAuZGVzaWduLWRpc2N1c3Npb24ge1xuICBtYXJnaW46IDE2cHggMDtcbn1cbi5pbWFnZS1ub3RlcyAuZGVzaWduLWRpc2N1c3Npb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIEBhcHBseSBnbC1ib3JkZXItbDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxMXB4O1xuICB0b3A6IC0xN3B4O1xuICBoZWlnaHQ6IDE3cHg7XG59XG4uaW1hZ2Utbm90ZXMgLmRlc2lnbi1kaXNjdXNzaW9uIC5kZXNpZ24tbm90ZTpmaXJzdC1jaGlsZCB7XG4gIEBhcHBseSBnbC1iZy1zZWN0aW9uO1xuICBAYXBwbHkgZ2wtYm9yZGVyLWI7XG4gIEBhcHBseSBnbC1ib3JkZXItYi1zZWN0aW9uO1xuICBAYXBwbHkgZ2wtcm91bmRlZC10LWJhc2U7XG59XG4uaW1hZ2Utbm90ZXMgLmRlc2lnbi1kaXNjdXNzaW9uIC5kZXNpZ24tbm90ZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBhcHBseSBnbC1iZy1zdWJ0bGU7XG59XG4uaW1hZ2Utbm90ZXMgLmRlc2lnbi1kaXNjdXNzaW9uLmFjdGl2ZS1kaXNjdXNzaW9uIC5kZXNpZ24tbm90ZTpmaXJzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWVudHJ5LXRhcmdldC1iYWNrZ3JvdW5kLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuLmltYWdlLW5vdGVzIC5kZXNpZ24tZGlzY3Vzc2lvbiAuZGVzaWduLW5vdGUge1xuICBwYWRkaW5nOiA4cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIEBhcHBseSBnbC10cmFuc2l0aW9uLWJhY2tncm91bmQ7XG59XG4uaW1hZ2Utbm90ZXMgLmRlc2lnbi1kaXNjdXNzaW9uIC5kZXNpZ24tbm90ZSB2aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmltYWdlLW5vdGVzIC5kZXNpZ24tZGlzY3Vzc2lvbiAucmVwbHktd3JhcHBlciwgLmltYWdlLW5vdGVzIC5kZXNpZ24tZGlzY3Vzc2lvbiAuZGlzYWJsZWQtY29tbWVudCB7XG4gIHBhZGRpbmc6IDhweDtcbiAgQGFwcGx5IGdsLWJnLXN1YnRsZTtcbiAgQGFwcGx5IGdsLWJvcmRlci0wO1xuICBAYXBwbHkgZ2wtcm91bmRlZC1iLWJhc2U7XG59XG4uaW1hZ2Utbm90ZXMgLm5ldy1kaXNjdXNzaW9uLWRpc2NsYWltZXIge1xuICBsaW5lLWhlaWdodDogMjBweDtcbn1cblxuQGNvbnRhaW5lciBwYW5lbCAod2lkdGggPCA5OTJweCkge1xuICA6d2hlcmUoaHRtbC53aXRoLWdsLWNvbnRhaW5lci1xdWVyaWVzKSAuZGVzaWduLWRldGFpbCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB9XG4gIDp3aGVyZShodG1sLndpdGgtZ2wtY29udGFpbmVyLXF1ZXJpZXMpIC5pbWFnZS1ub3RlcyB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAod2lkdGggPCA5OTJweCkge1xuICA6d2hlcmUoaHRtbDpub3QoLndpdGgtZ2wtY29udGFpbmVyLXF1ZXJpZXMpKSAuZGVzaWduLWRldGFpbCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB9XG4gIDp3aGVyZShodG1sOm5vdCgud2l0aC1nbC1jb250YWluZXItcXVlcmllcykpIC5pbWFnZS1ub3RlcyB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn0iLCIvKipcbiAgVGhpcyBmaWxlIGNvbnRhaW5zIG9ubHkgaW1wb3J0cyBvZiBCb290c3RyYXAsIEdpdExhYiBVSSBhbmQgR2l0TGFiIG1peGlucyxcbiAgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMsIGluIHRoZSBjb3JyZWN0IG9yZGVyLlxuXG4gIEl0IGlzIG1lYW50IHRvIGJlIHVzZWQgaW4gcGFnZV9idW5kbGVzLCBidXQgU0hPVUxEIE5PVCBpbnRyb2R1Y2UgYW55XG4gIHN0eWxlcyBvZiBpdCdzIG93bi4gV2UgYWN0dWFsbHkgY2hlY2sgaW4gQ0kgdGhhdCBjb21waWxpbmcgX3RoaXNfIGZpbGUgZG9lc24ndFxuICByZXN1bHQgaW4gYW55IGFkZGl0aW9uYWwgc3R5bGVzLlxuXG4gIFNlZTogc2NyaXB0cy9mcm9udGVuZC9jaGVja19wYWdlX2J1bmRsZV9taXhpbnNfY3NzX2Zvcl9zaWRlZWZmZWN0cy5qc1xuICovXG5AaW1wb3J0ICdmcmFtZXdvcmsvZnVuY3Rpb25zJztcbkBpbXBvcnQgJ2ZyYW1ld29yay92YXJpYWJsZXMnO1xuQGltcG9ydCAnZnJhbWV3b3JrL3ZhcmlhYmxlc19vdmVycmlkZXMnO1xuQGltcG9ydCAnZnJhbWV3b3JrL21peGlucyc7XG5cbkBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICdib290c3RyYXAvc2Nzcy92YXJpYWJsZXMnO1xuQGltcG9ydCAnYm9vdHN0cmFwL3Njc3MvbWl4aW5zJztcblxuQGltcG9ydCAnQGdpdGxhYi91aS9zcmMvc2Nzcy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnQGdpdGxhYi91aS9zcmMvc2Nzcy92YXJpYWJsZXMnO1xuQGltcG9ydCAnQGdpdGxhYi91aS9zcmMvc2Nzcy9taXhpbnMnO1xuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuXG4vKlxuKiBTQVNTIHByZXNlcnZlcyB1bml0cyBpbiBhcml0aG1ldGljIG9wZXJhdGlvbnMuIEZvciBleGFtcGxlOlxuKiAxMmVtICogMCA9IDBlbS4gVGhpcyBmdW5jdGlvbiByZXR1cm4gdGhlIHVuaXQgb2YgYSBudW1lcmljIHZhbHVlLlxuKlxuKiBGb3IgbW9yZSBleGFtcGxlcywgc2VlOiBodHRwczovL2NvZGVwZW4uaW8vcGF1bGd2L3Blbi9YV3JxTWdRXG4qL1xuQGZ1bmN0aW9uIGV4dHJhY3QtdW5pdCgkbnVtYmVyKSB7XG4gIEByZXR1cm4gJG51bWJlciAqIDAgKyAxO1xufVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJG51bWJlcikgPT0gXCJudW1iZXJcIiBhbmQgbm90IG1hdGguaXMtdW5pdGxlc3MoJG51bWJlcikge1xuICAgIEByZXR1cm4gbWF0aC5kaXYoJG51bWJlciwgZXh0cmFjdC11bml0KCRudW1iZXIpKTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlcjtcbn1cblxuQGZ1bmN0aW9uIHNpbmdsZS11bml0LXJlbSgkdmFsdWUsICRmb250LXNpemUtYmFzZSkge1xuICBAaWYgKGV4dHJhY3QtdW5pdCgkdmFsdWUpICE9IDFweCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgJGNvbnZlcnRlZDogbWF0aC5kaXYoJHZhbHVlLCAkZm9udC1zaXplLWJhc2UpO1xuXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkY29udmVydGVkKSAqIDFyZW07XG59XG5cbkBmdW5jdGlvbiBtdWx0aXBsZS11bml0cy1yZW0oJHZhbHVlcywgJGZvbnQtc2l6ZS1iYXNlKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcblxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgc2luZ2xlLXVuaXQtcmVtKCR2YWx1ZSwgJGZvbnQtc2l6ZS1iYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG5AZnVuY3Rpb24gcHgtdG8tcmVtKCRweCwgJGZvbnQtc2l6ZS1iYXNlOiAxNnB4KSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHB4KSA9PSBcIm51bWJlclwiIHtcbiAgICBAcmV0dXJuIHNpbmdsZS11bml0LXJlbSgkcHgsICRmb250LXNpemUtYmFzZSk7XG4gIH0gQGVsc2UgaWYgbWV0YS50eXBlLW9mKCRweCkgPT0gXCJsaXN0XCIge1xuICAgIEByZXR1cm4gbXVsdGlwbGUtdW5pdHMtcmVtKCRweCwgJGZvbnQtc2l6ZS1iYXNlKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkcHg7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGlmLWltcG9ydGFudCgkaW1wb3J0YW50KSB7XG4gIEByZXR1cm4gI3tpZigkaW1wb3J0YW50LCBcIiFpbXBvcnRhbnRcIiwgXCJcIil9O1xufVxuXG5AZnVuY3Rpb24gY2xhbXAtYmV0d2VlbigkbWluLCAkbWF4LCAkbWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZCwgJG1heC13aWR0aDogJGJyZWFrcG9pbnQteGwpIHtcbiAgJG1pbi13aWR0aDogcHgtdG8tcmVtKCRtaW4td2lkdGgpO1xuICAkbWF4LXdpZHRoOiBweC10by1yZW0oJG1heC13aWR0aCk7XG5cbiAgJHNsb3BlOiBtYXRoLmRpdigkbWF4IC0gJG1pbiwgJG1heC13aWR0aCAtICRtaW4td2lkdGgpO1xuICAkaW50ZXJzZWN0aW9uOiAoLSRtaW4td2lkdGggKiAkc2xvcGUpICsgJG1pbjtcblxuICBAcmV0dXJuIGNsYW1wKCN7JG1pbn0sICN7JGludGVyc2VjdGlvbn0gKyAjeyRzbG9wZSAqIDEwMHZ3fSwgI3skbWF4fSk7XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi90b2tlbnMvYnVpbGQvc2Nzcy90b2tlbnNcIjtcblxuLy8gTGF5b3V0XG4kZ3JpZC1zaXplOiBweC10by1yZW0oOHB4KTtcblxuLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50c1xuXG4kYnJlYWtwb2ludC1zbTogNTc2cHg7XG4kYnJlYWtwb2ludC1tZDogNzY4cHg7XG4kYnJlYWtwb2ludC1sZzogOTkycHg7XG4kYnJlYWtwb2ludC14bDogMTIwMHB4O1xuXG4kYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiAkYnJlYWtwb2ludC1zbSxcbiAgbWQ6ICRicmVha3BvaW50LW1kLFxuICBsZzogJGJyZWFrcG9pbnQtbGcsXG4gIHhsOiAkYnJlYWtwb2ludC14bCxcbik7XG5cbi8vIE1heCB3aWR0aHNcbiRsaW1pdGVkLWxheW91dC13aWR0aDogOTkwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXhsOiAxMjgwcHggIWRlZmF1bHQ7XG5cbi8vIENvbG9yIHNjaGVtYVxuLyogc3R5bGVsaW50LWRpc2FibGUgQGdpdGxhYi9uby1nbC1kZXByZWNhdGVkLWRlc2lnbi10b2tlbnMgKi9cbiRibGFjay1ub3JtYWw6ICMzMzMgIWRlZmF1bHQ7XG5cbiR3aGl0ZS1jb250cmFzdDogI2ZmZiAhZGVmYXVsdDtcbiR3aGl0ZS1ub3JtYWw6ICNmMGYwZjAgIWRlZmF1bHQ7XG4kd2hpdGUtZGFyazogI2VhZWFlYSAhZGVmYXVsdDtcbiR3aGl0ZS10cmFuc3BhcmVudDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LXJnYmE6IHJnYmEoJHdoaXRlLCAwKTtcbi8qIHN0eWxlbGludC1lbmFibGUgQGdpdGxhYi9uby1nbC1kZXByZWNhdGVkLWRlc2lnbi10b2tlbnMgKi9cblxuLy8gVGV4dFxuJGdsLXRleHQtY29sb3I6ICRnbC10ZXh0LWNvbG9yLWRlZmF1bHQgIWRlZmF1bHQ7XG4kZ2wtdGV4dC1jb2xvci1zZWNvbmRhcnk6ICRnbC10ZXh0LWNvbG9yLXN1YnRsZSAhZGVmYXVsdDtcblxuJGdsLWZvbnQtd2VpZ2h0LWxpZ2h0OiAzMDA7XG4kZ2wtZm9udC13ZWlnaHQtbm9ybWFsOiA0MDA7XG4kZ2wtZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDUwMDtcbiRnbC1mb250LXdlaWdodC1ib2xkOiA2MDA7XG5cbiRnbC1mb250LXdlaWdodHM6IChcbiAgXCJub3JtYWxcIjogJGdsLWZvbnQtd2VpZ2h0LW5vcm1hbCxcbiAgXCJib2xkXCI6ICRnbC1mb250LXdlaWdodC1ib2xkLFxuKTtcblxuLy8gRm9udHNcbiRnbC1tb25vc3BhY2UtZm9udDpcbiAgXCJHaXRMYWIgTW9ub1wiLCBcIkpldEJyYWlucyBNb25vXCIsIFwiTWVubG9cIiwgXCJEZWphVnUgU2FucyBNb25vXCIsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ29uc29sYXNcIixcbiAgXCJVYnVudHUgTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIFwiYW5kYWxlIG1vbm9cIiwgXCJsdWNpZGEgY29uc29sZVwiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZ2wtcmVndWxhci1mb250OlxuICBcIkdpdExhYiBTYW5zXCIsXG4gIC1hcHBsZS1zeXN0ZW0sXG4gIEJsaW5rTWFjU3lzdGVtRm9udCxcbiAgXCJTZWdvZSBVSVwiLFxuICBSb2JvdG8sXG4gIFwiTm90byBTYW5zXCIsXG4gIFVidW50dSxcbiAgQ2FudGFyZWxsLFxuICBcIkhlbHZldGljYSBOZXVlXCIsXG4gIHNhbnMtc2VyaWYsXG4gIFwiQXBwbGUgQ29sb3IgRW1vamlcIixcbiAgXCJTZWdvZSBVSSBFbW9qaVwiLFxuICBcIlNlZ29lIFVJIFN5bWJvbFwiLFxuICBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcblxuJGdsLWZvbnRzOiAoXG4gIFwibW9ub3NwYWNlXCI6ICRnbC1tb25vc3BhY2UtZm9udCxcbiAgXCJyZWd1bGFyXCI6ICRnbC1yZWd1bGFyLWZvbnQsXG4pO1xuXG4vLyBOZXcgVUkgdHlwZSBzY2FsZVxuLy8gSW1wbGVtZW50cyB0aGUgdHlwZSBzY2FsZSBmcm9tIGh0dHBzOi8vZ2l0bGFiLmNvbS9ncm91cHMvZ2l0bGFiLW9yZy9naXRsYWItc2VydmljZXMvLS9lcGljcy8xNVxuLy8gT2xkIHZhcmlhYmxlcyBhbmQgc3R5bGVzIG5lZWQgdG8gYmUgcmVtb3ZlZCBhZnRlciBpbnRlcmdyYXRpb25cblxuLy8gRm9udCBzaXplIHNjYWxlXG5cbi8vIGZpeGVkIHNjYWxlIChjb21wYWN0IG1hcmtkb3duKVxuJGdsLWZvbnQtc2l6ZXMtZml4ZWQ6IChcbiAgMTAwOiBweC10by1yZW0oMTJweCksXG4gIDIwMDogcHgtdG8tcmVtKDEzcHgpLFxuICAzMDA6IHB4LXRvLXJlbSgxNHB4KSxcbiAgNDAwOiBweC10by1yZW0oMTZweCksXG4gIDUwMDogcHgtdG8tcmVtKDE4cHgpLFxuICA2MDA6IHB4LXRvLXJlbSgyMXB4KSxcbiAgNzAwOiBweC10by1yZW0oMjRweCksXG4gIDgwMDogcHgtdG8tcmVtKDI4cHgpLFxuKTtcblxuLy8gZHluYW1pYyBzY2FsZSAoZGVmYXVsdCkgcmVzaXplcyBiYXNlZCBvbiB2aWV3cG9ydCB3aWR0aFxuJGdsLWZvbnQtc2l6ZXM6IChcbiAgMTAwOiBtYXAuZ2V0KCRnbC1mb250LXNpemVzLWZpeGVkLCAxMDApLFxuICAyMDA6IG1hcC5nZXQoJGdsLWZvbnQtc2l6ZXMtZml4ZWQsIDIwMCksXG4gIDMwMDogbWFwLmdldCgkZ2wtZm9udC1zaXplcy1maXhlZCwgMzAwKSxcbiAgNDAwOiBtYXAuZ2V0KCRnbC1mb250LXNpemVzLWZpeGVkLCA0MDApLFxuICA1MDA6IGNsYW1wLWJldHdlZW4obWFwLmdldCgkZ2wtZm9udC1zaXplcy1maXhlZCwgNTAwKSwgcHgtdG8tcmVtKDIwcHgpKSxcbiAgNjAwOiBjbGFtcC1iZXR3ZWVuKG1hcC5nZXQoJGdsLWZvbnQtc2l6ZXMtZml4ZWQsIDYwMCksIHB4LXRvLXJlbSgyNXB4KSksXG4gIDcwMDogY2xhbXAtYmV0d2VlbihtYXAuZ2V0KCRnbC1mb250LXNpemVzLWZpeGVkLCA3MDApLCBweC10by1yZW0oMzBweCkpLFxuICA4MDA6IGNsYW1wLWJldHdlZW4obWFwLmdldCgkZ2wtZm9udC1zaXplcy1maXhlZCwgODAwKSwgcHgtdG8tcmVtKDM2cHgpKSxcbik7XG5cbi8vIEhlYWRpbmcgdmFyaWFibGVzXG4vLyBOb3QgYWxsIGFyZSBjdXJyZW50bHkgdXNlZCwgYnV0IGRvY3VtZW50ZWQgaGVyZSB0byBjYXB0dXJlIGludGVudFxuJGdsLWZvbnQtaGVhZGluZzogJGdsLXJlZ3VsYXItZm9udDtcbiRnbC1mb250LXdlaWdodC1oZWFkaW5nOiA2MDA7XG4kZ2wtbGV0dGVyLXNwYWNpbmctaGVhZGluZzogaW5oZXJpdDtcbiRnbC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLXJlZHVjZWQ6IC0wLjAxZW07XG4kZ2wtbGluZS1oZWlnaHQtaGVhZGluZzogMS4yNTtcbiRnbC1saW5lLWhlaWdodC1oZWFkaW5nLWRpc3BsYXk6IDEuMTI1O1xuJGdsLW1iLWhlYWRpbmc6ICRnbC1zcGFjaW5nLXNjYWxlLTU7XG4kZ2wtbWItaGVhZGluZy1kaXNwbGF5OiAkZ2wtc3BhY2luZy1zY2FsZS02O1xuJGdsLXRleHQtY29sb3ItaGVhZGluZzogJGdsLXRleHQtY29sb3I7XG4vLyBOb3QgeWV0IHN1cHBvcnRlZCwgYnV0IHdlJ2xsIGJlIHJlYWR5XG4kZ2wtdGV4dC13cmFwLWhlYWRpbmc6IHByZXR0eTtcblxuLy8gRU5EIE5ldyBVSSB0eXBlIHNjYWxlXG5cbi8vIFVJIHR5cGVzY2FsZVxuXG4vLyBkZWZhdWx0IChtaW4td2lkdGg6IDApXG4kZ2wtZm9udC1zaXplOiBweC10by1yZW0oMTRweCk7XG5cbiRnbC1mb250LXNpemUtaC1kaXNwbGF5OiBweC10by1yZW0oMjhweCk7XG4kZ2wtZm9udC1zaXplLWgxOiBweC10by1yZW0oMjNweCk7XG4kZ2wtZm9udC1zaXplLWgyOiBweC10by1yZW0oMTlweCk7XG5cbi8vIGJyZWFrcG9pbnQgKG1pbi13aWR0aDogNzY4cHgpXG4kZ2wtZm9udC1zaXplLWgtZGlzcGxheS1tZDogcHgtdG8tcmVtKDMxcHgpO1xuJGdsLWZvbnQtc2l6ZS1oMS1tZDogcHgtdG8tcmVtKDI1cHgpO1xuJGdsLWZvbnQtc2l6ZS1oMi1tZDogcHgtdG8tcmVtKDIwcHgpO1xuXG4vLyBicmVha3BvaW50IChtaW4td2lkdGg6IDEyMDBweClcbiRnbC1mb250LXNpemUtaC1kaXNwbGF5LXhsOiBweC10by1yZW0oNDVweCk7XG4kZ2wtZm9udC1zaXplLWgxLXhsOiBweC10by1yZW0oMzJweCk7XG4kZ2wtZm9udC1zaXplLWgyLXhsOiBweC10by1yZW0oMjNweCk7XG5cbi8vIE1hcmtkb3duIHR5cGVzY2FsZVxuXG4vLyBkZWZhdWx0IChtaW4td2lkdGg6IDApXG4kZ2wtZm9udC1zaXplLW1hcmtkb3duOiBweC10by1yZW0oMTZweCk7XG4kZ2wtZm9udC1zaXplLW1hcmtkb3duLXNtOiBweC10by1yZW0oMTRweCk7XG5cbiRnbC1mb250LXNpemUtbWFya2Rvd24taDE6IHB4LXRvLXJlbSgyOHB4KTtcbiRnbC1mb250LXNpemUtbWFya2Rvd24taDI6IHB4LXRvLXJlbSgyM3B4KTtcbiRnbC1mb250LXNpemUtbWFya2Rvd24taDM6IHB4LXRvLXJlbSgxOXB4KTtcblxuLy8gYnJlYWtwb2ludCAobWluLXdpZHRoOiA3NjhweClcbiRnbC1mb250LXNpemUtbWFya2Rvd24taDEtbWQ6IHB4LXRvLXJlbSgzMXB4KTtcbiRnbC1mb250LXNpemUtbWFya2Rvd24taDItbWQ6IHB4LXRvLXJlbSgyNXB4KTtcbiRnbC1mb250LXNpemUtbWFya2Rvd24taDMtbWQ6IHB4LXRvLXJlbSgyMHB4KTtcblxuLy8gYnJlYWtwb2ludCAobWluLXdpZHRoOiAxMjAwcHgpXG4kZ2wtZm9udC1zaXplLW1hcmtkb3duLWgxLXhsOiBweC10by1yZW0oNDVweCk7XG4kZ2wtZm9udC1zaXplLW1hcmtkb3duLWgyLXhsOiBweC10by1yZW0oMzJweCk7XG4kZ2wtZm9udC1zaXplLW1hcmtkb3duLWgzLXhsOiBweC10by1yZW0oMjNweCk7XG5cbi8vIENvbXBhY3QgbWFya2Rvd24gdHlwZXNjYWxlXG5cbi8vIGRlZmF1bHQgKG1pbi13aWR0aDogMClcbiRnbC1mb250LXNpemUtY29tcGFjdC1tYXJrZG93bi1oMTogcHgtdG8tcmVtKDE5cHgpO1xuXG4vLyBtZWRpYS1tZDogbWluLXdpZHRoOiA3NjhweFxuJGdsLWZvbnQtc2l6ZS1jb21wYWN0LW1hcmtkb3duLWgxLW1kOiBweC10by1yZW0oMjBweCk7XG5cbi8vIG1lZGlhIHhsIChtaW4td2lkdGg6IDEyMDBweClcbiRnbC1mb250LXNpemUtY29tcGFjdC1tYXJrZG93bi1oMS14bDogcHgtdG8tcmVtKDIzcHgpO1xuXG4kYm9yZGVyLWNvbG9yOiAkZ2wtYm9yZGVyLWNvbG9yLWRlZmF1bHQgIWRlZmF1bHQ7XG5cbi8vIHVzZSBweCBmb3IgYm9yZGVycyByYXRoZXIgdGhhbiByZW1cbi8vIHdlIGRvbid0IHdhbnQgYm9yZGVycyB0byBzY2FsZSB3aXRoIGZvbnQgc2l6ZVxuLy8gMXB4IGNhbiBlbmQgdXAgYmVpbmcgcm91bmRlZCB0byAwIGFmdGVyXG4vLyBjb252ZXJzaW9uIHRvL2Zyb20gcmVtXG4kZ2wtYm9yZGVyLXNpemUtMTogMXB4O1xuJGdsLWJvcmRlci1zaXplLTI6IDJweDtcbiRnbC1ib3JkZXItc2l6ZS0zOiAzcHg7XG4kZ2wtYm9yZGVyLXNpemUtNDogNHB4O1xuJGdsLWJvcmRlci1zaXplLTU6IDVweDtcbiRnbC1ib3JkZXItc2l6ZS04OiA4cHg7XG5cbi8vIGJvcmRlciByb3VuZG5lc3NcbiRnbC1ib3JkZXItcmFkaXVzLXNtYWxsOiAkZ2wtc3BhY2luZy1zY2FsZS0xO1xuJGdsLWJvcmRlci1yYWRpdXMtYmFzZTogJGdsLXNwYWNpbmctc2NhbGUtMjtcbiRnbC1ib3JkZXItcmFkaXVzLWxhcmdlOiAkZ2wtc3BhY2luZy1zY2FsZS0zO1xuJGdsLWJvcmRlci1yYWRpdXMtNjogJGdsLXNwYWNpbmctc2NhbGUtNjtcbiRnbC1ib3JkZXItcmFkaXVzLTc6ICRnbC1zcGFjaW5nLXNjYWxlLTc7XG5cbi8vIGNvbXBvbmVudCBoZWlnaHRcbiRnbC1idXR0b24tc21hbGwtc2l6ZTogcHgtdG8tcmVtKDI0cHgpO1xuJGdsLWJ1dHRvbi1tZWRpdW0tc2l6ZTogcHgtdG8tcmVtKDMycHgpO1xuXG4vLyB0cmFuc2l0aW9uIHBhcmFtZXRlcnNcbiRnbC10cmFuc2l0aW9uLWR1cmF0aW9uLXNsb3c6IDAuNHM7XG4kZ2wtdHJhbnNpdGlvbi1kdXJhdGlvbi1tZWRpdW06IDAuMnM7XG4kZ2wtdHJhbnNpdGlvbi1kdXJhdGlvbi1mYXN0OiAwLjFzO1xuXG4vLyBBbmltYXRpb24gZWFzaW5nc1xuJGdsLWVhc2luZy1saW5lYXI6IGxpbmVhcjtcbiRnbC1lYXNpbmctZGVmYXVsdDogZWFzZTtcbiRnbC1lYXNpbmctb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG5cbi8vIEZvY3VzIHJpbmdcbiRvdXRsaW5lLW9mZnNldDogMXB4O1xuJG91dGxpbmUtd2lkdGg6IDJweDtcbiRvdXRsaW5lOiAjeyRvdXRsaW5lLW9mZnNldCArICRvdXRsaW5lLXdpZHRofTtcbiRmb2N1cy1yaW5nOlxuICAwIDAgMCAkb3V0bGluZS1vZmZzZXQgdmFyKC0tZ2wtZm9jdXMtcmluZy1pbm5lci1jb2xvciksXG4gIDAgMCAwICN7JG91dGxpbmUtb2Zmc2V0ICsgJG91dGxpbmUtd2lkdGh9IHZhcigtLWdsLWZvY3VzLXJpbmctb3V0ZXItY29sb3IpO1xuJGZvY3VzLXJpbmctaW5zZXQ6XG4gIGluc2V0IDAgMCAwICN7JG91dGxpbmUtd2lkdGggKyAkb3V0bGluZS1vZmZzZXR9IHZhcigtLWdsLWZvY3VzLXJpbmctaW5uZXItY29sb3IpLFxuICBpbnNldCAwIDAgMCAkb3V0bGluZS1vZmZzZXQgdmFyKC0tZ2wtZm9jdXMtcmluZy1pbm5lci1jb2xvcik7XG4kZm9jdXMtcmluZy1vdXRsaW5lOiAkb3V0bGluZS13aWR0aCBzb2xpZCB2YXIoLS1nbC1mb2N1cy1yaW5nLW91dGVyLWNvbG9yKTtcblxuLy8gVG9hc3RzXG4kdG9hc3QtbWF4LXdpZHRoOiBweC10by1yZW0oNTg2cHgpO1xuJHRvYXN0LXBhZGRpbmctcmlnaHQ6IHB4LXRvLXJlbSg0MnB4KTtcblxuLy8gQ2hhcnQgdG9vbHRpcFxuJGNoYXJ0LXRvb2x0aXAtbWF4LXdpZHRoOiBweC10by1yZW0oNTEycHgpO1xuXG4kZ2wtaWNvbi1jaGV2cm9uLWxlZnQ6ICdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNS4yOTMgNy4yOTNhMSAxIDAgMCAwIDAgMS40MTRsMyAzYTEgMSAwIDAgMCAxLjQxNC0xLjQxNEw3LjQxNCA4bDIuMjkzLTIuMjkzYTEgMSAwIDAgMC0xLjQxNC0xLjQxNGwtMyAzelwiLz48L3N2Zz4nO1xuJGdsLWljb24tY2hldnJvbi1yaWdodDogJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgdmlld0JveD1cIjAgMCAxNiAxNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIj48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xMC43MDcgNy4yOTNhMSAxIDAgMCAxIDAgMS40MTRsLTMgM2ExIDEgMCAwIDEtMS40MTQtMS40MTRMOC41ODYgOCA2LjI5MyA1LjcwN2ExIDEgMCAwIDEgMS40MTQtMS40MTRsMyAzelwiLz48L3N2Zz4nO1xuJGdsLWljb24tY2hldnJvbi1kb3duOiAnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTcuMjkzIDEwLjcwN2ExIDEgMCAwIDAgMS40MTQgMGwzLTNhMSAxIDAgMCAwLTEuNDE0LTEuNDE0TDggOC41ODYgNS43MDcgNi4yOTNhMSAxIDAgMCAwLTEuNDE0IDEuNDE0bDMgM3pcIi8+PC9zdmc+JztcbiRnbC1pY29uLXNlbGVjdC1jaGV2cm9uLWRvd246ICdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPVwiOFwiIGhlaWdodD1cIjVcIiB2aWV3Qm94PVwiMCAwIDggNVwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiJTNFJTNDcGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMC4yMTk2NyAwLjIxOTY3QzAuNTEyNTYzIC0wLjA3MzIyMzIgMC45ODc0MzcgLTAuMDczMjIzMiAxLjI4MDMzIDAuMjE5NjdMNCAyLjkzOTM0TDYuNzE5NjcgMC4yMTk2N0M3LjAxMjU2IC0wLjA3MzIyMyA3LjQ4NzQ0IC0wLjA3MzIyMjkgNy43ODAzMyAwLjIxOTY3QzguMDczMjIgMC41MTI1NjMgOC4wNzMyMiAwLjk4NzQzNyA3Ljc4MDMzIDEuMjgwMzNMNC41MzAzMyA0LjUzMDMzQzQuMjM3NDQgNC44MjMyMiAzLjc2MjU2IDQuODIzMjIgMy40Njk2NyA0LjUzMDMzTDAuMjE5NjcgMS4yODAzM0MtMC4wNzMyMjMzIDAuOTg3NDM3IC0wLjA3MzIyMzMgMC41MTI1NjMgMC4yMTk2NyAwLjIxOTY3WlwiIGZpbGw9XCIlMjM2NjY2NjZcIi8lM0UlM0Mvc3ZnJTNFJTBBJztcbiRnbC1pY29uLWNoZWNrOiAnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiOFwiIHZpZXdCb3g9XCIwIDAgMTAgOFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiJTNFJTNDcGF0aCBkPVwiTTAuNzUgNC43NjI4OUwzLjE1MzEyIDcuMjQ2NzhMOS4yNSAxLjE0OTlcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLyUzRSUzQy9zdmclM0UlMEEnO1xuJGdsLWljb24taW5kZXRlcm1pbmF0ZTogJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjJcIiB2aWV3Qm94PVwiMCAwIDEwIDJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiUzRSUzQ3BhdGggZD1cIk0xLjc1IDFIOC4yNVwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvJTNFJTNDL3N2ZyUzRSUwQSc7XG4kZ2wtaWNvbi1yYWRpbzogJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9XCI2XCIgaGVpZ2h0PVwiNlwiIHZpZXdCb3g9XCIwIDAgNiA2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIlM0UlM0NjaXJjbGUgY3g9XCIzXCIgY3k9XCIzXCIgcj1cIjNcIiBmaWxsPVwid2hpdGVcIi8lM0UlM0Mvc3ZnJTNFJTBBJztcblxuLy8gSWNvbnNcbiRkZWZhdWx0LWljb24tc2l6ZTogcHgtdG8tcmVtKDE2cHgpO1xuJGdsLWljb24tc2l6ZXM6IDggMTIgMTQgMTYgMjQgMzIgNDggNzI7XG5cbi8vIERyb3Bkb3duc1xuJGdsLWRyb3Bkb3duLXdpZHRoOiBweC10by1yZW0oMjQwcHgpO1xuJGdsLW5ldy1kcm9wZG93bi1taW4td2lkdGg6IHB4LXRvLXJlbSgyNDhweCk7XG4kZ2wtbmV3LWRyb3Bkb3duLW1heC13aWR0aDogcHgtdG8tcmVtKDQ1NnB4KTtcbiRnbC1kcm9wZG93bi13aWR0aC1uYXJyb3c6IHB4LXRvLXJlbSgxNjBweCk7XG4kZ2wtZHJvcGRvd24td2lkdGgtd2lkZTogcHgtdG8tcmVtKDQwMHB4KTtcbiRnbC1tYXgtZHJvcGRvd24tbWF4LWhlaWdodDogcHgtdG8tcmVtKDMxMnB4KTtcblxuLy8gQnJvYWRjYXN0IG1lc3NhZ2VzXG4kZ2wtYnJvYWRjYXN0LW1lc3NhZ2Utbm90aWZpY2F0aW9uLW1heC13aWR0aDogcHgtdG8tcmVtKDMwMHB4KTtcblxuLy8gTW9kYWwgV2lkdGhzXG4kZ2wtbW9kYWwtc21hbGwtd2lkdGg6IHB4LXRvLXJlbSg1MTJweCk7XG4kZ2wtbW9kYWwtbWVkaXVtLXdpZHRoOiBweC10by1yZW0oNzY4cHgpO1xuJGdsLW1vZGFsLWxhcmdlLXdpZHRoOiBweC10by1yZW0oOTkwcHgpO1xuXG4vLyBNb2RhbCBib290c3RyYXAgdmFyaWFibGVzXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogJGdsLWJvcmRlci1jb2xvci1zdHJvbmc7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogJGdsLWJvcmRlci1jb2xvci1zdHJvbmc7XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICRnbC1saW5lLWhlaWdodC0yMDtcbiRtb2RhbC1iYWNrZHJvcC1iZzogIzAwMDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAwLjY0O1xuXG4vLyBCb290c3RyYXAgb3ZlcnJpZGVzXG4vLyB0aGVzZSBzaG91bGQgaWRlYWxseSBiZSBtb3ZlZCBmdXJ0aGVyIHVwIGluIHRoZSBmaWxlIHRvIHRoZSBjb21wb2VudC1yZWxldmFudCBzZWN0aW9uc1xuLy8gYnV0IHRoZXkgY2FuIHdhaXQgaGVyZSBmb3Igbm93XG4kYm9keS1jb2xvcjogJGdsLXRleHQtY29sb3IgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6IGZhbHNlO1xuXG4vLyBOb3QgbW92ZWQgdG8gYSBkZXNpZ24gdG9rZW4gYXMgaXQncyBhIHZhZ3VlIEJvb3RzdHJhcCB2YXJpYWJsZSB0aGF0IG1pZ2h0IGhhdmUgZmFyLXJlYWNoaW5nLCB1bmludGVuZGVkIGNvbnNlcXVlbmNlcy5cbi8vIElkZWFsbHksIHRoaXMgdmFyaWFibGUgd291bGQganVzdCBiZSByZW1vdmVkIG9uY2Ugd2Uga25vdyBpdCBpcyBub3QgdXNlZCBhbnl3aGVyZS5cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBAZ2l0bGFiL25vLWdsLWRlcHJlY2F0ZWQtZGVzaWduLXRva2VucyAqL1xuJHNlY29uZGFyeTogJGdyYXktNTA7XG4kc3VjY2VzczogJGdsLXRleHQtY29sb3Itc3VjY2Vzcztcbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBAZ2l0bGFiL25vLWdsLWRlcHJlY2F0ZWQtZGVzaWduLXRva2VucyAqL1xuJGluZm86ICRibHVlLTUwMDtcbiR3YXJuaW5nOiAkZ2wtdGV4dC1jb2xvci13YXJuaW5nO1xuJGRhbmdlcjogJGdsLXRleHQtY29sb3ItZGFuZ2VyO1xuXG4kZm9udC13ZWlnaHQtYm9sZDogJGdsLWZvbnQtd2VpZ2h0LWJvbGQ7XG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAkZ2wtcmVndWxhci1mb250ICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogJGdsLW1vbm9zcGFjZS1mb250ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAkZ2wtZm9udC1zaXplICogMi41O1xuJGgyLWZvbnQtc2l6ZTogJGdsLWZvbnQtc2l6ZSAqIDI7XG4kaDMtZm9udC1zaXplOiAkZ2wtZm9udC1zaXplICogMS43NTtcbiRoNC1mb250LXNpemU6ICRnbC1mb250LXNpemUgKiAxLjU7XG4kaDUtZm9udC1zaXplOiAkZ2wtZm9udC1zaXplICogMS4yNTtcbiRoNi1mb250LXNpemU6ICRnbC1mb250LXNpemU7XG5cbiRzcGFjZXI6ICRncmlkLXNpemU7XG4kc3BhY2VyczogKFxuICAxOiAkZ2wtc3BhY2luZy1zY2FsZS0yLFxuICAyOiAkZ2wtc3BhY2luZy1zY2FsZS0zLFxuICAzOiAkZ2wtc3BhY2luZy1zY2FsZS01LFxuICA0OiAkZ2wtc3BhY2luZy1zY2FsZS02LFxuICA1OiAkZ2wtc3BhY2luZy1zY2FsZS03LFxuICA2OiAkZ2wtc3BhY2luZy1zY2FsZS04LFxuICA3OiAkZ2wtc3BhY2luZy1zY2FsZS05LFxuICA4OiAkZ2wtc3BhY2luZy1zY2FsZS0xMCxcbiAgOTogJGdsLXNwYWNpbmctc2NhbGUtMTEsXG4pO1xuXG4kdGFibGUtYWNjZW50LWJnOiB2YXIoLS1nbC1iYWNrZ3JvdW5kLWNvbG9yLXN1YnRsZSk7XG4kY2FyZC1ib3JkZXItY29sb3I6ICRnbC1ib3JkZXItY29sb3ItZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogJGdsLWJhY2tncm91bmQtY29sb3Itc3VidGxlICFkZWZhdWx0O1xuXG4vLyBGb3JtIGlucHV0IHNpemVzXG4kZ2wtZm9ybS1pbnB1dC1zaXplczogKFxuICB4czogJGdyaWQtc2l6ZSAqIDEwLFxuICBzbTogJGdyaWQtc2l6ZSAqIDIwLFxuICBtZDogJGdyaWQtc2l6ZSAqIDMwLFxuICBsZzogJGdyaWQtc2l6ZSAqIDQwLFxuICB4bDogJGdyaWQtc2l6ZSAqIDcwLFxuKTtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6IDAuNXJlbTtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogMC4yNXJlbTtcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAkZ2wtYm9yZGVyLWNvbG9yLWRlZmF1bHQ7XG5cbiR0b29sdGlwLW9wYWNpdHk6IDE7XG4iLCJAaW1wb3J0ICdAZ2l0bGFiL3VpL3NyYy90b2tlbnMvYnVpbGQvc2Nzcy90b2tlbnMnO1xuQGltcG9ydCAnQGdpdGxhYi91aS9zcmMvc2Nzcy92YXJpYWJsZXMnO1xuXG4vKlxuICogTGF5b3V0XG4gKi9cbiRncmlkLXNpemU6IDhweDtcbiRyaWdodC1zaWRlYmFyLWNvbGxhcHNlZC13aWR0aDogNjJweDtcbiRyaWdodC1zaWRlYmFyLXdpZHRoOiAyOTBweDtcbiRyaWdodC1zaWRlYmFyLWlubmVyLXdpZHRoOiAyNTBweDtcbiR3aWtpLXNpZGViYXItaW5uZXItd2lkdGg6IDIyMHB4O1xuJHNpZGViYXItYnJlYWtwb2ludDogMTAyNHB4O1xuJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4kdG9nZ2xlLXNpZGViYXItaGVpZ2h0OiA0OHB4O1xuJHN1cGVyLXNpZGViYXItd2lkdGg6IDE1cmVtO1xuJHN1cGVyLXNpZGViYXItei1pbmRleDogNjAwO1xuJHN1cGVyLXNpZGViYXItc2tpcC10by16LWluZGV4OiA2MDE7XG4kc3VwZXItc2lkZWJhci1vdmVybGF5LXotaW5kZXg6IDU5OTtcbiRzdXBlci1zaWRlYmFyLW5hdi1mbGF5b3V0LW1lbnUtei1pbmRleDogODAwO1xuJHN1cGVyLXNpZGViYXItbmF2LWl0ZW0tbWVudS16LWluZGV4OiAkc3VwZXItc2lkZWJhci1uYXYtZmxheW91dC1tZW51LXotaW5kZXggKyAxO1xuJHN1cGVyLXNpZGViYXItbmF2LWl0ZW0tei1pbmRleDogJHN1cGVyLXNpZGViYXItbmF2LWl0ZW0tbWVudS16LWluZGV4ICsgMTtcbiRmbGFzaC16LWluZGV4OiAyNTE7XG4kc2lkZWJhci16LWluZGV4OiAkZmxhc2gtei1pbmRleDtcbi8vIFdoZW4gcmVuZGVyZWQgYWJvdmUgdGhlIHN0YXRpYyBwYW5lbFxuLy8gc2V0IHRoZSB6LWluZGV4IHRvICsxIG9mICRmbGFzaC16LWluZGV4IHRvIGNsZWFyIGZsYXNoIG1lc3NhZ2VzXG4vLyB0aGF0IG1pZ2h0IGJlIGRpc3BsYXllZCBpbiB0aGUgcGFnZSBhbmQgdGhhdCBoYXZlIGEgei1pbmRleCBvZiAyNTFcbiRkeW5hbWljLXBhbmVsLXotaW5kZXg6ICRmbGFzaC16LWluZGV4ICsgMTtcbiRwYW5lbC1oZWFkZXItaW5uZXItei1pbmRleDogOTk7XG4vLyBUaGUgRHVvIGNoYXQgc3VyZmFjZSBzaXRzIGF0IDk5OSwgc28gdGhlIEFJIHBhbmVsIGhlYWRlciBoYXMgdG8gY2xlYXIgaXRcbi8vIG9yIGNoYXQgY29udGVudCBzd2FsbG93cyBjbGlja3Mgb24gdGhlIGhlYWRlcidzIG1lbnVzLlxuJGFpLXBhbmVsLWhlYWRlci1pbm5lci16LWluZGV4OiAxMDAwO1xuJGJhc2UtbGF5b3V0LXN0aWNreS1oZWFkZXItei1pbmRleDogJHBhbmVsLWhlYWRlci1pbm5lci16LWluZGV4IC0gMTtcbiRwYW5lbC1oZWFkZXItaW5uZXItaGVpZ2h0OiAyLjI1cmVtOyAvLz0gMzZweFxuJHRvcC1iYXItei1pbmRleDogMjEwO1xuJHNldHRpbmdzLXN0aWNreS1oZWFkZXItaGVpZ2h0OiAzcmVtO1xuJHNldHRpbmdzLXN0aWNreS1oZWFkZXItei1pbmRleDogOTg7XG4kc2V0dGluZ3Mtc3RpY2t5LWZvb3Rlci1oZWlnaHQ6IDIuNXJlbTtcbiRzZXR0aW5ncy1zdGlja3ktZm9vdGVyLXotaW5kZXg6ICN7JHNldHRpbmdzLXN0aWNreS1oZWFkZXItei1pbmRleCArIDF9O1xuJHBhbmVsZWQtbGF5b3V0LXVsdHJhLXdpZGUtYnJlYWtwb2ludDogMjU2MHB4O1xuXG4vKipcbiAg8J+aqCBEbyBub3QgdXNlIHRoaXMgc3BhY2luZyBzY2FsZSDigJQgaXQgaXMgZGVwcmVjYXRlZCBhbmQgYmVpbmcgcmVtb3ZlZC4g8J+aqFxuICBTZWUgaHR0cHM6Ly9naXRsYWIuY29tL2dpdGxhYi1vcmcvZ2l0bGFiL2lzc3Vlcy8zNjg1NyBmb3IgbW9yZSBkZXRhaWxzLlxuXG4gIEluc3RlYWQsIGlmIHlvdSBuZWVkIGEgc3BhY2luZyBjbGFzcywgYWRkIGl0IHRvIGFwcC9hc3NldHMvc3R5bGVzaGVldHMvZnJhbWV3b3JrL2NvbW1vbi5zY3NzLFxuICB1c2luZyB0aGUgZm9sbG93aW5nIHZhbHVlcy5cblxuICAgICRnbC1zcGFjaW5nLXNjYWxlLTA6IDA7XG4gICAgJGdsLXNwYWNpbmctc2NhbGUtMTogMnB4O1xuICAgICRnbC1zcGFjaW5nLXNjYWxlLTI6IDRweDtcbiAgICAkZ2wtc3BhY2luZy1zY2FsZS0zOiA4cHg7XG4gICAgJGdsLXNwYWNpbmctc2NhbGUtNDogMTJweDtcbiAgICAkZ2wtc3BhY2luZy1zY2FsZS01OiAxNnB4O1xuICAgICRnbC1zcGFjaW5nLXNjYWxlLTY6IDI0cHg7XG4gICAgJGdsLXNwYWNpbmctc2NhbGUtNzogMzJweDtcbiAgICAkZ2wtc3BhY2luZy1zY2FsZS04OiA0MHB4O1xuICAgICRnbC1zcGFjaW5nLXNjYWxlLTk6IDQ4cHg7XG4gICAgJGdsLXNwYWNpbmctc2NhbGUtMTA6IDU2cHg7XG4gICAgJGdsLXNwYWNpbmctc2NhbGUtMTE6IDY0cHg7XG4gICAgJGdsLXNwYWNpbmctc2NhbGUtMTI6IDgwcHg7XG4gICAgJGdsLXNwYWNpbmctc2NhbGUtMTM6IDk2cHg7XG5cbiAgRS5nLiwgYSBwYWRkaW5nIHRvcCBvZiA5NnB4IGNhbiBiZSBhZGRlZCB1c2luZzpcbiAgLmdsLXNoaW0tcHQtMTMge1xuICAgIHBhZGRpbmctdG9wOiA5NnB4O1xuICB9XG5cbiAgUGxlYXNlIHVzZSAtc2hpbS0gc28gaXQgY2FuIGJlIGRpZmZlcmVudGlhdGVkIGZyb20gdGhlIG9sZCBzY2FsZSBjbGFzc2VzLlxuXG4gIFRoZXNlIHdpbGwgYmUgcmVwbGFjZWQgd2hlbiB0aGUgR2l0bGFiIFVJIHV0aWxpdGllcyBhcmUgaW5jbHVkZWQuXG4qKi9cbiRzcGFjaW5nLXNjYWxlOiAoXG4gIDA6IDAsXG4gIDE6ICN7MC41ICogJGdyaWQtc2l6ZX0sXG4gIDI6ICRncmlkLXNpemUsXG4gIDM6ICN7MiAqICRncmlkLXNpemV9LFxuICA0OiAjezMgKiAkZ3JpZC1zaXplfSxcbiAgNTogI3s0ICogJGdyaWQtc2l6ZX1cbik7XG5cbi8qIFdpbGwgYmUgbW92ZWQgdG8gQGdpdGxhYi91aSBieSBodHRwczovL2dpdGxhYi5jb20vZ2l0bGFiLW9yZy9naXRsYWItc2VydmljZXMvZGVzaWduLmdpdGxhYi5jb20vLS9pc3N1ZXMvMjc5MiAqL1xuJGdsLXNwYWNpbmctc2NhbGUtNDg6IDQ4ICogJGdyaWQtc2l6ZTtcbiRnbC1zcGFjaW5nLXNjYWxlLTc1OiA3NSAqICRncmlkLXNpemU7XG4vKiBFbmQgZ2l0bGFiLXVpIzE3MDkgKi9cblxuLy8gQ29sb3Igc2NoZW1hXG4kcHVycGxlOiAjNmQ0OWNiICFkZWZhdWx0O1xuJHB1cnBsZS1saWdodDogI2VkZThmYiAhZGVmYXVsdDtcblxuLypcbiAqIFRleHRcbiAqL1xuJGdsLWZvbnQtc2l6ZTogMTRweDtcbiRnbC1mb250LXNpemUtc21hbGw6IDEycHg7XG4kZ2wtZm9udC1zaXplLWxhcmdlOiAxNnB4O1xuJGdsLWZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xuJGdsLWZvbnQtd2VpZ2h0LWJvbGQ6IDYwMDtcbiRnbC10ZXh0LWNvbG9yLXRlcnRpYXJ5OiAkZ3JheS00MDA7XG4kbGluay1jb2xvcjogdmFyKC0tZ2wtdGV4dC1jb2xvci1saW5rKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiB2YXIoLS1nbC10ZXh0LWNvbG9yLWxpbmspICFkZWZhdWx0O1xuJGdsLWZvbnQtc2l6ZS0xMjogMTJweDtcbiRnbC1mb250LXNpemUtMTQ6IDE0cHg7XG4kZ2wtZm9udC1zaXplLTE2OiAxNnB4O1xuXG4vKlxuICogTGlzdHNcbiAqL1xuJGxpc3QtdGV4dC1oZWlnaHQ6IDQycHg7XG5cbi8qXG4gKiBDb2RlXG4gKi9cbiRjb2RlLWZvbnQtc2l6ZTogOTAlO1xuJGNvZGUtbGluZS1oZWlnaHQ6IDEuNjtcbiRjb2RlLWZvbnQtc2l6ZS1maXhlZDogMTNweDtcblxuLypcbiAqIFRvb2x0aXBzXG4gKi9cbiR0b29sdGlwLWZvbnQtc2l6ZTogMTJweDtcblxuLypcbiAqIFBhZGRpbmdcbiAqL1xuJGdsLXBhZGRpbmctNDogNHB4O1xuJGdsLXBhZGRpbmctNjogNnB4O1xuJGdsLXBhZGRpbmctODogOHB4O1xuJGdsLXBhZGRpbmctMTI6IDEycHg7XG4kZ2wtcGFkZGluZzogMTZweDtcbiRnbC1wYWRkaW5nLTI0OiAyNHB4O1xuJGdsLXBhZGRpbmctMzI6IDMycHg7XG4kZ2wtaW5wdXQtcGFkZGluZzogMTBweDtcbiRnbC12ZXJ0LXBhZGRpbmc6IDZweDtcbiRnbC1wYWRkaW5nLXRvcDogMTBweDtcbiRnbC1zaWRlYmFyLXBhZGRpbmc6IDIycHg7XG4kaW5wdXQtaG9yaXpvbnRhbC1wYWRkaW5nOiAxMnB4O1xuJGJyb3dzZXItc2Nyb2xsYmFyLXNpemU6IDEwcHg7XG5cbi8qXG4gKiBNaXNjXG4gKi9cbiRoZWFkZXItaGVpZ2h0OiBjYWxjKDNyZW0gKyAxcHgpOyAvLz0gNDhweCArIDFweCBib3JkZXJcbiRjb250ZW50LXdyYXBwZXItcGFkZGluZzogNTZweDtcbiRoZWFkZXItemluZGV4OiAxMDAwO1xuJHppbmRleC1kcm9wZG93bi1tZW51OiAzMDA7XG4kaWRlLXN0YXR1c2Jhci1oZWlnaHQ6IDI1cHg7XG4kbGltaXRlZC1sYXlvdXQtd2lkdGg6IDEwMDZweDtcbiRmaXhlZC1sYXlvdXQtd2lkdGg6IDEyOTZweDtcbiR3aWtpLWNvbnRlbnQtZGVmYXVsdC13aWR0aDogOTQwcHg7XG4kd2lraS1jb250ZW50LW1heC13aWR0aDogMTYwMHB4O1xuJGltbWVyc2l2ZS1lZGl0b3ItdGV4dC13aWR0aDogNzY4cHg7XG4kY29udGFpbmVyLW1hcmdpbjogJGdsLXBhZGRpbmc7XG4kY29udGFpbmVyLW1hcmdpbi14bDogJGdsLXBhZGRpbmctMjQ7XG4kZ2wtYm9yZGVyLXJhZGl1cy1iYXNlOiAwLjI1cmVtO1xuJGdsLWJvcmRlci1yYWRpdXMtYmFzZS1pbm5lcjogY2FsYygjeyRnbC1ib3JkZXItcmFkaXVzLWJhc2V9IC0gMXB4KTtcbiRnbC1ib3JkZXItcmFkaXVzLWxnOiAwLjVyZW07XG4kZ2wtYm9yZGVyLXJhZGl1cy1sZy1pbm5lcjogY2FsYygjeyRnbC1ib3JkZXItcmFkaXVzLWxnfSAtIDFweCk7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogMnB4O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6IDhweDtcbiRkZWZhdWx0LWljb24tc2l6ZTogMTZweDtcbiRidG4tc2lkZS1tYXJnaW46ICRncmlkLXNpemU7XG4kZ2VuZXJhbC1ob3Zlci10cmFuc2l0aW9uLWR1cmF0aW9uOiAxMDBtcztcbiRnZW5lcmFsLWhvdmVyLXRyYW5zaXRpb24tY3VydmU6IGxpbmVhcjtcbiRwZXJmb3JtYW5jZS1iYXItaGVpZ2h0OiAyLjVyZW07XG4kc3lzdGVtLWhlYWRlci1oZWlnaHQ6IDE2cHg7XG4kc3lzdGVtLWZvb3Rlci1oZWlnaHQ6ICRzeXN0ZW0taGVhZGVyLWhlaWdodDtcbiR0b3AtYmFyLWhlaWdodDogM3JlbTsgLy89IDQ4cHhcbiRob21lLXBhbmVsLXRpdGxlLXJvdy1oZWlnaHQ6IDQ4cHg7XG4kaG9tZS1wYW5lbC1hdmF0YXItbW9iaWxlLXNpemU6IDI0cHg7XG4kaXNzdWFibGUtdGl0bGUtbWF4LXdpZHRoOiAzNTBweDtcbiRtaWxlc3RvbmUtdGl0bGUtbWF4LXdpZHRoOiA3NXB4O1xuJGdsLWxpbmUtaGVpZ2h0OiAxNnB4O1xuJGdsLWxpbmUtaGVpZ2h0LTE4OiAxOHB4O1xuJGdsLWxpbmUtaGVpZ2h0LTIwOiAyMHB4O1xuJGdsLWxpbmUtaGVpZ2h0LTI0OiAyNHB4O1xuJGZpbGUtaGVhZGVyLWhlaWdodDogNDJweDtcblxuLypcbiAqIE1lcmdlIHJlcXVlc3RzXG4gKi9cbiRtci1zdGlja3ktaGVhZGVyLXRpdGxlLWhlaWdodDogbWF4KCRnbC1idXR0b24tc21hbGwtc2l6ZSwgJGdsLWZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiRtci1zdGF0aWMtdGFicy1oZWlnaHQ6ICRnbC1zcGFjaW5nLXNjYWxlLTk7XG4kbXItc3RpY2t5LXRhYnMtaGVpZ2h0OiAkZ2wtc3BhY2luZy1zY2FsZS04O1xuJG1yLXN0aWNreS1kZXNjcmlwdGlvbi1wYWRkaW5nOiAkZ2wtc3BhY2luZy1zY2FsZS0yO1xuJG1yLXN0aWNreS1oZWFkZXItaGVpZ2h0OiBjYWxjKCN7JG1yLXN0aWNreS10YWJzLWhlaWdodH0gKyAjeyRtci1zdGlja3ktaGVhZGVyLXRpdGxlLWhlaWdodH0gKyAjeyRtci1zdGlja3ktZGVzY3JpcHRpb24tcGFkZGluZ30gKyAjeyRnbC1ib3JkZXItc2l6ZS0xfSk7XG4kbXItcmV2aWV3LWJhci1oZWlnaHQ6IGNhbGMoMnJlbSArIDE2cHgpO1xuXG4vKlxuICogQ2FsY3VsYXRlZCBoZWlnaHRzXG4gKi9cbiRjYWxjLXN5c3RlbS1oZWFkZXJzLWhlaWdodDogY2FsYyh2YXIoLS1zeXN0ZW0taGVhZGVyLWhlaWdodCkgKyB2YXIoLS1wZXJmb3JtYW5jZS1iYXItaGVpZ2h0KSk7XG4kY2FsYy1hcHBsaWNhdGlvbi1iYXJzLWhlaWdodDogY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0KSArICN7JGNhbGMtc3lzdGVtLWhlYWRlcnMtaGVpZ2h0fSk7XG4kY2FsYy1hcHBsaWNhdGlvbi1oZWFkZXItaGVpZ2h0OiBjYWxjKCN7JGNhbGMtYXBwbGljYXRpb24tYmFycy1oZWlnaHR9ICsgdmFyKC0tdG9wLWJhci1oZWlnaHQpKTtcbiRjYWxjLWFwcGxpY2F0aW9uLWZvb3Rlci1oZWlnaHQ6IHZhcigtLXN5c3RlbS1mb290ZXItaGVpZ2h0KTtcbiRjYWxjLWFwcGxpY2F0aW9uLXZpZXdwb3J0LWhlaWdodDogY2FsYygxMDB2aCAtICN7JGNhbGMtYXBwbGljYXRpb24taGVhZGVyLWhlaWdodH0gLSAjeyRjYWxjLWFwcGxpY2F0aW9uLWZvb3Rlci1oZWlnaHR9KTtcblxuLyogdGFudWtpIGxvZ28gY29sb3JzICovXG4kdGFudWtpLXJlZDogI2UyNDMyOTtcbiR0YW51a2ktb3JhbmdlOiAjZmM2ZDI2O1xuJHRhbnVraS15ZWxsb3c6ICNmY2EzMjY7XG5cbi8qXG4gKiBTdGF0ZSBjb2xvcnM6XG4gKi9cbiRncmVlbi01MDAtZm9jdXM6IHJnYmEoJGdyZWVuLTUwMCwgMC40KTtcbiRnbC1idG4tYWN0aXZlLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNik7XG5cbi8qXG4gKiBDb21taXQgRGlmZiBDb2xvcnNcbiAqL1xuJGxpbmUtYWRkZWQ6ICNlY2ZkZjA7XG4kbGluZS1hZGRlZC1kYXJrOiAjYzdmMGQyICFkZWZhdWx0O1xuJGxpbmUtcmVtb3ZlZDogI2ZiZTllYjtcbiRsaW5lLXJlbW92ZWQtZGFyazogI2ZhYzVjZCAhZGVmYXVsdDtcblxuLypcbiAqIFRoZSB0cmFuc3BhcmVudCBjb2xvcnMgYXJlIHVzZWQgaW4gTW9uYWNvIGVkaXRvci4gVXNpbmcgZnVsbCBvcGFjaXR5IGNvbG9yc1xuICogd291bGQgaGlkZSBvdGhlciBsYXllcnMgKHNlbGVjdGVkIHRleHQsIG1hdGNoaW5nIGJyYWNrZXRzKS5cbiAqXG4gKiBXaGVuIHRoZSB0cmFuc3BhcmVudCBjb2xvcnMgZ2V0IGxheWVyZWQgb24gd2hpdGUgYmFja2dyb3VuZCwgdGhleSBjcmVhdGUgdGhlaXJcbiAqIGZ1bGwgb3BhY2l0eSBjb3VudGVycGFydHM6XG4gKlxuICogIC0gd2hpdGUgKyAkbGluZS1hZGRlZC10cmFuc3BhcmVudCA9ICRsaW5lLWFkZGVkXG4gKiAgLSB3aGl0ZSArICRsaW5lLWFkZGVkLXRyYW5zcGFyZW50ICsgJGxpbmUtYWRkZWQtZGFyay10cmFuc3BhcmVudCA9ICRsaW5lLWFkZGVkLWRhcmtcbiAqXG4gKiBNb3JlIGRldGFpbHM6IGh0dHBzOi8vZ2l0bGFiLmNvbS9naXRsYWItb3JnL2dpdGxhYi8tL21lcmdlX3JlcXVlc3RzLzQxNTUzXG4gKi9cbiRsaW5lLWFkZGVkLXRyYW5zcGFyZW50OiByZ2JhKDE2MCwgMjQ1LCAxODAsIDAuMik7XG4kbGluZS1hZGRlZC1kYXJrLXRyYW5zcGFyZW50OiByZ2JhKDUxLCAxODgsIDkwLCAwLjIpO1xuJGxpbmUtcmVtb3ZlZC10cmFuc3BhcmVudDogcmdiYSgyMzUsIDE0NSwgMTU1LCAwLjIpO1xuJGxpbmUtcmVtb3ZlZC1kYXJrLXRyYW5zcGFyZW50OiByZ2JhKDI0NiwgNTMsIDg1LCAwLjIpO1xuJGxpbmUtbnVtYmVyLW9sZDogI2Y5ZDdkYztcbiRsaW5lLW51bWJlci1uZXc6ICNkZGZiZTY7XG4kZGFyay1kaWZmLW1hdGNoLWJnOiByZ2JhKCR3aGl0ZSwgMC4zKTtcbiRkYXJrLWRpZmYtbWF0Y2gtY29sb3I6IHJnYmEoJHdoaXRlLCAwLjEpO1xuJGRpZmYtamFnZ2VkLWJvcmRlci1ncmFkaWVudC1jb2xvcjogJGdyYXktMjAwO1xuJGRpZmYtamFnZ2VkLWJnLWNvbG9yOiB2YXIoLS1nbC1iYWNrZ3JvdW5kLWNvbG9yLXN1YnRsZSk7XG5cbi8qXG4gKiBGb250c1xuICogVGhlIC0tZGVmYXVsdC1tb25vLWZvbnQgYW5kIC0tZGVmYXVsdC1yZWd1bGFyLWZvbnQgdmFyaWFibGVzIGdpdmUgdXNlcnNcbiAqIGEgd2F5IHRvIG92ZXJyaWRlIG91ciBmb250IGNob2ljZXMgZm9yIHRoZW0uXG4gKi9cbiRtb25vc3BhY2UtZm9udDogdmFyKC0tZGVmYXVsdC1tb25vLWZvbnQsICdHaXRMYWIgTW9ubycpLCAnSmV0QnJhaW5zIE1vbm8nLCAnTWVubG8nLCAnRGVqYVZ1IFNhbnMgTW9ubycsICdMaWJlcmF0aW9uIE1vbm8nLCAnQ29uc29sYXMnLFxuICAnVWJ1bnR1IE1vbm8nLCAnQ291cmllciBOZXcnLCAnYW5kYWxlIG1vbm8nLCAnbHVjaWRhIGNvbnNvbGUnLCBtb25vc3BhY2U7XG4kcmVndWxhci1mb250OiB2YXIoLS1kZWZhdWx0LXJlZ3VsYXItZm9udCwgJ0dpdExhYiBTYW5zJyksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCAnTm90byBTYW5zJyxcbiAgVWJ1bnR1LCBDYW50YXJlbGwsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWYsICdBcHBsZSBDb2xvciBFbW9qaScsICdTZWdvZSBVSSBFbW9qaScsXG4gICdTZWdvZSBVSSBTeW1ib2wnLCAnTm90byBDb2xvciBFbW9qaSc7XG4kZ2wtbW9ub3NwYWNlLWZvbnQ6ICRtb25vc3BhY2UtZm9udDtcbiRnbC1yZWd1bGFyLWZvbnQ6ICRyZWd1bGFyLWZvbnQ7XG5cbi8qXG4qIERyb3Bkb3duc1xuKi9cbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tbWluLWhlaWdodDogNDBweDtcbiRkcm9wZG93bi1tYXgtaGVpZ2h0OiAzMTJweDtcbiRkcm9wZG93bi1tYXgtaGVpZ2h0LWxnOiA0NDVweDtcbiRkcm9wZG93bi12ZXJ0aWNhbC1vZmZzZXQ6IDRweDtcbiRkcm9wZG93bi10aXRsZS1idG4tY29sb3I6ICNiZmJmYmY7XG4kZHJvcGRvd24tbG9hZGluZy1iZzogcmdiYSgkd2hpdGUsIDAuNik7XG4kZHJvcGRvd24tZmFkZS1tYXNrLWhlaWdodDogMzJweDtcbiRkcm9wZG93bi1tZW1iZXItZm9ybS1jb250cm9sLXdpZHRoOiAxNjNweDtcblxuLypcbiogU2lkZWJhclxuKi9cbiRzaWRlYmFyLXRvZ2dsZS1oZWlnaHQ6IDYwcHg7XG4kc2lkZWJhci10b2dnbGUtd2lkdGg6IDQwcHg7XG4kc2lkZWJhci1taWxlc3RvbmUtdG9nZ2xlLWJvdHRvbS1tYXJnaW46IDEwcHg7XG5cbi8qXG4qIEJ1dHRvbnNcbiovXG4kYnRuLWFjdGl2ZS1ncmF5OiAkZ3JheS01MDtcbiRidG4tYWN0aXZlLWdyYXktbGlnaHQ6ICRncmF5LTUwO1xuJGdsLWJ0bi1wYWRkaW5nOiAxMHB4O1xuJGdsLWJ0bi1saW5lLWhlaWdodDogMTZweDtcbiRnbC1idG4tdmVydC1wYWRkaW5nOiA4cHg7XG4kZ2wtYnRuLWhvcnotcGFkZGluZzogMTJweDtcbiRnbC1idG4tc21hbGwtZm9udC1zaXplOiAxM3B4O1xuJGdsLWJ0bi1zbWFsbC1saW5lLWhlaWdodDogMThweDtcblxuLypcbiogQmFkZ2VzXG4qL1xuJGJhZGdlLWJnOiByZ2JhKCRibGFjaywgMC4wNyk7XG5cbi8qXG4gKiAgQXdhcmQgZW1vamlcbiAqL1xuJGF3YXJkLWVtb2ppLW1lbnUtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiRhd2FyZC1lbW9qaS1wb3NpdGl2ZS1hZGQtbGluZXM6ICNiYjljMTM7XG4kYXdhcmQtZW1vamktd2lkdGg6IDM3NnB4O1xuJGF3YXJkLWVtb2ppLXdpZHRoLXhzOiA5MCU7XG5cbi8qXG4gKiBTZWFyY2ggQm94XG4gKi9cbiRzZWFyY2gtaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHNlYXJjaC1pbnB1dC14bC13aWR0aDogMzIwcHg7XG5cbi8qXG4gKiAgTm90ZXNcbiAqL1xuJG5vdGUtc3BhY2luZy1sZWZ0OiAyLjVyZW07XG4kbm90ZS1zcGFjaW5nLXJlcGx5LWxlZnQ6IDJyZW07XG5cbi8qXG4qIEJvYXJkc1xuKi9cbiRpc3N1ZS1ib2FyZHMtY2FyZC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4xKTtcblxuLypcbiogQnVpbGRzXG4qL1xuJGJ1aWxkcy1sb2ctYmc6ICMxMTE7XG4kam9iLWxpbmUtbnVtYmVyLXdpZHRoOiA1MHB4O1xuXG4vKlxuKiBDb21taXQgUGFnZVxuKi9cbiRjb21taXQtbWF4LXdpZHRoLW1hcmtlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiRjb21taXQtbWVzc2FnZS10ZXh0LWFyZWEtYmc6IHJnYmEoMCwgMCwgMCwgMCk7XG5cbi8qXG4qIEZpbGVzXG4qL1xuJGxvZ3MtbGktY29sb3I6ICM4ODg7XG4kbG9ncy1wLWNvbG9yOiAjMzMzO1xuXG4vKlxuKiBGb3Jtc1xuKi9cbiRpbnB1dC1oZWlnaHQ6IDMycHg7XG4kaW5wdXQtZGFuZ2VyLWJnOiAjZjJkZWRlO1xuJGdsLWZpZWxkLWZvY3VzLXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4kZ2wtZmllbGQtZm9jdXMtc2hhZG93LWVycm9yOiByZ2JhKCRyZWQtNTAwLCAwLjYpO1xuJGlucHV0LXNob3J0LXdpZHRoOiAyMDBweDtcbiRpbnB1dC1zaG9ydC1tZC13aWR0aDogMjgwcHg7XG4kaW5wdXQtbWQtd2lkdGg6IDI0MHB4O1xuJGlucHV0LWxnLXdpZHRoOiAzMjBweDtcblxuLypcbiogTGFiZWxcbiovXG4kbGFiZWwtZm9udC1zaXplOiAxMnB4O1xuJGxhYmVsLXBhZGRpbmc6IDdweDtcbiRsYWJlbC1ib3JkZXItcmFkaXVzOiAxMDBweDtcblxuLypcbiogQW5pbWF0aW9uXG4qL1xuJGZhZGUtaW4tZHVyYXRpb246IDIwMG1zO1xuJGZhZGUtbWFzay10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuJGZhZGUtbWFzay10cmFuc2l0aW9uLWN1cnZlOiBlYXNlLWluLW91dDtcblxuLypcbiogTG9naW5cbiovXG4kbG9naW4tYnJhbmQtaG9sZGVyLWNvbG9yOiAjODg4O1xuXG4vKlxuKiBUeXBvZ3JhcGh5XG4qL1xuJGJvZHktdGV4dC1zaGFkb3c6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSk7XG5cbi8qXG5QaXBlbGluZSBHcmFwaFxuKi9cbiRjaS1hY3Rpb24tZHJvcGRvd24tYnV0dG9uLXNpemU6IDI0cHg7XG4kY2ktYWN0aW9uLWRyb3Bkb3duLXN2Zy1zaXplOiAxNnB4O1xuXG4vKlxuR2l0TGFiIFBsYW5zXG4qL1xuJGdsLXVsdGltYXRlLXBsYW46ICNkNGFmMzc7XG4kZ2wtcHJlbWl1bS1wbGFuOiAjOTFhMWFiO1xuJGdsLWJyb256ZS1wbGFuOiAjY2Q3ZjMyO1xuXG4vKlxuUGVyZm9ybWFuY2UgQmFyXG4qL1xuJHBlcmYtYmFyLWJ1Y2tldC1iZzogJGJsYWNrO1xuJHBlcmYtYmFyLWJ1Y2tldC1ib3gtc2hhZG93LWZyb206IHJnYmEoJHdoaXRlLCAwLjIpO1xuJHBlcmYtYmFyLWJ1Y2tldC1ib3gtc2hhZG93LXRvOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kcGVyZi1iYXItY2FuYXJ5LXRleHQ6ICRvcmFuZ2UtNDAwO1xuXG4vKlxuSW1hZ2UgQ29tbWVudGluZyBjdXJzb3JcbiovXG4kaW1hZ2UtY29tbWVudC1jdXJzb3ItbGVmdC1vZmZzZXQ6IDEyO1xuJGltYWdlLWNvbW1lbnQtY3Vyc29yLXRvcC1vZmZzZXQ6IDEyO1xuXG4vKlxuUG9wdXBcbiovXG4kcG9wdXAtdHJpYW5nbGUtc2l6ZTogMTVweDtcbiRwb3B1cC10cmlhbmdsZS1ib3JkZXItc2l6ZTogMXB4O1xuJHBvcHVwLWJveC1zaGFkb3ctY29sb3I6IHJnYmEoOTAsIDkwLCA5MCwgMC4wNSk7XG5cbi8qXG5EcmF3ZXJzXG4qL1xuJHdpZGUtZHJhd2VyOiA1MDBweDtcblxuLypcbk1vZGFsc1xuKi9cbiRtb2RhbC1ib2R5LWhlaWdodDogODBweDtcblxuJHByaW9yaXR5LWxhYmVsLWVtcHR5LXN0YXRlLXdpZHRoOiAxMTRweDtcblxuLypcblBvcG92ZXJzXG4qL1xuJHBvcG92ZXItbWF4LXdpZHRoOiAzODRweDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6IDAgMnB4IDNweCAxcHggJGdyYXktMTAwO1xuXG4vKlxuTWVyZ2UgcmVxdWVzdHNcbiovXG4kbXItdGFicy1oZWlnaHQ6IDQ4cHg7XG5cbi8qXG5Cb2FyZCBTd2ltbGFuZXNcbiovXG4kYm9hcmQtc3dpbWxhbmVzLWhlYWRlcnMtaGVpZ2h0OiA0OHB4O1xuXG4vKlxuU291cmNlIEVkaXRvciB0aGVtZSBvdmVycmlkZXNcbiovXG4kc291cmNlLWVkaXRvci1ob3Zlci1saWdodC10ZXh0LWNvbG9yOiAkZ2wtY29sb3ItbmV1dHJhbC01MDtcbiRzb3VyY2UtZWRpdG9yLWhvdmVyLWRhcmstdGV4dC1jb2xvcjogJGdsLWNvbG9yLW5ldXRyYWwtOTAwO1xuXG4vKipcbiBCb290c3RyYXAgNC4yLjAgaW50cm9kdWNlZCBuZXcgaWNvbnMgZm9yIHZhbGlkYXRpbmcgZm9ybXMuXG4gT3VyIGRlc2lnbiBzeXN0ZW0gZG9lcyBub3QgdXNlIHRob3NlLCBzbyB3ZSBhcmUgZGlzYWJsaW5nIHRoZW0gZm9yIG5vdzpcbiAtIERvY3M6IGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS9kb2NzLzQuMy9jb21wb25lbnRzL2Zvcm1zLyNzZXJ2ZXItc2lkZVxuIC0gSXNzdWU6IGh0dHBzOi8vZ2l0bGFiLmNvbS9naXRsYWItb3JnL2Rlc2lnbi5naXRsYWIuY29tL2lzc3Vlcy8yNDJcbiAqL1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiBmYWxzZTtcbiIsIi8qXG4gKiBUaGlzIGZpbGUgaXMgb25seSBmb3Igb3ZlcnJpZGluZyBCb290c3RyYXAgNCB2YXJpYWJsZXMuXG4gKiBQbGVhc2UgYWRkIGFueSBuZXcgdmFyaWFibGVzIHRvIHZhcmlhYmxlcy5zY3NzXG4gKi9cblxuJHNlY29uZGFyeTogJGdyYXktMTA7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICRncmF5LTEwO1xuJGlucHV0LWJvcmRlci1jb2xvcjogJGdyYXktNDAwO1xuJGlucHV0LWNvbG9yOiAkZ2wtdGV4dC1jb2xvci1kZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogJGdsLWZvbnQtc2l6ZTtcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAkcmVndWxhci1mb250O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogJG1vbm9zcGFjZS1mb250O1xuJGJ0bi1saW5lLWhlaWdodDogMjBweDtcbiR0YWJsZS1hY2NlbnQtYmc6ICRncmF5LTEwO1xuJHRhYmxlLWJvcmRlci1jb2xvcjogJGdsLWJvcmRlci1jb2xvci1kZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAkZ2wtYm9yZGVyLWNvbG9yLWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICRncmF5LTEwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICRncmVlbi01MDA7XG4kaW5mbzogJGJsdWUtNTAwO1xuJHdhcm5pbmc6ICRvcmFuZ2UtNTAwO1xuJGRhbmdlcjogJHJlZC01MDA7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAxMDQwO1xuJHppbmRleC1kdW8tY2hhdDogMTA0MDtcbiR6aW5kZXgtZHVvLWNhbGxvdXQ6IDYwMDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogKCRncmlkLXNpemUgKiAwLjUpO1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiA4cHg7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6IDEycHg7XG4kcG9wb3Zlci1tYXgtd2lkdGg6IDMwMHB4O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAxcHg7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICRnbC1ib3JkZXItY29sb3ItZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6IDAgJGJvcmRlci1yYWRpdXMtc21hbGwgJGdsLWJvcmRlci1yYWRpdXMtYmFzZSAwICRnbC1jb2xvci1hbHBoYS1kYXJrLTg7XG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogJGdsLWNvbG9yLWFscGhhLWRhcmstODtcbiRoMS1mb250LXNpemU6IDE0cHggKiAyLjU7XG4kaDItZm9udC1zaXplOiAxNHB4ICogMjtcbiRoMy1mb250LXNpemU6IDE0cHggKiAxLjc1O1xuJGg0LWZvbnQtc2l6ZTogMTRweCAqIDEuNTtcbiRoNS1mb250LXNpemU6IDE0cHggKiAxLjI1O1xuJGg2LWZvbnQtc2l6ZTogMTRweDtcbiRoZWFkaW5ncy1jb2xvcjogJGdsLXRleHQtY29sb3ItaGVhZGluZztcbiRoZWFkaW5ncy1mb250LXdlaWdodDogJGdsLWZvbnQtd2VpZ2h0LWJvbGQ7XG4kc3BhY2VyOiAkZ3JpZC1zaXplO1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogKCRzcGFjZXIgKiAwLjUpLFxuICAyOiAoJHNwYWNlciksXG4gIDM6ICgkc3BhY2VyICogMiksXG4gIDQ6ICgkc3BhY2VyICogMyksXG4gIDU6ICgkc3BhY2VyICogNCksXG4gIDY6ICgkc3BhY2VyICogNSksXG4gIDc6ICgkc3BhY2VyICogNiksXG4gIDg6ICgkc3BhY2VyICogNyksXG4gIDk6ICgkc3BhY2VyICogOClcbik7XG4kdG9vbHRpcC1wYWRkaW5nLXk6IDAuNXJlbTtcbiR0b29sdGlwLXBhZGRpbmcteDogMC43NXJlbTtcbiR0b29sdGlwLWFycm93LWhlaWdodDogMC41cmVtO1xuJHRvb2x0aXAtYXJyb3ctd2lkdGg6IDFyZW07XG4iLCJAdXNlICdzYXNzOmxpc3QnO1xuQHVzZSAnc2FzczptYXAnO1xuQGltcG9ydCAnQGdpdGxhYi91aS9zcmMvc2Nzcy92YXJpYWJsZXMnO1xuXG4vKipcbiAqIFByZWZpbGxlZCBtaXhpbnNcbiAqIE1peGlucyB3aXRoIGZpeGVkIHZhbHVlc1xuICovXG5cbkBtaXhpbiBzdHItdHJ1bmNhdGVkKCRtYXgtd2lkdGg6IDgyJSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG59XG5cbi8qXG4gKiBCYXNlIG1peGluIGZvciBsaXN0cyBpbiBHaXRMYWJcbiAqL1xuQG1peGluIGJhc2ljLWxpc3Qge1xuICBtYXJnaW46IDVweCAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gID4gbGkge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIEBhcHBseSBnbC1ib3JkZXItYjtcbiAgICBAYXBwbHkgZ2wtYm9yZGVyLWItc3VidGxlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBhcHBseSBnbC1iZy1zdWJ0bGU7XG5cbiAgICAgIGEge1xuICAgICAgICBAYXBwbHkgZ2wtZm9udC1ib2xkO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYubGlnaHQge1xuICAgICAgYSB7XG4gICAgICAgIEBhcHBseSBnbC10ZXh0LWRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB3ZWJraXQtcHJlZml4KCRwcm9wZXJ0eSwgJHZhbHVlKSB7XG4gICN7Jy13ZWJraXQtJyArICRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBrZXlmcmFtZXMoJGFuaW1hdGlvbi1uYW1lKSB7XG4gIEBrZXlmcmFtZXMgI3skYW5pbWF0aW9uLW5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaW5jbHVkZS1rZXlmcmFtZXMoJGFuaW1hdGlvbi1uYW1lKSB7XG4gIEBpbmNsdWRlIHdlYmtpdC1wcmVmaXgoYW5pbWF0aW9uLW5hbWUsICRhbmltYXRpb24tbmFtZSk7XG4gIEBpbmNsdWRlIGtleWZyYW1lcygkYW5pbWF0aW9uLW5hbWUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vKlxuICogTWl4aW4gZm9yIHN0YXR1cyBiYWRnZXMsIGFzIHVzZWQgZm9yIHBpcGVsaW5lcyBhbmQgY29tbWl0IHNpZ25hdHVyZXNcbiAqL1xuQG1peGluIHN0YXR1cy1jb2xvcigkY29sb3ItbGlnaHQsICRjb2xvci1tYWluLCAkY29sb3ItZGFyaykge1xuICBjb2xvcjogJGNvbG9yLW1haW47XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yLW1haW47XG5cbiAgJjpub3Qoc3Bhbik6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1saWdodDtcbiAgICBjb2xvcjogJGNvbG9yLWRhcms7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZGFyaztcbiAgfVxufVxuXG5AbWl4aW4gZmFkZSgkZ3JhZGllbnQtZGlyZWN0aW9uLCAkZ3JhZGllbnQtY29sb3IpIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTJweDtcbiAgd2lkdGg6IDQzcHg7XG4gIGhlaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gJGdyYWRpZW50LWRpcmVjdGlvbixcbiAgJGdyYWRpZW50LWNvbG9yIDQ1JSxcbiAgcmdiYSgkZ3JhZGllbnQtY29sb3IsIDAuNCkpO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJjpob3ZlciB7XG4gICAgQGFwcGx5IGdsLWZvY3VzO1xuICB9XG5cbiAgJi5zY3JvbGxpbmcge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB9XG5cbiAgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxufVxuXG5AbWl4aW4gc2Nyb2xsaW5nLWxpbmtzKCkge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIHRyaWFuZ2xlKCRjb2xvciwgJGJvcmRlci1jb2xvciwgJHNpemUsICRib3JkZXItc2l6ZSkge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci13aWR0aDogKCRzaXplICsgJGJvcmRlci1zaXplKTtcbiAgICBtYXJnaW4tbGVmdDogLSgkc2l6ZSArICRib3JkZXItc2l6ZSk7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLXdpZHRoOiAkc2l6ZTtcbiAgICBtYXJnaW4tbGVmdDogLSRzaXplO1xuICB9XG59XG5cbi8qXG4gKiBNaXhpbiB0aGF0IGZpeGVzIHdyYXBwaW5nIGlzc3VlcyB3aXRoIGxvbmcgc3RyaW5ncyAoZS5nLiBVUkxzKVxuICpcbiAqIE5vdGU6IHRoZSB3aWR0aCBuZWVkcyB0byBiZSBzZXQgZm9yIGl0IHRvIHdvcmsgaW4gRmlyZWZveFxuICovXG5AbWl4aW4gb3ZlcmZsb3ctYnJlYWstd29yZCB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKlxuKiBNaXhpbiB0aGF0IGhhbmRsZXMgdGhlIGNvbnRhaW5lciBmb3IgdGhlIGpvYiBsb2dzIChDSS9DRCBhbmQga3ViZXJuZXRlcyBwb2QgbG9ncylcbiovXG5AbWl4aW4gYnVpbGQtbG9nKCRiYWNrZ3JvdW5kOiAkYmxhY2spIHtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIEBhcHBseSBnbC10ZXh0LWRpc2FibGVkO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBmb250LXNpemU6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogJGdyaWQtc2l6ZTtcblxuICAuYmFzaCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGpvYi1sb2ctdG9wLWJhciB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgcGFkZGluZzogJGdyaWQtc2l6ZTtcbiAgQGFwcGx5IGdsLWJnLXNlY3Rpb247XG4gIEBhcHBseSBnbC1ib3JkZXI7XG4gIEBhcHBseSBnbC1ib3JkZXItc2VjdGlvbjtcbiAgQGFwcGx5IGdsLXRleHQtZGVmYXVsdDtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAzMnB4O1xuICBAYXBwbHkgZ2wtcm91bmRlZC10LWxnO1xuXG4gICYuaXMtc3R1Y2sge1xuICAgIEBhcHBseSBnbC1ib3JkZXItdC1kZWZhdWx0O1xuICAgIEBhcHBseSBnbC1yb3VuZGVkLXQtbm9uZTtcbiAgfVxufVxuXG4vKlxuKiBNaXhpbiB0aGF0IGhhbmRsZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjb250cm9scyBwbGFjZWQgb24gdGhlIHRvcCBiYXJcbiovXG5AbWl4aW4gYnVpbGQtY29udHJvbGxlcnMoJGNvbnRyb2wtZm9udC1zaXplLCAkZmxleC1kaXJlY3Rpb24sICR3aXRoLWdyb3csICRmbGV4LWdyb3ctc2l6ZSwgJHN2Zy1kaXNwbGF5OiBibG9jaywgJHN2Zy10b3A6IDJweCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAganVzdGlmeS1jb250ZW50OiAkZmxleC1kaXJlY3Rpb247XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xuICBAaWYgJHdpdGgtZ3JvdyB7XG4gICAgZmxleC1ncm93OiAkZmxleC1ncm93LXNpemU7XG4gIH1cblxuICBzdmcge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBkaXNwbGF5OiAkc3ZnLWRpc3BsYXk7XG4gICAgdG9wOiAkc3ZnLXRvcDtcbiAgfVxufVxuXG5AbWl4aW4gYnVpbGQtbG9hZGVyLWFuaW1hdGlvbiB7XG4gIEBrZXlmcmFtZXMgYmxpbmtpbmctZG90IHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDI1JSB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgfVxuXG4gICAgNzUlIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aGl0ZS1zcGFjZTogaW5pdGlhbDtcblxuICAuZG90IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBtYXJnaW46IGF1dG8gYXV0byAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBhbmltYXRpb246IGJsaW5raW5nLWRvdCAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjMzcztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDAuNjZzO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZW1vamktbWVudS10b2dnbGUtYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDA7XG4gIG1pbi13aWR0aDogMTZweDtcblxuICAuYXdhcmQtY29udHJvbC1pY29uLXBvc2l0aXZlLFxuICAuYXdhcmQtY29udHJvbC1pY29uLXN1cGVyLXBvc2l0aXZlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICYuaXMtYWN0aXZlIHtcbiAgICAuYXdhcmQtY29udHJvbC1pY29uLW5ldXRyYWwge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAuYXdhcmQtY29udHJvbC1pY29uLXBvc2l0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIC5hd2FyZC1jb250cm9sLWljb24tcG9zaXRpdmUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAuYXdhcmQtY29udHJvbC1pY29uLXN1cGVyLXBvc2l0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi8qXG4qIE1peGluIHRoYXQgaGFuZGxlcyB0aGUgc2l6ZSBhbmQgcmlnaHQgbWFyZ2luIG9mIGF2YXRhcnMuXG4qL1xuQG1peGluIGF2YXRhci1zaXplKCRzaXplLCAkbWFyZ2luLXJpZ2h0KSB7XG4gIHdpZHRoOiAkc2l6ZTtcbiAgaGVpZ2h0OiAkc2l6ZTtcbiAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXJpZ2h0O1xufVxuXG5AbWl4aW4gY29kZS1pY29uLXNpemUoKSB7XG4gIHdpZHRoOiAkZ2wtZm9udC1zaXplICogJGNvZGUtbGluZS1oZWlnaHQgKiAwLjk7XG4gIGhlaWdodDogJGdsLWZvbnQtc2l6ZSAqICRjb2RlLWxpbmUtaGVpZ2h0ICogMC45O1xufVxuXG5AbWl4aW4gZW1haWwtY29kZS1ibG9jayB7XG4gIC5jb2RlLmxhbmd1YWdlLWVtYWlsIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG5cbiAgICBjb2RlIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXG4gICAgICAvLyBSb3VnZSBgTmFtZS5UYWdgIGFuZCBgT3BlcmF0b3JgIHRva2VuIChlbWFpbCBoZWFkZXIga2V5ICsgJzonKVxuICAgICAgLm50LFxuICAgICAgLm8ge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG5cbiAgICAgIC8vIFJvdWdlIGBOYW1lLkF0dHJpYnV0ZWAgdG9rZW4gKGVtYWlsIGhlYWRlciB2YWx1ZSlcbiAgICAgIC5uYSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAvLyBSb3VnZSBgQ29tbWVudGAgdG9rZW4gKHF1b3RlZCB0ZXh0IGluIGVtYWlsIGJvZHkpXG4gICAgICAuYyB7XG4gICAgICAgIGNvbG9yOiAkZ2wtdGV4dC1jb2xvci1zdWJ0bGU7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGF2YXRhci1jb3VudGVyKCRib3JkZXItcmFkaXVzOiAxZW0pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktNDAwO1xuICBjb2xvcjogJHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS01MDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGZvbnQtZmFtaWx5OiAkcmVndWxhci1mb250O1xuICBmb250LXNpemU6IDlweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGRldmlzZS1lcnJvcnMge1xuICBoMiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmb250LXNpemU6ICRnbC1mb250LXNpemU7XG4gICAgY29sb3I6IHZhcigtLXJlZC03MDAsICRyZWQtNzAwKTtcbiAgfVxufVxuXG5AbWl4aW4gbm90ZXMtbWVkaWEoJGJyZWFrcG9pbnQtbmFtZSkge1xuICBAaW5jbHVkZSBnbC1jb250YWluZXItd2lkdGgtZG93bigkYnJlYWtwb2ludC1uYW1lKSB7IEBjb250ZW50OyB9XG5cbiAgLy8gRGlmZiBpcyBzaWRlIGJ5IHNpZGVcbiAgLm5vdGVzLWNvbnRlbnQucGFyYWxsZWwgJiB7XG4gICAgJGJyZWFrcG9pbnQta2V5czogbWFwLmtleXMoJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRjdXJyZW50LWluZGV4OiBsaXN0LmluZGV4KCRicmVha3BvaW50LWtleXMsICRicmVha3BvaW50LW5hbWUpO1xuXG4gICAgQGlmICRjdXJyZW50LWluZGV4IDwgbGlzdC5sZW5ndGgoJGJyZWFrcG9pbnQta2V5cykge1xuICAgICAgJHBhcmFsbGVsLWJyZWFrcG9pbnQ6IGxpc3QubnRoKCRicmVha3BvaW50LWtleXMsICRjdXJyZW50LWluZGV4ICsgMSk7XG5cbiAgICAgIEBpbmNsdWRlIGdsLWNvbnRhaW5lci13aWR0aC1kb3duKCRwYXJhbGxlbC1icmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuKiBTdHlsZSB0byBhcHBseSB0bywgZm9yIGV4YW1wbGUsIHNlYXJjaCByZXN1bHRzIG1hdGNoZXMgb3IgdGV4dCB3cmFwcGVkXG4qIGFyb3VuZCA8bWFyaz4gKGFsbG93ZWQgaW4gTWFya2Rvd24pLlxuKi9cbkBtaXhpbiBzdHItaGlnaGxpZ2h0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1vcmFuZ2UtMTAwKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgJGdsLXNwYWNpbmctc2NhbGUtMSB2YXIoLS1vcmFuZ2UtMTAwKTtcbiAgY29sb3I6IHZhcigtLWdsLXRleHQtY29sb3ItZGVmYXVsdCk7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogLTE7XG59XG5cbi8qKlxuKiBMaW5lIGNvbm5lY3RpbmcgYWN0aXZpdHkgZW50cmllcywgdXNlZCBpbiBpc3N1YWJsZXMsIHdvcmsgaXRlbXMgZXRjXG4qL1xuQG1peGluIHZlcnRpY2FsLWxpbmUoJHRvcCwgJGxlZnQsICRvZmZzZXQ6ICR0b3ApIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDJweDtcbiAgbGVmdDogJGxlZnQ7XG4gIHRvcDogJHRvcDtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRvZmZzZXR9KTtcbn1cblxuLyoqXG4gKiBEZXByZWNhdGVkIG1peGluIGZvciBkYXJrIG1vZGVcbiAqL1xuQG1peGluIGdsLWRhcmstaW52ZXJ0LWtlZXAtaHVlIHtcbiAgLmdsLWRhcmsgJiB7XG4gICAgZmlsdGVyOiBpbnZlcnQoMC44KSBodWUtcm90YXRlKDE4MGRlZyk7XG4gIH1cbn1cblxuLyoqXG4qIENJL0NEIEpvYiBpdGVtIGZhaWxlZCBzdGF0dXMgYmFja2dyb3VuZFxuKlxuKiBTZXRzIGJhY2tncm91bmQgY29sb3Igb2YgaXRlbXMgdG8gdmlzdWFsbHlcbiogaGlnaGxpZ2h0IGZhaWxlZCBqb2JzIGluIHRoZSBVSS5cbiovXG5AbWl4aW4gY2ktam9iLWl0ZW0tZmFpbGVkLXN0YXR1cy1iZyB7XG4gIC0tY2ktam9iLWl0ZW0tZmFpbGVkOiB2YXIoLS1nbC1jb2xvci1yZWQtNTApO1xuXG4gIC5nbC1kYXJrICYge1xuICAgIC0tY2ktam9iLWl0ZW0tZmFpbGVkOiB2YXIoLS1nbC1hY3Rpb24tZGFuZ2VyLWJhY2tncm91bmQtY29sb3ItYWN0aXZlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6IHZhcigtLWNpLWpvYi1pdGVtLWZhaWxlZCk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbiAgfVxuXG4gIC5nbC1yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAuZ2wtbm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuZ2wtY29sLFxuICAgID4gW2NsYXNzKj1cImdsLWNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkYnJlYWtwb2ludC12YWx1ZTogYnJlYWtwb2ludC1taW4oJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5nbC1jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGF0LXJ1bGUtZGlzYWxsb3dlZC1saXN0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2wtY29sI3skaW5maXh9LFxuICAgIC5nbC1jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBhdC1ydWxlLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgIEBpbmNsdWRlIGdsLWNvbnRhaW5lci13aWR0aC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmdsLWNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5nbC1jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5nbC1yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nbC1jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5nbC1jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAuZ2wtb3JkZXIjeyRpbmZpeH0tZmlyc3QgeyBvcmRlcjogLTE7IH1cblxuICAgICAuZ2wtb3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgLmdsLW9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcy5nbC1vZmZzZXQtMFxuICAgICAgICAgICAuZ2wtb2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjaGVja2VyYm9hcmQtYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nbC1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICA0NWRlZyxcbiAgICAgIHZhcigtLWdsLWJhY2tncm91bmQtY29sb3Itc3Ryb25nKSAyNSUsXG4gICAgICB0cmFuc3BhcmVudCAyNSUsXG4gICAgICB0cmFuc3BhcmVudCA3NSUsXG4gICAgICB2YXIoLS1nbC1iYWNrZ3JvdW5kLWNvbG9yLXN0cm9uZykgNzUlLFxuICAgICAgdmFyKC0tZ2wtYmFja2dyb3VuZC1jb2xvci1zdHJvbmcpIDEwMCVcbiAgICApLFxuICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgIDQ1ZGVnLFxuICAgICAgdmFyKC0tZ2wtYmFja2dyb3VuZC1jb2xvci1zdHJvbmcpIDI1JSxcbiAgICAgIHRyYW5zcGFyZW50IDI1JSxcbiAgICAgIHRyYW5zcGFyZW50IDc1JSxcbiAgICAgIHZhcigtLWdsLWJhY2tncm91bmQtY29sb3Itc3Ryb25nKSA3NSUsXG4gICAgICB2YXIoLS1nbC1iYWNrZ3JvdW5kLWNvbG9yLXN0cm9uZykgMTAwJVxuICAgICk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTBweCAxMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIDVweCA1cHg7XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcblxuQG1peGluIHN0ci10cnVuY2F0ZWQoJG1heC13aWR0aDogODIlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy14OiBjbGlwO1xuICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xufVxuXG5AbWl4aW4gbWFzay1jaGV2cm9uLWRvd24ge1xuICBtYXNrLWltYWdlOiB1cmwoXCIjeyRnbC1pY29uLWNoZXZyb24tZG93bn1cIik7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgbWFzay1zaXplOiBjb3Zlcjtcbn1cblxuQG1peGluIGdsLWZsdWlkLWZvbnQtc2l6ZSgkbWluLCAkbWF4KSB7XG4gIEBpbmNsdWRlIGdsLXJlc3BvbnNpdmUtcHJvcGVydHkoXCJmb250LXNpemVcIiwgJG1pbiwgJG1heCk7XG59XG5cbkBtaXhpbiBnbC1mbHVpZC1saW5lLWhlaWdodCgkbWluLCAkbWF4KSB7XG4gIEBpbmNsdWRlIGdsLXJlc3BvbnNpdmUtcHJvcGVydHkoXCJsaW5lLWhlaWdodFwiLCAkbWluLCAkbWF4KTtcbn1cblxuLyoqXG4qIERlY2xhcmVzIGEgcHJvcGVydHkgd2l0aCBhIGZsdWlkIHZhbHVlIHRoYXQgZGVjcmVhc2VzIG9yXG4qIHJpc2VzIGRlcGVuZGluZyBvbiB0aGUgdmlld3BvcnTigJlzIHNpemUuIFRoZSBwcm9wZXJ0eSB0eXBlXG4qIHNob3VsZCBiZSBudW1lcmljLlxuKlxuKiBWYWx1ZXMgYXJlIGV4cGVjdGVkIGluIHJlbSB1bml0cy5cbiogRmx1aWQgcmFuZ2U6IGJldHdlZW4gNDhyZW0gKDc2OHB4KSDigJMgNzVyZW0gKDEyMDBweCkuXG4qXG4qIEBwYXJhbSAkcHJvcGVydHkgUHJvcGVydHkgbmFtZSwgaS5lLiBsaW5lLWhlaWdodCwgZm9udC1zaXplLCB3aWR0aCwgaGVpZ2h0LCBldGMuXG4qIEBwYXJhbSAkbWluIFByb3BlcnR5IHZhbHVlIGxvd2VyIGJvdW5kLlxuKiBAcGFyYW0gJG1heCBQcm9wZXJ0eSB2YWx1ZSB1cHBlciBib3VuZC5cbiovXG5AbWl4aW4gZ2wtcmVzcG9uc2l2ZS1wcm9wZXJ0eSgkcHJvcGVydHksICRtaW4sICRtYXgpIHtcbiAgI3skcHJvcGVydHl9OiBjbGFtcC1iZXR3ZWVuKCRtaW4sICRtYXgpO1xufVxuXG4vKipcbiogSGVscGVyIGZ1bmN0aW9uIGZvciA6Zm9jdXNcbipcbiogQHBhcmFtICRzaXplIGlzIGRlcHJlY2F0ZWQgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBhbnltb3JlXG4qL1xuQG1peGluIGdsLWZvY3VzKFxuICAkc2l6ZTogbnVsbCxcbiAgJGNvbG9yOiBmYWxzZSxcbiAgJGltcG9ydGFudDogZmFsc2UsXG4gICRpbnNldDogZmFsc2UsXG4gICRmb2N1cy1yaW5nOiAkZm9jdXMtcmluZyxcbiAgJG91dGxpbmU6IGZhbHNlLFxuICAkb3V0bGluZS1vZmZzZXQ6ICRvdXRsaW5lLW9mZnNldFxuKSB7XG4gIEBpZiAkaW5zZXQgPT0gdHJ1ZSB7XG4gICAgQGlmICRjb2xvciB7XG4gICAgICBib3gtc2hhZG93OlxuICAgICAgICBpbnNldCAwIDAgMCAkb3V0bGluZS13aWR0aCB2YXIoLS1nbC1mb2N1cy1yaW5nLW91dGVyLWNvbG9yKSxcbiAgICAgICAgaW5zZXQgMCAwIDAgI3skb3V0bGluZS13aWR0aCArICRvdXRsaW5lLW9mZnNldH0gdmFyKC0tZ2wtZm9jdXMtcmluZy1pbm5lci1jb2xvciksXG4gICAgICAgIGluc2V0IDAgMCAwICN7JG91dGxpbmUtd2lkdGggKyAkb3V0bGluZS1vZmZzZXQgKyAxcHh9ICRjb2xvcixcbiAgICAgICAgJGZvY3VzLXJpbmctaW5zZXQgaWYtaW1wb3J0YW50KCRpbXBvcnRhbnQpO1xuICAgICAgb3V0bGluZTogbm9uZSBpZi1pbXBvcnRhbnQoJGltcG9ydGFudCk7XG4gICAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgTGlua1RleHQgaWYtaW1wb3J0YW50KCRpbXBvcnRhbnQpO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJG91dGxpbmUgPT0gdHJ1ZSB7XG4gICAgICBvdXRsaW5lOiAkZm9jdXMtcmluZy1vdXRsaW5lIGlmLWltcG9ydGFudCgkaW1wb3J0YW50KTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAkb3V0bGluZS1vZmZzZXQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OlxuICAgICAgICBpbnNldCAwIDAgMCAkb3V0bGluZS13aWR0aCB2YXIoLS1nbC1mb2N1cy1yaW5nLW91dGVyLWNvbG9yKSxcbiAgICAgICAgJGZvY3VzLXJpbmctaW5zZXQgaWYtaW1wb3J0YW50KCRpbXBvcnRhbnQpO1xuICAgICAgb3V0bGluZTogbm9uZSBpZi1pbXBvcnRhbnQoJGltcG9ydGFudCk7XG4gICAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgTGlua1RleHQgaWYtaW1wb3J0YW50KCRpbXBvcnRhbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSBpZiAkY29sb3Ige1xuICAgIGJveC1zaGFkb3c6XG4gICAgICBpbnNldCAwIDAgMCAkZ2wtYm9yZGVyLXNpemUtMSAkY29sb3IsXG4gICAgICAkZm9jdXMtcmluZyBpZi1pbXBvcnRhbnQoJGltcG9ydGFudCk7XG4gICAgb3V0bGluZTogbm9uZSBpZi1pbXBvcnRhbnQoJGltcG9ydGFudCk7XG4gICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCBMaW5rVGV4dCBpZi1pbXBvcnRhbnQoJGltcG9ydGFudCk7XG4gICAgfVxuICB9IEBlbHNlIGlmICRvdXRsaW5lID09IHRydWUge1xuICAgIG91dGxpbmU6ICRmb2N1cy1yaW5nLW91dGxpbmUgaWYtaW1wb3J0YW50KCRpbXBvcnRhbnQpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAkb3V0bGluZS1vZmZzZXQ7XG4gIH0gQGVsc2Uge1xuICAgIGJveC1zaGFkb3c6ICRmb2N1cy1yaW5nIGlmLWltcG9ydGFudCgkaW1wb3J0YW50KTtcbiAgICBvdXRsaW5lOiBub25lIGlmLWltcG9ydGFudCgkaW1wb3J0YW50KTtcbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgb3V0bGluZTogMnB4IHNvbGlkIExpbmtUZXh0IGlmLWltcG9ydGFudCgkaW1wb3J0YW50KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGdsLWJnLWdyYWRpZW50LWJsdXIoJGRpcmVjdGlvbiwgJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byAkZGlyZWN0aW9uLCAkdHJhbnNwYXJlbnQtcmdiYSwgJGNvbG9yIDMzJSk7XG59XG5cbi8qKlxuKiBIZWxwZXIgZnVuY3Rpb24gZm9yIEBtZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bVxuKiBicmVha3BvaW50IHdpZHRoLlxuKlxuKiBAcGFyYW0gJG5hbWUgQnJlYWtwb2ludCBuYW1lLCBzdWNoIGFzIGBzbWAgb3IgYG1kYC5cbiovXG5AbWl4aW4gZ2wtbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSkge1xuICAkbWluOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAZXJyb3IgXCIjeyRuYW1lfSBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50IGZvciB0aGlzIEBtZWRpYSBxdWVyeS5cIjtcbiAgfVxuICBAaWYgJG1pbiAhPSAwIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vKipcbiogSGVscGVyIGZ1bmN0aW9uIGZvciBAbWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bVxuKiBicmVha3BvaW50IHdpZHRoLlxuKlxuKiBOb3RlOiBCZWZvcmUgdXNpbmcsIGNvbnNpZGVyIHVzaW5nIGEgbW9iaWxlLWZpcnN0XG4qIGFwcHJvYWNoLCBhbmQgZGVmaW5lIEBtZWRpYSBmb3IgbGFyZ2VyIGJyZWFrcG9pbnRzXG4qIHVzaW5nIGBnbC1tZWRpYS1icmVha3BvaW50LXVwYCB3aGlsZSB1c2luZyB0aGlzIHJ1bGUgYXNcbiogdGhlIHN0YXJ0aW5nIHBvaW50IGluc3RlYWQuXG4qXG4qIEBwYXJhbSAkbmFtZSBCcmVha3BvaW50LCBzdWNoIGFzIGBzbWAgb3IgYG1kYC4gYHhzYCBpcyBub3QgdmFsaWRcbiovXG5AbWl4aW4gZ2wtbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lKSB7XG4gICRtYXg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEBpZiAoJG1heCA9PSBudWxsIG9yICRtYXggPT0gMCkge1xuICAgIEBlcnJvciBcIiN7JG5hbWV9IGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQgZm9yIHRoaXMgQG1lZGlhIHF1ZXJ5LlwiO1xuICB9XG4gIC8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuICAvLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgd2l0aCBmcmFjdGlvbmFsIHZpZXdwb3J0IHNpemVzLlxuICAvLyBTZWU6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuICAvLyBVc2UgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbiAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbiAgJGJyZWFrcG9pbnQtbWF4LXJhbmdlLXByZWNpc2lvbjogMC4wMnB4O1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4IC0gJGJyZWFrcG9pbnQtbWF4LXJhbmdlLXByZWNpc2lvbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBnbC1jb250YWluZXItd2lkdGgtdXAoJG5hbWUsICRjb250YWluZXJOYW1lOiBcIlwiLCAkaW5jbHVkZU1RRmFsbGJhY2s6IHRydWUpIHtcbiAgJG1pbjogbWFwLmdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGVycm9yIFwiI3skbmFtZX0gaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludCBmb3IgdGhpcyBAY29udGFpbmVyIHF1ZXJ5LlwiO1xuICB9XG4gIEBpZiAkbWluICE9IDAge1xuICAgIEBjb250YWluZXIgI3skY29udGFpbmVyTmFtZX0gKHdpZHRoID49ICN7JG1pbn0pIHtcbiAgICAgIEBpZiAmIHtcbiAgICAgICAgOndoZXJlKGh0bWwud2l0aC1nbC1jb250YWluZXItcXVlcmllcykgJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA6d2hlcmUoaHRtbC53aXRoLWdsLWNvbnRhaW5lci1xdWVyaWVzKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGlmICRpbmNsdWRlTVFGYWxsYmFjayB7XG4gICAgICBAbWVkaWEgKHdpZHRoID49ICRtaW4pIHtcbiAgICAgICAgQGlmICYge1xuICAgICAgICAgIDp3aGVyZShodG1sOm5vdCgud2l0aC1nbC1jb250YWluZXItcXVlcmllcykpICYge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA6d2hlcmUoaHRtbDpub3QoLndpdGgtZ2wtY29udGFpbmVyLXF1ZXJpZXMpKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBnbC1jb250YWluZXItd2lkdGgtZG93bigkbmFtZSwgJGNvbnRhaW5lck5hbWU6IFwiXCIsICRpbmNsdWRlTVFGYWxsYmFjazogdHJ1ZSkge1xuICAkbWF4OiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAaWYgKCRtYXggPT0gbnVsbCBvciAkbWF4ID09IDApIHtcbiAgICBAZXJyb3IgXCIjeyRuYW1lfSBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50IGZvciB0aGlzIEBjb250YWluZXIgcXVlcnkuXCI7XG4gIH1cblxuICBAY29udGFpbmVyICN7JGNvbnRhaW5lck5hbWV9ICh3aWR0aCA8ICN7JG1heH0pIHtcbiAgICBAaWYgJiB7XG4gICAgICA6d2hlcmUoaHRtbC53aXRoLWdsLWNvbnRhaW5lci1xdWVyaWVzKSAmIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICA6d2hlcmUoaHRtbC53aXRoLWdsLWNvbnRhaW5lci1xdWVyaWVzKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJGluY2x1ZGVNUUZhbGxiYWNrIHtcbiAgICBAbWVkaWEgKHdpZHRoIDwgJG1heCkge1xuICAgICAgQGlmICYge1xuICAgICAgICA6d2hlcmUoaHRtbDpub3QoLndpdGgtZ2wtY29udGFpbmVyLXF1ZXJpZXMpKSAmIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDp3aGVyZShodG1sOm5vdCgud2l0aC1nbC1jb250YWluZXItcXVlcmllcykpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiogSGVscGVyIGZ1bmN0aW9uIHRvIHJlc29sdmUgZm9udC1zaXplIHZhbHVlIGZyb20gJGdsLWZvbnQtc2l6ZXMgYW5kXG4qICRnbC1mb250LXNpemVzLWZpeGVkIG1hcHMuXG4qXG4qIEBwYXJhbSAkc2l6ZSBOdW1iZXIgZm9udC1zaXplIHNjYWxlXG4qIEBwYXJhbSAkZml4ZWQgQm9vbGVhbiB0b2dnbGUgZGVmYXVsdCBhbmQgZml4ZWQgZm9udCBzaXplIHNjYWxlc1xuKi9cbkBmdW5jdGlvbiBnZXQtZm9udC1zaXplLXZhcmlhYmxlKCRzaXplLCAkZml4ZWQpIHtcbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGdsLWZvbnQtc2l6ZXMtZml4ZWQsICRzaXplKSB7XG4gICAgICBAcmV0dXJuIG1hcC5nZXQoJGdsLWZvbnQtc2l6ZXMtZml4ZWQsICRzaXplKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBlcnJvciBcIiN7JHNpemV9IGlzIG5vdCBhIHZhbGlkIGZpeGVkIGZvbnQgc2l6ZSBwcm9wZXJ0eVwiO1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRnbC1mb250LXNpemVzLCAkc2l6ZSkge1xuICAgICAgQHJldHVybiBtYXAuZ2V0KCRnbC1mb250LXNpemVzLCAkc2l6ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCIjeyRzaXplfSBpcyBub3QgYSB2YWxpZCBmb250IHNpemUgcHJvcGVydHlcIjtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGdsLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tdHJhbnNpdGlvbiB7XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbikge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBtcyAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBnbC1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLWFuaW1hdGlvbiB7XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbikge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1kZWxheTogMG1zICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGdsLWFjdGlvbi1zZWxlY3RlZC1jb2xvcnMge1xuICBjb2xvcjogdmFyKC0tZ2wtYWN0aW9uLXNlbGVjdGVkLWZvcmVncm91bmQtY29sb3ItZGVmYXVsdCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdsLWFjdGlvbi1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yLWRlZmF1bHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWdsLWFjdGlvbi1zZWxlY3RlZC1ib3JkZXItY29sb3ItZGVmYXVsdCk7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWdsLWFjdGlvbi1zZWxlY3RlZC1mb3JlZ3JvdW5kLWNvbG9yLWhvdmVyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nbC1hY3Rpb24tc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvci1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nbC1hY3Rpb24tc2VsZWN0ZWQtYm9yZGVyLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6IHZhcigtLWdsLWFjdGlvbi1zZWxlY3RlZC1mb3JlZ3JvdW5kLWNvbG9yLWZvY3VzKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nbC1hY3Rpb24tc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvci1mb2N1cyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nbC1hY3Rpb24tc2VsZWN0ZWQtYm9yZGVyLWNvbG9yLWZvY3VzKTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tZ2wtYWN0aW9uLXNlbGVjdGVkLWZvcmVncm91bmQtY29sb3ItYWN0aXZlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nbC1hY3Rpb24tc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvci1hY3RpdmUpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ2wtYWN0aW9uLXNlbGVjdGVkLWJvcmRlci1jb2xvci1hY3RpdmUpO1xuICB9XG59XG4iLCJAaW1wb3J0ICdtaXhpbnNfYW5kX3ZhcmlhYmxlc19hbmRfZnVuY3Rpb25zJztcblxuJGRlc2lnbi1waW4tZGlhbWV0ZXI6IDI4cHg7XG4kZGVzaWduLXBpbi1kaWFtZXRlci1zbTogMjRweDtcblxuLy8gRml4IGRlc2lnbiBtYW5hZ2VtZW50IGZ1bGxzY3JlZW4gZGlzcGxheSBpbiBwYW5lbHNcbi5kZXNpZ24tZGV0YWlsLWxheW91dCAucGFuZWwtY29udGVudCB7XG4gIEBhcHBseSBnbC1maXhlZDtcbiAgQGFwcGx5IGdsLWluc2V0LTA7XG4gIEBhcHBseSBnbC16LTE7XG4gIEBhcHBseSBnbC1tYXgtdy1ub25lO1xuICBAYXBwbHkgZ2wtaC1zY3JlZW47XG59XG5cbi5sYXlvdXQtcGFnZS5kZXNpZ24tZGV0YWlsLWxheW91dCB7XG4gIG1heC1oZWlnaHQ6IDEwMHZoO1xuXG4gIC5zdXBlci1zaWRlYmFyLCAucGFuZWwtaGVhZGVyLWlubmVyIHtcbiAgICB6LWluZGV4OiAwO1xuICB9XG59XG5cbi5kZXNpZ24tZGV0YWlsIHtcbiAgdG9wOiAkY2FsYy1zeXN0ZW0taGVhZGVycy1oZWlnaHQ7XG4gIGJvdHRvbTogJGNhbGMtYXBwbGljYXRpb24tZm9vdGVyLWhlaWdodDtcbiAgei1pbmRleDogMTAzMDtcblxuICAuY29tbWVudC1pbmRpY2F0b3Ige1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gIC5jb21tZW50LWluZGljYXRvcixcbiAgLmZyYW1lIC5kZXNpZ24tbm90ZS1waW4ge1xuICAgICY6YWN0aXZlIHtcbiAgICAgIGN1cnNvcjogZ3JhYmJpbmc7XG4gICAgfVxuICB9XG59XG5cbi5kZXNpZ24tZGlzY2xvc3VyZSB7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIGZsZXgtc2hyaW5rOiA0O1xuXG4gIEBpbmNsdWRlIGdsLWNvbnRhaW5lci13aWR0aC11cChsZywgcGFuZWwpIHtcbiAgICB3aWR0aDogNDAwcHggIWltcG9ydGFudDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxufVxuXG4vLyBUaGVzZSBhcmUgY29tcG9zaXRlIGNsYXNzZXMgZm9yIHVzZSB3aXRoIFZ1ZSBUcmFuc2l0aW9uXG4vLyBodHRwczovL3Z1ZWpzLm9yZy9ndWlkZS9idWlsdC1pbnMvdHJhbnNpdGlvblxuLmRlc2lnbi1kaXNjbG9zdXJlLWVudGVyLXRvIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uZGVzaWduLWRpc2Nsb3N1cmUtZW50ZXIsXG4uZGVzaWduLWRpc2Nsb3N1cmUtbGVhdmUtdG8ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5kZXNpZ24tZGlzY2xvc3VyZS1lbnRlci1hY3RpdmUsXG4uZGVzaWduLWRpc2Nsb3N1cmUtbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xufVxuXG4uZGVzaWduLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogMTYwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmRlc2lnbi1ub3RlLXBpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJGRlc2lnbi1waW4tZGlhbWV0ZXItc207XG4gIHdpZHRoOiAkZGVzaWduLXBpbi1kaWFtZXRlci1zbTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIEBhcHBseSBnbC10ZXh0LW5ldXRyYWwtMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2wtc3RhdHVzLWJyYW5kLWljb24tY29sb3IpO1xuICBmb250LXdlaWdodDogJGdsLWZvbnQtd2VpZ2h0LWJvbGQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuXG4gICYuZHJhZnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdsLXN0YXR1cy13YXJuaW5nLWljb24tY29sb3IpO1xuICB9XG5cbiAgJi5yZXNvbHZlZCB7XG4gICAgQGFwcGx5IGdsLWJnLXN0cm9uZztcbiAgICBAYXBwbHkgZ2wtdGV4dC1zdHJvbmc7XG4gIH1cblxuICAmLm9uLWltYWdlIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggdmFyKC0tZ2wtY29sb3ItYWxwaGEtZGFyay04KSwgMCAwIDFweCB2YXIoLS1nbC1jb2xvci1hbHBoYS1kYXJrLTI0KTtcbiAgICBAYXBwbHkgZ2wtYm9yZGVyLTI7XG4gICAgQGFwcGx5IGdsLWJvcmRlci1zb2xpZDtcbiAgICBAYXBwbHkgZ2wtYm9yZGVyLW5ldXRyYWwtMDtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBib3gtc2hhZG93LCBvcGFjaXR5O1xuICAgIC8vIE5PVEU6IHZlcmJvc2UgdHJhbnNpdGlvbiBwcm9wZXJ0eSByZXF1aXJlZCBmb3IgU2FmYXJpXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRnZW5lcmFsLWhvdmVyLXRyYW5zaXRpb24tZHVyYXRpb24gbGluZWFyLCBib3gtc2hhZG93ICRnZW5lcmFsLWhvdmVyLXRyYW5zaXRpb24tZHVyYXRpb24gbGluZWFyLCBvcGFjaXR5ICRnZW5lcmFsLWhvdmVyLXRyYW5zaXRpb24tZHVyYXRpb24gbGluZWFyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgNHB4IHZhcigtLWdsLXNoYWRvdy1jb2xvci1kZWZhdWx0KSwgMCA0cHggMTJweCB2YXIoLS1nbC1zaGFkb3ctY29sb3ItZGVmYXVsdCk7XG4gICAgfVxuXG4gICAgJi5pbmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc21hbGwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBAYXBwbHkgZ2wtYm9yZGVyLTE7XG4gICAgQGFwcGx5IGdsLWJvcmRlci1zb2xpZDtcbiAgICBAYXBwbHkgZ2wtYm9yZGVyLW5ldXRyYWwtMDtcbiAgICBoZWlnaHQ6ICRkZXNpZ24tcGluLWRpYW1ldGVyLXNtO1xuICAgIHdpZHRoOiAkZGVzaWduLXBpbi1kaWFtZXRlci1zbTtcbiAgfVxuXG4gICYudXNlci1hdmF0YXIge1xuICAgIHRvcDogMjVweDtcbiAgICByaWdodDogOHB4O1xuICB9XG59XG5cbi5kZXNpZ24tc2NhbGVyLXdyYXBwZXIge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uaW1hZ2Utbm90ZXMge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAkZ2wtcGFkZGluZztcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIEBhcHBseSBnbC1iZy1kZWZhdWx0O1xuXG4gIC5saW5rLWluaGVyaXQtY29sb3Ige1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLnRvZ2dsZS1jb21tZW50cyB7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAudG9nZ2xlLWNvbW1lbnRzLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ibHVlLTYwMCwgJGJsdWUtNjAwKTtcbiAgICB9XG4gIH1cblxuICAudG9nZ2xlLWNvbW1lbnRzIH4gLmRlc2lnbi1ub3RlIHtcbiAgICBAYXBwbHkgZ2wtYmctc3VidGxlO1xuICB9XG5cbiAgLmRlc2lnbi1kaXNjdXNzaW9uIHtcbiAgICBtYXJnaW46ICRnbC1wYWRkaW5nIDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBAYXBwbHkgZ2wtYm9yZGVyLWw7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAxMXB4O1xuICAgICAgdG9wOiAtMTdweDtcbiAgICAgIGhlaWdodDogMTdweDtcbiAgICB9XG5cbiAgICAuZGVzaWduLW5vdGU6Zmlyc3QtY2hpbGQge1xuICAgICAgQGFwcGx5IGdsLWJnLXNlY3Rpb247XG4gICAgICBAYXBwbHkgZ2wtYm9yZGVyLWI7XG4gICAgICBAYXBwbHkgZ2wtYm9yZGVyLWItc2VjdGlvbjtcbiAgICAgIEBhcHBseSBnbC1yb3VuZGVkLXQtYmFzZTtcbiAgICB9XG5cbiAgICAuZGVzaWduLW5vdGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgQGFwcGx5IGdsLWJnLXN1YnRsZTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZS1kaXNjdXNzaW9uIHtcbiAgICAgIC5kZXNpZ24tbm90ZTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbWVsaW5lLWVudHJ5LXRhcmdldC1iYWNrZ3JvdW5kLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXNpZ24tbm90ZSB7XG4gICAgICBwYWRkaW5nOiAkZ2wtcGFkZGluZy04O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIEBhcHBseSBnbC10cmFuc2l0aW9uLWJhY2tncm91bmQ7XG5cbiAgICAgIHZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJlcGx5LXdyYXBwZXIsIC5kaXNhYmxlZC1jb21tZW50IHtcbiAgICAgIHBhZGRpbmc6ICRnbC1wYWRkaW5nLTg7XG4gICAgICBAYXBwbHkgZ2wtYmctc3VidGxlO1xuICAgICAgQGFwcGx5IGdsLWJvcmRlci0wO1xuICAgICAgQGFwcGx5IGdsLXJvdW5kZWQtYi1iYXNlO1xuICAgIH1cbiAgfVxuXG4gIC5uZXctZGlzY3Vzc2lvbi1kaXNjbGFpbWVyIHtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBnbC1jb250YWluZXItd2lkdGgtZG93bihsZywgcGFuZWwpIHtcbiAgLmRlc2lnbi1kZXRhaWwge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgfVxuXG4gIC5pbWFnZS1ub3RlcyB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbiJdfQ== */
