master-control 0.4.9 → 0.4.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -804,7 +804,7 @@ export class AnnuityPremiumCalculatorComponent {
804
804
  }
805
805
  }
806
806
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnnuityPremiumCalculatorComponent, deps: [{ token: i1.MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
807
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: AnnuityPremiumCalculatorComponent, isStandalone: true, selector: "lib-annuity-premium-calculator", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, premiumDetails: { classPropertyName: "premiumDetails", publicName: "premiumDetails", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCalcualteButtonClick: "onCalcualteButtonClick", onGenerateSummaryClick: "onGenerateSummaryClick", onAnnuityPremiumChange: "onAnnuityPremiumChange", onMinimumPremiumValueChange: "onMinimumPremiumValueChange", onAutioDebitValueChange: "onAutioDebitValueChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"card px-3\" style=\"padding: 16px;\">\r\n <div class=\"row\">\r\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's your Premium to Annuity Calculator</h4>\r\n </div>\r\n <!-- <div class=\"row\"> -->\r\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\r\n <!-- <div class=\"custom-grid-template\">\r\n\r\n </div> -->\r\n\r\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\r\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\r\n </div>\r\n <!-- </div> -->\r\n <div class=\" col-12\" style=\"\r\n justify-content: center;\r\n flex-direction: row;\r\n display: flex;\r\n\">\r\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\r\n <lib-select-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium\" (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\r\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\r\n Enter Premium\r\n </div>\r\n <div>\r\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\" (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\r\n </div>\r\n </div>\r\n <div class=\"col-2 col-lg-2 d-flex justify-content-center align-items-center\" style=\"display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative;\">\r\n <!-- Vertical center line split around icon -->\r\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px;height: calc(50% - 16px); top: 0; background: rgba(221, 221, 221, 1)\"></div>\r\n <lib-icon-button [field]=\"interchangeButtonObj\" />\r\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% - 16px); bottom: 0; background: rgba(221, 221, 221, 1)\"></div>\r\n </div>\r\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\r\n <lib-select-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout\" (ngModelChange)=\"onMinPremiumValueChange($event)\" />\r\n <div class=\"minium-annuity mt-3\">\r\n <div class=\"annuity-msg w-100 px-2 py-1\">\r\n Value based on assumed 10% annual growth of Nifty 50 index.\r\n </div>\r\n <div class=\"w-100 px-2 py-1\">\r\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\" (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\r\n </div>\r\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\r\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\" style=\"max-width: 24px;\" />\r\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\r\n</div>\r\n</div>\r\n\r\n </div>\r\n </div>\r\n <!-- <div class=\"vertical-line\"></div> -->\r\n <!-- <div class=\"custom-grid-template\">\r\n <div>\r\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\" (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\r\n </div>\r\n </div> -->\r\n\r\n </div>\r\n\r\n\r\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\r\n <div class=\"mx-4\">\r\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\r\n <div class=\"card mb-0 mt-2\" style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \">\r\n <div class=\"mx-4\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\" style=\"margin-left: 3px;\"/>\r\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\"/>\r\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\r\n </div>\r\n <!-- annuity calculator table -->\r\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <div class=\"d-flex flex-row annuity-tables-container\">\r\n <!-- Table 1 -->\r\n <div class=\"annuity-calculator-table1\">\r\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-cell\"><span class=\"rupee-icon\">\u20B9</span><span style=\"font-size:12px; color: rgba(68, 68, 68, 1);\"><{{annuityTableCalculator.annuitycalculatorTable1val1}}></span></div>\r\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"operator-symbol\">+</div>\r\n\r\n <!-- Table 2 -->\r\n <div class=\"annuity-calculator-table2\">\r\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\">&#64;{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\r\n <div class=\"table-row\">&#64;{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\r\n <div class=\"table-row\">&#64;{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- Table 3 -->\r\n <div class=\"annuity-calculator-table3\">\r\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\r\n <div class=\"table-row\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\r\n <div class=\"table-row\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"operator-symbol\">=</div>\r\n\r\n <!-- Table 4 -->\r\n <div class=\"annuity-calculator-table4\">\r\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect your variable annuity payout and total annuity payout.\r\n </div>\r\n\r\n <div>\r\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\r\n </div>\r\n</div>\r\n", styles: [".card-main-title{font-size:16px;font-family:Mulish!important;letter-spacing:0px!important;font-weight:800;line-height:24px;padding-bottom:16px}.col-5-5{flex:0 0 auto;max-width:44.16666667%}.custom-grid-template{display:grid;grid-template-columns:4fr .5fr 4fr;align-items:end}.vertical-line{border-left:2px solid #ccc;height:100px;margin:0 10px}.error-message{font-size:12px;font-weight:500;color:#e00;letter-spacing:0px}.annuity-msg{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e5f0fa;height:fit-content}.annuity-msg-1{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e6f7f3;height:fit-content;flex-wrap:nowrap!important}.annuity-tables-main-container{border:2px solid rgba(221,221,221,1);border-radius:8px;display:flex}.annuity-tables-container{display:flex;align-items:stretch;gap:0;width:100%}.annuity-calculator-table1,.annuity-calculator-table2,.annuity-calculator-table3,.annuity-calculator-table4{display:flex;flex-direction:column;height:100%;flex:1;color:#444;font-weight:400;font-size:10px}.annuity-calculator-table1{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table2{border-left:1px solid rgba(221,221,221,1);border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table3{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table4{border-left:1px solid rgba(221,221,221,1)}.table-header{padding:12px;font-size:10px;font-weight:700;text-align:center;border-bottom:1px solid rgba(221,221,221,1);height:60px;display:flex;align-items:center;justify-content:center;word-wrap:break-word;word-break:break-word;hyphens:auto}.annuitytable1-header{background-color:#ececec;color:#444}.annuitytable4-header{background-color:#fb03;color:#444}.table-body{display:flex;flex-direction:column;flex:1}.table-cell{padding:12px;text-align:center;font-size:16px;font-weight:600;flex:1;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px}.table-row{padding:12px;text-align:center;font-size:14px;font-weight:500;background-color:#fff;border-bottom:1px solid #999;flex:1;display:flex;align-items:center;justify-content:center}.table-row:last-child{border-bottom:none}.annuitytable4-bg{background-color:#e6f7f3!important;color:#444}.annuitytable-button{background-color:#ececec;border:none;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;cursor:pointer;margin-top:0;width:auto;min-width:30%;max-width:90%;height:24px;display:block;margin-left:auto;margin-right:auto;position:relative;bottom:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rupee-icon{font-weight:700;margin-right:2px;font-size:12px;color:#444}.operator-symbol{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;padding:0 16px;color:#f90}.annuity-calculator-paragraph{padding:16px 8px 4px;font-size:10px;margin:0 0 20px auto;width:73%;font-weight:400;color:#444;background-color:#ebf1ff}.annuity-calculator-paragraph1{font-weight:700;font-size:10px}.minium-annuity{display:flex;flex-direction:column}@media (max-width: 991px) and (min-width: 768px){.table-header{padding:8px 4px;font-size:9px;line-height:1.1}}@media (max-width: 767px) and (min-width: 576px){.table-header{padding:10px 6px;font-size:9px}}@media (max-width: 575px){.table-header{padding:8px 4px;font-size:8px}}@media (max-width: 575px){.annuity-msg{font-size:10px;line-height:1;height:fit-content}}@media (max-width: 575px){.annuity-msg-1{font-size:10px;line-height:1;flex-wrap:nowrap!important;height:fit-content}.annuity-msg-1 .img{width:4px;height:4px}}@media (max-width: 991px) and (min-width: 768px){.annuity-msg,.annuity-msg-1{font-size:9px;line-height:1.1;height:fit-content}}@media (max-width: 767px) and (min-width: 576px){.annuity-msg,.annuity-msg-1{font-size:10px;line-height:1.1;height:fit-content}}\n"], dependencies: [{ kind: "component", type: ToggleComponent, selector: "lib-toggle", inputs: ["field", "reactiveFormControlobject"], outputs: ["change"] }, { kind: "component", type: SelectTextboxComponent, selector: "lib-select-textbox", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["field"] }, { kind: "component", type: IconButtonComponent, selector: "lib-icon-button", inputs: ["field"] }, { kind: "component", type: RadioComponent, selector: "lib-radio", inputs: ["reactiveFormControlobject", "field"], outputs: ["change"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
807
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: AnnuityPremiumCalculatorComponent, isStandalone: true, selector: "lib-annuity-premium-calculator", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, premiumDetails: { classPropertyName: "premiumDetails", publicName: "premiumDetails", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCalcualteButtonClick: "onCalcualteButtonClick", onGenerateSummaryClick: "onGenerateSummaryClick", onAnnuityPremiumChange: "onAnnuityPremiumChange", onMinimumPremiumValueChange: "onMinimumPremiumValueChange", onAutioDebitValueChange: "onAutioDebitValueChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"card px-3\" style=\"padding: 16px;\">\r\n <div class=\"row\">\r\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's your Premium to Annuity Calculator</h4>\r\n </div>\r\n <!-- <div class=\"row\"> -->\r\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\r\n <!-- <div class=\"custom-grid-template\">\r\n\r\n </div> -->\r\n\r\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\r\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\r\n </div>\r\n <!-- </div> -->\r\n <div class=\" col-12\" style=\"\r\n justify-content: center;\r\n flex-direction: row;\r\n display: flex;\r\n\">\r\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\r\n <lib-select-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium\" (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\r\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\r\n Enter Premium\r\n </div>\r\n <div>\r\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\" (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\r\n </div>\r\n </div>\r\n <div class=\"col-2 col-lg-2 d-flex justify-content-center align-items-center\" style=\"display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative;\">\r\n <!-- Vertical center line split around icon -->\r\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px;height: calc(50% - 16px); top: 0; background: rgba(221, 221, 221, 1)\"></div>\r\n <lib-icon-button [field]=\"interchangeButtonObj\" />\r\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% - 16px); bottom: 0; background: rgba(221, 221, 221, 1)\"></div>\r\n </div>\r\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\r\n <lib-select-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout\" (ngModelChange)=\"onMinPremiumValueChange($event)\" />\r\n <div class=\"minium-annuity mt-3\">\r\n <div class=\"annuity-msg w-100 px-2 py-1\">\r\n Value based on assumed 10% annual growth of Nifty 50 index.\r\n </div>\r\n <div class=\"w-100 px-2 py-1\">\r\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\" (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\r\n </div>\r\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\r\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\" style=\"max-width: 24px;\" />\r\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\r\n</div>\r\n</div>\r\n\r\n </div>\r\n </div>\r\n <div class=\"vertical-line\"></div>\r\n <div class=\"custom-grid-template\">\r\n <div>\r\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\" (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\r\n <div class=\"mx-4\">\r\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\r\n <div class=\"card mb-0 mt-2\" style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \">\r\n <div class=\"mx-4\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\" style=\"margin-left: 3px;\"/>\r\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\"/>\r\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\r\n </div>\r\n <!-- annuity calculator table -->\r\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <div class=\"d-flex flex-row annuity-tables-container\">\r\n <!-- Table 1 -->\r\n <div class=\"annuity-calculator-table1\">\r\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-cell\"><span class=\"rupee-icon\">\u20B9</span><span style=\"font-size:12px; color: rgba(68, 68, 68, 1);\"><{{annuityTableCalculator.annuitycalculatorTable1val1}}></span></div>\r\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"operator-symbol\">+</div>\r\n\r\n <!-- Table 2 -->\r\n <div class=\"annuity-calculator-table2\">\r\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\">&#64;{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\r\n <div class=\"table-row\">&#64;{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\r\n <div class=\"table-row\">&#64;{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- Table 3 -->\r\n <div class=\"annuity-calculator-table3\">\r\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\r\n <div class=\"table-row\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\r\n <div class=\"table-row\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"operator-symbol\">=</div>\r\n\r\n <!-- Table 4 -->\r\n <div class=\"annuity-calculator-table4\">\r\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect your variable annuity payout and total annuity payout.\r\n </div>\r\n\r\n <div>\r\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\r\n </div>\r\n</div>\r\n", styles: [".card-main-title{font-size:16px;font-family:Mulish!important;letter-spacing:0px!important;font-weight:800;line-height:24px;padding-bottom:16px}.col-5-5{flex:0 0 auto;max-width:44.16666667%}.custom-grid-template{display:grid;grid-template-columns:4fr .5fr 4fr;align-items:end}.vertical-line{border-left:2px solid #ccc;height:100px;margin:0 10px}.error-message{font-size:12px;font-weight:500;color:#e00;letter-spacing:0px}.annuity-msg{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e5f0fa;height:fit-content}.annuity-msg-1{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e6f7f3;height:fit-content;flex-wrap:nowrap!important}.annuity-tables-main-container{border:2px solid rgba(221,221,221,1);border-radius:8px;display:flex}.annuity-tables-container{display:flex;align-items:stretch;gap:0;width:100%}.annuity-calculator-table1,.annuity-calculator-table2,.annuity-calculator-table3,.annuity-calculator-table4{display:flex;flex-direction:column;height:100%;flex:1;color:#444;font-weight:400;font-size:10px}.annuity-calculator-table1{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table2{border-left:1px solid rgba(221,221,221,1);border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table3{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table4{border-left:1px solid rgba(221,221,221,1)}.table-header{padding:12px;font-size:10px;font-weight:700;text-align:center;border-bottom:1px solid rgba(221,221,221,1);height:60px;display:flex;align-items:center;justify-content:center;word-wrap:break-word;word-break:break-word;hyphens:auto}.annuitytable1-header{background-color:#ececec;color:#444}.annuitytable4-header{background-color:#fb03;color:#444}.table-body{display:flex;flex-direction:column;flex:1}.table-cell{padding:12px;text-align:center;font-size:16px;font-weight:600;flex:1;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px}.table-row{padding:12px;text-align:center;font-size:14px;font-weight:500;background-color:#fff;border-bottom:1px solid #999;flex:1;display:flex;align-items:center;justify-content:center}.table-row:last-child{border-bottom:none}.annuitytable4-bg{background-color:#e6f7f3!important;color:#444}.annuitytable-button{background-color:#ececec;border:none;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;cursor:pointer;margin-top:0;width:auto;min-width:30%;max-width:90%;height:24px;display:block;margin-left:auto;margin-right:auto;position:relative;bottom:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rupee-icon{font-weight:700;margin-right:2px;font-size:12px;color:#444}.operator-symbol{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;padding:0 16px;color:#f90}.annuity-calculator-paragraph{padding:16px 8px 4px;font-size:10px;margin:0 0 20px auto;width:73%;font-weight:400;color:#444;background-color:#ebf1ff}.annuity-calculator-paragraph1{font-weight:700;font-size:10px}.minium-annuity{display:flex;flex-direction:column}@media (max-width: 991px) and (min-width: 768px){.table-header{padding:8px 4px;font-size:9px;line-height:1.1}}@media (max-width: 767px) and (min-width: 576px){.table-header{padding:10px 6px;font-size:9px}}@media (max-width: 575px){.table-header{padding:8px 4px;font-size:8px}}@media (max-width: 575px){.annuity-msg{font-size:10px;line-height:1;height:fit-content}}@media (max-width: 575px){.annuity-msg-1{font-size:10px;line-height:1;flex-wrap:nowrap!important;height:fit-content}.annuity-msg-1 .img{width:4px;height:4px}}@media (max-width: 991px) and (min-width: 768px){.annuity-msg,.annuity-msg-1{font-size:9px;line-height:1.1;height:fit-content}}@media (max-width: 767px) and (min-width: 576px){.annuity-msg,.annuity-msg-1{font-size:10px;line-height:1.1;height:fit-content}}\n"], dependencies: [{ kind: "component", type: ToggleComponent, selector: "lib-toggle", inputs: ["field", "reactiveFormControlobject"], outputs: ["change"] }, { kind: "component", type: SelectTextboxComponent, selector: "lib-select-textbox", inputs: ["field", "reactiveFormControlobject"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["field"] }, { kind: "component", type: IconButtonComponent, selector: "lib-icon-button", inputs: ["field"] }, { kind: "component", type: RadioComponent, selector: "lib-radio", inputs: ["reactiveFormControlobject", "field"], outputs: ["change"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
808
808
  }
809
809
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnnuityPremiumCalculatorComponent, decorators: [{
810
810
  type: Component,
@@ -816,7 +816,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
816
816
  RadioComponent,
817
817
  CommonModule,
818
818
  FormsModule
819
- ], template: "<div class=\"card px-3\" style=\"padding: 16px;\">\r\n <div class=\"row\">\r\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's your Premium to Annuity Calculator</h4>\r\n </div>\r\n <!-- <div class=\"row\"> -->\r\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\r\n <!-- <div class=\"custom-grid-template\">\r\n\r\n </div> -->\r\n\r\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\r\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\r\n </div>\r\n <!-- </div> -->\r\n <div class=\" col-12\" style=\"\r\n justify-content: center;\r\n flex-direction: row;\r\n display: flex;\r\n\">\r\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\r\n <lib-select-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium\" (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\r\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\r\n Enter Premium\r\n </div>\r\n <div>\r\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\" (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\r\n </div>\r\n </div>\r\n <div class=\"col-2 col-lg-2 d-flex justify-content-center align-items-center\" style=\"display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative;\">\r\n <!-- Vertical center line split around icon -->\r\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px;height: calc(50% - 16px); top: 0; background: rgba(221, 221, 221, 1)\"></div>\r\n <lib-icon-button [field]=\"interchangeButtonObj\" />\r\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% - 16px); bottom: 0; background: rgba(221, 221, 221, 1)\"></div>\r\n </div>\r\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\r\n <lib-select-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout\" (ngModelChange)=\"onMinPremiumValueChange($event)\" />\r\n <div class=\"minium-annuity mt-3\">\r\n <div class=\"annuity-msg w-100 px-2 py-1\">\r\n Value based on assumed 10% annual growth of Nifty 50 index.\r\n </div>\r\n <div class=\"w-100 px-2 py-1\">\r\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\" (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\r\n </div>\r\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\r\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\" style=\"max-width: 24px;\" />\r\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\r\n</div>\r\n</div>\r\n\r\n </div>\r\n </div>\r\n <!-- <div class=\"vertical-line\"></div> -->\r\n <!-- <div class=\"custom-grid-template\">\r\n <div>\r\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\" (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\r\n </div>\r\n </div> -->\r\n\r\n </div>\r\n\r\n\r\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\r\n <div class=\"mx-4\">\r\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\r\n <div class=\"card mb-0 mt-2\" style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \">\r\n <div class=\"mx-4\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\" style=\"margin-left: 3px;\"/>\r\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\"/>\r\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\r\n </div>\r\n <!-- annuity calculator table -->\r\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <div class=\"d-flex flex-row annuity-tables-container\">\r\n <!-- Table 1 -->\r\n <div class=\"annuity-calculator-table1\">\r\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-cell\"><span class=\"rupee-icon\">\u20B9</span><span style=\"font-size:12px; color: rgba(68, 68, 68, 1);\"><{{annuityTableCalculator.annuitycalculatorTable1val1}}></span></div>\r\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"operator-symbol\">+</div>\r\n\r\n <!-- Table 2 -->\r\n <div class=\"annuity-calculator-table2\">\r\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\">&#64;{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\r\n <div class=\"table-row\">&#64;{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\r\n <div class=\"table-row\">&#64;{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- Table 3 -->\r\n <div class=\"annuity-calculator-table3\">\r\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\r\n <div class=\"table-row\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\r\n <div class=\"table-row\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"operator-symbol\">=</div>\r\n\r\n <!-- Table 4 -->\r\n <div class=\"annuity-calculator-table4\">\r\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect your variable annuity payout and total annuity payout.\r\n </div>\r\n\r\n <div>\r\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\r\n </div>\r\n</div>\r\n", styles: [".card-main-title{font-size:16px;font-family:Mulish!important;letter-spacing:0px!important;font-weight:800;line-height:24px;padding-bottom:16px}.col-5-5{flex:0 0 auto;max-width:44.16666667%}.custom-grid-template{display:grid;grid-template-columns:4fr .5fr 4fr;align-items:end}.vertical-line{border-left:2px solid #ccc;height:100px;margin:0 10px}.error-message{font-size:12px;font-weight:500;color:#e00;letter-spacing:0px}.annuity-msg{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e5f0fa;height:fit-content}.annuity-msg-1{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e6f7f3;height:fit-content;flex-wrap:nowrap!important}.annuity-tables-main-container{border:2px solid rgba(221,221,221,1);border-radius:8px;display:flex}.annuity-tables-container{display:flex;align-items:stretch;gap:0;width:100%}.annuity-calculator-table1,.annuity-calculator-table2,.annuity-calculator-table3,.annuity-calculator-table4{display:flex;flex-direction:column;height:100%;flex:1;color:#444;font-weight:400;font-size:10px}.annuity-calculator-table1{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table2{border-left:1px solid rgba(221,221,221,1);border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table3{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table4{border-left:1px solid rgba(221,221,221,1)}.table-header{padding:12px;font-size:10px;font-weight:700;text-align:center;border-bottom:1px solid rgba(221,221,221,1);height:60px;display:flex;align-items:center;justify-content:center;word-wrap:break-word;word-break:break-word;hyphens:auto}.annuitytable1-header{background-color:#ececec;color:#444}.annuitytable4-header{background-color:#fb03;color:#444}.table-body{display:flex;flex-direction:column;flex:1}.table-cell{padding:12px;text-align:center;font-size:16px;font-weight:600;flex:1;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px}.table-row{padding:12px;text-align:center;font-size:14px;font-weight:500;background-color:#fff;border-bottom:1px solid #999;flex:1;display:flex;align-items:center;justify-content:center}.table-row:last-child{border-bottom:none}.annuitytable4-bg{background-color:#e6f7f3!important;color:#444}.annuitytable-button{background-color:#ececec;border:none;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;cursor:pointer;margin-top:0;width:auto;min-width:30%;max-width:90%;height:24px;display:block;margin-left:auto;margin-right:auto;position:relative;bottom:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rupee-icon{font-weight:700;margin-right:2px;font-size:12px;color:#444}.operator-symbol{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;padding:0 16px;color:#f90}.annuity-calculator-paragraph{padding:16px 8px 4px;font-size:10px;margin:0 0 20px auto;width:73%;font-weight:400;color:#444;background-color:#ebf1ff}.annuity-calculator-paragraph1{font-weight:700;font-size:10px}.minium-annuity{display:flex;flex-direction:column}@media (max-width: 991px) and (min-width: 768px){.table-header{padding:8px 4px;font-size:9px;line-height:1.1}}@media (max-width: 767px) and (min-width: 576px){.table-header{padding:10px 6px;font-size:9px}}@media (max-width: 575px){.table-header{padding:8px 4px;font-size:8px}}@media (max-width: 575px){.annuity-msg{font-size:10px;line-height:1;height:fit-content}}@media (max-width: 575px){.annuity-msg-1{font-size:10px;line-height:1;flex-wrap:nowrap!important;height:fit-content}.annuity-msg-1 .img{width:4px;height:4px}}@media (max-width: 991px) and (min-width: 768px){.annuity-msg,.annuity-msg-1{font-size:9px;line-height:1.1;height:fit-content}}@media (max-width: 767px) and (min-width: 576px){.annuity-msg,.annuity-msg-1{font-size:10px;line-height:1.1;height:fit-content}}\n"] }]
819
+ ], template: "<div class=\"card px-3\" style=\"padding: 16px;\">\r\n <div class=\"row\">\r\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's your Premium to Annuity Calculator</h4>\r\n </div>\r\n <!-- <div class=\"row\"> -->\r\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\r\n <!-- <div class=\"custom-grid-template\">\r\n\r\n </div> -->\r\n\r\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\r\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\r\n </div>\r\n <!-- </div> -->\r\n <div class=\" col-12\" style=\"\r\n justify-content: center;\r\n flex-direction: row;\r\n display: flex;\r\n\">\r\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\r\n <lib-select-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium\" (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\r\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\r\n Enter Premium\r\n </div>\r\n <div>\r\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\" (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\r\n </div>\r\n </div>\r\n <div class=\"col-2 col-lg-2 d-flex justify-content-center align-items-center\" style=\"display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative;\">\r\n <!-- Vertical center line split around icon -->\r\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px;height: calc(50% - 16px); top: 0; background: rgba(221, 221, 221, 1)\"></div>\r\n <lib-icon-button [field]=\"interchangeButtonObj\" />\r\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% - 16px); bottom: 0; background: rgba(221, 221, 221, 1)\"></div>\r\n </div>\r\n <div class=\"col-5 col-lg-5 d-flex flex-column p-0\">\r\n <lib-select-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout\" (ngModelChange)=\"onMinPremiumValueChange($event)\" />\r\n <div class=\"minium-annuity mt-3\">\r\n <div class=\"annuity-msg w-100 px-2 py-1\">\r\n Value based on assumed 10% annual growth of Nifty 50 index.\r\n </div>\r\n <div class=\"w-100 px-2 py-1\">\r\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\" (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\r\n </div>\r\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\r\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\" style=\"max-width: 24px;\" />\r\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\r\n</div>\r\n</div>\r\n\r\n </div>\r\n </div>\r\n <div class=\"vertical-line\"></div>\r\n <div class=\"custom-grid-template\">\r\n <div>\r\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\" (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\r\n <div class=\"mx-4\">\r\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\r\n <div class=\"card mb-0 mt-2\" style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \">\r\n <div class=\"mx-4\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\" style=\"margin-left: 3px;\"/>\r\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\"/>\r\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\r\n </div>\r\n <!-- annuity calculator table -->\r\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <div class=\"d-flex flex-row annuity-tables-container\">\r\n <!-- Table 1 -->\r\n <div class=\"annuity-calculator-table1\">\r\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-cell\"><span class=\"rupee-icon\">\u20B9</span><span style=\"font-size:12px; color: rgba(68, 68, 68, 1);\"><{{annuityTableCalculator.annuitycalculatorTable1val1}}></span></div>\r\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"operator-symbol\">+</div>\r\n\r\n <!-- Table 2 -->\r\n <div class=\"annuity-calculator-table2\">\r\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\">&#64;{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\r\n <div class=\"table-row\">&#64;{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\r\n <div class=\"table-row\">&#64;{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- Table 3 -->\r\n <div class=\"annuity-calculator-table3\">\r\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\r\n <div class=\"table-row\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\r\n <div class=\"table-row\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"operator-symbol\">=</div>\r\n\r\n <!-- Table 4 -->\r\n <div class=\"annuity-calculator-table4\">\r\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\r\n <div class=\"table-body\">\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\r\n <div class=\"table-row annuitytable4-bg\"><span class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\r\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect your variable annuity payout and total annuity payout.\r\n </div>\r\n\r\n <div>\r\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\r\n </div>\r\n</div>\r\n", styles: [".card-main-title{font-size:16px;font-family:Mulish!important;letter-spacing:0px!important;font-weight:800;line-height:24px;padding-bottom:16px}.col-5-5{flex:0 0 auto;max-width:44.16666667%}.custom-grid-template{display:grid;grid-template-columns:4fr .5fr 4fr;align-items:end}.vertical-line{border-left:2px solid #ccc;height:100px;margin:0 10px}.error-message{font-size:12px;font-weight:500;color:#e00;letter-spacing:0px}.annuity-msg{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e5f0fa;height:fit-content}.annuity-msg-1{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e6f7f3;height:fit-content;flex-wrap:nowrap!important}.annuity-tables-main-container{border:2px solid rgba(221,221,221,1);border-radius:8px;display:flex}.annuity-tables-container{display:flex;align-items:stretch;gap:0;width:100%}.annuity-calculator-table1,.annuity-calculator-table2,.annuity-calculator-table3,.annuity-calculator-table4{display:flex;flex-direction:column;height:100%;flex:1;color:#444;font-weight:400;font-size:10px}.annuity-calculator-table1{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table2{border-left:1px solid rgba(221,221,221,1);border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table3{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table4{border-left:1px solid rgba(221,221,221,1)}.table-header{padding:12px;font-size:10px;font-weight:700;text-align:center;border-bottom:1px solid rgba(221,221,221,1);height:60px;display:flex;align-items:center;justify-content:center;word-wrap:break-word;word-break:break-word;hyphens:auto}.annuitytable1-header{background-color:#ececec;color:#444}.annuitytable4-header{background-color:#fb03;color:#444}.table-body{display:flex;flex-direction:column;flex:1}.table-cell{padding:12px;text-align:center;font-size:16px;font-weight:600;flex:1;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px}.table-row{padding:12px;text-align:center;font-size:14px;font-weight:500;background-color:#fff;border-bottom:1px solid #999;flex:1;display:flex;align-items:center;justify-content:center}.table-row:last-child{border-bottom:none}.annuitytable4-bg{background-color:#e6f7f3!important;color:#444}.annuitytable-button{background-color:#ececec;border:none;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;cursor:pointer;margin-top:0;width:auto;min-width:30%;max-width:90%;height:24px;display:block;margin-left:auto;margin-right:auto;position:relative;bottom:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rupee-icon{font-weight:700;margin-right:2px;font-size:12px;color:#444}.operator-symbol{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;padding:0 16px;color:#f90}.annuity-calculator-paragraph{padding:16px 8px 4px;font-size:10px;margin:0 0 20px auto;width:73%;font-weight:400;color:#444;background-color:#ebf1ff}.annuity-calculator-paragraph1{font-weight:700;font-size:10px}.minium-annuity{display:flex;flex-direction:column}@media (max-width: 991px) and (min-width: 768px){.table-header{padding:8px 4px;font-size:9px;line-height:1.1}}@media (max-width: 767px) and (min-width: 576px){.table-header{padding:10px 6px;font-size:9px}}@media (max-width: 575px){.table-header{padding:8px 4px;font-size:8px}}@media (max-width: 575px){.annuity-msg{font-size:10px;line-height:1;height:fit-content}}@media (max-width: 575px){.annuity-msg-1{font-size:10px;line-height:1;flex-wrap:nowrap!important;height:fit-content}.annuity-msg-1 .img{width:4px;height:4px}}@media (max-width: 991px) and (min-width: 768px){.annuity-msg,.annuity-msg-1{font-size:9px;line-height:1.1;height:fit-content}}@media (max-width: 767px) and (min-width: 576px){.annuity-msg,.annuity-msg-1{font-size:10px;line-height:1.1;height:fit-content}}\n"] }]
820
820
  }], ctorParameters: () => [{ type: i1.MasterControlService }], propDecorators: { onCalcualteButtonClick: [{
821
821
  type: Output
822
822
  }], onGenerateSummaryClick: [{
@@ -828,4 +828,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
828
828
  }], onAutioDebitValueChange: [{
829
829
  type: Output
830
830
  }] } });
831
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi9hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvci9hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBa0I3QyxNQUFNLE9BQU8saUNBQWlDO0lBdXJCekI7SUF0ckJuQixLQUFLLEdBQVEsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQ25DLGNBQWMsR0FBUSxLQUFLLENBQU0sRUFBRSxDQUFDLENBQUM7SUFDckMsY0FBYyxHQUFTO1FBQ3JCLFNBQVMsRUFBRyxFQUFFO1FBQ2QsV0FBVyxFQUFFLEVBQUU7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QUN0QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFVO0lBQ25DLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLElBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1RSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7d0dBOXpCVSxpQ0FBaUM7NEZBQWpDLGlDQUFpQyx3cEJDekI5QyxtblBBa0lBLHcwSERwSEksZUFBZSw0SEFDZixzQkFBc0IsK0dBQ3RCLGVBQWUsMEVBQ2YsbUJBQW1CLCtFQUNuQixjQUFjLDBIQUNkLFlBQVksa0lBQ1osV0FBVzs7NEZBS0YsaUNBQWlDO2tCQWY3QyxTQUFTOytCQUNFLGdDQUFnQyxjQUM5QixJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osV0FBVztxQkFDWjt5RkFlUyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRywyQkFBMkI7c0JBQXBDLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGlucHV0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RUZXh0Ym94Q29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0LXRleHRib3gvc2VsZWN0LXRleHRib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9Db21wb25lbnQgfSBmcm9tICcuLi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWFzdGVyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi9tYXN0ZXItY29udHJvbC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFRvZ2dsZUNvbXBvbmVudCxcclxuICAgIFNlbGVjdFRleHRib3hDb21wb25lbnQsXHJcbiAgICBCdXR0b25Db21wb25lbnQsXHJcbiAgICBJY29uQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgUmFkaW9Db21wb25lbnQsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50LmNzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm51aXR5UHJlbWl1bUNhbGN1bGF0b3JDb21wb25lbnQge1xyXG4gIGZpZWxkOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XHJcbiAgcHJlbWl1bURldGFpbHM6IGFueSA9IGlucHV0PGFueT4oe30pO1xyXG4gIGFubnVpdHlQcmVtaXVtIDogYW55ID0ge1xyXG4gICAgdGV4dFZhbHVlIDogJycsXHJcbiAgICBzZWxlY3RWYWx1ZTogJydcclxuICB9O1xyXG4gIG1pbnVtdW1Bbm51aXR5UGF5b3V0IDogYW55ID0ge1xyXG4gICAgdGV4dFZhbHVlIDogJycsXHJcbiAgICBzZWxlY3RWYWx1ZTogJydcclxuICB9O1xyXG4gIEBPdXRwdXQoKSBvbkNhbGN1YWx0ZUJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG9uR2VuZXJhdGVTdW1tYXJ5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25Bbm51aXR5UHJlbWl1bUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBvbk1pbmltdW1QcmVtaXVtVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25BdXRpb0RlYml0VmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICB2YWxpZGF0aW9ucyA6IGFueSA9IHtcclxuICAgIGlzcHJlbWl1bUVudHJ5IDogZmFsc2VcclxuICB9XHJcbiAgaXNFbmFibGVBdXRvRGViaXQgOiBhbnkgPSBmYWxzZTtcclxuICBzZWxlY3RlZEd1cmFudGVlZEFubnVpdHk6IGFueSA9IG51bGw7XHJcbiAgYW5udWl0eVByZW1pdW1Ub2dnbGVPYmo6IGFueSA9IHtcclxuICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcclxuICAgIGZpZWxkTmFtZTogJ2FubnVpdHlQcmVtaXVtVG9nZ2xlJyxcclxuICAgIGxhYmVsOiAnRW50ZXIgQW5udWl0eScsXHJcbiAgICBwbGFjZUhvbGRlcjogbnVsbCxcclxuICAgIG1ldGFJZDogJ0xJX0RQX0dFTl9DVFJMX3RvZ2dsZV9hbm51aXR5UHJlbWl1bVRvZ2dsZV9WMScsXHJcbiAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICBpc0Rpc2FibGU6IHRydWUsXHJcbiAgICB2YWxpZGF0b3JzOiB7XHJcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxyXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eScsXHJcbiAgICAgIG1pbkxlbmd0aDogbnVsbCxcclxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoOiAxNTAsXHJcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXHJcbiAgICAgIHBhdHRlcm46IG51bGwsXHJcbiAgICAgIHBhdHRlcm5NZXNzYWdlOiAnJyxcclxuICAgIH0sXHJcbiAgICBvcHRpb25zOiBudWxsLFxyXG4gICAgY3NzQ2xhc3M6XHJcbiAgICAgICcgY29sLXNtLTEyIGNvbC1tZC0xMiBjb2wtbGctMTIgY29sLXhsLTEyIG14LWF1dG8gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJyxcclxuICAgIHZhbHVlOiBudWxsLFxyXG4gICAgc3R5bGU6IG51bGwsXHJcbiAgICBpbWFnZVVybDogbnVsbCxcclxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxyXG4gICAgY29udHJvbFN0eWxlOiB7XHJcbiAgICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcclxuICAgICAgYm9yZGVyQ29sb3I6ICcjREFEQURBJyxcclxuICAgICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxyXG4gICAgICBib3JkZXJSYWRpdXM6ICc5OTlweCcsXHJcbiAgICAgIGZvbnRTaXplOiAnMTJweCcsXHJcbiAgICAgIGZvbnRXZWlnaHQ6ICc0MDAnLFxyXG4gICAgICBmb250RmFtaWx5OiAnTXVsaXNoJyxcclxuICAgICAgY29sb3I6ICcjNDQ0NDQ0JyxcclxuICAgICAgYmFja2dyb3VuZDogJyNGRkZGRkYnLFxyXG4gICAgICBjYXJldENvbG9yOiBudWxsLFxyXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxyXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXHJcbiAgICAgIGZvY3VzQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcclxuICAgICAgaG92ZXJCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcclxuICAgICAgZGlzYWJsZUNvbG9yOiAnI0VDRUNFQycsXHJcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiAnI0VDRUNFQycsXHJcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXHJcbiAgICAgIGVycm9yQ29sb3I6IG51bGwsXHJcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxyXG4gICAgICBwYWRkaW5nOiBudWxsLFxyXG4gICAgICBtYXJnaW46IG51bGwsXHJcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxyXG4gICAgICBjb250cm9sTWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfdG9nZ2xlX2FubnVpdHlQcmVtaXVtVG9nZ2xlX1YxJyxcclxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXHJcbiAgICAgIGhlaWdodDogbnVsbCxcclxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxyXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1pbldpZHRoOiBudWxsLFxyXG4gICAgICBtYXhXaWR0aDogbnVsbCxcclxuICAgICAgY3NzQ2xhc3M6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY29sdW1uSW5kZXg6IDAsXHJcbiAgICBjb25maWdEYXRhOiB7XHJcbiAgICAgIGxlZnRMYWJlbDogJ0VudGVyIFByZW1pdW0nLFxyXG4gICAgfSxcclxuICAgIGNvbnRyb2xTdHlsZXM6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgYW5udWl0eVRhYmxlQ2FsY3VsYXRvciA6YW55ID0ge1xyXG4gICAgXCJpc1Zpc2libGVcIjogZmFsc2UsXHJcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUxdmFsMVwiOiBcIlwiLFxyXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlMXZhbDJcIjogXCJcIixcclxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTJ2YWwxXCI6IFwiXCIsXHJcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUydmFsMlwiOiBcIlwiLFxyXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlMnZhbDNcIjogXCJcIixcclxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTN2YWwxXCI6IFwiXCIsXHJcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUzdmFsMlwiOiBcIlwiLFxyXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDNcIjogXCJcIixcclxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTR2YWwxXCI6IFwiXCIsXHJcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGU0dmFsMlwiOiBcIlwiLFxyXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDNcIjogXCJcIlxyXG5cclxuXHJcbiAgfTtcclxuXHJcbiAgYW5udWl0eVByZW1pdW1PYmo6IGFueSA9IHtcclxuICAgIGNvbnRyb2xTdHlsZToge1xyXG4gICAgICBjb250cm9sVHlwZTogJ2Ftb3VudFRleHRib3gnLFxyXG4gICAgICBib3JkZXJDb2xvcjogJyNEQURBREEnLFxyXG4gICAgICBib3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgYm9yZGVyUmFkaXVzOiBudWxsLFxyXG4gICAgICBmb250U2l6ZTogJzE2cHgnLFxyXG4gICAgICBmb250V2VpZ2h0OiAnNDAwJyxcclxuICAgICAgZm9udEZhbWlseTogJ011bGlzaCcsXHJcbiAgICAgIGNvbG9yOiAnIzQ0NDQ0NCcsXHJcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZGRkZGJyxcclxuICAgICAgY2FyZXRDb2xvcjogJyNmZmJiMDAnLFxyXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIHdpZHRoOiBudWxsLFxyXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiAnI2ZmYmIwMCcsXHJcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcclxuICAgICAgZm9jdXNDb2xvcjogJyM0NDQ0NDQnLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXHJcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6ICcjRkZCQjAwJyxcclxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgaG92ZXJDb2xvcjogJyM0NDQ0NDQnLFxyXG4gICAgICBkaXNhYmxlQ29sb3I6ICcjRUNFQ0VDJyxcclxuICAgICAgZGlzYWJsZUJhY2tncm91bmQ6ICcjRUNFQ0VDJyxcclxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogJyNFRTAwMDAnLFxyXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBlcnJvckNvbG9yOiAnIzQ0NDQ0NCcsXHJcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxyXG4gICAgICBwYWRkaW5nOiBudWxsLFxyXG4gICAgICBtYXJnaW46IG51bGwsXHJcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxyXG4gICAgICBjb250cm9sTWV0YUlkOiAnQUxMX0RQX0RQX0NUUkxfYW1vdW50VGV4dGJveF9hbm51aXR5UHJlbWl1bV9WMScsXHJcbiAgICAgIGJvcmRlclN0eWxlOiBudWxsLFxyXG4gICAgICBoZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcclxuICAgICAgbWF4SGVpZ2h0OiBudWxsLFxyXG4gICAgICBtaW5XaWR0aDogbnVsbCxcclxuICAgICAgbWF4V2lkdGg6IG51bGwsXHJcbiAgICAgIGNzc0NsYXNzOiBudWxsLFxyXG4gICAgfSxcclxuICAgIGZpZWxkTmFtZTogJ2FubnVpdHlQcmVtaXVtJyxcclxuICAgIGxhYmVsOiAnUHJlbWl1bScsXHJcbiAgICBwbGFjZUhvbGRlcjogJ0VudGVyIFByZW1pdW0nLFxyXG4gICAgbWV0YUlkOiAnQUxMX0RQX0RQX0NUUkxfYW1vdW50VGV4dGJveF9hbm51aXR5UHJlbWl1bV9WMScsXHJcbiAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxyXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxyXG4gICAgdmFsaWRhdG9yczoge1xyXG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnRW50ZXIgUHJlbWl1bScsXHJcbiAgICAgIG1pbkxlbmd0aDogNCxcclxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoOiAxMCxcclxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgcGF0dGVybjogbnVsbCxcclxuICAgICAgcGF0dGVybk1lc3NhZ2U6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgb3B0aW9uczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdmFsdWU6ICdNb250aGx5JyxcclxuICAgICAgICBsYWJlbDogJ01vbnRobHknLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdmFsdWU6ICdPbmUgVGltZScsXHJcbiAgICAgICAgbGFiZWw6ICdPbmUgVGltZScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ1F1YXJ0ZXJseScsXHJcbiAgICAgICAgbGFiZWw6ICdRdWFydGVybHknLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdmFsdWU6ICdIYWxmIFllYXJseScsXHJcbiAgICAgICAgbGFiZWw6ICdIYWxmIFllYXJseScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ1llYXJseScsXHJcbiAgICAgICAgbGFiZWw6ICdZZWFybHknLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICAgIGNzc0NsYXNzOiAnIGNvbC1zbS0xMiBjb2wtbWQtMyBjb2wtbGctMyBjb2wteGwtMyBweS0wIHBsLTMgcHItMCBtdC01IHB0LTInLFxyXG4gICAgdmFsdWU6IG51bGwsXHJcbiAgICBzdHlsZTogbnVsbCxcclxuICAgIGltYWdlVXJsOiBudWxsLFxyXG4gICAgY29uZmlnRGF0YToge1xyXG4gICAgICBpc0NvbWFTZXBlcmF0ZWQ6IHRydWUsXHJcbiAgICAgIGlzQWxsb3dOdW1iZXJzSW5UZXh0RmllbGRzOiB0cnVlXHJcbiAgICB9LFxyXG4gICAgbWV0YURhdGFPYmo6IG51bGwsXHJcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcclxuICAgIGlzTWFzdGVyQ29udHJvbDogZmFsc2UsXHJcbiAgICBjb250cm9sVHlwZTogJ2Ftb3VudFRleHRib3gnLFxyXG4gIH07XHJcblxyXG4gIG1pbmltdW1Bbm51aXR5UGF5b3V0T2JqOiBhbnkgPSB7XHJcbiAgICBjb250cm9sU3R5bGU6IHtcclxuICAgICAgY29udHJvbFR5cGU6ICdhbW91bnRUZXh0Ym94JyxcclxuICAgICAgYm9yZGVyQ29sb3I6ICcjREFEQURBJyxcclxuICAgICAgYm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXHJcbiAgICAgIGJvcmRlclJhZGl1czogbnVsbCxcclxuICAgICAgZm9udFNpemU6ICcxNnB4JyxcclxuICAgICAgZm9udFdlaWdodDogJzQwMCcsXHJcbiAgICAgIGZvbnRGYW1pbHk6ICdNdWxpc2gnLFxyXG4gICAgICBjb2xvcjogJyM0NDQ0NDQnLFxyXG4gICAgICBiYWNrZ3JvdW5kOiAnI0ZGRkZGRicsXHJcbiAgICAgIGNhcmV0Q29sb3I6ICcjZmZiYjAwJyxcclxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXHJcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICB3aWR0aDogbnVsbCxcclxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogJyNmZmJiMDAnLFxyXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXHJcbiAgICAgIGZvY3VzQ29sb3I6ICcjNDQ0NDQ0JyxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzOiBudWxsLFxyXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiAnI0ZGQkIwMCcsXHJcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXHJcbiAgICAgIGhvdmVyQ29sb3I6ICcjNDQ0NDQ0JyxcclxuICAgICAgZGlzYWJsZUNvbG9yOiAnIzk5OTk5OScsXHJcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiAnI0VDRUNFQycsXHJcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6ICcjRUUwMDAwJyxcclxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgZXJyb3JDb2xvcjogJyM0NDQ0NDQnLFxyXG4gICAgICBjcmVhdGVkRGF0ZTogbnVsbCxcclxuICAgICAgcGFkZGluZzogbnVsbCxcclxuICAgICAgbWFyZ2luOiBudWxsLFxyXG4gICAgICBpc01hc3RlckNzczogbnVsbCxcclxuICAgICAgY29udHJvbE1ldGFJZDpcclxuICAgICAgICAnQUxMX0RQX0RQX0NUUkxfYW1vdW50VGV4dGJveF9taW5pbXVtR3VhcmFudGVlZEFubnVpdHlQYXlvdXRfVjEnLFxyXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcclxuICAgICAgaGVpZ2h0OiBudWxsLFxyXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1heEhlaWdodDogbnVsbCxcclxuICAgICAgbWluV2lkdGg6IG51bGwsXHJcbiAgICAgIG1heFdpZHRoOiBudWxsLFxyXG4gICAgICBjc3NDbGFzczogbnVsbCxcclxuICAgIH0sXHJcbiAgICBmaWVsZE5hbWU6ICdtaW5pbXVtR3VhcmFudGVlZEFubnVpdHlQYXlvdXQnLFxyXG4gICAgbGFiZWw6ICdUb3RhbCBBbm51aXR5IFBheW91dCcsXHJcbiAgICBwbGFjZUhvbGRlcjogJ0VudGVyIEFubnVpdHkgUGF5b3V0JyxcclxuICAgIG1ldGFJZDogJ0FMTF9EUF9EUF9DVFJMX2Ftb3VudFRleHRib3hfbWluaW11bUd1YXJhbnRlZWRBbm51aXR5UGF5b3V0X1YxJyxcclxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcclxuICAgIGlzRGlzYWJsZTogdHJ1ZSxcclxuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcclxuICAgIHZhbGlkYXRvcnM6IHtcclxuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXHJcbiAgICAgIHJlcXVpcmVkTWVzc2FnZTogJ0VudGVyIEFubnVpdHkgUGF5b3V0JyxcclxuICAgICAgbWluTGVuZ3RoOiA0LFxyXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxyXG4gICAgICBtYXhMZW5ndGg6IDEwLFxyXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxyXG4gICAgICBwYXR0ZXJuOiBudWxsLFxyXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogbnVsbCxcclxuICAgIH0sXHJcbiAgICBvcHRpb25zOiBbXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ01vbnRobHknLFxyXG4gICAgICAgIGxhYmVsOiAnTW9udGhseScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ09uZSBUaW1lJyxcclxuICAgICAgICBsYWJlbDogJ09uZSBUaW1lJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHZhbHVlOiAnUXVhcnRlcmx5JyxcclxuICAgICAgICBsYWJlbDogJ1F1YXJ0ZXJseScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ0hhbGYgWWVhcmx5JyxcclxuICAgICAgICBsYWJlbDogJ0hhbGYgWWVhcmx5JyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHZhbHVlOiAnWWVhcmx5JyxcclxuICAgICAgICBsYWJlbDogJ1llYXJseScsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgY3NzQ2xhc3M6XHJcbiAgICAgICcgY29sLXNtLTEyIGNvbC1tZC0zIGNvbC1sZy0zIGNvbC14bC0zIHB5LTAgcGwtMyBtdC0xIHByLTAgbWluaW11bUd1YXJhbnRlZWRBbm51aXR5UGF5b3V0JyxcclxuICAgIHZhbHVlOiBudWxsLFxyXG4gICAgc3R5bGU6IG51bGwsXHJcbiAgICBpbWFnZVVybDogbnVsbCxcclxuICAgIGNvbmZpZ0RhdGE6IHtcclxuICAgICAgaXNDb21hU2VwZXJhdGVkOiB0cnVlLFxyXG4gICAgICBpc0FsbG93TnVtYmVyc0luVGV4dEZpZWxkczogdHJ1ZVxyXG4gICAgfSxcclxuICAgIG1ldGFEYXRhT2JqOiBudWxsLFxyXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXHJcbiAgICBpc01hc3RlckNvbnRyb2w6IGZhbHNlLFxyXG4gICAgY29udHJvbFR5cGU6ICdhbW91bnRUZXh0Ym94JyxcclxuICB9O1xyXG5cclxuICBlbmFibGVBdXRvRGViaXRPYmo6IGFueSA9IHtcclxuICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcclxuICAgIGZpZWxkTmFtZTogJ2F1dG9EZWJpdCcsXHJcbiAgICBsYWJlbDogJ0VuYWJsZSBBdXRvIFBheSB0byBnZXQgaGlnaGVyIGFubnVpdHkgcmF0ZScsXHJcbiAgICBwbGFjZUhvbGRlcjogJycsXHJcbiAgICBtZXRhSWQ6ICdBTExfQ09NX0dFTl9DVFJMX3RvZ2dsZV9hdXRvRGViaXRfVjEnLFxyXG4gICAgaXNWaXNpYmxlOiB0cnVlLFxyXG4gICAgaXNEaXNhYmxlOiBmYWxzZSxcclxuICAgIHZhbGlkYXRvcnM6IHtcclxuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXHJcbiAgICAgIHJlcXVpcmVkTWVzc2FnZTogJ1RoaXMgZmllbGQgY2Fubm90IGJlIGVtcHR5JyxcclxuICAgICAgbWluTGVuZ3RoOiBudWxsLFxyXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxyXG4gICAgICBtYXhMZW5ndGg6IG51bGwsXHJcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXHJcbiAgICAgIHBhdHRlcm46IG51bGwsXHJcbiAgICAgIHBhdHRlcm5NZXNzYWdlOiAnJyxcclxuICAgIH0sXHJcbiAgICBvcHRpb25zOiBudWxsLFxyXG4gICAgY3NzQ2xhc3M6ICdjb2wtc20tMTIgY29sLW1kLTUgY29sLWxnLTUgY29sLXhsLTUgbXQtNCBhdXRvUGF5JyxcclxuICAgIHZhbHVlOiBmYWxzZSxcclxuICAgIHN0eWxlOiBudWxsLFxyXG4gICAgaW1hZ2VVcmw6IG51bGwsXHJcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcclxuICAgIGNvbnRyb2xTdHlsZToge1xyXG4gICAgICBjb250cm9sVHlwZTogJ3RvZ2dsZScsXHJcbiAgICAgIGJvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBib3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgYm9yZGVyUmFkaXVzOiBudWxsLFxyXG4gICAgICBmb250U2l6ZTogJzEycHgnLFxyXG4gICAgICBmb250V2VpZ2h0OiAnNDAwJyxcclxuICAgICAgZm9udEZhbWlseTogJ011bGlzaCcsXHJcbiAgICAgIGNvbG9yOiAnIzQ0NDQ0NCcsXHJcbiAgICAgIGJhY2tncm91bmQ6ICcjRTZGN0YzJyxcclxuICAgICAgY2FyZXRDb2xvcjogbnVsbCxcclxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXHJcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICB3aWR0aDogbnVsbCxcclxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNCYWNrZ3JvdW5kOiBudWxsLFxyXG4gICAgICBmb2N1c0NvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXHJcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXHJcbiAgICAgIGhvdmVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGRpc2FibGVDb2xvcjogJyNFQ0VDRUMnLFxyXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogJyNFQ0VDRUMnLFxyXG4gICAgICBlcnJvckJvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBlcnJvckNvbG9yOiBudWxsLFxyXG4gICAgICBjcmVhdGVkRGF0ZTogbnVsbCxcclxuICAgICAgcGFkZGluZzogbnVsbCxcclxuICAgICAgbWFyZ2luOiBudWxsLFxyXG4gICAgICBpc01hc3RlckNzczogbnVsbCxcclxuICAgICAgY29udHJvbE1ldGFJZDogJ0FMTF9DT01fR0VOX0NUUkxfdG9nZ2xlX21haWxpbmdBZGRyZXNzVG9nZ2xlX1YxJyxcclxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXHJcbiAgICAgIGhlaWdodDogbnVsbCxcclxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxyXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1pbldpZHRoOiBudWxsLFxyXG4gICAgICBtYXhXaWR0aDogbnVsbCxcclxuICAgICAgY3NzQ2xhc3M6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY29sdW1uSW5kZXg6IDAsXHJcbiAgICBjb25maWdEYXRhOiB7fSxcclxuICAgIGNvbnRyb2xTdHlsZXM6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgcmVjYWxjdWxhdGVCdXR0b246IGFueSA9IHtcclxuICAgIGNvbnRyb2xUeXBlOiAnYnV0dG9uJyxcclxuICAgIGZpZWxkTmFtZTogJ2NhbGN1bGF0ZUFubnVpdHlQYXlvdXQnLFxyXG4gICAgbGFiZWw6ICdDYWxjdWxhdGUgQW5udWl0eSBQYXlvdXQnLFxyXG4gICAgcGxhY2VIb2xkZXI6IG51bGwsXHJcbiAgICBtZXRhSWQ6ICdMSV9EUF9HRU5fQ1RSTF9idXR0b25fY2FsY3VsYXRlQW5udWl0eVBheW91dF9WMScsXHJcbiAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxyXG4gICAgdmFsaWRhdG9yczoge1xyXG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHknLFxyXG4gICAgICBtaW5MZW5ndGg6IG51bGwsXHJcbiAgICAgIG1pbkxlbmd0aE1lc3NhZ2U6IG51bGwsXHJcbiAgICAgIG1heExlbmd0aDogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgcGF0dGVybjogbnVsbCxcclxuICAgICAgcGF0dGVybk1lc3NhZ2U6ICcnLFxyXG4gICAgfSxcclxuICAgIG9wdGlvbnM6IG51bGwsXHJcbiAgICBjc3NDbGFzczogJyBjb2wtc20tMTIgY29sLW1kLTEyIGNvbC1sZy0xMiBjb2wteGwtMTIgbXQtMycsXHJcbiAgICB2YWx1ZTogbnVsbCxcclxuICAgIHN0eWxlOiBudWxsLFxyXG4gICAgaW1hZ2VVcmw6IG51bGwsXHJcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcclxuICAgIGNvbnRyb2xTdHlsZToge1xyXG4gICAgICBjb250cm9sVHlwZTogbnVsbCxcclxuICAgICAgYm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGJvcmRlcldpZHRoOiBudWxsLFxyXG4gICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxyXG4gICAgICBmb250U2l6ZTogJzEycHgnLFxyXG4gICAgICBmb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICBmb250RmFtaWx5OiBudWxsLFxyXG4gICAgICBjb2xvcjogbnVsbCxcclxuICAgICAgYmFja2dyb3VuZDogJyNGRkJCMDAnLFxyXG4gICAgICBjYXJldENvbG9yOiBudWxsLFxyXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgIGZvY3VzQm9yZGVyV2lkdGg6IG51bGwsXHJcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcclxuICAgICAgZm9jdXNDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzOiBudWxsLFxyXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiBudWxsLFxyXG4gICAgICBob3ZlckNvbG9yOiBudWxsLFxyXG4gICAgICBkaXNhYmxlQ29sb3I6IG51bGwsXHJcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiBudWxsLFxyXG4gICAgICBlcnJvckJvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiBudWxsLFxyXG4gICAgICBlcnJvckNvbG9yOiBudWxsLFxyXG4gICAgICBjcmVhdGVkRGF0ZTogbnVsbCxcclxuICAgICAgcGFkZGluZzogbnVsbCxcclxuICAgICAgbWFyZ2luOiBudWxsLFxyXG4gICAgICBpc01hc3RlckNzczogbnVsbCxcclxuICAgICAgY29udHJvbE1ldGFJZDogJ0xJX0RQX0dFTl9DVFJMX2J1dHRvbl9jYWxjdWxhdGVBbm51aXR5UGF5b3V0X1YxJyxcclxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXHJcbiAgICAgIGhlaWdodDogbnVsbCxcclxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxyXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1pbldpZHRoOiBudWxsLFxyXG4gICAgICBtYXhXaWR0aDogbnVsbCxcclxuICAgICAgY3NzQ2xhc3M6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY29sdW1uSW5kZXg6IDAsXHJcbiAgICBjb25maWdEYXRhOiB7fSxcclxuICAgIGNvbnRyb2xTdHlsZXM6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgaW50ZXJjaGFuZ2VCdXR0b25PYmo6IGFueSA9IHtcclxuICAgIGNvbnRyb2xTdHlsZToge1xyXG4gICAgICBjb250cm9sVHlwZTogbnVsbCxcclxuICAgICAgYm9yZGVyQ29sb3I6ICcjREREREREJyxcclxuICAgICAgYm9yZGVyV2lkdGg6ICcwcHgnLFxyXG4gICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxyXG4gICAgICBmb250U2l6ZTogbnVsbCxcclxuICAgICAgZm9udFdlaWdodDogbnVsbCxcclxuICAgICAgZm9udEZhbWlseTogbnVsbCxcclxuICAgICAgY29sb3I6IG51bGwsXHJcbiAgICAgIGJhY2tncm91bmQ6IG51bGwsXHJcbiAgICAgIGNhcmV0Q29sb3I6IG51bGwsXHJcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXHJcbiAgICAgIGRyb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXHJcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcclxuICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogbnVsbCxcclxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNCYWNrZ3JvdW5kOiBudWxsLFxyXG4gICAgICBmb2N1c0NvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXHJcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6IG51bGwsXHJcbiAgICAgIGhvdmVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGRpc2FibGVDb2xvcjogbnVsbCxcclxuICAgICAgZGlzYWJsZUJhY2tncm91bmQ6IG51bGwsXHJcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6IG51bGwsXHJcbiAgICAgIGVycm9yQ29sb3I6IG51bGwsXHJcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxyXG4gICAgICBwYWRkaW5nOiBudWxsLFxyXG4gICAgICBtYXJnaW46IG51bGwsXHJcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxyXG4gICAgICBjb250cm9sTWV0YUlkOiBudWxsLFxyXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcclxuICAgICAgaGVpZ2h0OiAnMjBweCcsXHJcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcclxuICAgICAgbWF4SGVpZ2h0OiBudWxsLFxyXG4gICAgICBtaW5XaWR0aDogbnVsbCxcclxuICAgICAgbWF4V2lkdGg6IG51bGwsXHJcbiAgICAgIGNzc0NsYXNzOiBudWxsLFxyXG4gICAgfSxcclxuICAgIGZpZWxkTmFtZTogJ2FubnVpdHlJbnRlckNoYW5nZScsXHJcbiAgICBsYWJlbDogJ0FubnVpdHkgSW50ZXJjaGFuZ2UgQnV0dG9uJyxcclxuICAgIHBsYWNlSG9sZGVyOiBudWxsLFxyXG4gICAgbWV0YUlkOiAnQUxMX0NPTV9HRU5fTUNUUkxfZG93bmxvYWRJY29uQnV0dG9uX2FubnVpdHlJbnRlckNoYW5nZV9WMScsXHJcbiAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxyXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxyXG4gICAgdmFsaWRhdG9yczoge1xyXG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHknLFxyXG4gICAgICBtaW5MZW5ndGg6IG51bGwsXHJcbiAgICAgIG1pbkxlbmd0aE1lc3NhZ2U6IG51bGwsXHJcbiAgICAgIG1heExlbmd0aDogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgcGF0dGVybjogbnVsbCxcclxuICAgICAgcGF0dGVybk1lc3NhZ2U6ICcnLFxyXG4gICAgfSxcclxuICAgIG9wdGlvbnM6IFtdLFxyXG4gICAgY3NzQ2xhc3M6IG51bGwsXHJcbiAgICB2YWx1ZTogbnVsbCxcclxuICAgIHN0eWxlOiBudWxsLFxyXG4gICAgaW1hZ2VVcmw6XHJcbiAgICAgICdodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9kaWdpdFBsdXNBc3NldHMvVHJhbnNpdGlvbi13aXRoLWJvcmRlci1pY29uLnN2ZycsXHJcbiAgICBjb25maWdEYXRhOiB7fSxcclxuICAgIG1ldGFEYXRhT2JqOiBudWxsLFxyXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXHJcbiAgICBpc01hc3RlckNvbnRyb2w6IHRydWUsXHJcbiAgICBjb250cm9sVHlwZTogJ2Rvd25sb2FkSWNvbkJ1dHRvbicsXHJcbiAgfTtcclxuXHJcbiAgZ2VuZXJhdGVTdW1tYXJ5T2JqOiBhbnkgPSB7XHJcbiAgICBjb250cm9sVHlwZTogJ2J1dHRvbicsXHJcbiAgICBmaWVsZE5hbWU6ICdnZW5lcmF0ZVN1bW1hcnknLFxyXG4gICAgbGFiZWw6ICdHZW5lcmF0ZSBTdW1tYXJ5JyxcclxuICAgIHBsYWNlSG9sZGVyOiBudWxsLFxyXG4gICAgbWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfYnV0dG9uX2dlbmVyYXRlU3VtbWFyeV9WMScsXHJcbiAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICBpc0Rpc2FibGU6IHRydWUsXHJcbiAgICB2YWxpZGF0b3JzOiB7XHJcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxyXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eScsXHJcbiAgICAgIG1pbkxlbmd0aDogbnVsbCxcclxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoOiBudWxsLFxyXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxyXG4gICAgICBwYXR0ZXJuOiBudWxsLFxyXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogJycsXHJcbiAgICB9LFxyXG4gICAgb3B0aW9uczogbnVsbCxcclxuICAgIGNzc0NsYXNzOiAnIGNvbC1zbS0xMiBjb2wtbWQtMTIgY29sLWxnLTEyIGNvbC14bC0xMiBteS0xIG10LTMnLFxyXG4gICAgdmFsdWU6IG51bGwsXHJcbiAgICBzdHlsZTogbnVsbCxcclxuICAgIGltYWdlVXJsOiBudWxsLFxyXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXHJcbiAgICBjb250cm9sU3R5bGU6IHtcclxuICAgICAgY29udHJvbFR5cGU6IG51bGwsXHJcbiAgICAgIGJvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBib3JkZXJXaWR0aDogbnVsbCxcclxuICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcclxuICAgICAgZm9udFNpemU6ICcxMnB4JyxcclxuICAgICAgZm9udFdlaWdodDogbnVsbCxcclxuICAgICAgZm9udEZhbWlseTogbnVsbCxcclxuICAgICAgY29sb3I6IG51bGwsXHJcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZCQjAwJyxcclxuICAgICAgY2FyZXRDb2xvcjogbnVsbCxcclxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXHJcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiBudWxsLFxyXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXHJcbiAgICAgIGZvY3VzQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcclxuICAgICAgaG92ZXJCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogbnVsbCxcclxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcclxuICAgICAgZGlzYWJsZUNvbG9yOiBudWxsLFxyXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogbnVsbCxcclxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogbnVsbCxcclxuICAgICAgZXJyb3JDb2xvcjogbnVsbCxcclxuICAgICAgY3JlYXRlZERhdGU6IG51bGwsXHJcbiAgICAgIHBhZGRpbmc6IG51bGwsXHJcbiAgICAgIG1hcmdpbjogbnVsbCxcclxuICAgICAgaXNNYXN0ZXJDc3M6IG51bGwsXHJcbiAgICAgIGNvbnRyb2xNZXRhSWQ6ICdMSV9EUF9HRU5fQ1RSTF9idXR0b25fZ2VuZXJhdGVTdW1tYXJ5X1YxJyxcclxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXHJcbiAgICAgIGhlaWdodDogbnVsbCxcclxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxyXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1pbldpZHRoOiBudWxsLFxyXG4gICAgICBtYXhXaWR0aDogbnVsbCxcclxuICAgICAgY3NzQ2xhc3M6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY29sdW1uSW5kZXg6IDAsXHJcbiAgICBjb25maWdEYXRhOiB7fSxcclxuICAgIGNvbnRyb2xTdHlsZXM6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgZ3VyYW50ZWVkYW5udWl0eU9iajogYW55PXtcclxuICAgICAgICAgICAgICAgIFwiY29udHJvbFR5cGVcIjogXCJyYWRpb1wiLFxyXG4gICAgICAgICAgICAgICAgXCJmaWVsZE5hbWVcIjogXCJndXJhbnRlZWRBbm51aXR5YWdlXCIsXHJcbiAgICAgICAgICAgICAgICBcImxhYmVsXCI6IFwiR3VhcmFudGVlZCBBbm51aXR5ICVhZ2VcIixcclxuICAgICAgICAgICAgICAgIFwicGxhY2VIb2xkZXJcIjogXCJcIixcclxuICAgICAgICAgICAgICAgIFwibWV0YUlkXCI6IFwiTElfRFBfRFBfQ1RSTF9yYWRpb19hbm51aXR5VHlwZV9WMVwiLFxyXG4gICAgICAgICAgICAgICAgXCJpc1Zpc2libGVcIjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIFwiaXNEaXNhYmxlXCI6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgXCJ2YWxpZGF0b3JzXCI6IHtcclxuICAgICAgICAgICAgICAgICAgXCJpc1JlcXVpcmVkXCI6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgIFwicmVxdWlyZWRNZXNzYWdlXCI6IFwiVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHlcIixcclxuICAgICAgICAgICAgICAgICAgXCJtaW5MZW5ndGhcIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJtaW5MZW5ndGhNZXNzYWdlXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwibWF4TGVuZ3RoXCI6IDE1MCxcclxuICAgICAgICAgICAgICAgICAgXCJtYXhMZW5ndGhNZXNzYWdlXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwicGF0dGVyblwiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICBcInBhdHRlcm5NZXNzYWdlXCI6IFwiXCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBcIm9wdGlvbnNcIjogW10sXHJcbiAgICAgICAgICAgICAgICBcImNzc0NsYXNzXCI6IFwiIGNvbC1zbS0xMiBjb2wtbWQtMyBjb2wtbGctMyBjb2wteGwtMyBhbm51aXR5VHlwZVwiLFxyXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgXCJzdHlsZVwiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgXCJpbWFnZVVybFwiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgXCJjb250cm9sU3R5bGVcIjoge1xyXG4gICAgICAgICAgICAgICAgICBcImNvbnRyb2xUeXBlXCI6IFwicmFkaW9cIixcclxuICAgICAgICAgICAgICAgICAgXCJib3JkZXJDb2xvclwiOiBcIiNEQURBREFcIixcclxuICAgICAgICAgICAgICAgICAgXCJib3JkZXJXaWR0aFwiOiBcIjFweFwiLFxyXG4gICAgICAgICAgICAgICAgICBcImJvcmRlclJhZGl1c1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICBcImZvbnRTaXplXCI6IFwiMTJweFwiLFxyXG4gICAgICAgICAgICAgICAgICBcImZvbnRXZWlnaHRcIjogXCI0MDBcIixcclxuICAgICAgICAgICAgICAgICAgXCJmb250RmFtaWx5XCI6IFwiTXVsaXNoXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiY29sb3JcIjogXCIjNDQ0NDQ0XCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiYmFja2dyb3VuZFwiOiBcIiNGRkZGRkZcIixcclxuICAgICAgICAgICAgICAgICAgXCJjYXJldENvbG9yXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwibnVkZ2VEaXNwbGF5SW1hZ2VcIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkJnQ29sb3JcIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkNvbG9yXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0XCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwid2lkdGhcIjogXCI0NXB4XCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNCb3JkZXJXaWR0aFwiOiBcIjFweFwiLFxyXG4gICAgICAgICAgICAgICAgICBcImZvY3VzQm9yZGVyQ29sb3JcIjogXCIjZmZiYjAwXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNCYWNrZ3JvdW5kXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNDb2xvclwiOiBcIiM0NDQ0NDRcIixcclxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Db2xvclwiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0XCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnRcIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwiaG92ZXJCb3JkZXJDb2xvclwiOiBcIiNEQURBREFcIixcclxuICAgICAgICAgICAgICAgICAgXCJob3ZlckJvcmRlcldpZHRoXCI6IFwiMXB4XCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiaG92ZXJDb2xvclwiOiBcIiM0NDQ0NDRcIixcclxuICAgICAgICAgICAgICAgICAgXCJkaXNhYmxlQ29sb3JcIjogXCIjRUNFQ0VDXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZUJhY2tncm91bmRcIjogXCIjRUNFQ0VDXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiZXJyb3JCb3JkZXJDb2xvclwiOiBcIiNEQURBREFcIixcclxuICAgICAgICAgICAgICAgICAgXCJlcnJvckJvcmRlcldpZHRoXCI6IFwiMXB4XCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiZXJyb3JDb2xvclwiOiBcIiM0NDQ0NDRcIixcclxuICAgICAgICAgICAgICAgICAgXCJjcmVhdGVkRGF0ZVwiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICBcInBhZGRpbmdcIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJtYXJnaW5cIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJpc01hc3RlckNzc1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICBcImNvbnRyb2xNZXRhSWRcIjogXCJMSV9EUF9EUF9DVFJMX3JhZGlvX2FubnVpdHlUeXBlX1YxXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiYm9yZGVyU3R5bGVcIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJoZWlnaHRcIjogXCIzMnB4XCIsXHJcbiAgICAgICAgICAgICAgICAgIFwibWluSGVpZ2h0XCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwibWF4SGVpZ2h0XCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwibWluV2lkdGhcIjogXCI0NXB4XCIsXHJcbiAgICAgICAgICAgICAgICAgIFwibWF4V2lkdGhcIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJjc3NDbGFzc1wiOiBudWxsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXCJjb2x1bW5JbmRleFwiOiAwLFxyXG4gICAgICAgICAgICAgICAgXCJjb25maWdEYXRhXCI6IHt9LFxyXG4gICAgICAgICAgICAgICAgXCJjb250cm9sU3R5bGVzXCI6IG51bGxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFzdGVyU2VydmljZSA6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoIChjaGFuZ2VzWydwcmVtaXVtRGV0YWlscyddKSAmJiAhdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkoY2hhbmdlc1sncHJlbWl1bURldGFpbHMnXS5jdXJyZW50VmFsdWUpICkge1xyXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtKSkge1xyXG4gICAgICAgIC8vIENyZWF0ZSBuZXcgb2JqZWN0IHRvIHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvblxyXG4gICAgICAgIHRoaXMuYW5udWl0eVByZW1pdW0gPSB7XHJcbiAgICAgICAgICB0ZXh0VmFsdWU6IHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bVsndGV4dFZhbHVlJ10sXHJcbiAgICAgICAgICBzZWxlY3RWYWx1ZTogdGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtWydzZWxlY3RWYWx1ZSddXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW0sICdpc0Rpc2FibGUnKSkge1xyXG4gICAgICAgICAgdGhpcy5hbm51aXR5UHJlbWl1bU9ialsnaXNEaXNhYmxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ2lzRGlzYWJsZSddO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihPYmplY3QuaGFzT3duKHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bSwgJ2lzRGlzYWJsZURyb3Bkb3duJykpIHtcclxuICAgICAgICAgIHRoaXMuYW5udWl0eVByZW1pdW1PYmpbJ2NvbmZpZ0RhdGEnXVsnaXNEaXNhYmxlRHJvcGRvd24nXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bVsnaXNEaXNhYmxlRHJvcGRvd24nXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW0sICdvcHRpb25zJykpIHtcclxuICAgICAgICAgIHRoaXMuYW5udWl0eVByZW1pdW1PYmpbJ29wdGlvbnMnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bVsnb3B0aW9ucyddO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eSkpIHtcclxuICAgICAgICAvLyBDcmVhdGUgbmV3IG9iamVjdCB0byB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb25cclxuICAgICAgICB0aGlzLm1pbnVtdW1Bbm51aXR5UGF5b3V0ID0ge1xyXG4gICAgICAgICAgdGV4dFZhbHVlOiB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ3RleHRWYWx1ZSddLFxyXG4gICAgICAgICAgc2VsZWN0VmFsdWU6IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVsnc2VsZWN0VmFsdWUnXVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5LCAnaXNEaXNhYmxlJykpIHtcclxuICAgICAgICAgIHRoaXMubWluaW11bUFubnVpdHlQYXlvdXRPYmpbJ2lzRGlzYWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5Wydpc0Rpc2FibGUnXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHksICdpc0Rpc2FibGVEcm9wZG93bicpKSB7XHJcbiAgICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqWydjb25maWdEYXRhJ11bJ2lzRGlzYWJsZURyb3Bkb3duJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ2lzRGlzYWJsZURyb3Bkb3duJ107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5LCAnb3B0aW9ucycpKSB7XHJcbiAgICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqWydvcHRpb25zJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ29wdGlvbnMnXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlUYWJsZUNhbGN1bGF0b3IpKSB7XHJcbiAgICAgICAgLy8gQ3JlYXRlIG5ldyBvYmplY3QgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uXHJcbiAgICAgICAgdGhpcy5hbm51aXR5VGFibGVDYWxjdWxhdG9yID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5VGFibGVDYWxjdWxhdG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5KSkge1xyXG5cclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5Wydjb250cm9sU3R5bGUnXSkpIHtcclxuICAgICAgICAgIHRoaXMucmVjYWxjdWxhdGVCdXR0b25bJ2NvbnRyb2xTdHlsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5Wydjb250cm9sU3R5bGUnXVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnbGFiZWwnXSkpIHtcclxuICAgICAgICAgIHRoaXMucmVjYWxjdWxhdGVCdXR0b25bJ2xhYmVsJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmNhbGN1bGF0ZUFubnVpdHlbJ2xhYmVsJ11cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnaXNEaXNhYmxlJ10pKSB7XHJcbiAgICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQnV0dG9uWydpc0Rpc2FibGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnaXNEaXNhYmxlJ11cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vZ3VyYW50ZWVkIEFubnVpdHkgb3B0aW9uc1xyXG5cclxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eSkpIHtcclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ndXJhbnRlZWRBbm51aXR5WydvcHRpb25zJ10pKSB7XHJcbiAgICAgICAgICB0aGlzLmd1cmFudGVlZGFubnVpdHlPYmpbJ29wdGlvbnMnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eVsnb3B0aW9ucyddO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnkpKSB7XHJcblxyXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnY29udHJvbFN0eWxlJ10pKSB7XHJcbiAgICAgICAgICB0aGlzLmdlbmVyYXRlU3VtbWFyeU9ialsnY29udHJvbFN0eWxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnY29udHJvbFN0eWxlJ107XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2xhYmVsJ10pKSB7XHJcbiAgICAgICAgICB0aGlzLmdlbmVyYXRlU3VtbWFyeU9ialsnbGFiZWwnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5WydsYWJlbCddO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2lzRGlzYWJsZSddKSkge1xyXG4gICAgICAgICAgdGhpcy5nZW5lcmF0ZVN1bW1hcnlPYmpbJ2lzRGlzYWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2lzRGlzYWJsZSddXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hdXRvUGF5T3B0aW9uKSkge1xyXG5cclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hdXRvUGF5T3B0aW9uWydpc1Zpc2libGUnXSkpIHtcclxuICAgICAgICAgIHRoaXMuZW5hYmxlQXV0b0RlYml0T2JqWydpc1Zpc2libGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYXV0b1BheU9wdGlvblsnaXNWaXNpYmxlJ107XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hdXRvUGF5T3B0aW9uWydpc1Zpc2libGUnXSkpIHtcclxuICAgICAgICAgIHRoaXMuaXNFbmFibGVBdXRvRGViaXQgPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb25bJ2lzRW5hYmxlQXV0b0RlYml0J107XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbGN1bGF0ZUJ1dHRvbkNsaWNrZWQoKSB7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25zLmlzcHJlbWl1bUVudHJ5ID0gZmFsc2U7XHJcbiAgICBpZih0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLmFubnVpdHlQcmVtaXVtWyd0ZXh0VmFsdWUnXSkpIHtcclxuICAgICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQ2FsY3VhbHRlQnV0dG9uQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVTdW1tYXJ5Q2xpY2tlZCgpIHtcclxuICAgIHRoaXMub25HZW5lcmF0ZVN1bW1hcnlDbGljay5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkFubnVpdHlQcmVtaXVtVmFsdWVDaGFuZ2UodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5hbm51aXR5UHJlbWl1bSA9IHZhbHVlO1xyXG4gICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IGZhbHNlO1xyXG4gICAgaWYodGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5hbm51aXR5UHJlbWl1bVsndGV4dFZhbHVlJ10pKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGlvbnMuaXNwcmVtaXVtRW50cnkgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbkFubnVpdHlQcmVtaXVtQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuICBvbk1pblByZW1pdW1WYWx1ZUNoYW5nZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLm1pbnVtdW1Bbm51aXR5UGF5b3V0ID0gdmFsdWU7XHJcbiAgICB0aGlzLm9uTWluaW11bVByZW1pdW1WYWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIG9uRW5hYmxlQXV0b0RlYml0VmFsdWVDaGFuZ2UoZXZlbnQgOiBhbnkpIHtcclxuICAgIHRoaXMub25BdXRpb0RlYml0VmFsdWVDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBvbkd1cmFudGVlZEFubnVpdHlDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gIH1cclxuXHJcbiAgYW5udWFsSW5jb21lZm9jdXNPdXQoKSB7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25zLmlzcHJlbWl1bUVudHJ5ID0gZmFsc2U7XHJcbiAgICBpZih0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLmFubnVpdHlQcmVtaXVtWyd0ZXh0VmFsdWUnXSkpIHtcclxuICAgICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHB4LTNcIiBzdHlsZT1cInBhZGRpbmc6IDE2cHg7XCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGg0IGNsYXNzPVwiY2FyZC1tYWluLXRpdGxlXCI+PHNwYW4gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEycHg7XCI+PGltZyBzcmM9XCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9jYWxjdWxhdG9yLnN2Z1wiIGFsdD1cImFubnVpdHkgY2FsY3VsYXRvclwiPjwvc3Bhbj5IZXJlJ3MgeW91ciBQcmVtaXVtIHRvIEFubnVpdHkgQ2FsY3VsYXRvcjwvaDQ+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLSA8ZGl2IGNsYXNzPVwicm93XCI+IC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIHBiLTQgcHgtNFwiIHN0eWxlPVwiYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4OyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4O1wiPlxyXG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwiY3VzdG9tLWdyaWQtdGVtcGxhdGVcIj5cclxuXHJcbiAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBteC1hdXRvXCIgc3R5bGU9XCJ0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIC01OCUpO1wiPlxyXG4gICAgICA8bGliLXRvZ2dsZSBjbGFzcz1cImNvbC1hdXRvXCIgW2ZpZWxkXT1cImFubnVpdHlQcmVtaXVtVG9nZ2xlT2JqXCIgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSA8L2Rpdj4gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiIGNvbC0xMlwiIHN0eWxlPVwiXHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG5cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC01IGNvbC1sZy01IGQtZmxleCBmbGV4LWNvbHVtbiBwLTBcIj5cclxuICAgICAgICA8bGliLXNlbGVjdC10ZXh0Ym94IFtmaWVsZF09XCJhbm51aXR5UHJlbWl1bU9ialwiIFsobmdNb2RlbCldPVwiYW5udWl0eVByZW1pdW1cIiAobmdNb2RlbENoYW5nZSk9XCJvbkFubnVpdHlQcmVtaXVtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInZhbGlkYXRpb25zLmlzcHJlbWl1bUVudHJ5XCI+XHJcbiAgICAgICAgICBFbnRlciBQcmVtaXVtXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICA8bGliLXRvZ2dsZSBbZmllbGRdPVwiZW5hYmxlQXV0b0RlYml0T2JqXCIgWyhuZ01vZGVsKV09XCJpc0VuYWJsZUF1dG9EZWJpdFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uRW5hYmxlQXV0b0RlYml0VmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0yIGNvbC1sZy0yIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDZweCk7IHBvc2l0aW9uOiByZWxhdGl2ZTtcIj5cclxuICAgICAgICA8IS0tIFZlcnRpY2FsIGNlbnRlciBsaW5lIHNwbGl0IGFyb3VuZCBpY29uIC0tPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB3aWR0aDogMXB4O2hlaWdodDogY2FsYyg1MCUgLSAxNnB4KTsgdG9wOiAwOyBiYWNrZ3JvdW5kOiByZ2JhKDIyMSwgMjIxLCAyMjEsIDEpXCI+PC9kaXY+XHJcbiAgICAgICAgPGxpYi1pY29uLWJ1dHRvbiBbZmllbGRdPVwiaW50ZXJjaGFuZ2VCdXR0b25PYmpcIiAvPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB3aWR0aDogMXB4OyBoZWlnaHQ6IGNhbGMoNTAlIC0gMTZweCk7IGJvdHRvbTogMDsgYmFja2dyb3VuZDogcmdiYSgyMjEsIDIyMSwgMjIxLCAxKVwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC01IGNvbC1sZy01IGQtZmxleCBmbGV4LWNvbHVtbiBwLTBcIj5cclxuICAgICAgICA8bGliLXNlbGVjdC10ZXh0Ym94IFtmaWVsZF09XCJtaW5pbXVtQW5udWl0eVBheW91dE9ialwiIFsobmdNb2RlbCldPVwibWludW11bUFubnVpdHlQYXlvdXRcIiAgKG5nTW9kZWxDaGFuZ2UpPVwib25NaW5QcmVtaXVtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwibWluaXVtLWFubnVpdHkgbXQtM1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJhbm51aXR5LW1zZyB3LTEwMCBweC0yIHB5LTFcIj5cclxuICAgIFZhbHVlIGJhc2VkIG9uIGFzc3VtZWQgMTAlIGFubnVhbCBncm93dGggb2YgTmlmdHkgNTAgaW5kZXguXHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInctMTAwIHB4LTIgcHktMVwiPlxyXG4gICAgPGxpYi1yYWRpbyBbZmllbGRdPVwiZ3VyYW50ZWVkYW5udWl0eU9ialwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRHdXJhbnRlZWRBbm51aXR5XCIgKG5nTW9kZWxDaGFuZ2UpPVwib25HdXJhbnRlZWRBbm51aXR5Q2hhbmdlKCRldmVudClcIiAvPlxyXG4gIDwvZGl2PlxyXG4gPGRpdiBjbGFzcz1cImFubnVpdHktbXNnLTEgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LW5vd3JhcCB3LTEwMCBweC0yIHB5LTFcIj5cclxuICA8aW1nIHNyYz1cImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9zdHJlYW1saW5lX2dyYXBoLWFycm93LWluY3JlYXNlLXJlbWl4LnBuZ1wiIHN0eWxlPVwibWF4LXdpZHRoOiAyNHB4O1wiIC8+XHJcbiAgPHNwYW4+UG90ZW50aWFsIGZvciBoaWdoZXIgcmV0dXJucyBieSBsb3dlcmluZyB0aGUgbWluaW11bSBndWFyYW50ZWVkIGFubnVpdHkgcmF0ZS48L3NwYW4+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIDxkaXYgY2xhc3M9XCJ2ZXJ0aWNhbC1saW5lXCI+PC9kaXY+IC0tPlxyXG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwiY3VzdG9tLWdyaWQtdGVtcGxhdGVcIj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8bGliLXRvZ2dsZSBbZmllbGRdPVwiZW5hYmxlQXV0b0RlYml0T2JqXCIgWyhuZ01vZGVsKV09XCJpc0VuYWJsZUF1dG9EZWJpdFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uRW5hYmxlQXV0b0RlYml0VmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+IC0tPlxyXG5cclxuICA8L2Rpdj5cclxuXHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIHB5LTMgbWItNCBib3JkZXItdG9wLTBcIiBzdHlsZT1cImJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJteC00XCI+XHJcbiAgICAgIDxsaWItYnV0dG9uIFtmaWVsZF09XCJyZWNhbGN1bGF0ZUJ1dHRvblwiIChjbGljayk9XCJjYWxjdWxhdGVCdXR0b25DbGlja2VkKClcIiAvPlxyXG4gICAgIDxkaXYgY2xhc3M9XCJjYXJkICBtYi0wIG10LTJcIiBzdHlsZT1cImFsaWduLWl0ZW1zOiBjZW50ZXI7Ym9yZGVyOm5vbmU7Zm9udC1zaXplOiA4cHg7Zm9udC13ZWlnaHQ6IDQwMDtjb2xvcjpyZ2JhKDY4LCA2OCwgNjgsIDEpIFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm14LTRcIj48aW1nIHNyYz1cImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9Hcm91cCsxMDEwMTA2MzM2LnBuZ1wiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDNweDtcIi8+XHJcbiAgICAgIDxzcGFuIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDZweDtcIj5FdmVyeSB0aW1lIHlvdSBtYWtlIGEgY2hhbmdlIGFib3ZlLCBwbGVhc2UgY2xpY2sgcmVjYWxjdWxhdGUuPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O2FsaWduLWl0ZW1zOiBjZW50ZXI7anVzdGlmeS1jb250ZW50OiBjZW50ZXI7Ym9yZGVyOm5vbmU7Zm9udC1zaXplOiAxMHB4O2ZvbnQtd2VpZ2h0OiA3MDA7aGVpZ2h0OjMycHg7YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1MCwgMjM1LCAxKTtnYXA6IDhweDttYXJnaW46IDRweDtcIiAqbmdJZj1cImFubnVpdHlUYWJsZUNhbGN1bGF0b3I/LmlzVmlzaWJsZVwiPlxyXG4gICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9jYWxjdWxhdG9yLnN2Z1wiLz5cclxuICAgICAgTWluaW11bSBHdWFyYW50ZWVkIFBheW91dChBKSArIFZhcmlhYmxlIFBheW91dChCKSA9IFRvdGFsIFBheW91dChDKVxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gYW5udWl0eSBjYWxjdWxhdG9yIHRhYmxlIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImFubnVpdHktdGFibGVzLW1haW4tY29udGFpbmVyXCIgKm5nSWY9XCJhbm51aXR5VGFibGVDYWxjdWxhdG9yPy5pc1Zpc2libGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgYW5udWl0eS10YWJsZXMtY29udGFpbmVyXCI+XHJcbiAgICAgIDwhLS0gVGFibGUgMSAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktY2FsY3VsYXRvci10YWJsZTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyIGFubnVpdHl0YWJsZTEtaGVhZGVyXCI+TWluaW11bSBHdWFyYW50ZWVkIEFubnVpdHkgUGF5b3V0KEEpPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jZWxsXCI+PHNwYW4gY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjEycHg7IGNvbG9yOiByZ2JhKDY4LCA2OCwgNjgsIDEpO1wiPjx7e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTF2YWwxfX0+PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFubnVpdHl0YWJsZS1idXR0b25cIj57e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTF2YWwyfX08L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwib3BlcmF0b3Itc3ltYm9sXCI+KzwvZGl2PlxyXG5cclxuICAgICAgPCEtLSBUYWJsZSAyIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXRhYmxlMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXIgYW5udWl0eXRhYmxlMS1oZWFkZXJcIj5Bc3N1bWUgZ3Jvd3RoIG9mIEJlbmNoTWFyayBpbmRleDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+JiM2NDt7e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTJ2YWwxfX08L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj4mIzY0O3t7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlMnZhbDJ9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPiYjNjQ7e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGUydmFsM319PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLSBUYWJsZSAzIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXRhYmxlM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXIgYW5udWl0eXRhYmxlMS1oZWFkZXJcIj4xc3QgVmFyaWFibGUgQW5udWl0eSBQYXlvdXQoQik8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPjxzcGFuIGNsYXNzPVwicnVwZWUtaWNvblwiPuKCuTwvc3Bhbj57e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTN2YWwxfX08L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj48c3BhbiBjbGFzcz1cInJ1cGVlLWljb25cIj7igrk8L3NwYW4+e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGUzdmFsMn19PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+PHNwYW4gY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDN9fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvcGVyYXRvci1zeW1ib2xcIj49PC9kaXY+XHJcblxyXG4gICAgICA8IS0tIFRhYmxlIDQgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhbm51aXR5LWNhbGN1bGF0b3ItdGFibGU0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlciBhbm51aXR5dGFibGU0LWhlYWRlclwiPjFzdCBUb3RhbFBheW91dC9GcmVxdWVuY3koQyk8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvdyBhbm51aXR5dGFibGU0LWJnXCI+PHNwYW4gY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDF9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvdyBhbm51aXR5dGFibGU0LWJnXCI+PHNwYW4gY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDJ9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvdyBhbm51aXR5dGFibGU0LWJnXCI+PHNwYW4gY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDN9fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICA8L2Rpdj5cclxuXHJcbiAgIDxkaXYgY2xhc3M9XCJhbm51aXR5LWNhbGN1bGF0b3ItcGFyYWdyYXBoXCIgKm5nSWY9XCJhbm51aXR5VGFibGVDYWxjdWxhdG9yPy5pc1Zpc2libGVcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXBhcmFncmFwaDFcIj5UaGlzIGlzIGFuIGFzc3VtZWQgZ3Jvd3RoIHBlcmNlbnRhZ2UgZm9yIHRoZSBpbmRleCBiYXNpcyB3aGljaCB0aGUgdmFsdWVzIGluIGNvbHVtbnMgQiBhbmQgQyBhcmUgY2FsY3VsYXRlZC48L3NwYW4+IEFjdHVhbCBncm93dGggd2lsbCBkZXBlbmQgb24gaW5kZXggcGVyZm9ybWFuY2UgYW5kIG1heSBhZmZlY3QgeW91ciB2YXJpYWJsZSBhbm51aXR5IHBheW91dCBhbmQgdG90YWwgYW5udWl0eSBwYXlvdXQuXHJcbiAgIDwvZGl2PlxyXG5cclxuICA8ZGl2PlxyXG4gICAgPGxpYi1idXR0b24gW2ZpZWxkXT1cImdlbmVyYXRlU3VtbWFyeU9ialwiIChjbGljayk9XCJnZW5lcmF0ZVN1bW1hcnlDbGlja2VkKClcIiAvPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
831
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi9hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvci9hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBa0I3QyxNQUFNLE9BQU8saUNBQWlDO0lBdXJCekI7SUF0ckJuQixLQUFLLEdBQVEsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQ25DLGNBQWMsR0FBUSxLQUFLLENBQU0sRUFBRSxDQUFDLENBQUM7SUFDckMsY0FBYyxHQUFTO1FBQ3JCLFNBQVMsRUFBRyxFQUFFO1FBQ2QsV0FBVyxFQUFFLEVBQUU7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QUN0QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFVO0lBQ25DLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLElBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1RSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7d0dBOXpCVSxpQ0FBaUM7NEZBQWpDLGlDQUFpQyx3cEJDekI5QyxpbVBBa0lBLHcwSERwSEksZUFBZSw0SEFDZixzQkFBc0IsK0dBQ3RCLGVBQWUsMEVBQ2YsbUJBQW1CLCtFQUNuQixjQUFjLDBIQUNkLFlBQVksa0lBQ1osV0FBVzs7NEZBS0YsaUNBQWlDO2tCQWY3QyxTQUFTOytCQUNFLGdDQUFnQyxjQUM5QixJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osV0FBVztxQkFDWjt5RkFlUyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRywyQkFBMkI7c0JBQXBDLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGlucHV0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RUZXh0Ym94Q29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0LXRleHRib3gvc2VsZWN0LXRleHRib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9Db21wb25lbnQgfSBmcm9tICcuLi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWFzdGVyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi9tYXN0ZXItY29udHJvbC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFRvZ2dsZUNvbXBvbmVudCxcclxuICAgIFNlbGVjdFRleHRib3hDb21wb25lbnQsXHJcbiAgICBCdXR0b25Db21wb25lbnQsXHJcbiAgICBJY29uQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgUmFkaW9Db21wb25lbnQsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50LmNzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm51aXR5UHJlbWl1bUNhbGN1bGF0b3JDb21wb25lbnQge1xyXG4gIGZpZWxkOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XHJcbiAgcHJlbWl1bURldGFpbHM6IGFueSA9IGlucHV0PGFueT4oe30pO1xyXG4gIGFubnVpdHlQcmVtaXVtIDogYW55ID0ge1xyXG4gICAgdGV4dFZhbHVlIDogJycsXHJcbiAgICBzZWxlY3RWYWx1ZTogJydcclxuICB9O1xyXG4gIG1pbnVtdW1Bbm51aXR5UGF5b3V0IDogYW55ID0ge1xyXG4gICAgdGV4dFZhbHVlIDogJycsXHJcbiAgICBzZWxlY3RWYWx1ZTogJydcclxuICB9O1xyXG4gIEBPdXRwdXQoKSBvbkNhbGN1YWx0ZUJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG9uR2VuZXJhdGVTdW1tYXJ5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25Bbm51aXR5UHJlbWl1bUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBvbk1pbmltdW1QcmVtaXVtVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25BdXRpb0RlYml0VmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICB2YWxpZGF0aW9ucyA6IGFueSA9IHtcclxuICAgIGlzcHJlbWl1bUVudHJ5IDogZmFsc2VcclxuICB9XHJcbiAgaXNFbmFibGVBdXRvRGViaXQgOiBhbnkgPSBmYWxzZTtcclxuICBzZWxlY3RlZEd1cmFudGVlZEFubnVpdHk6IGFueSA9IG51bGw7XHJcbiAgYW5udWl0eVByZW1pdW1Ub2dnbGVPYmo6IGFueSA9IHtcclxuICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcclxuICAgIGZpZWxkTmFtZTogJ2FubnVpdHlQcmVtaXVtVG9nZ2xlJyxcclxuICAgIGxhYmVsOiAnRW50ZXIgQW5udWl0eScsXHJcbiAgICBwbGFjZUhvbGRlcjogbnVsbCxcclxuICAgIG1ldGFJZDogJ0xJX0RQX0dFTl9DVFJMX3RvZ2dsZV9hbm51aXR5UHJlbWl1bVRvZ2dsZV9WMScsXHJcbiAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICBpc0Rpc2FibGU6IHRydWUsXHJcbiAgICB2YWxpZGF0b3JzOiB7XHJcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxyXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eScsXHJcbiAgICAgIG1pbkxlbmd0aDogbnVsbCxcclxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoOiAxNTAsXHJcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXHJcbiAgICAgIHBhdHRlcm46IG51bGwsXHJcbiAgICAgIHBhdHRlcm5NZXNzYWdlOiAnJyxcclxuICAgIH0sXHJcbiAgICBvcHRpb25zOiBudWxsLFxyXG4gICAgY3NzQ2xhc3M6XHJcbiAgICAgICcgY29sLXNtLTEyIGNvbC1tZC0xMiBjb2wtbGctMTIgY29sLXhsLTEyIG14LWF1dG8gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJyxcclxuICAgIHZhbHVlOiBudWxsLFxyXG4gICAgc3R5bGU6IG51bGwsXHJcbiAgICBpbWFnZVVybDogbnVsbCxcclxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxyXG4gICAgY29udHJvbFN0eWxlOiB7XHJcbiAgICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcclxuICAgICAgYm9yZGVyQ29sb3I6ICcjREFEQURBJyxcclxuICAgICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxyXG4gICAgICBib3JkZXJSYWRpdXM6ICc5OTlweCcsXHJcbiAgICAgIGZvbnRTaXplOiAnMTJweCcsXHJcbiAgICAgIGZvbnRXZWlnaHQ6ICc0MDAnLFxyXG4gICAgICBmb250RmFtaWx5OiAnTXVsaXNoJyxcclxuICAgICAgY29sb3I6ICcjNDQ0NDQ0JyxcclxuICAgICAgYmFja2dyb3VuZDogJyNGRkZGRkYnLFxyXG4gICAgICBjYXJldENvbG9yOiBudWxsLFxyXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxyXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXHJcbiAgICAgIGZvY3VzQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcclxuICAgICAgaG92ZXJCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcclxuICAgICAgZGlzYWJsZUNvbG9yOiAnI0VDRUNFQycsXHJcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiAnI0VDRUNFQycsXHJcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXHJcbiAgICAgIGVycm9yQ29sb3I6IG51bGwsXHJcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxyXG4gICAgICBwYWRkaW5nOiBudWxsLFxyXG4gICAgICBtYXJnaW46IG51bGwsXHJcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxyXG4gICAgICBjb250cm9sTWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfdG9nZ2xlX2FubnVpdHlQcmVtaXVtVG9nZ2xlX1YxJyxcclxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXHJcbiAgICAgIGhlaWdodDogbnVsbCxcclxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxyXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1pbldpZHRoOiBudWxsLFxyXG4gICAgICBtYXhXaWR0aDogbnVsbCxcclxuICAgICAgY3NzQ2xhc3M6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY29sdW1uSW5kZXg6IDAsXHJcbiAgICBjb25maWdEYXRhOiB7XHJcbiAgICAgIGxlZnRMYWJlbDogJ0VudGVyIFByZW1pdW0nLFxyXG4gICAgfSxcclxuICAgIGNvbnRyb2xTdHlsZXM6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgYW5udWl0eVRhYmxlQ2FsY3VsYXRvciA6YW55ID0ge1xyXG4gICAgXCJpc1Zpc2libGVcIjogZmFsc2UsXHJcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUxdmFsMVwiOiBcIlwiLFxyXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlMXZhbDJcIjogXCJcIixcclxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTJ2YWwxXCI6IFwiXCIsXHJcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUydmFsMlwiOiBcIlwiLFxyXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlMnZhbDNcIjogXCJcIixcclxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTN2YWwxXCI6IFwiXCIsXHJcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUzdmFsMlwiOiBcIlwiLFxyXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDNcIjogXCJcIixcclxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTR2YWwxXCI6IFwiXCIsXHJcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGU0dmFsMlwiOiBcIlwiLFxyXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDNcIjogXCJcIlxyXG5cclxuXHJcbiAgfTtcclxuXHJcbiAgYW5udWl0eVByZW1pdW1PYmo6IGFueSA9IHtcclxuICAgIGNvbnRyb2xTdHlsZToge1xyXG4gICAgICBjb250cm9sVHlwZTogJ2Ftb3VudFRleHRib3gnLFxyXG4gICAgICBib3JkZXJDb2xvcjogJyNEQURBREEnLFxyXG4gICAgICBib3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgYm9yZGVyUmFkaXVzOiBudWxsLFxyXG4gICAgICBmb250U2l6ZTogJzE2cHgnLFxyXG4gICAgICBmb250V2VpZ2h0OiAnNDAwJyxcclxuICAgICAgZm9udEZhbWlseTogJ011bGlzaCcsXHJcbiAgICAgIGNvbG9yOiAnIzQ0NDQ0NCcsXHJcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZGRkZGJyxcclxuICAgICAgY2FyZXRDb2xvcjogJyNmZmJiMDAnLFxyXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIHdpZHRoOiBudWxsLFxyXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiAnI2ZmYmIwMCcsXHJcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcclxuICAgICAgZm9jdXNDb2xvcjogJyM0NDQ0NDQnLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXHJcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6ICcjRkZCQjAwJyxcclxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgaG92ZXJDb2xvcjogJyM0NDQ0NDQnLFxyXG4gICAgICBkaXNhYmxlQ29sb3I6ICcjRUNFQ0VDJyxcclxuICAgICAgZGlzYWJsZUJhY2tncm91bmQ6ICcjRUNFQ0VDJyxcclxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogJyNFRTAwMDAnLFxyXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBlcnJvckNvbG9yOiAnIzQ0NDQ0NCcsXHJcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxyXG4gICAgICBwYWRkaW5nOiBudWxsLFxyXG4gICAgICBtYXJnaW46IG51bGwsXHJcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxyXG4gICAgICBjb250cm9sTWV0YUlkOiAnQUxMX0RQX0RQX0NUUkxfYW1vdW50VGV4dGJveF9hbm51aXR5UHJlbWl1bV9WMScsXHJcbiAgICAgIGJvcmRlclN0eWxlOiBudWxsLFxyXG4gICAgICBoZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcclxuICAgICAgbWF4SGVpZ2h0OiBudWxsLFxyXG4gICAgICBtaW5XaWR0aDogbnVsbCxcclxuICAgICAgbWF4V2lkdGg6IG51bGwsXHJcbiAgICAgIGNzc0NsYXNzOiBudWxsLFxyXG4gICAgfSxcclxuICAgIGZpZWxkTmFtZTogJ2FubnVpdHlQcmVtaXVtJyxcclxuICAgIGxhYmVsOiAnUHJlbWl1bScsXHJcbiAgICBwbGFjZUhvbGRlcjogJ0VudGVyIFByZW1pdW0nLFxyXG4gICAgbWV0YUlkOiAnQUxMX0RQX0RQX0NUUkxfYW1vdW50VGV4dGJveF9hbm51aXR5UHJlbWl1bV9WMScsXHJcbiAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxyXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxyXG4gICAgdmFsaWRhdG9yczoge1xyXG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnRW50ZXIgUHJlbWl1bScsXHJcbiAgICAgIG1pbkxlbmd0aDogNCxcclxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoOiAxMCxcclxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgcGF0dGVybjogbnVsbCxcclxuICAgICAgcGF0dGVybk1lc3NhZ2U6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgb3B0aW9uczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdmFsdWU6ICdNb250aGx5JyxcclxuICAgICAgICBsYWJlbDogJ01vbnRobHknLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdmFsdWU6ICdPbmUgVGltZScsXHJcbiAgICAgICAgbGFiZWw6ICdPbmUgVGltZScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ1F1YXJ0ZXJseScsXHJcbiAgICAgICAgbGFiZWw6ICdRdWFydGVybHknLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdmFsdWU6ICdIYWxmIFllYXJseScsXHJcbiAgICAgICAgbGFiZWw6ICdIYWxmIFllYXJseScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ1llYXJseScsXHJcbiAgICAgICAgbGFiZWw6ICdZZWFybHknLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICAgIGNzc0NsYXNzOiAnIGNvbC1zbS0xMiBjb2wtbWQtMyBjb2wtbGctMyBjb2wteGwtMyBweS0wIHBsLTMgcHItMCBtdC01IHB0LTInLFxyXG4gICAgdmFsdWU6IG51bGwsXHJcbiAgICBzdHlsZTogbnVsbCxcclxuICAgIGltYWdlVXJsOiBudWxsLFxyXG4gICAgY29uZmlnRGF0YToge1xyXG4gICAgICBpc0NvbWFTZXBlcmF0ZWQ6IHRydWUsXHJcbiAgICAgIGlzQWxsb3dOdW1iZXJzSW5UZXh0RmllbGRzOiB0cnVlXHJcbiAgICB9LFxyXG4gICAgbWV0YURhdGFPYmo6IG51bGwsXHJcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcclxuICAgIGlzTWFzdGVyQ29udHJvbDogZmFsc2UsXHJcbiAgICBjb250cm9sVHlwZTogJ2Ftb3VudFRleHRib3gnLFxyXG4gIH07XHJcblxyXG4gIG1pbmltdW1Bbm51aXR5UGF5b3V0T2JqOiBhbnkgPSB7XHJcbiAgICBjb250cm9sU3R5bGU6IHtcclxuICAgICAgY29udHJvbFR5cGU6ICdhbW91bnRUZXh0Ym94JyxcclxuICAgICAgYm9yZGVyQ29sb3I6ICcjREFEQURBJyxcclxuICAgICAgYm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXHJcbiAgICAgIGJvcmRlclJhZGl1czogbnVsbCxcclxuICAgICAgZm9udFNpemU6ICcxNnB4JyxcclxuICAgICAgZm9udFdlaWdodDogJzQwMCcsXHJcbiAgICAgIGZvbnRGYW1pbHk6ICdNdWxpc2gnLFxyXG4gICAgICBjb2xvcjogJyM0NDQ0NDQnLFxyXG4gICAgICBiYWNrZ3JvdW5kOiAnI0ZGRkZGRicsXHJcbiAgICAgIGNhcmV0Q29sb3I6ICcjZmZiYjAwJyxcclxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXHJcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICB3aWR0aDogbnVsbCxcclxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogJyNmZmJiMDAnLFxyXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXHJcbiAgICAgIGZvY3VzQ29sb3I6ICcjNDQ0NDQ0JyxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzOiBudWxsLFxyXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiAnI0ZGQkIwMCcsXHJcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXHJcbiAgICAgIGhvdmVyQ29sb3I6ICcjNDQ0NDQ0JyxcclxuICAgICAgZGlzYWJsZUNvbG9yOiAnIzk5OTk5OScsXHJcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiAnI0VDRUNFQycsXHJcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6ICcjRUUwMDAwJyxcclxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgZXJyb3JDb2xvcjogJyM0NDQ0NDQnLFxyXG4gICAgICBjcmVhdGVkRGF0ZTogbnVsbCxcclxuICAgICAgcGFkZGluZzogbnVsbCxcclxuICAgICAgbWFyZ2luOiBudWxsLFxyXG4gICAgICBpc01hc3RlckNzczogbnVsbCxcclxuICAgICAgY29udHJvbE1ldGFJZDpcclxuICAgICAgICAnQUxMX0RQX0RQX0NUUkxfYW1vdW50VGV4dGJveF9taW5pbXVtR3VhcmFudGVlZEFubnVpdHlQYXlvdXRfVjEnLFxyXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcclxuICAgICAgaGVpZ2h0OiBudWxsLFxyXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1heEhlaWdodDogbnVsbCxcclxuICAgICAgbWluV2lkdGg6IG51bGwsXHJcbiAgICAgIG1heFdpZHRoOiBudWxsLFxyXG4gICAgICBjc3NDbGFzczogbnVsbCxcclxuICAgIH0sXHJcbiAgICBmaWVsZE5hbWU6ICdtaW5pbXVtR3VhcmFudGVlZEFubnVpdHlQYXlvdXQnLFxyXG4gICAgbGFiZWw6ICdUb3RhbCBBbm51aXR5IFBheW91dCcsXHJcbiAgICBwbGFjZUhvbGRlcjogJ0VudGVyIEFubnVpdHkgUGF5b3V0JyxcclxuICAgIG1ldGFJZDogJ0FMTF9EUF9EUF9DVFJMX2Ftb3VudFRleHRib3hfbWluaW11bUd1YXJhbnRlZWRBbm51aXR5UGF5b3V0X1YxJyxcclxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcclxuICAgIGlzRGlzYWJsZTogdHJ1ZSxcclxuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcclxuICAgIHZhbGlkYXRvcnM6IHtcclxuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXHJcbiAgICAgIHJlcXVpcmVkTWVzc2FnZTogJ0VudGVyIEFubnVpdHkgUGF5b3V0JyxcclxuICAgICAgbWluTGVuZ3RoOiA0LFxyXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxyXG4gICAgICBtYXhMZW5ndGg6IDEwLFxyXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxyXG4gICAgICBwYXR0ZXJuOiBudWxsLFxyXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogbnVsbCxcclxuICAgIH0sXHJcbiAgICBvcHRpb25zOiBbXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ01vbnRobHknLFxyXG4gICAgICAgIGxhYmVsOiAnTW9udGhseScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ09uZSBUaW1lJyxcclxuICAgICAgICBsYWJlbDogJ09uZSBUaW1lJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHZhbHVlOiAnUXVhcnRlcmx5JyxcclxuICAgICAgICBsYWJlbDogJ1F1YXJ0ZXJseScsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB2YWx1ZTogJ0hhbGYgWWVhcmx5JyxcclxuICAgICAgICBsYWJlbDogJ0hhbGYgWWVhcmx5JyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHZhbHVlOiAnWWVhcmx5JyxcclxuICAgICAgICBsYWJlbDogJ1llYXJseScsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgY3NzQ2xhc3M6XHJcbiAgICAgICcgY29sLXNtLTEyIGNvbC1tZC0zIGNvbC1sZy0zIGNvbC14bC0zIHB5LTAgcGwtMyBtdC0xIHByLTAgbWluaW11bUd1YXJhbnRlZWRBbm51aXR5UGF5b3V0JyxcclxuICAgIHZhbHVlOiBudWxsLFxyXG4gICAgc3R5bGU6IG51bGwsXHJcbiAgICBpbWFnZVVybDogbnVsbCxcclxuICAgIGNvbmZpZ0RhdGE6IHtcclxuICAgICAgaXNDb21hU2VwZXJhdGVkOiB0cnVlLFxyXG4gICAgICBpc0FsbG93TnVtYmVyc0luVGV4dEZpZWxkczogdHJ1ZVxyXG4gICAgfSxcclxuICAgIG1ldGFEYXRhT2JqOiBudWxsLFxyXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXHJcbiAgICBpc01hc3RlckNvbnRyb2w6IGZhbHNlLFxyXG4gICAgY29udHJvbFR5cGU6ICdhbW91bnRUZXh0Ym94JyxcclxuICB9O1xyXG5cclxuICBlbmFibGVBdXRvRGViaXRPYmo6IGFueSA9IHtcclxuICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcclxuICAgIGZpZWxkTmFtZTogJ2F1dG9EZWJpdCcsXHJcbiAgICBsYWJlbDogJ0VuYWJsZSBBdXRvIFBheSB0byBnZXQgaGlnaGVyIGFubnVpdHkgcmF0ZScsXHJcbiAgICBwbGFjZUhvbGRlcjogJycsXHJcbiAgICBtZXRhSWQ6ICdBTExfQ09NX0dFTl9DVFJMX3RvZ2dsZV9hdXRvRGViaXRfVjEnLFxyXG4gICAgaXNWaXNpYmxlOiB0cnVlLFxyXG4gICAgaXNEaXNhYmxlOiBmYWxzZSxcclxuICAgIHZhbGlkYXRvcnM6IHtcclxuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXHJcbiAgICAgIHJlcXVpcmVkTWVzc2FnZTogJ1RoaXMgZmllbGQgY2Fubm90IGJlIGVtcHR5JyxcclxuICAgICAgbWluTGVuZ3RoOiBudWxsLFxyXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxyXG4gICAgICBtYXhMZW5ndGg6IG51bGwsXHJcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXHJcbiAgICAgIHBhdHRlcm46IG51bGwsXHJcbiAgICAgIHBhdHRlcm5NZXNzYWdlOiAnJyxcclxuICAgIH0sXHJcbiAgICBvcHRpb25zOiBudWxsLFxyXG4gICAgY3NzQ2xhc3M6ICdjb2wtc20tMTIgY29sLW1kLTUgY29sLWxnLTUgY29sLXhsLTUgbXQtNCBhdXRvUGF5JyxcclxuICAgIHZhbHVlOiBmYWxzZSxcclxuICAgIHN0eWxlOiBudWxsLFxyXG4gICAgaW1hZ2VVcmw6IG51bGwsXHJcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcclxuICAgIGNvbnRyb2xTdHlsZToge1xyXG4gICAgICBjb250cm9sVHlwZTogJ3RvZ2dsZScsXHJcbiAgICAgIGJvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBib3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgYm9yZGVyUmFkaXVzOiBudWxsLFxyXG4gICAgICBmb250U2l6ZTogJzEycHgnLFxyXG4gICAgICBmb250V2VpZ2h0OiAnNDAwJyxcclxuICAgICAgZm9udEZhbWlseTogJ011bGlzaCcsXHJcbiAgICAgIGNvbG9yOiAnIzQ0NDQ0NCcsXHJcbiAgICAgIGJhY2tncm91bmQ6ICcjRTZGN0YzJyxcclxuICAgICAgY2FyZXRDb2xvcjogbnVsbCxcclxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXHJcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICB3aWR0aDogbnVsbCxcclxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcclxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNCYWNrZ3JvdW5kOiBudWxsLFxyXG4gICAgICBmb2N1c0NvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXHJcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXHJcbiAgICAgIGhvdmVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGRpc2FibGVDb2xvcjogJyNFQ0VDRUMnLFxyXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogJyNFQ0VDRUMnLFxyXG4gICAgICBlcnJvckJvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxyXG4gICAgICBlcnJvckNvbG9yOiBudWxsLFxyXG4gICAgICBjcmVhdGVkRGF0ZTogbnVsbCxcclxuICAgICAgcGFkZGluZzogbnVsbCxcclxuICAgICAgbWFyZ2luOiBudWxsLFxyXG4gICAgICBpc01hc3RlckNzczogbnVsbCxcclxuICAgICAgY29udHJvbE1ldGFJZDogJ0FMTF9DT01fR0VOX0NUUkxfdG9nZ2xlX21haWxpbmdBZGRyZXNzVG9nZ2xlX1YxJyxcclxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXHJcbiAgICAgIGhlaWdodDogbnVsbCxcclxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxyXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1pbldpZHRoOiBudWxsLFxyXG4gICAgICBtYXhXaWR0aDogbnVsbCxcclxuICAgICAgY3NzQ2xhc3M6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY29sdW1uSW5kZXg6IDAsXHJcbiAgICBjb25maWdEYXRhOiB7fSxcclxuICAgIGNvbnRyb2xTdHlsZXM6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgcmVjYWxjdWxhdGVCdXR0b246IGFueSA9IHtcclxuICAgIGNvbnRyb2xUeXBlOiAnYnV0dG9uJyxcclxuICAgIGZpZWxkTmFtZTogJ2NhbGN1bGF0ZUFubnVpdHlQYXlvdXQnLFxyXG4gICAgbGFiZWw6ICdDYWxjdWxhdGUgQW5udWl0eSBQYXlvdXQnLFxyXG4gICAgcGxhY2VIb2xkZXI6IG51bGwsXHJcbiAgICBtZXRhSWQ6ICdMSV9EUF9HRU5fQ1RSTF9idXR0b25fY2FsY3VsYXRlQW5udWl0eVBheW91dF9WMScsXHJcbiAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxyXG4gICAgdmFsaWRhdG9yczoge1xyXG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHknLFxyXG4gICAgICBtaW5MZW5ndGg6IG51bGwsXHJcbiAgICAgIG1pbkxlbmd0aE1lc3NhZ2U6IG51bGwsXHJcbiAgICAgIG1heExlbmd0aDogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgcGF0dGVybjogbnVsbCxcclxuICAgICAgcGF0dGVybk1lc3NhZ2U6ICcnLFxyXG4gICAgfSxcclxuICAgIG9wdGlvbnM6IG51bGwsXHJcbiAgICBjc3NDbGFzczogJyBjb2wtc20tMTIgY29sLW1kLTEyIGNvbC1sZy0xMiBjb2wteGwtMTIgbXQtMycsXHJcbiAgICB2YWx1ZTogbnVsbCxcclxuICAgIHN0eWxlOiBudWxsLFxyXG4gICAgaW1hZ2VVcmw6IG51bGwsXHJcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcclxuICAgIGNvbnRyb2xTdHlsZToge1xyXG4gICAgICBjb250cm9sVHlwZTogbnVsbCxcclxuICAgICAgYm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGJvcmRlcldpZHRoOiBudWxsLFxyXG4gICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxyXG4gICAgICBmb250U2l6ZTogJzEycHgnLFxyXG4gICAgICBmb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICBmb250RmFtaWx5OiBudWxsLFxyXG4gICAgICBjb2xvcjogbnVsbCxcclxuICAgICAgYmFja2dyb3VuZDogJyNGRkJCMDAnLFxyXG4gICAgICBjYXJldENvbG9yOiBudWxsLFxyXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgIGZvY3VzQm9yZGVyV2lkdGg6IG51bGwsXHJcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcclxuICAgICAgZm9jdXNDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzOiBudWxsLFxyXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiBudWxsLFxyXG4gICAgICBob3ZlckNvbG9yOiBudWxsLFxyXG4gICAgICBkaXNhYmxlQ29sb3I6IG51bGwsXHJcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiBudWxsLFxyXG4gICAgICBlcnJvckJvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiBudWxsLFxyXG4gICAgICBlcnJvckNvbG9yOiBudWxsLFxyXG4gICAgICBjcmVhdGVkRGF0ZTogbnVsbCxcclxuICAgICAgcGFkZGluZzogbnVsbCxcclxuICAgICAgbWFyZ2luOiBudWxsLFxyXG4gICAgICBpc01hc3RlckNzczogbnVsbCxcclxuICAgICAgY29udHJvbE1ldGFJZDogJ0xJX0RQX0dFTl9DVFJMX2J1dHRvbl9jYWxjdWxhdGVBbm51aXR5UGF5b3V0X1YxJyxcclxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXHJcbiAgICAgIGhlaWdodDogbnVsbCxcclxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxyXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1pbldpZHRoOiBudWxsLFxyXG4gICAgICBtYXhXaWR0aDogbnVsbCxcclxuICAgICAgY3NzQ2xhc3M6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY29sdW1uSW5kZXg6IDAsXHJcbiAgICBjb25maWdEYXRhOiB7fSxcclxuICAgIGNvbnRyb2xTdHlsZXM6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgaW50ZXJjaGFuZ2VCdXR0b25PYmo6IGFueSA9IHtcclxuICAgIGNvbnRyb2xTdHlsZToge1xyXG4gICAgICBjb250cm9sVHlwZTogbnVsbCxcclxuICAgICAgYm9yZGVyQ29sb3I6ICcjREREREREJyxcclxuICAgICAgYm9yZGVyV2lkdGg6ICcwcHgnLFxyXG4gICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxyXG4gICAgICBmb250U2l6ZTogbnVsbCxcclxuICAgICAgZm9udFdlaWdodDogbnVsbCxcclxuICAgICAgZm9udEZhbWlseTogbnVsbCxcclxuICAgICAgY29sb3I6IG51bGwsXHJcbiAgICAgIGJhY2tncm91bmQ6IG51bGwsXHJcbiAgICAgIGNhcmV0Q29sb3I6IG51bGwsXHJcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxyXG4gICAgICBkcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXHJcbiAgICAgIGRyb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXHJcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcclxuICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogbnVsbCxcclxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNCYWNrZ3JvdW5kOiBudWxsLFxyXG4gICAgICBmb2N1c0NvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXHJcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6IG51bGwsXHJcbiAgICAgIGhvdmVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGRpc2FibGVDb2xvcjogbnVsbCxcclxuICAgICAgZGlzYWJsZUJhY2tncm91bmQ6IG51bGwsXHJcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6IG51bGwsXHJcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6IG51bGwsXHJcbiAgICAgIGVycm9yQ29sb3I6IG51bGwsXHJcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxyXG4gICAgICBwYWRkaW5nOiBudWxsLFxyXG4gICAgICBtYXJnaW46IG51bGwsXHJcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxyXG4gICAgICBjb250cm9sTWV0YUlkOiBudWxsLFxyXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcclxuICAgICAgaGVpZ2h0OiAnMjBweCcsXHJcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcclxuICAgICAgbWF4SGVpZ2h0OiBudWxsLFxyXG4gICAgICBtaW5XaWR0aDogbnVsbCxcclxuICAgICAgbWF4V2lkdGg6IG51bGwsXHJcbiAgICAgIGNzc0NsYXNzOiBudWxsLFxyXG4gICAgfSxcclxuICAgIGZpZWxkTmFtZTogJ2FubnVpdHlJbnRlckNoYW5nZScsXHJcbiAgICBsYWJlbDogJ0FubnVpdHkgSW50ZXJjaGFuZ2UgQnV0dG9uJyxcclxuICAgIHBsYWNlSG9sZGVyOiBudWxsLFxyXG4gICAgbWV0YUlkOiAnQUxMX0NPTV9HRU5fTUNUUkxfZG93bmxvYWRJY29uQnV0dG9uX2FubnVpdHlJbnRlckNoYW5nZV9WMScsXHJcbiAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxyXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxyXG4gICAgdmFsaWRhdG9yczoge1xyXG4gICAgICBpc1JlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHknLFxyXG4gICAgICBtaW5MZW5ndGg6IG51bGwsXHJcbiAgICAgIG1pbkxlbmd0aE1lc3NhZ2U6IG51bGwsXHJcbiAgICAgIG1heExlbmd0aDogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgcGF0dGVybjogbnVsbCxcclxuICAgICAgcGF0dGVybk1lc3NhZ2U6ICcnLFxyXG4gICAgfSxcclxuICAgIG9wdGlvbnM6IFtdLFxyXG4gICAgY3NzQ2xhc3M6IG51bGwsXHJcbiAgICB2YWx1ZTogbnVsbCxcclxuICAgIHN0eWxlOiBudWxsLFxyXG4gICAgaW1hZ2VVcmw6XHJcbiAgICAgICdodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9kaWdpdFBsdXNBc3NldHMvVHJhbnNpdGlvbi13aXRoLWJvcmRlci1pY29uLnN2ZycsXHJcbiAgICBjb25maWdEYXRhOiB7fSxcclxuICAgIG1ldGFEYXRhT2JqOiBudWxsLFxyXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXHJcbiAgICBpc01hc3RlckNvbnRyb2w6IHRydWUsXHJcbiAgICBjb250cm9sVHlwZTogJ2Rvd25sb2FkSWNvbkJ1dHRvbicsXHJcbiAgfTtcclxuXHJcbiAgZ2VuZXJhdGVTdW1tYXJ5T2JqOiBhbnkgPSB7XHJcbiAgICBjb250cm9sVHlwZTogJ2J1dHRvbicsXHJcbiAgICBmaWVsZE5hbWU6ICdnZW5lcmF0ZVN1bW1hcnknLFxyXG4gICAgbGFiZWw6ICdHZW5lcmF0ZSBTdW1tYXJ5JyxcclxuICAgIHBsYWNlSG9sZGVyOiBudWxsLFxyXG4gICAgbWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfYnV0dG9uX2dlbmVyYXRlU3VtbWFyeV9WMScsXHJcbiAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICBpc0Rpc2FibGU6IHRydWUsXHJcbiAgICB2YWxpZGF0b3JzOiB7XHJcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxyXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eScsXHJcbiAgICAgIG1pbkxlbmd0aDogbnVsbCxcclxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcclxuICAgICAgbWF4TGVuZ3RoOiBudWxsLFxyXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxyXG4gICAgICBwYXR0ZXJuOiBudWxsLFxyXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogJycsXHJcbiAgICB9LFxyXG4gICAgb3B0aW9uczogbnVsbCxcclxuICAgIGNzc0NsYXNzOiAnIGNvbC1zbS0xMiBjb2wtbWQtMTIgY29sLWxnLTEyIGNvbC14bC0xMiBteS0xIG10LTMnLFxyXG4gICAgdmFsdWU6IG51bGwsXHJcbiAgICBzdHlsZTogbnVsbCxcclxuICAgIGltYWdlVXJsOiBudWxsLFxyXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXHJcbiAgICBjb250cm9sU3R5bGU6IHtcclxuICAgICAgY29udHJvbFR5cGU6IG51bGwsXHJcbiAgICAgIGJvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBib3JkZXJXaWR0aDogbnVsbCxcclxuICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcclxuICAgICAgZm9udFNpemU6ICcxMnB4JyxcclxuICAgICAgZm9udFdlaWdodDogbnVsbCxcclxuICAgICAgZm9udEZhbWlseTogbnVsbCxcclxuICAgICAgY29sb3I6IG51bGwsXHJcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZCQjAwJyxcclxuICAgICAgY2FyZXRDb2xvcjogbnVsbCxcclxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXHJcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcclxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiBudWxsLFxyXG4gICAgICBmb2N1c0JvcmRlckNvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXHJcbiAgICAgIGZvY3VzQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXHJcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxyXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcclxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcclxuICAgICAgaG92ZXJCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgaG92ZXJCb3JkZXJXaWR0aDogbnVsbCxcclxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcclxuICAgICAgZGlzYWJsZUNvbG9yOiBudWxsLFxyXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogbnVsbCxcclxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogbnVsbCxcclxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogbnVsbCxcclxuICAgICAgZXJyb3JDb2xvcjogbnVsbCxcclxuICAgICAgY3JlYXRlZERhdGU6IG51bGwsXHJcbiAgICAgIHBhZGRpbmc6IG51bGwsXHJcbiAgICAgIG1hcmdpbjogbnVsbCxcclxuICAgICAgaXNNYXN0ZXJDc3M6IG51bGwsXHJcbiAgICAgIGNvbnRyb2xNZXRhSWQ6ICdMSV9EUF9HRU5fQ1RSTF9idXR0b25fZ2VuZXJhdGVTdW1tYXJ5X1YxJyxcclxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXHJcbiAgICAgIGhlaWdodDogbnVsbCxcclxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxyXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXHJcbiAgICAgIG1pbldpZHRoOiBudWxsLFxyXG4gICAgICBtYXhXaWR0aDogbnVsbCxcclxuICAgICAgY3NzQ2xhc3M6IG51bGwsXHJcbiAgICB9LFxyXG4gICAgY29sdW1uSW5kZXg6IDAsXHJcbiAgICBjb25maWdEYXRhOiB7fSxcclxuICAgIGNvbnRyb2xTdHlsZXM6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgZ3VyYW50ZWVkYW5udWl0eU9iajogYW55PXtcclxuICAgICAgICAgICAgICAgIFwiY29udHJvbFR5cGVcIjogXCJyYWRpb1wiLFxyXG4gICAgICAgICAgICAgICAgXCJmaWVsZE5hbWVcIjogXCJndXJhbnRlZWRBbm51aXR5YWdlXCIsXHJcbiAgICAgICAgICAgICAgICBcImxhYmVsXCI6IFwiR3VhcmFudGVlZCBBbm51aXR5ICVhZ2VcIixcclxuICAgICAgICAgICAgICAgIFwicGxhY2VIb2xkZXJcIjogXCJcIixcclxuICAgICAgICAgICAgICAgIFwibWV0YUlkXCI6IFwiTElfRFBfRFBfQ1RSTF9yYWRpb19hbm51aXR5VHlwZV9WMVwiLFxyXG4gICAgICAgICAgICAgICAgXCJpc1Zpc2libGVcIjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIFwiaXNEaXNhYmxlXCI6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgXCJ2YWxpZGF0b3JzXCI6IHtcclxuICAgICAgICAgICAgICAgICAgXCJpc1JlcXVpcmVkXCI6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgIFwicmVxdWlyZWRNZXNzYWdlXCI6IFwiVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHlcIixcclxuICAgICAgICAgICAgICAgICAgXCJtaW5MZW5ndGhcIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJtaW5MZW5ndGhNZXNzYWdlXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwibWF4TGVuZ3RoXCI6IDE1MCxcclxuICAgICAgICAgICAgICAgICAgXCJtYXhMZW5ndGhNZXNzYWdlXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwicGF0dGVyblwiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICBcInBhdHRlcm5NZXNzYWdlXCI6IFwiXCJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBcIm9wdGlvbnNcIjogW10sXHJcbiAgICAgICAgICAgICAgICBcImNzc0NsYXNzXCI6IFwiIGNvbC1zbS0xMiBjb2wtbWQtMyBjb2wtbGctMyBjb2wteGwtMyBhbm51aXR5VHlwZVwiLFxyXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgXCJzdHlsZVwiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgXCJpbWFnZVVybFwiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgXCJjb250cm9sU3R5bGVcIjoge1xyXG4gICAgICAgICAgICAgICAgICBcImNvbnRyb2xUeXBlXCI6IFwicmFkaW9cIixcclxuICAgICAgICAgICAgICAgICAgXCJib3JkZXJDb2xvclwiOiBcIiNEQURBREFcIixcclxuICAgICAgICAgICAgICAgICAgXCJib3JkZXJXaWR0aFwiOiBcIjFweFwiLFxyXG4gICAgICAgICAgICAgICAgICBcImJvcmRlclJhZGl1c1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICBcImZvbnRTaXplXCI6IFwiMTJweFwiLFxyXG4gICAgICAgICAgICAgICAgICBcImZvbnRXZWlnaHRcIjogXCI0MDBcIixcclxuICAgICAgICAgICAgICAgICAgXCJmb250RmFtaWx5XCI6IFwiTXVsaXNoXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiY29sb3JcIjogXCIjNDQ0NDQ0XCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiYmFja2dyb3VuZFwiOiBcIiNGRkZGRkZcIixcclxuICAgICAgICAgICAgICAgICAgXCJjYXJldENvbG9yXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwibnVkZ2VEaXNwbGF5SW1hZ2VcIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkJnQ29sb3JcIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkNvbG9yXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0XCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwid2lkdGhcIjogXCI0NXB4XCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNCb3JkZXJXaWR0aFwiOiBcIjFweFwiLFxyXG4gICAgICAgICAgICAgICAgICBcImZvY3VzQm9yZGVyQ29sb3JcIjogXCIjZmZiYjAwXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNCYWNrZ3JvdW5kXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNDb2xvclwiOiBcIiM0NDQ0NDRcIixcclxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Db2xvclwiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0XCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnRcIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzXCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwiaG92ZXJCb3JkZXJDb2xvclwiOiBcIiNEQURBREFcIixcclxuICAgICAgICAgICAgICAgICAgXCJob3ZlckJvcmRlcldpZHRoXCI6IFwiMXB4XCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiaG92ZXJDb2xvclwiOiBcIiM0NDQ0NDRcIixcclxuICAgICAgICAgICAgICAgICAgXCJkaXNhYmxlQ29sb3JcIjogXCIjRUNFQ0VDXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZUJhY2tncm91bmRcIjogXCIjRUNFQ0VDXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiZXJyb3JCb3JkZXJDb2xvclwiOiBcIiNEQURBREFcIixcclxuICAgICAgICAgICAgICAgICAgXCJlcnJvckJvcmRlcldpZHRoXCI6IFwiMXB4XCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiZXJyb3JDb2xvclwiOiBcIiM0NDQ0NDRcIixcclxuICAgICAgICAgICAgICAgICAgXCJjcmVhdGVkRGF0ZVwiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICBcInBhZGRpbmdcIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJtYXJnaW5cIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJpc01hc3RlckNzc1wiOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICBcImNvbnRyb2xNZXRhSWRcIjogXCJMSV9EUF9EUF9DVFJMX3JhZGlvX2FubnVpdHlUeXBlX1YxXCIsXHJcbiAgICAgICAgICAgICAgICAgIFwiYm9yZGVyU3R5bGVcIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJoZWlnaHRcIjogXCIzMnB4XCIsXHJcbiAgICAgICAgICAgICAgICAgIFwibWluSGVpZ2h0XCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwibWF4SGVpZ2h0XCI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgIFwibWluV2lkdGhcIjogXCI0NXB4XCIsXHJcbiAgICAgICAgICAgICAgICAgIFwibWF4V2lkdGhcIjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgXCJjc3NDbGFzc1wiOiBudWxsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXCJjb2x1bW5JbmRleFwiOiAwLFxyXG4gICAgICAgICAgICAgICAgXCJjb25maWdEYXRhXCI6IHt9LFxyXG4gICAgICAgICAgICAgICAgXCJjb250cm9sU3R5bGVzXCI6IG51bGxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFzdGVyU2VydmljZSA6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoIChjaGFuZ2VzWydwcmVtaXVtRGV0YWlscyddKSAmJiAhdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkoY2hhbmdlc1sncHJlbWl1bURldGFpbHMnXS5jdXJyZW50VmFsdWUpICkge1xyXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtKSkge1xyXG4gICAgICAgIC8vIENyZWF0ZSBuZXcgb2JqZWN0IHRvIHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvblxyXG4gICAgICAgIHRoaXMuYW5udWl0eVByZW1pdW0gPSB7XHJcbiAgICAgICAgICB0ZXh0VmFsdWU6IHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bVsndGV4dFZhbHVlJ10sXHJcbiAgICAgICAgICBzZWxlY3RWYWx1ZTogdGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtWydzZWxlY3RWYWx1ZSddXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW0sICdpc0Rpc2FibGUnKSkge1xyXG4gICAgICAgICAgdGhpcy5hbm51aXR5UHJlbWl1bU9ialsnaXNEaXNhYmxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ2lzRGlzYWJsZSddO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihPYmplY3QuaGFzT3duKHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bSwgJ2lzRGlzYWJsZURyb3Bkb3duJykpIHtcclxuICAgICAgICAgIHRoaXMuYW5udWl0eVByZW1pdW1PYmpbJ2NvbmZpZ0RhdGEnXVsnaXNEaXNhYmxlRHJvcGRvd24nXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bVsnaXNEaXNhYmxlRHJvcGRvd24nXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW0sICdvcHRpb25zJykpIHtcclxuICAgICAgICAgIHRoaXMuYW5udWl0eVByZW1pdW1PYmpbJ29wdGlvbnMnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bVsnb3B0aW9ucyddO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eSkpIHtcclxuICAgICAgICAvLyBDcmVhdGUgbmV3IG9iamVjdCB0byB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb25cclxuICAgICAgICB0aGlzLm1pbnVtdW1Bbm51aXR5UGF5b3V0ID0ge1xyXG4gICAgICAgICAgdGV4dFZhbHVlOiB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ3RleHRWYWx1ZSddLFxyXG4gICAgICAgICAgc2VsZWN0VmFsdWU6IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVsnc2VsZWN0VmFsdWUnXVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5LCAnaXNEaXNhYmxlJykpIHtcclxuICAgICAgICAgIHRoaXMubWluaW11bUFubnVpdHlQYXlvdXRPYmpbJ2lzRGlzYWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5Wydpc0Rpc2FibGUnXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHksICdpc0Rpc2FibGVEcm9wZG93bicpKSB7XHJcbiAgICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqWydjb25maWdEYXRhJ11bJ2lzRGlzYWJsZURyb3Bkb3duJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ2lzRGlzYWJsZURyb3Bkb3duJ107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5LCAnb3B0aW9ucycpKSB7XHJcbiAgICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqWydvcHRpb25zJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ29wdGlvbnMnXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlUYWJsZUNhbGN1bGF0b3IpKSB7XHJcbiAgICAgICAgLy8gQ3JlYXRlIG5ldyBvYmplY3QgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uXHJcbiAgICAgICAgdGhpcy5hbm51aXR5VGFibGVDYWxjdWxhdG9yID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5VGFibGVDYWxjdWxhdG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5KSkge1xyXG5cclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5Wydjb250cm9sU3R5bGUnXSkpIHtcclxuICAgICAgICAgIHRoaXMucmVjYWxjdWxhdGVCdXR0b25bJ2NvbnRyb2xTdHlsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5Wydjb250cm9sU3R5bGUnXVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnbGFiZWwnXSkpIHtcclxuICAgICAgICAgIHRoaXMucmVjYWxjdWxhdGVCdXR0b25bJ2xhYmVsJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmNhbGN1bGF0ZUFubnVpdHlbJ2xhYmVsJ11cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnaXNEaXNhYmxlJ10pKSB7XHJcbiAgICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQnV0dG9uWydpc0Rpc2FibGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnaXNEaXNhYmxlJ11cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vZ3VyYW50ZWVkIEFubnVpdHkgb3B0aW9uc1xyXG5cclxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eSkpIHtcclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ndXJhbnRlZWRBbm51aXR5WydvcHRpb25zJ10pKSB7XHJcbiAgICAgICAgICB0aGlzLmd1cmFudGVlZGFubnVpdHlPYmpbJ29wdGlvbnMnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eVsnb3B0aW9ucyddO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnkpKSB7XHJcblxyXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnY29udHJvbFN0eWxlJ10pKSB7XHJcbiAgICAgICAgICB0aGlzLmdlbmVyYXRlU3VtbWFyeU9ialsnY29udHJvbFN0eWxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnY29udHJvbFN0eWxlJ107XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2xhYmVsJ10pKSB7XHJcbiAgICAgICAgICB0aGlzLmdlbmVyYXRlU3VtbWFyeU9ialsnbGFiZWwnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5WydsYWJlbCddO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2lzRGlzYWJsZSddKSkge1xyXG4gICAgICAgICAgdGhpcy5nZW5lcmF0ZVN1bW1hcnlPYmpbJ2lzRGlzYWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2lzRGlzYWJsZSddXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hdXRvUGF5T3B0aW9uKSkge1xyXG5cclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hdXRvUGF5T3B0aW9uWydpc1Zpc2libGUnXSkpIHtcclxuICAgICAgICAgIHRoaXMuZW5hYmxlQXV0b0RlYml0T2JqWydpc1Zpc2libGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYXV0b1BheU9wdGlvblsnaXNWaXNpYmxlJ107XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hdXRvUGF5T3B0aW9uWydpc1Zpc2libGUnXSkpIHtcclxuICAgICAgICAgIHRoaXMuaXNFbmFibGVBdXRvRGViaXQgPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb25bJ2lzRW5hYmxlQXV0b0RlYml0J107XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbGN1bGF0ZUJ1dHRvbkNsaWNrZWQoKSB7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25zLmlzcHJlbWl1bUVudHJ5ID0gZmFsc2U7XHJcbiAgICBpZih0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLmFubnVpdHlQcmVtaXVtWyd0ZXh0VmFsdWUnXSkpIHtcclxuICAgICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQ2FsY3VhbHRlQnV0dG9uQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVTdW1tYXJ5Q2xpY2tlZCgpIHtcclxuICAgIHRoaXMub25HZW5lcmF0ZVN1bW1hcnlDbGljay5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkFubnVpdHlQcmVtaXVtVmFsdWVDaGFuZ2UodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5hbm51aXR5UHJlbWl1bSA9IHZhbHVlO1xyXG4gICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IGZhbHNlO1xyXG4gICAgaWYodGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5hbm51aXR5UHJlbWl1bVsndGV4dFZhbHVlJ10pKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGlvbnMuaXNwcmVtaXVtRW50cnkgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbkFubnVpdHlQcmVtaXVtQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuICBvbk1pblByZW1pdW1WYWx1ZUNoYW5nZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLm1pbnVtdW1Bbm51aXR5UGF5b3V0ID0gdmFsdWU7XHJcbiAgICB0aGlzLm9uTWluaW11bVByZW1pdW1WYWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIG9uRW5hYmxlQXV0b0RlYml0VmFsdWVDaGFuZ2UoZXZlbnQgOiBhbnkpIHtcclxuICAgIHRoaXMub25BdXRpb0RlYml0VmFsdWVDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBvbkd1cmFudGVlZEFubnVpdHlDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gIH1cclxuXHJcbiAgYW5udWFsSW5jb21lZm9jdXNPdXQoKSB7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25zLmlzcHJlbWl1bUVudHJ5ID0gZmFsc2U7XHJcbiAgICBpZih0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLmFubnVpdHlQcmVtaXVtWyd0ZXh0VmFsdWUnXSkpIHtcclxuICAgICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHB4LTNcIiBzdHlsZT1cInBhZGRpbmc6IDE2cHg7XCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGg0IGNsYXNzPVwiY2FyZC1tYWluLXRpdGxlXCI+PHNwYW4gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEycHg7XCI+PGltZyBzcmM9XCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9jYWxjdWxhdG9yLnN2Z1wiIGFsdD1cImFubnVpdHkgY2FsY3VsYXRvclwiPjwvc3Bhbj5IZXJlJ3MgeW91ciBQcmVtaXVtIHRvIEFubnVpdHkgQ2FsY3VsYXRvcjwvaDQ+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLSA8ZGl2IGNsYXNzPVwicm93XCI+IC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIHBiLTQgcHgtNFwiIHN0eWxlPVwiYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4OyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4O1wiPlxyXG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwiY3VzdG9tLWdyaWQtdGVtcGxhdGVcIj5cclxuXHJcbiAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBteC1hdXRvXCIgc3R5bGU9XCJ0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIC01OCUpO1wiPlxyXG4gICAgICA8bGliLXRvZ2dsZSBjbGFzcz1cImNvbC1hdXRvXCIgW2ZpZWxkXT1cImFubnVpdHlQcmVtaXVtVG9nZ2xlT2JqXCIgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSA8L2Rpdj4gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiIGNvbC0xMlwiIHN0eWxlPVwiXHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG5cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC01IGNvbC1sZy01IGQtZmxleCBmbGV4LWNvbHVtbiBwLTBcIj5cclxuICAgICAgICA8bGliLXNlbGVjdC10ZXh0Ym94IFtmaWVsZF09XCJhbm51aXR5UHJlbWl1bU9ialwiIFsobmdNb2RlbCldPVwiYW5udWl0eVByZW1pdW1cIiAobmdNb2RlbENoYW5nZSk9XCJvbkFubnVpdHlQcmVtaXVtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInZhbGlkYXRpb25zLmlzcHJlbWl1bUVudHJ5XCI+XHJcbiAgICAgICAgICBFbnRlciBQcmVtaXVtXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICA8bGliLXRvZ2dsZSBbZmllbGRdPVwiZW5hYmxlQXV0b0RlYml0T2JqXCIgWyhuZ01vZGVsKV09XCJpc0VuYWJsZUF1dG9EZWJpdFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uRW5hYmxlQXV0b0RlYml0VmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0yIGNvbC1sZy0yIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDZweCk7IHBvc2l0aW9uOiByZWxhdGl2ZTtcIj5cclxuICAgICAgICA8IS0tIFZlcnRpY2FsIGNlbnRlciBsaW5lIHNwbGl0IGFyb3VuZCBpY29uIC0tPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB3aWR0aDogMXB4O2hlaWdodDogY2FsYyg1MCUgLSAxNnB4KTsgdG9wOiAwOyBiYWNrZ3JvdW5kOiByZ2JhKDIyMSwgMjIxLCAyMjEsIDEpXCI+PC9kaXY+XHJcbiAgICAgICAgPGxpYi1pY29uLWJ1dHRvbiBbZmllbGRdPVwiaW50ZXJjaGFuZ2VCdXR0b25PYmpcIiAvPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB3aWR0aDogMXB4OyBoZWlnaHQ6IGNhbGMoNTAlIC0gMTZweCk7IGJvdHRvbTogMDsgYmFja2dyb3VuZDogcmdiYSgyMjEsIDIyMSwgMjIxLCAxKVwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC01IGNvbC1sZy01IGQtZmxleCBmbGV4LWNvbHVtbiBwLTBcIj5cclxuICAgICAgICA8bGliLXNlbGVjdC10ZXh0Ym94IFtmaWVsZF09XCJtaW5pbXVtQW5udWl0eVBheW91dE9ialwiIFsobmdNb2RlbCldPVwibWludW11bUFubnVpdHlQYXlvdXRcIiAgKG5nTW9kZWxDaGFuZ2UpPVwib25NaW5QcmVtaXVtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwibWluaXVtLWFubnVpdHkgbXQtM1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJhbm51aXR5LW1zZyB3LTEwMCBweC0yIHB5LTFcIj5cclxuICAgIFZhbHVlIGJhc2VkIG9uIGFzc3VtZWQgMTAlIGFubnVhbCBncm93dGggb2YgTmlmdHkgNTAgaW5kZXguXHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInctMTAwIHB4LTIgcHktMVwiPlxyXG4gICAgPGxpYi1yYWRpbyBbZmllbGRdPVwiZ3VyYW50ZWVkYW5udWl0eU9ialwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRHdXJhbnRlZWRBbm51aXR5XCIgKG5nTW9kZWxDaGFuZ2UpPVwib25HdXJhbnRlZWRBbm51aXR5Q2hhbmdlKCRldmVudClcIiAvPlxyXG4gIDwvZGl2PlxyXG4gPGRpdiBjbGFzcz1cImFubnVpdHktbXNnLTEgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LW5vd3JhcCB3LTEwMCBweC0yIHB5LTFcIj5cclxuICA8aW1nIHNyYz1cImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9zdHJlYW1saW5lX2dyYXBoLWFycm93LWluY3JlYXNlLXJlbWl4LnBuZ1wiIHN0eWxlPVwibWF4LXdpZHRoOiAyNHB4O1wiIC8+XHJcbiAgPHNwYW4+UG90ZW50aWFsIGZvciBoaWdoZXIgcmV0dXJucyBieSBsb3dlcmluZyB0aGUgbWluaW11bSBndWFyYW50ZWVkIGFubnVpdHkgcmF0ZS48L3NwYW4+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidmVydGljYWwtbGluZVwiPjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImN1c3RvbS1ncmlkLXRlbXBsYXRlXCI+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPGxpYi10b2dnbGUgW2ZpZWxkXT1cImVuYWJsZUF1dG9EZWJpdE9ialwiIFsobmdNb2RlbCldPVwiaXNFbmFibGVBdXRvRGViaXRcIiAobmdNb2RlbENoYW5nZSk9XCJvbkVuYWJsZUF1dG9EZWJpdFZhbHVlQ2hhbmdlKCRldmVudClcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuXHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIHB5LTMgbWItNCBib3JkZXItdG9wLTBcIiBzdHlsZT1cImJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJteC00XCI+XHJcbiAgICAgIDxsaWItYnV0dG9uIFtmaWVsZF09XCJyZWNhbGN1bGF0ZUJ1dHRvblwiIChjbGljayk9XCJjYWxjdWxhdGVCdXR0b25DbGlja2VkKClcIiAvPlxyXG4gICAgIDxkaXYgY2xhc3M9XCJjYXJkICBtYi0wIG10LTJcIiBzdHlsZT1cImFsaWduLWl0ZW1zOiBjZW50ZXI7Ym9yZGVyOm5vbmU7Zm9udC1zaXplOiA4cHg7Zm9udC13ZWlnaHQ6IDQwMDtjb2xvcjpyZ2JhKDY4LCA2OCwgNjgsIDEpIFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm14LTRcIj48aW1nIHNyYz1cImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9Hcm91cCsxMDEwMTA2MzM2LnBuZ1wiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDNweDtcIi8+XHJcbiAgICAgIDxzcGFuIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDZweDtcIj5FdmVyeSB0aW1lIHlvdSBtYWtlIGEgY2hhbmdlIGFib3ZlLCBwbGVhc2UgY2xpY2sgcmVjYWxjdWxhdGUuPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O2FsaWduLWl0ZW1zOiBjZW50ZXI7anVzdGlmeS1jb250ZW50OiBjZW50ZXI7Ym9yZGVyOm5vbmU7Zm9udC1zaXplOiAxMHB4O2ZvbnQtd2VpZ2h0OiA3MDA7aGVpZ2h0OjMycHg7YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1MCwgMjM1LCAxKTtnYXA6IDhweDttYXJnaW46IDRweDtcIiAqbmdJZj1cImFubnVpdHlUYWJsZUNhbGN1bGF0b3I/LmlzVmlzaWJsZVwiPlxyXG4gICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9jYWxjdWxhdG9yLnN2Z1wiLz5cclxuICAgICAgTWluaW11bSBHdWFyYW50ZWVkIFBheW91dChBKSArIFZhcmlhYmxlIFBheW91dChCKSA9IFRvdGFsIFBheW91dChDKVxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gYW5udWl0eSBjYWxjdWxhdG9yIHRhYmxlIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImFubnVpdHktdGFibGVzLW1haW4tY29udGFpbmVyXCIgKm5nSWY9XCJhbm51aXR5VGFibGVDYWxjdWxhdG9yPy5pc1Zpc2libGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgYW5udWl0eS10YWJsZXMtY29udGFpbmVyXCI+XHJcbiAgICAgIDwhLS0gVGFibGUgMSAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktY2FsY3VsYXRvci10YWJsZTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyIGFubnVpdHl0YWJsZTEtaGVhZGVyXCI+TWluaW11bSBHdWFyYW50ZWVkIEFubnVpdHkgUGF5b3V0KEEpPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jZWxsXCI+PHNwYW4gY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPjxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjEycHg7IGNvbG9yOiByZ2JhKDY4LCA2OCwgNjgsIDEpO1wiPjx7e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTF2YWwxfX0+PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFubnVpdHl0YWJsZS1idXR0b25cIj57e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTF2YWwyfX08L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwib3BlcmF0b3Itc3ltYm9sXCI+KzwvZGl2PlxyXG5cclxuICAgICAgPCEtLSBUYWJsZSAyIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXRhYmxlMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXIgYW5udWl0eXRhYmxlMS1oZWFkZXJcIj5Bc3N1bWUgZ3Jvd3RoIG9mIEJlbmNoTWFyayBpbmRleDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+JiM2NDt7e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTJ2YWwxfX08L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj4mIzY0O3t7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlMnZhbDJ9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPiYjNjQ7e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGUydmFsM319PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLSBUYWJsZSAzIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXRhYmxlM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXIgYW5udWl0eXRhYmxlMS1oZWFkZXJcIj4xc3QgVmFyaWFibGUgQW5udWl0eSBQYXlvdXQoQik8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPjxzcGFuIGNsYXNzPVwicnVwZWUtaWNvblwiPuKCuTwvc3Bhbj57e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTN2YWwxfX08L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj48c3BhbiBjbGFzcz1cInJ1cGVlLWljb25cIj7igrk8L3NwYW4+e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGUzdmFsMn19PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+PHNwYW4gY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDN9fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvcGVyYXRvci1zeW1ib2xcIj49PC9kaXY+XHJcblxyXG4gICAgICA8IS0tIFRhYmxlIDQgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhbm51aXR5LWNhbGN1bGF0b3ItdGFibGU0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlciBhbm51aXR5dGFibGU0LWhlYWRlclwiPjFzdCBUb3RhbFBheW91dC9GcmVxdWVuY3koQyk8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvdyBhbm51aXR5dGFibGU0LWJnXCI+PHNwYW4gY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDF9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvdyBhbm51aXR5dGFibGU0LWJnXCI+PHNwYW4gY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDJ9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvdyBhbm51aXR5dGFibGU0LWJnXCI+PHNwYW4gY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDN9fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICA8L2Rpdj5cclxuXHJcbiAgIDxkaXYgY2xhc3M9XCJhbm51aXR5LWNhbGN1bGF0b3ItcGFyYWdyYXBoXCIgKm5nSWY9XCJhbm51aXR5VGFibGVDYWxjdWxhdG9yPy5pc1Zpc2libGVcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXBhcmFncmFwaDFcIj5UaGlzIGlzIGFuIGFzc3VtZWQgZ3Jvd3RoIHBlcmNlbnRhZ2UgZm9yIHRoZSBpbmRleCBiYXNpcyB3aGljaCB0aGUgdmFsdWVzIGluIGNvbHVtbnMgQiBhbmQgQyBhcmUgY2FsY3VsYXRlZC48L3NwYW4+IEFjdHVhbCBncm93dGggd2lsbCBkZXBlbmQgb24gaW5kZXggcGVyZm9ybWFuY2UgYW5kIG1heSBhZmZlY3QgeW91ciB2YXJpYWJsZSBhbm51aXR5IHBheW91dCBhbmQgdG90YWwgYW5udWl0eSBwYXlvdXQuXHJcbiAgIDwvZGl2PlxyXG5cclxuICA8ZGl2PlxyXG4gICAgPGxpYi1idXR0b24gW2ZpZWxkXT1cImdlbmVyYXRlU3VtbWFyeU9ialwiIChjbGljayk9XCJnZW5lcmF0ZVN1bW1hcnlDbGlja2VkKClcIiAvPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19