@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&display=swap);
@charset "UTF-8";
/*! base.css v1.1 */
/* ==========================================================================
   HTML5 display definitions
   KhangTQQ Editor
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
 */
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
  display: block;
}

/**
 * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 */
audio, canvas, video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
 * Known issue: no IE 6 support.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
 *    `em` units.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-size: 100%;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Address `font-family` inconsistency between `textarea` and other form
 * elements.
 */
html, button, input, select, textarea {
  font-family: "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
}

/**
 * Address margins handled incorrectly in IE 6/7.
 */
body {
  margin: 0;
  font-family: "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
}

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a {
  text-decoration: none;
  color: #000;
}

a:focus {
  outline: none;
}

* {
  box-sizing: border-box;
  outline: none;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active, a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address font sizes and margins set differently in IE 6/7.
 * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
 * and Chrome.
 */
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  margin: 0em;
}

/**
 * Address styling not present in IE 7/8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
 */
b, strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 * Known issue: no IE 6/7 normalization.
 */
hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Address styling not present in IE 6/7/8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address margins set differently in IE 6/7.
 */
p, pre {
  margin: 0;
}

/**
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
code, kbd, pre, samp {
  font-family: monospace, serif;
  _font-family: "courier new", monospace;
  font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/**
 * Address CSS quotes not supported in IE 6/7.
 */
q {
  quotes: none;
}

/**
 * Address `quotes` property not supported in Safari 4.
 */
q:before, q:after {
  content: "";
  content: none;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
   Lists
   ========================================================================== */
/**
 * Address margins set differently in IE 6/7.
 */
dl, menu, ol, ul {
  margin: 0;
}

dd {
  margin: 0;
}

/**
 * Address paddings set differently in IE 6/7.
 */
menu, ol, ul {
  padding: 0;
}

/**
 * Correct list images handled incorrectly in IE 7.
 */
nav ul, nav ol {
  list-style: none;
  list-style-image: none;
}

/**
 * All browser
 */
ul {
  list-style: none;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
 * 2. Improve image quality when scaled in IE 7.
 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  border: 0;
  /* 1 */
  -ms-interpolation-mode: bicubic;
  /* 2 */
}

/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Correct margin displayed oddly in IE 6/7.
 */
form {
  margin: 0;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0;
  padding: 0;
}

/**
 * 1. Correct color not being inherited in IE 6/7/8/9.
 * 2. Correct text not wrapping in Firefox 3.
 * 3. Correct alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  white-space: normal;
  /* 2 */
  *margin-left: 0;
  /* 3 */
}

/**
 * 1. Correct font size not being inherited in all browsers.
 * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
 *    and Chrome.
 * 3. Improve appearance and consistency in all browsers.
 */
button, input, select, textarea {
  font-size: 100%;
  /* 1 */
  margin: 0;
  /* 2 */
  vertical-align: baseline;
  /* 3 */
  *vertical-align: middle;
  /* 3 */
}

/**
 * Address Firefox 3+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button, input {
  line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button, select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */
button, html input[type=button],
input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
  *overflow: visible;
  /* 4 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled], html input[disabled] {
  cursor: default;
}

/**
 * 1. Address box sizing set to content-box in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 * 3. Remove excess padding in IE 7.
 *    Known issue: excess padding remains in IE 6.
 */
input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
  *height: 13px;
  /* 3 */
  *width: 13px;
  /* 3 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 3+.
 */
button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 6/7/8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**
 * REMOVE BACKGROUND INPUT CONFIRM
 */
input.clear_css:-webkit-autofill, textarea.clear_css:-webkit-autofill {
  -webkit-box-shadow: 0 1px 3px #c9c9c9 inset !important;
  -webkit-transition: background-color 10s ease-in-out 0s;
  transition: background-color 10s ease-in-out 0s;
}

input.clear_css:-webkit-autofill.wpcf7c-conf, textarea.clear_css:-webkit-autofill.wpcf7c-conf {
  -webkit-box-shadow: 0 0 0px 1000px #f7f9f6 inset !important;
  -webkit-transition: background-color 10s ease-in-out 0s;
  transition: background-color 10s ease-in-out 0s;
}

/**
 * CLEAR BOTH
 */
.clearfix:after {
  display: block;
  clear: both;
  content: "";
}

/**
 * HOVER OPACITY A
 */
.hover {
  transition: opacity 0.4s ease;
}

.hover:hover {
  opacity: 0.8;
}

.objfitIE img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*Xoa <br> trên ie*/
@media all and (-ms-high-contrast: none) {
  br {
    opacity: 0;
    font-size: 0;
  }
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(6px + 8 * (100vw - 375px) / 991);
  color: #333333;
  background-image: url(/images/bg.png?49828c1afe2ede16250b683f4fe30ded);
  background-size: auto;
}
@media (min-width: 1366px) {
  body {
    font-size: 14px;
  }
}

#app {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

input,
textarea {
  font-family: "Noto Sans JP", sans-serif;
}

.inner {
  max-width: 1920px;
  margin: 0 auto;
}

#header .inner {
  padding: 2.5vw 1.4vw;
  text-align: center;
}
#header .inner .logo {
  max-width: 27.3vw;
  padding: 16px 0 7px;
}
#header .inner .logo:hover {
  opacity: 0.8;
}
@media (min-width: 1366px) and (max-width: 1400px) {
  #header .inner .logo {
    max-width: 385px;
    padding: 13.5px 0 5px;
  }
}
@media (min-width: 1920px) {
  #header .inner .logo {
    max-width: 525px;
    padding: 19px 0 7px;
  }
}
@media (min-width: 1366px) and (max-width: 1400px) {
  #header .inner {
    padding: 35px 20px;
  }
}
@media (min-width: 1920px) {
  #header .inner {
    padding: 48px 27px;
  }
}

#main {
  margin-bottom: 3.57vw;
}
@media (min-width: 1366px) and (max-width: 1400px) {
  #main {
    margin-bottom: 50px;
  }
}
@media (min-width: 1920px) {
  #main {
    margin-bottom: 68.5px;
  }
}
#main .inner {
  padding: 0 1.4vw;
}
@media (min-width: 1366px) and (max-width: 1400px) {
  #main .inner {
    padding: 0 20px;
  }
}
@media (min-width: 1920px) {
  #main .inner {
    padding: 0 27px;
  }
}
#main .inner .alert-container {
  display: flex;
  margin-bottom: 2.857vw;
}
@media (min-width: 1366px) {
  #main .inner .alert-container {
    margin-bottom: 40px;
  }
}
#main .inner .alert-container.title-shogi {
  margin-bottom: 3.57vw;
}
@media (min-width: 1366px) {
  #main .inner .alert-container.title-shogi {
    margin-bottom: 50px;
  }
}
#main .inner .alert-container.title-shogi-detail-box {
  margin-bottom: 2.14vw;
  margin-top: 1.42vw;
}
@media (min-width: 1366px) {
  #main .inner .alert-container.title-shogi-detail-box {
    margin-bottom: 30px;
    margin-top: 20px;
  }
}
#main .inner .alert-column {
  flex: 1 1 0;
}
@media (min-width: 1366px) and (max-width: 1400px) {
  #main .inner .alert-column {
    max-width: 265px;
  }
}
#main .inner .alert-column-main {
  flex: 3 3 0;
  display: flex;
  flex-direction: column;
}
#main .inner .alert-column-main .alert {
  margin-bottom: 0.7vw;
}
@media (min-width: 1366px) and (max-width: 1400px) {
  #main .inner .alert-column-main .alert {
    margin-bottom: 10px;
  }
}
@media (min-width: 1920px) {
  #main .inner .alert-column-main .alert {
    margin-bottom: 13.5px;
  }
}
#main .inner .alert-column-main .alert:last-child {
  margin-bottom: 0;
}
#main .inner .alert {
  display: flex;
  min-height: 4.2vw;
  width: 100%;
  padding: 1.07vw 2.14vw;
}
@media (min-width: 1366px) and (max-width: 1400px) {
  #main .inner .alert {
    max-width: 830px;
  }
}
@media (min-width: 1366px) {
  #main .inner .alert {
    min-height: 60px;
    padding: 15px 30px;
  }
}
#main .inner .alert img {
  width: 2.178vw;
  height: 1.79vw;
  margin-right: 1.42vw;
}
@media (min-width: 1366px) {
  #main .inner .alert img {
    width: 30.5px;
    height: 25px;
    margin-right: 20px;
  }
}
#main .inner .alert .alert-message, #main .inner .alert .alert-message a {
  color: #ffffff;
  word-break: break-all;
  font-size: calc(5px + 15 * (100vw - 375px) / 991);
  font-weight: bold;
}
@media (min-width: 1366px) {
  #main .inner .alert .alert-message, #main .inner .alert .alert-message a {
    font-size: 20px;
  }
}
#main .inner .alert .alert-message a {
  text-decoration: underline;
  text-underline-position: under;
}
#main .inner .alert .alert-message a:hover {
  color: #cb0c0c;
}
#main .inner .alert-danger {
  background-color: #cb0c0c;
}
#main .inner .alert-success {
  background-color: #2fa124;
}

#footer {
  margin-top: auto;
  background-color: rgba(58, 25, 7, 0.7);
}
#footer .memu-footer-box {
  padding: 2vw 0px 0px;
}
@media (min-width: 1366px) {
  #footer .memu-footer-box {
    padding: 30px 0px 0px;
  }
}
#footer .memu-footer-box .memu-footer-list {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  width: calc(300px + 226 * (100vw - 375px) / 725);
}
@media (min-width: 1100px) {
  #footer .memu-footer-box .memu-footer-list {
    width: 555px;
  }
}
#footer .memu-footer-box .memu-footer-list .memu-footer-item {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: end;
  border-left: 1px solid #fff;
  padding: 0 5px;
  width: 50%;
}
@media (min-width: 1100px) {
  #footer .memu-footer-box .memu-footer-list .memu-footer-item {
    padding: 0px;
  }
}
#footer .memu-footer-box .memu-footer-list .memu-footer-item:hover * {
  opacity: 0.7;
}
#footer .memu-footer-box .memu-footer-list .memu-footer-item .icon-mail {
  margin-right: 0.714vw;
  width: calc(18px + 8.75 * (100vw - 375px) / 991);
  height: calc(15px + 6 * (100vw - 375px) / 991);
  margin-top: 2px;
}
@media (min-width: 1366px) {
  #footer .memu-footer-box .memu-footer-list .memu-footer-item .icon-mail {
    width: 25.35px;
    height: 22px;
    margin-right: 10px;
    margin-top: 3px;
  }
}
#footer .memu-footer-box .memu-footer-list .memu-footer-item a {
  font-family: "Noto Serif JP", serif;
  color: #fff;
  font-weight: bold;
  font-size: calc(10px + 8 * (100vw - 375px) / 991);
}
@media (min-width: 1366px) {
  #footer .memu-footer-box .memu-footer-list .memu-footer-item a {
    font-size: 18px;
  }
}
#footer .memu-footer-box .memu-footer-list .memu-footer-item a .smallTxt {
  font-size: calc(6px + 8 * (100vw - 375px) / 991);
  color: #ffffffbd;
}
@media (min-width: 1366px) {
  #footer .memu-footer-box .memu-footer-list .memu-footer-item a .smallTxt {
    font-size: 13px;
  }
}
#footer .memu-footer-box .memu-footer-list .memu-footer-item:last-child {
  border-right: 1px solid #fff;
  text-align: center;
}
#footer .copyright {
  font-family: "Noto Serif JP", serif;
  padding: 2.857vw 1.4vw;
  color: #ffffff;
  text-align: center;
  font-weight: bold;
  font-size: calc(8px + 6 * (100vw - 375px) / 991);
}
@media (min-width: 1366px) and (max-width: 1400px) {
  #footer .copyright {
    padding: 40px 20px;
  }
}
@media (min-width: 1920px) {
  #footer .copyright {
    padding: 54.85px 27px;
  }
}
@media (min-width: 1366px) {
  #footer .copyright {
    font-size: 14px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2Zyb250ZW5kLmNzcyIsIm1hcHBpbmdzIjoiO0FBQUEsZ0JBQWdCO0FDQWhCO0FBRUE7OzsrRUFBQTtBQUtBOztFQUFBO0FBSUE7RUFDSTtBREFKOztBQ0VBOztFQUFBO0FBSUE7RUFDSTtHQ0FGLGVEQ0U7R0NBRixPRENFO0FEQUo7O0FDRUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0FEQUo7O0FDRUE7OztFQUFBO0FBS0E7RUFDSTtBREFKOztBQ0VBOzsrRUFBQTtBQUlBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURESjs7QUNHQTs7O0VBQUE7QUFLQTtFQUNJO0FEREo7O0FDR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QURESjs7QUNHQTs7K0VBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBREZKOztBQ0lBO0VBQ0k7QURESjs7QUNHQTtFQUdJO0VBQ0E7QURBSjs7QUNFQTs7RUFBQTtBQUlBO0VBQ0k7QURBSjs7QUNFQTs7K0VBQUE7QUFJQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0FEREo7O0FDR0E7O0VBQUE7QUFJQTtFQUNJO0FEREo7O0FDR0E7O0VBQUE7QUFJQTtFQUNJO0FEREo7O0FDR0E7RUFDSTtBREFKOztBQ0VBOztFQUFBO0FBSUE7RUFDSTtBREFKOztBQ0VBOzs7RUFBQTtBQUtBO0VBRUk7RUFDQTtBREFKOztBQ0VBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FEQUo7O0FDRUE7O0VBQUE7QUFJQTtFQUNJO0FEQUo7O0FDRUE7O0VBQUE7QUFJQTtFQUNJO0dDQUYscUNEQ0U7RUFDQTtBREFKOztBQ0VBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7QURBSjs7QUNFQTs7RUFBQTtBQUlBO0VBQ0k7QURBSjs7QUNFQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBREFKOztBQ0VBOztFQUFBO0FBSUE7RUFDSTtBREFKOztBQ0VBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBREFKOztBQ0VBO0VBQ0k7QURDSjs7QUNDQTtFQUNJO0FERUo7O0FDQUE7OytFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJO0FEQ0o7O0FDQ0E7RUFDSTtBREVKOztBQ0FBOztFQUFBO0FBSUE7RUFDSTtBREVKOztBQ0FBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FERUo7O0FDQUE7O0VBQUE7QUFJQTtFQUNJO0FERUo7O0FDQUE7OytFQUFBO0FBSUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRENKOztBQ0NBOztFQUFBO0FBSUE7RUFDSTtBRENKOztBQ0NBOzsrRUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSTtBREFKOztBQ0VBOzsrRUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSTtBRERKOztBQ0dBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7QURESjs7QUNHQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0dDREYsY0RFRTtFQUNBO0FEREo7O0FDR0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtHQ0RGLHNCREVFO0VBQ0E7QURESjs7QUNHQTs7O0VBQUE7QUFLQTtFQUNJO0FEREo7O0FDR0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0FEREo7O0FDR0E7Ozs7Ozs7O0VBQUE7QUFVQTs7RUFJSTtFQUNBO0VBQ0E7RUFDQTtHQ0hGLGlCRElFO0VBQ0E7QURISjs7QUNLQTs7RUFBQTtBQUlBO0VBQ0k7QURISjs7QUNLQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7R0NIRixZRElFO0VBQ0E7R0NIRixXRElFO0VBQ0E7QURISjs7QUNLQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBR0E7RUFDQTtBREhKOztBQ0tBOzs7RUFBQTtBQUtBO0VBQ0k7QURISjs7QUNLQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBREhKOztBQ0tBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QURISjs7QUNLQTs7K0VBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBREpKOztBQ01BOztFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQUE7QURKSjs7QUNNQTtFQUNJO0VBQ0E7RUFBQTtBREhKOztBQ0tBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7QURISjs7QUNLQTs7RUFBQTtBQUlBO0VBRUk7QURISjs7QUNLQTtFQUNJO0FERko7O0FDSUE7RUFDSTtFQUNBO0tBQUE7QURESjs7QUNHQTtBQUVBO0VBQ0k7SUFDSTtJQUNBO0VERE47QUFDRjtBR25mQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUhxZko7QUdwZkk7RUFOSjtJQU9RO0VIdWZOO0FBQ0Y7O0FHcGZBO0VBQ0k7RUFDQTtFQUNBO0FIdWZKOztBR3BmQTs7RUFFSTtBSHVmSjs7QUdyZkE7RUFDSTtFQUNBO0FId2ZKOztBR3BmSTtFQUNJO0VBQ0E7QUh1ZlI7QUd0ZlE7RUFFSTtFQUNBO0FIdWZaO0FHdGZZO0VBQ0k7QUh3ZmhCO0FHdGZZO0VBUEo7SUFTUTtJQUNBO0VId2ZkO0FBQ0Y7QUd2Zlk7RUFaSjtJQWNRO0lBQ0E7RUh5ZmQ7QUFDRjtBR3ZmUTtFQXJCSjtJQXNCUTtFSDBmVjtBQUNGO0FHemZRO0VBeEJKO0lBeUJRO0VINGZWO0FBQ0Y7O0FHeGZBO0VBQ0k7QUgyZko7QUcxZkk7RUFGSjtJQUdRO0VINmZOO0FBQ0Y7QUc1Zkk7RUFMSjtJQU1RO0VIK2ZOO0FBQ0Y7QUc5Zkk7RUFDSTtBSGdnQlI7QUcvZlE7RUFGSjtJQUdRO0VIa2dCVjtBQUNGO0FHamdCUTtFQUxKO0lBTVE7RUhvZ0JWO0FBQ0Y7QUdsZ0JRO0VBQ0k7RUFDQTtBSG9nQlo7QUduZ0JZO0VBSEo7SUFJUTtFSHNnQmQ7QUFDRjtBR3JnQlk7RUFDSTtBSHVnQmhCO0FHdGdCZ0I7RUFGSjtJQUdRO0VIeWdCbEI7QUFDRjtBR3ZnQlk7RUFDSTtFQUNBO0FIeWdCaEI7QUd4Z0JnQjtFQUhKO0lBSVE7SUFDQTtFSDJnQmxCO0FBQ0Y7QUd2Z0JRO0VBQ0k7QUh5Z0JaO0FHeGdCWTtFQUZKO0lBR1E7RUgyZ0JkO0FBQ0Y7QUd4Z0JRO0VBQ0k7RUFDQTtFQUNBO0FIMGdCWjtBR3pnQlk7RUFDSTtBSDJnQmhCO0FHMWdCZ0I7RUFGSjtJQUdRO0VINmdCbEI7QUFDRjtBRzVnQmdCO0VBTEo7SUFNUTtFSCtnQmxCO0FBQ0Y7QUc1Z0JZO0VBQ0k7QUg4Z0JoQjtBRzFnQlE7RUFDSTtFQUNBO0VBQ0E7RUFJQTtBSHlnQlo7QUc1Z0JZO0VBSko7SUFLUTtFSCtnQmQ7QUFDRjtBRzdnQlk7RUFSSjtJQVNRO0lBQ0E7RUhnaEJkO0FBQ0Y7QUczZ0JZO0VBQ0k7RUFDQTtFQUNBO0FINmdCaEI7QUc1Z0JnQjtFQUpKO0lBS1E7SUFDQTtJQUNBO0VIK2dCbEI7QUFDRjtBR3hnQlk7RUFFSTtFQUNBO0VBQ0E7RUFHQTtBSHVnQmhCO0FHdGdCZ0I7RUFSSjtJQVNRO0VIeWdCbEI7QUFDRjtBR3ZnQlk7RUFDSTtFQUNBO0FIeWdCaEI7QUd2Z0JZO0VBQ0k7QUh5Z0JoQjtBR3RnQlE7RUFDSTtBSHdnQlo7QUd0Z0JRO0VBQ0k7QUh3Z0JaOztBR25nQkE7RUFDSTtFQUNBO0FIc2dCSjtBR3JnQkk7RUFDSTtBSHVnQlI7QUd0Z0JRO0VBRko7SUFHUTtFSHlnQlY7QUFDRjtBR3hnQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBSDBnQlo7QUd6Z0JZO0VBTEo7SUFNUTtFSDRnQmQ7QUFDRjtBRzFnQlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSDRnQmhCO0FHM2dCZ0I7RUFSSjtJQVNRO0VIOGdCbEI7QUFDRjtBRzVnQmdCO0VBQ0k7QUg4Z0JwQjtBRzNnQmdCO0VBQ0k7RUFDQTtFQUdBO0VBR0E7QUh5Z0JwQjtBR3hnQm9CO0VBVEo7SUFZUTtJQUNBO0lBQ0E7SUFDQTtFSHlnQnRCO0FBQ0Y7QUd0Z0JnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FId2dCcEI7QUdyZ0JvQjtFQVBKO0lBUVE7RUh3Z0J0QjtBQUNGO0FHdmdCb0I7RUFDSTtFQUNBO0FIeWdCeEI7QUd4Z0J3QjtFQUhKO0lBSVE7RUgyZ0IxQjtBQUNGO0FHdGdCWTtFQUNJO0VBQ0E7QUh3Z0JoQjtBR25nQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUhxZ0JSO0FHcGdCUTtFQVBKO0lBUVE7RUh1Z0JWO0FBQ0Y7QUd0Z0JRO0VBVko7SUFXUTtFSHlnQlY7QUFDRjtBR3hnQlE7RUFiSjtJQWNRO0VIMmdCVjtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi9iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvZnJvbnRlbmQvYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY29tbW9uLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohIGJhc2UuY3NzIHYxLjEgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICBLaGFuZ1RRUSBFZGl0b3JcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU5vdG8rU2FucytKUDp3Z2h0QDQwMDs3MDAmZmFtaWx5PU5vdG8rU2VyaWYrSlA6d2dodEA0MDA7NzAwJmRpc3BsYXk9c3dhcFwiKTtcbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKi9cbmF1ZGlvLCBjYW52YXMsIHZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAqZGlzcGxheTogaW5saW5lO1xuICAqem9vbTogMTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA3LzgvOSwgRmlyZWZveCAzLCBhbmQgU2FmYXJpIDQuXG4gKiBLbm93biBpc3N1ZTogbm8gSUUgNiBzdXBwb3J0LlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUUgNi83IHdoZW4gYm9keSBgZm9udC1zaXplYCBpcyBzZXQgdXNpbmdcbiAqICAgIGBlbWAgdW5pdHMuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBmb250LWZhbWlseWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIGB0ZXh0YXJlYWAgYW5kIG90aGVyIGZvcm1cbiAqIGVsZW1lbnRzLlxuICovXG5odG1sLCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IFwi44Oh44Kk44Oq44KqXCIsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIu+8re+8syDvvLDjgrTjgrfjg4Pjgq9cIiwgc2Fucy1zZXJpZjtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbnMgaGFuZGxlZCBpbmNvcnJlY3RseSBpbiBJRSA2LzcuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIuODoeOCpOODquOCqlwiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCLvvK3vvLMg77yw44K044K344OD44KvXCIsIHNhbnMtc2VyaWY7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG5hOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuKiB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5hOmFjdGl2ZSwgYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIGZvbnQgc2l6ZXMgYW5kIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNy5cbiAqIEFkZHJlc3MgZm9udCBzaXplcyB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsXG4gKiBhbmQgQ2hyb21lLlxuICovXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBtYXJnaW46IDBlbTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgNy84LzksIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCAzKywgU2FmYXJpIDQvNSwgYW5kIENocm9tZS5cbiAqL1xuYiwgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICogS25vd24gaXNzdWU6IG5vIElFIDYvNyBub3JtYWxpemF0aW9uLlxuICovXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDYvNy84LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNy5cbiAqL1xucCwgcHJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3QgZm9udCBmYW1pbHkgc2V0IG9kZGx5IGluIElFIDYsIFNhZmFyaSA0LzUsIGFuZCBDaHJvbWUuXG4gKi9cbmNvZGUsIGtiZCwgcHJlLCBzYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2VyaWY7XG4gIF9mb250LWZhbWlseTogXCJjb3VyaWVyIG5ld1wiLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBDU1MgcXVvdGVzIG5vdCBzdXBwb3J0ZWQgaW4gSUUgNi83LlxuICovXG5xIHtcbiAgcXVvdGVzOiBub25lO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYHF1b3Rlc2AgcHJvcGVydHkgbm90IHN1cHBvcnRlZCBpbiBTYWZhcmkgNC5cbiAqL1xucTpiZWZvcmUsIHE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBjb250ZW50OiBub25lO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLCBzdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGlzdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICovXG5kbCwgbWVudSwgb2wsIHVsIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5kZCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHBhZGRpbmdzIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gKi9cbm1lbnUsIG9sLCB1bCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBsaXN0IGltYWdlcyBoYW5kbGVkIGluY29ycmVjdGx5IGluIElFIDcuXG4gKi9cbm5hdiB1bCwgbmF2IG9sIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbn1cblxuLyoqXG4gKiBBbGwgYnJvd3NlclxuICovXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqIDIuIEltcHJvdmUgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICovXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRSA5LlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA2LzcvOC85LCBTYWZhcmkgNSwgYW5kIE9wZXJhIDExLlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29ycmVjdCBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xuZm9ybSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA2LzcvOC85LlxuICogMi4gQ29ycmVjdCB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMiAqL1xuICAqbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LCBGaXJlZm94IDMrLCBTYWZhcmkgNSxcbiAqICAgIGFuZCBDaHJvbWUuXG4gKiAzLiBJbXByb3ZlIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAzICovXG4gICp2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDMrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmJ1dHRvbiwgaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgNisuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3ggNCsgYW5kIE9wZXJhLlxuICovXG5idXR0b24sIHNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmUgaW5uZXIgc3BhY2luZyBpbiBJRSA3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqICAgIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuYnV0dG9uLCBodG1sIGlucHV0W3R5cGU9YnV0dG9uXSxcbmlucHV0W3R5cGU9cmVzZXRdLCBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi9cbiAgKm92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiA0ICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuYnV0dG9uW2Rpc2FibGVkXSwgaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBjb250ZW50LWJveCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LlxuICogMy4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDcuXG4gKiAgICBLbm93biBpc3N1ZTogZXhjZXNzIHBhZGRpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5pbnB1dFt0eXBlPWNoZWNrYm94XSwgaW5wdXRbdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbiAgKmhlaWdodDogMTNweDtcbiAgLyogMyAqL1xuICAqd2lkdGg6IDEzcHg7XG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDMrLlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA2LzcvOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAvKiAyICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuLyoqXG4gKiBSRU1PVkUgQkFDS0dST1VORCBJTlBVVCBDT05GSVJNXG4gKi9cbmlucHV0LmNsZWFyX2Nzczotd2Via2l0LWF1dG9maWxsLCB0ZXh0YXJlYS5jbGVhcl9jc3M6LXdlYmtpdC1hdXRvZmlsbCB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggM3B4ICNjOWM5YzkgaW5zZXQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMHMgZWFzZS1pbi1vdXQgMHM7XG59XG5cbmlucHV0LmNsZWFyX2Nzczotd2Via2l0LWF1dG9maWxsLndwY2Y3Yy1jb25mLCB0ZXh0YXJlYS5jbGVhcl9jc3M6LXdlYmtpdC1hdXRvZmlsbC53cGNmN2MtY29uZiB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDBweCAxMDAwcHggI2Y3ZjlmNiBpbnNldCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEwcyBlYXNlLWluLW91dCAwcztcbn1cblxuLyoqXG4gKiBDTEVBUiBCT1RIXG4gKi9cbi5jbGVhcmZpeDphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLyoqXG4gKiBIT1ZFUiBPUEFDSVRZIEFcbiAqL1xuLmhvdmVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2U7XG59XG5cbi5ob3Zlcjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLm9iamZpdElFIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLypYb2EgPGJyPiB0csOqbiBpZSovXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgYnIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG59XG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zIEpQXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogY2FsYyg2cHggKyA4ICogKDEwMHZ3IC0gMzc1cHgpIC8gOTkxKTtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vaW1hZ2UvYmcucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuXG4jYXBwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnMgSlBcIiwgc2Fucy1zZXJpZjtcbn1cblxuLmlubmVyIHtcbiAgbWF4LXdpZHRoOiAxOTIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4jaGVhZGVyIC5pbm5lciB7XG4gIHBhZGRpbmc6IDIuNXZ3IDEuNHZ3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jaGVhZGVyIC5pbm5lciAubG9nbyB7XG4gIG1heC13aWR0aDogMjcuM3Z3O1xuICBwYWRkaW5nOiAxNnB4IDAgN3B4O1xufVxuI2hlYWRlciAuaW5uZXIgLmxvZ286aG92ZXIge1xuICBvcGFjaXR5OiAwLjg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gICNoZWFkZXIgLmlubmVyIC5sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDM4NXB4O1xuICAgIHBhZGRpbmc6IDEzLjVweCAwIDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAjaGVhZGVyIC5pbm5lciAubG9nbyB7XG4gICAgbWF4LXdpZHRoOiA1MjVweDtcbiAgICBwYWRkaW5nOiAxOXB4IDAgN3B4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gICNoZWFkZXIgLmlubmVyIHtcbiAgICBwYWRkaW5nOiAzNXB4IDIwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgI2hlYWRlciAuaW5uZXIge1xuICAgIHBhZGRpbmc6IDQ4cHggMjdweDtcbiAgfVxufVxuXG4jbWFpbiB7XG4gIG1hcmdpbi1ib3R0b206IDMuNTd2dztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgI21haW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgI21haW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDY4LjVweDtcbiAgfVxufVxuI21haW4gLmlubmVyIHtcbiAgcGFkZGluZzogMCAxLjR2dztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgI21haW4gLmlubmVyIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgI21haW4gLmlubmVyIHtcbiAgICBwYWRkaW5nOiAwIDI3cHg7XG4gIH1cbn1cbiNtYWluIC5pbm5lciAuYWxlcnQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMi44NTd2dztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgI21haW4gLmlubmVyIC5hbGVydC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cbiNtYWluIC5pbm5lciAuYWxlcnQtY29udGFpbmVyLnRpdGxlLXNob2dpIHtcbiAgbWFyZ2luLWJvdHRvbTogMy41N3Z3O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAjbWFpbiAuaW5uZXIgLmFsZXJ0LWNvbnRhaW5lci50aXRsZS1zaG9naSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxufVxuI21haW4gLmlubmVyIC5hbGVydC1jb250YWluZXIudGl0bGUtc2hvZ2ktZGV0YWlsLWJveCB7XG4gIG1hcmdpbi1ib3R0b206IDIuMTR2dztcbiAgbWFyZ2luLXRvcDogMS40MnZ3O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAjbWFpbiAuaW5uZXIgLmFsZXJ0LWNvbnRhaW5lci50aXRsZS1zaG9naS1kZXRhaWwtYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbn1cbiNtYWluIC5pbm5lciAuYWxlcnQtY29sdW1uIHtcbiAgZmxleDogMSAxIDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gICNtYWluIC5pbm5lciAuYWxlcnQtY29sdW1uIHtcbiAgICBtYXgtd2lkdGg6IDI2NXB4O1xuICB9XG59XG4jbWFpbiAuaW5uZXIgLmFsZXJ0LWNvbHVtbi1tYWluIHtcbiAgZmxleDogMyAzIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4jbWFpbiAuaW5uZXIgLmFsZXJ0LWNvbHVtbi1tYWluIC5hbGVydCB7XG4gIG1hcmdpbi1ib3R0b206IDAuN3Z3O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkgYW5kIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAjbWFpbiAuaW5uZXIgLmFsZXJ0LWNvbHVtbi1tYWluIC5hbGVydCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAjbWFpbiAuaW5uZXIgLmFsZXJ0LWNvbHVtbi1tYWluIC5hbGVydCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTMuNXB4O1xuICB9XG59XG4jbWFpbiAuaW5uZXIgLmFsZXJ0LWNvbHVtbi1tYWluIC5hbGVydDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbiNtYWluIC5pbm5lciAuYWxlcnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiA0LjJ2dztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEuMDd2dyAyLjE0dnc7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gICNtYWluIC5pbm5lciAuYWxlcnQge1xuICAgIG1heC13aWR0aDogODMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgI21haW4gLmlubmVyIC5hbGVydCB7XG4gICAgbWluLWhlaWdodDogNjBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIH1cbn1cbiNtYWluIC5pbm5lciAuYWxlcnQgaW1nIHtcbiAgd2lkdGg6IDIuMTc4dnc7XG4gIGhlaWdodDogMS43OXZ3O1xuICBtYXJnaW4tcmlnaHQ6IDEuNDJ2dztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgI21haW4gLmlubmVyIC5hbGVydCBpbWcge1xuICAgIHdpZHRoOiAzMC41cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxufVxuI21haW4gLmlubmVyIC5hbGVydCAuYWxlcnQtbWVzc2FnZSwgI21haW4gLmlubmVyIC5hbGVydCAuYWxlcnQtbWVzc2FnZSBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgZm9udC1zaXplOiBjYWxjKDVweCArIDE1ICogKDEwMHZ3IC0gMzc1cHgpIC8gOTkxKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gICNtYWluIC5pbm5lciAuYWxlcnQgLmFsZXJ0LW1lc3NhZ2UsICNtYWluIC5pbm5lciAuYWxlcnQgLmFsZXJ0LW1lc3NhZ2UgYSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG4jbWFpbiAuaW5uZXIgLmFsZXJ0IC5hbGVydC1tZXNzYWdlIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtcG9zaXRpb246IHVuZGVyO1xufVxuI21haW4gLmlubmVyIC5hbGVydCAuYWxlcnQtbWVzc2FnZSBhOmhvdmVyIHtcbiAgY29sb3I6ICNjYjBjMGM7XG59XG4jbWFpbiAuaW5uZXIgLmFsZXJ0LWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYjBjMGM7XG59XG4jbWFpbiAuaW5uZXIgLmFsZXJ0LXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmZhMTI0O1xufVxuXG4jZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgMjUsIDcsIDAuNyk7XG59XG4jZm9vdGVyIC5tZW11LWZvb3Rlci1ib3gge1xuICBwYWRkaW5nOiAydncgMHB4IDBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgI2Zvb3RlciAubWVtdS1mb290ZXItYm94IHtcbiAgICBwYWRkaW5nOiAzMHB4IDBweCAwcHg7XG4gIH1cbn1cbiNmb290ZXIgLm1lbXUtZm9vdGVyLWJveCAubWVtdS1mb290ZXItbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMzAwcHggKyAyMjYgKiAoMTAwdncgLSAzNzVweCkgLyA3MjUpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDExMDBweCkge1xuICAjZm9vdGVyIC5tZW11LWZvb3Rlci1ib3ggLm1lbXUtZm9vdGVyLWxpc3Qge1xuICAgIHdpZHRoOiA1NTVweDtcbiAgfVxufVxuI2Zvb3RlciAubWVtdS1mb290ZXItYm94IC5tZW11LWZvb3Rlci1saXN0IC5tZW11LWZvb3Rlci1pdGVtIHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcbiAgcGFkZGluZzogMCA1cHg7XG4gIHdpZHRoOiA1MCU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICNmb290ZXIgLm1lbXUtZm9vdGVyLWJveCAubWVtdS1mb290ZXItbGlzdCAubWVtdS1mb290ZXItaXRlbSB7XG4gICAgcGFkZGluZzogMHB4O1xuICB9XG59XG4jZm9vdGVyIC5tZW11LWZvb3Rlci1ib3ggLm1lbXUtZm9vdGVyLWxpc3QgLm1lbXUtZm9vdGVyLWl0ZW06aG92ZXIgKiB7XG4gIG9wYWNpdHk6IDAuNztcbn1cbiNmb290ZXIgLm1lbXUtZm9vdGVyLWJveCAubWVtdS1mb290ZXItbGlzdCAubWVtdS1mb290ZXItaXRlbSAuaWNvbi1tYWlsIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjcxNHZ3O1xuICB3aWR0aDogY2FsYygxOHB4ICsgOC43NSAqICgxMDB2dyAtIDM3NXB4KSAvIDk5MSk7XG4gIGhlaWdodDogY2FsYygxNXB4ICsgNiAqICgxMDB2dyAtIDM3NXB4KSAvIDk5MSk7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgI2Zvb3RlciAubWVtdS1mb290ZXItYm94IC5tZW11LWZvb3Rlci1saXN0IC5tZW11LWZvb3Rlci1pdGVtIC5pY29uLW1haWwge1xuICAgIHdpZHRoOiAyNS4zNXB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICB9XG59XG4jZm9vdGVyIC5tZW11LWZvb3Rlci1ib3ggLm1lbXUtZm9vdGVyLWxpc3QgLm1lbXUtZm9vdGVyLWl0ZW0gYSB7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWYgSlBcIiwgc2VyaWY7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiBjYWxjKDEwcHggKyA4ICogKDEwMHZ3IC0gMzc1cHgpIC8gOTkxKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgI2Zvb3RlciAubWVtdS1mb290ZXItYm94IC5tZW11LWZvb3Rlci1saXN0IC5tZW11LWZvb3Rlci1pdGVtIGEge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxufVxuI2Zvb3RlciAubWVtdS1mb290ZXItYm94IC5tZW11LWZvb3Rlci1saXN0IC5tZW11LWZvb3Rlci1pdGVtIGEgLnNtYWxsVHh0IHtcbiAgZm9udC1zaXplOiBjYWxjKDZweCArIDggKiAoMTAwdncgLSAzNzVweCkgLyA5OTEpO1xuICBjb2xvcjogI2ZmZmZmZmJkO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAjZm9vdGVyIC5tZW11LWZvb3Rlci1ib3ggLm1lbXUtZm9vdGVyLWxpc3QgLm1lbXUtZm9vdGVyLWl0ZW0gYSAuc21hbGxUeHQge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxufVxuI2Zvb3RlciAubWVtdS1mb290ZXItYm94IC5tZW11LWZvb3Rlci1saXN0IC5tZW11LWZvb3Rlci1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jZm9vdGVyIC5jb3B5cmlnaHQge1xuICBmb250LWZhbWlseTogXCJOb3RvIFNlcmlmIEpQXCIsIHNlcmlmO1xuICBwYWRkaW5nOiAyLjg1N3Z3IDEuNHZ3O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiBjYWxjKDhweCArIDYgKiAoMTAwdncgLSAzNzVweCkgLyA5OTEpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkgYW5kIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAjZm9vdGVyIC5jb3B5cmlnaHQge1xuICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAjZm9vdGVyIC5jb3B5cmlnaHQge1xuICAgIHBhZGRpbmc6IDU0Ljg1cHggMjdweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAjZm9vdGVyIC5jb3B5cmlnaHQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufSIsIi8qISBiYXNlLmNzcyB2MS4xICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICBLaGFuZ1RRUSBFZGl0b3JcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICovXG5cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4vKipcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKi9cblxuYXVkaW8sIGNhbnZhcywgdmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICAgICp6b29tOiAxO1xufVxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgNy84LzksIEZpcmVmb3ggMywgYW5kIFNhZmFyaSA0LlxuICogS25vd24gaXNzdWU6IG5vIElFIDYgc3VwcG9ydC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogICAgYGVtYCB1bml0cy5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAvKiAxICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAvKiAyICovXG59XG4vKipcbiAqIEFkZHJlc3MgYGZvbnQtZmFtaWx5YCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gYHRleHRhcmVhYCBhbmQgb3RoZXIgZm9ybVxuICogZWxlbWVudHMuXG4gKi9cblxuaHRtbCwgYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IFwi44Oh44Kk44Oq44KqXCIsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIu+8re+8syDvvLDjgrTjgrfjg4Pjgq9cIiwgc2Fucy1zZXJpZjtcbn1cbi8qKlxuICogQWRkcmVzcyBtYXJnaW5zIGhhbmRsZWQgaW5jb3JyZWN0bHkgaW4gSUUgNi83LlxuICovXG5cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogXCLjg6HjgqTjg6rjgqpcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczXCIsIFwi77yt77yzIO+8sOOCtOOCt+ODg+OCr1wiLCBzYW5zLXNlcmlmO1xufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzAwMDtcbn1cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG4qIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsIGE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIGZvbnQgc2l6ZXMgYW5kIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNy5cbiAqIEFkZHJlc3MgZm9udCBzaXplcyB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsXG4gKiBhbmQgQ2hyb21lLlxuICovXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBtYXJnaW46IDBlbTtcbn1cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDcvOC85LCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCAzKywgU2FmYXJpIDQvNSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbn1cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqIEtub3duIGlzc3VlOiBubyBJRSA2Lzcgbm9ybWFsaXphdGlvbi5cbiAqL1xuXG5ociB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG59XG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA2LzcvOC85LlxuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG59XG4vKipcbiAqIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICovXG5cbnAsIHByZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuLyoqXG4gKiBDb3JyZWN0IGZvbnQgZmFtaWx5IHNldCBvZGRseSBpbiBJRSA2LCBTYWZhcmkgNC81LCBhbmQgQ2hyb21lLlxuICovXG5cbmNvZGUsIGtiZCwgcHJlLCBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgICBfZm9udC1mYW1pbHk6ICdjb3VyaWVyIG5ldycsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuLyoqXG4gKiBBZGRyZXNzIENTUyBxdW90ZXMgbm90IHN1cHBvcnRlZCBpbiBJRSA2LzcuXG4gKi9cblxucSB7XG4gICAgcXVvdGVzOiBub25lO1xufVxuLyoqXG4gKiBBZGRyZXNzIGBxdW90ZXNgIHByb3BlcnR5IG5vdCBzdXBwb3J0ZWQgaW4gU2FmYXJpIDQuXG4gKi9cblxucTpiZWZvcmUsIHE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6IG5vbmU7XG59XG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1Yiwgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpc3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICovXG5cbmRsLCBtZW51LCBvbCwgdWwge1xuICAgIG1hcmdpbjogMDtcbn1cbmRkIHtcbiAgICBtYXJnaW46IDA7XG59XG4vKipcbiAqIEFkZHJlc3MgcGFkZGluZ3Mgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNy5cbiAqL1xuXG5tZW51LCBvbCwgdWwge1xuICAgIHBhZGRpbmc6IDA7XG59XG4vKipcbiAqIENvcnJlY3QgbGlzdCBpbWFnZXMgaGFuZGxlZCBpbmNvcnJlY3RseSBpbiBJRSA3LlxuICovXG5cbm5hdiB1bCwgbmF2IG9sIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG59XG4vKipcbiAqIEFsbCBicm93c2VyXG4gKi9cblxudWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqIDIuIEltcHJvdmUgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICovXG5cbmltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlcjogMDtcbiAgICAvKiAxICovXG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgICAvKiAyICovXG59XG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFIDkuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA2LzcvOC85LCBTYWZhcmkgNSwgYW5kIE9wZXJhIDExLlxuICovXG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cblxuZm9ybSB7XG4gICAgbWFyZ2luOiAwO1xufVxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA2LzcvOC85LlxuICogMi4gQ29ycmVjdCB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5cbmxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgLyogMiAqL1xuICAgICptYXJnaW4tbGVmdDogMDtcbiAgICAvKiAzICovXG59XG4vKipcbiAqIDEuIENvcnJlY3QgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcsIEZpcmVmb3ggMyssIFNhZmFyaSA1LFxuICogICAgYW5kIENocm9tZS5cbiAqIDMuIEltcHJvdmUgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgLyogMyAqL1xuICAgICp2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDMgKi9cbn1cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDMrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuYnV0dG9uLCBpbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gQ2hyb21lLCBTYWZhcmkgNSssIGFuZCBJRSA2Ky5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXG4gKi9cblxuYnV0dG9uLCBzZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiAgICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuYnV0dG9uLCBodG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4vKiAxICovXG5cbmlucHV0W3R5cGU9XCJyZXNldFwiXSwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gICAgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvKiAzICovXG4gICAgKm92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDQgKi9cbn1cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLCBodG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGNvbnRlbnQtYm94IGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKiAzLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgNy5cbiAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogMiAqL1xuICAgICpoZWlnaHQ6IDEzcHg7XG4gICAgLyogMyAqL1xuICAgICp3aWR0aDogMTNweDtcbiAgICAvKiAzICovXG59XG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIC8qIDEgKi9cbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCAzKy5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cbi8qKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDYvNy84LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAvKiAyICovXG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cbi8qKlxuICogUkVNT1ZFIEJBQ0tHUk9VTkQgSU5QVVQgQ09ORklSTVxuICovXG5cbmlucHV0LmNsZWFyX2Nzczotd2Via2l0LWF1dG9maWxsLCB0ZXh0YXJlYS5jbGVhcl9jc3M6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCAzcHggI2M5YzljOSBpbnNldCAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTBzIGVhc2UtaW4tb3V0IDBzO1xufVxuaW5wdXQuY2xlYXJfY3NzOi13ZWJraXQtYXV0b2ZpbGwud3BjZjdjLWNvbmYsIHRleHRhcmVhLmNsZWFyX2Nzczotd2Via2l0LWF1dG9maWxsLndwY2Y3Yy1jb25mIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwcHggMTAwMHB4ICNmN2Y5ZjYgaW5zZXQgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEwcyBlYXNlLWluLW91dCAwcztcbn1cbi8qKlxuICogQ0xFQVIgQk9USFxuICovXG5cbi5jbGVhcmZpeDphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbn1cbi8qKlxuICogSE9WRVIgT1BBQ0lUWSBBXG4gKi9cblxuLmhvdmVyIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlO1xufVxuLmhvdmVyOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG4ub2JqZml0SUUgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi8qWG9hIDxicj4gdHLDqm4gaWUqL1xuXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6bm9uZSkge1xuICAgIGJyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiEgYmFzZS5jc3MgdjEuMSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgIEtoYW5nVFFRIEVkaXRvclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICovXG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Tm90bytTYW5zK0pQOndnaHRANDAwOzcwMCZmYW1pbHk9Tm90bytTZXJpZitKUDp3Z2h0QDQwMDs3MDAmZGlzcGxheT1zd2FwXCIpO1xuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqL1xuYXVkaW8sIGNhbnZhcywgdmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICpkaXNwbGF5OiBpbmxpbmU7XG4gICp6b29tOiAxO1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDcvOC85LCBGaXJlZm94IDMsIGFuZCBTYWZhcmkgNC5cbiAqIEtub3duIGlzc3VlOiBubyBJRSA2IHN1cHBvcnQuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogICAgYGVtYCB1bml0cy5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYGZvbnQtZmFtaWx5YCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gYHRleHRhcmVhYCBhbmQgb3RoZXIgZm9ybVxuICogZWxlbWVudHMuXG4gKi9cbmh0bWwsIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogXCLjg6HjgqTjg6rjgqpcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczXCIsIFwi77yt77yzIO+8sOOCtOOCt+ODg+OCr1wiLCBzYW5zLXNlcmlmO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2lucyBoYW5kbGVkIGluY29ycmVjdGx5IGluIElFIDYvNy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwi44Oh44Kk44Oq44KqXCIsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIu+8re+8syDvvLDjgrTjgrfjg4Pjgq9cIiwgc2Fucy1zZXJpZjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMwMDA7XG59XG5cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4qIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmE6YWN0aXZlLCBhOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFR5cG9ncmFwaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3MgZm9udCBzaXplcyBhbmQgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICogQWRkcmVzcyBmb250IHNpemVzIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYCBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSxcbiAqIGFuZCBDaHJvbWUuXG4gKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LXNpemU6IDEwMCU7XG4gIG1hcmdpbjogMGVtO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA3LzgvOSwgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDMrLCBTYWZhcmkgNC81LCBhbmQgQ2hyb21lLlxuICovXG5iLCBzdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKiBLbm93biBpc3N1ZTogbm8gSUUgNi83IG5vcm1hbGl6YXRpb24uXG4gKi9cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgNi83LzgvOS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICovXG5wLCBwcmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gSUUgNiwgU2FmYXJpIDQvNSwgYW5kIENocm9tZS5cbiAqL1xuY29kZSwga2JkLCBwcmUsIHNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgX2ZvbnQtZmFtaWx5OiBcImNvdXJpZXIgbmV3XCIsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIENTUyBxdW90ZXMgbm90IHN1cHBvcnRlZCBpbiBJRSA2LzcuXG4gKi9cbnEge1xuICBxdW90ZXM6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgcXVvdGVzYCBwcm9wZXJ0eSBub3Qgc3VwcG9ydGVkIGluIFNhZmFyaSA0LlxuICovXG5xOmJlZm9yZSwgcTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsIHN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaXN0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gKi9cbmRsLCBtZW51LCBvbCwgdWwge1xuICBtYXJnaW46IDA7XG59XG5cbmRkIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgcGFkZGluZ3Mgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNy5cbiAqL1xubWVudSwgb2wsIHVsIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IGxpc3QgaW1hZ2VzIGhhbmRsZWQgaW5jb3JyZWN0bHkgaW4gSUUgNy5cbiAqL1xubmF2IHVsLCBuYXYgb2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xufVxuXG4vKipcbiAqIEFsbCBicm93c2VyXG4gKi9cbnVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICogMi4gSW1wcm92ZSBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFIDcuXG4gKi9cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFIDkuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpZ3VyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDYvNy84LzksIFNhZmFyaSA1LCBhbmQgT3BlcmEgMTEuXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDb3JyZWN0IG1hcmdpbiBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5mb3JtIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDYvNy84LzkuXG4gKiAyLiBDb3JyZWN0IHRleHQgbm90IHdyYXBwaW5nIGluIEZpcmVmb3ggMy5cbiAqIDMuIENvcnJlY3QgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAyICovXG4gICptYXJnaW4tbGVmdDogMDtcbiAgLyogMyAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcsIEZpcmVmb3ggMyssIFNhZmFyaSA1LFxuICogICAgYW5kIENocm9tZS5cbiAqIDMuIEltcHJvdmUgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5idXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDMgKi9cbiAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggMysgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuYnV0dG9uLCBpbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gQ2hyb21lLCBTYWZhcmkgNSssIGFuZCBJRSA2Ky5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXG4gKi9cbmJ1dHRvbiwgc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZSBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogICAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5idXR0b24sIGh0bWwgaW5wdXRbdHlwZT1idXR0b25dLFxuaW5wdXRbdHlwZT1yZXNldF0sIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqL1xuICAqb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDQgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLCBodG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGNvbnRlbnQtYm94IGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKiAzLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgNy5cbiAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cbmlucHV0W3R5cGU9Y2hlY2tib3hdLCBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xuICAqaGVpZ2h0OiAxM3B4O1xuICAvKiAzICovXG4gICp3aWR0aDogMTNweDtcbiAgLyogMyAqL1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggMysuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDYvNy84LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIC8qIDIgKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG4vKipcbiAqIFJFTU9WRSBCQUNLR1JPVU5EIElOUFVUIENPTkZJUk1cbiAqL1xuaW5wdXQuY2xlYXJfY3NzOi13ZWJraXQtYXV0b2ZpbGwsIHRleHRhcmVhLmNsZWFyX2Nzczotd2Via2l0LWF1dG9maWxsIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCAzcHggI2M5YzljOSBpbnNldCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEwcyBlYXNlLWluLW91dCAwcztcbn1cblxuaW5wdXQuY2xlYXJfY3NzOi13ZWJraXQtYXV0b2ZpbGwud3BjZjdjLWNvbmYsIHRleHRhcmVhLmNsZWFyX2Nzczotd2Via2l0LWF1dG9maWxsLndwY2Y3Yy1jb25mIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMHB4IDEwMDBweCAjZjdmOWY2IGluc2V0ICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTBzIGVhc2UtaW4tb3V0IDBzO1xufVxuXG4vKipcbiAqIENMRUFSIEJPVEhcbiAqL1xuLmNsZWFyZml4OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4vKipcbiAqIEhPVkVSIE9QQUNJVFkgQVxuICovXG4uaG92ZXIge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTtcbn1cblxuLmhvdmVyOmhvdmVyIHtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4ub2JqZml0SUUgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKlhvYSA8YnI+IHRyw6puIGllKi9cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICBiciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cbn1cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnMgSlBcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiBjYWxjKDZweCArIDggKiAoMTAwdncgLSAzNzVweCkgLyA5OTEpO1xuICBjb2xvcjogIzMzMzMzMztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9pbWFnZS9iZy5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5cbiNhcHAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2FucyBKUFwiLCBzYW5zLXNlcmlmO1xufVxuXG4uaW5uZXIge1xuICBtYXgtd2lkdGg6IDE5MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbiNoZWFkZXIgLmlubmVyIHtcbiAgcGFkZGluZzogMi41dncgMS40dnc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNoZWFkZXIgLmlubmVyIC5sb2dvIHtcbiAgbWF4LXdpZHRoOiAyNy4zdnc7XG4gIHBhZGRpbmc6IDE2cHggMCA3cHg7XG59XG4jaGVhZGVyIC5pbm5lciAubG9nbzpob3ZlciB7XG4gIG9wYWNpdHk6IDAuODtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgI2hlYWRlciAuaW5uZXIgLmxvZ28ge1xuICAgIG1heC13aWR0aDogMzg1cHg7XG4gICAgcGFkZGluZzogMTMuNXB4IDAgNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICNoZWFkZXIgLmlubmVyIC5sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDUyNXB4O1xuICAgIHBhZGRpbmc6IDE5cHggMCA3cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgI2hlYWRlciAuaW5uZXIge1xuICAgIHBhZGRpbmc6IDM1cHggMjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAjaGVhZGVyIC5pbm5lciB7XG4gICAgcGFkZGluZzogNDhweCAyN3B4O1xuICB9XG59XG5cbiNtYWluIHtcbiAgbWFyZ2luLWJvdHRvbTogMy41N3Z3O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkgYW5kIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAjbWFpbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAjbWFpbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjguNXB4O1xuICB9XG59XG4jbWFpbiAuaW5uZXIge1xuICBwYWRkaW5nOiAwIDEuNHZ3O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkgYW5kIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAjbWFpbiAuaW5uZXIge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAjbWFpbiAuaW5uZXIge1xuICAgIHBhZGRpbmc6IDAgMjdweDtcbiAgfVxufVxuI21haW4gLmlubmVyIC5hbGVydC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAyLjg1N3Z3O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAjbWFpbiAuaW5uZXIgLmFsZXJ0LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxufVxuI21haW4gLmlubmVyIC5hbGVydC1jb250YWluZXIudGl0bGUtc2hvZ2kge1xuICBtYXJnaW4tYm90dG9tOiAzLjU3dnc7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gICNtYWluIC5pbm5lciAuYWxlcnQtY29udGFpbmVyLnRpdGxlLXNob2dpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG59XG4jbWFpbiAuaW5uZXIgLmFsZXJ0LWNvbnRhaW5lci50aXRsZS1zaG9naS1kZXRhaWwtYm94IHtcbiAgbWFyZ2luLWJvdHRvbTogMi4xNHZ3O1xuICBtYXJnaW4tdG9wOiAxLjQydnc7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gICNtYWluIC5pbm5lciAuYWxlcnQtY29udGFpbmVyLnRpdGxlLXNob2dpLWRldGFpbC1ib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuI21haW4gLmlubmVyIC5hbGVydC1jb2x1bW4ge1xuICBmbGV4OiAxIDEgMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgI21haW4gLmlubmVyIC5hbGVydC1jb2x1bW4ge1xuICAgIG1heC13aWR0aDogMjY1cHg7XG4gIH1cbn1cbiNtYWluIC5pbm5lciAuYWxlcnQtY29sdW1uLW1haW4ge1xuICBmbGV4OiAzIDMgMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbiNtYWluIC5pbm5lciAuYWxlcnQtY29sdW1uLW1haW4gLmFsZXJ0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC43dnc7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gICNtYWluIC5pbm5lciAuYWxlcnQtY29sdW1uLW1haW4gLmFsZXJ0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICNtYWluIC5pbm5lciAuYWxlcnQtY29sdW1uLW1haW4gLmFsZXJ0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMy41cHg7XG4gIH1cbn1cbiNtYWluIC5pbm5lciAuYWxlcnQtY29sdW1uLW1haW4gLmFsZXJ0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuI21haW4gLmlubmVyIC5hbGVydCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6IDQuMnZ3O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMS4wN3Z3IDIuMTR2dztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgI21haW4gLmlubmVyIC5hbGVydCB7XG4gICAgbWF4LXdpZHRoOiA4MzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAjbWFpbiAuaW5uZXIgLmFsZXJ0IHtcbiAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgfVxufVxuI21haW4gLmlubmVyIC5hbGVydCBpbWcge1xuICB3aWR0aDogMi4xNzh2dztcbiAgaGVpZ2h0OiAxLjc5dnc7XG4gIG1hcmdpbi1yaWdodDogMS40MnZ3O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAjbWFpbiAuaW5uZXIgLmFsZXJ0IGltZyB7XG4gICAgd2lkdGg6IDMwLjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG59XG4jbWFpbiAuaW5uZXIgLmFsZXJ0IC5hbGVydC1tZXNzYWdlLCAjbWFpbiAuaW5uZXIgLmFsZXJ0IC5hbGVydC1tZXNzYWdlIGEge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICBmb250LXNpemU6IGNhbGMoNXB4ICsgMTUgKiAoMTAwdncgLSAzNzVweCkgLyA5OTEpO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgI21haW4gLmlubmVyIC5hbGVydCAuYWxlcnQtbWVzc2FnZSwgI21haW4gLmlubmVyIC5hbGVydCAuYWxlcnQtbWVzc2FnZSBhIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cbiNtYWluIC5pbm5lciAuYWxlcnQgLmFsZXJ0LW1lc3NhZ2UgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXI7XG59XG4jbWFpbiAuaW5uZXIgLmFsZXJ0IC5hbGVydC1tZXNzYWdlIGE6aG92ZXIge1xuICBjb2xvcjogI2NiMGMwYztcbn1cbiNtYWluIC5pbm5lciAuYWxlcnQtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NiMGMwYztcbn1cbiNtYWluIC5pbm5lciAuYWxlcnQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZmExMjQ7XG59XG5cbiNmb290ZXIge1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU4LCAyNSwgNywgMC43KTtcbn1cbiNmb290ZXIgLm1lbXUtZm9vdGVyLWJveCB7XG4gIHBhZGRpbmc6IDJ2dyAwcHggMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAjZm9vdGVyIC5tZW11LWZvb3Rlci1ib3gge1xuICAgIHBhZGRpbmc6IDMwcHggMHB4IDBweDtcbiAgfVxufVxuI2Zvb3RlciAubWVtdS1mb290ZXItYm94IC5tZW11LWZvb3Rlci1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogY2FsYygzMDBweCArIDIyNiAqICgxMDB2dyAtIDM3NXB4KSAvIDcyNSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICNmb290ZXIgLm1lbXUtZm9vdGVyLWJveCAubWVtdS1mb290ZXItbGlzdCB7XG4gICAgd2lkdGg6IDU1NXB4O1xuICB9XG59XG4jZm9vdGVyIC5tZW11LWZvb3Rlci1ib3ggLm1lbXUtZm9vdGVyLWxpc3QgLm1lbXUtZm9vdGVyLWl0ZW0ge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgd2lkdGg6IDUwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgI2Zvb3RlciAubWVtdS1mb290ZXItYm94IC5tZW11LWZvb3Rlci1saXN0IC5tZW11LWZvb3Rlci1pdGVtIHtcbiAgICBwYWRkaW5nOiAwcHg7XG4gIH1cbn1cbiNmb290ZXIgLm1lbXUtZm9vdGVyLWJveCAubWVtdS1mb290ZXItbGlzdCAubWVtdS1mb290ZXItaXRlbTpob3ZlciAqIHtcbiAgb3BhY2l0eTogMC43O1xufVxuI2Zvb3RlciAubWVtdS1mb290ZXItYm94IC5tZW11LWZvb3Rlci1saXN0IC5tZW11LWZvb3Rlci1pdGVtIC5pY29uLW1haWwge1xuICBtYXJnaW4tcmlnaHQ6IDAuNzE0dnc7XG4gIHdpZHRoOiBjYWxjKDE4cHggKyA4Ljc1ICogKDEwMHZ3IC0gMzc1cHgpIC8gOTkxKTtcbiAgaGVpZ2h0OiBjYWxjKDE1cHggKyA2ICogKDEwMHZ3IC0gMzc1cHgpIC8gOTkxKTtcbiAgbWFyZ2luLXRvcDogMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAjZm9vdGVyIC5tZW11LWZvb3Rlci1ib3ggLm1lbXUtZm9vdGVyLWxpc3QgLm1lbXUtZm9vdGVyLWl0ZW0gLmljb24tbWFpbCB7XG4gICAgd2lkdGg6IDI1LjM1cHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gIH1cbn1cbiNmb290ZXIgLm1lbXUtZm9vdGVyLWJveCAubWVtdS1mb290ZXItbGlzdCAubWVtdS1mb290ZXItaXRlbSBhIHtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZiBKUFwiLCBzZXJpZjtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IGNhbGMoMTBweCArIDggKiAoMTAwdncgLSAzNzVweCkgLyA5OTEpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAjZm9vdGVyIC5tZW11LWZvb3Rlci1ib3ggLm1lbXUtZm9vdGVyLWxpc3QgLm1lbXUtZm9vdGVyLWl0ZW0gYSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG4jZm9vdGVyIC5tZW11LWZvb3Rlci1ib3ggLm1lbXUtZm9vdGVyLWxpc3QgLm1lbXUtZm9vdGVyLWl0ZW0gYSAuc21hbGxUeHQge1xuICBmb250LXNpemU6IGNhbGMoNnB4ICsgOCAqICgxMDB2dyAtIDM3NXB4KSAvIDk5MSk7XG4gIGNvbG9yOiAjZmZmZmZmYmQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gICNmb290ZXIgLm1lbXUtZm9vdGVyLWJveCAubWVtdS1mb290ZXItbGlzdCAubWVtdS1mb290ZXItaXRlbSBhIC5zbWFsbFR4dCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG59XG4jZm9vdGVyIC5tZW11LWZvb3Rlci1ib3ggLm1lbXUtZm9vdGVyLWxpc3QgLm1lbXUtZm9vdGVyLWl0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNmb290ZXIgLmNvcHlyaWdodCB7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWYgSlBcIiwgc2VyaWY7XG4gIHBhZGRpbmc6IDIuODU3dncgMS40dnc7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IGNhbGMoOHB4ICsgNiAqICgxMDB2dyAtIDM3NXB4KSAvIDk5MSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gICNmb290ZXIgLmNvcHlyaWdodCB7XG4gICAgcGFkZGluZzogNDBweCAyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICNmb290ZXIgLmNvcHlyaWdodCB7XG4gICAgcGFkZGluZzogNTQuODVweCAyN3B4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gICNmb290ZXIgLmNvcHlyaWdodCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59IiwiQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU5vdG8rU2FucytKUDp3Z2h0QDQwMDs3MDAmZmFtaWx5PU5vdG8rU2VyaWYrSlA6d2dodEA0MDA7NzAwJmRpc3BsYXk9c3dhcFwiKTtcblxuaHRtbCB7XG59XG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogXCJOb3RvIFNhbnMgSlBcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IGNhbGMoNnB4ICsgKDE0IC0gNikgKiAoKDEwMHZ3IC0gMzc1cHgpIC8gKDEzNjYgLSAzNzUpKSk7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9pbWFnZS9iZy5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOmF1dG87XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxufVxuXG4jYXBwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2FucyBKUFwiLCBzYW5zLXNlcmlmO1xufVxuLmlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDE5MjBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuI2hlYWRlciB7XG4gICAgJiAuaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAyLjV2dyAxLjR2dztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAmIC5sb2dvIHtcbiAgICAgICAgICAgIC8vIG1heC13aWR0aDogMTguM3Z3O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNy4zdnc7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDAgN3B4O1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkgYW5kIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgICAgICAgIC8vIG1heC13aWR0aDogMjU3cHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzODVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMy41cHggMCA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiAzNTJweDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUyNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE5cHggMCA3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkgYW5kIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMzVweCAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQ4cHggMjdweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI21haW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDMuNTd2dztcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjguNXB4O1xuICAgIH1cbiAgICAmIC5pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS40dnc7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDI3cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmIC5hbGVydC1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuODU3dnc7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudGl0bGUtc2hvZ2kge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMuNTd2dztcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi50aXRsZS1zaG9naS1kZXRhaWwtYm94IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjE0dnc7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMS40MnZ3O1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIC5hbGVydC1jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSBhbmQgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgLmFsZXJ0LWNvbHVtbi1tYWluIHtcbiAgICAgICAgICAgIGZsZXg6IDMgMyAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAmIC5hbGVydCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43dnc7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkgYW5kIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEzLjVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgLmFsZXJ0Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIC5hbGVydCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogNC4ydnc7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFkZGluZzogMS4wN3Z3IDIuMTR2dztcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpe1xuICAgICAgICAgICAgLy8gICAgIG1pbi1oZWlnaHQ6ODFweDtcbiAgICAgICAgICAgIC8vICAgICBwYWRkaW5nOiAyMC41cHggNDFweDtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICYgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMi4xNzh2dztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNzl2dztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNDJ2dztcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMC41cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBAbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KXtcbiAgICAgICAgICAgICAgICAvLyAgICAgd2lkdGg6IDQycHg7XG4gICAgICAgICAgICAgICAgLy8gICAgIGhlaWdodDogMzQuNXB4O1xuICAgICAgICAgICAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDI3cHg7XG4gICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiAuYWxlcnQtbWVzc2FnZSxcbiAgICAgICAgICAgICYgLmFsZXJ0LW1lc3NhZ2UgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgNXB4ICsgKDIwIC0gNSkgKiAoKDEwMHZ3IC0gMzc1cHgpIC8gKDEzNjYgLSAzNzUpKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiAuYWxlcnQtbWVzc2FnZSBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmIC5hbGVydC1tZXNzYWdlIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjY2IwYzBjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgLmFsZXJ0LWRhbmdlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2IwYzBjO1xuICAgICAgICB9XG4gICAgICAgICYgLmFsZXJ0LXN1Y2Nlc3Mge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJmYTEyNDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2Zvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU4LCAyNSwgNywgMC43KTtcbiAgICAmIC5tZW11LWZvb3Rlci1ib3gge1xuICAgICAgICBwYWRkaW5nOiAydncgMHB4IDBweDtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwcHggMHB4O1xuICAgICAgICB9XG4gICAgICAgICYgLm1lbXUtZm9vdGVyLWxpc3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogY2FsYygzMDBweCArICg1MjYgLSAzMDApICogKCgxMDB2dyAtIDM3NXB4KSAvICgxMTAwIC0gMzc1KSkpO1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDExMDBweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1NTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiAubWVtdS1mb290ZXItaXRlbSB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDExMDBweCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciAqIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYgLmljb24tbWFpbCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC43MTR2dztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgICAgICAxOHB4ICsgKDE4Ljc1IC0gMTApICogKCgxMDB2dyAtIDM3NXB4KSAvICgxMzY2IC0gMzc1KSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAgICAgMTVweCArICgxMyAtIDcpICogKCgxMDB2dyAtIDM3NXB4KSAvICgxMzY2IC0gMzc1KSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogMTguNzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhlaWdodDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNS4zNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZiBKUFwiLCBzZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICsgKDE4IC0gMTApICogKCgxMDB2dyAtIDM3NXB4KSAvICgxMzY2IC0gMzc1KSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYgLnNtYWxsVHh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYyg2cHggKyAoMTggLSAxMCkgKiAoKDEwMHZ3IC0gMzc1cHgpIC8gKDEzNjYgLSAzNzUpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZmJkO1xuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiAubWVtdS1mb290ZXItaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgLmNvcHlyaWdodCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWYgSlBcIiwgc2VyaWY7XG4gICAgICAgIHBhZGRpbmc6IDIuODU3dncgMS40dnc7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IGNhbGMoOHB4ICsgKDE0IC0gOCkgKiAoKDEwMHZ3IC0gMzc1cHgpIC8gKDEzNjYgLSAzNzUpKSk7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1NC44NXB4IDI3cHg7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAjYXBwLmRlZmF1bHRfY2xhc3Mge1xuLy8gICAgICYgI2hlYWRlciB7XG4vLyAgICAgICAgICYgLmlubmVyIHtcbi8vICAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggMjBweDtcbi8vICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vICAgICAgICAgICAgICYgLmxvZ28ge1xuLy8gICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjU3cHg7XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG5cbi8vICAgICAmICNtYWluIHtcbi8vICAgICAgICAgJiAuaW5uZXIge1xuLy8gICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuLy8gICAgICAgICB9XG4vLyAgICAgfVxuXG4vLyAgICAgJiArICNmb290ZXIge1xuLy8gICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuLy8gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU4LCAyNSwgNywgMC43KTtcbi8vICAgICAgICAgJiAuY29weXJpZ2h0IHtcbi8vICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWYgSlBcIiwgc2VyaWY7XG4vLyAgICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4vLyAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbi8vICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuLy8gICAgICAgICB9XG4vLyAgICAgfVxuLy8gfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/