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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

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

body {
  color: #2e2e2e;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

h1, h2, h3, h4, h5, h6 {
  margin-bottom: 2rem;
  font-weight: 300; }

h1 {
  font-size: 4.0rem;
  line-height: 1.2;
  letter-spacing: -.1rem; }

h2 {
  font-size: 3.6rem;
  line-height: 1.25;
  letter-spacing: -.1rem; }

h3 {
  font-size: 3.0rem;
  line-height: 1.3;
  letter-spacing: -.1rem; }

h4 {
  font-size: 2.4rem;
  line-height: 1.35;
  letter-spacing: -.08rem; }

h5 {
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: -.05rem; }

h6 {
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0; }

i {
  font-style: italic; }

hr {
  margin-top: 3rem;
  margin-bottom: 3.5rem;
  border-width: 0;
  border-top: 1px solid #E1E1E1; }

a {
  color: #4285F4; }

a:hover {
  color: #285092; }

code {
  background-color: #dfdfdf;
  border-radius: 5px;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
  color: #000000;
  display: inline-block;
  font-family: Operator Mono SSm A,Operator Mono SSm B,Operator Mono,Source Code Pro,Menlo,Consolas,Monaco,monospace;
  font-size: 16px;
  line-height: 1.75;
  margin: 20px 0;
  max-width: 100%;
  overflow-x: auto;
  padding: 20px 30px;
  white-space: pre; }

.fine-print {
  font-size: .8em; }

/* Simple navbar */
/* header */
.main-header {
  background-color: #fff;
  -webkit-box-shadow: 1px 1px 4px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 1px 1px 4px 0 rgba(0, 0, 0, 0.1);
  margin: 0;
  position: fixed;
  top: 0px;
  width: 100%;
  z-index: 3;
  /* menu */
  /* menu icon */
  /* menu btn */ }
  .main-header ul {
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: hidden;
    background-color: #fff; }
  .main-header li a {
    display: block;
    padding: 20px 20px;
    border-right: 1px solid #f4f4f4;
    text-decoration: none; }
  .main-header li a:hover,
  .main-header menu-btn:hover {
    background-color: #f4f4f4; }
  .main-header .logo {
    display: block;
    float: left;
    font-size: 2em;
    padding-left: 10px;
    text-decoration: none; }
  .main-header img {
    margin-top: 14px; }
  .main-header .menu {
    clear: both;
    max-height: 0;
    -webkit-transition: max-height .2s ease-out;
    transition: max-height .2s ease-out; }
  .main-header .menu-icon {
    cursor: pointer;
    display: inline-block;
    float: right;
    padding: 28px 20px;
    position: relative;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .main-header .menu-icon .navicon {
    background: #333;
    display: block;
    height: 2px;
    position: relative;
    -webkit-transition: background .2s ease-out;
    transition: background .2s ease-out;
    width: 18px; }
  .main-header .menu-icon .navicon:before,
  .main-header .menu-icon .navicon:after {
    background: #333;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    -webkit-transition: all .2s ease-out;
    transition: all .2s ease-out;
    width: 100%; }
  .main-header .menu-icon .navicon:before {
    top: 5px; }
  .main-header .menu-icon .navicon:after {
    top: -5px; }
  .main-header .menu-btn {
    display: none; }
  .main-header .menu-btn:checked ~ .menu {
    max-height: 240px; }
  .main-header .menu-btn:checked ~ .menu-icon .navicon {
    background: transparent; }
  .main-header .menu-btn:checked ~ .menu-icon .navicon:before {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  .main-header .menu-btn:checked ~ .menu-icon .navicon:after {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  .main-header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
  .main-header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
    top: 0; }

/* Tablet and Desktop Screen */
@media (min-width: 600px) {
  .main-header li {
    float: left; }
  .main-header li a {
    padding: 20px 30px; }
  .main-header .menu {
    clear: none;
    float: right;
    max-height: none; }
  .main-header .menu-icon {
    display: none; } }

main {
  margin: 0 auto;
  max-width: 1000px;
  padding: 58px 20px 20px 20px; }

section {
  min-height: calc(80vh - 100px); }

footer {
  text-align: center; }

.weather_widget {
  background: #fff; }

/* Desktop first design */
body {
  margin: 0; }

nav {
  background-color: #204075;
  -webkit-box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
          box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  position: fixed;
  top: 0;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  width: 100%; }

.navbar {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 16px;
  margin: auto;
  /* Constrain inner navbar width */
  max-width: 1000px;
  height: 100%;
  /* Drop-down text */
  /* Triggers drop-down */
  /* First Tier Drop-down */
  /* Arrow icon pointing down */
  /* Arrow icon pointing right */ }
  .navbar a {
    color: #ffffff; }
  .navbar ul {
    background-color: #204075;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative; }
  .navbar li {
    float: left;
    overflow-y: auto; }
  .navbar li a {
    display: block;
    font-weight: 600;
    padding: 20px 30px;
    text-decoration: none; }
  .navbar li a:hover {
    background-color: #547dbe;
    -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
    position: relative; }
  .navbar .logo {
    color: #c7d9f7;
    display: block;
    float: left;
    font-size: 2em;
    letter-spacing: -0.08rem;
    padding: 10px 20px;
    text-decoration: none; }
  .navbar .menu {
    clear: none;
    float: left;
    max-height: none; }
  .navbar ul ul a {
    color: #ffffff; }
  .navbar ul li:hover > ul {
    display: inherit; }
  .navbar ul ul {
    background: #3b5c91;
    display: none;
    position: absolute;
    width: 170px; }
  .navbar ul ul li {
    float: none; }
  .navbar ul ul ul {
    background: #3164B5;
    left: 170px;
    margin-top: -66px; }
  .navbar li > a:after {
    content: ' \25be';
    font-size: 1.4em;
    margin-left: 3px; }
  .navbar ul ul li > a:after {
    content: ' \25b8';
    font-size: 1.4em;
    margin-left: 3px; }
  .navbar li > a:only-child:after {
    content: ''; }
  .navbar .menu-btn {
    display: none; }

/* Phone menu */
@media (max-width: 600px) {
  nav {
    top: calc(100% - 58px);
    bottom: 0; }
  .navbar {
    /* Triggers drop-down */
    /* Arrow icon pointing right */
    /* menu btn */
    /* menu icon */ }
    .navbar .logo {
      float: right; }
    .navbar ul {
      display: none; }
    .navbar ul ul {
      bottom: 0;
      left: 33vw;
      width: 33vw; }
    .navbar ul ul ul {
      left: 33vw;
      width: 34vw; }
    .navbar li {
      float: none; }
    .navbar ul li:hover > ul {
      display: inherit;
      overflow: initial; }
    .navbar li a {
      padding: 20px 20px; }
    .navbar li > a:after {
      content: ' \25b8';
      font-size: 1.4em;
      margin-left: 3px; }
    .navbar .menu {
      bottom: 58px;
      clear: both;
      float: left;
      max-height: 0;
      overflow: visible;
      position: absolute;
      width: 33vw; }
    .navbar .menu-btn:checked ~ ul {
      display: block; }
    .navbar .menu-btn:checked ~ .menu {
      max-height: 240px; }
    .navbar .menu-btn:checked ~ .menu-icon .navicon {
      background: transparent; }
    .navbar .menu-btn:checked ~ .menu-icon .navicon:before {
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    .navbar .menu-btn:checked ~ .menu-icon .navicon:after {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .navbar .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
    .navbar .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
      top: 0; }
    .navbar .menu-icon {
      cursor: pointer;
      display: inline-block;
      padding: 28px 20px;
      position: relative;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none; }
      .navbar .menu-icon .navicon {
        background: #ffffff;
        background: #ffffff;
        display: block;
        height: 2px;
        position: relative;
        -webkit-transition: background .2s ease-out;
        transition: background .2s ease-out;
        width: 18px; }
      .navbar .menu-icon .navicon:before,
      .navbar .menu-icon .navicon:after {
        background: #ffffff;
        content: '';
        display: block;
        height: 100%;
        position: absolute;
        -webkit-transition: all .3s ease-out;
        transition: all .3s ease-out;
        width: 100%; }
      .navbar .menu-icon .navicon:before {
        top: 5px; }
      .navbar .menu-icon .navicon:after {
        top: -5px; }
  main {
    margin-bottom: 60px;
    padding-top: 0; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9ub3JtYWxpemUuc2NzcyIsIm1haW4uY3NzIiwiX2Jhc2Uuc2NzcyIsIl90eXBvZ3JhcGh5LnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfbmF2YmFyLnNjc3MiLCJfbGF5b3V0LnNjc3MiLCJfd2VhdGhlci13aWRnZXQuc2NzcyIsIl9tZW51LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkVBQUE7QUFFQTsrRUNBK0U7QURHL0U7OztFQ0NFO0FESUQ7RUFDQyxpQkFBaUI7RUFBRSxNQUFBO0VBQ25CLDhCQUE4QjtFQUFFLE1BQUEsRUFBTzs7QUFHekM7K0VDRCtFO0FESS9FOztFQ0RFO0FES0Y7RUFDRSxTQUFTLEVBQUE7O0FBR1g7O0VDSEU7QURPRjtFQUNFLGNBQWMsRUFBQTs7QUFHaEI7OztFQ0pFO0FEU0Y7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCLEVBQUE7O0FBR2xCOytFQ1IrRTtBRFcvRTs7O0VDUEU7QURZRjtFQUNFLCtCQUF1QjtVQUF2Qix1QkFBdUI7RUFBRSxNQUFBO0VBQ3pCLFNBQVM7RUFBRSxNQUFBO0VBQ1gsaUJBQWlCO0VBQUUsTUFBQSxFQUFPOztBQUc1Qjs7O0VDTkU7QURXRjtFQUNFLGlDQUFpQztFQUFFLE1BQUE7RUFDbkMsY0FBYztFQUFFLE1BQUEsRUFBTzs7QUFHekI7K0VDUitFO0FEVy9FOztFQ1JFO0FEWUY7RUFDRSw2QkFBNkIsRUFBQTs7QUFHL0I7OztFQ1RFO0FEY0Y7RUFDRSxtQkFBbUI7RUFBRSxNQUFBO0VBQ3JCLDBCQUEwQjtFQUFFLE1BQUE7RUFDNUIseUNBQWlDO1VBQWpDLGlDQUFpQztFQUFFLE1BQUEsRUFBTzs7QUFHNUM7O0VDVEU7QURhRjs7RUFFRSxtQkFBbUIsRUFBQTs7QUFHckI7OztFQ1ZFO0FEZUY7OztFQUdFLGlDQUFpQztFQUFFLE1BQUE7RUFDbkMsY0FBYztFQUFFLE1BQUEsRUFBTzs7QUFHekI7O0VDWEU7QURlRjtFQUNFLGNBQWMsRUFBQTs7QUFHaEI7OztFQ1pFO0FEaUJG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VCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuIGh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgY29sb3I6ICMyZTJlMmU7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogNC4wcmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBsZXR0ZXItc3BhY2luZzogLS4xcmVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAzLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBsZXR0ZXItc3BhY2luZzogLS4xcmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAzLjByZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGxldHRlci1zcGFjaW5nOiAtLjFyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gIGxldHRlci1zcGFjaW5nOiAtLjA4cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGxldHRlci1zcGFjaW5nOiAtLjA1cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGxldHRlci1zcGFjaW5nOiAwOyB9XG5cbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuaHIge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICBtYXJnaW4tYm90dG9tOiAzLjVyZW07XG4gIGJvcmRlci13aWR0aDogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFMUUxRTE7IH1cblxuYSB7XG4gIGNvbG9yOiAjNDI4NUY0OyB9XG5cbmE6aG92ZXIge1xuICBjb2xvcjogIzI4NTA5MjsgfVxuXG5jb2RlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBPcGVyYXRvciBNb25vIFNTbSBBLE9wZXJhdG9yIE1vbm8gU1NtIEIsT3BlcmF0b3IgTW9ubyxTb3VyY2UgQ29kZSBQcm8sTWVubG8sQ29uc29sYXMsTW9uYWNvLG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS43NTtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgcGFkZGluZzogMjBweCAzMHB4O1xuICB3aGl0ZS1zcGFjZTogcHJlOyB9XG5cbi5maW5lLXByaW50IHtcbiAgZm9udC1zaXplOiAuOGVtOyB9XG5cbi8qIFNpbXBsZSBuYXZiYXIgKi9cbi8qIGhlYWRlciAqL1xuLm1haW4taGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMXB4IDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDM7XG4gIC8qIG1lbnUgKi9cbiAgLyogbWVudSBpY29uICovXG4gIC8qIG1lbnUgYnRuICovIH1cbiAgLm1haW4taGVhZGVyIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAubWFpbi1oZWFkZXIgbGkgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMjBweCAyMHB4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmNGY0ZjQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5tYWluLWhlYWRlciBsaSBhOmhvdmVyLFxuICAubWFpbi1oZWFkZXIgbWVudS1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7IH1cbiAgLm1haW4taGVhZGVyIC5sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5tYWluLWhlYWRlciBpbWcge1xuICAgIG1hcmdpbi10b3A6IDE0cHg7IH1cbiAgLm1haW4taGVhZGVyIC5tZW51IHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjJzIGVhc2Utb3V0OyB9XG4gIC5tYWluLWhlYWRlciAubWVudS1pY29uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nOiAyOHB4IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5tYWluLWhlYWRlciAubWVudS1pY29uIC5uYXZpY29uIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlLW91dDtcbiAgICB3aWR0aDogMThweDsgfVxuICAubWFpbi1oZWFkZXIgLm1lbnUtaWNvbiAubmF2aWNvbjpiZWZvcmUsXG4gIC5tYWluLWhlYWRlciAubWVudS1pY29uIC5uYXZpY29uOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLW91dDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWFpbi1oZWFkZXIgLm1lbnUtaWNvbiAubmF2aWNvbjpiZWZvcmUge1xuICAgIHRvcDogNXB4OyB9XG4gIC5tYWluLWhlYWRlciAubWVudS1pY29uIC5uYXZpY29uOmFmdGVyIHtcbiAgICB0b3A6IC01cHg7IH1cbiAgLm1haW4taGVhZGVyIC5tZW51LWJ0biB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubWFpbi1oZWFkZXIgLm1lbnUtYnRuOmNoZWNrZWQgfiAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMjQwcHg7IH1cbiAgLm1haW4taGVhZGVyIC5tZW51LWJ0bjpjaGVja2VkIH4gLm1lbnUtaWNvbiAubmF2aWNvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLm1haW4taGVhZGVyIC5tZW51LWJ0bjpjaGVja2VkIH4gLm1lbnUtaWNvbiAubmF2aWNvbjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgLm1haW4taGVhZGVyIC5tZW51LWJ0bjpjaGVja2VkIH4gLm1lbnUtaWNvbiAubmF2aWNvbjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIC5tYWluLWhlYWRlciAubWVudS1idG46Y2hlY2tlZCB+IC5tZW51LWljb246bm90KC5zdGVwcykgLm5hdmljb246YmVmb3JlLFxuICAubWFpbi1oZWFkZXIgLm1lbnUtYnRuOmNoZWNrZWQgfiAubWVudS1pY29uOm5vdCguc3RlcHMpIC5uYXZpY29uOmFmdGVyIHtcbiAgICB0b3A6IDA7IH1cblxuLyogVGFibGV0IGFuZCBEZXNrdG9wIFNjcmVlbiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5tYWluLWhlYWRlciBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1haW4taGVhZGVyIGxpIGEge1xuICAgIHBhZGRpbmc6IDIwcHggMzBweDsgfVxuICAubWFpbi1oZWFkZXIgLm1lbnUge1xuICAgIGNsZWFyOiBub25lO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gIC5tYWluLWhlYWRlciAubWVudS1pY29uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxubWFpbiB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgcGFkZGluZzogNThweCAyMHB4IDIwcHggMjBweDsgfVxuXG5zZWN0aW9uIHtcbiAgbWluLWhlaWdodDogY2FsYyg4MHZoIC0gMTAwcHgpOyB9XG5cbmZvb3RlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ud2VhdGhlcl93aWRnZXQge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi8qIERlc2t0b3AgZmlyc3QgZGVzaWduICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbm5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDQwNzU7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubmF2YmFyIHtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbjogYXV0bztcbiAgLyogQ29uc3RyYWluIGlubmVyIG5hdmJhciB3aWR0aCAqL1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiBEcm9wLWRvd24gdGV4dCAqL1xuICAvKiBUcmlnZ2VycyBkcm9wLWRvd24gKi9cbiAgLyogRmlyc3QgVGllciBEcm9wLWRvd24gKi9cbiAgLyogQXJyb3cgaWNvbiBwb2ludGluZyBkb3duICovXG4gIC8qIEFycm93IGljb24gcG9pbnRpbmcgcmlnaHQgKi8gfVxuICAubmF2YmFyIGEge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5uYXZiYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDQwNzU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm5hdmJhciBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAubmF2YmFyIGxpIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogMjBweCAzMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAubmF2YmFyIGxpIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDdkYmU7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm5hdmJhciAubG9nbyB7XG4gICAgY29sb3I6ICNjN2Q5Zjc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4cmVtO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm5hdmJhciAubWVudSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAubmF2YmFyIHVsIHVsIGEge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5uYXZiYXIgdWwgbGk6aG92ZXIgPiB1bCB7XG4gICAgZGlzcGxheTogaW5oZXJpdDsgfVxuICAubmF2YmFyIHVsIHVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2I1YzkxO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxNzBweDsgfVxuICAubmF2YmFyIHVsIHVsIGxpIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAubmF2YmFyIHVsIHVsIHVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzE2NEI1O1xuICAgIGxlZnQ6IDE3MHB4O1xuICAgIG1hcmdpbi10b3A6IC02NnB4OyB9XG4gIC5uYXZiYXIgbGkgPiBhOmFmdGVyIHtcbiAgICBjb250ZW50OiAnIFxcMjViZSc7XG4gICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICBtYXJnaW4tbGVmdDogM3B4OyB9XG4gIC5uYXZiYXIgdWwgdWwgbGkgPiBhOmFmdGVyIHtcbiAgICBjb250ZW50OiAnIFxcMjViOCc7XG4gICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICBtYXJnaW4tbGVmdDogM3B4OyB9XG4gIC5uYXZiYXIgbGkgPiBhOm9ubHktY2hpbGQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5uYXZiYXIgLm1lbnUtYnRuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFBob25lIG1lbnUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICBuYXYge1xuICAgIHRvcDogY2FsYygxMDAlIC0gNThweCk7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5uYXZiYXIge1xuICAgIC8qIFRyaWdnZXJzIGRyb3AtZG93biAqL1xuICAgIC8qIEFycm93IGljb24gcG9pbnRpbmcgcmlnaHQgKi9cbiAgICAvKiBtZW51IGJ0biAqL1xuICAgIC8qIG1lbnUgaWNvbiAqLyB9XG4gICAgLm5hdmJhciAubG9nbyB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAubmF2YmFyIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubmF2YmFyIHVsIHVsIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDMzdnc7XG4gICAgICB3aWR0aDogMzN2dzsgfVxuICAgIC5uYXZiYXIgdWwgdWwgdWwge1xuICAgICAgbGVmdDogMzN2dztcbiAgICAgIHdpZHRoOiAzNHZ3OyB9XG4gICAgLm5hdmJhciBsaSB7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAgIC5uYXZiYXIgdWwgbGk6aG92ZXIgPiB1bCB7XG4gICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7IH1cbiAgICAubmF2YmFyIGxpIGEge1xuICAgICAgcGFkZGluZzogMjBweCAyMHB4OyB9XG4gICAgLm5hdmJhciBsaSA+IGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyBcXDI1YjgnO1xuICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7IH1cbiAgICAubmF2YmFyIC5tZW51IHtcbiAgICAgIGJvdHRvbTogNThweDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMzN2dzsgfVxuICAgIC5uYXZiYXIgLm1lbnUtYnRuOmNoZWNrZWQgfiB1bCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5uYXZiYXIgLm1lbnUtYnRuOmNoZWNrZWQgfiAubWVudSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyNDBweDsgfVxuICAgIC5uYXZiYXIgLm1lbnUtYnRuOmNoZWNrZWQgfiAubWVudS1pY29uIC5uYXZpY29uIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLm5hdmJhciAubWVudS1idG46Y2hlY2tlZCB+IC5tZW51LWljb24gLm5hdmljb246YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAubmF2YmFyIC5tZW51LWJ0bjpjaGVja2VkIH4gLm1lbnUtaWNvbiAubmF2aWNvbjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAubmF2YmFyIC5tZW51LWJ0bjpjaGVja2VkIH4gLm1lbnUtaWNvbjpub3QoLnN0ZXBzKSAubmF2aWNvbjpiZWZvcmUsXG4gICAgLm5hdmJhciAubWVudS1idG46Y2hlY2tlZCB+IC5tZW51LWljb246bm90KC5zdGVwcykgLm5hdmljb246YWZ0ZXIge1xuICAgICAgdG9wOiAwOyB9XG4gICAgLm5hdmJhciAubWVudS1pY29uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDI4cHggMjBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gICAgICAubmF2YmFyIC5tZW51LWljb24gLm5hdmljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIHdpZHRoOiAxOHB4OyB9XG4gICAgICAubmF2YmFyIC5tZW51LWljb24gLm5hdmljb246YmVmb3JlLFxuICAgICAgLm5hdmJhciAubWVudS1pY29uIC5uYXZpY29uOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLW91dDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5uYXZiYXIgLm1lbnUtaWNvbiAubmF2aWNvbjpiZWZvcmUge1xuICAgICAgICB0b3A6IDVweDsgfVxuICAgICAgLm5hdmJhciAubWVudS1pY29uIC5uYXZpY29uOmFmdGVyIHtcbiAgICAgICAgdG9wOiAtNXB4OyB9XG4gIG1haW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgcGFkZGluZy10b3A6IDA7IH0gfVxuIiwiLy8gQm94IG1vZGVsIGZpeDpcbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4vLyBHbG9iYWwgc3R5bGVzXG4vLyBib2R5IHtcbi8vICAgbWFyZ2luOiAwO1xuLy8gfVxuIiwiLy8gVHlwb2dyYXBoeVxuYm9keSB7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLFxuICAgIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsXG4gICAgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbmgxIHsgZm9udC1zaXplOiA0LjByZW07IGxpbmUtaGVpZ2h0OiAxLjI7ICBsZXR0ZXItc3BhY2luZzogLS4xcmVtO31cbmgyIHsgZm9udC1zaXplOiAzLjZyZW07IGxpbmUtaGVpZ2h0OiAxLjI1OyBsZXR0ZXItc3BhY2luZzogLS4xcmVtOyB9XG5oMyB7IGZvbnQtc2l6ZTogMy4wcmVtOyBsaW5lLWhlaWdodDogMS4zOyAgbGV0dGVyLXNwYWNpbmc6IC0uMXJlbTsgfVxuaDQgeyBmb250LXNpemU6IDIuNHJlbTsgbGluZS1oZWlnaHQ6IDEuMzU7IGxldHRlci1zcGFjaW5nOiAtLjA4cmVtOyB9XG5oNSB7IGZvbnQtc2l6ZTogMS44cmVtOyBsaW5lLWhlaWdodDogMS41OyAgbGV0dGVyLXNwYWNpbmc6IC0uMDVyZW07IH1cbmg2IHsgZm9udC1zaXplOiAxLjVyZW07IGxpbmUtaGVpZ2h0OiAxLjY7ICBsZXR0ZXItc3BhY2luZzogMDsgfVxuXG5pIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTFFMUUxOyB9XG5cbmEge1xuICBjb2xvcjogJGJsdWU7IH1cbmE6aG92ZXIge1xuICBjb2xvcjogJGRhcmstYmx1ZTsgfVxuXG5cbmNvZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsMCwwLDAuMTYpLCAwIDNweCA2cHggcmdiYSgwLDAsMCwwLjIzKTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IE9wZXJhdG9yIE1vbm8gU1NtIEEsT3BlcmF0b3IgTW9ubyBTU20gQixPcGVyYXRvciBNb25vLFNvdXJjZSBDb2RlIFBybyxNZW5sbyxDb25zb2xhcyxNb25hY28sbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBtYXJnaW46IDIwcHggMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG59XG5cbi5maW5lLXByaW50IHtcbiAgZm9udC1zaXplOiAuOGVtO1xufVxuIiwiJHRleHQtY29sb3I6ICMyZTJlMmU7XG5cbiRibHVlOiAjNDI4NUY0O1xuJHJlZDogI0RCNDQzNztcbiR5ZWxsb3c6ICNGNEI0MDA7O1xuJGdyZWVuOiAjMEY5RDU4OztcblxuJGRhcmstYmx1ZTogIzI4NTA5MjtcbiRkYXJrLXJlZDogIzhDMjgyMDtcbiRkYXJrLXllbGxvdzogIzdFNUUwMztcbiRkYXJrLWdyZWVuOiAjMUE1NDJBO1xuXG4kbGlnaHQtYmx1ZTogI0ExQzJGQTtcbiRsaWdodC1yZWQ6ICNGN0I0QUU7XG4kbGlnaHQteWVsbG93OiAjRkRERTgyO1xuJGxpZ2h0LWdyZWVuOiAjOUFENEE5O1xuIiwiLyogU2ltcGxlIG5hdmJhciAqL1xuXG4vKiBoZWFkZXIgKi9cbi5tYWluLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggNHB4IDAgcmdiYSgwLDAsMCwuMSk7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDM7XG5cbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG5cbiAgbGkgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMjBweCAyMHB4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmNGY0ZjQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgbGkgYTpob3ZlcixcbiAgbWVudS1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gIH1cblxuICAubG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgfVxuXG4gIC8qIG1lbnUgKi9cbiAgLm1lbnUge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuMnMgZWFzZS1vdXQ7XG4gIH1cblxuICAvKiBtZW51IGljb24gKi9cbiAgLm1lbnUtaWNvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMjhweCAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC5tZW51LWljb24gLm5hdmljb24ge1xuICAgIGJhY2tncm91bmQ6ICMzMzM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2Utb3V0O1xuICAgIHdpZHRoOiAxOHB4O1xuICB9XG5cbiAgLm1lbnUtaWNvbiAubmF2aWNvbjpiZWZvcmUsXG4gIC5tZW51LWljb24gLm5hdmljb246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMzMzM7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2Utb3V0O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm1lbnUtaWNvbiAubmF2aWNvbjpiZWZvcmUge1xuICAgIHRvcDogNXB4O1xuICB9XG5cbiAgLm1lbnUtaWNvbiAubmF2aWNvbjphZnRlciB7XG4gICAgdG9wOiAtNXB4O1xuICB9XG5cbiAgLyogbWVudSBidG4gKi9cbiAgLm1lbnUtYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm1lbnUtYnRuOmNoZWNrZWQgfiAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMjQwcHg7XG4gIH1cblxuICAubWVudS1idG46Y2hlY2tlZCB+IC5tZW51LWljb24gLm5hdmljb24ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLm1lbnUtYnRuOmNoZWNrZWQgfiAubWVudS1pY29uIC5uYXZpY29uOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuXG4gIC5tZW51LWJ0bjpjaGVja2VkIH4gLm1lbnUtaWNvbiAubmF2aWNvbjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG5cbiAgLm1lbnUtYnRuOmNoZWNrZWQgfiAubWVudS1pY29uOm5vdCguc3RlcHMpIC5uYXZpY29uOmJlZm9yZSxcbiAgLm1lbnUtYnRuOmNoZWNrZWQgfiAubWVudS1pY29uOm5vdCguc3RlcHMpIC5uYXZpY29uOmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuLyogVGFibGV0IGFuZCBEZXNrdG9wIFNjcmVlbiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5tYWluLWhlYWRlciB7XG4gICAgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICB9XG4gICAgLm1lbnUge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cbiAgICAubWVudS1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBMYXlvdXRcblxubWFpbiB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgcGFkZGluZzogNThweCAyMHB4IDIwcHggMjBweDtcbn1cblxuc2VjdGlvbiB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoODB2aCAtIDEwMHB4KTtcbn1cblxuZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLndlYXRoZXJfd2lkZ2V0IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn0iLCIvKiBEZXNrdG9wIGZpcnN0IGRlc2lnbiAqL1xuXG4kbmF2YmFyLW5hdjogIzIwNDA3NTtcbiRuYXZiYXItbG9nby1jb2xvcjogI2M3ZDlmNztcbiRuYXZiYXItYmctdWw6ICMyMDQwNzU7XG4kbmF2YmFyLWJnLWxpLWhvdmVyOiAjNTQ3ZGJlO1xuJG5hdmJhci1hOiAjZmZmZmZmO1xuJG5hdmJhci1kcm9wLWRvd24tYTogI2ZmZmZmZjtcbiRuYXZiYXItdWwtdWw6ICMzYjVjOTE7XG4kbmF2YmFyLXVsLXVsLXVsOiAjMzE2NEI1O1xuJG5hdmJhci1oYW1idXJnZXItY29sb3I6ICNmZmZmZmY7XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbm5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItbmF2O1xuICBib3gtc2hhZG93OiAwIDRweCA1cHggMCByZ2JhKDAsMCwwLDAuMTQpLCAwIDFweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjEyKSwgMCAycHggNHB4IC0xcHggcmdiYSgwLDAsMCwwLjIpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5uYXZiYXIge1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luOiBhdXRvO1xuICAvKiBDb25zdHJhaW4gaW5uZXIgbmF2YmFyIHdpZHRoICovXG4gIG1heC13aWR0aDogMTAwMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRuYXZiYXItYTtcbiAgfVxuXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWJnLXVsO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cblxuICBsaSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICBsaSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWJnLWxpLWhvdmVyO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmxvZ28ge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxvZ28tY29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA4cmVtO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAubWVudSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgfVxuXG4gIC8qIERyb3AtZG93biB0ZXh0ICovXG4gIHVsIHVsIGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3AtZG93bi1hO1xuICB9XG5cbiAgLyogVHJpZ2dlcnMgZHJvcC1kb3duICovXG4gIHVsIGxpOmhvdmVyID4gdWwge1xuICAgIGRpc3BsYXk6aW5oZXJpdDtcbiAgfVxuXG4gIHVsIHVsIHtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLXVsLXVsO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxNzBweDtcbiAgfVxuXG4gIC8qIEZpcnN0IFRpZXIgRHJvcC1kb3duICovXG4gIHVsIHVsIGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIHVsIHVsIHVsIHtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLXVsLXVsLXVsO1xuICAgIGxlZnQ6IDE3MHB4O1xuICAgIG1hcmdpbi10b3A6IC02NnB4O1xuICB9XG5cbiAgLyogQXJyb3cgaWNvbiBwb2ludGluZyBkb3duICovXG4gIGxpID4gYTphZnRlciB7XG4gICAgY29udGVudDogICcgXFwyNWJlJztcbiAgICBmb250LXNpemU6IDEuNGVtO1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIH1cblxuICAvKiBBcnJvdyBpY29uIHBvaW50aW5nIHJpZ2h0ICovXG4gIHVsIHVsIGxpID4gYTphZnRlciB7XG4gICAgY29udGVudDogICcgXFwyNWI4JztcbiAgICBmb250LXNpemU6IDEuNGVtO1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIH1cblxuICBsaSA+IGE6b25seS1jaGlsZDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAubWVudS1idG4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogUGhvbmUgbWVudSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cbiAgbmF2IHtcbiAgICB0b3A6IGNhbGMoMTAwJSAtIDU4cHgpO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuXG4gIC5uYXZiYXIge1xuXG4gICAgLmxvZ28ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIHVsIHVsIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDMzdnc7XG4gICAgICB3aWR0aDogMzN2dztcbiAgICB9XG5cbiAgICB1bCB1bCB1bCB7XG4gICAgICBsZWZ0OiAzM3Z3O1xuICAgICAgd2lkdGg6IDM0dnc7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogVHJpZ2dlcnMgZHJvcC1kb3duICovXG4gICAgdWwgbGk6aG92ZXIgPiB1bCB7XG4gICAgICBkaXNwbGF5OmluaGVyaXQ7XG4gICAgICBvdmVyZmxvdzogaW5pdGlhbDtcbiAgICB9XG5cbiAgICBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgICB9XG5cbiAgICAvKiBBcnJvdyBpY29uIHBvaW50aW5nIHJpZ2h0ICovXG4gICAgbGkgPiBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICAnIFxcMjViOCc7XG4gICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICB9XG5cbiAgICAubWVudSB7XG4gICAgICBib3R0b206IDU4cHg7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDMzdnc7XG4gICAgfVxuXG4gICAgLyogbWVudSBidG4gKi9cbiAgICAubWVudS1idG4ge1xuICAgICAgJjpjaGVja2VkIH4gdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICY6Y2hlY2tlZCB+IC5tZW51IHtcbiAgICAgICAgbWF4LWhlaWdodDogMjQwcHg7XG4gICAgICB9XG4gICAgICAmOmNoZWNrZWQgfiAubWVudS1pY29uIC5uYXZpY29uIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgICAmOmNoZWNrZWQgfiAubWVudS1pY29uIC5uYXZpY29uOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICB9XG4gICAgICAmOmNoZWNrZWQgfiAubWVudS1pY29uIC5uYXZpY29uOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgfVxuICAgICAgJjpjaGVja2VkIH4gLm1lbnUtaWNvbjpub3QoLnN0ZXBzKSAubmF2aWNvbjpiZWZvcmUsXG4gICAgICAmOmNoZWNrZWQgfiAubWVudS1pY29uOm5vdCguc3RlcHMpIC5uYXZpY29uOmFmdGVyIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIG1lbnUgaWNvbiAqL1xuICAgIC5tZW51LWljb24ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMjhweCAyMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgIC5uYXZpY29uIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG5hdmJhci1oYW1idXJnZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuYXZiYXItaGFtYnVyZ2VyLWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgfVxuXG4gICAgICAubmF2aWNvbjpiZWZvcmUsXG4gICAgICAubmF2aWNvbjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuYXZiYXItaGFtYnVyZ2VyLWNvbG9yO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLm5hdmljb246YmVmb3JlIHtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIC5uYXZpY29uOmFmdGVyIHtcbiAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG1haW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cbiJdfQ== */
