aril 0.1.25 → 0.1.26

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.
Files changed (33) hide show
  1. package/esm2022/keycloak/src/auth.guard.mjs +5 -3
  2. package/esm2022/theme/layout/app/config/app.config.component.mjs +3 -5
  3. package/esm2022/theme/layout/app/layout/app.layout.component.mjs +3 -5
  4. package/esm2022/theme/layout/index.mjs +2 -1
  5. package/esm2022/ui/rolePicker/src/role-picker.component.mjs +3 -2
  6. package/esm2022/ui/table/src/table.component.mjs +38 -18
  7. package/esm2022/ui/userPicker/src/user-picker.component.mjs +3 -2
  8. package/esm2022/ui-business/rolePicker/src/role-picker.component.mjs +5 -4
  9. package/esm2022/ui-business/userPicker/src/user-picker.component.mjs +4 -3
  10. package/fesm2022/aril-keycloak.mjs +4 -2
  11. package/fesm2022/aril-keycloak.mjs.map +1 -1
  12. package/fesm2022/aril-theme-layout.mjs +115 -117
  13. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  14. package/fesm2022/aril-ui-business-rolePicker.mjs +4 -3
  15. package/fesm2022/aril-ui-business-rolePicker.mjs.map +1 -1
  16. package/fesm2022/aril-ui-business-userPicker.mjs +3 -2
  17. package/fesm2022/aril-ui-business-userPicker.mjs.map +1 -1
  18. package/fesm2022/aril-ui-rolePicker.mjs +2 -1
  19. package/fesm2022/aril-ui-rolePicker.mjs.map +1 -1
  20. package/fesm2022/aril-ui-table.mjs +37 -17
  21. package/fesm2022/aril-ui-table.mjs.map +1 -1
  22. package/fesm2022/aril-ui-userPicker.mjs +2 -1
  23. package/fesm2022/aril-ui-userPicker.mjs.map +1 -1
  24. package/package.json +137 -134
  25. package/theme/layout/app/config/app.config.component.html +8 -4
  26. package/theme/layout/app/layout/app.layout.component.html +1 -1
  27. package/theme/layout/app/layout/app.layout.component.ts +0 -2
  28. package/theme/layout/index.d.ts +1 -0
  29. package/theme/layout/index.ts +1 -1
  30. package/theme/styles/theme/dark/lena/theme.scss +14 -0
  31. package/theme/styles/theme/dark/thor/theme.scss +14 -0
  32. package/theme/styles/theme/dark/yeap/theme.scss +14 -0
  33. package/ui/table/src/table.component.d.ts +8 -3
@@ -11,11 +11,13 @@ export class AuthGuard extends KeycloakAuthGuard {
11
11
  }
12
12
  async isAccessAllowed(route, state) {
13
13
  try {
14
- if (this.keycloak.isTokenExpired()) {
15
- await this.keycloak.updateToken();
14
+ if (this.keycloak.isTokenExpired(5)) {
15
+ console.log("Token expired, updating token");
16
+ await this.keycloak.updateToken(5);
16
17
  }
17
18
  }
18
19
  catch (error) {
20
+ console.error('Error while updating token', error);
19
21
  await this.keycloak.login({
20
22
  redirectUri: window.location.origin + state.url
21
23
  });
@@ -47,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
47
49
  providedIn: 'root'
48
50
  }]
49
51
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.KeycloakService }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLdEUsTUFBTSxPQUFPLFNBQVUsU0FBUSxpQkFBaUI7SUFDL0MsWUFDNkIsTUFBYyxFQUN2QixRQUF5QjtRQUU1QyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBSEksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUc3QyxDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3JGLElBQUksQ0FBQztZQUNKLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsRUFBQyxDQUFDO2dCQUNsQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkMsQ0FBQztRQUNBLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRzthQUNoRCxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNaLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRzthQUMvQyxDQUFDLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztZQUMxRCxPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7O1lBQU0sT0FBTyxJQUFJLENBQUM7SUFDcEIsQ0FBQzs4R0F0Q1csU0FBUztrSEFBVCxTQUFTLGNBRlQsTUFBTTs7MkZBRU4sU0FBUztrQkFIckIsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBLZXljbG9ha0F1dGhHdWFyZCwgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQgZXh0ZW5kcyBLZXljbG9ha0F1dGhHdWFyZCB7XHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcblx0XHRwcm90ZWN0ZWQgcmVhZG9ubHkga2V5Y2xvYWs6IEtleWNsb2FrU2VydmljZVxyXG5cdCkge1xyXG5cdFx0c3VwZXIocm91dGVyLCBrZXljbG9hayk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYXN5bmMgaXNBY2Nlc3NBbGxvd2VkKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0aWYodGhpcy5rZXljbG9hay5pc1Rva2VuRXhwaXJlZCgpKXtcclxuXHRcdFx0XHRhd2FpdCB0aGlzLmtleWNsb2FrLnVwZGF0ZVRva2VuKCk7IFxyXG5cdFx0XHR9XHJcblx0XHQgIH0gY2F0Y2ggKGVycm9yKSB7XHJcblx0XHRcdGF3YWl0IHRoaXMua2V5Y2xvYWsubG9naW4oe1xyXG5cdFx0XHQgIHJlZGlyZWN0VXJpOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgc3RhdGUudXJsXHJcblx0XHRcdH0pO1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7IFxyXG5cdFx0ICB9XHJcblx0XHQgIFxyXG5cdFx0aWYgKCF0aGlzLmF1dGhlbnRpY2F0ZWQpIHtcclxuXHRcdFx0YXdhaXQgdGhpcy5rZXljbG9hay5sb2dpbih7XHJcblx0XHRcdFx0cmVkaXJlY3RVcmk6IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyBzdGF0ZS51cmxcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgcmVxdWlyZWRSb2xlcyA9IHJvdXRlLmRhdGFbJ3JvbGVzJ107XHJcblxyXG5cdFx0aWYgKCFBcnJheS5pc0FycmF5KHJlcXVpcmVkUm9sZXMpIHx8IHJlcXVpcmVkUm9sZXMubGVuZ3RoID09PSAwKSB7XHJcblx0XHRcdHJldHVybiB0cnVlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGF1dGhvcml6ZWQgPSByZXF1aXJlZFJvbGVzLmV2ZXJ5KChyb2xlKSA9PiB0aGlzLnJvbGVzLmluY2x1ZGVzKHJvbGUpKTtcclxuXHJcblx0XHRpZiAoIWF1dGhvcml6ZWQpIHtcclxuXHRcdFx0Y29uc29sZS5lcnJvcignVXNlciBub3QgYXV0aG9yaXplZCB0byBhY2Nlc3MgdGhpcyByb3V0ZScpO1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9IGVsc2UgcmV0dXJuIHRydWU7XHJcblx0fVxyXG59XHJcbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLdEUsTUFBTSxPQUFPLFNBQVUsU0FBUSxpQkFBaUI7SUFDL0MsWUFDNkIsTUFBYyxFQUN2QixRQUF5QjtRQUU1QyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBSEksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUc3QyxDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3JGLElBQUksQ0FBQztZQUNKLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztnQkFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO2dCQUM3QyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDQSxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ25ELE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRzthQUNoRCxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNaLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRzthQUMvQyxDQUFDLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztZQUMxRCxPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7O1lBQU0sT0FBTyxJQUFJLENBQUM7SUFDcEIsQ0FBQzs4R0F4Q1csU0FBUztrSEFBVCxTQUFTLGNBRlQsTUFBTTs7MkZBRU4sU0FBUztrQkFIckIsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBLZXljbG9ha0F1dGhHdWFyZCwgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQgZXh0ZW5kcyBLZXljbG9ha0F1dGhHdWFyZCB7XHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcblx0XHRwcm90ZWN0ZWQgcmVhZG9ubHkga2V5Y2xvYWs6IEtleWNsb2FrU2VydmljZVxyXG5cdCkge1xyXG5cdFx0c3VwZXIocm91dGVyLCBrZXljbG9hayk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYXN5bmMgaXNBY2Nlc3NBbGxvd2VkKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0aWYodGhpcy5rZXljbG9hay5pc1Rva2VuRXhwaXJlZCg1KSl7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCJUb2tlbiBleHBpcmVkLCB1cGRhdGluZyB0b2tlblwiKTtcclxuXHRcdFx0XHRhd2FpdCB0aGlzLmtleWNsb2FrLnVwZGF0ZVRva2VuKDUpOyBcclxuXHRcdFx0fVxyXG5cdFx0ICB9IGNhdGNoIChlcnJvcikge1xyXG5cdFx0XHRjb25zb2xlLmVycm9yKCdFcnJvciB3aGlsZSB1cGRhdGluZyB0b2tlbicsIGVycm9yKTtcclxuXHRcdFx0YXdhaXQgdGhpcy5rZXljbG9hay5sb2dpbih7XHJcblx0XHRcdCAgcmVkaXJlY3RVcmk6IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyBzdGF0ZS51cmxcclxuXHRcdFx0fSk7XHJcblx0XHRcdHJldHVybiBmYWxzZTsgXHJcblx0XHQgIH1cclxuXHRcdCAgXHJcblx0XHRpZiAoIXRoaXMuYXV0aGVudGljYXRlZCkge1xyXG5cdFx0XHRhd2FpdCB0aGlzLmtleWNsb2FrLmxvZ2luKHtcclxuXHRcdFx0XHRyZWRpcmVjdFVyaTogd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHN0YXRlLnVybFxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCByZXF1aXJlZFJvbGVzID0gcm91dGUuZGF0YVsncm9sZXMnXTtcclxuXHJcblx0XHRpZiAoIUFycmF5LmlzQXJyYXkocmVxdWlyZWRSb2xlcykgfHwgcmVxdWlyZWRSb2xlcy5sZW5ndGggPT09IDApIHtcclxuXHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgYXV0aG9yaXplZCA9IHJlcXVpcmVkUm9sZXMuZXZlcnkoKHJvbGUpID0+IHRoaXMucm9sZXMuaW5jbHVkZXMocm9sZSkpO1xyXG5cclxuXHRcdGlmICghYXV0aG9yaXplZCkge1xyXG5cdFx0XHRjb25zb2xlLmVycm9yKCdVc2VyIG5vdCBhdXRob3JpemVkIHRvIGFjY2VzcyB0aGlzIHJvdXRlJyk7XHJcblx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdH0gZWxzZSByZXR1cm4gdHJ1ZTtcclxuXHR9XHJcbn1cclxuIl19
@@ -11,8 +11,6 @@ import * as i2 from "../../service/app.menu.service";
11
11
  import * as i3 from "@angular/forms";
12
12
  import * as i4 from "primeng/sidebar";
13
13
  import * as i5 from "primeng/radiobutton";
14
- import * as i6 from "primeng/button";
15
- import * as i7 from "primeng/inputswitch";
16
14
  export class AppConfigComponent {
17
15
  constructor(layoutService, menuService) {
18
16
  this.layoutService = layoutService;
@@ -121,12 +119,12 @@ export class AppConfigComponent {
121
119
  this.scale++;
122
120
  }
123
121
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppConfigComponent, deps: [{ token: i1.LayoutService }, { token: i2.AppMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
124
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AppConfigComponent, isStandalone: true, selector: "app-config", inputs: { minimal: "minimal" }, ngImport: i0, template: "<button class=\"layout-config-button p-link\" type=\"button\" (click)=\"onConfigButtonClick()\">\r\n\t<i class=\"pi pi-cog\"></i>\r\n</button>\r\n\r\n<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-config-sidebar w-18rem\">\r\n\t<h5>Themes</h5>\r\n\t<div class=\"flex flex-wrap row-gap-3\">\r\n\t\t@for (theme of componentThemes; track theme) {\r\n\t\t\t<div class=\"w-3\">\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\tclass=\"cursor-pointer p-link w-2rem h-2rem border-circle flex-shrink-0 flex align-items-center justify-content-center\"\r\n\t\t\t\t\t(click)=\"changeTheme(theme.name)\"\r\n\t\t\t\t\t[ngStyle]=\"{ 'background-color': theme.color }\">\r\n\t\t\t\t\t@if (theme.name == this.layoutService.config().theme) {\r\n\t\t\t\t\t\t<i class=\"pi pi-check text-white\"></i>\r\n\t\t\t\t\t}\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t}\r\n\t</div>\r\n\r\n\t<h5>Scale</h5>\r\n\t<div class=\"flex align-items-center\">\r\n\t\t<button\r\n\t\t\ticon=\"pi pi-minus\"\r\n\t\t\ttype=\"button\"\r\n\t\t\tpButton\r\n\t\t\t(click)=\"decrementScale()\"\r\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem mr-2\"\r\n\t\t\t[disabled]=\"scale === scales[0]\"></button>\r\n\t\t<div class=\"flex gap-2 align-items-center\">\r\n\t\t\t@for (s of scales; track s) {\r\n\t\t\t\t<i class=\"pi pi-circle-fill text-300\" [ngClass]=\"{ 'text-primary-500': s === scale }\"></i>\r\n\t\t\t}\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\ticon=\"pi pi-plus\"\r\n\t\t\ttype=\"button\"\r\n\t\t\tpButton\r\n\t\t\t(click)=\"incrementScale()\"\r\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem ml-2\"\r\n\t\t\t[disabled]=\"scale === scales[scales.length - 1]\"></button>\r\n\t</div>\r\n\r\n\t@if (!minimal) {\r\n\t\t<h5>Menu Type</h5>\r\n\t\t<div class=\"flex flex-wrap row-gap-3\">\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"static\" [(ngModel)]=\"menuMode\" inputId=\"mode1\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode1\">Static</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"overlay\" [(ngModel)]=\"menuMode\" inputId=\"mode2\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode2\">Overlay</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim\" [(ngModel)]=\"menuMode\" inputId=\"mode3\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode3\">Slim</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim-plus\" [(ngModel)]=\"menuMode\" inputId=\"mode4\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode3\">Slim +</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"reveal\" [(ngModel)]=\"menuMode\" inputId=\"mode6\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode5\">Reveal</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"drawer\" [(ngModel)]=\"menuMode\" inputId=\"mode7\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode6\">Drawer</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"horizontal\" [(ngModel)]=\"menuMode\" inputId=\"mode5\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode4\">Horizontal</label>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<h5>Menu Theme</h5>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"colorScheme\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-colorscheme\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-colorscheme\">Color Scheme</label>\r\n\t\t</div>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"primaryColor\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-primarycolor\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-primarycolor\">Primary Color</label>\r\n\t\t</div>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"transparent\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-transparent\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-transparent\">Transparent</label>\r\n\t\t</div>\r\n\t}\r\n\r\n\t<h5>Color Scheme</h5>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"light\" [(ngModel)]=\"colorScheme\" inputId=\"mode-light\"></p-radioButton>\r\n\t\t<label for=\"mode-light\">Light</label>\r\n\t</div>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"dim\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dim\"></p-radioButton>\r\n\t\t<label for=\"mode-dim\">Dim</label>\r\n\t</div>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"dark\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dark\"></p-radioButton>\r\n\t\t<label for=\"mode-dark\">Dark</label>\r\n\t</div>\r\n\r\n\t@if (!minimal) {\r\n\t\t<h5>Input Style</h5>\r\n\t\t<div class=\"flex\">\r\n\t\t\t<div class=\"field-radiobutton flex-1\">\r\n\t\t\t\t<p-radioButton\r\n\t\t\t\t\tname=\"inputStyle\"\r\n\t\t\t\t\tvalue=\"outlined\"\r\n\t\t\t\t\t[(ngModel)]=\"inputStyle\"\r\n\t\t\t\t\tinputId=\"outlined_input\"></p-radioButton>\r\n\t\t\t\t<label for=\"outlined_input\">Outlined</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"field-radiobutton flex-1\">\r\n\t\t\t\t<p-radioButton name=\"inputStyle\" value=\"filled\" [(ngModel)]=\"inputStyle\" inputId=\"filled_input\"></p-radioButton>\r\n\t\t\t\t<label for=\"filled_input\">Filled</label>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<h5>Ripple Effect</h5>\r\n\t\t<p-inputSwitch [(ngModel)]=\"ripple\"></p-inputSwitch>\r\n\t}\r\n</p-sidebar>\r\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i4.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i5.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "variant", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: InputSwitchModule }, { kind: "component", type: i7.InputSwitch, selector: "p-inputSwitch", inputs: ["style", "styleClass", "tabindex", "inputId", "name", "disabled", "readonly", "trueValue", "falseValue", "ariaLabel", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppConfigComponent, isStandalone: true, selector: "app-config", inputs: { minimal: "minimal" }, ngImport: i0, template: "<button class=\"layout-config-button p-link\" type=\"button\" (click)=\"onConfigButtonClick()\">\r\n\t<i class=\"pi pi-cog\"></i>\r\n</button>\r\n\r\n<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-config-sidebar w-18rem\">\r\n\t<!--<h5>Themes</h5>\r\n\t<div class=\"flex flex-wrap row-gap-3\">\r\n\t\t@for (theme of componentThemes; track theme) {\r\n\t\t\t<div class=\"w-3\">\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\tclass=\"cursor-pointer p-link w-2rem h-2rem border-circle flex-shrink-0 flex align-items-center justify-content-center\"\r\n\t\t\t\t\t(click)=\"changeTheme(theme.name)\"\r\n\t\t\t\t\t[ngStyle]=\"{ 'background-color': theme.color }\">\r\n\t\t\t\t\t@if (theme.name == this.layoutService.config().theme) {\r\n\t\t\t\t\t\t<i class=\"pi pi-check text-white\"></i>\r\n\t\t\t\t\t}\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t}\r\n\t</div>-->\r\n\r\n\t<!--<h5>Scale</h5>\r\n\t<div class=\"flex align-items-center\">\r\n\t\t<button\r\n\t\t\ticon=\"pi pi-minus\"\r\n\t\t\ttype=\"button\"\r\n\t\t\tpButton\r\n\t\t\t(click)=\"decrementScale()\"\r\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem mr-2\"\r\n\t\t\t[disabled]=\"scale === scales[0]\"></button>\r\n\t\t<div class=\"flex gap-2 align-items-center\">\r\n\t\t\t@for (s of scales; track s) {\r\n\t\t\t\t<i class=\"pi pi-circle-fill text-300\" [ngClass]=\"{ 'text-primary-500': s === scale }\"></i>\r\n\t\t\t}\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\ticon=\"pi pi-plus\"\r\n\t\t\ttype=\"button\"\r\n\t\t\tpButton\r\n\t\t\t(click)=\"incrementScale()\"\r\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem ml-2\"\r\n\t\t\t[disabled]=\"scale === scales[scales.length - 1]\"></button>\r\n\t</div>\r\n-->\r\n\t<!--\r\n\t@if (!minimal) {\r\n\t\t<h5>Menu Type</h5>\r\n\t\t<div class=\"flex flex-wrap row-gap-3\">\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"static\" [(ngModel)]=\"menuMode\" inputId=\"mode1\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode1\">Static</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"overlay\" [(ngModel)]=\"menuMode\" inputId=\"mode2\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode2\">Overlay</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim\" [(ngModel)]=\"menuMode\" inputId=\"mode3\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode3\">Slim</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim-plus\" [(ngModel)]=\"menuMode\" inputId=\"mode4\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode3\">Slim +</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"reveal\" [(ngModel)]=\"menuMode\" inputId=\"mode6\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode5\">Reveal</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"drawer\" [(ngModel)]=\"menuMode\" inputId=\"mode7\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode6\">Drawer</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"horizontal\" [(ngModel)]=\"menuMode\" inputId=\"mode5\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode4\">Horizontal</label>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<h5>Menu Theme</h5>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"colorScheme\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-colorscheme\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-colorscheme\">Color Scheme</label>\r\n\t\t</div>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"primaryColor\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-primarycolor\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-primarycolor\">Primary Color</label>\r\n\t\t</div>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"transparent\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-transparent\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-transparent\">Transparent</label>\r\n\t\t</div>\r\n\t}\r\n-->\r\n\r\n\t<h5>Color Scheme</h5>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"light\" [(ngModel)]=\"colorScheme\" inputId=\"mode-light\"></p-radioButton>\r\n\t\t<label for=\"mode-light\">Light</label>\r\n\t</div>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"dim\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dim\"></p-radioButton>\r\n\t\t<label for=\"mode-dim\">Dim</label>\r\n\t</div>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"dark\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dark\"></p-radioButton>\r\n\t\t<label for=\"mode-dark\">Dark</label>\r\n\t</div>\r\n\r\n\t<!--\r\n\t@if (!minimal) {\r\n\t\t<h5>Input Style</h5>\r\n\t\t<div class=\"flex\">\r\n\t\t\t<div class=\"field-radiobutton flex-1\">\r\n\t\t\t\t<p-radioButton\r\n\t\t\t\t\tname=\"inputStyle\"\r\n\t\t\t\t\tvalue=\"outlined\"\r\n\t\t\t\t\t[(ngModel)]=\"inputStyle\"\r\n\t\t\t\t\tinputId=\"outlined_input\"></p-radioButton>\r\n\t\t\t\t<label for=\"outlined_input\">Outlined</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"field-radiobutton flex-1\">\r\n\t\t\t\t<p-radioButton name=\"inputStyle\" value=\"filled\" [(ngModel)]=\"inputStyle\" inputId=\"filled_input\"></p-radioButton>\r\n\t\t\t\t<label for=\"filled_input\">Filled</label>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<h5>Ripple Effect</h5>\r\n\t\t<p-inputSwitch [(ngModel)]=\"ripple\"></p-inputSwitch>\r\n\t}\r\n-->\r\n</p-sidebar>\r\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i4.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i5.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "variant", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: InputSwitchModule }] }); }
125
123
  }
126
124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppConfigComponent, decorators: [{
127
125
  type: Component,
128
- args: [{ standalone: true, selector: 'app-config', imports: [FormsModule, SidebarModule, RadioButtonModule, ButtonModule, InputSwitchModule, NgStyle, NgClass], template: "<button class=\"layout-config-button p-link\" type=\"button\" (click)=\"onConfigButtonClick()\">\r\n\t<i class=\"pi pi-cog\"></i>\r\n</button>\r\n\r\n<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-config-sidebar w-18rem\">\r\n\t<h5>Themes</h5>\r\n\t<div class=\"flex flex-wrap row-gap-3\">\r\n\t\t@for (theme of componentThemes; track theme) {\r\n\t\t\t<div class=\"w-3\">\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\tclass=\"cursor-pointer p-link w-2rem h-2rem border-circle flex-shrink-0 flex align-items-center justify-content-center\"\r\n\t\t\t\t\t(click)=\"changeTheme(theme.name)\"\r\n\t\t\t\t\t[ngStyle]=\"{ 'background-color': theme.color }\">\r\n\t\t\t\t\t@if (theme.name == this.layoutService.config().theme) {\r\n\t\t\t\t\t\t<i class=\"pi pi-check text-white\"></i>\r\n\t\t\t\t\t}\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t}\r\n\t</div>\r\n\r\n\t<h5>Scale</h5>\r\n\t<div class=\"flex align-items-center\">\r\n\t\t<button\r\n\t\t\ticon=\"pi pi-minus\"\r\n\t\t\ttype=\"button\"\r\n\t\t\tpButton\r\n\t\t\t(click)=\"decrementScale()\"\r\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem mr-2\"\r\n\t\t\t[disabled]=\"scale === scales[0]\"></button>\r\n\t\t<div class=\"flex gap-2 align-items-center\">\r\n\t\t\t@for (s of scales; track s) {\r\n\t\t\t\t<i class=\"pi pi-circle-fill text-300\" [ngClass]=\"{ 'text-primary-500': s === scale }\"></i>\r\n\t\t\t}\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\ticon=\"pi pi-plus\"\r\n\t\t\ttype=\"button\"\r\n\t\t\tpButton\r\n\t\t\t(click)=\"incrementScale()\"\r\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem ml-2\"\r\n\t\t\t[disabled]=\"scale === scales[scales.length - 1]\"></button>\r\n\t</div>\r\n\r\n\t@if (!minimal) {\r\n\t\t<h5>Menu Type</h5>\r\n\t\t<div class=\"flex flex-wrap row-gap-3\">\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"static\" [(ngModel)]=\"menuMode\" inputId=\"mode1\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode1\">Static</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"overlay\" [(ngModel)]=\"menuMode\" inputId=\"mode2\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode2\">Overlay</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim\" [(ngModel)]=\"menuMode\" inputId=\"mode3\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode3\">Slim</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim-plus\" [(ngModel)]=\"menuMode\" inputId=\"mode4\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode3\">Slim +</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"reveal\" [(ngModel)]=\"menuMode\" inputId=\"mode6\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode5\">Reveal</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"drawer\" [(ngModel)]=\"menuMode\" inputId=\"mode7\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode6\">Drawer</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"horizontal\" [(ngModel)]=\"menuMode\" inputId=\"mode5\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode4\">Horizontal</label>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<h5>Menu Theme</h5>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"colorScheme\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-colorscheme\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-colorscheme\">Color Scheme</label>\r\n\t\t</div>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"primaryColor\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-primarycolor\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-primarycolor\">Primary Color</label>\r\n\t\t</div>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"transparent\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-transparent\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-transparent\">Transparent</label>\r\n\t\t</div>\r\n\t}\r\n\r\n\t<h5>Color Scheme</h5>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"light\" [(ngModel)]=\"colorScheme\" inputId=\"mode-light\"></p-radioButton>\r\n\t\t<label for=\"mode-light\">Light</label>\r\n\t</div>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"dim\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dim\"></p-radioButton>\r\n\t\t<label for=\"mode-dim\">Dim</label>\r\n\t</div>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"dark\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dark\"></p-radioButton>\r\n\t\t<label for=\"mode-dark\">Dark</label>\r\n\t</div>\r\n\r\n\t@if (!minimal) {\r\n\t\t<h5>Input Style</h5>\r\n\t\t<div class=\"flex\">\r\n\t\t\t<div class=\"field-radiobutton flex-1\">\r\n\t\t\t\t<p-radioButton\r\n\t\t\t\t\tname=\"inputStyle\"\r\n\t\t\t\t\tvalue=\"outlined\"\r\n\t\t\t\t\t[(ngModel)]=\"inputStyle\"\r\n\t\t\t\t\tinputId=\"outlined_input\"></p-radioButton>\r\n\t\t\t\t<label for=\"outlined_input\">Outlined</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"field-radiobutton flex-1\">\r\n\t\t\t\t<p-radioButton name=\"inputStyle\" value=\"filled\" [(ngModel)]=\"inputStyle\" inputId=\"filled_input\"></p-radioButton>\r\n\t\t\t\t<label for=\"filled_input\">Filled</label>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<h5>Ripple Effect</h5>\r\n\t\t<p-inputSwitch [(ngModel)]=\"ripple\"></p-inputSwitch>\r\n\t}\r\n</p-sidebar>\r\n" }]
126
+ args: [{ standalone: true, selector: 'app-config', imports: [FormsModule, SidebarModule, RadioButtonModule, ButtonModule, InputSwitchModule, NgStyle, NgClass], template: "<button class=\"layout-config-button p-link\" type=\"button\" (click)=\"onConfigButtonClick()\">\r\n\t<i class=\"pi pi-cog\"></i>\r\n</button>\r\n\r\n<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-config-sidebar w-18rem\">\r\n\t<!--<h5>Themes</h5>\r\n\t<div class=\"flex flex-wrap row-gap-3\">\r\n\t\t@for (theme of componentThemes; track theme) {\r\n\t\t\t<div class=\"w-3\">\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\tclass=\"cursor-pointer p-link w-2rem h-2rem border-circle flex-shrink-0 flex align-items-center justify-content-center\"\r\n\t\t\t\t\t(click)=\"changeTheme(theme.name)\"\r\n\t\t\t\t\t[ngStyle]=\"{ 'background-color': theme.color }\">\r\n\t\t\t\t\t@if (theme.name == this.layoutService.config().theme) {\r\n\t\t\t\t\t\t<i class=\"pi pi-check text-white\"></i>\r\n\t\t\t\t\t}\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t}\r\n\t</div>-->\r\n\r\n\t<!--<h5>Scale</h5>\r\n\t<div class=\"flex align-items-center\">\r\n\t\t<button\r\n\t\t\ticon=\"pi pi-minus\"\r\n\t\t\ttype=\"button\"\r\n\t\t\tpButton\r\n\t\t\t(click)=\"decrementScale()\"\r\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem mr-2\"\r\n\t\t\t[disabled]=\"scale === scales[0]\"></button>\r\n\t\t<div class=\"flex gap-2 align-items-center\">\r\n\t\t\t@for (s of scales; track s) {\r\n\t\t\t\t<i class=\"pi pi-circle-fill text-300\" [ngClass]=\"{ 'text-primary-500': s === scale }\"></i>\r\n\t\t\t}\r\n\t\t</div>\r\n\t\t<button\r\n\t\t\ticon=\"pi pi-plus\"\r\n\t\t\ttype=\"button\"\r\n\t\t\tpButton\r\n\t\t\t(click)=\"incrementScale()\"\r\n\t\t\tclass=\"p-button-text p-button-rounded w-2rem h-2rem ml-2\"\r\n\t\t\t[disabled]=\"scale === scales[scales.length - 1]\"></button>\r\n\t</div>\r\n-->\r\n\t<!--\r\n\t@if (!minimal) {\r\n\t\t<h5>Menu Type</h5>\r\n\t\t<div class=\"flex flex-wrap row-gap-3\">\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"static\" [(ngModel)]=\"menuMode\" inputId=\"mode1\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode1\">Static</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"overlay\" [(ngModel)]=\"menuMode\" inputId=\"mode2\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode2\">Overlay</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim\" [(ngModel)]=\"menuMode\" inputId=\"mode3\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode3\">Slim</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"slim-plus\" [(ngModel)]=\"menuMode\" inputId=\"mode4\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode3\">Slim +</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"reveal\" [(ngModel)]=\"menuMode\" inputId=\"mode6\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode5\">Reveal</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"drawer\" [(ngModel)]=\"menuMode\" inputId=\"mode7\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode6\">Drawer</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex align-items-center gap-2 w-6\">\r\n\t\t\t\t<p-radioButton name=\"menuMode\" value=\"horizontal\" [(ngModel)]=\"menuMode\" inputId=\"mode5\"></p-radioButton>\r\n\t\t\t\t<label for=\"mode4\">Horizontal</label>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<h5>Menu Theme</h5>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"colorScheme\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-colorscheme\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-colorscheme\">Color Scheme</label>\r\n\t\t</div>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"primaryColor\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-primarycolor\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-primarycolor\">Primary Color</label>\r\n\t\t</div>\r\n\t\t<div class=\"field-radiobutton\">\r\n\t\t\t<p-radioButton\r\n\t\t\t\tname=\"menuTheme\"\r\n\t\t\t\tvalue=\"transparent\"\r\n\t\t\t\t[(ngModel)]=\"menuTheme\"\r\n\t\t\t\tinputId=\"menutheme-transparent\"></p-radioButton>\r\n\t\t\t<label for=\"menutheme-transparent\">Transparent</label>\r\n\t\t</div>\r\n\t}\r\n-->\r\n\r\n\t<h5>Color Scheme</h5>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"light\" [(ngModel)]=\"colorScheme\" inputId=\"mode-light\"></p-radioButton>\r\n\t\t<label for=\"mode-light\">Light</label>\r\n\t</div>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"dim\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dim\"></p-radioButton>\r\n\t\t<label for=\"mode-dim\">Dim</label>\r\n\t</div>\r\n\t<div class=\"field-radiobutton\">\r\n\t\t<p-radioButton name=\"colorScheme\" value=\"dark\" [(ngModel)]=\"colorScheme\" inputId=\"mode-dark\"></p-radioButton>\r\n\t\t<label for=\"mode-dark\">Dark</label>\r\n\t</div>\r\n\r\n\t<!--\r\n\t@if (!minimal) {\r\n\t\t<h5>Input Style</h5>\r\n\t\t<div class=\"flex\">\r\n\t\t\t<div class=\"field-radiobutton flex-1\">\r\n\t\t\t\t<p-radioButton\r\n\t\t\t\t\tname=\"inputStyle\"\r\n\t\t\t\t\tvalue=\"outlined\"\r\n\t\t\t\t\t[(ngModel)]=\"inputStyle\"\r\n\t\t\t\t\tinputId=\"outlined_input\"></p-radioButton>\r\n\t\t\t\t<label for=\"outlined_input\">Outlined</label>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"field-radiobutton flex-1\">\r\n\t\t\t\t<p-radioButton name=\"inputStyle\" value=\"filled\" [(ngModel)]=\"inputStyle\" inputId=\"filled_input\"></p-radioButton>\r\n\t\t\t\t<label for=\"filled_input\">Filled</label>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<h5>Ripple Effect</h5>\r\n\t\t<p-inputSwitch [(ngModel)]=\"ripple\"></p-inputSwitch>\r\n\t}\r\n-->\r\n</p-sidebar>\r\n" }]
129
127
  }], ctorParameters: () => [{ type: i1.LayoutService }, { type: i2.AppMenuService }], propDecorators: { minimal: [{
130
128
  type: Input
131
129
  }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvY29uZmlnL2FwcC5jb25maWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2NvbmZpZy9hcHAuY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQVdoRCxNQUFNLE9BQU8sa0JBQWtCO0lBTzlCLFlBQ1EsYUFBNEIsRUFDNUIsV0FBMkI7UUFEM0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBUjFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbEMsb0JBQWUsR0FBVSxFQUFFLENBQUM7UUFFNUIsV0FBTSxHQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBS3JDLENBQUM7SUFFSixJQUFJLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDO0lBQ3RELENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxJQUFhO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsSUFBWTtRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsR0FBRyxNQUFNO1lBQ1QsS0FBSyxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDWCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzdDLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxJQUFjO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3QyxHQUFHLE1BQU07WUFDVCxRQUFRLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQyxDQUFDO1FBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1lBQ3pHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNGLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ2hELENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxJQUFpQjtRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsR0FBRyxNQUFNO1lBQ1QsV0FBVyxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsSUFBWTtRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsR0FBRyxNQUFNO1lBQ1QsVUFBVSxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsSUFBYTtRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsR0FBRyxNQUFNO1lBQ1QsTUFBTSxFQUFFLElBQUk7U0FDWixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQzlDLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxJQUFxQjtRQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsR0FBRyxNQUFNO1lBQ1QsU0FBUyxFQUFFLElBQUk7U0FDZixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFZO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3QyxHQUFHLE1BQU07WUFDVCxLQUFLLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsZUFBZSxHQUFHO1lBQ3RCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ25DLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1NBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsV0FBd0I7UUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxjQUFjO1FBQ2IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELGNBQWM7UUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZCxDQUFDOzhHQTNIVyxrQkFBa0I7a0dBQWxCLGtCQUFrQixzR0NsQi9CLDQ1TEE4SUEsMkNEL0hXLFdBQVcsOFZBQUUsYUFBYSw0V0FBRSxpQkFBaUIsNFVBQUUsWUFBWSw0T0FBRSxpQkFBaUIsNlJBQUUsT0FBTywyRUFBRSxPQUFPOzsyRkFHOUYsa0JBQWtCO2tCQU45QixTQUFTO2lDQUNHLElBQUksWUFDTixZQUFZLFdBQ2IsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDOytHQUlsRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBJbnB1dFN3aXRjaE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRzd2l0Y2gnO1xyXG5pbXBvcnQgeyBSYWRpb0J1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcmFkaW9idXR0b24nO1xyXG5pbXBvcnQgeyBTaWRlYmFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zaWRlYmFyJztcclxuXHJcbmltcG9ydCB7IENvbG9yU2NoZW1lLCBMYXlvdXRTZXJ2aWNlLCBNZW51Q29sb3JTY2hlbWUsIE1lbnVNb2RlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hcHAubGF5b3V0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBNZW51U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYXBwLm1lbnUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXBwLWNvbmZpZycsXHJcblx0aW1wb3J0czogW0Zvcm1zTW9kdWxlLCBTaWRlYmFyTW9kdWxlLCBSYWRpb0J1dHRvbk1vZHVsZSwgQnV0dG9uTW9kdWxlLCBJbnB1dFN3aXRjaE1vZHVsZSwgTmdTdHlsZSwgTmdDbGFzc10sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2FwcC5jb25maWcuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBDb25maWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdEBJbnB1dCgpIG1pbmltYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0Y29tcG9uZW50VGhlbWVzOiBhbnlbXSA9IFtdO1xyXG5cclxuXHRzY2FsZXM6IG51bWJlcltdID0gWzEyLCAxMywgMTQsIDE1LCAxNl07XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHVibGljIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXHJcblx0XHRwdWJsaWMgbWVudVNlcnZpY2U6IEFwcE1lbnVTZXJ2aWNlXHJcblx0KSB7fVxyXG5cclxuXHRnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuY29uZmlnU2lkZWJhclZpc2libGU7XHJcblx0fVxyXG5cdHNldCB2aXNpYmxlKF92YWw6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5jb25maWdTaWRlYmFyVmlzaWJsZSA9IF92YWw7XHJcblx0fVxyXG5cclxuXHRnZXQgc2NhbGUoKTogbnVtYmVyIHtcclxuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkuc2NhbGU7XHJcblx0fVxyXG5cdHNldCBzY2FsZShfdmFsOiBudW1iZXIpIHtcclxuXHRcdHRoaXMubGF5b3V0U2VydmljZS5jb25maWcudXBkYXRlKChjb25maWcpID0+ICh7XHJcblx0XHRcdC4uLmNvbmZpZyxcclxuXHRcdFx0c2NhbGU6IF92YWxcclxuXHRcdH0pKTtcclxuXHR9XHJcblxyXG5cdGdldCBtZW51TW9kZSgpOiBNZW51TW9kZSB7XHJcblx0XHRyZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVNb2RlO1xyXG5cdH1cclxuXHRzZXQgbWVudU1vZGUoX3ZhbDogTWVudU1vZGUpIHtcclxuXHRcdHRoaXMubGF5b3V0U2VydmljZS5jb25maWcudXBkYXRlKChjb25maWcpID0+ICh7XHJcblx0XHRcdC4uLmNvbmZpZyxcclxuXHRcdFx0bWVudU1vZGU6IF92YWxcclxuXHRcdH0pKTtcclxuXHRcdGlmICh0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltUGx1cygpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKSB8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNIb3Jpem9udGFsKCkpIHtcclxuXHRcdFx0dGhpcy5tZW51U2VydmljZS5yZXNldCgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Z2V0IGNvbG9yU2NoZW1lKCk6IENvbG9yU2NoZW1lIHtcclxuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkuY29sb3JTY2hlbWU7XHJcblx0fVxyXG5cdHNldCBjb2xvclNjaGVtZShfdmFsOiBDb2xvclNjaGVtZSkge1xyXG5cdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy51cGRhdGUoKGNvbmZpZykgPT4gKHtcclxuXHRcdFx0Li4uY29uZmlnLFxyXG5cdFx0XHRjb2xvclNjaGVtZTogX3ZhbFxyXG5cdFx0fSkpO1xyXG5cdH1cclxuXHJcblx0Z2V0IGlucHV0U3R5bGUoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkuaW5wdXRTdHlsZTtcclxuXHR9XHJcblx0c2V0IGlucHV0U3R5bGUoX3ZhbDogc3RyaW5nKSB7XHJcblx0XHR0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLnVwZGF0ZSgoY29uZmlnKSA9PiAoe1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdGlucHV0U3R5bGU6IF92YWxcclxuXHRcdH0pKTtcclxuXHR9XHJcblxyXG5cdGdldCByaXBwbGUoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLnJpcHBsZTtcclxuXHR9XHJcblx0c2V0IHJpcHBsZShfdmFsOiBib29sZWFuKSB7XHJcblx0XHR0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLnVwZGF0ZSgoY29uZmlnKSA9PiAoe1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdHJpcHBsZTogX3ZhbFxyXG5cdFx0fSkpO1xyXG5cdH1cclxuXHJcblx0Z2V0IG1lbnVUaGVtZSgpOiBNZW51Q29sb3JTY2hlbWUge1xyXG5cdFx0cmV0dXJuIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51VGhlbWU7XHJcblx0fVxyXG5cdHNldCBtZW51VGhlbWUoX3ZhbDogTWVudUNvbG9yU2NoZW1lKSB7XHJcblx0XHR0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLnVwZGF0ZSgoY29uZmlnKSA9PiAoe1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdG1lbnVUaGVtZTogX3ZhbFxyXG5cdFx0fSkpO1xyXG5cdH1cclxuXHJcblx0Z2V0IHRoZW1lKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLnRoZW1lO1xyXG5cdH1cclxuXHRzZXQgdGhlbWUoX3ZhbDogc3RyaW5nKSB7XHJcblx0XHR0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLnVwZGF0ZSgoY29uZmlnKSA9PiAoe1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdHRoZW1lOiBfdmFsXHJcblx0XHR9KSk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMuY29tcG9uZW50VGhlbWVzID0gW1xyXG5cdFx0XHR7IG5hbWU6ICdpbmRpZ28nLCBjb2xvcjogJyM2MzY2RjEnIH0sXHJcblx0XHRcdHsgbmFtZTogJ2JsdWUnLCBjb2xvcjogJyMzQjgyRjYnIH0sXHJcblx0XHRcdHsgbmFtZTogJ3B1cnBsZScsIGNvbG9yOiAnIzhCNUNGNicgfSxcclxuXHRcdFx0eyBuYW1lOiAndGVhbCcsIGNvbG9yOiAnIzE0QjhBNicgfSxcclxuXHRcdFx0eyBuYW1lOiAnY3lhbicsIGNvbG9yOiAnIzA2YjZkNCcgfSxcclxuXHRcdFx0eyBuYW1lOiAnZ3JlZW4nLCBjb2xvcjogJyMxMGI5ODEnIH0sXHJcblx0XHRcdHsgbmFtZTogJ29yYW5nZScsIGNvbG9yOiAnI2Y1OWUwYicgfSxcclxuXHRcdFx0eyBuYW1lOiAncGluaycsIGNvbG9yOiAnI2Q5NDZlZicgfVxyXG5cdFx0XTtcclxuXHR9XHJcblxyXG5cdG9uQ29uZmlnQnV0dG9uQ2xpY2soKSB7XHJcblx0XHR0aGlzLmxheW91dFNlcnZpY2Uuc2hvd0NvbmZpZ1NpZGViYXIoKTtcclxuXHR9XHJcblxyXG5cdGNoYW5nZUNvbG9yU2NoZW1lKGNvbG9yU2NoZW1lOiBDb2xvclNjaGVtZSkge1xyXG5cdFx0dGhpcy5jb2xvclNjaGVtZSA9IGNvbG9yU2NoZW1lO1xyXG5cdH1cclxuXHJcblx0Y2hhbmdlVGhlbWUodGhlbWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy50aGVtZSA9IHRoZW1lO1xyXG5cdH1cclxuXHJcblx0ZGVjcmVtZW50U2NhbGUoKSB7XHJcblx0XHR0aGlzLnNjYWxlLS07XHJcblx0fVxyXG5cclxuXHRpbmNyZW1lbnRTY2FsZSgpIHtcclxuXHRcdHRoaXMuc2NhbGUrKztcclxuXHR9XHJcbn1cclxuIiwiPGJ1dHRvbiBjbGFzcz1cImxheW91dC1jb25maWctYnV0dG9uIHAtbGlua1wiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25Db25maWdCdXR0b25DbGljaygpXCI+XHJcblx0PGkgY2xhc3M9XCJwaSBwaS1jb2dcIj48L2k+XHJcbjwvYnV0dG9uPlxyXG5cclxuPHAtc2lkZWJhclxyXG5cdFsodmlzaWJsZSldPVwidmlzaWJsZVwiXHJcblx0cG9zaXRpb249XCJyaWdodFwiXHJcblx0W3RyYW5zaXRpb25PcHRpb25zXT1cIicuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSknXCJcclxuXHRzdHlsZUNsYXNzPVwibGF5b3V0LWNvbmZpZy1zaWRlYmFyIHctMThyZW1cIj5cclxuXHQ8aDU+VGhlbWVzPC9oNT5cclxuXHQ8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgcm93LWdhcC0zXCI+XHJcblx0XHRAZm9yICh0aGVtZSBvZiBjb21wb25lbnRUaGVtZXM7IHRyYWNrIHRoZW1lKSB7XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJ3LTNcIj5cclxuXHRcdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcclxuXHRcdFx0XHRcdGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgcC1saW5rIHctMnJlbSBoLTJyZW0gYm9yZGVyLWNpcmNsZSBmbGV4LXNocmluay0wIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG5cdFx0XHRcdFx0KGNsaWNrKT1cImNoYW5nZVRoZW1lKHRoZW1lLm5hbWUpXCJcclxuXHRcdFx0XHRcdFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiB0aGVtZS5jb2xvciB9XCI+XHJcblx0XHRcdFx0XHRAaWYgKHRoZW1lLm5hbWUgPT0gdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLnRoZW1lKSB7XHJcblx0XHRcdFx0XHRcdDxpIGNsYXNzPVwicGkgcGktY2hlY2sgdGV4dC13aGl0ZVwiPjwvaT5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHR9XHJcblx0PC9kaXY+XHJcblxyXG5cdDxoNT5TY2FsZTwvaDU+XHJcblx0PGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcblx0XHQ8YnV0dG9uXHJcblx0XHRcdGljb249XCJwaSBwaS1taW51c1wiXHJcblx0XHRcdHR5cGU9XCJidXR0b25cIlxyXG5cdFx0XHRwQnV0dG9uXHJcblx0XHRcdChjbGljayk9XCJkZWNyZW1lbnRTY2FsZSgpXCJcclxuXHRcdFx0Y2xhc3M9XCJwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uLXJvdW5kZWQgdy0ycmVtIGgtMnJlbSBtci0yXCJcclxuXHRcdFx0W2Rpc2FibGVkXT1cInNjYWxlID09PSBzY2FsZXNbMF1cIj48L2J1dHRvbj5cclxuXHRcdDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHRAZm9yIChzIG9mIHNjYWxlczsgdHJhY2sgcykge1xyXG5cdFx0XHRcdDxpIGNsYXNzPVwicGkgcGktY2lyY2xlLWZpbGwgdGV4dC0zMDBcIiBbbmdDbGFzc109XCJ7ICd0ZXh0LXByaW1hcnktNTAwJzogcyA9PT0gc2NhbGUgfVwiPjwvaT5cclxuXHRcdFx0fVxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8YnV0dG9uXHJcblx0XHRcdGljb249XCJwaSBwaS1wbHVzXCJcclxuXHRcdFx0dHlwZT1cImJ1dHRvblwiXHJcblx0XHRcdHBCdXR0b25cclxuXHRcdFx0KGNsaWNrKT1cImluY3JlbWVudFNjYWxlKClcIlxyXG5cdFx0XHRjbGFzcz1cInAtYnV0dG9uLXRleHQgcC1idXR0b24tcm91bmRlZCB3LTJyZW0gaC0ycmVtIG1sLTJcIlxyXG5cdFx0XHRbZGlzYWJsZWRdPVwic2NhbGUgPT09IHNjYWxlc1tzY2FsZXMubGVuZ3RoIC0gMV1cIj48L2J1dHRvbj5cclxuXHQ8L2Rpdj5cclxuXHJcblx0QGlmICghbWluaW1hbCkge1xyXG5cdFx0PGg1Pk1lbnUgVHlwZTwvaDU+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgcm93LWdhcC0zXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB3LTZcIj5cclxuXHRcdFx0XHQ8cC1yYWRpb0J1dHRvbiBuYW1lPVwibWVudU1vZGVcIiB2YWx1ZT1cInN0YXRpY1wiIFsobmdNb2RlbCldPVwibWVudU1vZGVcIiBpbnB1dElkPVwibW9kZTFcIj48L3AtcmFkaW9CdXR0b24+XHJcblx0XHRcdFx0PGxhYmVsIGZvcj1cIm1vZGUxXCI+U3RhdGljPC9sYWJlbD5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB3LTZcIj5cclxuXHRcdFx0XHQ8cC1yYWRpb0J1dHRvbiBuYW1lPVwibWVudU1vZGVcIiB2YWx1ZT1cIm92ZXJsYXlcIiBbKG5nTW9kZWwpXT1cIm1lbnVNb2RlXCIgaW5wdXRJZD1cIm1vZGUyXCI+PC9wLXJhZGlvQnV0dG9uPlxyXG5cdFx0XHRcdDxsYWJlbCBmb3I9XCJtb2RlMlwiPk92ZXJsYXk8L2xhYmVsPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHctNlwiPlxyXG5cdFx0XHRcdDxwLXJhZGlvQnV0dG9uIG5hbWU9XCJtZW51TW9kZVwiIHZhbHVlPVwic2xpbVwiIFsobmdNb2RlbCldPVwibWVudU1vZGVcIiBpbnB1dElkPVwibW9kZTNcIj48L3AtcmFkaW9CdXR0b24+XHJcblx0XHRcdFx0PGxhYmVsIGZvcj1cIm1vZGUzXCI+U2xpbTwvbGFiZWw+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgdy02XCI+XHJcblx0XHRcdFx0PHAtcmFkaW9CdXR0b24gbmFtZT1cIm1lbnVNb2RlXCIgdmFsdWU9XCJzbGltLXBsdXNcIiBbKG5nTW9kZWwpXT1cIm1lbnVNb2RlXCIgaW5wdXRJZD1cIm1vZGU0XCI+PC9wLXJhZGlvQnV0dG9uPlxyXG5cdFx0XHRcdDxsYWJlbCBmb3I9XCJtb2RlM1wiPlNsaW0gKzwvbGFiZWw+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgdy02XCI+XHJcblx0XHRcdFx0PHAtcmFkaW9CdXR0b24gbmFtZT1cIm1lbnVNb2RlXCIgdmFsdWU9XCJyZXZlYWxcIiBbKG5nTW9kZWwpXT1cIm1lbnVNb2RlXCIgaW5wdXRJZD1cIm1vZGU2XCI+PC9wLXJhZGlvQnV0dG9uPlxyXG5cdFx0XHRcdDxsYWJlbCBmb3I9XCJtb2RlNVwiPlJldmVhbDwvbGFiZWw+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgdy02XCI+XHJcblx0XHRcdFx0PHAtcmFkaW9CdXR0b24gbmFtZT1cIm1lbnVNb2RlXCIgdmFsdWU9XCJkcmF3ZXJcIiBbKG5nTW9kZWwpXT1cIm1lbnVNb2RlXCIgaW5wdXRJZD1cIm1vZGU3XCI+PC9wLXJhZGlvQnV0dG9uPlxyXG5cdFx0XHRcdDxsYWJlbCBmb3I9XCJtb2RlNlwiPkRyYXdlcjwvbGFiZWw+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgdy02XCI+XHJcblx0XHRcdFx0PHAtcmFkaW9CdXR0b24gbmFtZT1cIm1lbnVNb2RlXCIgdmFsdWU9XCJob3Jpem9udGFsXCIgWyhuZ01vZGVsKV09XCJtZW51TW9kZVwiIGlucHV0SWQ9XCJtb2RlNVwiPjwvcC1yYWRpb0J1dHRvbj5cclxuXHRcdFx0XHQ8bGFiZWwgZm9yPVwibW9kZTRcIj5Ib3Jpem9udGFsPC9sYWJlbD5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDxoNT5NZW51IFRoZW1lPC9oNT5cclxuXHRcdDxkaXYgY2xhc3M9XCJmaWVsZC1yYWRpb2J1dHRvblwiPlxyXG5cdFx0XHQ8cC1yYWRpb0J1dHRvblxyXG5cdFx0XHRcdG5hbWU9XCJtZW51VGhlbWVcIlxyXG5cdFx0XHRcdHZhbHVlPVwiY29sb3JTY2hlbWVcIlxyXG5cdFx0XHRcdFsobmdNb2RlbCldPVwibWVudVRoZW1lXCJcclxuXHRcdFx0XHRpbnB1dElkPVwibWVudXRoZW1lLWNvbG9yc2NoZW1lXCI+PC9wLXJhZGlvQnV0dG9uPlxyXG5cdFx0XHQ8bGFiZWwgZm9yPVwibWVudXRoZW1lLWNvbG9yc2NoZW1lXCI+Q29sb3IgU2NoZW1lPC9sYWJlbD5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cImZpZWxkLXJhZGlvYnV0dG9uXCI+XHJcblx0XHRcdDxwLXJhZGlvQnV0dG9uXHJcblx0XHRcdFx0bmFtZT1cIm1lbnVUaGVtZVwiXHJcblx0XHRcdFx0dmFsdWU9XCJwcmltYXJ5Q29sb3JcIlxyXG5cdFx0XHRcdFsobmdNb2RlbCldPVwibWVudVRoZW1lXCJcclxuXHRcdFx0XHRpbnB1dElkPVwibWVudXRoZW1lLXByaW1hcnljb2xvclwiPjwvcC1yYWRpb0J1dHRvbj5cclxuXHRcdFx0PGxhYmVsIGZvcj1cIm1lbnV0aGVtZS1wcmltYXJ5Y29sb3JcIj5QcmltYXJ5IENvbG9yPC9sYWJlbD5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cImZpZWxkLXJhZGlvYnV0dG9uXCI+XHJcblx0XHRcdDxwLXJhZGlvQnV0dG9uXHJcblx0XHRcdFx0bmFtZT1cIm1lbnVUaGVtZVwiXHJcblx0XHRcdFx0dmFsdWU9XCJ0cmFuc3BhcmVudFwiXHJcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJtZW51VGhlbWVcIlxyXG5cdFx0XHRcdGlucHV0SWQ9XCJtZW51dGhlbWUtdHJhbnNwYXJlbnRcIj48L3AtcmFkaW9CdXR0b24+XHJcblx0XHRcdDxsYWJlbCBmb3I9XCJtZW51dGhlbWUtdHJhbnNwYXJlbnRcIj5UcmFuc3BhcmVudDwvbGFiZWw+XHJcblx0XHQ8L2Rpdj5cclxuXHR9XHJcblxyXG5cdDxoNT5Db2xvciBTY2hlbWU8L2g1PlxyXG5cdDxkaXYgY2xhc3M9XCJmaWVsZC1yYWRpb2J1dHRvblwiPlxyXG5cdFx0PHAtcmFkaW9CdXR0b24gbmFtZT1cImNvbG9yU2NoZW1lXCIgdmFsdWU9XCJsaWdodFwiIFsobmdNb2RlbCldPVwiY29sb3JTY2hlbWVcIiBpbnB1dElkPVwibW9kZS1saWdodFwiPjwvcC1yYWRpb0J1dHRvbj5cclxuXHRcdDxsYWJlbCBmb3I9XCJtb2RlLWxpZ2h0XCI+TGlnaHQ8L2xhYmVsPlxyXG5cdDwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJmaWVsZC1yYWRpb2J1dHRvblwiPlxyXG5cdFx0PHAtcmFkaW9CdXR0b24gbmFtZT1cImNvbG9yU2NoZW1lXCIgdmFsdWU9XCJkaW1cIiBbKG5nTW9kZWwpXT1cImNvbG9yU2NoZW1lXCIgaW5wdXRJZD1cIm1vZGUtZGltXCI+PC9wLXJhZGlvQnV0dG9uPlxyXG5cdFx0PGxhYmVsIGZvcj1cIm1vZGUtZGltXCI+RGltPC9sYWJlbD5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwiZmllbGQtcmFkaW9idXR0b25cIj5cclxuXHRcdDxwLXJhZGlvQnV0dG9uIG5hbWU9XCJjb2xvclNjaGVtZVwiIHZhbHVlPVwiZGFya1wiIFsobmdNb2RlbCldPVwiY29sb3JTY2hlbWVcIiBpbnB1dElkPVwibW9kZS1kYXJrXCI+PC9wLXJhZGlvQnV0dG9uPlxyXG5cdFx0PGxhYmVsIGZvcj1cIm1vZGUtZGFya1wiPkRhcms8L2xhYmVsPlxyXG5cdDwvZGl2PlxyXG5cclxuXHRAaWYgKCFtaW5pbWFsKSB7XHJcblx0XHQ8aDU+SW5wdXQgU3R5bGU8L2g1PlxyXG5cdFx0PGRpdiBjbGFzcz1cImZsZXhcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZpZWxkLXJhZGlvYnV0dG9uIGZsZXgtMVwiPlxyXG5cdFx0XHRcdDxwLXJhZGlvQnV0dG9uXHJcblx0XHRcdFx0XHRuYW1lPVwiaW5wdXRTdHlsZVwiXHJcblx0XHRcdFx0XHR2YWx1ZT1cIm91dGxpbmVkXCJcclxuXHRcdFx0XHRcdFsobmdNb2RlbCldPVwiaW5wdXRTdHlsZVwiXHJcblx0XHRcdFx0XHRpbnB1dElkPVwib3V0bGluZWRfaW5wdXRcIj48L3AtcmFkaW9CdXR0b24+XHJcblx0XHRcdFx0PGxhYmVsIGZvcj1cIm91dGxpbmVkX2lucHV0XCI+T3V0bGluZWQ8L2xhYmVsPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZpZWxkLXJhZGlvYnV0dG9uIGZsZXgtMVwiPlxyXG5cdFx0XHRcdDxwLXJhZGlvQnV0dG9uIG5hbWU9XCJpbnB1dFN0eWxlXCIgdmFsdWU9XCJmaWxsZWRcIiBbKG5nTW9kZWwpXT1cImlucHV0U3R5bGVcIiBpbnB1dElkPVwiZmlsbGVkX2lucHV0XCI+PC9wLXJhZGlvQnV0dG9uPlxyXG5cdFx0XHRcdDxsYWJlbCBmb3I9XCJmaWxsZWRfaW5wdXRcIj5GaWxsZWQ8L2xhYmVsPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGg1PlJpcHBsZSBFZmZlY3Q8L2g1PlxyXG5cdFx0PHAtaW5wdXRTd2l0Y2ggWyhuZ01vZGVsKV09XCJyaXBwbGVcIj48L3AtaW5wdXRTd2l0Y2g+XHJcblx0fVxyXG48L3Atc2lkZWJhcj5cclxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbmZpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvY29uZmlnL2FwcC5jb25maWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2NvbmZpZy9hcHAuY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFXaEQsTUFBTSxPQUFPLGtCQUFrQjtJQU85QixZQUNRLGFBQTRCLEVBQzVCLFdBQTJCO1FBRDNCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQVIxQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBRWxDLG9CQUFlLEdBQVUsRUFBRSxDQUFDO1FBRTVCLFdBQU0sR0FBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUtyQyxDQUFDO0lBRUosSUFBSSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxvQkFBb0Is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QUNiLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxjQUFjO1FBQ2IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2QsQ0FBQzs4R0EzSFcsa0JBQWtCO2tHQUFsQixrQkFBa0Isc0dDbEIvQiw0OExBa0pBLDJDRG5JVyxXQUFXLDhWQUFFLGFBQWEsNFdBQUUsaUJBQWlCLDRVQUFFLFlBQVksOEJBQUUsaUJBQWlCOzsyRkFHNUUsa0JBQWtCO2tCQU45QixTQUFTO2lDQUNHLElBQUksWUFDTixZQUFZLFdBQ2IsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDOytHQUlsRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBJbnB1dFN3aXRjaE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRzd2l0Y2gnO1xyXG5pbXBvcnQgeyBSYWRpb0J1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcmFkaW9idXR0b24nO1xyXG5pbXBvcnQgeyBTaWRlYmFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zaWRlYmFyJztcclxuXHJcbmltcG9ydCB7IENvbG9yU2NoZW1lLCBMYXlvdXRTZXJ2aWNlLCBNZW51Q29sb3JTY2hlbWUsIE1lbnVNb2RlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hcHAubGF5b3V0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBNZW51U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYXBwLm1lbnUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXBwLWNvbmZpZycsXHJcblx0aW1wb3J0czogW0Zvcm1zTW9kdWxlLCBTaWRlYmFyTW9kdWxlLCBSYWRpb0J1dHRvbk1vZHVsZSwgQnV0dG9uTW9kdWxlLCBJbnB1dFN3aXRjaE1vZHVsZSwgTmdTdHlsZSwgTmdDbGFzc10sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2FwcC5jb25maWcuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBDb25maWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdEBJbnB1dCgpIG1pbmltYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0Y29tcG9uZW50VGhlbWVzOiBhbnlbXSA9IFtdO1xyXG5cclxuXHRzY2FsZXM6IG51bWJlcltdID0gWzEyLCAxMywgMTQsIDE1LCAxNl07XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHVibGljIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXHJcblx0XHRwdWJsaWMgbWVudVNlcnZpY2U6IEFwcE1lbnVTZXJ2aWNlXHJcblx0KSB7fVxyXG5cclxuXHRnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuY29uZmlnU2lkZWJhclZpc2libGU7XHJcblx0fVxyXG5cdHNldCB2aXNpYmxlKF92YWw6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5jb25maWdTaWRlYmFyVmlzaWJsZSA9IF92YWw7XHJcblx0fVxyXG5cclxuXHRnZXQgc2NhbGUoKTogbnVtYmVyIHtcclxuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkuc2NhbGU7XHJcblx0fVxyXG5cdHNldCBzY2FsZShfdmFsOiBudW1iZXIpIHtcclxuXHRcdHRoaXMubGF5b3V0U2VydmljZS5jb25maWcudXBkYXRlKChjb25maWcpID0+ICh7XHJcblx0XHRcdC4uLmNvbmZpZyxcclxuXHRcdFx0c2NhbGU6IF92YWxcclxuXHRcdH0pKTtcclxuXHR9XHJcblxyXG5cdGdldCBtZW51TW9kZSgpOiBNZW51TW9kZSB7XHJcblx0XHRyZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVNb2RlO1xyXG5cdH1cclxuXHRzZXQgbWVudU1vZGUoX3ZhbDogTWVudU1vZGUpIHtcclxuXHRcdHRoaXMubGF5b3V0U2VydmljZS5jb25maWcudXBkYXRlKChjb25maWcpID0+ICh7XHJcblx0XHRcdC4uLmNvbmZpZyxcclxuXHRcdFx0bWVudU1vZGU6IF92YWxcclxuXHRcdH0pKTtcclxuXHRcdGlmICh0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltUGx1cygpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKSB8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNIb3Jpem9udGFsKCkpIHtcclxuXHRcdFx0dGhpcy5tZW51U2VydmljZS5yZXNldCgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Z2V0IGNvbG9yU2NoZW1lKCk6IENvbG9yU2NoZW1lIHtcclxuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkuY29sb3JTY2hlbWU7XHJcblx0fVxyXG5cdHNldCBjb2xvclNjaGVtZShfdmFsOiBDb2xvclNjaGVtZSkge1xyXG5cdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy51cGRhdGUoKGNvbmZpZykgPT4gKHtcclxuXHRcdFx0Li4uY29uZmlnLFxyXG5cdFx0XHRjb2xvclNjaGVtZTogX3ZhbFxyXG5cdFx0fSkpO1xyXG5cdH1cclxuXHJcblx0Z2V0IGlucHV0U3R5bGUoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkuaW5wdXRTdHlsZTtcclxuXHR9XHJcblx0c2V0IGlucHV0U3R5bGUoX3ZhbDogc3RyaW5nKSB7XHJcblx0XHR0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLnVwZGF0ZSgoY29uZmlnKSA9PiAoe1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdGlucHV0U3R5bGU6IF92YWxcclxuXHRcdH0pKTtcclxuXHR9XHJcblxyXG5cdGdldCByaXBwbGUoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLnJpcHBsZTtcclxuXHR9XHJcblx0c2V0IHJpcHBsZShfdmFsOiBib29sZWFuKSB7XHJcblx0XHR0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLnVwZGF0ZSgoY29uZmlnKSA9PiAoe1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdHJpcHBsZTogX3ZhbFxyXG5cdFx0fSkpO1xyXG5cdH1cclxuXHJcblx0Z2V0IG1lbnVUaGVtZSgpOiBNZW51Q29sb3JTY2hlbWUge1xyXG5cdFx0cmV0dXJuIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51VGhlbWU7XHJcblx0fVxyXG5cdHNldCBtZW51VGhlbWUoX3ZhbDogTWVudUNvbG9yU2NoZW1lKSB7XHJcblx0XHR0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLnVwZGF0ZSgoY29uZmlnKSA9PiAoe1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdG1lbnVUaGVtZTogX3ZhbFxyXG5cdFx0fSkpO1xyXG5cdH1cclxuXHJcblx0Z2V0IHRoZW1lKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLnRoZW1lO1xyXG5cdH1cclxuXHRzZXQgdGhlbWUoX3ZhbDogc3RyaW5nKSB7XHJcblx0XHR0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnLnVwZGF0ZSgoY29uZmlnKSA9PiAoe1xyXG5cdFx0XHQuLi5jb25maWcsXHJcblx0XHRcdHRoZW1lOiBfdmFsXHJcblx0XHR9KSk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMuY29tcG9uZW50VGhlbWVzID0gW1xyXG5cdFx0XHR7IG5hbWU6ICdpbmRpZ28nLCBjb2xvcjogJyM2MzY2RjEnIH0sXHJcblx0XHRcdHsgbmFtZTogJ2JsdWUnLCBjb2xvcjogJyMzQjgyRjYnIH0sXHJcblx0XHRcdHsgbmFtZTogJ3B1cnBsZScsIGNvbG9yOiAnIzhCNUNGNicgfSxcclxuXHRcdFx0eyBuYW1lOiAndGVhbCcsIGNvbG9yOiAnIzE0QjhBNicgfSxcclxuXHRcdFx0eyBuYW1lOiAnY3lhbicsIGNvbG9yOiAnIzA2YjZkNCcgfSxcclxuXHRcdFx0eyBuYW1lOiAnZ3JlZW4nLCBjb2xvcjogJyMxMGI5ODEnIH0sXHJcblx0XHRcdHsgbmFtZTogJ29yYW5nZScsIGNvbG9yOiAnI2Y1OWUwYicgfSxcclxuXHRcdFx0eyBuYW1lOiAncGluaycsIGNvbG9yOiAnI2Q5NDZlZicgfVxyXG5cdFx0XTtcclxuXHR9XHJcblxyXG5cdG9uQ29uZmlnQnV0dG9uQ2xpY2soKSB7XHJcblx0XHR0aGlzLmxheW91dFNlcnZpY2Uuc2hvd0NvbmZpZ1NpZGViYXIoKTtcclxuXHR9XHJcblxyXG5cdGNoYW5nZUNvbG9yU2NoZW1lKGNvbG9yU2NoZW1lOiBDb2xvclNjaGVtZSkge1xyXG5cdFx0dGhpcy5jb2xvclNjaGVtZSA9IGNvbG9yU2NoZW1lO1xyXG5cdH1cclxuXHJcblx0Y2hhbmdlVGhlbWUodGhlbWU6IHN0cmluZykge1xyXG5cdFx0dGhpcy50aGVtZSA9IHRoZW1lO1xyXG5cdH1cclxuXHJcblx0ZGVjcmVtZW50U2NhbGUoKSB7XHJcblx0XHR0aGlzLnNjYWxlLS07XHJcblx0fVxyXG5cclxuXHRpbmNyZW1lbnRTY2FsZSgpIHtcclxuXHRcdHRoaXMuc2NhbGUrKztcclxuXHR9XHJcbn1cclxuIiwiPGJ1dHRvbiBjbGFzcz1cImxheW91dC1jb25maWctYnV0dG9uIHAtbGlua1wiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25Db25maWdCdXR0b25DbGljaygpXCI+XHJcblx0PGkgY2xhc3M9XCJwaSBwaS1jb2dcIj48L2k+XHJcbjwvYnV0dG9uPlxyXG5cclxuPHAtc2lkZWJhclxyXG5cdFsodmlzaWJsZSldPVwidmlzaWJsZVwiXHJcblx0cG9zaXRpb249XCJyaWdodFwiXHJcblx0W3RyYW5zaXRpb25PcHRpb25zXT1cIicuM3MgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSknXCJcclxuXHRzdHlsZUNsYXNzPVwibGF5b3V0LWNvbmZpZy1zaWRlYmFyIHctMThyZW1cIj5cclxuXHQ8IS0tPGg1PlRoZW1lczwvaDU+XHJcblx0PGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIHJvdy1nYXAtM1wiPlxyXG5cdFx0QGZvciAodGhlbWUgb2YgY29tcG9uZW50VGhlbWVzOyB0cmFjayB0aGVtZSkge1xyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwidy0zXCI+XHJcblx0XHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXHJcblx0XHRcdFx0XHRjbGFzcz1cImN1cnNvci1wb2ludGVyIHAtbGluayB3LTJyZW0gaC0ycmVtIGJvcmRlci1jaXJjbGUgZmxleC1zaHJpbmstMCBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcclxuXHRcdFx0XHRcdChjbGljayk9XCJjaGFuZ2VUaGVtZSh0aGVtZS5uYW1lKVwiXHJcblx0XHRcdFx0XHRbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWNvbG9yJzogdGhlbWUuY29sb3IgfVwiPlxyXG5cdFx0XHRcdFx0QGlmICh0aGVtZS5uYW1lID09IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS50aGVtZSkge1xyXG5cdFx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpIHBpLWNoZWNrIHRleHQtd2hpdGVcIj48L2k+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0fVxyXG5cdDwvZGl2Pi0tPlxyXG5cclxuXHQ8IS0tPGg1PlNjYWxlPC9oNT5cclxuXHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuXHRcdDxidXR0b25cclxuXHRcdFx0aWNvbj1cInBpIHBpLW1pbnVzXCJcclxuXHRcdFx0dHlwZT1cImJ1dHRvblwiXHJcblx0XHRcdHBCdXR0b25cclxuXHRcdFx0KGNsaWNrKT1cImRlY3JlbWVudFNjYWxlKClcIlxyXG5cdFx0XHRjbGFzcz1cInAtYnV0dG9uLXRleHQgcC1idXR0b24tcm91bmRlZCB3LTJyZW0gaC0ycmVtIG1yLTJcIlxyXG5cdFx0XHRbZGlzYWJsZWRdPVwic2NhbGUgPT09IHNjYWxlc1swXVwiPjwvYnV0dG9uPlxyXG5cdFx0PGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcblx0XHRcdEBmb3IgKHMgb2Ygc2NhbGVzOyB0cmFjayBzKSB7XHJcblx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1jaXJjbGUtZmlsbCB0ZXh0LTMwMFwiIFtuZ0NsYXNzXT1cInsgJ3RleHQtcHJpbWFyeS01MDAnOiBzID09PSBzY2FsZSB9XCI+PC9pPlxyXG5cdFx0XHR9XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDxidXR0b25cclxuXHRcdFx0aWNvbj1cInBpIHBpLXBsdXNcIlxyXG5cdFx0XHR0eXBlPVwiYnV0dG9uXCJcclxuXHRcdFx0cEJ1dHRvblxyXG5cdFx0XHQoY2xpY2spPVwiaW5jcmVtZW50U2NhbGUoKVwiXHJcblx0XHRcdGNsYXNzPVwicC1idXR0b24tdGV4dCBwLWJ1dHRvbi1yb3VuZGVkIHctMnJlbSBoLTJyZW0gbWwtMlwiXHJcblx0XHRcdFtkaXNhYmxlZF09XCJzY2FsZSA9PT0gc2NhbGVzW3NjYWxlcy5sZW5ndGggLSAxXVwiPjwvYnV0dG9uPlxyXG5cdDwvZGl2PlxyXG4tLT5cclxuXHQ8IS0tXHJcblx0QGlmICghbWluaW1hbCkge1xyXG5cdFx0PGg1Pk1lbnUgVHlwZTwvaDU+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgcm93LWdhcC0zXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB3LTZcIj5cclxuXHRcdFx0XHQ8cC1yYWRpb0J1dHRvbiBuYW1lPVwibWVudU1vZGVcIiB2YWx1ZT1cInN0YXRpY1wiIFsobmdNb2RlbCldPVwibWVudU1vZGVcIiBpbnB1dElkPVwibW9kZTFcIj48L3AtcmFkaW9CdXR0b24+XHJcblx0XHRcdFx0PGxhYmVsIGZvcj1cIm1vZGUxXCI+U3RhdGljPC9sYWJlbD5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB3LTZcIj5cclxuXHRcdFx0XHQ8cC1yYWRpb0J1dHRvbiBuYW1lPVwibWVudU1vZGVcIiB2YWx1ZT1cIm92ZXJsYXlcIiBbKG5nTW9kZWwpXT1cIm1lbnVNb2RlXCIgaW5wdXRJZD1cIm1vZGUyXCI+PC9wLXJhZGlvQnV0dG9uPlxyXG5cdFx0XHRcdDxsYWJlbCBmb3I9XCJtb2RlMlwiPk92ZXJsYXk8L2xhYmVsPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHctNlwiPlxyXG5cdFx0XHRcdDxwLXJhZGlvQnV0dG9uIG5hbWU9XCJtZW51TW9kZVwiIHZhbHVlPVwic2xpbVwiIFsobmdNb2RlbCldPVwibWVudU1vZGVcIiBpbnB1dElkPVwibW9kZTNcIj48L3AtcmFkaW9CdXR0b24+XHJcblx0XHRcdFx0PGxhYmVsIGZvcj1cIm1vZGUzXCI+U2xpbTwvbGFiZWw+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgdy02XCI+XHJcblx0XHRcdFx0PHAtcmFkaW9CdXR0b24gbmFtZT1cIm1lbnVNb2RlXCIgdmFsdWU9XCJzbGltLXBsdXNcIiBbKG5nTW9kZWwpXT1cIm1lbnVNb2RlXCIgaW5wdXRJZD1cIm1vZGU0XCI+PC9wLXJhZGlvQnV0dG9uPlxyXG5cdFx0XHRcdDxsYWJlbCBmb3I9XCJtb2RlM1wiPlNsaW0gKzwvbGFiZWw+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgdy02XCI+XHJcblx0XHRcdFx0PHAtcmFkaW9CdXR0b24gbmFtZT1cIm1lbnVNb2RlXCIgdmFsdWU9XCJyZXZlYWxcIiBbKG5nTW9kZWwpXT1cIm1lbnVNb2RlXCIgaW5wdXRJZD1cIm1vZGU2XCI+PC9wLXJhZGlvQnV0dG9uPlxyXG5cdFx0XHRcdDxsYWJlbCBmb3I9XCJtb2RlNVwiPlJldmVhbDwvbGFiZWw+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgdy02XCI+XHJcblx0XHRcdFx0PHAtcmFkaW9CdXR0b24gbmFtZT1cIm1lbnVNb2RlXCIgdmFsdWU9XCJkcmF3ZXJcIiBbKG5nTW9kZWwpXT1cIm1lbnVNb2RlXCIgaW5wdXRJZD1cIm1vZGU3XCI+PC9wLXJhZGlvQnV0dG9uPlxyXG5cdFx0XHRcdDxsYWJlbCBmb3I9XCJtb2RlNlwiPkRyYXdlcjwvbGFiZWw+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgdy02XCI+XHJcblx0XHRcdFx0PHAtcmFkaW9CdXR0b24gbmFtZT1cIm1lbnVNb2RlXCIgdmFsdWU9XCJob3Jpem9udGFsXCIgWyhuZ01vZGVsKV09XCJtZW51TW9kZVwiIGlucHV0SWQ9XCJtb2RlNVwiPjwvcC1yYWRpb0J1dHRvbj5cclxuXHRcdFx0XHQ8bGFiZWwgZm9yPVwibW9kZTRcIj5Ib3Jpem9udGFsPC9sYWJlbD5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDxoNT5NZW51IFRoZW1lPC9oNT5cclxuXHRcdDxkaXYgY2xhc3M9XCJmaWVsZC1yYWRpb2J1dHRvblwiPlxyXG5cdFx0XHQ8cC1yYWRpb0J1dHRvblxyXG5cdFx0XHRcdG5hbWU9XCJtZW51VGhlbWVcIlxyXG5cdFx0XHRcdHZhbHVlPVwiY29sb3JTY2hlbWVcIlxyXG5cdFx0XHRcdFsobmdNb2RlbCldPVwibWVudVRoZW1lXCJcclxuXHRcdFx0XHRpbnB1dElkPVwibWVudXRoZW1lLWNvbG9yc2NoZW1lXCI+PC9wLXJhZGlvQnV0dG9uPlxyXG5cdFx0XHQ8bGFiZWwgZm9yPVwibWVudXRoZW1lLWNvbG9yc2NoZW1lXCI+Q29sb3IgU2NoZW1lPC9sYWJlbD5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cImZpZWxkLXJhZGlvYnV0dG9uXCI+XHJcblx0XHRcdDxwLXJhZGlvQnV0dG9uXHJcblx0XHRcdFx0bmFtZT1cIm1lbnVUaGVtZVwiXHJcblx0XHRcdFx0dmFsdWU9XCJwcmltYXJ5Q29sb3JcIlxyXG5cdFx0XHRcdFsobmdNb2RlbCldPVwibWVudVRoZW1lXCJcclxuXHRcdFx0XHRpbnB1dElkPVwibWVudXRoZW1lLXByaW1hcnljb2xvclwiPjwvcC1yYWRpb0J1dHRvbj5cclxuXHRcdFx0PGxhYmVsIGZvcj1cIm1lbnV0aGVtZS1wcmltYXJ5Y29sb3JcIj5QcmltYXJ5IENvbG9yPC9sYWJlbD5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cImZpZWxkLXJhZGlvYnV0dG9uXCI+XHJcblx0XHRcdDxwLXJhZGlvQnV0dG9uXHJcblx0XHRcdFx0bmFtZT1cIm1lbnVUaGVtZVwiXHJcblx0XHRcdFx0dmFsdWU9XCJ0cmFuc3BhcmVudFwiXHJcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJtZW51VGhlbWVcIlxyXG5cdFx0XHRcdGlucHV0SWQ9XCJtZW51dGhlbWUtdHJhbnNwYXJlbnRcIj48L3AtcmFkaW9CdXR0b24+XHJcblx0XHRcdDxsYWJlbCBmb3I9XCJtZW51dGhlbWUtdHJhbnNwYXJlbnRcIj5UcmFuc3BhcmVudDwvbGFiZWw+XHJcblx0XHQ8L2Rpdj5cclxuXHR9XHJcbi0tPlxyXG5cclxuXHQ8aDU+Q29sb3IgU2NoZW1lPC9oNT5cclxuXHQ8ZGl2IGNsYXNzPVwiZmllbGQtcmFkaW9idXR0b25cIj5cclxuXHRcdDxwLXJhZGlvQnV0dG9uIG5hbWU9XCJjb2xvclNjaGVtZVwiIHZhbHVlPVwibGlnaHRcIiBbKG5nTW9kZWwpXT1cImNvbG9yU2NoZW1lXCIgaW5wdXRJZD1cIm1vZGUtbGlnaHRcIj48L3AtcmFkaW9CdXR0b24+XHJcblx0XHQ8bGFiZWwgZm9yPVwibW9kZS1saWdodFwiPkxpZ2h0PC9sYWJlbD5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwiZmllbGQtcmFkaW9idXR0b25cIj5cclxuXHRcdDxwLXJhZGlvQnV0dG9uIG5hbWU9XCJjb2xvclNjaGVtZVwiIHZhbHVlPVwiZGltXCIgWyhuZ01vZGVsKV09XCJjb2xvclNjaGVtZVwiIGlucHV0SWQ9XCJtb2RlLWRpbVwiPjwvcC1yYWRpb0J1dHRvbj5cclxuXHRcdDxsYWJlbCBmb3I9XCJtb2RlLWRpbVwiPkRpbTwvbGFiZWw+XHJcblx0PC9kaXY+XHJcblx0PGRpdiBjbGFzcz1cImZpZWxkLXJhZGlvYnV0dG9uXCI+XHJcblx0XHQ8cC1yYWRpb0J1dHRvbiBuYW1lPVwiY29sb3JTY2hlbWVcIiB2YWx1ZT1cImRhcmtcIiBbKG5nTW9kZWwpXT1cImNvbG9yU2NoZW1lXCIgaW5wdXRJZD1cIm1vZGUtZGFya1wiPjwvcC1yYWRpb0J1dHRvbj5cclxuXHRcdDxsYWJlbCBmb3I9XCJtb2RlLWRhcmtcIj5EYXJrPC9sYWJlbD5cclxuXHQ8L2Rpdj5cclxuXHJcblx0PCEtLVxyXG5cdEBpZiAoIW1pbmltYWwpIHtcclxuXHRcdDxoNT5JbnB1dCBTdHlsZTwvaDU+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmllbGQtcmFkaW9idXR0b24gZmxleC0xXCI+XHJcblx0XHRcdFx0PHAtcmFkaW9CdXR0b25cclxuXHRcdFx0XHRcdG5hbWU9XCJpbnB1dFN0eWxlXCJcclxuXHRcdFx0XHRcdHZhbHVlPVwib3V0bGluZWRcIlxyXG5cdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJpbnB1dFN0eWxlXCJcclxuXHRcdFx0XHRcdGlucHV0SWQ9XCJvdXRsaW5lZF9pbnB1dFwiPjwvcC1yYWRpb0J1dHRvbj5cclxuXHRcdFx0XHQ8bGFiZWwgZm9yPVwib3V0bGluZWRfaW5wdXRcIj5PdXRsaW5lZDwvbGFiZWw+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmllbGQtcmFkaW9idXR0b24gZmxleC0xXCI+XHJcblx0XHRcdFx0PHAtcmFkaW9CdXR0b24gbmFtZT1cImlucHV0U3R5bGVcIiB2YWx1ZT1cImZpbGxlZFwiIFsobmdNb2RlbCldPVwiaW5wdXRTdHlsZVwiIGlucHV0SWQ9XCJmaWxsZWRfaW5wdXRcIj48L3AtcmFkaW9CdXR0b24+XHJcblx0XHRcdFx0PGxhYmVsIGZvcj1cImZpbGxlZF9pbnB1dFwiPkZpbGxlZDwvbGFiZWw+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8aDU+UmlwcGxlIEVmZmVjdDwvaDU+XHJcblx0XHQ8cC1pbnB1dFN3aXRjaCBbKG5nTW9kZWwpXT1cInJpcHBsZVwiPjwvcC1pbnB1dFN3aXRjaD5cclxuXHR9XHJcbi0tPlxyXG48L3Atc2lkZWJhcj5cclxuIl19
@@ -7,7 +7,6 @@ import { DialogModule } from 'primeng/dialog';
7
7
  import { MessagesModule } from 'primeng/messages';
8
8
  import { ToastModule } from 'primeng/toast';
9
9
  import { filter } from 'rxjs';
10
- import { AppBreadcrumbComponent } from '../breadcrumb/app.breadcrumb.component';
11
10
  import { AppConfigComponent } from '../config/app.config.component';
12
11
  import { AppProfileSidebarComponent } from '../profileSidebar/app.profilesidebar.component';
13
12
  import { AppSidebarComponent } from '../sidebar/app.sidebar.component';
@@ -121,7 +120,7 @@ export class AppLayoutComponent {
121
120
  }
122
121
  }
123
122
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppLayoutComponent, deps: [{ token: i1.AppMenuService }, { token: i2.LayoutService }, { token: i0.Renderer2 }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
124
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopbarComponent, descendants: true }], ngImport: i0, template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\r\n\t<app-sidebar />\r\n\t<div class=\"layout-content-wrapper\">\r\n\t\t<app-topbar />\r\n\t\t<div class=\"layout-content card\">\r\n\t\t\t<router-outlet />\r\n\t\t</div>\r\n\t</div>\r\n\t<app-profilemenu />\r\n\t<!-- <app-config></app-config> -->\r\n\t<div class=\"layout-mask\"></div>\r\n</div>\r\n\r\n<p-toast key=\"toast-root\" />\r\n<p-dialog key=\"dialog-root\" />\r\n<p-messages key=\"messages-root\" />\r\n<p-confirmPopup key=\"confirmPopup-root\" />\r\n<p-confirmDialog key=\"confirmDialog-root\" />\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i4.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }, { kind: "ngmodule", type: ConfirmPopupModule }, { kind: "component", type: i5.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i6.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i7.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i8.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: AppSidebarComponent, selector: "app-sidebar" }, { kind: "component", type: AppTopbarComponent, selector: "app-topbar" }, { kind: "component", type: AppProfileSidebarComponent, selector: "app-profilemenu" }] }); }
123
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopbarComponent, descendants: true }], ngImport: i0, template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\r\n\t<app-sidebar />\r\n\t<div class=\"layout-content-wrapper\">\r\n\t\t<app-topbar />\r\n\t\t<div class=\"layout-content card\">\r\n\t\t\t<router-outlet />\r\n\t\t</div>\r\n\t</div>\r\n\t<app-profilemenu />\r\n\t<!--<app-config></app-config>-->\r\n\t<div class=\"layout-mask\"></div>\r\n</div>\r\n\r\n<p-toast key=\"toast-root\" />\r\n<p-dialog key=\"dialog-root\" />\r\n<p-messages key=\"messages-root\" />\r\n<p-confirmPopup key=\"confirmPopup-root\" />\r\n<p-confirmDialog key=\"confirmDialog-root\" />\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i4.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }, { kind: "ngmodule", type: ConfirmPopupModule }, { kind: "component", type: i5.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i6.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i7.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i8.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: AppSidebarComponent, selector: "app-sidebar" }, { kind: "component", type: AppTopbarComponent, selector: "app-topbar" }, { kind: "component", type: AppProfileSidebarComponent, selector: "app-profilemenu" }] }); }
125
124
  }
126
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppLayoutComponent, decorators: [{
127
126
  type: Component,
@@ -135,10 +134,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
135
134
  ToastModule,
136
135
  AppSidebarComponent,
137
136
  AppTopbarComponent,
138
- AppBreadcrumbComponent,
139
137
  AppProfileSidebarComponent,
140
138
  AppConfigComponent
141
- ], template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\r\n\t<app-sidebar />\r\n\t<div class=\"layout-content-wrapper\">\r\n\t\t<app-topbar />\r\n\t\t<div class=\"layout-content card\">\r\n\t\t\t<router-outlet />\r\n\t\t</div>\r\n\t</div>\r\n\t<app-profilemenu />\r\n\t<!-- <app-config></app-config> -->\r\n\t<div class=\"layout-mask\"></div>\r\n</div>\r\n\r\n<p-toast key=\"toast-root\" />\r\n<p-dialog key=\"dialog-root\" />\r\n<p-messages key=\"messages-root\" />\r\n<p-confirmPopup key=\"confirmPopup-root\" />\r\n<p-confirmDialog key=\"confirmDialog-root\" />\r\n" }]
139
+ ], template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\r\n\t<app-sidebar />\r\n\t<div class=\"layout-content-wrapper\">\r\n\t\t<app-topbar />\r\n\t\t<div class=\"layout-content card\">\r\n\t\t\t<router-outlet />\r\n\t\t</div>\r\n\t</div>\r\n\t<app-profilemenu />\r\n\t<!--<app-config></app-config>-->\r\n\t<div class=\"layout-mask\"></div>\r\n</div>\r\n\r\n<p-toast key=\"toast-root\" />\r\n<p-dialog key=\"dialog-root\" />\r\n<p-messages key=\"messages-root\" />\r\n<p-confirmPopup key=\"confirmPopup-root\" />\r\n<p-confirmDialog key=\"confirmDialog-root\" />\r\n" }]
142
140
  }], ctorParameters: () => [{ type: i1.AppMenuService }, { type: i2.LayoutService }, { type: i0.Renderer2 }, { type: i3.Router }], propDecorators: { appSidebar: [{
143
141
  type: ViewChild,
144
142
  args: [AppSidebarComponent]
@@ -146,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
146
144
  type: ViewChild,
147
145
  args: [AppTopbarComponent]
148
146
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvbGF5b3V0L2FwcC5sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2xheW91dC9hcHAubGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUF3QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFnQixNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJNUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDNUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7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RkFLZixrQkFBa0I7a0JBbkI5QixTQUFTO2lDQUNHLElBQUksWUFDTixZQUFZLFdBQ2I7d0JBQ1IsT0FBTzt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0QiwwQkFBMEI7d0JBQzFCLGtCQUFrQjtxQkFDbEI7NEpBWStCLFVBQVU7c0JBQXpDLFNBQVM7dUJBQUMsbUJBQW1CO2dCQUVDLFNBQVM7c0JBQXZDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIsIFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBDb25maXJtRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jb25maXJtZGlhbG9nJztcclxuaW1wb3J0IHsgQ29uZmlybVBvcHVwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jb25maXJtcG9wdXAnO1xyXG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1lc3NhZ2VzTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tZXNzYWdlcyc7XHJcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XHJcblxyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGZpbHRlciB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYXBwLmxheW91dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBwTWVudVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2FwcC5tZW51LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi4vYnJlYWRjcnVtYi9hcHAuYnJlYWRjcnVtYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdDb21wb25lbnQgfSBmcm9tICcuLi9jb25maWcvYXBwLmNvbmZpZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBQcm9maWxlU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4uL3Byb2ZpbGVTaWRlYmFyL2FwcC5wcm9maWxlc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2lkZWJhci9hcHAuc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBUb3BiYXJDb21wb25lbnQgfSBmcm9tICcuLi90b3BiYXIvYXBwLnRvcGJhci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FwcC1sYXlvdXQnLFxyXG5cdGltcG9ydHM6IFtcclxuXHRcdE5nQ2xhc3MsXHJcblx0XHRSb3V0ZXJPdXRsZXQsXHJcblx0XHRDb25maXJtRGlhbG9nTW9kdWxlLFxyXG5cdFx0Q29uZmlybVBvcHVwTW9kdWxlLFxyXG5cdFx0RGlhbG9nTW9kdWxlLFxyXG5cdFx0TWVzc2FnZXNNb2R1bGUsXHJcblx0XHRUb2FzdE1vZHVsZSxcclxuXHRcdEFwcFNpZGViYXJDb21wb25lbnQsXHJcblx0XHRBcHBUb3BiYXJDb21wb25lbnQsXHJcblx0XHRBcHBCcmVhZGNydW1iQ29tcG9uZW50LFxyXG5cdFx0QXBwUHJvZmlsZVNpZGViYXJDb21wb25lbnQsXHJcblx0XHRBcHBDb25maWdDb21wb25lbnRcclxuXHRdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9hcHAubGF5b3V0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHRvdmVybGF5TWVudU9wZW5TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcblx0bWVudU91dHNpZGVDbGlja0xpc3RlbmVyOiBhbnk7XHJcblxyXG5cdG1lbnVTY3JvbGxMaXN0ZW5lcjogYW55O1xyXG5cclxuXHRnbG9iYWxUaGlzOiBhbnkgPSBnbG9iYWxUaGlzO1xyXG5cclxuXHRAVmlld0NoaWxkKEFwcFNpZGViYXJDb21wb25lbnQpIGFwcFNpZGViYXIhOiBBcHBTaWRlYmFyQ29tcG9uZW50O1xyXG5cclxuXHRAVmlld0NoaWxkKEFwcFRvcGJhckNvbXBvbmVudCkgYXBwVG9wYmFyITogQXBwVG9wYmFyQ29tcG9uZW50O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgbWVudVNlcnZpY2U6IEFwcE1lbnVTZXJ2aWNlLFxyXG5cdFx0cHVibGljIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXHJcblx0XHRwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuXHRcdHB1YmxpYyByb3V0ZXI6IFJvdXRlclxyXG5cdCkge1xyXG5cdFx0dGhpcy5vdmVybGF5TWVudU9wZW5TdWJzY3JpcHRpb24gPSB0aGlzLmxheW91dFNlcnZpY2Uub3ZlcmxheU9wZW4kLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdGlmICghdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcclxuXHRcdFx0XHR0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIChldmVudCkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc3QgaXNPdXRzaWRlQ2xpY2tlZCA9ICEoXHJcblx0XHRcdFx0XHRcdHRoaXMuYXBwU2lkZWJhci5lbC5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fFxyXG5cdFx0XHRcdFx0XHR0aGlzLmFwcFNpZGViYXIuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpIHx8XHJcblx0XHRcdFx0XHRcdHRoaXMuYXBwVG9wYmFyLm1lbnVCdXR0b24ubmF0aXZlRWxlbWVudC5pc1NhbWVOb2RlKGV2ZW50LnRhcmdldCkgfHxcclxuXHRcdFx0XHRcdFx0dGhpcy5hcHBUb3BiYXIubWVudUJ1dHRvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRpZiAoaXNPdXRzaWRlQ2xpY2tlZCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmhpZGVNZW51KCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmIChcclxuXHRcdFx0XHQodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKSB8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltUGx1cygpKSAmJlxyXG5cdFx0XHRcdCF0aGlzLm1lbnVTY3JvbGxMaXN0ZW5lclxyXG5cdFx0XHQpIHtcclxuXHRcdFx0XHR0aGlzLm1lbnVTY3JvbGxMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKFxyXG5cdFx0XHRcdFx0dGhpcy5hcHBTaWRlYmFyLm1lbnVDb250YWluZXIubmF0aXZlRWxlbWVudCxcclxuXHRcdFx0XHRcdCdzY3JvbGwnLFxyXG5cdFx0XHRcdFx0KGV2ZW50KSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmICh0aGlzLmxheW91dFNlcnZpY2UuaXNEZXNrdG9wKCkpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmhpZGVNZW51KCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAodGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUpIHtcclxuXHRcdFx0XHR0aGlzLmJsb2NrQm9keVNjcm9sbCgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHRpZiAoIXRoaXMubGF5b3V0U2VydmljZS5tZmVBcHBJdGVtQ2xpY2tlZCgpKSB0aGlzLmhpZGVNZW51KCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGJsb2NrQm9keVNjcm9sbCgpOiB2b2lkIHtcclxuXHRcdGlmIChkb2N1bWVudC5ib2R5LmNsYXNzTGlzdCkge1xyXG5cdFx0XHRkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ2Jsb2NrZWQtc2Nyb2xsJyk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSArPSAnIGJsb2NrZWQtc2Nyb2xsJztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHVuYmxvY2tCb2R5U2Nyb2xsKCk6IHZvaWQge1xyXG5cdFx0aWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0KSB7XHJcblx0XHRcdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnYmxvY2tlZC1zY3JvbGwnKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWUucmVwbGFjZShcclxuXHRcdFx0XHRuZXcgUmVnRXhwKCcoXnxcXFxcYiknICsgJ2Jsb2NrZWQtc2Nyb2xsJy5zcGxpdCgnICcpLmpvaW4oJ3wnKSArICcoXFxcXGJ8JCknLCAnZ2knKSxcclxuXHRcdFx0XHQnICdcclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGhpZGVNZW51KCkge1xyXG5cdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm92ZXJsYXlNZW51QWN0aXZlID0gZmFsc2U7XHJcblx0XHR0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSA9IGZhbHNlO1xyXG5cdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm1lbnVIb3ZlckFjdGl2ZSA9IGZhbHNlO1xyXG5cdFx0dGhpcy5tZW51U2VydmljZS5yZXNldCgpO1xyXG5cclxuXHRcdGlmICh0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xyXG5cdFx0XHR0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcigpO1xyXG5cdFx0XHR0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMubWVudVNjcm9sbExpc3RlbmVyKSB7XHJcblx0XHRcdHRoaXMubWVudVNjcm9sbExpc3RlbmVyKCk7XHJcblx0XHRcdHRoaXMubWVudVNjcm9sbExpc3RlbmVyID0gbnVsbDtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLnVuYmxvY2tCb2R5U2Nyb2xsKCk7XHJcblx0fVxyXG5cclxuXHRnZXQgY29udGFpbmVyQ2xhc3MoKSB7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHQnbGF5b3V0LWxpZ2h0JzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLmNvbG9yU2NoZW1lID09PSAnbGlnaHQnLFxyXG5cdFx0XHQnbGF5b3V0LWRpbSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5jb2xvclNjaGVtZSA9PT0gJ2RpbScsXHJcblx0XHRcdCdsYXlvdXQtZGFyayc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5jb2xvclNjaGVtZSA9PT0gJ2RhcmsnLFxyXG5cdFx0XHQnbGF5b3V0LWNvbG9yc2NoZW1lLW1lbnUnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkubWVudVRoZW1lID09PSAnY29sb3JTY2hlbWUnLFxyXG5cdFx0XHQnbGF5b3V0LXByaW1hcnljb2xvci1tZW51JzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVUaGVtZSA9PT0gJ3ByaW1hcnlDb2xvcicsXHJcblx0XHRcdCdsYXlvdXQtdHJhbnNwYXJlbnQtbWVudSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51VGhlbWUgPT09ICd0cmFuc3BhcmVudCcsXHJcblx0XHRcdCdsYXlvdXQtb3ZlcmxheSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ292ZXJsYXknLFxyXG5cdFx0XHQnbGF5b3V0LXN0YXRpYyc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ3N0YXRpYycsXHJcblx0XHRcdCdsYXlvdXQtc2xpbSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ3NsaW0nLFxyXG5cdFx0XHQnbGF5b3V0LXNsaW0tcGx1cyc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ3NsaW0tcGx1cycsXHJcblx0XHRcdCdsYXlvdXQtaG9yaXpvbnRhbCc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ2hvcml6b250YWwnLFxyXG5cdFx0XHQnbGF5b3V0LXJldmVhbCc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ3JldmVhbCcsXHJcblx0XHRcdCdsYXlvdXQtZHJhd2VyJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVNb2RlID09PSAnZHJhd2VyJyxcclxuXHRcdFx0J2xheW91dC1zdGF0aWMtaW5hY3RpdmUnOlxyXG5cdFx0XHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51RGVza3RvcEluYWN0aXZlICYmIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ3N0YXRpYycsXHJcblx0XHRcdCdsYXlvdXQtb3ZlcmxheS1hY3RpdmUnOiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUub3ZlcmxheU1lbnVBY3RpdmUsXHJcblx0XHRcdCdsYXlvdXQtbW9iaWxlLWFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlLFxyXG5cdFx0XHQncC1pbnB1dC1maWxsZWQnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkuaW5wdXRTdHlsZSA9PT0gJ2ZpbGxlZCcsXHJcblx0XHRcdCdwLXJpcHBsZS1kaXNhYmxlZCc6ICF0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkucmlwcGxlLFxyXG5cdFx0XHQnbGF5b3V0LXNpZGViYXItYWN0aXZlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnNpZGViYXJBY3RpdmUsXHJcblx0XHRcdCdsYXlvdXQtc2lkZWJhci1hbmNob3JlZCc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5hbmNob3JlZFxyXG5cdFx0fTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0aWYgKHRoaXMub3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdHRoaXMub3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XHJcblx0XHRcdHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIj5cclxuXHQ8YXBwLXNpZGViYXIgLz5cclxuXHQ8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbnRlbnQtd3JhcHBlclwiPlxyXG5cdFx0PGFwcC10b3BiYXIgLz5cclxuXHRcdDxkaXYgY2xhc3M9XCJsYXlvdXQtY29udGVudCBjYXJkXCI+XHJcblx0XHRcdDxyb3V0ZXItb3V0bGV0IC8+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHQ8YXBwLXByb2ZpbGVtZW51IC8+XHJcblx0PCEtLSA8YXBwLWNvbmZpZz48L2FwcC1jb25maWc+IC0tPlxyXG5cdDxkaXYgY2xhc3M9XCJsYXlvdXQtbWFza1wiPjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxwLXRvYXN0IGtleT1cInRvYXN0LXJvb3RcIiAvPlxyXG48cC1kaWFsb2cga2V5PVwiZGlhbG9nLXJvb3RcIiAvPlxyXG48cC1tZXNzYWdlcyBrZXk9XCJtZXNzYWdlcy1yb290XCIgLz5cclxuPHAtY29uZmlybVBvcHVwIGtleT1cImNvbmZpcm1Qb3B1cC1yb290XCIgLz5cclxuPHAtY29uZmlybURpYWxvZyBrZXk9XCJjb25maXJtRGlhbG9nLXJvb3RcIiAvPlxyXG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvbGF5b3V0L2FwcC5sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC90aGVtZS9sYXlvdXQvYXBwL2xheW91dC9hcHAubGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUF3QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFnQixNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDNUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7QUFvQnBFLE1BQU0sT0FBTyxrQkFBa0I7SUFhOUIsWUFDUyxXQUEyQixF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LFdBQ2I7d0JBQ1IsT0FBTzt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQixrQkFBa0I7cUJBQ2xCOzRKQVkrQixVQUFVO3NCQUF6QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFFQyxTQUFTO3NCQUF2QyxTQUFTO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybWRpYWxvZyc7XHJcbmltcG9ydCB7IENvbmZpcm1Qb3B1cE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybXBvcHVwJztcclxuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNZXNzYWdlc01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbWVzc2FnZXMnO1xyXG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2FwcC5sYXlvdXQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hcHAubWVudS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBwQ29uZmlnQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlnL2FwcC5jb25maWcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBwUHJvZmlsZVNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuLi9wcm9maWxlU2lkZWJhci9hcHAucHJvZmlsZXNpZGViYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBwU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4uL3NpZGViYXIvYXBwLnNpZGViYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBwVG9wYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9wYmFyL2FwcC50b3BiYXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcHAtbGF5b3V0JyxcclxuXHRpbXBvcnRzOiBbXHJcblx0XHROZ0NsYXNzLFxyXG5cdFx0Um91dGVyT3V0bGV0LFxyXG5cdFx0Q29uZmlybURpYWxvZ01vZHVsZSxcclxuXHRcdENvbmZpcm1Qb3B1cE1vZHVsZSxcclxuXHRcdERpYWxvZ01vZHVsZSxcclxuXHRcdE1lc3NhZ2VzTW9kdWxlLFxyXG5cdFx0VG9hc3RNb2R1bGUsXHJcblx0XHRBcHBTaWRlYmFyQ29tcG9uZW50LFxyXG5cdFx0QXBwVG9wYmFyQ29tcG9uZW50LFxyXG5cdFx0QXBwUHJvZmlsZVNpZGViYXJDb21wb25lbnQsXHJcblx0XHRBcHBDb25maWdDb21wb25lbnRcclxuXHRdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9hcHAubGF5b3V0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHRvdmVybGF5TWVudU9wZW5TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcblx0bWVudU91dHNpZGVDbGlja0xpc3RlbmVyOiBhbnk7XHJcblxyXG5cdG1lbnVTY3JvbGxMaXN0ZW5lcjogYW55O1xyXG5cclxuXHRnbG9iYWxUaGlzOiBhbnkgPSBnbG9iYWxUaGlzO1xyXG5cclxuXHRAVmlld0NoaWxkKEFwcFNpZGViYXJDb21wb25lbnQpIGFwcFNpZGViYXIhOiBBcHBTaWRlYmFyQ29tcG9uZW50O1xyXG5cclxuXHRAVmlld0NoaWxkKEFwcFRvcGJhckNvbXBvbmVudCkgYXBwVG9wYmFyITogQXBwVG9wYmFyQ29tcG9uZW50O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgbWVudVNlcnZpY2U6IEFwcE1lbnVTZXJ2aWNlLFxyXG5cdFx0cHVibGljIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXHJcblx0XHRwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuXHRcdHB1YmxpYyByb3V0ZXI6IFJvdXRlclxyXG5cdCkge1xyXG5cdFx0dGhpcy5vdmVybGF5TWVudU9wZW5TdWJzY3JpcHRpb24gPSB0aGlzLmxheW91dFNlcnZpY2Uub3ZlcmxheU9wZW4kLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdGlmICghdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIpIHtcclxuXHRcdFx0XHR0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIChldmVudCkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc3QgaXNPdXRzaWRlQ2xpY2tlZCA9ICEoXHJcblx0XHRcdFx0XHRcdHRoaXMuYXBwU2lkZWJhci5lbC5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fFxyXG5cdFx0XHRcdFx0XHR0aGlzLmFwcFNpZGViYXIuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpIHx8XHJcblx0XHRcdFx0XHRcdHRoaXMuYXBwVG9wYmFyLm1lbnVCdXR0b24ubmF0aXZlRWxlbWVudC5pc1NhbWVOb2RlKGV2ZW50LnRhcmdldCkgfHxcclxuXHRcdFx0XHRcdFx0dGhpcy5hcHBUb3BiYXIubWVudUJ1dHRvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRpZiAoaXNPdXRzaWRlQ2xpY2tlZCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmhpZGVNZW51KCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmIChcclxuXHRcdFx0XHQodGhpcy5sYXlvdXRTZXJ2aWNlLmlzSG9yaXpvbnRhbCgpIHx8IHRoaXMubGF5b3V0U2VydmljZS5pc1NsaW0oKSB8fCB0aGlzLmxheW91dFNlcnZpY2UuaXNTbGltUGx1cygpKSAmJlxyXG5cdFx0XHRcdCF0aGlzLm1lbnVTY3JvbGxMaXN0ZW5lclxyXG5cdFx0XHQpIHtcclxuXHRcdFx0XHR0aGlzLm1lbnVTY3JvbGxMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKFxyXG5cdFx0XHRcdFx0dGhpcy5hcHBTaWRlYmFyLm1lbnVDb250YWluZXIubmF0aXZlRWxlbWVudCxcclxuXHRcdFx0XHRcdCdzY3JvbGwnLFxyXG5cdFx0XHRcdFx0KGV2ZW50KSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmICh0aGlzLmxheW91dFNlcnZpY2UuaXNEZXNrdG9wKCkpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmhpZGVNZW51KCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAodGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUpIHtcclxuXHRcdFx0XHR0aGlzLmJsb2NrQm9keVNjcm9sbCgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHRpZiAoIXRoaXMubGF5b3V0U2VydmljZS5tZmVBcHBJdGVtQ2xpY2tlZCgpKSB0aGlzLmhpZGVNZW51KCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGJsb2NrQm9keVNjcm9sbCgpOiB2b2lkIHtcclxuXHRcdGlmIChkb2N1bWVudC5ib2R5LmNsYXNzTGlzdCkge1xyXG5cdFx0XHRkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ2Jsb2NrZWQtc2Nyb2xsJyk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSArPSAnIGJsb2NrZWQtc2Nyb2xsJztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHVuYmxvY2tCb2R5U2Nyb2xsKCk6IHZvaWQge1xyXG5cdFx0aWYgKGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0KSB7XHJcblx0XHRcdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnYmxvY2tlZC1zY3JvbGwnKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWUucmVwbGFjZShcclxuXHRcdFx0XHRuZXcgUmVnRXhwKCcoXnxcXFxcYiknICsgJ2Jsb2NrZWQtc2Nyb2xsJy5zcGxpdCgnICcpLmpvaW4oJ3wnKSArICcoXFxcXGJ8JCknLCAnZ2knKSxcclxuXHRcdFx0XHQnICdcclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGhpZGVNZW51KCkge1xyXG5cdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm92ZXJsYXlNZW51QWN0aXZlID0gZmFsc2U7XHJcblx0XHR0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSA9IGZhbHNlO1xyXG5cdFx0dGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLm1lbnVIb3ZlckFjdGl2ZSA9IGZhbHNlO1xyXG5cdFx0dGhpcy5tZW51U2VydmljZS5yZXNldCgpO1xyXG5cclxuXHRcdGlmICh0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xyXG5cdFx0XHR0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcigpO1xyXG5cdFx0XHR0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMubWVudVNjcm9sbExpc3RlbmVyKSB7XHJcblx0XHRcdHRoaXMubWVudVNjcm9sbExpc3RlbmVyKCk7XHJcblx0XHRcdHRoaXMubWVudVNjcm9sbExpc3RlbmVyID0gbnVsbDtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLnVuYmxvY2tCb2R5U2Nyb2xsKCk7XHJcblx0fVxyXG5cclxuXHRnZXQgY29udGFpbmVyQ2xhc3MoKSB7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHQnbGF5b3V0LWxpZ2h0JzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLmNvbG9yU2NoZW1lID09PSAnbGlnaHQnLFxyXG5cdFx0XHQnbGF5b3V0LWRpbSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5jb2xvclNjaGVtZSA9PT0gJ2RpbScsXHJcblx0XHRcdCdsYXlvdXQtZGFyayc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5jb2xvclNjaGVtZSA9PT0gJ2RhcmsnLFxyXG5cdFx0XHQnbGF5b3V0LWNvbG9yc2NoZW1lLW1lbnUnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkubWVudVRoZW1lID09PSAnY29sb3JTY2hlbWUnLFxyXG5cdFx0XHQnbGF5b3V0LXByaW1hcnljb2xvci1tZW51JzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVUaGVtZSA9PT0gJ3ByaW1hcnlDb2xvcicsXHJcblx0XHRcdCdsYXlvdXQtdHJhbnNwYXJlbnQtbWVudSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51VGhlbWUgPT09ICd0cmFuc3BhcmVudCcsXHJcblx0XHRcdCdsYXlvdXQtb3ZlcmxheSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ292ZXJsYXknLFxyXG5cdFx0XHQnbGF5b3V0LXN0YXRpYyc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ3N0YXRpYycsXHJcblx0XHRcdCdsYXlvdXQtc2xpbSc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ3NsaW0nLFxyXG5cdFx0XHQnbGF5b3V0LXNsaW0tcGx1cyc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ3NsaW0tcGx1cycsXHJcblx0XHRcdCdsYXlvdXQtaG9yaXpvbnRhbCc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ2hvcml6b250YWwnLFxyXG5cdFx0XHQnbGF5b3V0LXJldmVhbCc6IHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ3JldmVhbCcsXHJcblx0XHRcdCdsYXlvdXQtZHJhd2VyJzogdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZygpLm1lbnVNb2RlID09PSAnZHJhd2VyJyxcclxuXHRcdFx0J2xheW91dC1zdGF0aWMtaW5hY3RpdmUnOlxyXG5cdFx0XHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51RGVza3RvcEluYWN0aXZlICYmIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcoKS5tZW51TW9kZSA9PT0gJ3N0YXRpYycsXHJcblx0XHRcdCdsYXlvdXQtb3ZlcmxheS1hY3RpdmUnOiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUub3ZlcmxheU1lbnVBY3RpdmUsXHJcblx0XHRcdCdsYXlvdXQtbW9iaWxlLWFjdGl2ZSc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlLFxyXG5cdFx0XHQncC1pbnB1dC1maWxsZWQnOiB0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkuaW5wdXRTdHlsZSA9PT0gJ2ZpbGxlZCcsXHJcblx0XHRcdCdwLXJpcHBsZS1kaXNhYmxlZCc6ICF0aGlzLmxheW91dFNlcnZpY2UuY29uZmlnKCkucmlwcGxlLFxyXG5cdFx0XHQnbGF5b3V0LXNpZGViYXItYWN0aXZlJzogdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnNpZGViYXJBY3RpdmUsXHJcblx0XHRcdCdsYXlvdXQtc2lkZWJhci1hbmNob3JlZCc6IHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5hbmNob3JlZFxyXG5cdFx0fTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0aWYgKHRoaXMub3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdHRoaXMub3ZlcmxheU1lbnVPcGVuU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKSB7XHJcblx0XHRcdHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyKCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIj5cclxuXHQ8YXBwLXNpZGViYXIgLz5cclxuXHQ8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbnRlbnQtd3JhcHBlclwiPlxyXG5cdFx0PGFwcC10b3BiYXIgLz5cclxuXHRcdDxkaXYgY2xhc3M9XCJsYXlvdXQtY29udGVudCBjYXJkXCI+XHJcblx0XHRcdDxyb3V0ZXItb3V0bGV0IC8+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHQ8YXBwLXByb2ZpbGVtZW51IC8+XHJcblx0PCEtLTxhcHAtY29uZmlnPjwvYXBwLWNvbmZpZz4tLT5cclxuXHQ8ZGl2IGNsYXNzPVwibGF5b3V0LW1hc2tcIj48L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48cC10b2FzdCBrZXk9XCJ0b2FzdC1yb290XCIgLz5cclxuPHAtZGlhbG9nIGtleT1cImRpYWxvZy1yb290XCIgLz5cclxuPHAtbWVzc2FnZXMga2V5PVwibWVzc2FnZXMtcm9vdFwiIC8+XHJcbjxwLWNvbmZpcm1Qb3B1cCBrZXk9XCJjb25maXJtUG9wdXAtcm9vdFwiIC8+XHJcbjxwLWNvbmZpcm1EaWFsb2cga2V5PVwiY29uZmlybURpYWxvZy1yb290XCIgLz5cclxuIl19
@@ -3,4 +3,5 @@ export * from './app/layout/mfe.layout.component';
3
3
  export * from './service/app.menu.service';
4
4
  export * from './service/selection-group.service';
5
5
  export * from './service/breadcrumb.service';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcC9sYXlvdXQvYXBwLmxheW91dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FwcC9sYXlvdXQvbWZlLmxheW91dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2UvYXBwLm1lbnUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZS9zZWxlY3Rpb24tZ3JvdXAuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZS9icmVhZGNydW1iLnNlcnZpY2UnO1xyXG5cclxuIl19
6
+ export * from './service/app.layout.service';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBwL2xheW91dC9hcHAubGF5b3V0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXBwL2xheW91dC9tZmUubGF5b3V0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZS9hcHAubWVudS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlL3NlbGVjdGlvbi1ncm91cC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlL2JyZWFkY3J1bWIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZS9hcHAubGF5b3V0LnNlcnZpY2UnO1xyXG4iXX0=
@@ -2,6 +2,7 @@ import { Component, EventEmitter, Output, effect, input, signal } from '@angular
2
2
  import { ReactiveFormsModule } from '@angular/forms';
3
3
  import { DxSelectBoxModule } from 'devextreme-angular/ui/select-box';
4
4
  import { firstValueFrom } from 'rxjs';
5
+ import { API_CONFIGS } from 'aril/boot/config/api';
5
6
  import { BaseInputComponent, DXInputErrorMessagePipe, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/common/http";
@@ -24,7 +25,7 @@ export class RolePickerComponent extends BaseInputComponent {
24
25
  this.showClearButton = input(true);
25
26
  this.placeholder = input('');
26
27
  this.searchExpr = input('');
27
- this.baseUrl = input('http://yeap.edas1.com/mw/v1'); // default
28
+ this.baseUrl = input(API_CONFIGS.mwApi); // default
28
29
  this.roleEndPointUrl = input('/user-management/roles/by-client-reference-key?clientReferenceKey='); // default
29
30
  this.client = input('thor'); // default
30
31
  this.onSelectionChanged = new EventEmitter();
@@ -50,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
50
51
  }], ctorParameters: () => [{ type: i1.HttpClient }], propDecorators: { onSelectionChanged: [{
51
52
  type: Output
52
53
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9yb2xlUGlja2VyL3NyYy9yb2xlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpL3JvbGVQaWNrZXIvc3JjL3JvbGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3RDLE9BQU8sRUFDTixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsTUFBTSxhQUFhLENBQUM7Ozs7OztBQVlyQixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsa0JBQWtCO0lBc0IxRCxZQUFvQixJQUFnQjtRQUNuQyxLQUFLLEVBQUUsQ0FBQztRQURXLFNBQUksR0FBSixJQUFJLENBQVk7UUFyQnBDLFlBQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsYUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixjQUFTLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLHVCQUFrQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxhQUFRLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzVCLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFtQixDQUFDO1FBRTFDLG1CQUFjLEdBQUcsTUFBTSxDQUF5QixJQUFJLENBQUMsQ0FBQztRQUV0RCx5RkFBeUY7UUFDekYsWUFBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixvQkFBZSxHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN2QyxnQkFBVyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNoQyxlQUFVLEdBQUcsS0FBSyxDQUFvQixFQUFFLENBQUMsQ0FBQztRQUUxQyxZQUFPLEdBQUcsS0FBSyxDQUFnQiw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUN6RSxvQkFBZSxHQUFHLEtBQUssQ0FBUyxvRUFBb0UsQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUNqSCxXQUFNLEdBQUcsS0FBSyxDQUFTLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUVoQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUloRSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUI7UUFDdEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxjQUFjLENBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFvQixJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUN6RixDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3RCLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDeEIsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2Ysa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDakMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNILENBQUM7OEdBekNXLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGc0REFIcEIsQ0FBQyxxQkFBcUIsQ0FBQyw2R0N0Qm5DLG94QkFpQkEsMkNESVcsbUJBQW1CLHlUQUFFLGlCQUFpQiw0cUZBQUUsdUJBQXVCOzsyRkFJN0QsbUJBQW1CO2tCQVIvQixTQUFTO2lDQUNHLElBQUksWUFDTixrRUFBa0UsV0FFbkUsQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsQ0FBQyxhQUMvRCxDQUFDLHFCQUFxQixDQUFDLGtCQUNsQixDQUFDLHNCQUFzQixDQUFDOytFQXNCOUIsa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgZWZmZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBEeFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci91aS9zZWxlY3QtYm94JztcclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEFQSV9DT05GSUdTIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcGknO1xyXG5pbXBvcnQge1xyXG5cdEJhc2VJbnB1dENvbXBvbmVudCxcclxuXHREWElucHV0RXJyb3JNZXNzYWdlUGlwZSxcclxuXHRJbnB1dEVycm9yTWVzc2FnZVBpcGUsXHJcblx0VmFsdWVBY2Nlc3NvckRpcmVjdGl2ZVxyXG59IGZyb20gJ2FyaWwvdWkvbGliJztcclxuXHJcbmltcG9ydCB7IFJvbGVSZXNwb25zZURUTywgU2VsZWN0Qm94SXRlbSwgU2VsZWN0aW9uR3JvdXBEVE8sIFNlbGVjdGlvblJlcXVlc3REVE8gfSBmcm9tICcuL2ludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXJpbC1yb2xlLXBpY2tlcltmb3JtQ29udHJvbF0sIGFyaWwtcm9sZS1waWNrZXJbZm9ybUNvbnRyb2xOYW1lXScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3JvbGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuXHRpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgRHhTZWxlY3RCb3hNb2R1bGUsIERYSW5wdXRFcnJvck1lc3NhZ2VQaXBlXSxcclxuXHRwcm92aWRlcnM6IFtJbnB1dEVycm9yTWVzc2FnZVBpcGVdLFxyXG5cdGhvc3REaXJlY3RpdmVzOiBbVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJvbGVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQge1xyXG5cdGl0ZW1LZXkgPSBpbnB1dCgna2V5Jyk7XHJcblx0aXRlbVRleHQgPSBpbnB1dCgndGV4dCcpO1xyXG5cdGdyb3VwTmFtZSA9IGlucHV0KCcnKTtcclxuXHRwYXJlbnRTZWxlY3Rpb25LZXkgPSBpbnB1dChudWxsKTtcclxuXHR0YWJpbmRleCA9IGlucHV0PG51bWJlcj4oMCk7XHJcblx0aXRlbXMgPSBpbnB1dC5yZXF1aXJlZDxTZWxlY3RCb3hJdGVtW10+KCk7XHJcblxyXG5cdHNlbGVjdGlvbkl0ZW1zID0gc2lnbmFsPFNlbGVjdEJveEl0ZW1bXSB8IG51bGw+KG51bGwpO1xyXG5cclxuXHQvKiogKiBAZGVzY3JpcHRpb24gd2hlbiBncm91cGVkID0gdHJ1ZSwgb3B0aW9uIGl0ZW0gc3RydWN0dXJlIHsga2V5OnN0cmluZywgaXRlbXM6W10gfSAqL1xyXG5cdGdyb3VwZWQgPSBpbnB1dChmYWxzZSk7XHJcblx0c2hvd0NsZWFyQnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0cGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHRzZWFyY2hFeHByID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCcnKTtcclxuXHJcblx0YmFzZVVybCA9IGlucHV0PHN0cmluZyB8IG51bGw+KCdodHRwOi8veWVhcC5lZGFzMS5jb20vbXcvdjEnKTsgLy8gZGVmYXVsdFxyXG5cdHJvbGVFbmRQb2ludFVybCA9IGlucHV0PHN0cmluZz4oJy91c2VyLW1hbmFnZW1lbnQvcm9sZXMvYnktY2xpZW50LXJlZmVyZW5jZS1rZXk/Y2xpZW50UmVmZXJlbmNlS2V5PScpOyAvLyBkZWZhdWx0XHJcblx0Y2xpZW50ID0gaW5wdXQ8c3RyaW5nPigndGhvcicpOyAvLyBkZWZhdWx0XHJcblxyXG5cdEBPdXRwdXQoKSBvblNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdEJveEl0ZW0+KCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLmNsaWVudCgpKSB0aGlzLmdldFNlbGVjdGlvbkl0ZW1zKCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGdldFNlbGVjdGlvbkl0ZW1zKCkge1xyXG5cdFx0Y29uc3Qgcm9sZUl0ZW1zID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXHJcblx0XHRcdHRoaXMuaHR0cC5nZXQ8Um9sZVJlc3BvbnNlRFRPW10+KHRoaXMuYmFzZVVybCgpICsgdGhpcy5yb2xlRW5kUG9pbnRVcmwoKSArIHRoaXMuY2xpZW50KCkpXHJcblx0XHQpO1xyXG5cclxuXHRcdHRoaXMuc2VsZWN0aW9uSXRlbXMuc2V0KFxyXG5cdFx0XHRyb2xlSXRlbXMubWFwKChpdGVtKSA9PiAoe1xyXG5cdFx0XHRcdGtleTogaXRlbS5pZCxcclxuXHRcdFx0XHR0ZXh0OiBpdGVtLm5hbWUsXHJcblx0XHRcdFx0cGFyZW50U2VsZWN0aW9uS2V5OiBpdGVtLmNsaWVudElkXHJcblx0XHRcdH0pKVxyXG5cdFx0KTtcclxuXHR9XHJcbn1cclxuIiwiPGR4LXNlbGVjdC1ib3hcclxuXHRbaXRlbXNdPVwic2VsZWN0aW9uSXRlbXMoKSB8fCBpdGVtcygpXCJcclxuXHRbdmFsdWVFeHByXT1cIml0ZW1LZXkoKVwiXHJcblx0W2Rpc3BsYXlFeHByXT1cIml0ZW1UZXh0KClcIlxyXG5cdFtzZWFyY2hFbmFibGVkXT1cInRydWVcIlxyXG5cdFtzZWFyY2hFeHByXT1cInNlYXJjaEV4cHIoKVwiXHJcblx0W3RhYkluZGV4XT1cInRhYmluZGV4KClcIlxyXG5cdFtncm91cGVkXT1cImdyb3VwZWQoKVwiXHJcblx0W3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxyXG5cdFtzaG93Q2xlYXJCdXR0b25dPVwic2hvd0NsZWFyQnV0dG9uKClcIlxyXG5cdFtpc1ZhbGlkXT1cIm5nQ29udHJvbD8uY29udHJvbD8udmFsaWQgfHwgbmdDb250cm9sPy5jb250cm9sPy5wcmlzdGluZSB8fCBuZ0NvbnRyb2w/LmNvbnRyb2w/LmRpc2FibGVkIHx8IGZhbHNlXCJcclxuXHRbdmFsaWRhdGlvbkVycm9yXT1cIm5nQ29udHJvbD8uY29udHJvbD8uZXJyb3JzIHwgZHhJbnB1dEVycm9yTWVzc2FnZTogbmdDb250cm9sPy5jb250cm9sXCJcclxuXHR2YWxpZGF0aW9uTWVzc2FnZVBvc2l0aW9uPVwidG9wXCJcclxuXHRbZm9ybUNvbnRyb2xdPVwibmdDb250cm9sLmNvbnRyb2xcIlxyXG5cdChuZ01vZGVsQ2hhbmdlKT1cIm5nQ29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSgkZXZlbnQpXCJcclxuXHQob25TZWxlY3Rpb25DaGFuZ2VkKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KCRldmVudC5zZWxlY3RlZEl0ZW0pXCI+XHJcbjwvZHgtc2VsZWN0LWJveD5cclxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9yb2xlUGlja2VyL3NyYy9yb2xlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpL3JvbGVQaWNrZXIvc3JjL3JvbGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQ04sa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLE1BQU0sYUFBYSxDQUFDOzs7Ozs7QUFZckIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQXNCMUQsWUFBb0IsSUFBZ0I7UUFDbkMsS0FBSyxFQUFFLENBQUM7UUFEVyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBckJwQyxZQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLGFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsY0FBUyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0Qix1QkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsYUFBUSxHQUFHLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1QixVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBbUIsQ0FBQztRQUUxQyxtQkFBYyxHQUFHLE1BQU0sQ0FBeUIsSUFBSSxDQUFDLENBQUM7UUFFdEQseUZBQXlGO1FBQ3pGLFlBQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsb0JBQWUsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDdkMsZ0JBQVcsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLEtBQUssQ0FBb0IsRUFBRSxDQUFDLENBQUM7UUFFMUMsWUFBTyxHQUFHLEtBQUssQ0FBZ0IsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUM3RCxvQkFBZSxHQUFHLEtBQUssQ0FBUyxvRUFBb0UsQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUNqSCxXQUFNLEdBQUcsS0FBSyxDQUFTLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUVoQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUloRSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUI7UUFDdEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxjQUFjLENBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFvQixJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUN6RixDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3RCLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDeEIsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2Ysa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDakMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNILENBQUM7OEdBekNXLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGc0REFIcEIsQ0FBQyxxQkFBcUIsQ0FBQyw2R0N0Qm5DLG94QkFpQkEsMkNESVcsbUJBQW1CLHlUQUFFLGlCQUFpQiw0cUZBQUUsdUJBQXVCOzsyRkFJN0QsbUJBQW1CO2tCQVIvQixTQUFTO2lDQUNHLElBQUksWUFDTixrRUFBa0UsV0FFbkUsQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsQ0FBQyxhQUMvRCxDQUFDLHFCQUFxQixDQUFDLGtCQUNsQixDQUFDLHNCQUFzQixDQUFDOytFQXNCOUIsa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgZWZmZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBEeFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci91aS9zZWxlY3QtYm94JztcclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEFQSV9DT05GSUdTIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcGknO1xyXG5pbXBvcnQge1xyXG5cdEJhc2VJbnB1dENvbXBvbmVudCxcclxuXHREWElucHV0RXJyb3JNZXNzYWdlUGlwZSxcclxuXHRJbnB1dEVycm9yTWVzc2FnZVBpcGUsXHJcblx0VmFsdWVBY2Nlc3NvckRpcmVjdGl2ZVxyXG59IGZyb20gJ2FyaWwvdWkvbGliJztcclxuXHJcbmltcG9ydCB7IFJvbGVSZXNwb25zZURUTywgU2VsZWN0Qm94SXRlbSwgU2VsZWN0aW9uR3JvdXBEVE8sIFNlbGVjdGlvblJlcXVlc3REVE8gfSBmcm9tICcuL2ludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXJpbC1yb2xlLXBpY2tlcltmb3JtQ29udHJvbF0sIGFyaWwtcm9sZS1waWNrZXJbZm9ybUNvbnRyb2xOYW1lXScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3JvbGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuXHRpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgRHhTZWxlY3RCb3hNb2R1bGUsIERYSW5wdXRFcnJvck1lc3NhZ2VQaXBlXSxcclxuXHRwcm92aWRlcnM6IFtJbnB1dEVycm9yTWVzc2FnZVBpcGVdLFxyXG5cdGhvc3REaXJlY3RpdmVzOiBbVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJvbGVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQge1xyXG5cdGl0ZW1LZXkgPSBpbnB1dCgna2V5Jyk7XHJcblx0aXRlbVRleHQgPSBpbnB1dCgndGV4dCcpO1xyXG5cdGdyb3VwTmFtZSA9IGlucHV0KCcnKTtcclxuXHRwYXJlbnRTZWxlY3Rpb25LZXkgPSBpbnB1dChudWxsKTtcclxuXHR0YWJpbmRleCA9IGlucHV0PG51bWJlcj4oMCk7XHJcblx0aXRlbXMgPSBpbnB1dC5yZXF1aXJlZDxTZWxlY3RCb3hJdGVtW10+KCk7XHJcblxyXG5cdHNlbGVjdGlvbkl0ZW1zID0gc2lnbmFsPFNlbGVjdEJveEl0ZW1bXSB8IG51bGw+KG51bGwpO1xyXG5cclxuXHQvKiogKiBAZGVzY3JpcHRpb24gd2hlbiBncm91cGVkID0gdHJ1ZSwgb3B0aW9uIGl0ZW0gc3RydWN0dXJlIHsga2V5OnN0cmluZywgaXRlbXM6W10gfSAqL1xyXG5cdGdyb3VwZWQgPSBpbnB1dChmYWxzZSk7XHJcblx0c2hvd0NsZWFyQnV0dG9uID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0cGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHRzZWFyY2hFeHByID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10+KCcnKTtcclxuXHJcblx0YmFzZVVybCA9IGlucHV0PHN0cmluZyB8IG51bGw+KEFQSV9DT05GSUdTLm13QXBpKTsgLy8gZGVmYXVsdFxyXG5cdHJvbGVFbmRQb2ludFVybCA9IGlucHV0PHN0cmluZz4oJy91c2VyLW1hbmFnZW1lbnQvcm9sZXMvYnktY2xpZW50LXJlZmVyZW5jZS1rZXk/Y2xpZW50UmVmZXJlbmNlS2V5PScpOyAvLyBkZWZhdWx0XHJcblx0Y2xpZW50ID0gaW5wdXQ8c3RyaW5nPigndGhvcicpOyAvLyBkZWZhdWx0XHJcblxyXG5cdEBPdXRwdXQoKSBvblNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdEJveEl0ZW0+KCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLmNsaWVudCgpKSB0aGlzLmdldFNlbGVjdGlvbkl0ZW1zKCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGdldFNlbGVjdGlvbkl0ZW1zKCkge1xyXG5cdFx0Y29uc3Qgcm9sZUl0ZW1zID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXHJcblx0XHRcdHRoaXMuaHR0cC5nZXQ8Um9sZVJlc3BvbnNlRFRPW10+KHRoaXMuYmFzZVVybCgpICsgdGhpcy5yb2xlRW5kUG9pbnRVcmwoKSArIHRoaXMuY2xpZW50KCkpXHJcblx0XHQpO1xyXG5cclxuXHRcdHRoaXMuc2VsZWN0aW9uSXRlbXMuc2V0KFxyXG5cdFx0XHRyb2xlSXRlbXMubWFwKChpdGVtKSA9PiAoe1xyXG5cdFx0XHRcdGtleTogaXRlbS5pZCxcclxuXHRcdFx0XHR0ZXh0OiBpdGVtLm5hbWUsXHJcblx0XHRcdFx0cGFyZW50U2VsZWN0aW9uS2V5OiBpdGVtLmNsaWVudElkXHJcblx0XHRcdH0pKVxyXG5cdFx0KTtcclxuXHR9XHJcbn1cclxuIiwiPGR4LXNlbGVjdC1ib3hcclxuXHRbaXRlbXNdPVwic2VsZWN0aW9uSXRlbXMoKSB8fCBpdGVtcygpXCJcclxuXHRbdmFsdWVFeHByXT1cIml0ZW1LZXkoKVwiXHJcblx0W2Rpc3BsYXlFeHByXT1cIml0ZW1UZXh0KClcIlxyXG5cdFtzZWFyY2hFbmFibGVkXT1cInRydWVcIlxyXG5cdFtzZWFyY2hFeHByXT1cInNlYXJjaEV4cHIoKVwiXHJcblx0W3RhYkluZGV4XT1cInRhYmluZGV4KClcIlxyXG5cdFtncm91cGVkXT1cImdyb3VwZWQoKVwiXHJcblx0W3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxyXG5cdFtzaG93Q2xlYXJCdXR0b25dPVwic2hvd0NsZWFyQnV0dG9uKClcIlxyXG5cdFtpc1ZhbGlkXT1cIm5nQ29udHJvbD8uY29udHJvbD8udmFsaWQgfHwgbmdDb250cm9sPy5jb250cm9sPy5wcmlzdGluZSB8fCBuZ0NvbnRyb2w/LmNvbnRyb2w/LmRpc2FibGVkIHx8IGZhbHNlXCJcclxuXHRbdmFsaWRhdGlvbkVycm9yXT1cIm5nQ29udHJvbD8uY29udHJvbD8uZXJyb3JzIHwgZHhJbnB1dEVycm9yTWVzc2FnZTogbmdDb250cm9sPy5jb250cm9sXCJcclxuXHR2YWxpZGF0aW9uTWVzc2FnZVBvc2l0aW9uPVwidG9wXCJcclxuXHRbZm9ybUNvbnRyb2xdPVwibmdDb250cm9sLmNvbnRyb2xcIlxyXG5cdChuZ01vZGVsQ2hhbmdlKT1cIm5nQ29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSgkZXZlbnQpXCJcclxuXHQob25TZWxlY3Rpb25DaGFuZ2VkKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KCRldmVudC5zZWxlY3RlZEl0ZW0pXCI+XHJcbjwvZHgtc2VsZWN0LWJveD5cclxuIl19