/* $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("../../ebsco_design_library/img/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("../../ebsco_design_library/img/public-libraries-market-thumbnail-260.jpg");
}
.home__site-page .home_market-choices li:nth-child(3) .edl-link {
  background-image: url("../../ebsco_design_library/img/schools-market-thumbnail-260.jpg");
}
.home__site-page .home_market-choices li:nth-child(4) .edl-link {
  background-image: url("../../ebsco_design_library/img/health-care-market-thumbnail-260.jpg");
}
.home__site-page .home_market-choices li:nth-child(5) .edl-link {
  background-image: url("../../ebsco_design_library/img/corporate-market-thumbnail-260.jpg");
}
.home__site-page .home_market-choices li:nth-child(6) .edl-link {
  background-image: url("../../ebsco_design_library/img/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("../../ebsco_design_library/img/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("../../ebsco_design_library/img/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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9wYXR0ZXJucy8wMC1nbG9iYWwvdXRpbHMvX3R5cG9ncmFwaHkuc2NzcyIsIl9wYXR0ZXJucy8wMC1nbG9iYWwvdXRpbHMvX2Z1bmN0aW9ucy5zY3NzIiwiX3BhdHRlcm5zLzAwLWdsb2JhbC91dGlscy9fYnJlYWtwb2ludHMuc2NzcyIsIl9wYXR0ZXJucy8wMy10ZW1wbGF0ZXMvaG9tZS10ZW1wbGF0ZS9ob21lLXRlbXBsYXRlLnNjc3MiLCJfcGF0dGVybnMvMDMtdGVtcGxhdGVzL2hvbWUtdGVtcGxhdGUvaG9tZS10ZW1wbGF0ZS5jc3MiLCIuLi9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL19icmVha3BvaW50LnNjc3MiLCJfcGF0dGVybnMvMDAtZ2xvYmFsL3V0aWxzL19jb2xvcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxnREFBQTtBQVNBLDRCQUFBO0FBT0EsWUFBQTtBQUlBLDRDQUFBO0FBSUEsT0FBQTtBQUlBLE9BQUE7QUFJQSxPQUFBO0FBSUEsT0FBQTtBQUlBLE9BQUE7QUFLQTs7O0NBQUE7QUF5QkE7O0NBQUE7QUF5QkEsT0FBQTtBQUlBLE9BQUE7QUFJQSxPQUFBO0FDNUZBOzs7Q0FBQTtBQ0pBOzs7O0VBQUE7QUNMQTtFQUNFOzs7Ozs7O0lBQUE7RUFRQSx3QkFBQTtBQ3dCRjtBQzBCSTtFRjNESjtJQVlJLHdCQUFBO0VDeUJGO0FBQ0Y7O0FEcEJFO0VIMERNLGVBQUE7RUFFSSxpQkFBQTtFR3pEUixnQkhtRWtCO0VHbEVsQixTQUFBO0FDdUJKO0FDY0k7RUZ6Q0Y7SUgwRE0sZUFBQTtJQUVJLGlCQUFBO0VJNUJWO0FBQ0Y7QUNRSTtFRnpDRjtJSDBETSxlQUFBO0lBRUksaUJBQUE7RUl0QlY7QUFDRjtBRGhDRTtFSG1ETSxlQUFBO0VBRUksaUJBQUE7RUdsRFIsY0djSTtFSGJKLGdCSDJEa0I7RUcxRGxCLGlCQUFBO0FDa0NKO0FDTEk7RUZsQ0Y7SUhtRE0sZUFBQTtJQUVJLGlCQUFBO0VJVFY7QUFDRjtBRHBDRTtFSDBDTSxlQUFBO0VBRUksZ0JBQUE7RUd6Q1IsY0dsQ1c7RUhtQ1gsMkNIdENRO0VHdUNSLGdCSG1EZTtFR2xEZixxQkFBQTtBQ3NDSjtBRHBDSTtFQUVFLHdCQUFBO0FDcUNOO0FEL0JFO0VBQ0UsbUNBQUE7RUFDQSxlQUFBO0FDaUNKO0FEL0JJO0VBQ0UsaUJBQUE7RUFDQSxnQkFBQTtBQ2lDTjtBRC9CTTtFQUNFLGFBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLHVCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7QUNpQ1I7QUQvQlE7RUFDRSxXQUFBO0VBQ0EsYUFBQTtBQ2lDVjtBRDVCSTtFQUNFLG1JQUFBO0VBQ0Esa0JBQUE7RUFDQSw4Q0dsQk87RUhtQlAsV0dqREU7RUhrREYscUJBQUE7RUFDQSxrQ0FBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxZQUFBO0FDOEJOO0FEMUJJO0VBQ0UsaUdBQUE7QUM0Qk47QUR4Qkk7RUFDRSx3RkFBQTtBQzBCTjtBRHRCSTtFQUNFLDRGQUFBO0FDd0JOO0FEcEJJO0VBQ0UsMEZBQUE7QUNzQk47QURsQkk7RUFDRSwyRkFBQTtBQ29CTjtBRGpCSTtFQUdFLG1CRzNHUztFSDRHVCxtQkFBQTtFQUNBLG1ER3pEZTtFSDBEZixxQkFBQTtBQ2lCTjtBRFpFO0VBQ0UseUJHekhXO0VIMEhYLDZCQUFBO0VBQ0EsNEJBQUE7RUFDQSxrQkFBQTtFQUNBLFdHcEdJO0FGa0hSO0FEWkk7RUFDRSxnQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QUNjTjtBRFhJO0VINURJLGVBQUE7RUFFSSxpQkFBQTtFRzZETixrQkFBQTtBQ2FOO0FEVkk7RUFDRSxTQUFBO0VBQ0EsZUFBQTtBQ1lOO0FEUEU7RUFDRSw4SUFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7QUNTSjtBRFBJO0VBQ0UsdUJBQUE7QUNTTjtBRE5JO0VBQ0UsZ0JBQUE7QUNRTjtBREhFO0VBQ0UsaUJBQUE7RUFDQSxvQkFBQTtBQ0tKO0FERkU7RUFDRSxhQUFBO0VBQ0EsZUFBQTtFQUNBLFNBQUE7RUFDQSx1QkFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7QUNJSjtBREFFO0VBQ0UseUJHbkxVO0VIb0xWLGlCQUFBO0VBQ0Esb0JBQUE7QUNFSjtBREFJO0VBQ0UsaUJBQUE7QUNFTjtBRENJO0VBQ0UsV0dqS0U7RUhrS0Ysa0JBQUE7QUNDTjtBREdNO0VBQ0UsV0d2S0E7QUZzS1I7QURLSTtFQUNFLGtCQUFBO0FDSE47QURNSTtFQUNFLGFBQUE7QUNKTjtBRE1NO0VBQ0UsbUJBQUE7QUNKUjtBRFVFO0VBQ0Usc0lBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0FDUko7QURVSTtFQUNFLG1CQUFBO0VBQ0Esa0JBQUE7QUNSTjs7QUN6Skk7RUY2S0U7SUFDRSxjQUFBO0lBQ0EsdUJBQUE7RUNoQk47RURrQk07SUFDRSxTQUFBO0VDaEJSO0VEcUJFO0lBQ0Usd0JBQUE7RUNuQko7RURxQkk7SUFDRSxxQkFBQTtJQUNBLGlCQUFBO0VDbkJOO0VEeUJNO0lBQ0Usc0JBQUE7RUN2QlI7QUFDRjtBQzdLSTtFRjZNQTtJQUNFLFNBQUE7RUM3Qko7RURtQ0k7SUFDRSxjQUFBO0lBQ0EsdUJBQUE7RUNqQ047RURxQ0U7SUFDRSx1QkFBQTtFQ25DSjtFRHFDSTtJQUNFLGdCQUFBO0lBQ0EscUJBQUE7SUFDQSxpQkFBQTtFQ25DTjtFRHdDRTtJQUNFLGlCQUFBO0lBQ0Esb0JBQUE7RUN0Q0o7RUR3Q0k7SUFDRSxjQUFBO0VDdENOO0FBQ0YiLCJmaWxlIjoiX3BhdHRlcm5zLzAzLXRlbXBsYXRlcy9ob21lLXRlbXBsYXRlL2hvbWUtdGVtcGxhdGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVHlwb2dyYXBoeVxuLy8gRm9udHMgLy8vLy8vLy8vLy8vLy8vXG5cbi8qICRiYXNlLWZvbnQ6ICdPcGVuIFNhbnMnLCBBcmlhbCwgc2Fucy1zZXJpZjsgKi9cblxuJGJhc2UtZm9udDogJ05vdG8gU2FucycsXG5BcmlhbCxcbnNhbnMtc2VyaWY7XG4kYm9keS1mb250OiAkYmFzZS1mb250O1xuLy8gRm9udCBTaXplcyAvLy8vLy8vLy8vLy8vLy9cbiRiYXNlLWZvbnQtc2l6ZTogMTZweDtcblxuLyogJGJhc2UtbGluZS1oZWlnaHQ6IDEuNjsgKi9cblxuJGJhc2UtbGluZS1oZWlnaHQ6IDEuNztcbi8vIEZvbnQtc2l6ZSBtYXBzIHRvIGJlIHVzZWQgd2l0aCBmb250LXNpemUgbWl4LWluLlxuLy8gSW5jbHVkZXMgdGV4dCBzaXplIGFuZCBsaW5lLWhlaWdodC5cbiRmb250LXNpemUtc21hbGw6IChudWxsOiAoMTRweCwgMS42NSksICk7XG5cbi8qIGRlZmF1bHQgKi9cblxuJGZvbnQtc2l6ZS1tZWRpdW06IChudWxsOiAoJGJhc2UtZm9udC1zaXplLCAkYmFzZS1saW5lLWhlaWdodCksICk7XG5cbi8qIGJhc2UgZm9udCBzaXplIHdpdGggc2hvcnRlciBsaW5lLWhlaWdodCAqL1xuXG4kZm9udC1zaXplLW1lZGl1bS1hbHQ6IChudWxsOiAoMTZweCwgMS42KSwgKTtcblxuLyogaDUgKi9cblxuJGZvbnQtc2l6ZS1sYXJnZTogKG51bGw6ICgxNnB4LCAxLjU2KSwgbGc6ICgxOHB4LCAxLjU1KSwgKTtcblxuLyogaDQgKi9cblxuJGZvbnQtc2l6ZS14LWxhcmdlOiAobnVsbDogKDE4cHgsIDEuNTUpLCBsZzogKDIwcHgsIDEuNjUpLCApO1xuXG4vKiBoMyAqL1xuXG4kZm9udC1zaXplLXh4LWxhcmdlOiAobnVsbDogKDIwcHgsIDEuNiksIGxnOiAoMjRweCwgMS41KSwgKTtcblxuLyogaDIgKi9cblxuJGZvbnQtc2l6ZS14eHgtbGFyZ2U6IChudWxsOiAoMjRweCwgMS41KSwgbGc6ICgyOHB4LCAxLjUpLCB4eGw6ICgzMHB4LCAxLjUpLCApO1xuXG4vKiBoMSAqL1xuXG4kZm9udC1zaXplLXh4eHgtbGFyZ2U6IChudWxsOiAoMjhweCwgMS40MyksIGxnOiAoMzRweCwgMS40MyksIHh4bDogKDM4cHgsIDEuNDMpLCApO1xuJGZvbnQtc2l6ZS14eHh4eC1sYXJnZTogKG51bGw6ICgzNHB4LCA1MHB4KSwgbGc6ICg0MHB4LCA2MHB4KSwgeHhsOiAoNDZweCwgNjRweCksICk7XG5cbi8qXG5Vc2UgdGhpcyBtaXhpbiB0byBhZGQgZm9udCBzaXplcyBmcm9tIHRoZSBtYXBzIGFib3ZlIHdpdGggbGluZS1oZWlnaHRzIGFuZCBtcSdzIGluY2x1ZGVkLlxuZWc6IEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXh4eHgtbGFyZ2UpO1xuKi9cblxuQG1peGluIGZvbnQtc2l6ZSgkZnMtbWFwLCAkZnMtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgIEBlYWNoICRmcy1icmVha3BvaW50LFxuICAgICRmcy1mb250LXNpemUgaW4gJGZzLW1hcCB7XG4gICAgICAgIEBpZiAkZnMtYnJlYWtwb2ludD09bnVsbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWZvbnQtc2l6ZSgkZnMtZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAvLyBJZiAkZnMtZm9udC1zaXplIGlzIGEga2V5IHRoYXQgZXhpc3RzIGluXG4gICAgICAgICAgICAvLyAkZnMtYnJlYWtwb2ludHMsIHVzZSB0aGUgdmFsdWVcbiAgICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkZnMtYnJlYWtwb2ludHMsICRmcy1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgJGZzLWJyZWFrcG9pbnQ6IG1hcC1nZXQoJGZzLWJyZWFrcG9pbnRzLCAkZnMtYnJlYWtwb2ludCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRmcy1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1mb250LXNpemUoJGZzLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLypcblV0aWxpdHkgZnVuY3Rpb24gZm9yIG1peGluIGZvbnQtc2l6ZS5cbiovXG5cbkBtaXhpbiBtYWtlLWZvbnQtc2l6ZSgkZnMtZm9udC1zaXplKSB7XG4gICAgLy8gSWYgJGZzLWZvbnQtc2l6ZSBpcyBhIGxpc3QsIGluY2x1ZGVcbiAgICAvLyBib3RoIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHRcbiAgICBAaWYgdHlwZS1vZigkZnMtZm9udC1zaXplKT09XCJsaXN0XCIge1xuICAgICAgICBmb250LXNpemU6IG50aCgkZnMtZm9udC1zaXplLCAxKTtcbiAgICAgICAgQGlmIChsZW5ndGgoJGZzLWZvbnQtc2l6ZSkgPiAxKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbnRoKCRmcy1mb250LXNpemUsIDIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkZnMtZm9udC1zaXplO1xuICAgIH1cbn1cblxuLy8gRm9udCBXZWlnaHRzIC8vLy8vLy8vLy8vLy8vL1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAzMDA7XG4kZm9udC13ZWlnaHQtcmVndWxhcjogNDAwO1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiA2MDA7XG4kZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuLy8vLy8vLyBFREwgQURERURcblxuLyogaDQgKi9cblxuJGZvbnQtc2l6ZS1zdHlsZS1oMjogKG51bGw6ICgyNHB4LCAzNnB4KSwgdGFibGV0OiAoMjhweCwgNDJweCksIGRlc2t0b3A6ICgzMHB4LCA0NXB4KSk7XG5cbi8qIGgzICovXG5cbiRmb250LXNpemUtc3R5bGUtaDM6IChudWxsOiAoMjBweCwgMS42KSwgdGFibGV0OiAoMjRweCwgMS40KSk7XG5cbi8qIGg0ICovXG5cbiRmb250LXNpemUtc3R5bGUtaDQ6IChudWxsOiAoMThweCwgMS41NSksIHRhYmxldDogKDIwcHgsIDEuNjUpLCApO1xuQG1peGluIHN0eWxlLWJvZHkge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtbWVkaXVtKTtcbn1cblxuQG1peGluIHN0eWxlLWgyIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zdHlsZS1oMik7XG4gICAgY29sb3I6ICRncmF5NDtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5AbWl4aW4gc3R5bGUtaDMge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXN0eWxlLWgzKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AbWl4aW4gc3R5bGUtaDQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXN0eWxlLWg0KTtcbiAgICBjb2xvcjogJGdyYXk0O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbkBtaXhpbiBzdHlsZS1iaWd0ZXh0IHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS14eHh4eC1sYXJnZSk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1peGluIGZvbnRhd2Vzb21lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiO1xufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRnVuY3Rpb25zXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gRnVuY3Rpb24gdG8gcmV0dXJuIGEgdmFsdWUgZnJvbSBhIG1hcCBiYXNlZCBvbiBhIGtleS5cbkBmdW5jdGlvbiBnZXQtdmFyKCRrZXksICRtYXApIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gIH1cblxuICBAd2FybiAnVW5rbm93biBgI3ska2V5fWAgaW4gbWFwLiBUcnkgXCJAaW5jbHVkZSBwcmludCgkbWFwKTtcIiB0byBzZWUgd2hhdFxcJ3MgYXZhaWxhYmxlLic7XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLypcbkZ1bmN0aW9uIHNvIHdlIGRvbid0IGhhdmUgdG8gdXNlIG1hcC1nZXQgd2l0aCAkYnJlYWtwb2ludHMuXG5lZzogYnAoeHhsKSBvciBAaW5jbHVkZSBicmVha3BvaW50KGJwKHh4bCkpXG4qL1xuQGZ1bmN0aW9uIGJwKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRrZXkpO1xuICB9XG5cbiAgQHdhcm4gXCJVbmtub3duIGAjeyRrZXl9YCBpbiAkYnJlYWtwb2ludHMuXCI7XG5cbiAgQHJldHVybiBudWxsO1xufVxuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJyZWFrcG9pbnRzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYnAteHNtOiAzNzVweDtcbiRicC1zbTogNzY4cHg7XG4kYnAtbWQ6IDEwMjVweDtcbiRicC1sZzogMTIwMHB4O1xuJGJwLXhsZzogMTQ4MHB4O1xuXG4vKiBTdGFuZGFyZCByYW5nZXMgZnJvbSBkZXNpZ25cbiAqICAgXCJkZXNrdG9wXCIgOiA5NjEgYW5kIHVwXG4gKiAgIFwidGFibGV0XCIgIDogNTEwIHRocnUgOTYwXG4gKiAgIFwibW9iaWxlXCIgIDogMzIwIHRocnUgNTA5XG4gKi9cbiRicmVha3BvaW50czogKHh4eGwgOiAoc2NyZWVuIDEyODFweCksXG4gIHN1Ym5hdi1kZXNrIDogKHNjcmVlbiAxMjIwcHgpLFxuICBzdWJuYXYtZHluYW1lZC1kZXNrIDogKHNjcmVlbiAxMDAwcHgpLFxuICB4eGwgOiAoc2NyZWVuIDExMjFweCksXG4gIHhsIDogKHNjcmVlbiA5NjFweCksXG4gIGRlc2t0b3AgOiAoc2NyZWVuIDk2MXB4KSxcbiAgbGcgOiAoc2NyZWVuIDgwMXB4KSxcbiAgbWQgOiAoc2NyZWVuIDcyMXB4KSxcbiAgdGFibGV0IDogKHNjcmVlbiA1MTBweCksXG4gIHNtIDogKHNjcmVlbiA1MTBweCksXG4gIHhzIDogKHNjcmVlbiA0ODFweCksXG4gIHh4cyA6IChzY3JlZW4gMzIxcHgpLFxuICB4eGwtbWF4OiAoc2NyZWVuIChtYXgtd2lkdGggMTI2MHB4KSksXG4gIHhsLW1heCA6IChzY3JlZW4gKG1heC13aWR0aCAxMTIwcHgpKSxcbiAgdGFibGV0LW1heCA6IChzY3JlZW4gKG1heC13aWR0aCA5NjBweCkpLFxuICBsZy1tYXggOiAoc2NyZWVuIChtYXgtd2lkdGggOTYwcHgpKSxcbiAgbWQtbWF4IDogKHNjcmVlbiAobWF4LXdpZHRoIDgwMHB4KSksXG4gIHNtLW1heCA6IChzY3JlZW4gKG1heC13aWR0aCA3MjBweCkpLFxuICBtb2JpbGUtbWF4IDogKHNjcmVlbiAobWF4LXdpZHRoIDUwOXB4KSksXG4gIHhzLW1heCA6IChzY3JlZW4gKG1heC13aWR0aCA1MDlweCkpLFxuICB4eHMtbWF4OiAoc2NyZWVuIChtYXgtd2lkdGggNDgwcHgpKSxcbiAgYnAtbmF2IDogKHNjcmVlbiA4MjBweCksXG4pO1xuIiwiLy8gSW1wb3J0IHNpdGUgdXRpbGl0aWVzXG5AaW1wb3J0ICcuLi8uLi8wMC1nbG9iYWwvdXRpbHMvaW5pdCc7XG5cbi8vIE1JWElOUyAvLyBTRVRUSU5HUy8vXG5cbjpyb290IHtcbiAgLyogVG9wIE5hdiAgUmVxdWlyZW1lbnRzOlxuICAgKiBAIG1vYmlsZVxuICAgKiAgICAgZGVmYXVsdCBmb250LXNpemUgaXMgMTZweFxuICAgKiBAIHRhYmxldFxuICAgKiAgICAgZGVmYXVsdCBmb250LXNpemUgaXMgMThweFxuICAgKiBAIGRlc2t0b3BcbiAgICogICAgIGRlZmF1bHQgZm9udC1zaXplIGlzIDE4cHhcbiAgICovXG4gIC0tdG9wbmF2LWZvbnQtc2l6ZTogMTZweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGJwKHRhYmxldCkpIHtcbiAgICAtLXRvcG5hdi1mb250LXNpemU6IDE4cHg7XG4gIH1cbn1cblxuLmhvbWVfX3NpdGUtcGFnZSB7XG5cbiAgJiAuc2VjdGlvbi1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXN0eWxlLWgyKTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmIC5zZWN0aW9uLXN1YmhlYWRlciB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc3R5bGUtaDQpO1xuXG4gICAgY29sb3I6ICRncmF5NDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgbWFyZ2luOiAxcmVtIGF1dG87XG4gIH1cblxuICAvLyBBbGwgbGlua3Mgc2hvdWxkIGJlIGJvbGQgb24gaG9tZSBwYWdlLlxuICAuZWRsLWxpbmsge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLW1lZGl1bSk7XG5cbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIH1cblxuICB9XG5cbiAgLy8gTWFya2V0KyBsaW5rcy5cbiAgJiAuaG9tZV9tYXJrZXQtY2hvaWNlcyB7XG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogJGVic2NvLW5hdnk7ICovXG4gICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgJiAuZWRsLWxpbmstZ3JvdXAge1xuICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDgyMHB4O1xuXG4gICAgICAmIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiB3cmFwO1xuICAgICAgICBnYXA6IDIwcHggMjBweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmIGxpOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgbGkgLmVkbC1saW5rIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnI3skaW1nLWRpcn0vYWNhZGVtaWMtbGlicmFyaWVzLW1hcmtldC10aHVtYm5haWwtMjYwLmpwZycpIGNlbnRlciBjZW50ZXIgLyAyNjBweCBuby1yZXBlYXQgJG1hcmtldC1ibHVlNjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdG9wbmF2LWZvbnQtc2l6ZSk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDgwcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB3aWR0aDogMjYwcHg7XG4gICAgfVxuXG4gICAgLy8gUHVibGljIExpYnJhcmllcy5cbiAgICAmIGxpOm50aC1jaGlsZCgyKSAuZWRsLWxpbmsge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRpbWctZGlyfS9wdWJsaWMtbGlicmFyaWVzLW1hcmtldC10aHVtYm5haWwtMjYwLmpwZycpO1xuICAgIH1cblxuICAgIC8vIFNjaG9vbHMuXG4gICAgJiBsaTpudGgtY2hpbGQoMykgLmVkbC1saW5rIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skaW1nLWRpcn0vc2Nob29scy1tYXJrZXQtdGh1bWJuYWlsLTI2MC5qcGcnKTtcbiAgICB9XG5cbiAgICAvLyBIZWFsdGggY2FyZS5cbiAgICAmIGxpOm50aC1jaGlsZCg0KSAuZWRsLWxpbmsge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRpbWctZGlyfS9oZWFsdGgtY2FyZS1tYXJrZXQtdGh1bWJuYWlsLTI2MC5qcGcnKTtcbiAgICB9XG5cbiAgICAvLyBDb3Jwb3JhdGlvbnMuXG4gICAgJiBsaTpudGgtY2hpbGQoNSkgLmVkbC1saW5rIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skaW1nLWRpcn0vY29ycG9yYXRlLW1hcmtldC10aHVtYm5haWwtMjYwLmpwZycpO1xuICAgIH1cblxuICAgIC8vIFB1Ymxpc2hlcnMuXG4gICAgJiBsaTpudGgtY2hpbGQoNikgLmVkbC1saW5rIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skaW1nLWRpcn0vcHVibGlzaGVycy1tYXJrZXQtdGh1bWJuYWlsLTI2MC5qcGcnKTtcbiAgICB9XG5cbiAgICAmIGxpIC5lZGwtbGluazpob3ZlcixcbiAgICAmIGxpIC5lZGwtbGluazphY3RpdmUsXG4gICAgJiBsaSAuZWRsLWxpbms6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogJG1hcmtldC1ibHVlODtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy0taG92ZXIyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1haW4gYnJhbmRpbmcvc2xvZ2FuIGJveC5cbiAgJiAuaG9tZV9icmFuZGluZy1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXJrZXQtYmx1ZTY7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICYgLmVkbC1zbGFiX2NvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiA3NDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgfVxuXG4gICAgJiBwIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtYWxsKTtcblxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICYgLnRlYXNlci1ib3gge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRocmVlIGZlYXR1cmVkIGNvbnRlbnQgYm94ZXMuXG4gICYgLmhvbWVfZmVhdHVyZWQtY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcjeyRpbWctZGlyfS9ob21lcGFnZS10b3BpY3Mtc2VjdGlvbi1idXR0ZXItcGF0dGVybi1iYWNrZ3JvdW5kLTEwMC5wbmcnKSBjZW50ZXIgY2VudGVyIC8gMTAwcHggcmVwZWF0ICRidXR0ZXIwNTtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICAgICYgLnRlYXNlci1ib3gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgJiAudGVhc2VyLWJveDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBJY29uIGJveGVzIHRvIHNlY29uZGFyeSBmZWF0dXJlZCBjb250ZW50LlxuICAmIC5ob21lX3Byb2R1Y3Qtb3B0aW9ucyB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cblxuICAmIC5pY29uLWJsb2NrcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA0MHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMjVweCBhdXRvIDQwcHg7XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgfVxuXG4gIC8vIEN1cmF0ZWQgYmxvZyBpdGVtIGJveC5cbiAgJiAuaG9tZV9ibG9nLWZlYXR1cmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXJrZXQtYmx1ZTtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICAgICYgLmVkbF90ZWFzZXJib3gtLWJsb2ctbWFpbi10ZWFzZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJiAuZWRsLXNsYWJfY29udGVudCA+ICo6bm90KC50ZWFzZXItYm94KSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICYgLmVkbC1zbGFiX2NvbnRlbnQgPiAuZWRsLWxpbmstZ3JvdXAge1xuICAgICAgJiAuZWRsLWxpbmsge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLnNlY3Rpb24tc3ViaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICAmIC5lZGwtbGluay1ncm91cCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAmIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBOZXdzbGV0dGVyIHNpZ251cCBib3guXG4gICYgLmhvbWVfbmV3c2xldHRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcjeyRpbWctZGlyfS9ob21lcGFnZS1uZXdzbGV0dGVyLXNlY3Rpb24tZ3JheS1wYXR0ZXJuLWJhY2tncm91bmQtNDA1LnBuZycpIDAgMCAvIDQwNXB4IHJlcGVhdCAjRkFGQUZBO1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuXG4gICAgJiAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgfVxuXG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoYnAodGFibGV0KSkge1xuICAuaG9tZV9fc2l0ZS1wYWdlIHtcbiAgICAvLyBNYXJrZXQrIGxpbmtzLlxuICAgICYgLmhvbWVfbWFya2V0LWNob2ljZXMge1xuXG4gICAgICAmIC5lZGwtbGluay1ncm91cCB1bCB7XG4gICAgICAgIGdhcDogMjBweCAyMHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAmIGxpIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5ob21lX2JyYW5kaW5nLWJveCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cbiAgICAgICYgLmVkbC1zbGFiX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTQxcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2MnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLmhvbWVfYmxvZy1mZWF0dXJlIHtcbiAgICAgICYgLmVkbC1saW5rLWdyb3VwIHtcbiAgICAgICAgJiBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGJwKGxnKSkge1xuICAuaG9tZV9fc2l0ZS1wYWdlIHtcblxuICAgICYgLmljb24tYmxvY2tzIHtcbiAgICAgIGdhcDogNTBweDtcbiAgICB9XG5cbiAgICAvLyBNYXJrZXQrIGxpbmtzIFsgZGVza3RvcCBdXG4gICAgJiAuaG9tZV9tYXJrZXQtY2hvaWNlcyB7XG5cbiAgICAgICYgLmVkbC1saW5rLWdyb3VwIHVsIHtcbiAgICAgICAgZ2FwOiAyMHB4IDIwcHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLmhvbWVfYnJhbmRpbmctYm94IHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTI4MHB4O1xuXG4gICAgICAmIC5lZGwtc2xhYl9jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE0MXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogNjJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaHJlZSBmZWF0dXJlZCBjb250ZW50IGJveGVzIFsgZGVza3RvcCBdXG4gICAgJiAuaG9tZV9mZWF0dXJlZC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG5cbiAgICAgICYgLnRlYXNlci1ib3gge1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLyogJGJhc2UtZm9udDogJ09wZW4gU2FucycsIEFyaWFsLCBzYW5zLXNlcmlmOyAqL1xuLyogJGJhc2UtbGluZS1oZWlnaHQ6IDEuNjsgKi9cbi8qIGRlZmF1bHQgKi9cbi8qIGJhc2UgZm9udCBzaXplIHdpdGggc2hvcnRlciBsaW5lLWhlaWdodCAqL1xuLyogaDUgKi9cbi8qIGg0ICovXG4vKiBoMyAqL1xuLyogaDIgKi9cbi8qIGgxICovXG4vKlxuVXNlIHRoaXMgbWl4aW4gdG8gYWRkIGZvbnQgc2l6ZXMgZnJvbSB0aGUgbWFwcyBhYm92ZSB3aXRoIGxpbmUtaGVpZ2h0cyBhbmQgbXEncyBpbmNsdWRlZC5cbmVnOiBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS14eHh4LWxhcmdlKTtcbiovXG4vKlxuVXRpbGl0eSBmdW5jdGlvbiBmb3IgbWl4aW4gZm9udC1zaXplLlxuKi9cbi8qIGg0ICovXG4vKiBoMyAqL1xuLyogaDQgKi9cbi8qXG5GdW5jdGlvbiBzbyB3ZSBkb24ndCBoYXZlIHRvIHVzZSBtYXAtZ2V0IHdpdGggJGJyZWFrcG9pbnRzLlxuZWc6IGJwKHh4bCkgb3IgQGluY2x1ZGUgYnJlYWtwb2ludChicCh4eGwpKVxuKi9cbi8qIFN0YW5kYXJkIHJhbmdlcyBmcm9tIGRlc2lnblxuICogICBcImRlc2t0b3BcIiA6IDk2MSBhbmQgdXBcbiAqICAgXCJ0YWJsZXRcIiAgOiA1MTAgdGhydSA5NjBcbiAqICAgXCJtb2JpbGVcIiAgOiAzMjAgdGhydSA1MDlcbiAqL1xuOnJvb3Qge1xuICAvKiBUb3AgTmF2ICBSZXF1aXJlbWVudHM6XG4gICAqIEAgbW9iaWxlXG4gICAqICAgICBkZWZhdWx0IGZvbnQtc2l6ZSBpcyAxNnB4XG4gICAqIEAgdGFibGV0XG4gICAqICAgICBkZWZhdWx0IGZvbnQtc2l6ZSBpcyAxOHB4XG4gICAqIEAgZGVza3RvcFxuICAgKiAgICAgZGVmYXVsdCBmb250LXNpemUgaXMgMThweFxuICAgKi9cbiAgLS10b3BuYXYtZm9udC1zaXplOiAxNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTEwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tdG9wbmF2LWZvbnQtc2l6ZTogMThweDtcbiAgfVxufVxuXG4uaG9tZV9fc2l0ZS1wYWdlIC5zZWN0aW9uLWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUxMHB4KSB7XG4gIC5ob21lX19zaXRlLXBhZ2UgLnNlY3Rpb24taGVhZGVyIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MXB4KSB7XG4gIC5ob21lX19zaXRlLXBhZ2UgLnNlY3Rpb24taGVhZGVyIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gIH1cbn1cbi5ob21lX19zaXRlLXBhZ2UgLnNlY3Rpb24tc3ViaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS41NTtcbiAgY29sb3I6ICMzRDNGNDI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbjogMXJlbSBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTEwcHgpIHtcbiAgLmhvbWVfX3NpdGUtcGFnZSAuc2VjdGlvbi1zdWJoZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgfVxufVxuLmhvbWVfX3NpdGUtcGFnZSAuZWRsLWxpbmsge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIGNvbG9yOiAjMkQ2MkI3O1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmVkbC1saW5rOmhvdmVyLCAuaG9tZV9fc2l0ZS1wYWdlIC5lZGwtbGluazphY3RpdmUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX21hcmtldC1jaG9pY2VzIHtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogJGVic2NvLW5hdnk7ICovXG4gIHBhZGRpbmc6IDIwcHggMDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgLmVkbC1saW5rLWdyb3VwIHtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIG1heC13aWR0aDogODIwcHg7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX21hcmtldC1jaG9pY2VzIC5lZGwtbGluay1ncm91cCB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogd3JhcDtcbiAgZ2FwOiAyMHB4IDIwcHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX21hcmtldC1jaG9pY2VzIC5lZGwtbGluay1ncm91cCB1bCBsaTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBub25lO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyBsaSAuZWRsLWxpbmsge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9lYnNjb19kZXNpZ25fbGlicmFyeS9pbWcvYWNhZGVtaWMtbGlicmFyaWVzLW1hcmtldC10aHVtYm5haWwtMjYwLmpwZ1wiKSBjZW50ZXIgY2VudGVyLzI2MHB4IG5vLXJlcGVhdCAjMkQ2MkI3O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMzksIDQxLCA0MiwgMC4yNSk7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdG9wbmF2LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGhlaWdodDogODBweDtcbiAgbGluZS1oZWlnaHQ6IDgwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2lkdGg6IDI2MHB4O1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyBsaTpudGgtY2hpbGQoMikgLmVkbC1saW5rIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vZWJzY29fZGVzaWduX2xpYnJhcnkvaW1nL3B1YmxpYy1saWJyYXJpZXMtbWFya2V0LXRodW1ibmFpbC0yNjAuanBnXCIpO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyBsaTpudGgtY2hpbGQoMykgLmVkbC1saW5rIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vZWJzY29fZGVzaWduX2xpYnJhcnkvaW1nL3NjaG9vbHMtbWFya2V0LXRodW1ibmFpbC0yNjAuanBnXCIpO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyBsaTpudGgtY2hpbGQoNCkgLmVkbC1saW5rIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vZWJzY29fZGVzaWduX2xpYnJhcnkvaW1nL2hlYWx0aC1jYXJlLW1hcmtldC10aHVtYm5haWwtMjYwLmpwZ1wiKTtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgbGk6bnRoLWNoaWxkKDUpIC5lZGwtbGluayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Vic2NvX2Rlc2lnbl9saWJyYXJ5L2ltZy9jb3Jwb3JhdGUtbWFya2V0LXRodW1ibmFpbC0yNjAuanBnXCIpO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyBsaTpudGgtY2hpbGQoNikgLmVkbC1saW5rIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vZWJzY29fZGVzaWduX2xpYnJhcnkvaW1nL3B1Ymxpc2hlcnMtbWFya2V0LXRodW1ibmFpbC0yNjAuanBnXCIpO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyBsaSAuZWRsLWxpbms6aG92ZXIsIC5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgbGkgLmVkbC1saW5rOmFjdGl2ZSwgLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyBsaSAuZWRsLWxpbms6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjMUQzRjc1O1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3gtc2hhZG93OiAwIDEwcHggMTBweCAtNnB4IHJnYmEoMzksIDQxLCA0MiwgMC4zNSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYnJhbmRpbmctYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJENjJCNztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMDtcbiAgY29sb3I6ICNmZmY7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2JyYW5kaW5nLWJveCAuZWRsLXNsYWJfY29udGVudCB7XG4gIG1heC13aWR0aDogNzQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYnJhbmRpbmctYm94IHAge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2JyYW5kaW5nLWJveCAudGVhc2VyLWJveCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9mZWF0dXJlZC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vZWJzY29fZGVzaWduX2xpYnJhcnkvaW1nL2hvbWVwYWdlLXRvcGljcy1zZWN0aW9uLWJ1dHRlci1wYXR0ZXJuLWJhY2tncm91bmQtMTAwLnBuZ1wiKSBjZW50ZXIgY2VudGVyLzEwMHB4IHJlcGVhdCAjRkFCNzNDO1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2ZlYXR1cmVkLWNvbnRlbnQgLnRlYXNlci1ib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfZmVhdHVyZWQtY29udGVudCAudGVhc2VyLWJveDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9wcm9kdWN0LW9wdGlvbnMge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5pY29uLWJsb2NrcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiA0MHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAyNXB4IGF1dG8gNDBweDtcbiAgbWF4LXdpZHRoOiA5MDBweDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYmxvZy1mZWF0dXJlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNFNzVDRjtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9ibG9nLWZlYXR1cmUgLmVkbF90ZWFzZXJib3gtLWJsb2ctbWFpbi10ZWFzZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYmxvZy1mZWF0dXJlIC5lZGwtc2xhYl9jb250ZW50ID4gKjpub3QoLnRlYXNlci1ib3gpIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYmxvZy1mZWF0dXJlIC5lZGwtc2xhYl9jb250ZW50ID4gLmVkbC1saW5rLWdyb3VwIC5lZGwtbGluayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9ibG9nLWZlYXR1cmUgLnNlY3Rpb24tc3ViaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9ibG9nLWZlYXR1cmUgLmVkbC1saW5rLWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYmxvZy1mZWF0dXJlIC5lZGwtbGluay1ncm91cCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX25ld3NsZXR0ZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9lYnNjb19kZXNpZ25fbGlicmFyeS9pbWcvaG9tZXBhZ2UtbmV3c2xldHRlci1zZWN0aW9uLWdyYXktcGF0dGVybi1iYWNrZ3JvdW5kLTQwNS5wbmdcIikgMCAwLzQwNXB4IHJlcGVhdCAjRkFGQUZBO1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX25ld3NsZXR0ZXIgLnNlY3Rpb24taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MTBweCkge1xuICAuaG9tZV9fc2l0ZS1wYWdlIC5ob21lX21hcmtldC1jaG9pY2VzIC5lZGwtbGluay1ncm91cCB1bCB7XG4gICAgZ2FwOiAyMHB4IDIwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyAuZWRsLWxpbmstZ3JvdXAgdWwgbGkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAuaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2JyYW5kaW5nLWJveCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG4gIC5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYnJhbmRpbmctYm94IC5lZGwtc2xhYl9jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTQxcHg7XG4gICAgcGFkZGluZy10b3A6IDYycHg7XG4gIH1cbiAgLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9ibG9nLWZlYXR1cmUgLmVkbC1saW5rLWdyb3VwIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiBpbml0aWFsO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDFweCkge1xuICAuaG9tZV9fc2l0ZS1wYWdlIC5pY29uLWJsb2NrcyB7XG4gICAgZ2FwOiA1MHB4O1xuICB9XG4gIC5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgLmVkbC1saW5rLWdyb3VwIHVsIHtcbiAgICBnYXA6IDIwcHggMjBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAuaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2JyYW5kaW5nLWJveCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMjgwcHg7XG4gIH1cbiAgLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9icmFuZGluZy1ib3ggLmVkbC1zbGFiX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNjIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE0MXB4O1xuICAgIHBhZGRpbmctdG9wOiA2MnB4O1xuICB9XG4gIC5ob21lX19zaXRlLXBhZ2UgLmhvbWVfZmVhdHVyZWQtY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cbiAgLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9mZWF0dXJlZC1jb250ZW50IC50ZWFzZXItYm94IHtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRGVmYXVsdCBWYXJpYWJsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJEJyZWFrcG9pbnQtU2V0dGluZ3M6IChcbiAgJ2RlZmF1bHQgbWVkaWEnOiBhbGwsXG4gICdkZWZhdWx0IGZlYXR1cmUnOiBtaW4td2lkdGgsXG4gICdkZWZhdWx0IHBhaXInOiB3aWR0aCxcblxuICAnZm9yY2UgYWxsIG1lZGlhIHR5cGUnOiBmYWxzZSxcbiAgJ3RvIGVtcyc6IGZhbHNlLFxuICAndHJhbnNmb3JtIHJlc29sdXRpb25zJzogdHJ1ZSxcblxuICAnbm8gcXVlcmllcyc6IGZhbHNlLFxuICAnbm8gcXVlcnkgZmFsbGJhY2tzJzogZmFsc2UsXG5cbiAgJ2Jhc2UgZm9udCBzaXplJzogMTZweCxcblxuICAnbGVnYWN5IHN5bnRheCc6IGZhbHNlXG4pO1xuXG4kYnJlYWtwb2ludDogKCkgIWRlZmF1bHQ7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9zZXR0aW5nc1wiO1xuQGltcG9ydCAnYnJlYWtwb2ludC9jb250ZXh0JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvaGVscGVycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L3BhcnNlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9uby1xdWVyeSc7XG5cbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcmVzcG9uZC10byc7XG5cbkBpbXBvcnQgXCJicmVha3BvaW50L2xlZ2FjeS1zZXR0aW5nc1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgTWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgbGVnYWN5LXNldHRpbmdzLXdhcm5pbmc7XG5cbiAgLy8gUmVzZXQgY29udGV4dHNcbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG5cbiAgJGJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQoJHF1ZXJ5LCBmYWxzZSk7XG5cbiAgJHF1ZXJ5LXN0cmluZzogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5Jyk7XG4gICRxdWVyeS1mYWxsYmFjazogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2ZhbGxiYWNrJyk7XG5cbiAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2NvbnRleHQgaG9sZGVyJykgIWdsb2JhbDtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5IGNvdW50JykgIWdsb2JhbDtcblxuICAvLyBBbGxvdyBmb3IgYW4gYXMtbmVlZGVkIG92ZXJyaWRlIG9yIHVzYWdlIG9mIG5vIHF1ZXJ5IGZhbGxiYWNrLlxuICBAaWYgJG5vLXF1ZXJ5ICE9IGZhbHNlIHtcbiAgICAkcXVlcnktZmFsbGJhY2s6ICRuby1xdWVyeTtcbiAgfVxuXG4gIEBpZiAkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2Uge1xuICAgICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCduby1xdWVyeScsICRxdWVyeS1mYWxsYmFjayk7XG4gIH1cblxuICAvLyBQcmludCBPdXQgUXVlcnkgU3RyaW5nXG4gIEBpZiBub3QgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XG4gICAgQG1lZGlhICN7JHF1ZXJ5LXN0cmluZ30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSAhPSBmYWxzZSBvciBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpID09IHRydWUge1xuXG4gICAgJHR5cGU6IHR5cGUtb2YoYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpKTtcbiAgICAkcHJpbnQ6IGZhbHNlO1xuXG4gICAgQGlmICgkdHlwZSA9PSAnYm9vbCcpIHtcbiAgICAgICRwcmludDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdzdHJpbmcnKSB7XG4gICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgKCR0eXBlID09ICdsaXN0Jykge1xuICAgICAgQGVhY2ggJHdyYXBwZXIgaW4gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSAkd3JhcHBlciB7XG4gICAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV3JpdGUgRmFsbGJhY2tcbiAgICBAaWYgKCRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSkgYW5kICgkcHJpbnQgPT0gdHJ1ZSkge1xuICAgICAgJHR5cGUtZmFsbGJhY2s6IHR5cGUtb2YoJHF1ZXJ5LWZhbGxiYWNrKTtcblxuICAgICAgQGlmICgkdHlwZS1mYWxsYmFjayAhPSAnYm9vbCcpIHtcbiAgICAgICAgI3skcXVlcnktZmFsbGJhY2t9ICYge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xufVxuXG5cbkBtaXhpbiBtcSgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBFQlNDTyBOYXZ5XG4kZWJzY28tbmF2eTogIzAwMmY1NjtcbiRlYnNjby1uYXZ5LS1ob3ZlcjogIzAwMjQ0MjtcbiRlYnNjby1uYXZ5MDU6ICMwMDJGNTY7XG5cbi8vIE1hcmtldCBCbHVlXG4kbWFya2V0LWJsdWU6ICMzRTc1Q0Y7XG4kbWFya2V0LWJsdWUtLWhvdmVyOiAjMkQ2MkI3O1xuJG1hcmtldC1ibHVlNjogIzJENjJCNztcbiRtYXJrZXQtYmx1ZS0tdGludDM6ICM4QkFDRTI7XG4kbWFya2V0LWJsdWUtLWRhcmswOiAjMjU1MDk2O1xuJG1hcmtldC1ibHVlNzogIzI1NTA5NjtcbiRtYXJrZXQtLWJsdWUtLWRhcmsxOiAjMUQzRjc1O1xuJG1hcmtldC1ibHVlODogIzFEM0Y3NTtcbiRtYXJrZXQtLWJsdWUtLWxpZ2h0MDogIzY1OTFEOTtcblxuLy8gTGFnb29uXG4kbGFnb29uOiAjMDA3NThEO1xuJGxhZ29vbi0taG92ZXI6ICMwMDY0Nzk7XG5cbi8vIERpc2NvXG4kZGlzY286ICNCNDE3ODI7XG4kZGlzY28tLWhvdmVyOiAjOTAxMjY4O1xuJGRpc2NvLS10aW50MzogI0QyNzRCNDtcblxuLy8gVHVydGxlXG4kdHVydGxlOiAjMjY4NzQyO1xuJHR1cnRsZS0taG92ZXI6ICMxRDY3MzI7XG5cbi8vIEJ1dHRlclxuJGJ1dHRlcjA1OiAjRkFCNzNDO1xuXG4vLyBDb21tb24gQ29sb3JzXG4kd2hpdGU6ICNmZmY7XG4kd2hpdGUtLXNlbWk6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiR3aGl0ZS0tc2hlZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG4kd2hpdGUtLXRyYW5zcGFyZW50OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuJHdoaXRlLS1taWQ6IHJnYmEoMjU1LDI1NSwyNTUsMC41NSk7XG4kYmxhY2s6ICMwMDA7XG4kb3ZlcmxheS0tc2VtaTogcmdiYSgwLCAwLCAwLCAwLjcpO1xuJGJsYWNrLS1waXRjaDogIzAwMEUxOTtcblxuLy8gR3JheXNcbiRncmF5MDogI0VGRUZFRjtcbiRncmF5MTogI0Q5REFEQjtcbiRncmF5MjogI0I4QkJCRjtcbiRncmF5MzogIzdBN0Y4NTtcbiRncmF5NDogIzNEM0Y0Mjtcbi8vICRncmF5NCAzMCUgb3BhY2l0eVxuJGdyYXk0LS10cmFuczMwOiByZ2JhKDYxLCA2MywgNjYsIDAuMyk7XG4kZ3JheTU6ICMyNzI5MkE7XG5cbi8vIENvbG9yIFVzYWdlc1xuJHRleHQtY29sb3I6ICRncmF5NDtcbiRsaW5rLWNvbG9yOiAkbWFya2V0LWJsdWU2O1xuJHBhZ2UtaGVhZGVyLWNvbG9yOiAkd2hpdGU7XG4kcGFnZS1mb290ZXItY29sb3I6ICRlYnNjby1uYXZ5O1xuXG4vLyBCdXR0b24gU2hhZG93c1xuJGJ0bi1zaGFkb3c6IHJnYmEoMzksIDQxLCA0MiwgMC4yNSk7XG4kYnRuLXNoYWRvdy0taG92ZXI6IHJnYmEoMzksIDQxLCA0MiwgMC4zNSk7XG5cbi8vIEJveCBTaGFkb3dzXG4kYm94LXNoYWRvdzogMCAycHggMnB4IDAgJGJ0bi1zaGFkb3c7XG4kYm94LXNoYWRvdy0taG92ZXI6IDAgMnB4IDRweCAycHggJGJ0bi1zaGFkb3ctLWhvdmVyO1xuJGJveC1zaGFkb3ctLWhvdmVyMjogMCAxMHB4IDEwcHggLTZweCAkYnRuLXNoYWRvdy0taG92ZXI7XG4iXX0= */
