@igo2/core 1.15.4 → 1.15.5

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 (158) hide show
  1. package/__ivy_ngcc__/locale/en.auth.json +29 -29
  2. package/__ivy_ngcc__/locale/en.common.json +43 -43
  3. package/__ivy_ngcc__/locale/en.context.json +199 -199
  4. package/__ivy_ngcc__/locale/en.core.json +29 -29
  5. package/__ivy_ngcc__/locale/en.geo.json +805 -805
  6. package/__ivy_ngcc__/locale/en.integration.json +123 -123
  7. package/__ivy_ngcc__/locale/fr.auth.json +32 -32
  8. package/__ivy_ngcc__/locale/fr.common.json +43 -43
  9. package/__ivy_ngcc__/locale/fr.context.json +199 -199
  10. package/__ivy_ngcc__/locale/fr.core.json +29 -29
  11. package/__ivy_ngcc__/locale/fr.geo.json +805 -805
  12. package/__ivy_ngcc__/locale/fr.integration.json +125 -125
  13. package/esm2020/igo2-core.mjs +4 -4
  14. package/esm2020/lib/activity/activity.interceptor.mjs +30 -30
  15. package/esm2020/lib/activity/activity.module.mjs +30 -30
  16. package/esm2020/lib/activity/activity.service.mjs +33 -33
  17. package/esm2020/lib/activity/index.mjs +3 -3
  18. package/esm2020/lib/analytics/index.mjs +2 -2
  19. package/esm2020/lib/analytics/shared/analytics.interface.mjs +2 -2
  20. package/esm2020/lib/analytics/shared/analytics.service.mjs +81 -81
  21. package/esm2020/lib/analytics/shared/index.mjs +3 -3
  22. package/esm2020/lib/compression/compressedData.interface.mjs +2 -2
  23. package/esm2020/lib/compression/compression.service.mjs +140 -140
  24. package/esm2020/lib/compression/index.mjs +3 -3
  25. package/esm2020/lib/config/config.interface.mjs +2 -2
  26. package/esm2020/lib/config/config.module.mjs +23 -23
  27. package/esm2020/lib/config/config.provider.mjs +21 -21
  28. package/esm2020/lib/config/config.service.mjs +52 -52
  29. package/esm2020/lib/config/index.mjs +4 -4
  30. package/esm2020/lib/config/version.mjs +5 -5
  31. package/esm2020/lib/core.module.mjs +92 -92
  32. package/esm2020/lib/gesture/gesture.module.mjs +30 -30
  33. package/esm2020/lib/gesture/gesture.provider.mjs +16 -16
  34. package/esm2020/lib/language/index.mjs +2 -2
  35. package/esm2020/lib/language/language.module.mjs +39 -39
  36. package/esm2020/lib/language/shared/index.mjs +5 -5
  37. package/esm2020/lib/language/shared/language.interface.mjs +2 -2
  38. package/esm2020/lib/language/shared/language.loader.mjs +26 -26
  39. package/esm2020/lib/language/shared/language.provider.mjs +22 -22
  40. package/esm2020/lib/language/shared/language.service.mjs +32 -32
  41. package/esm2020/lib/language/shared/missing-translation.guard.mjs +16 -16
  42. package/esm2020/lib/media/index.mjs +3 -3
  43. package/esm2020/lib/media/media.enum.mjs +12 -12
  44. package/esm2020/lib/media/media.service.mjs +76 -76
  45. package/esm2020/lib/message/index.mjs +2 -2
  46. package/esm2020/lib/message/message.module.mjs +56 -56
  47. package/esm2020/lib/message/shared/index.mjs +4 -4
  48. package/esm2020/lib/message/shared/message.enum.mjs +10 -10
  49. package/esm2020/lib/message/shared/message.interface.mjs +2 -2
  50. package/esm2020/lib/message/shared/message.service.mjs +201 -201
  51. package/esm2020/lib/network/index.mjs +3 -3
  52. package/esm2020/lib/network/network.interfaces.mjs +2 -2
  53. package/esm2020/lib/network/network.service.mjs +60 -60
  54. package/esm2020/lib/regex/index.mjs +3 -3
  55. package/esm2020/lib/regex/regex.interface.mjs +2 -2
  56. package/esm2020/lib/regex/regex.service.mjs +27 -27
  57. package/esm2020/lib/request/error.interceptor.mjs +66 -66
  58. package/esm2020/lib/request/error.module.mjs +39 -39
  59. package/esm2020/lib/request/index.mjs +3 -3
  60. package/esm2020/lib/request/logging.interceptor.mjs +29 -29
  61. package/esm2020/lib/request/logging.module.mjs +30 -30
  62. package/esm2020/lib/route/route.interface.mjs +2 -2
  63. package/esm2020/lib/route/route.service.mjs +71 -71
  64. package/esm2020/lib/storage/index.mjs +3 -3
  65. package/esm2020/lib/storage/storage.interface.mjs +13 -13
  66. package/esm2020/lib/storage/storage.service.mjs +79 -79
  67. package/esm2020/public_api.mjs +28 -28
  68. package/fesm2015/igo2-core.mjs +1330 -1330
  69. package/fesm2015/igo2-core.mjs.map +1 -1
  70. package/fesm2020/igo2-core.mjs +1275 -1275
  71. package/fesm2020/igo2-core.mjs.map +1 -1
  72. package/index.d.ts +5 -5
  73. package/lib/activity/activity.interceptor.d.ts +11 -11
  74. package/lib/activity/activity.module.d.ts +8 -8
  75. package/lib/activity/activity.service.d.ts +11 -11
  76. package/lib/activity/index.d.ts +2 -2
  77. package/lib/analytics/index.d.ts +1 -1
  78. package/lib/analytics/shared/analytics.interface.d.ts +6 -6
  79. package/lib/analytics/shared/analytics.service.d.ts +23 -23
  80. package/lib/analytics/shared/index.d.ts +2 -2
  81. package/lib/compression/compressedData.interface.d.ts +5 -5
  82. package/lib/compression/compression.service.d.ts +15 -15
  83. package/lib/compression/index.d.ts +2 -2
  84. package/lib/config/config.interface.d.ts +6 -6
  85. package/lib/config/config.module.d.ts +8 -8
  86. package/lib/config/config.provider.d.ts +15 -15
  87. package/lib/config/config.service.d.ts +18 -18
  88. package/lib/config/index.d.ts +3 -3
  89. package/lib/config/version.d.ts +5 -5
  90. package/lib/core.module.d.ts +19 -19
  91. package/lib/gesture/gesture.module.d.ts +9 -9
  92. package/lib/gesture/gesture.provider.d.ts +7 -7
  93. package/lib/language/index.d.ts +1 -1
  94. package/lib/language/language.module.d.ts +9 -9
  95. package/lib/language/shared/index.d.ts +4 -4
  96. package/lib/language/shared/language.interface.d.ts +3 -3
  97. package/lib/language/shared/language.loader.d.ts +11 -11
  98. package/lib/language/shared/language.provider.d.ts +15 -15
  99. package/lib/language/shared/language.service.d.ts +13 -13
  100. package/lib/language/shared/missing-translation.guard.d.ts +4 -4
  101. package/lib/media/index.d.ts +2 -2
  102. package/lib/media/media.enum.d.ts +9 -9
  103. package/lib/media/media.service.d.ts +16 -16
  104. package/lib/message/index.d.ts +1 -1
  105. package/lib/message/message.module.d.ts +10 -10
  106. package/lib/message/shared/index.d.ts +4 -4
  107. package/lib/message/shared/message.enum.d.ts +8 -8
  108. package/lib/message/shared/message.interface.d.ts +21 -21
  109. package/lib/message/shared/message.service.d.ts +31 -31
  110. package/lib/network/index.d.ts +2 -2
  111. package/lib/network/network.interfaces.d.ts +3 -3
  112. package/lib/network/network.service.d.ts +21 -21
  113. package/lib/regex/index.d.ts +2 -2
  114. package/lib/regex/regex.interface.d.ts +3 -3
  115. package/lib/regex/regex.service.d.ts +12 -12
  116. package/lib/request/error.interceptor.d.ts +14 -14
  117. package/lib/request/error.module.d.ts +9 -9
  118. package/lib/request/index.d.ts +2 -2
  119. package/lib/request/logging.interceptor.d.ts +8 -8
  120. package/lib/request/logging.module.d.ts +8 -8
  121. package/lib/route/route.interface.d.ts +23 -23
  122. package/lib/route/route.service.d.ts +19 -19
  123. package/lib/storage/index.d.ts +2 -2
  124. package/lib/storage/storage.interface.d.ts +20 -20
  125. package/lib/storage/storage.service.d.ts +19 -19
  126. package/locale/en.auth.json +29 -29
  127. package/locale/en.common.json +43 -43
  128. package/locale/en.context.json +199 -199
  129. package/locale/en.core.json +29 -29
  130. package/locale/en.geo.json +805 -805
  131. package/locale/en.integration.json +123 -123
  132. package/locale/fr.auth.json +32 -32
  133. package/locale/fr.common.json +43 -43
  134. package/locale/fr.context.json +199 -199
  135. package/locale/fr.core.json +29 -29
  136. package/locale/fr.geo.json +805 -805
  137. package/locale/fr.integration.json +125 -125
  138. package/package.json +2 -2
  139. package/public_api.d.ts +24 -24
  140. package/style/all.theming.scss +5 -5
  141. package/style/core.theming.scss +9 -9
  142. package/style/foreground.scss +20 -20
  143. package/style/index.theming.scss +780 -780
  144. package/style/material.font.scss +9 -9
  145. package/style/partial/core.variables.scss +4 -4
  146. package/style/partial/media.scss +80 -80
  147. package/style/setup.scss +2 -2
  148. package/style/themes/blue.theme.scss +19 -19
  149. package/style/themes/bluedark.theme.scss +51 -51
  150. package/style/themes/bluedq.theme.scss +52 -52
  151. package/style/themes/bluegrey.theme.scss +16 -16
  152. package/style/themes/dark.theme.scss +16 -16
  153. package/style/themes/deeppurple.theme.scss +16 -16
  154. package/style/themes/indigo.theme.scss +16 -16
  155. package/style/themes/orange.theme.scss +16 -16
  156. package/style/themes/teal.theme.scss +16 -16
  157. package/style/theming.scss +5 -5
  158. package/style/typography.scss +17 -17
@@ -1,81 +1,81 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../config/config.service";
4
- export class AnalyticsService {
5
- constructor(config) {
6
- this.config = config;
7
- this.options = this.config.getConfig('analytics') || {};
8
- if (this.options.provider === 'matomo') {
9
- this.initMatomo();
10
- }
11
- }
12
- get paq() {
13
- return (window._paq = window._paq || []);
14
- }
15
- initMatomo() {
16
- if (!this.options.url || !this.options.id) {
17
- return;
18
- }
19
- const url = this.options.url.substr(-1) === '/'
20
- ? this.options.url + 'matomo'
21
- : this.options.url;
22
- // this.paq.push(['trackPageView']);
23
- // this.paq.push(['enableLinkTracking']);
24
- (() => {
25
- this.paq.push(['setTrackerUrl', url + '.php']);
26
- this.paq.push(['setSiteId', this.options.id]);
27
- const g = document.createElement('script');
28
- const s = document.getElementsByTagName('script')[0];
29
- g.type = 'text/javascript';
30
- g.async = true;
31
- g.defer = true;
32
- g.src = url + '.js';
33
- s.parentNode.insertBefore(g, s);
34
- })();
35
- }
36
- setUser(user, profils) {
37
- if (this.options.provider === 'matomo') {
38
- if (!user) {
39
- this.paq.push(['resetUserId']);
40
- this.paq.push(['deleteCustomVariable', 1, 'user']);
41
- this.paq.push(['deleteCustomVariable', 2, 'name']);
42
- this.paq.push(['deleteCustomVariable', 3, 'profils']);
43
- }
44
- else {
45
- this.paq.push(['setUserId', user.id]);
46
- const name = `${user.firstName} ${user.lastName}`;
47
- this.paq.push(['setCustomVariable', 1, 'user', user.sourceId, 'visit']);
48
- this.paq.push(['setCustomVariable', 2, 'name', name, 'visit']);
49
- this.paq.push(['setCustomVariable', 3, 'profils', profils, 'visit']);
50
- }
51
- this.paq.push(['trackPageView']);
52
- this.paq.push(['enableLinkTracking']);
53
- }
54
- }
55
- trackSearch(term, nbResults) {
56
- if (this.options.provider === 'matomo') {
57
- this.paq.push(['trackSiteSearch', term, false, nbResults]);
58
- }
59
- }
60
- trackEvent(category, action, name) {
61
- if (this.options.provider === 'matomo') {
62
- this.paq.push(['trackEvent', category, action, name]);
63
- }
64
- }
65
- /**
66
- * Function that tracks layers added to the map
67
- */
68
- trackLayer(category, action, parameters) {
69
- if (this.options.provider === 'matomo')
70
- this.paq.push(['trackEvent', category, action, parameters]);
71
- }
72
- }
73
- AnalyticsService.ɵfac = function AnalyticsService_Factory(t) { return new (t || AnalyticsService)(i0.ɵɵinject(i1.ConfigService)); };
74
- AnalyticsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AnalyticsService, factory: AnalyticsService.ɵfac, providedIn: 'root' });
75
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsService, [{
76
- type: Injectable,
77
- args: [{
78
- providedIn: 'root'
79
- }]
80
- }], function () { return [{ type: i1.ConfigService }]; }, null); })();
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvYW5hbHl0aWNzL3NoYXJlZC9hbmFseXRpY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTM0MsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQixZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXhELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFWRCxJQUFJLEdBQUc7UUFDTCxPQUFPLENBQUUsTUFBYyxDQUFDLElBQUksR0FBSSxNQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFVTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ3pDLE9BQU87U0FDUjtRQUNELE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUc7WUFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLFFBQVE7WUFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBRXZCLG9DQUFvQztRQUNwQyx5Q0FBeUM7UUFDekMsQ0FBQyxHQUFHLEVBQUU7WUFDSixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWUsRUFBRSxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMzQyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckQsQ0FBQyxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztZQUMzQixDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNmLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2YsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU8sQ0FDWixJQUtDLEVBQ0QsT0FBa0I7UUFFbEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDdEMsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDdkQ7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBRXRDLE1BQU0sSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ3hFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDL0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ3RFO1lBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVNLFdBQVcsQ0FBQyxJQUFZLEVBQUUsU0FBaUI7UUFDaEQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLFFBQWdCLEVBQUUsTUFBYyxFQUFFLElBQVk7UUFDOUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLFFBQWdCLEVBQUUsTUFBYyxFQUFFLFVBQWU7UUFDakUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRO1lBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUVoRSxDQUFDOztnRkF2Rk0sZ0JBQWdCO3NFQUFoQixnQkFBZ0IsV0FBaEIsZ0JBQWdCLG1CQUZmLE1BQU07dUZBRVAsZ0JBQWdCO2NBSDVCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgQW5hbHl0aWNzT3B0aW9ucyB9IGZyb20gJy4vYW5hbHl0aWNzLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbmFseXRpY3NTZXJ2aWNlIHtcclxuICBwcml2YXRlIG9wdGlvbnM6IEFuYWx5dGljc09wdGlvbnM7XHJcblxyXG4gIGdldCBwYXEoKSB7XHJcbiAgICByZXR1cm4gKCh3aW5kb3cgYXMgYW55KS5fcGFxID0gKHdpbmRvdyBhcyBhbnkpLl9wYXEgfHwgW10pO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnYW5hbHl0aWNzJykgfHwge307XHJcblxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5wcm92aWRlciA9PT0gJ21hdG9tbycpIHtcclxuICAgICAgdGhpcy5pbml0TWF0b21vKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRNYXRvbW8oKSB7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy51cmwgfHwgIXRoaXMub3B0aW9ucy5pZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCB1cmwgPVxyXG4gICAgICB0aGlzLm9wdGlvbnMudXJsLnN1YnN0cigtMSkgPT09ICcvJ1xyXG4gICAgICAgID8gdGhpcy5vcHRpb25zLnVybCArICdtYXRvbW8nXHJcbiAgICAgICAgOiB0aGlzLm9wdGlvbnMudXJsO1xyXG5cclxuICAgIC8vIHRoaXMucGFxLnB1c2goWyd0cmFja1BhZ2VWaWV3J10pO1xyXG4gICAgLy8gdGhpcy5wYXEucHVzaChbJ2VuYWJsZUxpbmtUcmFja2luZyddKTtcclxuICAgICgoKSA9PiB7XHJcbiAgICAgIHRoaXMucGFxLnB1c2goWydzZXRUcmFja2VyVXJsJywgdXJsICsgJy5waHAnXSk7XHJcbiAgICAgIHRoaXMucGFxLnB1c2goWydzZXRTaXRlSWQnLCB0aGlzLm9wdGlvbnMuaWRdKTtcclxuICAgICAgY29uc3QgZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG4gICAgICBjb25zdCBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdO1xyXG4gICAgICBnLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuICAgICAgZy5hc3luYyA9IHRydWU7XHJcbiAgICAgIGcuZGVmZXIgPSB0cnVlO1xyXG4gICAgICBnLnNyYyA9IHVybCArICcuanMnO1xyXG4gICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGcsIHMpO1xyXG4gICAgfSkoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRVc2VyKFxyXG4gICAgdXNlcj86IHtcclxuICAgICAgaWQ6IG51bWJlcjtcclxuICAgICAgc291cmNlSWQ/OiBzdHJpbmc7XHJcbiAgICAgIGZpcnN0TmFtZT86IHN0cmluZztcclxuICAgICAgbGFzdE5hbWU/OiBzdHJpbmc7XHJcbiAgICB9LFxyXG4gICAgcHJvZmlscz86IHN0cmluZ1tdXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLnByb3ZpZGVyID09PSAnbWF0b21vJykge1xyXG4gICAgICBpZiAoIXVzZXIpIHtcclxuICAgICAgICB0aGlzLnBhcS5wdXNoKFsncmVzZXRVc2VySWQnXSk7XHJcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ2RlbGV0ZUN1c3RvbVZhcmlhYmxlJywgMSwgJ3VzZXInXSk7XHJcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ2RlbGV0ZUN1c3RvbVZhcmlhYmxlJywgMiwgJ25hbWUnXSk7XHJcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ2RlbGV0ZUN1c3RvbVZhcmlhYmxlJywgMywgJ3Byb2ZpbHMnXSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ3NldFVzZXJJZCcsIHVzZXIuaWRdKTtcclxuXHJcbiAgICAgICAgY29uc3QgbmFtZSA9IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YDtcclxuICAgICAgICB0aGlzLnBhcS5wdXNoKFsnc2V0Q3VzdG9tVmFyaWFibGUnLCAxLCAndXNlcicsIHVzZXIuc291cmNlSWQsICd2aXNpdCddKTtcclxuICAgICAgICB0aGlzLnBhcS5wdXNoKFsnc2V0Q3VzdG9tVmFyaWFibGUnLCAyLCAnbmFtZScsIG5hbWUsICd2aXNpdCddKTtcclxuICAgICAgICB0aGlzLnBhcS5wdXNoKFsnc2V0Q3VzdG9tVmFyaWFibGUnLCAzLCAncHJvZmlscycsIHByb2ZpbHMsICd2aXNpdCddKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5wYXEucHVzaChbJ3RyYWNrUGFnZVZpZXcnXSk7XHJcbiAgICAgIHRoaXMucGFxLnB1c2goWydlbmFibGVMaW5rVHJhY2tpbmcnXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhY2tTZWFyY2godGVybTogc3RyaW5nLCBuYlJlc3VsdHM6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5wcm92aWRlciA9PT0gJ21hdG9tbycpIHtcclxuICAgICAgdGhpcy5wYXEucHVzaChbJ3RyYWNrU2l0ZVNlYXJjaCcsIHRlcm0sIGZhbHNlLCBuYlJlc3VsdHNdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFja0V2ZW50KGNhdGVnb3J5OiBzdHJpbmcsIGFjdGlvbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMucHJvdmlkZXIgPT09ICdtYXRvbW8nKSB7XHJcbiAgICAgIHRoaXMucGFxLnB1c2goWyd0cmFja0V2ZW50JywgY2F0ZWdvcnksIGFjdGlvbiwgbmFtZV0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gdGhhdCB0cmFja3MgbGF5ZXJzIGFkZGVkIHRvIHRoZSBtYXBcclxuICAgKi9cclxuICBwdWJsaWMgdHJhY2tMYXllcihjYXRlZ29yeTogc3RyaW5nLCBhY3Rpb246IHN0cmluZywgcGFyYW1ldGVyczogYW55KXtcclxuICAgIGlmICh0aGlzLm9wdGlvbnMucHJvdmlkZXIgPT09ICdtYXRvbW8nKVxyXG4gICAgICAgICAgdGhpcy5wYXEucHVzaChbJ3RyYWNrRXZlbnQnLCBjYXRlZ29yeSwgYWN0aW9uLCBwYXJhbWV0ZXJzXSk7XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4iXX0=
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../config/config.service";
4
+ export class AnalyticsService {
5
+ constructor(config) {
6
+ this.config = config;
7
+ this.options = this.config.getConfig('analytics') || {};
8
+ if (this.options.provider === 'matomo') {
9
+ this.initMatomo();
10
+ }
11
+ }
12
+ get paq() {
13
+ return (window._paq = window._paq || []);
14
+ }
15
+ initMatomo() {
16
+ if (!this.options.url || !this.options.id) {
17
+ return;
18
+ }
19
+ const url = this.options.url.substr(-1) === '/'
20
+ ? this.options.url + 'matomo'
21
+ : this.options.url;
22
+ // this.paq.push(['trackPageView']);
23
+ // this.paq.push(['enableLinkTracking']);
24
+ (() => {
25
+ this.paq.push(['setTrackerUrl', url + '.php']);
26
+ this.paq.push(['setSiteId', this.options.id]);
27
+ const g = document.createElement('script');
28
+ const s = document.getElementsByTagName('script')[0];
29
+ g.type = 'text/javascript';
30
+ g.async = true;
31
+ g.defer = true;
32
+ g.src = url + '.js';
33
+ s.parentNode.insertBefore(g, s);
34
+ })();
35
+ }
36
+ setUser(user, profils) {
37
+ if (this.options.provider === 'matomo') {
38
+ if (!user) {
39
+ this.paq.push(['resetUserId']);
40
+ this.paq.push(['deleteCustomVariable', 1, 'user']);
41
+ this.paq.push(['deleteCustomVariable', 2, 'name']);
42
+ this.paq.push(['deleteCustomVariable', 3, 'profils']);
43
+ }
44
+ else {
45
+ this.paq.push(['setUserId', user.id]);
46
+ const name = `${user.firstName} ${user.lastName}`;
47
+ this.paq.push(['setCustomVariable', 1, 'user', user.sourceId, 'visit']);
48
+ this.paq.push(['setCustomVariable', 2, 'name', name, 'visit']);
49
+ this.paq.push(['setCustomVariable', 3, 'profils', profils, 'visit']);
50
+ }
51
+ this.paq.push(['trackPageView']);
52
+ this.paq.push(['enableLinkTracking']);
53
+ }
54
+ }
55
+ trackSearch(term, nbResults) {
56
+ if (this.options.provider === 'matomo') {
57
+ this.paq.push(['trackSiteSearch', term, false, nbResults]);
58
+ }
59
+ }
60
+ trackEvent(category, action, name) {
61
+ if (this.options.provider === 'matomo') {
62
+ this.paq.push(['trackEvent', category, action, name]);
63
+ }
64
+ }
65
+ /**
66
+ * Function that tracks layers added to the map
67
+ */
68
+ trackLayer(category, action, parameters) {
69
+ if (this.options.provider === 'matomo')
70
+ this.paq.push(['trackEvent', category, action, parameters]);
71
+ }
72
+ }
73
+ AnalyticsService.ɵfac = function AnalyticsService_Factory(t) { return new (t || AnalyticsService)(i0.ɵɵinject(i1.ConfigService)); };
74
+ AnalyticsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AnalyticsService, factory: AnalyticsService.ɵfac, providedIn: 'root' });
75
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsService, [{
76
+ type: Injectable,
77
+ args: [{
78
+ providedIn: 'root'
79
+ }]
80
+ }], function () { return [{ type: i1.ConfigService }]; }, null); })();
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvYW5hbHl0aWNzL3NoYXJlZC9hbmFseXRpY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTM0MsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQixZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXhELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFWRCxJQUFJLEdBQUc7UUFDTCxPQUFPLENBQUUsTUFBYyxDQUFDLElBQUksR0FBSSxNQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFVTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ3pDLE9BQU87U0FDUjtRQUNELE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUc7WUFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLFFBQVE7WUFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBRXZCLG9DQUFvQztRQUNwQyx5Q0FBeUM7UUFDekMsQ0FBQyxHQUFHLEVBQUU7WUFDSixJ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QUFDLFFBQWdCLEVBQUUsTUFBYyxFQUFFLElBQVk7UUFDOUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLFFBQWdCLEVBQUUsTUFBYyxFQUFFLFVBQWU7UUFDakUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRO1lBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUVoRSxDQUFDOztnRkF2Rk0sZ0JBQWdCO3NFQUFoQixnQkFBZ0IsV0FBaEIsZ0JBQWdCLG1CQUZmLE1BQU07dUZBRVAsZ0JBQWdCO2NBSDVCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbmZpZy9jb25maWcuc2VydmljZSc7XG5cbmltcG9ydCB7IEFuYWx5dGljc09wdGlvbnMgfSBmcm9tICcuL2FuYWx5dGljcy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBbmFseXRpY3NTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvcHRpb25zOiBBbmFseXRpY3NPcHRpb25zO1xuXG4gIGdldCBwYXEoKSB7XG4gICAgcmV0dXJuICgod2luZG93IGFzIGFueSkuX3BhcSA9ICh3aW5kb3cgYXMgYW55KS5fcGFxIHx8IFtdKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlKSB7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdhbmFseXRpY3MnKSB8fCB7fTtcblxuICAgIGlmICh0aGlzLm9wdGlvbnMucHJvdmlkZXIgPT09ICdtYXRvbW8nKSB7XG4gICAgICB0aGlzLmluaXRNYXRvbW8oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRNYXRvbW8oKSB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMudXJsIHx8ICF0aGlzLm9wdGlvbnMuaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMub3B0aW9ucy51cmwuc3Vic3RyKC0xKSA9PT0gJy8nXG4gICAgICAgID8gdGhpcy5vcHRpb25zLnVybCArICdtYXRvbW8nXG4gICAgICAgIDogdGhpcy5vcHRpb25zLnVybDtcblxuICAgIC8vIHRoaXMucGFxLnB1c2goWyd0cmFja1BhZ2VWaWV3J10pO1xuICAgIC8vIHRoaXMucGFxLnB1c2goWydlbmFibGVMaW5rVHJhY2tpbmcnXSk7XG4gICAgKCgpID0+IHtcbiAgICAgIHRoaXMucGFxLnB1c2goWydzZXRUcmFja2VyVXJsJywgdXJsICsgJy5waHAnXSk7XG4gICAgICB0aGlzLnBhcS5wdXNoKFsnc2V0U2l0ZUlkJywgdGhpcy5vcHRpb25zLmlkXSk7XG4gICAgICBjb25zdCBnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBjb25zdCBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdO1xuICAgICAgZy50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG4gICAgICBnLmFzeW5jID0gdHJ1ZTtcbiAgICAgIGcuZGVmZXIgPSB0cnVlO1xuICAgICAgZy5zcmMgPSB1cmwgKyAnLmpzJztcbiAgICAgIHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZywgcyk7XG4gICAgfSkoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRVc2VyKFxuICAgIHVzZXI/OiB7XG4gICAgICBpZDogbnVtYmVyO1xuICAgICAgc291cmNlSWQ/OiBzdHJpbmc7XG4gICAgICBmaXJzdE5hbWU/OiBzdHJpbmc7XG4gICAgICBsYXN0TmFtZT86IHN0cmluZztcbiAgICB9LFxuICAgIHByb2ZpbHM/OiBzdHJpbmdbXVxuICApIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLnByb3ZpZGVyID09PSAnbWF0b21vJykge1xuICAgICAgaWYgKCF1c2VyKSB7XG4gICAgICAgIHRoaXMucGFxLnB1c2goWydyZXNldFVzZXJJZCddKTtcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ2RlbGV0ZUN1c3RvbVZhcmlhYmxlJywgMSwgJ3VzZXInXSk7XG4gICAgICAgIHRoaXMucGFxLnB1c2goWydkZWxldGVDdXN0b21WYXJpYWJsZScsIDIsICduYW1lJ10pO1xuICAgICAgICB0aGlzLnBhcS5wdXNoKFsnZGVsZXRlQ3VzdG9tVmFyaWFibGUnLCAzLCAncHJvZmlscyddKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucGFxLnB1c2goWydzZXRVc2VySWQnLCB1c2VyLmlkXSk7XG5cbiAgICAgICAgY29uc3QgbmFtZSA9IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YDtcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ3NldEN1c3RvbVZhcmlhYmxlJywgMSwgJ3VzZXInLCB1c2VyLnNvdXJjZUlkLCAndmlzaXQnXSk7XG4gICAgICAgIHRoaXMucGFxLnB1c2goWydzZXRDdXN0b21WYXJpYWJsZScsIDIsICduYW1lJywgbmFtZSwgJ3Zpc2l0J10pO1xuICAgICAgICB0aGlzLnBhcS5wdXNoKFsnc2V0Q3VzdG9tVmFyaWFibGUnLCAzLCAncHJvZmlscycsIHByb2ZpbHMsICd2aXNpdCddKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5wYXEucHVzaChbJ3RyYWNrUGFnZVZpZXcnXSk7XG4gICAgICB0aGlzLnBhcS5wdXNoKFsnZW5hYmxlTGlua1RyYWNraW5nJ10pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0cmFja1NlYXJjaCh0ZXJtOiBzdHJpbmcsIG5iUmVzdWx0czogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5wcm92aWRlciA9PT0gJ21hdG9tbycpIHtcbiAgICAgIHRoaXMucGFxLnB1c2goWyd0cmFja1NpdGVTZWFyY2gnLCB0ZXJtLCBmYWxzZSwgbmJSZXN1bHRzXSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRyYWNrRXZlbnQoY2F0ZWdvcnk6IHN0cmluZywgYWN0aW9uOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLm9wdGlvbnMucHJvdmlkZXIgPT09ICdtYXRvbW8nKSB7XG4gICAgICB0aGlzLnBhcS5wdXNoKFsndHJhY2tFdmVudCcsIGNhdGVnb3J5LCBhY3Rpb24sIG5hbWVdKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdGhhdCB0cmFja3MgbGF5ZXJzIGFkZGVkIHRvIHRoZSBtYXBcbiAgICovXG4gIHB1YmxpYyB0cmFja0xheWVyKGNhdGVnb3J5OiBzdHJpbmcsIGFjdGlvbjogc3RyaW5nLCBwYXJhbWV0ZXJzOiBhbnkpe1xuICAgIGlmICh0aGlzLm9wdGlvbnMucHJvdmlkZXIgPT09ICdtYXRvbW8nKVxuICAgICAgICAgIHRoaXMucGFxLnB1c2goWyd0cmFja0V2ZW50JywgY2F0ZWdvcnksIGFjdGlvbiwgcGFyYW1ldGVyc10pO1xuXG4gICAgICB9XG4gICAgfVxuXG4iXX0=
@@ -1,3 +1,3 @@
1
- export * from './analytics.service';
2
- export * from './analytics.interface';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvYW5hbHl0aWNzL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FuYWx5dGljcy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9hbmFseXRpY3MuaW50ZXJmYWNlJztcclxuIl19
1
+ export * from './analytics.service';
2
+ export * from './analytics.interface';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvYW5hbHl0aWNzL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FuYWx5dGljcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYW5hbHl0aWNzLmludGVyZmFjZSc7XG4iXX0=
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHJlc3NlZERhdGEuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2NvbXByZXNzaW9uL2NvbXByZXNzZWREYXRhLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb21wcmVzc2VkRGF0YSB7XHJcbiAgICBsZW5ndGg6IG51bWJlcjtcclxuICAgIHR5cGU6IHN0cmluZztcclxuICAgIG9iamVjdDogYW55O1xyXG59XHJcbiJdfQ==
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHJlc3NlZERhdGEuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL2NvbXByZXNzaW9uL2NvbXByZXNzZWREYXRhLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb21wcmVzc2VkRGF0YSB7XG4gICAgbGVuZ3RoOiBudW1iZXI7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIG9iamVjdDogYW55O1xufVxuIl19
@@ -1,140 +1,140 @@
1
- import { Injectable } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- function getNumber(v, endposition, length) {
5
- /* tslint:disable:no-bitwise*/
6
- const mask = ((1 << length) - 1);
7
- return (v >> endposition) & mask;
8
- /* tslint:enable:no-bitwise*/
9
- }
10
- export class CompressionService {
11
- constructor() {
12
- this.base64Index = new Map();
13
- this.indexBase64 = new Map();
14
- this.generateBase64Index();
15
- }
16
- generateBase64Index() {
17
- // https://fr.wikipedia.org/wiki/Base64
18
- // A-Z => [0, 25]
19
- for (let i = 0; i < 26; i++) {
20
- this.base64Index.set(String.fromCharCode('A'.charCodeAt(0) + i), i);
21
- this.indexBase64.set(i, String.fromCharCode('A'.charCodeAt(0) + i));
22
- }
23
- // a-z => [26, 51]
24
- for (let i = 0; i < 26; i++) {
25
- this.base64Index.set(String.fromCharCode('a'.charCodeAt(0) + i), i + 26);
26
- this.indexBase64.set(i + 26, String.fromCharCode('a'.charCodeAt(0) + i));
27
- }
28
- // 0-9 => [52, 61]
29
- for (let i = 0; i < 10; i++) {
30
- this.base64Index.set(String.fromCharCode('0'.charCodeAt(0) + i), i + 52);
31
- this.indexBase64.set(i + 52, String.fromCharCode('0'.charCodeAt(0) + i));
32
- }
33
- // + / => [62, 63]
34
- this.base64Index.set('+', 62);
35
- this.base64Index.set('/', 63);
36
- this.indexBase64.set(62, '+');
37
- this.indexBase64.set(63, '/');
38
- }
39
- compressBlob(blob) {
40
- if (!blob) {
41
- return;
42
- }
43
- const observable = new Observable((observer) => {
44
- const reader = new FileReader();
45
- reader.readAsDataURL(blob);
46
- reader.onload = () => {
47
- const base64 = reader.result.valueOf();
48
- const text64 = base64.substr(base64.indexOf(',') + 1);
49
- const compressed = this.compressStringBase64(text64);
50
- const compressedData = { length: text64.length,
51
- type: blob.type,
52
- object: compressed };
53
- observer.next(compressedData);
54
- };
55
- });
56
- return observable;
57
- }
58
- decompressBlob(compressedData) {
59
- /* tslint:disable:no-bitwise*/
60
- const object = compressedData.object;
61
- const length = compressedData.length;
62
- const decompressed = this.decompressStringBase64(object, length);
63
- const byteCharacters = atob(decompressed);
64
- const byteNumbers = new Array(byteCharacters.length);
65
- for (let i = 0; i < byteCharacters.length; i++) {
66
- byteNumbers[i] = byteCharacters.charCodeAt(i);
67
- }
68
- const byteArray = new Uint8Array(byteNumbers);
69
- const blob = new Blob([byteArray], { type: compressedData.type });
70
- /* tslint:enable:no-bitwise*/
71
- return blob;
72
- }
73
- compressStringBase64(s) {
74
- /* tslint:disable:no-bitwise*/
75
- let out = '';
76
- let bits = 16;
77
- let chr = 0;
78
- let rem = 0;
79
- for (const c of s) {
80
- const value = this.base64Index.get(c);
81
- if (bits > 6) {
82
- bits -= 6;
83
- chr += value << bits;
84
- }
85
- else {
86
- rem = 6 - bits;
87
- chr += value >> rem;
88
- out += String.fromCharCode(chr);
89
- chr = (value) << (16 - rem);
90
- bits = 16 - rem;
91
- }
92
- }
93
- if (s.length % 8 !== 0) {
94
- out += String.fromCharCode(chr);
95
- }
96
- /* tslint:enable:no-bitwise*/
97
- return String.fromCharCode(9731) + out;
98
- }
99
- decompressStringBase64(c, length) {
100
- /* tslint:disable:no-bitwise*/
101
- if (!c) {
102
- return;
103
- }
104
- if (c.charCodeAt(0) !== 9731) {
105
- return c;
106
- }
107
- let chr = 0;
108
- let rem = 0;
109
- let bits = 16;
110
- let out = '';
111
- let j = 1;
112
- let value = c.charCodeAt(j);
113
- for (let i = 0; i < length; i++) {
114
- if (bits > 6) {
115
- bits -= 6;
116
- chr = getNumber(value, bits, 6);
117
- out += this.indexBase64.get(chr);
118
- }
119
- else {
120
- rem = 6 - bits;
121
- chr = getNumber(value, 0, bits) << rem;
122
- value = c.charCodeAt(++j);
123
- chr += getNumber(value, 16 - rem, rem);
124
- out += this.indexBase64.get(chr);
125
- bits = 16 - rem;
126
- }
127
- }
128
- return out;
129
- /* tslint:enable:no-bitwise*/
130
- }
131
- }
132
- CompressionService.ɵfac = function CompressionService_Factory(t) { return new (t || CompressionService)(); };
133
- CompressionService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CompressionService, factory: CompressionService.ɵfac, providedIn: 'root' });
134
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CompressionService, [{
135
- type: Injectable,
136
- args: [{
137
- providedIn: 'root'
138
- }]
139
- }], function () { return []; }, null); })();
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHJlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9jb21wcmVzc2lvbi9jb21wcmVzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQzs7QUFHNUMsU0FBUyxTQUFTLENBQUMsQ0FBUyxFQUFFLFdBQW1CLEVBQUUsTUFBYztJQUMvRCw4QkFBOEI7SUFDOUIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqQyxPQUFPLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNqQyw2QkFBNkI7QUFDL0IsQ0FBQztBQUtELE1BQU0sT0FBTyxrQkFBa0I7SUFJN0I7UUFIUSxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFHOUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLG1CQUFtQjtRQUN6Qix1Q0FBdUM7UUFDdkMsaUJBQWlCO1FBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRTtRQUNELGtCQUFrQjtRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMxRTtRQUNELGtCQUFrQjtRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMxRTtRQUNELGtCQUFrQjtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FB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QkFDWixJQUFJLElBQUksQ0FBQyxDQUFDO2dCQUNWLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDaEMsR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2xDO2lCQUFNO2dCQUNMLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUNmLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUM7Z0JBQ3ZDLEtBQUssR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzFCLEdBQUcsSUFBSSxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZDLEdBQUcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakMsSUFBSSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUM7YUFDakI7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO1FBQ1gsNkJBQTZCO0lBQy9CLENBQUM7O29GQS9IVSxrQkFBa0I7d0VBQWxCLGtCQUFrQixXQUFsQixrQkFBa0IsbUJBRmpCLE1BQU07dUZBRVAsa0JBQWtCO2NBSDlCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29tcHJlc3NlZERhdGEgfSBmcm9tICcuL2NvbXByZXNzZWREYXRhLmludGVyZmFjZSc7XHJcblxyXG5mdW5jdGlvbiBnZXROdW1iZXIodjogbnVtYmVyLCBlbmRwb3NpdGlvbjogbnVtYmVyLCBsZW5ndGg6IG51bWJlcikge1xyXG4gIC8qIHRzbGludDpkaXNhYmxlOm5vLWJpdHdpc2UqL1xyXG4gIGNvbnN0IG1hc2sgPSAoKDEgPDwgbGVuZ3RoKSAtIDEpO1xyXG4gIHJldHVybiAodiA+PiBlbmRwb3NpdGlvbikgJiBtYXNrO1xyXG4gIC8qIHRzbGludDplbmFibGU6bm8tYml0d2lzZSovXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXByZXNzaW9uU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBiYXNlNjRJbmRleCA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XHJcbiAgcHJpdmF0ZSBpbmRleEJhc2U2NCA9IG5ldyBNYXA8bnVtYmVyLCBzdHJpbmc+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5nZW5lcmF0ZUJhc2U2NEluZGV4KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlQmFzZTY0SW5kZXgoKSB7XHJcbiAgICAvLyBodHRwczovL2ZyLndpa2lwZWRpYS5vcmcvd2lraS9CYXNlNjRcclxuICAgIC8vIEEtWiA9PiBbMCwgMjVdXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDI2OyBpKyspIHtcclxuICAgICAgdGhpcy5iYXNlNjRJbmRleC5zZXQoU3RyaW5nLmZyb21DaGFyQ29kZSgnQScuY2hhckNvZGVBdCgwKSArIGkpLCBpKTtcclxuICAgICAgdGhpcy5pbmRleEJhc2U2NC5zZXQoaSwgU3RyaW5nLmZyb21DaGFyQ29kZSgnQScuY2hhckNvZGVBdCgwKSArIGkpKTtcclxuICAgIH1cclxuICAgIC8vIGEteiA9PiBbMjYsIDUxXVxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyNjsgaSsrKSB7XHJcbiAgICAgIHRoaXMuYmFzZTY0SW5kZXguc2V0KFN0cmluZy5mcm9tQ2hhckNvZGUoJ2EnLmNoYXJDb2RlQXQoMCkgKyBpKSwgaSArIDI2KTtcclxuICAgICAgdGhpcy5pbmRleEJhc2U2NC5zZXQoaSArIDI2LCBTdHJpbmcuZnJvbUNoYXJDb2RlKCdhJy5jaGFyQ29kZUF0KDApICsgaSkpO1xyXG4gICAgfVxyXG4gICAgLy8gMC05ID0+IFs1MiwgNjFdXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyBpKyspIHtcclxuICAgICAgdGhpcy5iYXNlNjRJbmRleC5zZXQoU3RyaW5nLmZyb21DaGFyQ29kZSgnMCcuY2hhckNvZGVBdCgwKSArIGkpLCBpICsgNTIpO1xyXG4gICAgICB0aGlzLmluZGV4QmFzZTY0LnNldChpICsgNTIsIFN0cmluZy5mcm9tQ2hhckNvZGUoJzAnLmNoYXJDb2RlQXQoMCkgKyBpKSk7XHJcbiAgICB9XHJcbiAgICAvLyArIC8gPT4gWzYyLCA2M11cclxuICAgIHRoaXMuYmFzZTY0SW5kZXguc2V0KCcrJywgNjIpO1xyXG4gICAgdGhpcy5iYXNlNjRJbmRleC5zZXQoJy8nLCA2Myk7XHJcbiAgICB0aGlzLmluZGV4QmFzZTY0LnNldCg2MiwgJysnKTtcclxuICAgIHRoaXMuaW5kZXhCYXNlNjQuc2V0KDYzLCAnLycpO1xyXG4gIH1cclxuXHJcbiAgY29tcHJlc3NCbG9iKGJsb2I6IEJsb2IpOiBPYnNlcnZhYmxlPENvbXByZXNzZWREYXRhPiB7XHJcbiAgICBpZiAoIWJsb2IpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPENvbXByZXNzZWREYXRhPikgPT4ge1xyXG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChibG9iKTtcclxuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBiYXNlNjQgPSByZWFkZXIucmVzdWx0LnZhbHVlT2YoKSBhcyBzdHJpbmc7XHJcbiAgICAgICAgY29uc3QgdGV4dDY0ID0gYmFzZTY0LnN1YnN0cihiYXNlNjQuaW5kZXhPZignLCcpICsgMSk7XHJcbiAgICAgICAgY29uc3QgY29tcHJlc3NlZCA9IHRoaXMuY29tcHJlc3NTdHJpbmdCYXNlNjQodGV4dDY0KTtcclxuICAgICAgICBjb25zdCBjb21wcmVzc2VkRGF0YTogQ29tcHJlc3NlZERhdGEgPSB7IGxlbmd0aDogdGV4dDY0Lmxlbmd0aCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGJsb2IudHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDogY29tcHJlc3NlZCB9O1xyXG4gICAgICAgIG9ic2VydmVyLm5leHQoY29tcHJlc3NlZERhdGEpO1xyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gb2JzZXJ2YWJsZTtcclxuICB9XHJcblxyXG4gIGRlY29tcHJlc3NCbG9iKGNvbXByZXNzZWREYXRhOiBDb21wcmVzc2VkRGF0YSk6IEJsb2Ige1xyXG4gICAgLyogdHNsaW50OmRpc2FibGU6bm8tYml0d2lzZSovXHJcbiAgICBjb25zdCBvYmplY3QgPSBjb21wcmVzc2VkRGF0YS5vYmplY3Q7XHJcbiAgICBjb25zdCBsZW5ndGggPSBjb21wcmVzc2VkRGF0YS5sZW5ndGg7XHJcbiAgICBjb25zdCBkZWNvbXByZXNzZWQ6IHN0cmluZyA9IHRoaXMuZGVjb21wcmVzc1N0cmluZ0Jhc2U2NChvYmplY3QsIGxlbmd0aCk7XHJcbiAgICBjb25zdCBieXRlQ2hhcmFjdGVycyA9IGF0b2IoZGVjb21wcmVzc2VkKTtcclxuICAgIGNvbnN0IGJ5dGVOdW1iZXJzID0gbmV3IEFycmF5KGJ5dGVDaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJ5dGVDaGFyYWN0ZXJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgYnl0ZU51bWJlcnNbaV0gPSBieXRlQ2hhcmFjdGVycy5jaGFyQ29kZUF0KGkpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYnl0ZUFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYnl0ZU51bWJlcnMpO1xyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtieXRlQXJyYXldLCB7dHlwZTogY29tcHJlc3NlZERhdGEudHlwZX0pO1xyXG4gICAgLyogdHNsaW50OmVuYWJsZTpuby1iaXR3aXNlKi9cclxuICAgIHJldHVybiBibG9iO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb21wcmVzc1N0cmluZ0Jhc2U2NChzOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLyogdHNsaW50OmRpc2FibGU6bm8tYml0d2lzZSovXHJcbiAgICBsZXQgb3V0ID0gJyc7XHJcbiAgICBsZXQgYml0cyA9IDE2O1xyXG4gICAgbGV0IGNociA9IDA7XHJcbiAgICBsZXQgcmVtID0gMDtcclxuICAgIGZvciAoY29uc3QgYyBvZiBzKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5iYXNlNjRJbmRleC5nZXQoYyk7XHJcbiAgICAgIGlmIChiaXRzID4gNikge1xyXG4gICAgICAgIGJpdHMgLT0gNjtcclxuICAgICAgICBjaHIgKz0gdmFsdWUgPDwgYml0cztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZW0gPSA2IC0gYml0cztcclxuICAgICAgICBjaHIgKz0gdmFsdWUgPj4gcmVtO1xyXG4gICAgICAgIG91dCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGNocik7XHJcbiAgICAgICAgY2hyID0gKHZhbHVlKSA8PCAoMTYgLSByZW0pO1xyXG4gICAgICAgIGJpdHMgPSAxNiAtIHJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHMubGVuZ3RoICUgOCAhPT0gMCkge1xyXG4gICAgICBvdXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShjaHIpO1xyXG4gICAgfVxyXG4gICAgLyogdHNsaW50OmVuYWJsZTpuby1iaXR3aXNlKi9cclxuICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKDk3MzEpICsgb3V0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZWNvbXByZXNzU3RyaW5nQmFzZTY0KGM6IHN0cmluZywgbGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgIC8qIHRzbGludDpkaXNhYmxlOm5vLWJpdHdpc2UqL1xyXG4gICAgaWYgKCFjKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYy5jaGFyQ29kZUF0KDApICE9PSA5NzMxKSB7XHJcbiAgICAgIHJldHVybiBjO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBjaHIgPSAwO1xyXG4gICAgbGV0IHJlbSA9IDA7XHJcbiAgICBsZXQgYml0cyA9IDE2O1xyXG4gICAgbGV0IG91dCA9ICcnO1xyXG4gICAgbGV0IGogPSAxO1xyXG4gICAgbGV0IHZhbHVlID0gYy5jaGFyQ29kZUF0KGopO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoYml0cyA+IDYpIHtcclxuICAgICAgICBiaXRzIC09IDY7XHJcbiAgICAgICAgY2hyID0gZ2V0TnVtYmVyKHZhbHVlLCBiaXRzLCA2KTtcclxuICAgICAgICBvdXQgKz0gdGhpcy5pbmRleEJhc2U2NC5nZXQoY2hyKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZW0gPSA2IC0gYml0cztcclxuICAgICAgICBjaHIgPSBnZXROdW1iZXIodmFsdWUsIDAsIGJpdHMpIDw8IHJlbTtcclxuICAgICAgICB2YWx1ZSA9IGMuY2hhckNvZGVBdCgrK2opO1xyXG4gICAgICAgIGNociArPSBnZXROdW1iZXIodmFsdWUsIDE2IC0gcmVtLCByZW0pO1xyXG4gICAgICAgIG91dCArPSB0aGlzLmluZGV4QmFzZTY0LmdldChjaHIpO1xyXG4gICAgICAgIGJpdHMgPSAxNiAtIHJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG91dDtcclxuICAgIC8qIHRzbGludDplbmFibGU6bm8tYml0d2lzZSovXHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { Injectable } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ function getNumber(v, endposition, length) {
5
+ /* tslint:disable:no-bitwise*/
6
+ const mask = ((1 << length) - 1);
7
+ return (v >> endposition) & mask;
8
+ /* tslint:enable:no-bitwise*/
9
+ }
10
+ export class CompressionService {
11
+ constructor() {
12
+ this.base64Index = new Map();
13
+ this.indexBase64 = new Map();
14
+ this.generateBase64Index();
15
+ }
16
+ generateBase64Index() {
17
+ // https://fr.wikipedia.org/wiki/Base64
18
+ // A-Z => [0, 25]
19
+ for (let i = 0; i < 26; i++) {
20
+ this.base64Index.set(String.fromCharCode('A'.charCodeAt(0) + i), i);
21
+ this.indexBase64.set(i, String.fromCharCode('A'.charCodeAt(0) + i));
22
+ }
23
+ // a-z => [26, 51]
24
+ for (let i = 0; i < 26; i++) {
25
+ this.base64Index.set(String.fromCharCode('a'.charCodeAt(0) + i), i + 26);
26
+ this.indexBase64.set(i + 26, String.fromCharCode('a'.charCodeAt(0) + i));
27
+ }
28
+ // 0-9 => [52, 61]
29
+ for (let i = 0; i < 10; i++) {
30
+ this.base64Index.set(String.fromCharCode('0'.charCodeAt(0) + i), i + 52);
31
+ this.indexBase64.set(i + 52, String.fromCharCode('0'.charCodeAt(0) + i));
32
+ }
33
+ // + / => [62, 63]
34
+ this.base64Index.set('+', 62);
35
+ this.base64Index.set('/', 63);
36
+ this.indexBase64.set(62, '+');
37
+ this.indexBase64.set(63, '/');
38
+ }
39
+ compressBlob(blob) {
40
+ if (!blob) {
41
+ return;
42
+ }
43
+ const observable = new Observable((observer) => {
44
+ const reader = new FileReader();
45
+ reader.readAsDataURL(blob);
46
+ reader.onload = () => {
47
+ const base64 = reader.result.valueOf();
48
+ const text64 = base64.substr(base64.indexOf(',') + 1);
49
+ const compressed = this.compressStringBase64(text64);
50
+ const compressedData = { length: text64.length,
51
+ type: blob.type,
52
+ object: compressed };
53
+ observer.next(compressedData);
54
+ };
55
+ });
56
+ return observable;
57
+ }
58
+ decompressBlob(compressedData) {
59
+ /* tslint:disable:no-bitwise*/
60
+ const object = compressedData.object;
61
+ const length = compressedData.length;
62
+ const decompressed = this.decompressStringBase64(object, length);
63
+ const byteCharacters = atob(decompressed);
64
+ const byteNumbers = new Array(byteCharacters.length);
65
+ for (let i = 0; i < byteCharacters.length; i++) {
66
+ byteNumbers[i] = byteCharacters.charCodeAt(i);
67
+ }
68
+ const byteArray = new Uint8Array(byteNumbers);
69
+ const blob = new Blob([byteArray], { type: compressedData.type });
70
+ /* tslint:enable:no-bitwise*/
71
+ return blob;
72
+ }
73
+ compressStringBase64(s) {
74
+ /* tslint:disable:no-bitwise*/
75
+ let out = '';
76
+ let bits = 16;
77
+ let chr = 0;
78
+ let rem = 0;
79
+ for (const c of s) {
80
+ const value = this.base64Index.get(c);
81
+ if (bits > 6) {
82
+ bits -= 6;
83
+ chr += value << bits;
84
+ }
85
+ else {
86
+ rem = 6 - bits;
87
+ chr += value >> rem;
88
+ out += String.fromCharCode(chr);
89
+ chr = (value) << (16 - rem);
90
+ bits = 16 - rem;
91
+ }
92
+ }
93
+ if (s.length % 8 !== 0) {
94
+ out += String.fromCharCode(chr);
95
+ }
96
+ /* tslint:enable:no-bitwise*/
97
+ return String.fromCharCode(9731) + out;
98
+ }
99
+ decompressStringBase64(c, length) {
100
+ /* tslint:disable:no-bitwise*/
101
+ if (!c) {
102
+ return;
103
+ }
104
+ if (c.charCodeAt(0) !== 9731) {
105
+ return c;
106
+ }
107
+ let chr = 0;
108
+ let rem = 0;
109
+ let bits = 16;
110
+ let out = '';
111
+ let j = 1;
112
+ let value = c.charCodeAt(j);
113
+ for (let i = 0; i < length; i++) {
114
+ if (bits > 6) {
115
+ bits -= 6;
116
+ chr = getNumber(value, bits, 6);
117
+ out += this.indexBase64.get(chr);
118
+ }
119
+ else {
120
+ rem = 6 - bits;
121
+ chr = getNumber(value, 0, bits) << rem;
122
+ value = c.charCodeAt(++j);
123
+ chr += getNumber(value, 16 - rem, rem);
124
+ out += this.indexBase64.get(chr);
125
+ bits = 16 - rem;
126
+ }
127
+ }
128
+ return out;
129
+ /* tslint:enable:no-bitwise*/
130
+ }
131
+ }
132
+ CompressionService.ɵfac = function CompressionService_Factory(t) { return new (t || CompressionService)(); };
133
+ CompressionService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CompressionService, factory: CompressionService.ɵfac, providedIn: 'root' });
134
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CompressionService, [{
135
+ type: Injectable,
136
+ args: [{
137
+ providedIn: 'root'
138
+ }]
139
+ }], function () { return []; }, null); })();
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHJlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9jb21wcmVzc2lvbi9jb21wcmVzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQzs7QUFHNUMsU0FBUyxTQUFTLENBQUMsQ0FBUyxFQUFFLFdBQW1CLEVBQUUsTUFBYztJQUMvRCw4QkFBOEI7SUFDOUIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqQyxPQUFPLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNqQyw2QkFBNkI7QUFDL0IsQ0FBQztBQUtELE1BQU0sT0FBTyxrQkFBa0I7SUFJN0I7UUFIUSxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFHOUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLG1CQUFtQjtRQUN6Qix1Q0FBdUM7UUFDdkMsaUJBQWlCO1FBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRTtRQUNELGtCQUFrQjtRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMxRTtRQUNELGtCQUFrQjtRQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMxRTtRQUNELGtCQUFrQjtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FB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QkFDWixJQUFJLElBQUksQ0FBQyxDQUFDO2dCQUNWLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDaEMsR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2xDO2lCQUFNO2dCQUNMLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUNmLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUM7Z0JBQ3ZDLEtBQUssR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzFCLEdBQUcsSUFBSSxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZDLEdBQUcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakMsSUFBSSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUM7YUFDakI7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO1FBQ1gsNkJBQTZCO0lBQy9CLENBQUM7O29GQS9IVSxrQkFBa0I7d0VBQWxCLGtCQUFrQixXQUFsQixrQkFBa0IsbUJBRmpCLE1BQU07dUZBRVAsa0JBQWtCO2NBSDlCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21wcmVzc2VkRGF0YSB9IGZyb20gJy4vY29tcHJlc3NlZERhdGEuaW50ZXJmYWNlJztcblxuZnVuY3Rpb24gZ2V0TnVtYmVyKHY6IG51bWJlciwgZW5kcG9zaXRpb246IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpIHtcbiAgLyogdHNsaW50OmRpc2FibGU6bm8tYml0d2lzZSovXG4gIGNvbnN0IG1hc2sgPSAoKDEgPDwgbGVuZ3RoKSAtIDEpO1xuICByZXR1cm4gKHYgPj4gZW5kcG9zaXRpb24pICYgbWFzaztcbiAgLyogdHNsaW50OmVuYWJsZTpuby1iaXR3aXNlKi9cbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29tcHJlc3Npb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBiYXNlNjRJbmRleCA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XG4gIHByaXZhdGUgaW5kZXhCYXNlNjQgPSBuZXcgTWFwPG51bWJlciwgc3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZ2VuZXJhdGVCYXNlNjRJbmRleCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUJhc2U2NEluZGV4KCkge1xuICAgIC8vIGh0dHBzOi8vZnIud2lraXBlZGlhLm9yZy93aWtpL0Jhc2U2NFxuICAgIC8vIEEtWiA9PiBbMCwgMjVdXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyNjsgaSsrKSB7XG4gICAgICB0aGlzLmJhc2U2NEluZGV4LnNldChTdHJpbmcuZnJvbUNoYXJDb2RlKCdBJy5jaGFyQ29kZUF0KDApICsgaSksIGkpO1xuICAgICAgdGhpcy5pbmRleEJhc2U2NC5zZXQoaSwgU3RyaW5nLmZyb21DaGFyQ29kZSgnQScuY2hhckNvZGVBdCgwKSArIGkpKTtcbiAgICB9XG4gICAgLy8gYS16ID0+IFsyNiwgNTFdXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyNjsgaSsrKSB7XG4gICAgICB0aGlzLmJhc2U2NEluZGV4LnNldChTdHJpbmcuZnJvbUNoYXJDb2RlKCdhJy5jaGFyQ29kZUF0KDApICsgaSksIGkgKyAyNik7XG4gICAgICB0aGlzLmluZGV4QmFzZTY0LnNldChpICsgMjYsIFN0cmluZy5mcm9tQ2hhckNvZGUoJ2EnLmNoYXJDb2RlQXQoMCkgKyBpKSk7XG4gICAgfVxuICAgIC8vIDAtOSA9PiBbNTIsIDYxXVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTA7IGkrKykge1xuICAgICAgdGhpcy5iYXNlNjRJbmRleC5zZXQoU3RyaW5nLmZyb21DaGFyQ29kZSgnMCcuY2hhckNvZGVBdCgwKSArIGkpLCBpICsgNTIpO1xuICAgICAgdGhpcy5pbmRleEJhc2U2NC5zZXQoaSArIDUyLCBTdHJpbmcuZnJvbUNoYXJDb2RlKCcwJy5jaGFyQ29kZUF0KDApICsgaSkpO1xuICAgIH1cbiAgICAvLyArIC8gPT4gWzYyLCA2M11cbiAgICB0aGlzLmJhc2U2NEluZGV4LnNldCgnKycsIDYyKTtcbiAgICB0aGlzLmJhc2U2NEluZGV4LnNldCgnLycsIDYzKTtcbiAgICB0aGlzLmluZGV4QmFzZTY0LnNldCg2MiwgJysnKTtcbiAgICB0aGlzLmluZGV4QmFzZTY0LnNldCg2MywgJy8nKTtcbiAgfVxuXG4gIGNvbXByZXNzQmxvYihibG9iOiBCbG9iKTogT2JzZXJ2YWJsZTxDb21wcmVzc2VkRGF0YT4ge1xuICAgIGlmICghYmxvYikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPENvbXByZXNzZWREYXRhPikgPT4ge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZTY0ID0gcmVhZGVyLnJlc3VsdC52YWx1ZU9mKCkgYXMgc3RyaW5nO1xuICAgICAgICBjb25zdCB0ZXh0NjQgPSBiYXNlNjQuc3Vic3RyKGJhc2U2NC5pbmRleE9mKCcsJykgKyAxKTtcbiAgICAgICAgY29uc3QgY29tcHJlc3NlZCA9IHRoaXMuY29tcHJlc3NTdHJpbmdCYXNlNjQodGV4dDY0KTtcbiAgICAgICAgY29uc3QgY29tcHJlc3NlZERhdGE6IENvbXByZXNzZWREYXRhID0geyBsZW5ndGg6IHRleHQ2NC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogYmxvYi50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDogY29tcHJlc3NlZCB9O1xuICAgICAgICBvYnNlcnZlci5uZXh0KGNvbXByZXNzZWREYXRhKTtcbiAgICAgIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIG9ic2VydmFibGU7XG4gIH1cblxuICBkZWNvbXByZXNzQmxvYihjb21wcmVzc2VkRGF0YTogQ29tcHJlc3NlZERhdGEpOiBCbG9iIHtcbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZTpuby1iaXR3aXNlKi9cbiAgICBjb25zdCBvYmplY3QgPSBjb21wcmVzc2VkRGF0YS5vYmplY3Q7XG4gICAgY29uc3QgbGVuZ3RoID0gY29tcHJlc3NlZERhdGEubGVuZ3RoO1xuICAgIGNvbnN0IGRlY29tcHJlc3NlZDogc3RyaW5nID0gdGhpcy5kZWNvbXByZXNzU3RyaW5nQmFzZTY0KG9iamVjdCwgbGVuZ3RoKTtcbiAgICBjb25zdCBieXRlQ2hhcmFjdGVycyA9IGF0b2IoZGVjb21wcmVzc2VkKTtcbiAgICBjb25zdCBieXRlTnVtYmVycyA9IG5ldyBBcnJheShieXRlQ2hhcmFjdGVycy5sZW5ndGgpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZUNoYXJhY3RlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgYnl0ZU51bWJlcnNbaV0gPSBieXRlQ2hhcmFjdGVycy5jaGFyQ29kZUF0KGkpO1xuICAgIH1cbiAgICBjb25zdCBieXRlQXJyYXkgPSBuZXcgVWludDhBcnJheShieXRlTnVtYmVycyk7XG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtieXRlQXJyYXldLCB7dHlwZTogY29tcHJlc3NlZERhdGEudHlwZX0pO1xuICAgIC8qIHRzbGludDplbmFibGU6bm8tYml0d2lzZSovXG4gICAgcmV0dXJuIGJsb2I7XG4gIH1cblxuICBwcml2YXRlIGNvbXByZXNzU3RyaW5nQmFzZTY0KHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLyogdHNsaW50OmRpc2FibGU6bm8tYml0d2lzZSovXG4gICAgbGV0IG91dCA9ICcnO1xuICAgIGxldCBiaXRzID0gMTY7XG4gICAgbGV0IGNociA9IDA7XG4gICAgbGV0IHJlbSA9IDA7XG4gICAgZm9yIChjb25zdCBjIG9mIHMpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5iYXNlNjRJbmRleC5nZXQoYyk7XG4gICAgICBpZiAoYml0cyA+IDYpIHtcbiAgICAgICAgYml0cyAtPSA2O1xuICAgICAgICBjaHIgKz0gdmFsdWUgPDwgYml0cztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlbSA9IDYgLSBiaXRzO1xuICAgICAgICBjaHIgKz0gdmFsdWUgPj4gcmVtO1xuICAgICAgICBvdXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShjaHIpO1xuICAgICAgICBjaHIgPSAodmFsdWUpIDw8ICgxNiAtIHJlbSk7XG4gICAgICAgIGJpdHMgPSAxNiAtIHJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHMubGVuZ3RoICUgOCAhPT0gMCkge1xuICAgICAgb3V0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoY2hyKTtcbiAgICB9XG4gICAgLyogdHNsaW50OmVuYWJsZTpuby1iaXR3aXNlKi9cbiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSg5NzMxKSArIG91dDtcbiAgfVxuXG4gIHByaXZhdGUgZGVjb21wcmVzc1N0cmluZ0Jhc2U2NChjOiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgLyogdHNsaW50OmRpc2FibGU6bm8tYml0d2lzZSovXG4gICAgaWYgKCFjKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGMuY2hhckNvZGVBdCgwKSAhPT0gOTczMSkge1xuICAgICAgcmV0dXJuIGM7XG4gICAgfVxuXG4gICAgbGV0IGNociA9IDA7XG4gICAgbGV0IHJlbSA9IDA7XG4gICAgbGV0IGJpdHMgPSAxNjtcbiAgICBsZXQgb3V0ID0gJyc7XG4gICAgbGV0IGogPSAxO1xuICAgIGxldCB2YWx1ZSA9IGMuY2hhckNvZGVBdChqKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoYml0cyA+IDYpIHtcbiAgICAgICAgYml0cyAtPSA2O1xuICAgICAgICBjaHIgPSBnZXROdW1iZXIodmFsdWUsIGJpdHMsIDYpO1xuICAgICAgICBvdXQgKz0gdGhpcy5pbmRleEJhc2U2NC5nZXQoY2hyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlbSA9IDYgLSBiaXRzO1xuICAgICAgICBjaHIgPSBnZXROdW1iZXIodmFsdWUsIDAsIGJpdHMpIDw8IHJlbTtcbiAgICAgICAgdmFsdWUgPSBjLmNoYXJDb2RlQXQoKytqKTtcbiAgICAgICAgY2hyICs9IGdldE51bWJlcih2YWx1ZSwgMTYgLSByZW0sIHJlbSk7XG4gICAgICAgIG91dCArPSB0aGlzLmluZGV4QmFzZTY0LmdldChjaHIpO1xuICAgICAgICBiaXRzID0gMTYgLSByZW07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvdXQ7XG4gICAgLyogdHNsaW50OmVuYWJsZTpuby1iaXR3aXNlKi9cbiAgfVxufVxuIl19
@@ -1,3 +1,3 @@
1
- export * from './compressedData.interface';
2
- export * from './compression.service';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvY29tcHJlc3Npb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wcmVzc2VkRGF0YS5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXByZXNzaW9uLnNlcnZpY2UnO1xyXG4iXX0=
1
+ export * from './compressedData.interface';
2
+ export * from './compression.service';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvY29tcHJlc3Npb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wcmVzc2VkRGF0YS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wcmVzc2lvbi5zZXJ2aWNlJztcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9jb25maWcvY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb25maWdPcHRpb25zIHtcclxuICBkZWZhdWx0PzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxuICBwYXRoPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9jb25maWcvY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb25maWdPcHRpb25zIHtcbiAgZGVmYXVsdD86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIHBhdGg/OiBzdHJpbmc7XG59XG4iXX0=
@@ -1,23 +1,23 @@
1
- import { NgModule } from '@angular/core';
2
- import { provideConfigOptions, provideConfigLoader } from './config.provider';
3
- import * as i0 from "@angular/core";
4
- export class IgoConfigModule {
5
- static forRoot() {
6
- return {
7
- ngModule: IgoConfigModule,
8
- providers: [provideConfigOptions({}), provideConfigLoader()]
9
- };
10
- }
11
- }
12
- IgoConfigModule.ɵfac = function IgoConfigModule_Factory(t) { return new (t || IgoConfigModule)(); };
13
- IgoConfigModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoConfigModule });
14
- IgoConfigModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
15
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoConfigModule, [{
16
- type: NgModule,
17
- args: [{
18
- imports: [],
19
- declarations: [],
20
- exports: []
21
- }]
22
- }], null, null); })();
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9jb25maWcvY29uZmlnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFPOUUsTUFBTSxPQUFPLGVBQWU7SUFDMUIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztTQUM3RCxDQUFDO0lBQ0osQ0FBQzs7OEVBTlUsZUFBZTtpRUFBZixlQUFlOzt1RkFBZixlQUFlO2NBTDNCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7YUFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHByb3ZpZGVDb25maWdPcHRpb25zLCBwcm92aWRlQ29uZmlnTG9hZGVyIH0gZnJvbSAnLi9jb25maWcucHJvdmlkZXInO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXSxcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGV4cG9ydHM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29Db25maWdNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvQ29uZmlnTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSWdvQ29uZmlnTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtwcm92aWRlQ29uZmlnT3B0aW9ucyh7fSksIHByb3ZpZGVDb25maWdMb2FkZXIoKV1cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { NgModule } from '@angular/core';
2
+ import { provideConfigOptions, provideConfigLoader } from './config.provider';
3
+ import * as i0 from "@angular/core";
4
+ export class IgoConfigModule {
5
+ static forRoot() {
6
+ return {
7
+ ngModule: IgoConfigModule,
8
+ providers: [provideConfigOptions({}), provideConfigLoader()]
9
+ };
10
+ }
11
+ }
12
+ IgoConfigModule.ɵfac = function IgoConfigModule_Factory(t) { return new (t || IgoConfigModule)(); };
13
+ IgoConfigModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoConfigModule });
14
+ IgoConfigModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
15
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoConfigModule, [{
16
+ type: NgModule,
17
+ args: [{
18
+ imports: [],
19
+ declarations: [],
20
+ exports: []
21
+ }]
22
+ }], null, null); })();
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9jb25maWcvY29uZmlnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFPOUUsTUFBTSxPQUFPLGVBQWU7SUFDMUIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztTQUM3RCxDQUFDO0lBQ0osQ0FBQzs7OEVBTlUsZUFBZTtpRUFBZixlQUFlOzt1RkFBZixlQUFlO2NBTDNCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7YUFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlQ29uZmlnT3B0aW9ucywgcHJvdmlkZUNvbmZpZ0xvYWRlciB9IGZyb20gJy4vY29uZmlnLnByb3ZpZGVyJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIElnb0NvbmZpZ01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvQ29uZmlnTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29Db25maWdNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtwcm92aWRlQ29uZmlnT3B0aW9ucyh7fSksIHByb3ZpZGVDb25maWdMb2FkZXIoKV1cbiAgICB9O1xuICB9XG59XG4iXX0=