@wavemaker/app-ng-runtime 12.0.0-next.45198 → 12.0.0-next.45202

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.
@@ -69,6 +69,7 @@ export declare abstract class App {
69
69
  isPrefabType: boolean;
70
70
  isApplicationType: boolean;
71
71
  setwidgetLocale: Function;
72
+ setAppMode: Function;
72
73
  isTabletApplicationType: boolean;
73
74
  isTemplateBundleType: boolean;
74
75
  changeLocale: Function;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-ng-runtime",
3
- "version": "12.0.0-next.45198",
3
+ "version": "12.0.0-next.45202",
4
4
  "description": "All modules required for a wavemaker application.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -2824,6 +2824,17 @@
2824
2824
  this.getSelectedLocale = this.i18nService.getSelectedLocale.bind(this.i18nService);
2825
2825
  this.setTimezone = this.i18nService.setTimezone.bind(this.i18nService);
2826
2826
  this.setwidgetLocale = this.i18nService.setwidgetLocale.bind(this.i18nService);
2827
+ this.setAppMode = (mode) => {
2828
+ const htmlEl = document.getElementsByTagName('html')[0];
2829
+ if (mode === 'default') {
2830
+ localStorage.removeItem('app-mode');
2831
+ htmlEl.removeAttribute('app-mode');
2832
+ }
2833
+ else {
2834
+ localStorage.setItem('app-mode', mode);
2835
+ htmlEl.setAttribute('app-mode', mode);
2836
+ }
2837
+ };
2827
2838
  this._eventNotifier = new i1.EventNotifier();
2828
2839
  this.landingPageName = i1.getWmProjectProperties().homePage;
2829
2840
  const wmProjectProperties = i1.getWmProjectProperties();
@@ -64,6 +64,17 @@ export class AppRef {
64
64
  this.getSelectedLocale = this.i18nService.getSelectedLocale.bind(this.i18nService);
65
65
  this.setTimezone = this.i18nService.setTimezone.bind(this.i18nService);
66
66
  this.setwidgetLocale = this.i18nService.setwidgetLocale.bind(this.i18nService);
67
+ this.setAppMode = (mode) => {
68
+ const htmlEl = document.getElementsByTagName('html')[0];
69
+ if (mode === 'default') {
70
+ localStorage.removeItem('app-mode');
71
+ htmlEl.removeAttribute('app-mode');
72
+ }
73
+ else {
74
+ localStorage.setItem('app-mode', mode);
75
+ htmlEl.setAttribute('app-mode', mode);
76
+ }
77
+ };
67
78
  this._eventNotifier = new EventNotifier();
68
79
  this.landingPageName = getWmProjectProperties().homePage;
69
80
  const wmProjectProperties = getWmProjectProperties();
@@ -157,4 +168,4 @@ export class AppRef {
157
168
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppRef, [{
158
169
  type: Injectable
159
170
  }], () => [{ type: i0.Injector }, { type: i1.AbstractI18nService }, { type: i1.StatePersistence }, { type: i1.AbstractHttpService }, { type: i2.SecurityService }, { type: i3.RouteReuseStrategy }], null); })();
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ydW50aW1lLWJhc2Uvc3JjL3NlcnZpY2VzL2FwcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJELE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixnQkFBZ0IsRUFDbkIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFFdkQsTUFBTSxXQUFXLEdBQUc7SUFDaEIsYUFBYSxFQUFFLHFCQUFxQjtJQUNwQyxXQUFXLEVBQUUsbUJBQW1CO0lBQ2hDLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLGdCQUFnQixFQUFFLGdCQUFnQjtJQUNsQyxjQUFjLEVBQUUsc0JBQXNCO0lBQ3RDLHVCQUF1QixFQUFFLGdCQUFnQjtJQUN6QyxRQUFRLEVBQUUsUUFBUTtJQUNsQixjQUFjLEVBQUUsc0JBQXNCO0lBQ3RDLEtBQUssRUFBRSxZ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QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQzNELENBQUMsQ0FBQztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLElBQUksQ0FBQyxpR0FBaUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM5SCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxtQkFBbUIsQ0FBQyxXQUFXO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDM0IsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7dUVBMUlRLE1BQU07dUVBQU4sTUFBTSxXQUFOLE1BQU07O2lGQUFOLE1BQU07Y0FEbEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZVJldXNlU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1xuICAgIEFic3RyYWN0RGlhbG9nU2VydmljZSxcbiAgICBBYnN0cmFjdEh0dHBTZXJ2aWNlLFxuICAgIEFic3RyYWN0STE4blNlcnZpY2UsXG4gICAgQWJzdHJhY3RTcGlubmVyU2VydmljZSxcbiAgICBBYnN0cmFjdFRvYXN0ZXJTZXJ2aWNlLFxuICAgIEV2ZW50Tm90aWZpZXIsXG4gICAgRmllbGRUeXBlU2VydmljZSxcbiAgICBGaWVsZFdpZGdldFNlcnZpY2UsXG4gICAgZ2V0V21Qcm9qZWN0UHJvcGVydGllcyxcbiAgICBpc0RlZmluZWQsXG4gICAgQ29uc3RhbnRTZXJ2aWNlLFxuICAgIFV0aWxzU2VydmljZSxcbiAgICBEeW5hbWljQ29tcG9uZW50UmVmUHJvdmlkZXIsXG4gICAgU3RhdGVQZXJzaXN0ZW5jZSxcbiAgICBWaWV3cG9ydCxcbiAgICByZWdpc3RlckZuQnlFeHByXG59IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IFNlY3VyaXR5U2VydmljZSB9IGZyb20gJ0B3bS9zZWN1cml0eSc7XG5cbmltcG9ydCB7IFdtRGVmYXVsdFJvdXRlUmV1c2VTdHJhdGVneSB9IGZyb20gJy4uL3V0aWwvd20tcm91dGUtcmV1c2Utc3RyYXRlZ3knO1xuaW1wb3J0IHsgUGlwZVNlcnZpY2UgfSBmcm9tIFwiLi9waXBlLnNlcnZpY2VcIjtcbmltcG9ydCB7ZWFjaCwgZ2V0LCBpc0VtcHR5LCBpc1N0cmluZ30gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5jb25zdCBpbmplY3Rvck1hcCA9IHtcbiAgICBEaWFsb2dTZXJ2aWNlOiBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsXG4gICAgaTE4blNlcnZpY2U6IEFic3RyYWN0STE4blNlcnZpY2UsXG4gICAgUGlwZVNlcnZpY2U6IFBpcGVTZXJ2aWNlLFxuICAgIHN0YXRlUGVyc2lzdGVuY2U6IFN0YXRlUGVyc2lzdGVuY2UsXG4gICAgU3Bpbm5lclNlcnZpY2U6IEFic3RyYWN0U3Bpbm5lclNlcnZpY2UsXG4gICAgU3RhdGVQZXJzaXN0ZW5jZVNlcnZpY2U6IFN0YXRlUGVyc2lzdGVuY2UsXG4gICAgVmlld3BvcnQ6IFZpZXdwb3J0LFxuICAgIFRvYXN0ZXJTZXJ2aWNlOiBBYnN0cmFjdFRvYXN0ZXJTZXJ2aWNlLFxuICAgIFV0aWxzOiBVdGlsc1NlcnZpY2UsXG4gICAgQ09OU1RBTlRTOiBDb25zdGFudFNlcnZpY2UsXG4gICAgRklFTERfVFlQRTogRmllbGRUeXBlU2VydmljZSxcbiAgICBGSUVMRF9XSURHRVQ6IEZpZWxkV2lkZ2V0U2VydmljZSxcbiAgICBEeW5hbWljQ29tcG9uZW50U2VydmljZTogRHluYW1pY0NvbXBvbmVudFJlZlByb3ZpZGVyXG59O1xuXG5jb25zdCBlbnVtIFBST0pFQ1RfVFlQRSB7XG4gICAgQVBQTElDQVRJT04gPSAnQVBQTElDQVRJT04nLFxuICAgIFBSRUZBQiA9ICdQUkVGQUInLFxuICAgIFRFTVBMQVRFX0JVTkRMRSA9ICdURU1QTEFURUJVTkRMRSdcbn1cblxuY29uc3Qgbm9vcCA9ICguLi5hcmdzKSA9PiB7fTtcblxuLy8gV3JhcHMgaHR0cFNlcnZpY2UgdG8gYmVoYXZlIGFzIGFuZ3VsYXIgMS54ICRodHRwIHNlcnZpY2UuXG5jb25zdCBnZXRIdHRwRGVwZW5kZW5jeSA9IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IGh0dHBTZXJ2aWNlID0gdGhpcy5odHRwU2VydmljZTtcbiAgICBjb25zdCBmbiA9IGZ1bmN0aW9uIChrZXksIG9wdGlvbnM/KSB7XG4gICAgICAgIGNvbnN0IGFyZ3MgPSBBcnJheS5mcm9tKGFyZ3VtZW50cykuc2xpY2UoMSk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoaHR0cFNlcnZpY2Vba2V5XS5hcHBseShodHRwU2VydmljZSwgYXJncykpO1xuICAgIH07XG4gICAgY29uc3QgJGh0dHAgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBmbi5hcHBseSh1bmRlZmluZWQsIFsnc2VuZCcsIC4uLkFycmF5LmZyb20oYXJndW1lbnRzKV0pO1xuICAgIH07XG4gICAgWydnZXQnLCAncG9zdCcsICdoZWFkJywgJ3B1dCcsICdkZWxldGUnLCAnanNvbnAnLCAncGF0Y2gnXS5mb3JFYWNoKGtleSA9PiAkaHR0cFtrZXldID0gZm4uYmluZCh1bmRlZmluZWQsIGtleSkpO1xuICAgIHJldHVybiAkaHR0cDtcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBcHBSZWYge1xuICAgIFZhcmlhYmxlczogYW55ID0ge307XG4gICAgQWN0aW9uczogYW55ID0ge307XG4gICAgb25BcHBWYXJpYWJsZXNSZWFkeSA9IG5vb3A7XG4gICAgb25CZWZvcmVBcHBSZWFkeSA9IG5vb3A7XG4gICAgb25TZXNzaW9uVGltZW91dCA9IG5vb3A7XG4gICAgb25QYWdlUmVhZHkgPSBub29wO1xuICAgIG9uQmVmb3JlUGFnZUxlYXZlID0gbm9vcDtcbiAgICBvbkJlZm9yZVNlcnZpY2VDYWxsID0gIG5vb3A7XG4gICAgb25TZXJ2aWNlU3VjY2VzcyA9ICBub29wO1xuICAgIG9uU2VydmljZUVycm9yID0gIG5vb3A7XG4gICAgZHluYW1pY0NvbXBvbmVudENvbnRhaW5lclJlZiA9IHt9O1xuXG4gICAgcHJvamVjdE5hbWU6IHN0cmluZztcbiAgICBpc1ByZWZhYlR5cGU6IGJvb2xlYW47XG4gICAgaXNBcHBsaWNhdGlvblR5cGU6IGJvb2xlYW47XG4gICAgaXNUYWJsZXRBcHBsaWNhdGlvblR5cGU6IGJvb2xlYW47XG4gICAgaXNUZW1wbGF0ZUJ1bmRsZVR5cGU6IGJvb2xlYW47XG5cbiAgICB0YXJnZXRQbGF0Zm9ybTogc3RyaW5nO1xuXG4gICAgYXBwTG9jYWxlOiBhbnk7XG5cbiAgICBjaGFuZ2VMb2NhbGUgPSB0aGlzLmkxOG5TZXJ2aWNlLnNldFNlbGVjdGVkTG9jYWxlLmJpbmQodGhpcy5pMThuU2VydmljZSk7XG4gICAgZ2V0U2VsZWN0ZWRMb2NhbGUgPSB0aGlzLmkxOG5TZXJ2aWNlLmdldFNlbGVjdGVkTG9jYWxlLmJpbmQodGhpcy5pMThuU2VydmljZSk7XG4gICAgc2V0VGltZXpvbmUgPSB0aGlzLmkxOG5TZXJ2aWNlLnNldFRpbWV6b25lLmJpbmQodGhpcy5pMThuU2VydmljZSk7XG4gICAgc2V0d2lkZ2V0TG9jYWxlID0gdGhpcy5pMThuU2VydmljZS5zZXR3aWRnZXRMb2NhbGUuYmluZCh0aGlzLmkxOG5TZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgX2V2ZW50Tm90aWZpZXIgPSBuZXcgRXZlbnROb3RpZmllcigpO1xuXG4gICAgbGFuZGluZ1BhZ2VOYW1lID0gZ2V0V21Qcm9qZWN0UHJvcGVydGllcygpLmhvbWVQYWdlO1xuXG4gICAgcmVsb2FkKCkge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaW5qOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBpMThuU2VydmljZTogQWJzdHJhY3RJMThuU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzdGF0ZVBlcnNpc3RlbmNlOiBTdGF0ZVBlcnNpc3RlbmNlLFxuICAgICAgICBwcml2YXRlIGh0dHBTZXJ2aWNlOiBBYnN0cmFjdEh0dHBTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlY3VyaXR5U2VydmljZTogU2VjdXJpdHlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJvdXRlUmV1c2VTdHJhdGVneTogUm91dGVSZXVzZVN0cmF0ZWd5XG4gICAgKSB7XG5cbiAgICAgICAgY29uc3Qgd21Qcm9qZWN0UHJvcGVydGllcyA9IGdldFdtUHJvamVjdFByb3BlcnRpZXMoKTtcblxuICAgICAgICB0aGlzLnByb2plY3ROYW1lID0gd21Qcm9qZWN0UHJvcGVydGllcy5uYW1lO1xuICAgICAgICB0aGlzLmlzUHJlZmFiVHlwZSA9IHdtUHJvamVjdFByb3BlcnRpZXMudHlwZSA9PT0gUFJPSkVDVF9UWVBFLlBSRUZBQjtcbiAgICAgICAgdGhpcy5pc0FwcGxpY2F0aW9uVHlwZSA9IHdtUHJvamVjdFByb3BlcnRpZXMudHlwZSA9PT0gUFJPSkVDVF9UWVBFLkFQUExJQ0FUSU9OO1xuICAgICAgICB0aGlzLmlzVGVtcGxhdGVCdW5kbGVUeXBlID0gd21Qcm9qZWN0UHJvcGVydGllcy50eXBlID09PSBQUk9KRUNUX1RZUEUuVEVNUExBVEVfQlVORExFO1xuICAgICAgICB0aGlzLnRhcmdldFBsYXRmb3JtID0gd21Qcm9qZWN0UHJvcGVydGllcy5wbGF0Zm9ybVR5cGU7XG5cbiAgICAgICAgdGhpcy5odHRwU2VydmljZS5yZWdpc3Rlck9uU2Vzc2lvblRpbWVvdXQodGhpcy5vbjQwMS5iaW5kKHRoaXMpKTtcblxuICAgICAgICB0aGlzLmFwcExvY2FsZSA9IHRoaXMuaTE4blNlcnZpY2UuZ2V0QXBwTG9jYWxlKCk7XG4gICAgICAgIHRoaXMuaHR0cFNlcnZpY2Uuc2V0TG9jYWxlKHRoaXMuYXBwTG9jYWxlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJQYWdlQ2FjaGUocGFnZU5hbWU/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYodGhpcy5yb3V0ZVJldXNlU3RyYXRlZ3kgaW5zdGFuY2VvZiBXbURlZmF1bHRSb3V0ZVJldXNlU3RyYXRlZ3kpIHtcbiAgICAgICAgICAgICh0aGlzLnJvdXRlUmV1c2VTdHJhdGVneSBhcyBXbURlZmF1bHRSb3V0ZVJldXNlU3RyYXRlZ3kpLnJlc2V0KHBhZ2VOYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBub3RpZnkoZXZlbnROYW1lOiBzdHJpbmcsIC4uLmRhdGE6IEFycmF5PGFueT4pIHtcbiAgICAgICAgdGhpcy5fZXZlbnROb3RpZmllci5ub3RpZnkuYXBwbHkodGhpcy5fZXZlbnROb3RpZmllciwgYXJndW1lbnRzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RGVwZW5kZW5jeShpbmpUb2tlbikge1xuICAgICAgICBpZiAoaXNTdHJpbmcoaW5qVG9rZW4pKSB7XG4gICAgICAgICAgICBpZiAoaW5qVG9rZW4gPT09ICdIdHRwU2VydmljZScpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0SHR0cERlcGVuZGVuY3kuY2FsbCh0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBwcm92aWRlckluc3RhbmNlID0gaW5qZWN0b3JNYXBbaW5qVG9rZW5dICYmIHRoaXMuaW5qLmdldChpbmplY3Rvck1hcFtpbmpUb2tlbl0pO1xuICAgICAgICAgICAgaWYgKCFwcm92aWRlckluc3RhbmNlICYmIHRoaXMuaW5qWydyZWNvcmRzJ10/LnZhbHVlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuaW5qWydyZWNvcmRzJ10udmFsdWVzKCk7XG4gICAgICAgICAgICAgICAgbGV0IG5leHQgPSB2YWx1ZXM/Lm5leHQoKTtcbiAgICAgICAgICAgICAgICB3aGlsZSAobmV4dCAmJiAhbmV4dC5kb25lKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZXh0Py52YWx1ZT8udmFsdWU/LmNvbnN0cnVjdG9yPy5TRVJWSUNFX05BTUUgPT09IGlualRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV4dC52YWx1ZS52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBuZXh0ID0gdmFsdWVzLm5leHQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcHJvdmlkZXJJbnN0YW5jZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5pbmouZ2V0KGlualRva2VuKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB0cmlnZ2VycyB0aGUgb25TZXNzaW9uVGltZW91dCBjYWxsYmFjayBpbiBhcHAuanNcbiAgICAgKi9cbiAgICBvbjQwMSgpIHtcbiAgICAgICAgY29uc3QgdXNlckluZm8gPSBnZXQodGhpcy5zZWN1cml0eVNlcnZpY2UuZ2V0KCksICd1c2VySW5mbycpO1xuICAgICAgICAvLyBpZiBhIHByZXZpb3VzIHVzZXIgZXhpc3RzLCBhIHNlc3Npb24gdGltZSBvdXQgdHJpZ2dlcmVkXG4gICAgICAgIGlmICghaXNFbXB0eSh1c2VySW5mbykpIHtcbiAgICAgICAgICAgIHRoaXMub25TZXNzaW9uVGltZW91dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN1YnNjcmliZShldmVudE5hbWUsIGNhbGxiYWNrOiAoZGF0YTogYW55KSA9PiB2b2lkKTogKCkgPT4gdm9pZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldmVudE5vdGlmaWVyLnN1YnNjcmliZShldmVudE5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbm90aWZ5QXBwKHRlbXBsYXRlLCB0eXBlLCB0aXRsZSkge1xuICAgICAgICBjb25zdCBub3RpZmljYXRpb25BY3Rpb24gPSBnZXQodGhpcywgJ0FjdGlvbnMuYXBwTm90aWZpY2F0aW9uJyk7XG4gICAgICAgIGNvbnN0IEVYQ0xVREVfTk9USUZJQ0FUSU9OX01FU1NBR0VTID0gWydQUk9DRVNTX1JFSkVDVEVEX0lOX1FVRVVFJ107XG4gICAgICAgIGNvbnN0IHNraXBEZWZhdWx0Tm90aWZpY2F0aW9uID0gRVhDTFVERV9OT1RJRklDQVRJT05fTUVTU0FHRVMuaW5kZXhPZih0ZW1wbGF0ZSkgIT09IC0xO1xuICAgICAgICBpZiAobm90aWZpY2F0aW9uQWN0aW9uKSB7XG4gICAgICAgICAgICAvLyBkbyBub3Qgbm90aWZ5IHRoZSBlcnJvciB0byB0aGUgYXBwLCBqdXN0IHRocm93IGl0IGluIGNvbnNvbGVcbiAgICAgICAgICAgIGlmIChza2lwRGVmYXVsdE5vdGlmaWNhdGlvbikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignQXBwIEVycm9yJywgdGVtcGxhdGUpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGUgPSB0eXBlIHx8ICdzdWNjZXNzJztcbiAgICAgICAgICAgIHRlbXBsYXRlID0gbm90aWZpY2F0aW9uQWN0aW9uLmdldE1lc3NhZ2UoKSB8fCB0ZW1wbGF0ZTtcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbkFjdGlvbi5pbnZva2Uoe1xuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRlbXBsYXRlLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBpc0RlZmluZWQodGl0bGUpID8gdGl0bGUgOiB0eXBlLnRvVXBwZXJDYXNlKCksXG4gICAgICAgICAgICAgICAgY2xhc3M6IHR5cGUsXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIHR5cGUgaXMgZXJyb3IgZG8gbm90IGNsb3NlIHRoZSB0b2FzdHJcbiAgICAgICAgICAgICAgICBkdXJhdGlvbjogdHlwZS50b1VwcGVyQ2FzZSgpID09PSAnRVJST1InID8gMCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1RoZSBkZWZhdWx0IEFjdGlvbiBcImFwcE5vdGlmaWNhdGlvblwiIGRvZXNuXFwndCBleGlzdCBpbiB0aGUgYXBwLiBBcHAgbm90aWZpZWQgZm9sbG93aW5nIGVycm9yOlxcbicsIHRlbXBsYXRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZ1bmN0aW9uIHRvIHJlZ2lzdGVyIGJpbmQgZXhwcmVzc2lvbnMgZnJvbSBhcHAgdmFyaWFibGVzXG4gICAgICogaXQgd2lsbCBiZSBjYWxsZWQgZnJvbSBhcHAuanMgaW4gZ2VuZXJhdGVkIGFuZ3VsYXIgYXBwXG4gICAgICogQHBhcmFtIGV4cHJlc3Npb25zLCBtYXAgb2YgYmluZCBleHByZXNzaW9uIHZzIGdlbmVyYXRlZCBmdW5jdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyByZWdpc3RlckV4cHJlc3Npb25zKGV4cHJlc3Npb25zKSB7XG4gICAgICAgIGVhY2goZXhwcmVzc2lvbnMsIChmbiwgZXhwcikgPT4ge1xuICAgICAgICAgICAgcmVnaXN0ZXJGbkJ5RXhwcihleHByLCBmblswXSwgZm5bMV0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ydW50aW1lLWJhc2Uvc3JjL3NlcnZpY2VzL2FwcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJELE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWiwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixnQkFBZ0IsRUFDbkIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFFdkQsTUFBTSxXQUFXLEdBQUc7SUFDaEIsYUFBYSxFQUFFLHFCQUFxQjtJQUNwQyxXQUFXLEVBQUUsbUJBQW1CO0lBQ2hDLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLGdCQUFnQixFQUFFLGdCQUFnQjtJQUNsQyxjQUFjLEVBQUUsc0JBQXNCO0lBQ3RDLHVCQUF1QixFQUFFLGdCQUFnQjtJQUN6QyxRQUFRLEVBQUUsUUFBUTtJQUNsQixjQUFjLEVBQUUsc0JBQXNCO0lBQ3RDLEtBQUssRUFBRSxZ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TyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ3BDLE9BQU87WUFDWCxDQUFDO1lBQ0QsSUFBSSxHQUFHLElBQUksSUFBSSxTQUFTLENBQUM7WUFDekIsUUFBUSxHQUFHLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxJQUFJLFFBQVEsQ0FBQztZQUN2RCxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7Z0JBQ3RCLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3BELEtBQUssRUFBRSxJQUFJO2dCQUNYLCtDQUErQztnQkFDL0MsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUMzRCxDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUdBQWlHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUgsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksbUJBQW1CLENBQUMsV0FBVztRQUNsQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQzNCLGdCQUFnQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3VFQXJKUSxNQUFNO3VFQUFOLE1BQU0sV0FBTixNQUFNOztpRkFBTixNQUFNO2NBRGxCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVSZXVzZVN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtcbiAgICBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsXG4gICAgQWJzdHJhY3RIdHRwU2VydmljZSxcbiAgICBBYnN0cmFjdEkxOG5TZXJ2aWNlLFxuICAgIEFic3RyYWN0U3Bpbm5lclNlcnZpY2UsXG4gICAgQWJzdHJhY3RUb2FzdGVyU2VydmljZSxcbiAgICBFdmVudE5vdGlmaWVyLFxuICAgIEZpZWxkVHlwZVNlcnZpY2UsXG4gICAgRmllbGRXaWRnZXRTZXJ2aWNlLFxuICAgIGdldFdtUHJvamVjdFByb3BlcnRpZXMsXG4gICAgaXNEZWZpbmVkLFxuICAgIENvbnN0YW50U2VydmljZSxcbiAgICBVdGlsc1NlcnZpY2UsXG4gICAgRHluYW1pY0NvbXBvbmVudFJlZlByb3ZpZGVyLFxuICAgIFN0YXRlUGVyc2lzdGVuY2UsXG4gICAgVmlld3BvcnQsXG4gICAgcmVnaXN0ZXJGbkJ5RXhwclxufSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBTZWN1cml0eVNlcnZpY2UgfSBmcm9tICdAd20vc2VjdXJpdHknO1xuXG5pbXBvcnQgeyBXbURlZmF1bHRSb3V0ZVJldXNlU3RyYXRlZ3kgfSBmcm9tICcuLi91dGlsL3dtLXJvdXRlLXJldXNlLXN0cmF0ZWd5JztcbmltcG9ydCB7IFBpcGVTZXJ2aWNlIH0gZnJvbSBcIi4vcGlwZS5zZXJ2aWNlXCI7XG5pbXBvcnQge2VhY2gsIGdldCwgaXNFbXB0eSwgaXNTdHJpbmd9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuY29uc3QgaW5qZWN0b3JNYXAgPSB7XG4gICAgRGlhbG9nU2VydmljZTogQWJzdHJhY3REaWFsb2dTZXJ2aWNlLFxuICAgIGkxOG5TZXJ2aWNlOiBBYnN0cmFjdEkxOG5TZXJ2aWNlLFxuICAgIFBpcGVTZXJ2aWNlOiBQaXBlU2VydmljZSxcbiAgICBzdGF0ZVBlcnNpc3RlbmNlOiBTdGF0ZVBlcnNpc3RlbmNlLFxuICAgIFNwaW5uZXJTZXJ2aWNlOiBBYnN0cmFjdFNwaW5uZXJTZXJ2aWNlLFxuICAgIFN0YXRlUGVyc2lzdGVuY2VTZXJ2aWNlOiBTdGF0ZVBlcnNpc3RlbmNlLFxuICAgIFZpZXdwb3J0OiBWaWV3cG9ydCxcbiAgICBUb2FzdGVyU2VydmljZTogQWJzdHJhY3RUb2FzdGVyU2VydmljZSxcbiAgICBVdGlsczogVXRpbHNTZXJ2aWNlLFxuICAgIENPTlNUQU5UUzogQ29uc3RhbnRTZXJ2aWNlLFxuICAgIEZJRUxEX1RZUEU6IEZpZWxkVHlwZVNlcnZpY2UsXG4gICAgRklFTERfV0lER0VUOiBGaWVsZFdpZGdldFNlcnZpY2UsXG4gICAgRHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IER5bmFtaWNDb21wb25lbnRSZWZQcm92aWRlclxufTtcblxuY29uc3QgZW51bSBQUk9KRUNUX1RZUEUge1xuICAgIEFQUExJQ0FUSU9OID0gJ0FQUExJQ0FUSU9OJyxcbiAgICBQUkVGQUIgPSAnUFJFRkFCJyxcbiAgICBURU1QTEFURV9CVU5ETEUgPSAnVEVNUExBVEVCVU5ETEUnXG59XG5cbmNvbnN0IG5vb3AgPSAoLi4uYXJncykgPT4ge307XG5cbi8vIFdyYXBzIGh0dHBTZXJ2aWNlIHRvIGJlaGF2ZSBhcyBhbmd1bGFyIDEueCAkaHR0cCBzZXJ2aWNlLlxuY29uc3QgZ2V0SHR0cERlcGVuZGVuY3kgPSBmdW5jdGlvbigpIHtcbiAgICBjb25zdCBodHRwU2VydmljZSA9IHRoaXMuaHR0cFNlcnZpY2U7XG4gICAgY29uc3QgZm4gPSBmdW5jdGlvbiAoa2V5LCBvcHRpb25zPykge1xuICAgICAgICBjb25zdCBhcmdzID0gQXJyYXkuZnJvbShhcmd1bWVudHMpLnNsaWNlKDEpO1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGh0dHBTZXJ2aWNlW2tleV0uYXBwbHkoaHR0cFNlcnZpY2UsIGFyZ3MpKTtcbiAgICB9O1xuICAgIGNvbnN0ICRodHRwID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gZm4uYXBwbHkodW5kZWZpbmVkLCBbJ3NlbmQnLCAuLi5BcnJheS5mcm9tKGFyZ3VtZW50cyldKTtcbiAgICB9O1xuICAgIFsnZ2V0JywgJ3Bvc3QnLCAnaGVhZCcsICdwdXQnLCAnZGVsZXRlJywgJ2pzb25wJywgJ3BhdGNoJ10uZm9yRWFjaChrZXkgPT4gJGh0dHBba2V5XSA9IGZuLmJpbmQodW5kZWZpbmVkLCBrZXkpKTtcbiAgICByZXR1cm4gJGh0dHA7XG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXBwUmVmIHtcbiAgICBWYXJpYWJsZXM6IGFueSA9IHt9O1xuICAgIEFjdGlvbnM6IGFueSA9IHt9O1xuICAgIG9uQXBwVmFyaWFibGVzUmVhZHkgPSBub29wO1xuICAgIG9uQmVmb3JlQXBwUmVhZHkgPSBub29wO1xuICAgIG9uU2Vzc2lvblRpbWVvdXQgPSBub29wO1xuICAgIG9uUGFnZVJlYWR5ID0gbm9vcDtcbiAgICBvbkJlZm9yZVBhZ2VMZWF2ZSA9IG5vb3A7XG4gICAgb25CZWZvcmVTZXJ2aWNlQ2FsbCA9ICBub29wO1xuICAgIG9uU2VydmljZVN1Y2Nlc3MgPSAgbm9vcDtcbiAgICBvblNlcnZpY2VFcnJvciA9ICBub29wO1xuICAgIGR5bmFtaWNDb21wb25lbnRDb250YWluZXJSZWYgPSB7fTtcblxuICAgIHByb2plY3ROYW1lOiBzdHJpbmc7XG4gICAgaXNQcmVmYWJUeXBlOiBib29sZWFuO1xuICAgIGlzQXBwbGljYXRpb25UeXBlOiBib29sZWFuO1xuICAgIGlzVGFibGV0QXBwbGljYXRpb25UeXBlOiBib29sZWFuO1xuICAgIGlzVGVtcGxhdGVCdW5kbGVUeXBlOiBib29sZWFuO1xuXG4gICAgdGFyZ2V0UGxhdGZvcm06IHN0cmluZztcblxuICAgIGFwcExvY2FsZTogYW55O1xuXG4gICAgY2hhbmdlTG9jYWxlID0gdGhpcy5pMThuU2VydmljZS5zZXRTZWxlY3RlZExvY2FsZS5iaW5kKHRoaXMuaTE4blNlcnZpY2UpO1xuICAgIGdldFNlbGVjdGVkTG9jYWxlID0gdGhpcy5pMThuU2VydmljZS5nZXRTZWxlY3RlZExvY2FsZS5iaW5kKHRoaXMuaTE4blNlcnZpY2UpO1xuICAgIHNldFRpbWV6b25lID0gdGhpcy5pMThuU2VydmljZS5zZXRUaW1lem9uZS5iaW5kKHRoaXMuaTE4blNlcnZpY2UpO1xuICAgIHNldHdpZGdldExvY2FsZSA9IHRoaXMuaTE4blNlcnZpY2Uuc2V0d2lkZ2V0TG9jYWxlLmJpbmQodGhpcy5pMThuU2VydmljZSk7XG4gICAgXG4gICAgc2V0QXBwTW9kZSA9IChtb2RlKSA9PiB7XG4gICAgICAgIGNvbnN0IGh0bWxFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF07XG4gICAgICAgIGlmIChtb2RlID09PSAnZGVmYXVsdCcpIHtcbiAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnYXBwLW1vZGUnKTtcbiAgICAgICAgICBodG1sRWwucmVtb3ZlQXR0cmlidXRlKCdhcHAtbW9kZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhcHAtbW9kZScsIG1vZGUpO1xuICAgICAgICAgIGh0bWxFbC5zZXRBdHRyaWJ1dGUoJ2FwcC1tb2RlJywgbW9kZSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBfZXZlbnROb3RpZmllciA9IG5ldyBFdmVudE5vdGlmaWVyKCk7XG5cbiAgICBsYW5kaW5nUGFnZU5hbWUgPSBnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCkuaG9tZVBhZ2U7XG5cbiAgICByZWxvYWQoKSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBpbmo6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGkxOG5TZXJ2aWNlOiBBYnN0cmFjdEkxOG5TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHN0YXRlUGVyc2lzdGVuY2U6IFN0YXRlUGVyc2lzdGVuY2UsXG4gICAgICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IEFic3RyYWN0SHR0cFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2VjdXJpdHlTZXJ2aWNlOiBTZWN1cml0eVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGVSZXVzZVN0cmF0ZWd5OiBSb3V0ZVJldXNlU3RyYXRlZ3lcbiAgICApIHtcblxuICAgICAgICBjb25zdCB3bVByb2plY3RQcm9wZXJ0aWVzID0gZ2V0V21Qcm9qZWN0UHJvcGVydGllcygpO1xuXG4gICAgICAgIHRoaXMucHJvamVjdE5hbWUgPSB3bVByb2plY3RQcm9wZXJ0aWVzLm5hbWU7XG4gICAgICAgIHRoaXMuaXNQcmVmYWJUeXBlID0gd21Qcm9qZWN0UHJvcGVydGllcy50eXBlID09PSBQUk9KRUNUX1RZUEUuUFJFRkFCO1xuICAgICAgICB0aGlzLmlzQXBwbGljYXRpb25UeXBlID0gd21Qcm9qZWN0UHJvcGVydGllcy50eXBlID09PSBQUk9KRUNUX1RZUEUuQVBQTElDQVRJT047XG4gICAgICAgIHRoaXMuaXNUZW1wbGF0ZUJ1bmRsZVR5cGUgPSB3bVByb2plY3RQcm9wZXJ0aWVzLnR5cGUgPT09IFBST0pFQ1RfVFlQRS5URU1QTEFURV9CVU5ETEU7XG4gICAgICAgIHRoaXMudGFyZ2V0UGxhdGZvcm0gPSB3bVByb2plY3RQcm9wZXJ0aWVzLnBsYXRmb3JtVHlwZTtcblxuICAgICAgICB0aGlzLmh0dHBTZXJ2aWNlLnJlZ2lzdGVyT25TZXNzaW9uVGltZW91dCh0aGlzLm9uNDAxLmJpbmQodGhpcykpO1xuXG4gICAgICAgIHRoaXMuYXBwTG9jYWxlID0gdGhpcy5pMThuU2VydmljZS5nZXRBcHBMb2NhbGUoKTtcbiAgICAgICAgdGhpcy5odHRwU2VydmljZS5zZXRMb2NhbGUodGhpcy5hcHBMb2NhbGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhclBhZ2VDYWNoZShwYWdlTmFtZT86IHN0cmluZykge1xuICAgICAgICBpZih0aGlzLnJvdXRlUmV1c2VTdHJhdGVneSBpbnN0YW5jZW9mIFdtRGVmYXVsdFJvdXRlUmV1c2VTdHJhdGVneSkge1xuICAgICAgICAgICAgKHRoaXMucm91dGVSZXVzZVN0cmF0ZWd5IGFzIFdtRGVmYXVsdFJvdXRlUmV1c2VTdHJhdGVneSkucmVzZXQocGFnZU5hbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5vdGlmeShldmVudE5hbWU6IHN0cmluZywgLi4uZGF0YTogQXJyYXk8YW55Pikge1xuICAgICAgICB0aGlzLl9ldmVudE5vdGlmaWVyLm5vdGlmeS5hcHBseSh0aGlzLl9ldmVudE5vdGlmaWVyLCBhcmd1bWVudHMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREZXBlbmRlbmN5KGlualRva2VuKSB7XG4gICAgICAgIGlmIChpc1N0cmluZyhpbmpUb2tlbikpIHtcbiAgICAgICAgICAgIGlmIChpbmpUb2tlbiA9PT0gJ0h0dHBTZXJ2aWNlJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXRIdHRwRGVwZW5kZW5jeS5jYWxsKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IHByb3ZpZGVySW5zdGFuY2UgPSBpbmplY3Rvck1hcFtpbmpUb2tlbl0gJiYgdGhpcy5pbmouZ2V0KGluamVjdG9yTWFwW2lualRva2VuXSk7XG4gICAgICAgICAgICBpZiAoIXByb3ZpZGVySW5zdGFuY2UgJiYgdGhpcy5pbmpbJ3JlY29yZHMnXT8udmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5pbmpbJ3JlY29yZHMnXS52YWx1ZXMoKTtcbiAgICAgICAgICAgICAgICBsZXQgbmV4dCA9IHZhbHVlcz8ubmV4dCgpO1xuICAgICAgICAgICAgICAgIHdoaWxlIChuZXh0ICYmICFuZXh0LmRvbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5leHQ/LnZhbHVlPy52YWx1ZT8uY29uc3RydWN0b3I/LlNFUlZJQ0VfTkFNRSA9PT0gaW5qVG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXh0LnZhbHVlLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5leHQgPSB2YWx1ZXMubmV4dCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwcm92aWRlckluc3RhbmNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmluai5nZXQoaW5qVG9rZW4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHRyaWdnZXJzIHRoZSBvblNlc3Npb25UaW1lb3V0IGNhbGxiYWNrIGluIGFwcC5qc1xuICAgICAqL1xuICAgIG9uNDAxKCkge1xuICAgICAgICBjb25zdCB1c2VySW5mbyA9IGdldCh0aGlzLnNlY3VyaXR5U2VydmljZS5nZXQoKSwgJ3VzZXJJbmZvJyk7XG4gICAgICAgIC8vIGlmIGEgcHJldmlvdXMgdXNlciBleGlzdHMsIGEgc2Vzc2lvbiB0aW1lIG91dCB0cmlnZ2VyZWRcbiAgICAgICAgaWYgKCFpc0VtcHR5KHVzZXJJbmZvKSkge1xuICAgICAgICAgICAgdGhpcy5vblNlc3Npb25UaW1lb3V0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3Vic2NyaWJlKGV2ZW50TmFtZSwgY2FsbGJhY2s6IChkYXRhOiBhbnkpID0+IHZvaWQpOiAoKSA9PiB2b2lkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V2ZW50Tm90aWZpZXIuc3Vic2NyaWJlKGV2ZW50TmFtZSwgY2FsbGJhY2spO1xuICAgIH1cblxuICAgIHB1YmxpYyBub3RpZnlBcHAodGVtcGxhdGUsIHR5cGUsIHRpdGxlKSB7XG4gICAgICAgIGNvbnN0IG5vdGlmaWNhdGlvbkFjdGlvbiA9IGdldCh0aGlzLCAnQWN0aW9ucy5hcHBOb3RpZmljYXRpb24nKTtcbiAgICAgICAgY29uc3QgRVhDTFVERV9OT1RJRklDQVRJT05fTUVTU0FHRVMgPSBbJ1BST0NFU1NfUkVKRUNURURfSU5fUVVFVUUnXTtcbiAgICAgICAgY29uc3Qgc2tpcERlZmF1bHROb3RpZmljYXRpb24gPSBFWENMVURFX05PVElGSUNBVElPTl9NRVNTQUdFUy5pbmRleE9mKHRlbXBsYXRlKSAhPT0gLTE7XG4gICAgICAgIGlmIChub3RpZmljYXRpb25BY3Rpb24pIHtcbiAgICAgICAgICAgIC8vIGRvIG5vdCBub3RpZnkgdGhlIGVycm9yIHRvIHRoZSBhcHAsIGp1c3QgdGhyb3cgaXQgaW4gY29uc29sZVxuICAgICAgICAgICAgaWYgKHNraXBEZWZhdWx0Tm90aWZpY2F0aW9uKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdBcHAgRXJyb3InLCB0ZW1wbGF0ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZSA9IHR5cGUgfHwgJ3N1Y2Nlc3MnO1xuICAgICAgICAgICAgdGVtcGxhdGUgPSBub3RpZmljYXRpb25BY3Rpb24uZ2V0TWVzc2FnZSgpIHx8IHRlbXBsYXRlO1xuICAgICAgICAgICAgbm90aWZpY2F0aW9uQWN0aW9uLmludm9rZSh7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogdGVtcGxhdGUsXG4gICAgICAgICAgICAgICAgdGl0bGU6IGlzRGVmaW5lZCh0aXRsZSkgPyB0aXRsZSA6IHR5cGUudG9VcHBlckNhc2UoKSxcbiAgICAgICAgICAgICAgICBjbGFzczogdHlwZSxcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgdHlwZSBpcyBlcnJvciBkbyBub3QgY2xvc2UgdGhlIHRvYXN0clxuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiB0eXBlLnRvVXBwZXJDYXNlKCkgPT09ICdFUlJPUicgPyAwIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignVGhlIGRlZmF1bHQgQWN0aW9uIFwiYXBwTm90aWZpY2F0aW9uXCIgZG9lc25cXCd0IGV4aXN0IGluIHRoZSBhcHAuIEFwcCBub3RpZmllZCBmb2xsb3dpbmcgZXJyb3I6XFxuJywgdGVtcGxhdGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZnVuY3Rpb24gdG8gcmVnaXN0ZXIgYmluZCBleHByZXNzaW9ucyBmcm9tIGFwcCB2YXJpYWJsZXNcbiAgICAgKiBpdCB3aWxsIGJlIGNhbGxlZCBmcm9tIGFwcC5qcyBpbiBnZW5lcmF0ZWQgYW5ndWxhciBhcHBcbiAgICAgKiBAcGFyYW0gZXhwcmVzc2lvbnMsIG1hcCBvZiBiaW5kIGV4cHJlc3Npb24gdnMgZ2VuZXJhdGVkIGZ1bmN0aW9uXG4gICAgICovXG4gICAgcHVibGljIHJlZ2lzdGVyRXhwcmVzc2lvbnMoZXhwcmVzc2lvbnMpIHtcbiAgICAgICAgZWFjaChleHByZXNzaW9ucywgKGZuLCBleHByKSA9PiB7XG4gICAgICAgICAgICByZWdpc3RlckZuQnlFeHByKGV4cHIsIGZuWzBdLCBmblsxXSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -2883,6 +2883,17 @@ class AppRef {
2883
2883
  this.getSelectedLocale = this.i18nService.getSelectedLocale.bind(this.i18nService);
2884
2884
  this.setTimezone = this.i18nService.setTimezone.bind(this.i18nService);
2885
2885
  this.setwidgetLocale = this.i18nService.setwidgetLocale.bind(this.i18nService);
2886
+ this.setAppMode = (mode) => {
2887
+ const htmlEl = document.getElementsByTagName('html')[0];
2888
+ if (mode === 'default') {
2889
+ localStorage.removeItem('app-mode');
2890
+ htmlEl.removeAttribute('app-mode');
2891
+ }
2892
+ else {
2893
+ localStorage.setItem('app-mode', mode);
2894
+ htmlEl.setAttribute('app-mode', mode);
2895
+ }
2896
+ };
2886
2897
  this._eventNotifier = new EventNotifier();
2887
2898
  this.landingPageName = getWmProjectProperties().homePage;
2888
2899
  const wmProjectProperties = getWmProjectProperties();