markets-summary {
  --background-colour: #131f6b;
  background-color: var(--background-colour);
  isolation: isolate;
}
markets-summary .introduction {
  position: relative;
  z-index: 2;
  text-align: center;
  margin-bottom: var(--spacer1);
}
markets-summary tabbed-content[data-style="1"] {
  z-index: 1;
  grid-gap: var(--gutter2);
  --side-nav-width: minmax(200px, 300px);
}
markets-summary tabbed-content[data-style="1"] .tab-content {
  grid-auto-rows: initial;
  position: initial;
}
markets-summary tabbed-content[data-style="1"] nav[role=tablist] {
  position: relative !important;
  top: 0 !important;
  z-index: 999;
}
markets-summary tabbed-content[data-style="1"] nav[role=tablist] button {
  color: white;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 1.4;
}
markets-summary tabbed-content[data-style="1"] nav[role=tablist] button svg {
  color: #DF3035;
}
markets-summary tabbed-content[data-style="1"] nav[role=tablist] button + button {
  border-top-color: rgba(255, 255, 255, 0.1);
}
markets-summary tabbed-content[data-style="1"] nav[role=tablist] button[aria-selected=true] {
  color: #DF3035;
}
@media (min-width: 1001px) {
  markets-summary .introduction {
    text-align: left;
    padding-left: 20vw;
  }
  markets-summary tabbed-content[data-style="1"] {
    padding-left: 20vw;
  }
  markets-summary tabbed-content[data-style="1"] details .tab-content div.text > picture.image {
    position: absolute;
    top: 0;
    height: 100%;
    width: 40vw;
    left: -50vw;
    margin-left: 50%;
    z-index: 1;
    animation: fadeInImage 0.3s;
  }
  markets-summary tabbed-content[data-style="1"] details .tab-content div.text > picture.image::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 50%;
    background-image: linear-gradient(to left, var(--primary, #131f6b) 25%, transparent);
    z-index: 2;
  }
  markets-summary tabbed-content[data-style="1"] details .tab-content div.text > picture.image article {
    z-index: 3;
  }
}
markets-summary article {
  display: grid;
  grid-template-rows: 1fr 102px;
  grid-gap: var(--gutter2);
  height: 100%;
  position: relative;
  z-index: 1;
}
markets-summary article picture.image {
  grid-row: 1/span 2;
}
markets-summary article .text > h2 {
  font-size: inherit;
  line-height: inherit;
  font-family: montserrat, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
markets-summary article .cta-list {
  grid-column: 3;
}
markets-summary article .cta-list > li::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle fill='white' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='%23DF3035' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M3.5 8.4l2.7 2.7 6.3-6.3'/%3E%3C/svg%3E");
}
markets-summary article .cta-list > li {
  position: relative;
  padding-left: calc(var(--list-style-size, 1em) * 1.8);
}
markets-summary article .cta-list > li + li {
  margin-top: var(--line-style-spacing, var(--gap));
}
markets-summary article .cta-list > li::before {
  display: inline-block;
  top: 0.1em;
  left: 0;
  position: absolute;
  width: var(--list-style-size, 1em);
  height: var(--list-style-size, 1em);
}
markets-summary article .cta-list li {
  color: white;
}
markets-summary article .cta-list ~ [role=navigation] {
  grid-column: 2/span 2;
}
@media (max-width: 1300px) {
  markets-summary:before {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background-color: #131f6b;
  }
  markets-summary article .image {
    display: none;
  }
  markets-summary article [role=navigation],
  markets-summary article .text {
    grid-column: 1/-1;
  }
}
@media (max-width: 1000px) {
  markets-summary tabbed-content.markets.allow-breakpoint-restyling details {
    display: block;
    position: relative;
    width: 100%;
    grid-column: 1/-1;
  }
  markets-summary tabbed-content.markets.allow-breakpoint-restyling details[open] summary {
    background-color: #3d3f7f;
  }
  markets-summary tabbed-content.markets.allow-breakpoint-restyling details summary {
    display: block;
    border: 1px solid rgba(255, 255, 255, 0.1);
  }
  markets-summary tabbed-content.markets.allow-breakpoint-restyling details .tab-content {
    background-color: initial !important;
    border-color: #444885;
  }
}
markets-summary background-image {
  pointer-events: none;
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.2;
  overflow: hidden;
}
markets-summary background-image img {
  display: block;
  background-position: var(--position, center 33%);
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
  width: 100%;
  position: absolute;
}
markets-summary background-image img img {
  display: block;
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--image-position, center 33.33%);
     object-position: var(--image-position, center 33.33%);
  width: var(--image-size, var(--image-width-size, 100%));
  height: var(--image-size, var(--image-height-size, 100%));
  max-width: var(--image-size, var(--image-width-size, 100%));
  max-height: var(--image-size, var(--image-height-size, 100%));
  top: 0;
  left: 0;
}
markets-summary background-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(closest-side, transparent, var(--background-colour));
}
markets-summary [role=navigation] {
  display: grid;
  height: 100px;
  align-self: end;
  grid-column: 2/-1;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  grid-gap: var(--gap);
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}
markets-summary [role=navigation] a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  text-transform: uppercase;
  font-size: 0.875em;
  font-weight: bold;
}
markets-summary [role=navigation] a svg {
  margin-right: var(--gap);
  width: 2.2em;
  fill: #DF3035;
}
markets-summary [role=navigation] a:nth-of-type(2) svg {
  width: 3em;
}
@media (max-width: 480px) {
  markets-summary article {
    display: flex !important;
    flex-direction: column;
  }
  markets-summary [role=navigation] {
    display: flex !important;
    box-sizing: border-box;
    width: 100%;
    margin-top: var(--gap);
    flex-direction: column;
    padding: var(--gap) var(--gap) 0 var(--gap);
    height: initial;
    border-bottom: none;
  }
  markets-summary [role=navigation] a {
    justify-content: flex-start;
    text-decoration: none !important;
  }
  markets-summary [role=navigation] a + a {
    margin-top: var(--gap);
  }
}

@keyframes fadeInImage {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbWFya2V0cy1zdW1tYXJ5LnNjc3MiLCJjb21wb25lbnRzL21hcmtldHMtc3VtbWFyeS5jc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX3VuaXRzLnNjc3MiLCJfdmFyaWFibGVzL2NvbG91cnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2hlbHBlcnMvX2JyZWFrLnNjc3MiLCJfdmFyaWFibGVzL2ZvbnRzLnNjc3MiLCJfZWxlbWVudHMvbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY29sbGVjdGlvbnMvc3R5bGluZy9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NvbGxlY3Rpb25zL3N0eWxpbmcvX2ltYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSw0QkFBQTtFQUNBLDBDQUFBO0VBQ0Esa0JBQUE7QUNERjtBREVFO0VBQ0Usa0JBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSw2QkUrRk87QUQvRlg7QURHRTtFQUNFLFVBQUE7RUFDQSx3QkVzSE87RUZqSFAsc0NBQUE7QUNMSjtBRENJO0VBQ0UsdUJBQUE7RUFDQSxpQkFBQTtBQ0NOO0FERUk7RUFDRSw2QkFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtBQ0FOO0FEQ007RUFDRSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0FDQ1I7QURBUTtFQUNFLGNHUEE7QUZTVjtBREFRO0VBQ0UsMENBQUE7QUNFVjtBREFRO0VBQ0UsY0diQTtBRmVWO0FHbENFO0VKdUNFO0lBQ0UsZ0JBQUE7SUFDQSxrQkFBQTtFQ0ZKO0VESUU7SUFDRSxrQkFBQTtFQ0ZKO0VETVE7SUFDRSxrQkFBQTtJ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a2V0cy1zdW1tYXJ5LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5tYXJrZXRzLXN1bW1hcnkge1xuICAtLWJhY2tncm91bmQtY29sb3VyOiAjeyRibHVlfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG4gIC5pbnRyb2R1Y3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICB9XG5cbiAgdGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT0nMSddIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGdyaWQtZ2FwOiAkZ3V0dGVyMjtcbiAgICAudGFiLWNvbnRlbnQge1xuICAgICAgZ3JpZC1hdXRvLXJvd3M6IGluaXRpYWw7XG4gICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICB9XG4gICAgLS1zaWRlLW5hdi13aWR0aDogbWlubWF4KDIwMHB4LCAzMDBweCk7XG4gICAgbmF2W3JvbGU9J3RhYmxpc3QnXSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgei1pbmRleDogOTk5O1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgfVxuICAgICAgICArIGJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSh3aGl0ZSwgMC4xKTtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVhay1vdXQoMTAwMCkge1xuICAgIC5pbnRyb2R1Y3Rpb24ge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjB2dztcbiAgICB9XG4gICAgdGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT0nMSddIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjB2dztcblxuICAgICAgZGV0YWlscyB7XG4gICAgICAgIC50YWItY29udGVudCB7XG4gICAgICAgICAgZGl2LnRleHQgPiBwaWN0dXJlLmltYWdlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiA0MHZ3O1xuICAgICAgICAgICAgbGVmdDogLTUwdnc7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluSW1hZ2UgMC4zcztcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCAkcHJpbWFyeSAyNSUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFydGljbGUge1xuICAgICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFydGljbGUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgLy8gZGlzcGxheTpub25lO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDEwMnB4O1xuICAgIGdyaWQtZ2FwOiAkZ3V0dGVyMjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGljdHVyZS5pbWFnZSB7XG4gICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcbiAgICB9XG4gICAgLnRleHQge1xuICAgICAgPiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtbW9udHNlcnJhdChib2xkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3RhLWxpc3Qge1xuICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICBAaW5jbHVkZSBsaXN0LXVsKHdoaXRlLCAkcmVkKTtcbiAgICAgIGxpIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgICAgfiBbcm9sZT0nbmF2aWdhdGlvbiddIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWstaW4oMTMwMCkge1xuICAgIC8vIGJhY2tncm91bmQtY29sb3I6aW5pdGlhbDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKHdoaXRlLCAwLjEpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgfVxuXG4gICAgYXJ0aWNsZSB7XG4gICAgICAuaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgW3JvbGU9J25hdmlnYXRpb24nXSxcbiAgICAgIC50ZXh0IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVhay1pbigxMDAwKSB7XG4gICAgLy8gdGFiYmVkLWNvbnRlbnQge1xuICAgIC8vICAgLy8gZGlzcGxheTpmbGV4O1xuICAgIC8vICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvLyAgIGdyaWQtZ2FwOiAkZ2FwMDtcbiAgICAvLyB9XG4gICAgLy8gLmludHJvZHVjdGlvbiB7XG4gICAgLy8gICBtYXJnaW4tYm90dG9tOiRnYXA7XG4gICAgLy8gfVxuICAgIC8vIG5hdiB7IGRpc3BsYXk6bm9uZTsgfVxuICAgIHRhYmJlZC1jb250ZW50Lm1hcmtldHMuYWxsb3ctYnJlYWtwb2ludC1yZXN0eWxpbmcge1xuICAgICAgZGV0YWlscyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICAmW29wZW5dIHN1bW1hcnkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlMztcbiAgICAgICAgfVxuICAgICAgICBzdW1tYXJ5IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKHdoaXRlLCAwLjEpO1xuICAgICAgICB9XG4gICAgICAgIC50YWItY29udGVudCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzQ0NDg4NTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2Uge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDA7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZXhwYW5kZWQoKTtcbiAgICBvcGFjaXR5OiAwLjI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgaW1hZ2Utc3Jjc2V0KCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC8vIHdpZHRoOjEwMCU7XG4gICAgICAvLyBAaW5jbHVkZSBwb3NpdGlvbi1leHBhbmRlZCgpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWV4cGFuZGVkKCk7XG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2xvc2VzdC1zaWRlLCB0cmFuc3BhcmVudCwgdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpKTtcbiAgICB9XG4gIH1cblxuICBbcm9sZT0nbmF2aWdhdGlvbiddIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgYWxpZ24tc2VsZjogZW5kO1xuICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEod2hpdGUsIDAuMSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEod2hpdGUsIDAuMSk7XG4gICAgZ3JpZC1nYXA6ICRnYXA7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMDBweCwgMWZyKSk7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDE0cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gICAgICAgIHdpZHRoOiAyLjJlbTtcbiAgICAgICAgZmlsbDogJHJlZDtcbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoMikgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDNlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVhay1pbihzbWFsbCkge1xuICAgIGFydGljbGUge1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgW3JvbGU9J25hdmlnYXRpb24nXSB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAkZ2FwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6ICRnYXAgJGdhcCAwICRnYXA7XG4gICAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICsgYSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogJGdhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkltYWdlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuIiwibWFya2V0cy1zdW1tYXJ5IHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogIzEzMWY2YjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG59XG5tYXJrZXRzLXN1bW1hcnkgLmludHJvZHVjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZXIxKTtcbn1cbm1hcmtldHMtc3VtbWFyeSB0YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiMVwiXSB7XG4gIHotaW5kZXg6IDE7XG4gIGdyaWQtZ2FwOiB2YXIoLS1ndXR0ZXIyKTtcbiAgLS1zaWRlLW5hdi13aWR0aDogbWlubWF4KDIwMHB4LCAzMDBweCk7XG59XG5tYXJrZXRzLXN1bW1hcnkgdGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjFcIl0gLnRhYi1jb250ZW50IHtcbiAgZ3JpZC1hdXRvLXJvd3M6IGluaXRpYWw7XG4gIHBvc2l0aW9uOiBpbml0aWFsO1xufVxubWFya2V0cy1zdW1tYXJ5IHRhYmJlZC1jb250ZW50W2RhdGEtc3R5bGU9XCIxXCJdIG5hdltyb2xlPXRhYmxpc3RdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5OTk7XG59XG5tYXJrZXRzLXN1bW1hcnkgdGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjFcIl0gbmF2W3JvbGU9dGFibGlzdF0gYnV0dG9uIHtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbm1hcmtldHMtc3VtbWFyeSB0YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiMVwiXSBuYXZbcm9sZT10YWJsaXN0XSBidXR0b24gc3ZnIHtcbiAgY29sb3I6ICNERjMwMzU7XG59XG5tYXJrZXRzLXN1bW1hcnkgdGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjFcIl0gbmF2W3JvbGU9dGFibGlzdF0gYnV0dG9uICsgYnV0dG9uIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxubWFya2V0cy1zdW1tYXJ5IHRhYmJlZC1jb250ZW50W2RhdGEtc3R5bGU9XCIxXCJdIG5hdltyb2xlPXRhYmxpc3RdIGJ1dHRvblthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgY29sb3I6ICNERjMwMzU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAwMXB4KSB7XG4gIG1hcmtldHMtc3VtbWFyeSAuaW50cm9kdWN0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMjB2dztcbiAgfVxuICBtYXJrZXRzLXN1bW1hcnkgdGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjFcIl0ge1xuICAgIHBhZGRpbmctbGVmdDogMjB2dztcbiAgfVxuICBtYXJrZXRzLXN1bW1hcnkgdGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjFcIl0gZGV0YWlscyAudGFiLWNvbnRlbnQgZGl2LnRleHQgPiBwaWN0dXJlLmltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogNDB2dztcbiAgICBsZWZ0OiAtNTB2dztcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW5JbWFnZSAwLjNzO1xuICB9XG4gIG1hcmtldHMtc3VtbWFyeSB0YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiMVwiXSBkZXRhaWxzIC50YWItY29udGVudCBkaXYudGV4dCA+IHBpY3R1cmUuaW1hZ2U6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogNTAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCB2YXIoLS1wcmltYXJ5LCAjMTMxZjZiKSAyNSUsIHRyYW5zcGFyZW50KTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG4gIG1hcmtldHMtc3VtbWFyeSB0YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiMVwiXSBkZXRhaWxzIC50YWItY29udGVudCBkaXYudGV4dCA+IHBpY3R1cmUuaW1hZ2UgYXJ0aWNsZSB7XG4gICAgei1pbmRleDogMztcbiAgfVxufVxubWFya2V0cy1zdW1tYXJ5IGFydGljbGUge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxMDJweDtcbiAgZ3JpZC1nYXA6IHZhcigtLWd1dHRlcjIpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cbm1hcmtldHMtc3VtbWFyeSBhcnRpY2xlIHBpY3R1cmUuaW1hZ2Uge1xuICBncmlkLXJvdzogMS9zcGFuIDI7XG59XG5tYXJrZXRzLXN1bW1hcnkgYXJ0aWNsZSAudGV4dCA+IGgyIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IG1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbm1hcmtldHMtc3VtbWFyeSBhcnRpY2xlIC5jdGEtbGlzdCB7XG4gIGdyaWQtY29sdW1uOiAzO1xufVxubWFya2V0cy1zdW1tYXJ5IGFydGljbGUgLmN0YS1saXN0ID4gbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGZpbGw9J3doaXRlJyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNERjMwMzUnIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxubWFya2V0cy1zdW1tYXJ5IGFydGljbGUgLmN0YS1saXN0ID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSkgKiAxLjgpO1xufVxubWFya2V0cy1zdW1tYXJ5IGFydGljbGUgLmN0YS1saXN0ID4gbGkgKyBsaSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWxpbmUtc3R5bGUtc3BhY2luZywgdmFyKC0tZ2FwKSk7XG59XG5tYXJrZXRzLXN1bW1hcnkgYXJ0aWNsZSAuY3RhLWxpc3QgPiBsaTo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0b3A6IDAuMWVtO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiB2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSk7XG4gIGhlaWdodDogdmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pO1xufVxubWFya2V0cy1zdW1tYXJ5IGFydGljbGUgLmN0YS1saXN0IGxpIHtcbiAgY29sb3I6IHdoaXRlO1xufVxubWFya2V0cy1zdW1tYXJ5IGFydGljbGUgLmN0YS1saXN0IH4gW3JvbGU9bmF2aWdhdGlvbl0ge1xuICBncmlkLWNvbHVtbjogMi9zcGFuIDI7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7XG4gIG1hcmtldHMtc3VtbWFyeTpiZWZvcmUge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEzMWY2YjtcbiAgfVxuICBtYXJrZXRzLXN1bW1hcnkgYXJ0aWNsZSAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgbWFya2V0cy1zdW1tYXJ5IGFydGljbGUgW3JvbGU9bmF2aWdhdGlvbl0sXG4gIG1hcmtldHMtc3VtbWFyeSBhcnRpY2xlIC50ZXh0IHtcbiAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICBtYXJrZXRzLXN1bW1hcnkgdGFiYmVkLWNvbnRlbnQubWFya2V0cy5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIH1cbiAgbWFya2V0cy1zdW1tYXJ5IHRhYmJlZC1jb250ZW50Lm1hcmtldHMuYWxsb3ctYnJlYWtwb2ludC1yZXN0eWxpbmcgZGV0YWlsc1tvcGVuXSBzdW1tYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2QzZjdmO1xuICB9XG4gIG1hcmtldHMtc3VtbWFyeSB0YWJiZWQtY29udGVudC5tYXJrZXRzLmFsbG93LWJyZWFrcG9pbnQtcmVzdHlsaW5nIGRldGFpbHMgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICB9XG4gIG1hcmtldHMtc3VtbWFyeSB0YWJiZWQtY29udGVudC5tYXJrZXRzLmFsbG93LWJyZWFrcG9pbnQtcmVzdHlsaW5nIGRldGFpbHMgLnRhYi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDQ0ODg1O1xuICB9XG59XG5tYXJrZXRzLXN1bW1hcnkgYmFja2dyb3VuZC1pbWFnZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMC4yO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxubWFya2V0cy1zdW1tYXJ5IGJhY2tncm91bmQtaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHZhcigtLXBvc2l0aW9uLCBjZW50ZXIgMzMlKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxubWFya2V0cy1zdW1tYXJ5IGJhY2tncm91bmQtaW1hZ2UgaW1nIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IHZhcigtLWltYWdlLXBvc2l0aW9uLCBjZW50ZXIgMzMuMzMlKTtcbiAgd2lkdGg6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcbiAgaGVpZ2h0OiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS1oZWlnaHQtc2l6ZSwgMTAwJSkpO1xuICBtYXgtd2lkdGg6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcbiAgbWF4LWhlaWdodDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2UtaGVpZ2h0LXNpemUsIDEwMCUpKTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxubWFya2V0cy1zdW1tYXJ5IGJhY2tncm91bmQtaW1hZ2U6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjbG9zZXN0LXNpZGUsIHRyYW5zcGFyZW50LCB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cikpO1xufVxubWFya2V0cy1zdW1tYXJ5IFtyb2xlPW5hdmlnYXRpb25dIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICBncmlkLWNvbHVtbjogMi8tMTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgZ3JpZC1nYXA6IHZhcigtLWdhcCk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTAwcHgsIDFmcikpO1xufVxubWFya2V0cy1zdW1tYXJ5IFtyb2xlPW5hdmlnYXRpb25dIGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxubWFya2V0cy1zdW1tYXJ5IFtyb2xlPW5hdmlnYXRpb25dIGEgc3ZnIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1nYXApO1xuICB3aWR0aDogMi4yZW07XG4gIGZpbGw6ICNERjMwMzU7XG59XG5tYXJrZXRzLXN1bW1hcnkgW3JvbGU9bmF2aWdhdGlvbl0gYTpudGgtb2YtdHlwZSgyKSBzdmcge1xuICB3aWR0aDogM2VtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIG1hcmtldHMtc3VtbWFyeSBhcnRpY2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICBtYXJrZXRzLXN1bW1hcnkgW3JvbGU9bmF2aWdhdGlvbl0ge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcCk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiB2YXIoLS1nYXApIHZhcigtLWdhcCkgMCB2YXIoLS1nYXApO1xuICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG4gIG1hcmtldHMtc3VtbWFyeSBbcm9sZT1uYXZpZ2F0aW9uXSBhIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgbWFya2V0cy1zdW1tYXJ5IFtyb2xlPW5hdmlnYXRpb25dIGEgKyBhIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluSW1hZ2Uge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFVuaXRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOm1ldGEnO1xuXG4vLyBUaGlzIHVuaXRzIGNyZWF0b3Igd2lsbCByZW5kZXIgc2l4IHBvc2l0aXZlIGFuZCBzaXggbmVnYXRpdmUgc2FzcyB2YXJpYWJsZXMgZm9yIFxuLy8gZ2Fwcywgc3BhY2VycywgYW5kIGd1dHRlcnMgcmVsYXRpdmUgdG8gdGhlIGJhc2V2IHZhbHVlcyBkZWZpbmVkIGJlbG93LlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJhc2UgVmFsdWVzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEBzZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL21hcmtub3R0b24vcGVuL0V4UGJOR2VcblxuLy8gVGhlc2UgdGhyZWUgdmFsdWVzIHdpbGwgYWN0IGEgY29uc3RhbnQgYmFzZWxpbmUgZm9yIGFsbCBmb2xsb3dpbmcgdW5pdCBkZWxjYXJhdGlvbnMuXG5cbi8vIEdhcHMgbXVzdCB1c2UgYW4gYWJzb2x1dGUgYW5kIHN0YXRpYyAncHgnIHVuaXQuIEl0IHNob3VsZCBub3QgYmUgcmVsYXRpdmUgdG8gYW55XG4vLyBwYXJlbnQgY29udGFpbmVyIGFuZCBpcyBub3QgaW50ZW5kZWQgZm9yIGZvbnQgc2l6ZXMsIHNvIHlvdSBzaG91bGQgbm90IHVzZSAncmVtJyBvciAnZW0nLiBcbiRnYXAgOiAxNnB4ICFkZWZhdWx0O1xuJGJhc2UtZ2FwIDogJGdhcDtcblxuLy8gU3BhY2VycyBtdXN0IHVzZSBhICd2aCcgdW5pdCBzbyB0aGV5IGFyZSByZWxhdGl2ZSB0byB0aGUgdXNlcnMgdmlld3BvcnQgaGVpZ2h0LXdpc2UuXG4vLyBUaGV5IHNob3VsZCBwcmltYXJpbHkgYmUgdXNlZCBmb3IgdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMgb24gYSBjb21wb25lbnQgbGV2ZWwuXG4kc3BhY2VyIDogNHZoICFkZWZhdWx0OyBcbiRiYXNlLXNwYWNlciA6ICRzcGFjZXI7IFxuXG4vLyBHdXR0ZXJzIG11c3QgdXNlIGEgJ3Z3JyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCB3aWR0aC13aXNlLiBcbi8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvciBtYXJnaW4gb24gYSBwYXJlbnQgbGV2ZWwuXG4vLyBBcyBhIHN1Z2dlc3Rpb24sIHRoaXMgZ3V0dGVyIGNvbnN0YW50IHNob3VsZCBiZSBoYWxmIHRoZSBzaXplIG9mIHRoZSBzcGFjZXIgdmFsdWUuXG4kZ3V0dGVyIDogM3Z3ICFkZWZhdWx0O1xuJGJhc2UtZ3V0dGVyIDogJGd1dHRlcjsgXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBc2JvbHV0ZSBVbml0cyBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEdhcHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHYXBzIGFyZSBhbiBhYnNvbHV0ZSB1bml0IChweCkgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBpbmRpdmlkdWFsIGVsZW1lbnRzIHdpdGhpbiBhIGNvbXBvbmVudGVkLiBcbi8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgc3BhY2luZyBhbW9uZ3N0IGJsb2NrLCBpbmxpbmUsIHRhYmxlIGFuZCBncm91cCBodG1sIGVsZW1lbnRzLlxuXG5AZnVuY3Rpb24gZ2FwKCRhbW91bnQgOiAxKSB7XG4gIEBpZiAoICRhbW91bnQgPT0gMSApIHsgXG4gICAgQHJldHVybiB2YXIoLS1nYXApOyBcbiAgfSBAZWxzZSB7IFxuICAgIEByZXR1cm4gY2FsYyh2YXIoLS1nYXApICogI3skYW1vdW50fSk7IFxuICB9XG59XG5cbiRnYXAwIDogZ2FwKDAuNSk7ICRnYXAwLSA6IGdhcCgtMC41KTtcbiRnYXAgIDogZ2FwKDEpOyAgICRnYXAtICA6IGdhcCgtMSk7XG4kZ2FwMiA6IGdhcCgyKTsgICAkZ2FwMi0gOiBnYXAoLTIpO1xuJGdhcDMgOiBnYXAoMyk7ICAgJGdhcDMtIDogZ2FwKC0zKTtcbiRnYXA0IDogZ2FwKDQpOyAgICRnYXA0LSA6IGdhcCgtNCk7XG4kZ2FwNSA6IGdhcCg1KTsgICAkZ2FwNS0gOiBnYXAoLTUpO1xuJGdhcDYgOiBnYXAoNik7ICAgJGdhcDYtIDogZ2FwKC02KTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJlbGF0aXZlIFVuaXRzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGZ1bmN0aW9uIF9keW5hbWljLXVuaXQoJGN1c3RvbS1wcm9wZXJ0eSwgJGFtb3VudCwgJG1pbiwgJG1heCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuXG4gIC8vIENhbGMgTWV0aG9kXG4gICRyZXN1bHQgOiBjYWxjKCgjeyRjdXN0b20tcHJvcGVydHl9ICogI3skYW1vdW50fSkgKyAje2lmKCRtaW4gPT0gMCwgMHB4LCAkbWluKX0pO1xuICBcbiAgLy8gQ2xhbXAgTWV0aG9kXG4gIEBpZiAoICR1c2UtY2xhbXAgKSB7XG4gICAgQGlmICggJGFtb3VudCA9PSAwICkge1xuICAgICAgJHJlc3VsdCA6IGNsYW1wKCN7bWF0aC5kaXYoJG1pbiwgMil9LCAjeyRjdXN0b20tcHJvcGVydHl9ICogMC41LCAjeyRtYXh9KTtcbiAgICB9IEBlbHNlIGlmICggJGFtb3VudCA9PSAxICkge1xuICAgICAgJHJlc3VsdCA6IGNsYW1wKCN7JG1pbn0sICN7JGN1c3RvbS1wcm9wZXJ0eX0sICN7JG1heH0pO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJlc3VsdCA6IGNsYW1wKCN7JG1pbn0sICN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAjeyRhbW91bnR9LCAjeyRtYXh9KTtcbiAgICB9XG4gIH0gXG5cbiAgQGlmICggJHVzZS1uZWdhdGl2ZSApIHtcbiAgICAkcmVzdWx0IDogY2FsYygtMSAqICN7JHJlc3VsdH0pO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xuXG59IFxuXG4vLyBTcGFjZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU3BhY2VycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCBoZWlnaHQgKHZoKSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBjb21wb25lbnRlZCBsZXZlbC5cbi8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgdG9wIGFuZCBib3R0b20gc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4vLyBTcGFjZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRzcGFjZXIgKiB4KSArICRnYXBgLiBcbi8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2aCBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG5cbkBmdW5jdGlvbiBzcGFjZXIoJGFtb3VudCA6IDEsICRtaW4gOiAkYmFzZS1nYXAsICRtYXggOiBudWxsLCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG4gIEBpZiAoICRhbW91bnQgPT0gMCkgeyAkYW1vdW50IDogMC41OyAkbWluIDogbWF0aC5kaXYoJG1pbiwgMik7IH1cbiAgQGlmICggbWV0YS50eXBlLW9mKCRtYXgpID09ICdudWxsJyApIHsgXG4gICAgQGlmICggbWV0YS50eXBlLW9mKCRtaW4pID09ICdzdHJpbmcnIGFuZCBzdHJpbmcuaW5kZXgoJG1pbiwgJ3ZhcicpICkge1xuICAgICAgJG1heCA6IGNhbGMoI3skbWlufSAqICN7JGFtb3VudCArIDF9KTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICAkbWF4IDogI3skbWluICogKCRhbW91bnQgKyAxKX07IFxuICAgIH1cbiAgfVxuICBAcmV0dXJuIF9keW5hbWljLXVuaXQodmFyKC0tc3BhY2VyKSwgJGFtb3VudCwgJG1pbiwgJG1heCwgJHVzZS1uZWdhdGl2ZSwgJHVzZS1jbGFtcCk7XG59XG5cbiRzcGFjZXIwIDogdmFyKC0tc3BhY2VyMCk7ICRzcGFjZXIwLSA6IHZhcigtLXNwYWNlcjAtKTtcbiRzcGFjZXIgIDogdmFyKC0tc3BhY2VyMSk7ICRzcGFjZXItICA6IHZhcigtLXNwYWNlcjEtKTtcbiRzcGFjZXIyIDogdmFyKC0tc3BhY2VyMik7ICRzcGFjZXIyLSA6IHZhcigtLXNwYWNlcjItKTtcbiRzcGFjZXIzIDogdmFyKC0tc3BhY2VyMyk7ICRzcGFjZXIzLSA6IHZhcigtLXNwYWNlcjMtKTtcbiRzcGFjZXI0IDogdmFyKC0tc3BhY2VyNCk7ICRzcGFjZXI0LSA6IHZhcigtLXNwYWNlcjQtKTtcbiRzcGFjZXI1IDogdmFyKC0tc3BhY2VyNSk7ICRzcGFjZXI1LSA6IHZhcigtLXNwYWNlcjUtKTtcbiRzcGFjZXI2IDogdmFyKC0tc3BhY2VyNik7ICRzcGFjZXI2LSA6IHZhcigtLXNwYWNlcjYtKTtcblxuLy8gR3V0dGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEd1dHRlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgd2lkdGggKHZ3KSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBwYXJlbnQgbGV2ZWw7XG4vLyBmb3IgZXhhbXBsZSwgYSB3cmFwcGVyIGNvbnRhaW5lciBvciBib2R5IHdpdGggbmVzdGVkIGNvbXBvbmVudHMuIFxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBsZWZ0IGFuZCByaWdodCBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbi8vIEd1dHRlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJGd1dHRlciAqIHgpICsgJGdhcGAuIFxuLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZ3IHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcblxuQGZ1bmN0aW9uIGd1dHRlcigkYW1vdW50IDogMSwgJG1pbiA6ICRiYXNlLWdhcCwgJG1heCA6IG51bGwsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcbiAgQGlmICggJGFtb3VudCA9PSAwKSB7ICRhbW91bnQgOiAwLjU7ICRtaW4gOiBtYXRoLmRpdigkbWluLCAyKTsgfVxuICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1heCkgPT0gJ251bGwnICkgeyBcbiAgICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1pbikgPT0gJ3N0cmluZycgYW5kIHN0cmluZy5pbmRleCgkbWluLCAndmFyJykgKSB7XG4gICAgICAkbWF4IDogY2FsYygjeyRtaW59ICogI3skYW1vdW50ICsgMX0pOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXggOiAjeyRtaW4gKiAoJGFtb3VudCArIDEpfTsgXG4gICAgfVxuICB9XG4gIEByZXR1cm4gX2R5bmFtaWMtdW5pdCh2YXIoLS1ndXR0ZXIpLCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlLCAkdXNlLWNsYW1wKTtcbn1cblxuJGd1dHRlcjAgOiB2YXIoLS1ndXR0ZXIwKTsgJGd1dHRlcjAtIDogdmFyKC0tZ3V0dGVyMC0pO1xuJGd1dHRlciAgOiB2YXIoLS1ndXR0ZXIxKTsgJGd1dHRlci0gIDogdmFyKC0tZ3V0dGVyMS0pO1xuJGd1dHRlcjIgOiB2YXIoLS1ndXR0ZXIyKTsgJGd1dHRlcjItIDogdmFyKC0tZ3V0dGVyMi0pO1xuJGd1dHRlcjMgOiB2YXIoLS1ndXR0ZXIzKTsgJGd1dHRlcjMtIDogdmFyKC0tZ3V0dGVyMy0pO1xuJGd1dHRlcjQgOiB2YXIoLS1ndXR0ZXI0KTsgJGd1dHRlcjQtIDogdmFyKC0tZ3V0dGVyNC0pO1xuJGd1dHRlcjUgOiB2YXIoLS1ndXR0ZXI1KTsgJGd1dHRlcjUtIDogdmFyKC0tZ3V0dGVyNS0pO1xuJGd1dHRlcjYgOiB2YXIoLS1ndXR0ZXI2KTsgJGd1dHRlcjYtIDogdmFyKC0tZ3V0dGVyNi0pO1xuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbG91cnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBFeHBsaWNpdCBDb2xvdXJzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gRXhwbGljaXQgY29sb3VycyBhcmUgYSB3aGF0IHRoZXkgYXJlLiBHcmVlbiBpcyBncmVlbiwgYmx1ZSBpcyBibHVlLi4uIG5vIG9ic2N1cml0eS5cbi8vLyBXZSBzdWZmaXggbnVtYmVycyB0byBkZWZpbmUgdmFyaWF0aW9ucyBvZiBjb2xvdXJzIGluIG5vIHBhcnRpY3VsYXIgb3JkZXIgb2Ygc2hhZGUuIFxuLy8vIEV4YW1wbGU6IGdyZWVuMSwgZ3JlZW4yLCBncmVlbjMsIGdyZWVuNC4gVGhpcyBpcyBzbyB3ZSBjYW4gaW1taWRpYXRlbHkgc2VlIGhvdyBcbi8vLyBtYW55IG9wdGlvbnMgd2UgaGF2ZSBmb3IgYSBzaW5nbGUgY29sb3VyIGF0IGEgZ2xhbmNlLiBJZiB5b3Ugc2VlICRncmVlbjQsIHlvdSBrbm93IHRoaXNcbi8vLyBwcm9qZWN0IGlzIHVzaW5nIGZvdXIgdmFyaWF0aW9ucyBvZiBncmVlbi4gVGhpcyBpcyBhbHNvIG9mdGVuIHVzZWZ1bCBiZWNhdXNlIG1hbnkgZGV2ZWxvcG1lbnQgXG4vLy8gdG9vbHMgd2lsbCBhdXRvLXN1Z2dlc3QgY29sb3VycyB3aXRoIGFjdHVhbCBleGFtcGxlcyBvZiB0aGUgY29sb3VyLiBcbi8vLyBUaGUgUGFsbGV0ZXMgbW9kdWxlIChhdCB0aGUgYm90dG9tIG9mIHRoaXMgZmlsZSkgd2lsbCBvdXRwdXQgc2hhZGVkIG5hbWVkIHZhcmlhdGlvbnMsIFxuLy8vLyA8Y29sb3VyPi1kYXJrIGFuZCA8Y29sb3VyPi1saWdodC4gSWYgeW91IG5lZWQgYWRkaXRpb25hbCBzaGFkZXMgcGxlYXNlIHJlZnJhaW0gZnJvbSBnb2luZyBkb3duIFxuLy8vIHRoZSAnbGlnaHRlcicsICdsaWdodGVzdCcsICdkYXJrZXInLCAnZGFya2VzdCcgY29udmVudGlvbi4gVGhlc2UgYXJlIG5vdCBwYXJ0aWN1YXJseSBsZWdpYWJsZSBcbi8vLyBhbmQgdGhleSBhcmUgbGltaXRlZCBieSBob3cgY3JlYXRpdmUgKGNvbmZ1c2luZykgeW91ciB3b3JkaW5nIGNhbiBiZS4gXG4vLy8gSXQgaXMgYmV0dGVyIHRvIGRlZmluZSBhIG5ldyBleHBsY2l0IGNvbG91ciBlbnRpcmVseS4gXG4vLy8gQHNlZSBodHRwczovL2Nzcy10cmlja3MuY29tL3doYXQtZG8teW91LW5hbWUtY29sb3ItdmFyaWFibGVzL1xuXG4kYmx1ZSAgIDogIzEzMWY2YjsgLy8gUHJpbWFyeVxuJGJsdWUyICA6ICMyOTJCNjg7IC8vIE5ha2VkIExpbmtcbiRibHVlMyAgOiAjM2QzZjdmOyAvLyBMaWdudCBHcmFkaWVudFxuJGJsdWU0ICA6ICMxMDEyNGQ7IC8vIERhcmsgR3JhZGllbnRcbiRibHVlNSAgOiAjMDA5NUZGOyAvLyBOYXZpZ2F0aW9uIGxpbmsgaG92ZXIgIFxuLy8gJHJlZCAgICA6ICNFMDNBNDA7IC8vIFNlY29uZGFyeVxuJHJlZCAgICA6ICNERjMwMzU7IC8vIFNlY29uZGFyeSAtIFRoaXMgcGFzc2VzIHRoZSBjb250cmFzdCByYXRpbyBhY2Nlc3NpYmlsaXR5IHRlc3QgaW4gR29vZ2xlcyBMaWdodGhvdXNlIFxuJGdyZXkgICA6ICM5Njk2OTU7XG4kZ3JleTIgIDogIzZBNkE2QTsgLy8gRm9udFxuJGdyZXkzICA6ICNGNEY0RjQ7IC8vIExpZ2h0ZXIgR3JleSBCYWNrZ3JvdW5kXG4kZ3JleTQgIDogI2RjZGNkYzsgXG4kZ3JleTUgIDogI0IxQjFCMTsgLy8gU3BhY2VycyA8aHI+XG4kZ3JleTYgIDogIzMzMzIzNjsgLy8gTmF2aWdhdGlvbiBsaW5rIGhvdmVyICBcbiRncmVlbiAgOiAjNTBCQzA4O1xuJGdyZWVuMiA6ICM3NmJiMjg7IC8vIEVTRyBncmVlblxuJHllbGxvdyA6ICNGNkY0REI7IC8vIERpc2NsYWltZXIgQmFja2dyb3VuZFxuJHllbGxvdzIgOiAjRkNCMDAyOyBcbiRibGFjayAgOiAjMUUxQTFBO1xuXG4kbWFyayA6ICRibHVlNTsgLy8gYmFja2dyb3VuZCBjb2xvdXIgZm9yIDxtYXJrPiB0YWdzXG5cbiRwcmltYXJ5ICAgOiB2YXIoLS1wcmltYXJ5LCAgI3skYmx1ZX0pO1xuJHNlY29uZGFyeSA6IHZhcigtLXNlY29uZGFyeSwgI3skcmVkfSk7XG5cbi8vLyBQYWxldHRlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gQnkgbG9hZGluZyBjb25maWd1cmF0aW9ucyBpbnRvIHRoaXMgJ3BhbGxldGUnIG1vZHVsZSwgd2Ugd2lsbCBiZSBhYmxlXG4vLy8gdG8gZGVjbGFyZSB2YXJpYW50cyBvZiBhIGZldyBjb21tb24gY29sb3Vycy4gWW91IGNhbiBhbHNvIGFkanVzdCB0aGUgbGlnaHRuZXNzXG4vLy8gb3IgZGFya25lc3Mgb2YgZWFjaCB2YXJpYW50IGJ5IHBhc3NpbmcgaW4gdGhlIHJlbGV2YW50IHByaXZhdGUgcnVsZXMuIFxuLy8vIFBhbGV0dGUgd2lsbCBhbHNvIGV4cG9zZSBwb3B1bGFyIHNvY2lhbCBtZWRpYSBjb2xvdXJzIGFuZCB0aGUgWWVsbG8gYnJhbmQgY29sb3VyLlxuLy8vIEBzZWUgaHR0cHM6Ly9zYXNzLWxhbmcuY29tL2RvY3VtZW50YXRpb24vYXQtcnVsZXMvZm9yd2FyZCNjb25maWd1cmluZy1tb2R1bGVzXG4vLy8gQG91dHB1dCAkZ3JlZW4gOiAjMDI5MjlBOyAkZ3JlZW4tZGFyayA6ICMyNTY1Njk7ICRncmVlbi1saWdodDogIzA0YjljNDtcblxuQGZvcndhcmQgJ2NyZWF0ZS9wYWxldHRlJyB3aXRoIChcbiAgJGJsdWUgICA6ICRibHVlLFxuICAkcmVkICAgIDogJHJlZCxcbiAgJGdyZXkgICA6ICRncmV5LFxuICAkeWVsbG93IDogJHllbGxvdyxcbiAgJGdyZWVuICA6ICRncmVlbixcbiAgJGJsYWNrICA6ICRibGFja1xuKTtcbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gQnJlYWsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNicmVha1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIG91dCgkYnJlYWtwb2ludCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDojeyRicmVha3BvaW50ICsgMX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaW4oJGJyZWFrcG9pbnQpIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6I3skYnJlYWtwb2ludH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYmV0d2VlbigkbWluLCAkbWF4KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiN7JG1pbn0pIGFuZCAobWF4LXdpZHRoOiN7JG1heH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gRm9udFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnY29sb3VycycgYXMgKjtcblxuJGNvbG91ciAgICAgIDogJGdyZXkyO1xuJHNpemUgICAgICAgIDogMS41cmVtICFkZWZhdWx0O1xuJHNpemUtbWluICAgIDogMS40cmVtICFkZWZhdWx0OyBcbiRzaXplLW1heCAgICA6IDEuNnJlbSAhZGVmYXVsdDsgXG4kbGluZS1oZWlnaHQgOiAxLjYgIWRlZmF1bHQ7IFxuXG4kc2l6ZS1oMSAgICAgOiA2LjFlbSAhZGVmYXVsdDtcbiRzaXplLWgxLW1pbiA6IDRlbSAhZGVmYXVsdDtcbiRzaXplLWgyICAgICA6IDMuMmVtICFkZWZhdWx0O1xuJHNpemUtaDMgICAgIDogMi41ZW0gIWRlZmF1bHQ7XG4kc2l6ZS1oNCAgICAgOiAxLjdlbSAhZGVmYXVsdDtcbiRzaXplLWg1ICAgICA6IDEuN2VtICFkZWZhdWx0O1xuJHNpemUtaDYgICAgIDogMS43ZW0gIWRlZmF1bHQ7XG4gIFxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBMYXRvIEZvbnRcbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gVGhpcyBmb250IGl0IHByaW1hcmlseSB1c2VkIGZvciBoZWFkaW5ncyAoPGgqPiB0YWdzKVxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGZvbnQtbGF0byhib2xkKVxuXG5AbWl4aW4gbGF0bygkd2VpZ2h0OnJlZ3VsYXIpIHtcblxuICBmb250LWZhbWlseTpsYXRvLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgQGlmICggJHdlaWdodCA9PSAncmVndWxhcicpIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9IEBlbHNlIGlmICggJHdlaWdodCA9PSAnc2VtaS1ib2xkJyBvciAkd2VpZ2h0ID09ICdzZW1pYm9sZCcpIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9IEBlbHNlIGlmICggJHdlaWdodCA9PSAnYm9sZCcpIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBNb250c2VycmF0IEZvbnRcbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gVGhpcyBpcyB0aGUgYmFzZSBmb250IHVzZWQgZm9yIGFsbCBzdGFuZGFyZCBjb3B5IHRocm91Z2hvdXQgdGhlIHNpdGUuXG4vLy8gQGV4YW1wbGUgQGluY2x1ZGUgZm9udC1tb250c2VycmF0KClcblxuQG1peGluIG1vbnRzZXJyYXQoJHdlaWdodDpyZWd1bGFyKSB7XG5cbiAgZm9udC1mYW1pbHk6bW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgXG4gIEBpZiAoICR3ZWlnaHQgPT0gJ3JlZ3VsYXInKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH0gQGVsc2UgaWYgKCAkd2VpZ2h0ID09ICdpdGFsaWMnKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH0gQGVsc2UgaWYgKCAkd2VpZ2h0ID09ICdib2xkJykge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG5cbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxufSIsIkB1c2UgJy4uL192YXJpYWJsZXMnIGFzICo7XG5AdXNlICdjb2xsZWN0aW9ucy9mb250L2Nyb3AnIGFzIGZvbnQ7XG5AdXNlICdtb2R1bGVzL2NvbG91ci9lbmNvZGUnIGFzIGNvbG91cjtcblxuQG1peGluIHN0eWxlKCRmaWxsLCAkc3Ryb2tlIDogd2hpdGUpIHtcbiAgPiBsaTo6YmVmb3JlIHsgXG4gICAgY29udGVudDp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSdcIitjb2xvdXIuZW5jb2RlKCRmaWxsKStcIicgY3g9JzgnIGN5PSc4JyByPSc4Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nXCIrY29sb3VyLmVuY29kZSgkc3Ryb2tlKStcIicgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbn1cblxuLy8gVW5vcmRlcmQgTGlzdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHVsKCRsaXN0LXN0eWxlLWNvbG91ciA6ICRyZWQsICRsaXN0LXN0eWxlLWFjY2VudC1jb2xvdXIgOiB3aGl0ZSkge1xuXG4gIEBpbmNsdWRlIHN0eWxlKCRsaXN0LXN0eWxlLWNvbG91ciwgJGxpc3Qtc3R5bGUtYWNjZW50LWNvbG91cik7XG5cbiAgPiBsaSB7IFxuXG4gICAgcG9zaXRpb24gICAgIDogcmVsYXRpdmU7IFxuICAgIHBhZGRpbmctbGVmdCAgOiBjYWxjKHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKSAqIDEuOCk7XG5cbiAgICAmICsgbGkgeyBtYXJnaW4tdG9wIDogdmFyKC0tbGluZS1zdHlsZS1zcGFjaW5nLCAjeyRnYXB9KTsgfVxuICAgIFxuICAgICY6OmJlZm9yZSB7IFxuICAgICAgZGlzcGxheSAgOiBpbmxpbmUtYmxvY2s7IFxuICAgICAgdG9wICAgICAgOiAwLjFlbTsgXG4gICAgICBsZWZ0ICAgICA6IDA7IFxuICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoICAgIDogdmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pOyBcbiAgICAgIGhlaWdodCAgIDogdmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pOyBcbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcblxufVxuXG4vLyBPcmRlcmVkIExpc3RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gb2woKSB7XG5cbiAgY291bnRlci1yZXNldCA6IGNvdW50ZXI7XG5cbiAgPiBsaSB7IFxuICAgIHBvc2l0aW9uICAgICA6IHJlbGF0aXZlOyBcbiAgICBkaXNwbGF5ICAgICAgOiBibG9jazsgXG4gICAgcGFkZGluZy1sZWZ0IDogMjJweDtcbiAgICBtYXJnaW4tbGVmdCAgOiB2YXIoLS1saXN0LXN0eWxlLW9mZnNldCwgMCk7XG5cbiAgICAmICsgbGkgeyBtYXJnaW4tdG9wOiRnYXAwOyB9XG5cbiAgICAmOjpiZWZvcmUgeyBcbiAgICAgIGNvbnRlbnQgICAgICAgICAgIDogY291bnRlcihjb3VudGVyKScuJztcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50IDogY291bnRlcjtcbiAgICAgIGNvbG9yICAgICAgICAgICAgIDogdmFyKC0tbGlzdC1zdHlsZS1jb2xvdXIsIHZhcigtLXByaW1hcnkpKTsgXG4gICAgICBwb3NpdGlvbiAgICAgICAgICA6IHJlbGF0aXZlOyBcbiAgICAgIG1hcmdpbi1yaWdodDowLjVlbTtcbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcbiAgXG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIFBvc2l0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjcG9zaXRpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJy4uL2hlbHBlcnMvYnJlYWsnO1xuXG5AbWl4aW4gZXhwYW5kZWQge1xuXHRwb3NpdGlvbjphYnNvbHV0ZTsgXG5cdHRvcDowOyBcblx0bGVmdDowOyBcblx0d2lkdGg6MTAwJTtcblx0aGVpZ2h0OjEwMCU7IFxufVxuXG5AbWl4aW4gY2VudHJlIHtcbiAgcG9zaXRpb246YWJzb2x1dGU7IFxuXHR0b3A6NTAlOyBcblx0bGVmdDo1MCU7XG4gIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IFxufVxuXG5AbWl4aW4gYmxvd291dCgkaG9yaXpvbnRhbCA6IHRydWUsICR2ZXJ0aWNhbCA6IGZhbHNlKSB7XG4gIFxuICBwb3NpdGlvbjphYnNvbHV0ZTtcblxuICBAaWYgJGhvcml6b250YWwgYW5kICR2ZXJ0aWNhbCB7XG4gICAgdG9wICAgICAgIDogNTAlOyBcbiAgICBsZWZ0ICAgICAgOiA1MCU7IFxuICAgIHdpZHRoICAgICA6IDEwMHZ3O1xuICAgIGhlaWdodCAgICA6IDEwMHZoOyBcbiAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGUodmFyKC0tdHJhbnNsYXRlWCwgLTUwJSksIHZhcigtLXRyYW5zbGF0ZVksIC01MCUpKTtcbiAgfSBAZWxzZSBpZiAkaG9yaXpvbnRhbCAge1xuICAgIHRvcCAgICAgICA6IDA7IFxuICAgIGxlZnQgICAgICA6IDUwJTsgXG4gICAgd2lkdGggICAgIDogMTAwdnc7XG4gICAgaGVpZ2h0ICAgIDogMTAwJTsgXG4gICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlWCh2YXIoLS10cmFuc2xhdGVYLCAtNTAlKSk7XG4gIH0gQGVsc2UgaWYgJHZlcnRpY2FsICB7XG4gICAgdG9wICAgICAgIDogNTAlOyBcbiAgICBsZWZ0ICAgICAgOiAwOyBcbiAgICB3aWR0aCAgICAgOiAxMDAlO1xuICAgIGhlaWdodCAgICA6IDEwMHZoOyBcbiAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKHZhcigtLXRyYW5zbGF0ZVksIC01MCUpKTtcbiAgfVxuXG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBJbWFnZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ltYWdlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICdwb3NpdGlvbic7XG5cbkBtaXhpbiBzcmNzZXQoJHBvc2l0aW9uOmZhbHNlKSB7XG5cbiAgZGlzcGxheSAgICAgICAgICAgICA6IGJsb2NrO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uIDogdmFyKC0tcG9zaXRpb24sIGNlbnRlciAzMyUpO1xuXHRiYWNrZ3JvdW5kLXNpemUgICAgIDogY292ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0ICAgOiBuby1yZXBlYXQ7XG5cdG92ZXJmbG93ICAgICAgICAgICAgOiBoaWRkZW47XG5cblx0QGlmICRwb3NpdGlvbiA9PSAnZXhwYW5kZWQnIHsgXG5cdFx0QGluY2x1ZGUgcG9zaXRpb24uZXhwYW5kZWQ7XG5cdH0gQGVsc2UgaWYgJHBvc2l0aW9uID09ICdibG93b3V0JyB7IFxuXHRcdEBpbmNsdWRlIHBvc2l0aW9uLmJsb3dvdXQ7XG5cdH0gQGVsc2Uge1xuXHRcdHBvc2l0aW9uIDogcmVsYXRpdmU7IFxuXHR9XG5cdFxuICBpbWcge1xuICAgIGRpc3BsYXkgICAgICAgICA6IGJsb2NrO1xuICAgIHBvc2l0aW9uICAgICAgICA6IGFic29sdXRlO1xuICAgIG9iamVjdC1maXQgICAgICA6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbiA6IHZhcigtLWltYWdlLXBvc2l0aW9uLCBjZW50ZXIgMzMuMzMlKTtcblx0XHR3aWR0aCAgICAgICAgICAgOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS13aWR0aC1zaXplLCAxMDAlKSk7XG5cdFx0aGVpZ2h0ICAgICAgICAgIDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2UtaGVpZ2h0LXNpemUsIDEwMCUpKTsgXG5cdFx0bWF4LXdpZHRoICAgICAgIDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2Utd2lkdGgtc2l6ZSwgMTAwJSkpO1xuXHRcdG1heC1oZWlnaHQgICAgICA6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLWhlaWdodC1zaXplLCAxMDAlKSk7XG5cdFx0dG9wICAgICAgICAgICAgIDogMDsgXG5cdFx0bGVmdCAgICAgICAgICAgIDogMDtcblx0fVxuXG5cdEBjb250ZW50O1xufSJdfQ== */