/**
 * Foundation for Sites by ZURB
 * Version 6.2.4
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
:root {
  --widget-offset: 0;
}

.p-category-page .widget-product-pods .l-wrapper {
  padding-bottom: 1.5625rem;
}
.p-category-page .widget-product-pods .c-tabs__content {
  padding-top: 0;
  padding-bottom: 0;
}
.p-category-page .widget-steps .l-wrapper {
  padding-bottom: 0;
}

.p-product-category-page .widget-product-pods .l-wrapper {
  padding-bottom: 1.5625rem;
}
.p-product-category-page .widget-product-pods .c-tabs__content {
  padding-top: 0;
  padding-bottom: 0;
}
.p-product-category-page .widget-perfect-print .c-tabs {
  border-bottom: 0;
}
.p-product-category-page .widget-usps .l-wrapper {
  background-color: #f5f4fb;
}

.p-product-page .widget-product-pods .l-wrapper,
.p-product-detail-page .widget-product-pods .l-wrapper {
  padding-bottom: 1.5625rem;
}
.p-product-page .widget-product-pods .c-tabs__content,
.p-product-detail-page .widget-product-pods .c-tabs__content {
  padding-top: 0;
  padding-bottom: 0;
}
.p-product-page .widget-usps .l-wrapper,
.p-product-detail-page .widget-usps .l-wrapper {
  background-color: #f5f4fb;
}
.p-product-page .widget-blog-posts .l-wrapper,
.p-product-detail-page .widget-blog-posts .l-wrapper {
  padding-top: 0;
}
.p-product-page .widget-blog-posts .l-wrapper .l-content__title,
.p-product-detail-page .widget-blog-posts .l-wrapper .l-content__title {
  padding: 0 1.25rem;
}
.p-product-page .widget-perfect-print .c-tabs,
.p-product-detail-page .widget-perfect-print .c-tabs {
  border-bottom: 0;
}

cms-widget-component .selected {
  border: 1px dotted #ED40A9;
}
cms-widget-component .editable-hide {
  display: none;
}
cms-widget-component .tinymce-inline-edit {
  width: 100%;
}
@media screen and (min-width: 30em) {
  cms-widget-component.widget-page-header-main {
    min-height: 25rem !important;
  }
  cms-widget-component.widget-product-header {
    min-height: 28.125rem !important;
  }
  cms-widget-component.widget-product-header .c-header-main {
    height: auto;
    min-height: 28.125rem;
  }
}

.pages-tree-container {
  height: 350px !important;
  overflow-y: auto;
}
.pages-tree-container ul {
  list-style: circle;
}

.asset-image-container {
  height: 100%;
  width: 100%;
  text-align: center;
}
.asset-image-container img:not(.asset-starburst-overlay) {
  height: 100%;
  cursor: pointer;
}

.cms-widget-disabled {
  height: 0;
  padding: 0 !important;
  opacity: 0;
  visibility: hidden;
}

.cms-link {
  margin: 0 auto;
  display: inline-block;
}
.cms-link .controls {
  top: 0 !important;
  right: -2.5rem;
  left: auto !important;
}
.cms-link--button .controls {
  bottom: 0;
  top: auto !important;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vYWJzdHJhY3RzL19zZXR0aW5ncy5zY3NzIiwiY21zLmNzcyIsImNtcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0VBQUE7QUM0bkJBO0VBQ0Usa0JBQUE7QUNybkJGOztBQ1lJO0VBQ0UseUJBQUE7QURUTjtBQ1dJO0VBQ0UsY0FBQTtFQUNBLGlCQUFBO0FEVE47QUNjSTtFQUNFLGlCQUFBO0FEWk47O0FDb0JJO0VBQ0UseUJBQUE7QURqQk47QUNtQkk7RUFDRSxjQUFBO0VBQ0EsaUJBQUE7QURqQk47QUNzQkk7RUFDRSxnQkFBQTtBRHBCTjtBQ3lCSTtFQUNFLHlCQUFBO0FEdkJOOztBQ2lDSTs7RUFDRSx5QkFBQTtBRDdCTjtBQytCSTs7RUFDRSxjQUFBO0VBQ0EsaUJBQUE7QUQ1Qk47QUNpQ0k7O0VBQ0UseUJBQUE7QUQ5Qk47QUNtQ0k7O0VBQ0UsY0FBQTtBRGhDTjtBQ2lDTTs7RUFDRSxrQkFBQTtBRDlCUjtBQ29DSTs7RUFDRSxnQkFBQTtBRGpDTjs7QUMyQ0U7RUFDRSwwQkFBQTtBRHhDSjtBQzBDRTtFQUNFLGFBQUE7QUR4Q0o7QUMwQ0U7RUFDRSxXQUFBO0FEeENKO0FFOEVJO0VEOUJBO0lBQ0UsNEJBQUE7RUQ3Q0o7RUNnREU7SUFDRSxnQ0FBQTtFRDlDSjtFQ2dESTtJQUNFLFlBQUE7SUFDQSxxQkFBQTtFRDlDTjtBQUNGOztBQ29EQTtFQUNFLHdCQUFBO0VBQ0EsZ0JBQUE7QURqREY7QUNrREU7RUFDRSxrQkFBQTtBRGhESjs7QUNzREE7RUFDRSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0FEbkRGO0FDcURJO0VBQ0UsWUFBQTtFQUNBLGVBQUE7QURuRE47O0FDNERBO0VBQ0UsU0FBQTtFQUNBLHFCQUFBO0VBQ0EsVUFBQTtFQUNBLGtCQUFBO0FEekRGOztBQzZEQTtFQUNFLGNBQUE7RUFDQSxxQkFBQTtBRDFERjtBQzRERTtFQUNFLGlCQUFBO0VBQ0EsY0FBQTtFQUNBLHFCQUFBO0FEMURKO0FDOERJO0VBQ0UsU0FBQTtFQUNBLG9CQUFBO0FENUROIiwiZmlsZSI6ImNtcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4yLjRcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgtdmlkZW8nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKCRmbGV4OiBmYWxzZSkge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENsb3NlIEJ1dHRvblxuLy8gIDE1LiBEcmlsbGRvd25cbi8vICAxNi4gRHJvcGRvd25cbi8vICAxNy4gRHJvcGRvd24gTWVudVxuLy8gIDE4LiBGbGV4IFZpZGVvXG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE9mZi1jYW52YXNcbi8vICAyNC4gT3JiaXRcbi8vICAyNS4gUGFnaW5hdGlvblxuLy8gIDI2LiBQcm9ncmVzcyBCYXJcbi8vICAyNy4gUmV2ZWFsXG4vLyAgMjguIFNsaWRlclxuLy8gIDI5LiBTd2l0Y2hcbi8vICAzMC4gVGFibGVcbi8vICAzMS4gVGFic1xuLy8gIDMyLiBUaHVtYm5haWxcbi8vICAzMy4gVG9vbHRpcFxuLy8gIDM0LiBUb3AgQmFyXG5cbi8vQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTQ0MCk7XG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS40O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICAgICAgICBwcmltYXJ5OiAjRUQ0MEE5LFxuICAgICAgICBzZWNvbmRhcnk6ICMyOTkzYjEsXG4gICAgICAgIHRlcnRpYXJ5OiAjNzc3LFxuICAgICAgICBzdWNjZXNzOiAjNWNhNTFmLFxuICAgICAgICB3YXJuaW5nOiAjZmZiZDAwLFxuICAgICAgICBhbGVydDogI2U3MzQzZixcbiAgICAgICAgdGFibGUtYmFja2dyb3VuZDogI2EwY2FkNixcbik7XG5cbi8vIFByaW1hcnkgY29sb3Vyc1xuJHByaW50ZWQtcGluazogI0VENDBBOTtcbiRwcmludGVkLWdyZWVuOiAjMzZDMkM0O1xuJHByaW50ZWQtZ3JlZW4tMjogI2NkYzNiODtcbiRwcmludGVkLWdyZWVuLTM6ICNlY2VlZTU7XG4kd2hpdGU6ICNmZmZmZmY7XG4kcHJpbWFyeS01MDA6ICNlYjVjYzM7XG5cbi8vIFNlY29uZGFyeSBjb2xvdXJzXG4kcHJpbnRlZC1zZWNvbmRhcnktYmx1ZTogIzNEOTZFODtcbiRwcmludGVkLXNlY29uZGFyeS1waW5rOiAjOUU5MURBO1xuJHByaW50ZWQtc2Vjb25kYXJ5LXllbGxvdzogI0ZGQkQwMDtcbiRwcmludGVkLXNlY29uZGFyeS1kYXJrLWdyZXk6ICMwMDA7XG4kcHJpbnRlZC1zZWNvbmRhcnktZ3JlZW46ICM4MkMwNzE7XG5cbi8vIFRleHQgY29sb3Vyc1xuJG1haW4tdGV4dDogIzAwMDtcbiRkYXJrLWdyZXktdGV4dDogIzAwMDtcblxuLy8gVGllciBjb2xvdXJzXG4kdGllci1icm9uemU6ICNjNGE0N2E7XG4kdGllci1zaWx2ZXI6ICNkMWNjYzU7XG4kdGllci1waW5rOiAkcHJpbnRlZC1waW5rO1xuXG4vLyBPdGhlci9MZWdhY3kgY29sb3Vyc1xuJHByaW50ZWQtYmx1ZTogIzI5OTNiMTtcbiRwcmludGVkLWdyZXk6ICNkOGU2ZTk7XG4kcHJpbnRlZC1teXN0aWM6ICNkOGU2ZTk7XG4kb3Nsby1ncmV5OiAjODk4YzkxO1xuXG4kbGluZXM6ICNDREMzQjk7XG4kZGFya2VyLWdyZXk6ICNjY2NjY2M7XG4kZGVmYXVsdC1ncmV5OiAjZjBmMGYwO1xuXG4kc2xpZGVyLWxldmVsLTE6ICNlYmViZWI7XG4kc2xpZGVyLWxldmVsLTI6ICNjOWQzZDY7XG4kc2xpZGVyLWxldmVsLTM6ICNhY2I3Yjk7XG5cbiRibGFjazogIzAwMDtcbiR3aGl0ZTogI2ZmZjtcbiRnb2xkOiAjZjBjMzFjO1xuJGFiYmV5OiAjNTA1MTUyO1xuJGljb24tZ3JleTogIzc0Nzc3ODtcbiR3aWxkLXNhbmQ6ICNmNWY1ZjU7XG4kdGVhbDogIzI1OTRCMztcbiRzaW5iYWQ6ICNhMGNhZDY7XG4kZmlyZS1idXNoOiAjZTg5YzMwO1xuJGxpbmstaG92ZXI6ICNjYzAwNzg7XG5cbi8vIEJvZHkgY29sb3Vyc1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJG1haW4tdGV4dDtcblxuLy8gQm9yZGVyIGNvbG91cnNcbiRib3JkZXItZ3JheS1saWdodDogJGRlZmF1bHQtZ3JleTtcbiRib3JkZXItZ3JheS1kYXJrOiAkZGFya2VyLWdyZXk7XG4kYm9yZGVyLWJsdWUtbGlnaHQ6ICRwcmludGVkLW15c3RpYztcbiRib3JkZXItYmx1ZTogI2E3YjFjMjtcbiRib3JkZXItYmx1ZS1kYXJrOiAkcHJpbnRlZC1ibHVlO1xuXG4kYm9keS1mb250LWZhbWlseTogXCJjYXVzdGVuUm91bmRlZExpZ2h0XCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiR0ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJHJlbS1iYXNlOiAxNnB4O1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIHNtYWxsLXA6IDMyMHB4LFxuICBzbWFsbC1sOiA0ODBweCxcbiAgbWVkaXVtOiA3NjhweCxcbiAgZGVza3RvcDogOTgwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4gIHh4eGxhcmdlOiAxOTAwcHgsXG4pO1xuXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgc21hbGwtcCBzbWFsbC1sIG1lZGl1bSBkZXNrdG9wIGxhcmdlIHhsYXJnZSB4eGxhcmdlIHh4eGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gICAgICAgIHNtYWxsOiAyMHB4LFxuICAgICAgICBtZWRpdW06IDIwcHgsXG4pO1xuJGJsb2NrLWdyaWQtbWF4OiA2O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiBcImNhdXN0ZW5Sb3VuZGVkQm9sZFwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRoZWFkZXItZm9udC13ZWlnaHQ6IDUwMDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItc2l6ZXM6IChcbiAgc21hbGw6IChcbiAgICAgICAgICAnaDEnOiA2MCxcbiAgICAgICAgICAnaDInOiA0MCxcbiAgICAgICAgICAnaDMnOiAyNCxcbiAgICAgICAgICAnaDQnOiAyMCxcbiAgICAgICAgICAnaDUnOiAxNixcbiAgICAgICAgICAnaDYnOiAxNCxcbiAgKSxcbiAgbGFyZ2U6IChcbiAgICAgICAgICAnaDEnOiA2MixcbiAgICAgICAgICAnaDInOiA0MixcbiAgICAgICAgICAnaDMnOiAyNixcbiAgICAgICAgICAnaDQnOiAyMixcbiAgICAgICAgICAnaDUnOiAxOCxcbiAgICAgICAgICAnaDYnOiAxNixcbiAgKSxcbik7XG4kaGVhZGVyLWNvbG9yOiAkbWFpbi10ZXh0O1xuJGhlYWRlci1saW5laGVpZ2h0OiBub3JtYWw7XG4kaGVhZGVyLWxldHRlci1zcGFjaW5nOjAuMTVyZW07XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjYXB0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkZGVmYXVsdC1ncmV5O1xuXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IHJlbS1jYWxjKDIxKTtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcblxuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRkZWZhdWx0LWdyZXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkZGVmYXVsdC1ncmV5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjogdW5kZXJsaW5lO1xuXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJGRlZmF1bHQtZ3JleTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcblxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG5cbiRibG9ja3F1b3RlLWNvbG9yOiAkYmxhY2s7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJGRlZmF1bHQtZ3JleTtcblxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGJsYWNrO1xuXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRkZWZhdWx0LWdyZXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuJGhlYWRpbmctZm9udC1mYW1pbHk6IFwiY2F1c3RlblJvdW5kZWRCb2xkXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJHN1YmhlYWRpbmctZm9udC1mYW1pbHk6IFwiY2F1c3RlblJvdW5kZWRNZWRpdW1cIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kcmVndWxhci10ZXh0LWZvbnQtZmFtaWx5OiBcImNhdXN0ZW5Sb3VuZGVkUmVndWxhclwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiR0ZXh0LWZvbnQtZmFtaWx5OiBcImNhdXN0ZW5Sb3VuZGVkTGlnaHRcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kaGVhZGluZy1mb250LXdlaWdodDogNTAwO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGJsYWNrO1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogMzAwO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiAkYWxlcnQtY29sb3I7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiAkYWxlcnQtY29sb3I7XG4kaW5wdXQtZXJyb3ItY29sb3I6ICRhbGVydC1jb2xvcjtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRkZWZhdWx0LWdyZXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRkZWZhdWx0LWdyZXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCk7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRkZWZhdWx0LWdyZXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG5cbiRidXR0b24tcGFkZGluZzogMS4zZW0gMi44NGVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyA7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWNvbG91ci1ob3ZlciA6IHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICMwMDA7XG4kYnV0dG9uLWJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjgxMjVyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcblxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1ob3Zlci1waW5rOiAjZWI1Y2MxO1xuJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiBzY2FsZV9jb2xvcigjNzc3LCAkbGlnaHRuZXNzOiA1MCUpO1xuJGJ1dHRvbi1kaXNhYmxlZC10ZXh0OiAjNTg1OTVCO1xuXG4kYnV0dG9uLXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4kYnV0dG9uLXRyYW5zaXRpb24tdHlwZTogZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtO1xuJGNsb3NlYnV0dG9uLXNpemU6IDJlbTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkYmxhY2s7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTUuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcblxuLy8gMTYuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJGRlZmF1bHQtZ3JleTtcbiRkcm9wZG93bi1mb250LXNpemU6IDE2cmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE3LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRkZWZhdWx0LWdyZXk7XG5cbi8vIDE4LiBGbGV4IFZpZGVvXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kZmxleHZpZGVvLXBhZGRpbmctdG9wOiByZW0tY2FsYygyNSk7XG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMztcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOTtcblxuLy8gMTkuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRkZWZhdWx0LWdyZXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygyNSk7XG4kaGVscHRleHQtY29sb3I6ICMzMzM7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRkZWZhdWx0LWdyZXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDJyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJG1haW4tdGV4dDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICNmYWZhZmE7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAjMzMzO1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkZGVmYXVsdC1ncmV5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRkZWZhdWx0LWdyZXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGJsYWNrO1xuJGlucHV0LXNoYWRvdzogbm9uZTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IG5vbmU7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBkZWZhdWx0O1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMC4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIyLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtO1xuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWV4cGFuZC1tYXg6IDY7XG5cbi8vIDIzLiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkZGVmYXVsdC1ncmV5O1xuJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcbiRtYWluY29udGVudC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpO1xuXG4vLyAyNC4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRkZWZhdWx0LWdyZXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkYmxhY2s7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI1LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGRlZmF1bHQtZ3JleTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCk7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkZGVmYXVsdC1ncmV5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6JGJvZHktZm9udC1jb2xvcjtcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI2LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkZGVmYXVsdC1ncmV5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1vZmZzZXQ6IHJlbS1jYWxjKDEwMCk7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJGRlZmF1bHQtZ3JleTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gMjguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogJHNsaWRlci1oZWlnaHQ7XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRkZWZhdWx0LWdyZXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJGRlZmF1bHQtZ3JleTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblxuLy8gMjkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRkZWZhdWx0LWdyZXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gMzAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG5cbi8vIDMxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRlZmF1bHQtZ3JleTtcbiR0YWItYm9yZGVyOiAkZGVmYXVsdC1ncmV5O1xuJHRhYi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkZGVmYXVsdC1ncmV5O1xuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDMyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzMy4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiR0b29sdGlwLWNvbG9yOiAjN0Q4MjgxO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMTBweDtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6IDEwcHg7XG4kdG9vbHRpcC1waXAtb2Zmc2V0OiAxMHB4O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzQuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAjZWVlO1xuJHRvcGJhci1saW5rLWNvbG9yOiAjZmZmO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG5cbi8vIE5ldyB2YXJpYWJsZXNcbiRwcmltYXJ5LXRleHQtY29sb3I6IGJsYWNrO1xuJHByaW1hcnktYm9yZGVyLWNvbG9yOiAjZTBlMGUwO1xuXG4kaGVhZGluZy1mb250LWZhbWlseTogXCJjYXVzdGVuUm91bmRlZEJvbGRcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kdGV4dC1mb250LWZhbWlseTogXCJjYXVzdGVuUm91bmRlZExpZ2h0XCIsIEFyaWFsLCBzYW5zLXNlcmlmOztcbiRzZWNvbmRhcnktZm9udC1mYW1pbHk6IFwiY2F1c3RlblJvdW5kZWRCb2xkXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGhlYWRpbmctZm9udC13ZWlnaHQ6IDUwMDtcblxuOnJvb3Qge1xuICAtLXdpZGdldC1vZmZzZXQ6IDA7XG59XG5cbi8vIFRXIGNvbG9yc1xuJG5ldXRyYWwtNTA6ICNGNUY1RjU7XG4kbmV1dHJhbC0yMDA6ICNENkQ2RDY7XG4kdGVhbC00MDA6ICMzNkMyQzQ7XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4yLjRcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG46cm9vdCB7XG4gIC0td2lkZ2V0LW9mZnNldDogMDtcbn1cblxuLnAtY2F0ZWdvcnktcGFnZSAud2lkZ2V0LXByb2R1Y3QtcG9kcyAubC13cmFwcGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTtcbn1cbi5wLWNhdGVnb3J5LXBhZ2UgLndpZGdldC1wcm9kdWN0LXBvZHMgLmMtdGFic19fY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi5wLWNhdGVnb3J5LXBhZ2UgLndpZGdldC1zdGVwcyAubC13cmFwcGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5wLXByb2R1Y3QtY2F0ZWdvcnktcGFnZSAud2lkZ2V0LXByb2R1Y3QtcG9kcyAubC13cmFwcGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTtcbn1cbi5wLXByb2R1Y3QtY2F0ZWdvcnktcGFnZSAud2lkZ2V0LXByb2R1Y3QtcG9kcyAuYy10YWJzX19jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLnAtcHJvZHVjdC1jYXRlZ29yeS1wYWdlIC53aWRnZXQtcGVyZmVjdC1wcmludCAuYy10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5wLXByb2R1Y3QtY2F0ZWdvcnktcGFnZSAud2lkZ2V0LXVzcHMgLmwtd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY0ZmI7XG59XG5cbi5wLXByb2R1Y3QtcGFnZSAud2lkZ2V0LXByb2R1Y3QtcG9kcyAubC13cmFwcGVyLFxuLnAtcHJvZHVjdC1kZXRhaWwtcGFnZSAud2lkZ2V0LXByb2R1Y3QtcG9kcyAubC13cmFwcGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTtcbn1cbi5wLXByb2R1Y3QtcGFnZSAud2lkZ2V0LXByb2R1Y3QtcG9kcyAuYy10YWJzX19jb250ZW50LFxuLnAtcHJvZHVjdC1kZXRhaWwtcGFnZSAud2lkZ2V0LXByb2R1Y3QtcG9kcyAuYy10YWJzX19jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLnAtcHJvZHVjdC1wYWdlIC53aWRnZXQtdXNwcyAubC13cmFwcGVyLFxuLnAtcHJvZHVjdC1kZXRhaWwtcGFnZSAud2lkZ2V0LXVzcHMgLmwtd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY0ZmI7XG59XG4ucC1wcm9kdWN0LXBhZ2UgLndpZGdldC1ibG9nLXBvc3RzIC5sLXdyYXBwZXIsXG4ucC1wcm9kdWN0LWRldGFpbC1wYWdlIC53aWRnZXQtYmxvZy1wb3N0cyAubC13cmFwcGVyIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG4ucC1wcm9kdWN0LXBhZ2UgLndpZGdldC1ibG9nLXBvc3RzIC5sLXdyYXBwZXIgLmwtY29udGVudF9fdGl0bGUsXG4ucC1wcm9kdWN0LWRldGFpbC1wYWdlIC53aWRnZXQtYmxvZy1wb3N0cyAubC13cmFwcGVyIC5sLWNvbnRlbnRfX3RpdGxlIHtcbiAgcGFkZGluZzogMCAxLjI1cmVtO1xufVxuLnAtcHJvZHVjdC1wYWdlIC53aWRnZXQtcGVyZmVjdC1wcmludCAuYy10YWJzLFxuLnAtcHJvZHVjdC1kZXRhaWwtcGFnZSAud2lkZ2V0LXBlcmZlY3QtcHJpbnQgLmMtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbmNtcy13aWRnZXQtY29tcG9uZW50IC5zZWxlY3RlZCB7XG4gIGJvcmRlcjogMXB4IGRvdHRlZCAjRUQ0MEE5O1xufVxuY21zLXdpZGdldC1jb21wb25lbnQgLmVkaXRhYmxlLWhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuY21zLXdpZGdldC1jb21wb25lbnQgLnRpbnltY2UtaW5saW5lLWVkaXQge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgY21zLXdpZGdldC1jb21wb25lbnQud2lkZ2V0LXBhZ2UtaGVhZGVyLW1haW4ge1xuICAgIG1pbi1oZWlnaHQ6IDI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgY21zLXdpZGdldC1jb21wb25lbnQud2lkZ2V0LXByb2R1Y3QtaGVhZGVyIHtcbiAgICBtaW4taGVpZ2h0OiAyOC4xMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICBjbXMtd2lkZ2V0LWNvbXBvbmVudC53aWRnZXQtcHJvZHVjdC1oZWFkZXIgLmMtaGVhZGVyLW1haW4ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAyOC4xMjVyZW07XG4gIH1cbn1cblxuLnBhZ2VzLXRyZWUtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAzNTBweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLnBhZ2VzLXRyZWUtY29udGFpbmVyIHVsIHtcbiAgbGlzdC1zdHlsZTogY2lyY2xlO1xufVxuXG4uYXNzZXQtaW1hZ2UtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFzc2V0LWltYWdlLWNvbnRhaW5lciBpbWc6bm90KC5hc3NldC1zdGFyYnVyc3Qtb3ZlcmxheSkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNtcy13aWRnZXQtZGlzYWJsZWQge1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uY21zLWxpbmsge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmNtcy1saW5rIC5jb250cm9scyB7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICByaWdodDogLTIuNXJlbTtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuLmNtcy1saW5rLS1idXR0b24gLmNvbnRyb2xzIHtcbiAgYm90dG9tOiAwO1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbn0iLCIvLyBQYWdlOiBTaXRlQnVuZGxlL1Jlc291cmNlcy92aWV3cy9QYWdlL2Ntcy1yb3V0ZS5odG1sLnR3aWdcblxuQGltcG9ydCBcIn5mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvblwiO1xuQGltcG9ydCAnLi4vYWJzdHJhY3RzL3NldHRpbmdzJztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtLS0tLSBTVEFSVCBURU1QTEFURSBTVFlMRVMgLS0tLS1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBUaGVzZSBzdHlsZXMgYXJlIGZvciBtYWlubHkgc2V0dGluZyB0aGUgc3BhY2luZyB2YWx1ZXMgZm9yIENNUyBwYWdlcyBidWlsdCBpbiB0ZW1wbGF0ZXMuXG4vLyBTaW5jZSB0aGVyZSBpcyBubyBmdW5jdGlvbmFsaXR5IGZvciBjaGFuZ2luZyB0aGVzZSB2YWx1ZXMgZm9yIHRlbXBsYXRlIHBhZ2VzLCBmb3IgTVZQIGl0IHdhcyBkZWNpZGVkIGJ5XG4vLyB0aGUgc3Rha2Vob2xkZXIgdG8gc2V0IHRoZXNlIGluIHRoZSBDU1MgZm9yIG5vdy5cbi8vXG4vLyBOT1RFOiBUaGlzIG1lYW5zIHRoYXQgd2lkZ2V0cyBjYW4ndCByZWFsbHkgYmUgcmVvcmRlcmVkIGluIHRoZSB0ZW1wbGF0ZSBvdGhlcndpc2UgdGhlIHNwYWNpbmcgd2lsbCBicmVhay5cbi8vIEFsc28sIGlmIHRoZSB3aWRnZXQgbmFtZXMgYXJlIGNoYW5nZWQgaW4gYGNtcy13aWRnZXRzLnltbGAgb3IgdGhlICR0ZW1wbGF0ZVBhZ2VUeXBlIHZhcmlhYmxlIHNldCBpbiBDbXNQYWdlUHJvdmlkZXIucGhwXG4vLyBjaGFuZ2VzLCB0aGlzIHdpbGwgYnJlYWsuIFRoZSAkdGVtcGxhdGVQYWdlVHlwZSB2YXJpYWJsZSBpcyB1c2VkIHRvIHNldCB0aGUgcGFnZSBjbGFzcyBpbiBgcGFnZS13aWRnZXRzLmh0bWwudHdpZ2AuXG5cbi8vIENhdGVnb3J5IFBhZ2Vcbi5wLWNhdGVnb3J5LXBhZ2Uge1xuICAud2lkZ2V0LXByb2R1Y3QtcG9kcyB7XG4gICAgLmwtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgICAuYy10YWJzX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC1zdGVwcyB7XG4gICAgLmwtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJvZHVjdCBDYXRlZ29yeSBQYWdlXG4ucC1wcm9kdWN0LWNhdGVnb3J5LXBhZ2Uge1xuICAud2lkZ2V0LXByb2R1Y3QtcG9kcyB7XG4gICAgLmwtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgICAuYy10YWJzX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC1wZXJmZWN0LXByaW50IHtcbiAgICAuYy10YWJzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC11c3BzIHtcbiAgICAubC13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlX2NvbG9yKCRwcmludGVkLXNlY29uZGFyeS1waW5rLCAkbGlnaHRuZXNzOiA5MCUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcm9kdWN0IFBhZ2Vcbi8vIFByb2R1Y3QgRGV0YWlsIFBhZ2Vcbi5wLXByb2R1Y3QtcGFnZSxcbi5wLXByb2R1Y3QtZGV0YWlsLXBhZ2Uge1xuICAud2lkZ2V0LXByb2R1Y3QtcG9kcyB7XG4gICAgLmwtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgICAuYy10YWJzX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC11c3BzIHtcbiAgICAubC13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlX2NvbG9yKCRwcmludGVkLXNlY29uZGFyeS1waW5rLCAkbGlnaHRuZXNzOiA5MCUpO1xuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQtYmxvZy1wb3N0cyB7XG4gICAgLmwtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIC5sLWNvbnRlbnRfX3RpdGxlIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAyMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndpZGdldC1wZXJmZWN0LXByaW50IHtcbiAgICAuYy10YWJzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLS0tLS0tIEVORCBURU1QTEFURSBTVFlMRVMgLS0tLS0tXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuY21zLXdpZGdldC1jb21wb25lbnQge1xuICAuc2VsZWN0ZWQge1xuICAgIGJvcmRlcjogMXB4IGRvdHRlZCAkcHJpbWFyeS1jb2xvcjtcbiAgfVxuICAuZWRpdGFibGUtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudGlueW1jZS1pbmxpbmUtZWRpdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBJIG5lZWRlZCB0byBhZGQgdGhpcyBzbyB0aGUgc3RpY2t5IG5hdiBjb21wb25lbnQgY2FuIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0cyBvZiBoZWFkZXIgd2lkZ2V0cyBwcm9wZXJseS5cbiAgLy8gSWYgdGhlIHN0aWNreSBuYXYgd2lkZ2V0ICRwb3N0TGluayBob29rIHJ1bnMgYmVmb3JlIGEgaGVhZGVyIGhhcyBiZWVuIHJlbmRlcmVkIHRoZW4gaXQgY2Fubm90IGNvcnJlY3RseVxuICAvLyBjYWxjdWxhdGUgb2Zmc2V0cyBwcm9wZXJseS4gSGF2aW5nIHRoZSBoZWlnaHQgc2V0IG9uIHRoZSA8Y21zLXdpZGdldC1jb21wb25lbnQ+IGVuc3VyZXMgdGhpcyBkb2VzIG5vdCBoYXBwZW4uXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1sKSB7XG4gICAgJi53aWRnZXQtcGFnZS1oZWFkZXItbWFpbiB7XG4gICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0MDApICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi53aWRnZXQtcHJvZHVjdC1oZWFkZXIge1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDUwKSAhaW1wb3J0YW50O1xuXG4gICAgICAuYy1oZWFkZXItbWFpbiB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDUwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ01TIGxheW91dCBzdHlsZXNcbi5wYWdlcy10cmVlLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMzUwcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGNpcmNsZTtcbiAgfVxufVxuXG4vLyBBc3NldCBzdHlsZXNcblxuLmFzc2V0LWltYWdlLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaW1nIHtcbiAgICAmOm5vdCguYXNzZXQtc3RhcmJ1cnN0LW92ZXJsYXkpIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGlzYWJsZXMgYSB3aWRnZXQgd2hlbiB3ZSBkb24ndCB3YW50IHRvIHNob3cgaXQgKGUuZy4gYSBwcm9kdWN0IHBvZHMgd2lkZ2V0IG9uIHByb2R1Y3QgcGFnZXMgd2hlblxuLy8gdGhlcmUgYXJlIG5vIHByb2R1Y3RzIGNvbmZpZ3VyZWQpLiBDYW5ub3QgdXNlIGRpc3BsYXk6IG5vbmUgYXMgdGhlIFN0aWNreSBOYXYgaGFuZGxlcyBvZmZzZXRzIGluY29ycmVjdGx5LlxuLy8gQWxzbyBjYW5ub3QgcmVtb3ZlIHRoZSB3aWRnZXQgbGluayBmcm9tIHRoZSBmcm9udCBlbmQgYXMgdGhlIHdpZGdldCBpcyBub3QgZnVsbHkgYXdhcmUgb2Ygb3RoZXJcbi8vIHdpZGdldHMgb24gcGFnZSBsb2FkLlxuLmNtcy13aWRnZXQtZGlzYWJsZWQge1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vLyB0b2RvIHJlZmFjdG9yIHRoaXMgYW5kIGFsbCB0aGUgZWRpdG9yIGJ1dHRvbnMgKG1vdmUsIGRlbGV0ZSwgZWRpdCBsaW5rL2ltYWdlKVxuLmNtcy1saW5rIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAuY29udHJvbHMge1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiByZW0tY2FsYygtNDApO1xuICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gICYtLWJ1dHRvbiB7XG4gICAgLmNvbnRyb2xzIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcC4gSWYgdGhlIGNvbmZpZyBtYXAgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLiBJZiB0aGUgY29uZmlnIG1hcCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gSW5wdXQgY29uZmlnIG1hcC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLyBMZWdhY3kgYnJlYWtwb2ludCB2YXJpYWJsZXNcbi8vIFRoZXNlIHdpbGwgYmUgcmVtb3ZlZCBpbiA2LjNcbiRzbWFsbC11cDogbnVsbDtcbiRzbWFsbC1vbmx5OiBudWxsO1xuJG1lZGl1bS11cDogbnVsbDtcbiRtZWRpdW0tb25seTogbnVsbDtcbiRsYXJnZS11cDogbnVsbDtcbiRsYXJnZS1vbmx5OiBudWxsO1xuJHhsYXJnZS11cDogbnVsbDtcbiR4bGFyZ2Utb25seTogbnVsbDtcbiR4eGxhcmdlLXVwOiBudWxsO1xuJHh4bGFyZ2Utb25seTogbnVsbDtcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIl19 */
