@posiwise/common-services 0.1.74 → 0.1.75

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.
package/esm2022/index.mjs CHANGED
@@ -42,4 +42,5 @@ export * from './lib/logo-caching.service';
42
42
  export * from './lib/hopscotch.service';
43
43
  export * from './lib/brain.service';
44
44
  export * from './lib/brain-api-http.service';
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHB3LXNlcnZpY2VzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2dvb2dsZS1hbmFseXRpY3Muc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zY3JpcHQtbG9hZGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFzZS1odHRwLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uLXNlcnZpY2VzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYWluLWFwaS1odHRwLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVybWlzc2lvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RvYXN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0aC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlZ3JhdGlvbnMtYXBpLWh0dHAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saW5rLWxvYWRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VzZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20tcHJlbG9hZGluZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FiLXRlc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9nZW8uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm9maWxlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3Vic2NyaXB0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvZHVjdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fob3kuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLWZvcm1hdHRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByaW1lTmdIZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFnLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGlwcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3dpbmRvdy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyb3VwLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcXVhbGlmaWNhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rhc2hib2FyZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21haWxib3guc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zb2NrZXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZmZlY3RzL3VzZXIuZWZmZWN0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbnVtYmVyLXBpY2tlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbnRyeS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvZ28tY2FjaGluZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hvcHNjb3RjaC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JyYWluLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJhaW4tYXBpLWh0dHAuc2VydmljZSc7XG4iXX0=
45
+ export * from './lib/jquery.service';
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcHctc2VydmljZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NjcmlwdC1sb2FkZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYXNlLWh0dHAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24tc2VydmljZXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21haW4tYXBpLWh0dHAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9hc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVncmF0aW9ucy1hcGktaHR0cC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpbmstbG9hZGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2N1c3RvbS1wcmVsb2FkaW5nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWItdGVzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dlby5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Byb2ZpbGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdWJzY3JpcHRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm9kdWN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0taGVscGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYWhveS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbW1vbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtZm9ybWF0dGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJpbWVOZ0hlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90aXBzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvd2luZG93LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JvdXAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9xdWFsaWZpY2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGFzaGJvYXJkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWFpbGJveC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NvY2tldC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VmZmVjdHMvdXNlci5lZmZlY3RzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9udW1iZXItcGlja2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VudHJ5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9nby1jYWNoaW5nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaG9wc2NvdGNoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJhaW4uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icmFpbi1hcGktaHR0cC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2pxdWVyeS5zZXJ2aWNlJztcbiJdfQ==
@@ -48,19 +48,27 @@ export class GoogleAnalyticsService {
48
48
  window.ga.l = +new Date();
49
49
  }
50
50
  }
51
+ addOneTimeTrackingListeners(url) {
52
+ const handler = () => {
53
+ if (this.isGaAvailable()) {
54
+ window.ga('set', 'page', url);
55
+ window.ga('send', 'pageview');
56
+ }
57
+ };
58
+ ['mousemove', 'scroll', 'touchstart'].forEach(eventName => {
59
+ window.addEventListener(eventName, handler, { once: true });
60
+ });
61
+ }
51
62
  subscribe() {
52
63
  this.subscription ??= this.router.events.subscribe(e => {
53
64
  if (e instanceof NavigationEnd) {
54
65
  // Ensure that the Google Analytics script is loaded before using the ga function
55
66
  this.loadGScript().then(() => {
56
67
  try {
57
- if (this.isGaAvailable()) {
58
- window.ga('set', 'page', e.urlAfterRedirects);
59
- window.ga('send', 'pageview');
60
- }
68
+ this.addOneTimeTrackingListeners(e.urlAfterRedirects);
61
69
  }
62
70
  catch {
63
- console.error('Tracking not found - make sure you installed the scripts');
71
+ console.error('Tracking not found -- make sure you installed the scripts');
64
72
  }
65
73
  });
66
74
  }
@@ -110,4 +118,4 @@ export class GoogleAnalyticsService {
110
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GoogleAnalyticsService, decorators: [{
111
119
  type: Injectable
112
120
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.ScriptLoaderService }, { type: i3.AppConfigService }] });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSWhFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQVU5RCxNQUFNLE9BQU8sc0JBQXNCO0lBSS9CLFlBQ3FCLE1BQWMsRUFDZCxZQUFpQyxFQUNqQyxnQkFBa0M7UUFGbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ3BELENBQUM7SUFFSSxhQUFhO1FBQ2pCLE9BQU8sT0FBTyxNQUFNLENBQUMsRUFBRSxLQUFLLFdBQVcsQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDekMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxFQUFFLENBQUMsQ0FBQywrQ0FBK0M7Z0JBQzFELE9BQU87WUFDWCxDQUFDO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxZQUFZO3FCQUNaLFVBQVUsQ0FBQyxNQUFNLEVBQUUsK0NBQStDLEVBQUUsSUFBSSxDQUFDO3FCQUN6RSxJQUFJLENBQUMs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QUFVLEVBQUUsQ0FBQztZQUNwQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO2dCQUN2QixNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLENBQUM7SUFDTCxDQUFDOytHQTlHUSxzQkFBc0I7bUhBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWNvbmZpZy1zZXJ2aWNlJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjcmlwdExvYWRlclNlcnZpY2UgfSBmcm9tICcuL3NjcmlwdC1sb2FkZXIuc2VydmljZSc7XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgZ2E6IGFueTtcbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHb29nbGVBbmFseXRpY3NTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHN0YXRpYyB0cmFja2luZ0lkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNjcmlwdExvYWRlcjogU2NyaXB0TG9hZGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWdTZXJ2aWNlOiBBcHBDb25maWdTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBpc0dhQXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHdpbmRvdy5nYSAhPT0gJ3VuZGVmaW5lZCc7XG4gICAgfVxuXG4gICAgbG9hZEdTY3JpcHQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0dhQXZhaWxhYmxlKCkpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7IC8vIEdBIGlzIGFscmVhZHkgbG9hZGVkLCBubyBuZWVkIHRvIGxvYWQgYWdhaW4uXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5hcHBDb25maWdTZXJ2aWNlLmFwcENvbmZpZyQuc3Vic2NyaWJlKGNvbmZpZyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JpcHRMb2FkZXJcbiAgICAgICAgICAgICAgICAgICAgLmxvYWRTY3JpcHQoJ2hlYWQnLCAnaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywgdHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wdXNoQXJndW1lbnRzR0EoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5nYS5sID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEdvb2dsZUFuYWx5dGljc1NlcnZpY2UudHJhY2tpbmdJZCA9IGNvbmZpZy5pbnRlZ3JhdGlvbnMuZ29vZ2xlX2FuYWx5dGljcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5nYSgnY3JlYXRlJywgR29vZ2xlQW5hbHl0aWNzU2VydmljZS50cmFja2luZ0lkLCAnYXV0bycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOyAvLyBSZXNvbHZlIHRoZSBwcm9taXNlIG9uY2UgdGhlIHNjcmlwdCBpcyBsb2FkZWQgYW5kIGdhIGlzIGluaXRpYWxpemVkXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIEdvb2dsZSBBbmFseXRpY3Mgc2NyaXB0OicsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IgOiBuZXcgRXJyb3IoZXJyb3IpKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVzaEFyZ3VtZW50c0dBKCkge1xuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdy5nYSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHdpbmRvdy5nYSA9IGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgICAgICAgICAgICAgd2luZG93LmdhLnEgPz89IFtdO1xuICAgICAgICAgICAgICAgIHdpbmRvdy5nYS5xLnB1c2goYXJncyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgd2luZG93LmdhLnEgPSBbXTtcbiAgICAgICAgICAgIHdpbmRvdy5nYS5sID0gK25ldyBEYXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdWJzY3JpYmUoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID8/PSB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIEdvb2dsZSBBbmFseXRpY3Mgc2NyaXB0IGlzIGxvYWRlZCBiZWZvcmUgdXNpbmcgdGhlIGdhIGZ1bmN0aW9uXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkR1NjcmlwdCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNHYUF2YWlsYWJsZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmdhKCdzZXQnLCAncGFnZScsIGUudXJsQWZ0ZXJSZWRpcmVjdHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5nYSgnc2VuZCcsICdwYWdldmlldycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RyYWNraW5nIG5vdCBmb3VuZCAtIG1ha2Ugc3VyZSB5b3UgaW5zdGFsbGVkIHRoZSBzY3JpcHRzJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW1pdCBnb29nbGUgYW5hbHl0aWNzIGV2ZW50XG4gICAgICogRmlyZSBldmVudCBleGFtcGxlOlxuICAgICAqIHRoaXMuc2VuZEV2ZW50KFwidGVzdENhdGVnb3J5XCIsIFwidGVzdEFjdGlvblwiLCBcInRlc3RMYWJlbFwiLCAxMCk7XG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50Q2F0ZWdvcnlcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRBY3Rpb25cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRMYWJlbFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBldmVudFZhbHVlXG4gICAgICovXG4gICAgc2VuZEV2ZW50KFxuICAgICAgICBldmVudENhdGVnb3J5OiBzdHJpbmcsXG4gICAgICAgIGV2ZW50QWN0aW9uOiBzdHJpbmcsXG4gICAgICAgIGV2ZW50TGFiZWw6IHN0cmluZyA9IG51bGwsXG4gICAgICAgIGV2ZW50VmFsdWU6IG51bWJlciA9IG51bGxcbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMuaXNHYUF2YWlsYWJsZSgpKSB7XG4gICAgICAgICAgICB3aW5kb3cuZ2EoJ3NlbmQnLCAnZXZlbnQnLCB7XG4gICAgICAgICAgICAgICAgZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgICAgICAgICBldmVudEFjdGlvbixcbiAgICAgICAgICAgICAgICBldmVudExhYmVsLFxuICAgICAgICAgICAgICAgIGV2ZW50VmFsdWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignR29vZ2xlIEFuYWx5dGljcyB0cmFja2luZyBub3QgYXZhaWxhYmxlLicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlIFVzZXJJZCBUcmFja2luZyBmb3IgR29vZ2xlIEFuYWx5dGljc1xuICAgICAqIEBwYXJhbSB1c2VyXG4gICAgICovXG4gICAgc2V0VXNlckNvbnRleHQodXNlcikge1xuICAgICAgICBpZiAoR29vZ2xlQW5hbHl0aWNzU2VydmljZS50cmFja2luZ0lkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0dhQXZhaWxhYmxlKCkpIHtcbiAgICAgICAgICAgICAgICB3aW5kb3cuZ2EoJ3NldCcsICd1c2VySWQnLCB1c2VyPy5pZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bnN1YnNjcmliZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSWhFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQVU5RCxNQUFNLE9BQU8sc0JBQXNCO0lBSS9CLFlBQ3FCLE1BQWMsRUFDZCxZQUFpQyxFQUNqQyxnQkFBa0M7UUFGbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ3BELENBQUM7SUFFSSxhQUFhO1FBQ2pCLE9BQU8sT0FBTyxNQUFNLENBQUMsRUFBRSxLQUFLLFdBQVcsQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDekMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxFQUFFLENBQUMsQ0FBQywrQ0FBK0M7Z0JBQzFELE9BQU87WUFDWCxDQUFDO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxZQUFZO3FCQUNaLFVBQVUsQ0FBQyxNQUFNLEVBQUUsK0NBQStDLEVBQUUsSUFBSSxDQUFDO3FCQUN6RSxJQUFJLENBQUMs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QUFxQixJQUFJO1FBRXpCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDdkIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFO2dCQUN2QixhQUFhO2dCQUNiLFdBQVc7Z0JBQ1gsVUFBVTtnQkFDVixVQUFVO2FBQ2IsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsSUFBSTtRQUNmLElBQUksc0JBQXNCLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6QyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxDQUFDO0lBQ0wsQ0FBQzsrR0F4SFEsc0JBQXNCO21IQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1jb25maWctc2VydmljZSc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY3JpcHRMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zY3JpcHQtbG9hZGVyLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIGdhOiBhbnk7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR29vZ2xlQW5hbHl0aWNzU2VydmljZSB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgdHJhY2tpbmdJZDogc3RyaW5nO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzY3JpcHRMb2FkZXI6IFNjcmlwdExvYWRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZVxuICAgICkge31cblxuICAgIHByaXZhdGUgaXNHYUF2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB3aW5kb3cuZ2EgIT09ICd1bmRlZmluZWQnO1xuICAgIH1cblxuICAgIGxvYWRHU2NyaXB0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNHYUF2YWlsYWJsZSgpKSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpOyAvLyBHQSBpcyBhbHJlYWR5IGxvYWRlZCwgbm8gbmVlZCB0byBsb2FkIGFnYWluLlxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuYXBwQ29uZmlnU2VydmljZS5hcHBDb25maWckLnN1YnNjcmliZShjb25maWcgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2NyaXB0TG9hZGVyXG4gICAgICAgICAgICAgICAgICAgIC5sb2FkU2NyaXB0KCdoZWFkJywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsIHRydWUpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHVzaEFyZ3VtZW50c0dBKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZ2EubCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBHb29nbGVBbmFseXRpY3NTZXJ2aWNlLnRyYWNraW5nSWQgPSBjb25maWcuaW50ZWdyYXRpb25zLmdvb2dsZV9hbmFseXRpY3M7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZ2EoJ2NyZWF0ZScsIEdvb2dsZUFuYWx5dGljc1NlcnZpY2UudHJhY2tpbmdJZCwgJ2F1dG8nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsgLy8gUmVzb2x2ZSB0aGUgcHJvbWlzZSBvbmNlIHRoZSBzY3JpcHQgaXMgbG9hZGVkIGFuZCBnYSBpcyBpbml0aWFsaXplZFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBHb29nbGUgQW5hbHl0aWNzIHNjcmlwdDonLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yIDogbmV3IEVycm9yKGVycm9yKSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1c2hBcmd1bWVudHNHQSgpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cuZ2EgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB3aW5kb3cuZ2EgPSBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5nYS5xID8/PSBbXTtcbiAgICAgICAgICAgICAgICB3aW5kb3cuZ2EucS5wdXNoKGFyZ3MpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHdpbmRvdy5nYS5xID0gW107XG4gICAgICAgICAgICB3aW5kb3cuZ2EubCA9ICtuZXcgRGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRPbmVUaW1lVHJhY2tpbmdMaXN0ZW5lcnModXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzR2FBdmFpbGFibGUoKSkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5nYSgnc2V0JywgJ3BhZ2UnLCB1cmwpO1xuICAgICAgICAgICAgICAgIHdpbmRvdy5nYSgnc2VuZCcsICdwYWdldmlldycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIFsnbW91c2Vtb3ZlJywgJ3Njcm9sbCcsICd0b3VjaHN0YXJ0J10uZm9yRWFjaChldmVudE5hbWUgPT4ge1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyLCB7IG9uY2U6IHRydWUgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN1YnNjcmliZSgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPz89IHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgR29vZ2xlIEFuYWx5dGljcyBzY3JpcHQgaXMgbG9hZGVkIGJlZm9yZSB1c2luZyB0aGUgZ2EgZnVuY3Rpb25cbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRHU2NyaXB0KCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZE9uZVRpbWVUcmFja2luZ0xpc3RlbmVycyhlLnVybEFmdGVyUmVkaXJlY3RzKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdUcmFja2luZyBub3QgZm91bmQgLS0gbWFrZSBzdXJlIHlvdSBpbnN0YWxsZWQgdGhlIHNjcmlwdHMnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbWl0IGdvb2dsZSBhbmFseXRpY3MgZXZlbnRcbiAgICAgKiBGaXJlIGV2ZW50IGV4YW1wbGU6XG4gICAgICogdGhpcy5zZW5kRXZlbnQoXCJ0ZXN0Q2F0ZWdvcnlcIiwgXCJ0ZXN0QWN0aW9uXCIsIFwidGVzdExhYmVsXCIsIDEwKTtcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRDYXRlZ29yeVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudEFjdGlvblxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudExhYmVsXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGV2ZW50VmFsdWVcbiAgICAgKi9cbiAgICBzZW5kRXZlbnQoXG4gICAgICAgIGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyxcbiAgICAgICAgZXZlbnRBY3Rpb246IHN0cmluZyxcbiAgICAgICAgZXZlbnRMYWJlbDogc3RyaW5nID0gbnVsbCxcbiAgICAgICAgZXZlbnRWYWx1ZTogbnVtYmVyID0gbnVsbFxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5pc0dhQXZhaWxhYmxlKCkpIHtcbiAgICAgICAgICAgIHdpbmRvdy5nYSgnc2VuZCcsICdldmVudCcsIHtcbiAgICAgICAgICAgICAgICBldmVudENhdGVnb3J5LFxuICAgICAgICAgICAgICAgIGV2ZW50QWN0aW9uLFxuICAgICAgICAgICAgICAgIGV2ZW50TGFiZWwsXG4gICAgICAgICAgICAgICAgZXZlbnRWYWx1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdHb29nbGUgQW5hbHl0aWNzIHRyYWNraW5nIG5vdCBhdmFpbGFibGUuJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbmFibGUgVXNlcklkIFRyYWNraW5nIGZvciBHb29nbGUgQW5hbHl0aWNzXG4gICAgICogQHBhcmFtIHVzZXJcbiAgICAgKi9cbiAgICBzZXRVc2VyQ29udGV4dCh1c2VyKSB7XG4gICAgICAgIGlmIChHb29nbGVBbmFseXRpY3NTZXJ2aWNlLnRyYWNraW5nSWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzR2FBdmFpbGFibGUoKSkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5nYSgnc2V0JywgJ3VzZXJJZCcsIHVzZXI/LmlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuc3Vic2NyaWJlKCkge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class JQueryService {
4
+ constructor() {
5
+ this.loadPromise = null;
6
+ }
7
+ ensure() {
8
+ if (!this.loadPromise) {
9
+ this.loadPromise = import('jquery')
10
+ .then((mod) => {
11
+ const $ = (mod.default ?? mod);
12
+ // Only assign if not already set
13
+ if (!window.$) {
14
+ window.$ = $;
15
+ }
16
+ if (!window.jQuery) {
17
+ window.jQuery = $;
18
+ }
19
+ return $;
20
+ })
21
+ .catch(err => {
22
+ console.error('Failed to load jQuery:', err);
23
+ throw err;
24
+ });
25
+ }
26
+ return this.loadPromise;
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: JQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: JQueryService, providedIn: 'root' }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: JQueryService, decorators: [{
32
+ type: Injectable,
33
+ args: [{ providedIn: 'root' }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianF1ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvbGliL2pxdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVTNDLE1BQU0sT0FBTyxhQUFhO0lBRDFCO1FBRVksZ0JBQVcsR0FBaUMsSUFBSSxDQUFDO0tBeUI1RDtJQXZCRyxNQUFNO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7aUJBQzlCLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBZ0IsRUFBRTtnQkFDeEIsTUFBTSxDQUFDLEdBQWlCLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQWlCLENBQUM7Z0JBRTdELGlDQUFpQztnQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDWixNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsQ0FBQztnQkFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNqQixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDdEIsQ0FBQztnQkFFRCxPQUFPLENBQUMsQ0FBQztZQUNiLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ1QsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDN0MsTUFBTSxHQUFHLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FBQztRQUNYLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQzsrR0F6QlEsYUFBYTttSEFBYixhQUFhLGNBREEsTUFBTTs7NEZBQ25CLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgICAgICQ7XG4gICAgICAgIGpRdWVyeTogSlF1ZXJ5U3RhdGljO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBKUXVlcnlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGxvYWRQcm9taXNlOiBQcm9taXNlPEpRdWVyeVN0YXRpYz4gfCBudWxsID0gbnVsbDtcblxuICAgIGVuc3VyZSgpOiBQcm9taXNlPEpRdWVyeVN0YXRpYz4ge1xuICAgICAgICBpZiAoIXRoaXMubG9hZFByb21pc2UpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZFByb21pc2UgPSBpbXBvcnQoJ2pxdWVyeScpXG4gICAgICAgICAgICAgICAgLnRoZW4oKG1vZCk6IEpRdWVyeVN0YXRpYyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICQ6IEpRdWVyeVN0YXRpYyA9IChtb2QuZGVmYXVsdCA/PyBtb2QpIGFzIEpRdWVyeVN0YXRpYztcblxuICAgICAgICAgICAgICAgICAgICAvLyBPbmx5IGFzc2lnbiBpZiBub3QgYWxyZWFkeSBzZXRcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF3aW5kb3cuJCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LiQgPSAkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghd2luZG93LmpRdWVyeSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmpRdWVyeSA9ICQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCBqUXVlcnk6JywgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRQcm9taXNlO1xuICAgIH1cbn1cbiJdfQ==
@@ -148,19 +148,27 @@ class GoogleAnalyticsService {
148
148
  window.ga.l = +new Date();
149
149
  }
150
150
  }
151
+ addOneTimeTrackingListeners(url) {
152
+ const handler = () => {
153
+ if (this.isGaAvailable()) {
154
+ window.ga('set', 'page', url);
155
+ window.ga('send', 'pageview');
156
+ }
157
+ };
158
+ ['mousemove', 'scroll', 'touchstart'].forEach(eventName => {
159
+ window.addEventListener(eventName, handler, { once: true });
160
+ });
161
+ }
151
162
  subscribe() {
152
163
  this.subscription ??= this.router.events.subscribe(e => {
153
164
  if (e instanceof NavigationEnd) {
154
165
  // Ensure that the Google Analytics script is loaded before using the ga function
155
166
  this.loadGScript().then(() => {
156
167
  try {
157
- if (this.isGaAvailable()) {
158
- window.ga('set', 'page', e.urlAfterRedirects);
159
- window.ga('send', 'pageview');
160
- }
168
+ this.addOneTimeTrackingListeners(e.urlAfterRedirects);
161
169
  }
162
170
  catch {
163
- console.error('Tracking not found - make sure you installed the scripts');
171
+ console.error('Tracking not found -- make sure you installed the scripts');
164
172
  }
165
173
  });
166
174
  }
@@ -2892,6 +2900,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
2892
2900
  }]
2893
2901
  }], ctorParameters: () => [{ type: BrainApiHttpService }] });
2894
2902
 
2903
+ class JQueryService {
2904
+ constructor() {
2905
+ this.loadPromise = null;
2906
+ }
2907
+ ensure() {
2908
+ if (!this.loadPromise) {
2909
+ this.loadPromise = import('jquery')
2910
+ .then((mod) => {
2911
+ const $ = (mod.default ?? mod);
2912
+ // Only assign if not already set
2913
+ if (!window.$) {
2914
+ window.$ = $;
2915
+ }
2916
+ if (!window.jQuery) {
2917
+ window.jQuery = $;
2918
+ }
2919
+ return $;
2920
+ })
2921
+ .catch(err => {
2922
+ console.error('Failed to load jQuery:', err);
2923
+ throw err;
2924
+ });
2925
+ }
2926
+ return this.loadPromise;
2927
+ }
2928
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: JQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2929
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: JQueryService, providedIn: 'root' }); }
2930
+ }
2931
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: JQueryService, decorators: [{
2932
+ type: Injectable,
2933
+ args: [{ providedIn: 'root' }]
2934
+ }] });
2935
+
2895
2936
  /*
2896
2937
  * Public API Surface of pw-services
2897
2938
  */
@@ -2900,5 +2941,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
2900
2941
  * Generated bundle index. Do not edit.
2901
2942
  */
2902
2943
 
2903
- export { AbTestService, AhoyService, AuthService, BaseHttpService, BrainApiHttpService, BrainApiService, CommonService, CommonServicesModule, CustomPreloadingStrategy, CustomToastService, DashboardService, DataService, FormHelperService, GeoService, GoogleAnalyticsService, GroupService, HopscotchService, IntegrationsApiHttpService, LinkService, LocalStorage, LogoCacheService, MailBoxService, MainApiHttpService, NgbDateCustomParserFormatter, NotificationService, NumberPickerService, PermissionService, PrimeNgHelper, ProductService, ProfileService, QualificationService, ScriptLoaderService, SentryErrorHandler, SubscriptionService, TagService, TipsService, UserEffects, UserService, ValidationService, WebsocketService, WindowService };
2944
+ export { AbTestService, AhoyService, AuthService, BaseHttpService, BrainApiHttpService, BrainApiService, CommonService, CommonServicesModule, CustomPreloadingStrategy, CustomToastService, DashboardService, DataService, FormHelperService, GeoService, GoogleAnalyticsService, GroupService, HopscotchService, IntegrationsApiHttpService, JQueryService, LinkService, LocalStorage, LogoCacheService, MailBoxService, MainApiHttpService, NgbDateCustomParserFormatter, NotificationService, NumberPickerService, PermissionService, PrimeNgHelper, ProductService, ProfileService, QualificationService, ScriptLoaderService, SentryErrorHandler, SubscriptionService, TagService, TipsService, UserEffects, UserService, ValidationService, WebsocketService, WindowService };
2904
2945
  //# sourceMappingURL=posiwise-common-services.mjs.map