/* $base-font: 'Open Sans', Arial, sans-serif; */
/* $base-line-height: 1.6; */
/* default */
/* base font size with shorter line-height */
/* h5 */
/* h4 */
/* h3 */
/* h2 */
/* h1 */
/*
Use this mixin to add font sizes from the maps above with line-heights and mq's included.
eg: @include font-size($font-size-xxxx-large);
*/
/*
Utility function for mixin font-size.
*/
/* h4 */
/* h3 */
/* h4 */
/*
Function so we don't have to use map-get with $breakpoints.
eg: bp(xxl) or @include breakpoint(bp(xxl))
*/
/* Standard ranges from design
 *   "desktop" : 961 and up
 *   "tablet"  : 510 thru 960
 *   "mobile"  : 320 thru 509
 */
:root {
  /* Top Nav  Requirements:
   * @ mobile
   *     default font-size is 16px
   * @ tablet
   *     default font-size is 18px
   * @ desktop
   *     default font-size is 18px
   */
  --topnav-font-size: 16px;
}
@media screen and (min-width: 510px) {
  :root {
    --topnav-font-size: 18px;
  }
}

.home__site-page .section-header {
  font-size: 24px;
  line-height: 36px;
  font-weight: 400;
  margin: 0;
}
@media screen and (min-width: 510px) {
  .home__site-page .section-header {
    font-size: 28px;
    line-height: 42px;
  }
}
@media screen and (min-width: 961px) {
  .home__site-page .section-header {
    font-size: 30px;
    line-height: 45px;
  }
}
.home__site-page .section-subheader {
  font-size: 18px;
  line-height: 1.55;
  color: #3D3F42;
  font-weight: 400;
  margin: 1rem auto;
}
@media screen and (min-width: 510px) {
  .home__site-page .section-subheader {
    font-size: 20px;
    line-height: 1.65;
  }
}
.home__site-page .edl-link {
  font-size: 16px;
  line-height: 1.7;
  color: #2D62B7;
  font-family: "Noto Sans", Arial, sans-serif;
  font-weight: 700;
  text-decoration: none;
}
.home__site-page .edl-link:hover, .home__site-page .edl-link:active {
  border-bottom: 1px solid;
}
.home__site-page .home_market-choices {
  /* background-color: $ebsco-navy; */
  padding: 20px 0;
}
.home__site-page .home_market-choices .edl-link-group {
  margin: 20px auto;
  max-width: 820px;
}
.home__site-page .home_market-choices .edl-link-group ul {
  display: flex;
  flex-flow: wrap;
  gap: 20px 20px;
  justify-content: center;
  margin: 0;
  padding: 0;
}
.home__site-page .home_market-choices .edl-link-group ul li::after {
  content: "";
  display: none;
}
.home__site-page .home_market-choices li .edl-link {
  background: url("../jpg/academic-libraries-market-thumbnail-260.jpg") center center/260px no-repeat #2D62B7;
  border-radius: 5px;
  box-shadow: 0 2px 2px 0 rgba(39, 41, 42, 0.25);
  color: #fff;
  display: inline-block;
  font-size: var(--topnav-font-size);
  font-weight: 700;
  height: 80px;
  line-height: 80px;
  text-decoration: none;
  width: 260px;
}
.home__site-page .home_market-choices li:nth-child(2) .edl-link {
  background-image: url("../jpg/public-libraries-market-thumbnail-260.jpg");
}
.home__site-page .home_market-choices li:nth-child(3) .edl-link {
  background-image: url("../jpg/schools-market-thumbnail-260.jpg");
}
.home__site-page .home_market-choices li:nth-child(4) .edl-link {
  background-image: url("../jpg/health-care-market-thumbnail-260.jpg");
}
.home__site-page .home_market-choices li:nth-child(5) .edl-link {
  background-image: url("../jpg/corporate-market-thumbnail-260.jpg");
}
.home__site-page .home_market-choices li:nth-child(6) .edl-link {
  background-image: url("../jpg/publishers-market-thumbnail-260.jpg");
}
.home__site-page .home_market-choices li .edl-link:hover, .home__site-page .home_market-choices li .edl-link:active, .home__site-page .home_market-choices li .edl-link:focus {
  background: #1D3F75;
  border-bottom: none;
  box-shadow: 0 10px 10px -6px rgba(39, 41, 42, 0.35);
  text-decoration: none;
}
.home__site-page .home_branding-box {
  background-color: #2D62B7;
  background-position: 50% 100%;
  background-repeat: no-repeat;
  background-size: 0;
  color: #fff;
}
.home__site-page .home_branding-box .edl-slab_content {
  max-width: 740px;
  padding-bottom: 50px;
  padding-top: 40px;
}
.home__site-page .home_branding-box p {
  font-size: 14px;
  line-height: 1.65;
  text-align: center;
}
.home__site-page .home_branding-box .teaser-box {
  margin: 0;
  padding: 30px 0;
}
.home__site-page .home_featured-content {
  background: url("../png/homepage-topics-section-butter-pattern-background-100.png") center center/100px repeat #FAB73C;
  padding-top: 40px;
  padding-bottom: 50px;
}
.home__site-page .home_featured-content .teaser-box {
  background-color: white;
}
.home__site-page .home_featured-content .teaser-box:last-of-type {
  margin-bottom: 0;
}
.home__site-page .home_product-options {
  padding-top: 40px;
  padding-bottom: 50px;
}
.home__site-page .icon-blocks {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
  margin: 25px auto 40px;
  max-width: 900px;
}
.home__site-page .home_blog-feature {
  background-color: #3E75CF;
  padding-top: 40px;
  padding-bottom: 50px;
}
.home__site-page .home_blog-feature .edl_teaserbox--blog-main-teaser {
  padding-bottom: 0;
}
.home__site-page .home_blog-feature .edl-slab_content > *:not(.teaser-box) {
  color: #fff;
  text-align: center;
}
.home__site-page .home_blog-feature .edl-slab_content > .edl-link-group .edl-link {
  color: #fff;
}
.home__site-page .home_blog-feature .section-subheader {
  margin-bottom: 5px;
}
.home__site-page .home_blog-feature .edl-link-group {
  margin-top: 0;
}
.home__site-page .home_blog-feature .edl-link-group li {
  margin-bottom: 10px;
}
.home__site-page .home_newsletter {
  background: url("../png/homepage-newsletter-section-gray-pattern-background-405.png") 0 0/405px repeat #FAFAFA;
  padding-top: 40px;
  padding-bottom: 40px;
}
.home__site-page .home_newsletter .section-header {
  margin-bottom: 20px;
  text-align: center;
}

@media screen and (min-width: 510px) {
  .home__site-page .home_market-choices .edl-link-group ul {
    gap: 20px 20px;
    justify-content: center;
  }
  .home__site-page .home_market-choices .edl-link-group ul li {
    margin: 0;
  }
  .home__site-page .home_branding-box {
    background-size: contain;
  }
  .home__site-page .home_branding-box .edl-slab_content {
    padding-bottom: 141px;
    padding-top: 62px;
  }
  .home__site-page .home_blog-feature .edl-link-group li {
    margin-bottom: initial;
  }
}
@media screen and (min-width: 801px) {
  .home__site-page .icon-blocks {
    gap: 50px;
  }
  .home__site-page .home_market-choices .edl-link-group ul {
    gap: 20px 20px;
    justify-content: center;
  }
  .home__site-page .home_branding-box {
    background-size: 1280px;
  }
  .home__site-page .home_branding-box .edl-slab_content {
    max-width: 620px;
    padding-bottom: 141px;
    padding-top: 62px;
  }
  .home__site-page .home_featured-content {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .home__site-page .home_featured-content .teaser-box {
    margin: 0 10px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9wYXR0ZXJucy8wMC1nbG9iYWwvdXRpbHMvX3R5cG9ncmFwaHkuc2NzcyIsIl9wYXR0ZXJucy8wMC1nbG9iYWwvdXRpbHMvX2Z1bmN0aW9ucy5zY3NzIiwiX3BhdHRlcm5zLzAwLWdsb2JhbC91dGlscy9fYnJlYWtwb2ludHMuc2NzcyIsIl9wYXR0ZXJucy8wMy10ZW1wbGF0ZXMvaG9tZS10ZW1wbGF0ZS9ob21lLXRlbXBsYXRlLnNjc3MiLCJfcGF0dGVybnMvMDMtdGVtcGxhdGVzL2hvbWUtdGVtcGxhdGUvaG9tZS10ZW1wbGF0ZS5jc3MiLCIuLi9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL19icmVha3BvaW50LnNjc3MiLCJfcGF0dGVybnMvMDAtZ2xvYmFsL3V0aWxzL19jb2xvcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxnREFBQTtBQVNBLDRCQUFBO0FBT0EsWUFBQTtBQUlBLDRDQUFBO0FBSUEsT0FBQTtBQUlBLE9BQUE7QUFJQSxPQUFBO0FBSUEsT0FBQTtBQUlBLE9BQUE7QUFLQTs7O0NBQUE7QUF5QkE7O0NBQUE7QUF5QkEsT0FBQTtBQUlBLE9BQUE7QUFJQSxPQUFBO0FDNUZBOzs7Q0FBQTtBQ0pBOzs7O0VBQUE7QUNMQTtFQUNFOzs7Ozs7O0lBQUE7RUFRQSx3QkFBQTtBQ3dCRjtBQzBCSTtFRjNESjtJQVlJLHdCQUFBO0VDeUJGO0FBQ0Y7O0FEcEJFO0VIMERNLGVBQUE7RUFFSSxpQkFBQTtFR3pEUixnQkhtRWtCO0VHbEVsQixTQUFBO0FDdUJKO0FDY0k7RUZ6Q0Y7SUgwRE0sZUFBQTtJQUVJLGlCQUFBO0VJNUJWO0FBQ0Y7QUNRSTtFRnpDRjtJSDBETSxlQUFBO0lBRUksaUJBQUE7RUl0QlY7QUFDRjtBRGhDRTtFSG1ETSxlQUFBO0VBRUksaUJBQUE7RUdsRFIsY0djSTtFSGJKLGdCSDJEa0I7RUcxRGxCLGlCQUFBO0FDa0NKO0FDTEk7RUZsQ0Y7SUhtRE0sZUFBQTtJQUVJLGlCQUFBO0VJVFY7QUFDRjtBRHBDRTtFSDBDTSxlQUFBO0VBRUksZ0JBQUE7RUd6Q1IsY0dsQ1c7RUhtQ1gsMkNIdENRO0VHdUNSLGdCSG1EZTtFR2xEZixxQkFBQTtBQ3NDSjtBRHBDSTtFQUVFLHdCQUFBO0FDcUNOO0FEL0JFO0VBQ0UsbUNBQUE7RUFDQSxlQUFBO0FDaUNKO0FEL0JJO0VBQ0UsaUJBQUE7RUFDQSxnQkFBQTtBQ2lDTjtBRC9CTTtFQUNFLGFBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLHVCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7QUNpQ1I7QUQvQlE7RUFDRSxXQUFBO0VBQ0EsYUFBQTtBQ2lDVjtBRDVCSTtFQUNFLG1JQUFBO0VBQ0Esa0JBQUE7RUFDQSw4Q0dqQk87RUhrQlAsV0dqREU7RUhrREYscUJBQUE7RUFDQSxrQ0FBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxZQUFBO0FDOEJOO0FEMUJJO0VBQ0UsaUdBQUE7QUM0Qk47QUR4Qkk7RUFDRSx3RkFBQTtBQzBCTjtBRHRCSTtFQUNFLDRGQUFBO0FDd0JOO0FEcEJJO0VBQ0UsMEZBQUE7QUNzQk47QURsQkk7RUFDRSwyRkFBQTtBQ29CTjtBRGpCSTtFQUdFLG1CRzNHUztFSDRHVCxtQkFBQTtFQUNBLG1ER3hEZTtFSHlEZixxQkFBQTtBQ2lCTjtBRFpFO0VBQ0UseUJHekhXO0VIMEhYLDZCQUFBO0VBQ0EsNEJBQUE7RUFDQSxrQkFBQTtFQUNBLFdHcEdJO0FGa0hSO0FEWkk7RUFDRSxnQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QUNjTjtBRFhJO0VINURJLGVBQUE7RUFFSSxpQkFBQTtFRzZETixrQkFBQTtBQ2FOO0FEVkk7RUFDRSxTQUFBO0VBQ0EsZUFBQTtBQ1lOO0FEUEU7RUFDRSw4SUFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7QUNTSjtBRFBJO0VBQ0UsdUJBQUE7QUNTTjtBRE5JO0VBQ0UsZ0JBQUE7QUNRTjtBREhFO0VBQ0UsaUJBQUE7RUFDQSxvQkFBQTtBQ0tKO0FERkU7RUFDRSxhQUFBO0VBQ0EsZUFBQTtFQUNBLFNBQUE7RUFDQSx1QkFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7QUNJSjtBREFFO0VBQ0UseUJHbkxVO0VIb0xWLGlCQUFBO0VBQ0Esb0JBQUE7QUNFSjtBREFJO0VBQ0UsaUJBQUE7QUNFTjtBRENJO0VBQ0UsV0dqS0U7RUhrS0Ysa0JBQUE7QUNDTjtBREdNO0VBQ0UsV0d2S0E7QUZzS1I7QURLSTtFQUNFLGtCQUFBO0FDSE47QURNSTtFQUNFLGFBQUE7QUNKTjtBRE1NO0VBQ0UsbUJBQUE7QUNKUjtBRFVFO0VBQ0Usc0lBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0FDUko7QURVSTtFQUNFLG1CQUFBO0VBQ0Esa0JBQUE7QUNSTjs7QUN6Skk7RUY2S0U7SUFDRSxjQUFBO0lBQ0EsdUJBQUE7RUNoQk47RURrQk07SUFDRSxTQUFBO0VDaEJSO0VEcUJFO0lBQ0Usd0JBQUE7RUNuQko7RURxQkk7SUFDRSxxQkFBQTtJQUNBLGlCQUFBO0VDbkJOO0VEeUJNO0lBQ0Usc0JBQUE7RUN2QlI7QUFDRjtBQzdLSTtFRjZNQTtJQUNFLFNBQUE7RUM3Qko7RURtQ0k7SUFDRSxjQUFBO0lBQ0EsdUJBQUE7RUNqQ047RURxQ0U7SUFDRSx1QkFBQTtFQ25DSjtFRHFDSTtJQUNFLGdCQUFBO0lBQ0EscUJBQUE7SUFDQSxpQkFBQTtFQ25DTjtFRHdDRTtJQUNFLGlCQUFBO0lBQ0Esb0JBQUE7RUN0Q0o7RUR3Q0k7SUFDRSxjQUFBO0VDdENOO0FBQ0YiLCJmaWxlIjoiX3BhdHRlcm5zLzAzLXRlbXBsYXRlcy9ob21lLXRlbXBsYXRlL2hvbWUtdGVtcGxhdGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVHlwb2dyYXBoeVxuLy8gRm9udHMgLy8vLy8vLy8vLy8vLy8vXG5cbi8qICRiYXNlLWZvbnQ6ICdPcGVuIFNhbnMnLCBBcmlhbCwgc2Fucy1zZXJpZjsgKi9cblxuJGJhc2UtZm9udDogJ05vdG8gU2FucycsXG5BcmlhbCxcbnNhbnMtc2VyaWY7XG4kYm9keS1mb250OiAkYmFzZS1mb250O1xuLy8gRm9udCBTaXplcyAvLy8vLy8vLy8vLy8vLy9cbiRiYXNlLWZvbnQtc2l6ZTogMTZweDtcblxuLyogJGJhc2UtbGluZS1oZWlnaHQ6IDEuNjsgKi9cblxuJGJhc2UtbGluZS1oZWlnaHQ6IDEuNztcbi8vIEZvbnQtc2l6ZSBtYXBzIHRvIGJlIHVzZWQgd2l0aCBmb250LXNpemUgbWl4LWluLlxuLy8gSW5jbHVkZXMgdGV4dCBzaXplIGFuZCBsaW5lLWhlaWdodC5cbiRmb250LXNpemUtc21hbGw6IChudWxsOiAoMTRweCwgMS42NSksICk7XG5cbi8qIGRlZmF1bHQgKi9cblxuJGZvbnQtc2l6ZS1tZWRpdW06IChudWxsOiAoJGJhc2UtZm9udC1zaXplLCAkYmFzZS1saW5lLWhlaWdodCksICk7XG5cbi8qIGJhc2UgZm9udCBzaXplIHdpdGggc2hvcnRlciBsaW5lLWhlaWdodCAqL1xuXG4kZm9udC1zaXplLW1lZGl1bS1hbHQ6IChudWxsOiAoMTZweCwgMS42KSwgKTtcblxuLyogaDUgKi9cblxuJGZvbnQtc2l6ZS1sYXJnZTogKG51bGw6ICgxNnB4LCAxLjU2KSwgbGc6ICgxOHB4LCAxLjU1KSwgKTtcblxuLyogaDQgKi9cblxuJGZvbnQtc2l6ZS14LWxhcmdlOiAobnVsbDogKDE4cHgsIDEuNTUpLCBsZzogKDIwcHgsIDEuNjUpLCApO1xuXG4vKiBoMyAqL1xuXG4kZm9udC1zaXplLXh4LWxhcmdlOiAobnVsbDogKDIwcHgsIDEuNiksIGxnOiAoMjRweCwgMS41KSwgKTtcblxuLyogaDIgKi9cblxuJGZvbnQtc2l6ZS14eHgtbGFyZ2U6IChudWxsOiAoMjRweCwgMS41KSwgbGc6ICgyOHB4LCAxLjUpLCB4eGw6ICgzMHB4LCAxLjUpLCApO1xuXG4vKiBoMSAqL1xuXG4kZm9udC1zaXplLXh4eHgtbGFyZ2U6IChudWxsOiAoMjhweCwgMS40MyksIGxnOiAoMzRweCwgMS40MyksIHh4bDogKDM4cHgsIDEuNDMpLCApO1xuJGZvbnQtc2l6ZS14eHh4eC1sYXJnZTogKG51bGw6ICgzNHB4LCA1MHB4KSwgbGc6ICg0MHB4LCA2MHB4KSwgeHhsOiAoNDZweCwgNjRweCksICk7XG5cbi8qXG5Vc2UgdGhpcyBtaXhpbiB0byBhZGQgZm9udCBzaXplcyBmcm9tIHRoZSBtYXBzIGFib3ZlIHdpdGggbGluZS1oZWlnaHRzIGFuZCBtcSdzIGluY2x1ZGVkLlxuZWc6IEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXh4eHgtbGFyZ2UpO1xuKi9cblxuQG1peGluIGZvbnQtc2l6ZSgkZnMtbWFwLCAkZnMtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgIEBlYWNoICRmcy1icmVha3BvaW50LFxuICAgICRmcy1mb250LXNpemUgaW4gJGZzLW1hcCB7XG4gICAgICAgIEBpZiAkZnMtYnJlYWtwb2ludD09bnVsbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWZvbnQtc2l6ZSgkZnMtZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAvLyBJZiAkZnMtZm9udC1zaXplIGlzIGEga2V5IHRoYXQgZXhpc3RzIGluXG4gICAgICAgICAgICAvLyAkZnMtYnJlYWtwb2ludHMsIHVzZSB0aGUgdmFsdWVcbiAgICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkZnMtYnJlYWtwb2ludHMsICRmcy1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgJGZzLWJyZWFrcG9pbnQ6IG1hcC1nZXQoJGZzLWJyZWFrcG9pbnRzLCAkZnMtYnJlYWtwb2ludCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRmcy1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1mb250LXNpemUoJGZzLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLypcblV0aWxpdHkgZnVuY3Rpb24gZm9yIG1peGluIGZvbnQtc2l6ZS5cbiovXG5cbkBtaXhpbiBtYWtlLWZvbnQtc2l6ZSgkZnMtZm9udC1zaXplKSB7XG4gICAgLy8gSWYgJGZzLWZvbnQtc2l6ZSBpcyBhIGxpc3QsIGluY2x1ZGVcbiAgICAvLyBib3RoIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHRcbiAgICBAaWYgdHlwZS1vZigkZnMtZm9udC1zaXplKT09XCJsaXN0XCIge1xuICAgICAgICBmb250LXNpemU6IG50aCgkZnMtZm9udC1zaXplLCAxKTtcbiAgICAgICAgQGlmIChsZW5ndGgoJGZzLWZvbnQtc2l6ZSkgPiAxKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbnRoKCRmcy1mb250LXNpemUsIDIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkZnMtZm9udC1zaXplO1xuICAgIH1cbn1cblxuLy8gRm9udCBXZWlnaHRzIC8vLy8vLy8vLy8vLy8vL1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAzMDA7XG4kZm9udC13ZWlnaHQtcmVndWxhcjogNDAwO1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiA2MDA7XG4kZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuLy8vLy8vLyBFREwgQURERURcblxuLyogaDQgKi9cblxuJGZvbnQtc2l6ZS1zdHlsZS1oMjogKG51bGw6ICgyNHB4LCAzNnB4KSwgdGFibGV0OiAoMjhweCwgNDJweCksIGRlc2t0b3A6ICgzMHB4LCA0NXB4KSk7XG5cbi8qIGgzICovXG5cbiRmb250LXNpemUtc3R5bGUtaDM6IChudWxsOiAoMjBweCwgMS42KSwgdGFibGV0OiAoMjRweCwgMS40KSk7XG5cbi8qIGg0ICovXG5cbiRmb250LXNpemUtc3R5bGUtaDQ6IChudWxsOiAoMThweCwgMS41NSksIHRhYmxldDogKDIwcHgsIDEuNjUpLCApO1xuQG1peGluIHN0eWxlLWJvZHkge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtbWVkaXVtKTtcbn1cblxuQG1peGluIHN0eWxlLWgyIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zdHlsZS1oMik7XG4gICAgY29sb3I6ICRncmF5NDtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5AbWl4aW4gc3R5bGUtaDMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXN0eWxlLWgzKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AbWl4aW4gc3R5bGUtaDQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXN0eWxlLWg0KTtcbiAgICBjb2xvcjogJGdyYXk0O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbkBtaXhpbiBzdHlsZS1iaWd0ZXh0IHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS14eHh4eC1sYXJnZSk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1peGluIGZvbnRhd2Vzb21lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiO1xufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRnVuY3Rpb25zXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gRnVuY3Rpb24gdG8gcmV0dXJuIGEgdmFsdWUgZnJvbSBhIG1hcCBiYXNlZCBvbiBhIGtleS5cbkBmdW5jdGlvbiBnZXQtdmFyKCRrZXksICRtYXApIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gIH1cblxuICBAd2FybiAnVW5rbm93biBgI3ska2V5fWAgaW4gbWFwLiBUcnkgXCJAaW5jbHVkZSBwcmludCgkbWFwKTtcIiB0byBzZWUgd2hhdFxcJ3MgYXZhaWxhYmxlLic7XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLypcbkZ1bmN0aW9uIHNvIHdlIGRvbid0IGhhdmUgdG8gdXNlIG1hcC1nZXQgd2l0aCAkYnJlYWtwb2ludHMuXG5lZzogYnAoeHhsKSBvciBAaW5jbHVkZSBicmVha3BvaW50KGJwKHh4bCkpXG4qL1xuQGZ1bmN0aW9uIGJwKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRrZXkpO1xuICB9XG5cbiAgQHdhcm4gXCJVbmtub3duIGAjeyRrZXl9YCBpbiAkYnJlYWtwb2ludHMuXCI7XG5cbiAgQHJldHVybiBudWxsO1xufVxuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJyZWFrcG9pbnRzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYnAteHNtOiAzNzVweDtcbiRicC1zbTogNzY4cHg7XG4kYnAtbWQ6IDEwMjVweDtcbiRicC1sZzogMTIwMHB4O1xuJGJwLXhsZzogMTQ4MHB4O1xuXG4vKiBTdGFuZGFyZCByYW5nZXMgZnJvbSBkZXNpZ25cbiAqICAgXCJkZXNrdG9wXCIgOiA5NjEgYW5kIHVwXG4gKiAgIFwidGFibGV0XCIgIDogNTEwIHRocnUgOTYwXG4gKiAgIFwibW9iaWxlXCIgIDogMzIwIHRocnUgNTA5XG4gKi9cbiRicmVha3BvaW50czogKHh4eGwgOiAoc2NyZWVuIDEyODFweCksXG4gIHN1Ym5hdi1kZXNrIDogKHNjcmVlbiAxMjIwcHgpLFxuICBzdWJuYXYtZHluYW1lZC1kZXNrIDogKHNjcmVlbiAxMDAwcHgpLFxuICB4eGwgOiAoc2NyZWVuIDExMjFweCksXG4gIHhsIDogKHNjcmVlbiA5NjFweCksXG4gIGRlc2t0b3AgOiAoc2NyZWVuIDk2MXB4KSxcbiAgbGcgOiAoc2NyZWVuIDgwMXB4KSxcbiAgbWQgOiAoc2NyZWVuIDcyMXB4KSxcbiAgbWlkIDogKHNjcmVlbiA2ODBweCksXG4gIHRhYmxldCA6IChzY3JlZW4gNTEwcHgpLFxuICBzbSA6IChzY3JlZW4gNTEwcHgpLFxuICB4cyA6IChzY3JlZW4gNDgxcHgpLFxuICB4eHMgOiAoc2NyZWVuIDMyMXB4KSxcbiAgeHhsLW1heDogKHNjcmVlbiAobWF4LXdpZHRoIDEyNjBweCkpLFxuICB4bC1tYXggOiAoc2NyZWVuIChtYXgtd2lkdGggMTEyMHB4KSksXG4gIHRhYmxldC1tYXggOiAoc2NyZWVuIChtYXgtd2lkdGggOTYwcHgpKSxcbiAgbGctbWF4IDogKHNjcmVlbiAobWF4LXdpZHRoIDk2MHB4KSksXG4gIG1kLW1heCA6IChzY3JlZW4gKG1heC13aWR0aCA4MDBweCkpLFxuICBzbS1tYXggOiAoc2NyZWVuIChtYXgtd2lkdGggNzIwcHgpKSxcbiAgbW9iaWxlLW1heCA6IChzY3JlZW4gKG1heC13aWR0aCA1MDlweCkpLFxuICB4cy1tYXggOiAoc2NyZWVuIChtYXgtd2lkdGggNTA5cHgpKSxcbiAgeHhzLW1heDogKHNjcmVlbiAobWF4LXdpZHRoIDQ4MHB4KSksXG4gIGJwLW5hdiA6IChzY3JlZW4gODIwcHgpLFxuKTtcbiIsIi8vIEltcG9ydCBzaXRlIHV0aWxpdGllc1xuQGltcG9ydCAnLi4vLi4vMDAtZ2xvYmFsL3V0aWxzL2luaXQnO1xuXG4vLyBNSVhJTlMgLy8gU0VUVElOR1MvL1xuXG46cm9vdCB7XG4gIC8qIFRvcCBOYXYgIFJlcXVpcmVtZW50czpcbiAgICogQCBtb2JpbGVcbiAgICogICAgIGRlZmF1bHQgZm9udC1zaXplIGlzIDE2cHhcbiAgICogQCB0YWJsZXRcbiAgICogICAgIGRlZmF1bHQgZm9udC1zaXplIGlzIDE4cHhcbiAgICogQCBkZXNrdG9wXG4gICAqICAgICBkZWZhdWx0IGZvbnQtc2l6ZSBpcyAxOHB4XG4gICAqL1xuICAtLXRvcG5hdi1mb250LXNpemU6IDE2cHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChicCh0YWJsZXQpKSB7XG4gICAgLS10b3BuYXYtZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG5cbi5ob21lX19zaXRlLXBhZ2Uge1xuXG4gICYgLnNlY3Rpb24taGVhZGVyIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zdHlsZS1oMik7XG5cbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJiAuc2VjdGlvbi1zdWJoZWFkZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXN0eWxlLWg0KTtcblxuICAgIGNvbG9yOiAkZ3JheTQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xuICAgIG1hcmdpbjogMXJlbSBhdXRvO1xuICB9XG5cbiAgLy8gQWxsIGxpbmtzIHNob3VsZCBiZSBib2xkIG9uIGhvbWUgcGFnZS5cbiAgLmVkbC1saW5rIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1tZWRpdW0pO1xuXG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICB9XG5cbiAgfVxuXG4gIC8vIE1hcmtldCsgbGlua3MuXG4gICYgLmhvbWVfbWFya2V0LWNob2ljZXMge1xuICAgIC8qIGJhY2tncm91bmQtY29sb3I6ICRlYnNjby1uYXZ5OyAqL1xuICAgIHBhZGRpbmc6IDIwcHggMDtcblxuICAgICYgLmVkbC1saW5rLWdyb3VwIHtcbiAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA4MjBweDtcblxuICAgICAgJiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogd3JhcDtcbiAgICAgICAgZ2FwOiAyMHB4IDIwcHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJiBsaTo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIGxpIC5lZGwtbGluayB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJyN7JGltZy1kaXJ9L2FjYWRlbWljLWxpYnJhcmllcy1tYXJrZXQtdGh1bWJuYWlsLTI2MC5qcGcnKSBjZW50ZXIgY2VudGVyIC8gMjYwcHggbm8tcmVwZWF0ICRtYXJrZXQtYmx1ZTY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IHZhcigtLXRvcG5hdi1mb250LXNpemUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgd2lkdGg6IDI2MHB4O1xuICAgIH1cblxuICAgIC8vIFB1YmxpYyBMaWJyYXJpZXMuXG4gICAgJiBsaTpudGgtY2hpbGQoMikgLmVkbC1saW5rIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skaW1nLWRpcn0vcHVibGljLWxpYnJhcmllcy1tYXJrZXQtdGh1bWJuYWlsLTI2MC5qcGcnKTtcbiAgICB9XG5cbiAgICAvLyBTY2hvb2xzLlxuICAgICYgbGk6bnRoLWNoaWxkKDMpIC5lZGwtbGluayB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGltZy1kaXJ9L3NjaG9vbHMtbWFya2V0LXRodW1ibmFpbC0yNjAuanBnJyk7XG4gICAgfVxuXG4gICAgLy8gSGVhbHRoIGNhcmUuXG4gICAgJiBsaTpudGgtY2hpbGQoNCkgLmVkbC1saW5rIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skaW1nLWRpcn0vaGVhbHRoLWNhcmUtbWFya2V0LXRodW1ibmFpbC0yNjAuanBnJyk7XG4gICAgfVxuXG4gICAgLy8gQ29ycG9yYXRpb25zLlxuICAgICYgbGk6bnRoLWNoaWxkKDUpIC5lZGwtbGluayB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGltZy1kaXJ9L2NvcnBvcmF0ZS1tYXJrZXQtdGh1bWJuYWlsLTI2MC5qcGcnKTtcbiAgICB9XG5cbiAgICAvLyBQdWJsaXNoZXJzLlxuICAgICYgbGk6bnRoLWNoaWxkKDYpIC5lZGwtbGluayB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGltZy1kaXJ9L3B1Ymxpc2hlcnMtbWFya2V0LXRodW1ibmFpbC0yNjAuanBnJyk7XG4gICAgfVxuXG4gICAgJiBsaSAuZWRsLWxpbms6aG92ZXIsXG4gICAgJiBsaSAuZWRsLWxpbms6YWN0aXZlLFxuICAgICYgbGkgLmVkbC1saW5rOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtYXJrZXQtYmx1ZTg7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctLWhvdmVyMjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWluIGJyYW5kaW5nL3Nsb2dhbiBib3guXG4gICYgLmhvbWVfYnJhbmRpbmctYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFya2V0LWJsdWU2O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmIC5lZGwtc2xhYl9jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogNzQwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIH1cblxuICAgICYgcCB7XG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbWFsbCk7XG5cbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmIC50ZWFzZXItYm94IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICB9XG4gIH1cblxuICAvLyBUaHJlZSBmZWF0dXJlZCBjb250ZW50IGJveGVzLlxuICAmIC5ob21lX2ZlYXR1cmVkLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6IHVybCgnI3skaW1nLWRpcn0vaG9tZXBhZ2UtdG9waWNzLXNlY3Rpb24tYnV0dGVyLXBhdHRlcm4tYmFja2dyb3VuZC0xMDAucG5nJykgY2VudGVyIGNlbnRlciAvIDEwMHB4IHJlcGVhdCAkYnV0dGVyMDU7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG5cbiAgICAmIC50ZWFzZXItYm94IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgICYgLnRlYXNlci1ib3g6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSWNvbiBib3hlcyB0byBzZWNvbmRhcnkgZmVhdHVyZWQgY29udGVudC5cbiAgJiAuaG9tZV9wcm9kdWN0LW9wdGlvbnMge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG5cbiAgJiAuaWNvbi1ibG9ja3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogNDBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDI1cHggYXV0byA0MHB4O1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gIH1cblxuICAvLyBDdXJhdGVkIGJsb2cgaXRlbSBib3guXG4gICYgLmhvbWVfYmxvZy1mZWF0dXJlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFya2V0LWJsdWU7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG5cbiAgICAmIC5lZGxfdGVhc2VyYm94LS1ibG9nLW1haW4tdGVhc2VyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgICYgLmVkbC1zbGFiX2NvbnRlbnQgPiAqOm5vdCgudGVhc2VyLWJveCkge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmIC5lZGwtc2xhYl9jb250ZW50ID4gLmVkbC1saW5rLWdyb3VwIHtcbiAgICAgICYgLmVkbC1saW5rIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5zZWN0aW9uLXN1YmhlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgJiAuZWRsLWxpbmstZ3JvdXAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgJiBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTmV3c2xldHRlciBzaWdudXAgYm94LlxuICAmIC5ob21lX25ld3NsZXR0ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCgnI3skaW1nLWRpcn0vaG9tZXBhZ2UtbmV3c2xldHRlci1zZWN0aW9uLWdyYXktcGF0dGVybi1iYWNrZ3JvdW5kLTQwNS5wbmcnKSAwIDAgLyA0MDVweCByZXBlYXQgI0ZBRkFGQTtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICAgICYgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gIH1cblxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGJwKHRhYmxldCkpIHtcbiAgLmhvbWVfX3NpdGUtcGFnZSB7XG4gICAgLy8gTWFya2V0KyBsaW5rcy5cbiAgICAmIC5ob21lX21hcmtldC1jaG9pY2VzIHtcblxuICAgICAgJiAuZWRsLWxpbmstZ3JvdXAgdWwge1xuICAgICAgICBnYXA6IDIwcHggMjBweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgJiBsaSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAuaG9tZV9icmFuZGluZy1ib3gge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXG4gICAgICAmIC5lZGwtc2xhYl9jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE0MXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogNjJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5ob21lX2Jsb2ctZmVhdHVyZSB7XG4gICAgICAmIC5lZGwtbGluay1ncm91cCB7XG4gICAgICAgICYgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChicChsZykpIHtcbiAgLmhvbWVfX3NpdGUtcGFnZSB7XG5cbiAgICAmIC5pY29uLWJsb2NrcyB7XG4gICAgICBnYXA6IDUwcHg7XG4gICAgfVxuXG4gICAgLy8gTWFya2V0KyBsaW5rcyBbIGRlc2t0b3AgXVxuICAgICYgLmhvbWVfbWFya2V0LWNob2ljZXMge1xuXG4gICAgICAmIC5lZGwtbGluay1ncm91cCB1bCB7XG4gICAgICAgIGdhcDogMjBweCAyMHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5ob21lX2JyYW5kaW5nLWJveCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyODBweDtcblxuICAgICAgJiAuZWRsLXNsYWJfY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogNjIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNDFweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDYycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhyZWUgZmVhdHVyZWQgY29udGVudCBib3hlcyBbIGRlc2t0b3AgXVxuICAgICYgLmhvbWVfZmVhdHVyZWQtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuXG4gICAgICAmIC50ZWFzZXItYm94IHtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8qICRiYXNlLWZvbnQ6ICdPcGVuIFNhbnMnLCBBcmlhbCwgc2Fucy1zZXJpZjsgKi9cbi8qICRiYXNlLWxpbmUtaGVpZ2h0OiAxLjY7ICovXG4vKiBkZWZhdWx0ICovXG4vKiBiYXNlIGZvbnQgc2l6ZSB3aXRoIHNob3J0ZXIgbGluZS1oZWlnaHQgKi9cbi8qIGg1ICovXG4vKiBoNCAqL1xuLyogaDMgKi9cbi8qIGgyICovXG4vKiBoMSAqL1xuLypcblVzZSB0aGlzIG1peGluIHRvIGFkZCBmb250IHNpemVzIGZyb20gdGhlIG1hcHMgYWJvdmUgd2l0aCBsaW5lLWhlaWdodHMgYW5kIG1xJ3MgaW5jbHVkZWQuXG5lZzogQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUteHh4eC1sYXJnZSk7XG4qL1xuLypcblV0aWxpdHkgZnVuY3Rpb24gZm9yIG1peGluIGZvbnQtc2l6ZS5cbiovXG4vKiBoNCAqL1xuLyogaDMgKi9cbi8qIGg0ICovXG4vKlxuRnVuY3Rpb24gc28gd2UgZG9uJ3QgaGF2ZSB0byB1c2UgbWFwLWdldCB3aXRoICRicmVha3BvaW50cy5cbmVnOiBicCh4eGwpIG9yIEBpbmNsdWRlIGJyZWFrcG9pbnQoYnAoeHhsKSlcbiovXG4vKiBTdGFuZGFyZCByYW5nZXMgZnJvbSBkZXNpZ25cbiAqICAgXCJkZXNrdG9wXCIgOiA5NjEgYW5kIHVwXG4gKiAgIFwidGFibGV0XCIgIDogNTEwIHRocnUgOTYwXG4gKiAgIFwibW9iaWxlXCIgIDogMzIwIHRocnUgNTA5XG4gKi9cbjpyb290IHtcbiAgLyogVG9wIE5hdiAgUmVxdWlyZW1lbnRzOlxuICAgKiBAIG1vYmlsZVxuICAgKiAgICAgZGVmYXVsdCBmb250LXNpemUgaXMgMTZweFxuICAgKiBAIHRhYmxldFxuICAgKiAgICAgZGVmYXVsdCBmb250LXNpemUgaXMgMThweFxuICAgKiBAIGRlc2t0b3BcbiAgICogICAgIGRlZmF1bHQgZm9udC1zaXplIGlzIDE4cHhcbiAgICovXG4gIC0tdG9wbmF2LWZvbnQtc2l6ZTogMTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUxMHB4KSB7XG4gIDpyb290IHtcbiAgICAtLXRvcG5hdi1mb250LXNpemU6IDE4cHg7XG4gIH1cbn1cblxuLmhvbWVfX3NpdGUtcGFnZSAuc2VjdGlvbi1oZWFkZXIge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MTBweCkge1xuICAuaG9tZV9fc2l0ZS1wYWdlIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjFweCkge1xuICAuaG9tZV9fc2l0ZS1wYWdlIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICB9XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5zZWN0aW9uLXN1YmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gIGNvbG9yOiAjM0QzRjQyO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW46IDFyZW0gYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUxMHB4KSB7XG4gIC5ob21lX19zaXRlLXBhZ2UgLnNlY3Rpb24tc3ViaGVhZGVyIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gIH1cbn1cbi5ob21lX19zaXRlLXBhZ2UgLmVkbC1saW5rIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS43O1xuICBjb2xvcjogIzJENjJCNztcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5lZGwtbGluazpob3ZlciwgLmhvbWVfX3NpdGUtcGFnZSAuZWRsLWxpbms6YWN0aXZlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyB7XG4gIC8qIGJhY2tncm91bmQtY29sb3I6ICRlYnNjby1uYXZ5OyAqL1xuICBwYWRkaW5nOiAyMHB4IDA7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX21hcmtldC1jaG9pY2VzIC5lZGwtbGluay1ncm91cCB7XG4gIG1hcmdpbjogMjBweCBhdXRvO1xuICBtYXgtd2lkdGg6IDgyMHB4O1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyAuZWRsLWxpbmstZ3JvdXAgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHdyYXA7XG4gIGdhcDogMjBweCAyMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyAuZWRsLWxpbmstZ3JvdXAgdWwgbGk6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgbGkgLmVkbC1saW5rIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vZWJzY29fZGVzaWduX2xpYnJhcnkvaW1nL2FjYWRlbWljLWxpYnJhcmllcy1tYXJrZXQtdGh1bWJuYWlsLTI2MC5qcGdcIikgY2VudGVyIGNlbnRlci8yNjBweCBuby1yZXBlYXQgIzJENjJCNztcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDM5LCA0MSwgNDIsIDAuMjUpO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IHZhcigtLXRvcG5hdi1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBoZWlnaHQ6IDgwcHg7XG4gIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdpZHRoOiAyNjBweDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgbGk6bnRoLWNoaWxkKDIpIC5lZGwtbGluayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Vic2NvX2Rlc2lnbl9saWJyYXJ5L2ltZy9wdWJsaWMtbGlicmFyaWVzLW1hcmtldC10aHVtYm5haWwtMjYwLmpwZ1wiKTtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgbGk6bnRoLWNoaWxkKDMpIC5lZGwtbGluayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Vic2NvX2Rlc2lnbl9saWJyYXJ5L2ltZy9zY2hvb2xzLW1hcmtldC10aHVtYm5haWwtMjYwLmpwZ1wiKTtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgbGk6bnRoLWNoaWxkKDQpIC5lZGwtbGluayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Vic2NvX2Rlc2lnbl9saWJyYXJ5L2ltZy9oZWFsdGgtY2FyZS1tYXJrZXQtdGh1bWJuYWlsLTI2MC5qcGdcIik7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX21hcmtldC1jaG9pY2VzIGxpOm50aC1jaGlsZCg1KSAuZWRsLWxpbmsge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9lYnNjb19kZXNpZ25fbGlicmFyeS9pbWcvY29ycG9yYXRlLW1hcmtldC10aHVtYm5haWwtMjYwLmpwZ1wiKTtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgbGk6bnRoLWNoaWxkKDYpIC5lZGwtbGluayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Vic2NvX2Rlc2lnbl9saWJyYXJ5L2ltZy9wdWJsaXNoZXJzLW1hcmtldC10aHVtYm5haWwtMjYwLmpwZ1wiKTtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgbGkgLmVkbC1saW5rOmhvdmVyLCAuaG9tZV9fc2l0ZS1wYWdlIC5ob21lX21hcmtldC1jaG9pY2VzIGxpIC5lZGwtbGluazphY3RpdmUsIC5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgbGkgLmVkbC1saW5rOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzFEM0Y3NTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggLTZweCByZ2JhKDM5LCA0MSwgNDIsIDAuMzUpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2JyYW5kaW5nLWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRDYyQjc7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9icmFuZGluZy1ib3ggLmVkbC1zbGFiX2NvbnRlbnQge1xuICBtYXgtd2lkdGg6IDc0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2JyYW5kaW5nLWJveCBwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS42NTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9icmFuZGluZy1ib3ggLnRlYXNlci1ib3gge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDMwcHggMDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfZmVhdHVyZWQtY29udGVudCB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2Vic2NvX2Rlc2lnbl9saWJyYXJ5L2ltZy9ob21lcGFnZS10b3BpY3Mtc2VjdGlvbi1idXR0ZXItcGF0dGVybi1iYWNrZ3JvdW5kLTEwMC5wbmdcIikgY2VudGVyIGNlbnRlci8xMDBweCByZXBlYXQgI0ZBQjczQztcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9mZWF0dXJlZC1jb250ZW50IC50ZWFzZXItYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2ZlYXR1cmVkLWNvbnRlbnQgLnRlYXNlci1ib3g6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfcHJvZHVjdC1vcHRpb25zIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaWNvbi1ibG9ja3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogNDBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMjVweCBhdXRvIDQwcHg7XG4gIG1heC13aWR0aDogOTAwcHg7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2Jsb2ctZmVhdHVyZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzRTc1Q0Y7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYmxvZy1mZWF0dXJlIC5lZGxfdGVhc2VyYm94LS1ibG9nLW1haW4tdGVhc2VyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2Jsb2ctZmVhdHVyZSAuZWRsLXNsYWJfY29udGVudCA+ICo6bm90KC50ZWFzZXItYm94KSB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2Jsb2ctZmVhdHVyZSAuZWRsLXNsYWJfY29udGVudCA+IC5lZGwtbGluay1ncm91cCAuZWRsLWxpbmsge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYmxvZy1mZWF0dXJlIC5zZWN0aW9uLXN1YmhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYmxvZy1mZWF0dXJlIC5lZGwtbGluay1ncm91cCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2Jsb2ctZmVhdHVyZSAuZWRsLWxpbmstZ3JvdXAgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9uZXdzbGV0dGVyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vZWJzY29fZGVzaWduX2xpYnJhcnkvaW1nL2hvbWVwYWdlLW5ld3NsZXR0ZXItc2VjdGlvbi1ncmF5LXBhdHRlcm4tYmFja2dyb3VuZC00MDUucG5nXCIpIDAgMC80MDVweCByZXBlYXQgI0ZBRkFGQTtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9uZXdzbGV0dGVyIC5zZWN0aW9uLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTEwcHgpIHtcbiAgLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyAuZWRsLWxpbmstZ3JvdXAgdWwge1xuICAgIGdhcDogMjBweCAyMHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgLmVkbC1saW5rLWdyb3VwIHVsIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9icmFuZGluZy1ib3gge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuICAuaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2JyYW5kaW5nLWJveCAuZWRsLXNsYWJfY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDE0MXB4O1xuICAgIHBhZGRpbmctdG9wOiA2MnB4O1xuICB9XG4gIC5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYmxvZy1mZWF0dXJlIC5lZGwtbGluay1ncm91cCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogaW5pdGlhbDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAxcHgpIHtcbiAgLmhvbWVfX3NpdGUtcGFnZSAuaWNvbi1ibG9ja3Mge1xuICAgIGdhcDogNTBweDtcbiAgfVxuICAuaG9tZV9fc2l0ZS1wYWdlIC5ob21lX21hcmtldC1jaG9pY2VzIC5lZGwtbGluay1ncm91cCB1bCB7XG4gICAgZ2FwOiAyMHB4IDIwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9icmFuZGluZy1ib3gge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTI4MHB4O1xuICB9XG4gIC5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYnJhbmRpbmctYm94IC5lZGwtc2xhYl9jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDYyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNDFweDtcbiAgICBwYWRkaW5nLXRvcDogNjJweDtcbiAgfVxuICAuaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2ZlYXR1cmVkLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG4gIC5ob21lX19zaXRlLXBhZ2UgLmhvbWVfZmVhdHVyZWQtY29udGVudCAudGVhc2VyLWJveCB7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIERlZmF1bHQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRCcmVha3BvaW50LVNldHRpbmdzOiAoXG4gICdkZWZhdWx0IG1lZGlhJzogYWxsLFxuICAnZGVmYXVsdCBmZWF0dXJlJzogbWluLXdpZHRoLFxuICAnZGVmYXVsdCBwYWlyJzogd2lkdGgsXG5cbiAgJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJzogZmFsc2UsXG4gICd0byBlbXMnOiBmYWxzZSxcbiAgJ3RyYW5zZm9ybSByZXNvbHV0aW9ucyc6IHRydWUsXG5cbiAgJ25vIHF1ZXJpZXMnOiBmYWxzZSxcbiAgJ25vIHF1ZXJ5IGZhbGxiYWNrcyc6IGZhbHNlLFxuXG4gICdiYXNlIGZvbnQgc2l6ZSc6IDE2cHgsXG5cbiAgJ2xlZ2FjeSBzeW50YXgnOiBmYWxzZVxuKTtcblxuJGJyZWFrcG9pbnQ6ICgpICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcImJyZWFrcG9pbnQvc2V0dGluZ3NcIjtcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvY29udGV4dCc7XG5AaW1wb3J0ICdicmVha3BvaW50L2hlbHBlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9wYXJzZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvbm8tcXVlcnknO1xuXG5AaW1wb3J0ICdicmVha3BvaW50L3Jlc3BvbmQtdG8nO1xuXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9sZWdhY3ktc2V0dGluZ3NcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IE1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGxlZ2FjeS1zZXR0aW5ncy13YXJuaW5nO1xuXG4gIC8vIFJlc2V0IGNvbnRleHRzXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xuXG4gICRicmVha3BvaW50OiBicmVha3BvaW50KCRxdWVyeSwgZmFsc2UpO1xuXG4gICRxdWVyeS1zdHJpbmc6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeScpO1xuICAkcXVlcnktZmFsbGJhY2s6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdmYWxsYmFjaycpO1xuXG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdjb250ZXh0IGhvbGRlcicpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeSBjb3VudCcpICFnbG9iYWw7XG5cbiAgLy8gQWxsb3cgZm9yIGFuIGFzLW5lZWRlZCBvdmVycmlkZSBvciB1c2FnZSBvZiBubyBxdWVyeSBmYWxsYmFjay5cbiAgQGlmICRuby1xdWVyeSAhPSBmYWxzZSB7XG4gICAgJHF1ZXJ5LWZhbGxiYWNrOiAkbm8tcXVlcnk7XG4gIH1cblxuICBAaWYgJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlIHtcbiAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgnbm8tcXVlcnknLCAkcXVlcnktZmFsbGJhY2spO1xuICB9XG5cbiAgLy8gUHJpbnQgT3V0IFF1ZXJ5IFN0cmluZ1xuICBAaWYgbm90IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykge1xuICAgIEBtZWRpYSAjeyRxdWVyeS1zdHJpbmd9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykgIT0gZmFsc2Ugb3IgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSA9PSB0cnVlIHtcblxuICAgICR0eXBlOiB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSk7XG4gICAgJHByaW50OiBmYWxzZTtcblxuICAgIEBpZiAoJHR5cGUgPT0gJ2Jvb2wnKSB7XG4gICAgICAkcHJpbnQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnbGlzdCcpIHtcbiAgICAgIEBlYWNoICR3cmFwcGVyIGluIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gJHdyYXBwZXIge1xuICAgICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdyaXRlIEZhbGxiYWNrXG4gICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIGFuZCAoJHByaW50ID09IHRydWUpIHtcbiAgICAgICR0eXBlLWZhbGxiYWNrOiB0eXBlLW9mKCRxdWVyeS1mYWxsYmFjayk7XG5cbiAgICAgIEBpZiAoJHR5cGUtZmFsbGJhY2sgIT0gJ2Jvb2wnKSB7XG4gICAgICAgICN7JHF1ZXJ5LWZhbGxiYWNrfSAmIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcbn1cblxuXG5AbWl4aW4gbXEoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRUJTQ08gTmF2eVxuJGVic2NvLW5hdnk6ICMwMDJmNTY7XG4kZWJzY28tbmF2eS0taG92ZXI6ICMwMDI0NDI7XG4kZWJzY28tbmF2eTA1OiAjMDAyRjU2O1xuXG4vLyBNYXJrZXQgQmx1ZVxuJG1hcmtldC1ibHVlOiAjM0U3NUNGO1xuJG1hcmtldC1ibHVlLS1ob3ZlcjogIzJENjJCNztcbiRtYXJrZXQtYmx1ZTY6ICMyRDYyQjc7XG4kbWFya2V0LWJsdWUtLXRpbnQzOiAjOEJBQ0UyO1xuJG1hcmtldC1ibHVlLS1kYXJrMDogIzI1NTA5NjtcbiRtYXJrZXQtYmx1ZTc6ICMyNTUwOTY7XG4kbWFya2V0LS1ibHVlLS1kYXJrMTogIzFEM0Y3NTtcbiRtYXJrZXQtYmx1ZTg6ICMxRDNGNzU7XG4kbWFya2V0LS1ibHVlLS1saWdodDA6ICM2NTkxRDk7XG5cbi8vIExhZ29vblxuJGxhZ29vbjogIzAwNzU4RDtcbiRsYWdvb24tLWhvdmVyOiAjMDA2NDc5O1xuXG4vLyBEaXNjb1xuJGRpc2NvOiAjQjQxNzgyO1xuJGRpc2NvLS1ob3ZlcjogIzkwMTI2ODtcbiRkaXNjby0tdGludDM6ICNEMjc0QjQ7XG5cbi8vIFR1cnRsZVxuJHR1cnRsZTogIzI2ODc0MjtcbiR0dXJ0bGUtLWhvdmVyOiAjMUQ2NzMyO1xuXG4vLyBCdXR0ZXJcbiRidXR0ZXIwNTogI0ZBQjczQztcblxuLy8gQ29tbW9uIENvbG9yc1xuJHdoaXRlOiAjZmZmO1xuJHdoaXRlLS1zZW1pOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4kd2hpdGUtLXNoZWVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTUpO1xuJHdoaXRlLS10cmFuc3BhcmVudDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiR3aGl0ZS0tbWlkOiByZ2JhKDI1NSwyNTUsMjU1LDAuNTUpO1xuJGJsYWNrOiAjMDAwO1xuJG92ZXJsYXktLXNlbWk6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiRibGFjay0tcGl0Y2g6ICMwMDBFMTk7XG5cbi8vIEdyYXlzXG4kZ3JheTA6ICNFRkVGRUY7XG4kZ3JheTE6ICNEOURBREI7XG4kZ3JheTI6ICNCOEJCQkY7XG4kZ3JheTM6ICM3QTdGODU7XG4kZ3JheTQ6ICMzRDNGNDI7XG4vLyAkZ3JheTQgMzAlIG9wYWNpdHlcbiRncmF5NC0tdHJhbnMzMDogcmdiYSg2MSwgNjMsIDY2LCAwLjMpO1xuJGdyYXk1OiAjMjcyOTJBO1xuJGdyYXk2OiAjOEQ5MDk1O1xuXG4vLyBDb2xvciBVc2FnZXNcbiR0ZXh0LWNvbG9yOiAkZ3JheTQ7XG4kbGluay1jb2xvcjogJG1hcmtldC1ibHVlNjtcbiRwYWdlLWhlYWRlci1jb2xvcjogJHdoaXRlO1xuJHBhZ2UtZm9vdGVyLWNvbG9yOiAkZWJzY28tbmF2eTtcblxuLy8gQnV0dG9uIFNoYWRvd3NcbiRidG4tc2hhZG93OiByZ2JhKDM5LCA0MSwgNDIsIDAuMjUpO1xuJGJ0bi1zaGFkb3ctLWhvdmVyOiByZ2JhKDM5LCA0MSwgNDIsIDAuMzUpO1xuXG4vLyBCb3ggU2hhZG93c1xuJGJveC1zaGFkb3c6IDAgMnB4IDJweCAwICRidG4tc2hhZG93O1xuJGJveC1zaGFkb3ctLWhvdmVyOiAwIDJweCA0cHggMnB4ICRidG4tc2hhZG93LS1ob3ZlcjtcbiRib3gtc2hhZG93LS1ob3ZlcjI6IDAgMTBweCAxMHB4IC02cHggJGJ0bi1zaGFkb3ctLWhvdmVyO1xuIl19 */
