@acorex/core 6.5.28 → 6.5.30

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 (144) hide show
  1. package/README.md +3 -3
  2. package/acorex-core.d.ts +5 -0
  3. package/esm2020/acorex-core.mjs +5 -0
  4. package/esm2020/lib/classes/base-page.class.mjs +28 -0
  5. package/esm2020/lib/classes/color.class.mjs +49 -0
  6. package/esm2020/lib/classes/datetime.class.mjs +314 -0
  7. package/esm2020/lib/classes/menu.class.mjs +27 -0
  8. package/esm2020/lib/classes/navigator.class.mjs +2 -0
  9. package/esm2020/lib/classes/popup.class.mjs +2 -0
  10. package/esm2020/lib/classes/promise.class.mjs +19 -0
  11. package/esm2020/lib/classes/sectionlist.class.mjs +2 -0
  12. package/esm2020/lib/classes/select.class.mjs +3 -0
  13. package/esm2020/lib/core.module.mjs +27 -0
  14. package/esm2020/lib/error/error.class.mjs +2 -0
  15. package/esm2020/lib/error/error.module.mjs +19 -0
  16. package/esm2020/lib/error/error.service.mjs +21 -0
  17. package/esm2020/lib/events/keyboard.mjs +2 -0
  18. package/esm2020/lib/http/http-error.class.mjs +2 -0
  19. package/esm2020/lib/http/http-events.interceptor.mjs +3 -0
  20. package/esm2020/lib/http/http-request.class.mjs +2 -0
  21. package/esm2020/lib/http/http-result.class.mjs +21 -0
  22. package/esm2020/lib/http/http.module.mjs +37 -0
  23. package/esm2020/lib/http/http.service.mjs +145 -0
  24. package/{src → esm2020}/lib/locale/en.json +255 -255
  25. package/{src → esm2020}/lib/locale/fa.json +245 -245
  26. package/esm2020/lib/pipe/datetime.pipe.mjs +25 -0
  27. package/esm2020/lib/pipe/htmlToText.pipe.mjs +25 -0
  28. package/esm2020/lib/platform/index.mjs +2 -0
  29. package/esm2020/lib/platform/platform.service.mjs +150 -0
  30. package/esm2020/lib/services/config.mjs +29 -0
  31. package/esm2020/lib/services/event.service.mjs +36 -0
  32. package/esm2020/lib/services/navigator.service.mjs +10 -0
  33. package/esm2020/lib/services/storage.service.mjs +16 -0
  34. package/esm2020/lib/translator/translator.mjs +26 -0
  35. package/esm2020/lib/translator/translator.module.mjs +25 -0
  36. package/esm2020/lib/translator/translator.pipe.mjs +24 -0
  37. package/esm2020/lib/translator/translator.service.mjs +21 -0
  38. package/esm2020/lib/utils/array/array-util.mjs +133 -0
  39. package/esm2020/lib/utils/html/html-util.mjs +192 -0
  40. package/esm2020/lib/utils/html/html.module.mjs +19 -0
  41. package/esm2020/lib/utils/math/math-util.mjs +6 -0
  42. package/esm2020/lib/utils/object/object-util.mjs +83 -0
  43. package/esm2020/lib/utils/render/on-demand-preload-strategy.service.mjs +20 -0
  44. package/esm2020/lib/utils/render/render.service.mjs +103 -0
  45. package/esm2020/lib/utils/render/rendering.module.mjs +35 -0
  46. package/esm2020/lib/utils/scroll/scroll.directive.mjs +54 -0
  47. package/esm2020/lib/utils/scroll/scroll.module.mjs +19 -0
  48. package/esm2020/lib/utils/separator/separator.module.mjs +19 -0
  49. package/esm2020/lib/utils/separator/separator.pipe.mjs +33 -0
  50. package/esm2020/public-api.mjs +44 -0
  51. package/fesm2015/acorex-core.mjs +2274 -0
  52. package/fesm2015/acorex-core.mjs.map +1 -0
  53. package/fesm2020/acorex-core.mjs +2270 -0
  54. package/fesm2020/acorex-core.mjs.map +1 -0
  55. package/lib/classes/base-page.class.d.ts +13 -0
  56. package/lib/classes/color.class.d.ts +17 -0
  57. package/lib/classes/datetime.class.d.ts +63 -0
  58. package/lib/classes/menu.class.d.ts +34 -0
  59. package/{src/lib/classes/navigator.class.ts → lib/classes/navigator.class.d.ts} +5 -5
  60. package/{src/lib/classes/popup.class.ts → lib/classes/popup.class.d.ts} +12 -14
  61. package/lib/classes/promise.class.d.ts +7 -0
  62. package/{src/lib/classes/sectionlist.class.ts → lib/classes/sectionlist.class.d.ts} +8 -8
  63. package/lib/classes/select.class.d.ts +7 -0
  64. package/lib/core.module.d.ts +9 -0
  65. package/{src/lib/error/error.class.ts → lib/error/error.class.d.ts} +4 -4
  66. package/lib/error/error.module.d.ts +7 -0
  67. package/lib/error/error.service.d.ts +13 -0
  68. package/{src/lib/events/keyboard.ts → lib/events/keyboard.d.ts} +2 -5
  69. package/{src/lib/http/http-error.class.ts → lib/http/http-error.class.d.ts} +7 -7
  70. package/{src/lib/http/http-events.interceptor.ts → lib/http/http-events.interceptor.d.ts} +10 -14
  71. package/{src/lib/http/http-request.class.ts → lib/http/http-request.class.d.ts} +14 -14
  72. package/lib/http/http-result.class.d.ts +11 -0
  73. package/lib/http/http.module.d.ts +10 -0
  74. package/lib/http/http.service.d.ts +23 -0
  75. package/lib/pipe/datetime.pipe.d.ts +8 -0
  76. package/lib/pipe/htmlToText.pipe.d.ts +7 -0
  77. package/lib/platform/index.d.ts +1 -0
  78. package/lib/platform/platform.service.d.ts +26 -0
  79. package/lib/services/config.d.ts +9 -0
  80. package/lib/services/event.service.d.ts +9 -0
  81. package/lib/services/navigator.service.d.ts +8 -0
  82. package/lib/services/storage.service.d.ts +7 -0
  83. package/lib/translator/translator.d.ts +9 -0
  84. package/lib/translator/translator.module.d.ts +8 -0
  85. package/lib/translator/translator.pipe.d.ts +8 -0
  86. package/lib/translator/translator.service.d.ts +8 -0
  87. package/lib/utils/array/array-util.d.ts +6 -0
  88. package/lib/utils/html/html-util.d.ts +62 -0
  89. package/lib/utils/html/html.module.d.ts +8 -0
  90. package/lib/utils/math/math-util.d.ts +3 -0
  91. package/lib/utils/object/object-util.d.ts +7 -0
  92. package/lib/utils/render/on-demand-preload-strategy.service.d.ts +10 -0
  93. package/lib/utils/render/render.service.d.ts +18 -0
  94. package/lib/utils/render/rendering.module.d.ts +8 -0
  95. package/lib/utils/scroll/scroll.directive.d.ts +18 -0
  96. package/lib/utils/scroll/scroll.module.d.ts +8 -0
  97. package/lib/utils/separator/separator.module.d.ts +8 -0
  98. package/lib/utils/separator/separator.pipe.d.ts +8 -0
  99. package/package.json +33 -13
  100. package/{src/public-api.ts → public-api.d.ts} +43 -53
  101. package/karma.conf.js +0 -32
  102. package/ng-package.json +0 -10
  103. package/src/lib/classes/base-page.class.ts +0 -29
  104. package/src/lib/classes/color.class.ts +0 -61
  105. package/src/lib/classes/datetime.class.ts +0 -373
  106. package/src/lib/classes/menu.class.ts +0 -37
  107. package/src/lib/classes/promise.class.ts +0 -25
  108. package/src/lib/classes/select.class.ts +0 -7
  109. package/src/lib/core.module.ts +0 -21
  110. package/src/lib/error/error.module.ts +0 -13
  111. package/src/lib/error/error.service.ts +0 -23
  112. package/src/lib/error/index.ts +0 -3
  113. package/src/lib/http/http-result.class.ts +0 -34
  114. package/src/lib/http/http.module.ts +0 -25
  115. package/src/lib/http/http.service.ts +0 -159
  116. package/src/lib/pipe/datetime.pipe.ts +0 -20
  117. package/src/lib/pipe/htmlToText.pipe.ts +0 -18
  118. package/src/lib/platform/index.ts +0 -1
  119. package/src/lib/platform/platform.service.ts +0 -223
  120. package/src/lib/services/config.ts +0 -36
  121. package/src/lib/services/event.service.ts +0 -31
  122. package/src/lib/services/navigator.service.ts +0 -8
  123. package/src/lib/services/storage.service.ts +0 -11
  124. package/src/lib/translator/translator.module.ts +0 -19
  125. package/src/lib/translator/translator.pipe.ts +0 -22
  126. package/src/lib/translator/translator.service.ts +0 -19
  127. package/src/lib/translator/translator.ts +0 -31
  128. package/src/lib/utils/array/array-util.ts +0 -140
  129. package/src/lib/utils/html/html-util.ts +0 -264
  130. package/src/lib/utils/html/html.module.ts +0 -11
  131. package/src/lib/utils/math/math-util.ts +0 -5
  132. package/src/lib/utils/object/object-util.ts +0 -87
  133. package/src/lib/utils/render/on-demand-preload-strategy.service.ts +0 -25
  134. package/src/lib/utils/render/render.service.ts +0 -110
  135. package/src/lib/utils/render/rendering.module.ts +0 -25
  136. package/src/lib/utils/scroll/scroll.directive.ts +0 -35
  137. package/src/lib/utils/scroll/scroll.module.ts +0 -11
  138. package/src/lib/utils/separator/separator.module.ts +0 -11
  139. package/src/lib/utils/separator/separator.pipe.ts +0 -27
  140. package/src/test.ts +0 -28
  141. package/tsconfig.lib.json +0 -25
  142. package/tsconfig.lib.prod.json +0 -6
  143. package/tsconfig.spec.json +0 -18
  144. package/tslint.json +0 -17
@@ -0,0 +1,192 @@
1
+ import { AXMathUtil } from '../math/math-util';
2
+ export class AXPoint {
3
+ constructor(x, y) {
4
+ this.x = x;
5
+ this.y = y;
6
+ }
7
+ }
8
+ export class AXClientRec {
9
+ constructor(rec) {
10
+ this._left = rec.left;
11
+ this._top = rec.top;
12
+ this._width = rec.width;
13
+ this._height = rec.height;
14
+ this._right = this._left + this._width;
15
+ this._bottom = this._top + this._height;
16
+ }
17
+ get left() {
18
+ return this._left;
19
+ }
20
+ set left(v) {
21
+ this._left = v;
22
+ }
23
+ get top() {
24
+ return this._top;
25
+ }
26
+ set top(v) {
27
+ this._top = v;
28
+ }
29
+ get right() {
30
+ return this._right;
31
+ }
32
+ set right(v) {
33
+ this._right = v;
34
+ }
35
+ get bottom() {
36
+ return this._bottom;
37
+ }
38
+ set bottom(v) {
39
+ this._bottom = v;
40
+ }
41
+ get width() {
42
+ return this._width;
43
+ }
44
+ set width(v) {
45
+ this._width = v;
46
+ }
47
+ get height() {
48
+ return this._height;
49
+ }
50
+ set height(v) {
51
+ this._height = v;
52
+ }
53
+ intersect(rec) {
54
+ return (this.left < rec.left + rec.width &&
55
+ this.left + this.width > rec.left &&
56
+ this.top < rec.top + rec.height &&
57
+ this.top + this.height > rec.top);
58
+ }
59
+ }
60
+ // @dynamic
61
+ export class AXHtmlUtil {
62
+ static getBoundingRectPoint(el, placement) {
63
+ const rec = el.getBoundingClientRect();
64
+ const width = el.offsetWidth;
65
+ const height = el.offsetHeight;
66
+ switch (placement) {
67
+ case 'top-start':
68
+ return new AXPoint(rec.left, rec.top);
69
+ case 'top-middle':
70
+ return new AXPoint(rec.left + (width / 2), rec.top);
71
+ case 'top-end':
72
+ return new AXPoint(rec.left + (width), rec.top);
73
+ case 'center-end':
74
+ return new AXPoint(rec.left + (width), rec.top + (height / 2));
75
+ case 'bottom-end':
76
+ return new AXPoint(rec.left + (width), rec.top + (height));
77
+ case 'bottom-middle':
78
+ return new AXPoint(rec.left + (width / 2), rec.top + (height));
79
+ case 'bottom-start':
80
+ return new AXPoint(rec.left, rec.top + (height));
81
+ case 'center-start':
82
+ return new AXPoint(rec.left, rec.top + (height / 2));
83
+ default:
84
+ return new AXPoint(rec.left + (width / 2), rec.top + (height));
85
+ }
86
+ }
87
+ static isInRecPoint(pos, rec) {
88
+ return pos.x >= rec.left && pos.x <= (rec.left + rec.width) && pos.y >= rec.top && (pos.y <= (rec.top + rec.height));
89
+ }
90
+ // static isOverLap(rec1: AXClientRecCtor, rec2: AXClientRecCtor): boolean {
91
+ // const r1: AXClientRec = new AXClientRec(rec1);
92
+ // const r2: AXClientRec = new AXClientRec(rec2);
93
+ // return ;
94
+ // }
95
+ static isInElementBound(pos, element) {
96
+ const elBound = element.getBoundingClientRect();
97
+ return AXHtmlUtil.isInRecPoint(pos, {
98
+ left: elBound.left,
99
+ width: elBound.width,
100
+ top: elBound.top,
101
+ height: elBound.height
102
+ });
103
+ }
104
+ static getDimensions() {
105
+ let winW = 630;
106
+ let winH = 460;
107
+ if (document.body && document.body.offsetWidth) {
108
+ winW = document.body.offsetWidth;
109
+ winH = document.body.offsetHeight;
110
+ }
111
+ if (document.compatMode === 'CSS1Compat' && document.documentElement && document.documentElement.offsetWidth) {
112
+ winW = document.documentElement.offsetWidth;
113
+ winH = document.documentElement.offsetHeight;
114
+ }
115
+ if (window.innerWidth && window.innerHeight) {
116
+ winW = window.innerWidth;
117
+ winH = window.innerHeight;
118
+ }
119
+ return { width: winW, height: winH };
120
+ }
121
+ static getOffsetRight(elem) {
122
+ let element = elem;
123
+ const width = element.offsetWidth;
124
+ let right = 0;
125
+ while (element.offsetParent) {
126
+ right += element.offsetLeft;
127
+ element = element.offsetParent;
128
+ }
129
+ right += element.offsetLeft;
130
+ right = AXHtmlUtil.getDimensions().width - right;
131
+ right -= width;
132
+ return right;
133
+ }
134
+ static getUID() {
135
+ return 'el-' + AXMathUtil.randomRange(1000000000, 9999999999).toString();
136
+ }
137
+ static getRelatedPosition(source, placement, target, alignment) {
138
+ const result = { x: 0, y: 0 };
139
+ const sourcePos = AXHtmlUtil.getBoundingRectPoint(source, placement);
140
+ let top = 0;
141
+ let left = 0;
142
+ switch (alignment) {
143
+ case 'top-start':
144
+ top = sourcePos.y;
145
+ left = sourcePos.x;
146
+ break;
147
+ case 'top-middle':
148
+ top = sourcePos.y;
149
+ left = sourcePos.x - target.offsetWidth / 2;
150
+ break;
151
+ case 'top-end':
152
+ top = sourcePos.y;
153
+ left = sourcePos.x - target.offsetWidth;
154
+ break;
155
+ case 'center-end':
156
+ top = sourcePos.y - target.offsetHeight / 2;
157
+ left = sourcePos.x - target.offsetWidth;
158
+ break;
159
+ case 'bottom-end':
160
+ top = sourcePos.y - target.offsetHeight;
161
+ left = sourcePos.x - target.offsetWidth;
162
+ break;
163
+ case 'bottom-middle':
164
+ top = sourcePos.y - target.offsetHeight;
165
+ left = sourcePos.x - target.offsetWidth / 2;
166
+ break;
167
+ case 'bottom-start':
168
+ top = sourcePos.y - target.offsetHeight;
169
+ left = sourcePos.x;
170
+ break;
171
+ case 'center-start':
172
+ top = sourcePos.y - target.offsetHeight / 2;
173
+ left = sourcePos.x;
174
+ break;
175
+ }
176
+ result.y = top;
177
+ result.x = left;
178
+ return result;
179
+ }
180
+ static collision(a, b) {
181
+ const ac = a.getBoundingClientRect();
182
+ const bc = b.getBoundingClientRect();
183
+ if (ac.left < bc.left + bc.width && ac.left + ac.width > bc.left &&
184
+ ac.top < bc.top + bc.height && ac.top + ac.height > bc.top) {
185
+ return true;
186
+ }
187
+ else {
188
+ return false;
189
+ }
190
+ }
191
+ }
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvc3JjL2xpYi91dGlscy9odG1sL2h0bWwtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUEyQi9DLE1BQU0sT0FBTyxPQUFPO0lBQ2xCLFlBQW1CLENBQVMsRUFBUyxDQUFTO1FBQTNCLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFRO0lBQzlDLENBQUM7Q0FDRjtBQVVELE1BQU0sT0FBTyxXQUFXO0lBMER0QixZQUFZLEdBQW9CO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMxQyxDQUFDO0lBN0RELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBVyxJQUFJLENBQUMsQ0FBUztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBSUQsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFXLEdBQUcsQ0FBQyxDQUFTO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFJRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQVcsS0FBSyxDQUFDLENBQVM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsQ0FBUztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBS0QsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFXLEtBQUssQ0FBQyxDQUFTO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQVcsTUFBTSxDQUFDLENBQVM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQVlNLFNBQVMsQ0FBQyxHQUFvQjtRQUNuQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLO1lBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSTtZQUNqQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU07WUFDL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBR0Y7QUFDRCxXQUFXO0FBQ1gsTUFBTSxPQUFPLFVBQVU7SUFDckIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEVBQWUsRUFBRSxTQUFzQjtRQUNqRSxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN2QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO1FBQzdCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDL0IsUUFBUSxTQUFTLEVBQUU7WUFDakIsS0FBSyxXQUFXO2dCQUNkLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsS0FBSyxZQUFZO2dCQUNmLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEQsS0FBSyxTQUFTO2dCQUNaLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsRCxLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLEtBQUssWUFBWTtnQkFDZixPQUFPLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUM3RCxLQUFLLGVBQWU7Z0JBQ2xCLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNqRSxLQUFLLGNBQWM7Z0JBQ2pCLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNuRCxLQUFLLGNBQWM7Z0JBQ2pCLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkQ7Z0JBQ0UsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ2xFO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBYSxFQUFFLEdBQW9CO1FBQ3JELE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN2SCxDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLG1EQUFtRDtJQUNuRCxtREFBbUQ7SUFFbkQsYUFBYTtJQUNiLElBQUk7SUFFSixNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBYSxFQUFFLE9BQW9CO1FBQ3pELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2hELE9BQU8sVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztZQUNwQixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDaEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYTtRQUNsQixJQUFJLElBQUksR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLElBQUksR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDOUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ2pDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUNuQztRQUNELElBQUksUUFBUSxDQUFDLFVBQVUsS0FBSyxZQUFZLElBQUksUUFBUSxDQUFDLGVBQWUsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRTtZQUM1RyxJQUFJLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUM7WUFDNUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDM0MsSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDekIsSUFBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7U0FDM0I7UUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBaUI7UUFDckMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDbEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsT0FBTyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQzNCLEtBQUssSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQzVCLE9BQU8sR0FBRyxPQUFPLENBQUMsWUFBMkIsQ0FBQztTQUMvQztRQUNELEtBQUssSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQzVCLEtBQUssR0FBRyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNqRCxLQUFLLElBQUksS0FBSyxDQUFDO1FBQ2YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU07UUFDWCxPQUFPLEtBQUssR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBR0QsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE1BQW1CLEVBQUUsU0FBc0IsRUFBRSxNQUFtQixFQUFFLFNBQXNCO1FBQ2hILE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFFeEMsTUFBTSxTQUFTLEdBQVksVUFBVSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUc5RSxJQUFJLEdBQUcsR0FBVyxDQUFDLENBQUM7UUFDcEIsSUFBSSxJQUFJLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLFFBQVEsU0FBUyxFQUFFO1lBQ2pCLEtBQUssV0FBVztnQkFDZCxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDbEIsSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLE1BQU07WUFDUixLQUFLLFlBQVk7Z0JBQ2YsR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xCLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QyxNQUFNO1lBQ1IsS0FBSyxTQUFTO2dCQUNaLEdBQUcsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUNsQixJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO2dCQUN4QyxNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLEdBQUcsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QyxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO2dCQUN4QyxNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLEdBQUcsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7Z0JBQ3hDLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7Z0JBQ3hDLE1BQU07WUFDUixLQUFLLGVBQWU7Z0JBQ2xCLEdBQUcsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7Z0JBQ3hDLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QyxNQUFNO1lBQ1IsS0FBSyxjQUFjO2dCQUNqQixHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO2dCQUN4QyxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDbkIsTUFBTTtZQUNSLEtBQUssY0FBYztnQkFDakIsR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7Z0JBQzVDLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixNQUFNO1NBQ1Q7UUFDRCxNQUFNLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNmLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFHRCxNQUFNLENBQUMsU0FBUyxDQUFDLENBQWMsRUFBRSxDQUFjO1FBQzdDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXJDLElBQUksRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJO1lBQzlELEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFO1lBQzVELE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFDSTtZQUNILE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWE1hdGhVdGlsIH0gZnJvbSAnLi4vbWF0aC9tYXRoLXV0aWwnO1xuXG5leHBvcnQgdHlwZSBBWFBsYWNlbWVudCA9XG4gIHwgJ3RvcC1zdGFydCdcbiAgfCAndG9wLW1pZGRsZSdcbiAgfCAndG9wLWVuZCdcbiAgfCAnY2VudGVyLXN0YXJ0J1xuICB8ICdjZW50ZXItZW5kJ1xuICB8ICdib3R0b20tc3RhcnQnXG4gIHwgJ2JvdHRvbS1taWRkbGUnXG4gIHwgJ2JvdHRvbS1lbmQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYSVBvaW50IHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhDb25uZWN0ZWRQb3NpdGlvbiB7XG4gIG9yaWdpblg6ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnO1xuICBvcmlnaW5ZOiAndG9wJyB8ICdjZW50ZXInIHwgJ2JvdHRvbSc7XG4gIG92ZXJsYXlYOiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJztcbiAgb3ZlcmxheVk6ICd0b3AnIHwgJ2NlbnRlcicgfCAnYm90dG9tJztcbiAgd2VpZ2h0PzogbnVtYmVyO1xuICBvZmZzZXRYPzogbnVtYmVyO1xuICBvZmZzZXRZPzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgQVhQb2ludCBpbXBsZW1lbnRzIEFYSVBvaW50IHtcbiAgY29uc3RydWN0b3IocHVibGljIHg6IG51bWJlciwgcHVibGljIHk6IG51bWJlcikge1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhDbGllbnRSZWNDdG9yIHtcbiAgbGVmdD86IG51bWJlcjtcbiAgdG9wPzogbnVtYmVyO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBib3R0b20/OiBudW1iZXI7XG4gIHJpZ2h0PzogbnVtYmVyO1xufVxuZXhwb3J0IGNsYXNzIEFYQ2xpZW50UmVjIGltcGxlbWVudHMgQVhDbGllbnRSZWNDdG9yIHtcblxuXG4gIHByaXZhdGUgX2xlZnQ6IG51bWJlcjtcbiAgcHVibGljIGdldCBsZWZ0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xlZnQ7XG4gIH1cbiAgcHVibGljIHNldCBsZWZ0KHY6IG51bWJlcikge1xuICAgIHRoaXMuX2xlZnQgPSB2O1xuICB9XG5cblxuICBwcml2YXRlIF90b3A6IG51bWJlcjtcbiAgcHVibGljIGdldCB0b3AoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fdG9wO1xuICB9XG4gIHB1YmxpYyBzZXQgdG9wKHY6IG51bWJlcikge1xuICAgIHRoaXMuX3RvcCA9IHY7XG4gIH1cblxuXG4gIHByaXZhdGUgX3JpZ2h0OiBudW1iZXI7XG4gIHB1YmxpYyBnZXQgcmlnaHQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcmlnaHQ7XG4gIH1cbiAgcHVibGljIHNldCByaWdodCh2OiBudW1iZXIpIHtcbiAgICB0aGlzLl9yaWdodCA9IHY7XG4gIH1cblxuXG4gIHByaXZhdGUgX2JvdHRvbTogbnVtYmVyO1xuICBwdWJsaWMgZ2V0IGJvdHRvbSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9ib3R0b207XG4gIH1cbiAgcHVibGljIHNldCBib3R0b20odjogbnVtYmVyKSB7XG4gICAgdGhpcy5fYm90dG9tID0gdjtcbiAgfVxuXG5cblxuICBwcml2YXRlIF93aWR0aDogbnVtYmVyO1xuICBwdWJsaWMgZ2V0IHdpZHRoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZHRoO1xuICB9XG4gIHB1YmxpYyBzZXQgd2lkdGgodjogbnVtYmVyKSB7XG4gICAgdGhpcy5fd2lkdGggPSB2O1xuICB9XG5cblxuICBwcml2YXRlIF9oZWlnaHQ6IG51bWJlcjtcbiAgcHVibGljIGdldCBoZWlnaHQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5faGVpZ2h0O1xuICB9XG4gIHB1YmxpYyBzZXQgaGVpZ2h0KHY6IG51bWJlcikge1xuICAgIHRoaXMuX2hlaWdodCA9IHY7XG4gIH1cblxuXG4gIGNvbnN0cnVjdG9yKHJlYzogQVhDbGllbnRSZWNDdG9yKSB7XG4gICAgdGhpcy5fbGVmdCA9IHJlYy5sZWZ0O1xuICAgIHRoaXMuX3RvcCA9IHJlYy50b3A7XG4gICAgdGhpcy5fd2lkdGggPSByZWMud2lkdGg7XG4gICAgdGhpcy5faGVpZ2h0ID0gcmVjLmhlaWdodDtcbiAgICB0aGlzLl9yaWdodCA9IHRoaXMuX2xlZnQgKyB0aGlzLl93aWR0aDtcbiAgICB0aGlzLl9ib3R0b20gPSB0aGlzLl90b3AgKyB0aGlzLl9oZWlnaHQ7XG4gIH1cblxuICBwdWJsaWMgaW50ZXJzZWN0KHJlYzogQVhDbGllbnRSZWNDdG9yKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLmxlZnQgPCByZWMubGVmdCArIHJlYy53aWR0aCAmJlxuICAgICAgdGhpcy5sZWZ0ICsgdGhpcy53aWR0aCA+IHJlYy5sZWZ0ICYmXG4gICAgICB0aGlzLnRvcCA8IHJlYy50b3AgKyByZWMuaGVpZ2h0ICYmXG4gICAgICB0aGlzLnRvcCArIHRoaXMuaGVpZ2h0ID4gcmVjLnRvcCk7XG4gIH1cblxuXG59XG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEFYSHRtbFV0aWwge1xuICBzdGF0aWMgZ2V0Qm91bmRpbmdSZWN0UG9pbnQoZWw6IEhUTUxFbGVtZW50LCBwbGFjZW1lbnQ6IEFYUGxhY2VtZW50KTogQVhQb2ludCB7XG4gICAgY29uc3QgcmVjID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3Qgd2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcbiAgICBjb25zdCBoZWlnaHQgPSBlbC5vZmZzZXRIZWlnaHQ7XG4gICAgc3dpdGNoIChwbGFjZW1lbnQpIHtcbiAgICAgIGNhc2UgJ3RvcC1zdGFydCc6XG4gICAgICAgIHJldHVybiBuZXcgQVhQb2ludChyZWMubGVmdCwgcmVjLnRvcCk7XG4gICAgICBjYXNlICd0b3AtbWlkZGxlJzpcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoIC8gMiksIHJlYy50b3ApO1xuICAgICAgY2FzZSAndG9wLWVuZCc6XG4gICAgICAgIHJldHVybiBuZXcgQVhQb2ludChyZWMubGVmdCArICh3aWR0aCksIHJlYy50b3ApO1xuICAgICAgY2FzZSAnY2VudGVyLWVuZCc6XG4gICAgICAgIHJldHVybiBuZXcgQVhQb2ludChyZWMubGVmdCArICh3aWR0aCksIHJlYy50b3AgKyAoaGVpZ2h0IC8gMikpO1xuICAgICAgY2FzZSAnYm90dG9tLWVuZCc6XG4gICAgICAgIHJldHVybiBuZXcgQVhQb2ludChyZWMubGVmdCArICh3aWR0aCksIHJlYy50b3AgKyAoaGVpZ2h0KSk7XG4gICAgICBjYXNlICdib3R0b20tbWlkZGxlJzpcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoIC8gMiksIHJlYy50b3AgKyAoaGVpZ2h0KSk7XG4gICAgICBjYXNlICdib3R0b20tc3RhcnQnOlxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQsIHJlYy50b3AgKyAoaGVpZ2h0KSk7XG4gICAgICBjYXNlICdjZW50ZXItc3RhcnQnOlxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQsIHJlYy50b3AgKyAoaGVpZ2h0IC8gMikpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoIC8gMiksIHJlYy50b3AgKyAoaGVpZ2h0KSk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGlzSW5SZWNQb2ludChwb3M6IEFYSVBvaW50LCByZWM6IEFYQ2xpZW50UmVjQ3Rvcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBwb3MueCA+PSByZWMubGVmdCAmJiBwb3MueCA8PSAocmVjLmxlZnQgKyByZWMud2lkdGgpICYmIHBvcy55ID49IHJlYy50b3AgJiYgKHBvcy55IDw9IChyZWMudG9wICsgcmVjLmhlaWdodCkpO1xuICB9XG5cbiAgLy8gc3RhdGljIGlzT3ZlckxhcChyZWMxOiBBWENsaWVudFJlY0N0b3IsIHJlYzI6IEFYQ2xpZW50UmVjQ3Rvcik6IGJvb2xlYW4ge1xuICAvLyAgIGNvbnN0IHIxOiBBWENsaWVudFJlYyA9IG5ldyBBWENsaWVudFJlYyhyZWMxKTtcbiAgLy8gICBjb25zdCByMjogQVhDbGllbnRSZWMgPSBuZXcgQVhDbGllbnRSZWMocmVjMik7XG5cbiAgLy8gICByZXR1cm4gO1xuICAvLyB9XG5cbiAgc3RhdGljIGlzSW5FbGVtZW50Qm91bmQocG9zOiBBWElQb2ludCwgZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBlbEJvdW5kID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICByZXR1cm4gQVhIdG1sVXRpbC5pc0luUmVjUG9pbnQocG9zLCB7XG4gICAgICBsZWZ0OiBlbEJvdW5kLmxlZnQsXG4gICAgICB3aWR0aDogZWxCb3VuZC53aWR0aCxcbiAgICAgIHRvcDogZWxCb3VuZC50b3AsXG4gICAgICBoZWlnaHQ6IGVsQm91bmQuaGVpZ2h0XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0RGltZW5zaW9ucygpOiB7IHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyIH0ge1xuICAgIGxldCB3aW5XID0gNjMwO1xuICAgIGxldCB3aW5IID0gNDYwO1xuICAgIGlmIChkb2N1bWVudC5ib2R5ICYmIGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGgpIHtcbiAgICAgIHdpblcgPSBkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoO1xuICAgICAgd2luSCA9IGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0O1xuICAgIH1cbiAgICBpZiAoZG9jdW1lbnQuY29tcGF0TW9kZSA9PT0gJ0NTUzFDb21wYXQnICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcbiAgICAgIHdpblcgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICB3aW5IID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoICYmIHdpbmRvdy5pbm5lckhlaWdodCkge1xuICAgICAgd2luVyA9IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgICAgd2luSCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICB9XG4gICAgcmV0dXJuIHsgd2lkdGg6IHdpblcsIGhlaWdodDogd2luSCB9O1xuICB9XG5cbiAgc3RhdGljIGdldE9mZnNldFJpZ2h0KGVsZW06IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICBsZXQgZWxlbWVudCA9IGVsZW07XG4gICAgY29uc3Qgd2lkdGggPSBlbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIGxldCByaWdodCA9IDA7XG4gICAgd2hpbGUgKGVsZW1lbnQub2Zmc2V0UGFyZW50KSB7XG4gICAgICByaWdodCArPSBlbGVtZW50Lm9mZnNldExlZnQ7XG4gICAgICBlbGVtZW50ID0gZWxlbWVudC5vZmZzZXRQYXJlbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgfVxuICAgIHJpZ2h0ICs9IGVsZW1lbnQub2Zmc2V0TGVmdDtcbiAgICByaWdodCA9IEFYSHRtbFV0aWwuZ2V0RGltZW5zaW9ucygpLndpZHRoIC0gcmlnaHQ7XG4gICAgcmlnaHQgLT0gd2lkdGg7XG4gICAgcmV0dXJuIHJpZ2h0O1xuICB9XG5cbiAgc3RhdGljIGdldFVJRCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnZWwtJyArIEFYTWF0aFV0aWwucmFuZG9tUmFuZ2UoMTAwMDAwMDAwMCwgOTk5OTk5OTk5OSkudG9TdHJpbmcoKTtcbiAgfVxuXG5cbiAgc3RhdGljIGdldFJlbGF0ZWRQb3NpdGlvbihzb3VyY2U6IEhUTUxFbGVtZW50LCBwbGFjZW1lbnQ6IEFYUGxhY2VtZW50LCB0YXJnZXQ6IEhUTUxFbGVtZW50LCBhbGlnbm1lbnQ6IEFYUGxhY2VtZW50KTogQVhJUG9pbnQge1xuICAgIGNvbnN0IHJlc3VsdDogQVhJUG9pbnQgPSB7IHg6IDAsIHk6IDAgfTtcblxuICAgIGNvbnN0IHNvdXJjZVBvczogQVhQb2ludCA9IEFYSHRtbFV0aWwuZ2V0Qm91bmRpbmdSZWN0UG9pbnQoc291cmNlLCBwbGFjZW1lbnQpO1xuXG5cbiAgICBsZXQgdG9wOiBudW1iZXIgPSAwO1xuICAgIGxldCBsZWZ0OiBudW1iZXIgPSAwO1xuICAgIHN3aXRjaCAoYWxpZ25tZW50KSB7XG4gICAgICBjYXNlICd0b3Atc3RhcnQnOlxuICAgICAgICB0b3AgPSBzb3VyY2VQb3MueTtcbiAgICAgICAgbGVmdCA9IHNvdXJjZVBvcy54O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RvcC1taWRkbGUnOlxuICAgICAgICB0b3AgPSBzb3VyY2VQb3MueTtcbiAgICAgICAgbGVmdCA9IHNvdXJjZVBvcy54IC0gdGFyZ2V0Lm9mZnNldFdpZHRoIC8gMjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0b3AtZW5kJzpcbiAgICAgICAgdG9wID0gc291cmNlUG9zLnk7XG4gICAgICAgIGxlZnQgPSBzb3VyY2VQb3MueCAtIHRhcmdldC5vZmZzZXRXaWR0aDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjZW50ZXItZW5kJzpcbiAgICAgICAgdG9wID0gc291cmNlUG9zLnkgLSB0YXJnZXQub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICAgICAgbGVmdCA9IHNvdXJjZVBvcy54IC0gdGFyZ2V0Lm9mZnNldFdpZHRoO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbS1lbmQnOlxuICAgICAgICB0b3AgPSBzb3VyY2VQb3MueSAtIHRhcmdldC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIGxlZnQgPSBzb3VyY2VQb3MueCAtIHRhcmdldC5vZmZzZXRXaWR0aDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdib3R0b20tbWlkZGxlJzpcbiAgICAgICAgdG9wID0gc291cmNlUG9zLnkgLSB0YXJnZXQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLnggLSB0YXJnZXQub2Zmc2V0V2lkdGggLyAyO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55IC0gdGFyZ2V0Lm9mZnNldEhlaWdodDtcbiAgICAgICAgbGVmdCA9IHNvdXJjZVBvcy54O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NlbnRlci1zdGFydCc6XG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55IC0gdGFyZ2V0Lm9mZnNldEhlaWdodCAvIDI7XG4gICAgICAgIGxlZnQgPSBzb3VyY2VQb3MueDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJlc3VsdC55ID0gdG9wO1xuICAgIHJlc3VsdC54ID0gbGVmdDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cblxuICBzdGF0aWMgY29sbGlzaW9uKGE6IEhUTUxFbGVtZW50LCBiOiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGFjID0gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBiYyA9IGIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBpZiAoYWMubGVmdCA8IGJjLmxlZnQgKyBiYy53aWR0aCAmJiBhYy5sZWZ0ICsgYWMud2lkdGggPiBiYy5sZWZ0ICYmXG4gICAgICBhYy50b3AgPCBiYy50b3AgKyBiYy5oZWlnaHQgJiYgYWMudG9wICsgYWMuaGVpZ2h0ID4gYmMudG9wKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXHtmlToTextPipe } from '../../pipe/htmlToText.pipe';
4
+ import * as i0 from "@angular/core";
5
+ export class AXHtmlModule {
6
+ }
7
+ AXHtmlModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXHtmlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ AXHtmlModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXHtmlModule, declarations: [AXHtmlToTextPipe], imports: [CommonModule], exports: [AXHtmlToTextPipe] });
9
+ AXHtmlModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXHtmlModule, providers: [], imports: [[CommonModule]] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXHtmlModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [AXHtmlToTextPipe],
14
+ imports: [CommonModule],
15
+ exports: [AXHtmlToTextPipe],
16
+ providers: []
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9zcmMvbGliL3V0aWxzL2h0bWwvaHRtbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUTlELE1BQU0sT0FBTyxZQUFZOzswR0FBWixZQUFZOzJHQUFaLFlBQVksaUJBTFIsZ0JBQWdCLGFBQ3JCLFlBQVksYUFDWixnQkFBZ0I7MkdBR2YsWUFBWSxhQUZaLEVBQUUsWUFGSixDQUFDLFlBQVksQ0FBQzs0RkFJWixZQUFZO2tCQU54QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNoQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhIdG1sVG9UZXh0UGlwZSB9IGZyb20gJy4uLy4uL3BpcGUvaHRtbFRvVGV4dC5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQVhIdG1sVG9UZXh0UGlwZV0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbQVhIdG1sVG9UZXh0UGlwZV0sXG4gIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgQVhIdG1sTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,6 @@
1
+ export class AXMathUtil {
2
+ static randomRange(min, max) {
3
+ return Math.floor(Math.random() * (max - min + 1) + min);
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvc3JjL2xpYi91dGlscy9tYXRoL21hdGgtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUNuQixNQUFNLENBQUMsV0FBVyxDQUFDLEdBQVcsRUFBRSxHQUFXO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBWE1hdGhVdGlsIHtcbiAgICBzdGF0aWMgcmFuZG9tUmFuZ2UobWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChtYXggLSBtaW4gKyAxKSArIG1pbik7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,83 @@
1
+ // @dynamic
2
+ export class AXObjectUtil {
3
+ static deepJSONClone(obj) {
4
+ return obj ? JSON.parse(JSON.stringify(obj)) : null;
5
+ }
6
+ static deepCopy(obj) {
7
+ let copy;
8
+ // Handle the 3 simple types, and null or undefined
9
+ if (null == obj || 'object' !== typeof obj) {
10
+ return obj;
11
+ }
12
+ // Handle Date
13
+ if (obj instanceof Date) {
14
+ copy = new Date();
15
+ copy.setTime(obj.getTime());
16
+ return copy;
17
+ }
18
+ // Handle Array
19
+ if (obj instanceof Array) {
20
+ copy = [];
21
+ for (let i = 0, len = obj.length; i < len; i++) {
22
+ copy[i] = AXObjectUtil.deepCopy(obj[i]);
23
+ }
24
+ return copy;
25
+ }
26
+ // Handle Object
27
+ if (obj instanceof Object) {
28
+ copy = {};
29
+ for (const attr in obj) {
30
+ if (obj.hasOwnProperty(attr)) {
31
+ copy[attr] = AXObjectUtil.deepCopy(obj[attr]);
32
+ }
33
+ }
34
+ return copy;
35
+ }
36
+ throw new Error('Unable to copy obj! Its type isn\'t supported.');
37
+ }
38
+ }
39
+ export function AXFetchProp(obj, prop) {
40
+ if (typeof obj === 'undefined') {
41
+ return false;
42
+ }
43
+ const index = prop.indexOf('.');
44
+ if (index > -1) {
45
+ return AXFetchProp(obj[prop.substring(0, index)], prop.substr(index + 1));
46
+ }
47
+ return obj[prop];
48
+ }
49
+ export function getPropByPath(obj, path, defaultVal) {
50
+ path = path
51
+ .replace(/\[/g, '.')
52
+ .replace(/]/g, '')
53
+ .split('.');
54
+ path.forEach((level) => {
55
+ if (obj) {
56
+ obj = obj[level];
57
+ }
58
+ });
59
+ if (obj === undefined) {
60
+ return defaultVal;
61
+ }
62
+ return obj;
63
+ }
64
+ export function setPropByPath(obj, path, value) {
65
+ if (Object(obj) !== obj) {
66
+ return obj;
67
+ } // When obj is not an object
68
+ // If not yet an array, get the keys from the string-path
69
+ if (!Array.isArray(path)) {
70
+ path = path.toString().match(/[^.[\]]+/g) || [];
71
+ }
72
+ path.slice(0, -1).reduce((a, c, i) => // Iterate all of them except the last one
73
+ Object(a[c]) === a[c] // Does the key exist and is its value an object?
74
+ // Yes: then follow that path
75
+ ? a[c]
76
+ // No: create the key. Is the next key a potential array-index?
77
+ : a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1]
78
+ ? [] // Yes: assign a new array object
79
+ : {}, // No: assign a new plain object
80
+ obj)[path[path.length - 1]] = value; // Finally assign the value to the last key
81
+ return obj[path[0]]; // Return the top-level object to allow chaining
82
+ }
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9zcmMvbGliL3V0aWxzL29iamVjdC9vYmplY3QtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxXQUFXO0FBQ1gsTUFBTSxPQUFPLFlBQVk7SUFDckIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFRO1FBQ3pCLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUc7UUFDZixJQUFJLElBQUksQ0FBQztRQUNULG1EQUFtRDtRQUNuRCxJQUFJLElBQUksSUFBSSxHQUFHLElBQUksUUFBUSxLQUFLLE9BQU8sR0FBRyxFQUFFO1lBQUUsT0FBTyxHQUFHLENBQUM7U0FBRTtRQUMzRCxjQUFjO1FBQ2QsSUFBSSxHQUFHLFlBQVksSUFBSSxFQUFFO1lBQ3JCLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDNUIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELGVBQWU7UUFDZixJQUFJLEdBQUcsWUFBWSxLQUFLLEVBQUU7WUFDdEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNWLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFD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QUMsQ0FBQztZQUNoRCxDQUFDLENBQUMsRUFBRSxDQUFDLGlDQUFpQztZQUN0QyxDQUFDLENBQUMsRUFBRSxFQUFFLGdDQUFnQztJQUM5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLDJDQUEyQztJQUNwRixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdEQUFnRDtBQUN6RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBBWE9iamVjdFV0aWwge1xuICAgIHN0YXRpYyBkZWVwSlNPTkNsb25lKG9iajogYW55KTogYW55IHtcbiAgICAgICAgcmV0dXJuIG9iaiA/IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob2JqKSkgOiBudWxsO1xuICAgIH1cblxuICAgIHN0YXRpYyBkZWVwQ29weShvYmopIHtcbiAgICAgICAgbGV0IGNvcHk7XG4gICAgICAgIC8vIEhhbmRsZSB0aGUgMyBzaW1wbGUgdHlwZXMsIGFuZCBudWxsIG9yIHVuZGVmaW5lZFxuICAgICAgICBpZiAobnVsbCA9PSBvYmogfHwgJ29iamVjdCcgIT09IHR5cGVvZiBvYmopIHsgcmV0dXJuIG9iajsgfVxuICAgICAgICAvLyBIYW5kbGUgRGF0ZVxuICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgY29weSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBjb3B5LnNldFRpbWUob2JqLmdldFRpbWUoKSk7XG4gICAgICAgICAgICByZXR1cm4gY29weTtcbiAgICAgICAgfVxuICAgICAgICAvLyBIYW5kbGUgQXJyYXlcbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICBjb3B5ID0gW107XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gb2JqLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29weVtpXSA9IEFYT2JqZWN0VXRpbC5kZWVwQ29weShvYmpbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSGFuZGxlIE9iamVjdFxuICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICAgICAgICBjb3B5ID0ge307XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGF0dHIgaW4gb2JqKSB7XG4gICAgICAgICAgICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShhdHRyKSkgeyBjb3B5W2F0dHJdID0gQVhPYmplY3RVdGlsLmRlZXBDb3B5KG9ialthdHRyXSk7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjb3B5O1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGNvcHkgb2JqISBJdHMgdHlwZSBpc25cXCd0IHN1cHBvcnRlZC4nKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBWEZldGNoUHJvcChvYmosIHByb3A6IHN0cmluZykge1xuICAgIGlmICh0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGluZGV4ID0gcHJvcC5pbmRleE9mKCcuJyk7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICByZXR1cm4gQVhGZXRjaFByb3Aob2JqW3Byb3Auc3Vic3RyaW5nKDAsIGluZGV4KV0sIHByb3Auc3Vic3RyKGluZGV4ICsgMSkpO1xuICAgIH1cblxuICAgIHJldHVybiBvYmpbcHJvcF07XG59XG5cblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm9wQnlQYXRoKG9iaiwgcGF0aCwgZGVmYXVsdFZhbD8pIHtcbiAgICBwYXRoID0gcGF0aFxuICAgICAgICAucmVwbGFjZSgvXFxbL2csICcuJylcbiAgICAgICAgLnJlcGxhY2UoL10vZywgJycpXG4gICAgICAgIC5zcGxpdCgnLicpO1xuXG4gICAgcGF0aC5mb3JFYWNoKChsZXZlbCkgPT4ge1xuICAgICAgICBpZiAob2JqKSB7XG4gICAgICAgICAgICBvYmogPSBvYmpbbGV2ZWxdO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAob2JqID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWw7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRQcm9wQnlQYXRoKG9iaiwgcGF0aCwgdmFsdWUpIHtcbiAgICBpZiAoT2JqZWN0KG9iaikgIT09IG9iaikgeyByZXR1cm4gb2JqOyB9IC8vIFdoZW4gb2JqIGlzIG5vdCBhbiBvYmplY3RcbiAgICAvLyBJZiBub3QgeWV0IGFuIGFycmF5LCBnZXQgdGhlIGtleXMgZnJvbSB0aGUgc3RyaW5nLXBhdGhcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocGF0aCkpIHsgcGF0aCA9IHBhdGgudG9TdHJpbmcoKS5tYXRjaCgvW14uW1xcXV0rL2cpIHx8IFtdOyB9XG4gICAgcGF0aC5zbGljZSgwLCAtMSkucmVkdWNlKChhLCBjLCBpKSA9PiAvLyBJdGVyYXRlIGFsbCBvZiB0aGVtIGV4Y2VwdCB0aGUgbGFzdCBvbmVcbiAgICAgICAgT2JqZWN0KGFbY10pID09PSBhW2NdIC8vIERvZXMgdGhlIGtleSBleGlzdCBhbmQgaXMgaXRzIHZhbHVlIGFuIG9iamVjdD9cbiAgICAgICAgICAgIC8vIFllczogdGhlbiBmb2xsb3cgdGhhdCBwYXRoXG4gICAgICAgICAgICA/IGFbY11cbiAgICAgICAgICAgIC8vIE5vOiBjcmVhdGUgdGhlIGtleS4gSXMgdGhlIG5leHQga2V5IGEgcG90ZW50aWFsIGFycmF5LWluZGV4P1xuICAgICAgICAgICAgOiBhW2NdID0gTWF0aC5hYnMocGF0aFtpICsgMV0pID4+IDAgPT09ICtwYXRoW2kgKyAxXVxuICAgICAgICAgICAgICAgID8gW10gLy8gWWVzOiBhc3NpZ24gYSBuZXcgYXJyYXkgb2JqZWN0XG4gICAgICAgICAgICAgICAgOiB7fSwgLy8gTm86IGFzc2lnbiBhIG5ldyBwbGFpbiBvYmplY3RcbiAgICAgICAgb2JqKVtwYXRoW3BhdGgubGVuZ3RoIC0gMV1dID0gdmFsdWU7IC8vIEZpbmFsbHkgYXNzaWduIHRoZSB2YWx1ZSB0byB0aGUgbGFzdCBrZXlcbiAgICByZXR1cm4gb2JqW3BhdGhbMF1dOyAvLyBSZXR1cm4gdGhlIHRvcC1sZXZlbCBvYmplY3QgdG8gYWxsb3cgY2hhaW5pbmdcbn1cblxuXG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { AXHtmlUtil } from '../html/html-util';
4
+ import * as i0 from "@angular/core";
5
+ export class AXOnDemandPreloadService {
6
+ constructor() {
7
+ this.subject = new Subject();
8
+ this.tmp = AXHtmlUtil.getUID();
9
+ }
10
+ startPreload(routePath) {
11
+ const slices = [];
12
+ this.subject.next(routePath);
13
+ }
14
+ }
15
+ AXOnDemandPreloadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXOnDemandPreloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16
+ AXOnDemandPreloadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXOnDemandPreloadService });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXOnDemandPreloadService, decorators: [{
18
+ type: Injectable
19
+ }], ctorParameters: function () { return []; } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tZGVtYW5kLXByZWxvYWQtc3RyYXRlZ3kuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3NyYy9saWIvdXRpbHMvcmVuZGVyL29uLWRlbWFuZC1wcmVsb2FkLXN0cmF0ZWd5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFrQixNQUFNLE1BQU0sQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTS9DLE1BQU0sT0FBTyx3QkFBd0I7SUFJbkM7UUFIQSxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUk5QixJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztRQUc1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixDQUFDOztzSEFiVSx3QkFBd0I7MEhBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJlbG9hZGluZ1N0cmF0ZWd5LCBSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBWEh0bWxVdGlsIH0gZnJvbSAnLi4vaHRtbC9odG1sLXV0aWwnO1xuXG5cblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlIHtcbiAgc3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgdG1wOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy50bXAgPSBBWEh0bWxVdGlsLmdldFVJRCgpO1xuICB9XG5cbiAgc3RhcnRQcmVsb2FkKHJvdXRlUGF0aDogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2xpY2VzOiBzdHJpbmdbXSA9IFtdO1xuICAgXG5cbiAgICB0aGlzLnN1YmplY3QubmV4dChyb3V0ZVBhdGgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,103 @@
1
+ import { ApplicationRef, ComponentFactoryResolver, Injectable, Injector, Compiler } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "./on-demand-preload-strategy.service";
7
+ export class AXRenderService {
8
+ constructor(appRef, router, componentFactoryResolver, compiler, modulePreloadService, injector) {
9
+ this.appRef = appRef;
10
+ this.router = router;
11
+ this.componentFactoryResolver = componentFactoryResolver;
12
+ this.compiler = compiler;
13
+ this.modulePreloadService = modulePreloadService;
14
+ this.injector = injector;
15
+ }
16
+ appendComponent(componentClass, options = {}, location) {
17
+ const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentClass);
18
+ const componentRef = componentFactory.create(this.injector);
19
+ this.appRef.attachView(componentRef.hostView);
20
+ Object.assign(componentRef.instance, options);
21
+ //
22
+ const domElem = componentRef.hostView.rootNodes[0];
23
+ componentRef.onDestroy(() => {
24
+ this.appRef.detachView(componentRef.hostView);
25
+ });
26
+ if (location) {
27
+ location.appendChild(domElem);
28
+ }
29
+ else {
30
+ document.body.appendChild(domElem);
31
+ }
32
+ setTimeout(() => {
33
+ componentRef.changeDetectorRef.detectChanges();
34
+ }, 0);
35
+ return componentRef;
36
+ }
37
+ findLoadedComponentByRoute(path, timeoutTime = 10) {
38
+ const delay = 200;
39
+ const loop = timeoutTime * 1000 / delay;
40
+ return new Promise((resolve, reject) => {
41
+ let found = null;
42
+ let preload = false;
43
+ const theLoop = (i) => {
44
+ setTimeout(async () => {
45
+ found = await this._findLoadedComponentByRoute(path);
46
+ if (--i && found == null) {
47
+ if (!preload) {
48
+ this.modulePreloadService.startPreload(path);
49
+ preload = true;
50
+ }
51
+ theLoop(i);
52
+ }
53
+ else if (found) {
54
+ resolve(found);
55
+ }
56
+ else {
57
+ reject();
58
+ }
59
+ }, delay);
60
+ };
61
+ theLoop(loop);
62
+ });
63
+ }
64
+ async _findLoadedComponentByRoute(search) {
65
+ let found = null;
66
+ const f = (children, parentPath) => {
67
+ for (const p in children) {
68
+ if (children.hasOwnProperty(p)) {
69
+ const route = children[p];
70
+ const pp = (route.path != '' && route.path != null) ? parentPath + '/' + route.path : parentPath;
71
+ if (pp == search && !route._loadedConfig && route.component) {
72
+ found = route;
73
+ return;
74
+ }
75
+ else if (route._loadedConfig || route.children) {
76
+ f(route.children || route._loadedConfig.routes, pp);
77
+ }
78
+ }
79
+ }
80
+ };
81
+ for (const p in this.router.config) {
82
+ if (this.router.config.hasOwnProperty(p)) {
83
+ const route = this.router.config[p];
84
+ if (route.path === search && route.component) {
85
+ found = route;
86
+ }
87
+ else if (route['_loadedConfig'] || route.children) {
88
+ f(route.children || route['_loadedConfig'].routes, route.path);
89
+ }
90
+ if (found)
91
+ break;
92
+ }
93
+ }
94
+ return found;
95
+ }
96
+ }
97
+ AXRenderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXRenderService, deps: [{ token: i0.ApplicationRef }, { token: i1.Router }, { token: i0.ComponentFactoryResolver }, { token: i0.Compiler }, { token: i2.AXOnDemandPreloadService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
98
+ AXRenderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXRenderService, providedIn: 'root' });
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXRenderService, decorators: [{
100
+ type: Injectable,
101
+ args: [{ providedIn: 'root' }]
102
+ }], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i1.Router }, { type: i0.ComponentFactoryResolver }, { type: i0.Compiler }, { type: i2.AXOnDemandPreloadService }, { type: i0.Injector }]; } });
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9zcmMvbGliL3V0aWxzL3JlbmRlci9yZW5kZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsY0FBYyxFQUFFLHdCQUF3QixFQUFnQixVQUFVLEVBQ2xFLFFBQVEsRUFBeUIsUUFBUSxFQUM1QyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUFLaEYsTUFBTSxPQUFPLGVBQWU7SUFDeEIsWUFDWSxNQUFzQixFQUN0QixNQUFjLEVBQ2Qsd0JBQWtELEVBQ2xELFFBQWtCLEVBQ2xCLG9CQUE4QyxFQUM5QyxRQUFrQjtRQUxsQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBMEI7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5QixDQUFDO0lBSUQsZUFBZSxDQUNYLGNBQXVCLEVBQ3ZCLFVBQWUsRUFBRSxFQUNqQixRQUFrQjtRQUVsQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvRixNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxNQUFNLENBQUMsTUFBTSxD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LENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7d0JBQzlDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO3FCQUN2RDtpQkFDSjthQUNKO1FBQ0wsQ0FBQyxDQUFDO1FBRUYsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNoQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtvQkFDMUMsS0FBSyxHQUFHLEtBQUssQ0FBQztpQkFDakI7cUJBQ0ksSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtvQkFDL0MsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2xFO2dCQUNELElBQUksS0FBSztvQkFDTCxNQUFNO2FBQ2I7U0FDSjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OzZHQWpHUSxlQUFlO2lIQUFmLGVBQWUsY0FERixNQUFNOzRGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLFxuICAgIEluamVjdG9yLCBFbWJlZGRlZFZpZXdSZWYsIFR5cGUsIENvbXBpbGVyLCBOZ01vZHVsZUZhY3Rvcnlcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFYT25EZW1hbmRQcmVsb2FkU2VydmljZSB9IGZyb20gJy4vb24tZGVtYW5kLXByZWxvYWQtc3RyYXRlZ3kuc2VydmljZSc7XG5cblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUmVuZGVyU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXIsXG4gICAgICAgIHByaXZhdGUgbW9kdWxlUHJlbG9hZFNlcnZpY2U6IEFYT25EZW1hbmRQcmVsb2FkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB9XG5cblxuXG4gICAgYXBwZW5kQ29tcG9uZW50PFQ+KFxuICAgICAgICBjb21wb25lbnRDbGFzczogVHlwZTxUPixcbiAgICAgICAgb3B0aW9uczogYW55ID0ge30sXG4gICAgICAgIGxvY2F0aW9uPzogRWxlbWVudCk6IENvbXBvbmVudFJlZjxhbnk+IHtcblxuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50Q2xhc3MpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcbiAgICAgICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudFJlZi5pbnN0YW5jZSwgb3B0aW9ucyk7XG4gICAgICAgIC8vXG4gICAgICAgIGNvbnN0IGRvbUVsZW0gPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbXBvbmVudFJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGxvY2F0aW9uKSB7XG4gICAgICAgICAgICBsb2NhdGlvbi5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG4gICAgICAgIH1cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICB9XG5cbiAgICBmaW5kTG9hZGVkQ29tcG9uZW50QnlSb3V0ZShwYXRoOiBzdHJpbmcsIHRpbWVvdXRUaW1lOiBudW1iZXIgPSAxMCk6IFByb21pc2U8Um91dGU+IHtcbiAgICAgICAgY29uc3QgZGVsYXkgPSAyMDA7XG4gICAgICAgIGNvbnN0IGxvb3AgPSB0aW1lb3V0VGltZSAqIDEwMDAgLyBkZWxheTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGxldCBmb3VuZDogUm91dGUgPSBudWxsO1xuICAgICAgICAgICAgbGV0IHByZWxvYWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IHRoZUxvb3AgPSAoaSkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IGF3YWl0IHRoaXMuX2ZpbmRMb2FkZWRDb21wb25lbnRCeVJvdXRlKHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoLS1pICYmIGZvdW5kID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJlbG9hZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW9kdWxlUHJlbG9hZFNlcnZpY2Uuc3RhcnRQcmVsb2FkKHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWxvYWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhlTG9vcChpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChmb3VuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShmb3VuZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIGRlbGF5KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGVMb29wKGxvb3ApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9maW5kTG9hZGVkQ29tcG9uZW50QnlSb3V0ZShzZWFyY2gpIHtcblxuICAgICAgICBsZXQgZm91bmQ6IFJvdXRlID0gbnVsbDtcbiAgICAgICAgY29uc3QgZiA9IChjaGlsZHJlbiwgcGFyZW50UGF0aCkgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCBwIGluIGNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuLmhhc093blByb3BlcnR5KHApKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvdXRlID0gY2hpbGRyZW5bcF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBwID0gKHJvdXRlLnBhdGggIT0gJycgJiYgcm91dGUucGF0aCAhPSBudWxsKSA/IHBhcmVudFBhdGggKyAnLycgKyByb3V0ZS5wYXRoIDogcGFyZW50UGF0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBwID09IHNlYXJjaCAmJiAhcm91dGUuX2xvYWRlZENvbmZpZyAmJiByb3V0ZS5jb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gcm91dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocm91dGUuX2xvYWRlZENvbmZpZyB8fCByb3V0ZS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZihyb3V0ZS5jaGlsZHJlbiB8fCByb3V0ZS5fbG9hZGVkQ29uZmlnLnJvdXRlcywgcHApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGZvciAoY29uc3QgcCBpbiB0aGlzLnJvdXRlci5jb25maWcpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJvdXRlci5jb25maWcuaGFzT3duUHJvcGVydHkocCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByb3V0ZSA9IHRoaXMucm91dGVyLmNvbmZpZ1twXTtcbiAgICAgICAgICAgICAgICBpZiAocm91dGUucGF0aCA9PT0gc2VhcmNoICYmIHJvdXRlLmNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHJvdXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyb3V0ZVsnX2xvYWRlZENvbmZpZyddIHx8IHJvdXRlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGYocm91dGUuY2hpbGRyZW4gfHwgcm91dGVbJ19sb2FkZWRDb25maWcnXS5yb3V0ZXMsIHJvdXRlLnBhdGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoZm91bmQpXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { AXRenderService } from './render.service';
3
+ import { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';
4
+ import * as i0 from "@angular/core";
5
+ // @dynamic
6
+ export function getOnDemandPreloadServiceFactory() {
7
+ return new AXOnDemandPreloadService();
8
+ }
9
+ export class AXRenderingModule {
10
+ }
11
+ AXRenderingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXRenderingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ AXRenderingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXRenderingModule });
13
+ AXRenderingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXRenderingModule, providers: [
14
+ {
15
+ provide: AXOnDemandPreloadService,
16
+ useFactory: getOnDemandPreloadServiceFactory
17
+ },
18
+ AXRenderService
19
+ ], imports: [[]] });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXRenderingModule, decorators: [{
21
+ type: NgModule,
22
+ args: [{
23
+ imports: [],
24
+ exports: [],
25
+ declarations: [],
26
+ providers: [
27
+ {
28
+ provide: AXOnDemandPreloadService,
29
+ useFactory: getOnDemandPreloadServiceFactory
30
+ },
31
+ AXRenderService
32
+ ],
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3NyYy9saWIvdXRpbHMvcmVuZGVyL3JlbmRlcmluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBR2hGLFdBQVc7QUFDWCxNQUFNLFVBQVUsZ0NBQWdDO0lBQzVDLE9BQU8sSUFBSSx3QkFBd0IsRUFBRSxDQUFDO0FBQzFDLENBQUM7QUFjRCxNQUFNLE9BQU8saUJBQWlCOzsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixhQVJmO1FBQ1A7WUFDSSxPQUFPLEVBQUUsd0JBQXdCO1lBQ2pDLFVBQVUsRUFBRSxnQ0FBZ0M7U0FDL0M7UUFDRCxlQUFlO0tBQ2xCLFlBVFEsRUFBRTs0RkFXRixpQkFBaUI7a0JBWjdCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsd0JBQXdCOzRCQUNqQyxVQUFVLEVBQUUsZ0NBQWdDO3lCQUMvQzt3QkFDRCxlQUFlO3FCQUNsQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFJlbmRlclNlcnZpY2UgfSBmcm9tICcuL3JlbmRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFYT25EZW1hbmRQcmVsb2FkU2VydmljZSB9IGZyb20gJy4vb24tZGVtYW5kLXByZWxvYWQtc3RyYXRlZ3kuc2VydmljZSc7XG5cblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBmdW5jdGlvbiBnZXRPbkRlbWFuZFByZWxvYWRTZXJ2aWNlRmFjdG9yeSgpIHtcbiAgICByZXR1cm4gbmV3IEFYT25EZW1hbmRQcmVsb2FkU2VydmljZSgpO1xufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtdLFxuICAgIGV4cG9ydHM6IFtdLFxuICAgIGRlY2xhcmF0aW9uczogW10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFYT25EZW1hbmRQcmVsb2FkU2VydmljZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGdldE9uRGVtYW5kUHJlbG9hZFNlcnZpY2VGYWN0b3J5XG4gICAgICAgIH0sXG4gICAgICAgIEFYUmVuZGVyU2VydmljZVxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUmVuZGVyaW5nTW9kdWxlIHtcblxufVxuIl19
@@ -0,0 +1,54 @@
1
+ import { Directive, HostListener, Input } from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class AXHorizontalScrollDirective {
5
+ constructor(el) {
6
+ this.el = el;
7
+ this.scrollValue = 40;
8
+ }
9
+ onMouseWheel(e) {
10
+ const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));
11
+ this.el.nativeElement.scrollLeft -= delta * this.scrollValue;
12
+ }
13
+ }
14
+ AXHorizontalScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXHorizontalScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
15
+ AXHorizontalScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: AXHorizontalScrollDirective, selector: "[horizontalScroll]", inputs: { scrollValue: ["horizontalScroll", "scrollValue"] }, host: { listeners: { "wheel": "onMouseWheel($event)" } }, ngImport: i0 });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXHorizontalScrollDirective, decorators: [{
17
+ type: Directive,
18
+ args: [{
19
+ // tslint:disable-next-line: directive-selector
20
+ selector: '[horizontalScroll]'
21
+ }]
22
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { scrollValue: [{
23
+ type: Input,
24
+ args: ['horizontalScroll']
25
+ }], onMouseWheel: [{
26
+ type: HostListener,
27
+ args: ['wheel', ['$event']]
28
+ }] } });
29
+ export class AXVerticalScrollDirective {
30
+ constructor(el) {
31
+ this.el = el;
32
+ this.scrollValue = 40;
33
+ }
34
+ onMouseWheel(e) {
35
+ const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));
36
+ this.el.nativeElement.scrollTop -= delta * this.scrollValue;
37
+ }
38
+ }
39
+ AXVerticalScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXVerticalScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
40
+ AXVerticalScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: AXVerticalScrollDirective, selector: "[verticalScroll]", inputs: { scrollValue: ["verticalScroll", "scrollValue"] }, host: { listeners: { "wheel": "onMouseWheel($event)" } }, ngImport: i0 });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXVerticalScrollDirective, decorators: [{
42
+ type: Directive,
43
+ args: [{
44
+ // tslint:disable-next-line: directive-selector
45
+ selector: '[verticalScroll]'
46
+ }]
47
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { scrollValue: [{
48
+ type: Input,
49
+ args: ['verticalScroll']
50
+ }], onMouseWheel: [{
51
+ type: HostListener,
52
+ args: ['wheel', ['$event']]
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3NyYy9saWIvdXRpbHMvc2Nyb2xsL3Njcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFBb0IsRUFBMkI7UUFBM0IsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFHL0MsZ0JBQVcsR0FBRyxFQUFFLENBQUM7SUFIa0MsQ0FBQztJQU1wRCxZQUFZLENBQUMsQ0FBQztRQUNaLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMvRCxDQUFDOzt5SEFWVSwyQkFBMkI7NkdBQTNCLDJCQUEyQjs0RkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNULCtDQUErQztvQkFDL0MsUUFBUSxFQUFFLG9CQUFvQjtpQkFDL0I7aUdBS0MsV0FBVztzQkFEVixLQUFLO3VCQUFDLGtCQUFrQjtnQkFJekIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzs7QUFVbkMsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUFvQixFQUEyQjtRQUEzQixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUcvQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztJQUhrQyxDQUFDO0lBTXBELFlBQVksQ0FBQyxDQUFDO1FBQ1osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzlELENBQUM7O3VIQVZVLHlCQUF5QjsyR0FBekIseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsK0NBQStDO29CQUMvQyxRQUFRLEVBQUUsa0JBQWtCO2lCQUM3QjtpR0FLQyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUl2QixZQUFZO3NCQURYLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tob3Jpem9udGFsU2Nyb2xsXSdcbn0pXG5leHBvcnQgY2xhc3MgQVhIb3Jpem9udGFsU2Nyb2xsRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHsgfVxuXG4gIEBJbnB1dCgnaG9yaXpvbnRhbFNjcm9sbCcpXG4gIHNjcm9sbFZhbHVlID0gNDA7XG5cbiAgQEhvc3RMaXN0ZW5lcignd2hlZWwnLCBbJyRldmVudCddKVxuICBvbk1vdXNlV2hlZWwoZSkge1xuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoLTEsIE1hdGgubWluKDEsIGUud2hlZWxEZWx0YSB8fCAtZS5kZXRhaWwpKTtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtPSBkZWx0YSAqIHRoaXMuc2Nyb2xsVmFsdWU7XG4gIH1cbn1cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1t2ZXJ0aWNhbFNjcm9sbF0nXG59KVxuZXhwb3J0IGNsYXNzIEFYVmVydGljYWxTY3JvbGxEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PikgeyB9XG5cbiAgQElucHV0KCd2ZXJ0aWNhbFNjcm9sbCcpXG4gIHNjcm9sbFZhbHVlID0gNDA7XG5cbiAgQEhvc3RMaXN0ZW5lcignd2hlZWwnLCBbJyRldmVudCddKVxuICBvbk1vdXNlV2hlZWwoZSkge1xuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoLTEsIE1hdGgubWluKDEsIGUud2hlZWxEZWx0YSB8fCAtZS5kZXRhaWwpKTtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wIC09IGRlbHRhICogdGhpcy5zY3JvbGxWYWx1ZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXHorizontalScrollDirective, AXVerticalScrollDirective } from './scroll.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class AXScrollModule {
6
+ }
7
+ AXScrollModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ AXScrollModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXScrollModule, declarations: [AXHorizontalScrollDirective, AXVerticalScrollDirective], imports: [CommonModule], exports: [AXHorizontalScrollDirective, AXVerticalScrollDirective] });
9
+ AXScrollModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXScrollModule, providers: [], imports: [[CommonModule]] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXScrollModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [AXHorizontalScrollDirective, AXVerticalScrollDirective],
14
+ imports: [CommonModule],
15
+ exports: [AXHorizontalScrollDirective, AXVerticalScrollDirective],
16
+ providers: []
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3NyYy9saWIvdXRpbHMvc2Nyb2xsL3Njcm9sbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBUTVGLE1BQU0sT0FBTyxjQUFjOzs0R0FBZCxjQUFjOzZHQUFkLGNBQWMsaUJBTFYsMkJBQTJCLEVBQUUseUJBQXlCLGFBQzNELFlBQVksYUFDWiwyQkFBMkIsRUFBRSx5QkFBeUI7NkdBR3JELGNBQWMsYUFGZCxFQUFFLFlBRkosQ0FBQyxZQUFZLENBQUM7NEZBSVosY0FBYztrQkFOMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSx5QkFBeUIsQ0FBQztvQkFDdEUsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSx5QkFBeUIsQ0FBQztvQkFDakUsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFYSG9yaXpvbnRhbFNjcm9sbERpcmVjdGl2ZSwgQVhWZXJ0aWNhbFNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4vc2Nyb2xsLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0FYSG9yaXpvbnRhbFNjcm9sbERpcmVjdGl2ZSwgQVhWZXJ0aWNhbFNjcm9sbERpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbQVhIb3Jpem9udGFsU2Nyb2xsRGlyZWN0aXZlLCBBWFZlcnRpY2FsU2Nyb2xsRGlyZWN0aXZlXSxcbiAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBBWFNjcm9sbE1vZHVsZSB7IH1cbiJdfQ==