vc-error-handlers 0.2.9 → 0.3.0

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.
@@ -23,6 +23,9 @@ export class PageNotFoundComponent {
23
23
  case MODULE_NAMES.POLICY:
24
24
  targetPath = REDIRECTION_URL.POLICY_DASHBOARD;
25
25
  break;
26
+ case MODULE_NAMES.ISSUE:
27
+ targetPath = REDIRECTION_URL.ISSUE_DASHBOARD;
28
+ break;
26
29
  default:
27
30
  targetPath = REDIRECTION_URL.COMPLIANCE_DASHBOARD;
28
31
  break;
@@ -104,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
104
107
  </div>
105
108
  `, styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";.errorPage{background:#161b2f;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.errorPage-top{width:100%;height:3rem;display:flex;align-items:center;padding-left:.75rem}.errorPage-container{background:#f2f2f5;border-radius:.75rem;border:1px solid #e3e3e9;box-shadow:0 4px 8px #1d5dd31a;height:calc(100vh - 3.75rem);display:flex;align-items:center;justify-content:center;padding:0 4rem;margin:0 .75rem;position:relative}.errorPage-inner{display:flex;align-items:center}.errorPage-inner-image{width:16rem}.errorPage-inner-right{margin-left:2rem;width:calc(100% - 18rem)}.errorPage-inner-right .errorPage-heading{-webkit-text-fill-color:#e3e3e9;-webkit-text-stroke-color:#a9aab6;-webkit-text-stroke-width:1px;color:#e3e3e9;font-size:78px;font-weight:700;line-height:110px;margin-bottom:1.5rem}.errorPage-inner-right .errorPage-text{color:#141724;font-size:19px;font-weight:500;line-height:1.75rem;margin-bottom:.5rem}.errorPage-inner-right .errorPage-details{color:#565a6f;font-size:13px;line-height:20px;margin-bottom:1.75rem}.errorPage-inner-right .errorPage-btn{background:#1e5dd3;border-radius:.25rem;border:none;color:#fff;display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:2rem;padding:0 1rem}.errorPage-inner-right .errorPage-btn i{font-size:14px;margin-left:.25rem}.errorPage-copyright{font-size:11px;color:#787a8c;font-weight:500;position:absolute;bottom:8px;right:16px;line-height:16px}\n"] }]
106
109
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }]; } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1ub3QtZm91bmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWdlLW5vdC1mb3VuZC9wYWdlLW5vdC1mb3VuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUdwRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxZQUFZLEdBQ2IsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQXlDbEQsTUFBTSxPQUFPLHFCQUFxQjtJQVFoQyxZQUNVLEtBQXFCO1FBQXJCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBUi9CLGdCQUFXLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxnQkFBVyxHQUFHLGdCQUFnQixDQUFDO1FBQy9CLGlCQUFZLEdBQUcsY0FBYyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxtQkFBYyxHQUFHLGVBQWUsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQztJQUtyQyxDQUFDO0lBRU0sY0FBYztRQUNuQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUQsSUFBSSxVQUFVLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDO1FBRXRELFFBQVEsV0FBVyxFQUFFO1lBQ25CLEtBQUssWUFBWSxDQUFDLElBQUk7Z0JBQ3BCLFVBQVUsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDO2dCQUM1QyxNQUFNO1lBQ1IsS0FBSyxZQUFZLENBQUMsTUFBTTtnQkFDdEIsVUFBVSxHQUFHLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDOUMsTUFBTTtZQUVSO2dCQUNFLFVBQVUsR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUM7Z0JBQ2xELE1BQU07U0FDVDtRQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7K0dBL0JVLHFCQUFxQjttR0FBckIscUJBQXFCLG1FQXJDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1Q7OzRGQUdVLHFCQUFxQjtrQkF2Q2pDLFNBQVM7K0JBQ0UsNkJBQTZCLFlBQzdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQge1xyXG4gIEVSUk9SX0NPTkZJRyxcclxuICBWQ09NUExZX0xPR09fVVJMLFxyXG4gIFJFRElSRUNUSU9OX1VSTCxcclxuICBPUkdBTklTQVRJT05fTkFNRSxcclxuICBBTFRfSU1BR0VfVEVYVCxcclxuICBNT0RVTEVfTkFNRVMsXHJcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2Vycm9yLWhhbmRsaW5nLmNvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi12Yy1lcnJvci1wYWdlLW5vdC1mb3VuZCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2VcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImVycm9yUGFnZS10b3BcIj5cclxuICAgICAgICA8aW1nXHJcbiAgICAgICAgICBbbmdTcmNdPVwiVmNvbXBseUxvZ29cIlxyXG4gICAgICAgICAgW2FsdF09XCJhbHRJbWFnZVRleHQuVkNPTVBMWV9MT0dPXCJcclxuICAgICAgICAgIHdpZHRoPVwiMjRcIlxyXG4gICAgICAgICAgaGVpZ2h0PVwiMjRcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtaW5uZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtaW5uZXItaW1hZ2VcIj5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgIFtuZ1NyY109XCJlcnJvckNvbmZpZy5pbWFnZVVybFwiXHJcbiAgICAgICAgICAgICAgW2FsdF09XCJhbHRJbWFnZVRleHQuRVJST1JfSU1BR0VcIlxyXG4gICAgICAgICAgICAgIHdpZHRoPVwiMjQ2XCJcclxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxNzhcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWlubmVyLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtaGVhZGluZ1wiPnt7IGVycm9yQ29uZmlnLnRpdGxlIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtdGV4dFwiPnt7IGVycm9yQ29uZmlnLmRlc2NyaXB0aW9uIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtZGV0YWlsc1wiPnt7IGVycm9yQ29uZmlnLmRldGFpbHMgfX08L2Rpdj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImVycm9yUGFnZS1idG5cIiAoY2xpY2spPVwicmVkaXJlY3RUb0hvbWUoKVwiPlxyXG4gICAgICAgICAgICAgIHt7IGVycm9yQ29uZmlnLmJ1dHRvblRleHQgfX0gPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5NmE7PC9pPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtY29weXJpZ2h0XCI+XHJcbiAgICAgICAgICAmY29weTsmbmJzcDt7eyBjdXJyZW50WWVhciB9fSwge3sgb3JnYW5pc2F0aW9uTmFtZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVVcmxzOiBbJy4uL2NvbW1vbi1lcnJvci1wYWdlLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlTm90Rm91bmRDb21wb25lbnQge1xyXG4gIGVycm9yQ29uZmlnID0gRVJST1JfQ09ORklHLlBBR0VfTk9UX0ZPVU5EO1xyXG4gIFZjb21wbHlMb2dvID0gVkNPTVBMWV9MT0dPX1VSTDtcclxuICBhbHRJbWFnZVRleHQgPSBBTFRfSU1BR0VfVEVYVDtcclxuICBjdXJyZW50WWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcclxuICByZWRpcmVjdGlvblVybCA9IFJFRElSRUNUSU9OX1VSTDtcclxuICBvcmdhbmlzYXRpb25OYW1lID0gT1JHQU5JU0FUSU9OX05BTUU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVkaXJlY3RUb0hvbWUoKSB7XHJcbiAgICBjb25zdCBtb2R1bGVfbmFtZSA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YVsncGFnZV9wYXRoJ107XHJcbiAgICBsZXQgdGFyZ2V0UGF0aCA9IFJFRElSRUNUSU9OX1VSTC5DT01QTElBTkNFX0RBU0hCT0FSRDtcclxuXHJcbiAgICBzd2l0Y2ggKG1vZHVsZV9uYW1lKSB7XHJcbiAgICAgIGNhc2UgTU9EVUxFX05BTUVTLlJJU0s6XHJcbiAgICAgICAgdGFyZ2V0UGF0aCA9IFJFRElSRUNUSU9OX1VSTC5SSVNLX0RBU0hCT0FSRDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNT0RVTEVfTkFNRVMuUE9MSUNZOlxyXG4gICAgICAgIHRhcmdldFBhdGggPSBSRURJUkVDVElPTl9VUkwuUE9MSUNZX0RBU0hCT0FSRDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGFyZ2V0UGF0aCA9IFJFRElSRUNUSU9OX1VSTC5DT01QTElBTkNFX0RBU0hCT0FSRDtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICB3aW5kb3cubG9jYXRpb24ucmVwbGFjZSh0YXJnZXRQYXRoKTtcclxuICB9XHJcbn1cclxuIl19
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1ub3QtZm91bmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWdlLW5vdC1mb3VuZC9wYWdlLW5vdC1mb3VuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUdwRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxZQUFZLEdBQ2IsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQXlDbEQsTUFBTSxPQUFPLHFCQUFxQjtJQVFoQyxZQUFvQixLQUFxQjtRQUFyQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQVB6QyxnQkFBVyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUM7UUFDMUMsZ0JBQVcsR0FBRyxnQkFBZ0IsQ0FBQztRQUMvQixpQkFBWSxHQUFHLGNBQWMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkMsbUJBQWMsR0FBRyxlQUFlLENBQUM7UUFDakMscUJBQWdCLEdBQUcsaUJBQWlCLENBQUM7SUFFTyxDQUFDO0lBRXRDLGNBQWM7UUFDbkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFELElBQUksVUFBVSxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQztRQUV0RCxRQUFRLFdBQVcsRUFBRTtZQUNuQixLQUFLLFlBQVksQ0FBQyxJQUFJO2dCQUNwQixVQUFVLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQztnQkFDNUMsTUFBTTtZQUNSLEtBQUssWUFBWSxDQUFDLE1BQU07Z0JBQ3RCLFVBQVUsR0FBRyxlQUFlLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzlDLE1BQU07WUFDUixLQUFLLFlBQVksQ0FBQyxLQUFLO2dCQUNyQixVQUFVLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQztnQkFDN0MsTUFBTTtZQUVSO2dCQUNFLFVBQVUsR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUM7Z0JBQ2xELE1BQU07U0FDVDtRQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7K0dBL0JVLHFCQUFxQjttR0FBckIscUJBQXFCLG1FQXJDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1Q7OzRGQUdVLHFCQUFxQjtrQkF2Q2pDLFNBQVM7K0JBQ0UsNkJBQTZCLFlBQzdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQge1xyXG4gIEVSUk9SX0NPTkZJRyxcclxuICBWQ09NUExZX0xPR09fVVJMLFxyXG4gIFJFRElSRUNUSU9OX1VSTCxcclxuICBPUkdBTklTQVRJT05fTkFNRSxcclxuICBBTFRfSU1BR0VfVEVYVCxcclxuICBNT0RVTEVfTkFNRVMsXHJcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2Vycm9yLWhhbmRsaW5nLmNvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi12Yy1lcnJvci1wYWdlLW5vdC1mb3VuZCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2VcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImVycm9yUGFnZS10b3BcIj5cclxuICAgICAgICA8aW1nXHJcbiAgICAgICAgICBbbmdTcmNdPVwiVmNvbXBseUxvZ29cIlxyXG4gICAgICAgICAgW2FsdF09XCJhbHRJbWFnZVRleHQuVkNPTVBMWV9MT0dPXCJcclxuICAgICAgICAgIHdpZHRoPVwiMjRcIlxyXG4gICAgICAgICAgaGVpZ2h0PVwiMjRcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtaW5uZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtaW5uZXItaW1hZ2VcIj5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgIFtuZ1NyY109XCJlcnJvckNvbmZpZy5pbWFnZVVybFwiXHJcbiAgICAgICAgICAgICAgW2FsdF09XCJhbHRJbWFnZVRleHQuRVJST1JfSU1BR0VcIlxyXG4gICAgICAgICAgICAgIHdpZHRoPVwiMjQ2XCJcclxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxNzhcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JQYWdlLWlubmVyLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtaGVhZGluZ1wiPnt7IGVycm9yQ29uZmlnLnRpdGxlIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtdGV4dFwiPnt7IGVycm9yQ29uZmlnLmRlc2NyaXB0aW9uIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtZGV0YWlsc1wiPnt7IGVycm9yQ29uZmlnLmRldGFpbHMgfX08L2Rpdj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImVycm9yUGFnZS1idG5cIiAoY2xpY2spPVwicmVkaXJlY3RUb0hvbWUoKVwiPlxyXG4gICAgICAgICAgICAgIHt7IGVycm9yQ29uZmlnLmJ1dHRvblRleHQgfX0gPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5NmE7PC9pPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclBhZ2UtY29weXJpZ2h0XCI+XHJcbiAgICAgICAgICAmY29weTsmbmJzcDt7eyBjdXJyZW50WWVhciB9fSwge3sgb3JnYW5pc2F0aW9uTmFtZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVVcmxzOiBbJy4uL2NvbW1vbi1lcnJvci1wYWdlLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlTm90Rm91bmRDb21wb25lbnQge1xyXG4gIGVycm9yQ29uZmlnID0gRVJST1JfQ09ORklHLlBBR0VfTk9UX0ZPVU5EO1xyXG4gIFZjb21wbHlMb2dvID0gVkNPTVBMWV9MT0dPX1VSTDtcclxuICBhbHRJbWFnZVRleHQgPSBBTFRfSU1BR0VfVEVYVDtcclxuICBjdXJyZW50WWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcclxuICByZWRpcmVjdGlvblVybCA9IFJFRElSRUNUSU9OX1VSTDtcclxuICBvcmdhbmlzYXRpb25OYW1lID0gT1JHQU5JU0FUSU9OX05BTUU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7fVxyXG5cclxuICBwdWJsaWMgcmVkaXJlY3RUb0hvbWUoKSB7XHJcbiAgICBjb25zdCBtb2R1bGVfbmFtZSA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YVsncGFnZV9wYXRoJ107XHJcbiAgICBsZXQgdGFyZ2V0UGF0aCA9IFJFRElSRUNUSU9OX1VSTC5DT01QTElBTkNFX0RBU0hCT0FSRDtcclxuXHJcbiAgICBzd2l0Y2ggKG1vZHVsZV9uYW1lKSB7XHJcbiAgICAgIGNhc2UgTU9EVUxFX05BTUVTLlJJU0s6XHJcbiAgICAgICAgdGFyZ2V0UGF0aCA9IFJFRElSRUNUSU9OX1VSTC5SSVNLX0RBU0hCT0FSRDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNT0RVTEVfTkFNRVMuUE9MSUNZOlxyXG4gICAgICAgIHRhcmdldFBhdGggPSBSRURJUkVDVElPTl9VUkwuUE9MSUNZX0RBU0hCT0FSRDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNT0RVTEVfTkFNRVMuSVNTVUU6XHJcbiAgICAgICAgdGFyZ2V0UGF0aCA9IFJFRElSRUNUSU9OX1VSTC5JU1NVRV9EQVNIQk9BUkQ7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRhcmdldFBhdGggPSBSRURJUkVDVElPTl9VUkwuQ09NUExJQU5DRV9EQVNIQk9BUkQ7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0UGF0aCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -340,13 +340,13 @@ export const COMPONENT_LEVEL_API_CONFIG = [
340
340
  },
341
341
  {
342
342
  method: 'POST',
343
- path: 'category/list',
343
+ path: 'category/list&returnType',
344
344
  query: null,
345
345
  body: null,
346
346
  },
347
347
  {
348
348
  method: 'POST',
349
- path: 'risk/list',
349
+ path: 'risk/list&return_list',
350
350
  query: null,
351
351
  body: null,
352
352
  },
@@ -430,39 +430,171 @@ export const COMPONENT_LEVEL_API_CONFIG = [
430
430
  },
431
431
  {
432
432
  method: 'GET',
433
- path: '/policy/?mode=announcements/listAll&type=past',
433
+ path: '/policy/?mode=announcements/listAll',
434
434
  query: null,
435
435
  body: null,
436
436
  },
437
437
  {
438
438
  method: 'GET',
439
- path: '/policy/?mode=announcements/listAll&type=current',
439
+ path: '/policy/?mode=announcements/list',
440
+ query: null,
441
+ body: null,
442
+ },
443
+ {
444
+ method: 'POST',
445
+ path: '/policy_post/?mode=dashboard/overdue/attestation',
446
+ query: null,
447
+ body: null,
448
+ },
449
+ {
450
+ method: 'POST',
451
+ path: '/policy_post/?mode=dashboard/overdue/review',
440
452
  query: null,
441
453
  body: null,
442
454
  },
443
455
  {
444
456
  method: 'GET',
445
- path: '/policy/?mode=announcements/list',
457
+ path: '/policy/?mode=dashboard/calendar&date',
458
+ query: null,
459
+ body: null,
460
+ },
461
+ {
462
+ method: 'GET',
463
+ path: 'policy/?mode=dashboard/dueForAttestation/dueToday',
464
+ query: null,
465
+ body: null,
466
+ },
467
+ {
468
+ method: 'GET',
469
+ path: '/policy/?mode=dashboard/dueForAttestation/overdue',
470
+ query: null,
471
+ body: null,
472
+ },
473
+ {
474
+ method: 'GET',
475
+ path: 'policy/?mode=dashboard/dueForAttestation/upcoming',
476
+ query: null,
477
+ body: null,
478
+ },
479
+ {
480
+ method: 'GET',
481
+ path: 'policy/?mode=dashboard/dueForAttestation/upcoming',
482
+ query: null,
483
+ body: null,
484
+ },
485
+ {
486
+ method: 'GET',
487
+ path: 'Assurance/Issue/Category/CatList',
446
488
  query: null,
447
489
  body: null,
448
490
  },
449
491
  {
450
492
  method: 'POST',
451
- path: '/policy_post/?mode=dashboard/overdue/attestation',
493
+ path: 'Assurance/Issue/MyIssues/',
452
494
  query: null,
453
495
  body: null,
454
496
  },
455
497
  {
456
498
  method: 'POST',
457
- path: '/policy_post/?mode=dashboard/overdue/review',
499
+ path: 'Assurance/Issue/Overview/',
500
+ query: null,
501
+ body: null,
502
+ },
503
+ {
504
+ method: 'POST',
505
+ path: 'Assurance/Issue/Overseeing/',
458
506
  query: null,
459
507
  body: null,
460
508
  },
461
509
  {
462
510
  method: 'GET',
463
- path: '/policy/?mode=dashboard/calendar&date',
511
+ path: 'Assurance/Issue/Workroom/',
512
+ query: null,
513
+ body: null,
514
+ },
515
+ {
516
+ method: 'GET',
517
+ path: 'Assurance/Issue/GetIssueDueDates/',
518
+ query: null,
519
+ body: null,
520
+ },
521
+ {
522
+ method: 'GET',
523
+ path: '/Assurance/Workroom/Issue/FilesAndFolders/',
524
+ query: null,
525
+ body: null,
526
+ },
527
+ {
528
+ method: 'GET',
529
+ path: 'Assurance/Workroom/Issue/ActivitiesViewLog/',
530
+ query: null,
531
+ body: null,
532
+ },
533
+ {
534
+ method: 'GET',
535
+ path: '/Assurance/ActivityLog/IssueLog/',
536
+ query: null,
537
+ body: null,
538
+ },
539
+ {
540
+ method: 'GET',
541
+ path: 'Assurance/Workroom/Issue/IssueDuedateListForTimeline',
542
+ query: null,
543
+ body: null,
544
+ },
545
+ {
546
+ method: 'GET',
547
+ path: 'Assurance/Issue/ListByCategoryIdRC/',
548
+ query: null,
549
+ body: null,
550
+ },
551
+ {
552
+ method: 'GET',
553
+ path: 'Assurance/Issue/DashboardCalendar',
554
+ query: null,
555
+ body: null,
556
+ },
557
+ {
558
+ method: 'GET',
559
+ path: '/Assurance/Issue/Priority',
560
+ query: null,
561
+ body: null,
562
+ },
563
+ {
564
+ method: 'POST',
565
+ path: 'risk_dashboard/heatmap',
566
+ query: null,
567
+ body: null,
568
+ },
569
+ {
570
+ method: 'POST',
571
+ path: 'risk_dashboard/risk_category_overview',
572
+ query: null,
573
+ body: null,
574
+ },
575
+ {
576
+ method: 'POST',
577
+ path: 'risk_dashboard/risk_score_by_rc',
578
+ query: null,
579
+ body: null,
580
+ },
581
+ {
582
+ method: 'POST',
583
+ path: 'risk_dashboard/scorebycategory',
584
+ query: null,
585
+ body: null,
586
+ },
587
+ {
588
+ method: 'POST',
589
+ path: 'risk_dashboard/list',
590
+ query: null,
591
+ body: null,
592
+ },
593
+ {
594
+ method: 'GET',
595
+ path: 'dashboard/missedResponsibilities',
464
596
  query: null,
465
597
  body: null,
466
598
  },
467
599
  ];
468
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbmZpZy5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3NoYXJlZC9jb25zdGFudHMvYXBpLWNvbmZpZy5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDbkM7UUFDRSxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxFQUFFO1FBQ1IsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtRQUNWLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQztLQUNoQjtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRztJQUN4QztRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1FBQ3pCLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO1FBQzlCLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO1FBQzlCLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO1FBQzNCLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxL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RUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLGtDQUFrQztRQUN4QyxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxNQUFNO1FBQ2QsSUFBSSxFQUFFLGtEQUFrRDtRQUN4RCxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxNQUFNO1FBQ2QsSUFBSSxFQUFFLDZDQUE2QztRQUNuRCxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLHVDQUF1QztRQUM3QyxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxJQUFJO0tBQ1g7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFBBR0VfTEVWRUxfQVBJX0NPTkZJRyA9IFtcclxuICB7XHJcbiAgICBtZXRob2Q6ICcnLFxyXG4gICAgcGF0aDogJycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgICBwYWdlQ29kZXM6IFsnJ10sXHJcbiAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBDT01QT05FTlRfTEVWRUxfQVBJX0NPTkZJRyA9IFtcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9vcmdhbml6YXRpb24vP21vZGU9b3JnYW5pc2F0aW9uVXNlcnNMaXN0JyxcclxuICAgIHF1ZXJ5OiB7IHR5cGU6ICdhY3RpdmUnIH0sXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPW9yZ2FuaXNhdGlvblVzZXJzTGlzdCcsXHJcbiAgICBxdWVyeTogeyB0eXBlOiAncG93ZXJfdXNlcnMnIH0sXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPW9yZ2FuaXNhdGlvblVzZXJzTGlzdCcsXHJcbiAgICBxdWVyeTogeyB0eXBlOiAnbGlnaHRfdXNlcnMnIH0sXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPW9yZ2FuaXNhdGlvblVzZXJzTGlzdCcsXHJcbiAgICBxdWVyeTogeyB0eXBlOiAnaW5hY3RpdmUnIH0sXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPW9yZ2FuaXNhdGlvblVzZXJzTGlzdCcsXHJcbiAgICBxdWVyeTogeyB0eXBlOiAncG93ZXJfdXNlcnNfc21hbGwnIH0sXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvR2xvYmFsLURhc2hib2FyZC9NYW5hZ2VEYXNoYm9hcmRzJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL0dsb2JhbC1EYXNoYm9hcmQvTXlEYXNoYm9hcmQnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvZ3JjX29iamVjdC8/bW9kZT1ncmMvZ2V0R1JDTGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9jb21wbGlhbmNlLz9tb2RlPXJlc3BvbnNpYmlsaXR5Q2VudGVyVHJlZScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9vcmdhbml6YXRpb24vP21vZGU9cmNob2xpZGF5bGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9vcmdhbml6YXRpb24vP21vZGU9cm9sZXMvZ2V0Um9sZXMnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPWdyb3Vwc0xpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnL2NvbXBsaWFuY2VfcG9zdC8/bW9kZT1yY1Byb2ZpbGUnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnL29yZ2FuaXphdGlvbl9wb3N0Lz9tb2RlPXVzZXJQcm9maWxlJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL29yZ2FuaXphdGlvbi8/bW9kZT1yb2xlcy9yb2xlQnlJZCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9vcmdhbml6YXRpb24vP21vZGU9Z3JvdXBEZXRhaWxzJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJy9jb21wbGlhbmNlX3Bvc3Q/bW9kZT1yZXBvcnQvbGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9vcmdhbml6YXRpb24vP21vZGU9bWVtYmVyaG9saWRheWxpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvZ3JjX29iamVjdC8/bW9kZT1hY3Rpdml0eS9hY3Rpdml0eUxvZ0xpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvZ3JjX29iamVjdC8/bW9kZT1hY3Rpdml0eS92aWV3TGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9wcm9ncmFtL2NhdGVnb3JpZXNMaXN0P293bmVyX2xpc3Q9MScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICcvcmlzay8/bW9kZT1jYXRlZ29yeS9saXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ21lbWJlckRldGFpbHNieUlkcycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9vcmdhbml6YXRpb24/bW9kZT1zaWduYXR1cmVEZXRhaWxzJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3Byb2dyYW0vcmVzcG9uc2liaWxpdHlMaXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3Byb2dyYW0vZ2V0TGlua2VkUG9saWNpZXMnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAncmlzay9saXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3Byb2dyYW0vYXNzaWduZWUnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvcHJvZ3JhbS9ldmlkZW5jZS9nZXRFdmlkZW5jZXMvYi1jeWNsZS1oZWFkZXInLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvcHJvZ3JhbS9hY3Rpdml0eS1sb2dzJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3Byb2dyYW0vYWN0aXZpdHktbG9ncy12aWV3cycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICcvQXNzZXNzbWVudC8/bW9kZT1jYXRlZ29yeS9saXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJy9Bc3Nlc3NtZW50Lz9tb2RlPWFzc2Vzc21lbnQvbGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9Bc3Nlc3NtZW50Lz9tb2RlPWFzc2Vzc21lbnQvZmV0Y2hRdWVzdGlvbnNCeUFzc2Vzc21lbnRJZCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICcvQXNzZXNzbWVudC8/bW9kZT1hc3Nlc3NtZW50L3Jlc3BvbnNlU3VtbWFyeScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9Bc3Nlc3NtZW50Lz9tb2RlPWFzc2Vzc21lbnQvbG9ncycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9wcm9ncmFtL3N1YkNhdGVnb3JpZXMnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnL0Fzc2Vzc21lbnQvP21vZGU9YXNzZXNzbWVudC9nZXRBc3Nlc3NtZW50QnlJZCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy90b19kb19yZXNwb25zaWJpbGl0aWVzL3Jlc3BvbnNpYmlsaXRpZXMvbXkvZHVlVG9kYXknLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvdG9fZG9fcmVzcG9uc2liaWxpdGllcy9yZXNwb25zaWJpbGl0aWVzL3Jldmlld2luZy9kdWVUb2RheScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy90b19kb19yZXNwb25zaWJpbGl0aWVzL3Jlc3BvbnNpYmlsaXRpZXMvbWFuYWdpbmcvZHVlVG9kYXknLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvdG9fZG9fcmVzcG9uc2liaWxpdGllcy9yZXNwb25zaWJpbGl0aWVzL215L292ZXJkdWUnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvdG9fZG9fcmVzcG9uc2liaWxpdGllcy9yZXNwb25zaWJpbGl0aWVzL3Jldmlld2luZy9vdmVyZHVlJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3RvX2RvX3Jlc3BvbnNpYmlsaXRpZXMvcmVzcG9uc2liaWxpdGllcy9tYW5hZ2luZy9vdmVyZHVlJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3RvX2RvX3Jlc3BvbnNpYmlsaXRpZXMvcmVzcG9uc2liaWxpdGllcy9teS91cGNvbWluZycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy90b19kb19yZXNwb25zaWJpbGl0aWVzL3Jlc3BvbnNpYmlsaXRpZXMvcmV2aWV3aW5nL3VwY29taW5nJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3RvX2RvX3Jlc3BvbnNpYmlsaXRpZXMvcmVzcG9uc2liaWxpdGllcy9tYW5hZ2luZy91cGNvbWluZycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdyaXNrL0xpc3RpbmdSZXBvcnRlZFJpc2tzJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ3Jpc2svbXlBc3Nlc3NtZW50cyZ0eXBlJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ3dvcmtzaG9wL2xpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAncmlzay9EdWVEYXRlTGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdyaXNrL1Jpc2tEZXRhaWxzQnlJZCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdzY29yZS9hc3Nlc3NtZW50JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ3Njb3JlL3RyZWF0bWVudCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdzY29yZS90cmVhdG1lbnRQbGFuJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ2NhdGVnb3J5L2xpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAncmlzay9saXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ3Jpc2svR2V0RGlzY3Vzc2lvbkJ5SWQnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnd29ya3Jvb20vZ2V0RmlsZXNBbmRGb2xkZXJzTGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdyZXNwb25zaWJpbGl0eUNlbnRlci9yY0xpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICdwcm9ncmFtL292ZXJ2aWV3P293bmVyX2xpc3Q9MScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdjYWxlbmRhckRhc2hib2FyZFJlcG9ydHMnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnY29tcGxpYW5jZV9wb3N0Lz9tb2RlPW15UmVzcG9uc2liaWxpdHknLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnY29tcGxpYW5jZV9wb3N0Lz9tb2RlPWF1ZGl0TGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdjb21wbGlhbmNlX3Bvc3QvP21vZGU9b3ZlcnNpZ2h0UmVzcG9uc2liaWxpdHkvbGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdjb21wbGlhbmNlUmVwb3J0L2dldFRyZW5kUmVwb3J0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ3dvcmtyb29tVXBkYXRlcycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdyZWNlbnRBY3Rpdml0aWVzX25ldycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICcvcG9saWN5X3Bvc3QvP21vZGU9ZGFzaGJvYXJkL3N0YXR1c092ZXJ2aWV3JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3BvbGljeS8/bW9kZT1jYXRlZ29yeS9saXN0Rm9yUG9ydGFsJnR5cGU9ZGFzaGJvYXJkJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3BvbGljeS8/bW9kZT1hbm5vdW5jZW1lbnRzL2xpc3RBbGwmdHlwZT1wYXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3BvbGljeS8/bW9kZT1hbm5vdW5jZW1lbnRzL2xpc3RBbGwmdHlwZT1jdXJyZW50JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3BvbGljeS8/bW9kZT1hbm5vdW5jZW1lbnRzL2xpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnL3BvbGljeV9wb3N0Lz9tb2RlPWRhc2hib2FyZC9vdmVyZHVlL2F0dGVzdGF0aW9uJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJy9wb2xpY3lfcG9zdC8/bW9kZT1kYXNoYm9hcmQvb3ZlcmR1ZS9yZXZpZXcnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvcG9saWN5Lz9tb2RlPWRhc2hib2FyZC9jYWxlbmRhciZkYXRlJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG5dO1xyXG4iXX0=
600
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbmZpZy5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1lcnJvci1oYW5kbGVycy9zcmMvbGliL3NoYXJlZC9jb25zdGFudHMvYXBpLWNvbmZpZy5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDbkM7UUFDRSxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxFQUFFO1FBQ1IsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtRQUNWLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQztLQUNoQjtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRztJQUN4QztRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1FBQ3pCLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO1FBQzlCLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO1FBQzlCLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO1FBQzNCLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRDtRQUNFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxL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Q0FBd0M7UUFDOUMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSxpQ0FBaUM7UUFDdkMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSxvREFBb0Q7UUFDMUQsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSxpQ0FBaUM7UUFDdkMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSw2Q0FBNkM7UUFDbkQsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxxREFBcUQ7UUFDM0QsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxxQ0FBcUM7UUFDM0MsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxrQ0FBa0M7UUFDeEMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSxrREFBa0Q7UUFDeEQsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSw2Q0FBNkM7UUFDbkQsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSx1Q0FBdUM7UUFDN0MsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxtREFBbUQ7UUFDekQsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxtREFBbUQ7UUFDekQsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxtREFBbUQ7UUFDekQsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxtREFBbUQ7UUFDekQsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxrQ0FBa0M7UUFDeEMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSwyQkFBMkI7UUFDakMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSwyQkFBMkI7UUFDakMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSw2QkFBNkI7UUFDbkMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSwyQkFBMkI7UUFDakMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxtQ0FBbUM7UUFDekMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSw0Q0FBNEM7UUFDbEQsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSw2Q0FBNkM7UUFDbkQsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxrQ0FBa0M7UUFDeEMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxzREFBc0Q7UUFDNUQsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxxQ0FBcUM7UUFDM0MsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxtQ0FBbUM7UUFDekMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSwyQkFBMkI7UUFDakMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSx1Q0FBdUM7UUFDN0MsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSxpQ0FBaUM7UUFDdkMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSxnQ0FBZ0M7UUFDdEMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsTUFBTTtRQUNkLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxrQ0FBa0M7UUFDeEMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsSUFBSTtLQUNYO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBQQUdFX0xFVkVMX0FQSV9DT05GSUcgPSBbXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnJyxcclxuICAgIHBhdGg6ICcnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gICAgcGFnZUNvZGVzOiBbJyddLFxyXG4gIH0sXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgQ09NUE9ORU5UX0xFVkVMX0FQSV9DT05GSUcgPSBbXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPW9yZ2FuaXNhdGlvblVzZXJzTGlzdCcsXHJcbiAgICBxdWVyeTogeyB0eXBlOiAnYWN0aXZlJyB9LFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL29yZ2FuaXphdGlvbi8/bW9kZT1vcmdhbmlzYXRpb25Vc2Vyc0xpc3QnLFxyXG4gICAgcXVlcnk6IHsgdHlwZTogJ3Bvd2VyX3VzZXJzJyB9LFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL29yZ2FuaXphdGlvbi8/bW9kZT1vcmdhbmlzYXRpb25Vc2Vyc0xpc3QnLFxyXG4gICAgcXVlcnk6IHsgdHlwZTogJ2xpZ2h0X3VzZXJzJyB9LFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL29yZ2FuaXphdGlvbi8/bW9kZT1vcmdhbmlzYXRpb25Vc2Vyc0xpc3QnLFxyXG4gICAgcXVlcnk6IHsgdHlwZTogJ2luYWN0aXZlJyB9LFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL29yZ2FuaXphdGlvbi8/bW9kZT1vcmdhbmlzYXRpb25Vc2Vyc0xpc3QnLFxyXG4gICAgcXVlcnk6IHsgdHlwZTogJ3Bvd2VyX3VzZXJzX3NtYWxsJyB9LFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL0dsb2JhbC1EYXNoYm9hcmQvTWFuYWdlRGFzaGJvYXJkcycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9HbG9iYWwtRGFzaGJvYXJkL015RGFzaGJvYXJkJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL2dyY19vYmplY3QvP21vZGU9Z3JjL2dldEdSQ0xpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvY29tcGxpYW5jZS8/bW9kZT1yZXNwb25zaWJpbGl0eUNlbnRlclRyZWUnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPXJjaG9saWRheWxpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPXJvbGVzL2dldFJvbGVzJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL29yZ2FuaXphdGlvbi8/bW9kZT1ncm91cHNMaXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJy9jb21wbGlhbmNlX3Bvc3QvP21vZGU9cmNQcm9maWxlJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJy9vcmdhbml6YXRpb25fcG9zdC8/bW9kZT11c2VyUHJvZmlsZScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9vcmdhbml6YXRpb24vP21vZGU9cm9sZXMvcm9sZUJ5SWQnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPWdyb3VwRGV0YWlscycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICcvY29tcGxpYW5jZV9wb3N0P21vZGU9cmVwb3J0L2xpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uLz9tb2RlPW1lbWJlcmhvbGlkYXlsaXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL2dyY19vYmplY3QvP21vZGU9YWN0aXZpdHkvYWN0aXZpdHlMb2dMaXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL2dyY19vYmplY3QvP21vZGU9YWN0aXZpdHkvdmlld0xpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvcHJvZ3JhbS9jYXRlZ29yaWVzTGlzdD9vd25lcl9saXN0PTEnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnL3Jpc2svP21vZGU9Y2F0ZWdvcnkvbGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdtZW1iZXJEZXRhaWxzYnlJZHMnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvb3JnYW5pemF0aW9uP21vZGU9c2lnbmF0dXJlRGV0YWlscycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9wcm9ncmFtL3Jlc3BvbnNpYmlsaXR5TGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9wcm9ncmFtL2dldExpbmtlZFBvbGljaWVzJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ3Jpc2svbGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9wcm9ncmFtL2Fzc2lnbmVlJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3Byb2dyYW0vZXZpZGVuY2UvZ2V0RXZpZGVuY2VzL2ItY3ljbGUtaGVhZGVyJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3Byb2dyYW0vYWN0aXZpdHktbG9ncycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9wcm9ncmFtL2FjdGl2aXR5LWxvZ3Mtdmlld3MnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnL0Fzc2Vzc21lbnQvP21vZGU9Y2F0ZWdvcnkvbGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICcvQXNzZXNzbWVudC8/bW9kZT1hc3Nlc3NtZW50L2xpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvQXNzZXNzbWVudC8/bW9kZT1hc3Nlc3NtZW50L2ZldGNoUXVlc3Rpb25zQnlBc3Nlc3NtZW50SWQnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnL0Fzc2Vzc21lbnQvP21vZGU9YXNzZXNzbWVudC9yZXNwb25zZVN1bW1hcnknLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvQXNzZXNzbWVudC8/bW9kZT1hc3Nlc3NtZW50L2xvZ3MnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvcHJvZ3JhbS9zdWJDYXRlZ29yaWVzJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJy9Bc3Nlc3NtZW50Lz9tb2RlPWFzc2Vzc21lbnQvZ2V0QXNzZXNzbWVudEJ5SWQnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvdG9fZG9fcmVzcG9uc2liaWxpdGllcy9yZXNwb25zaWJpbGl0aWVzL215L2R1ZVRvZGF5JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3RvX2RvX3Jlc3BvbnNpYmlsaXRpZXMvcmVzcG9uc2liaWxpdGllcy9yZXZpZXdpbmcvZHVlVG9kYXknLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvdG9fZG9fcmVzcG9uc2liaWxpdGllcy9yZXNwb25zaWJpbGl0aWVzL21hbmFnaW5nL2R1ZVRvZGF5JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3RvX2RvX3Jlc3BvbnNpYmlsaXRpZXMvcmVzcG9uc2liaWxpdGllcy9teS9vdmVyZHVlJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3RvX2RvX3Jlc3BvbnNpYmlsaXRpZXMvcmVzcG9uc2liaWxpdGllcy9yZXZpZXdpbmcvb3ZlcmR1ZScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy90b19kb19yZXNwb25zaWJpbGl0aWVzL3Jlc3BvbnNpYmlsaXRpZXMvbWFuYWdpbmcvb3ZlcmR1ZScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy90b19kb19yZXNwb25zaWJpbGl0aWVzL3Jlc3BvbnNpYmlsaXRpZXMvbXkvdXBjb21pbmcnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvdG9fZG9fcmVzcG9uc2liaWxpdGllcy9yZXNwb25zaWJpbGl0aWVzL3Jldmlld2luZy91cGNvbWluZycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy90b19kb19yZXNwb25zaWJpbGl0aWVzL3Jlc3BvbnNpYmlsaXRpZXMvbWFuYWdpbmcvdXBjb21pbmcnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAncmlzay9MaXN0aW5nUmVwb3J0ZWRSaXNrcycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdyaXNrL215QXNzZXNzbWVudHMmdHlwZScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICd3b3Jrc2hvcC9saXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ3Jpc2svRHVlRGF0ZUxpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAncmlzay9SaXNrRGV0YWlsc0J5SWQnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnc2NvcmUvYXNzZXNzbWVudCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdzY29yZS90cmVhdG1lbnQnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnc2NvcmUvdHJlYXRtZW50UGxhbicsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdjYXRlZ29yeS9saXN0JnJldHVyblR5cGUnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAncmlzay9saXN0JnJldHVybl9saXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ3Jpc2svR2V0RGlzY3Vzc2lvbkJ5SWQnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnd29ya3Jvb20vZ2V0RmlsZXNBbmRGb2xkZXJzTGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdyZXNwb25zaWJpbGl0eUNlbnRlci9yY0xpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICdwcm9ncmFtL292ZXJ2aWV3P293bmVyX2xpc3Q9MScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdjYWxlbmRhckRhc2hib2FyZFJlcG9ydHMnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnY29tcGxpYW5jZV9wb3N0Lz9tb2RlPW15UmVzcG9uc2liaWxpdHknLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnY29tcGxpYW5jZV9wb3N0Lz9tb2RlPWF1ZGl0TGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdjb21wbGlhbmNlX3Bvc3QvP21vZGU9b3ZlcnNpZ2h0UmVzcG9uc2liaWxpdHkvbGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdjb21wbGlhbmNlUmVwb3J0L2dldFRyZW5kUmVwb3J0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ3dvcmtyb29tVXBkYXRlcycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdyZWNlbnRBY3Rpdml0aWVzX25ldycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICcvcG9saWN5X3Bvc3QvP21vZGU9ZGFzaGJvYXJkL3N0YXR1c092ZXJ2aWV3JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3BvbGljeS8/bW9kZT1jYXRlZ29yeS9saXN0Rm9yUG9ydGFsJnR5cGU9ZGFzaGJvYXJkJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3BvbGljeS8/bW9kZT1hbm5vdW5jZW1lbnRzL2xpc3RBbGwnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvcG9saWN5Lz9tb2RlPWFubm91bmNlbWVudHMvbGlzdCcsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICcvcG9saWN5X3Bvc3QvP21vZGU9ZGFzaGJvYXJkL292ZXJkdWUvYXR0ZXN0YXRpb24nLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnL3BvbGljeV9wb3N0Lz9tb2RlPWRhc2hib2FyZC9vdmVyZHVlL3JldmlldycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJy9wb2xpY3kvP21vZGU9ZGFzaGJvYXJkL2NhbGVuZGFyJmRhdGUnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICdwb2xpY3kvP21vZGU9ZGFzaGJvYXJkL2R1ZUZvckF0dGVzdGF0aW9uL2R1ZVRvZGF5JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL3BvbGljeS8/bW9kZT1kYXNoYm9hcmQvZHVlRm9yQXR0ZXN0YXRpb24vb3ZlcmR1ZScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJ3BvbGljeS8/bW9kZT1kYXNoYm9hcmQvZHVlRm9yQXR0ZXN0YXRpb24vdXBjb21pbmcnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICdwb2xpY3kvP21vZGU9ZGFzaGJvYXJkL2R1ZUZvckF0dGVzdGF0aW9uL3VwY29taW5nJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnQXNzdXJhbmNlL0lzc3VlL0NhdGVnb3J5L0NhdExpc3QnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAnQXNzdXJhbmNlL0lzc3VlL015SXNzdWVzLycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdBc3N1cmFuY2UvSXNzdWUvT3ZlcnZpZXcvJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ0Fzc3VyYW5jZS9Jc3N1ZS9PdmVyc2VlaW5nLycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgcGF0aDogJ0Fzc3VyYW5jZS9Jc3N1ZS9Xb3Jrcm9vbS8nLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICdBc3N1cmFuY2UvSXNzdWUvR2V0SXNzdWVEdWVEYXRlcy8nLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvQXNzdXJhbmNlL1dvcmtyb29tL0lzc3VlL0ZpbGVzQW5kRm9sZGVycy8nLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICdBc3N1cmFuY2UvV29ya3Jvb20vSXNzdWUvQWN0aXZpdGllc1ZpZXdMb2cvJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnL0Fzc3VyYW5jZS9BY3Rpdml0eUxvZy9Jc3N1ZUxvZy8nLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICdBc3N1cmFuY2UvV29ya3Jvb20vSXNzdWUvSXNzdWVEdWVkYXRlTGlzdEZvclRpbWVsaW5lJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnQXNzdXJhbmNlL0lzc3VlL0xpc3RCeUNhdGVnb3J5SWRSQy8nLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICdBc3N1cmFuY2UvSXNzdWUvRGFzaGJvYXJkQ2FsZW5kYXInLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnR0VUJyxcclxuICAgIHBhdGg6ICcvQXNzdXJhbmNlL0lzc3VlL1ByaW9yaXR5JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ3Jpc2tfZGFzaGJvYXJkL2hlYXRtYXAnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICBwYXRoOiAncmlza19kYXNoYm9hcmQvcmlza19jYXRlZ29yeV9vdmVydmlldycsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdyaXNrX2Rhc2hib2FyZC9yaXNrX3Njb3JlX2J5X3JjJyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgcGF0aDogJ3Jpc2tfZGFzaGJvYXJkL3Njb3JlYnljYXRlZ29yeScsXHJcbiAgICBxdWVyeTogbnVsbCxcclxuICAgIGJvZHk6IG51bGwsXHJcbiAgfSxcclxuICB7XHJcbiAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgIHBhdGg6ICdyaXNrX2Rhc2hib2FyZC9saXN0JyxcclxuICAgIHF1ZXJ5OiBudWxsLFxyXG4gICAgYm9keTogbnVsbCxcclxuICB9LFxyXG4gIHtcclxuICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICBwYXRoOiAnZGFzaGJvYXJkL21pc3NlZFJlc3BvbnNpYmlsaXRpZXMnLFxyXG4gICAgcXVlcnk6IG51bGwsXHJcbiAgICBib2R5OiBudWxsLFxyXG4gIH0sXHJcbl07XHJcbiJdfQ==
@@ -54,10 +54,12 @@ export const REDIRECTION_URL = {
54
54
  COMPLIANCE_DASHBOARD: '/global-dashboard/compliance_dashboard',
55
55
  RISK_DASHBOARD: '/global-dashboard/risk_dashboard?module=risk',
56
56
  POLICY_DASHBOARD: '/global-dashboard/policy_dashboard?module=policy',
57
+ ISSUE_DASHBOARD: '/global-dashboard/issue_dashboard?module=issue',
57
58
  };
58
59
  export const MODULE_NAMES = {
59
60
  RISK: 'risk',
60
61
  POLICY: 'policy',
62
+ ISSUE: 'issue',
61
63
  };
62
64
  export const MODAL_ERROR_TYPES = {
63
65
  CHUNK_NOT_FOUND: 'chunk_not_found',
@@ -67,4 +69,4 @@ export const ALT_IMAGE_TEXT = {
67
69
  ERROR_IMAGE: 'Error Image',
68
70
  VCOMPLY_LOGO: 'VComply',
69
71
  };
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxpbmcuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi9zaGFyZWQvY29uc3RhbnRzL2Vycm9yLWhhbmRsaW5nLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztBQUNwRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLDRCQUE0QixDQUFDO0FBQzlELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixjQUFjLEVBQUU7UUFDZCxRQUFRLEVBQUUsTUFBTSxDQUFDLFdBQVc7UUFDNUIsS0FBSyxFQUFFLE9BQU87UUFDZCxXQUFXLEVBQUUsNENBQTRDO1FBQ3pELE9BQU8sRUFBRSxpREFBaUQ7UUFDMUQsVUFBVSxFQUFFLGlCQUFpQjtLQUM5QjtJQUVELFlBQVksRUFBRTtRQUNaLFFBQVEsRUFBRSxNQUFNLENBQUMsV0FBVztRQUM1QixLQUFLLEVBQUUsT0FBTztRQUNkLFdBQVcsRUFBRSxnREFBZ0Q7UUFDN0QsT0FBTyxFQUFFLGlEQUFpRDtRQUMxRCxLQUFLLEVBQUUsbUJBQW1CO1FBQzFCLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLFVBQVUsRUFBRSxpQkFBaUI7UUFDN0IsSUFBSSxFQUFFLDBCQUEwQjtLQUNqQztJQUVELGVBQWUsRUFBRTtRQUNmLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsV0FBVyxFQUNULDBFQUEwRTtRQUM1RSxVQUFVLEVBQUUsT0FBTztLQUNwQjtJQUVELGlCQUFpQixFQUFFO1FBQ2pCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFDVCxtRUFBbUU7UUFDckUsVUFBVSxFQUFFLFNBQVM7S0FDdEI7SUFFRCxZQUFZLEVBQUU7UUFDWixRQUFRLEVBQUUsTUFBTSxDQUFDLFdBQVc7UUFDNUIsS0FBSyxFQUFFLE9BQU87UUFDZCxXQUFXLEVBQUUsaUNBQWlDO1FBQzlDLE9BQU8sRUFBRSw4Q0FBOEM7UUFDdkQsVUFBVSxFQUFFLFNBQVM7UUFDckIsZUFBZSxFQUFFLHFEQUFxRDtLQUN2RTtJQUVELDRCQUE0QixFQUFFO1FBQzVCLFFBQVEsRUFBRSxNQUFNLENBQUMscUJBQXFCO1FBQ3RDLEtBQUssRUFBRSxPQUFPO1FBQ2QsV0FBVyxFQUFFLGlDQUFpQztRQUM5QyxPQUFPLEVBQUUsaURBQWlEO1FBQzFELFVBQVUsRUFBRSxPQUFPO0tBQ3BCO0lBRUQsbUJBQW1CLEVBQUU7UUFDbkIsY0FBYyxFQUNaLGdGQUFnRjtLQUNuRjtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0Isb0JBQW9CLEVBQUUsd0NBQXdDO0lBQzlELGNBQWMsRUFBRSw4Q0FBOEM7SUFDOUQsZ0JBQWdCLEVBQUUsa0RBQWtEO0NBQ3JFLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUIsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsZUFBZSxFQUFFLGlCQUFpQjtJQUNsQyxlQUFlLEVBQUUsaUJBQWlCO0NBQ25DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsWUFBWSxFQUFFLFNBQVM7Q0FDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4vYXNzZXRzLmNvbnN0YW50cyc7XHJcblxyXG5leHBvcnQgY29uc3QgVkNPTVBMWV9MT0dPX1VSTCA9IEFTU0VUUy5WQ09NUExZX0xPR087XHJcbmV4cG9ydCBjb25zdCBBUElfVElNRU9VVF9USU1FID0gMTAwMCAqIDE1O1xyXG5leHBvcnQgY29uc3QgT1JHQU5JU0FUSU9OX05BTUUgPSAnVkNPTVBMWSBURUNITk9MT0dJRVMsIElOQy4nO1xyXG5leHBvcnQgY29uc3QgRVJST1JfRkVBVFVSRV9GTEFHID0gJ2ZmX2Vycm9yX2hhbmRsaW5nJztcclxuXHJcbmV4cG9ydCBjb25zdCBFUlJPUl9DT05GSUcgPSB7XHJcbiAgUEFHRV9OT1RfRk9VTkQ6IHtcclxuICAgIGltYWdlVXJsOiBBU1NFVFMuRVJST1JfSU1BR0UsXHJcbiAgICB0aXRsZTogJ09vcHMhJyxcclxuICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBwYWdlIHlvdSdyZSBsb29raW5nIGZvciBkb2Vzbid0IGV4aXN0LlwiLFxyXG4gICAgZGV0YWlsczogJ1BsZWFzZSBjaGVjayB0aGUgVVJMIG9yIHJldHVybiB0byB0aGUgaG9tZXBhZ2UuJyxcclxuICAgIGJ1dHRvblRleHQ6ICdHTyBUTyBEQVNIQk9BUkQnLFxyXG4gIH0sXHJcblxyXG4gIFVOQVVUSE9SSVpFRDoge1xyXG4gICAgaW1hZ2VVcmw6IEFTU0VUUy5FUlJPUl9JTUFHRSxcclxuICAgIHRpdGxlOiAnT29wcyEnLFxyXG4gICAgZGVzY3JpcHRpb246IFwiWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhpcyBwYWdlLlwiLFxyXG4gICAgZGV0YWlsczogJ0lmIHlvdSBiZWxpZXZlIHRoaXMgaXMgYW4gZXJyb3IsIHBsZWFzZSBjb250YWN0JyxcclxuICAgIGVtYWlsOiAnaGVscEB2LWNvbXBseS5jb20nLFxyXG4gICAgc3VwcG9ydDogJ2ZvciBzdXBwb3J0JyxcclxuICAgIGJ1dHRvblRleHQ6ICdDT05UQUNUIFNVUFBPUlQnLFxyXG4gICAgbWFpbDogJ21haWx0bzpoZWxwQHYtY29tcGx5LmNvbScsXHJcbiAgfSxcclxuXHJcbiAgU0VTU0lPTl9FWFBJUkVEOiB7XHJcbiAgICBoZWFkaW5nOiAnU2Vzc2lvbiBFeHBpcmVkIScsXHJcbiAgICBkZXNjcmlwdGlvbjpcclxuICAgICAgJ1lvdXIgc2Vzc2lvbiBoYXMgZXhwaXJlZC4gUGxlYXNlIGxvZyBpbiBhZ2FpbiB0byBjb250aW51ZSB1c2luZyB0aGUgYXBwLicsXHJcbiAgICBidXR0b25UZXh0OiAnTE9HSU4nLFxyXG4gIH0sXHJcblxyXG4gIENIVU5LX1VOQVZBSUxBQkxFOiB7XHJcbiAgICBoZWFkaW5nOiAnT29wcyEnLFxyXG4gICAgZGVzY3JpcHRpb246XHJcbiAgICAgICdTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHJlZnJlc2ggdGhlIHBhZ2Ugb3IgdHJ5IGFnYWluIGxhdGVyLicsXHJcbiAgICBidXR0b25UZXh0OiAnUkVGUkVTSCcsXHJcbiAgfSxcclxuXHJcbiAgU0VSVkVSX0VSUk9SOiB7XHJcbiAgICBpbWFnZVVybDogQVNTRVRTLkVSUk9SX0lNQUdFLFxyXG4gICAgdGl0bGU6ICdPb3BzIScsXHJcbiAgICBkZXNjcmlwdGlvbjogJ1dlIGFyZSB1bmFibGUgdG8gbG9hZCB0aGUgZGF0YS4nLFxyXG4gICAgZGV0YWlsczogJ1BsZWFzZSByZWZyZXNoIHRoaXMgcGFnZSBvciB0cnkgYWdhaW4gbGF0ZXIuJyxcclxuICAgIGJ1dHRvblRleHQ6ICdSRUZSRVNIJyxcclxuICAgIHNuYWNrQmFyTWVzc2FnZTogYE9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLmAsXHJcbiAgfSxcclxuXHJcbiAgQ09NUE9ORU5UX0xFVkVMX1NFUlZFUl9FUlJPUjoge1xyXG4gICAgaW1hZ2VVcmw6IEFTU0VUUy5DT01QT05FTlRfRVJST1JfSU1BR0UsXHJcbiAgICB0aXRsZTogJ09vcHMhJyxcclxuICAgIGRlc2NyaXB0aW9uOiAnV2UgYXJlIHVuYWJsZSB0byBsb2FkIHRoZSBkYXRhLicsXHJcbiAgICBkZXRhaWxzOiAnUGxlYXNlIHJlZnJlc2ggdGhpcyBzZWN0aW9uIG9yIHRyeSBhZ2FpbiBsYXRlci4nLFxyXG4gICAgYnV0dG9uVGV4dDogJ1JFVFJZJyxcclxuICB9LFxyXG5cclxuICBORVRXT1JLX1VOQVZBSUxBQkxFOiB7XHJcbiAgICBvZmZsaW5lTWVzc2FnZTpcclxuICAgICAgXCJZb3UncmUgY3VycmVudGx5IG9mZmxpbmUuIFBsZWFzZSBjaGVjayB5b3VyIGludGVybmV0IGNvbm5lY3Rpb24gYW5kIHRyeSBhZ2Fpbi5cIixcclxuICB9LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IFJFRElSRUNUSU9OX1VSTCA9IHtcclxuICBDT01QTElBTkNFX0RBU0hCT0FSRDogJy9nbG9iYWwtZGFzaGJvYXJkL2NvbXBsaWFuY2VfZGFzaGJvYXJkJyxcclxuICBSSVNLX0RBU0hCT0FSRDogJy9nbG9iYWwtZGFzaGJvYXJkL3Jpc2tfZGFzaGJvYXJkP21vZHVsZT1yaXNrJyxcclxuICBQT0xJQ1lfREFTSEJPQVJEOiAnL2dsb2JhbC1kYXNoYm9hcmQvcG9saWN5X2Rhc2hib2FyZD9tb2R1bGU9cG9saWN5JyxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBNT0RVTEVfTkFNRVMgPSB7XHJcbiAgUklTSzogJ3Jpc2snLFxyXG4gIFBPTElDWTogJ3BvbGljeScsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgTU9EQUxfRVJST1JfVFlQRVMgPSB7XHJcbiAgQ0hVTktfTk9UX0ZPVU5EOiAnY2h1bmtfbm90X2ZvdW5kJyxcclxuICBTRVNTSU9OX0VYUElSRUQ6ICdzZXNzaW9uX2V4cGlyZWQnLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEFMVF9JTUFHRV9URVhUID0ge1xyXG4gIEVSUk9SX0lNQUdFOiAnRXJyb3IgSW1hZ2UnLFxyXG4gIFZDT01QTFlfTE9HTzogJ1ZDb21wbHknLFxyXG59O1xyXG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxpbmcuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtZXJyb3ItaGFuZGxlcnMvc3JjL2xpYi9zaGFyZWQvY29uc3RhbnRzL2Vycm9yLWhhbmRsaW5nLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztBQUNwRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLDRCQUE0QixDQUFDO0FBQzlELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixjQUFjLEVBQUU7UUFDZCxRQUFRLEVBQUUsTUFBTSxDQUFDLFdBQVc7UUFDNUIsS0FBSyxFQUFFLE9BQU87UUFDZCxXQUFXLEVBQUUsNENBQTRDO1FBQ3pELE9BQU8sRUFBRSxpREFBaUQ7UUFDMUQsVUFBVSxFQUFFLGlCQUFpQjtLQUM5QjtJQUVELFlBQVksRUFBRTtRQUNaLFFBQVEsRUFBRSxNQUFNLENBQUMsV0FBVztRQUM1QixLQUFLLEVBQUUsT0FBTztRQUNkLFdBQVcsRUFBRSxnREFBZ0Q7UUFDN0QsT0FBTyxFQUFFLGlEQUFpRDtRQUMxRCxLQUFLLEVBQUUsbUJBQW1CO1FBQzFCLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLFVBQVUsRUFBRSxpQkFBaUI7UUFDN0IsSUFBSSxFQUFFLDBCQUEwQjtLQUNqQztJQUVELGVBQWUsRUFBRTtRQUNmLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsV0FBVyxFQUNULDBFQUEwRTtRQUM1RSxVQUFVLEVBQUUsT0FBTztLQUNwQjtJQUVELGlCQUFpQixFQUFFO1FBQ2pCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFdBQVcsRUFDVCxtRUFBbUU7UUFDckUsVUFBVSxFQUFFLFNBQVM7S0FDdEI7SUFFRCxZQUFZLEVBQUU7UUFDWixRQUFRLEVBQUUsTUFBTSxDQUFDLFdBQVc7UUFDNUIsS0FBSyxFQUFFLE9BQU87UUFDZCxXQUFXLEVBQUUsaUNBQWlDO1FBQzlDLE9BQU8sRUFBRSw4Q0FBOEM7UUFDdkQsVUFBVSxFQUFFLFNBQVM7UUFDckIsZUFBZSxFQUFFLHFEQUFxRDtLQUN2RTtJQUVELDRCQUE0QixFQUFFO1FBQzVCLFFBQVEsRUFBRSxNQUFNLENBQUMscUJBQXFCO1FBQ3RDLEtBQUssRUFBRSxPQUFPO1FBQ2QsV0FBVyxFQUFFLGlDQUFpQztRQUM5QyxPQUFPLEVBQUUsaURBQWlEO1FBQzFELFVBQVUsRUFBRSxPQUFPO0tBQ3BCO0lBRUQsbUJBQW1CLEVBQUU7UUFDbkIsY0FBYyxFQUNaLGdGQUFnRjtLQUNuRjtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0Isb0JBQW9CLEVBQUUsd0NBQXdDO0lBQzlELGNBQWMsRUFBRSw4Q0FBOEM7SUFDOUQsZ0JBQWdCLEVBQUUsa0RBQWtEO0lBQ3BFLGVBQWUsRUFBRSxnREFBZ0Q7Q0FDbEUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixJQUFJLEVBQUUsTUFBTTtJQUNaLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEtBQUssRUFBRSxPQUFPO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsZUFBZSxFQUFFLGlCQUFpQjtDQUNuQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFlBQVksRUFBRSxTQUFTO0NBQ3hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuL2Fzc2V0cy5jb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFZDT01QTFlfTE9HT19VUkwgPSBBU1NFVFMuVkNPTVBMWV9MT0dPO1xyXG5leHBvcnQgY29uc3QgQVBJX1RJTUVPVVRfVElNRSA9IDEwMDAgKiAxNTtcclxuZXhwb3J0IGNvbnN0IE9SR0FOSVNBVElPTl9OQU1FID0gJ1ZDT01QTFkgVEVDSE5PTE9HSUVTLCBJTkMuJztcclxuZXhwb3J0IGNvbnN0IEVSUk9SX0ZFQVRVUkVfRkxBRyA9ICdmZl9lcnJvcl9oYW5kbGluZyc7XHJcblxyXG5leHBvcnQgY29uc3QgRVJST1JfQ09ORklHID0ge1xyXG4gIFBBR0VfTk9UX0ZPVU5EOiB7XHJcbiAgICBpbWFnZVVybDogQVNTRVRTLkVSUk9SX0lNQUdFLFxyXG4gICAgdGl0bGU6ICdPb3BzIScsXHJcbiAgICBkZXNjcmlwdGlvbjogXCJUaGUgcGFnZSB5b3UncmUgbG9va2luZyBmb3IgZG9lc24ndCBleGlzdC5cIixcclxuICAgIGRldGFpbHM6ICdQbGVhc2UgY2hlY2sgdGhlIFVSTCBvciByZXR1cm4gdG8gdGhlIGhvbWVwYWdlLicsXHJcbiAgICBidXR0b25UZXh0OiAnR08gVE8gREFTSEJPQVJEJyxcclxuICB9LFxyXG5cclxuICBVTkFVVEhPUklaRUQ6IHtcclxuICAgIGltYWdlVXJsOiBBU1NFVFMuRVJST1JfSU1BR0UsXHJcbiAgICB0aXRsZTogJ09vcHMhJyxcclxuICAgIGRlc2NyaXB0aW9uOiBcIllvdSBkb24ndCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoaXMgcGFnZS5cIixcclxuICAgIGRldGFpbHM6ICdJZiB5b3UgYmVsaWV2ZSB0aGlzIGlzIGFuIGVycm9yLCBwbGVhc2UgY29udGFjdCcsXHJcbiAgICBlbWFpbDogJ2hlbHBAdi1jb21wbHkuY29tJyxcclxuICAgIHN1cHBvcnQ6ICdmb3Igc3VwcG9ydCcsXHJcbiAgICBidXR0b25UZXh0OiAnQ09OVEFDVCBTVVBQT1JUJyxcclxuICAgIG1haWw6ICdtYWlsdG86aGVscEB2LWNvbXBseS5jb20nLFxyXG4gIH0sXHJcblxyXG4gIFNFU1NJT05fRVhQSVJFRDoge1xyXG4gICAgaGVhZGluZzogJ1Nlc3Npb24gRXhwaXJlZCEnLFxyXG4gICAgZGVzY3JpcHRpb246XHJcbiAgICAgICdZb3VyIHNlc3Npb24gaGFzIGV4cGlyZWQuIFBsZWFzZSBsb2cgaW4gYWdhaW4gdG8gY29udGludWUgdXNpbmcgdGhlIGFwcC4nLFxyXG4gICAgYnV0dG9uVGV4dDogJ0xPR0lOJyxcclxuICB9LFxyXG5cclxuICBDSFVOS19VTkFWQUlMQUJMRToge1xyXG4gICAgaGVhZGluZzogJ09vcHMhJyxcclxuICAgIGRlc2NyaXB0aW9uOlxyXG4gICAgICAnU29tZXRoaW5nIHdlbnQgd3JvbmcuIFBsZWFzZSByZWZyZXNoIHRoZSBwYWdlIG9yIHRyeSBhZ2FpbiBsYXRlci4nLFxyXG4gICAgYnV0dG9uVGV4dDogJ1JFRlJFU0gnLFxyXG4gIH0sXHJcblxyXG4gIFNFUlZFUl9FUlJPUjoge1xyXG4gICAgaW1hZ2VVcmw6IEFTU0VUUy5FUlJPUl9JTUFHRSxcclxuICAgIHRpdGxlOiAnT29wcyEnLFxyXG4gICAgZGVzY3JpcHRpb246ICdXZSBhcmUgdW5hYmxlIHRvIGxvYWQgdGhlIGRhdGEuJyxcclxuICAgIGRldGFpbHM6ICdQbGVhc2UgcmVmcmVzaCB0aGlzIHBhZ2Ugb3IgdHJ5IGFnYWluIGxhdGVyLicsXHJcbiAgICBidXR0b25UZXh0OiAnUkVGUkVTSCcsXHJcbiAgICBzbmFja0Jhck1lc3NhZ2U6IGBPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci5gLFxyXG4gIH0sXHJcblxyXG4gIENPTVBPTkVOVF9MRVZFTF9TRVJWRVJfRVJST1I6IHtcclxuICAgIGltYWdlVXJsOiBBU1NFVFMuQ09NUE9ORU5UX0VSUk9SX0lNQUdFLFxyXG4gICAgdGl0bGU6ICdPb3BzIScsXHJcbiAgICBkZXNjcmlwdGlvbjogJ1dlIGFyZSB1bmFibGUgdG8gbG9hZCB0aGUgZGF0YS4nLFxyXG4gICAgZGV0YWlsczogJ1BsZWFzZSByZWZyZXNoIHRoaXMgc2VjdGlvbiBvciB0cnkgYWdhaW4gbGF0ZXIuJyxcclxuICAgIGJ1dHRvblRleHQ6ICdSRVRSWScsXHJcbiAgfSxcclxuXHJcbiAgTkVUV09SS19VTkFWQUlMQUJMRToge1xyXG4gICAgb2ZmbGluZU1lc3NhZ2U6XHJcbiAgICAgIFwiWW91J3JlIGN1cnJlbnRseSBvZmZsaW5lLiBQbGVhc2UgY2hlY2sgeW91ciBpbnRlcm5ldCBjb25uZWN0aW9uIGFuZCB0cnkgYWdhaW4uXCIsXHJcbiAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBSRURJUkVDVElPTl9VUkwgPSB7XHJcbiAgQ09NUExJQU5DRV9EQVNIQk9BUkQ6ICcvZ2xvYmFsLWRhc2hib2FyZC9jb21wbGlhbmNlX2Rhc2hib2FyZCcsXHJcbiAgUklTS19EQVNIQk9BUkQ6ICcvZ2xvYmFsLWRhc2hib2FyZC9yaXNrX2Rhc2hib2FyZD9tb2R1bGU9cmlzaycsXHJcbiAgUE9MSUNZX0RBU0hCT0FSRDogJy9nbG9iYWwtZGFzaGJvYXJkL3BvbGljeV9kYXNoYm9hcmQ/bW9kdWxlPXBvbGljeScsXHJcbiAgSVNTVUVfREFTSEJPQVJEOiAnL2dsb2JhbC1kYXNoYm9hcmQvaXNzdWVfZGFzaGJvYXJkP21vZHVsZT1pc3N1ZScsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgTU9EVUxFX05BTUVTID0ge1xyXG4gIFJJU0s6ICdyaXNrJyxcclxuICBQT0xJQ1k6ICdwb2xpY3knLFxyXG4gIElTU1VFOiAnaXNzdWUnLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IE1PREFMX0VSUk9SX1RZUEVTID0ge1xyXG4gIENIVU5LX05PVF9GT1VORDogJ2NodW5rX25vdF9mb3VuZCcsXHJcbiAgU0VTU0lPTl9FWFBJUkVEOiAnc2Vzc2lvbl9leHBpcmVkJyxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBBTFRfSU1BR0VfVEVYVCA9IHtcclxuICBFUlJPUl9JTUFHRTogJ0Vycm9yIEltYWdlJyxcclxuICBWQ09NUExZX0xPR086ICdWQ29tcGx5JyxcclxufTtcclxuIl19
@@ -381,13 +381,13 @@ const COMPONENT_LEVEL_API_CONFIG = [
381
381
  },
382
382
  {
383
383
  method: 'POST',
384
- path: 'category/list',
384
+ path: 'category/list&returnType',
385
385
  query: null,
386
386
  body: null,
387
387
  },
388
388
  {
389
389
  method: 'POST',
390
- path: 'risk/list',
390
+ path: 'risk/list&return_list',
391
391
  query: null,
392
392
  body: null,
393
393
  },
@@ -471,37 +471,169 @@ const COMPONENT_LEVEL_API_CONFIG = [
471
471
  },
472
472
  {
473
473
  method: 'GET',
474
- path: '/policy/?mode=announcements/listAll&type=past',
474
+ path: '/policy/?mode=announcements/listAll',
475
475
  query: null,
476
476
  body: null,
477
477
  },
478
478
  {
479
479
  method: 'GET',
480
- path: '/policy/?mode=announcements/listAll&type=current',
480
+ path: '/policy/?mode=announcements/list',
481
+ query: null,
482
+ body: null,
483
+ },
484
+ {
485
+ method: 'POST',
486
+ path: '/policy_post/?mode=dashboard/overdue/attestation',
487
+ query: null,
488
+ body: null,
489
+ },
490
+ {
491
+ method: 'POST',
492
+ path: '/policy_post/?mode=dashboard/overdue/review',
481
493
  query: null,
482
494
  body: null,
483
495
  },
484
496
  {
485
497
  method: 'GET',
486
- path: '/policy/?mode=announcements/list',
498
+ path: '/policy/?mode=dashboard/calendar&date',
499
+ query: null,
500
+ body: null,
501
+ },
502
+ {
503
+ method: 'GET',
504
+ path: 'policy/?mode=dashboard/dueForAttestation/dueToday',
505
+ query: null,
506
+ body: null,
507
+ },
508
+ {
509
+ method: 'GET',
510
+ path: '/policy/?mode=dashboard/dueForAttestation/overdue',
511
+ query: null,
512
+ body: null,
513
+ },
514
+ {
515
+ method: 'GET',
516
+ path: 'policy/?mode=dashboard/dueForAttestation/upcoming',
517
+ query: null,
518
+ body: null,
519
+ },
520
+ {
521
+ method: 'GET',
522
+ path: 'policy/?mode=dashboard/dueForAttestation/upcoming',
523
+ query: null,
524
+ body: null,
525
+ },
526
+ {
527
+ method: 'GET',
528
+ path: 'Assurance/Issue/Category/CatList',
487
529
  query: null,
488
530
  body: null,
489
531
  },
490
532
  {
491
533
  method: 'POST',
492
- path: '/policy_post/?mode=dashboard/overdue/attestation',
534
+ path: 'Assurance/Issue/MyIssues/',
493
535
  query: null,
494
536
  body: null,
495
537
  },
496
538
  {
497
539
  method: 'POST',
498
- path: '/policy_post/?mode=dashboard/overdue/review',
540
+ path: 'Assurance/Issue/Overview/',
541
+ query: null,
542
+ body: null,
543
+ },
544
+ {
545
+ method: 'POST',
546
+ path: 'Assurance/Issue/Overseeing/',
499
547
  query: null,
500
548
  body: null,
501
549
  },
502
550
  {
503
551
  method: 'GET',
504
- path: '/policy/?mode=dashboard/calendar&date',
552
+ path: 'Assurance/Issue/Workroom/',
553
+ query: null,
554
+ body: null,
555
+ },
556
+ {
557
+ method: 'GET',
558
+ path: 'Assurance/Issue/GetIssueDueDates/',
559
+ query: null,
560
+ body: null,
561
+ },
562
+ {
563
+ method: 'GET',
564
+ path: '/Assurance/Workroom/Issue/FilesAndFolders/',
565
+ query: null,
566
+ body: null,
567
+ },
568
+ {
569
+ method: 'GET',
570
+ path: 'Assurance/Workroom/Issue/ActivitiesViewLog/',
571
+ query: null,
572
+ body: null,
573
+ },
574
+ {
575
+ method: 'GET',
576
+ path: '/Assurance/ActivityLog/IssueLog/',
577
+ query: null,
578
+ body: null,
579
+ },
580
+ {
581
+ method: 'GET',
582
+ path: 'Assurance/Workroom/Issue/IssueDuedateListForTimeline',
583
+ query: null,
584
+ body: null,
585
+ },
586
+ {
587
+ method: 'GET',
588
+ path: 'Assurance/Issue/ListByCategoryIdRC/',
589
+ query: null,
590
+ body: null,
591
+ },
592
+ {
593
+ method: 'GET',
594
+ path: 'Assurance/Issue/DashboardCalendar',
595
+ query: null,
596
+ body: null,
597
+ },
598
+ {
599
+ method: 'GET',
600
+ path: '/Assurance/Issue/Priority',
601
+ query: null,
602
+ body: null,
603
+ },
604
+ {
605
+ method: 'POST',
606
+ path: 'risk_dashboard/heatmap',
607
+ query: null,
608
+ body: null,
609
+ },
610
+ {
611
+ method: 'POST',
612
+ path: 'risk_dashboard/risk_category_overview',
613
+ query: null,
614
+ body: null,
615
+ },
616
+ {
617
+ method: 'POST',
618
+ path: 'risk_dashboard/risk_score_by_rc',
619
+ query: null,
620
+ body: null,
621
+ },
622
+ {
623
+ method: 'POST',
624
+ path: 'risk_dashboard/scorebycategory',
625
+ query: null,
626
+ body: null,
627
+ },
628
+ {
629
+ method: 'POST',
630
+ path: 'risk_dashboard/list',
631
+ query: null,
632
+ body: null,
633
+ },
634
+ {
635
+ method: 'GET',
636
+ path: 'dashboard/missedResponsibilities',
505
637
  query: null,
506
638
  body: null,
507
639
  },
@@ -771,10 +903,12 @@ const REDIRECTION_URL = {
771
903
  COMPLIANCE_DASHBOARD: '/global-dashboard/compliance_dashboard',
772
904
  RISK_DASHBOARD: '/global-dashboard/risk_dashboard?module=risk',
773
905
  POLICY_DASHBOARD: '/global-dashboard/policy_dashboard?module=policy',
906
+ ISSUE_DASHBOARD: '/global-dashboard/issue_dashboard?module=issue',
774
907
  };
775
908
  const MODULE_NAMES = {
776
909
  RISK: 'risk',
777
910
  POLICY: 'policy',
911
+ ISSUE: 'issue',
778
912
  };
779
913
  const MODAL_ERROR_TYPES = {
780
914
  CHUNK_NOT_FOUND: 'chunk_not_found',
@@ -1418,6 +1552,9 @@ class PageNotFoundComponent {
1418
1552
  case MODULE_NAMES.POLICY:
1419
1553
  targetPath = REDIRECTION_URL.POLICY_DASHBOARD;
1420
1554
  break;
1555
+ case MODULE_NAMES.ISSUE:
1556
+ targetPath = REDIRECTION_URL.ISSUE_DASHBOARD;
1557
+ break;
1421
1558
  default:
1422
1559
  targetPath = REDIRECTION_URL.COMPLIANCE_DASHBOARD;
1423
1560
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"vc-error-handlers.mjs","sources":["../../../projects/vc-error-handlers/src/lib/vc-error-handlers.service.ts","../../../projects/vc-error-handlers/src/lib/shared/types/global-error.types.ts","../../../projects/vc-error-handlers/src/lib/shared/constants/api-config.constants.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar.service.ts","../../../projects/vc-error-handlers/src/lib/shared/services/util.service.ts","../../../projects/vc-error-handlers/src/lib/shared/services/global-error.service.ts","../../../projects/vc-error-handlers/src/lib/shared/services/router.service.ts","../../../projects/vc-error-handlers/src/lib/shared/constants/assets.constants.ts","../../../projects/vc-error-handlers/src/lib/shared/constants/error-handling.constants.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.html","../../../projects/vc-error-handlers/src/lib/shared/components/unauthorized/unauthorized.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog-config.ts","../../../projects/vc-error-handlers/src/lib/shared/components/error-modal/error-modal.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/insertion.directive.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog-ref.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.component.html","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.module.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog-injector.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.service.ts","../../../projects/vc-error-handlers/src/lib/shared/components/session-expired/session-expired.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/chunk-unavailable/chunk-unavailable.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/server-error/server-error.component.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/page-not-found/page-not-found.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/component-level-server-error/component-level-server-error.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar.module.ts","../../../projects/vc-error-handlers/src/lib/configuration.ts","../../../projects/vc-error-handlers/src/lib/featureFlag/feature-flag.service.ts","../../../projects/vc-error-handlers/src/lib/featureFlag/feature-flag.directive.ts","../../../projects/vc-error-handlers/src/lib/featureFlag/feature-flag.module.ts","../../../projects/vc-error-handlers/src/lib/shared/errorhandler/sentry-error.handler.ts","../../../projects/vc-error-handlers/src/lib/shared/interceptors/http.interceptor.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.module.ts","../../../projects/vc-error-handlers/src/public-api.ts","../../../projects/vc-error-handlers/src/vc-error-handlers.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VcErrorHandlersService {\r\n\r\n constructor() { }\r\n}\r\n","import { MODAL_ERROR_TYPES } from '../constants/error-handling.constants';\r\n\r\nexport interface DialogData {\r\n heading: string;\r\n description: string;\r\n buttonText: string;\r\n}\r\n\r\nexport interface RequestDetails {\r\n method: string;\r\n path: string;\r\n query: { [key: string]: any };\r\n body: any;\r\n pageCode?: string;\r\n}\r\n\r\nexport enum ErrorStatusCode {\r\n URLNotFound = 404,\r\n UnauthorizedAccess = 403,\r\n Unauthenticated = 401,\r\n\r\n // Server-side errors\r\n InternalServerError = 500,\r\n ServiceUnavailable = 503,\r\n BadGateway = 502,\r\n RequestTimeout = 504,\r\n\r\n // Network unavailability/offline case\r\n NetworkUnavailable = 0,\r\n\r\n // Application-specific errors\r\n JSChunkUnavailable = 600,\r\n}\r\n\r\nexport type ModalErrorType = keyof typeof MODAL_ERROR_TYPES;\r\n","export const PAGE_LEVEL_API_CONFIG = [\r\n {\r\n method: '',\r\n path: '',\r\n query: null,\r\n body: null,\r\n pageCodes: [''],\r\n },\r\n];\r\n\r\nexport const COMPONENT_LEVEL_API_CONFIG = [\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=organisationUsersList',\r\n query: { type: 'active' },\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=organisationUsersList',\r\n query: { type: 'power_users' },\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=organisationUsersList',\r\n query: { type: 'light_users' },\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=organisationUsersList',\r\n query: { type: 'inactive' },\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=organisationUsersList',\r\n query: { type: 'power_users_small' },\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/Global-Dashboard/ManageDashboards',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/Global-Dashboard/MyDashboard',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/grc_object/?mode=grc/getGRCList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/compliance/?mode=responsibilityCenterTree',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=rcholidaylist',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=roles/getRoles',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=groupsList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/compliance_post/?mode=rcProfile',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/organization_post/?mode=userProfile',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=roles/roleById',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=groupDetails',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/compliance_post?mode=report/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=memberholidaylist',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/grc_object/?mode=activity/activityLogList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/grc_object/?mode=activity/viewList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/categoriesList?owner_list=1',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/risk/?mode=category/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'memberDetailsbyIds',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization?mode=signatureDetails',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/responsibilityList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/getLinkedPolicies',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/assignee',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/evidence/getEvidences/b-cycle-header',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/activity-logs',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/activity-logs-views',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/Assessment/?mode=category/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/Assessment/?mode=assessment/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/Assessment/?mode=assessment/fetchQuestionsByAssessmentId',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/Assessment/?mode=assessment/responseSummary',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/Assessment/?mode=assessment/logs',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/subCategories',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/Assessment/?mode=assessment/getAssessmentById',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/my/dueToday',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/reviewing/dueToday',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/managing/dueToday',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/my/overdue',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/reviewing/overdue',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/managing/overdue',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/my/upcoming',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/reviewing/upcoming',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/managing/upcoming',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk/ListingReportedRisks',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk/myAssessments&type',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'workshop/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk/DueDateList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk/RiskDetailsById',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'score/assessment',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'score/treatment',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'score/treatmentPlan',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'category/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk/GetDiscussionById',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'workroom/getFilesAndFoldersList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'responsibilityCenter/rcList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: 'program/overview?owner_list=1',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'calendarDashboardReports',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'compliance_post/?mode=myResponsibility',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'compliance_post/?mode=auditList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'compliance_post/?mode=oversightResponsibility/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'complianceReport/getTrendReport',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'workroomUpdates',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'recentActivities_new',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/policy_post/?mode=dashboard/statusOverview',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/policy/?mode=category/listForPortal&type=dashboard',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/policy/?mode=announcements/listAll&type=past',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/policy/?mode=announcements/listAll&type=current',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/policy/?mode=announcements/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/policy_post/?mode=dashboard/overdue/attestation',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/policy_post/?mode=dashboard/overdue/review',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/policy/?mode=dashboard/calendar&date',\r\n query: null,\r\n body: null,\r\n },\r\n];\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SnackBarService {\r\n public snackbarSubject = new Subject <any>();\r\n public snackbarState = this.snackbarSubject.asObservable();\r\n constructor() {}\r\n\r\n show(message: string, type?:'success'|'warning'|'info'|'alert'|'error') {\r\n this.snackbarSubject.next({\r\n show: true,\r\n message,\r\n icon:type,\r\n });\r\n }\r\n\r\n hide(){\r\n this.snackbarSubject.next({\r\n show: false,\r\n message: '',\r\n icon: '',\r\n });\r\n }\r\n}\r\n","import { HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UtilsService {\r\n private isJsonSubset(parentJson: any, subsetJson: any): boolean {\r\n for (let key in subsetJson) {\r\n if (\r\n !parentJson.hasOwnProperty(key) ||\r\n parentJson[key] !== subsetJson[key]\r\n ) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n public extractQueryParams(params: HttpParams): { [key: string]: any } {\r\n const query: { [key: string]: any } = {};\r\n params.keys().forEach((key) => {\r\n query[key] = params.get(key);\r\n });\r\n return query;\r\n }\r\n\r\n public isStringEqual(apiMethod: string, requestMethod: string): boolean {\r\n return apiMethod === requestMethod;\r\n }\r\n\r\n public isSubstringInString(apiPath: string, requestPath: string): boolean {\r\n return requestPath.includes(apiPath);\r\n }\r\n\r\n public isSubsetOfObject(apiQuery: any, requestQuery: any): boolean {\r\n if (!apiQuery) return true;\r\n return this.isJsonSubset(requestQuery, apiQuery);\r\n }\r\n\r\n public isSubsetOfArray(apiBody: any, requestBody: any): boolean {\r\n if (!apiBody) return true;\r\n return this.isJsonSubset(apiBody, requestBody);\r\n }\r\n\r\n public isValueInArray(apiPageCodes: string[], pageCode: string): boolean {\r\n return apiPageCodes.includes(pageCode);\r\n }\r\n}\r\n","import {\r\n HttpErrorResponse,\r\n HttpRequest,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { SnackBarService } from '../../ui-kit/snack-bar/snack-bar.service';\r\nimport { UtilsService } from './util.service';\r\n\r\nimport { ErrorStatusCode, RequestDetails } from '../types/global-error.types';\r\nimport {\r\n PAGE_LEVEL_API_CONFIG,\r\n COMPONENT_LEVEL_API_CONFIG,\r\n} from '../constants/api-config.constants';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class GlobalErrorService {\r\n public globalError$: Subject<any> = new Subject();\r\n public localError$: Subject<any> = new Subject();\r\n\r\n private pageLevelApiConfig = PAGE_LEVEL_API_CONFIG;\r\n private componentLevelApiConfig = COMPONENT_LEVEL_API_CONFIG;\r\n\r\n constructor(\r\n private snackBarService: SnackBarService,\r\n private utilService: UtilsService,\r\n private router: Router\r\n ) {}\r\n\r\n public handleSoftErrors(event: HttpResponse<any> | HttpErrorResponse) {\r\n if (!event.headers?.get) {\r\n return;\r\n }\r\n const xData = event?.headers?.get('X-Data');\r\n\r\n if (xData) {\r\n const parsedData = JSON.parse(xData);\r\n const statusCode = parsedData.statusCode;\r\n const statusMessage = parsedData.message;\r\n\r\n if (statusCode && statusCode !== 0) {\r\n this.snackBarService.show(statusMessage || 'Error occurred', 'error');\r\n }\r\n }\r\n }\r\n\r\n public handleError(error: HttpErrorResponse, request: HttpRequest<any>) {\r\n if (\r\n this.isUnauthenticated(error) ||\r\n this.isUnauthorizedAccess(error) ||\r\n this.isNetworkUnavailable(error)\r\n ) {\r\n this.publishGlobalError(error);\r\n } else if (this.isServerError(error)) {\r\n this.handleServerError(error, request);\r\n } else {\r\n this.handleSoftErrors(error);\r\n }\r\n }\r\n\r\n public isServerError(error: HttpErrorResponse): boolean {\r\n const serverErrorCodes = [\r\n ErrorStatusCode.InternalServerError,\r\n ErrorStatusCode.ServiceUnavailable,\r\n ErrorStatusCode.BadGateway,\r\n ErrorStatusCode.RequestTimeout,\r\n ];\r\n\r\n return serverErrorCodes.includes(error.status);\r\n }\r\n\r\n private isUnauthenticated(error: HttpErrorResponse): boolean {\r\n return error.status === ErrorStatusCode.Unauthenticated;\r\n }\r\n\r\n private isUnauthorizedAccess(error: HttpErrorResponse): boolean {\r\n return error.status === ErrorStatusCode.UnauthorizedAccess;\r\n }\r\n\r\n private isNetworkUnavailable(error: HttpErrorResponse): boolean {\r\n return error.status === ErrorStatusCode.NetworkUnavailable;\r\n }\r\n\r\n private handleServerError(\r\n error: HttpErrorResponse,\r\n request: HttpRequest<any>\r\n ) {\r\n if (this.isPageLevelError(error, request)) {\r\n this.publishGlobalError(error);\r\n } else if (this.isComponentLevelError(error, request)) {\r\n this.publishLocalError(error, request);\r\n }\r\n }\r\n\r\n private publishGlobalError(error: HttpErrorResponse) {\r\n this.globalError$.next(error);\r\n }\r\n\r\n private publishLocalError(\r\n error: HttpErrorResponse,\r\n request: HttpRequest<any>\r\n ) {\r\n this.localError$.next({ error, request });\r\n }\r\n\r\n private isPageLevelError(\r\n error: HttpErrorResponse,\r\n request: HttpRequest<any>\r\n ): boolean {\r\n const requestDetails: RequestDetails = {\r\n method: request.method,\r\n path: request.url,\r\n query: this.utilService.extractQueryParams(request.params),\r\n body: request.body,\r\n pageCode: this.getPageCode(),\r\n };\r\n\r\n return this.pageLevelApiConfig.some((apiConfig) =>\r\n this.isApiConfigMatching(apiConfig, requestDetails)\r\n );\r\n }\r\n\r\n private isComponentLevelError(\r\n error: HttpErrorResponse,\r\n request: HttpRequest<any>\r\n ): boolean {\r\n const requestDetails: RequestDetails = {\r\n method: request.method,\r\n path: request.url,\r\n query: this.utilService.extractQueryParams(request.params),\r\n body: request.body,\r\n };\r\n\r\n return this.componentLevelApiConfig.some((apiConfig) =>\r\n this.isApiConfigMatching(apiConfig, requestDetails)\r\n );\r\n }\r\n\r\n private getPageCode() {\r\n const currentRoute = this.router.routerState.snapshot.root.firstChild;\r\n return currentRoute?.data?.pageCode;\r\n }\r\n\r\n private isApiConfigMatching(\r\n apiConfig: any,\r\n requestDetails: RequestDetails\r\n ): boolean {\r\n return (\r\n this.utilService.isStringEqual(apiConfig.method, requestDetails.method) &&\r\n this.utilService.isSubstringInString(\r\n apiConfig.path,\r\n requestDetails.path\r\n ) &&\r\n this.utilService.isSubsetOfObject(\r\n apiConfig.query,\r\n requestDetails.query\r\n ) &&\r\n this.utilService.isSubsetOfArray(apiConfig.body, requestDetails.body) &&\r\n (!apiConfig.pageCodes ||\r\n this.utilService.isValueInArray(\r\n apiConfig.pageCodes,\r\n requestDetails.pageCode || ''\r\n ))\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RouterService {\r\n public redirectToLogin() {\r\n window.location.href =\r\n `https://${window.location.host}/` +\r\n 'signin?redirectURL=' +\r\n encodeURIComponent(window.location.href);\r\n }\r\n}\r\n","const BASE_URL = 'https://cdn.v-comply.com';\r\n\r\nexport const ASSETS = {\r\n VCOMPLY_LOGO: `${BASE_URL}/logo/prod/v-logo.svg`,\r\n ERROR_IMAGE: `${BASE_URL}/application/images/Error-page-illustration.svg`,\r\n COMPONENT_ERROR_IMAGE: `${BASE_URL}/application/images/sad-emoji-icon.svg`,\r\n};\r\n","import { ASSETS } from './assets.constants';\r\n\r\nexport const VCOMPLY_LOGO_URL = ASSETS.VCOMPLY_LOGO;\r\nexport const API_TIMEOUT_TIME = 1000 * 15;\r\nexport const ORGANISATION_NAME = 'VCOMPLY TECHNOLOGIES, INC.';\r\nexport const ERROR_FEATURE_FLAG = 'ff_error_handling';\r\n\r\nexport const ERROR_CONFIG = {\r\n PAGE_NOT_FOUND: {\r\n imageUrl: ASSETS.ERROR_IMAGE,\r\n title: 'Oops!',\r\n description: \"The page you're looking for doesn't exist.\",\r\n details: 'Please check the URL or return to the homepage.',\r\n buttonText: 'GO TO DASHBOARD',\r\n },\r\n\r\n UNAUTHORIZED: {\r\n imageUrl: ASSETS.ERROR_IMAGE,\r\n title: 'Oops!',\r\n description: \"You don't have permission to access this page.\",\r\n details: 'If you believe this is an error, please contact',\r\n email: 'help@v-comply.com',\r\n support: 'for support',\r\n buttonText: 'CONTACT SUPPORT',\r\n mail: 'mailto:help@v-comply.com',\r\n },\r\n\r\n SESSION_EXPIRED: {\r\n heading: 'Session Expired!',\r\n description:\r\n 'Your session has expired. Please log in again to continue using the app.',\r\n buttonText: 'LOGIN',\r\n },\r\n\r\n CHUNK_UNAVAILABLE: {\r\n heading: 'Oops!',\r\n description:\r\n 'Something went wrong. Please refresh the page or try again later.',\r\n buttonText: 'REFRESH',\r\n },\r\n\r\n SERVER_ERROR: {\r\n imageUrl: ASSETS.ERROR_IMAGE,\r\n title: 'Oops!',\r\n description: 'We are unable to load the data.',\r\n details: 'Please refresh this page or try again later.',\r\n buttonText: 'REFRESH',\r\n snackBarMessage: `Oops! Something went wrong. Please try again later.`,\r\n },\r\n\r\n COMPONENT_LEVEL_SERVER_ERROR: {\r\n imageUrl: ASSETS.COMPONENT_ERROR_IMAGE,\r\n title: 'Oops!',\r\n description: 'We are unable to load the data.',\r\n details: 'Please refresh this section or try again later.',\r\n buttonText: 'RETRY',\r\n },\r\n\r\n NETWORK_UNAVAILABLE: {\r\n offlineMessage:\r\n \"You're currently offline. Please check your internet connection and try again.\",\r\n },\r\n};\r\n\r\nexport const REDIRECTION_URL = {\r\n COMPLIANCE_DASHBOARD: '/global-dashboard/compliance_dashboard',\r\n RISK_DASHBOARD: '/global-dashboard/risk_dashboard?module=risk',\r\n POLICY_DASHBOARD: '/global-dashboard/policy_dashboard?module=policy',\r\n};\r\n\r\nexport const MODULE_NAMES = {\r\n RISK: 'risk',\r\n POLICY: 'policy',\r\n};\r\n\r\nexport const MODAL_ERROR_TYPES = {\r\n CHUNK_NOT_FOUND: 'chunk_not_found',\r\n SESSION_EXPIRED: 'session_expired',\r\n};\r\n\r\nexport const ALT_IMAGE_TEXT = {\r\n ERROR_IMAGE: 'Error Image',\r\n VCOMPLY_LOGO: 'VComply',\r\n};\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { SnackBarService } from '../snack-bar.service';\r\n\r\n@Component({\r\n selector: 'app-snack-bar',\r\n templateUrl: './snack-bar.component.html',\r\n styleUrls: ['./snack-bar.component.less'],\r\n})\r\nexport class SnackBarComponent implements OnInit, OnDestroy {\r\n show = false;\r\n message = '--';\r\n icon = '&#xe914;';\r\n type = 'alert';\r\n icons: any = {\r\n success: '&#xe93d;',\r\n warning: '&#xe914;',\r\n info: '&#xe932;',\r\n alert: '&#xe914;',\r\n error: '&#xeaae;',\r\n };\r\n snackbarSubscription!: Subscription;\r\n constructor(private snackbarService: SnackBarService) {}\r\n\r\n ngOnInit(): void {\r\n this.snackbarSubscription = this.snackbarService.snackbarState.subscribe(\r\n (state) => {\r\n if (state.icon && Object.keys(this.icons).includes(state?.icon)) {\r\n this.icon = this.icons[state.icon];\r\n this.type = state?.icon;\r\n }\r\n this.message = state.message;\r\n this.show = state.show;\r\n }\r\n );\r\n }\r\n\r\n setAutoClose() {\r\n setTimeout(() => {\r\n this.show = false;\r\n this.close();\r\n }, 3000);\r\n }\r\n close() {\r\n this.show = false;\r\n this.snackbarService.hide();\r\n }\r\n ngOnDestroy() {\r\n this.snackbarSubscription.unsubscribe();\r\n }\r\n}\r\n","<div class=\"workflow-snackbar\" *ngIf=\"show\">\r\n <div class=\"workflow-snackbar-inner\">\r\n <div class=\"workflow-snackbarText\">\r\n <!-- &#xe914; -->\r\n <i class=\"icons\" [class]=\"type\" [innerHTML]=\"icon\"></i> <span [innerHTML]=\"message\">{{ message }}</span>\r\n </div>\r\n <button (click)=\"close()\">[ <span>Close</span> ]</button>\r\n </div>\r\n </div>","import { Component } from '@angular/core';\r\n\r\nimport {\r\n ERROR_CONFIG,\r\n VCOMPLY_LOGO_URL,\r\n ORGANISATION_NAME,\r\n ALT_IMAGE_TEXT,\r\n} from '../../constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-unauthorized',\r\n template: `\r\n <div class=\"errorPage\">\r\n <div class=\"errorPage-top\">\r\n <img\r\n [ngSrc]=\"VcomplyLogo\"\r\n [alt]=\"altImageText.VCOMPLY_LOGO\"\r\n width=\"24\"\r\n height=\"24\"\r\n />\r\n </div>\r\n <div class=\"errorPage-container\">\r\n <div class=\"errorPage-inner\">\r\n <div class=\"errorPage-inner-image\">\r\n <img\r\n [ngSrc]=\"errorConfig.imageUrl\"\r\n [alt]=\"altImageText.ERROR_IMAGE\"\r\n width=\"246\"\r\n height=\"178\"\r\n />\r\n </div>\r\n <div class=\"errorPage-inner-right\">\r\n <div class=\"errorPage-heading\">{{ errorConfig.title }}</div>\r\n <div class=\"errorPage-text\">{{ errorConfig.description }}</div>\r\n <div class=\"errorPage-details\">\r\n {{ errorConfig.details }}\r\n <a [href]=\"'mailto:' + errorConfig.email\">{{\r\n errorConfig.email\r\n }}</a>\r\n {{ errorConfig.support }}.\r\n </div>\r\n <button class=\"errorPage-btn\" (click)=\"redirectToSupport()\">\r\n {{ errorConfig.buttonText }} <i class=\"icons\">&#xe96a;</i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"errorPage-copyright\">\r\n &copy;&nbsp;{{ currentYear }}, {{ organisationName }}\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['../common-error-page.component.less'],\r\n})\r\nexport class UnauthorizedComponent {\r\n currentYear = new Date().getFullYear();\r\n errorConfig = ERROR_CONFIG.UNAUTHORIZED;\r\n VcomplyLogo = VCOMPLY_LOGO_URL;\r\n altImageText = ALT_IMAGE_TEXT;\r\n organisationName = ORGANISATION_NAME;\r\n\r\n public redirectToSupport() {\r\n window.location.href = this.errorConfig.mail;\r\n }\r\n}\r\n","export class DialogConfig<D = any> {\r\n data?: D;\r\n position?: any;\r\n background?: any;\r\n pointer?: any;\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { DialogConfig } from '../../../ui-kit/dialog/dialog-config';\r\n\r\nimport { AuthorizerService } from '@vcomply/authorizer';\r\nimport { RouterService } from '../../services/router.service';\r\n\r\nimport { DialogData, ModalErrorType } from '../../types/global-error.types';\r\nimport { MODAL_ERROR_TYPES } from '../../constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-modal',\r\n template: ` <div class=\"error-dialog-box\">\r\n <div class=\"error-dialog-box-top\">{{ data.heading }}</div>\r\n <div class=\"error-dialog-box-mid\">\r\n {{ data.description }}\r\n </div>\r\n <div class=\"error-dialog-box-bottom\">\r\n <button (click)=\"onContinueAction()\" class=\"logIn-btn\">\r\n {{ data.buttonText }}\r\n </button>\r\n </div>\r\n </div>`,\r\n styleUrls: ['./error-modal.component.less'],\r\n})\r\nexport class ErrorModalComponent {\r\n errorTypes = MODAL_ERROR_TYPES;\r\n\r\n @Input() errorType: ModalErrorType | undefined;\r\n\r\n data: DialogData = {\r\n heading: 'Message',\r\n description: 'Description',\r\n buttonText: 'Click Action',\r\n };\r\n\r\n constructor(\r\n private authService: AuthorizerService,\r\n private dialogConfig: DialogConfig,\r\n private routerService: RouterService\r\n ) {\r\n this.setDataConfig();\r\n }\r\n\r\n private setDataConfig() {\r\n this.data = this.dialogConfig.data?.errorConfig;\r\n this.errorType = this.dialogConfig.data?.errorType;\r\n }\r\n\r\n public onContinueAction() {\r\n switch (this.errorType) {\r\n case this.errorTypes.SESSION_EXPIRED:\r\n this.authService.logout();\r\n this.routerService.redirectToLogin();\r\n break;\r\n\r\n case this.errorTypes.CHUNK_NOT_FOUND:\r\n window.location.reload();\r\n break;\r\n }\r\n }\r\n}\r\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appInsertion]',\r\n})\r\nexport class InsertionDirective {\r\n constructor(public viewContainerRef: ViewContainerRef) {}\r\n}\r\n","import { Observable, Subject } from 'rxjs';\r\n\r\nexport class DialogRef {\r\n private readonly afterDialogClosed = new Subject<any>();\r\n afterClosed: Observable<any> = this.afterDialogClosed.asObservable();\r\n constructor() {}\r\n\r\n close(result?: any) {\r\n // debugger\r\n this.afterDialogClosed.next(result);\r\n document.body.style.overflow = 'auto';\r\n }\r\n}\r\n","import { Component, Type, ComponentFactoryResolver, ViewChild, OnDestroy, ComponentRef, AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';\r\nimport { InsertionDirective } from './insertion.directive';\r\nimport { Subject } from 'rxjs';\r\nimport { DialogRef } from './dialog-ref';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { NavigationEnd, NavigationError, NavigationStart, Router, ROUTER_CONFIGURATION } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.css'],\r\n})\r\nexport class DialogComponent implements AfterViewInit, OnDestroy, OnInit {\r\n componentRef!: ComponentRef<any>;\r\n position: any;\r\n background: any;\r\n pointer: any;\r\n @ViewChild(InsertionDirective, { static: true })\r\n insertionPoint!: InsertionDirective;\r\n animation = true;\r\n\r\n private readonly onDialogClose = new Subject<any>();\r\n public onClose = this.onDialogClose.asObservable();\r\n\r\n childComponentType!: Type<any>;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private cd: ChangeDetectorRef,\r\n private dialogRef: DialogRef,\r\n public config: DialogConfig,\r\n private router: Router\r\n ) {\r\n // this.componentRef = this.componentRef;\r\n // this.animate = this.animate;\r\n // this.insertionPoint = this.insertionPoint;\r\n // this.childComponentType = this.childComponentType;\r\n }\r\n ngOnInit() {\r\n this.position = this.config.position;\r\n this.background = this.config.background;\r\n document.body.style.overflow = 'hidden';\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 200);\r\n this.routeAction();\r\n }\r\n\r\n routeAction() {\r\n this.router.events.subscribe((event: any) => {\r\n if (event instanceof NavigationStart) {\r\n // Show loading indicator\r\n }\r\n if (event instanceof NavigationEnd) {\r\n // Hide loading indicator\r\n this.dialogRef.close();\r\n }\r\n if (event instanceof NavigationError) {\r\n // Hide loading indicator\r\n // Present error to user\r\n }\r\n });\r\n }\r\n ngAfterViewInit() {\r\n this.loadChildComponent(this.childComponentType);\r\n this.cd.detectChanges();\r\n }\r\n\r\n onOverlayClicked(evt: MouseEvent) {\r\n // this.dialogRef.close();\r\n }\r\n\r\n onDialogClicked(evt: MouseEvent) {\r\n evt.stopPropagation();\r\n }\r\n\r\n loadChildComponent(componentType: Type<any>) {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\r\n\r\n const viewContainerRef = this.insertionPoint.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n this.componentRef = viewContainerRef.createComponent(componentFactory);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.componentRef) {\r\n this.componentRef.destroy();\r\n }\r\n }\r\n\r\n close(data?: any) {\r\n this.onDialogClose.next(data);\r\n document.body.style.overflow = 'auto';\r\n }\r\n}\r\n","<div\r\n class=\"overlay\"\r\n (click)=\"onOverlayClicked($event)\"\r\n [ngClass]=\"{\r\n top: position === 'TOP',\r\n right: position === 'RIGHT',\r\n bottom: position === 'BOTTOM',\r\n left: position === 'LEFT',\r\n center: position === 'CENTER',\r\n black: background === 'black',\r\n whiteBlur: background === 'whiteBlur'\r\n }\" [class.pointer-none]=\"pointer === 'none'\"\r\n>\r\n <div\r\n class=\"dialog\"\r\n [class.animate]=\"animation\"\r\n (click)=\"onDialogClicked($event)\"\r\n [ngClass]=\"{\r\n top: position === 'TOP',\r\n right: position === 'RIGHT',\r\n bottom: position === 'BOTTOM',\r\n left: position === 'LEFT',\r\n center: position === 'CENTER'\r\n }\"\r\n >\r\n <ng-template appInsertion></ng-template>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DialogComponent } from './dialog.component';\r\nimport { InsertionDirective } from './insertion.directive';\r\nimport { DialogRef } from './dialog-ref';\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [DialogComponent, InsertionDirective],\r\n providers: [DialogRef],\r\n exports:[DialogComponent]\r\n})\r\nexport class DialogModule {}\r\n","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\r\n\r\nexport class DialogInjector implements Injector {\r\n constructor(private parentDialogInjector: Injector, private dialogAdditionalTokens: WeakMap<any, any>) {}\r\n\r\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;\r\n // get(token: any, notFoundValue?: any){return; }\r\n get(token: any, notFoundValue?: any) {\r\n const value = this.dialogAdditionalTokens.get(token);\r\n if (value) {\r\n return value;\r\n }\r\n return this.parentDialogInjector.get<any>(token, notFoundValue);\r\n }\r\n}\r\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, Type, EmbeddedViewRef, ComponentRef } from '@angular/core';\r\nimport { DialogModule } from './dialog.module';\r\nimport { DialogComponent } from './dialog.component';\r\nimport { DialogInjector } from './dialog-injector';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { DialogRef } from './dialog-ref';\r\n\r\n@Injectable({\r\n providedIn: DialogModule,\r\n})\r\nexport class DialogService {\r\n dialogComponentRef!: ComponentRef<DialogComponent>;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\r\n\r\n public open(componentType: Type<any>, config: DialogConfig) {\r\n const dialogRef = this.appendDialogComponentToBody(config);\r\n\r\n this.dialogComponentRef.instance.childComponentType = componentType;\r\n\r\n return dialogRef;\r\n }\r\n\r\n private appendDialogComponentToBody(config: DialogConfig) {\r\n const map = new WeakMap();\r\n map.set(DialogConfig, config);\r\n\r\n const dialogRef = new DialogRef();\r\n map.set(DialogRef, dialogRef);\r\n\r\n const sub = dialogRef.afterClosed.subscribe(() => {\r\n this.removeDialogComponentFromBody();\r\n sub.unsubscribe();\r\n });\r\n\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DialogComponent);\r\n const componentRef = componentFactory.create(new DialogInjector(this.injector, map));\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n\r\n this.dialogComponentRef = componentRef;\r\n\r\n this.dialogComponentRef.instance.onClose.subscribe(() => {\r\n this.removeDialogComponentFromBody();\r\n });\r\n\r\n return dialogRef;\r\n }\r\n\r\n private removeDialogComponentFromBody() {\r\n this.appRef.detachView(this.dialogComponentRef.hostView);\r\n this.dialogComponentRef.destroy();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\n\r\nimport { DialogService } from '../../../ui-kit/dialog/dialog.service';\r\n\r\nimport { ERROR_CONFIG, MODAL_ERROR_TYPES } from '../../constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-session-expired',\r\n template: ``,\r\n})\r\nexport class SessionExpiredComponent implements OnInit {\r\n errorConfig = ERROR_CONFIG.SESSION_EXPIRED;\r\n errorTypes = MODAL_ERROR_TYPES;\r\n\r\n constructor(\r\n private dialogService: DialogService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.openSessionExpiredModal();\r\n }\r\n\r\n private openSessionExpiredModal() {\r\n this.dialogService.open(ErrorModalComponent, {\r\n data: {\r\n errorType: this.errorTypes.SESSION_EXPIRED,\r\n errorConfig: this.errorConfig,\r\n },\r\n position: 'center',\r\n background: 'whiteBlur',\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\n\r\nimport { DialogService } from '../../../ui-kit/dialog/dialog.service';\r\n\r\nimport {\r\n ERROR_CONFIG,\r\n MODAL_ERROR_TYPES,\r\n} from '../../constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-chunk-unavailable',\r\n template: ``,\r\n})\r\nexport class ChunkUnavailableComponent implements OnInit {\r\n errorConfig = ERROR_CONFIG.CHUNK_UNAVAILABLE;\r\n errorType = MODAL_ERROR_TYPES;\r\n\r\n constructor(private dialogService: DialogService) {}\r\n\r\n ngOnInit() {\r\n this.openSessionExpiredModal();\r\n }\r\n\r\n private openSessionExpiredModal() {\r\n this.dialogService.open(ErrorModalComponent, {\r\n data: {\r\n errorType: this.errorType.CHUNK_NOT_FOUND,\r\n errorConfig: this.errorConfig,\r\n },\r\n position: 'center',\r\n background: 'whiteBlur',\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport {\r\n ERROR_CONFIG,\r\n VCOMPLY_LOGO_URL,\r\n ALT_IMAGE_TEXT,\r\n} from '../../constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-server-error',\r\n template: `\r\n <div class=\"errorPage\">\r\n <div class=\"errorPage-top\">\r\n <img\r\n [ngSrc]=\"VcomplyLogo\"\r\n [alt]=\"altImageText.VCOMPLY_LOGO\"\r\n width=\"24\"\r\n height=\"24\"\r\n />\r\n </div>\r\n <div class=\"errorPage-container\">\r\n <div class=\"errorPage-inner\">\r\n <div class=\"errorPage-inner-image\">\r\n <img\r\n [ngSrc]=\"errorConfig.imageUrl\"\r\n [alt]=\"altImageText.ERROR_IMAGE\"\r\n width=\"246\"\r\n height=\"178\"\r\n />\r\n </div>\r\n <div class=\"errorPage-inner-right\">\r\n <div class=\"errorPage-heading\">{{ errorConfig.title }}</div>\r\n <div class=\"errorPage-text\">{{ errorConfig.description }}</div>\r\n <div class=\"errorPage-details\">{{ errorConfig.details }}</div>\r\n <button class=\"errorPage-btn\" (click)=\"refreshPage()\">\r\n {{ errorConfig.buttonText }} <i class=\"icons\">&#xe92b;</i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['../common-error-page.component.less'],\r\n})\r\nexport class ServerErrorComponent {\r\n errorConfig = ERROR_CONFIG.SERVER_ERROR;\r\n VcomplyLogo = VCOMPLY_LOGO_URL;\r\n altImageText = ALT_IMAGE_TEXT;\r\n\r\n public refreshPage() {\r\n window.location.reload();\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { GlobalErrorService } from './shared/services/global-error.service';\r\nimport { SnackBarService } from './ui-kit/snack-bar/snack-bar.service';\r\n\r\nimport { ErrorStatusCode } from './shared/types/global-error.types';\r\nimport { ERROR_CONFIG } from './shared/constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-handlers',\r\n template: `\r\n <app-snack-bar></app-snack-bar>\r\n <lib-vc-error-session-expired\r\n *ngIf=\"sessionExpired\"\r\n ></lib-vc-error-session-expired>\r\n <lib-vc-error-unauthorized *ngIf=\"unauthorized\"></lib-vc-error-unauthorized>\r\n <lib-vc-error-chunk-unavailable\r\n *ngIf=\"chunkUnavailable\"\r\n ></lib-vc-error-chunk-unavailable>\r\n <lib-vc-error-server-error *ngIf=\"serverError\"></lib-vc-error-server-error>\r\n `,\r\n})\r\nexport class VcErrorHandlersComponent {\r\n private errorConfig = ERROR_CONFIG.NETWORK_UNAVAILABLE;\r\n\r\n unauthorized: boolean = false;\r\n sessionExpired: boolean = false;\r\n chunkUnavailable: boolean = false;\r\n serverError: boolean = false;\r\n isOnline: boolean = navigator.onLine;\r\n\r\n constructor(\r\n private errorService: GlobalErrorService,\r\n private snackBarService: SnackBarService\r\n ) {\r\n this.subscribeGlobalError();\r\n }\r\n\r\n ngOnInit() {\r\n this.subscribeNetworkDetection();\r\n }\r\n\r\n ngOnDestroy() {\r\n window.removeEventListener('online', this.onNetworkOnline);\r\n window.removeEventListener('offline', this.onNetworkOffline);\r\n }\r\n\r\n private subscribeGlobalError() {\r\n this.errorService.globalError$.subscribe((error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n const errorHandlers: { [key: number]: () => void } = {\r\n [ErrorStatusCode.Unauthenticated]: () => (this.sessionExpired = true),\r\n [ErrorStatusCode.UnauthorizedAccess]: () => (this.unauthorized = true),\r\n [ErrorStatusCode.JSChunkUnavailable]: () => (this.chunkUnavailable = true),\r\n [ErrorStatusCode.NetworkUnavailable]: () => this.handleNetworkError(),\r\n };\r\n\r\n if (errorHandlers[error.status]) {\r\n errorHandlers[error.status]();\r\n } else if (this.errorService.isServerError(error)) {\r\n this.serverError = true;\r\n }\r\n }\r\n\r\n private subscribeNetworkDetection() {\r\n window.addEventListener('online', this.onNetworkOnline);\r\n window.addEventListener('offline', this.onNetworkOffline);\r\n }\r\n\r\n private onNetworkOnline = () => {\r\n this.isOnline = true;\r\n this.hideSnackBar();\r\n };\r\n\r\n private onNetworkOffline = () => {\r\n this.isOnline = false;\r\n this.showOfflineSnackBar();\r\n };\r\n\r\n private handleNetworkError() {\r\n if (!this.isOnline) {\r\n this.showOfflineSnackBar();\r\n }\r\n }\r\n\r\n private showOfflineSnackBar() {\r\n this.snackBarService.show(this.errorConfig.offlineMessage, 'error');\r\n }\r\n\r\n private hideSnackBar() {\r\n this.snackBarService.hide();\r\n }\r\n}\r\n","import { Component, Optional } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport {\r\n ERROR_CONFIG,\r\n VCOMPLY_LOGO_URL,\r\n REDIRECTION_URL,\r\n ORGANISATION_NAME,\r\n ALT_IMAGE_TEXT,\r\n MODULE_NAMES,\r\n} from '../../constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-page-not-found',\r\n template: `\r\n <div class=\"errorPage\">\r\n <div class=\"errorPage-top\">\r\n <img\r\n [ngSrc]=\"VcomplyLogo\"\r\n [alt]=\"altImageText.VCOMPLY_LOGO\"\r\n width=\"24\"\r\n height=\"24\"\r\n />\r\n </div>\r\n <div class=\"errorPage-container\">\r\n <div class=\"errorPage-inner\">\r\n <div class=\"errorPage-inner-image\">\r\n <img\r\n [ngSrc]=\"errorConfig.imageUrl\"\r\n [alt]=\"altImageText.ERROR_IMAGE\"\r\n width=\"246\"\r\n height=\"178\"\r\n />\r\n </div>\r\n <div class=\"errorPage-inner-right\">\r\n <div class=\"errorPage-heading\">{{ errorConfig.title }}</div>\r\n <div class=\"errorPage-text\">{{ errorConfig.description }}</div>\r\n <div class=\"errorPage-details\">{{ errorConfig.details }}</div>\r\n <button class=\"errorPage-btn\" (click)=\"redirectToHome()\">\r\n {{ errorConfig.buttonText }} <i class=\"icons\">&#xe96a;</i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"errorPage-copyright\">\r\n &copy;&nbsp;{{ currentYear }}, {{ organisationName }}\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['../common-error-page.component.less'],\r\n})\r\nexport class PageNotFoundComponent {\r\n errorConfig = ERROR_CONFIG.PAGE_NOT_FOUND;\r\n VcomplyLogo = VCOMPLY_LOGO_URL;\r\n altImageText = ALT_IMAGE_TEXT;\r\n currentYear = new Date().getFullYear();\r\n redirectionUrl = REDIRECTION_URL;\r\n organisationName = ORGANISATION_NAME;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n ) {\r\n }\r\n\r\n public redirectToHome() {\r\n const module_name = this.route.snapshot.data['page_path'];\r\n let targetPath = REDIRECTION_URL.COMPLIANCE_DASHBOARD;\r\n\r\n switch (module_name) {\r\n case MODULE_NAMES.RISK:\r\n targetPath = REDIRECTION_URL.RISK_DASHBOARD;\r\n break;\r\n case MODULE_NAMES.POLICY:\r\n targetPath = REDIRECTION_URL.POLICY_DASHBOARD;\r\n break;\r\n\r\n default:\r\n targetPath = REDIRECTION_URL.COMPLIANCE_DASHBOARD;\r\n break;\r\n }\r\n\r\n window.location.replace(targetPath);\r\n }\r\n}\r\n","import { Component, EventEmitter, Output } from '@angular/core';\r\n\r\nimport {\r\n ERROR_CONFIG,\r\n ALT_IMAGE_TEXT,\r\n} from '../../constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-component-server-error',\r\n template: `\r\n <div class=\"serverError\">\r\n <div class=\"serverError-inner\">\r\n <div class=\"serverError-inner-image\">\r\n <img\r\n [ngSrc]=\"errorConfig.imageUrl\"\r\n [alt]=\"altImageText.ERROR_IMAGE\"\r\n width=\"106\"\r\n height=\"76\"\r\n />\r\n </div>\r\n <div class=\"serverError-inner-bottom\">\r\n <div class=\"serverError-heading\">{{ errorConfig.title }}</div>\r\n <div class=\"serverError-text\">{{ errorConfig.description }}</div>\r\n <div class=\"serverError-details\">{{ errorConfig.details }}</div>\r\n <button class=\"serverError-btn\" (click)=\"onClick.emit(true)\">\r\n {{ errorConfig.buttonText }}\r\n <i class=\"icons\">&#xe92b;</i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['./component-level-server-error.component.less'],\r\n})\r\nexport class ComponentLevelServerErrorComponent {\r\n errorConfig = ERROR_CONFIG.COMPONENT_LEVEL_SERVER_ERROR;\r\n altImageText = ALT_IMAGE_TEXT;\r\n\r\n @Output() onClick = new EventEmitter<boolean>();\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SnackBarComponent } from './snack-bar/snack-bar.component';\r\n\r\n@NgModule({\r\n declarations: [SnackBarComponent],\r\n imports: [CommonModule],\r\n exports: [SnackBarComponent],\r\n})\r\nexport class SnackBarModule {}\r\n","export class Configurations {\r\n public sentryConfig: any;\r\n public envConfig: any;\r\n\r\n constructor() {\r\n this.sentryConfig = {};\r\n this.envConfig = {};\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { retry } from 'rxjs/operators';\r\nimport { AuthorizerService } from '@vcomply/authorizer';\r\nimport { Subscription } from 'rxjs';\r\nimport { Configurations } from '../configuration';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FeatureFlagService {\r\n environment!: any;\r\n flagFetchError = false;\r\n featuresMap: any = {};\r\n AWSFlags: any = {};\r\n flagSubscription!: Subscription;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private authorizer: AuthorizerService,\r\n @Optional() config?: Configurations\r\n ) {\r\n this.environment = config?.envConfig;\r\n }\r\n\r\n fetchFlags() {\r\n return this.http.get(this.environment.baseUrl + 'features').pipe(retry(2));\r\n }\r\n\r\n loadConfig() {\r\n if (this.flagSubscription) {\r\n this.flagSubscription.unsubscribe();\r\n }\r\n return new Promise((resolve, reject) => {\r\n this.flagSubscription = this.fetchFlags().subscribe({\r\n next: (res: any) => {\r\n try {\r\n resolve(true);\r\n this.flagFetchError = false;\r\n this.AWSFlags = res;\r\n this.buildFeatureFlags(this.authorizer.getOrganizationId());\r\n } catch (error) {\r\n reject(error);\r\n }\r\n },\r\n error: (err: any) => {\r\n reject(true);\r\n this.flagFetchError = true;\r\n console.log('An error occurred while fetching feature flags', err);\r\n },\r\n });\r\n });\r\n }\r\n\r\n buildFeatureFlags(orgId: any) {\r\n orgId = orgId?.toString();\r\n const enabledFeatures: any = {};\r\n Object.keys(this.AWSFlags).forEach((flag: string) => {\r\n const flagObj = this.AWSFlags[flag];\r\n enabledFeatures[flag] = false;\r\n if (flagObj) {\r\n if (flagObj?.enabled && !flagObj.hasOwnProperty('enabledOrgIds')) {\r\n enabledFeatures[flag] = true;\r\n } else if (\r\n flagObj?.enabled &&\r\n flagObj.hasOwnProperty('enabledOrgIds') &&\r\n flagObj?.enabledOrgIds?.length > 0\r\n ) {\r\n if (flagObj?.enabledOrgIds?.includes(orgId)) {\r\n enabledFeatures[flag] = true;\r\n } else {\r\n enabledFeatures[flag] = false;\r\n }\r\n } else {\r\n if (flagObj?.enabled) {\r\n enabledFeatures[flag] = true;\r\n } else {\r\n enabledFeatures[flag] = false;\r\n }\r\n }\r\n } else {\r\n enabledFeatures[flag] = true;\r\n }\r\n });\r\n this.featuresMap = enabledFeatures;\r\n }\r\n\r\n isFeatureEnabled(featureFlag: string) {\r\n if (this.featuresMap.hasOwnProperty(featureFlag)) {\r\n return this.featuresMap[featureFlag];\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {\r\n Directive,\r\n Input,\r\n OnInit,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from \"@angular/core\";\r\nimport { FeatureFlagService } from \"./feature-flag.service\";\r\n\r\n\r\n@Directive({\r\n selector: \"[featureFlag]\"\r\n})\r\nexport class FeatureFlagDirective implements OnInit {\r\n @Input() featureFlag!: string;\r\n constructor(\r\n private tpl: TemplateRef<any>,\r\n private vcr: ViewContainerRef,\r\n private featureFlagService: FeatureFlagService\r\n ) {}\r\n\r\n ngOnInit() {\r\n const isEnabled = this.featureFlagService.isFeatureEnabled(this.featureFlag);\r\n if (isEnabled) {\r\n this.vcr.createEmbeddedView(this.tpl);\r\n }\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FeatureFlagDirective } from './feature-flag.directive';\r\n\r\n@NgModule({\r\n declarations: [FeatureFlagDirective],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports:[FeatureFlagDirective]\r\n})\r\nexport class FeatureFlagModule { }\r\n","import { ErrorHandler, Injectable, Optional } from '@angular/core';\r\nimport * as Sentry from '@sentry/angular-ivy';\r\nimport { Configurations } from '../../configuration';\r\n\r\nimport { AuthorizerService } from '@vcomply/authorizer';\r\nimport { GlobalErrorService } from '../services/global-error.service';\r\n\r\nimport { ErrorStatusCode } from '../types/global-error.types';\r\n\r\n@Injectable()\r\nexport class SentryErrorHandler implements ErrorHandler {\r\n constructor(\r\n private authorizerService: AuthorizerService,\r\n private errorService: GlobalErrorService,\r\n @Optional() config?: Configurations\r\n ) {\r\n if (config?.sentryConfig) {\r\n const SENTRY_CONFIG = config.sentryConfig;\r\n Sentry.init({\r\n dsn: SENTRY_CONFIG?.DSN,\r\n integrations: [\r\n new Sentry.BrowserTracing({\r\n tracePropagationTargets: SENTRY_CONFIG.ALLOW_ORIGIN,\r\n routingInstrumentation: Sentry.routingInstrumentation,\r\n }),\r\n ],\r\n tracesSampleRate: SENTRY_CONFIG.TRACES_SAMPLE_RATE,\r\n replaysSessionSampleRate: SENTRY_CONFIG.REPLAY_SESSION_SAMPLE_RATE,\r\n replaysOnErrorSampleRate: SENTRY_CONFIG.REPLAY_ON_ERROR_SAMPLE_RATE,\r\n });\r\n Sentry.setUser({ userDetails: this.authorizerService.getUser() });\r\n }\r\n }\r\n\r\n handleError(error: any) {\r\n const ERROR = error?.originalError || error;\r\n this.handleChunkError(ERROR);\r\n Sentry.captureException(ERROR);\r\n }\r\n\r\n handleChunkError(error: Error) {\r\n const chunkFailedMessage = /Loading chunk [\\d]+ failed/;\r\n if (chunkFailedMessage.test(error?.message)) {\r\n window.location.reload();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpErrorResponse,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, tap, timeout } from 'rxjs/operators';\r\n\r\nimport { GlobalErrorService } from '../services/global-error.service';\r\nimport { FeatureFlagService } from '../../featureFlag/feature-flag.service';\r\n\r\nimport {\r\n API_TIMEOUT_TIME,\r\n ERROR_FEATURE_FLAG,\r\n} from '../constants/error-handling.constants';\r\n\r\n@Injectable()\r\nexport class HttpReqInterceptor implements HttpInterceptor {\r\n constructor(\r\n private errorService: GlobalErrorService,\r\n private featureFlagService: FeatureFlagService\r\n ) {}\r\n\r\n intercept(\r\n req: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> {\r\n if (this.featureFlagService.isFeatureEnabled(ERROR_FEATURE_FLAG)) {\r\n return next.handle(req).pipe(\r\n timeout(API_TIMEOUT_TIME),\r\n tap((event: HttpEvent<any>) => {\r\n if (event instanceof HttpResponse) {\r\n this.errorService.handleSoftErrors(event);\r\n }\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n this.errorService.handleError(error, req);\r\n return throwError(error);\r\n })\r\n );\r\n } else {\r\n return next.handle(req);\r\n }\r\n }\r\n}\r\n","import {\r\n ErrorHandler,\r\n InjectionToken,\r\n ModuleWithProviders,\r\n NgModule,\r\n} from '@angular/core';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\r\n\r\nimport { PageNotFoundComponent } from './shared/components/page-not-found/page-not-found.component';\r\nimport { VcErrorHandlersComponent } from './vc-error-handlers.component';\r\n\r\nimport { DialogModule } from './ui-kit/dialog/dialog.module';\r\nimport { SnackBarModule } from './ui-kit/snack-bar/snack-bar.module';\r\nimport { FeatureFlagModule } from './featureFlag/feature-flag.module';\r\n\r\nimport { FeatureFlagService } from './featureFlag/feature-flag.service';\r\n\r\nimport { BrowserOptions } from '@sentry/browser';\r\nimport { GlobalErrorHandler } from './shared/errorhandler/chunk-error.handler';\r\nimport { SentryErrorHandler } from './shared/errorhandler/sentry-error.handler';\r\nimport { Configurations } from './configuration';\r\nimport { UnauthorizedComponent } from './shared/components/unauthorized/unauthorized.component';\r\nimport { SessionExpiredComponent } from './shared/components/session-expired/session-expired.component';\r\nimport { ChunkUnavailableComponent } from './shared/components/chunk-unavailable/chunk-unavailable.component';\r\nimport { ServerErrorComponent } from './shared/components/server-error/server-error.component';\r\n\r\nimport { HttpReqInterceptor } from './shared/interceptors/http.interceptor';\r\nimport { ErrorModalComponent } from './shared/components/error-modal/error-modal.component';\r\nimport { ComponentLevelServerErrorComponent } from './shared/components/component-level-server-error/component-level-server-error.component';\r\n\r\nexport const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken<BrowserOptions>(\r\n 'forRoot() SentryErrorHandler options'\r\n);\r\n\r\n@NgModule({\r\n declarations: [\r\n VcErrorHandlersComponent,\r\n PageNotFoundComponent,\r\n UnauthorizedComponent,\r\n SessionExpiredComponent,\r\n ChunkUnavailableComponent,\r\n ServerErrorComponent,\r\n ErrorModalComponent,\r\n ComponentLevelServerErrorComponent,\r\n ],\r\n imports: [CommonModule, DialogModule, SnackBarModule, FeatureFlagModule, NgOptimizedImage],\r\n exports: [\r\n VcErrorHandlersComponent,\r\n PageNotFoundComponent,\r\n UnauthorizedComponent,\r\n SessionExpiredComponent,\r\n ChunkUnavailableComponent,\r\n ServerErrorComponent,\r\n ErrorModalComponent,\r\n ComponentLevelServerErrorComponent,\r\n ],\r\n providers: [\r\n { provide: ErrorHandler, useClass: SentryErrorHandler },\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpReqInterceptor, multi: true },\r\n ],\r\n bootstrap: [VcErrorHandlersComponent],\r\n})\r\nexport class VcErrorHandlersModule {\r\n constructor(private loadConfig: FeatureFlagService) {\r\n this.loadConfig.loadConfig();\r\n }\r\n\r\n public static forRoot(\r\n environmentConfig: Configurations\r\n ): ModuleWithProviders<VcErrorHandlersModule> {\r\n return {\r\n ngModule: VcErrorHandlersModule,\r\n providers: [{ provide: Configurations, useValue: environmentConfig }],\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of vc-error-handlers\r\n */\r\n\r\nexport * from './lib/vc-error-handlers.service';\r\nexport * from './lib/shared/services/global-error.service';\r\nexport * from './lib/shared/services/router.service';\r\nexport * from './lib/vc-error-handlers.component';\r\nexport * from './lib/shared/components/page-not-found/page-not-found.component';\r\nexport * from './lib/shared/components/unauthorized/unauthorized.component';\r\nexport * from './lib/shared/components/chunk-unavailable/chunk-unavailable.component';\r\nexport * from './lib/shared/components/server-error/server-error.component';\r\nexport * from './lib/shared/components/session-expired/session-expired.component';\r\nexport * from './lib/shared/components/error-modal/error-modal.component';\r\nexport * from './lib/shared/components/component-level-server-error/component-level-server-error.component';\r\nexport * from './lib/vc-error-handlers.module';\r\nexport * from './lib/shared/interceptors/http.interceptor';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SnackBarService","i2.UtilsService","i2","i1","i2.DialogConfig","i3.RouterService","i1.DialogRef","i4","i5.InsertionDirective","i1.DialogService","i1.GlobalErrorService","i2.SnackBarService","i3","i4.SnackBarComponent","i5.UnauthorizedComponent","i6.SessionExpiredComponent","i7.ChunkUnavailableComponent","i8.ServerErrorComponent","i3.Configurations","i1.FeatureFlagService","i2.GlobalErrorService","i2.FeatureFlagService"],"mappings":";;;;;;;;;;;;;MAKa,sBAAsB,CAAA;AAEjC,IAAA,WAAA,GAAA,GAAiB;+GAFN,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFrB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACYD,IAAY,eAgBX,CAAA;AAhBD,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,eAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,eAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB,CAAA;AACxB,IAAA,eAAA,CAAA,eAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB,CAAA;;AAGrB,IAAA,eAAA,CAAA,eAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB,CAAA;AACzB,IAAA,eAAA,CAAA,eAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB,CAAA;AACxB,IAAA,eAAA,CAAA,eAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB,CAAA;AAChB,IAAA,eAAA,CAAA,eAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB,CAAA;;AAGpB,IAAA,eAAA,CAAA,eAAA,CAAA,oBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oBAAsB,CAAA;;AAGtB,IAAA,eAAA,CAAA,eAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB,CAAA;AAC1B,CAAC,EAhBW,eAAe,KAAf,eAAe,GAgB1B,EAAA,CAAA,CAAA;;AChCM,MAAM,qBAAqB,GAAG;AACnC,IAAA;AACE,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,CAAC,EAAE,CAAC;AAChB,KAAA;CACF,CAAC;AAEK,MAAM,0BAA0B,GAAG;AACxC,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2CAA2C;AACjD,QAAA,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;AACzB,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2CAA2C;AACjD,QAAA,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;AAC9B,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2CAA2C;AACjD,QAAA,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;AAC9B,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2CAA2C;AACjD,QAAA,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;AAC3B,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2CAA2C;AACjD,QAAA,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;AACpC,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,oCAAoC;AAC1C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,+BAA+B;AACrC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,kCAAkC;AACxC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4CAA4C;AAClD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mCAAmC;AACzC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,oCAAoC;AAC1C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,gCAAgC;AACtC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,kCAAkC;AACxC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,sCAAsC;AAC5C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,oCAAoC;AAC1C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,kCAAkC;AACxC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,mCAAmC;AACzC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,uCAAuC;AAC7C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4CAA4C;AAClD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,qCAAqC;AAC3C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,sCAAsC;AAC5C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,oBAAoB;AAC1B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,qCAAqC;AAC3C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,6BAA6B;AACnC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4BAA4B;AAClC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mBAAmB;AACzB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,+CAA+C;AACrD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,wBAAwB;AAC9B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,8BAA8B;AACpC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iCAAiC;AACvC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,mCAAmC;AACzC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2DAA2D;AACjE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,8CAA8C;AACpD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,mCAAmC;AACzC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,wBAAwB;AAC9B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,gDAAgD;AACtD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,sDAAsD;AAC5D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,6DAA6D;AACnE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4DAA4D;AAClE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,qDAAqD;AAC3D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4DAA4D;AAClE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,2DAA2D;AACjE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,sDAAsD;AAC5D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,6DAA6D;AACnE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,4DAA4D;AAClE,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,yBAAyB;AAC/B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,eAAe;AACrB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,kBAAkB;AACxB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,sBAAsB;AAC5B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,kBAAkB;AACxB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,qBAAqB;AAC3B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,eAAe;AACrB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,wBAAwB;AAC9B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iCAAiC;AACvC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,6BAA6B;AACnC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,+BAA+B;AACrC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,wCAAwC;AAC9C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iCAAiC;AACvC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,oDAAoD;AAC1D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iCAAiC;AACvC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,sBAAsB;AAC5B,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,6CAA6C;AACnD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,qDAAqD;AAC3D,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,+CAA+C;AACrD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,kDAAkD;AACxD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,kCAAkC;AACxC,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,kDAAkD;AACxD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,IAAI,EAAE,6CAA6C;AACnD,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACD,IAAA;AACE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,IAAI,EAAE,uCAAuC;AAC7C,QAAA,KAAK,EAAE,IAAI;AACX,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;CACF;;MC7cY,eAAe,CAAA;AAG1B,IAAA,WAAA,GAAA;AAFO,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAQ,CAAC;AACtC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KAC3C;IAEhB,IAAI,CAAC,OAAe,EAAE,IAAgD,EAAA;AACpE,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI,EAAE,IAAI;YACV,OAAO;AACP,YAAA,IAAI,EAAC,IAAI;AACV,SAAA,CAAC,CAAC;KACJ;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,IAAI,EAAE,EAAE;AACT,SAAA,CAAC,CAAC;KACJ;+GAnBU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCCY,YAAY,CAAA;IACf,YAAY,CAAC,UAAe,EAAE,UAAe,EAAA;AACnD,QAAA,KAAK,IAAI,GAAG,IAAI,UAAU,EAAE;AAC1B,YAAA,IACE,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC;gBAC/B,UAAU,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,GAAG,CAAC,EACnC;AACA,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AACF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAEM,IAAA,kBAAkB,CAAC,MAAkB,EAAA;QAC1C,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YAC5B,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/B,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,KAAK,CAAC;KACd;IAEM,aAAa,CAAC,SAAiB,EAAE,aAAqB,EAAA;QAC3D,OAAO,SAAS,KAAK,aAAa,CAAC;KACpC;IAEM,mBAAmB,CAAC,OAAe,EAAE,WAAmB,EAAA;AAC7D,QAAA,OAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KACtC;IAEM,gBAAgB,CAAC,QAAa,EAAE,YAAiB,EAAA;AACtD,QAAA,IAAI,CAAC,QAAQ;AAAE,YAAA,OAAO,IAAI,CAAC;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;KAClD;IAEM,eAAe,CAAC,OAAY,EAAE,WAAgB,EAAA;AACnD,QAAA,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;KAChD;IAEM,cAAc,CAAC,YAAsB,EAAE,QAAgB,EAAA;AAC5D,QAAA,OAAO,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KACxC;+GAzCU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCgBY,kBAAkB,CAAA;AAO7B,IAAA,WAAA,CACU,eAAgC,EAChC,WAAyB,EACzB,MAAc,EAAA;QAFd,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAChC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAc;QACzB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AATjB,QAAA,IAAA,CAAA,YAAY,GAAiB,IAAI,OAAO,EAAE,CAAC;AAC3C,QAAA,IAAA,CAAA,WAAW,GAAiB,IAAI,OAAO,EAAE,CAAC;QAEzC,IAAkB,CAAA,kBAAA,GAAG,qBAAqB,CAAC;QAC3C,IAAuB,CAAA,uBAAA,GAAG,0BAA0B,CAAC;KAMzD;AAEG,IAAA,gBAAgB,CAAC,KAA4C,EAAA;AAClE,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,OAAO;AACR,SAAA;QACD,MAAM,KAAK,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;AAE5C,QAAA,IAAI,KAAK,EAAE;YACT,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrC,YAAA,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;AACzC,YAAA,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;AAEzC,YAAA,IAAI,UAAU,IAAI,UAAU,KAAK,CAAC,EAAE;gBAClC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,IAAI,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACvE,aAAA;AACF,SAAA;KACF;IAEM,WAAW,CAAC,KAAwB,EAAE,OAAyB,EAAA;AACpE,QAAA,IACE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;AAC7B,YAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;AAChC,YAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAChC;AACA,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAChC,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;AACpC,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACxC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC9B,SAAA;KACF;AAEM,IAAA,aAAa,CAAC,KAAwB,EAAA;AAC3C,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,eAAe,CAAC,mBAAmB;AACnC,YAAA,eAAe,CAAC,kBAAkB;AAClC,YAAA,eAAe,CAAC,UAAU;AAC1B,YAAA,eAAe,CAAC,cAAc;SAC/B,CAAC;QAEF,OAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAChD;AAEO,IAAA,iBAAiB,CAAC,KAAwB,EAAA;AAChD,QAAA,OAAO,KAAK,CAAC,MAAM,KAAK,eAAe,CAAC,eAAe,CAAC;KACzD;AAEO,IAAA,oBAAoB,CAAC,KAAwB,EAAA;AACnD,QAAA,OAAO,KAAK,CAAC,MAAM,KAAK,eAAe,CAAC,kBAAkB,CAAC;KAC5D;AAEO,IAAA,oBAAoB,CAAC,KAAwB,EAAA;AACnD,QAAA,OAAO,KAAK,CAAC,MAAM,KAAK,eAAe,CAAC,kBAAkB,CAAC;KAC5D;IAEO,iBAAiB,CACvB,KAAwB,EACxB,OAAyB,EAAA;QAEzB,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;AACzC,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAChC,SAAA;aAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;AACrD,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACxC,SAAA;KACF;AAEO,IAAA,kBAAkB,CAAC,KAAwB,EAAA;AACjD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;IAEO,iBAAiB,CACvB,KAAwB,EACxB,OAAyB,EAAA;QAEzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;KAC3C;IAEO,gBAAgB,CACtB,KAAwB,EACxB,OAAyB,EAAA;AAEzB,QAAA,MAAM,cAAc,GAAmB;YACrC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,GAAG;YACjB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;AAClB,YAAA,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;SAC7B,CAAC;QAEF,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,SAAS,KAC5C,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CACpD,CAAC;KACH;IAEO,qBAAqB,CAC3B,KAAwB,EACxB,OAAyB,EAAA;AAEzB,QAAA,MAAM,cAAc,GAAmB;YACrC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,GAAG;YACjB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;QAEF,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,SAAS,KACjD,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CACpD,CAAC;KACH;IAEO,WAAW,GAAA;AACjB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;AACtE,QAAA,OAAO,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC;KACrC;IAEO,mBAAmB,CACzB,SAAc,EACd,cAA8B,EAAA;AAE9B,QAAA,QACE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;AACvE,YAAA,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAClC,SAAS,CAAC,IAAI,EACd,cAAc,CAAC,IAAI,CACpB;AACD,YAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,SAAS,CAAC,KAAK,EACf,cAAc,CAAC,KAAK,CACrB;AACD,YAAA,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;aACpE,CAAC,SAAS,CAAC,SAAS;AACnB,gBAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAC7B,SAAS,CAAC,SAAS,EACnB,cAAc,CAAC,QAAQ,IAAI,EAAE,CAC9B,CAAC,EACJ;KACH;+GApJU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCfY,aAAa,CAAA;IACjB,eAAe,GAAA;QACpB,MAAM,CAAC,QAAQ,CAAC,IAAI;AAClB,YAAA,CAAA,QAAA,EAAW,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAG,CAAA,CAAA;gBAClC,qBAAqB;AACrB,gBAAA,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC5C;+GANU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACJD,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAErC,MAAM,MAAM,GAAG;IACpB,YAAY,EAAE,CAAG,EAAA,QAAQ,CAAuB,qBAAA,CAAA;IAChD,WAAW,EAAE,CAAG,EAAA,QAAQ,CAAiD,+CAAA,CAAA;IACzE,qBAAqB,EAAE,CAAG,EAAA,QAAQ,CAAwC,sCAAA,CAAA;CAC3E;;ACJM,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC;AAC7C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;AACnC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AACvD,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAE/C,MAAM,YAAY,GAAG;AAC1B,IAAA,cAAc,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC,WAAW;AAC5B,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,WAAW,EAAE,4CAA4C;AACzD,QAAA,OAAO,EAAE,iDAAiD;AAC1D,QAAA,UAAU,EAAE,iBAAiB;AAC9B,KAAA;AAED,IAAA,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC,WAAW;AAC5B,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,WAAW,EAAE,gDAAgD;AAC7D,QAAA,OAAO,EAAE,iDAAiD;AAC1D,QAAA,KAAK,EAAE,mBAAmB;AAC1B,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,UAAU,EAAE,iBAAiB;AAC7B,QAAA,IAAI,EAAE,0BAA0B;AACjC,KAAA;AAED,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,WAAW,EACT,0EAA0E;AAC5E,QAAA,UAAU,EAAE,OAAO;AACpB,KAAA;AAED,IAAA,iBAAiB,EAAE;AACjB,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,WAAW,EACT,mEAAmE;AACrE,QAAA,UAAU,EAAE,SAAS;AACtB,KAAA;AAED,IAAA,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC,WAAW;AAC5B,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,WAAW,EAAE,iCAAiC;AAC9C,QAAA,OAAO,EAAE,8CAA8C;AACvD,QAAA,UAAU,EAAE,SAAS;AACrB,QAAA,eAAe,EAAE,CAAqD,mDAAA,CAAA;AACvE,KAAA;AAED,IAAA,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,MAAM,CAAC,qBAAqB;AACtC,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,WAAW,EAAE,iCAAiC;AAC9C,QAAA,OAAO,EAAE,iDAAiD;AAC1D,QAAA,UAAU,EAAE,OAAO;AACpB,KAAA;AAED,IAAA,mBAAmB,EAAE;AACnB,QAAA,cAAc,EACZ,gFAAgF;AACnF,KAAA;CACF,CAAC;AAEK,MAAM,eAAe,GAAG;AAC7B,IAAA,oBAAoB,EAAE,wCAAwC;AAC9D,IAAA,cAAc,EAAE,8CAA8C;AAC9D,IAAA,gBAAgB,EAAE,kDAAkD;CACrE,CAAC;AAEK,MAAM,YAAY,GAAG;AAC1B,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEK,MAAM,iBAAiB,GAAG;AAC/B,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,eAAe,EAAE,iBAAiB;CACnC,CAAC;AAEK,MAAM,cAAc,GAAG;AAC5B,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,YAAY,EAAE,SAAS;CACxB;;MC1EY,iBAAiB,CAAA;AAa5B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAZpD,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;QACb,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;QACf,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;QAClB,IAAI,CAAA,IAAA,GAAG,OAAO,CAAC;AACf,QAAA,IAAA,CAAA,KAAK,GAAQ;AACX,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,KAAK,EAAE,UAAU;SAClB,CAAC;KAEsD;IAExD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CACtE,CAAC,KAAK,KAAI;AACR,YAAA,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;gBAC/D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnC,gBAAA,IAAI,CAAC,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC;AACzB,aAAA;AACD,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AAC7B,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AACzB,SAAC,CACF,CAAC;KACH;IAED,YAAY,GAAA;QACV,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,KAAK,EAAE,CAAC;SACd,EAAE,IAAI,CAAC,CAAC;KACV;IACD,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;AAClB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;KAC7B;IACD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;KACzC;+GAxCU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,qDCT9B,wZAQQ,EAAA,MAAA,EAAA,CAAA,uhEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDCK,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,wZAAA,EAAA,MAAA,EAAA,CAAA,uhEAAA,CAAA,EAAA,CAAA;;;MEiDd,qBAAqB,CAAA;AA7ClC,IAAA,WAAA,GAAA;AA8CE,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACvC,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC;QACxC,IAAW,CAAA,WAAA,GAAG,gBAAgB,CAAC;QAC/B,IAAY,CAAA,YAAA,GAAG,cAAc,CAAC;QAC9B,IAAgB,CAAA,gBAAA,GAAG,iBAAiB,CAAC;AAKtC,KAAA;IAHQ,iBAAiB,GAAA;QACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;KAC9C;+GATU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EA3CtB,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2+CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBA7CjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAC3B,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,2+CAAA,CAAA,EAAA,CAAA;;;MCnDU,YAAY,CAAA;AAKxB;;MCoBY,mBAAmB,CAAA;AAW9B,IAAA,WAAA,CACU,WAA8B,EAC9B,YAA0B,EAC1B,aAA4B,EAAA;QAF5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAmB;QAC9B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAC1B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAbtC,IAAU,CAAA,UAAA,GAAG,iBAAiB,CAAC;AAI/B,QAAA,IAAA,CAAA,IAAI,GAAe;AACjB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,UAAU,EAAE,cAAc;SAC3B,CAAC;QAOA,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,aAAa,GAAA;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC;KACpD;IAEM,gBAAgB,GAAA;QACrB,QAAQ,IAAI,CAAC,SAAS;AACpB,YAAA,KAAK,IAAI,CAAC,UAAU,CAAC,eAAe;AAClC,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;AAC1B,gBAAA,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;gBACrC,MAAM;AAER,YAAA,KAAK,IAAI,CAAC,UAAU,CAAC,eAAe;AAClC,gBAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM;AACT,SAAA;KACF;+GAnCU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAbpB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;AAUH,QAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ylBAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGI,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAf/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EACpB,QAAA,EAAA,CAAA;;;;;;;;;;AAUH,QAAA,CAAA,EAAA,MAAA,EAAA,CAAA,ylBAAA,CAAA,EAAA,CAAA;2JAME,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MCvBK,kBAAkB,CAAA;AAC7B,IAAA,WAAA,CAAmB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;KAAI;+GAD9C,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAlB,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC3B,iBAAA,CAAA;;;MCFY,SAAS,CAAA;AAGpB,IAAA,WAAA,GAAA;AAFiB,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,OAAO,EAAO,CAAC;AACxD,QAAA,IAAA,CAAA,WAAW,GAAoB,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACrD;AAEhB,IAAA,KAAK,CAAC,MAAY,EAAA;;AAEhB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;KACvC;AACF;;MCAY,eAAe,CAAA;IAc1B,WACU,CAAA,wBAAkD,EAClD,EAAqB,EACrB,SAAoB,EACrB,MAAoB,EACnB,MAAc,EAAA;QAJd,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QAClD,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;QACrB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QACrB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAc;QACnB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAZxB,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;AAEA,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAO,CAAC;AAC7C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;;;;;KAelD;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxC,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB,EAAE,GAAG,CAAC,CAAC;QACR,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,WAAW,GAAA;QACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAU,KAAI;YAC1C,IAAI,KAAK,YAAY,eAAe,EAAE;;AAErC,aAAA;YACD,IAAI,KAAK,YAAY,aAAa,EAAE;;AAElC,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACxB,aAAA;YACD,IAAI,KAAK,YAAY,eAAe,EAAE;;;AAGrC,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IACD,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,GAAe,EAAA;;KAE/B;AAED,IAAA,eAAe,CAAC,GAAe,EAAA;QAC7B,GAAG,CAAC,eAAe,EAAE,CAAC;KACvB;AAED,IAAA,kBAAkB,CAAC,aAAwB,EAAA;QACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;AAE9F,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;QAC9D,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAEzB,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;KACxE;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;AAC7B,SAAA;KACF;AAED,IAAA,KAAK,CAAC,IAAU,EAAA;AACd,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;KACvC;+GAlFU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAf,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAKf,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB/B,uzBA4BA,EAAA,MAAA,EAAA,CAAA,kyBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDhBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,YAAY,EAAA,QAAA,EAAA,uzBAAA,EAAA,MAAA,EAAA,CAAA,kyBAAA,CAAA,EAAA,CAAA;iNAUtB,cAAc,EAAA,CAAA;sBADb,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MENpC,YAAY,CAAA;+GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iBAJR,eAAe,EAAE,kBAAkB,CADxC,EAAA,OAAA,EAAA,CAAA,YAAY,aAGb,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAEb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EAHZ,SAAA,EAAA,CAAC,SAAS,CAAC,YAFZ,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKX,YAAY,EAAA,UAAA,EAAA,CAAA;kBANxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,YAAY,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC;oBACnD,SAAS,EAAE,CAAC,SAAS,CAAC;oBACtB,OAAO,EAAC,CAAC,eAAe,CAAC;AAC1B,iBAAA,CAAA;;;MCRY,cAAc,CAAA;IACzB,WAAoB,CAAA,oBAA8B,EAAU,sBAAyC,EAAA;QAAjF,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAU;QAAU,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAAmB;KAAI;;IAIzG,GAAG,CAAC,KAAU,EAAE,aAAmB,EAAA;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACrD,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAM,KAAK,EAAE,aAAa,CAAC,CAAC;KACjE;AACF;;MCJY,aAAa,CAAA;AAGxB,IAAA,WAAA,CAAoB,wBAAkD,EAAU,MAAsB,EAAU,QAAkB,EAAA;QAA9G,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QAAU,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;KAAI;IAE/H,IAAI,CAAC,aAAwB,EAAE,MAAoB,EAAA;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAE3D,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,kBAAkB,GAAG,aAAa,CAAC;AAEpE,QAAA,OAAO,SAAS,CAAC;KAClB;AAEO,IAAA,2BAA2B,CAAC,MAAoB,EAAA;AACtD,QAAA,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,QAAA,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAE9B,QAAA,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAClC,QAAA,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAE9B,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,MAAK;YAC/C,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrC,GAAG,CAAC,WAAW,EAAE,CAAC;AACpB,SAAC,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;AAChG,QAAA,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAErF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAI,YAAY,CAAC,QAAiC,CAAC,SAAS,CAAC,CAAC,CAAgB,CAAC;AAC5F,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEnC,QAAA,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;QAEvC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YACtD,IAAI,CAAC,6BAA6B,EAAE,CAAC;AACvC,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,SAAS,CAAC;KAClB;IAEO,6BAA6B,GAAA;QACnC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;KACnC;+GA7CU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,YAAY,EAAA,CAAA,CAAA,EAAA;;4FAEb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,YAAY;AACzB,iBAAA,CAAA;;;MCGY,uBAAuB,CAAA;AAIlC,IAAA,WAAA,CACU,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAJtC,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,eAAe,CAAC;QAC3C,IAAU,CAAA,UAAA,GAAG,iBAAiB,CAAC;KAI3B;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;IAEO,uBAAuB,GAAA;AAC7B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC3C,YAAA,IAAI,EAAE;AACJ,gBAAA,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe;gBAC1C,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,aAAA;AACD,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,WAAW;AACxB,SAAA,CAAC,CAAC;KACJ;+GArBU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,oEAFxB,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAED,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,CAAE,CAAA;AACb,iBAAA,CAAA;;;MCIY,yBAAyB,CAAA;AAIpC,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAHhD,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,iBAAiB,CAAC;QAC7C,IAAS,CAAA,SAAA,GAAG,iBAAiB,CAAC;KAEsB;IAEpD,QAAQ,GAAA;QACN,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;IAEO,uBAAuB,GAAA;AAC7B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC3C,YAAA,IAAI,EAAE;AACJ,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe;gBACzC,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,aAAA;AACD,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,WAAW;AACxB,SAAA,CAAC,CAAC;KACJ;+GAnBU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,sEAF1B,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAED,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,QAAQ,EAAE,CAAE,CAAA;AACb,iBAAA,CAAA;;;MC8BY,oBAAoB,CAAA;AApCjC,IAAA,WAAA,GAAA;AAqCE,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC;QACxC,IAAW,CAAA,WAAA,GAAG,gBAAgB,CAAC;QAC/B,IAAY,CAAA,YAAA,GAAG,cAAc,CAAC;AAK/B,KAAA;IAHQ,WAAW,GAAA;AAChB,QAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;KAC1B;+GAPU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAlCrB,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2+CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBApChC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAC3B,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,2+CAAA,CAAA,EAAA,CAAA;;;MClBU,wBAAwB,CAAA;IASnC,WACU,CAAA,YAAgC,EAChC,eAAgC,EAAA;QADhC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;QAChC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;AAVlC,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,mBAAmB,CAAC;QAEvD,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;QAC9B,IAAc,CAAA,cAAA,GAAY,KAAK,CAAC;QAChC,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;QAClC,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAC7B,QAAA,IAAA,CAAA,QAAQ,GAAY,SAAS,CAAC,MAAM,CAAC;QA4C7B,IAAe,CAAA,eAAA,GAAG,MAAK;AAC7B,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,YAAY,EAAE,CAAC;AACtB,SAAC,CAAC;QAEM,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC7B,SAAC,CAAC;QA9CA,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,yBAAyB,EAAE,CAAC;KAClC;IAED,WAAW,GAAA;QACT,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3D,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC9D;IAEO,oBAAoB,GAAA;QAC1B,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAwB,KAAI;AACpE,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC1B,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,WAAW,CAAC,KAAwB,EAAA;AAC1C,QAAA,MAAM,aAAa,GAAkC;AACnD,YAAA,CAAC,eAAe,CAAC,eAAe,GAAG,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AACrE,YAAA,CAAC,eAAe,CAAC,kBAAkB,GAAG,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACtE,YAAA,CAAC,eAAe,CAAC,kBAAkB,GAAG,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC1E,CAAC,eAAe,CAAC,kBAAkB,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE;SACtE,CAAC;AAEF,QAAA,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAC/B,YAAA,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/B,SAAA;aAAM,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;AACjD,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACzB,SAAA;KACF;IAEO,yBAAyB,GAAA;QAC/B,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC3D;IAYO,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC5B,SAAA;KACF;IAEO,mBAAmB,GAAA;AACzB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;KACrE;IAEO,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;KAC7B;+GAzEU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAZzB,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;AAUT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAdpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;AAUT,EAAA,CAAA;AACF,iBAAA,CAAA;;;MC6BY,qBAAqB,CAAA;AAQhC,IAAA,WAAA,CACU,KAAqB,EAAA;QAArB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;AAR/B,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC;QAC1C,IAAW,CAAA,WAAA,GAAG,gBAAgB,CAAC;QAC/B,IAAY,CAAA,YAAA,GAAG,cAAc,CAAC;AAC9B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACvC,IAAc,CAAA,cAAA,GAAG,eAAe,CAAC;QACjC,IAAgB,CAAA,gBAAA,GAAG,iBAAiB,CAAC;KAKpC;IAEM,cAAc,GAAA;AACnB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1D,QAAA,IAAI,UAAU,GAAG,eAAe,CAAC,oBAAoB,CAAC;AAEtD,QAAA,QAAQ,WAAW;YACjB,KAAK,YAAY,CAAC,IAAI;AACpB,gBAAA,UAAU,GAAG,eAAe,CAAC,cAAc,CAAC;gBAC5C,MAAM;YACR,KAAK,YAAY,CAAC,MAAM;AACtB,gBAAA,UAAU,GAAG,eAAe,CAAC,gBAAgB,CAAC;gBAC9C,MAAM;AAER,YAAA;AACE,gBAAA,UAAU,GAAG,eAAe,CAAC,oBAAoB,CAAC;gBAClD,MAAM;AACT,SAAA;AAED,QAAA,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KACrC;+GA/BU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAd,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EArCtB,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2+CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAvCjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,EAC7B,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,2+CAAA,CAAA,EAAA,CAAA;;;MCdU,kCAAkC,CAAA;AA3B/C,IAAA,WAAA,GAAA;AA4BE,QAAA,IAAA,CAAA,WAAW,GAAG,YAAY,CAAC,4BAA4B,CAAC;QACxD,IAAY,CAAA,YAAA,GAAG,cAAc,CAAC;AAEpB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAW,CAAC;AACjD,KAAA;+GALY,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kCAAkC,EAzBnC,QAAA,EAAA,qCAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAsBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wjCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,KAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGU,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBA3B9C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qCAAqC,EACrC,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAsBT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,wjCAAA,CAAA,EAAA,CAAA;8BAOS,OAAO,EAAA,CAAA;sBAAhB,MAAM;;;MC7BI,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAJV,YAAA,EAAA,CAAA,iBAAiB,CACtB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAHf,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;oBACjC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC7B,iBAAA,CAAA;;;MCRY,cAAc,CAAA;AAIzB,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AACF;;MCCY,kBAAkB,CAAA;AAO7B,IAAA,WAAA,CACU,IAAgB,EAChB,UAA6B,EACzB,MAAuB,EAAA;QAF3B,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAChB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAmB;QAPvC,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;QACvB,IAAW,CAAA,WAAA,GAAQ,EAAE,CAAC;QACtB,IAAQ,CAAA,QAAA,GAAQ,EAAE,CAAC;AAQjB,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,EAAE,SAAS,CAAC;KACtC;IAED,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5E;IAED,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;AACrC,SAAA;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC;AAClD,gBAAA,IAAI,EAAE,CAAC,GAAQ,KAAI;oBACjB,IAAI;wBACF,OAAO,CAAC,IAAI,CAAC,CAAC;AACd,wBAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC5B,wBAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;wBACpB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC7D,qBAAA;AAAC,oBAAA,OAAO,KAAK,EAAE;wBACd,MAAM,CAAC,KAAK,CAAC,CAAC;AACf,qBAAA;iBACF;AACD,gBAAA,KAAK,EAAE,CAAC,GAAQ,KAAI;oBAClB,MAAM,CAAC,IAAI,CAAC,CAAC;AACb,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC3B,oBAAA,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE,GAAG,CAAC,CAAC;iBACpE;AACF,aAAA,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,iBAAiB,CAAC,KAAU,EAAA;AAC1B,QAAA,KAAK,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAQ,EAAE,CAAC;AAChC,QAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,KAAI;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpC,YAAA,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC9B,YAAA,IAAI,OAAO,EAAE;gBACX,IAAI,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;AAChE,oBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC9B,iBAAA;qBAAM,IACL,OAAO,EAAE,OAAO;AAChB,oBAAA,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC;AACvC,oBAAA,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC,EAClC;oBACA,IAAI,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC3C,wBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC9B,qBAAA;AAAM,yBAAA;AACL,wBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC/B,qBAAA;AACF,iBAAA;AAAM,qBAAA;oBACL,IAAI,OAAO,EAAE,OAAO,EAAE;AACpB,wBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC9B,qBAAA;AAAM,yBAAA;AACL,wBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC/B,qBAAA;AACF,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC9B,aAAA;AACH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;KACpC;AAED,IAAA,gBAAgB,CAAC,WAAmB,EAAA;QAClC,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;AAChD,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AACtC,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;KACF;+GAnFU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAgB,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA,EAAA;;4FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAWI,QAAQ;;;MCNA,oBAAoB,CAAA;AAE/B,IAAA,WAAA,CACU,GAAqB,EACrB,GAAqB,EACrB,kBAAsC,EAAA;QAFtC,IAAG,CAAA,GAAA,GAAH,GAAG,CAAkB;QACrB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAkB;QACrB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;KAC5C;IAEJ,QAAQ,GAAA;AACN,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC7E,QAAA,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC,SAAA;KACF;+GAbU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAApB,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AAC1B,iBAAA,CAAA;+JAEU,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;MCHK,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EANb,YAAA,EAAA,CAAA,oBAAoB,CAEjC,EAAA,OAAA,EAAA,CAAA,YAAY,aAEL,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAElB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAJ1B,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAIH,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;AACpC,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;oBACD,OAAO,EAAC,CAAC,oBAAoB,CAAC;AAC/B,iBAAA,CAAA;;;MCAY,kBAAkB,CAAA;AAC7B,IAAA,WAAA,CACU,iBAAoC,EACpC,YAAgC,EAC5B,MAAuB,EAAA;QAF3B,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACpC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;QAGxC,IAAI,MAAM,EAAE,YAAY,EAAE;AACxB,YAAA,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,EAAE,aAAa,EAAE,GAAG;AACvB,gBAAA,YAAY,EAAE;oBACZ,IAAI,MAAM,CAAC,cAAc,CAAC;wBACxB,uBAAuB,EAAE,aAAa,CAAC,YAAY;wBACnD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;qBACtD,CAAC;AACH,iBAAA;gBACD,gBAAgB,EAAE,aAAa,CAAC,kBAAkB;gBAClD,wBAAwB,EAAE,aAAa,CAAC,0BAA0B;gBAClE,wBAAwB,EAAE,aAAa,CAAC,2BAA2B;AACpE,aAAA,CAAC,CAAC;AACH,YAAA,MAAM,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACnE,SAAA;KACF;AAED,IAAA,WAAW,CAAC,KAAU,EAAA;AACpB,QAAA,MAAM,KAAK,GAAG,KAAK,EAAE,aAAa,IAAI,KAAK,CAAC;AAC5C,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;KAChC;AAED,IAAA,gBAAgB,CAAC,KAAY,EAAA;QAC3B,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;QACxD,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;AAC3C,YAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC1B,SAAA;KACF;+GAnCU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAhB,IAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAiB,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;0BAKN,QAAQ;;;MCOA,kBAAkB,CAAA;IAC7B,WACU,CAAA,YAAgC,EAChC,kBAAsC,EAAA;QADtC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;QAChC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;KAC5C;IAEJ,SAAS,CACP,GAAqB,EACrB,IAAiB,EAAA;QAEjB,IAAI,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAAE;AAChE,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1B,OAAO,CAAC,gBAAgB,CAAC,EACzB,GAAG,CAAC,CAAC,KAAqB,KAAI;gBAC5B,IAAI,KAAK,YAAY,YAAY,EAAE;AACjC,oBAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC3C,iBAAA;AACH,aAAC,CAAC,EACF,UAAU,CAAC,CAAC,KAAwB,KAAI;gBACtC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC1C,gBAAA,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;aAC1B,CAAC,CACH,CAAC;AACH,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACzB,SAAA;KACF;+GA1BU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAR,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAW,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;;MCWE,6BAA6B,GAAG,IAAI,cAAc,CAC7D,sCAAsC,EACtC;MA8BW,qBAAqB,CAAA;AAChC,IAAA,WAAA,CAAoB,UAA8B,EAAA;QAA9B,IAAU,CAAA,UAAA,GAAV,UAAU,CAAoB;AAChD,QAAA,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;KAC9B;IAEM,OAAO,OAAO,CACnB,iBAAiC,EAAA;QAEjC,OAAO;AACL,YAAA,QAAQ,EAAE,qBAAqB;YAC/B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;SACtE,CAAC;KACH;+GAZU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAArB,qBAAqB,EAAA,SAAA,EAAA,CAFpB,wBAAwB,CAAA,EAAA,YAAA,EAAA,CAxBlC,wBAAwB;YACxB,qBAAqB;YACrB,qBAAqB;YACrB,uBAAuB;YACvB,yBAAyB;YACzB,oBAAoB;YACpB,mBAAmB;YACnB,kCAAkC,CAAA,EAAA,OAAA,EAAA,CAE1B,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAEvF,wBAAwB;YACxB,qBAAqB;YACrB,qBAAqB;YACrB,uBAAuB;YACvB,yBAAyB;YACzB,oBAAoB;YACpB,mBAAmB;YACnB,kCAAkC,CAAA,EAAA,CAAA,CAAA,EAAA;AAQzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EANrB,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE;YACvD,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE;AAC1E,SAAA,EAAA,OAAA,EAAA,CAdS,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAiB5D,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBA5BjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,qBAAqB;wBACrB,qBAAqB;wBACrB,uBAAuB;wBACvB,yBAAyB;wBACzB,oBAAoB;wBACpB,mBAAmB;wBACnB,kCAAkC;AACnC,qBAAA;oBACD,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;AAC1F,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,qBAAqB;wBACrB,qBAAqB;wBACrB,uBAAuB;wBACvB,yBAAyB;wBACzB,oBAAoB;wBACpB,mBAAmB;wBACnB,kCAAkC;AACnC,qBAAA;AACD,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE;wBACvD,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE;AAC1E,qBAAA;oBACD,SAAS,EAAE,CAAC,wBAAwB,CAAC;AACtC,iBAAA,CAAA;;;AC9DD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"vc-error-handlers.mjs","sources":["../../../projects/vc-error-handlers/src/lib/vc-error-handlers.service.ts","../../../projects/vc-error-handlers/src/lib/shared/types/global-error.types.ts","../../../projects/vc-error-handlers/src/lib/shared/constants/api-config.constants.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar.service.ts","../../../projects/vc-error-handlers/src/lib/shared/services/util.service.ts","../../../projects/vc-error-handlers/src/lib/shared/services/global-error.service.ts","../../../projects/vc-error-handlers/src/lib/shared/services/router.service.ts","../../../projects/vc-error-handlers/src/lib/shared/constants/assets.constants.ts","../../../projects/vc-error-handlers/src/lib/shared/constants/error-handling.constants.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.html","../../../projects/vc-error-handlers/src/lib/shared/components/unauthorized/unauthorized.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog-config.ts","../../../projects/vc-error-handlers/src/lib/shared/components/error-modal/error-modal.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/insertion.directive.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog-ref.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.component.html","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.module.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog-injector.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/dialog/dialog.service.ts","../../../projects/vc-error-handlers/src/lib/shared/components/session-expired/session-expired.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/chunk-unavailable/chunk-unavailable.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/server-error/server-error.component.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/page-not-found/page-not-found.component.ts","../../../projects/vc-error-handlers/src/lib/shared/components/component-level-server-error/component-level-server-error.component.ts","../../../projects/vc-error-handlers/src/lib/ui-kit/snack-bar/snack-bar.module.ts","../../../projects/vc-error-handlers/src/lib/configuration.ts","../../../projects/vc-error-handlers/src/lib/featureFlag/feature-flag.service.ts","../../../projects/vc-error-handlers/src/lib/featureFlag/feature-flag.directive.ts","../../../projects/vc-error-handlers/src/lib/featureFlag/feature-flag.module.ts","../../../projects/vc-error-handlers/src/lib/shared/errorhandler/sentry-error.handler.ts","../../../projects/vc-error-handlers/src/lib/shared/interceptors/http.interceptor.ts","../../../projects/vc-error-handlers/src/lib/vc-error-handlers.module.ts","../../../projects/vc-error-handlers/src/public-api.ts","../../../projects/vc-error-handlers/src/vc-error-handlers.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VcErrorHandlersService {\r\n\r\n constructor() { }\r\n}\r\n","import { MODAL_ERROR_TYPES } from '../constants/error-handling.constants';\r\n\r\nexport interface DialogData {\r\n heading: string;\r\n description: string;\r\n buttonText: string;\r\n}\r\n\r\nexport interface RequestDetails {\r\n method: string;\r\n path: string;\r\n query: { [key: string]: any };\r\n body: any;\r\n pageCode?: string;\r\n}\r\n\r\nexport enum ErrorStatusCode {\r\n URLNotFound = 404,\r\n UnauthorizedAccess = 403,\r\n Unauthenticated = 401,\r\n\r\n // Server-side errors\r\n InternalServerError = 500,\r\n ServiceUnavailable = 503,\r\n BadGateway = 502,\r\n RequestTimeout = 504,\r\n\r\n // Network unavailability/offline case\r\n NetworkUnavailable = 0,\r\n\r\n // Application-specific errors\r\n JSChunkUnavailable = 600,\r\n}\r\n\r\nexport type ModalErrorType = keyof typeof MODAL_ERROR_TYPES;\r\n","export const PAGE_LEVEL_API_CONFIG = [\r\n {\r\n method: '',\r\n path: '',\r\n query: null,\r\n body: null,\r\n pageCodes: [''],\r\n },\r\n];\r\n\r\nexport const COMPONENT_LEVEL_API_CONFIG = [\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=organisationUsersList',\r\n query: { type: 'active' },\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=organisationUsersList',\r\n query: { type: 'power_users' },\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=organisationUsersList',\r\n query: { type: 'light_users' },\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=organisationUsersList',\r\n query: { type: 'inactive' },\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=organisationUsersList',\r\n query: { type: 'power_users_small' },\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/Global-Dashboard/ManageDashboards',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/Global-Dashboard/MyDashboard',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/grc_object/?mode=grc/getGRCList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/compliance/?mode=responsibilityCenterTree',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=rcholidaylist',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=roles/getRoles',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=groupsList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/compliance_post/?mode=rcProfile',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/organization_post/?mode=userProfile',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=roles/roleById',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=groupDetails',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/compliance_post?mode=report/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization/?mode=memberholidaylist',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/grc_object/?mode=activity/activityLogList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/grc_object/?mode=activity/viewList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/categoriesList?owner_list=1',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/risk/?mode=category/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'memberDetailsbyIds',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/organization?mode=signatureDetails',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/responsibilityList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/getLinkedPolicies',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/assignee',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/evidence/getEvidences/b-cycle-header',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/activity-logs',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/activity-logs-views',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/Assessment/?mode=category/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/Assessment/?mode=assessment/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/Assessment/?mode=assessment/fetchQuestionsByAssessmentId',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/Assessment/?mode=assessment/responseSummary',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/Assessment/?mode=assessment/logs',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/program/subCategories',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/Assessment/?mode=assessment/getAssessmentById',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/my/dueToday',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/reviewing/dueToday',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/managing/dueToday',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/my/overdue',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/reviewing/overdue',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/managing/overdue',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/my/upcoming',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/reviewing/upcoming',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/to_do_responsibilities/responsibilities/managing/upcoming',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk/ListingReportedRisks',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk/myAssessments&type',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'workshop/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk/DueDateList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk/RiskDetailsById',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'score/assessment',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'score/treatment',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'score/treatmentPlan',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'category/list&returnType',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk/list&return_list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk/GetDiscussionById',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'workroom/getFilesAndFoldersList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'responsibilityCenter/rcList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: 'program/overview?owner_list=1',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'calendarDashboardReports',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'compliance_post/?mode=myResponsibility',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'compliance_post/?mode=auditList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'compliance_post/?mode=oversightResponsibility/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'complianceReport/getTrendReport',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'workroomUpdates',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'recentActivities_new',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/policy_post/?mode=dashboard/statusOverview',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/policy/?mode=category/listForPortal&type=dashboard',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/policy/?mode=announcements/listAll',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/policy/?mode=announcements/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/policy_post/?mode=dashboard/overdue/attestation',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: '/policy_post/?mode=dashboard/overdue/review',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/policy/?mode=dashboard/calendar&date',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: 'policy/?mode=dashboard/dueForAttestation/dueToday',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/policy/?mode=dashboard/dueForAttestation/overdue',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: 'policy/?mode=dashboard/dueForAttestation/upcoming',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: 'policy/?mode=dashboard/dueForAttestation/upcoming',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: 'Assurance/Issue/Category/CatList',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'Assurance/Issue/MyIssues/',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'Assurance/Issue/Overview/',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'Assurance/Issue/Overseeing/',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: 'Assurance/Issue/Workroom/',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: 'Assurance/Issue/GetIssueDueDates/',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/Assurance/Workroom/Issue/FilesAndFolders/',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: 'Assurance/Workroom/Issue/ActivitiesViewLog/',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/Assurance/ActivityLog/IssueLog/',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: 'Assurance/Workroom/Issue/IssueDuedateListForTimeline',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: 'Assurance/Issue/ListByCategoryIdRC/',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: 'Assurance/Issue/DashboardCalendar',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: '/Assurance/Issue/Priority',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk_dashboard/heatmap',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk_dashboard/risk_category_overview',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk_dashboard/risk_score_by_rc',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk_dashboard/scorebycategory',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'POST',\r\n path: 'risk_dashboard/list',\r\n query: null,\r\n body: null,\r\n },\r\n {\r\n method: 'GET',\r\n path: 'dashboard/missedResponsibilities',\r\n query: null,\r\n body: null,\r\n },\r\n];\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SnackBarService {\r\n public snackbarSubject = new Subject <any>();\r\n public snackbarState = this.snackbarSubject.asObservable();\r\n constructor() {}\r\n\r\n show(message: string, type?:'success'|'warning'|'info'|'alert'|'error') {\r\n this.snackbarSubject.next({\r\n show: true,\r\n message,\r\n icon:type,\r\n });\r\n }\r\n\r\n hide(){\r\n this.snackbarSubject.next({\r\n show: false,\r\n message: '',\r\n icon: '',\r\n });\r\n }\r\n}\r\n","import { HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UtilsService {\r\n private isJsonSubset(parentJson: any, subsetJson: any): boolean {\r\n for (let key in subsetJson) {\r\n if (\r\n !parentJson.hasOwnProperty(key) ||\r\n parentJson[key] !== subsetJson[key]\r\n ) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n public extractQueryParams(params: HttpParams): { [key: string]: any } {\r\n const query: { [key: string]: any } = {};\r\n params.keys().forEach((key) => {\r\n query[key] = params.get(key);\r\n });\r\n return query;\r\n }\r\n\r\n public isStringEqual(apiMethod: string, requestMethod: string): boolean {\r\n return apiMethod === requestMethod;\r\n }\r\n\r\n public isSubstringInString(apiPath: string, requestPath: string): boolean {\r\n return requestPath.includes(apiPath);\r\n }\r\n\r\n public isSubsetOfObject(apiQuery: any, requestQuery: any): boolean {\r\n if (!apiQuery) return true;\r\n return this.isJsonSubset(requestQuery, apiQuery);\r\n }\r\n\r\n public isSubsetOfArray(apiBody: any, requestBody: any): boolean {\r\n if (!apiBody) return true;\r\n return this.isJsonSubset(apiBody, requestBody);\r\n }\r\n\r\n public isValueInArray(apiPageCodes: string[], pageCode: string): boolean {\r\n return apiPageCodes.includes(pageCode);\r\n }\r\n}\r\n","import {\r\n HttpErrorResponse,\r\n HttpRequest,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { SnackBarService } from '../../ui-kit/snack-bar/snack-bar.service';\r\nimport { UtilsService } from './util.service';\r\n\r\nimport { ErrorStatusCode, RequestDetails } from '../types/global-error.types';\r\nimport {\r\n PAGE_LEVEL_API_CONFIG,\r\n COMPONENT_LEVEL_API_CONFIG,\r\n} from '../constants/api-config.constants';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class GlobalErrorService {\r\n public globalError$: Subject<any> = new Subject();\r\n public localError$: Subject<any> = new Subject();\r\n\r\n private pageLevelApiConfig = PAGE_LEVEL_API_CONFIG;\r\n private componentLevelApiConfig = COMPONENT_LEVEL_API_CONFIG;\r\n\r\n constructor(\r\n private snackBarService: SnackBarService,\r\n private utilService: UtilsService,\r\n private router: Router\r\n ) {}\r\n\r\n public handleSoftErrors(event: HttpResponse<any> | HttpErrorResponse) {\r\n if (!event.headers?.get) {\r\n return;\r\n }\r\n const xData = event?.headers?.get('X-Data');\r\n\r\n if (xData) {\r\n const parsedData = JSON.parse(xData);\r\n const statusCode = parsedData.statusCode;\r\n const statusMessage = parsedData.message;\r\n\r\n if (statusCode && statusCode !== 0) {\r\n this.snackBarService.show(statusMessage || 'Error occurred', 'error');\r\n }\r\n }\r\n }\r\n\r\n public handleError(error: HttpErrorResponse, request: HttpRequest<any>) {\r\n if (\r\n this.isUnauthenticated(error) ||\r\n this.isUnauthorizedAccess(error) ||\r\n this.isNetworkUnavailable(error)\r\n ) {\r\n this.publishGlobalError(error);\r\n } else if (this.isServerError(error)) {\r\n this.handleServerError(error, request);\r\n } else {\r\n this.handleSoftErrors(error);\r\n }\r\n }\r\n\r\n public isServerError(error: HttpErrorResponse): boolean {\r\n const serverErrorCodes = [\r\n ErrorStatusCode.InternalServerError,\r\n ErrorStatusCode.ServiceUnavailable,\r\n ErrorStatusCode.BadGateway,\r\n ErrorStatusCode.RequestTimeout,\r\n ];\r\n\r\n return serverErrorCodes.includes(error.status);\r\n }\r\n\r\n private isUnauthenticated(error: HttpErrorResponse): boolean {\r\n return error.status === ErrorStatusCode.Unauthenticated;\r\n }\r\n\r\n private isUnauthorizedAccess(error: HttpErrorResponse): boolean {\r\n return error.status === ErrorStatusCode.UnauthorizedAccess;\r\n }\r\n\r\n private isNetworkUnavailable(error: HttpErrorResponse): boolean {\r\n return error.status === ErrorStatusCode.NetworkUnavailable;\r\n }\r\n\r\n private handleServerError(\r\n error: HttpErrorResponse,\r\n request: HttpRequest<any>\r\n ) {\r\n if (this.isPageLevelError(error, request)) {\r\n this.publishGlobalError(error);\r\n } else if (this.isComponentLevelError(error, request)) {\r\n this.publishLocalError(error, request);\r\n }\r\n }\r\n\r\n private publishGlobalError(error: HttpErrorResponse) {\r\n this.globalError$.next(error);\r\n }\r\n\r\n private publishLocalError(\r\n error: HttpErrorResponse,\r\n request: HttpRequest<any>\r\n ) {\r\n this.localError$.next({ error, request });\r\n }\r\n\r\n private isPageLevelError(\r\n error: HttpErrorResponse,\r\n request: HttpRequest<any>\r\n ): boolean {\r\n const requestDetails: RequestDetails = {\r\n method: request.method,\r\n path: request.url,\r\n query: this.utilService.extractQueryParams(request.params),\r\n body: request.body,\r\n pageCode: this.getPageCode(),\r\n };\r\n\r\n return this.pageLevelApiConfig.some((apiConfig) =>\r\n this.isApiConfigMatching(apiConfig, requestDetails)\r\n );\r\n }\r\n\r\n private isComponentLevelError(\r\n error: HttpErrorResponse,\r\n request: HttpRequest<any>\r\n ): boolean {\r\n const requestDetails: RequestDetails = {\r\n method: request.method,\r\n path: request.url,\r\n query: this.utilService.extractQueryParams(request.params),\r\n body: request.body,\r\n };\r\n\r\n return this.componentLevelApiConfig.some((apiConfig) =>\r\n this.isApiConfigMatching(apiConfig, requestDetails)\r\n );\r\n }\r\n\r\n private getPageCode() {\r\n const currentRoute = this.router.routerState.snapshot.root.firstChild;\r\n return currentRoute?.data?.pageCode;\r\n }\r\n\r\n private isApiConfigMatching(\r\n apiConfig: any,\r\n requestDetails: RequestDetails\r\n ): boolean {\r\n return (\r\n this.utilService.isStringEqual(apiConfig.method, requestDetails.method) &&\r\n this.utilService.isSubstringInString(\r\n apiConfig.path,\r\n requestDetails.path\r\n ) &&\r\n this.utilService.isSubsetOfObject(\r\n apiConfig.query,\r\n requestDetails.query\r\n ) &&\r\n this.utilService.isSubsetOfArray(apiConfig.body, requestDetails.body) &&\r\n (!apiConfig.pageCodes ||\r\n this.utilService.isValueInArray(\r\n apiConfig.pageCodes,\r\n requestDetails.pageCode || ''\r\n ))\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RouterService {\r\n public redirectToLogin() {\r\n window.location.href =\r\n `https://${window.location.host}/` +\r\n 'signin?redirectURL=' +\r\n encodeURIComponent(window.location.href);\r\n }\r\n}\r\n","const BASE_URL = 'https://cdn.v-comply.com';\r\n\r\nexport const ASSETS = {\r\n VCOMPLY_LOGO: `${BASE_URL}/logo/prod/v-logo.svg`,\r\n ERROR_IMAGE: `${BASE_URL}/application/images/Error-page-illustration.svg`,\r\n COMPONENT_ERROR_IMAGE: `${BASE_URL}/application/images/sad-emoji-icon.svg`,\r\n};\r\n","import { ASSETS } from './assets.constants';\r\n\r\nexport const VCOMPLY_LOGO_URL = ASSETS.VCOMPLY_LOGO;\r\nexport const API_TIMEOUT_TIME = 1000 * 15;\r\nexport const ORGANISATION_NAME = 'VCOMPLY TECHNOLOGIES, INC.';\r\nexport const ERROR_FEATURE_FLAG = 'ff_error_handling';\r\n\r\nexport const ERROR_CONFIG = {\r\n PAGE_NOT_FOUND: {\r\n imageUrl: ASSETS.ERROR_IMAGE,\r\n title: 'Oops!',\r\n description: \"The page you're looking for doesn't exist.\",\r\n details: 'Please check the URL or return to the homepage.',\r\n buttonText: 'GO TO DASHBOARD',\r\n },\r\n\r\n UNAUTHORIZED: {\r\n imageUrl: ASSETS.ERROR_IMAGE,\r\n title: 'Oops!',\r\n description: \"You don't have permission to access this page.\",\r\n details: 'If you believe this is an error, please contact',\r\n email: 'help@v-comply.com',\r\n support: 'for support',\r\n buttonText: 'CONTACT SUPPORT',\r\n mail: 'mailto:help@v-comply.com',\r\n },\r\n\r\n SESSION_EXPIRED: {\r\n heading: 'Session Expired!',\r\n description:\r\n 'Your session has expired. Please log in again to continue using the app.',\r\n buttonText: 'LOGIN',\r\n },\r\n\r\n CHUNK_UNAVAILABLE: {\r\n heading: 'Oops!',\r\n description:\r\n 'Something went wrong. Please refresh the page or try again later.',\r\n buttonText: 'REFRESH',\r\n },\r\n\r\n SERVER_ERROR: {\r\n imageUrl: ASSETS.ERROR_IMAGE,\r\n title: 'Oops!',\r\n description: 'We are unable to load the data.',\r\n details: 'Please refresh this page or try again later.',\r\n buttonText: 'REFRESH',\r\n snackBarMessage: `Oops! Something went wrong. Please try again later.`,\r\n },\r\n\r\n COMPONENT_LEVEL_SERVER_ERROR: {\r\n imageUrl: ASSETS.COMPONENT_ERROR_IMAGE,\r\n title: 'Oops!',\r\n description: 'We are unable to load the data.',\r\n details: 'Please refresh this section or try again later.',\r\n buttonText: 'RETRY',\r\n },\r\n\r\n NETWORK_UNAVAILABLE: {\r\n offlineMessage:\r\n \"You're currently offline. Please check your internet connection and try again.\",\r\n },\r\n};\r\n\r\nexport const REDIRECTION_URL = {\r\n COMPLIANCE_DASHBOARD: '/global-dashboard/compliance_dashboard',\r\n RISK_DASHBOARD: '/global-dashboard/risk_dashboard?module=risk',\r\n POLICY_DASHBOARD: '/global-dashboard/policy_dashboard?module=policy',\r\n ISSUE_DASHBOARD: '/global-dashboard/issue_dashboard?module=issue',\r\n};\r\n\r\nexport const MODULE_NAMES = {\r\n RISK: 'risk',\r\n POLICY: 'policy',\r\n ISSUE: 'issue',\r\n};\r\n\r\nexport const MODAL_ERROR_TYPES = {\r\n CHUNK_NOT_FOUND: 'chunk_not_found',\r\n SESSION_EXPIRED: 'session_expired',\r\n};\r\n\r\nexport const ALT_IMAGE_TEXT = {\r\n ERROR_IMAGE: 'Error Image',\r\n VCOMPLY_LOGO: 'VComply',\r\n};\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { SnackBarService } from '../snack-bar.service';\r\n\r\n@Component({\r\n selector: 'app-snack-bar',\r\n templateUrl: './snack-bar.component.html',\r\n styleUrls: ['./snack-bar.component.less'],\r\n})\r\nexport class SnackBarComponent implements OnInit, OnDestroy {\r\n show = false;\r\n message = '--';\r\n icon = '&#xe914;';\r\n type = 'alert';\r\n icons: any = {\r\n success: '&#xe93d;',\r\n warning: '&#xe914;',\r\n info: '&#xe932;',\r\n alert: '&#xe914;',\r\n error: '&#xeaae;',\r\n };\r\n snackbarSubscription!: Subscription;\r\n constructor(private snackbarService: SnackBarService) {}\r\n\r\n ngOnInit(): void {\r\n this.snackbarSubscription = this.snackbarService.snackbarState.subscribe(\r\n (state) => {\r\n if (state.icon && Object.keys(this.icons).includes(state?.icon)) {\r\n this.icon = this.icons[state.icon];\r\n this.type = state?.icon;\r\n }\r\n this.message = state.message;\r\n this.show = state.show;\r\n }\r\n );\r\n }\r\n\r\n setAutoClose() {\r\n setTimeout(() => {\r\n this.show = false;\r\n this.close();\r\n }, 3000);\r\n }\r\n close() {\r\n this.show = false;\r\n this.snackbarService.hide();\r\n }\r\n ngOnDestroy() {\r\n this.snackbarSubscription.unsubscribe();\r\n }\r\n}\r\n","<div class=\"workflow-snackbar\" *ngIf=\"show\">\r\n <div class=\"workflow-snackbar-inner\">\r\n <div class=\"workflow-snackbarText\">\r\n <!-- &#xe914; -->\r\n <i class=\"icons\" [class]=\"type\" [innerHTML]=\"icon\"></i> <span [innerHTML]=\"message\">{{ message }}</span>\r\n </div>\r\n <button (click)=\"close()\">[ <span>Close</span> ]</button>\r\n </div>\r\n </div>","import { Component } from '@angular/core';\r\n\r\nimport {\r\n ERROR_CONFIG,\r\n VCOMPLY_LOGO_URL,\r\n ORGANISATION_NAME,\r\n ALT_IMAGE_TEXT,\r\n} from '../../constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-unauthorized',\r\n template: `\r\n <div class=\"errorPage\">\r\n <div class=\"errorPage-top\">\r\n <img\r\n [ngSrc]=\"VcomplyLogo\"\r\n [alt]=\"altImageText.VCOMPLY_LOGO\"\r\n width=\"24\"\r\n height=\"24\"\r\n />\r\n </div>\r\n <div class=\"errorPage-container\">\r\n <div class=\"errorPage-inner\">\r\n <div class=\"errorPage-inner-image\">\r\n <img\r\n [ngSrc]=\"errorConfig.imageUrl\"\r\n [alt]=\"altImageText.ERROR_IMAGE\"\r\n width=\"246\"\r\n height=\"178\"\r\n />\r\n </div>\r\n <div class=\"errorPage-inner-right\">\r\n <div class=\"errorPage-heading\">{{ errorConfig.title }}</div>\r\n <div class=\"errorPage-text\">{{ errorConfig.description }}</div>\r\n <div class=\"errorPage-details\">\r\n {{ errorConfig.details }}\r\n <a [href]=\"'mailto:' + errorConfig.email\">{{\r\n errorConfig.email\r\n }}</a>\r\n {{ errorConfig.support }}.\r\n </div>\r\n <button class=\"errorPage-btn\" (click)=\"redirectToSupport()\">\r\n {{ errorConfig.buttonText }} <i class=\"icons\">&#xe96a;</i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"errorPage-copyright\">\r\n &copy;&nbsp;{{ currentYear }}, {{ organisationName }}\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['../common-error-page.component.less'],\r\n})\r\nexport class UnauthorizedComponent {\r\n currentYear = new Date().getFullYear();\r\n errorConfig = ERROR_CONFIG.UNAUTHORIZED;\r\n VcomplyLogo = VCOMPLY_LOGO_URL;\r\n altImageText = ALT_IMAGE_TEXT;\r\n organisationName = ORGANISATION_NAME;\r\n\r\n public redirectToSupport() {\r\n window.location.href = this.errorConfig.mail;\r\n }\r\n}\r\n","export class DialogConfig<D = any> {\r\n data?: D;\r\n position?: any;\r\n background?: any;\r\n pointer?: any;\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { DialogConfig } from '../../../ui-kit/dialog/dialog-config';\r\n\r\nimport { AuthorizerService } from '@vcomply/authorizer';\r\nimport { RouterService } from '../../services/router.service';\r\n\r\nimport { DialogData, ModalErrorType } from '../../types/global-error.types';\r\nimport { MODAL_ERROR_TYPES } from '../../constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-modal',\r\n template: ` <div class=\"error-dialog-box\">\r\n <div class=\"error-dialog-box-top\">{{ data.heading }}</div>\r\n <div class=\"error-dialog-box-mid\">\r\n {{ data.description }}\r\n </div>\r\n <div class=\"error-dialog-box-bottom\">\r\n <button (click)=\"onContinueAction()\" class=\"logIn-btn\">\r\n {{ data.buttonText }}\r\n </button>\r\n </div>\r\n </div>`,\r\n styleUrls: ['./error-modal.component.less'],\r\n})\r\nexport class ErrorModalComponent {\r\n errorTypes = MODAL_ERROR_TYPES;\r\n\r\n @Input() errorType: ModalErrorType | undefined;\r\n\r\n data: DialogData = {\r\n heading: 'Message',\r\n description: 'Description',\r\n buttonText: 'Click Action',\r\n };\r\n\r\n constructor(\r\n private authService: AuthorizerService,\r\n private dialogConfig: DialogConfig,\r\n private routerService: RouterService\r\n ) {\r\n this.setDataConfig();\r\n }\r\n\r\n private setDataConfig() {\r\n this.data = this.dialogConfig.data?.errorConfig;\r\n this.errorType = this.dialogConfig.data?.errorType;\r\n }\r\n\r\n public onContinueAction() {\r\n switch (this.errorType) {\r\n case this.errorTypes.SESSION_EXPIRED:\r\n this.authService.logout();\r\n this.routerService.redirectToLogin();\r\n break;\r\n\r\n case this.errorTypes.CHUNK_NOT_FOUND:\r\n window.location.reload();\r\n break;\r\n }\r\n }\r\n}\r\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appInsertion]',\r\n})\r\nexport class InsertionDirective {\r\n constructor(public viewContainerRef: ViewContainerRef) {}\r\n}\r\n","import { Observable, Subject } from 'rxjs';\r\n\r\nexport class DialogRef {\r\n private readonly afterDialogClosed = new Subject<any>();\r\n afterClosed: Observable<any> = this.afterDialogClosed.asObservable();\r\n constructor() {}\r\n\r\n close(result?: any) {\r\n // debugger\r\n this.afterDialogClosed.next(result);\r\n document.body.style.overflow = 'auto';\r\n }\r\n}\r\n","import { Component, Type, ComponentFactoryResolver, ViewChild, OnDestroy, ComponentRef, AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';\r\nimport { InsertionDirective } from './insertion.directive';\r\nimport { Subject } from 'rxjs';\r\nimport { DialogRef } from './dialog-ref';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { NavigationEnd, NavigationError, NavigationStart, Router, ROUTER_CONFIGURATION } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.css'],\r\n})\r\nexport class DialogComponent implements AfterViewInit, OnDestroy, OnInit {\r\n componentRef!: ComponentRef<any>;\r\n position: any;\r\n background: any;\r\n pointer: any;\r\n @ViewChild(InsertionDirective, { static: true })\r\n insertionPoint!: InsertionDirective;\r\n animation = true;\r\n\r\n private readonly onDialogClose = new Subject<any>();\r\n public onClose = this.onDialogClose.asObservable();\r\n\r\n childComponentType!: Type<any>;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private cd: ChangeDetectorRef,\r\n private dialogRef: DialogRef,\r\n public config: DialogConfig,\r\n private router: Router\r\n ) {\r\n // this.componentRef = this.componentRef;\r\n // this.animate = this.animate;\r\n // this.insertionPoint = this.insertionPoint;\r\n // this.childComponentType = this.childComponentType;\r\n }\r\n ngOnInit() {\r\n this.position = this.config.position;\r\n this.background = this.config.background;\r\n document.body.style.overflow = 'hidden';\r\n setTimeout(() => {\r\n this.animation = false;\r\n }, 200);\r\n this.routeAction();\r\n }\r\n\r\n routeAction() {\r\n this.router.events.subscribe((event: any) => {\r\n if (event instanceof NavigationStart) {\r\n // Show loading indicator\r\n }\r\n if (event instanceof NavigationEnd) {\r\n // Hide loading indicator\r\n this.dialogRef.close();\r\n }\r\n if (event instanceof NavigationError) {\r\n // Hide loading indicator\r\n // Present error to user\r\n }\r\n });\r\n }\r\n ngAfterViewInit() {\r\n this.loadChildComponent(this.childComponentType);\r\n this.cd.detectChanges();\r\n }\r\n\r\n onOverlayClicked(evt: MouseEvent) {\r\n // this.dialogRef.close();\r\n }\r\n\r\n onDialogClicked(evt: MouseEvent) {\r\n evt.stopPropagation();\r\n }\r\n\r\n loadChildComponent(componentType: Type<any>) {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\r\n\r\n const viewContainerRef = this.insertionPoint.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n this.componentRef = viewContainerRef.createComponent(componentFactory);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.componentRef) {\r\n this.componentRef.destroy();\r\n }\r\n }\r\n\r\n close(data?: any) {\r\n this.onDialogClose.next(data);\r\n document.body.style.overflow = 'auto';\r\n }\r\n}\r\n","<div\r\n class=\"overlay\"\r\n (click)=\"onOverlayClicked($event)\"\r\n [ngClass]=\"{\r\n top: position === 'TOP',\r\n right: position === 'RIGHT',\r\n bottom: position === 'BOTTOM',\r\n left: position === 'LEFT',\r\n center: position === 'CENTER',\r\n black: background === 'black',\r\n whiteBlur: background === 'whiteBlur'\r\n }\" [class.pointer-none]=\"pointer === 'none'\"\r\n>\r\n <div\r\n class=\"dialog\"\r\n [class.animate]=\"animation\"\r\n (click)=\"onDialogClicked($event)\"\r\n [ngClass]=\"{\r\n top: position === 'TOP',\r\n right: position === 'RIGHT',\r\n bottom: position === 'BOTTOM',\r\n left: position === 'LEFT',\r\n center: position === 'CENTER'\r\n }\"\r\n >\r\n <ng-template appInsertion></ng-template>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DialogComponent } from './dialog.component';\r\nimport { InsertionDirective } from './insertion.directive';\r\nimport { DialogRef } from './dialog-ref';\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [DialogComponent, InsertionDirective],\r\n providers: [DialogRef],\r\n exports:[DialogComponent]\r\n})\r\nexport class DialogModule {}\r\n","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\r\n\r\nexport class DialogInjector implements Injector {\r\n constructor(private parentDialogInjector: Injector, private dialogAdditionalTokens: WeakMap<any, any>) {}\r\n\r\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;\r\n // get(token: any, notFoundValue?: any){return; }\r\n get(token: any, notFoundValue?: any) {\r\n const value = this.dialogAdditionalTokens.get(token);\r\n if (value) {\r\n return value;\r\n }\r\n return this.parentDialogInjector.get<any>(token, notFoundValue);\r\n }\r\n}\r\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, Type, EmbeddedViewRef, ComponentRef } from '@angular/core';\r\nimport { DialogModule } from './dialog.module';\r\nimport { DialogComponent } from './dialog.component';\r\nimport { DialogInjector } from './dialog-injector';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { DialogRef } from './dialog-ref';\r\n\r\n@Injectable({\r\n providedIn: DialogModule,\r\n})\r\nexport class DialogService {\r\n dialogComponentRef!: ComponentRef<DialogComponent>;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\r\n\r\n public open(componentType: Type<any>, config: DialogConfig) {\r\n const dialogRef = this.appendDialogComponentToBody(config);\r\n\r\n this.dialogComponentRef.instance.childComponentType = componentType;\r\n\r\n return dialogRef;\r\n }\r\n\r\n private appendDialogComponentToBody(config: DialogConfig) {\r\n const map = new WeakMap();\r\n map.set(DialogConfig, config);\r\n\r\n const dialogRef = new DialogRef();\r\n map.set(DialogRef, dialogRef);\r\n\r\n const sub = dialogRef.afterClosed.subscribe(() => {\r\n this.removeDialogComponentFromBody();\r\n sub.unsubscribe();\r\n });\r\n\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DialogComponent);\r\n const componentRef = componentFactory.create(new DialogInjector(this.injector, map));\r\n\r\n this.appRef.attachView(componentRef.hostView);\r\n\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n\r\n this.dialogComponentRef = componentRef;\r\n\r\n this.dialogComponentRef.instance.onClose.subscribe(() => {\r\n this.removeDialogComponentFromBody();\r\n });\r\n\r\n return dialogRef;\r\n }\r\n\r\n private removeDialogComponentFromBody() {\r\n this.appRef.detachView(this.dialogComponentRef.hostView);\r\n this.dialogComponentRef.destroy();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\n\r\nimport { DialogService } from '../../../ui-kit/dialog/dialog.service';\r\n\r\nimport { ERROR_CONFIG, MODAL_ERROR_TYPES } from '../../constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-session-expired',\r\n template: ``,\r\n})\r\nexport class SessionExpiredComponent implements OnInit {\r\n errorConfig = ERROR_CONFIG.SESSION_EXPIRED;\r\n errorTypes = MODAL_ERROR_TYPES;\r\n\r\n constructor(\r\n private dialogService: DialogService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.openSessionExpiredModal();\r\n }\r\n\r\n private openSessionExpiredModal() {\r\n this.dialogService.open(ErrorModalComponent, {\r\n data: {\r\n errorType: this.errorTypes.SESSION_EXPIRED,\r\n errorConfig: this.errorConfig,\r\n },\r\n position: 'center',\r\n background: 'whiteBlur',\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\r\n\r\nimport { DialogService } from '../../../ui-kit/dialog/dialog.service';\r\n\r\nimport {\r\n ERROR_CONFIG,\r\n MODAL_ERROR_TYPES,\r\n} from '../../constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-chunk-unavailable',\r\n template: ``,\r\n})\r\nexport class ChunkUnavailableComponent implements OnInit {\r\n errorConfig = ERROR_CONFIG.CHUNK_UNAVAILABLE;\r\n errorType = MODAL_ERROR_TYPES;\r\n\r\n constructor(private dialogService: DialogService) {}\r\n\r\n ngOnInit() {\r\n this.openSessionExpiredModal();\r\n }\r\n\r\n private openSessionExpiredModal() {\r\n this.dialogService.open(ErrorModalComponent, {\r\n data: {\r\n errorType: this.errorType.CHUNK_NOT_FOUND,\r\n errorConfig: this.errorConfig,\r\n },\r\n position: 'center',\r\n background: 'whiteBlur',\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport {\r\n ERROR_CONFIG,\r\n VCOMPLY_LOGO_URL,\r\n ALT_IMAGE_TEXT,\r\n} from '../../constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-server-error',\r\n template: `\r\n <div class=\"errorPage\">\r\n <div class=\"errorPage-top\">\r\n <img\r\n [ngSrc]=\"VcomplyLogo\"\r\n [alt]=\"altImageText.VCOMPLY_LOGO\"\r\n width=\"24\"\r\n height=\"24\"\r\n />\r\n </div>\r\n <div class=\"errorPage-container\">\r\n <div class=\"errorPage-inner\">\r\n <div class=\"errorPage-inner-image\">\r\n <img\r\n [ngSrc]=\"errorConfig.imageUrl\"\r\n [alt]=\"altImageText.ERROR_IMAGE\"\r\n width=\"246\"\r\n height=\"178\"\r\n />\r\n </div>\r\n <div class=\"errorPage-inner-right\">\r\n <div class=\"errorPage-heading\">{{ errorConfig.title }}</div>\r\n <div class=\"errorPage-text\">{{ errorConfig.description }}</div>\r\n <div class=\"errorPage-details\">{{ errorConfig.details }}</div>\r\n <button class=\"errorPage-btn\" (click)=\"refreshPage()\">\r\n {{ errorConfig.buttonText }} <i class=\"icons\">&#xe92b;</i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['../common-error-page.component.less'],\r\n})\r\nexport class ServerErrorComponent {\r\n errorConfig = ERROR_CONFIG.SERVER_ERROR;\r\n VcomplyLogo = VCOMPLY_LOGO_URL;\r\n altImageText = ALT_IMAGE_TEXT;\r\n\r\n public refreshPage() {\r\n window.location.reload();\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { GlobalErrorService } from './shared/services/global-error.service';\r\nimport { SnackBarService } from './ui-kit/snack-bar/snack-bar.service';\r\n\r\nimport { ErrorStatusCode } from './shared/types/global-error.types';\r\nimport { ERROR_CONFIG } from './shared/constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-handlers',\r\n template: `\r\n <app-snack-bar></app-snack-bar>\r\n <lib-vc-error-session-expired\r\n *ngIf=\"sessionExpired\"\r\n ></lib-vc-error-session-expired>\r\n <lib-vc-error-unauthorized *ngIf=\"unauthorized\"></lib-vc-error-unauthorized>\r\n <lib-vc-error-chunk-unavailable\r\n *ngIf=\"chunkUnavailable\"\r\n ></lib-vc-error-chunk-unavailable>\r\n <lib-vc-error-server-error *ngIf=\"serverError\"></lib-vc-error-server-error>\r\n `,\r\n})\r\nexport class VcErrorHandlersComponent {\r\n private errorConfig = ERROR_CONFIG.NETWORK_UNAVAILABLE;\r\n\r\n unauthorized: boolean = false;\r\n sessionExpired: boolean = false;\r\n chunkUnavailable: boolean = false;\r\n serverError: boolean = false;\r\n isOnline: boolean = navigator.onLine;\r\n\r\n constructor(\r\n private errorService: GlobalErrorService,\r\n private snackBarService: SnackBarService\r\n ) {\r\n this.subscribeGlobalError();\r\n }\r\n\r\n ngOnInit() {\r\n this.subscribeNetworkDetection();\r\n }\r\n\r\n ngOnDestroy() {\r\n window.removeEventListener('online', this.onNetworkOnline);\r\n window.removeEventListener('offline', this.onNetworkOffline);\r\n }\r\n\r\n private subscribeGlobalError() {\r\n this.errorService.globalError$.subscribe((error: HttpErrorResponse) => {\r\n this.handleError(error);\r\n });\r\n }\r\n\r\n private handleError(error: HttpErrorResponse) {\r\n const errorHandlers: { [key: number]: () => void } = {\r\n [ErrorStatusCode.Unauthenticated]: () => (this.sessionExpired = true),\r\n [ErrorStatusCode.UnauthorizedAccess]: () => (this.unauthorized = true),\r\n [ErrorStatusCode.JSChunkUnavailable]: () => (this.chunkUnavailable = true),\r\n [ErrorStatusCode.NetworkUnavailable]: () => this.handleNetworkError(),\r\n };\r\n\r\n if (errorHandlers[error.status]) {\r\n errorHandlers[error.status]();\r\n } else if (this.errorService.isServerError(error)) {\r\n this.serverError = true;\r\n }\r\n }\r\n\r\n private subscribeNetworkDetection() {\r\n window.addEventListener('online', this.onNetworkOnline);\r\n window.addEventListener('offline', this.onNetworkOffline);\r\n }\r\n\r\n private onNetworkOnline = () => {\r\n this.isOnline = true;\r\n this.hideSnackBar();\r\n };\r\n\r\n private onNetworkOffline = () => {\r\n this.isOnline = false;\r\n this.showOfflineSnackBar();\r\n };\r\n\r\n private handleNetworkError() {\r\n if (!this.isOnline) {\r\n this.showOfflineSnackBar();\r\n }\r\n }\r\n\r\n private showOfflineSnackBar() {\r\n this.snackBarService.show(this.errorConfig.offlineMessage, 'error');\r\n }\r\n\r\n private hideSnackBar() {\r\n this.snackBarService.hide();\r\n }\r\n}\r\n","import { Component, Optional } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport {\r\n ERROR_CONFIG,\r\n VCOMPLY_LOGO_URL,\r\n REDIRECTION_URL,\r\n ORGANISATION_NAME,\r\n ALT_IMAGE_TEXT,\r\n MODULE_NAMES,\r\n} from '../../constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-page-not-found',\r\n template: `\r\n <div class=\"errorPage\">\r\n <div class=\"errorPage-top\">\r\n <img\r\n [ngSrc]=\"VcomplyLogo\"\r\n [alt]=\"altImageText.VCOMPLY_LOGO\"\r\n width=\"24\"\r\n height=\"24\"\r\n />\r\n </div>\r\n <div class=\"errorPage-container\">\r\n <div class=\"errorPage-inner\">\r\n <div class=\"errorPage-inner-image\">\r\n <img\r\n [ngSrc]=\"errorConfig.imageUrl\"\r\n [alt]=\"altImageText.ERROR_IMAGE\"\r\n width=\"246\"\r\n height=\"178\"\r\n />\r\n </div>\r\n <div class=\"errorPage-inner-right\">\r\n <div class=\"errorPage-heading\">{{ errorConfig.title }}</div>\r\n <div class=\"errorPage-text\">{{ errorConfig.description }}</div>\r\n <div class=\"errorPage-details\">{{ errorConfig.details }}</div>\r\n <button class=\"errorPage-btn\" (click)=\"redirectToHome()\">\r\n {{ errorConfig.buttonText }} <i class=\"icons\">&#xe96a;</i>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"errorPage-copyright\">\r\n &copy;&nbsp;{{ currentYear }}, {{ organisationName }}\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['../common-error-page.component.less'],\r\n})\r\nexport class PageNotFoundComponent {\r\n errorConfig = ERROR_CONFIG.PAGE_NOT_FOUND;\r\n VcomplyLogo = VCOMPLY_LOGO_URL;\r\n altImageText = ALT_IMAGE_TEXT;\r\n currentYear = new Date().getFullYear();\r\n redirectionUrl = REDIRECTION_URL;\r\n organisationName = ORGANISATION_NAME;\r\n\r\n constructor(private route: ActivatedRoute) {}\r\n\r\n public redirectToHome() {\r\n const module_name = this.route.snapshot.data['page_path'];\r\n let targetPath = REDIRECTION_URL.COMPLIANCE_DASHBOARD;\r\n\r\n switch (module_name) {\r\n case MODULE_NAMES.RISK:\r\n targetPath = REDIRECTION_URL.RISK_DASHBOARD;\r\n break;\r\n case MODULE_NAMES.POLICY:\r\n targetPath = REDIRECTION_URL.POLICY_DASHBOARD;\r\n break;\r\n case MODULE_NAMES.ISSUE:\r\n targetPath = REDIRECTION_URL.ISSUE_DASHBOARD;\r\n break;\r\n\r\n default:\r\n targetPath = REDIRECTION_URL.COMPLIANCE_DASHBOARD;\r\n break;\r\n }\r\n\r\n window.location.replace(targetPath);\r\n }\r\n}\r\n","import { Component, EventEmitter, Output } from '@angular/core';\r\n\r\nimport {\r\n ERROR_CONFIG,\r\n ALT_IMAGE_TEXT,\r\n} from '../../constants/error-handling.constants';\r\n\r\n@Component({\r\n selector: 'lib-vc-error-component-server-error',\r\n template: `\r\n <div class=\"serverError\">\r\n <div class=\"serverError-inner\">\r\n <div class=\"serverError-inner-image\">\r\n <img\r\n [ngSrc]=\"errorConfig.imageUrl\"\r\n [alt]=\"altImageText.ERROR_IMAGE\"\r\n width=\"106\"\r\n height=\"76\"\r\n />\r\n </div>\r\n <div class=\"serverError-inner-bottom\">\r\n <div class=\"serverError-heading\">{{ errorConfig.title }}</div>\r\n <div class=\"serverError-text\">{{ errorConfig.description }}</div>\r\n <div class=\"serverError-details\">{{ errorConfig.details }}</div>\r\n <button class=\"serverError-btn\" (click)=\"onClick.emit(true)\">\r\n {{ errorConfig.buttonText }}\r\n <i class=\"icons\">&#xe92b;</i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['./component-level-server-error.component.less'],\r\n})\r\nexport class ComponentLevelServerErrorComponent {\r\n errorConfig = ERROR_CONFIG.COMPONENT_LEVEL_SERVER_ERROR;\r\n altImageText = ALT_IMAGE_TEXT;\r\n\r\n @Output() onClick = new EventEmitter<boolean>();\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SnackBarComponent } from './snack-bar/snack-bar.component';\r\n\r\n@NgModule({\r\n declarations: [SnackBarComponent],\r\n imports: [CommonModule],\r\n exports: [SnackBarComponent],\r\n})\r\nexport class SnackBarModule {}\r\n","export class Configurations {\r\n public sentryConfig: any;\r\n public envConfig: any;\r\n\r\n constructor() {\r\n this.sentryConfig = {};\r\n this.envConfig = {};\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { retry } from 'rxjs/operators';\r\nimport { AuthorizerService } from '@vcomply/authorizer';\r\nimport { Subscription } from 'rxjs';\r\nimport { Configurations } from '../configuration';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FeatureFlagService {\r\n environment!: any;\r\n flagFetchError = false;\r\n featuresMap: any = {};\r\n AWSFlags: any = {};\r\n flagSubscription!: Subscription;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private authorizer: AuthorizerService,\r\n @Optional() config?: Configurations\r\n ) {\r\n this.environment = config?.envConfig;\r\n }\r\n\r\n fetchFlags() {\r\n return this.http.get(this.environment.baseUrl + 'features').pipe(retry(2));\r\n }\r\n\r\n loadConfig() {\r\n if (this.flagSubscription) {\r\n this.flagSubscription.unsubscribe();\r\n }\r\n return new Promise((resolve, reject) => {\r\n this.flagSubscription = this.fetchFlags().subscribe({\r\n next: (res: any) => {\r\n try {\r\n resolve(true);\r\n this.flagFetchError = false;\r\n this.AWSFlags = res;\r\n this.buildFeatureFlags(this.authorizer.getOrganizationId());\r\n } catch (error) {\r\n reject(error);\r\n }\r\n },\r\n error: (err: any) => {\r\n reject(true);\r\n this.flagFetchError = true;\r\n console.log('An error occurred while fetching feature flags', err);\r\n },\r\n });\r\n });\r\n }\r\n\r\n buildFeatureFlags(orgId: any) {\r\n orgId = orgId?.toString();\r\n const enabledFeatures: any = {};\r\n Object.keys(this.AWSFlags).forEach((flag: string) => {\r\n const flagObj = this.AWSFlags[flag];\r\n enabledFeatures[flag] = false;\r\n if (flagObj) {\r\n if (flagObj?.enabled && !flagObj.hasOwnProperty('enabledOrgIds')) {\r\n enabledFeatures[flag] = true;\r\n } else if (\r\n flagObj?.enabled &&\r\n flagObj.hasOwnProperty('enabledOrgIds') &&\r\n flagObj?.enabledOrgIds?.length > 0\r\n ) {\r\n if (flagObj?.enabledOrgIds?.includes(orgId)) {\r\n enabledFeatures[flag] = true;\r\n } else {\r\n enabledFeatures[flag] = false;\r\n }\r\n } else {\r\n if (flagObj?.enabled) {\r\n enabledFeatures[flag] = true;\r\n } else {\r\n enabledFeatures[flag] = false;\r\n }\r\n }\r\n } else {\r\n enabledFeatures[flag] = true;\r\n }\r\n });\r\n this.featuresMap = enabledFeatures;\r\n }\r\n\r\n isFeatureEnabled(featureFlag: string) {\r\n if (this.featuresMap.hasOwnProperty(featureFlag)) {\r\n return this.featuresMap[featureFlag];\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import {\r\n Directive,\r\n Input,\r\n OnInit,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from \"@angular/core\";\r\nimport { FeatureFlagService } from \"./feature-flag.service\";\r\n\r\n\r\n@Directive({\r\n selector: \"[featureFlag]\"\r\n})\r\nexport class FeatureFlagDirective implements OnInit {\r\n @Input() featureFlag!: string;\r\n constructor(\r\n private tpl: TemplateRef<any>,\r\n private vcr: ViewContainerRef,\r\n private featureFlagService: FeatureFlagService\r\n ) {}\r\n\r\n ngOnInit() {\r\n const isEnabled = this.featureFlagService.isFeatureEnabled(this.featureFlag);\r\n if (isEnabled) {\r\n this.vcr.createEmbeddedView(this.tpl);\r\n }\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FeatureFlagDirective } from './feature-flag.directive';\r\n\r\n@NgModule({\r\n declarations: [FeatureFlagDirective],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports:[FeatureFlagDirective]\r\n})\r\nexport class FeatureFlagModule { }\r\n","import { ErrorHandler, Injectable, Optional } from '@angular/core';\r\nimport * as Sentry from '@sentry/angular-ivy';\r\nimport { Configurations } from '../../configuration';\r\n\r\nimport { AuthorizerService } from '@vcomply/authorizer';\r\nimport { GlobalErrorService } from '../services/global-error.service';\r\n\r\nimport { ErrorStatusCode } from '../types/global-error.types';\r\n\r\n@Injectable()\r\nexport class SentryErrorHandler implements ErrorHandler {\r\n constructor(\r\n private authorizerService: AuthorizerService,\r\n private errorService: GlobalErrorService,\r\n @Optional() config?: Configurations\r\n ) {\r\n if (config?.sentryConfig) {\r\n const SENTRY_CONFIG = config.sentryConfig;\r\n Sentry.init({\r\n dsn: SENTRY_CONFIG?.DSN,\r\n integrations: [\r\n new Sentry.BrowserTracing({\r\n tracePropagationTargets: SENTRY_CONFIG.ALLOW_ORIGIN,\r\n routingInstrumentation: Sentry.routingInstrumentation,\r\n }),\r\n ],\r\n tracesSampleRate: SENTRY_CONFIG.TRACES_SAMPLE_RATE,\r\n replaysSessionSampleRate: SENTRY_CONFIG.REPLAY_SESSION_SAMPLE_RATE,\r\n replaysOnErrorSampleRate: SENTRY_CONFIG.REPLAY_ON_ERROR_SAMPLE_RATE,\r\n });\r\n Sentry.setUser({ userDetails: this.authorizerService.getUser() });\r\n }\r\n }\r\n\r\n handleError(error: any) {\r\n const ERROR = error?.originalError || error;\r\n this.handleChunkError(ERROR);\r\n Sentry.captureException(ERROR);\r\n }\r\n\r\n handleChunkError(error: Error) {\r\n const chunkFailedMessage = /Loading chunk [\\d]+ failed/;\r\n if (chunkFailedMessage.test(error?.message)) {\r\n window.location.reload();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpErrorResponse,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, tap, timeout } from 'rxjs/operators';\r\n\r\nimport { GlobalErrorService } from '../services/global-error.service';\r\nimport { FeatureFlagService } from '../../featureFlag/feature-flag.service';\r\n\r\nimport {\r\n API_TIMEOUT_TIME,\r\n ERROR_FEATURE_FLAG,\r\n} from '../constants/error-handling.constants';\r\n\r\n@Injectable()\r\nexport class HttpReqInterceptor implements HttpInterceptor {\r\n constructor(\r\n private errorService: GlobalErrorService,\r\n private featureFlagService: FeatureFlagService\r\n ) {}\r\n\r\n intercept(\r\n req: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> {\r\n if (this.featureFlagService.isFeatureEnabled(ERROR_FEATURE_FLAG)) {\r\n return next.handle(req).pipe(\r\n timeout(API_TIMEOUT_TIME),\r\n tap((event: HttpEvent<any>) => {\r\n if (event instanceof HttpResponse) {\r\n this.errorService.handleSoftErrors(event);\r\n }\r\n }),\r\n catchError((error: HttpErrorResponse) => {\r\n this.errorService.handleError(error, req);\r\n return throwError(error);\r\n })\r\n );\r\n } else {\r\n return next.handle(req);\r\n }\r\n }\r\n}\r\n","import {\r\n ErrorHandler,\r\n InjectionToken,\r\n ModuleWithProviders,\r\n NgModule,\r\n} from '@angular/core';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\r\n\r\nimport { PageNotFoundComponent } from './shared/components/page-not-found/page-not-found.component';\r\nimport { VcErrorHandlersComponent } from './vc-error-handlers.component';\r\n\r\nimport { DialogModule } from './ui-kit/dialog/dialog.module';\r\nimport { SnackBarModule } from './ui-kit/snack-bar/snack-bar.module';\r\nimport { FeatureFlagModule } from './featureFlag/feature-flag.module';\r\n\r\nimport { FeatureFlagService } from './featureFlag/feature-flag.service';\r\n\r\nimport { BrowserOptions } from '@sentry/browser';\r\nimport { GlobalErrorHandler } from './shared/errorhandler/chunk-error.handler';\r\nimport { SentryErrorHandler } from './shared/errorhandler/sentry-error.handler';\r\nimport { Configurations } from './configuration';\r\nimport { UnauthorizedComponent } from './shared/components/unauthorized/unauthorized.component';\r\nimport { SessionExpiredComponent } from './shared/components/session-expired/session-expired.component';\r\nimport { ChunkUnavailableComponent } from './shared/components/chunk-unavailable/chunk-unavailable.component';\r\nimport { ServerErrorComponent } from './shared/components/server-error/server-error.component';\r\n\r\nimport { HttpReqInterceptor } from './shared/interceptors/http.interceptor';\r\nimport { ErrorModalComponent } from './shared/components/error-modal/error-modal.component';\r\nimport { ComponentLevelServerErrorComponent } from './shared/components/component-level-server-error/component-level-server-error.component';\r\n\r\nexport const FOR_ROOT_SENTRY_OPTIONS_TOKEN = new InjectionToken<BrowserOptions>(\r\n 'forRoot() SentryErrorHandler options'\r\n);\r\n\r\n@NgModule({\r\n declarations: [\r\n VcErrorHandlersComponent,\r\n PageNotFoundComponent,\r\n UnauthorizedComponent,\r\n SessionExpiredComponent,\r\n ChunkUnavailableComponent,\r\n ServerErrorComponent,\r\n ErrorModalComponent,\r\n ComponentLevelServerErrorComponent,\r\n ],\r\n imports: [CommonModule, DialogModule, SnackBarModule, FeatureFlagModule, NgOptimizedImage],\r\n exports: [\r\n VcErrorHandlersComponent,\r\n PageNotFoundComponent,\r\n UnauthorizedComponent,\r\n SessionExpiredComponent,\r\n ChunkUnavailableComponent,\r\n ServerErrorComponent,\r\n ErrorModalComponent,\r\n ComponentLevelServerErrorComponent,\r\n ],\r\n providers: [\r\n { provide: ErrorHandler, useClass: SentryErrorHandler },\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpReqInterceptor, multi: true },\r\n ],\r\n bootstrap: [VcErrorHandlersComponent],\r\n})\r\nexport class VcErrorHandlersModule {\r\n constructor(private loadConfig: FeatureFlagService) {\r\n this.loadConfig.loadConfig();\r\n }\r\n\r\n public static forRoot(\r\n environmentConfig: Configurations\r\n ): ModuleWithProviders<VcErrorHandlersModule> {\r\n return {\r\n ngModule: VcErrorHandlersModule,\r\n providers: [{ provide: Configurations, useValue: environmentConfig }],\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of vc-error-handlers\r\n */\r\n\r\nexport * from './lib/vc-error-handlers.service';\r\nexport * from './lib/shared/services/global-error.service';\r\nexport * from './lib/shared/services/router.service';\r\nexport * from './lib/vc-error-handlers.component';\r\nexport * from './lib/shared/components/page-not-found/page-not-found.component';\r\nexport * from './lib/shared/components/unauthorized/unauthorized.component';\r\nexport * from './lib/shared/components/chunk-unavailable/chunk-unavailable.component';\r\nexport * from './lib/shared/components/server-error/server-error.component';\r\nexport * from './lib/shared/components/session-expired/session-expired.component';\r\nexport * from './lib/shared/components/error-modal/error-modal.component';\r\nexport * from './lib/shared/components/component-level-server-error/component-level-server-error.component';\r\nexport * from './lib/vc-error-handlers.module';\r\nexport * from './lib/shared/interceptors/http.interceptor';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SnackBarService","i2.UtilsService","i2","i1","i2.DialogConfig","i3.RouterService","i1.DialogRef","i4","i5.InsertionDirective","i1.DialogService","i1.GlobalErrorService","i2.SnackBarService","i3","i4.SnackBarComponent","i5.UnauthorizedComponent","i6.SessionExpiredComponent","i7.ChunkUnavailableComponent","i8.ServerErrorComponent","i3.Configurations","i1.FeatureFlagService","i2.GlobalErrorService","i2.FeatureFlagService"],"mappings":"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"}
@@ -19,6 +19,7 @@ export declare class PageNotFoundComponent {
19
19
  COMPLIANCE_DASHBOARD: string;
20
20
  RISK_DASHBOARD: string;
21
21
  POLICY_DASHBOARD: string;
22
+ ISSUE_DASHBOARD: string;
22
23
  };
23
24
  organisationName: string;
24
25
  constructor(route: ActivatedRoute);
@@ -53,10 +53,12 @@ export declare const REDIRECTION_URL: {
53
53
  COMPLIANCE_DASHBOARD: string;
54
54
  RISK_DASHBOARD: string;
55
55
  POLICY_DASHBOARD: string;
56
+ ISSUE_DASHBOARD: string;
56
57
  };
57
58
  export declare const MODULE_NAMES: {
58
59
  RISK: string;
59
60
  POLICY: string;
61
+ ISSUE: string;
60
62
  };
61
63
  export declare const MODAL_ERROR_TYPES: {
62
64
  CHUNK_NOT_FOUND: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vc-error-handlers",
3
- "version": "0.2.9",
3
+ "version": "0.3.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": " 13.x || 14.x || 15.x || 16.x || 17.x || 18.x || 19.x || 20.x",
6
6
  "@angular/core": "13.x || 14.x || 15.x || 16.x || 17.x || 18.x || 19.x || 20.x"