.gs-btn,.gs-form-group__label{-ms-touch-action:manipulation}.gs-btn,.gs-checkbox{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.gs-btn,.gs-btn-group>.gs-btn{position:relative}.gs-btn,.gs-btn svg{vertical-align:middle}.gs-btn svg,.gs-checkbox__native{-webkit-transform:translate(-50%,-50%)}.gs-answer__header,.gs-iconed-content__content-wrapper--bold,.gs-star-grade__label{font-weight:700}.gs-hidden{display:none!important}.gs-review__header,.gs-star-grade{display:-webkit-flex;display:-ms-flexbox}[class*=gs],[class*=gs]::after,[class*=gs]::before{box-sizing:border-box}.gs-review{font-size:16px;border-left:3px solid #f0f0f0;margin-bottom:1.5em;padding-left:1em}.gs-review__header{display:flex;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:10px}.gs-review__title{margin-top:0;margin-bottom:.75em;font-size:1.1em}.gs-review__body,.gs-star-grade{margin-bottom:1em}.gs-star{width:12px;height:12px;fill:#000}.gs-star-grade{display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-size:12px;margin-left:-.4em}.gs-star-grade>*{margin-left:.4em}.gs-star-grade__icons{display:-webkit-flex;display:-ms-flexbox;display:flex}.gs-star-grade .gs-star{width:1em;height:1em;fill:#ef6e20}.gs-star-grade--lg{font-size:16px}.gs-star-grade--xl{font-size:28px}.gs-star-grade__label,.gs-star-grade__reviews-number{display:inline-block;line-height:1;margin-left:.4em}.gs-progress{display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:-.625em;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.gs-progress>*{margin-left:.625em}.gs-progress__label{width:1.75em;float:left}.gs-progress__bar{width:122px;float:left;font-size:16px;height:.85em;color:#bdbdbd;background-color:#fff;border:1px solid}.gs-progress__bar-complete{background-color:#ef6e20;height:100%}.gs-btn,.gs-btn:active,.gs-btn:focus,.gs-btn:hover{background-color:transparent}span.gs-progress__bar-complete{display:block}.gs-progress__data{width:3.75em;float:left}.gs-btn{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;color:#000;font-size:16px;line-height:1.2em;text-align:center;touch-action:manipulation;background-image:none;user-select:none;white-space:nowrap;border-radius:0;text-decoration:none;padding:0;border-width:.125em;border-style:solid;border-color:transparent;width:1.875em;height:1.875em}.gs-btn:hover{border-color:#000}.gs-btn--bordered:hover{color:#fff;border-color:#000}.gs-btn:focus{border-color:#000}.gs-btn--bordered:focus{color:#fff;border-color:#000}.gs-btn:active{border-color:#000}.gs-btn--bordered:active{color:#fff;border-color:#000}.gs-btn[disabled=true],.gs-btn[disabled=true]:active,.gs-btn[disabled=true]:focus,.gs-btn[disabled=true]:hover{background-color:transparent;color:#717171;border-color:currentColor}.gs-btn[disabled=true]{cursor:not-allowed;opacity:.5}.gs-btn,button.gs-btn{cursor:pointer}.gs-btn--active,.gs-btn--active:active,.gs-btn--active:focus,.gs-btn--active:hover{background-color:#000}.gs-btn--active{color:#fff}.gs-btn--bordered{background-color:transparent;color:#000;border-color:#000}.gs-btn--bordered:active,.gs-btn--bordered:focus,.gs-btn--bordered:hover{background-color:#000}.gs-btn-group{display:-webkit-flex;display:-ms-flexbox;display:flex}.gs-btn-group>.gs-btn:active,.gs-btn-group>.gs-btn:focus,.gs-btn-group>.gs-btn:hover{z-index:2}.gs-btn-group>.gs-btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.gs-btn-group>.gs-btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.gs-btn-group>.gs-btn+.gs-btn{margin-left:-.125em}.gs-btn{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.gs-btn--active{cursor:default}.gs-btn svg{width:1em;height:1em;top:50%;left:50%;position:absolute;transform:translate(-50%,-50%)}.gs-form-group{font-size:16px;margin-bottom:.625em}.gs-form-group--md{padding-top:1.437625em;position:relative}.gs-form-group__label{display:block;font-size:.875em;margin-bottom:.5em;line-height:1.143;touch-action:manipulation}.gs-form-group--md .gs-form-group__label{position:absolute;transition:all ease-in-out .2s}.gs-form-group--md .gs-form-group__label[data-mdform=folded]{top:1.437625em;font-size:1em;line-height:1.25}.gs-form-group--md .gs-form-group__label[data-mdform=unfolded]{top:0;font-size:.875em;line-height:1.143}.gs-form-group__input{display:block;width:100%;background-image:none;background-clip:padding-box;padding:0 0 .5em;font-size:1em;line-height:1.25;color:#000;background-color:#fff;border-width:0 0 .0625em;border-style:solid}.gs-form-group__input:focus{outline:0}.gs-form-group__help{display:block;width:100%;margin:.5em 0 0;font-size:.8em}.gs-checkbox{position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;user-select:none;font-size:16px}.gs-checkbox__native{position:absolute;transform:translate(-50%,-50%);opacity:0;margin:.625em}.gs-checkbox__indicator{display:inline-block;width:1.25em;height:1.25em;margin:0 .625em 0 0;background-color:transparent;border-radius:0;border-width:2px;border-style:solid;border-color:#d7d7d7}.gs-navbar,.gs-radio{display:-webkit-flex;display:-ms-flexbox}.gs-checkbox__native:checked~.gs-checkbox__indicator{background-color:#ef6e20;background-image:url(https://raw.githubusercontent.com/encharm/Font-Awesome-SVG-PNG/master/white/png/256/check.png);background-size:1em;background-position:center;border-color:#ef6e20}.gs-radio{position:relative;display:flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.gs-radio__native{position:absolute;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);opacity:0;margin:10px}.gs-radio__indicator{display:inline-block;width:20px;height:20px;margin:0 10px 0 0;background-color:grey;border-radius:20px;border-width:1px;border-style:solid;border-color:transparent}.gs-radio__native:checked~.gs-radio__indicator{background-color:#00f}.gs-select{position:relative;display:inline-block;font-size:11.2px;border-radius:0;border-width:.15625em;border-style:solid;border-color:#d7d7d7}.gs-select:active,.gs-select:focus,.gs-select:hover{border-color:currentColor}.gs-select__native{display:inline-block;font-size:1em;width:100%;margin:0;line-height:1.5;color:#000;background-color:#fff;border:0;border-radius:0;cursor:pointer;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.5em 1.95em .5em .75em}.gs-select__native:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.gs-select::after{content:"";position:absolute;top:50%;right:.75em;display:inline-block;width:0;height:0;border-left:.35em solid transparent;border-right:.35em solid transparent;border-top:.4em solid currentColor;margin-top:-.2em}.gs-widget--xs .gs-navbar .gs-select{max-width:80px}.gs-navbar{display:flex;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-ms-flex-align:center;align-items:center;background-color:#f0f0f0;padding:.5em 1em;margin-bottom:1em}.gs-delete-filter,.gs-iconed-content{display:-webkit-flex;display:-ms-flexbox}.gs-widget--lg .gs-navbar--center{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.gs-navbar>:not(:first-child){margin-left:1em}.gs-delete-filter{display:flex;color:#000;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-size:10px;text-decoration:none;cursor:pointer}.gs-delete-filter__label{display:inline-block;font-weight:700}.gs-delete-filter:hover .gs-delete-filter__label{text-decoration:underline}.gs-delete-filter__btn{width:1.6em;height:1.6em;background-color:#717171;color:#f0f0f0;border:1px solid;text-align:center}.gs-delete-filter:hover .gs-delete-filter__btn{background-color:#f0f0f0;color:#717171}.gs-delete-filter__ic{width:1em;height:1em;margin:.15em}.gs-iconed-content{display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-size:12px;margin-bottom:.5em}.gs-iconed-content__ic-wrapper{font-size:0}.gs-iconed-content svg{fill:currentColor;width:12px;height:12px}.gs-iconed-content__content-wrapper{margin-left:.5em}.gs-answer{background-color:#f0f0f0;font-size:14.4px;padding:1em}.gs-answer__header{margin-bottom:.5em}.gs-answer__body{font-weight:lighter;margin-bottom:.5em}.gs-answer__footer{text-align:right;font-size:10.56px}.gs-pagination{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-size:16px;margin-left:-8px}.gs-widget--lg .gs-pagination--expanded{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.gs-pagination>*{margin-left:8px}.gs-pagination__label{font-size:.75em;font-weight:700}.gs-pagination__specific-page,.gs-widget--lg .gs-pagination--expanded .gs-pagination__label{display:none}.gs-widget--lg .gs-pagination--expanded .gs-pagination__specific-page{display:initial}.gs-separation{border-top-color:#f0f0f0;margin-top:20px;margin-bottom:20px;border-width:2px 0 0}.gs-accordion{font-size:16px}.gs-accordion__title{display:block;-ms-touch-action:manipulation;touch-action:manipulation;background-image:none;white-space:nowrap;width:100%;text-align:left;border:0;font-size:1em;padding:0;background-color:transparent;cursor:pointer;font-weight:700;position:relative;margin-bottom:.5em}.gs-widget--lg .gs-accordion__title{pointer-events:none}.gs-accordion__title:active,.gs-accordion__title:hover{color:#ef6e20}.gs-accordion__title:focus{outline-width:0}.gs-accordion__title::after{content:'';position:absolute;display:block;border-top:.3125em solid currentColor;border-left:.3125em solid transparent;border-right:.3125em solid transparent;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.gs-widget--lg .gs-accordion__title::after,.gs-widget--xs .gs-accordion__body{display:none}.gs-accordion--is-open .gs-accordion__title::after{border-top:0;border-bottom:.3125em solid currentColor}.gs-accordion__sub-title{font-size:.8em;font-weight:lighter;margin-bottom:2em}.gs-widget--xs .gs-accordion--is-open .gs-accordion__body{display:block}.gs-separated+.gs-separated::before{content:' - '}.gs-widget--lg .gs-widget-layout{display:-webkit-flex;display:-ms-flexbox;display:flex}.gs-widget--lg .gs-widget-layout__sidebar{min-width:260px}.gs-widget--lg .gs-widget-layout__content{-webkit-flex:1;-ms-flex:1;flex:1;margin-left:24px}#gs-widget-lite{display:inline-block}#gs-widget-lite .gs-star-grade{font-size:100%}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndpZGdldC1ndWVzdFN1aXRlLnNjc3MiLCJ1dGlscy9faGVscGVycy5zY3NzIiwid2lkZ2V0LWd1ZXN0U3VpdGUuY3NzIiwiYmFzZS9iYXNlLnNjc3MiLCJjb21wb25lbnRzL3Jldmlldy9yZXZpZXcuc2NzcyIsInV0aWxzL19zaXplcy5zY3NzIiwidXRpbHMvX2NvbG9ycy5zY3NzIiwiY29tcG9uZW50cy9zdGFyL3N0YXIuc2NzcyIsImNvbXBvbmVudHMvc3Rhci9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL3N0YXItZ3JhZGUvc3Rhci1ncmFkZS5zY3NzIiwiY29tcG9uZW50cy9zdGFyLWdyYWRlL192YXJpYWJsZXMuc2NzcyIsImNvbXBvbmVudHMvcHJvZ3Jlc3MvcHJvZ3Jlc3Muc2NzcyIsImNvbXBvbmVudHMvcHJvZ3Jlc3MvX3ZhcmlhYmxlcy5zY3NzIiwidXRpbHMvX3NlbGVjdG9yLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3Ryb3dlbC1idXR0b25zL3NyYy9zY3NzL19zdGF0ZW1lbnRzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3Ryb3dlbC1jb3JlL3NyYy9jbGFzcy9zZWxlY3Rvci5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy90cm93ZWwtY29yZS9zcmMvY2xhc3MvYmxvY2suc2NzcyIsImNvbXBvbmVudHMvYnV0dG9uL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdHJvd2VsLWJ1dHRvbnMvc3JjL3Njc3MvdmFyaWFibGVzL190aGVtZS10cm93ZWwuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdHJvd2VsLWJ1dHRvbnMvc3JjL3Njc3MvbWl4aW5zL19idG4tZ3JvdXAtbWFyZ2luLXguc2NzcyIsImNvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy90cm93ZWwtZm9ybXMvc3JjL3Njc3MvX3N0YXRlbWVudHMuc2NzcyIsImNvbXBvbmVudHMvZm9ybS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3Ryb3dlbC1mb3Jtcy9zcmMvc2Nzcy9taXhpbnMvX2Zvcm1zLS1tZC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy90cm93ZWwtZm9ybXMvc3JjL3Njc3MvdmFyaWFibGVzL190aGVtZS10cm93ZWwuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdHJvd2VsLWZvcm1zL3NyYy9zY3NzL21peGlucy9fZm9ybXMtLWNoZWNrYm94LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3Ryb3dlbC1mb3Jtcy9zcmMvc2Nzcy9taXhpbnMvX2Zvcm1zLS1zZWxlY3Quc2NzcyIsInV0aWxzL19yZXNwb25zaXZlLnNjc3MiLCJjb21wb25lbnRzL2Zvcm0vZm9ybS5zY3NzIiwiY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLnNjc3MiLCJjb21wb25lbnRzL25hdmJhci9fdmFyaWFibGVzLnNjc3MiLCJjb21wb25lbnRzL2RlbGV0ZS1maWx0ZXIvZGVsZXRlLWZpbHRlci5zY3NzIiwiY29tcG9uZW50cy9pY29uZWQtY29udGVudC9pY29uZWQtY29udGVudC5zY3NzIiwiY29tcG9uZW50cy9hbnN3ZXIvYW5zd2VyLnNjc3MiLCJjb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9zZXBhcmF0aW9uL3NlcGFyYXRpb24uc2NzcyIsImNvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5zY3NzIiwiY29tcG9uZW50cy9zZXBhcmF0ZWQvc2VwYXJhdGVkLnNjc3MiLCJsYXlvdXQvd2lkZ2V0LWxheW91dC93aWRnZXQtbGF5b3V0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUNGSDtJQUNFLHlCQUF5QixFQUMxQjs7QURHRDs7R0FFRztBRUFIOzs7SUNORSx1QkFBdUIsRUFDeEI7O0FIVUQ7O0dBRUc7QUlYSDtJQUNFLGdCQ0hzQjtJREl0QiwrQkVMbUI7SUZNbkIscUJBQXFCO0lBQ3JCLGtCQUFrQixFQUNuQjs7QUFFRDtJQUNFLHNCQUFjO0lBQWQscUJBQWM7SUFBZCxjQUFjO0lBQ2QsdUNBQStCO1FBQS9CLHVCQUErQjtZQUEvQiwrQkFBK0I7SUFDL0Isb0JDWnNCLEVEYXZCOztBQUVEO0lBQ0UsY0FBYztJQUNkLHNCQUFzQjtJQUN0QixpQkFBaUIsRUFDbEI7O0FBRUQ7SUFDRSxtQkFBbUIsRUFDcEI7O0FHcEJEO0lDTEUsWUhFc0I7SUdEdEIsYUhDc0I7SUVLdEIsWURQaUIsRUNRbEI7O0FFREQ7SUFDRSxzQkFBYztJQUFkLHFCQUFjO0lBQWQsY0FBYztJQUNkLDRCQUFvQjtRQUFwQix1QkFBb0I7WUFBcEIsb0JBQW9CO0lBQ3BCLGdCSlJzQjtJSVN0QixtQkFBbUI7SUFDbkIsb0JDTHVCLEVETXhCOztBQUVEO0lBQ0UsbUJDVHVCLEVEVXhCOztBQUVEO0lBQ0Usc0JBQWM7SUFBZCxxQkFBYztJQUFkLGNBQWMsRUFDZjs7QUFFRDtJRHZCRSxXQ3dCdUI7SUR2QnZCLFlDdUJ1QjtJQUN2QixjSDFCZ0IsRUcyQmpCOztBQUdDO0lBQ0UsZ0JKNUJvQixFSTZCckI7O0FBRkQ7SUFDRSxnQko1Qm9CLEVJNkJyQjs7QUFHSDs7SUFDRSxzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLG1CQUFtQixFQUNwQjs7QUFFRDtJQUNFLGtCQUFrQixFQUNuQjs7QUVyQ0Q7SUFDRSxzQkFBYztJQUFkLHFCQUFjO0lBQWQsY0FBYztJQUNkLHNCQ1J3QjtJRFN4Qiw0QkFBb0I7UUFBcEIsdUJBQW9CO1lBQXBCLG9CQUFvQjtJQUNwQixxQkFBYTtRQUFiLGlCQUFhO1lBQWIsYUFBYSxFQUNkOztBQUVEO0lBQ0UscUJDZHdCLEVEZXpCOztBQUVEO0lBQ0UsY0FBYztJQUNkLFlBQ0QsRUFBQzs7QUFFRjtJQUNFLGFBQWE7SUFDYixZQUFZO0lBQ1osZ0JOdEJzQjtJTXVCdEIsZUFBZTtJQUNmLGVBQWE7SUFDYix3QkFBeUI7SUFDekIsa0JBQWtCLEVBQ25COztBQUVEO0lBQ0UsMEJMakNnQjtJS2tDaEIsYUFBYSxFQUtkO0lFaENTO1FGOEJOLGVBQWUsRUU1QmhCOztBRmdDSDtJQUNFLGNBQWM7SUFDZCxZQUFZLEVBQ2I7O0FHNUNEOztHQUVHO0FDNmxCUztJQ2hqQkosOEJDV2tCO0lEWGxCLDZCQ3BDcUI7SURvQ3JCLDRCQ3BDcUI7SURvQ3JCLHFCQ3BDcUI7SURvQ3JCLGFWOUNXO0lVOENYLGdCWDVDZ0I7SVc0Q2hCLG1CRXlDbUI7SUZ6Q25CLG1CQ3lCbUI7SUR6Qm5CLHVCQ3hDdUI7SUR3Q3ZCLCtCRnJCMkM7UUVxQjNDLDJCRnJCMkM7SUVxQjNDLGdCRkRnQztJRUNoQyx1QkZsQnVDO0lFa0J2QywwQkZqQmtDO09FaUJsQyx1QkZqQmtDO1FFaUJsQyxzQkZqQmtDO1lFaUJsQyxrQkZqQmtDO0lFaUJsQyxvQkZoQm9DO0lFZ0JwQyxpQkNrQ2lCO0lEbENqQixzQkN1QnNCO0lEdkJ0QixXQ2xDVztJRGtDWCxzQkNuQ3NCO0lEbUN0QixvQkNtQ29CO0lEbkNwQiwwQkNUZ0I7SURTaEIsZUNqQ2U7SURpQ2YsZ0JDakNlLEVGcWxCbEI7O0FBSk87SUNoakJKLDhCQ1c4QjtJRFg5QixvQlY5Q1csRVNrbUJkOztBQUpPO0lDaGpCSixhQ2pCUztJRGlCVCxvQlY5Q1csRVNrbUJkOztBQUpPO0lDaGpCSiw4QkNXOEI7SURYOUIsb0JWOUNXLEVTa21CZDs7QUFKTztJQ2hqQkosYUNmUztJRGVULG9CVjlDVyxFU2ttQmQ7O0FBSk87SUNoakJKLDhCQ1c4QjtJRFg5QixvQlY5Q1csRVNrbUJkOztBQUpPO0lDaGpCSixhQ2hCVTtJRGdCVixvQlY5Q1csRVNrbUJkOztBQUpPO0lDaGpCSiw4QkNZMkI7SURaM0IsZUN4QmE7SUR3QmIsb0JGbkJvQztJRW1CcEMsMkJDRW1CO0lERm5CLGFFdUJpQixFSDZoQnBCOztBQUpPO0lDaGpCSiw4QkNZdUM7SURadkMsZUN2Qlk7SUR1QlosMkJDR2tCLEVGaWpCckI7O0FBSk87SUNoakJKLDhCQ1l1QztJRFp2QyxlQ3JCWTtJRHFCWiwyQkNLa0IsRUYraUJyQjs7QUFKTztJQ2hqQkosOEJDWXVDO0lEWnZDLGVDdEJhO0lEc0JiLDJCQ0ltQixFRmdqQnRCOztBQUpPO0lDaGpCSix3QlY5Q1c7SVU4Q1gsYUNiUSxFRmlrQlg7O0FBSk87SUNoakJKLHdCVjlDVyxFU2ttQmQ7O0FBSk87SUNoakJKLHdCVjlDVyxFU2ttQmQ7O0FBSk87SUNoakJKLHdCVjlDVyxFU2ttQmQ7O0FBSk87SUNoakJKLDhCQ2VrQjtJRGZsQixhVjlDVztJVThDWCxvQlY5Q1csRVNrbUJkOztBQUpPO0lDaGpCSix3QlY5Q1csRVNrbUJkOztBQUpPO0lDaGpCSix3QlY5Q1csRVNrbUJkOztBQUpPO0lDaGpCSix3QlY5Q1csRVNrbUJkOztBQUpPO0lDaGpCSixnQkZBZ0MsRUNvakJuQzs7QUFFRDtJRGpqQkEsdUJBQXVCLEVBQ3hCOztBQzBpQlM7SUNoakJKLHNCRmE4QjtJRWI5QixxQkZhOEI7SUViOUIsY0ZhOEIsRUN1aUJqQzs7QUFKTztJQ2hqQkosbUJGcUJtQyxFQytoQnRDOztBQUpPO0lDaGpCSixXRnNCMkIsRUM4aEI5Qjs7QUFKTztJQ2hqQkosV0Z1QjJCLEVDNmhCOUI7O0FBSk87SUNoakJKLFdGd0IyQixFQzRoQjlCOztBQUpPO0lDaGpCSiwwQkZ5QjBDO0lFekIxQyw2QkYwQjZDLEVDMGhCaEQ7O0FBSk87SUNoakJKLDJCRjJCMkM7SUUzQjNDLDhCRjRCOEMsRUN3aEJqRDs7QUFKTztJQ2hqQkosc0JHOUNvQyxFSmttQnZDOztBSzdsQkw7SUFDRSxnQ0FBd0I7UUFBeEIsc0JBQXdCO1lBQXhCLHdCQUF3QjtJQUN4Qiw0QkFBb0I7UUFBcEIsdUJBQW9CO1lBQXBCLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsbUJBQW1CLEVBQ3BCOztBQUVEO0lBQ0UsZ0JBQWdCLEVBQ2pCOztBQUVEO0lBRUUsV0FEVTtJQUVWLFlBRlU7SUFHVixTQUFTO0lBQ1QsVUFBVTtJQUNWLG1CQUFtQjtJQUNuQix5Q0FBb0I7WUFBcEIsaUNBQW9CLEVBQ3JCOztBQ3pCRDs7R0FFRztBTjZsQlM7SUNoakJKLGdCWDVDZ0I7SVc0Q2hCLHVCTXZDMEIsRVAybEI3Qjs7QUFKTztJQ2hqQkosd0JPbEMyQjtJUGtDM0IsbUJPOUJtQyxFUmtsQnRDOztBQUpPO0lDaGpCSixlS1o2QjtJTFk3QixtQlF4QzRCO0lSd0M1QixxQlF0QzhCO0lSc0M5QixtQlFwQzRCO0lSb0M1QiwrQktGeUM7UUxFekMsMkJLRnlDLEVOc2pCNUM7O0FBSk87SUNoakJKLG1CT1htQztJUFduQyxrQ09Ia0QsRVJ1akJyRDs7QUFKTztJQ2hqQkosZ0JPakIyQjtJUGlCM0IsZVE3QndCO0lSNkJ4QixrQlE1QjJCLEVUZ2xCOUI7O0FBSk87SUNoakJKLE9PTnVCO0lQTXZCLG1CUXhDNEI7SVJ3QzVCLG1CUXBDNEIsRVR3bEIvQjs7QUFKTztJQ2hqQkosZUtRNkI7SUxSN0IsWUtTMEI7SUxUMUIsdUJLVXFDO0lMVnJDLDZCS1cyQztJTFgzQyxtQlE5QjRCO0lSOEI1QixlUTdCd0I7SVI2QnhCLGtCUTVCMkI7SVI0QjNCLGFRM0JzQjtJUjJCdEIsd0JRMUJpQztJUjBCakMsNkJRekJzQztJUnlCdEMsb0JReEI2QixFVDRrQmhDOztBQUpPO0lDaGpCSixXUWhCSyxFVG9rQlI7O0FBSk87SUNoakJKLGVLa0M2QjtJTGxDN0IsWUttQzBCO0lMbkMxQixrQlFiMEI7SVJhMUIsaUJRWHlCLEVUK2pCNUI7O0FBSk87SUNoakJKLG1CS2dFaUM7SUxoRWpDLHNCS2lFNEI7SUxqRTVCLHFCS2lFNEI7SUxqRTVCLGNLaUU0QjtJTGpFNUIsZ0JLa0U4QjtJTGxFOUIsMEJLbUVnQztPTG5FaEMsdUJLbUVnQztRTG5FaEMsc0JLbUVnQztZTG5FaEMsa0JLbUVnQztJTG5FaEMsZ0JYNUNnQixFVWdtQm5COztBQUpPO0lDaGpCSixtQktxRmlDO0lMckZqQyx5Q0tzRm1DO1lMdEZuQyxpQ0tzRm1DO0lMdEZuQyxXS3VGeUI7SUx2RnpCLGdCUzlDOEIsRVZrbUJqQzs7QUFKTztJQ2hqQkosc0JLa0dvQztJTGxHcEMsY01nQnlCO0lOaEJ6QixlTWdCeUI7SU5oQnpCLHNCTWlCa0M7SU5qQmxDLDhCTWtCMEM7SU5sQjFDLGlCTXVCNkI7SU52QjdCLGtCTXdCOEI7SU54QjlCLG9CTXlCZ0M7SU56QmhDLHNCTTBCaUMsRVAwaEJwQzs7QUFKTztJQ2hqQkosMEJWL0NVO0lVK0NWLHVITWlDMEM7SU5qQzFDLHFCTW1DeUM7SU5uQ3pDLDRCTW9DZ0Q7SU5wQ2hELHNCVi9DVSxFU21tQmI7O0FBSk87SUNoakJKLG1CS3lJaUM7SUx6SWpDLHNCSzBJNEI7SUwxSTVCLHFCSzBJNEI7SUwxSTVCLGNLMEk0QjtJTDFJNUIsZ0JLMkk4QjtJTDNJOUIsMEJLNElnQztPTDVJaEMsdUJLNElnQztRTDVJaEMsc0JLNElnQztZTDVJaEMsa0JLNElnQyxFTndhbkM7O0FBSk87SUNoakJKLG1CSzhKaUM7SUw5SmpDLHlDSytKbUM7WUwvSm5DLGlDSytKbUM7SUwvSm5DLFdLZ0t5QjtJTGhLekIsYVM5QzhCLEVWa21CakM7O0FBSk87SUNoakJKLHNCSzJLb0M7SUwzS3BDLFlNaURvQjtJTmpEcEIsYU1pRG9CO0lOakRwQixtQk1rRDRCO0lObEQ1Qix1Qk1tRGdDO0lObkRoQyxvQk13RDZCO0lOeEQ3QixrQk15RDJCO0lOekQzQixvQk0wRDZCO0lOMUQ3QiwwQk0yRG1DLEVQeWZ0Qzs7QUFKTztJQ2hqQkosdUJNaUV3QyxFUG1mM0M7O0FBSk87SUNoakJKLG1CS2lOaUM7SUxqTmpDLHNCS2tOb0M7SUxsTnBDLGtCWDVDZ0I7SVc0Q2hCLGlCTThFaUI7SU45RWpCLHdCTStFd0I7SU4vRXhCLG9CTWdGb0I7SU5oRnBCLHNCTWtGVyxFUGtlZDs7QUFKTztJQ2hqQkosMkJNbUZnQixFUGllbkI7O0FBSk87SUNoakJKLDJCTW9GaUIsRVBnZXBCOztBQUpPO0lDaGpCSiwyQk1xRmdCLEVQK2RuQjs7QUFKTztJQ2hqQkosc0JLcU9vQztJTHJPcEMsZUtzTzZCO0lMdE83QixZS3VPMEI7SUx2TzFCLFVLd093QjtJTHhPeEIsbUJNNEZpQjtJTjVGakIsc0JNNEZpQjtJTjVGakIscUJNMkZrQjtJTjNGbEIsc0JVaEJpRDtJVmdCakQsaUJNNkZpQjtJTjdGakIsYVY5Q1c7SVU4Q1gsd0JNOEZzQjtJTjlGdEIsVUtnUHdCO0lMaFB4QixpQk04RWlCO0lOOUVqQixnQk0rRmdCO0lOL0ZoQixXS21QeUI7SUxuUHpCLHlCS29QK0I7T0xwUC9CLHNCS29QK0I7WUxwUC9CLGlCS29QK0IsRU5nVWxDOztBQUpPO0lDaGpCSixtQkt1UGlDO0lMdlBqQyx3Qkt3UHNDLEVONFR6Qzs7QUFKTztJQ2hqQkosWUtpUTBCO0lMalExQixtQktrUWlDO0lMbFFqQyxTS21RdUI7SUxuUXZCLGNNMkZrQjtJTjNGbEIsc0JLcVFvQztJTHJRcEMsU1VqQ3lCO0lWaUN6QixVVWhDMEI7SVZnQzFCLHNDVS9CNEQ7SVYrQjVELHVDVTlCNkQ7SVY4QjdELHFDUThGcUM7SVI5RnJDLG1CVXhCNkIsRVg0a0JoQzs7QVkxbEJIO0lDREUsZ0J2QkxvQixFc0JRckI7O0FFTEg7SUFDRSxzQkFBYztJQUFkLHFCQUFjO0lBQWQsY0FBYztJQUNkLHVDQUErQjtRQUEvQix1QkFBK0I7WUFBL0IsK0JBQStCO0lBQy9CLDRCQUFvQjtRQUFwQix1QkFBb0I7WUFBcEIsb0JBQW9CO0lBQ3BCLDBCdkJSbUI7SXVCU25CLG1CQUFtQjtJQUNuQixtQkFBbUIsRUFDcEI7O0FGSkM7SUVRRSxnQ0FBd0I7UUFBeEIsc0JBQXdCO1lBQXhCLHdCQUF3QixFRk56Qjs7QUVVSDtJQUNFLGlCQ3RCa0IsRUR1Qm5COztBRW5CRDtJQUNFLHNCQUFjO0lBQWQscUJBQWM7SUFBZCxjQUFjO0lBQ2QsYXpCTGlCO0l5Qk1qQix1Q0FBK0I7UUFBL0IsdUJBQStCO1lBQS9CLCtCQUErQjtJQUMvQiw0QkFBb0I7UUFBcEIsdUJBQW9CO1lBQXBCLG9CQUFvQjtJQUNwQixnQjFCTnNCO0kwQk90QixzQkFBc0I7SUFDdEIsZ0JBQWdCLEVBQ2pCOztBQUVEO0lBQ0Usc0JBQXNCO0lBQ3RCLGtCQUFrQixFQUtuQjtJQVBEO1FBS0ksMkJBQTJCLEVBQzVCOztBQUdIO0lBRUUsYUFEWTtJQUVaLGNBRlk7SUFHWiwwQkFBd0I7SUFDeEIsZXpCMUJtQjtJeUIyQm5CLGtCQUFrQjtJQUNsQixtQkFBbUIsRUFNcEI7SUFiRDtRQVVJLDBCekIvQmlCO1F5QmdDakIsZUFBYSxFQUNkOztBQUdIO0lBRUUsV0FBVztJQUNYLFlBQVk7SUFDWixlQUFlLEVBQ2hCOztBQ3hDRDtJQUNFLHNCQUFjO0lBQWQscUJBQWM7SUFBZCxjQUFjO0lBQ2QsNEJBQW9CO1FBQXBCLHVCQUFvQjtZQUFwQixvQkFBb0I7SUFDcEIsZ0IzQkhzQjtJMkJJdEIscUJBQXFCLEVBQ3RCOztBQUVEO0lBQ0UsYUFBYSxFQUNkOztBQUVEO0lBRUUsbUJBQW1CO0lBQ25CLFkzQmRzQjtJMkJldEIsYTNCZnNCLEUyQmdCdkI7O0FBR0Q7SUFDRSxtQkFBbUIsRUFDcEI7O0FBRUQ7SUFDRSxrQkFBa0IsRUFDbkI7O0FDeEJEO0lBQ0UsMEIzQkhtQjtJMkJJbkIsa0I1QkhzQjtJNEJJdEIsYUFBYSxFQUNkOztBQUVEO0lBQ0Usa0JBQWtCO0lBQ2xCLHFCQUFxQixFQUN0Qjs7QUFFRDtJQUNFLHFCQUFxQjtJQUNyQixxQkFBcUIsRUFDdEI7O0FBRUQ7SUFDRSxrQkFBa0I7SUFDbEIsbUI1Qm5Cc0IsRTRCb0J2Qjs7QUNoQkQ7SUFDRSxzQkFBYztJQUFkLHFCQUFjO0lBQWQsY0FBYztJQUNkLDRCQUFvQjtRQUFwQix1QkFBb0I7WUFBcEIsb0JBQW9CO0lBQ3BCLGdCN0JQc0I7STZCUXRCLGtCN0JSc0IsRTZCU3ZCOztBUEhDO0lPT0UsZ0NBQXdCO1FBQXhCLHNCQUF3QjtZQUF4Qix3QkFBd0IsRVBMekI7O0FPU0g7SUFDRSxpQjdCbEJzQixFNkJtQnZCOztBQUVEO0lBQ0Usa0JBQWtCO0lBQ2xCLGtCQUFrQixFQU9uQjtJUHhCQztRT3FCSSxjQUFjLEVQbkJqQjs7QU93Qkg7SUFDRSxjQUFjLEVBTWY7SVBqQ0M7UU84QkksaUJBQWlCLEVQNUJwQjs7QVFOSDtJQUVFLDBCN0JMbUI7STZCTW5CLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixpQjlCVHNCO0k4QlV0QixvQjlCVnNCLEU4Qld2Qjs7QUNURDtJQUNFLGdCL0JIc0IsRStCSXZCOztBQUVEO0lBQ0UsZUFBZTtJQUNmLCtCQUEyQjtRQUEzQiwyQkFBMkI7SUFDM0IsdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLFVBQVU7SUFDVixlQUFlO0lBQ2YsV0FBVztJQUNYLDhCQUE4QjtJQUM5QixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixxQkFBcUIsRUFjdEI7SVQ1QkM7UVNpQkUscUJBQXFCLEVUZnRCO0lTRkg7UUFzQkksZTlCL0JjLEU4QmdDZjtJQXZCSDtRQTBCSSxpQkFBaUIsRUFDbEI7O0FBR0g7SUFDRSxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGVBQWU7SUFDZix3Q0FBd0M7SUFDeEMsd0NBQXdDO0lBQ3hDLHlDQUF5QztJQUN6QyxTQUFTO0lBQ1QsU0FBUztJQUNULG9DQUFxQjtZQUFyQiw0QkFBcUIsRUFVdEI7SVRqREM7UVMwQ0UsY0FBYyxFVHhDZjtJUzRCaUI7UUFnQmhCLGNBQWM7UUFDZCwyQ0FBMkMsRUFDNUM7O0FBR0g7SUFDRSxpQkFBaUI7SUFDakIscUJBQXFCO0lBQ3JCLG1CQUFtQixFQUNwQjs7QVR2REM7SVMyREUsY0FBYyxFVHpEZjs7QUFGRDtJU2dFSSxlQUFlLEVUOURsQjs7QVVUSDtJQUNFLGVBQWUsRUFDaEI7O0FyQzRCRDs7R0FFRztBMkJ6QkQ7SVdIRSxzQkFBYztJQUFkLHFCQUFjO0lBQWQsY0FBYyxFWEtmOztBQUZEO0lXR0UsaUJqQ1RvQixFc0JRckI7O0FBRkQ7SVdTRSxnQkFBUTtRQUFSLFlBQVE7WUFBUixRQUFRO0lBQ1Isa0JqQ2hCb0IsRXNCUXJCOztBM0IwQkg7SUFDSSxzQkFBc0IsRUFLekI7SUFORDtRQUlRLGdCQUFnQixFQUNuQiIsImZpbGUiOiJ3aWRnZXQtZ3Vlc3RTdWl0ZS5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgJ1VURi04JztcblxuLyoqXG4gKiBVdGlsaXRpZXNcbiAqL1xuQGltcG9ydCAnLi91dGlscy9oZWxwZXJzJztcblxuLyoqXG4gKiBSdWxlcyBjb21tb24gdG8gYWxsIGNvbXBvbmVudHMgYW5kIGxheW91dHNcbiAqL1xuQGltcG9ydCAnYmFzZS9iYXNlJztcbkBpbXBvcnQgJy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc2Fzc3ktbWFwcy9zYXNzL3Nhc3N5LW1hcHMnO1xuQGltcG9ydCAnLi4vLi4vYm93ZXJfY29tcG9uZW50cy90cm93ZWwtY29yZS9zcmMvdHJvd2VsJztcblxuLyoqXG4gKiBBdG9taWMgQ29tcG9uZW50c1xuICovXG5AaW1wb3J0ICdjb21wb25lbnRzL3Jldmlldy9yZXZpZXcnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGFyL3N0YXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGFyLWdyYWRlL3N0YXItZ3JhZGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy9wcm9ncmVzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb3JtL2Zvcm0nO1xuQGltcG9ydCAnY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZGVsZXRlLWZpbHRlci9kZWxldGUtZmlsdGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaWNvbmVkLWNvbnRlbnQvaWNvbmVkLWNvbnRlbnQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hbnN3ZXIvYW5zd2VyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VwYXJhdGlvbi9zZXBhcmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NlcGFyYXRlZC9zZXBhcmF0ZWQnO1xuXG4vKipcbiAqIExheW91dCByZWxhdGl2ZXMgcnVsZXNcbiAqL1xuQGltcG9ydCAnbGF5b3V0L3dpZGdldC1sYXlvdXQvd2lkZ2V0LWxheW91dCc7XG5cbiNncy13aWRnZXQtbGl0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLmdzLXN0YXItZ3JhZGUge1xuICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnLi9zZWxlY3Rvcic7XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ2hpZGRlbicpfSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8qKlxuICogVXRpbGl0aWVzXG4gKi9cbi5ncy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKipcbiAqIFJ1bGVzIGNvbW1vbiB0byBhbGwgY29tcG9uZW50cyBhbmQgbGF5b3V0c1xuICovXG5bY2xhc3MqPVwiZ3NcIl0sXG5bY2xhc3MqPVwiZ3NcIl06OmJlZm9yZSxcbltjbGFzcyo9XCJnc1wiXTo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyoqXG4gKiBBdG9taWMgQ29tcG9uZW50c1xuICovXG4uZ3MtcmV2aWV3IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZjBmMGYwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIHBhZGRpbmctbGVmdDogMWVtOyB9XG5cbi5ncy1yZXZpZXdfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uZ3MtcmV2aWV3X190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG4gICAgZm9udC1zaXplOiAxLjFlbTsgfVxuXG4uZ3MtcmV2aWV3X19ib2R5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLmdzLXN0YXIge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBmaWxsOiBibGFjazsgfVxuXG4uZ3Mtc3Rhci1ncmFkZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjRlbTsgfVxuXG4uZ3Mtc3Rhci1ncmFkZSA+ICoge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjRlbTsgfVxuXG4uZ3Mtc3Rhci1ncmFkZV9faWNvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cblxuLmdzLXN0YXItZ3JhZGUgLmdzLXN0YXIge1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgZmlsbDogI2VmNmUyMDsgfVxuXG4uZ3Mtc3Rhci1ncmFkZS0tbGcge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uZ3Mtc3Rhci1ncmFkZS0teGwge1xuICAgIGZvbnQtc2l6ZTogMjhweDsgfVxuXG4uZ3Mtc3Rhci1ncmFkZV9fbGFiZWwsXG4uZ3Mtc3Rhci1ncmFkZV9fcmV2aWV3cy1udW1iZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tbGVmdDogMC40ZW07IH1cblxuLmdzLXN0YXItZ3JhZGVfX2xhYmVsIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uZ3MtcHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNWVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleDogMSAxIDAlOyB9XG5cbi5ncy1wcm9ncmVzcyA+ICoge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNWVtOyB9XG5cbi5ncy1wcm9ncmVzc19fbGFiZWwge1xuICAgIHdpZHRoOiAxLjc1ZW07XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLmdzLXByb2dyZXNzX19iYXIge1xuICAgIHdpZHRoOiAxMjJweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgaGVpZ2h0OiAwLjg1ZW07XG4gICAgY29sb3I6ICNiZGJkYmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7IH1cblxuLmdzLXByb2dyZXNzX19iYXItY29tcGxldGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZjZlMjA7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgc3Bhbi5ncy1wcm9ncmVzc19fYmFyLWNvbXBsZXRlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdzLXByb2dyZXNzX19kYXRhIHtcbiAgICB3aWR0aDogMy43NWVtO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi8qKlxuICogQnV0dG9uc1xuICovXG4uZ3MtYnRuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjEyNWVtO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogMS44NzVlbTtcbiAgICBoZWlnaHQ6IDEuODc1ZW07IH1cblxuLmdzLWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiBibGFjazsgfVxuXG4uZ3MtYnRuLS1ib3JkZXJlZDpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogYmxhY2s7IH1cblxuLmdzLWJ0bjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiBibGFjazsgfVxuXG4uZ3MtYnRuLS1ib3JkZXJlZDpmb2N1cyB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogYmxhY2s7IH1cblxuLmdzLWJ0bjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogYmxhY2s7IH1cblxuLmdzLWJ0bi0tYm9yZGVyZWQ6YWN0aXZlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiBibGFjazsgfVxuXG4uZ3MtYnRuW2Rpc2FibGVkPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM3MTcxNzE7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBvcGFjaXR5OiAwLjU7IH1cblxuLmdzLWJ0bltkaXNhYmxlZD1cInRydWVcIl06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjNzE3MTcxO1xuICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yOyB9XG5cbi5ncy1idG5bZGlzYWJsZWQ9XCJ0cnVlXCJdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzcxNzE3MTtcbiAgICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuXG4uZ3MtYnRuW2Rpc2FibGVkPVwidHJ1ZVwiXTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjNzE3MTcxO1xuICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yOyB9XG5cbi5ncy1idG4tLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi5ncy1idG4tLWFjdGl2ZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cblxuLmdzLWJ0bi0tYWN0aXZlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuXG4uZ3MtYnRuLS1hY3RpdmU6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuXG4uZ3MtYnRuLS1ib3JkZXJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGJvcmRlci1jb2xvcjogYmxhY2s7IH1cblxuLmdzLWJ0bi0tYm9yZGVyZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG5cbi5ncy1idG4tLWJvcmRlcmVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuXG4uZ3MtYnRuLS1ib3JkZXJlZDphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG5cbmJ1dHRvbi5ncy1idG4ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZ3MtYnRuIHN2ZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uZ3MtYnRuLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5ncy1idG4tZ3JvdXAgPiAuZ3MtYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmdzLWJ0bi1ncm91cCA+IC5ncy1idG46aG92ZXIge1xuICAgIHotaW5kZXg6IDI7IH1cblxuLmdzLWJ0bi1ncm91cCA+IC5ncy1idG46YWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyB9XG5cbi5ncy1idG4tZ3JvdXAgPiAuZ3MtYnRuOmZvY3VzIHtcbiAgICB6LWluZGV4OiAyOyB9XG5cbi5ncy1idG4tZ3JvdXAgPiAuZ3MtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLmdzLWJ0bi1ncm91cCA+IC5ncy1idG46bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLmdzLWJ0bi1ncm91cCA+IC5ncy1idG4gKyAuZ3MtYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTI1ZW07IH1cblxuLmdzLWJ0biB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5ncy1idG4tLWFjdGl2ZSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5ncy1idG4gc3ZnIHtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLyoqXG4gKiBmb3Jtc1xuICovXG4uZ3MtZm9ybS1ncm91cCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1ZW07IH1cblxuLmdzLWZvcm0tZ3JvdXAtLW1kIHtcbiAgICBwYWRkaW5nLXRvcDogMS40Mzc2MjVlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmdzLWZvcm0tZ3JvdXBfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTQzO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG5cbi5ncy1mb3JtLWdyb3VwLS1tZCAuZ3MtZm9ybS1ncm91cF9fbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMjAwbXM7IH1cblxuLmdzLWZvcm0tZ3JvdXAtLW1kIC5ncy1mb3JtLWdyb3VwX19sYWJlbFtkYXRhLW1kZm9ybT1cImZvbGRlZFwiXSB7XG4gICAgdG9wOiAxLjQzNzYyNWVtO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG5cbi5ncy1mb3JtLWdyb3VwLS1tZCAuZ3MtZm9ybS1ncm91cF9fbGFiZWxbZGF0YS1tZGZvcm09XCJ1bmZvbGRlZFwiXSB7XG4gICAgdG9wOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xNDM7IH1cblxuLmdzLWZvcm0tZ3JvdXBfX2lucHV0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgcGFkZGluZzogMCAwIDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAwLjA2MjVlbSAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cblxuLmdzLWZvcm0tZ3JvdXBfX2lucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5ncy1mb3JtLWdyb3VwX19oZWxwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAuNWVtIDAgMDtcbiAgICBmb250LXNpemU6IDAuOGVtOyB9XG5cbi5ncy1jaGVja2JveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uZ3MtY2hlY2tib3hfX25hdGl2ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbWFyZ2luOiAwLjYyNWVtOyB9XG5cbi5ncy1jaGVja2JveF9faW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEuMjVlbTtcbiAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICBtYXJnaW46IDAgMC42MjVlbSAwIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2Q3ZDdkNzsgfVxuXG4uZ3MtY2hlY2tib3hfX25hdGl2ZTpjaGVja2VkIH4gLmdzLWNoZWNrYm94X19pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZjZlMjA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2VuY2hhcm0vRm9udC1Bd2Vzb21lLVNWRy1QTkcvbWFzdGVyL3doaXRlL3BuZy8yNTYvY2hlY2sucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMWVtO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNlZjZlMjA7IH1cblxuLmdzLXJhZGlvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmdzLXJhZGlvX19uYXRpdmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1hcmdpbjogMTBweDsgfVxuXG4uZ3MtcmFkaW9fX2luZGljYXRvciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uZ3MtcmFkaW9fX25hdGl2ZTpjaGVja2VkIH4gLmdzLXJhZGlvX19pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7IH1cblxuLmdzLXNlbGVjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDExLjJweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci13aWR0aDogMC4xNTYyNWVtO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDdkN2Q3OyB9XG5cbi5ncy1zZWxlY3Q6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yOyB9XG5cbi5ncy1zZWxlY3Q6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuXG4uZ3Mtc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuXG4uZ3Mtc2VsZWN0X19uYXRpdmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy10b3A6IDAuNWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjk1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4uZ3Mtc2VsZWN0X19uYXRpdmU6Zm9jdXM6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMDsgfVxuXG4uZ3Mtc2VsZWN0OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDAuNzVlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwLjM1ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAwLjM1ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogMC40ZW0gc29saWQgY3VycmVudENvbG9yO1xuICAgIG1hcmdpbi10b3A6IC0wLjJlbTsgfVxuXG4uZ3Mtd2lkZ2V0LS14cyAuZ3MtbmF2YmFyIC5ncy1zZWxlY3Qge1xuICAgIG1heC13aWR0aDogODBweDsgfVxuXG4uZ3MtbmF2YmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuXG4uZ3Mtd2lkZ2V0LS1sZyAuZ3MtbmF2YmFyLS1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5ncy1uYXZiYXIgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG5cbi5ncy1kZWxldGUtZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZ3MtZGVsZXRlLWZpbHRlcl9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5ncy1kZWxldGUtZmlsdGVyOmhvdmVyIC5ncy1kZWxldGUtZmlsdGVyX19sYWJlbCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5ncy1kZWxldGUtZmlsdGVyX19idG4ge1xuICAgIHdpZHRoOiAxLjZlbTtcbiAgICBoZWlnaHQ6IDEuNmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3MTcxNzE7XG4gICAgY29sb3I6ICNmMGYwZjA7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmdzLWRlbGV0ZS1maWx0ZXI6aG92ZXIgLmdzLWRlbGV0ZS1maWx0ZXJfX2J0biB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgICAgIGNvbG9yOiAjNzE3MTcxOyB9XG5cbi5ncy1kZWxldGUtZmlsdGVyX19pYyB7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW46IDAuMTVlbTsgfVxuXG4uZ3MtaWNvbmVkLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cblxuLmdzLWljb25lZC1jb250ZW50X19pYy13cmFwcGVyIHtcbiAgICBmb250LXNpemU6IDA7IH1cblxuLmdzLWljb25lZC1jb250ZW50IHN2ZyB7XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDsgfVxuXG4uZ3MtaWNvbmVkLWNvbnRlbnRfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNWVtOyB9XG5cbi5ncy1pY29uZWQtY29udGVudF9fY29udGVudC13cmFwcGVyLS1ib2xkIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uZ3MtYW5zd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIGZvbnQtc2l6ZTogMTQuNHB4O1xuICAgIHBhZGRpbmc6IDFlbTsgfVxuXG4uZ3MtYW5zd2VyX19oZWFkZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG5cbi5ncy1hbnN3ZXJfX2JvZHkge1xuICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG5cbi5ncy1hbnN3ZXJfX2Zvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxMC41NnB4OyB9XG5cbi5ncy1wYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtOHB4OyB9XG5cbi5ncy13aWRnZXQtLWxnIC5ncy1wYWdpbmF0aW9uLS1leHBhbmRlZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmdzLXBhZ2luYXRpb24gPiAqIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4OyB9XG5cbi5ncy1wYWdpbmF0aW9uX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAuZ3Mtd2lkZ2V0LS1sZyAuZ3MtcGFnaW5hdGlvbi0tZXhwYW5kZWQgLmdzLXBhZ2luYXRpb25fX2xhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZ3MtcGFnaW5hdGlvbl9fc3BlY2lmaWMtcGFnZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5ncy13aWRnZXQtLWxnIC5ncy1wYWdpbmF0aW9uLS1leHBhbmRlZCAuZ3MtcGFnaW5hdGlvbl9fc3BlY2lmaWMtcGFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGluaXRpYWw7IH1cblxuLmdzLXNlcGFyYXRpb24ge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmMGYwZjA7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMnB4O1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uZ3MtYWNjb3JkaW9uIHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cblxuLmdzLWFjY29yZGlvbl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbiAgICAuZ3Mtd2lkZ2V0LS1sZyAuZ3MtYWNjb3JkaW9uX190aXRsZSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmdzLWFjY29yZGlvbl9fdGl0bGU6aG92ZXIsIC5ncy1hY2NvcmRpb25fX3RpdGxlOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjZWY2ZTIwOyB9XG4gICAgLmdzLWFjY29yZGlvbl9fdGl0bGU6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi5ncy1hY2NvcmRpb25fX3RpdGxlOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci10b3A6IDAuMzEyNWVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItbGVmdDogMC4zMTI1ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAwLjMxMjVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAuZ3Mtd2lkZ2V0LS1sZyAuZ3MtYWNjb3JkaW9uX190aXRsZTo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmdzLWFjY29yZGlvbi0taXMtb3BlbiAuZ3MtYWNjb3JkaW9uX190aXRsZTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwLjMxMjVlbSBzb2xpZCBjdXJyZW50Q29sb3I7IH1cblxuLmdzLWFjY29yZGlvbl9fc3ViLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuXG4uZ3Mtd2lkZ2V0LS14cyAuZ3MtYWNjb3JkaW9uX19ib2R5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5ncy13aWRnZXQtLXhzIC5ncy1hY2NvcmRpb24tLWlzLW9wZW4gLmdzLWFjY29yZGlvbl9fYm9keSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdzLXNlcGFyYXRlZCArIC5ncy1zZXBhcmF0ZWQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyAtICc7IH1cblxuLyoqXG4gKiBMYXlvdXQgcmVsYXRpdmVzIHJ1bGVzXG4gKi9cbi5ncy13aWRnZXQtLWxnIC5ncy13aWRnZXQtbGF5b3V0IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5ncy13aWRnZXQtLWxnIC5ncy13aWRnZXQtbGF5b3V0X19zaWRlYmFyIHtcbiAgICBtaW4td2lkdGg6IDI2MHB4OyB9XG5cbi5ncy13aWRnZXQtLWxnIC5ncy13aWRnZXQtbGF5b3V0X19jb250ZW50IHtcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XG5cbiNncy13aWRnZXQtbGl0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgI2dzLXdpZGdldC1saXRlIC5ncy1zdGFyLWdyYWRlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMDAlOyB9XG4iLCJAaW1wb3J0ICcuLi91dGlscy9zZWxlY3Rvcic7XG5cbltjbGFzcyo9XCIjeyRzZWxlY3Rvci1wcmVmaXh9XCJdLFxuW2NsYXNzKj1cIiN7JHNlbGVjdG9yLXByZWZpeH1cIl06OmJlZm9yZSxcbltjbGFzcyo9XCIjeyRzZWxlY3Rvci1wcmVmaXh9XCJdOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4iLCJAaW1wb3J0ICcuLi8uLi91dGlscy9zZWxlY3Rvcic7XG5AaW1wb3J0ICcuLi8uLi91dGlscy9zaXplcyc7XG5AaW1wb3J0ICcuLi8uLi91dGlscy9jb2xvcnMnO1xuQGltcG9ydCAnLi4vLi4vdXRpbHMvcmVzcG9uc2l2ZSc7XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3JldmlldycpfSB7XG4gIGZvbnQtc2l6ZTogcmVtKDEpO1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cblxuI3twcmVmaXhlZC1zZWxlY3RvcigncmV2aWV3X19oZWFkZXInKX0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IHJlbSgwLjYyNSk7XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3Jldmlld19fdGl0bGUnKX0ge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG4gIGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3Jldmlld19fYm9keScpfSB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cbiIsIiRyZWZlcmVudC1zaXplOiAxNnB4O1xuXG5AZnVuY3Rpb24gcmVtKCRjb2VmZikge1xuICBAcmV0dXJuICRyZWZlcmVudC1zaXplICogJGNvZWZmO1xufVxuIiwiJGFjY2VudC1jb2xvcjogcmdiKDIzOSwgMTEwLCAzMik7XG4kcHJpbWFyeS1jb2xvcjogcmdiKDAsIDAsIDApO1xuJHNlY29uZGFyeS1jb2xvcjogcmdiKDI0MCwgMjQwLCAyNDApO1xuIiwiQGltcG9ydCAnLi4vLi4vdXRpbHMvc2VsZWN0b3InO1xuQGltcG9ydCAnLi4vLi4vdXRpbHMvY29sb3JzJztcblxuQGltcG9ydCAnLi92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi9taXhpbnMnO1xuXG4je3ByZWZpeGVkLXNlbGVjdG9yKCdzdGFyJyl9IHtcbiAgQGluY2x1ZGUgc3Rhci0tc2l6ZSgkc3Rhci0tc2l6ZSk7XG4gIGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xufVxuIiwiQG1peGluIHN0YXItLXNpemUoJHNpemUpIHtcbiAgd2lkdGg6ICRzaXplO1xuICBoZWlnaHQ6ICRzaXplO1xufVxuIiwiQGltcG9ydCAnLi4vLi4vdXRpbHMvc2VsZWN0b3InO1xuQGltcG9ydCAnLi4vLi4vdXRpbHMvY29sb3JzJztcblxuQGltcG9ydCAnLi4vc3Rhci92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vc3Rhci9taXhpbnMnO1xuXG5AaW1wb3J0ICcuL3ZhcmlhYmxlcyc7XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3N0YXItZ3JhZGUnKX0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6ICRzdGFyLS1zaXplO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIG1hcmdpbi1sZWZ0OiAtJHN0YXJncmFkZS0tZ3V0dGVyO1xufVxuXG4je3ByZWZpeGVkLXNlbGVjdG9yKCdzdGFyLWdyYWRlJyl9ID4gKiB7XG4gIG1hcmdpbi1sZWZ0OiAkc3RhcmdyYWRlLS1ndXR0ZXI7XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3N0YXItZ3JhZGVfX2ljb25zJyl9IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuI3twcmVmaXhlZC1zZWxlY3Rvcignc3Rhci1ncmFkZScpfSAje3ByZWZpeGVkLXNlbGVjdG9yKCdzdGFyJyl9IHtcbiAgQGluY2x1ZGUgc3Rhci0tc2l6ZSgxZW0pO1xuICBmaWxsOiAkYWNjZW50LWNvbG9yO1xufVxuXG5AZWFjaCAkbmFtZSwgJHNpemUgaW4gJHN0YXJncmFkZS1zdGFyLS1zaXplcyB7XG4gICN7cHJlZml4ZWQtc2VsZWN0b3IoJ3N0YXItZ3JhZGUtLSN7JG5hbWV9Jyl9IHtcbiAgICBmb250LXNpemU6ICRzaXplO1xuICB9XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3N0YXItZ3JhZGVfX2xhYmVsJyl9LFxuI3twcmVmaXhlZC1zZWxlY3Rvcignc3Rhci1ncmFkZV9fcmV2aWV3cy1udW1iZXInKX0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tbGVmdDogMC40ZW07XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3N0YXItZ3JhZGVfX2xhYmVsJyl9IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4iLCJAaW1wb3J0ICcuLi8uLi91dGlscy9zaXplcyc7XG5cbiRzdGFyZ3JhZGUtc3Rhci0tc2l6ZXM6IChcbiAgJ2xnJzogcmVtKDEpLFxuICAneGwnOiByZW0oMS43NSksXG4pO1xuXG5cbiRzdGFyZ3JhZGUtLWd1dHRlcjogMC40ZW07XG4iLCJAaW1wb3J0ICcuLi8uLi91dGlscy9zZWxlY3Rvcic7XG5AaW1wb3J0ICcuLi8uLi91dGlscy9zaXplcyc7XG5AaW1wb3J0ICcuLi8uLi91dGlscy9jb2xvcnMnO1xuXG5AaW1wb3J0ICcuL3ZhcmlhYmxlcyc7XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3Byb2dyZXNzJyl9IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWxlZnQ6IC0kcHJvZ3Jlc3MtLWd1dHRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMSAxIDAlO1xufVxuXG4je3ByZWZpeGVkLXNlbGVjdG9yKCdwcm9ncmVzcycpfSA+ICoge1xuICBtYXJnaW4tbGVmdDogJHByb2dyZXNzLS1ndXR0ZXI7XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3Byb2dyZXNzX19sYWJlbCcpfSB7XG4gIHdpZHRoOiAxLjc1ZW07XG4gIGZsb2F0OiBsZWZ0XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3Byb2dyZXNzX19iYXInKX0ge1xuICB3aWR0aDogMTIycHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IHJlbSgxKTtcbiAgaGVpZ2h0OiAwLjg1ZW07XG4gIGNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeS1jb2xvciwgMjAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkc2Vjb25kYXJ5LWNvbG9yLCAxMCUpO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbn1cblxuI3twcmVmaXhlZC1zZWxlY3RvcigncHJvZ3Jlc3NfX2Jhci1jb21wbGV0ZScpfSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3I7XG4gIGhlaWdodDogMTAwJTtcblxuICBAaW5jbHVkZSB3aGVuLXRhZygnc3BhbicpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4je3ByZWZpeGVkLXNlbGVjdG9yKCdwcm9ncmVzc19fZGF0YScpfSB7XG4gIHdpZHRoOiAzLjc1ZW07XG4gIGZsb2F0OiBsZWZ0O1xufVxuIiwiJHByb2dyZXNzLS1ndXR0ZXI6IDAuNjI1ZW07XG4iLCIkc2VsZWN0b3ItcHJlZml4OiAnZ3MnO1xuXG5AZnVuY3Rpb24gcHJlZml4ZWQtc2VsZWN0b3IoJHN0ciwgJHR5cGU6ICcuJykge1xuICBAcmV0dXJuICR0eXBlICsgJHNlbGVjdG9yLXByZWZpeCArICctJyArICRzdHI7XG59XG5cbkBtaXhpbiB3aGVuLXRhZygkdGFnKSB7XG4gIEBhdC1yb290ICN7JHRhZ30jeyZ9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLyoqXG4gKiBCdXR0b25zXG4gKi9cblxuQG1peGluIG1peGluLWRpc3BhdGNoZXIoJHZhbHVlLCAkZmxhZ3MsICRtaXhpbikge1xuICBAaWYgJG1peGluID09ICdidG4tZ3JvdXAtbWFyZ2luLXgnIHtcbiAgICBAaW5jbHVkZSBidG4tZ3JvdXAtbWFyZ2luLXgoJHZhbHVlLCAkZmxhZ3MpO1xuICB9IEBlbHNlaWYgJG1peGluID09ICdiYWNrZ3JvdW5kLWNvbG9yJyB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1jb2xvcigkdmFsdWUsICRmbGFncyk7XG4gIH1cbn07XG5cbiRidXR0b24tLXNlbGVjdG9yOiBzZWxlY3Rvci0tY29uc3RydWN0b3IoJGJ1dHRvbi0tc3ludGhheCwgJ2J0bicpO1xuXG5AaW5jbHVkZSBzZWxlY3RvcigkYnV0dG9uLS1zZWxlY3Rvcikge1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbignLWluY2x1ZGUtYmFja2dyb3VuZC1jb2xvcicsICRidXR0b24tLWJhY2tncm91bmQtY29sb3IpO1xuXG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCdkaXNwbGF5JywgJGJ1dHRvbi0tZGlzcGxheSk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCdjb2xvcicsICRidXR0b24tLWNvbG9yKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJ2ZvbnQtZmFtaWx5JywgJGJ1dHRvbi0tZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbignZm9udC13ZWlnaHQnLCAkYnV0dG9uLS1mb250LXdlaWdodCk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCdmb250LXNpemUnLCAkYnV0dG9uLS1mb250LXNpemUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbignbGluZS1oZWlnaHQnLCAkYnV0dG9uLS1saW5lLWhlaWdodCk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCdtYXJnaW4nLCAkYnV0dG9uLS1tYXJnaW4pO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbigndGV4dC1hbGlnbicsICRidXR0b24tLXRleHQtYWxpZ24pO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbigndmVydGljYWwtYWxpZ24nLCAkYnV0dG9uLS12ZXJ0aWNhbC1hbGlnbik7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCd0b3VjaC1hY3Rpb24nLCBtYW5pcHVsYXRpb24pO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbignY3Vyc29yJywgJGJ1dHRvbi0tY3Vyc29yKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJ2N1cnNvcicsIG5vdC1hbGxvd2VkLCAoJ1tkaXNhYmxlZD1cInRydWVcIicpKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJ2JhY2tncm91bmQtaW1hZ2UnLCBub25lKTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBAaW5jbHVkZSBkZWNsYXJhdGlvbigndXNlci1zZWxlY3QnLCBub25lKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJ3doaXRlLXNwYWNlJywgbm93cmFwKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJ2JvcmRlci1yYWRpdXMnLCAkYnV0dG9uLS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJ3RleHQtZGVjb3JhdGlvbicsICRidXR0b24tLXRleHQtZGVjb3JhdGlvbik7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCd0ZXh0LXRyYW5zZm9ybScsICRidXR0b24tLXRleHQtdHJhbnNmb3JtKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJ2xldHRlci1zcGFjaW5nJywgJGJ1dHRvbi0tbGV0dGVyLXNwYWNpbmcpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbigncGFkZGluZycsICRidXR0b24tLXBhZGRpbmcpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbignYm94LXNoYWRvdycsICRidXR0b24tLWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbigndHJhbnNpdGlvbicsICRidXR0b24tLXRyYW5zaXRpb24pO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbignYm9yZGVyLXdpZHRoJywgJGJ1dHRvbi0tYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJ2JvcmRlci1zdHlsZScsICRidXR0b24tLWJvcmRlci1zdHlsZSk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCdib3JkZXItY29sb3InLCAkYnV0dG9uLS1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbignZmxvYXQnLCAkYnV0dG9uLS1mbG9hdCk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCd3aWR0aCcsICRidXR0b24tLXdpZHRoKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJ2hlaWdodCcsICRidXR0b24tLWhlaWdodCk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCdvcGFjaXR5JywgJGJ1dHRvbi0tb3BhY2l0eSk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCdjdXJzb3InLCBkZWZhdWx0KTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJ2N1cnNvcicsIHBvaW50ZXIsICgnPGJ1dHRvbicpKTtcblxuICBAaW5jbHVkZSBibG9jay1nZW5lcmF0aW9uKCRidXR0b24tLXNlbGVjdG9yKTtcblxuICBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxuXG4kYnV0dG9uLWdyb3VwLS1zZWxlY3Rvcjogc2VsZWN0b3ItLWNvbnN0cnVjdG9yKCRidXR0b24tLXN5bnRoYXgsICdidG4tZ3JvdXAnKTtcblxuQGluY2x1ZGUgc2VsZWN0b3IoJGJ1dHRvbi1ncm91cC0tc2VsZWN0b3IpIHtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJ2Rpc3BsYXknLCBmbGV4KTtcblxuICBAaW5jbHVkZSBibG9jay1nZW5lcmF0aW9uKCRidXR0b24tZ3JvdXAtLXNlbGVjdG9yKTtcbn1cblxuJGJ1dHRvbi1pbnNpZGUtZ3JvdXAtLXNlbGVjdG9yOiBzZWxlY3Rvci0tYXBwZW5kLXBhcmVudCgkYnV0dG9uLS1zZWxlY3RvciwgJGJ1dHRvbi1ncm91cC0tc2VsZWN0b3IsICc+Jyk7XG5cbkBpbmNsdWRlIHNlbGVjdG9yKCRidXR0b24taW5zaWRlLWdyb3VwLS1zZWxlY3Rvcikge1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbigncG9zaXRpb24nLCByZWxhdGl2ZSk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCd6LWluZGV4JywgMiwgKCc6aG92ZXInKSk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCd6LWluZGV4JywgMiwgKCc6YWN0aXZlJykpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbignei1pbmRleCcsIDIsICgnOmZvY3VzJykpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbignYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cycsIDAsICc6bm90KDpmaXJzdC1jaGlsZCknKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJ2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMnLCAwLCAnOm5vdCg6Zmlyc3QtY2hpbGQpJyk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCdib3JkZXItdG9wLXJpZ2h0LXJhZGl1cycsIDAsICc6bm90KDpsYXN0LWNoaWxkKScpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbignYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMnLCAwLCAnOm5vdCg6bGFzdC1jaGlsZCknKTtcblxuICBAaW5jbHVkZSBibG9jay1nZW5lcmF0aW9uKCRidXR0b24taW5zaWRlLWdyb3VwLS1zZWxlY3Rvcik7XG59XG5cblxuJGJ1dHRvbi1pbnNpZGUtZ3JvdXAtbm90LWZpcnN0LS1zZWxlY3Rvcjogc2VsZWN0b3ItLWFwcGVuZC1wYXJlbnQoJGJ1dHRvbi1pbnNpZGUtZ3JvdXAtLXNlbGVjdG9yLCAkYnV0dG9uLS1zZWxlY3RvciwgJysnKTtcblxuQGluY2x1ZGUgc2VsZWN0b3IoJGJ1dHRvbi1pbnNpZGUtZ3JvdXAtbm90LWZpcnN0LS1zZWxlY3Rvcikge1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbignLWluY2x1ZGUtYnRuLWdyb3VwLW1hcmdpbi14JywgJGJ1dHRvbi0tYm9yZGVyLXdpZHRoKTtcblxuICBAaW5jbHVkZSBibG9jay1nZW5lcmF0aW9uKCRidXR0b24taW5zaWRlLWdyb3VwLW5vdC1maXJzdC0tc2VsZWN0b3IpO1xufVxuIiwiQGltcG9ydCAndXRpbHMnO1xuQGltcG9ydCAnYnJlYWtwb2ludHMnO1xuQGltcG9ydCAnYmxvY2snO1xuXG4kc2VsZWN0b3ItLXByb3RvdHlwZTogKFxuICAnfic6IChcbiAgICAnY2xhc3NuYW1lJzogJ3NlbGVjdG9yJyxcbiAgKSxcbiAgJ3ByZWZpeCc6IChcbiAgICAndHlwZSc6ICdzdHJpbmcnLFxuICAgICdudWxsYWJsZSc6IHRydWUsXG4gICksXG4gICdwcmVmaXgtc2VwYXJhdG9yJzogKFxuICAgICd0eXBlJzogJ3N0cmluZycsXG4gICAgJ251bGxhYmxlJzogZmFsc2UsXG4gICAgJ3ZhbHVlJzogJy0nXG4gICksXG4gICdibG9jayc6IChcbiAgICAndHlwZSc6ICdzdHJpbmcnLFxuICApLFxuICAnZWxlbWVudCc6IChcbiAgICAndHlwZSc6ICdzdHJpbmcnLFxuICAgICdudWxsYWJsZSc6IHRydWUsXG4gICksXG4gICdlbGVtZW50LXNlcGFyYXRvcic6IChcbiAgICAndHlwZSc6ICdzdHJpbmcnLFxuICAgICdudWxsYWJsZSc6IGZhbHNlLFxuICAgICd2YWx1ZSc6ICdfXydcbiAgKSxcbiAgJ21vZGlmaWVyJzogKFxuICAgICd0eXBlJzogJ3N0cmluZycsXG4gICAgJ251bGxhYmxlJzogdHJ1ZSxcbiAgICAnY29sbGVjdGlvbic6IHRydWUsXG4gICksXG4gICdtb2RpZmllci1zZXBhcmF0b3InOiAoXG4gICAgJ3R5cGUnOiAnc3RyaW5nJyxcbiAgICAnbnVsbGFibGUnOiBmYWxzZSxcbiAgICAndmFsdWUnOiAnLS0nXG4gICksXG4gICd0YWcnOiAoXG4gICAgJ3R5cGUnOiAnc3RyaW5nJyxcbiAgICAnbnVsbGFibGUnOiB0cnVlLFxuICApLFxuICAncHNldWRvLWNsYXNzZXMnOiAoXG4gICAgJ3R5cGUnOiAnc3RyaW5nJyxcbiAgICAnbnVsbGFibGUnOiB0cnVlLFxuICAgICdjb2xsZWN0aW9uJzogdHJ1ZSxcbiAgKSxcbiAgJ3BzZXVkby1lbGVtZW50JzogKFxuICAgICd0eXBlJzogJ3N0cmluZycsXG4gICAgJ251bGxhYmxlJzogdHJ1ZSxcbiAgKSxcbiAgJ2F0dHJpYnV0ZSc6IChcbiAgICAndHlwZSc6ICdzdHJpbmcnLFxuICAgICdudWxsYWJsZSc6IHRydWUsXG4gICAgJ2NvbGxlY3Rpb24nOiB0cnVlLFxuICApLFxuICAnYnJlYWtwb2ludCc6IChcbiAgICAndHlwZSc6ICdzdHJpbmcnLFxuICAgICdudWxsYWJsZSc6IHRydWUsXG4gICksXG4gICdpcy1uZXN0ZWQnOiAoXG4gICAgJ3R5cGUnOiAnYm9vbCcsXG4gICksXG4gICdwYXJlbnRzJzogKFxuICAgICd0eXBlJzogJ21hcCcsXG4gICAgJ251bGxhYmxlJzogdHJ1ZSxcbiAgICAnY29sbGVjdGlvbic6IHRydWUsXG4gIClcbik7XG5cbkBmdW5jdGlvbiBzZWxlY3Rvci0tY29uc3RydWN0b3IoJHN5bnRoYXgsICRibG9jaywgJHRhZzogbnVsbCwgJHBzZXVkby1jbGFzc2VzOiBudWxsLCAkZWxlbWVudDogbnVsbCwgJG1vZGlmaWVyOiBudWxsLCAkcHNldWRvLWVsZW1lbnQ6IG51bGwsICRhdHRyaWJ1dGU6IG51bGwsICRicmVha3BvaW50OiBudWxsLCAkaXMtbmVzdGVkOiBmYWxzZSwgJHBhcmVudHM6IG51bGwpIHtcbiAgJHRoaXM6ICRzZWxlY3Rvci0tcHJvdG90eXBlO1xuXG4gIC8vIFN5bnRoYXhcbiAgQGlmICRzeW50aGF4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJHN5bnRoYXgsICdwcmVmaXgnKSB7XG4gICAgICAkdGhpczogc2VsZWN0b3ItLXNldC1wcmVmaXgoJHRoaXMsIG1hcC1nZXQoJHN5bnRoYXgsICdwcmVmaXgnKSk7XG4gICAgfVxuXG4gICAgQGlmIG1hcC1oYXMta2V5KCRzeW50aGF4LCAnc2VwYXJhdG9yJykge1xuICAgICAgJHNlcGFyYXRvcnM6IG1hcC1nZXQoJHN5bnRoYXgsICdzZXBhcmF0b3InKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRzZXBhcmF0b3JzLCAncHJlZml4Jykge1xuICAgICAgICAkdGhpczogc2VsZWN0b3ItLXNldC1wcmVmaXgtc2VwYXJhdG9yKCR0aGlzLCBtYXAtZ2V0KCRzZXBhcmF0b3JzLCAncHJlZml4JykpO1xuICAgICAgfVxuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJHNlcGFyYXRvcnMsICdlbGVtZW50Jykge1xuICAgICAgICAkdGhpczogc2VsZWN0b3ItLXNldC1lbGVtZW50LXNlcGFyYXRvcigkdGhpcywgbWFwLWdldCgkc2VwYXJhdG9ycywgJ2VsZW1lbnQnKSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkc2VwYXJhdG9ycywgJ21vZGlmaWVyJykge1xuICAgICAgICAkdGhpczogc2VsZWN0b3ItLXNldC1tb2RpZmllci1zZXBhcmF0b3IoJHRoaXMsIG1hcC1nZXQoJHNlcGFyYXRvcnMsICdtb2RpZmllcicpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkdGhpczogc2VsZWN0b3ItLXNldC1ibG9jaygkdGhpcywgJGJsb2NrKTtcbiAgJHRoaXM6IHNlbGVjdG9yLS1zZXQtZWxlbWVudCgkdGhpcywgJGVsZW1lbnQpO1xuICAkdGhpczogc2VsZWN0b3ItLXNldC1tb2RpZmllcigkdGhpcywgJG1vZGlmaWVyKTtcbiAgJHRoaXM6IHNlbGVjdG9yLS1zZXQtcHNldWRvLWVsZW1lbnQoJHRoaXMsICRwc2V1ZG8tZWxlbWVudCk7XG4gICR0aGlzOiBzZWxlY3Rvci0tc2V0LWF0dHJpYnV0ZSgkdGhpcywgJGF0dHJpYnV0ZSk7XG4gICR0aGlzOiBzZWxlY3Rvci0tc2V0LXRhZygkdGhpcywgJHRhZyk7XG4gICR0aGlzOiBzZWxlY3Rvci0tc2V0LXBzZXVkby1jbGFzc2VzKCR0aGlzLCAkcHNldWRvLWNsYXNzZXMpO1xuICAkdGhpczogc2VsZWN0b3ItLXNldC1icmVha3BvaW50KCR0aGlzLCAkYnJlYWtwb2ludCk7XG4gICR0aGlzOiBzZWxlY3Rvci0tc2V0LWlzLW5lc3RlZCgkdGhpcywgJGlzLW5lc3RlZCk7XG4gICR0aGlzOiBzZWxlY3Rvci0tc2V0LXBhcmVudHMoJHRoaXMsICRwYXJlbnRzKTtcblxuICBAcmV0dXJuICR0aGlzO1xufTtcblxuLy8vIEBuYW1lIGdldCBwcmVmaXhcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkdGhpcyAtIHRoZSBgc2VsZWN0b3IgY2xhc3Mgb2JqZWN0YFxuLy8vIEByZXR1cm4ge3N0cmluZ30gcHJlZml4XG5AZnVuY3Rpb24gc2VsZWN0b3ItLWdldC1wcmVmaXgoJHRoaXMpIHtcbiAgQHJldHVybiBjbGFzcy0tZ2V0LWF0dHJpYnV0ZS12YWx1ZSgkdGhpcywgJ3ByZWZpeCcpO1xufVxuXG4vLy8gQG5hbWUgc2V0IHByZWZpeFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICRzZWxlY3RvclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkcHJlZml4XG4vLy8gQHJldHVybiB7bWFwfSBzZWxlY3RvciBjbGFzcyBvYmplY3QgdXBkYXRlZCB3aXRoIG5ldyAncHJlZml4JyB2YWx1ZVxuQGZ1bmN0aW9uIHNlbGVjdG9yLS1zZXQtcHJlZml4KCR0aGlzLCAkcHJlZml4KSB7XG4gIEByZXR1cm4gY2xhc3MtLXNldC1hdHRyaWJ1dGUtdmFsdWUoJHRoaXMsICdwcmVmaXgnLCAkcHJlZml4KTtcbn1cblxuLy8vIEBuYW1lIGdldCBwcmVmaXgtc2VwYXJhdG9yXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgY2xhc3Mgc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge21hcH0gJHRoaXMgLSB0aGUgYHNlbGVjdG9yIGNsYXNzIG9iamVjdGBcbi8vLyBAcmV0dXJuIHtzdHJpbmd9IHByZWZpeC1zZXBhcmF0b3JcbkBmdW5jdGlvbiBzZWxlY3Rvci0tZ2V0LXByZWZpeC1zZXBhcmF0b3IoJHRoaXMpIHtcbiAgQHJldHVybiBjbGFzcy0tZ2V0LWF0dHJpYnV0ZS12YWx1ZSgkdGhpcywgJ3ByZWZpeC1zZXBhcmF0b3InKTtcbn1cblxuLy8vIEBuYW1lIHNldCBwcmVmaXgtc2VwYXJhdG9yXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgY2xhc3Mgc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge21hcH0gJHNlbGVjdG9yXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRwcmVmaXgtc2VwYXJhdG9yXG4vLy8gQHJldHVybiB7bWFwfSBzZWxlY3RvciBjbGFzcyBvYmplY3QgdXBkYXRlZCB3aXRoIG5ldyAncHJlZml4LXNlcGFyYXRvcicgdmFsdWVcbkBmdW5jdGlvbiBzZWxlY3Rvci0tc2V0LXByZWZpeC1zZXBhcmF0b3IoJHRoaXMsICRwcmVmaXgtc2VwYXJhdG9yKSB7XG4gIEByZXR1cm4gY2xhc3MtLXNldC1hdHRyaWJ1dGUtdmFsdWUoJHRoaXMsICdwcmVmaXgtc2VwYXJhdG9yJywgJHByZWZpeC1zZXBhcmF0b3IpO1xufVxuXG4vLy8gQG5hbWUgZ2V0IHByaW50IHByZWZpeFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICR0aGlzIC0gdGhlIGBzZWxlY3RvciBjbGFzcyBvYmplY3RgXG4vLy8gQHJldHVybiB7c3RyaW5nfSBwcmVmaXggb3IgZW1wdHkgYXJyYXkgaWYgbm8gcHJlZml4IGlzIHNldHRlZFxuQGZ1bmN0aW9uIHNlbGVjdG9yLS1nZXQtcHJpbnQtcHJlZml4KCR0aGlzKSB7XG4gICRzZXBhcmF0b3I6IHNlbGVjdG9yLS1nZXQtcHJlZml4LXNlcGFyYXRvcigkdGhpcyk7XG4gIEByZXR1cm4gaWYoc2VsZWN0b3ItLWdldC1wcmVmaXgoJHRoaXMpLCBzZWxlY3Rvci0tZ2V0LXByZWZpeCgkdGhpcykgKyAkc2VwYXJhdG9yLCAnJyk7XG59XG5cbi8vLyBAbmFtZSBnZXQgYmxvY2tcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkdGhpcyAtIHRoZSBgc2VsZWN0b3IgY2xhc3Mgb2JqZWN0YFxuLy8vIEByZXR1cm4ge3N0cmluZ30gYmxvY2tcbkBmdW5jdGlvbiBzZWxlY3Rvci0tZ2V0LWJsb2NrKCR0aGlzKSB7XG4gIEByZXR1cm4gY2xhc3MtLWdldC1hdHRyaWJ1dGUtdmFsdWUoJHRoaXMsICdibG9jaycpO1xufVxuXG4vLy8gQG5hbWUgc2V0IGJsb2NrXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgY2xhc3Mgc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge21hcH0gJHRoaXNcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGJsb2NrXG4vLy8gQHJldHVybiB7bWFwfSBzZWxlY3RvciBjbGFzcyBvYmplY3QgdXBkYXRlZCB3aXRoIG5ldyAnYmxvY2snIHZhbHVlXG5AZnVuY3Rpb24gc2VsZWN0b3ItLXNldC1ibG9jaygkdGhpcywgJGJsb2NrKSB7XG4gIEByZXR1cm4gY2xhc3MtLXNldC1hdHRyaWJ1dGUtdmFsdWUoJHRoaXMsICdibG9jaycsICRibG9jayk7XG59XG4vLy8gQG5hbWUgZ2V0IHRhZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICR0aGlzIC0gdGhlIGBzZWxlY3RvciBjbGFzcyBvYmplY3RgXG4vLy8gQHJldHVybiB7c3RyaW5nfSB0YWdcbkBmdW5jdGlvbiBzZWxlY3Rvci0tZ2V0LXRhZygkdGhpcykge1xuICBAcmV0dXJuIGNsYXNzLS1nZXQtYXR0cmlidXRlLXZhbHVlKCR0aGlzLCAndGFnJyk7XG59XG5cbi8vLyBAbmFtZSBzZXQgdGFnXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgY2xhc3Mgc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge21hcH0gJHNlbGVjdG9yXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR0YWdcbi8vLyBAcmV0dXJuIHttYXB9IHNlbGVjdG9yIGNsYXNzIG9iamVjdCB1cGRhdGVkIHdpdGggbmV3ICd0YWcnIHZhbHVlXG5AZnVuY3Rpb24gc2VsZWN0b3ItLXNldC10YWcoJHRoaXMsICR0YWcpIHtcbiAgQHJldHVybiBjbGFzcy0tc2V0LWF0dHJpYnV0ZS12YWx1ZSgkdGhpcywgJ3RhZycsICR0YWcpO1xufVxuXG4vLy8gQG5hbWUgZ2V0IHByaW50IHRhZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICR0aGlzIC0gdGhlIGBzZWxlY3RvciBjbGFzcyBvYmplY3RgXG4vLy8gQHJldHVybiB7c3RyaW5nfSB0YWcgb3IgZW1wdHkgYXJyYXkgaWYgbm8gdGFnIGlzIHNldHRlZFxuQGZ1bmN0aW9uIHNlbGVjdG9yLS1nZXQtcHJpbnQtdGFnKCR0aGlzKSB7XG4gIEByZXR1cm4gaWYoc2VsZWN0b3ItLWdldC10YWcoJHRoaXMpLCBzZWxlY3Rvci0tZ2V0LXRhZygkdGhpcyksICcnKTtcbn1cblxuLy8vIEBuYW1lIGdldCBwc2V1ZG8tY2xhc3Nlc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICR0aGlzIC0gdGhlIGBzZWxlY3RvciBjbGFzcyBvYmplY3RgXG4vLy8gQHJldHVybiB7c3RyaW5nfSBwc2V1ZG8tY2xhc3Nlc1xuQGZ1bmN0aW9uIHNlbGVjdG9yLS1nZXQtcHNldWRvLWNsYXNzZXMoJHRoaXMsICRudGg6IG51bGwpIHtcbiAgQHJldHVybiBjbGFzcy0tZ2V0LWF0dHJpYnV0ZS12YWx1ZSgkdGhpcywgJ3BzZXVkby1jbGFzc2VzJywgJG50aCk7XG59XG5cbi8vLyBAbmFtZSBzZXQgcHNldWRvLWNsYXNzZXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge3N0cmluZ30gJHBzZXVkby1jbGFzc2VzXG4vLy8gQHJldHVybiB7bWFwfSBzZWxlY3RvciBjbGFzcyBvYmplY3QgdXBkYXRlZCB3aXRoIG5ldyAncHNldWRvLWNsYXNzZXMnIHZhbHVlXG5AZnVuY3Rpb24gc2VsZWN0b3ItLXNldC1wc2V1ZG8tY2xhc3NlcygkdGhpcywgJHBzZXVkby1jbGFzc2VzKSB7XG4gIEByZXR1cm4gY2xhc3MtLXNldC1hdHRyaWJ1dGUtdmFsdWUoJHRoaXMsICdwc2V1ZG8tY2xhc3NlcycsICRwc2V1ZG8tY2xhc3Nlcyk7XG59XG5cbi8vLyBAbmFtZSBhcHBlbmQgcHNldWRvLWNsYXNzZXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge3N0cmluZ30gJHBzZXVkby1jbGFzc2VzXG4vLy8gQHJldHVybiB7bWFwfSBzZWxlY3RvciBjbGFzcyBvYmplY3QgdXBkYXRlZCB3aXRoIG5ldyAncHNldWRvLWNsYXNzZXMnIGFwcGVuZGVkIHRvIHRoZSBwcmV2aW91cyBsaXN0XG5AZnVuY3Rpb24gc2VsZWN0b3ItLWFwcGVuZC1wc2V1ZG8tY2xhc3NlcygkdGhpcywgJHBzZXVkby1jbGFzc2VzKSB7XG4gICRuZXctcHNldWRvLWNsYXNzZXM6ICRwc2V1ZG8tY2xhc3NlcztcblxuICBAaWYgdHlwZS1vZigkcHNldWRvLWNsYXNzZXMpICE9ICdsaXN0JyB7XG4gICAgJG5ldy1wc2V1ZG8tY2xhc3NlczogKCRwc2V1ZG8tY2xhc3NlcywpO1xuICB9XG5cbiAgQGlmIHNlbGVjdG9yLS1nZXQtcHNldWRvLWNsYXNzZXMoJHRoaXMpIHtcbiAgICAkbmV3LXBzZXVkby1jbGFzc2VzOiBhcHBlbmQoc2VsZWN0b3ItLWdldC1wc2V1ZG8tY2xhc3NlcygkdGhpcyksICRwc2V1ZG8tY2xhc3Nlcyk7XG4gIH1cblxuICBAcmV0dXJuIGNsYXNzLS1zZXQtYXR0cmlidXRlLXZhbHVlKCR0aGlzLCAncHNldWRvLWNsYXNzZXMnLCAkbmV3LXBzZXVkby1jbGFzc2VzKTtcbn1cblxuLy8vIEBuYW1lIGdldCBwcmludCB0YWdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkdGhpcyAtIHRoZSBgc2VsZWN0b3IgY2xhc3Mgb2JqZWN0YFxuLy8vIEByZXR1cm4ge3N0cmluZ30gdGFnIG9yIGVtcHR5IGFycmF5IGlmIG5vIHRhZyBpcyBzZXR0ZWRcbkBmdW5jdGlvbiBzZWxlY3Rvci0tZ2V0LXByaW50LXBzZXVkby1jbGFzc2VzKCR0aGlzLCAkbnRoKSB7XG4gIEByZXR1cm4gaWYoc2VsZWN0b3ItLWdldC1wc2V1ZG8tY2xhc3NlcygkdGhpcywgJG50aCksICc6JyArIHNlbGVjdG9yLS1nZXQtcHNldWRvLWNsYXNzZXMoJHRoaXMsICRudGgpLCAnJyk7XG59XG5cbi8vLyBAbmFtZSBnZXQgZWxlbWVudFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICR0aGlzIC0gdGhlIGBzZWxlY3RvciBjbGFzcyBvYmplY3RgXG4vLy8gQHJldHVybiB7c3RyaW5nfSBlbGVtZW50XG5AZnVuY3Rpb24gc2VsZWN0b3ItLWdldC1lbGVtZW50KCR0aGlzKSB7XG4gIEByZXR1cm4gY2xhc3MtLWdldC1hdHRyaWJ1dGUtdmFsdWUoJHRoaXMsICdlbGVtZW50Jyk7XG59XG5cbi8vLyBAbmFtZSBzZXQgZWxlbWVudFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICRzZWxlY3RvclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZWxlbWVudFxuLy8vIEByZXR1cm4ge21hcH0gc2VsZWN0b3IgY2xhc3Mgb2JqZWN0IHVwZGF0ZWQgd2l0aCBuZXcgJ2VsZW1lbnQnIHZhbHVlXG5AZnVuY3Rpb24gc2VsZWN0b3ItLXNldC1lbGVtZW50KCR0aGlzLCAkZWxlbWVudCkge1xuICBAcmV0dXJuIGNsYXNzLS1zZXQtYXR0cmlidXRlLXZhbHVlKCR0aGlzLCAnZWxlbWVudCcsICRlbGVtZW50KTtcbn1cblxuLy8vIEBuYW1lIGdldCBlbGVtZW50LXNlcGFyYXRvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICR0aGlzIC0gdGhlIGBzZWxlY3RvciBjbGFzcyBvYmplY3RgXG4vLy8gQHJldHVybiB7c3RyaW5nfSBlbGVtZW50LXNlcGFyYXRvclxuQGZ1bmN0aW9uIHNlbGVjdG9yLS1nZXQtZWxlbWVudC1zZXBhcmF0b3IoJHRoaXMpIHtcbiAgQHJldHVybiBjbGFzcy0tZ2V0LWF0dHJpYnV0ZS12YWx1ZSgkdGhpcywgJ2VsZW1lbnQtc2VwYXJhdG9yJyk7XG59XG5cbi8vLyBAbmFtZSBzZXQgZWxlbWVudC1zZXBhcmF0b3Jcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGVsZW1lbnQtc2VwYXJhdG9yXG4vLy8gQHJldHVybiB7bWFwfSBzZWxlY3RvciBjbGFzcyBvYmplY3QgdXBkYXRlZCB3aXRoIG5ldyAnZWxlbWVudC1zZXBhcmF0b3InIHZhbHVlXG5AZnVuY3Rpb24gc2VsZWN0b3ItLXNldC1lbGVtZW50LXNlcGFyYXRvcigkdGhpcywgJGVsZW1lbnQtc2VwYXJhdG9yKSB7XG4gIEByZXR1cm4gY2xhc3MtLXNldC1hdHRyaWJ1dGUtdmFsdWUoJHRoaXMsICdlbGVtZW50LXNlcGFyYXRvcicsICRlbGVtZW50LXNlcGFyYXRvcik7XG59XG5cbi8vLyBAbmFtZSBnZXQgcHJpbnQgZWxlbWVudFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICR0aGlzIC0gdGhlIGBzZWxlY3RvciBjbGFzcyBvYmplY3RgXG4vLy8gQHJldHVybiB7c3RyaW5nfSBlbGVtZW50IG9yIGVtcHR5IGFycmF5IGlmIG5vIGVsZW1lbnQgaXMgc2V0dGVkXG5AZnVuY3Rpb24gc2VsZWN0b3ItLWdldC1wcmludC1lbGVtZW50KCR0aGlzKSB7XG4gICRzZXBhcmF0b3I6IHNlbGVjdG9yLS1nZXQtZWxlbWVudC1zZXBhcmF0b3IoJHRoaXMpO1xuICBAcmV0dXJuIGlmKHNlbGVjdG9yLS1nZXQtZWxlbWVudCgkdGhpcyksICRzZXBhcmF0b3IgKyBzZWxlY3Rvci0tZ2V0LWVsZW1lbnQoJHRoaXMpLCAnJyk7XG59XG5cbi8vLyBAbmFtZSBnZXQgbW9kaWZpZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkdGhpcyAtIHRoZSBgc2VsZWN0b3IgY2xhc3Mgb2JqZWN0YFxuLy8vIEByZXR1cm4ge3N0cmluZ30gbW9kaWZpZXJcbkBmdW5jdGlvbiBzZWxlY3Rvci0tZ2V0LW1vZGlmaWVyKCR0aGlzLCAkbnRoOiBudWxsKSB7XG4gIEByZXR1cm4gY2xhc3MtLWdldC1hdHRyaWJ1dGUtdmFsdWUoJHRoaXMsICdtb2RpZmllcicsICRudGgpO1xufVxuXG4vLy8gQG5hbWUgc2V0IG1vZGlmaWVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgY2xhc3Mgc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge21hcH0gJHNlbGVjdG9yXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRtb2RpZmllclxuLy8vIEByZXR1cm4ge21hcH0gc2VsZWN0b3IgY2xhc3Mgb2JqZWN0IHVwZGF0ZWQgd2l0aCBuZXcgJ21vZGlmaWVyJyB2YWx1ZVxuQGZ1bmN0aW9uIHNlbGVjdG9yLS1zZXQtbW9kaWZpZXIoJHRoaXMsICRtb2RpZmllcikge1xuICBAcmV0dXJuIGNsYXNzLS1zZXQtYXR0cmlidXRlLXZhbHVlKCR0aGlzLCAnbW9kaWZpZXInLCAkbW9kaWZpZXIpO1xufVxuXG4vLy8gQG5hbWUgYXBwZW5kIG1vZGlmaWVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgY2xhc3Mgc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge21hcH0gJHNlbGVjdG9yXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRtb2RpZmllclxuLy8vIEByZXR1cm4ge21hcH0gc2VsZWN0b3IgY2xhc3Mgb2JqZWN0IHVwZGF0ZWQgd2l0aCBuZXcgJ21vZGlmaWVyJyBhcHBlbmRlZCB0byB0aGUgcHJldmlvdXMgbGlzdFxuQGZ1bmN0aW9uIHNlbGVjdG9yLS1hcHBlbmQtbW9kaWZpZXIoJHRoaXMsICRtb2RpZmllcikge1xuICAkbmV3LW1vZGlmaWVyOiAkbW9kaWZpZXI7XG5cbiAgQGlmIHR5cGUtb2YoJG1vZGlmaWVyKSAhPSAnbGlzdCcge1xuICAgICRuZXctbW9kaWZpZXI6ICgkbW9kaWZpZXIsKTtcbiAgfVxuXG4gIEBpZiBzZWxlY3Rvci0tZ2V0LW1vZGlmaWVyKCR0aGlzKSB7XG4gICAgJG5ldy1tb2RpZmllcjogYXBwZW5kKHNlbGVjdG9yLS1nZXQtbW9kaWZpZXIoJHRoaXMpLCAkbW9kaWZpZXIpO1xuICB9XG5cbiAgQHJldHVybiBjbGFzcy0tc2V0LWF0dHJpYnV0ZS12YWx1ZSgkdGhpcywgJ21vZGlmaWVyJywgJG5ldy1tb2RpZmllcik7XG59XG5cblxuLy8vIEBuYW1lIGdldCBtb2RpZmllci1zZXBhcmF0b3Jcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkdGhpcyAtIHRoZSBgc2VsZWN0b3IgY2xhc3Mgb2JqZWN0YFxuLy8vIEByZXR1cm4ge3N0cmluZ30gbW9kaWZpZXItc2VwYXJhdG9yXG5AZnVuY3Rpb24gc2VsZWN0b3ItLWdldC1tb2RpZmllci1zZXBhcmF0b3IoJHRoaXMpIHtcbiAgQHJldHVybiBjbGFzcy0tZ2V0LWF0dHJpYnV0ZS12YWx1ZSgkdGhpcywgJ21vZGlmaWVyLXNlcGFyYXRvcicpO1xufVxuXG4vLy8gQG5hbWUgc2V0IG1vZGlmaWVyLXNlcGFyYXRvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICRzZWxlY3RvclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkbW9kaWZpZXItc2VwYXJhdG9yXG4vLy8gQHJldHVybiB7bWFwfSBzZWxlY3RvciBjbGFzcyBvYmplY3QgdXBkYXRlZCB3aXRoIG5ldyAnbW9kaWZpZXItc2VwYXJhdG9yJyB2YWx1ZVxuQGZ1bmN0aW9uIHNlbGVjdG9yLS1zZXQtbW9kaWZpZXItc2VwYXJhdG9yKCR0aGlzLCAkbW9kaWZpZXItc2VwYXJhdG9yKSB7XG4gIEByZXR1cm4gY2xhc3MtLXNldC1hdHRyaWJ1dGUtdmFsdWUoJHRoaXMsICdtb2RpZmllci1zZXBhcmF0b3InLCAkbW9kaWZpZXItc2VwYXJhdG9yKTtcbn1cblxuLy8vIEBuYW1lIGdldCBwcmludCBtb2RpZmllclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICR0aGlzIC0gdGhlIGBzZWxlY3RvciBjbGFzcyBvYmplY3RgXG4vLy8gQHBhcmFtIHttYXB9ICRudGggLSB0aGUgaW5kZXggb2YgdGhlIG1vZGlmaWVyIGl0ZW1cbi8vLyBAcmV0dXJuIHtzdHJpbmd9IG1vZGlmaWVyIG9yIGVtcHR5IGFycmF5IGlmIG5vIG1vZGlmaWVyIGlzIHNldHRlZFxuQGZ1bmN0aW9uIHNlbGVjdG9yLS1nZXQtcHJpbnQtbW9kaWZpZXIoJHRoaXMsICRudGgpIHtcbiAgJHNlcGFyYXRvcjogc2VsZWN0b3ItLWdldC1tb2RpZmllci1zZXBhcmF0b3IoJHRoaXMpO1xuICBAcmV0dXJuIGlmKHNlbGVjdG9yLS1nZXQtbW9kaWZpZXIoJHRoaXMsICRudGgpLCAkc2VwYXJhdG9yICsgc2VsZWN0b3ItLWdldC1tb2RpZmllcigkdGhpcywgJG50aCksICcnKTtcbn1cblxuLy8vIEBuYW1lIGdldCBhdHRyaWJ1dGVcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkdGhpcyAtIHRoZSBgc2VsZWN0b3IgY2xhc3Mgb2JqZWN0YFxuLy8vIEByZXR1cm4ge3N0cmluZ30gYXR0cmlidXRlXG5AZnVuY3Rpb24gc2VsZWN0b3ItLWdldC1hdHRyaWJ1dGUoJHRoaXMsICRudGg6IG51bGwpIHtcbiAgQHJldHVybiBjbGFzcy0tZ2V0LWF0dHJpYnV0ZS12YWx1ZSgkdGhpcywgJ2F0dHJpYnV0ZScsICRudGgpO1xufVxuXG4vLy8gQG5hbWUgc2V0IGF0dHJpYnV0ZVxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICRzZWxlY3RvclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYXR0cmlidXRlXG4vLy8gQHJldHVybiB7bWFwfSBzZWxlY3RvciBjbGFzcyBvYmplY3QgdXBkYXRlZCB3aXRoIG5ldyAnYXR0cmlidXRlJyB2YWx1ZVxuQGZ1bmN0aW9uIHNlbGVjdG9yLS1zZXQtYXR0cmlidXRlKCR0aGlzLCAkYXR0cmlidXRlKSB7XG4gIEByZXR1cm4gY2xhc3MtLXNldC1hdHRyaWJ1dGUtdmFsdWUoJHRoaXMsICdhdHRyaWJ1dGUnLCAkYXR0cmlidXRlKTtcbn1cblxuLy8vIEBuYW1lIGFwcGVuZCBhdHRyaWJ1dGVcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGF0dHJpYnV0ZVxuLy8vIEByZXR1cm4ge21hcH0gc2VsZWN0b3IgY2xhc3Mgb2JqZWN0IHVwZGF0ZWQgd2l0aCBuZXcgJ2F0dHJpYnV0ZScgYXBwZW5kZWQgdG8gdGhlIHByZXZpb3VzIGxpc3RcbkBmdW5jdGlvbiBzZWxlY3Rvci0tYXBwZW5kLWF0dHJpYnV0ZSgkdGhpcywgJGF0dHJpYnV0ZSkge1xuICAkbmV3LWF0dHJpYnV0ZTogJGF0dHJpYnV0ZTtcblxuICBAaWYgdHlwZS1vZigkYXR0cmlidXRlKSAhPSAnbGlzdCcge1xuICAgICRuZXctYXR0cmlidXRlOiAoJGF0dHJpYnV0ZSwpO1xuICB9XG5cbiAgQGlmIHNlbGVjdG9yLS1nZXQtYXR0cmlidXRlKCR0aGlzKSB7XG4gICAgJG5ldy1hdHRyaWJ1dGU6IGFwcGVuZChzZWxlY3Rvci0tZ2V0LWF0dHJpYnV0ZSgkdGhpcyksICRhdHRyaWJ1dGUpO1xuICB9XG5cbiAgQHJldHVybiBjbGFzcy0tc2V0LWF0dHJpYnV0ZS12YWx1ZSgkdGhpcywgJ2F0dHJpYnV0ZScsICRuZXctYXR0cmlidXRlKTtcbn1cblxuLy8vIEBuYW1lIGdldCBwcmludCBhdHRyaWJ1dGVcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkdGhpcyAtIHRoZSBgc2VsZWN0b3IgY2xhc3Mgb2JqZWN0YFxuLy8vIEBwYXJhbSB7bWFwfSAkbnRoIC0gdGhlIGluZGV4IG9mIHRoZSBhdHRyaWJ1dGUgaXRlbVxuLy8vIEByZXR1cm4ge3N0cmluZ30gYXR0cmlidXRlIG9yIGVtcHR5IGFycmF5IGlmIG5vIGF0dHJpYnV0ZSBpcyBzZXR0ZWRcbkBmdW5jdGlvbiBzZWxlY3Rvci0tZ2V0LXByaW50LWF0dHJpYnV0ZSgkdGhpcywgJG50aCkge1xuICBAcmV0dXJuIGlmKHNlbGVjdG9yLS1nZXQtYXR0cmlidXRlKCR0aGlzLCAkbnRoKSwgJ1snICsgc2VsZWN0b3ItLWdldC1hdHRyaWJ1dGUoJHRoaXMsICRudGgpICsgJ10nLCAnJyk7XG59XG5cbi8vLyBAbmFtZSBnZXQgaXMtbmVzdGVkXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgY2xhc3Mgc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge21hcH0gJHRoaXMgLSB0aGUgYHNlbGVjdG9yIGNsYXNzIG9iamVjdGBcbi8vLyBAcmV0dXJuIHtzdHJpbmd9IGlzLW5lc3RlZFxuQGZ1bmN0aW9uIHNlbGVjdG9yLS1nZXQtaXMtbmVzdGVkKCR0aGlzKSB7XG4gIEByZXR1cm4gY2xhc3MtLWdldC1hdHRyaWJ1dGUtdmFsdWUoJHRoaXMsICdpcy1uZXN0ZWQnKTtcbn1cblxuLy8vIEBuYW1lIHNldCBpcy1uZXN0ZWRcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGlzLW5lc3RlZFxuLy8vIEByZXR1cm4ge21hcH0gc2VsZWN0b3IgY2xhc3Mgb2JqZWN0IHVwZGF0ZWQgd2l0aCBuZXcgJ2lzLW5lc3RlZCcgdmFsdWVcbkBmdW5jdGlvbiBzZWxlY3Rvci0tc2V0LWlzLW5lc3RlZCgkdGhpcywgJGlzLW5lc3RlZCkge1xuICBAcmV0dXJuIGNsYXNzLS1zZXQtYXR0cmlidXRlLXZhbHVlKCR0aGlzLCAnaXMtbmVzdGVkJywgJGlzLW5lc3RlZCk7XG59XG5cbi8vLyBAbmFtZSBnZXQgYnJlYWtwb2ludFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICR0aGlzIC0gdGhlIGBzZWxlY3RvciBjbGFzcyBvYmplY3RgXG4vLy8gQHJldHVybiB7c3RyaW5nfSBicmVha3BvaW50XG5AZnVuY3Rpb24gc2VsZWN0b3ItLWdldC1icmVha3BvaW50KCR0aGlzKSB7XG4gIEByZXR1cm4gY2xhc3MtLWdldC1hdHRyaWJ1dGUtdmFsdWUoJHRoaXMsICdicmVha3BvaW50Jyk7XG59XG5cbi8vLyBAbmFtZSBzZXQgYnJlYWtwb2ludFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICRzZWxlY3RvclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYnJlYWtwb2ludFxuLy8vIEByZXR1cm4ge21hcH0gc2VsZWN0b3IgY2xhc3Mgb2JqZWN0IHVwZGF0ZWQgd2l0aCBuZXcgJ2JyZWFrcG9pbnQnIHZhbHVlXG5AZnVuY3Rpb24gc2VsZWN0b3ItLXNldC1icmVha3BvaW50KCR0aGlzLCAkYnJlYWtwb2ludCkge1xuICBAcmV0dXJuIGNsYXNzLS1zZXQtYXR0cmlidXRlLXZhbHVlKCR0aGlzLCAnYnJlYWtwb2ludCcsICRicmVha3BvaW50KTtcbn1cblxuLy8vIEBuYW1lIGdldCBwc2V1ZG8tZWxlbWVudFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICR0aGlzIC0gdGhlIGBzZWxlY3RvciBjbGFzcyBvYmplY3RgXG4vLy8gQHJldHVybiB7c3RyaW5nfSBwc2V1ZG8tZWxlbWVudFxuQGZ1bmN0aW9uIHNlbGVjdG9yLS1nZXQtcHNldWRvLWVsZW1lbnQoJHRoaXMpIHtcbiAgQHJldHVybiBjbGFzcy0tZ2V0LWF0dHJpYnV0ZS12YWx1ZSgkdGhpcywgJ3BzZXVkby1lbGVtZW50Jyk7XG59XG5cbi8vLyBAbmFtZSBzZXQgcHNldWRvLWVsZW1lbnRcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge3N0cmluZ30gJHBzZXVkby1lbGVtZW50XG4vLy8gQHJldHVybiB7bWFwfSBzZWxlY3RvciBjbGFzcyBvYmplY3QgdXBkYXRlZCB3aXRoIG5ldyAncHNldWRvLWVsZW1lbnQnIHZhbHVlXG5AZnVuY3Rpb24gc2VsZWN0b3ItLXNldC1wc2V1ZG8tZWxlbWVudCgkdGhpcywgJHBzZXVkby1lbGVtZW50KSB7XG4gIEByZXR1cm4gY2xhc3MtLXNldC1hdHRyaWJ1dGUtdmFsdWUoJHRoaXMsICdwc2V1ZG8tZWxlbWVudCcsICRwc2V1ZG8tZWxlbWVudCk7XG59XG5cbi8vLyBAbmFtZSBnZXQgcHJpbnQgcHNldWRvLWVsZW1lbnRcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkdGhpcyAtIHRoZSBgc2VsZWN0b3IgY2xhc3Mgb2JqZWN0YFxuLy8vIEByZXR1cm4ge3N0cmluZ30gcHNldWRvLWVsZW1lbnQgb3IgZW1wdHkgYXJyYXkgaWYgbm8gcHNldWRvLWVsZW1lbnQgaXMgc2V0dGVkXG5AZnVuY3Rpb24gc2VsZWN0b3ItLWdldC1wcmludC1wc2V1ZG8tZWxlbWVudCgkdGhpcykge1xuICBAcmV0dXJuIGlmKGNsYXNzLS1nZXQtYXR0cmlidXRlLXZhbHVlKCR0aGlzLCAncHNldWRvLWVsZW1lbnQnKSwgJzo6JyArIGNsYXNzLS1nZXQtYXR0cmlidXRlLXZhbHVlKCR0aGlzLCAncHNldWRvLWVsZW1lbnQnKSwgJycpO1xufVxuXG4vLy8gQG5hbWUgZ2V0IHBhcmVudHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkdGhpcyAtIHRoZSBgc2VsZWN0b3IgY2xhc3Mgb2JqZWN0YFxuLy8vIEByZXR1cm4ge3N0cmluZ30gcGFyZW50c1xuQGZ1bmN0aW9uIHNlbGVjdG9yLS1nZXQtcGFyZW50cygkdGhpcywgJG50aDogbnVsbCkge1xuICBAcmV0dXJuIGNsYXNzLS1nZXQtYXR0cmlidXRlLXZhbHVlKCR0aGlzLCAncGFyZW50cycsICRudGgpO1xufVxuXG4vLy8gQG5hbWUgc2V0IHBhcmVudHNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBncm91cCBjbGFzcyBzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge3N0cmluZ30gJHBhcmVudHNcbi8vLyBAcmV0dXJuIHttYXB9IHNlbGVjdG9yIGNsYXNzIG9iamVjdCB1cGRhdGVkIHdpdGggbmV3ICdwYXJlbnRzJyB2YWx1ZVxuQGZ1bmN0aW9uIHNlbGVjdG9yLS1zZXQtcGFyZW50cygkdGhpcywgJHBhcmVudHMpIHtcbiAgQHJldHVybiBjbGFzcy0tc2V0LWF0dHJpYnV0ZS12YWx1ZSgkdGhpcywgJ3BhcmVudHMnLCAkcGFyZW50cyk7XG59XG5cbi8vLyBAbmFtZSBhcHBlbmQgcGFyZW50c1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGdyb3VwIGNsYXNzIHNlbGVjdG9yXG4vLy8gQHBhcmFtIHttYXB9ICRzZWxlY3RvclxuLy8vIEBwYXJhbSB7bWFwfSAkcGFyZW50XG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRyZWxhdGlvbnNoaXAgWycnXVxuLy8vIEByZXR1cm4ge21hcH0gc2VsZWN0b3IgY2xhc3Mgb2JqZWN0IHVwZGF0ZWQgd2l0aCBuZXcgJ3BhcmVudHMnIGFwcGVuZGVkIHRvIHRoZSBwcmV2aW91cyBsaXN0XG5AZnVuY3Rpb24gc2VsZWN0b3ItLWFwcGVuZC1wYXJlbnQoJHRoaXMsICRwYXJlbnQsICRyZWxhdGlvbnNoaXA6ICcnKSB7XG4gIEBpZiAkcmVsYXRpb25zaGlwID09ICcnIHtcbiAgICAkcmVsYXRpb25zaGlwOiAnICc7XG4gIH0gQGVsc2VpZiAkcmVsYXRpb25zaGlwID09ICcmJyB7XG4gICAgJHJlbGF0aW9uc2hpcDogJyc7XG4gIH0gQGVsc2Uge1xuICAgICRyZWxhdGlvbnNoaXA6ICcgI3skcmVsYXRpb25zaGlwfSAnO1xuICB9XG5cbiAgJHBhcmVudHM6ICgoXG4gICAgJ3NlbGVjdG9yJzogJHBhcmVudCxcbiAgICAncmVsYXRpb25zaGlwJzogJHJlbGF0aW9uc2hpcCxcbiAgKSwgKTtcblxuICBAaWYgc2VsZWN0b3ItLWdldC1wYXJlbnRzKCR0aGlzKSB7XG4gICAgJHBhcmVudHM6IGFwcGVuZChzZWxlY3Rvci0tZ2V0LXBhcmVudHMoJHRoaXMpLCAoXG4gICAgICAnc2VsZWN0b3InOiAkcGFyZW50LFxuICAgICAgJ3JlbGF0aW9uc2hpcCc6ICRyZWxhdGlvbnNoaXAsXG4gICAgKSk7XG4gIH1cblxuICBAcmV0dXJuIGNsYXNzLS1zZXQtYXR0cmlidXRlLXZhbHVlKCR0aGlzLCAncGFyZW50cycsICRwYXJlbnRzKTtcbn1cblxuLy8vIEBuYW1lIGdldCBwcmludCBwYXJlbnRzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZ3JvdXAgY2xhc3Mgc2VsZWN0b3Jcbi8vLyBAcGFyYW0ge21hcH0gJHNlbGVjdG9yXG4vLy8gQHJldHVybiB7c3RyaW5nfSB0aGUgc2VsZWN0b3Igc3RyaW5nIHRoYXQgbXVzdCBiZSBwcmludGVkIGJlZm9yZSBhbnl0aGluZyBlbHNlXG5AZnVuY3Rpb24gc2VsZWN0b3ItLWdldC1wcmludC1wYXJlbnRzKCR0aGlzKSB7XG4gICRwYXJlbnRzOiBzZWxlY3Rvci0tZ2V0LXBhcmVudHMoJHRoaXMpO1xuICAkcHJpbnQ6ICcnO1xuXG4gIEBpZiBub3QgJHBhcmVudHMgb3IgbGVuZ3RoKCRwYXJlbnRzKSA9PSAwIHtcbiAgICBAcmV0dXJuICRwcmludDtcbiAgfVxuXG4gIEBlYWNoICRwYXJlbnQgaW4gJHBhcmVudHMge1xuICAgICRwYXJlbnQtc2VsZWN0b3I6IG1hcC1nZXQoJHBhcmVudCwgJ3NlbGVjdG9yJyk7XG4gICAgJHBhcmVudC1yZWxhdGlvbnNoaXA6IG1hcC1nZXQoJHBhcmVudCwgJ3JlbGF0aW9uc2hpcCcpO1xuICAgICRzZWxlY3Rvci1wcmludDogaWYodHlwZS1vZigkcGFyZW50LXNlbGVjdG9yKSA9PSAnc3RyaW5nJywgI3skcGFyZW50LXNlbGVjdG9yfSwgc2VsZWN0b3ItLWdldC1wcmludCgkcGFyZW50LXNlbGVjdG9yKSk7XG4gICAgJHByaW50OiAkcHJpbnQgKyAkc2VsZWN0b3ItcHJpbnQgKyAkcGFyZW50LXJlbGF0aW9uc2hpcDtcbiAgfVxuXG4gIEByZXR1cm4gJHByaW50O1xufVxuXG5cbkBmdW5jdGlvbiBzZWxlY3Rvci0tZ2V0LXByaW50KCR0aGlzKSB7XG4gICRwcmludC0tdGFnOiBzZWxlY3Rvci0tZ2V0LXByaW50LXRhZygkdGhpcyk7XG4gICRwcmludC0tcHJlZml4OiBzZWxlY3Rvci0tZ2V0LXByaW50LXByZWZpeCgkdGhpcyk7XG4gICRwcmludC0tYmxvY2s6IHNlbGVjdG9yLS1nZXQtYmxvY2soJHRoaXMpO1xuICAkcHJpbnQtLWVsZW1lbnQ6IHNlbGVjdG9yLS1nZXQtcHJpbnQtZWxlbWVudCgkdGhpcyk7XG4gICRwcmludC0tcHNldWRvLWVsZW1lbnQ6IHNlbGVjdG9yLS1nZXQtcHJpbnQtcHNldWRvLWVsZW1lbnQoJHRoaXMpO1xuXG4gICRwcmludC0tYmFzZTogJy4nICsgJHByaW50LS1wcmVmaXggKyAkcHJpbnQtLWJsb2NrO1xuXG4gICRwcmludC0tbW9kaWZpZXI6ICcnO1xuICBAaWYgc2VsZWN0b3ItLWdldC1tb2RpZmllcigkdGhpcykge1xuICAgIEBmb3IgJGluZGV4IGZyb20gMSB0aHJvdWdoIGxlbmd0aChzZWxlY3Rvci0tZ2V0LW1vZGlmaWVyKCR0aGlzKSkge1xuICAgICAgJHByaW50LS1tb2RpZmllcjogJHByaW50LS1tb2RpZmllciArICRwcmludC0tYmFzZSArIHNlbGVjdG9yLS1nZXQtcHJpbnQtbW9kaWZpZXIoJHRoaXMsICRpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgJHByaW50LS1hdHRyaWJ1dGU6ICcnO1xuICBAaWYgc2VsZWN0b3ItLWdldC1hdHRyaWJ1dGUoJHRoaXMpIHtcbiAgICBAZm9yICRpbmRleCBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoc2VsZWN0b3ItLWdldC1hdHRyaWJ1dGUoJHRoaXMpKSB7XG4gICAgICAkcHJpbnQtLWF0dHJpYnV0ZTogJHByaW50LS1hdHRyaWJ1dGUgKyBzZWxlY3Rvci0tZ2V0LXByaW50LWF0dHJpYnV0ZSgkdGhpcywgJGluZGV4KTtcbiAgICB9XG4gIH1cblxuICAkcHJpbnQtLXBzZXVkby1jbGFzc2VzOiAnJztcbiAgQGlmIHNlbGVjdG9yLS1nZXQtcHNldWRvLWNsYXNzZXMoJHRoaXMpIHtcbiAgICBAZm9yICRpbmRleCBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoc2VsZWN0b3ItLWdldC1wc2V1ZG8tY2xhc3NlcygkdGhpcykpIHtcbiAgICAgICRwcmludC0tcHNldWRvLWNsYXNzZXM6ICRwcmludC0tcHNldWRvLWNsYXNzZXMgKyBzZWxlY3Rvci0tZ2V0LXByaW50LXBzZXVkby1jbGFzc2VzKCR0aGlzLCAkaW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBzZWxlY3Rvci0tZ2V0LW1vZGlmaWVyKCR0aGlzKSBhbmQgc2VsZWN0b3ItLWdldC1lbGVtZW50KCR0aGlzKSB7XG4gICAgQHJldHVybiAkcHJpbnQtLW1vZGlmaWVyICsgJyAnICsgJHByaW50LS10YWcgKyAkcHJpbnQtLWJhc2UgKyAkcHJpbnQtLWVsZW1lbnQgKyAkcHJpbnQtLWF0dHJpYnV0ZSArICRwcmludC0tcHNldWRvLWNsYXNzZXMgKyAkcHJpbnQtLXBzZXVkby1lbGVtZW50O1xuICB9XG5cbiAgQGlmIHNlbGVjdG9yLS1nZXQtbW9kaWZpZXIoJHRoaXMpIHtcbiAgICBAcmV0dXJuICRwcmludC0tdGFnICsgJHByaW50LS1tb2RpZmllciArICRwcmludC0tYXR0cmlidXRlICsgJHByaW50LS1wc2V1ZG8tY2xhc3NlcyArICRwcmludC0tcHNldWRvLWVsZW1lbnQ7XG4gIH1cblxuICBAcmV0dXJuICRwcmludC0tdGFnICsgJHByaW50LS1iYXNlICsgJHByaW50LS1lbGVtZW50ICsgJHByaW50LS1hdHRyaWJ1dGUgKyAkcHJpbnQtLXBzZXVkby1jbGFzc2VzICsgJHByaW50LS1wc2V1ZG8tZWxlbWVudDtcbn1cblxuQG1peGluIHNlbGVjdG9yKCR0aGlzKSB7XG4gICRicmVha3BvaW50LWZvcms6IHNlbGVjdG9yLS1nZXQtYnJlYWtwb2ludCgkdGhpcyk7XG4gICRibG9jazogKCkgIWdsb2JhbDtcbiAgJHNlbGVjdG9yOiBzZWxlY3Rvci0tZ2V0LXByaW50LXBhcmVudHMoJHRoaXMpICsgc2VsZWN0b3ItLWdldC1wcmludCgkdGhpcyk7XG5cbiAgQGlmIHNlbGVjdG9yLS1nZXQtaXMtbmVzdGVkKCR0aGlzKSB7XG4gICAgQGF0LXJvb3QgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCRicmVha3BvaW50LWZvcmspIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkoJGJyZWFrcG9pbnQtZm9yaykge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBibG9jay1nZW5lcmF0aW9uKCRvcHRpb25hbC1zZWxlY3RvcjogbnVsbCkge1xuICBAaWYgJG9wdGlvbmFsLXNlbGVjdG9yIHtcbiAgICBAaW5jbHVkZSBibG9jay0tZ2VuZXJhdGlvbigkb3B0aW9uYWwtc2VsZWN0b3IsICRibG9jayk7XG4gIH0gQGVsc2VpZiB2YXJpYWJsZS1leGlzdHMoJ3NlbGVjdG9yJykge1xuICAgIEBpbmNsdWRlIGJsb2NrLS1nZW5lcmF0aW9uKCRzZWxlY3RvciwgJGJsb2NrKTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdUaGUgYmxvY2sgZ2VuZXJhdGlvbiBtaXhpbiBtdXN0IGhhdmUgYWNjZXNzIHRvIGEgJHNlbGVjdG9yIHZhcmlhYmxlIG9yIGEgc2VsZWN0b3Igb2JqZWN0IGFzIHBhcmFtLidcbiAgfVxuXG4gICRibG9jazogbnVsbCAhZ2xvYmFsO1xufVxuXG5AbWl4aW4gYmxvY2stLWdlbmVyYXRpb24oJHNlbGVjdG9yLCAkYmxvY2ssICRmbGFnOiBudWxsKSB7XG4gIEBpZiAkZmxhZyAhPSAnZGVmYXVsdCcge1xuICAgIEBlYWNoICRmbGFnLCAkYmxvY2sgaW4gJGJsb2NrIHtcbiAgICAgICRuZXctc2VsZWN0b3I6ICRzZWxlY3RvcjtcblxuICAgICAgJGZsYWctdHlwZTogc3RyLXNsaWNlKCRmbGFnLCAwLCAxKTtcbiAgICAgICRmbGFnLW5hbWU6IHN0ci1zbGljZSgkZmxhZywgMik7XG5cbiAgICAgIEBpZiAkZmxhZy10eXBlID09ICc6JyB7XG4gICAgICAgICRuZXctc2VsZWN0b3I6IHNlbGVjdG9yLS1hcHBlbmQtcHNldWRvLWNsYXNzZXMoJG5ldy1zZWxlY3RvciwgJGZsYWctbmFtZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZmxhZy10eXBlID09ICc8JyB7XG4gICAgICAgICRuZXctc2VsZWN0b3I6IHNlbGVjdG9yLS1zZXQtdGFnKCRuZXctc2VsZWN0b3IsICRmbGFnLW5hbWUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGZsYWctdHlwZSA9PSAnQCcge1xuICAgICAgICAkbmV3LXNlbGVjdG9yOiBzZWxlY3Rvci0tc2V0LWJyZWFrcG9pbnQoJG5ldy1zZWxlY3RvciwgJGZsYWctbmFtZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZmxhZy10eXBlID09ICctJyB7XG4gICAgICAgICRuZXctc2VsZWN0b3I6IHNlbGVjdG9yLS1hcHBlbmQtbW9kaWZpZXIoJG5ldy1zZWxlY3RvciwgJGZsYWctbmFtZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZmxhZy10eXBlID09ICdbJyB7XG4gICAgICAgICRuZXctc2VsZWN0b3I6IHNlbGVjdG9yLS1hcHBlbmQtYXR0cmlidXRlKCRuZXctc2VsZWN0b3IsICRmbGFnLW5hbWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBibG9jay0tZ2VuZXJhdGlvbigkbmV3LXNlbGVjdG9yLCAkYmxvY2ssICRmbGFnKVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJHNlbGVjdG9yOiBzZWxlY3Rvci0tc2V0LWlzLW5lc3RlZCgkc2VsZWN0b3IsIHRydWUpO1xuXG4gICAgQGluY2x1ZGUgc2VsZWN0b3IoJHNlbGVjdG9yKSB7XG4gICAgICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkYmxvY2sge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3V0aWxzL3NlbGVjdG9yJztcbkBpbXBvcnQgJy4uLy4uL3V0aWxzL2NvbG9ycyc7XG5AaW1wb3J0ICcuLi8uLi91dGlscy9zaXplcyc7XG5cbiRidXR0b24tLXByZWZpeDogJHNlbGVjdG9yLXByZWZpeDtcblxuLy8gcG9zaXRpb25pbmdcbiRidXR0b24tLXZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4kYnV0dG9uLS1mbG9hdDogbnVsbDtcblxuLy8gZGlzcGxheSAmIGJveC1tb2RlbFxuJGJ1dHRvbi0tZGlzcGxheTogaW5saW5lLWZsZXg7XG4kYnV0dG9uLS1ib3JkZXItd2lkdGg6IDAuMTI1ZW07XG4kYnV0dG9uLS1wYWRkaW5nOiAwO1xuJGJ1dHRvbi0td2lkdGg6IDEuODc1ZW07XG4kYnV0dG9uLS1tYXJnaW46IG51bGw7XG4kYnV0dG9uLS1oZWlnaHQ6ICRidXR0b24tLXdpZHRoO1xuXG5cbi8vIGNvbG9yXG4kYnV0dG9uLS1jb2xvcjogKFxuICAnZGVmYXVsdCc6ICRwcmltYXJ5LWNvbG9yLFxuICAnW2Rpc2FibGVkPVwidHJ1ZVwiJzogKFxuICAgICdkZWZhdWx0JzogZGFya2VuKCRzZWNvbmRhcnktY29sb3IsIDUwJSksXG4gICAgJzpob3Zlcic6IGRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLCA1MCUpLFxuICAgICc6YWN0aXZlJzogZGFya2VuKCRzZWNvbmRhcnktY29sb3IsIDUwJSksXG4gICAgJzpmb2N1cyc6IGRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLCA1MCUpLFxuICApLFxuICAnLWJvcmRlcmVkJzogKFxuICAgICdkZWZhdWx0JzogJHByaW1hcnktY29sb3IsXG4gICAgJzpob3Zlcic6IHJnYigyNTUsIDI1NSwgMjU1KSxcbiAgICAnOmFjdGl2ZSc6IHJnYigyNTUsIDI1NSwgMjU1KSxcbiAgICAnOmZvY3VzJzogcmdiKDI1NSwgMjU1LCAyNTUpLFxuICApLFxuICAnLWFjdGl2ZSc6IHJnYigyNTUsIDI1NSwgMjU1KSxcbik7XG5cbiRidXR0b24tLWJvcmRlci1jb2xvcjogKFxuICAnZGVmYXVsdCc6IHRyYW5zcGFyZW50LFxuICAnOmhvdmVyJzogJHByaW1hcnktY29sb3IsXG4gICc6YWN0aXZlJzogJHByaW1hcnktY29sb3IsXG4gICc6Zm9jdXMnOiAkcHJpbWFyeS1jb2xvcixcbiAgJy1ib3JkZXJlZCc6IChcbiAgICAnZGVmYXVsdCc6ICRwcmltYXJ5LWNvbG9yLFxuICAgICc6aG92ZXInOiAkcHJpbWFyeS1jb2xvcixcbiAgICAnOmFjdGl2ZSc6ICRwcmltYXJ5LWNvbG9yLFxuICAgICc6Zm9jdXMnOiAkcHJpbWFyeS1jb2xvcixcbiAgKSxcbiAgJ1tkaXNhYmxlZD1cInRydWVcIic6IChcbiAgICAnZGVmYXVsdCc6IGN1cnJlbnRDb2xvcixcbiAgICAnOmhvdmVyJzogY3VycmVudENvbG9yLFxuICAgICc6YWN0aXZlJzogY3VycmVudENvbG9yLFxuICAgICc6Zm9jdXMnOiBjdXJyZW50Q29sb3IsXG4gICksXG4pO1xuXG4kYnV0dG9uLS1iYWNrZ3JvdW5kLWNvbG9yOiAoXG4gICdkZWZhdWx0JzogKFxuICAgICdkZWZhdWx0JzogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQsXG4gICAgJ1tkaXNhYmxlZD1cInRydWVcIic6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50LFxuICApLFxuICAnLWFjdGl2ZSc6ICRwcmltYXJ5LWNvbG9yICRwcmltYXJ5LWNvbG9yLFxuICAnLWJvcmRlcmVkJzogdHJhbnNwYXJlbnQgJHByaW1hcnktY29sb3IsXG4pO1xuXG4kYnV0dG9uLS1vcGFjaXR5OiBudWxsO1xuXG5cbi8vIHRleHRcbiRidXR0b24tLWZvbnQtc2l6ZTogcmVtKDEpO1xuJGJ1dHRvbi0tdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGJ1dHRvbi0tbGluZS1oZWlnaHQ6IG51bGw7XG4kYnV0dG9uLS10ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiRidXR0b24tLWZvbnQtZmFtaWx5OiBudWxsO1xuJGJ1dHRvbi0tZm9udC13ZWlnaHQ6IG51bGw7XG4kYnV0dG9uLS10ZXh0LXRyYW5zZm9ybTogbnVsbDtcbiRidXR0b24tLWxldHRlci1zcGFjaW5nOiBudWxsO1xuXG5cbi8vIG9yZGVyXG4kYnV0dG9uLS1ib3JkZXItcmFkaXVzOiAwO1xuJGJ1dHRvbi0tYm9yZGVyLXN0eWxlOiBzb2xpZDtcblxuJGJ1dHRvbi0tYm94LXNoYWRvdzogbnVsbDtcbiRidXR0b24tLXRyYW5zaXRpb246IG51bGw7XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBDb2xvclZhcmlhYmxlXG5cbi8vIHBvc2l0aW9uaW5nXG4kYnV0dG9uLS12ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFkZWZhdWx0O1xuXG4kYnV0dG9uLS1mbG9hdDogbnVsbCAhZGVmYXVsdDtcblxuXG4vLyBkaXNwbGF5ICYgYm94LW1vZGVsXG4kYnV0dG9uLS1kaXNwbGF5OiAoXG4gICdkZWZhdWx0JzogaW5saW5lLWJsb2NrLFxuICAnLWJsb2NrJzogYmxvY2ssXG4pICFkZWZhdWx0O1xuXG4kYnV0dG9uLS1ib3JkZXItd2lkdGg6IChcbiAgJ2RlZmF1bHQnOiAwLFxuICAnLWRlZmF1bHQnOiAwLjA2MjVlbSxcbikgIWRlZmF1bHQ7XG5cbiRidXR0b24tLXBhZGRpbmc6IChcbiAgJ2RlZmF1bHQnOiAwLjY2NjY2NjY2N2VtIDEuNjY2NjY2NjY3ZW0sXG4gICctZGVmYXVsdCc6ICN7MC42NjY2NjY2NjdlbSAtIHZhbHVlKCRidXR0b24tLWJvcmRlci13aWR0aCwgKCctZGVmYXVsdCcpKX0gI3sxLjY2NjY2NjY2N2VtIC0gdmFsdWUoJGJ1dHRvbi0tYm9yZGVyLXdpZHRoLCAoJy1kZWZhdWx0JykpfSxcbiAgJy14cyc6IDAuNjY2NjY2NjY3ZW0gMS4zMzMzMzMzMzdlbSxcbikgIWRlZmF1bHQ7XG5cbiRidXR0b24tLXdpZHRoOiAoXG4gICctYmxvY2snOiAxMDAlLFxuKSAhZGVmYXVsdDtcblxuJGJ1dHRvbi0tbWFyZ2luOiBudWxsICFkZWZhdWx0O1xuJGJ1dHRvbi0taGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG5cbi8vIGNvbG9yXG4kYnV0dG9uLS1jb2xvcjogKFxuICAnZGVmYXVsdCc6IHJnYigzMSwgMTMsIDUxKSxcbiAgJy1wcmltYXJ5JzogcmdiKDI1NSwgMjU1LCAyNTUpLFxuICAnLXN1Y2Nlc3MnOiByZ2IoMjU1LCAyNTUsIDI1NSksXG4gICctZGFuZ2VyJzogcmdiKDI1NSwgMjU1LCAyNTUpLFxuICAnLXdhcm5pbmcnOiByZ2IoMjU1LCAyNTUsIDI1NSksXG4pICFkZWZhdWx0O1xuXG4kYnV0dG9uLS1ib3JkZXItY29sb3I6IChcbiAgJy1kZWZhdWx0JzogY3VycmVudENvbG9yLFxuKSAhZGVmYXVsdDtcblxuJGJ1dHRvbi0tYmFja2dyb3VuZC1jb2xvcjogKFxuICAnZGVmYXVsdCc6IChcbiAgICAnZGVmYXVsdCc6IHJnYigyNTUsIDI1NSwgMjU1KSBkYXJrZW4ocmdiKDI1NSwgMjU1LCAyNTUpLCAxMCUpLFxuICAgICdbZGlzYWJsZWQ9XCJ0cnVlXCInOiByZ2IoMjU1LCAyNTUsIDI1NSkgcmdiKDI1NSwgMjU1LCAyNTUpLFxuICApLFxuICAnLXByaW1hcnknOiAoXG4gICAgJ2RlZmF1bHQnOiByZ2IoMzEsIDEzLCA1MSkgZGFya2VuKHJnYigzMSwgMTMsIDUxKSwgMTAlKSxcbiAgICAnW2Rpc2FibGVkPVwidHJ1ZVwiJzogcmdiKDMxLCAxMywgNTEpIHJnYigzMSwgMTMsIDUxKSxcbiAgKSxcbiAgJy1zdWNjZXNzJzogKFxuICAgICdkZWZhdWx0JzogcmdiKDU1LCAyMTEsIDE4OSkgZGFya2VuKHJnYig1NSwgMjExLCAxODkpLCAxMCUpLFxuICAgICdbZGlzYWJsZWQ9XCJ0cnVlXCInOiByZ2IoNTUsIDIxMSwgMTg5KSByZ2IoNTUsIDIxMSwgMTg5KSxcbiAgKSxcbiAgJy13YXJuaW5nJzogKFxuICAgICdkZWZhdWx0JzogcmdiKDI1NSwgMTc2LCAwKSBkYXJrZW4ocmdiKDI1NSwgMTc2LCAwKSwgMTAlKSxcbiAgICAnW2Rpc2FibGVkPVwidHJ1ZVwiJzogcmdiKDI1NSwgMTc2LCAwKSByZ2IoMjU1LCAxNzYsIDApLFxuICApLFxuICAnLWRhbmdlcic6IChcbiAgICAnZGVmYXVsdCc6IHJnYigyNTMsIDY1LCAxMDApIGRhcmtlbihyZ2IoMjUzLCA2NSwgMTAwKSwgMTAlKSxcbiAgICAnW2Rpc2FibGVkPVwidHJ1ZVwiJzogcmdiKDI1MywgNjUsIDEwMCkgcmdiKDI1MywgNjUsIDEwMCksXG4gICksXG4pICFkZWZhdWx0O1xuXG4kYnV0dG9uLS1vcGFjaXR5OiAoXG4gICdbZGlzYWJsZWQ9XCJ0cnVlXCInOiAwLjUsXG4pICFkZWZhdWx0O1xuXG5cbi8vIHRleHRcbiRidXR0b24tLWZvbnQtc2l6ZTogKFxuICAnZGVmYXVsdCc6IDFyZW0sXG4gICctbGcnOiAxLjJyZW0sXG4gICctc20nOiAwLjhyZW0sXG4gICcteHMnOiAwLjY1cmVtLFxuKSAhZGVmYXVsdDtcblxuJGJ1dHRvbi0tdGV4dC1kZWNvcmF0aW9uOiAoXG4gICctbGluayc6IChcbiAgICAnOmhvdmVyJzogdW5kZXJsaW5lLFxuICApXG4pICFkZWZhdWx0O1xuXG4kYnV0dG9uLS1saW5lLWhlaWdodDogMS4yZW0gIWRlZmF1bHQ7XG4kYnV0dG9uLS10ZXh0LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbiRidXR0b24tLWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xuJGJ1dHRvbi0tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG4kYnV0dG9uLS10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcbiRidXR0b24tLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xuXG5cbi8vIG9yZGVyXG4kYnV0dG9uLS1ib3JkZXItcmFkaXVzOiAwLjJlbSAhZGVmYXVsdDtcbiRidXR0b24tLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG5cbiRidXR0b24tLWJveC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG4kYnV0dG9uLS10cmFuc2l0aW9uOiBudWxsICFkZWZhdWx0O1xuJGJ1dHRvbi0tY3Vyc29yOiBudWxsICFkZWZhdWx0O1xuIiwiQG1peGluIGJ0bi1ncm91cC1tYXJnaW4teCAoJHZhbHVlLCAkZmxhZ3MpIHtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJ21hcmdpbi1sZWZ0JywgJHZhbHVlICogLTEsICRmbGFncyk7XG59XG4iLCJAaW1wb3J0ICcuLi8uLi91dGlscy9zZWxlY3Rvcic7XG5cbkBpbXBvcnQgJy4vdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvdHJvd2VsLWJ1dHRvbnMvc3JjL3Njc3MvYnV0dG9ucyc7XG5cblxuI3twcmVmaXhlZC1zZWxlY3RvcignYnRuJyl9IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4je3ByZWZpeGVkLXNlbGVjdG9yKCdidG4tLWFjdGl2ZScpfSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuI3twcmVmaXhlZC1zZWxlY3RvcignYnRuJyl9IHN2ZyB7XG4gICRzaXplOiAxZW07XG4gIHdpZHRoOiAkc2l6ZTtcbiAgaGVpZ2h0OiAkc2l6ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbiIsIi8qKlxuICogZm9ybXNcbiAqL1xuXG5AbWl4aW4gbWl4aW4tZGlzcGF0Y2hlcigkdmFsdWUsICRmbGFncywgJG1peGluKSB7XG4gIEBpZiAkbWl4aW4gPT0gJ2Zvcm1zLS1tZC1mb3JtLWdyb3VwJyB7XG4gICAgQGluY2x1ZGUgZm9ybXMtLW1kLWZvcm0tZ3JvdXAoJHZhbHVlLCAkZmxhZ3MpO1xuICB9IEBlbHNlaWYgJG1peGluID09ICdmb3Jtcy0tbWQtZm9ybS1sYWJlbCcge1xuICAgIEBpbmNsdWRlIGZvcm1zLS1tZC1mb3JtLWxhYmVsKCR2YWx1ZSwgJGZsYWdzKTtcbiAgfSBAZWxzZWlmICRtaXhpbiA9PSAnZm9ybXMtLWNoZWNrYm94LW5hdGl2ZS1tYXJnaW4nIHtcbiAgICBAaW5jbHVkZSBmb3Jtcy0tY2hlY2tib3gtbmF0aXZlLW1hcmdpbigkdmFsdWUsICRmbGFncyk7XG4gIH0gQGVsc2VpZiAkbWl4aW4gPT0gJ2Zvcm1zLS1zZWxlY3QtY2FyZXQtc3dpdGNoJyB7XG4gICAgQGluY2x1ZGUgZm9ybXMtLXNlbGVjdC1jYXJldC1zd2l0Y2goJHZhbHVlLCAkZmxhZ3MpO1xuICB9IEBlbHNlaWYgJG1peGluID09ICdmb3Jtcy0tc2VsZWN0LWNhcmV0LW1hcmdpbi10b3AnIHtcbiAgICBAaW5jbHVkZSBmb3Jtcy0tc2VsZWN0LWNhcmV0LW1hcmdpbi10b3AoJHZhbHVlLCAkZmxhZ3MpO1xuICB9IEBlbHNlaWYgJG1peGluID09ICdmb3Jtcy0tc2VsZWN0LXBhZGRpbmctcmlnaHQnIHtcbiAgICBAaW5jbHVkZSBmb3Jtcy0tc2VsZWN0LXBhZGRpbmctcmlnaHQoJHZhbHVlLCAkZmxhZ3MpO1xuICB9XG59O1xuXG4kZm9ybWdyb3VwLS1zZWxlY3Rvcjogc2VsZWN0b3ItLWNvbnN0cnVjdG9yKCRmb3JtLS1zeW50aGF4LCAnZm9ybS1ncm91cCcpO1xuXG5AaW5jbHVkZSBzZWxlY3RvcigkZm9ybWdyb3VwLS1zZWxlY3Rvcikge1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihmb250LXNpemUsICRmb3JtZ3JvdXAtLWZvbnQtc2l6ZSk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGZvbnQtZmFtaWx5LCAkZm9ybWdyb3VwLS1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKG1hcmdpbi1ib3R0b20sICRmb3JtZ3JvdXAtLW1hcmdpbi1ib3R0b20pO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbignLWluY2x1ZGUtZm9ybXMtLW1kLWZvcm0tZ3JvdXAnLCAkZm9ybWdyb3VwLS1tZC1lZmZldCk7XG5cbiAgQGluY2x1ZGUgYmxvY2stZ2VuZXJhdGlvbigkZm9ybWdyb3VwLS1zZWxlY3Rvcik7XG59XG5cblxuJGZvcm1ncm91cC1sYWJlbC0tc2VsZWN0b3I6IHNlbGVjdG9yLS1zZXQtZWxlbWVudCgkZm9ybWdyb3VwLS1zZWxlY3RvciwgJ2xhYmVsJyk7XG5cbkBpbmNsdWRlIHNlbGVjdG9yKCRmb3JtZ3JvdXAtbGFiZWwtLXNlbGVjdG9yKSB7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGRpc3BsYXksIGJsb2NrKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oZm9udC1zaXplLCAkZm9ybWdyb3VwLWxhYmVsLS1mb250LXNpemUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihmb250LWZhbWlseSwgJGZvcm1ncm91cC1sYWJlbC0tZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihtYXJnaW4tYm90dG9tLCAkZm9ybWdyb3VwLWxhYmVsLS1tYXJnaW4tYm90dG9tKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24odGV4dC1hbGlnbiwgJGZvcm1ncm91cC1sYWJlbC0tdGV4dC1hbGlnbik7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGxpbmUtaGVpZ2h0LCAkZm9ybWdyb3VwLWxhYmVsLS1saW5lLWhlaWdodCk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGNvbG9yLCAkZm9ybWdyb3VwLWxhYmVsLS1jb2xvcik7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGZvbnQtc3R5bGUsICRmb3JtZ3JvdXAtbGFiZWwtLWZvbnQtc3R5bGUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihmb250LXdlaWdodCwgJGZvcm1ncm91cC1sYWJlbC0tZm9udC13ZWlnaHQpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbih0ZXh0LXRyYW5zZm9ybSwgJGZvcm1ncm91cC1sYWJlbC0tdGV4dC10cmFuc2Zvcm0pO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbih0b3VjaC1hY3Rpb24sIG1hbmlwdWxhdGlvbik7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCctaW5jbHVkZS1mb3Jtcy0tbWQtZm9ybS1sYWJlbCcsICRmb3JtZ3JvdXAtLW1kLWVmZmV0KTtcblxuICBAaW5jbHVkZSBibG9jay1nZW5lcmF0aW9uKCRmb3JtZ3JvdXAtbGFiZWwtLXNlbGVjdG9yKTtcbn1cblxuXG4kZm9ybWdyb3VwLWlucHV0LS1zZWxlY3Rvcjogc2VsZWN0b3ItLXNldC1lbGVtZW50KCRmb3JtZ3JvdXAtLXNlbGVjdG9yLCAnaW5wdXQnKTtcblxuQGluY2x1ZGUgc2VsZWN0b3IoJGZvcm1ncm91cC1pbnB1dC0tc2VsZWN0b3IpIHtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oZGlzcGxheSwgYmxvY2spO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbih3aWR0aCwgMTAwJSk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJhY2tncm91bmQtaW1hZ2UsIG5vbmUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihiYWNrZ3JvdW5kLWNsaXAsIHBhZGRpbmctYm94KTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24ocGFkZGluZywgJGZvcm1ncm91cC1pbnB1dC0tcGFkZGluZyk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGZvbnQtc2l6ZSwgJGZvcm1ncm91cC1pbnB1dC0tZm9udC1zaXplKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24obGluZS1oZWlnaHQsICRmb3JtZ3JvdXAtaW5wdXQtLWxpbmUtaGVpZ2h0KTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oY29sb3IsICRmb3JtZ3JvdXAtaW5wdXQtLWNvbG9yKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1jb2xvciwgJGZvcm1ncm91cC1pbnB1dC0tYmFja2dyb3VuZC1jb2xvcik7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJvcmRlci13aWR0aCwgJGZvcm1ncm91cC1pbnB1dC0tYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm9yZGVyLXN0eWxlLCAkZm9ybWdyb3VwLWlucHV0LS1ib3JkZXItc3R5bGUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihib3JkZXItY29sb3IsICRmb3JtZ3JvdXAtaW5wdXQtLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJvcmRlci1yYWRpdXMsICRmb3JtZ3JvdXAtaW5wdXQtLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihib3gtc2hhZG93LCAkZm9ybWdyb3VwLWlucHV0LS1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24ob3V0bGluZSwgJGZvcm1ncm91cC1pbnB1dC0tb3V0bGluZSk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGZvbnQtc3R5bGUsICRmb3JtZ3JvdXAtaW5wdXQtLWZvbnQtc3R5bGUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihmb250LXdlaWdodCwgJGZvcm1ncm91cC1pbnB1dC0tZm9udC13ZWlnaHQpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbih0ZXh0LXRyYW5zZm9ybSwgJGZvcm1ncm91cC1pbnB1dC0tdGV4dC10cmFuc2Zvcm0pO1xuXG4gIEBpbmNsdWRlIGJsb2NrLWdlbmVyYXRpb24oJGZvcm1ncm91cC1pbnB1dC0tc2VsZWN0b3IpO1xufVxuXG5cbiRmb3JtZ3JvdXAtaGVscC0tc2VsZWN0b3I6IHNlbGVjdG9yLS1zZXQtZWxlbWVudCgkZm9ybWdyb3VwLS1zZWxlY3RvciwgJ2hlbHAnKTtcblxuQGluY2x1ZGUgc2VsZWN0b3IoJGZvcm1ncm91cC1oZWxwLS1zZWxlY3Rvcikge1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihkaXNwbGF5LCBibG9jayk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKHdpZHRoLCAxMDAlKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24obWFyZ2luLCAkZm9ybWdyb3VwLWhlbHAtLW1hcmdpbik7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKHBhZGRpbmcsICRmb3JtZ3JvdXAtaGVscC0tcGFkZGluZyk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGZvbnQtc2l6ZSwgJGZvcm1ncm91cC1oZWxwLS1mb250LXNpemUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihsaW5lLWhlaWdodCwgJGZvcm1ncm91cC1oZWxwLS1saW5lLWhlaWdodCk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGNvbG9yLCAkZm9ybWdyb3VwLWhlbHAtLWNvbG9yKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1jb2xvciwgJGZvcm1ncm91cC1oZWxwLS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1pbWFnZSwgJGZvcm1ncm91cC1oZWxwLS1iYWNrZ3JvdW5kLWltYWdlKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1wb3NpdGlvbiwgJGZvcm1ncm91cC1oZWxwLS1iYWNrZ3JvdW5kLXBvc2l0aW9uKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1zaXplLCAkZm9ybWdyb3VwLWhlbHAtLWJhY2tncm91bmQtc2l6ZSk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJhY2tncm91bmQtcmVwZWF0LCAkZm9ybWdyb3VwLWhlbHAtLWJhY2tncm91bmQtcmVwZWF0KTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm9yZGVyLXdpZHRoLCAkZm9ybWdyb3VwLWhlbHAtLWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJvcmRlci1zdHlsZSwgJGZvcm1ncm91cC1oZWxwLS1ib3JkZXItc3R5bGUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihib3JkZXItY29sb3IsICRmb3JtZ3JvdXAtaGVscC0tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm9yZGVyLXJhZGl1cywgJGZvcm1ncm91cC1oZWxwLS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm94LXNoYWRvdywgJGZvcm1ncm91cC1oZWxwLS1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oZm9udC1zdHlsZSwgJGZvcm1ncm91cC1oZWxwLS1mb250LXN0eWxlKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oZm9udC13ZWlnaHQsICRmb3JtZ3JvdXAtaGVscC0tZm9udC13ZWlnaHQpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbih0ZXh0LXRyYW5zZm9ybSwgJGZvcm1ncm91cC1oZWxwLS10ZXh0LXRyYW5zZm9ybSk7XG5cbiAgQGluY2x1ZGUgYmxvY2stZ2VuZXJhdGlvbigkZm9ybWdyb3VwLWhlbHAtLXNlbGVjdG9yKTtcbn1cblxuXG5cblxuJGNoZWNrYm94LS1zZWxlY3Rvcjogc2VsZWN0b3ItLWNvbnN0cnVjdG9yKCRmb3JtLS1zeW50aGF4LCAnY2hlY2tib3gnKTtcblxuQGluY2x1ZGUgc2VsZWN0b3IoJGNoZWNrYm94LS1zZWxlY3Rvcikge1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihwb3NpdGlvbiwgcmVsYXRpdmUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihkaXNwbGF5LCBmbGV4KTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oY3Vyc29yLCBwb2ludGVyKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24odXNlci1zZWxlY3QsIG5vbmUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihmb250LXNpemUsICRjaGVja2JveC0tZm9udC1zaXplKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24obGluZS1oZWlnaHQsICRjaGVja2JveC0tbGluZS1oZWlnaHQpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihwYWRkaW5nLCAkY2hlY2tib3gtLXBhZGRpbmcpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihtYXJnaW4sICRjaGVja2JveC0tbWFyZ2luKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oZm9udC1zdHlsZSwgJGNoZWNrYm94LS1mb250LXN0eWxlKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oZm9udC13ZWlnaHQsICRjaGVja2JveC0tZm9udC13ZWlnaHQpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbih0ZXh0LXRyYW5zZm9ybSwgJGNoZWNrYm94LS10ZXh0LXRyYW5zZm9ybSk7XG5cblxuICBAaW5jbHVkZSBibG9jay1nZW5lcmF0aW9uKCRjaGVja2JveC0tc2VsZWN0b3IpO1xufVxuXG5cbiRjaGVja2JveC1uYXRpdmUtLXNlbGVjdG9yOiBzZWxlY3Rvci0tc2V0LWVsZW1lbnQoJGNoZWNrYm94LS1zZWxlY3RvciwgJ25hdGl2ZScpO1xuJGNoZWNrYm94LW5hdGl2ZS1jaGVja2VkLS1zZWxlY3Rvcjogc2VsZWN0b3ItLWFwcGVuZC1wc2V1ZG8tY2xhc3NlcygkY2hlY2tib3gtbmF0aXZlLS1zZWxlY3RvciwgJ2NoZWNrZWQnKTtcblxuQGluY2x1ZGUgc2VsZWN0b3IoJGNoZWNrYm94LW5hdGl2ZS0tc2VsZWN0b3IpIHtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24ocG9zaXRpb24sIGFic29sdXRlKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24odHJhbnNmb3JtLCB0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihvcGFjaXR5LCAwKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJy1pbmNsdWRlLWZvcm1zLS1jaGVja2JveC1uYXRpdmUtbWFyZ2luJywgJGNoZWNrYm94LWluZGljYXRvci0tc2l6ZSk7XG5cbiAgQGluY2x1ZGUgYmxvY2stZ2VuZXJhdGlvbigkY2hlY2tib3gtbmF0aXZlLS1zZWxlY3Rvcik7XG59XG5cblxuJGNoZWNrYm94LWluZGljYXRvci0tc2VsZWN0b3I6IHNlbGVjdG9yLS1zZXQtZWxlbWVudCgkY2hlY2tib3gtLXNlbGVjdG9yLCAnaW5kaWNhdG9yJyk7XG4kY2hlY2tib3gtaW5kaWNhdG9yLWNoZWNrZWQtLXNlbGVjdG9yOiBzZWxlY3Rvci0tYXBwZW5kLXBhcmVudCgkY2hlY2tib3gtaW5kaWNhdG9yLS1zZWxlY3RvciwgJGNoZWNrYm94LW5hdGl2ZS1jaGVja2VkLS1zZWxlY3RvciwgJ34nKTtcblxuQGluY2x1ZGUgc2VsZWN0b3IoJGNoZWNrYm94LWluZGljYXRvci0tc2VsZWN0b3IpIHtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oZGlzcGxheSwgaW5saW5lLWJsb2NrKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24od2lkdGgsICRjaGVja2JveC1pbmRpY2F0b3ItLXNpemUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihoZWlnaHQsICRjaGVja2JveC1pbmRpY2F0b3ItLXNpemUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihtYXJnaW4sICRjaGVja2JveC1pbmRpY2F0b3ItLW1hcmdpbik7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJhY2tncm91bmQtY29sb3IsICRjaGVja2JveC1pbmRpY2F0b3ItLWJhY2tncm91bmQtY29sb3IpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihiYWNrZ3JvdW5kLWltYWdlLCAkY2hlY2tib3gtaW5kaWNhdG9yLS1iYWNrZ3JvdW5kLWltYWdlKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1yZXBlYXQsICRjaGVja2JveC1pbmRpY2F0b3ItLWJhY2tncm91bmQtcmVwZWF0KTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1zaXplLCAkY2hlY2tib3gtaW5kaWNhdG9yLS1iYWNrZ3JvdW5kLXNpemUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihiYWNrZ3JvdW5kLXBvc2l0aW9uLCAkY2hlY2tib3gtaW5kaWNhdG9yLS1iYWNrZ3JvdW5kLXBvc2l0aW9uKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm9yZGVyLXJhZGl1cywgJGNoZWNrYm94LWluZGljYXRvci0tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJvcmRlci13aWR0aCwgJGNoZWNrYm94LWluZGljYXRvci0tYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm9yZGVyLXN0eWxlLCAkY2hlY2tib3gtaW5kaWNhdG9yLS1ib3JkZXItc3R5bGUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihib3JkZXItY29sb3IsICRjaGVja2JveC1pbmRpY2F0b3ItLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKHRyYW5zaXRpb24tcHJvcGVydHksICRjaGVja2JveC1pbmRpY2F0b3ItLXRyYW5zaXRpb24tcHJvcGVydHkpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJGNoZWNrYm94LWluZGljYXRvci0tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkY2hlY2tib3gtaW5kaWNhdG9yLS10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm94LXNoYWRvdywgJGNoZWNrYm94LWluZGljYXRvci0tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgYmxvY2stZ2VuZXJhdGlvbigkY2hlY2tib3gtaW5kaWNhdG9yLS1zZWxlY3Rvcik7XG59XG5cbkBpbmNsdWRlIHNlbGVjdG9yKCRjaGVja2JveC1pbmRpY2F0b3ItY2hlY2tlZC0tc2VsZWN0b3IpIHtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1jb2xvciwgJGNoZWNrYm94LWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1pbWFnZSwgJGNoZWNrYm94LWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLWltYWdlKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1yZXBlYXQsICRjaGVja2JveC1pbmRpY2F0b3ItY2hlY2tlZC0tYmFja2dyb3VuZC1yZXBlYXQpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihiYWNrZ3JvdW5kLXNpemUsICRjaGVja2JveC1pbmRpY2F0b3ItY2hlY2tlZC0tYmFja2dyb3VuZC1zaXplKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1wb3NpdGlvbiwgJGNoZWNrYm94LWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLXBvc2l0aW9uKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm9yZGVyLWNvbG9yLCAkY2hlY2tib3gtaW5kaWNhdG9yLWNoZWNrZWQtLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJveC1zaGFkb3csICRjaGVja2JveC1pbmRpY2F0b3ItY2hlY2tlZC0tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgYmxvY2stZ2VuZXJhdGlvbigkY2hlY2tib3gtaW5kaWNhdG9yLWNoZWNrZWQtLXNlbGVjdG9yKTtcbn1cblxuXG5cblxuJHJhZGlvLS1zZWxlY3Rvcjogc2VsZWN0b3ItLWNvbnN0cnVjdG9yKCRmb3JtLS1zeW50aGF4LCAncmFkaW8nKTtcblxuQGluY2x1ZGUgc2VsZWN0b3IoJHJhZGlvLS1zZWxlY3Rvcikge1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihwb3NpdGlvbiwgcmVsYXRpdmUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihkaXNwbGF5LCBmbGV4KTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oY3Vyc29yLCBwb2ludGVyKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24odXNlci1zZWxlY3QsIG5vbmUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihmb250LXNpemUsICRyYWRpby0tZm9udC1zaXplKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24obGluZS1oZWlnaHQsICRyYWRpby0tbGluZS1oZWlnaHQpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihwYWRkaW5nLCAkcmFkaW8tLXBhZGRpbmcpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihtYXJnaW4sICRyYWRpby0tbWFyZ2luKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oZm9udC1zdHlsZSwgJHJhZGlvLS1mb250LXN0eWxlKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oZm9udC13ZWlnaHQsICRyYWRpby0tZm9udC13ZWlnaHQpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbih0ZXh0LXRyYW5zZm9ybSwgJHJhZGlvLS10ZXh0LXRyYW5zZm9ybSk7XG5cblxuICBAaW5jbHVkZSBibG9jay1nZW5lcmF0aW9uKCRyYWRpby0tc2VsZWN0b3IpO1xufVxuXG5cbiRyYWRpby1uYXRpdmUtLXNlbGVjdG9yOiBzZWxlY3Rvci0tc2V0LWVsZW1lbnQoJHJhZGlvLS1zZWxlY3RvciwgJ25hdGl2ZScpO1xuJHJhZGlvLW5hdGl2ZS1jaGVja2VkLS1zZWxlY3Rvcjogc2VsZWN0b3ItLWFwcGVuZC1wc2V1ZG8tY2xhc3NlcygkcmFkaW8tbmF0aXZlLS1zZWxlY3RvciwgJ2NoZWNrZWQnKTtcblxuQGluY2x1ZGUgc2VsZWN0b3IoJHJhZGlvLW5hdGl2ZS0tc2VsZWN0b3IpIHtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24ocG9zaXRpb24sIGFic29sdXRlKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24odHJhbnNmb3JtLCB0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihvcGFjaXR5LCAwKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oJy1pbmNsdWRlLWZvcm1zLS1jaGVja2JveC1uYXRpdmUtbWFyZ2luJywgJHJhZGlvLWluZGljYXRvci0tc2l6ZSk7XG5cbiAgQGluY2x1ZGUgYmxvY2stZ2VuZXJhdGlvbigkcmFkaW8tbmF0aXZlLS1zZWxlY3Rvcik7XG59XG5cblxuJHJhZGlvLWluZGljYXRvci0tc2VsZWN0b3I6IHNlbGVjdG9yLS1zZXQtZWxlbWVudCgkcmFkaW8tLXNlbGVjdG9yLCAnaW5kaWNhdG9yJyk7XG4kcmFkaW8taW5kaWNhdG9yLWNoZWNrZWQtLXNlbGVjdG9yOiBzZWxlY3Rvci0tYXBwZW5kLXBhcmVudCgkcmFkaW8taW5kaWNhdG9yLS1zZWxlY3RvciwgJHJhZGlvLW5hdGl2ZS1jaGVja2VkLS1zZWxlY3RvciwgJ34nKTtcblxuQGluY2x1ZGUgc2VsZWN0b3IoJHJhZGlvLWluZGljYXRvci0tc2VsZWN0b3IpIHtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oZGlzcGxheSwgaW5saW5lLWJsb2NrKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24od2lkdGgsICRyYWRpby1pbmRpY2F0b3ItLXNpemUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihoZWlnaHQsICRyYWRpby1pbmRpY2F0b3ItLXNpemUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihtYXJnaW4sICRyYWRpby1pbmRpY2F0b3ItLW1hcmdpbik7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJhY2tncm91bmQtY29sb3IsICRyYWRpby1pbmRpY2F0b3ItLWJhY2tncm91bmQtY29sb3IpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihiYWNrZ3JvdW5kLWltYWdlLCAkcmFkaW8taW5kaWNhdG9yLS1iYWNrZ3JvdW5kLWltYWdlKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1yZXBlYXQsICRyYWRpby1pbmRpY2F0b3ItLWJhY2tncm91bmQtcmVwZWF0KTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1zaXplLCAkcmFkaW8taW5kaWNhdG9yLS1iYWNrZ3JvdW5kLXNpemUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihiYWNrZ3JvdW5kLXBvc2l0aW9uLCAkcmFkaW8taW5kaWNhdG9yLS1iYWNrZ3JvdW5kLXBvc2l0aW9uKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm9yZGVyLXJhZGl1cywgJHJhZGlvLWluZGljYXRvci0tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJvcmRlci13aWR0aCwgJHJhZGlvLWluZGljYXRvci0tYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm9yZGVyLXN0eWxlLCAkcmFkaW8taW5kaWNhdG9yLS1ib3JkZXItc3R5bGUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihib3JkZXItY29sb3IsICRyYWRpby1pbmRpY2F0b3ItLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKHRyYW5zaXRpb24tcHJvcGVydHksICRyYWRpby1pbmRpY2F0b3ItLXRyYW5zaXRpb24tcHJvcGVydHkpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJHJhZGlvLWluZGljYXRvci0tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkcmFkaW8taW5kaWNhdG9yLS10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm94LXNoYWRvdywgJHJhZGlvLWluZGljYXRvci0tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgYmxvY2stZ2VuZXJhdGlvbigkcmFkaW8taW5kaWNhdG9yLS1zZWxlY3Rvcik7XG59XG5cbkBpbmNsdWRlIHNlbGVjdG9yKCRyYWRpby1pbmRpY2F0b3ItY2hlY2tlZC0tc2VsZWN0b3IpIHtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1jb2xvciwgJHJhZGlvLWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1pbWFnZSwgJHJhZGlvLWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLWltYWdlKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1yZXBlYXQsICRyYWRpby1pbmRpY2F0b3ItY2hlY2tlZC0tYmFja2dyb3VuZC1yZXBlYXQpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihiYWNrZ3JvdW5kLXNpemUsICRyYWRpby1pbmRpY2F0b3ItY2hlY2tlZC0tYmFja2dyb3VuZC1zaXplKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1wb3NpdGlvbiwgJHJhZGlvLWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLXBvc2l0aW9uKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm9yZGVyLWNvbG9yLCAkcmFkaW8taW5kaWNhdG9yLWNoZWNrZWQtLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJveC1zaGFkb3csICRyYWRpby1pbmRpY2F0b3ItY2hlY2tlZC0tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgYmxvY2stZ2VuZXJhdGlvbigkcmFkaW8taW5kaWNhdG9yLWNoZWNrZWQtLXNlbGVjdG9yKTtcbn1cblxuXG5cbiRzZWxlY3QtLXNlbGVjdG9yOiBzZWxlY3Rvci0tY29uc3RydWN0b3IoJGZvcm0tLXN5bnRoYXgsICdzZWxlY3QnKTtcblxuQGluY2x1ZGUgc2VsZWN0b3IoJHNlbGVjdC0tc2VsZWN0b3IpIHtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24ocG9zaXRpb24sIHJlbGF0aXZlKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oZGlzcGxheSwgaW5saW5lLWJsb2NrKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oZm9udC1zaXplLCAkc2VsZWN0LS1mb250LXNpemUpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihmb250LWZhbWlseSwgJHNlbGVjdC0tZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihib3JkZXItcmFkaXVzLCAkc2VsZWN0LS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm9yZGVyLXdpZHRoLCAkc2VsZWN0LS1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihib3JkZXItc3R5bGUsICRzZWxlY3QtLWJvcmRlci1zdHlsZSk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJvcmRlci1jb2xvciwgJHNlbGVjdC0tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm94LXNoYWRvdywgJHNlbGVjdC0tYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKHdpZHRoLCAkc2VsZWN0LS13aWR0aCk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGhlaWdodCwgJHNlbGVjdC0taGVpZ2h0KTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24obWFyZ2luLCAkc2VsZWN0LS1tYXJnaW4pO1xuXG4gIEBpbmNsdWRlIGJsb2NrLWdlbmVyYXRpb24oJHNlbGVjdC0tc2VsZWN0b3IpO1xufVxuXG5cbiRzZWxlY3QtbmF0aXZlLS1zZWxlY3Rvcjogc2VsZWN0b3ItLXNldC1lbGVtZW50KCRzZWxlY3QtLXNlbGVjdG9yLCAnbmF0aXZlJyk7XG5cbkBpbmNsdWRlIHNlbGVjdG9yKCRzZWxlY3QtbmF0aXZlLS1zZWxlY3Rvcikge1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihkaXNwbGF5LCBpbmxpbmUtYmxvY2spO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihmb250LXNpemUsIDFlbSk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKHdpZHRoLCAxMDAlKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24obWFyZ2luLCAwKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24ocGFkZGluZy10b3AsICRzZWxlY3QtLXBhZGRpbmcteSk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKHBhZGRpbmctYm90dG9tLCAkc2VsZWN0LS1wYWRkaW5nLXkpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihwYWRkaW5nLWxlZnQsICRzZWxlY3QtLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCctaW5jbHVkZS1mb3Jtcy0tc2VsZWN0LXBhZGRpbmctcmlnaHQnLCAkc2VsZWN0LS1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihsaW5lLWhlaWdodCwgJHNlbGVjdC0tbGluZS1oZWlnaHQpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihjb2xvciwgJHNlbGVjdC0tY29sb3IpO1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihiYWNrZ3JvdW5kLWNvbG9yLCAkc2VsZWN0LS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm9yZGVyLCAwKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm9yZGVyLXJhZGl1cywgJHNlbGVjdC0tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGN1cnNvciwgJHNlbGVjdC0tY3Vyc29yKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24ob3V0bGluZSwgMCk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGFwcGVhcmFuY2UsIG5vbmUpO1xuXG4gIC8vIFVuZG8gdGhlIEZpcmVmb3ggaW5uZXIgZm9jdXMgcmluZ1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihjb2xvciwgdHJhbnNwYXJlbnQsICgnOmZvY3VzJywgJzotbW96LWZvY3VzcmluZycpKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24odGV4dC1zaGFkb3csIDAgMCAwICMwMDAsICgnOmZvY3VzJywgJzotbW96LWZvY3VzcmluZycpKTtcblxuICBAaW5jbHVkZSBibG9jay1nZW5lcmF0aW9uKCRzZWxlY3QtbmF0aXZlLS1zZWxlY3Rvcik7XG59XG5cblxuJHNlbGVjdC1jYXJldC0tc2VsZWN0b3I6IHNlbGVjdG9yLS1zZXQtcHNldWRvLWVsZW1lbnQoJHNlbGVjdC0tc2VsZWN0b3IsICdhZnRlcicpO1xuXG5AaW5jbHVkZSBzZWxlY3Rvcigkc2VsZWN0LWNhcmV0LS1zZWxlY3Rvcikge1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihjb250ZW50LCAnJyk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKHBvc2l0aW9uLCBhYnNvbHV0ZSk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKHRvcCwgNTAlKTtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24ocmlnaHQsICRzZWxlY3QtLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGRpc3BsYXksIGlubGluZS1ibG9jayk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCctaW5jbHVkZS1mb3Jtcy0tc2VsZWN0LWNhcmV0LXN3aXRjaCcsICRzZWxlY3QtY2FyZXQtLW1ldGhvZCk7XG4gIEBpbmNsdWRlIGRlY2xhcmF0aW9uKCctaW5jbHVkZS1mb3Jtcy0tc2VsZWN0LWNhcmV0LW1hcmdpbi10b3AnLCAkc2VsZWN0LWNhcmV0LS1oZWlnaHQpO1xuXG4gIEBpbmNsdWRlIGJsb2NrLWdlbmVyYXRpb24oJHNlbGVjdC1jYXJldC0tc2VsZWN0b3IpO1xufVxuIiwiQGltcG9ydCAnLi4vLi4vdXRpbHMvc2VsZWN0b3InO1xuQGltcG9ydCAnLi4vLi4vdXRpbHMvY29sb3JzJztcbkBpbXBvcnQgJy4uLy4uL3V0aWxzL3NpemVzJztcblxuJGZvcm0tLXByZWZpeDogJHNlbGVjdG9yLXByZWZpeDtcblxuJGZvcm1ncm91cC0tZm9udC1zaXplOiByZW0oMSk7XG4kZm9ybWdyb3VwLS1mb250LWZhbWlseTogbnVsbDtcbiRmb3JtZ3JvdXAtLW1hcmdpbi1ib3R0b206IDAuNjI1ZW07XG4kZm9ybWdyb3VwLS1tZC1lZmZldDogbnVsbDtcblxuJGZvcm1ncm91cC1sYWJlbC0tZm9udC1zaXplOiBudWxsO1xuJGZvcm1ncm91cC1sYWJlbC0tZm9udC1mYW1pbHk6IG51bGw7XG4kZm9ybWdyb3VwLWxhYmVsLS1tYXJnaW4tYm90dG9tOiBudWxsO1xuJGZvcm1ncm91cC1sYWJlbC0tdGV4dC1hbGlnbjogbnVsbDtcbiRmb3JtZ3JvdXAtbGFiZWwtLWxpbmUtaGVpZ2h0OiBudWxsO1xuJGZvcm1ncm91cC1sYWJlbC0tY29sb3I6IG51bGw7XG4kZm9ybWdyb3VwLWxhYmVsLS1mb250LXN0eWxlOiBudWxsO1xuJGZvcm1ncm91cC1sYWJlbC0tZm9udC13ZWlnaHQ6IG51bGw7XG4kZm9ybWdyb3VwLWxhYmVsLS10ZXh0LXRyYW5zZm9ybTogbnVsbDtcblxuJGZvcm1ncm91cC1pbnB1dC0tcGFkZGluZzogbnVsbDtcbiRmb3JtZ3JvdXAtaW5wdXQtLWZvbnQtc2l6ZTogbnVsbDtcbiRmb3JtZ3JvdXAtaW5wdXQtLWxpbmUtaGVpZ2h0OiBudWxsO1xuJGZvcm1ncm91cC1pbnB1dC0tY29sb3I6IG51bGw7XG4kZm9ybWdyb3VwLWlucHV0LS1iYWNrZ3JvdW5kLWNvbG9yOiBudWxsO1xuJGZvcm1ncm91cC1pbnB1dC0tYm9yZGVyLXdpZHRoOiBudWxsO1xuJGZvcm1ncm91cC1pbnB1dC0tYm9yZGVyLXN0eWxlOiBudWxsO1xuJGZvcm1ncm91cC1pbnB1dC0tYm9yZGVyLWNvbG9yOiBudWxsO1xuJGZvcm1ncm91cC1pbnB1dC0tYm9yZGVyLXJhZGl1czogbnVsbDtcbiRmb3JtZ3JvdXAtaW5wdXQtLWJveC1zaGFkb3c6IG51bGw7XG4kZm9ybWdyb3VwLWlucHV0LS1mb250LXN0eWxlOiBudWxsO1xuJGZvcm1ncm91cC1pbnB1dC0tZm9udC13ZWlnaHQ6IG51bGw7XG4kZm9ybWdyb3VwLWlucHV0LS10ZXh0LXRyYW5zZm9ybTogbnVsbDtcbiRmb3JtZ3JvdXAtaW5wdXQtLW91dGxpbmU6IG51bGw7XG5cbiRmb3JtZ3JvdXAtaGVscC0tbWFyZ2luOiBudWxsO1xuJGZvcm1ncm91cC1oZWxwLS1wYWRkaW5nOiBudWxsO1xuJGZvcm1ncm91cC1oZWxwLS1mb250LXNpemU6IG51bGw7XG4kZm9ybWdyb3VwLWhlbHAtLWxpbmUtaGVpZ2h0OiBudWxsO1xuJGZvcm1ncm91cC1oZWxwLS1jb2xvcjogbnVsbDtcbiRmb3JtZ3JvdXAtaGVscC0tYmFja2dyb3VuZC1jb2xvcjogbnVsbDtcbiRmb3JtZ3JvdXAtaGVscC0tYmFja2dyb3VuZC1pbWFnZTogbnVsbDtcbiRmb3JtZ3JvdXAtaGVscC0tYmFja2dyb3VuZC1wb3NpdGlvbjogbnVsbDtcbiRmb3JtZ3JvdXAtaGVscC0tYmFja2dyb3VuZC1zaXplOiBudWxsO1xuJGZvcm1ncm91cC1oZWxwLS1iYWNrZ3JvdW5kLXJlcGVhdDogbnVsbDtcbiRmb3JtZ3JvdXAtaGVscC0tYm9yZGVyLXdpZHRoOiBudWxsO1xuJGZvcm1ncm91cC1oZWxwLS1ib3JkZXItc3R5bGU6IG51bGw7XG4kZm9ybWdyb3VwLWhlbHAtLWJvcmRlci1jb2xvcjogbnVsbDtcbiRmb3JtZ3JvdXAtaGVscC0tYm9yZGVyLXJhZGl1czogbnVsbDtcbiRmb3JtZ3JvdXAtaGVscC0tYm94LXNoYWRvdzogbnVsbDtcbiRmb3JtZ3JvdXAtaGVscC0tZm9udC1zdHlsZTogbnVsbDtcbiRmb3JtZ3JvdXAtaGVscC0tZm9udC13ZWlnaHQ6IG51bGw7XG4kZm9ybWdyb3VwLWhlbHAtLXRleHQtdHJhbnNmb3JtOiBudWxsO1xuXG4kY2hlY2tib3gtLWZvbnQtc2l6ZTogcmVtKDEpO1xuJGNoZWNrYm94LS1saW5lLWhlaWdodDogbnVsbDtcbiRjaGVja2JveC0tcGFkZGluZzogbnVsbDtcbiRjaGVja2JveC0tbWFyZ2luOiBudWxsO1xuJGNoZWNrYm94LS1mb250LXN0eWxlOiBudWxsO1xuJGNoZWNrYm94LS1mb250LXdlaWdodDogbnVsbDtcbiRjaGVja2JveC0tdGV4dC10cmFuc2Zvcm06IG51bGw7XG5cbiRjaGVja2JveC1pbmRpY2F0b3ItLXNpemU6IDEuMjVlbTtcbiRjaGVja2JveC1pbmRpY2F0b3ItLW1hcmdpbjogMCAwLjYyNWVtIDAgMDtcbiRjaGVja2JveC1pbmRpY2F0b3ItLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuJGNoZWNrYm94LWluZGljYXRvci0tYmFja2dyb3VuZC1pbWFnZTogbnVsbDtcbiRjaGVja2JveC1pbmRpY2F0b3ItLWJhY2tncm91bmQtcmVwZWF0OiBudWxsO1xuJGNoZWNrYm94LWluZGljYXRvci0tYmFja2dyb3VuZC1zaXplOiBudWxsO1xuJGNoZWNrYm94LWluZGljYXRvci0tYmFja2dyb3VuZC1wb3NpdGlvbjogbnVsbDtcbiRjaGVja2JveC1pbmRpY2F0b3ItLWJvcmRlci1yYWRpdXM6IDA7XG4kY2hlY2tib3gtaW5kaWNhdG9yLS1ib3JkZXItd2lkdGg6IDJweDtcbiRjaGVja2JveC1pbmRpY2F0b3ItLWJvcmRlci1zdHlsZTogc29saWQ7XG4kY2hlY2tib3gtaW5kaWNhdG9yLS1ib3JkZXItY29sb3I6IGRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLCAxMCUpO1xuJGNoZWNrYm94LWluZGljYXRvci0tdHJhbnNpdGlvbi1wcm9wZXJ0eTogbnVsbDtcbiRjaGVja2JveC1pbmRpY2F0b3ItLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBudWxsO1xuJGNoZWNrYm94LWluZGljYXRvci0tdHJhbnNpdGlvbi1kdXJhdGlvbjogbnVsbDtcbiRjaGVja2JveC1pbmRpY2F0b3ItLWJveC1zaGFkb3c6IG51bGw7XG5cbiRjaGVja2JveC1pbmRpY2F0b3ItY2hlY2tlZC0tYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvcjtcbiRjaGVja2JveC1pbmRpY2F0b3ItY2hlY2tlZC0tYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vZW5jaGFybS9Gb250LUF3ZXNvbWUtU1ZHLVBORy9tYXN0ZXIvd2hpdGUvcG5nLzI1Ni9jaGVjay5wbmcnKTtcbiRjaGVja2JveC1pbmRpY2F0b3ItY2hlY2tlZC0tYmFja2dyb3VuZC1yZXBlYXQ6IG51bGw7XG4kY2hlY2tib3gtaW5kaWNhdG9yLWNoZWNrZWQtLWJhY2tncm91bmQtc2l6ZTogMWVtO1xuJGNoZWNrYm94LWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4kY2hlY2tib3gtaW5kaWNhdG9yLWNoZWNrZWQtLWJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvcjtcbiRjaGVja2JveC1pbmRpY2F0b3ItY2hlY2tlZC0tYm94LXNoYWRvdzogbnVsbDtcblxuXG4kcmFkaW8tLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcbiRyYWRpby0tbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8tLXBhZGRpbmc6IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8tLW1hcmdpbjogbnVsbCAhZGVmYXVsdDtcbiRyYWRpby0tZm9udC1zdHlsZTogbnVsbCAhZGVmYXVsdDtcbiRyYWRpby0tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8tLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xuXG4kcmFkaW8taW5kaWNhdG9yLS1zaXplOiAyMHB4ICFkZWZhdWx0O1xuJHJhZGlvLWluZGljYXRvci0tbWFyZ2luOiAwIDEwcHggMCAwICFkZWZhdWx0O1xuJHJhZGlvLWluZGljYXRvci0tYmFja2dyb3VuZC1jb2xvcjogZ3JleSAhZGVmYXVsdDtcbiRyYWRpby1pbmRpY2F0b3ItLWJhY2tncm91bmQtaW1hZ2U6IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLS1iYWNrZ3JvdW5kLXJlcGVhdDogbnVsbCAhZGVmYXVsdDtcbiRyYWRpby1pbmRpY2F0b3ItLWJhY2tncm91bmQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcbiRyYWRpby1pbmRpY2F0b3ItLWJhY2tncm91bmQtcG9zaXRpb246IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLS1ib3JkZXItcmFkaXVzOiAyMHB4ICFkZWZhdWx0O1xuJHJhZGlvLWluZGljYXRvci0tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHJhZGlvLWluZGljYXRvci0tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRyYWRpby1pbmRpY2F0b3ItLXRyYW5zaXRpb24tcHJvcGVydHk6IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLS10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbnVsbCAhZGVmYXVsdDtcbiRyYWRpby1pbmRpY2F0b3ItLXRyYW5zaXRpb24tZHVyYXRpb246IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLS1ib3gtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuXG4kcmFkaW8taW5kaWNhdG9yLWNoZWNrZWQtLWJhY2tncm91bmQtY29sb3I6IGJsdWUgIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLWNoZWNrZWQtLWJhY2tncm91bmQtaW1hZ2U6IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLWNoZWNrZWQtLWJhY2tncm91bmQtcmVwZWF0OiBudWxsICFkZWZhdWx0O1xuJHJhZGlvLWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLXNpemU6IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLWNoZWNrZWQtLWJhY2tncm91bmQtcG9zaXRpb246IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLWNoZWNrZWQtLWJvcmRlci1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRyYWRpby1pbmRpY2F0b3ItY2hlY2tlZC0tYm94LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuXG5cbiRzZWxlY3QtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRzZWxlY3QtLWZvbnQtc2l6ZTogcmVtKDAuNyk7XG4kc2VsZWN0LS1mb250LWZhbWlseTogbnVsbDtcbiRzZWxlY3QtLWJvcmRlci1yYWRpdXM6IDA7XG4kc2VsZWN0LS1ib3JkZXItd2lkdGg6IDAuMTU2MjVlbTtcbiRzZWxlY3QtLWJvcmRlci1zdHlsZTogc29saWQ7XG4kc2VsZWN0LS1ib3JkZXItY29sb3I6IChcbiAgJ2RlZmF1bHQnOiBkYXJrZW4oJHNlY29uZGFyeS1jb2xvciwgMTAlKSxcbiAgJzpob3Zlcic6IGN1cnJlbnRDb2xvcixcbiAgJzphY3RpdmUnOiBjdXJyZW50Q29sb3IsXG4gICc6Zm9jdXMnOiBjdXJyZW50Q29sb3IsXG4pO1xuJHNlbGVjdC0tYm94LXNoYWRvdzogbnVsbDtcbiRzZWxlY3QtLXdpZHRoOiBudWxsO1xuJHNlbGVjdC0taGVpZ2h0OiBudWxsO1xuJHNlbGVjdC0tbWFyZ2luOiBudWxsO1xuJHNlbGVjdC0tcGFkZGluZy14OiAwLjc1ZW07XG4kc2VsZWN0LS1wYWRkaW5nLXk6IDAuNWVtO1xuJHNlbGVjdC0tbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRzZWxlY3QtLWJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiRzZWxlY3QtLWN1cnNvcjogcG9pbnRlcjtcblxuJHNlbGVjdC1jYXJldC0tbWV0aG9kOiAnY3NzJzsgLy8gJ2ltYWdlJyBvciAnY3NzJ1xuJHNlbGVjdC1jYXJldC0td2lkdGg6IDAuN2VtO1xuJHNlbGVjdC1jYXJldC0taGVpZ2h0OiAwLjRlbTtcbiRzZWxlY3QtY2FyZXQtLW1hcmdpbi1sZWZ0OiAwLjVlbTtcbiRzZWxlY3QtY2FyZXQtLWJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiIsIkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gJ251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXI7XG59XG5cbkBtaXhpbiBmb3Jtcy0tbWQtZm9ybS1ncm91cCgkdmFsdWUsICRmbGFncykge1xuICAkbGFiZWwtLWZvbnQtc2l6ZTogdmFsdWUoJGZvcm1ncm91cC1sYWJlbC0tZm9udC1zaXplLCAkZmxhZ3MpO1xuICAkbGFiZWwtLWxpbmUtaGVpZ2h0OiB2YWx1ZSgkZm9ybWdyb3VwLWxhYmVsLS1saW5lLWhlaWdodCwgJGZsYWdzKTtcbiAgJGxhYmVsLS1tYXJnaW4tYm90dG9tOiB2YWx1ZSgkZm9ybWdyb3VwLWxhYmVsLS1tYXJnaW4tYm90dG9tLCAkZmxhZ3MpO1xuICAkbGFiZWwtLWlubmVyLWhlaWdodDogJGxhYmVsLS1mb250LXNpemUgKiAkbGFiZWwtLWxpbmUtaGVpZ2h0O1xuICAkbGFiZWwtLW91dGVyLWhlaWdodDogKHN0cmlwLXVuaXQoJGxhYmVsLS1mb250LXNpemUpICogJGxhYmVsLS1tYXJnaW4tYm90dG9tKSArICRsYWJlbC0taW5uZXItaGVpZ2h0O1xuXG4gIEBpZiAkdmFsdWUge1xuICAgIEBpbmNsdWRlIGRlY2xhcmF0aW9uKHBhZGRpbmctdG9wLCAkbGFiZWwtLW91dGVyLWhlaWdodCwgJGZsYWdzKTtcbiAgICBAaW5jbHVkZSBkZWNsYXJhdGlvbihwb3NpdGlvbiwgcmVsYXRpdmUsICRmbGFncyk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGRlY2xhcmF0aW9uKHBhZGRpbmctdG9wLCAwLCAkZmxhZ3MpO1xuICAgIEBpbmNsdWRlIGRlY2xhcmF0aW9uKHBvc2l0aW9uLCBzdGF0aWMsICRmbGFncyk7XG4gIH1cbn1cblxuXG5AbWl4aW4gZm9ybXMtLW1kLWZvcm0tbGFiZWwoJHZhbHVlLCAkZmxhZ3MpIHtcbiAgJGxhYmVsLS1mb250LXNpemU6IHZhbHVlKCRmb3JtZ3JvdXAtbGFiZWwtLWZvbnQtc2l6ZSwgJGZsYWdzKTtcbiAgJGxhYmVsLS1saW5lLWhlaWdodDogdmFsdWUoJGZvcm1ncm91cC1sYWJlbC0tbGluZS1oZWlnaHQsICRmbGFncyk7XG4gICRsYWJlbC0tbWFyZ2luLWJvdHRvbTogdmFsdWUoJGZvcm1ncm91cC1sYWJlbC0tbWFyZ2luLWJvdHRvbSwgJGZsYWdzKTtcbiAgJGxhYmVsLS1pbm5lci1oZWlnaHQ6ICRsYWJlbC0tZm9udC1zaXplICogJGxhYmVsLS1saW5lLWhlaWdodDtcbiAgJGxhYmVsLS1vdXRlci1oZWlnaHQ6IChzdHJpcC11bml0KCRsYWJlbC0tZm9udC1zaXplKSAqICRsYWJlbC0tbWFyZ2luLWJvdHRvbSkgKyAkbGFiZWwtLWlubmVyLWhlaWdodDtcblxuICAkaW5wdXQtLWZvbnQtc2l6ZTogdmFsdWUoJGZvcm1ncm91cC1pbnB1dC0tZm9udC1zaXplLCAkZmxhZ3MpO1xuICAkaW5wdXQtLWxpbmUtaGVpZ2h0OiB2YWx1ZSgkZm9ybWdyb3VwLWlucHV0LS1saW5lLWhlaWdodCwgJGZsYWdzKTtcblxuICBAaWYgJHZhbHVlIHtcbiAgICBAaW5jbHVkZSBkZWNsYXJhdGlvbihwb3NpdGlvbiwgYWJzb2x1dGUsICRmbGFncyk7XG4gICAgQGluY2x1ZGUgZGVjbGFyYXRpb24odG9wLCAkbGFiZWwtLW91dGVyLWhlaWdodCwgYXBwZW5kKCRmbGFncywgJ1tkYXRhLW1kZm9ybT1cImZvbGRlZFwiJykpO1xuICAgIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGZvbnQtc2l6ZSwgJGlucHV0LS1mb250LXNpemUsIGFwcGVuZCgkZmxhZ3MsICdbZGF0YS1tZGZvcm09XCJmb2xkZWRcIicpKTtcbiAgICBAaW5jbHVkZSBkZWNsYXJhdGlvbihsaW5lLWhlaWdodCwgJGlucHV0LS1saW5lLWhlaWdodCwgYXBwZW5kKCRmbGFncywgJ1tkYXRhLW1kZm9ybT1cImZvbGRlZFwiJykpO1xuXG4gICAgQGluY2x1ZGUgZGVjbGFyYXRpb24odG9wLCAwLCBhcHBlbmQoJGZsYWdzLCAnW2RhdGEtbWRmb3JtPVwidW5mb2xkZWRcIicpKTtcbiAgICBAaW5jbHVkZSBkZWNsYXJhdGlvbihmb250LXNpemUsICRsYWJlbC0tZm9udC1zaXplLCBhcHBlbmQoJGZsYWdzLCAnW2RhdGEtbWRmb3JtPVwidW5mb2xkZWRcIicpKTtcbiAgICBAaW5jbHVkZSBkZWNsYXJhdGlvbihsaW5lLWhlaWdodCwgJGxhYmVsLS1saW5lLWhlaWdodCwgYXBwZW5kKCRmbGFncywgJ1tkYXRhLW1kZm9ybT1cInVuZm9sZGVkXCInKSk7XG4gICAgQGluY2x1ZGUgZGVjbGFyYXRpb24odHJhbnNpdGlvbiwgYWxsIGVhc2UtaW4tb3V0IDIwMG1zLCAkZmxhZ3MpO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBkZWNsYXJhdGlvbihwb3NpdGlvbiwgc3RhdGljLCAkZmxhZ3MpO1xuICB9XG59XG4iLCIkZm9ybWdyb3VwLS1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kZm9ybWdyb3VwLS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcbiRmb3JtZ3JvdXAtLW1hcmdpbi1ib3R0b206IDJlbSAhZGVmYXVsdDtcbiRmb3JtZ3JvdXAtLW1kLWVmZmV0OiAoXG4gICctbWQnOiB0cnVlLFxuKSAhZGVmYXVsdDtcblxuJGZvcm1ncm91cC1sYWJlbC0tZm9udC1zaXplOiAwLjg3NWVtICFkZWZhdWx0O1xuJGZvcm1ncm91cC1sYWJlbC0tZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG4kZm9ybWdyb3VwLWxhYmVsLS1tYXJnaW4tYm90dG9tOiAwLjVlbSAhZGVmYXVsdDtcbiRmb3JtZ3JvdXAtbGFiZWwtLXRleHQtYWxpZ246IG51bGwgIWRlZmF1bHQ7XG4kZm9ybWdyb3VwLWxhYmVsLS1saW5lLWhlaWdodDogMS4xNDMgIWRlZmF1bHQ7XG4kZm9ybWdyb3VwLWxhYmVsLS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRmb3JtZ3JvdXAtbGFiZWwtLWZvbnQtc3R5bGU6IG51bGwgIWRlZmF1bHQ7XG4kZm9ybWdyb3VwLWxhYmVsLS1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcbiRmb3JtZ3JvdXAtbGFiZWwtLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xuXG4kZm9ybWdyb3VwLWlucHV0LS1wYWRkaW5nOiAwIDAgMC41ZW0gIWRlZmF1bHQ7XG4kZm9ybWdyb3VwLWlucHV0LS1mb250LXNpemU6IDFlbSAhZGVmYXVsdDtcbiRmb3JtZ3JvdXAtaW5wdXQtLWxpbmUtaGVpZ2h0OiAxLjI1ICFkZWZhdWx0O1xuJGZvcm1ncm91cC1pbnB1dC0tY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJGZvcm1ncm91cC1pbnB1dC0tYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kZm9ybWdyb3VwLWlucHV0LS1ib3JkZXItd2lkdGg6IDAgMCAwLjA2MjVlbSAwICFkZWZhdWx0O1xuJGZvcm1ncm91cC1pbnB1dC0tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRmb3JtZ3JvdXAtaW5wdXQtLWJvcmRlci1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRmb3JtZ3JvdXAtaW5wdXQtLWJvcmRlci1yYWRpdXM6IG51bGwgIWRlZmF1bHQ7XG4kZm9ybWdyb3VwLWlucHV0LS1ib3gtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuJGZvcm1ncm91cC1pbnB1dC0tZm9udC1zdHlsZTogbnVsbCAhZGVmYXVsdDtcbiRmb3JtZ3JvdXAtaW5wdXQtLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuJGZvcm1ncm91cC1pbnB1dC0tdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XG4kZm9ybWdyb3VwLWlucHV0LS1vdXRsaW5lOiAoXG4gICc6Zm9jdXMnOiAwLFxuKSAhZGVmYXVsdDtcblxuJGZvcm1ncm91cC1oZWxwLS1tYXJnaW46IDAuNWVtIDAgMCAhZGVmYXVsdDtcbiRmb3JtZ3JvdXAtaGVscC0tcGFkZGluZzogbnVsbCAhZGVmYXVsdDtcbiRmb3JtZ3JvdXAtaGVscC0tZm9udC1zaXplOiAwLjhlbSAhZGVmYXVsdDtcbiRmb3JtZ3JvdXAtaGVscC0tbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG4kZm9ybWdyb3VwLWhlbHAtLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJGZvcm1ncm91cC1oZWxwLS1iYWNrZ3JvdW5kLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJGZvcm1ncm91cC1oZWxwLS1iYWNrZ3JvdW5kLWltYWdlOiBudWxsICFkZWZhdWx0O1xuJGZvcm1ncm91cC1oZWxwLS1iYWNrZ3JvdW5kLXBvc2l0aW9uOiBudWxsICFkZWZhdWx0O1xuJGZvcm1ncm91cC1oZWxwLS1iYWNrZ3JvdW5kLXNpemU6IG51bGwgIWRlZmF1bHQ7XG4kZm9ybWdyb3VwLWhlbHAtLWJhY2tncm91bmQtcmVwZWF0OiBudWxsICFkZWZhdWx0O1xuJGZvcm1ncm91cC1oZWxwLS1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XG4kZm9ybWdyb3VwLWhlbHAtLWJvcmRlci1zdHlsZTogbnVsbCAhZGVmYXVsdDtcbiRmb3JtZ3JvdXAtaGVscC0tYm9yZGVyLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJGZvcm1ncm91cC1oZWxwLS1ib3JkZXItcmFkaXVzOiBudWxsICFkZWZhdWx0O1xuJGZvcm1ncm91cC1oZWxwLS1ib3gtc2hhZG93OiBudWxsICFkZWZhdWx0O1xuJGZvcm1ncm91cC1oZWxwLS1mb250LXN0eWxlOiBudWxsICFkZWZhdWx0O1xuJGZvcm1ncm91cC1oZWxwLS1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcbiRmb3JtZ3JvdXAtaGVscC0tdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XG5cbiRjaGVja2JveC0tZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuJGNoZWNrYm94LS1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcbiRjaGVja2JveC0tcGFkZGluZzogbnVsbCAhZGVmYXVsdDtcbiRjaGVja2JveC0tbWFyZ2luOiBudWxsICFkZWZhdWx0O1xuJGNoZWNrYm94LS1mb250LXN0eWxlOiBudWxsICFkZWZhdWx0O1xuJGNoZWNrYm94LS1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcbiRjaGVja2JveC0tdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XG5cbiRjaGVja2JveC1pbmRpY2F0b3ItLXNpemU6IDIwcHggIWRlZmF1bHQ7XG4kY2hlY2tib3gtaW5kaWNhdG9yLS1tYXJnaW46IDAgMTBweCAwIDAgIWRlZmF1bHQ7XG4kY2hlY2tib3gtaW5kaWNhdG9yLS1iYWNrZ3JvdW5kLWNvbG9yOiBncmV5ICFkZWZhdWx0O1xuJGNoZWNrYm94LWluZGljYXRvci0tYmFja2dyb3VuZC1pbWFnZTogbnVsbCAhZGVmYXVsdDtcbiRjaGVja2JveC1pbmRpY2F0b3ItLWJhY2tncm91bmQtcmVwZWF0OiBudWxsICFkZWZhdWx0O1xuJGNoZWNrYm94LWluZGljYXRvci0tYmFja2dyb3VuZC1zaXplOiBudWxsICFkZWZhdWx0O1xuJGNoZWNrYm94LWluZGljYXRvci0tYmFja2dyb3VuZC1wb3NpdGlvbjogbnVsbCAhZGVmYXVsdDtcbiRjaGVja2JveC1pbmRpY2F0b3ItLWJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRjaGVja2JveC1pbmRpY2F0b3ItLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGNoZWNrYm94LWluZGljYXRvci0tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRjaGVja2JveC1pbmRpY2F0b3ItLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kY2hlY2tib3gtaW5kaWNhdG9yLS10cmFuc2l0aW9uLXByb3BlcnR5OiBudWxsICFkZWZhdWx0O1xuJGNoZWNrYm94LWluZGljYXRvci0tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG51bGwgIWRlZmF1bHQ7XG4kY2hlY2tib3gtaW5kaWNhdG9yLS10cmFuc2l0aW9uLWR1cmF0aW9uOiBudWxsICFkZWZhdWx0O1xuJGNoZWNrYm94LWluZGljYXRvci0tYm94LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuJGNoZWNrYm94LWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLWNvbG9yOiBibHVlICFkZWZhdWx0O1xuJGNoZWNrYm94LWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLWltYWdlOiBudWxsICFkZWZhdWx0O1xuJGNoZWNrYm94LWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLXJlcGVhdDogbnVsbCAhZGVmYXVsdDtcbiRjaGVja2JveC1pbmRpY2F0b3ItY2hlY2tlZC0tYmFja2dyb3VuZC1zaXplOiBudWxsICFkZWZhdWx0O1xuJGNoZWNrYm94LWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLXBvc2l0aW9uOiBudWxsICFkZWZhdWx0O1xuJGNoZWNrYm94LWluZGljYXRvci1jaGVja2VkLS1ib3JkZXItY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kY2hlY2tib3gtaW5kaWNhdG9yLWNoZWNrZWQtLWJveC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cblxuJHJhZGlvLS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8tLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuJHJhZGlvLS1wYWRkaW5nOiBudWxsICFkZWZhdWx0O1xuJHJhZGlvLS1tYXJnaW46IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8tLWZvbnQtc3R5bGU6IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8tLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuJHJhZGlvLS10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcblxuJHJhZGlvLWluZGljYXRvci0tc2l6ZTogMjBweCAhZGVmYXVsdDtcbiRyYWRpby1pbmRpY2F0b3ItLW1hcmdpbjogMCAxMHB4IDAgMCAhZGVmYXVsdDtcbiRyYWRpby1pbmRpY2F0b3ItLWJhY2tncm91bmQtY29sb3I6IGdyZXkgIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLS1iYWNrZ3JvdW5kLWltYWdlOiBudWxsICFkZWZhdWx0O1xuJHJhZGlvLWluZGljYXRvci0tYmFja2dyb3VuZC1yZXBlYXQ6IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLS1iYWNrZ3JvdW5kLXNpemU6IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLS1iYWNrZ3JvdW5kLXBvc2l0aW9uOiBudWxsICFkZWZhdWx0O1xuJHJhZGlvLWluZGljYXRvci0tYm9yZGVyLXJhZGl1czogMjBweCAhZGVmYXVsdDtcbiRyYWRpby1pbmRpY2F0b3ItLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJHJhZGlvLWluZGljYXRvci0tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRyYWRpby1pbmRpY2F0b3ItLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLS10cmFuc2l0aW9uLXByb3BlcnR5OiBudWxsICFkZWZhdWx0O1xuJHJhZGlvLWluZGljYXRvci0tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLS10cmFuc2l0aW9uLWR1cmF0aW9uOiBudWxsICFkZWZhdWx0O1xuJHJhZGlvLWluZGljYXRvci0tYm94LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcblxuJHJhZGlvLWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLWNvbG9yOiBibHVlICFkZWZhdWx0O1xuJHJhZGlvLWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLWltYWdlOiBudWxsICFkZWZhdWx0O1xuJHJhZGlvLWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLXJlcGVhdDogbnVsbCAhZGVmYXVsdDtcbiRyYWRpby1pbmRpY2F0b3ItY2hlY2tlZC0tYmFja2dyb3VuZC1zaXplOiBudWxsICFkZWZhdWx0O1xuJHJhZGlvLWluZGljYXRvci1jaGVja2VkLS1iYWNrZ3JvdW5kLXBvc2l0aW9uOiBudWxsICFkZWZhdWx0O1xuJHJhZGlvLWluZGljYXRvci1jaGVja2VkLS1ib3JkZXItY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kcmFkaW8taW5kaWNhdG9yLWNoZWNrZWQtLWJveC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XG5cblxuXG4kc2VsZWN0LS1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2VsZWN0LS1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kc2VsZWN0LS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcbiRzZWxlY3QtLWJvcmRlci1yYWRpdXM6IDAuMTg3NWVtICFkZWZhdWx0O1xuJHNlbGVjdC0tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kc2VsZWN0LS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHNlbGVjdC0tYm9yZGVyLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHNlbGVjdC0tYm94LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcbiRzZWxlY3QtLXdpZHRoOiBudWxsICFkZWZhdWx0O1xuJHNlbGVjdC0taGVpZ2h0OiBudWxsICFkZWZhdWx0O1xuJHNlbGVjdC0tbWFyZ2luOiBudWxsICFkZWZhdWx0O1xuJHNlbGVjdC0tcGFkZGluZy14OiAxZW0gIWRlZmF1bHQ7XG4kc2VsZWN0LS1wYWRkaW5nLXk6IDAuNWVtICFkZWZhdWx0O1xuJHNlbGVjdC0tbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRzZWxlY3QtLWJhY2tncm91bmQtY29sb3I6ICNlZWUgIWRlZmF1bHQ7XG4kc2VsZWN0LS1jdXJzb3I6IHBvaW50ZXIgIWRlZmF1bHQ7XG5cbiRzZWxlY3QtY2FyZXQtLW1ldGhvZDogJ2Nzcyc7IC8vICdpbWFnZScgb3IgJ2NzcydcbiRzZWxlY3QtY2FyZXQtLXdpZHRoOiAwLjdlbTtcbiRzZWxlY3QtY2FyZXQtLWhlaWdodDogMC40ZW07XG4kc2VsZWN0LWNhcmV0LS1tYXJnaW4tbGVmdDogMC41ZW07XG4kc2VsZWN0LWNhcmV0LS1iYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4iLCJAbWl4aW4gZm9ybXMtLWNoZWNrYm94LW5hdGl2ZS1tYXJnaW4oJHZhbHVlLCAkZmxhZ3MpIHtcbiAgQGluY2x1ZGUgZGVjbGFyYXRpb24obWFyZ2luLCAoJHZhbHVlIC8gMiksICRmbGFncyk7XG59XG4iLCJAbWl4aW4gZm9ybXMtLXNlbGVjdC1jYXJldC1zd2l0Y2goJHZhbHVlLCAkZmxhZ3MpIHtcbiAgJHdpZHRoOiB2YWx1ZSgkc2VsZWN0LWNhcmV0LS13aWR0aCwgJGZsYWdzKTtcbiAgJGhlaWdodDogdmFsdWUoJHNlbGVjdC1jYXJldC0taGVpZ2h0LCAkZmxhZ3MpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogdmFsdWUoJHNlbGVjdC1jYXJldC0tYmFja2dyb3VuZC1jb2xvciwgJGZsYWdzKTtcblxuXG4gIEBpZiAkdmFsdWUgPT0gJ2ltYWdlJyB7XG4gICAgQGluY2x1ZGUgZGVjbGFyYXRpb24od2lkdGgsICR3aWR0aCwgJGZsYWdzKTtcbiAgICBAaW5jbHVkZSBkZWNsYXJhdGlvbihoZWlnaHQsICRoZWlnaHQsICRmbGFncyk7XG4gICAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYmFja2dyb3VuZC1jb2xvciwgJGJhY2tncm91bmQtY29sb3IsICRmbGFncyk7XG4gICAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm9yZGVyLWxlZnQsIDApO1xuICAgIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJvcmRlci1yaWdodCwgMCk7XG4gICAgQGluY2x1ZGUgZGVjbGFyYXRpb24oYm9yZGVyLXRvcCwgMCk7XG4gIH0gQGVsc2VpZiAkdmFsdWUgPT0gJ2Nzcycge1xuICAgIEBpbmNsdWRlIGRlY2xhcmF0aW9uKHdpZHRoLCAwLCAkZmxhZ3MpO1xuICAgIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGhlaWdodCwgMCwgJGZsYWdzKTtcbiAgICBAaW5jbHVkZSBkZWNsYXJhdGlvbihib3JkZXItbGVmdCwgKCR3aWR0aCAvIDIpIHNvbGlkIHRyYW5zcGFyZW50LCAkZmxhZ3MpO1xuICAgIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJvcmRlci1yaWdodCwgKCR3aWR0aCAvIDIpIHNvbGlkIHRyYW5zcGFyZW50LCAkZmxhZ3MpO1xuICAgIEBpbmNsdWRlIGRlY2xhcmF0aW9uKGJvcmRlci10b3AsICRoZWlnaHQgc29saWQgJGJhY2tncm91bmQtY29sb3IsICRmbGFncyk7XG4gIH1cbn1cblxuQG1peGluIGZvcm1zLS1zZWxlY3QtY2FyZXQtbWFyZ2luLXRvcCgkdmFsdWUsICRmbGFncykge1xuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihtYXJnaW4tdG9wLCAoLSR2YWx1ZSAvIDIpLCAkZmxhZ3MpO1xufVxuXG5AbWl4aW4gZm9ybXMtLXNlbGVjdC1wYWRkaW5nLXJpZ2h0KCR2YWx1ZSwgJGZsYWdzKSB7XG4gICRwYWRkaW5nLXJpZ2h0OiAkdmFsdWU7XG4gICRjYXJldC0td2lkdGg6IHZhbHVlKCRzZWxlY3QtY2FyZXQtLXdpZHRoLCAkZmxhZ3MpO1xuICAkY2FyZXQtLW1hcmdpbi1sZWZ0OiB2YWx1ZSgkc2VsZWN0LWNhcmV0LS1tYXJnaW4tbGVmdCwgJGZsYWdzKTtcblxuICBAaW5jbHVkZSBkZWNsYXJhdGlvbihwYWRkaW5nLXJpZ2h0LCAkY2FyZXQtLW1hcmdpbi1sZWZ0ICsgJGNhcmV0LS13aWR0aCArICRwYWRkaW5nLXJpZ2h0LCAkZmxhZ3MpO1xufVxuIiwiQGltcG9ydCAnLi9zZWxlY3Rvcic7XG5cbkBtaXhpbiBtZWRpYSgkYnJlYWtwb2ludCkge1xuICAkaXMtYnJlYWtwb2ludC12YWxpZDogaW5kZXgoKCd4cycsICdsZycpLCAkYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkaXMtYnJlYWtwb2ludC12YWxpZCB7XG4gICAgQGVycm9yICdUaGUgbWl4aW4gbWVkaWEoKSBtdXN0IGhhdmUgYSBwYXJhbWV0ZXIgdGhhdCBjYW4gb25seSBiZSBcInhzXCIgb3IgXCJsZ1wiJztcbiAgfVxuXG4gICN7cHJlZml4ZWQtc2VsZWN0b3IoJ3dpZGdldC0tI3skYnJlYWtwb2ludH0nKX0gJiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3V0aWxzL3NlbGVjdG9yJztcbkBpbXBvcnQgJy4uLy4uL3V0aWxzL3NpemVzJztcblxuQGltcG9ydCAnLi92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy90cm93ZWwtZm9ybXMvc3JjL3Njc3MvZm9ybXMnO1xuXG4je3ByZWZpeGVkLXNlbGVjdG9yKCduYXZiYXInKX0gI3twcmVmaXhlZC1zZWxlY3Rvcignc2VsZWN0Jyl9IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3hzJykge1xuICAgIG1heC13aWR0aDogcmVtKDUpO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi91dGlscy9zZWxlY3Rvcic7XG5AaW1wb3J0ICcuLi8uLi91dGlscy9jb2xvcnMnO1xuQGltcG9ydCAnLi4vLi4vdXRpbHMvcmVzcG9uc2l2ZSc7XG5cbkBpbXBvcnQgJy4vdmFyaWFibGVzJztcblxuI3twcmVmaXhlZC1zZWxlY3RvcignbmF2YmFyJyl9IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuI3twcmVmaXhlZC1zZWxlY3RvcignbmF2YmFyLS1jZW50ZXInKX0ge1xuICBAaW5jbHVkZSBtZWRpYSgnbGcnKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cblxuI3twcmVmaXhlZC1zZWxlY3RvcignbmF2YmFyJyl9ID4gKjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAkbmF2YmFyLS1ndXR0ZXI7XG59XG4iLCIkbmF2YmFyLS1ndXR0ZXI6IDFlbTtcbiIsIkBpbXBvcnQgJy4uLy4uL3V0aWxzL3NlbGVjdG9yJztcbkBpbXBvcnQgJy4uLy4uL3V0aWxzL2NvbG9ycyc7XG5AaW1wb3J0ICcuLi8uLi91dGlscy9zaXplcyc7XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ2RlbGV0ZS1maWx0ZXInKX0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiByZW0oMC42MjUpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI3twcmVmaXhlZC1zZWxlY3RvcignZGVsZXRlLWZpbHRlcl9fbGFiZWwnKX0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICN7cHJlZml4ZWQtc2VsZWN0b3IoJ2RlbGV0ZS1maWx0ZXInKX06aG92ZXIgJiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuI3twcmVmaXhlZC1zZWxlY3RvcignZGVsZXRlLWZpbHRlcl9fYnRuJyl9IHtcbiAgJHNpemU6IDEuNmVtO1xuICB3aWR0aDogJHNpemU7XG4gIGhlaWdodDogJHNpemU7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLCA1MCUpO1xuICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAje3ByZWZpeGVkLXNlbGVjdG9yKCdkZWxldGUtZmlsdGVyJyl9OmhvdmVyICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgY29sb3I6IGRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLCA1MCUpO1xuICB9XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ2RlbGV0ZS1maWx0ZXJfX2ljJyl9IHtcbiAgJHNpemU6IDFlbTtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIG1hcmdpbjogMC4xNWVtO1xufVxuIiwiQGltcG9ydCAnLi4vLi4vdXRpbHMvc2VsZWN0b3InO1xuQGltcG9ydCAnLi4vLi4vdXRpbHMvc2l6ZXMnO1xuXG4je3ByZWZpeGVkLXNlbGVjdG9yKCdpY29uZWQtY29udGVudCcpfSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogcmVtKDAuNzUpO1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cblxuI3twcmVmaXhlZC1zZWxlY3RvcignaWNvbmVkLWNvbnRlbnRfX2ljLXdyYXBwZXInKX0ge1xuICBmb250LXNpemU6IDA7XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ2ljb25lZC1jb250ZW50Jyl9IHN2ZyB7XG4gICRzaXplOiByZW0oMC43NSk7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgd2lkdGg6ICRzaXplO1xuICBoZWlnaHQ6ICRzaXplO1xufVxuXG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ2ljb25lZC1jb250ZW50X19jb250ZW50LXdyYXBwZXInKX0ge1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ2ljb25lZC1jb250ZW50X19jb250ZW50LXdyYXBwZXItLWJvbGQnKX0ge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3V0aWxzL3NlbGVjdG9yJztcbkBpbXBvcnQgJy4uLy4uL3V0aWxzL3NpemVzJztcbkBpbXBvcnQgJy4uLy4uL3V0aWxzL2NvbG9ycyc7XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ2Fuc3dlcicpfSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gIGZvbnQtc2l6ZTogcmVtKDAuOSk7XG4gIHBhZGRpbmc6IDFlbTtcbn1cblxuI3twcmVmaXhlZC1zZWxlY3RvcignYW5zd2VyX19oZWFkZXInKX0ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ2Fuc3dlcl9fYm9keScpfSB7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cblxuI3twcmVmaXhlZC1zZWxlY3RvcignYW5zd2VyX19mb290ZXInKX0ge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1zaXplOiByZW0oMC42Nik7XG59XG4iLCJAaW1wb3J0ICcuLi8uLi91dGlscy9zZWxlY3Rvcic7XG5AaW1wb3J0ICcuLi8uLi91dGlscy9jb2xvcnMnO1xuQGltcG9ydCAnLi4vLi4vdXRpbHMvcmVzcG9uc2l2ZSc7XG5AaW1wb3J0ICcuLi8uLi91dGlscy9zaXplcyc7XG5cbkBpbXBvcnQgJy4vdmFyaWFibGVzJztcblxuI3twcmVmaXhlZC1zZWxlY3RvcigncGFnaW5hdGlvbicpfSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogcmVtKDEpO1xuICBtYXJnaW4tbGVmdDogLSRwYWdpbmF0aW9uLS1ndXR0ZXI7XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3BhZ2luYXRpb24tLWV4cGFuZGVkJyl9IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ2xnJykge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3BhZ2luYXRpb24nKX0gPiAqIHtcbiAgbWFyZ2luLWxlZnQ6ICRwYWdpbmF0aW9uLS1ndXR0ZXI7XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3BhZ2luYXRpb25fX2xhYmVsJyl9IHtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICN7cHJlZml4ZWQtc2VsZWN0b3IoJ3BhZ2luYXRpb24tLWV4cGFuZGVkJyl9ICYge1xuICAgIEBpbmNsdWRlIG1lZGlhKCdsZycpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3BhZ2luYXRpb25fX3NwZWNpZmljLXBhZ2UnKX0ge1xuICBkaXNwbGF5OiBub25lO1xuICAje3ByZWZpeGVkLXNlbGVjdG9yKCdwYWdpbmF0aW9uLS1leHBhbmRlZCcpfSAmIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnbGcnKSB7XG4gICAgICBkaXNwbGF5OiBpbml0aWFsO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vdXRpbHMvc2VsZWN0b3InO1xuQGltcG9ydCAnLi4vLi4vdXRpbHMvc2l6ZXMnO1xuQGltcG9ydCAnLi4vLi4vdXRpbHMvY29sb3JzJztcbkBpbXBvcnQgJy4uLy4uL3V0aWxzL3Jlc3BvbnNpdmUnO1xuXG4je3ByZWZpeGVkLXNlbGVjdG9yKCdzZXBhcmF0aW9uJyl9IHtcbiAgJG1hcmdpbi15OiByZW0oMS4yNSk7XG4gIGJvcmRlci10b3AtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gIGJvcmRlci10b3Atd2lkdGg6IDJweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgbWFyZ2luLXRvcDogJG1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXk7XG59XG4iLCJAaW1wb3J0ICcuLi8uLi91dGlscy9zZWxlY3Rvcic7XG5AaW1wb3J0ICcuLi8uLi91dGlscy9zaXplcyc7XG5AaW1wb3J0ICcuLi8uLi91dGlscy9jb2xvcnMnO1xuQGltcG9ydCAnLi4vLi4vdXRpbHMvcmVzcG9uc2l2ZSc7XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ2FjY29yZGlvbicpfSB7XG4gIGZvbnQtc2l6ZTogcmVtKDEpO1xufVxuXG4je3ByZWZpeGVkLXNlbGVjdG9yKCdhY2NvcmRpb25fX3RpdGxlJyl9IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ2xnJykge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZS13aWR0aDogMDtcbiAgfVxufVxuXG4je3ByZWZpeGVkLXNlbGVjdG9yKCdhY2NvcmRpb25fX3RpdGxlJyl9OjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiAwLjMxMjVlbSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1sZWZ0OiAwLjMxMjVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwLjMxMjVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ2xnJykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAje3ByZWZpeGVkLXNlbGVjdG9yKCdhY2NvcmRpb24tLWlzLW9wZW4nKX0gJiB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAwLjMxMjVlbSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIH1cbn1cblxuI3twcmVmaXhlZC1zZWxlY3RvcignYWNjb3JkaW9uX19zdWItdGl0bGUnKX0ge1xuICBmb250LXNpemU6IDAuOGVtO1xuICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG4je3ByZWZpeGVkLXNlbGVjdG9yKCdhY2NvcmRpb25fX2JvZHknKX0ge1xuICBAaW5jbHVkZSBtZWRpYSgneHMnKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICN7cHJlZml4ZWQtc2VsZWN0b3IoJ2FjY29yZGlvbi0taXMtb3BlbicpfSAmIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgneHMnKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3V0aWxzL3NlbGVjdG9yJztcblxuI3twcmVmaXhlZC1zZWxlY3Rvcignc2VwYXJhdGVkJyl9ICsgI3twcmVmaXhlZC1zZWxlY3Rvcignc2VwYXJhdGVkJyl9OjpiZWZvcmUge1xuICBjb250ZW50OiAnIC0gJztcbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3V0aWxzL3NlbGVjdG9yJztcbkBpbXBvcnQgJy4uLy4uL3V0aWxzL2NvbG9ycyc7XG5AaW1wb3J0ICcuLi8uLi91dGlscy9yZXNwb25zaXZlJztcblxuI3twcmVmaXhlZC1zZWxlY3Rvcignd2lkZ2V0LWxheW91dCcpfSB7XG4gIEBpbmNsdWRlIG1lZGlhKCdsZycpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3dpZGdldC1sYXlvdXRfX3NpZGViYXInKX0ge1xuICBAaW5jbHVkZSBtZWRpYSgnbGcnKSB7XG4gICAgbWluLXdpZHRoOiByZW0oMTYuMjUpO1xuICB9XG59XG5cbiN7cHJlZml4ZWQtc2VsZWN0b3IoJ3dpZGdldC1sYXlvdXRfX2NvbnRlbnQnKX0ge1xuICBAaW5jbHVkZSBtZWRpYSgnbGcnKSB7XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW4tbGVmdDogcmVtKDEuNSk7XG4gIH1cbn1cbiJdfQ== */
