@charset "UTF-8";
/* Put your global styles here */
/*! normalize.css v7.0.0 | 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
 *    IE on Windows Phone and in iOS.
 */
@import url("//hello.myfonts.net/count/36673e");
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  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
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  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
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

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

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * 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 style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * 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
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

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

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 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;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * 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 {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

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

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  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 and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[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 IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

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

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

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

/*! HTML5 Boilerplate v6.0.1 | MIT License | https://html5boilerplate.com/ */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */
.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
  text-align: center;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Hide visually and from screen readers
 */
.hidden {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  -webkit-clip-path: none;
  clip-path: none;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
  white-space: inherit;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */
.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.clearfix:after {
  clear: both;
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}

/**
 * @license
 * MyFonts Webfont Build ID 3565374, 2018-04-23T09:10:53-0400
 * 
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are 
 * explicitly restricted from using the Licensed Webfonts(s).
 * 
 * You may obtain a valid license at the URLs below.
 * 
 * Webfont: NeuzeitSLTStd-Book by Linotype
 * URL: https://www.myfonts.com/fonts/linotype/neuzeit-s/neuzeits-book/
 * 
 * Webfont: NeuzeitSLTStd-BookHeavy by Linotype
 * URL: https://www.myfonts.com/fonts/linotype/neuzeit-s/neuzeits-bookheavy/
 * 
 * 
 * License: https://www.myfonts.com/viewlicense?type=web&buildid=3565374
 * Licensed pageviews: 250,000
 * Webfonts copyright: Copyright &#x00A9; 1990, 2001, 2002 Adobe Systems Incorporated.  All Rights Reserved. &#x00A9; 1981, 2001, 2002 Heidelberger Druckmaschinen AG. All rights reserved.
 * 
 * © 2018 MyFonts Inc
*/
/* @import must be at top of file, otherwise CSS will not work */
@font-face {
  font-family: 'NeuzeitSLTStd-Book';
  src: url("/webfonts/36673E_0_0.eot");
  src: url("/webfonts/36673E_0_0.eot?#iefix") format("embedded-opentype"), url("/webfonts/36673E_0_0.woff2") format("woff2"), url("/webfonts/36673E_0_0.woff") format("woff"), url("/webfonts/36673E_0_0.ttf") format("truetype");
}

@font-face {
  font-family: 'NeuzeitSLTStd-BookHeavy';
  src: url("/webfonts/36673E_1_0.eot");
  src: url("/webfonts/36673E_1_0.eot?#iefix") format("embedded-opentype"), url("/webfonts/36673E_1_0.woff2") format("woff2"), url("/webfonts/36673E_1_0.woff") format("woff"), url("/webfonts/36673E_1_0.ttf") format("truetype");
}

.NeuzeitSLTStd-Book {
  font-family: NeuzeitSLTStd-Book;
}

.NeuzeitSLTStd-BookHeavy {
  font-family: NeuzeitSLTStd-BookHeavy;
}

@font-face {
  font-family: 'Reglo-Bold';
  src: url("/webfonts/Reglo-Bold.ttf") format("truetype");
}

.Reglo-Bold {
  font-family: Reglo-Bold;
}

html {
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: NeuzeitSLTStd-Book, Helvetica Neue, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: normal;
}

h1, h2, h3, h4, h5 {
  font-family: Reglo-Bold, Helvetica Neue, sans-serif;
  font-weight: normal;
}

h1 {
  font-size: 2.25rem;
  line-height: 2.5rem;
}

h3.cta {
  text-transform: uppercase;
  font-size: 1.25rem;
  margin-bottom: 10px;
  margin-top: 40px;
}

h5 {
  font-family: NeuzeitSLTStd-BookHeavy;
  font-size: 1rem;
}

input {
  font-size: 0.8rem;
}

nav ul li {
  text-transform: lowercase;
  font-size: 1.1rem;
}

nav ul li li {
  font-size: 1rem;
}

nav .tickets {
  font-size: 1.2rem;
}

.m-tickets {
  font-size: 1.5rem;
  text-transform: lowercase;
}

h2 {
  font-size: 1.6rem;
}

.more {
  text-transform: uppercase;
  font-family: NeuzeitSLTStd-BookHeavy;
  font-size: 0.9rem;
}

.buy, .full {
  font-family: Reglo-Bold, Helvetica Neue, sans-serif;
  font-size: 1.2rem;
}

.other .info {
  font-family: Reglo-Bold, Helvetica Neue, sans-serif;
  font-size: 1.2rem;
}

.timeline .date {
  font-size: 1.25rem;
}

.event .location {
  text-transform: uppercase;
  font-size: 0.8rem;
}

.event-detail-page .intro, .news-detail-page .intro {
  font-family: NeuzeitSLTStd-BookHeavy;
}

.credits {
  font-size: 0.8rem;
}

.copyright {
  font-size: 0.7rem;
  line-height: 0.9rem;
}

.mydate, .m-mydate {
  font-family: NeuzeitSLTStd-BookHeavy;
  text-transform: lowercase;
}

.reviewer h4 {
  text-transform: uppercase;
  font-size: 0.7rem;
  font-weight: normal;
  font-family: NeuzeitSLTStd-Book, Helvetica Neue, sans-serif;
}

@media only screen and (max-width: 45em) {
  h1 {
    font-size: 1.85rem;
  }
}

/* Put your layout here */
nav li {
  display: inline-block;
}

.header {
  position: fixed;
  background: white;
  width: 100%;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  max-width: 1250px;
  margin: 0 auto;
  padding: 20px 0;
}

.header .logo {
  display: inline-block;
  margin-left: 20px;
}

.header .logo a {
  width: 280px;
  height: 90px;
  background-image: url("/img/ap_logo.png");
  background-size: 100% 100%;
  display: block;
}

.header .functional {
  float: right;
  margin-top: 44px;
}

.header .fubl {
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -ms-flex-pack: end;
      justify-content: flex-end;
}

.header .lang-switch {
  margin-right: 20px;
  padding-top: 10px;
}

.header .lang-switch a:first-child {
  position: relative;
  margin-right: 10px;
}

.header .lang-switch a:first-child:after {
  position: absolute;
  content: ' /';
  right: -10px;
  text-decoration: none !important;
}

.header .mailchimp {
  border-left: 2px solid #333;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  margin-top: -2px;
  margin-right: 20px;
  display: -ms-flexbox;
  display: flex;
  padding-top: 5px;
}

.header .mailchimp h5 {
  margin: 0;
  padding: 10px;
}

/* mailchimp form */
.mcf .mc-field-group {
  display: -ms-flexbox;
  display: flex;
}

.mcf input[type="email"] {
  border: 0px;
  border-bottom: 2px solid #333;
  margin: 8px 3px 0 10px;
  width: 100%;
  border-radius: 0;
  padding: 4px 3px 3px 3px;
  height: 13px;
}

.mcf input[type="email"]:focus {
  border: 2px solid #333;
  outline: none;
  padding: 2px 1px 3px 1px;
}

.mcf button, .mcf .button {
  background-image: url(/img/submit.png);
  background-size: 100% 100%;
  background-position: center 4px;
  width: 30px;
  height: 30px;
  border: 0px;
  margin-right: 10px;
  padding: 0;
  outline: none;
  cursor: pointer;
  font-size: 0;
  transition: all 0.05s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.scrolling .header {
  border-bottom: 2px solid #333;
  padding: 20px 0 0 0;
  transition: all 0.15s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.scrolling .header .logo a {
  background-image: url("/img/ap_icon.png");
  width: 55px;
  height: 55px;
  transition: all 0.15s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.scrolling .functional {
  margin-top: 15px;
}

.scrolling .lang-switch {
  position: absolute;
  top: 35px;
  right: 150px;
  z-index: 123;
}

.scrolling .mailchimp {
  position: absolute;
  top: 120px;
  right: 0;
  width: auto;
  background: white;
}

footer {
  max-width: 1250px;
  margin: 0 auto;
  border-top: 2px solid #333;
  position: relative;
}

footer .footer-content {
  display: -ms-flexbox;
  display: flex;
  border-bottom: 2px solid #333;
  padding-bottom: 10px;
}

footer .footer-content .stay-updated, footer .footer-content .sponsors {
  margin: 20px;
}

footer .footer-content h5 {
  margin-bottom: 10px;
}

footer .footer-content .stay-updated {
  min-width: 235px;
}

footer .footer-content .mcf {
  border: 2px solid #333;
  padding: 5px 0 12px 10px;
}

footer .footer-content .social a {
  display: inline-block;
  position: relative;
}

footer .footer-content .social a:hover:after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  background: #0213B9;
  width: 100%;
  height: 100%;
  mix-blend-mode: screen;
}

footer .credits {
  text-align: right;
}

footer .credits .cw a {
  background: #333;
  display: inline-block;
  border-left: 2px solid #333;
  border-right: 2px solid #333;
  color: white;
  float: right;
  padding: 6px 10px 4px 10px;
  margin-right: 20px;
  text-decoration: none;
}

footer .credits .cw a:hover {
  color: #333;
  background: white;
}

footer .credits .contact {
  float: left;
  padding-left: 20px;
  padding-top: 5px;
}

footer .credits .contact a {
  text-decoration: none;
}

footer .up {
  position: absolute;
  top: -35px;
  right: 10px;
  cursor: pointer;
  background: pink;
  background-image: url(/img/submit.png);
  background-size: 100% 100%;
  background-position: center 1px;
  width: 30px;
  height: 30px;
  transform: rotate(-90deg);
  transition: all 0.05s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

footer .up:hover {
  top: -37px;
}

.home footer, .info-page footer {
  border-top: none;
}

.home footer .up, .info-page footer .up {
  top: 30px;
}

.main {
  text-align: center;
  margin: 0 auto;
  margin-top: 240px;
}

.page-title {
  margin-bottom: 40px;
  padding-left: 20px;
  padding-right: 20px;
}

.home .exhibitions {
  max-width: 1250px;
  margin: 0 auto;
}

.home .exhibition {
  margin: 40px 0 80px 0;
  padding: 0;
  width: 100%;
  text-align: left;
}

.home .exhibition a {
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  color: #333;
}

.home .exhibition .more {
  border: 2px solid #333;
  display: inline-block;
  padding: 4px 5px 2px 5px;
  position: relative;
  top: -17px;
  right: 18px;
  float: right;
}

.home .exhibition .more:before {
  content: '';
  width: 20px;
  border-bottom: 2px solid #333;
  position: absolute;
  right: -20px;
  top: 15px;
}

.home .exhibition .more:hover {
  background: #333;
  color: white;
}

.home .thumb, .home .info {
  width: calc(45%);
  position: relative;
}

.home .thumb:before, .home .info:before {
  content: '';
  width: 100%;
  border-bottom: 2px solid #333;
  position: absolute;
  top: 37px;
  left: 0;
  z-index: -1;
}

.home .info h2 {
  padding: 0 0 14px 40px;
  margin: 0;
}

.home .info .intro {
  border-right: 2px solid #333;
  padding: 20px 20px 40px 40px;
}

.home .thumb {
  padding-left: 20px;
}

.home .thumb .copyright {
  padding: 5px 20px 0 20px;
}

.home .e2 a, .home .e4 a {
  -ms-flex-pack: end;
      justify-content: flex-end;
}

.home .e2 a .thumb, .home .e4 a .thumb {
  -ms-flex-order: 2;
      order: 2;
}

.home .e2 a .more, .home .e4 a .more {
  float: left;
  left: 18px;
}

.home .e2 a .more:before, .home .e4 a .more:before {
  left: -20px;
}

.home .e2 h2, .home .e4 h2 {
  padding-left: 20px;
}

.home .e2 .thumb, .home .e4 .thumb {
  padding-left: 0;
  padding-right: 20px;
}

.home .e2 .intro, .home .e4 .intro {
  border-left: 2px solid #333;
  border-right: 0px;
  padding: 20px 40px 40px 20px;
}

.home .e4 {
  margin-bottom: 40px;
}

.home .full {
  padding: 22px 20px 18px 20px;
}

.exhibition-page .container, .news-detail-page .container, .event-detail-page .container, .info-page .container {
  text-align: center;
}

.exhibition-page .header-img, .news-detail-page .header-img, .event-detail-page .header-img, .info-page .header-img {
  max-width: 1210px;
  max-height: 520px;
  overflow: hidden;
  margin: 0 auto;
  padding: 0 20px 20px 20px;
  margin-bottom: 40px;
  position: relative;
}

.exhibition-page .header-img img, .news-detail-page .header-img img, .event-detail-page .header-img img, .info-page .header-img img {
  margin: 0 auto;
  width: 100%;
}

.exhibition-page .header-img .copyright, .news-detail-page .header-img .copyright, .event-detail-page .header-img .copyright, .info-page .header-img .copyright {
  padding: 0 20px;
  position: absolute;
  bottom: -1px;
}

.exhibition-page .tib, .news-detail-page .tib, .event-detail-page .tib, .info-page .tib {
  display: -ms-flexbox;
  display: flex;
  max-width: 1250px;
}

.exhibition-page .tib .img, .exhibition-page .tib .info, .news-detail-page .tib .img, .news-detail-page .tib .info, .event-detail-page .tib .img, .event-detail-page .tib .info, .info-page .tib .img, .info-page .tib .info {
  width: 50%;
  margin: 40px;
}

.exhibition-page .tib .img img, .news-detail-page .tib .img img, .event-detail-page .tib .img img, .info-page .tib .img img {
  float: right;
}

.exhibition-page .tib .copyright, .news-detail-page .tib .copyright, .event-detail-page .tib .copyright, .info-page .tib .copyright {
  text-align: left;
  padding-left: 20px;
  margin-top: 7px;
  float: left;
}

.exhibition-page .tib .info, .news-detail-page .tib .info, .event-detail-page .tib .info, .info-page .tib .info {
  text-align: left;
}

.exhibition-page .tib .info h2, .news-detail-page .tib .info h2, .event-detail-page .tib .info h2, .info-page .tib .info h2 {
  position: relative;
  margin-top: 0;
}

.exhibition-page .tib .info h2:before, .news-detail-page .tib .info h2:before, .event-detail-page .tib .info h2:before, .info-page .tib .info h2:before {
  content: '';
  width: 20px;
  height: 2px;
  background: #333;
  position: absolute;
  left: -30px;
  top: 10px;
}

.exhibition-page .tib .info h2:after, .news-detail-page .tib .info h2:after, .event-detail-page .tib .info h2:after, .info-page .tib .info h2:after {
  content: '';
  width: 2px;
  height: 60px;
  background: #333;
  position: absolute;
  left: -30px;
  top: 10px;
}

.exhibition-page .eb, .news-detail-page .eb, .event-detail-page .eb, .info-page .eb {
  margin: 0 auto;
  margin-bottom: 20px;
}

.exhibition-page .eb ul li, .news-detail-page .eb ul li, .event-detail-page .eb ul li, .info-page .eb ul li {
  position: relative;
  margin-left: 16px;
  margin-bottom: 10px;
}

.exhibition-page .eb ul li:before, .news-detail-page .eb ul li:before, .event-detail-page .eb ul li:before, .info-page .eb ul li:before {
  content: '';
  width: 6px;
  height: 2px;
  background: #333;
  position: absolute;
  left: -12px;
  top: 10px;
}

.exhibition-page .tb, .news-detail-page .tb, .event-detail-page .tb, .info-page .tb {
  background: #eff9f9;
  padding: 20px;
  margin-bottom: 60px;
}

.exhibition-page .tb .info, .news-detail-page .tb .info, .event-detail-page .tb .info, .info-page .tb .info {
  max-width: 700px;
  margin: 0 auto;
}

.exhibition-page .tb h2:after, .news-detail-page .tb h2:after, .event-detail-page .tb h2:after, .info-page .tb h2:after {
  content: '';
  width: 40px;
  display: block;
  height: 2px;
  text-align: center;
  margin: 10px auto 0 auto;
  background: #333;
}

.exhibition-page .ib, .news-detail-page .ib, .event-detail-page .ib, .info-page .ib {
  padding: 20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
}

.exhibition-page .ib.ti2 .i1, .news-detail-page .ib.ti2 .i1, .event-detail-page .ib.ti2 .i1, .info-page .ib.ti2 .i1 {
  margin-right: 20px;
}

.exhibition-page .ib.ti2 .i2, .news-detail-page .ib.ti2 .i2, .event-detail-page .ib.ti2 .i2, .info-page .ib.ti2 .i2 {
  margin-left: 20px;
}

.exhibition-page .ib .copyright, .news-detail-page .ib .copyright, .event-detail-page .ib .copyright, .info-page .ib .copyright {
  text-align: left;
  padding-left: 20px;
  margin-top: 7px;
  float: left;
}

.exhibition-page .stb, .news-detail-page .stb, .event-detail-page .stb, .info-page .stb {
  display: -ms-flexbox;
  display: flex;
  max-width: 1250px;
}

.exhibition-page .stb .info, .news-detail-page .stb .info, .event-detail-page .stb .info, .info-page .stb .info {
  text-align: left;
  margin: 0 40px 40px 40px;
  width: calc(50% - 80px);
}

.p3 .tb, .p2 .tb {
  background: transparent;
  text-align: left;
  margin: 0;
}

.p3 .tb h2:after, .p2 .tb h2:after {
  display: none;
}

.pp h4 {
  margin: 40px 0 0 0;
}

.buy, .full {
  background: #0213B9;
  color: white;
  display: block;
  padding: 22px 20px 18px 20px;
  text-decoration: none;
  font-weight: bold;
  border: 2px solid #0213B9;
  margin: 0 auto;
  max-width: 1170px !important;
}

.buy:hover, .full:hover {
  background: white;
  color: #0213B9;
}

.news-page .container {
  max-width: 1250px;
  margin: 0 auto;
  margin-top: 100px;
}

.news-page .news {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.news-page .news-item {
  width: calc(100% / 3 - 40px);
  text-align: left;
  margin: 20px;
}

.news-page .news-item a {
  text-decoration: none;
}

.news-page .news-item h3, .news-page .news-item h2 {
  margin-bottom: 0;
  padding-bottom: 0;
}

.news-detail-page .tib .info h2:before, .news-detail-page .tib .info h2:after {
  display: none;
}

.news-detail-page .intro {
  max-width: 700px;
  padding: 0 20px;
  margin: 0 auto;
  margin-bottom: 40px;
}

.news-detail-page .header-img {
  max-height: none;
}

.event-detail-page .intro {
  margin-top: -10px;
  margin-bottom: 30px;
}

.info-page .intro {
  max-width: 700px;
  padding: 0 20px;
  margin: 0 auto;
  margin-bottom: 40px;
}

.exhibition-page .other, .news-detail-page .other, .event-detail-page .other, .info-page .other {
  max-width: 1250px;
  margin: 0 auto;
  margin-top: 40px;
}

.exhibition-page .other h2, .news-detail-page .other h2, .event-detail-page .other h2, .info-page .other h2 {
  position: relative;
  text-align: left;
  padding: 20px 20px 0 20px;
}

.exhibition-page .other h2 span, .news-detail-page .other h2 span, .event-detail-page .other h2 span, .info-page .other h2 span {
  background: white;
  padding: 0 20px;
  margin-left: -20px;
}

.exhibition-page .other h2:before, .news-detail-page .other h2:before, .event-detail-page .other h2:before, .info-page .other h2:before {
  content: '';
  width: 100%;
  max-width: 1205px;
  height: 2px;
  background: #333;
  position: absolute;
  right: 20px;
  top: 30px;
  z-index: -1;
}

.exhibition-page .other .exhibitions, .exhibition-page .other .othernews, .exhibition-page .other .otherevents, .news-detail-page .other .exhibitions, .news-detail-page .other .othernews, .news-detail-page .other .otherevents, .event-detail-page .other .exhibitions, .event-detail-page .other .othernews, .event-detail-page .other .otherevents, .info-page .other .exhibitions, .info-page .other .othernews, .info-page .other .otherevents {
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 60px;
}

.exhibition-page .other .exhibition, .exhibition-page .other .news, .exhibition-page .other .event, .news-detail-page .other .exhibition, .news-detail-page .other .news, .news-detail-page .other .event, .event-detail-page .other .exhibition, .event-detail-page .other .news, .event-detail-page .other .event, .info-page .other .exhibition, .info-page .other .news, .info-page .other .event {
  width: 50%;
  margin: 0 20px;
  position: relative;
}

.exhibition-page .other .exhibition .info, .exhibition-page .other .news .info, .exhibition-page .other .event .info, .news-detail-page .other .exhibition .info, .news-detail-page .other .news .info, .news-detail-page .other .event .info, .event-detail-page .other .exhibition .info, .event-detail-page .other .news .info, .event-detail-page .other .event .info, .info-page .other .exhibition .info, .info-page .other .news .info, .info-page .other .event .info {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #0213B9;
  color: white;
  padding: 12px 20px 8px 20px;
}

.exhibition-page .other .exhibition:hover .info, .exhibition-page .other .news:hover .info, .exhibition-page .other .event:hover .info, .news-detail-page .other .exhibition:hover .info, .news-detail-page .other .news:hover .info, .news-detail-page .other .event:hover .info, .event-detail-page .other .exhibition:hover .info, .event-detail-page .other .news:hover .info, .event-detail-page .other .event:hover .info, .info-page .other .exhibition:hover .info, .info-page .other .news:hover .info, .info-page .other .event:hover .info {
  background: white;
  color: #0213B9;
}

.exhibition-page .other .copyright, .news-detail-page .other .copyright, .event-detail-page .other .copyright, .info-page .other .copyright {
  position: absolute;
  bottom: -20px;
  right: 20px;
  text-align: left;
}

.exhibition-page .revdays, .news-detail-page .revdays, .event-detail-page .revdays, .info-page .revdays {
  margin-top: 40px;
}

.exhibition-page .reviewers, .news-detail-page .reviewers, .event-detail-page .reviewers, .info-page .reviewers {
  max-width: 1250px;
  margin: 0 auto;
  margin-top: 40px;
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.exhibition-page .reviewers .reviewer, .news-detail-page .reviewers .reviewer, .event-detail-page .reviewers .reviewer, .info-page .reviewers .reviewer {
  width: calc(100% / 3 - 40px);
  margin: 0 20px;
  margin-bottom: 40px;
  background: #eff9f9;
}

.exhibition-page .reviewers .reviewer a, .news-detail-page .reviewers .reviewer a, .event-detail-page .reviewers .reviewer a, .info-page .reviewers .reviewer a {
  text-decoration: none;
}

.exhibition-page .reviewers .reviewer .thumb, .news-detail-page .reviewers .reviewer .thumb, .event-detail-page .reviewers .reviewer .thumb, .info-page .reviewers .reviewer .thumb {
  position: relative;
}

.exhibition-page .reviewers .reviewer .thumb:after, .news-detail-page .reviewers .reviewer .thumb:after, .event-detail-page .reviewers .reviewer .thumb:after, .info-page .reviewers .reviewer .thumb:after {
  content: '';
  background: #0213B9;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
  opacity: 0.25;
  transition: all 0.15s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.exhibition-page .reviewers .reviewer .thumb:hover:after, .news-detail-page .reviewers .reviewer .thumb:hover:after, .event-detail-page .reviewers .reviewer .thumb:hover:after, .info-page .reviewers .reviewer .thumb:hover:after {
  opacity: 0;
}

.exhibition-page .reviewers .reviewer .info, .news-detail-page .reviewers .reviewer .info, .event-detail-page .reviewers .reviewer .info, .info-page .reviewers .reviewer .info {
  padding: 0 20px;
  text-align: left;
}

.exhibition-page .reviewers .reviewer .info h3, .exhibition-page .reviewers .reviewer .info h4, .news-detail-page .reviewers .reviewer .info h3, .news-detail-page .reviewers .reviewer .info h4, .event-detail-page .reviewers .reviewer .info h3, .event-detail-page .reviewers .reviewer .info h4, .info-page .reviewers .reviewer .info h3, .info-page .reviewers .reviewer .info h4 {
  margin-top: 15px;
  margin-bottom: 10px;
}

.exhibition-page .reviewers .reviewer .info h3, .news-detail-page .reviewers .reviewer .info h3, .event-detail-page .reviewers .reviewer .info h3, .info-page .reviewers .reviewer .info h3 {
  margin-bottom: 0;
}

.exhibition-page .reviewers .reviewer .info h4, .news-detail-page .reviewers .reviewer .info h4, .event-detail-page .reviewers .reviewer .info h4, .info-page .reviewers .reviewer .info h4 {
  margin-top: 0;
  line-height: 1rem;
}

.programme-page .container {
  max-width: 1250px;
  margin: 0 auto;
}

.programme-page .timeline, .programme-page .programme {
  max-width: 1250px;
}

.programme-page .timeline {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center;
  border-top: 2px solid #333;
  border-bottom: 2px solid #333;
  margin-bottom: 40px;
  padding: 10px 20px;
}

.programme-page .timeline .date {
  margin: 10px 20px;
}

.programme-page .timeline .date a {
  text-decoration: none;
}

.programme-page .programme h2 {
  text-align: left;
  padding: 20px;
  margin: 20px 0 0 0;
}

.programme-page .programme .events {
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 60px;
}

.programme-page .programme .day {
  position: relative;
}

.programme-page .programme .anchor {
  display: block;
  position: absolute;
  top: -120px;
  visibility: hidden;
}

.programme-page .programme .event {
  max-width: calc(100% / 3 - 40px);
  margin: 0 20px;
}

.programme-page .programme .event .info {
  background: #0213B9;
  color: white;
  margin: 0;
  padding: 10px 20px;
  text-align: left;
}

.programme-page .programme .event h4 {
  padding: 0;
  margin: 0;
}

.programme-page .programme .event a {
  text-decoration: none;
}

.programme-page .programme .event .location {
  position: relative;
  padding-left: 30px;
}

.programme-page .programme .event .location:before {
  content: '';
  width: 20px;
  height: 2px;
  background: white;
  position: absolute;
  left: 0;
  top: 10px;
}

@media only screen and (max-width: 65em) {
  .header {
    border-bottom: 2px solid #333;
    padding: 10px 0 5px 0;
    text-align: center;
  }
  .header .fubl {
    display: none;
  }
  .header .functional {
    float: none;
    margin-top: 0;
  }
  .m-menu {
    top: 170px;
    z-index: 3;
  }
  .m-menu-open .header {
    padding-bottom: 20px;
  }
  .m-menu-open .header .fubl {
    display: block;
    padding: 20px;
    width: calc(100% - 40px);
  }
  .m-menu-open .header .lang-switch {
    position: relative;
    top: 0;
    right: 0;
    text-align: left;
  }
  .m-menu-open .header .mailchimp {
    position: relative;
    display: block;
    text-align: center;
    border: none;
    margin: 0 auto;
    top: 0;
    left: 0;
  }
  .m-menu-open .header .mailchimp .mcf {
    border: 2px solid #333;
    padding: 4px 10px 12px 10px;
  }
  .m-tickets {
    position: absolute;
    top: 155px;
    left: 0;
    border-bottom: 2px solid #333;
    background: white;
    width: calc(100% - 40px);
    text-align: left;
    padding: 20px;
  }
  .scrolling .header {
    text-align: left;
  }
  .scrolling .m-menu {
    top: 25px;
  }
  .scrolling .m-tickets {
    background: transparent;
    border-bottom: none;
    top: 9px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
  }
  footer .footer-content .logos {
    max-width: 100%;
  }
}

@media only screen and (max-width: 45em) {
  .home .exhibition a {
    display: block;
  }
  .home .exhibition .thumb, .home .exhibition .info {
    width: calc(100% - 40px);
    padding: 0 20px;
  }
  .home .exhibition .thumb:before {
    display: none;
  }
  .home .exhibition .info {
    margin-top: 30px;
  }
  .home .exhibition .info h2 {
    padding-left: 0;
    text-align: left;
  }
  .home .exhibition .info:before {
    left: 0;
    right: 0;
    margin: 0 auto;
    width: calc(100% - 40px);
  }
  .home .exhibition .info .intro {
    padding: 20px 20px 40px 20px;
  }
  .exhibition-page .header-img, .news-detail-page .header-img, .event-detail-page .header-img, .info-page .header-img {
    padding: 0 0 20px 0;
  }
  .exhibition-page .tib, .exhibition-page .stb, .news-detail-page .tib, .news-detail-page .stb, .event-detail-page .tib, .event-detail-page .stb, .info-page .tib, .info-page .stb {
    display: block;
  }
  .exhibition-page .tib .img, .exhibition-page .tib .info, .exhibition-page .stb .img, .exhibition-page .stb .info, .news-detail-page .tib .img, .news-detail-page .tib .info, .news-detail-page .stb .img, .news-detail-page .stb .info, .event-detail-page .tib .img, .event-detail-page .tib .info, .event-detail-page .stb .img, .event-detail-page .stb .info, .info-page .tib .img, .info-page .tib .info, .info-page .stb .img, .info-page .stb .info {
    width: calc(100% - 40px);
    margin: 20px;
  }
  .exhibition-page .tib .img img, .exhibition-page .tib .info img, .exhibition-page .stb .img img, .exhibition-page .stb .info img, .news-detail-page .tib .img img, .news-detail-page .tib .info img, .news-detail-page .stb .img img, .news-detail-page .stb .info img, .event-detail-page .tib .img img, .event-detail-page .tib .info img, .event-detail-page .stb .img img, .event-detail-page .stb .info img, .info-page .tib .img img, .info-page .tib .info img, .info-page .stb .img img, .info-page .stb .info img {
    float: none;
  }
  .exhibition-page .tib .info, .exhibition-page .stb .info, .news-detail-page .tib .info, .news-detail-page .stb .info, .event-detail-page .tib .info, .event-detail-page .stb .info, .info-page .tib .info, .info-page .stb .info {
    padding: 20px 60px;
    width: calc(100% - 140px);
  }
  .exhibition-page .stb .info, .news-detail-page .stb .info, .event-detail-page .stb .info, .info-page .stb .info {
    margin: 40px 20px;
    padding: 0;
    width: calc(100% - 40px);
  }
  .exhibition-page .other .exhibitions, .exhibition-page .other .othernews, .exhibition-page .other .otherevents, .exhibition-page .reviewers .exhibitions, .exhibition-page .reviewers .othernews, .exhibition-page .reviewers .otherevents, .news-detail-page .other .exhibitions, .news-detail-page .other .othernews, .news-detail-page .other .otherevents, .news-detail-page .reviewers .exhibitions, .news-detail-page .reviewers .othernews, .news-detail-page .reviewers .otherevents, .event-detail-page .other .exhibitions, .event-detail-page .other .othernews, .event-detail-page .other .otherevents, .event-detail-page .reviewers .exhibitions, .event-detail-page .reviewers .othernews, .event-detail-page .reviewers .otherevents, .info-page .other .exhibitions, .info-page .other .othernews, .info-page .other .otherevents, .info-page .reviewers .exhibitions, .info-page .reviewers .othernews, .info-page .reviewers .otherevents {
    display: block;
  }
  .exhibition-page .other .exhibition, .exhibition-page .other .news, .exhibition-page .other .event, .exhibition-page .other .reviewer, .exhibition-page .reviewers .exhibition, .exhibition-page .reviewers .news, .exhibition-page .reviewers .event, .exhibition-page .reviewers .reviewer, .news-detail-page .other .exhibition, .news-detail-page .other .news, .news-detail-page .other .event, .news-detail-page .other .reviewer, .news-detail-page .reviewers .exhibition, .news-detail-page .reviewers .news, .news-detail-page .reviewers .event, .news-detail-page .reviewers .reviewer, .event-detail-page .other .exhibition, .event-detail-page .other .news, .event-detail-page .other .event, .event-detail-page .other .reviewer, .event-detail-page .reviewers .exhibition, .event-detail-page .reviewers .news, .event-detail-page .reviewers .event, .event-detail-page .reviewers .reviewer, .info-page .other .exhibition, .info-page .other .news, .info-page .other .event, .info-page .other .reviewer, .info-page .reviewers .exhibition, .info-page .reviewers .news, .info-page .reviewers .event, .info-page .reviewers .reviewer {
    width: calc(100% - 40px);
    margin-bottom: 40px;
  }
  .exhibition-page .other .reviewer .thumb img, .exhibition-page .other .reviewer .info, .exhibition-page .reviewers .reviewer .thumb img, .exhibition-page .reviewers .reviewer .info, .news-detail-page .other .reviewer .thumb img, .news-detail-page .other .reviewer .info, .news-detail-page .reviewers .reviewer .thumb img, .news-detail-page .reviewers .reviewer .info, .event-detail-page .other .reviewer .thumb img, .event-detail-page .other .reviewer .info, .event-detail-page .reviewers .reviewer .thumb img, .event-detail-page .reviewers .reviewer .info, .info-page .other .reviewer .thumb img, .info-page .other .reviewer .info, .info-page .reviewers .reviewer .thumb img, .info-page .reviewers .reviewer .info {
    text-align: center;
    margin: 0 auto;
  }
  .programme-page .programme h2 {
    text-align: center !important;
  }
  .programme-page .programme .events {
    display: block;
  }
  .programme-page .programme .events .event {
    width: 100%;
    max-width: calc(100% - 40px);
    margin-bottom: 20px;
  }
  .programme-page .programme .events .event .thumb img {
    width: 100%;
  }
  .news-page .news {
    display: block;
  }
  .news-page .news .news-item {
    width: calc(100% - 40px);
    margin-bottom: 40px;
  }
  .news-page .news .news-item img {
    width: 100%;
  }
  footer .footer-content {
    display: block;
    text-align: center;
  }
  .home footer .up, .info-page footer .up {
    top: -10px !important;
  }
}

@media only screen and (max-width: 27em) {
  footer .credits .contact {
    position: absolute;
    bottom: 5px;
    text-align: center;
    display: block;
    float: none;
    margin: 0 auto;
    padding: 0;
    width: 100%;
  }
}

.nav {
  border-bottom: 2px solid #333;
  text-align: right;
}

.nav ul {
  list-style: none;
  position: relative;
  margin: 0;
  z-index: 1;
  min-height: 40px;
  padding-bottom: 5px;
}

.scrolling .nav ul.main, .scrolling .nav {
  border-bottom: 0px;
}

.scrolling .nav ul a {
  margin-right: 40px;
}

.scrolling .nav ul a.tickets {
  margin-left: 100px;
  margin-right: 20px;
}

.scrolling .nav ul li.has-children:after {
  right: 15px;
}

.scrolling .nav ul li.has-children li a {
  margin-right: 0;
}

.nav ul a {
  display: block;
  padding: 10px 0;
  margin-right: 20px;
  text-decoration: none;
}

.nav ul a.tickets {
  border: 2px solid #0213B9;
  background: #0213B9;
  color: white;
  padding: 4px 20px 3px 20px;
  margin-top: 4px;
}

.nav ul a.tickets:hover {
  background: white;
  color: #0213B9;
}

.nav ul li {
  position: relative;
  float: left;
  margin: 0;
  padding: 0;
}

.nav ul li:first-child {
  margin-left: 0;
}

.nav ul li:last-child {
  margin-right: 0;
}

.nav ul li.has-children {
  position: relative;
  margin-right: 20px;
}

.nav ul li.has-children:after {
  content: '';
  background-image: url(/img/submit.png);
  transform: rotate(-90deg);
  transition: all 0.15s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  width: 18px;
  height: 18px;
  position: absolute;
  background-size: 100%;
  top: 12px;
  right: -3px;
}

.nav ul li.has-children:hover:after {
  transform: rotate(90deg);
}

.nav ul li.current-menu-item {
  background: #ddd;
}

.nav ul ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  padding: 0;
  margin: 0;
  margin-top: -10px;
  border-top: 2px solid #333;
}

.nav ul ul li {
  float: none;
  width: 200px;
  margin: 0;
  padding: 0px 10px 0px 2px;
  background: white;
  text-transform: none;
  text-align: left;
  border-bottom: 2px solid #333;
}

.nav ul ul a {
  padding: 5px 15px 5px 0;
}

.nav ul li:hover > ul {
  display: block;
}

.m-mydate {
  color: #0213B9;
  display: none;
  border-top: 2px solid #333;
  padding: 10px 0 5px 0;
  text-align: center;
}

.mydate {
  color: #0213B9;
  padding: 6px 20px 4px 100px;
  text-align: right;
  border-top: 2px solid #333;
  text-align: right;
  display: inline-block;
}

/* Mobile menu */
.m-menu {
  position: absolute;
  right: 20px;
  display: none;
}

.m-menu .mm {
  border: 2px solid #333;
  background: none;
  cursor: pointer;
  position: relative;
  display: block;
  width: 30px;
  height: 30px;
  outline: none;
  padding: 0;
}

.m-menu .mm .slice {
  height: 2px;
  width: 22px;
  background: #333;
  position: absolute;
  top: 12px;
  left: 2px;
}

.m-menu .mm:before, .m-menu .mm:after {
  position: absolute;
  display: block;
  content: '';
  width: 22px;
  height: 2px;
  left: 2px;
  top: 6px;
  background-color: #333;
  transition: all 0.15s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.m-menu .mm:after {
  top: 18px;
}

.m-tickets {
  display: none;
}

.m-tickets a {
  background: #0213B9;
  border: 2px solid #0213B9;
  color: white;
  text-decoration: none;
  padding: 10px 40px;
}

.m-tickets a:hover {
  background: white;
  color: #0213B9;
}

.m-menu-open .m-menu .mm:before {
  top: 12px;
  transform: rotate(-45deg);
}

.m-menu-open .m-menu .mm:after {
  top: 12px;
  transform: rotate(45deg);
}

.m-menu-open .m-menu .mm .slice {
  opacity: 0;
}

.m-menu-open .nav {
  display: block;
}

.m-menu-open .m-mydate {
  border-bottom: 2px solid #333;
}

@media only screen and (max-width: 65em) {
  .m-menu, .m-tickets, .m-mydate {
    display: block;
  }
  .mydate {
    display: none;
  }
  .m-menu-open .nav {
    margin-top: 73px;
    width: calc(100% - 40px);
    background: white;
    padding: 0 20px;
    border-bottom: none;
  }
  .m-menu-open .nav ul li {
    float: none;
    display: block;
    text-align: left;
    margin: 0;
    border-bottom: 2px solid #333;
  }
  .m-menu-open .nav ul li:last-child {
    border-bottom: none;
  }
  .m-menu-open .nav ul li.has-children:after {
    right: 0;
    top: 22px;
  }
  .m-menu-open .nav ul li a {
    padding: 20px 0;
  }
  .m-menu-open .nav ul ul li {
    width: auto;
  }
  .m-menu-open .nav ul li:hover > ul {
    position: relative;
    max-width: 75%;
  }
  .m-menu-open .m-tickets {
    border-top: 2px solid #333;
    top: 112px;
  }
  .m-menu-open.scrolling .m-tickets {
    border-top: none;
    padding-bottom: 29px;
    border-bottom: 2px solid #333;
    top: 9px;
  }
  .nav {
    display: none;
  }
  .nav ul.main {
    border-bottom: none;
  }
  .nav .tickets {
    display: none;
  }
  .scrolling.m-menu-open .nav {
    margin-top: 2px;
  }
}

body {
  background-color: #ffffff;
  color: #333;
}

a {
  color: #333;
}

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

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.active, a:hover {
  color: #0213B9;
}

.page-title:after, .revdays:after {
  content: '';
  width: 40px;
  display: block;
  height: 2px;
  text-align: center;
  margin: 10px auto 0 auto;
  background: #333;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwibWFpbi5zY3NzIiwibm9ybWFsaXplLnNjc3MiLCJfdHlwby5zY3NzIiwiX2JvaWxlcnBsYXRlLnNjc3MiLCJfbGF5b3V0LnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfbmF2LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCLGlDQUFpQztBQ0FqQyw0RUFBNEU7QUFFNUU7Z0ZBQ2dGO0FBRWhGOzs7O0dBSUc7QUNpQkgsZ0RBQVk7QURmWjtFQUNFLGtCQUFrQjtFQUFFLE9BQU87RUFDM0IsMkJBQTJCO0VBQUUsT0FBTztFQUNwQywrQkFBK0I7RUFBRSxPQUFPO0NBQ3pDOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsVUFBVTtDQUNYOztBQUVEOztHQUVHO0FBRUg7Ozs7OztFQU1FLGVBQWU7Q0FDaEI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCO0NBQ2xCOztBQUVEO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSDs7O0VBRU8sT0FBTztFQUNaLGVBQWU7Q0FDaEI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLGlCQUFpQjtDQUNsQjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLHdCQUF3QjtFQUFFLE9BQU87RUFDakMsVUFBVTtFQUFFLE9BQU87RUFDbkIsa0JBQWtCO0VBQUUsT0FBTztDQUM1Qjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLGtDQUFrQztFQUFFLE9BQU87RUFDM0MsZUFBZTtFQUFFLE9BQU87Q0FDekI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIO0VBQ0UsOEJBQThCO0VBQUUsT0FBTztFQUN2QyxzQ0FBc0M7RUFBRSxPQUFPO0NBQ2hEOztBQUVEOzs7R0FHRztBQUVIO0VBQ0Usb0JBQW9CO0VBQUUsT0FBTztFQUM3QiwyQkFBMkI7RUFBRSxPQUFPO0VBQ3BDLGtDQUFrQztFQUFFLE9BQU87Q0FDNUM7O0FBRUQ7O0dBRUc7QUFFSDs7RUFFRSxx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aUJBQWlCO0lBQ2pCLFVBQVU7SUFDViw4QkRqU1E7R0M4U1Q7RUEzQkw7SUFnQlEsb0JBQW9CO0dBQ3JCO0VBakJQO0lBb0JRLFNBQVE7SUFDUixVQUFTO0dBQ1Y7RUF0QlA7SUF5QlEsZ0JBQWdCO0dBQ2pCO0VBMUJQO0lBOEJNLFlBQVk7R0FDYjtFQS9CTDtJQW1DTSxtQkFBbUI7SUFDbkIsZUFBZTtHQUNoQjtFQXJDTDtJQXlDSSwyQkQ1VFU7SUM2VFYsV0FBVTtHQUNYO0VBM0NIO0lBK0NNLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIsOEJEcFVRO0lDcVVSLFNBQVE7R0FDVDtFQUlMO0lBQ0UsY0FBYztHQUNmO0VBRUQ7SUFDRSxvQkFBb0I7R0FDckI7RUFFRDtJQUNFLGNBQWM7R0FDZjtFQUVEO0lBQ0ksZ0JBQWdCO0dBQ2pCO0NQMnVESjs7QUM1akVEO0VBQ0UsMEJLVGU7RUxVZixZS1RjO0NMVWY7O0FBRUQ7RUFDRSxZS2JjO0NMY2Y7O0FBRUQ7O0VBRUUsaUJBQWlCO0VBQ2pCLFVBQVM7RUFDVCxXQUFVO0NBQ1g7O0FBRUQ7RUFDRSxnQkFBZ0I7RUFDaEIsYUFBYTtFQUNiLGVBQWU7Q0FDaEI7O0FBRUQ7RUFDRSxlSzdCc0I7Q0w4QnZCOztBQUVEO0VBQ0UsWUFBWTtFQUNaLFlBQVk7RUFDWixlQUFlO0VBQ2YsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQix5QkFBeUI7RUFDekIsaUJLeENjO0NMeUNmIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogUHV0IHlvdXIgZ2xvYmFsIHN0eWxlcyBoZXJlICovXG4vKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5AaW1wb3J0IHVybChcIi8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvMzY2NzNlXCIpO1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyohIEhUTUw1IEJvaWxlcnBsYXRlIHY2LjAuMSB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly9odG1sNWJvaWxlcnBsYXRlLmNvbS8gKi9cbi8qXG4gKiBXaGF0IGZvbGxvd3MgaXMgdGhlIHJlc3VsdCBvZiBtdWNoIHJlc2VhcmNoIG9uIGNyb3NzLWJyb3dzZXIgc3R5bGluZy5cbiAqIENyZWRpdCBsZWZ0IGlubGluZSBhbmQgYmlnIHRoYW5rcyB0byBOaWNvbGFzIEdhbGxhZ2hlciwgSm9uYXRoYW4gTmVhbCxcbiAqIEtyb2MgQ2FtZW4sIGFuZCB0aGUgSDVCUCBkZXYgY29tbXVuaXR5IGFuZCB0ZWFtLlxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZSBzdHlsZXM6IG9waW5pb25hdGVkIGRlZmF1bHRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZSB0ZXh0LXNoYWRvdyBpbiBzZWxlY3Rpb24gaGlnaGxpZ2h0OlxuICogaHR0cHM6Ly90d2l0dGVyLmNvbS9taWtldGF5bHIvc3RhdHVzLzEyMjI4ODA1MzAxXG4gKlxuICogVmVuZG9yLXByZWZpeGVkIGFuZCByZWd1bGFyIDo6c2VsZWN0aW9uIHNlbGVjdG9ycyBjYW5ub3QgYmUgY29tYmluZWQ6XG4gKiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTY5ODI1MTAvNzEzMzQ3MVxuICpcbiAqIEN1c3RvbWl6ZSB0aGUgYmFja2dyb3VuZCBjb2xvciB0byBtYXRjaCB5b3VyIGRlc2lnbi5cbiAqL1xuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKlxuICogQSBiZXR0ZXIgbG9va2luZyBkZWZhdWx0IGhvcml6b250YWwgcnVsZVxuICovXG5ociB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luOiAxZW0gMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gYXVkaW8sIGNhbnZhcywgaWZyYW1lcyxcbiAqIGltYWdlcywgdmlkZW9zIGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnM6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvNDQwXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgZmllbGRzZXQgc3R5bGVzLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogQWxsb3cgb25seSB2ZXJ0aWNhbCByZXNpemluZyBvZiB0ZXh0YXJlYXMuXG4gKi9cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJyb3dzZXIgVXBncmFkZSBQcm9tcHRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYnJvd3NlcnVwZ3JhZGUge1xuICBtYXJnaW46IDAuMmVtIDA7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nOiAwLjJlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwZXIgY2xhc3Nlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzXG4gKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqL1xuLnZpc3VhbGx5aGlkZGVuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC8qIDEgKi9cbn1cblxuLypcbiAqIEV4dGVuZHMgdGhlIC52aXN1YWxseWhpZGRlbiBjbGFzcyB0byBhbGxvdyB0aGUgZWxlbWVudFxuICogdG8gYmUgZm9jdXNhYmxlIHdoZW4gbmF2aWdhdGVkIHRvIHZpYSB0aGUga2V5Ym9hcmQ6XG4gKiBodHRwczovL3d3dy5kcnVwYWwub3JnL25vZGUvODk3NjM4XG4gKi9cbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLFxuLnZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7XG4gIGNsaXA6IGF1dG87XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBub25lO1xuICBjbGlwLXBhdGg6IG5vbmU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xufVxuXG4vKlxuICogSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuICovXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogQ2xlYXJmaXg6IGNvbnRhaW4gZmxvYXRzXG4gKlxuICogRm9yIG1vZGVybiBicm93c2Vyc1xuICogMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbiAqICAgIGBjb250ZW50ZWRpdGFibGVgIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbiAqICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuICogICAgdGhhdCByZWNlaXZlIHRoZSBgY2xlYXJmaXhgIGNsYXNzLlxuICogMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbiAqICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbiAqL1xuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAyICovXG59XG5cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJpbnQgc3R5bGVzLlxuICAgSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4gICBodHRwOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgcHJpbnQge1xuICAqLFxuICAqOmJlZm9yZSxcbiAgKjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIC8qIEJsYWNrIHByaW50cyBmYXN0ZXI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0dHA6Ly93d3cuc2FuYmVpamkuY29tL2FyY2hpdmVzLzk1MyAqL1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gIH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgfVxuICAvKlxuICAgICAqIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgICogb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgICAqL1xuICBhW2hyZWZePVwiI1wiXTphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIHByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gIH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICAvKlxuICAgICAqIFByaW50aW5nIFRhYmxlczpcbiAgICAgKiBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAgKi9cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG59XG5cbi8qKlxuICogQGxpY2Vuc2VcbiAqIE15Rm9udHMgV2ViZm9udCBCdWlsZCBJRCAzNTY1Mzc0LCAyMDE4LTA0LTIzVDA5OjEwOjUzLTA0MDBcbiAqIFxuICogVGhlIGZvbnRzIGxpc3RlZCBpbiB0aGlzIG5vdGljZSBhcmUgc3ViamVjdCB0byB0aGUgRW5kIFVzZXIgTGljZW5zZVxuICogQWdyZWVtZW50KHMpIGVudGVyZWQgaW50byBieSB0aGUgd2Vic2l0ZSBvd25lci4gQWxsIG90aGVyIHBhcnRpZXMgYXJlIFxuICogZXhwbGljaXRseSByZXN0cmljdGVkIGZyb20gdXNpbmcgdGhlIExpY2Vuc2VkIFdlYmZvbnRzKHMpLlxuICogXG4gKiBZb3UgbWF5IG9idGFpbiBhIHZhbGlkIGxpY2Vuc2UgYXQgdGhlIFVSTHMgYmVsb3cuXG4gKiBcbiAqIFdlYmZvbnQ6IE5ldXplaXRTTFRTdGQtQm9vayBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS9mb250cy9saW5vdHlwZS9uZXV6ZWl0LXMvbmV1emVpdHMtYm9vay9cbiAqIFxuICogV2ViZm9udDogTmV1emVpdFNMVFN0ZC1Cb29rSGVhdnkgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vZm9udHMvbGlub3R5cGUvbmV1emVpdC1zL25ldXplaXRzLWJvb2toZWF2eS9cbiAqIFxuICogXG4gKiBMaWNlbnNlOiBodHRwczovL3d3dy5teWZvbnRzLmNvbS92aWV3bGljZW5zZT90eXBlPXdlYiZidWlsZGlkPTM1NjUzNzRcbiAqIExpY2Vuc2VkIHBhZ2V2aWV3czogMjUwLDAwMFxuICogV2ViZm9udHMgY29weXJpZ2h0OiBDb3B5cmlnaHQgJiN4MDBBOTsgMTk5MCwgMjAwMSwgMjAwMiBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICYjeDAwQTk7IDE5ODEsIDIwMDEsIDIwMDIgSGVpZGVsYmVyZ2VyIERydWNrbWFzY2hpbmVuIEFHLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogXG4gKiDCqSAyMDE4IE15Rm9udHMgSW5jXG4qL1xuLyogQGltcG9ydCBtdXN0IGJlIGF0IHRvcCBvZiBmaWxlLCBvdGhlcndpc2UgQ1NTIHdpbGwgbm90IHdvcmsgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ05ldXplaXRTTFRTdGQtQm9vayc7XG4gIHNyYzogdXJsKFwiL3dlYmZvbnRzLzM2NjczRV8wXzAuZW90XCIpO1xuICBzcmM6IHVybChcIi93ZWJmb250cy8zNjY3M0VfMF8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi93ZWJmb250cy8zNjY3M0VfMF8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIvd2ViZm9udHMvMzY2NzNFXzBfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi93ZWJmb250cy8zNjY3M0VfMF8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTmV1emVpdFNMVFN0ZC1Cb29rSGVhdnknO1xuICBzcmM6IHVybChcIi93ZWJmb250cy8zNjY3M0VfMV8wLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvd2ViZm9udHMvMzY2NzNFXzFfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvd2ViZm9udHMvMzY2NzNFXzFfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiL3dlYmZvbnRzLzM2NjczRV8xXzAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvd2ViZm9udHMvMzY2NzNFXzFfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5cbi5OZXV6ZWl0U0xUU3RkLUJvb2sge1xuICBmb250LWZhbWlseTogTmV1emVpdFNMVFN0ZC1Cb29rO1xufVxuXG4uTmV1emVpdFNMVFN0ZC1Cb29rSGVhdnkge1xuICBmb250LWZhbWlseTogTmV1emVpdFNMVFN0ZC1Cb29rSGVhdnk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JlZ2xvLUJvbGQnO1xuICBzcmM6IHVybChcIi93ZWJmb250cy9SZWdsby1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cblxuLlJlZ2xvLUJvbGQge1xuICBmb250LWZhbWlseTogUmVnbG8tQm9sZDtcbn1cblxuaHRtbCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IE5ldXplaXRTTFRTdGQtQm9vaywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1IHtcbiAgZm9udC1mYW1pbHk6IFJlZ2xvLUJvbGQsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbn1cblxuaDMuY3RhIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG5oNSB7XG4gIGZvbnQtZmFtaWx5OiBOZXV6ZWl0U0xUU3RkLUJvb2tIZWF2eTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuXG5uYXYgdWwgbGkge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICBmb250LXNpemU6IDEuMXJlbTtcbn1cblxubmF2IHVsIGxpIGxpIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5uYXYgLnRpY2tldHMge1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cblxuLm0tdGlja2V0cyB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xufVxuXG4ubW9yZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiBOZXV6ZWl0U0xUU3RkLUJvb2tIZWF2eTtcbiAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5idXksIC5mdWxsIHtcbiAgZm9udC1mYW1pbHk6IFJlZ2xvLUJvbGQsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cblxuLm90aGVyIC5pbmZvIHtcbiAgZm9udC1mYW1pbHk6IFJlZ2xvLUJvbGQsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cblxuLnRpbWVsaW5lIC5kYXRlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4uZXZlbnQgLmxvY2F0aW9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi5ldmVudC1kZXRhaWwtcGFnZSAuaW50cm8sIC5uZXdzLWRldGFpbC1wYWdlIC5pbnRybyB7XG4gIGZvbnQtZmFtaWx5OiBOZXV6ZWl0U0xUU3RkLUJvb2tIZWF2eTtcbn1cblxuLmNyZWRpdHMge1xuICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuLmNvcHlyaWdodCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBsaW5lLWhlaWdodDogMC45cmVtO1xufVxuXG4ubXlkYXRlLCAubS1teWRhdGUge1xuICBmb250LWZhbWlseTogTmV1emVpdFNMVFN0ZC1Cb29rSGVhdnk7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG5cbi5yZXZpZXdlciBoNCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWZhbWlseTogTmV1emVpdFNMVFN0ZC1Cb29rLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NWVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDEuODVyZW07XG4gIH1cbn1cblxuLyogUHV0IHlvdXIgbGF5b3V0IGhlcmUgKi9cbm5hdiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEyNTBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDIwcHggMDtcbn1cblxuLmhlYWRlciAubG9nbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5cbi5oZWFkZXIgLmxvZ28gYSB7XG4gIHdpZHRoOiAyODBweDtcbiAgaGVpZ2h0OiA5MHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL2FwX2xvZ28ucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5oZWFkZXIgLmZ1bmN0aW9uYWwge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDQ0cHg7XG59XG5cbi5oZWFkZXIgLmZ1Ymwge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmhlYWRlciAubGFuZy1zd2l0Y2gge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuXG4uaGVhZGVyIC5sYW5nLXN3aXRjaCBhOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5oZWFkZXIgLmxhbmctc3dpdGNoIGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcgLyc7XG4gIHJpZ2h0OiAtMTBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXIgLm1haWxjaGltcCB7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzMzMztcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzMzMztcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzMzM7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cblxuLmhlYWRlciAubWFpbGNoaW1wIGg1IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4vKiBtYWlsY2hpbXAgZm9ybSAqL1xuLm1jZiAubWMtZmllbGQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubWNmIGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gIGJvcmRlcjogMHB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzMzMztcbiAgbWFyZ2luOiA4cHggM3B4IDAgMTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDRweCAzcHggM3B4IDNweDtcbiAgaGVpZ2h0OiAxM3B4O1xufVxuXG4ubWNmIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMzMzM7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDJweCAxcHggM3B4IDFweDtcbn1cblxuLm1jZiBidXR0b24sIC5tY2YgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL3N1Ym1pdC5wbmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDRweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyOiAwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgcGFkZGluZzogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjA1cyBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUsIDAuNTUsIDAuOTUpO1xufVxuXG4uc2Nyb2xsaW5nIC5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzMzMztcbiAgcGFkZGluZzogMjBweCAwIDAgMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG59XG5cbi5zY3JvbGxpbmcgLmhlYWRlciAubG9nbyBhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9hcF9pY29uLnBuZ1wiKTtcbiAgd2lkdGg6IDU1cHg7XG4gIGhlaWdodDogNTVweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG59XG5cbi5zY3JvbGxpbmcgLmZ1bmN0aW9uYWwge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4uc2Nyb2xsaW5nIC5sYW5nLXN3aXRjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzNXB4O1xuICByaWdodDogMTUwcHg7XG4gIHotaW5kZXg6IDEyMztcbn1cblxuLnNjcm9sbGluZyAubWFpbGNoaW1wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEyMHB4O1xuICByaWdodDogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG5mb290ZXIge1xuICBtYXgtd2lkdGg6IDEyNTBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMzMzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmZvb3RlciAuZm9vdGVyLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzMzMztcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLnN0YXktdXBkYXRlZCwgZm9vdGVyIC5mb290ZXItY29udGVudCAuc3BvbnNvcnMge1xuICBtYXJnaW46IDIwcHg7XG59XG5cbmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgaDUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG5mb290ZXIgLmZvb3Rlci1jb250ZW50IC5zdGF5LXVwZGF0ZWQge1xuICBtaW4td2lkdGg6IDIzNXB4O1xufVxuXG5mb290ZXIgLmZvb3Rlci1jb250ZW50IC5tY2Yge1xuICBib3JkZXI6IDJweCBzb2xpZCAjMzMzO1xuICBwYWRkaW5nOiA1cHggMCAxMnB4IDEwcHg7XG59XG5cbmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLnNvY2lhbCBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLnNvY2lhbCBhOmhvdmVyOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiAjMDIxM0I5O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaXgtYmxlbmQtbW9kZTogc2NyZWVuO1xufVxuXG5mb290ZXIgLmNyZWRpdHMge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuZm9vdGVyIC5jcmVkaXRzIC5jdyBhIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMzMzM7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMzMzM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nOiA2cHggMTBweCA0cHggMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmZvb3RlciAuY3JlZGl0cyAuY3cgYTpob3ZlciB7XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuZm9vdGVyIC5jcmVkaXRzIC5jb250YWN0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cblxuZm9vdGVyIC5jcmVkaXRzIC5jb250YWN0IGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmZvb3RlciAudXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTM1cHg7XG4gIHJpZ2h0OiAxMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHBpbms7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL3N1Ym1pdC5wbmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDFweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMDVzIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG59XG5cbmZvb3RlciAudXA6aG92ZXIge1xuICB0b3A6IC0zN3B4O1xufVxuXG4uaG9tZSBmb290ZXIsIC5pbmZvLXBhZ2UgZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLmhvbWUgZm9vdGVyIC51cCwgLmluZm8tcGFnZSBmb290ZXIgLnVwIHtcbiAgdG9wOiAzMHB4O1xufVxuXG4ubWFpbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6IDI0MHB4O1xufVxuXG4ucGFnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuLmhvbWUgLmV4aGliaXRpb25zIHtcbiAgbWF4LXdpZHRoOiAxMjUwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uaG9tZSAuZXhoaWJpdGlvbiB7XG4gIG1hcmdpbjogNDBweCAwIDgwcHggMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ob21lIC5leGhpYml0aW9uIGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uaG9tZSAuZXhoaWJpdGlvbiAubW9yZSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMzMzM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNHB4IDVweCAycHggNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTE3cHg7XG4gIHJpZ2h0OiAxOHB4O1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5ob21lIC5leGhpYml0aW9uIC5tb3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzMzM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0yMHB4O1xuICB0b3A6IDE1cHg7XG59XG5cbi5ob21lIC5leGhpYml0aW9uIC5tb3JlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uaG9tZSAudGh1bWIsIC5ob21lIC5pbmZvIHtcbiAgd2lkdGg6IGNhbGMoNDUlKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaG9tZSAudGh1bWI6YmVmb3JlLCAuaG9tZSAuaW5mbzpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMzMzO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzdweDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi5ob21lIC5pbmZvIGgyIHtcbiAgcGFkZGluZzogMCAwIDE0cHggNDBweDtcbiAgbWFyZ2luOiAwO1xufVxuXG4uaG9tZSAuaW5mbyAuaW50cm8ge1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjMzMzO1xuICBwYWRkaW5nOiAyMHB4IDIwcHggNDBweCA0MHB4O1xufVxuXG4uaG9tZSAudGh1bWIge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi5ob21lIC50aHVtYiAuY29weXJpZ2h0IHtcbiAgcGFkZGluZzogNXB4IDIwcHggMCAyMHB4O1xufVxuXG4uaG9tZSAuZTIgYSwgLmhvbWUgLmU0IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uaG9tZSAuZTIgYSAudGh1bWIsIC5ob21lIC5lNCBhIC50aHVtYiB7XG4gIG9yZGVyOiAyO1xufVxuXG4uaG9tZSAuZTIgYSAubW9yZSwgLmhvbWUgLmU0IGEgLm1vcmUge1xuICBmbG9hdDogbGVmdDtcbiAgbGVmdDogMThweDtcbn1cblxuLmhvbWUgLmUyIGEgLm1vcmU6YmVmb3JlLCAuaG9tZSAuZTQgYSAubW9yZTpiZWZvcmUge1xuICBsZWZ0OiAtMjBweDtcbn1cblxuLmhvbWUgLmUyIGgyLCAuaG9tZSAuZTQgaDIge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi5ob21lIC5lMiAudGh1bWIsIC5ob21lIC5lNCAudGh1bWIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbi5ob21lIC5lMiAuaW50cm8sIC5ob21lIC5lNCAuaW50cm8ge1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMzMzM7XG4gIGJvcmRlci1yaWdodDogMHB4O1xuICBwYWRkaW5nOiAyMHB4IDQwcHggNDBweCAyMHB4O1xufVxuXG4uaG9tZSAuZTQge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4uaG9tZSAuZnVsbCB7XG4gIHBhZGRpbmc6IDIycHggMjBweCAxOHB4IDIwcHg7XG59XG5cbi5leGhpYml0aW9uLXBhZ2UgLmNvbnRhaW5lciwgLm5ld3MtZGV0YWlsLXBhZ2UgLmNvbnRhaW5lciwgLmV2ZW50LWRldGFpbC1wYWdlIC5jb250YWluZXIsIC5pbmZvLXBhZ2UgLmNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAuaGVhZGVyLWltZywgLm5ld3MtZGV0YWlsLXBhZ2UgLmhlYWRlci1pbWcsIC5ldmVudC1kZXRhaWwtcGFnZSAuaGVhZGVyLWltZywgLmluZm8tcGFnZSAuaGVhZGVyLWltZyB7XG4gIG1heC13aWR0aDogMTIxMHB4O1xuICBtYXgtaGVpZ2h0OiA1MjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMjBweCAyMHB4IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAuaGVhZGVyLWltZyBpbWcsIC5uZXdzLWRldGFpbC1wYWdlIC5oZWFkZXItaW1nIGltZywgLmV2ZW50LWRldGFpbC1wYWdlIC5oZWFkZXItaW1nIGltZywgLmluZm8tcGFnZSAuaGVhZGVyLWltZyBpbWcge1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5leGhpYml0aW9uLXBhZ2UgLmhlYWRlci1pbWcgLmNvcHlyaWdodCwgLm5ld3MtZGV0YWlsLXBhZ2UgLmhlYWRlci1pbWcgLmNvcHlyaWdodCwgLmV2ZW50LWRldGFpbC1wYWdlIC5oZWFkZXItaW1nIC5jb3B5cmlnaHQsIC5pbmZvLXBhZ2UgLmhlYWRlci1pbWcgLmNvcHlyaWdodCB7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xcHg7XG59XG5cbi5leGhpYml0aW9uLXBhZ2UgLnRpYiwgLm5ld3MtZGV0YWlsLXBhZ2UgLnRpYiwgLmV2ZW50LWRldGFpbC1wYWdlIC50aWIsIC5pbmZvLXBhZ2UgLnRpYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogMTI1MHB4O1xufVxuXG4uZXhoaWJpdGlvbi1wYWdlIC50aWIgLmltZywgLmV4aGliaXRpb24tcGFnZSAudGliIC5pbmZvLCAubmV3cy1kZXRhaWwtcGFnZSAudGliIC5pbWcsIC5uZXdzLWRldGFpbC1wYWdlIC50aWIgLmluZm8sIC5ldmVudC1kZXRhaWwtcGFnZSAudGliIC5pbWcsIC5ldmVudC1kZXRhaWwtcGFnZSAudGliIC5pbmZvLCAuaW5mby1wYWdlIC50aWIgLmltZywgLmluZm8tcGFnZSAudGliIC5pbmZvIHtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luOiA0MHB4O1xufVxuXG4uZXhoaWJpdGlvbi1wYWdlIC50aWIgLmltZyBpbWcsIC5uZXdzLWRldGFpbC1wYWdlIC50aWIgLmltZyBpbWcsIC5ldmVudC1kZXRhaWwtcGFnZSAudGliIC5pbWcgaW1nLCAuaW5mby1wYWdlIC50aWIgLmltZyBpbWcge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5leGhpYml0aW9uLXBhZ2UgLnRpYiAuY29weXJpZ2h0LCAubmV3cy1kZXRhaWwtcGFnZSAudGliIC5jb3B5cmlnaHQsIC5ldmVudC1kZXRhaWwtcGFnZSAudGliIC5jb3B5cmlnaHQsIC5pbmZvLXBhZ2UgLnRpYiAuY29weXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiA3cHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uZXhoaWJpdGlvbi1wYWdlIC50aWIgLmluZm8sIC5uZXdzLWRldGFpbC1wYWdlIC50aWIgLmluZm8sIC5ldmVudC1kZXRhaWwtcGFnZSAudGliIC5pbmZvLCAuaW5mby1wYWdlIC50aWIgLmluZm8ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZXhoaWJpdGlvbi1wYWdlIC50aWIgLmluZm8gaDIsIC5uZXdzLWRldGFpbC1wYWdlIC50aWIgLmluZm8gaDIsIC5ldmVudC1kZXRhaWwtcGFnZSAudGliIC5pbmZvIGgyLCAuaW5mby1wYWdlIC50aWIgLmluZm8gaDIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5leGhpYml0aW9uLXBhZ2UgLnRpYiAuaW5mbyBoMjpiZWZvcmUsIC5uZXdzLWRldGFpbC1wYWdlIC50aWIgLmluZm8gaDI6YmVmb3JlLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnRpYiAuaW5mbyBoMjpiZWZvcmUsIC5pbmZvLXBhZ2UgLnRpYiAuaW5mbyBoMjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0zMHB4O1xuICB0b3A6IDEwcHg7XG59XG5cbi5leGhpYml0aW9uLXBhZ2UgLnRpYiAuaW5mbyBoMjphZnRlciwgLm5ld3MtZGV0YWlsLXBhZ2UgLnRpYiAuaW5mbyBoMjphZnRlciwgLmV2ZW50LWRldGFpbC1wYWdlIC50aWIgLmluZm8gaDI6YWZ0ZXIsIC5pbmZvLXBhZ2UgLnRpYiAuaW5mbyBoMjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMnB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTMwcHg7XG4gIHRvcDogMTBweDtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAuZWIsIC5uZXdzLWRldGFpbC1wYWdlIC5lYiwgLmV2ZW50LWRldGFpbC1wYWdlIC5lYiwgLmluZm8tcGFnZSAuZWIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAuZWIgdWwgbGksIC5uZXdzLWRldGFpbC1wYWdlIC5lYiB1bCBsaSwgLmV2ZW50LWRldGFpbC1wYWdlIC5lYiB1bCBsaSwgLmluZm8tcGFnZSAuZWIgdWwgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uZXhoaWJpdGlvbi1wYWdlIC5lYiB1bCBsaTpiZWZvcmUsIC5uZXdzLWRldGFpbC1wYWdlIC5lYiB1bCBsaTpiZWZvcmUsIC5ldmVudC1kZXRhaWwtcGFnZSAuZWIgdWwgbGk6YmVmb3JlLCAuaW5mby1wYWdlIC5lYiB1bCBsaTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTEycHg7XG4gIHRvcDogMTBweDtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAudGIsIC5uZXdzLWRldGFpbC1wYWdlIC50YiwgLmV2ZW50LWRldGFpbC1wYWdlIC50YiwgLmluZm8tcGFnZSAudGIge1xuICBiYWNrZ3JvdW5kOiAjZWZmOWY5O1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xufVxuXG4uZXhoaWJpdGlvbi1wYWdlIC50YiAuaW5mbywgLm5ld3MtZGV0YWlsLXBhZ2UgLnRiIC5pbmZvLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnRiIC5pbmZvLCAuaW5mby1wYWdlIC50YiAuaW5mbyB7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uZXhoaWJpdGlvbi1wYWdlIC50YiBoMjphZnRlciwgLm5ld3MtZGV0YWlsLXBhZ2UgLnRiIGgyOmFmdGVyLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnRiIGgyOmFmdGVyLCAuaW5mby1wYWdlIC50YiBoMjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogNDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMTBweCBhdXRvIDAgYXV0bztcbiAgYmFja2dyb3VuZDogIzMzMztcbn1cblxuLmV4aGliaXRpb24tcGFnZSAuaWIsIC5uZXdzLWRldGFpbC1wYWdlIC5pYiwgLmV2ZW50LWRldGFpbC1wYWdlIC5pYiwgLmluZm8tcGFnZSAuaWIge1xuICBwYWRkaW5nOiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAuaWIudGkyIC5pMSwgLm5ld3MtZGV0YWlsLXBhZ2UgLmliLnRpMiAuaTEsIC5ldmVudC1kZXRhaWwtcGFnZSAuaWIudGkyIC5pMSwgLmluZm8tcGFnZSAuaWIudGkyIC5pMSB7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAuaWIudGkyIC5pMiwgLm5ld3MtZGV0YWlsLXBhZ2UgLmliLnRpMiAuaTIsIC5ldmVudC1kZXRhaWwtcGFnZSAuaWIudGkyIC5pMiwgLmluZm8tcGFnZSAuaWIudGkyIC5pMiB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG4uZXhoaWJpdGlvbi1wYWdlIC5pYiAuY29weXJpZ2h0LCAubmV3cy1kZXRhaWwtcGFnZSAuaWIgLmNvcHlyaWdodCwgLmV2ZW50LWRldGFpbC1wYWdlIC5pYiAuY29weXJpZ2h0LCAuaW5mby1wYWdlIC5pYiAuY29weXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiA3cHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uZXhoaWJpdGlvbi1wYWdlIC5zdGIsIC5uZXdzLWRldGFpbC1wYWdlIC5zdGIsIC5ldmVudC1kZXRhaWwtcGFnZSAuc3RiLCAuaW5mby1wYWdlIC5zdGIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDEyNTBweDtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAuc3RiIC5pbmZvLCAubmV3cy1kZXRhaWwtcGFnZSAuc3RiIC5pbmZvLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnN0YiAuaW5mbywgLmluZm8tcGFnZSAuc3RiIC5pbmZvIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luOiAwIDQwcHggNDBweCA0MHB4O1xuICB3aWR0aDogY2FsYyg1MCUgLSA4MHB4KTtcbn1cblxuLnAzIC50YiwgLnAyIC50YiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW46IDA7XG59XG5cbi5wMyAudGIgaDI6YWZ0ZXIsIC5wMiAudGIgaDI6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHAgaDQge1xuICBtYXJnaW46IDQwcHggMCAwIDA7XG59XG5cbi5idXksIC5mdWxsIHtcbiAgYmFja2dyb3VuZDogIzAyMTNCOTtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMjJweCAyMHB4IDE4cHggMjBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyOiAycHggc29saWQgIzAyMTNCOTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTE3MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5idXk6aG92ZXIsIC5mdWxsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGNvbG9yOiAjMDIxM0I5O1xufVxuXG4ubmV3cy1wYWdlIC5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEyNTBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6IDEwMHB4O1xufVxuXG4ubmV3cy1wYWdlIC5uZXdzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ubmV3cy1wYWdlIC5uZXdzLWl0ZW0ge1xuICB3aWR0aDogY2FsYygxMDAlIC8gMyAtIDQwcHgpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW46IDIwcHg7XG59XG5cbi5uZXdzLXBhZ2UgLm5ld3MtaXRlbSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubmV3cy1wYWdlIC5uZXdzLWl0ZW0gaDMsIC5uZXdzLXBhZ2UgLm5ld3MtaXRlbSBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ubmV3cy1kZXRhaWwtcGFnZSAudGliIC5pbmZvIGgyOmJlZm9yZSwgLm5ld3MtZGV0YWlsLXBhZ2UgLnRpYiAuaW5mbyBoMjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5uZXdzLWRldGFpbC1wYWdlIC5pbnRybyB7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5uZXdzLWRldGFpbC1wYWdlIC5oZWFkZXItaW1nIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbn1cblxuLmV2ZW50LWRldGFpbC1wYWdlIC5pbnRybyB7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uaW5mby1wYWdlIC5pbnRybyB7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5leGhpYml0aW9uLXBhZ2UgLm90aGVyLCAubmV3cy1kZXRhaWwtcGFnZSAub3RoZXIsIC5ldmVudC1kZXRhaWwtcGFnZSAub3RoZXIsIC5pbmZvLXBhZ2UgLm90aGVyIHtcbiAgbWF4LXdpZHRoOiAxMjUwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4uZXhoaWJpdGlvbi1wYWdlIC5vdGhlciBoMiwgLm5ld3MtZGV0YWlsLXBhZ2UgLm90aGVyIGgyLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLm90aGVyIGgyLCAuaW5mby1wYWdlIC5vdGhlciBoMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogMjBweCAyMHB4IDAgMjBweDtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAub3RoZXIgaDIgc3BhbiwgLm5ld3MtZGV0YWlsLXBhZ2UgLm90aGVyIGgyIHNwYW4sIC5ldmVudC1kZXRhaWwtcGFnZSAub3RoZXIgaDIgc3BhbiwgLmluZm8tcGFnZSAub3RoZXIgaDIgc3BhbiB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAub3RoZXIgaDI6YmVmb3JlLCAubmV3cy1kZXRhaWwtcGFnZSAub3RoZXIgaDI6YmVmb3JlLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLm90aGVyIGgyOmJlZm9yZSwgLmluZm8tcGFnZSAub3RoZXIgaDI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEyMDVweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRvcDogMzBweDtcbiAgei1pbmRleDogLTE7XG59XG5cbi5leGhpYml0aW9uLXBhZ2UgLm90aGVyIC5leGhpYml0aW9ucywgLmV4aGliaXRpb24tcGFnZSAub3RoZXIgLm90aGVybmV3cywgLmV4aGliaXRpb24tcGFnZSAub3RoZXIgLm90aGVyZXZlbnRzLCAubmV3cy1kZXRhaWwtcGFnZSAub3RoZXIgLmV4aGliaXRpb25zLCAubmV3cy1kZXRhaWwtcGFnZSAub3RoZXIgLm90aGVybmV3cywgLm5ld3MtZGV0YWlsLXBhZ2UgLm90aGVyIC5vdGhlcmV2ZW50cywgLmV2ZW50LWRldGFpbC1wYWdlIC5vdGhlciAuZXhoaWJpdGlvbnMsIC5ldmVudC1kZXRhaWwtcGFnZSAub3RoZXIgLm90aGVybmV3cywgLmV2ZW50LWRldGFpbC1wYWdlIC5vdGhlciAub3RoZXJldmVudHMsIC5pbmZvLXBhZ2UgLm90aGVyIC5leGhpYml0aW9ucywgLmluZm8tcGFnZSAub3RoZXIgLm90aGVybmV3cywgLmluZm8tcGFnZSAub3RoZXIgLm90aGVyZXZlbnRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG59XG5cbi5leGhpYml0aW9uLXBhZ2UgLm90aGVyIC5leGhpYml0aW9uLCAuZXhoaWJpdGlvbi1wYWdlIC5vdGhlciAubmV3cywgLmV4aGliaXRpb24tcGFnZSAub3RoZXIgLmV2ZW50LCAubmV3cy1kZXRhaWwtcGFnZSAub3RoZXIgLmV4aGliaXRpb24sIC5uZXdzLWRldGFpbC1wYWdlIC5vdGhlciAubmV3cywgLm5ld3MtZGV0YWlsLXBhZ2UgLm90aGVyIC5ldmVudCwgLmV2ZW50LWRldGFpbC1wYWdlIC5vdGhlciAuZXhoaWJpdGlvbiwgLmV2ZW50LWRldGFpbC1wYWdlIC5vdGhlciAubmV3cywgLmV2ZW50LWRldGFpbC1wYWdlIC5vdGhlciAuZXZlbnQsIC5pbmZvLXBhZ2UgLm90aGVyIC5leGhpYml0aW9uLCAuaW5mby1wYWdlIC5vdGhlciAubmV3cywgLmluZm8tcGFnZSAub3RoZXIgLmV2ZW50IHtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luOiAwIDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAub3RoZXIgLmV4aGliaXRpb24gLmluZm8sIC5leGhpYml0aW9uLXBhZ2UgLm90aGVyIC5uZXdzIC5pbmZvLCAuZXhoaWJpdGlvbi1wYWdlIC5vdGhlciAuZXZlbnQgLmluZm8sIC5uZXdzLWRldGFpbC1wYWdlIC5vdGhlciAuZXhoaWJpdGlvbiAuaW5mbywgLm5ld3MtZGV0YWlsLXBhZ2UgLm90aGVyIC5uZXdzIC5pbmZvLCAubmV3cy1kZXRhaWwtcGFnZSAub3RoZXIgLmV2ZW50IC5pbmZvLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLm90aGVyIC5leGhpYml0aW9uIC5pbmZvLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLm90aGVyIC5uZXdzIC5pbmZvLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLm90aGVyIC5ldmVudCAuaW5mbywgLmluZm8tcGFnZSAub3RoZXIgLmV4aGliaXRpb24gLmluZm8sIC5pbmZvLXBhZ2UgLm90aGVyIC5uZXdzIC5pbmZvLCAuaW5mby1wYWdlIC5vdGhlciAuZXZlbnQgLmluZm8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogIzAyMTNCOTtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAxMnB4IDIwcHggOHB4IDIwcHg7XG59XG5cbi5leGhpYml0aW9uLXBhZ2UgLm90aGVyIC5leGhpYml0aW9uOmhvdmVyIC5pbmZvLCAuZXhoaWJpdGlvbi1wYWdlIC5vdGhlciAubmV3czpob3ZlciAuaW5mbywgLmV4aGliaXRpb24tcGFnZSAub3RoZXIgLmV2ZW50OmhvdmVyIC5pbmZvLCAubmV3cy1kZXRhaWwtcGFnZSAub3RoZXIgLmV4aGliaXRpb246aG92ZXIgLmluZm8sIC5uZXdzLWRldGFpbC1wYWdlIC5vdGhlciAubmV3czpob3ZlciAuaW5mbywgLm5ld3MtZGV0YWlsLXBhZ2UgLm90aGVyIC5ldmVudDpob3ZlciAuaW5mbywgLmV2ZW50LWRldGFpbC1wYWdlIC5vdGhlciAuZXhoaWJpdGlvbjpob3ZlciAuaW5mbywgLmV2ZW50LWRldGFpbC1wYWdlIC5vdGhlciAubmV3czpob3ZlciAuaW5mbywgLmV2ZW50LWRldGFpbC1wYWdlIC5vdGhlciAuZXZlbnQ6aG92ZXIgLmluZm8sIC5pbmZvLXBhZ2UgLm90aGVyIC5leGhpYml0aW9uOmhvdmVyIC5pbmZvLCAuaW5mby1wYWdlIC5vdGhlciAubmV3czpob3ZlciAuaW5mbywgLmluZm8tcGFnZSAub3RoZXIgLmV2ZW50OmhvdmVyIC5pbmZvIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGNvbG9yOiAjMDIxM0I5O1xufVxuXG4uZXhoaWJpdGlvbi1wYWdlIC5vdGhlciAuY29weXJpZ2h0LCAubmV3cy1kZXRhaWwtcGFnZSAub3RoZXIgLmNvcHlyaWdodCwgLmV2ZW50LWRldGFpbC1wYWdlIC5vdGhlciAuY29weXJpZ2h0LCAuaW5mby1wYWdlIC5vdGhlciAuY29weXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0yMHB4O1xuICByaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAucmV2ZGF5cywgLm5ld3MtZGV0YWlsLXBhZ2UgLnJldmRheXMsIC5ldmVudC1kZXRhaWwtcGFnZSAucmV2ZGF5cywgLmluZm8tcGFnZSAucmV2ZGF5cyB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5leGhpYml0aW9uLXBhZ2UgLnJldmlld2VycywgLm5ld3MtZGV0YWlsLXBhZ2UgLnJldmlld2VycywgLmV2ZW50LWRldGFpbC1wYWdlIC5yZXZpZXdlcnMsIC5pbmZvLXBhZ2UgLnJldmlld2VycyB7XG4gIG1heC13aWR0aDogMTI1MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5leGhpYml0aW9uLXBhZ2UgLnJldmlld2VycyAucmV2aWV3ZXIsIC5uZXdzLWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnJldmlld2VycyAucmV2aWV3ZXIsIC5pbmZvLXBhZ2UgLnJldmlld2VycyAucmV2aWV3ZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC8gMyAtIDQwcHgpO1xuICBtYXJnaW46IDAgMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgYmFja2dyb3VuZDogI2VmZjlmOTtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciBhLCAubmV3cy1kZXRhaWwtcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciBhLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnJldmlld2VycyAucmV2aWV3ZXIgYSwgLmluZm8tcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZXhoaWJpdGlvbi1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyIC50aHVtYiwgLm5ld3MtZGV0YWlsLXBhZ2UgLnJldmlld2VycyAucmV2aWV3ZXIgLnRodW1iLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnJldmlld2VycyAucmV2aWV3ZXIgLnRodW1iLCAuaW5mby1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyIC50aHVtYiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAudGh1bWI6YWZ0ZXIsIC5uZXdzLWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyIC50aHVtYjphZnRlciwgLmV2ZW50LWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyIC50aHVtYjphZnRlciwgLmluZm8tcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAudGh1bWI6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZDogIzAyMTNCOTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgb3BhY2l0eTogMC4yNTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG59XG5cbi5leGhpYml0aW9uLXBhZ2UgLnJldmlld2VycyAucmV2aWV3ZXIgLnRodW1iOmhvdmVyOmFmdGVyLCAubmV3cy1kZXRhaWwtcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAudGh1bWI6aG92ZXI6YWZ0ZXIsIC5ldmVudC1kZXRhaWwtcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAudGh1bWI6aG92ZXI6YWZ0ZXIsIC5pbmZvLXBhZ2UgLnJldmlld2VycyAucmV2aWV3ZXIgLnRodW1iOmhvdmVyOmFmdGVyIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAuaW5mbywgLm5ld3MtZGV0YWlsLXBhZ2UgLnJldmlld2VycyAucmV2aWV3ZXIgLmluZm8sIC5ldmVudC1kZXRhaWwtcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAuaW5mbywgLmluZm8tcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAuaW5mbyB7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmV4aGliaXRpb24tcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAuaW5mbyBoMywgLmV4aGliaXRpb24tcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAuaW5mbyBoNCwgLm5ld3MtZGV0YWlsLXBhZ2UgLnJldmlld2VycyAucmV2aWV3ZXIgLmluZm8gaDMsIC5uZXdzLWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyIC5pbmZvIGg0LCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnJldmlld2VycyAucmV2aWV3ZXIgLmluZm8gaDMsIC5ldmVudC1kZXRhaWwtcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAuaW5mbyBoNCwgLmluZm8tcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAuaW5mbyBoMywgLmluZm8tcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAuaW5mbyBoNCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5leGhpYml0aW9uLXBhZ2UgLnJldmlld2VycyAucmV2aWV3ZXIgLmluZm8gaDMsIC5uZXdzLWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyIC5pbmZvIGgzLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnJldmlld2VycyAucmV2aWV3ZXIgLmluZm8gaDMsIC5pbmZvLXBhZ2UgLnJldmlld2VycyAucmV2aWV3ZXIgLmluZm8gaDMge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZXhoaWJpdGlvbi1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyIC5pbmZvIGg0LCAubmV3cy1kZXRhaWwtcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAuaW5mbyBoNCwgLmV2ZW50LWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyIC5pbmZvIGg0LCAuaW5mby1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyIC5pbmZvIGg0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG59XG5cbi5wcm9ncmFtbWUtcGFnZSAuY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMjUwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucHJvZ3JhbW1lLXBhZ2UgLnRpbWVsaW5lLCAucHJvZ3JhbW1lLXBhZ2UgLnByb2dyYW1tZSB7XG4gIG1heC13aWR0aDogMTI1MHB4O1xufVxuXG4ucHJvZ3JhbW1lLXBhZ2UgLnRpbWVsaW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMzMzM7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMzMzO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG59XG5cbi5wcm9ncmFtbWUtcGFnZSAudGltZWxpbmUgLmRhdGUge1xuICBtYXJnaW46IDEwcHggMjBweDtcbn1cblxuLnByb2dyYW1tZS1wYWdlIC50aW1lbGluZSAuZGF0ZSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucHJvZ3JhbW1lLXBhZ2UgLnByb2dyYW1tZSBoMiB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMjBweCAwIDAgMDtcbn1cblxuLnByb2dyYW1tZS1wYWdlIC5wcm9ncmFtbWUgLmV2ZW50cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5cbi5wcm9ncmFtbWUtcGFnZSAucHJvZ3JhbW1lIC5kYXkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9ncmFtbWUtcGFnZSAucHJvZ3JhbW1lIC5hbmNob3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMjBweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ucHJvZ3JhbW1lLXBhZ2UgLnByb2dyYW1tZSAuZXZlbnQge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSA0MHB4KTtcbiAgbWFyZ2luOiAwIDIwcHg7XG59XG5cbi5wcm9ncmFtbWUtcGFnZSAucHJvZ3JhbW1lIC5ldmVudCAuaW5mbyB7XG4gIGJhY2tncm91bmQ6ICMwMjEzQjk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5wcm9ncmFtbWUtcGFnZSAucHJvZ3JhbW1lIC5ldmVudCBoNCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLnByb2dyYW1tZS1wYWdlIC5wcm9ncmFtbWUgLmV2ZW50IGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5wcm9ncmFtbWUtcGFnZSAucHJvZ3JhbW1lIC5ldmVudCAubG9jYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbn1cblxuLnByb2dyYW1tZS1wYWdlIC5wcm9ncmFtbWUgLmV2ZW50IC5sb2NhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDEwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjVlbSkge1xuICAuaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzMzMztcbiAgICBwYWRkaW5nOiAxMHB4IDAgNXB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5oZWFkZXIgLmZ1Ymwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmhlYWRlciAuZnVuY3Rpb25hbCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAubS1tZW51IHtcbiAgICB0b3A6IDE3MHB4O1xuICAgIHotaW5kZXg6IDM7XG4gIH1cbiAgLm0tbWVudS1vcGVuIC5oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG4gIC5tLW1lbnUtb3BlbiAuaGVhZGVyIC5mdWJsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgfVxuICAubS1tZW51LW9wZW4gLmhlYWRlciAubGFuZy1zd2l0Y2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAubS1tZW51LW9wZW4gLmhlYWRlciAubWFpbGNoaW1wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuICAubS1tZW51LW9wZW4gLmhlYWRlciAubWFpbGNoaW1wIC5tY2Yge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMzMzM7XG4gICAgcGFkZGluZzogNHB4IDEwcHggMTJweCAxMHB4O1xuICB9XG4gIC5tLXRpY2tldHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1NXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzMzM7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuICAuc2Nyb2xsaW5nIC5oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnNjcm9sbGluZyAubS1tZW51IHtcbiAgICB0b3A6IDI1cHg7XG4gIH1cbiAgLnNjcm9sbGluZyAubS10aWNrZXRzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHRvcDogOXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIGZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmxvZ29zIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NWVtKSB7XG4gIC5ob21lIC5leGhpYml0aW9uIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5ob21lIC5leGhpYml0aW9uIC50aHVtYiwgLmhvbWUgLmV4aGliaXRpb24gLmluZm8ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cbiAgLmhvbWUgLmV4aGliaXRpb24gLnRodW1iOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaG9tZSAuZXhoaWJpdGlvbiAuaW5mbyB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuICAuaG9tZSAuZXhoaWJpdGlvbiAuaW5mbyBoMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmhvbWUgLmV4aGliaXRpb24gLmluZm86YmVmb3JlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgfVxuICAuaG9tZSAuZXhoaWJpdGlvbiAuaW5mbyAuaW50cm8ge1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCA0MHB4IDIwcHg7XG4gIH1cbiAgLmV4aGliaXRpb24tcGFnZSAuaGVhZGVyLWltZywgLm5ld3MtZGV0YWlsLXBhZ2UgLmhlYWRlci1pbWcsIC5ldmVudC1kZXRhaWwtcGFnZSAuaGVhZGVyLWltZywgLmluZm8tcGFnZSAuaGVhZGVyLWltZyB7XG4gICAgcGFkZGluZzogMCAwIDIwcHggMDtcbiAgfVxuICAuZXhoaWJpdGlvbi1wYWdlIC50aWIsIC5leGhpYml0aW9uLXBhZ2UgLnN0YiwgLm5ld3MtZGV0YWlsLXBhZ2UgLnRpYiwgLm5ld3MtZGV0YWlsLXBhZ2UgLnN0YiwgLmV2ZW50LWRldGFpbC1wYWdlIC50aWIsIC5ldmVudC1kZXRhaWwtcGFnZSAuc3RiLCAuaW5mby1wYWdlIC50aWIsIC5pbmZvLXBhZ2UgLnN0YiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmV4aGliaXRpb24tcGFnZSAudGliIC5pbWcsIC5leGhpYml0aW9uLXBhZ2UgLnRpYiAuaW5mbywgLmV4aGliaXRpb24tcGFnZSAuc3RiIC5pbWcsIC5leGhpYml0aW9uLXBhZ2UgLnN0YiAuaW5mbywgLm5ld3MtZGV0YWlsLXBhZ2UgLnRpYiAuaW1nLCAubmV3cy1kZXRhaWwtcGFnZSAudGliIC5pbmZvLCAubmV3cy1kZXRhaWwtcGFnZSAuc3RiIC5pbWcsIC5uZXdzLWRldGFpbC1wYWdlIC5zdGIgLmluZm8sIC5ldmVudC1kZXRhaWwtcGFnZSAudGliIC5pbWcsIC5ldmVudC1kZXRhaWwtcGFnZSAudGliIC5pbmZvLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnN0YiAuaW1nLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnN0YiAuaW5mbywgLmluZm8tcGFnZSAudGliIC5pbWcsIC5pbmZvLXBhZ2UgLnRpYiAuaW5mbywgLmluZm8tcGFnZSAuc3RiIC5pbWcsIC5pbmZvLXBhZ2UgLnN0YiAuaW5mbyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgIG1hcmdpbjogMjBweDtcbiAgfVxuICAuZXhoaWJpdGlvbi1wYWdlIC50aWIgLmltZyBpbWcsIC5leGhpYml0aW9uLXBhZ2UgLnRpYiAuaW5mbyBpbWcsIC5leGhpYml0aW9uLXBhZ2UgLnN0YiAuaW1nIGltZywgLmV4aGliaXRpb24tcGFnZSAuc3RiIC5pbmZvIGltZywgLm5ld3MtZGV0YWlsLXBhZ2UgLnRpYiAuaW1nIGltZywgLm5ld3MtZGV0YWlsLXBhZ2UgLnRpYiAuaW5mbyBpbWcsIC5uZXdzLWRldGFpbC1wYWdlIC5zdGIgLmltZyBpbWcsIC5uZXdzLWRldGFpbC1wYWdlIC5zdGIgLmluZm8gaW1nLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnRpYiAuaW1nIGltZywgLmV2ZW50LWRldGFpbC1wYWdlIC50aWIgLmluZm8gaW1nLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnN0YiAuaW1nIGltZywgLmV2ZW50LWRldGFpbC1wYWdlIC5zdGIgLmluZm8gaW1nLCAuaW5mby1wYWdlIC50aWIgLmltZyBpbWcsIC5pbmZvLXBhZ2UgLnRpYiAuaW5mbyBpbWcsIC5pbmZvLXBhZ2UgLnN0YiAuaW1nIGltZywgLmluZm8tcGFnZSAuc3RiIC5pbmZvIGltZyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgLmV4aGliaXRpb24tcGFnZSAudGliIC5pbmZvLCAuZXhoaWJpdGlvbi1wYWdlIC5zdGIgLmluZm8sIC5uZXdzLWRldGFpbC1wYWdlIC50aWIgLmluZm8sIC5uZXdzLWRldGFpbC1wYWdlIC5zdGIgLmluZm8sIC5ldmVudC1kZXRhaWwtcGFnZSAudGliIC5pbmZvLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnN0YiAuaW5mbywgLmluZm8tcGFnZSAudGliIC5pbmZvLCAuaW5mby1wYWdlIC5zdGIgLmluZm8ge1xuICAgIHBhZGRpbmc6IDIwcHggNjBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTQwcHgpO1xuICB9XG4gIC5leGhpYml0aW9uLXBhZ2UgLnN0YiAuaW5mbywgLm5ld3MtZGV0YWlsLXBhZ2UgLnN0YiAuaW5mbywgLmV2ZW50LWRldGFpbC1wYWdlIC5zdGIgLmluZm8sIC5pbmZvLXBhZ2UgLnN0YiAuaW5mbyB7XG4gICAgbWFyZ2luOiA0MHB4IDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIH1cbiAgLmV4aGliaXRpb24tcGFnZSAub3RoZXIgLmV4aGliaXRpb25zLCAuZXhoaWJpdGlvbi1wYWdlIC5vdGhlciAub3RoZXJuZXdzLCAuZXhoaWJpdGlvbi1wYWdlIC5vdGhlciAub3RoZXJldmVudHMsIC5leGhpYml0aW9uLXBhZ2UgLnJldmlld2VycyAuZXhoaWJpdGlvbnMsIC5leGhpYml0aW9uLXBhZ2UgLnJldmlld2VycyAub3RoZXJuZXdzLCAuZXhoaWJpdGlvbi1wYWdlIC5yZXZpZXdlcnMgLm90aGVyZXZlbnRzLCAubmV3cy1kZXRhaWwtcGFnZSAub3RoZXIgLmV4aGliaXRpb25zLCAubmV3cy1kZXRhaWwtcGFnZSAub3RoZXIgLm90aGVybmV3cywgLm5ld3MtZGV0YWlsLXBhZ2UgLm90aGVyIC5vdGhlcmV2ZW50cywgLm5ld3MtZGV0YWlsLXBhZ2UgLnJldmlld2VycyAuZXhoaWJpdGlvbnMsIC5uZXdzLWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLm90aGVybmV3cywgLm5ld3MtZGV0YWlsLXBhZ2UgLnJldmlld2VycyAub3RoZXJldmVudHMsIC5ldmVudC1kZXRhaWwtcGFnZSAub3RoZXIgLmV4aGliaXRpb25zLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLm90aGVyIC5vdGhlcm5ld3MsIC5ldmVudC1kZXRhaWwtcGFnZSAub3RoZXIgLm90aGVyZXZlbnRzLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnJldmlld2VycyAuZXhoaWJpdGlvbnMsIC5ldmVudC1kZXRhaWwtcGFnZSAucmV2aWV3ZXJzIC5vdGhlcm5ld3MsIC5ldmVudC1kZXRhaWwtcGFnZSAucmV2aWV3ZXJzIC5vdGhlcmV2ZW50cywgLmluZm8tcGFnZSAub3RoZXIgLmV4aGliaXRpb25zLCAuaW5mby1wYWdlIC5vdGhlciAub3RoZXJuZXdzLCAuaW5mby1wYWdlIC5vdGhlciAub3RoZXJldmVudHMsIC5pbmZvLXBhZ2UgLnJldmlld2VycyAuZXhoaWJpdGlvbnMsIC5pbmZvLXBhZ2UgLnJldmlld2VycyAub3RoZXJuZXdzLCAuaW5mby1wYWdlIC5yZXZpZXdlcnMgLm90aGVyZXZlbnRzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuZXhoaWJpdGlvbi1wYWdlIC5vdGhlciAuZXhoaWJpdGlvbiwgLmV4aGliaXRpb24tcGFnZSAub3RoZXIgLm5ld3MsIC5leGhpYml0aW9uLXBhZ2UgLm90aGVyIC5ldmVudCwgLmV4aGliaXRpb24tcGFnZSAub3RoZXIgLnJldmlld2VyLCAuZXhoaWJpdGlvbi1wYWdlIC5yZXZpZXdlcnMgLmV4aGliaXRpb24sIC5leGhpYml0aW9uLXBhZ2UgLnJldmlld2VycyAubmV3cywgLmV4aGliaXRpb24tcGFnZSAucmV2aWV3ZXJzIC5ldmVudCwgLmV4aGliaXRpb24tcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciwgLm5ld3MtZGV0YWlsLXBhZ2UgLm90aGVyIC5leGhpYml0aW9uLCAubmV3cy1kZXRhaWwtcGFnZSAub3RoZXIgLm5ld3MsIC5uZXdzLWRldGFpbC1wYWdlIC5vdGhlciAuZXZlbnQsIC5uZXdzLWRldGFpbC1wYWdlIC5vdGhlciAucmV2aWV3ZXIsIC5uZXdzLWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLmV4aGliaXRpb24sIC5uZXdzLWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLm5ld3MsIC5uZXdzLWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLmV2ZW50LCAubmV3cy1kZXRhaWwtcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciwgLmV2ZW50LWRldGFpbC1wYWdlIC5vdGhlciAuZXhoaWJpdGlvbiwgLmV2ZW50LWRldGFpbC1wYWdlIC5vdGhlciAubmV3cywgLmV2ZW50LWRldGFpbC1wYWdlIC5vdGhlciAuZXZlbnQsIC5ldmVudC1kZXRhaWwtcGFnZSAub3RoZXIgLnJldmlld2VyLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLnJldmlld2VycyAuZXhoaWJpdGlvbiwgLmV2ZW50LWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLm5ld3MsIC5ldmVudC1kZXRhaWwtcGFnZSAucmV2aWV3ZXJzIC5ldmVudCwgLmV2ZW50LWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyLCAuaW5mby1wYWdlIC5vdGhlciAuZXhoaWJpdGlvbiwgLmluZm8tcGFnZSAub3RoZXIgLm5ld3MsIC5pbmZvLXBhZ2UgLm90aGVyIC5ldmVudCwgLmluZm8tcGFnZSAub3RoZXIgLnJldmlld2VyLCAuaW5mby1wYWdlIC5yZXZpZXdlcnMgLmV4aGliaXRpb24sIC5pbmZvLXBhZ2UgLnJldmlld2VycyAubmV3cywgLmluZm8tcGFnZSAucmV2aWV3ZXJzIC5ldmVudCwgLmluZm8tcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbiAgLmV4aGliaXRpb24tcGFnZSAub3RoZXIgLnJldmlld2VyIC50aHVtYiBpbWcsIC5leGhpYml0aW9uLXBhZ2UgLm90aGVyIC5yZXZpZXdlciAuaW5mbywgLmV4aGliaXRpb24tcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAudGh1bWIgaW1nLCAuZXhoaWJpdGlvbi1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyIC5pbmZvLCAubmV3cy1kZXRhaWwtcGFnZSAub3RoZXIgLnJldmlld2VyIC50aHVtYiBpbWcsIC5uZXdzLWRldGFpbC1wYWdlIC5vdGhlciAucmV2aWV3ZXIgLmluZm8sIC5uZXdzLWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyIC50aHVtYiBpbWcsIC5uZXdzLWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyIC5pbmZvLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLm90aGVyIC5yZXZpZXdlciAudGh1bWIgaW1nLCAuZXZlbnQtZGV0YWlsLXBhZ2UgLm90aGVyIC5yZXZpZXdlciAuaW5mbywgLmV2ZW50LWRldGFpbC1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyIC50aHVtYiBpbWcsIC5ldmVudC1kZXRhaWwtcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAuaW5mbywgLmluZm8tcGFnZSAub3RoZXIgLnJldmlld2VyIC50aHVtYiBpbWcsIC5pbmZvLXBhZ2UgLm90aGVyIC5yZXZpZXdlciAuaW5mbywgLmluZm8tcGFnZSAucmV2aWV3ZXJzIC5yZXZpZXdlciAudGh1bWIgaW1nLCAuaW5mby1wYWdlIC5yZXZpZXdlcnMgLnJldmlld2VyIC5pbmZvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLnByb2dyYW1tZS1wYWdlIC5wcm9ncmFtbWUgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG4gIC5wcm9ncmFtbWUtcGFnZSAucHJvZ3JhbW1lIC5ldmVudHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5wcm9ncmFtbWUtcGFnZSAucHJvZ3JhbW1lIC5ldmVudHMgLmV2ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgLnByb2dyYW1tZS1wYWdlIC5wcm9ncmFtbWUgLmV2ZW50cyAuZXZlbnQgLnRodW1iIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm5ld3MtcGFnZSAubmV3cyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLm5ld3MtcGFnZSAubmV3cyAubmV3cy1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuICAubmV3cy1wYWdlIC5uZXdzIC5uZXdzLWl0ZW0gaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBmb290ZXIgLmZvb3Rlci1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmhvbWUgZm9vdGVyIC51cCwgLmluZm8tcGFnZSBmb290ZXIgLnVwIHtcbiAgICB0b3A6IC0xMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyN2VtKSB7XG4gIGZvb3RlciAuY3JlZGl0cyAuY29udGFjdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5uYXYge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzMzMztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5uYXYgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogMTtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbn1cblxuLnNjcm9sbGluZyAubmF2IHVsLm1haW4sIC5zY3JvbGxpbmcgLm5hdiB7XG4gIGJvcmRlci1ib3R0b206IDBweDtcbn1cblxuLnNjcm9sbGluZyAubmF2IHVsIGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG59XG5cbi5zY3JvbGxpbmcgLm5hdiB1bCBhLnRpY2tldHMge1xuICBtYXJnaW4tbGVmdDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLnNjcm9sbGluZyAubmF2IHVsIGxpLmhhcy1jaGlsZHJlbjphZnRlciB7XG4gIHJpZ2h0OiAxNXB4O1xufVxuXG4uc2Nyb2xsaW5nIC5uYXYgdWwgbGkuaGFzLWNoaWxkcmVuIGxpIGEge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5uYXYgdWwgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubmF2IHVsIGEudGlja2V0cyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMjEzQjk7XG4gIGJhY2tncm91bmQ6ICMwMjEzQjk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogNHB4IDIwcHggM3B4IDIwcHg7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLm5hdiB1bCBhLnRpY2tldHM6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29sb3I6ICMwMjEzQjk7XG59XG5cbi5uYXYgdWwgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5uYXYgdWwgbGk6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLm5hdiB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubmF2IHVsIGxpLmhhcy1jaGlsZHJlbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG4ubmF2IHVsIGxpLmhhcy1jaGlsZHJlbjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9zdWJtaXQucG5nKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICB0b3A6IDEycHg7XG4gIHJpZ2h0OiAtM3B4O1xufVxuXG4ubmF2IHVsIGxpLmhhcy1jaGlsZHJlbjpob3ZlcjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLm5hdiB1bCBsaS5jdXJyZW50LW1lbnUtaXRlbSB7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG59XG5cbi5uYXYgdWwgdWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMzMzM7XG59XG5cbi5uYXYgdWwgdWwgbGkge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDBweCAxMHB4IDBweCAycHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzMzM7XG59XG5cbi5uYXYgdWwgdWwgYSB7XG4gIHBhZGRpbmc6IDVweCAxNXB4IDVweCAwO1xufVxuXG4ubmF2IHVsIGxpOmhvdmVyID4gdWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm0tbXlkYXRlIHtcbiAgY29sb3I6ICMwMjEzQjk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMzMzO1xuICBwYWRkaW5nOiAxMHB4IDAgNXB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm15ZGF0ZSB7XG4gIGNvbG9yOiAjMDIxM0I5O1xuICBwYWRkaW5nOiA2cHggMjBweCA0cHggMTAwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzMzMztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyogTW9iaWxlIG1lbnUgKi9cbi5tLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubS1tZW51IC5tbSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMzMzM7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLm0tbWVudSAubW0gLnNsaWNlIHtcbiAgaGVpZ2h0OiAycHg7XG4gIHdpZHRoOiAyMnB4O1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTJweDtcbiAgbGVmdDogMnB4O1xufVxuXG4ubS1tZW51IC5tbTpiZWZvcmUsIC5tLW1lbnUgLm1tOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDJweDtcbiAgbGVmdDogMnB4O1xuICB0b3A6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG59XG5cbi5tLW1lbnUgLm1tOmFmdGVyIHtcbiAgdG9wOiAxOHB4O1xufVxuXG4ubS10aWNrZXRzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm0tdGlja2V0cyBhIHtcbiAgYmFja2dyb3VuZDogIzAyMTNCOTtcbiAgYm9yZGVyOiAycHggc29saWQgIzAyMTNCOTtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHggNDBweDtcbn1cblxuLm0tdGlja2V0cyBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGNvbG9yOiAjMDIxM0I5O1xufVxuXG4ubS1tZW51LW9wZW4gLm0tbWVudSAubW06YmVmb3JlIHtcbiAgdG9wOiAxMnB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4ubS1tZW51LW9wZW4gLm0tbWVudSAubW06YWZ0ZXIge1xuICB0b3A6IDEycHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLm0tbWVudS1vcGVuIC5tLW1lbnUgLm1tIC5zbGljZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5tLW1lbnUtb3BlbiAubmF2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tLW1lbnUtb3BlbiAubS1teWRhdGUge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzMzMztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NWVtKSB7XG4gIC5tLW1lbnUsIC5tLXRpY2tldHMsIC5tLW15ZGF0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLm15ZGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubS1tZW51LW9wZW4gLm5hdiB7XG4gICAgbWFyZ2luLXRvcDogNzNweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbiAgLm0tbWVudS1vcGVuIC5uYXYgdWwgbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMzMzO1xuICB9XG4gIC5tLW1lbnUtb3BlbiAubmF2IHVsIGxpOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbiAgLm0tbWVudS1vcGVuIC5uYXYgdWwgbGkuaGFzLWNoaWxkcmVuOmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDIycHg7XG4gIH1cbiAgLm0tbWVudS1vcGVuIC5uYXYgdWwgbGkgYSB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICB9XG4gIC5tLW1lbnUtb3BlbiAubmF2IHVsIHVsIGxpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAubS1tZW51LW9wZW4gLm5hdiB1bCBsaTpob3ZlciA+IHVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gIH1cbiAgLm0tbWVudS1vcGVuIC5tLXRpY2tldHMge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMzMzO1xuICAgIHRvcDogMTEycHg7XG4gIH1cbiAgLm0tbWVudS1vcGVuLnNjcm9sbGluZyAubS10aWNrZXRzIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiAyOXB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMzMzO1xuICAgIHRvcDogOXB4O1xuICB9XG4gIC5uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5hdiB1bC5tYWluIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG4gIC5uYXYgLnRpY2tldHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnNjcm9sbGluZy5tLW1lbnUtb3BlbiAubmF2IHtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gIH1cbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG5hIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbnVsLFxubGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmFjdGl2ZSwgYTpob3ZlciB7XG4gIGNvbG9yOiAjMDIxM0I5O1xufVxuXG4ucGFnZS10aXRsZTphZnRlciwgLnJldmRheXM6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDQwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDEwcHggYXV0byAwIGF1dG87XG4gIGJhY2tncm91bmQ6ICMzMzM7XG59XG4iLCIvKiBQdXQgeW91ciBnbG9iYWwgc3R5bGVzIGhlcmUgKi9cbkBpbXBvcnQgJ25vcm1hbGl6ZSc7XG5AaW1wb3J0ICdib2lsZXJwbGF0ZSc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAndHlwbyc7XG5AaW1wb3J0ICdsYXlvdXQnO1xuQGltcG9ydCAnbmF2JztcblxuYm9keSB7ICBcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnY29sb3I7XG4gIGNvbG9yOiAkbWFpbmNvbG9yO1xufVxuXG5hIHtcbiAgY29sb3I6ICRtYWluY29sb3I7XG59XG5cbnVsLFxubGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46MDtcbiAgcGFkZGluZzowO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG4gXG4uYWN0aXZlLCBhOmhvdmVye1xuICBjb2xvcjogJGhpZ2hsaWdodGNvbG9yO1xufVxuXG4ucGFnZS10aXRsZTphZnRlciwgLnJldmRheXM6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDQwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDEwcHggYXV0byAwIGF1dG87XG4gIGJhY2tncm91bmQ6ICRtYWluY29sb3I7XG59XG5cblxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjcuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7IC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMsIC8qIDEgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKipcbiAqIEBsaWNlbnNlXG4gKiBNeUZvbnRzIFdlYmZvbnQgQnVpbGQgSUQgMzU2NTM3NCwgMjAxOC0wNC0yM1QwOToxMDo1My0wNDAwXG4gKiBcbiAqIFRoZSBmb250cyBsaXN0ZWQgaW4gdGhpcyBub3RpY2UgYXJlIHN1YmplY3QgdG8gdGhlIEVuZCBVc2VyIExpY2Vuc2VcbiAqIEFncmVlbWVudChzKSBlbnRlcmVkIGludG8gYnkgdGhlIHdlYnNpdGUgb3duZXIuIEFsbCBvdGhlciBwYXJ0aWVzIGFyZSBcbiAqIGV4cGxpY2l0bHkgcmVzdHJpY3RlZCBmcm9tIHVzaW5nIHRoZSBMaWNlbnNlZCBXZWJmb250cyhzKS5cbiAqIFxuICogWW91IG1heSBvYnRhaW4gYSB2YWxpZCBsaWNlbnNlIGF0IHRoZSBVUkxzIGJlbG93LlxuICogXG4gKiBXZWJmb250OiBOZXV6ZWl0U0xUU3RkLUJvb2sgYnkgTGlub3R5cGVcbiAqIFVSTDogaHR0cHM6Ly93d3cubXlmb250cy5jb20vZm9udHMvbGlub3R5cGUvbmV1emVpdC1zL25ldXplaXRzLWJvb2svXG4gKiBcbiAqIFdlYmZvbnQ6IE5ldXplaXRTTFRTdGQtQm9va0hlYXZ5IGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHBzOi8vd3d3Lm15Zm9udHMuY29tL2ZvbnRzL2xpbm90eXBlL25ldXplaXQtcy9uZXV6ZWl0cy1ib29raGVhdnkvXG4gKiBcbiAqIFxuICogTGljZW5zZTogaHR0cHM6Ly93d3cubXlmb250cy5jb20vdmlld2xpY2Vuc2U/dHlwZT13ZWImYnVpbGRpZD0zNTY1Mzc0XG4gKiBMaWNlbnNlZCBwYWdldmlld3M6IDI1MCwwMDBcbiAqIFdlYmZvbnRzIGNvcHlyaWdodDogQ29weXJpZ2h0ICYjeDAwQTk7IDE5OTAsIDIwMDEsIDIwMDIgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuICBBbGwgUmlnaHRzIFJlc2VydmVkLiAmI3gwMEE5OyAxOTgxLCAyMDAxLCAyMDAyIEhlaWRlbGJlcmdlciBEcnVja21hc2NoaW5lbiBBRy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFxuICogwqkgMjAxOCBNeUZvbnRzIEluY1xuKi9cblxuXG4vKiBAaW1wb3J0IG11c3QgYmUgYXQgdG9wIG9mIGZpbGUsIG90aGVyd2lzZSBDU1Mgd2lsbCBub3Qgd29yayAqL1xuQGltcG9ydCB1cmwoXCIvL2hlbGxvLm15Zm9udHMubmV0L2NvdW50LzM2NjczZVwiKTtcblxuICBcbkBmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiAnTmV1emVpdFNMVFN0ZC1Cb29rJztzcmM6IHVybCgnL3dlYmZvbnRzLzM2NjczRV8wXzAuZW90Jyk7c3JjOiB1cmwoJy93ZWJmb250cy8zNjY3M0VfMF8wLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCcvd2ViZm9udHMvMzY2NzNFXzBfMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSx1cmwoJy93ZWJmb250cy8zNjY3M0VfMF8wLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSx1cmwoJy93ZWJmb250cy8zNjY3M0VfMF8wLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTt9XG4gXG4gIFxuQGZvbnQtZmFjZSB7Zm9udC1mYW1pbHk6ICdOZXV6ZWl0U0xUU3RkLUJvb2tIZWF2eSc7c3JjOiB1cmwoJy93ZWJmb250cy8zNjY3M0VfMV8wLmVvdCcpO3NyYzogdXJsKCcvd2ViZm9udHMvMzY2NzNFXzFfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnL3dlYmZvbnRzLzM2NjczRV8xXzAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksdXJsKCcvd2ViZm9udHMvMzY2NzNFXzFfMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCcvd2ViZm9udHMvMzY2NzNFXzFfMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7fVxuXG4uTmV1emVpdFNMVFN0ZC1Cb29rIHsgZm9udC1mYW1pbHk6IE5ldXplaXRTTFRTdGQtQm9vazsgfVxuLk5ldXplaXRTTFRTdGQtQm9va0hlYXZ5IHsgZm9udC1mYW1pbHk6IE5ldXplaXRTTFRTdGQtQm9va0hlYXZ5OyB9XG5cblxuQGZvbnQtZmFjZSB7Zm9udC1mYW1pbHk6ICdSZWdsby1Cb2xkJztzcmM6IHVybCgnL3dlYmZvbnRzL1JlZ2xvLUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO31cbi5SZWdsby1Cb2xkIHsgZm9udC1mYW1pbHk6IFJlZ2xvLUJvbGQ7IH1cblxuaHRtbCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG5ib2R5IHsgIFxuICBmb250LWZhbWlseTogTmV1emVpdFNMVFN0ZC1Cb29rLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsOyAgXG59XG5cbmgxLGgyLGgzLGg0LGg1IHtcbiAgZm9udC1mYW1pbHk6IFJlZ2xvLUJvbGQsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbn1cblxuaDMuY3RhIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG5oNSB7XG4gIGZvbnQtZmFtaWx5OiBOZXV6ZWl0U0xUU3RkLUJvb2tIZWF2eTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC44cmVtOyAgXG59XG5cbm5hdiB7XG4gIHVsIGxpIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gIH1cbiAgLnRpY2tldHMge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB9XG59XG5cblxuLm0tdGlja2V0cyAge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuIGgyIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG5cbi5tb3JlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IE5ldXplaXRTTFRTdGQtQm9va0hlYXZ5O1xuICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLmJ1eSwgLmZ1bGwge1xuICBmb250LWZhbWlseTogUmVnbG8tQm9sZCwgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG4ub3RoZXIgLmluZm8ge1xuICBmb250LWZhbWlseTogUmVnbG8tQm9sZCwgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG4udGltZWxpbmUgLmRhdGUge1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbi5ldmVudCAubG9jYXRpb24ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuLmV2ZW50LWRldGFpbC1wYWdlIC5pbnRybywgLm5ld3MtZGV0YWlsLXBhZ2UgLmludHJvIHtcbiBmb250LWZhbWlseTogTmV1emVpdFNMVFN0ZC1Cb29rSGVhdnk7XG59XG5cbi5jcmVkaXRzIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG4uY29weXJpZ2h0IHtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjlyZW07XG59XG5cbi5teWRhdGUsIC5tLW15ZGF0ZSB7XG4gIGZvbnQtZmFtaWx5OiBOZXV6ZWl0U0xUU3RkLUJvb2tIZWF2eTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLnJldmlld2VyIHtcbiAgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogTmV1emVpdFNMVFN0ZC1Cb29rLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1ZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMS44NXJlbTtcbiAgfVxufSIsIi8qISBIVE1MNSBCb2lsZXJwbGF0ZSB2Ni4wLjEgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vaHRtbDVib2lsZXJwbGF0ZS5jb20vICovXG5cbi8qXG4gKiBXaGF0IGZvbGxvd3MgaXMgdGhlIHJlc3VsdCBvZiBtdWNoIHJlc2VhcmNoIG9uIGNyb3NzLWJyb3dzZXIgc3R5bGluZy5cbiAqIENyZWRpdCBsZWZ0IGlubGluZSBhbmQgYmlnIHRoYW5rcyB0byBOaWNvbGFzIEdhbGxhZ2hlciwgSm9uYXRoYW4gTmVhbCxcbiAqIEtyb2MgQ2FtZW4sIGFuZCB0aGUgSDVCUCBkZXYgY29tbXVuaXR5IGFuZCB0ZWFtLlxuICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlIHN0eWxlczogb3BpbmlvbmF0ZWQgZGVmYXVsdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGV4dC1zaGFkb3cgaW4gc2VsZWN0aW9uIGhpZ2hsaWdodDpcbiAqIGh0dHBzOi8vdHdpdHRlci5jb20vbWlrZXRheWxyL3N0YXR1cy8xMjIyODgwNTMwMVxuICpcbiAqIFZlbmRvci1wcmVmaXhlZCBhbmQgcmVndWxhciA6OnNlbGVjdGlvbiBzZWxlY3RvcnMgY2Fubm90IGJlIGNvbWJpbmVkOlxuICogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzE2OTgyNTEwLzcxMzM0NzFcbiAqXG4gKiBDdXN0b21pemUgdGhlIGJhY2tncm91bmQgY29sb3IgdG8gbWF0Y2ggeW91ciBkZXNpZ24uXG4gKi9cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qXG4gKiBBIGJldHRlciBsb29raW5nIGRlZmF1bHQgaG9yaXpvbnRhbCBydWxlXG4gKi9cblxuaHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGF1ZGlvLCBjYW52YXMsIGlmcmFtZXMsXG4gKiBpbWFnZXMsIHZpZGVvcyBhbmQgdGhlIGJvdHRvbSBvZiB0aGVpciBjb250YWluZXJzOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvaXNzdWVzLzQ0MFxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBmaWVsZHNldCBzdHlsZXMuXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIEFsbG93IG9ubHkgdmVydGljYWwgcmVzaXppbmcgb2YgdGV4dGFyZWFzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnJvd3NlciBVcGdyYWRlIFByb21wdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmJyb3dzZXJ1cGdyYWRlIHtcbiAgICBtYXJnaW46IDAuMmVtIDA7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBjb2xvcjogIzAwMDtcbiAgICBwYWRkaW5nOiAwLjJlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlbHBlciBjbGFzc2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVyc1xuICovXG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLypcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICovXG5cbi52aXN1YWxseWhpZGRlbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogMSAqL1xufVxuXG4vKlxuICogRXh0ZW5kcyB0aGUgLnZpc3VhbGx5aGlkZGVuIGNsYXNzIHRvIGFsbG93IHRoZSBlbGVtZW50XG4gKiB0byBiZSBmb2N1c2FibGUgd2hlbiBuYXZpZ2F0ZWQgdG8gdmlhIHRoZSBrZXlib2FyZDpcbiAqIGh0dHBzOi8vd3d3LmRydXBhbC5vcmcvbm9kZS84OTc2MzhcbiAqL1xuXG4udmlzdWFsbHloaWRkZW4uZm9jdXNhYmxlOmFjdGl2ZSxcbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG87XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IG5vbmU7XG4gICAgY2xpcC1wYXRoOiBub25lO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbn1cblxuLypcbiAqIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnMsIGJ1dCBtYWludGFpbiBsYXlvdXRcbiAqL1xuXG4uaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gKiBDbGVhcmZpeDogY29udGFpbiBmbG9hdHNcbiAqXG4gKiBGb3IgbW9kZXJuIGJyb3dzZXJzXG4gKiAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuICogICAgYGNvbnRlbnRlZGl0YWJsZWAgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuICogICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4gKiAgICB0aGF0IHJlY2VpdmUgdGhlIGBjbGVhcmZpeGAgY2xhc3MuXG4gKiAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuICogICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuICovXG5cbi5jbGVhcmZpeDpiZWZvcmUsXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvKiAxICovXG4gICAgZGlzcGxheTogdGFibGU7IC8qIDIgKi9cbn1cblxuLmNsZWFyZml4OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJpbnQgc3R5bGVzLlxuICAgSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4gICBodHRwOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLyogQmxhY2sgcHJpbnRzIGZhc3RlcjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5zYW5iZWlqaS5jb20vYXJjaGl2ZXMvOTUzICovXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIGFbaHJlZl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICB9XG5cbiAgICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgICogb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgICAqL1xuXG4gICAgYVtocmVmXj1cIiNcIl06YWZ0ZXIsXG4gICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICBwcmUge1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBQcmludGluZyBUYWJsZXM6XG4gICAgICogaHR0cDovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gICAgICovXG5cbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cbn1cbiIsIi8qIFB1dCB5b3VyIGxheW91dCBoZXJlICovXG5cbm5hdiBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgIFxufVxuXG4uaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDowO1xuICBsZWZ0OjA7XG4gIHJpZ2h0OjA7XG4gIG1heC13aWR0aDogJG1heGlubmVyd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgLmxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBhIHtcbiAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgIGhlaWdodDo5MHB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJy9pbWcvYXBfbG9nby5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgLmZ1bmN0aW9uYWwge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiA0NHB4O1xuICB9XG5cbiAgLmZ1Ymwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgICAgXG4gIH1cblxuICAubGFuZy1zd2l0Y2gge1xuICAgIG1hcmdpbi1yaWdodDoyMHB4OyAgICBcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBcbiAgICBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcgLyc7XG4gICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1haWxjaGltcCB7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRtYWluY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRtYWluY29sb3I7ICAgIFxuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgbWFyZ2luLXJpZ2h0OjIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuXG4gICAgaDUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG4gICAgXG4gIH1cbn1cblxuLyogbWFpbGNoaW1wIGZvcm0gKi9cbi5tY2Yge1xuICAubWMtZmllbGQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICBib3JkZXI6IDBweDtcbiAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICAgIG1hcmdpbjogOHB4IDNweCAwIDEwcHg7XG4gICAgd2lkdGg6IDEwMCU7Ly8xNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDRweCAzcHggM3B4IDNweDtcbiAgICBoZWlnaHQ6IDEzcHg7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRtYWluY29sb3I7XG4gICAgICBvdXRsaW5lOiBub25lOyAgICAgXG4gICAgICAvLyB3aWR0aDogY2FsYygxMDAlOyBcbiAgICAgIHBhZGRpbmc6IDJweCAxcHggM3B4IDFweDtcbiAgICB9XG4gICBcbiAgfVxuXG4gIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvc3VibWl0LnBuZyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7ICBcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgNHB4OyAgXG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4OyAgICAgXG4gICAgYm9yZGVyOjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6MTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG91dGxpbmU6bm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjA1cyAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAvL2JhY2tncm91bmQtcG9zaXRpb246IDJweCA0cHg7XG4gICAgfVxuICAgIFxuICB9XG59XG5cblxuLnNjcm9sbGluZyB7XG4gIC5oZWFkZXIge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICAgIHBhZGRpbmc6IDIwcHggMCAwIDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzICBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuXG4gICAgLmxvZ28gYSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgnL2ltZy9hcF9pY29uLnBuZycpO1xuICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICBoZWlnaHQ6NTVweDsgICAgICBcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiAgICB9XG4gIH1cbiAgLmZ1bmN0aW9uYWwge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cblxuICAubGFuZy1zd2l0Y2gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDM1cHg7XG4gICAgcmlnaHQ6IDE1MHB4O1xuICAgIHotaW5kZXg6IDEyMztcbiAgfVxuICAubWFpbGNoaW1wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjEyMHB4O1xuICAgIHJpZ2h0OjA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gIH1cbn1cblxuZm9vdGVyIHtcbiAgbWF4LXdpZHRoOiAkbWF4aW5uZXJ3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87ICBcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRtYWluY29sb3I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuZm9vdGVyLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgJG1haW5jb2xvcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcblxuICAgIC5zdGF5LXVwZGF0ZWQsIC5zcG9uc29ycyB7XG4gICAgICBtYXJnaW46IDIwcHg7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuc3RheS11cGRhdGVkIHtcbiAgICAgIG1pbi13aWR0aDogMjM1cHg7XG4gICAgfVxuXG4gICAgLm1jZiB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICAgICAgcGFkZGluZzo1cHggMCAxMnB4IDEwcHg7XG5cbiAgICB9XG5cbiAgICAuc29jaWFsIHtcbiAgICAgIGEgeyBcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGhpZ2hsaWdodGNvbG9yO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogc2NyZWVuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5sb2dvcyB7XG4gICAgICAvL21heC13aWR0aDogNzAlOyAgICAgIFxuICAgIH1cbiAgfVxuICAuY3JlZGl0cyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgLmN3IGEge1xuICAgIGJhY2tncm91bmQ6ICRtYWluY29sb3I7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJG1haW5jb2xvcjtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICAgIC8vIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogNnB4IDEwcHggNHB4IDEwcHg7IFxuICAgIG1hcmdpbi1yaWdodDoyMHB4OyAgICBcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbWFpbmNvbG9yO1xuICAgICAgYmFja2dyb3VuZDp3aGl0ZTtcbiAgICB9ICAgIFxuICAgIH1cbiAgfVxuXG4gIC5jcmVkaXRzIC5jb250YWN0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBhIHt0ZXh0LWRlY29yYXRpb246IG5vbmU7fVxuICB9XG5cbiAgLnVwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOi0zNXB4O1xuICAgIHJpZ2h0OjEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHBpbms7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvc3VibWl0LnBuZyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7ICBcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMXB4OyAgXG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4OyAgICAgXG4gICAgdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjA1cyBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuICAgICY6aG92ZXIge1xuICAgICAgIHRvcDotMzdweDtcbiAgICB9XG4gIH1cbn1cblxuLmhvbWUgZm9vdGVyLCAuaW5mby1wYWdlIGZvb3RlciB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG5cbiAgLnVwIHtcbiAgICB0b3A6MzBweDtcbiAgfVxufVxuXG4ubWFpbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6MjQwcHg7XG59XG5cblxuLnBhZ2UtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cblxuLmhvbWUge1xuXG4gIC5leGhpYml0aW9ucyB7XG4gICAgbWF4LXdpZHRoOiAkbWF4aW5uZXJ3aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bzsgICAgXG4gIH1cblxuICAuZXhoaWJpdGlvbiB7XG4gICAgbWFyZ2luOiA0MHB4IDAgODBweCAwO1xuICAgIHBhZGRpbmc6IDA7IFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogJG1haW5jb2xvcjtcbiAgICB9XG5cbiAgICAubW9yZSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogNHB4IDVweCAycHggNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMTdweDtcbiAgICAgIHJpZ2h0OjE4cHg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG1haW5jb2xvcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgIHRvcDoxNXB4O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG1haW5jb2xvcjtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50aHVtYiwgLmluZm8ge1xuICAgIHdpZHRoOiBjYWxjKDQ1JSk7XG4gICAgLy9iYWNrZ3JvdW5kOnBpbms7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOjM3cHg7XG4gICAgICBsZWZ0OjA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gIH1cbiAgLmluZm8ge1xuICAgIFxuICAgIGgyIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAxNHB4IDQwcHg7XG4gICAgICBtYXJnaW46MDtcbiAgICB9XG4gICAgLmludHJvIHtcbiAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRtYWluY29sb3I7XG4gICAgICBwYWRkaW5nOiAyMHB4IDIwcHggNDBweCA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIC50aHVtYiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyAgIFxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgcGFkZGluZzogNXB4IDIwcHggMCAyMHB4O1xuICAgIH0gXG4gIH1cbiAgLmUyLCAuZTQge1xuXG4gICAgYSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgLnRodW1iIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG4gICAgICAubW9yZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBsZWZ0OjE4cHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIH1cblxuICAgIC50aHVtYiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICAuaW50cm8ge1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwcHg7XG4gICAgICBwYWRkaW5nOiAyMHB4IDQwcHggNDBweCAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5lNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIC5mdWxsIHtcbiAgICBwYWRkaW5nOiAyMnB4IDIwcHggMThweCAyMHB4OyAgICBcbiAgfVxufVxuXG4uZXhoaWJpdGlvbi1wYWdlLCAubmV3cy1kZXRhaWwtcGFnZSwgLmV2ZW50LWRldGFpbC1wYWdlLCAuaW5mby1wYWdlIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmhlYWRlci1pbWcge1xuICAgIG1heC13aWR0aDogMTIxMHB4OyAvLyRtYXhpbm5lcndpZHRoO1xuICAgIG1heC1oZWlnaHQ6IDUyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMCAyMHB4IDIwcHggMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpbWcge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmNvcHlyaWdodCB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgfVxuICB9XG4gIC50aWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAkbWF4aW5uZXJ3aWR0aDtcbiAgICAuaW1nLCAuaW5mbyB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWFyZ2luOiA0MHB4O1xuICAgIH1cbiAgICAuaW1nIHtcbiAgICAgIGltZyB7ZmxvYXQ6IHJpZ2h0O31cbiAgICB9XG4gICAgLmNvcHlyaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIC5pbmZvIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgYmFja2dyb3VuZDokbWFpbmNvbG9yO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0Oi0gMzBweDtcbiAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDokbWFpbmNvbG9yO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0Oi0gMzBweDtcbiAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZWIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogJG1haW5jb2xvcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0Oi0xMnB4O1xuICAgICAgICB0b3A6MTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZnJhbWUge1xuICAgICAgLy8gbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC50YiB7XG4gICAgLmluZm8ge1xuICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kOiNlZmY5Zjk7XG5cbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG5cbiAgICBoMjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMTBweCBhdXRvIDAgYXV0bztcbiAgICAgIGJhY2tncm91bmQ6ICRtYWluY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmliIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgJi50aTIge1xuICAgICAgLmkxIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjIwcHg7XG4gICAgICB9XG4gICAgICAuaTIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIH1cbiAgICB9IFxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5zdGIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAkbWF4aW5uZXJ3aWR0aDtcbiAgICAuaW5mbyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwIDQwcHggNDBweCA0MHB4O1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gODBweCk7XG4gICAgfVxuICB9XG5cbiAgLy8gLmJ1eSB7XG4gIC8vICAgbWF4LXdpZHRoOiAkbWF4aW5uZXJ3aWR0aDtcbiAgLy8gICBtYXJnaW46IDAgYXV0bztcbiAgLy8gfVxuXG4gIFxufVxuXG4vLyBhYm91dCBwYWdlXG4ucDMsIC5wMiB7IFxuICAudGIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIGgyOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIHByaXZhY3kgcG9saWN5XG4ucHAge1xuICBoNCB7XG4gICAgbWFyZ2luOiA0MHB4IDAgMCAwO1xuICB9XG59XG5cbi5idXksIC5mdWxsIHtcbiAgYmFja2dyb3VuZDogJGhpZ2hsaWdodGNvbG9yO1xuICBjb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvLyBwYWRkaW5nOiAxMnB4IDEwcHggOHB4IDEwcHg7XG4gIHBhZGRpbmc6IDIycHggMjBweCAxOHB4IDIwcHg7ICAgXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRoaWdobGlnaHRjb2xvcjtcbiAgXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGNvbG9yOiAkaGlnaGxpZ2h0Y29sb3I7XG4gIH1cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTE3MHB4ICFpbXBvcnRhbnQ7XG5cbn1cblxuXG5cbi5uZXdzLXBhZ2Uge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6ICRtYXhpbm5lcndpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICB9XG4gIC5uZXdzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDp3cmFwO1xuICB9XG4gIC5uZXdzLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gNDBweCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDIwcHg7XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIGgzLCBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi5uZXdzLWRldGFpbC1wYWdlIHsgIFxuXG4gIC50aWIgLmluZm8ge1xuICAgIGgyIHtcbiAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmludHJvIHtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyAgICBcbiAgfVxuICAuaGVhZGVyLWltZyB7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgfVxufVxuXG4uZXZlbnQtZGV0YWlsLXBhZ2Uge1xuICAuaW50cm8ge1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cblxuLmluZm8tcGFnZSB7XG4gIC5pbnRybyB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG59XG5cblxuLmV4aGliaXRpb24tcGFnZSwgLm5ld3MtZGV0YWlsLXBhZ2UsIC5ldmVudC1kZXRhaWwtcGFnZSwgLmluZm8tcGFnZSB7XG4gIC5vdGhlciB7XG4gICAgXG4gICAgbWF4LXdpZHRoOiAkbWF4aW5uZXJ3aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgaDIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAwIDIwcHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOndoaXRlO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTIwNXB4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogJG1haW5jb2xvcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDoyMHB4O1xuICAgICAgICB0b3A6MzBweDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICB9XG4gICAgICBcbiAgICB9XG5cblxuICAgIC5leGhpYml0aW9ucywgLm90aGVybmV3cywgLm90aGVyZXZlbnRzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAvL2JvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgfVxuICAgIC5leGhpYml0aW9uLCAubmV3cywgLmV2ZW50IHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXJnaW46IDAgMjBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC5pbmZvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgYmFja2dyb3VuZDogJGhpZ2hsaWdodGNvbG9yO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMjBweCA4cHggMjBweDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcntcbiAgICAgICAgLmluZm8ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgIGNvbG9yOiAkaGlnaGxpZ2h0Y29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBcblxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgIHJpZ2h0OjIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuICBcbiAgLnJldmRheXMge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbiAgLnJldmlld2VycyB7XG4gICAgbWF4LXdpZHRoOiAkbWF4aW5uZXJ3aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC5yZXZpZXdlciB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtIDQwcHgpO1xuICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgYmFja2dyb3VuZDogJGxpZ2h0Y29sb3I7XG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuXG4gICAgICAudGh1bWIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRoaWdobGlnaHRjb2xvcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDowO1xuICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pbmZvIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIGgzLCBoNCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgIH1cbiAgICAgICAgaDMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgaDQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgICBcbn1cblxuLnByb2dyYW1tZS1wYWdlIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAkbWF4aW5uZXJ3aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bzsgICBcbiAgfVxuICAudGltZWxpbmUsIC5wcm9ncmFtbWUge1xuICAgIG1heC13aWR0aDogJG1heGlubmVyd2lkdGg7XG4gIH1cblxuICAudGltZWxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIC5kYXRlIHtcbiAgICAgIG1hcmdpbjogMTBweCAyMHB4O1xuICAgICAgYSB7dGV4dC1kZWNvcmF0aW9uOiBub25lO31cbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbW1lIHtcbiAgICBoMiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIG1hcmdpbjogMjBweCAwIDAgMDtcbiAgICB9XG4gICAgLmV2ZW50cyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIFxuICAgIH1cbiAgICAuZGF5IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmFuY2hvciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTEyMHB4O1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgICAuZXZlbnQge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gNDBweCk7XG4gICAgICBtYXJnaW46IDAgMjBweDtcbiAgICAgIFxuICAgICAgLmluZm8ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaGlnaGxpZ2h0Y29sb3I7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5sb2NhdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1ZW0pIHtcbiAgXG4gIC5oZWFkZXIgeyAgICBcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG1haW5jb2xvcjtcbiAgICBwYWRkaW5nOiAxMHB4IDAgNXB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC5mdWJsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZ1bmN0aW9uYWwge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5tLW1lbnUge1xuICAgIHRvcDoxNzBweDtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgLm0tbWVudS1vcGVuIHtcbiAgICAuaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAuZnVibHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgIH1cblxuICAgICAgLmxhbmctc3dpdGNoIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cblxuICAgICAgLm1haWxjaGltcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAubWNmIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICAgICAgICAgIHBhZGRpbmc6IDRweCAxMHB4IDEycHggMTBweDtcbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAvLyB3aWR0aDogY2FsYygxMDAlIC0gNzBweClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHRvcDowO1xuICAgICAgICBsZWZ0OjA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm0tdGlja2V0cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDoxNTVweDsvLzExNHB4O1xuICAgIGxlZnQ6MDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG1haW5jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7ICAgIFxuICAgIHRleHQtYWxpZ246IGxlZnQ7ICAgIFxuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cbiAgXG4gIC5zY3JvbGxpbmcge1xuICAgIC5oZWFkZXIge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAubS1tZW51IHtcbiAgICAgIHRvcDoyNXB4O1xuICAgIH1cblxuICAgIC5tLXRpY2tldHMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgdG9wOjlweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIFxuICB9XG5cbiAgZm9vdGVyIC5mb290ZXItY29udGVudCAubG9nb3Mge1xuXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAgICAgIFxuICAgIFxuICB9XG5cbiAgXG4gIFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1ZW0pIHtcbiAgLmhvbWUgLmV4aGliaXRpb24ge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC50aHVtYiwgLmluZm8ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cblxuICAgIC50aHVtYjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmluZm8ge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIGgyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBsZWZ0OjA7XG4gICAgICAgIHJpZ2h0OjA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICB9XG5cbiAgICAgIC5pbnRybyB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCA0MHB4IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICB9XG5cbiAgLmV4aGliaXRpb24tcGFnZSwgLm5ld3MtZGV0YWlsLXBhZ2UsIC5ldmVudC1kZXRhaWwtcGFnZSwgLmluZm8tcGFnZSB7XG4gICAgLmhlYWRlci1pbWd7XG4gICAgICBwYWRkaW5nOiAwIDAgMjBweCAwO1xuICAgIH1cbiAgICAudGliLCAuc3RiIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAuaW1nLCAuaW5mbyB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICBtYXJnaW46MjBweDsgXG4gICAgICB9XG5cbiAgICAgIC5pbmZvIHtcbiAgICAgICAgcGFkZGluZzogMjBweCA2MHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTQwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdGIgLmluZm8ge1xuICAgICAgbWFyZ2luOiA0MHB4IDIwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgIH1cblxuICAgIC5vdGhlciwgLnJldmlld2VycyB7XG4gICAgICAuZXhoaWJpdGlvbnMsIC5vdGhlcm5ld3MsIC5vdGhlcmV2ZW50cyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmV4aGliaXRpb24sIC5uZXdzLCAuZXZlbnQsIC5yZXZpZXdlciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cblxuICAgICAgLnJldmlld2VyIHtcbiAgICAgICAgLnRodW1iIGltZywuaW5mbyB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICB9XG5cbiAgLnByb2dyYW1tZS1wYWdlIHtcbiAgICAgIC5wcm9ncmFtbWUgaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5wcm9ncmFtbWUgLmV2ZW50cyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyAgICAgIFxuXG4gICAgICAgIC5ldmVudCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgLnRodW1iIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICB9XG5cbiAgLm5ld3MtcGFnZSAubmV3cyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLm5ld3MtaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9ICAgIFxuICAgIH1cbiAgfVxuXG5cblxuXG4gIGZvb3RlciAuZm9vdGVyLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5tY2Yge1xuICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICAgICAgLy8gd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG4gIC5ob21lLCAuaW5mby1wYWdlIHtcbiAgICBmb290ZXIgLnVwIHtcbiAgICAgIHRvcDotMTBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI3ZW0pIHtcbmZvb3RlciAuY3JlZGl0cyAuY29udGFjdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTo1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIC8vIGJhY2tncm91bmQ6IHBpbms7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBcbiAgfVxufSIsIiRiZ2NvbG9yOiAjZmZmZmZmO1xuJG1haW5jb2xvcjogIzMzMztcbiRoaWdobGlnaHRjb2xvcjogIzAyMTNCOTtcbiRsaWdodGNvbG9yOiAjZWZmOWY5O1xuJG1heG91dGVyd2lkdGg6IDE0MDBweDtcbiRtYXhpbm5lcndpZHRoOiAxMjUwcHg7IiwiLm5hdiB7XG4gICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG1haW5jb2xvcjsgIFxuICAgdGV4dC1hbGlnbjogcmlnaHQ7ICBcbn1cbi5uYXYgdWwge1xuICBsaXN0LXN0eWxlOm5vbmU7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBtYXJnaW46MDtcbiAgei1pbmRleDogMTtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcblxuICAmLm1haW4ge1xuICAgLy8gYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRtYWluY29sb3I7ICAgIFxuICB9XG59XG5cbi5zY3JvbGxpbmcge1xuICAubmF2IHVsLm1haW4sIC5uYXYge1xuICAgIGJvcmRlci1ib3R0b206IDBweDtcbiAgfVxuXG4gIC5uYXYgdWwgYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuXG4gICAgJi50aWNrZXRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OjEwMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OjIwcHg7XG4gICAgfVxuICB9XG5cbiAgLm5hdiB1bCBsaS5oYXMtY2hpbGRyZW4ge1xuICAgICY6YWZ0ZXIge1xuICAgICAgcmlnaHQ6MTVweDtcbiAgICB9XG5cbiAgICBsaSBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLm5hdiB1bCBhIHtcbiAgZGlzcGxheTpibG9jaztcbiAgcGFkZGluZzoxMHB4IDA7XG4gIG1hcmdpbi1yaWdodDoyMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIC8vIGJhY2tncm91bmQ6cGluaztcblxuICAmLnRpY2tldHMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRoaWdobGlnaHRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkaGlnaGxpZ2h0Y29sb3I7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDRweCAyMHB4IDNweCAyMHB4O1xuICAgIC8vIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgY29sb3I6ICRoaWdobGlnaHRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLm5hdiB1bCBsaSB7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBmbG9hdDpsZWZ0O1xuICBtYXJnaW46MDtcbiAgcGFkZGluZzowO1xuXG4gICY6Zmlyc3QtY2hpbGR7XG4gICAgbWFyZ2luLWxlZnQ6MDtcbiAgfVxuICAmOmxhc3QtY2hpbGR7XG4gICAgbWFyZ2luLXJpZ2h0OjA7XG4gIH1cblxuICAmLmhhcy1jaGlsZHJlbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvc3VibWl0LnBuZyk7XG4gICAgICB0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4gICAgICAvLyBiYWNrZ3JvdW5kOiAkaGlnaGxpZ2h0Y29sb3I7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZToxMDAlO1xuICAgICAgdG9wOiAxMnB4O1xuICAgICAgcmlnaHQ6LTNweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5hdiB1bCBsaS5jdXJyZW50LW1lbnUtaXRlbSB7XG4gIGJhY2tncm91bmQ6I2RkZDtcbn1cblxuLm5hdiB1bCBsaTpob3ZlciB7XG5cbn1cblxuLm5hdiB1bCB1bCB7XG4gIGRpc3BsYXk6bm9uZTtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHRvcDoxMDAlO1xuICBsZWZ0OjA7XG4gIHBhZGRpbmc6MDtcbiAgbWFyZ2luOjA7XG4gIG1hcmdpbi10b3A6LTEwcHg7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xufVxuXG4ubmF2IHVsIHVsIGxpIHtcbiAgZmxvYXQ6bm9uZTtcbiAgd2lkdGg6MjAwcHg7XG4gIG1hcmdpbjowO1xuICBwYWRkaW5nOjBweCAxMHB4IDBweCAycHg7XG4gIGJhY2tncm91bmQ6d2hpdGU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci1ib3R0b206MnB4IHNvbGlkICRtYWluY29sb3I7XG5cbiAgYSB7XG4gICAgLy8gYmFja2dyb3VuZDogcmVkO1xuICAgIC8vIGNvbG9yOiAkaGlnaGxpZ2h0Y29sb3I7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBhIHtcbiAgICAgIC8vIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2IHVsIHVsIGEge1xuICBwYWRkaW5nOjVweCAxNXB4IDVweCAwO1xufVxuXG5cbi5uYXYgdWwgbGk6aG92ZXIgPiB1bFxue1xuICBkaXNwbGF5OmJsb2NrO1xufVxuXG4ubS1teWRhdGUge1xuICBjb2xvcjogJGhpZ2hsaWdodGNvbG9yO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXItdG9wOiAycHggc29saWQgJG1haW5jb2xvcjtcbiAgcGFkZGluZzogMTBweCAwIDVweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubXlkYXRlIHtcbiAgY29sb3I6ICRoaWdobGlnaHRjb2xvcjtcbiAgcGFkZGluZzogNnB4IDIwcHggNHB4IDEwMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRtYWluY29sb3I7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyAgXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuXG4vKiBNb2JpbGUgbWVudSAqL1xuXG4ubS1tZW51IHtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OjIwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgLm1tIHtcbiAgICBib3JkZXI6MnB4IHNvbGlkICRtYWluY29sb3I7XG4gICAgYmFja2dyb3VuZDpub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6MzBweDtcbiAgICBoZWlnaHQ6MzBweDtcbiAgICBvdXRsaW5lOm5vbmU7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5zbGljZSB7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgYmFja2dyb3VuZDogJG1haW5jb2xvcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTJweDtcbiAgICAgIGxlZnQ6IDJweDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICB3aWR0aDoyMnB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBsZWZ0OiAycHg7XG4gICAgICB0b3A6IDZweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JG1haW5jb2xvcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IDE4cHg7XG4gICAgfVxuXG4gIH0gIFxuICBcbn1cblxuLm0tdGlja2V0cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIFxuICBhIHtcbiAgICBiYWNrZ3JvdW5kOiAkaGlnaGxpZ2h0Y29sb3I7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGhpZ2hsaWdodGNvbG9yO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZzogMTBweCA0MHB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGNvbG9yOiAkaGlnaGxpZ2h0Y29sb3I7XG4gICAgfVxuICB9XG4gIFxuICBcbn1cblxuLm0tbWVudS1vcGVuIHtcbiAgLm0tbWVudSAubW0ge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDoxMnB4O1xuICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDoxMnB4O1xuICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgIC5zbGljZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuICAubmF2IHtcbiAgICBkaXNwbGF5OiBibG9jazsgICAgXG4gIH1cblxuICAubS1teWRhdGUge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICB9XG4gIFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1ZW0pIHtcbiAgbmF2IHtcbiAgICAvLyBiYWNrZ3JvdW5kOiBwaW5rO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjVlbSkge1xuICAubS1tZW51LCAubS10aWNrZXRzLCAubS1teWRhdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLm15ZGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tLW1lbnUtb3BlbiB7XG4gICAgXG4gICAgLm5hdiB7XG4gICAgICBtYXJnaW4tdG9wOiA3M3B4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgYmFja2dyb3VuZDp3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgIHVsIGxpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbWFpbmNvbG9yOyAgICAgIFxuICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaGFzLWNoaWxkcmVuOmFmdGVyIHtcbiAgICAgICAgICByaWdodDowO1xuICAgICAgICAgIHRvcDoyMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVsIHVsIGxpIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIHVsIGxpOmhvdmVyID4gdWxcbiAgICAgIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubS10aWNrZXRzIHtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbWFpbmNvbG9yO1xuICAgICAgdG9wOjExMnB4O1xuICAgIH1cblxuICAgICYuc2Nyb2xsaW5nIHtcbiAgICAgIC5tLXRpY2tldHMge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjlweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRtYWluY29sb3I7XG4gICAgICAgIHRvcDo5cHg7XG4gICAgICB9ICAgICAgXG4gICAgfVxuICB9XG4gIFxuICAubmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm5hdiB1bC5tYWluIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9ICBcblxuICAubmF2IC50aWNrZXRzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnNjcm9sbGluZy5tLW1lbnUtb3BlbiAubmF2IHtcbiAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICB9XG4gIFxufSJdfQ== */
