@acorex/core 3.0.4 → 5.0.1

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 (175) hide show
  1. package/README.md +23 -2
  2. package/acorex-core.d.ts +1 -0
  3. package/bundles/acorex-core.umd.js +609 -2248
  4. package/bundles/acorex-core.umd.js.map +1 -1
  5. package/esm2015/acorex-core.js +1 -1
  6. package/esm2015/lib/config/configs.js +29 -0
  7. package/esm2015/lib/core.module.js +18 -24
  8. package/esm2015/lib/dateTime/datetime.class.js +236 -0
  9. package/esm2015/lib/dateTime/datetime.module.js +18 -0
  10. package/esm2015/lib/dateTime/datetime.pipe.js +25 -0
  11. package/esm2015/lib/dateTime/georgian.calendar.js +145 -0
  12. package/esm2015/lib/dateTime/index.js +5 -0
  13. package/esm2015/lib/platform/index.js +2 -0
  14. package/esm2015/lib/platform/platform.service.js +119 -0
  15. package/esm2015/lib/translation/index.js +4 -0
  16. package/esm2015/lib/translation/translation.module.js +18 -0
  17. package/esm2015/lib/translation/translator.js +26 -0
  18. package/esm2015/lib/translation/translator.pipe.js +15 -0
  19. package/esm2015/lib/utils/index.js +3 -0
  20. package/esm2015/lib/utils/object-util.js +83 -0
  21. package/esm2015/lib/utils/safe.pipe.js +30 -0
  22. package/esm2015/public-api.js +10 -35
  23. package/fesm2015/acorex-core.js +533 -1839
  24. package/fesm2015/acorex-core.js.map +1 -1
  25. package/lib/{services/config.d.ts → config/configs.d.ts} +1 -1
  26. package/lib/core.module.d.ts +5 -0
  27. package/lib/dateTime/datetime.class.d.ts +96 -0
  28. package/lib/dateTime/datetime.module.d.ts +7 -0
  29. package/lib/dateTime/datetime.pipe.d.ts +8 -0
  30. package/lib/dateTime/georgian.calendar.d.ts +17 -0
  31. package/lib/dateTime/index.d.ts +4 -0
  32. package/lib/platform/index.d.ts +1 -0
  33. package/lib/platform/platform.service.d.ts +22 -0
  34. package/lib/translation/index.d.ts +3 -0
  35. package/lib/translation/translation.module.d.ts +7 -0
  36. package/lib/{translator → translation}/translator.d.ts +0 -0
  37. package/lib/translation/translator.pipe.d.ts +7 -0
  38. package/lib/utils/index.d.ts +2 -0
  39. package/lib/utils/object-util.d.ts +7 -0
  40. package/lib/utils/safe.pipe.d.ts +10 -0
  41. package/package.json +7 -11
  42. package/public-api.d.ts +9 -41
  43. package/acorex-core.metadata.json +0 -1
  44. package/bundles/acorex-core.umd.min.js +0 -17
  45. package/bundles/acorex-core.umd.min.js.map +0 -1
  46. package/esm2015/lib/classes/base-page.class.js +0 -21
  47. package/esm2015/lib/classes/color.class.js +0 -49
  48. package/esm2015/lib/classes/datetime.class.js +0 -314
  49. package/esm2015/lib/classes/menu.class.js +0 -27
  50. package/esm2015/lib/classes/navigator.class.js +0 -1
  51. package/esm2015/lib/classes/popup.class.js +0 -1
  52. package/esm2015/lib/classes/promise.class.js +0 -19
  53. package/esm2015/lib/classes/sectionlist.class.js +0 -1
  54. package/esm2015/lib/classes/select.class.js +0 -3
  55. package/esm2015/lib/error/error.class.js +0 -1
  56. package/esm2015/lib/error/error.module.js +0 -16
  57. package/esm2015/lib/error/error.service.js +0 -25
  58. package/esm2015/lib/events/keyboard.js +0 -1
  59. package/esm2015/lib/http/http-error.class.js +0 -1
  60. package/esm2015/lib/http/http-events.interceptor.js +0 -3
  61. package/esm2015/lib/http/http-request.class.js +0 -1
  62. package/esm2015/lib/http/http-result.class.js +0 -21
  63. package/esm2015/lib/http/http.module.js +0 -29
  64. package/esm2015/lib/http/http.service.js +0 -149
  65. package/esm2015/lib/locale/en.json +0 -249
  66. package/esm2015/lib/locale/fa.json +0 -238
  67. package/esm2015/lib/pipe/datetime.pipe.js +0 -24
  68. package/esm2015/lib/pipe/htmlToText.pipe.js +0 -23
  69. package/esm2015/lib/services/config.js +0 -29
  70. package/esm2015/lib/services/event.service.js +0 -36
  71. package/esm2015/lib/services/navigator.service.js +0 -9
  72. package/esm2015/lib/services/storage.service.js +0 -15
  73. package/esm2015/lib/translator/translator.js +0 -26
  74. package/esm2015/lib/translator/translator.module.js +0 -23
  75. package/esm2015/lib/translator/translator.pipe.js +0 -23
  76. package/esm2015/lib/translator/translator.service.js +0 -21
  77. package/esm2015/lib/utils/array/array-util.js +0 -133
  78. package/esm2015/lib/utils/html/html-util.js +0 -192
  79. package/esm2015/lib/utils/html/html.module.js +0 -16
  80. package/esm2015/lib/utils/math/math-util.js +0 -6
  81. package/esm2015/lib/utils/object/object-util.js +0 -83
  82. package/esm2015/lib/utils/render/on-demand-preload-strategy.service.js +0 -21
  83. package/esm2015/lib/utils/render/render.service.js +0 -112
  84. package/esm2015/lib/utils/render/rendering.module.js +0 -26
  85. package/esm2015/lib/utils/scroll/scroll.directive.js +0 -66
  86. package/esm2015/lib/utils/scroll/scroll.module.js +0 -16
  87. package/esm2015/lib/utils/separator/separator.module.js +0 -16
  88. package/esm2015/lib/utils/separator/separator.pipe.js +0 -22
  89. package/esm5/acorex-core.js +0 -5
  90. package/esm5/lib/classes/base-page.class.js +0 -23
  91. package/esm5/lib/classes/color.class.js +0 -54
  92. package/esm5/lib/classes/datetime.class.js +0 -390
  93. package/esm5/lib/classes/menu.class.js +0 -42
  94. package/esm5/lib/classes/navigator.class.js +0 -1
  95. package/esm5/lib/classes/popup.class.js +0 -1
  96. package/esm5/lib/classes/promise.class.js +0 -22
  97. package/esm5/lib/classes/sectionlist.class.js +0 -1
  98. package/esm5/lib/classes/select.class.js +0 -7
  99. package/esm5/lib/core.module.js +0 -27
  100. package/esm5/lib/error/error.class.js +0 -1
  101. package/esm5/lib/error/error.module.js +0 -19
  102. package/esm5/lib/error/error.service.js +0 -26
  103. package/esm5/lib/events/keyboard.js +0 -1
  104. package/esm5/lib/http/http-error.class.js +0 -1
  105. package/esm5/lib/http/http-events.interceptor.js +0 -3
  106. package/esm5/lib/http/http-request.class.js +0 -1
  107. package/esm5/lib/http/http-result.class.js +0 -24
  108. package/esm5/lib/http/http.module.js +0 -33
  109. package/esm5/lib/http/http.service.js +0 -157
  110. package/esm5/lib/locale/en.json +0 -249
  111. package/esm5/lib/locale/fa.json +0 -238
  112. package/esm5/lib/pipe/datetime.pipe.js +0 -26
  113. package/esm5/lib/pipe/htmlToText.pipe.js +0 -26
  114. package/esm5/lib/services/config.js +0 -37
  115. package/esm5/lib/services/event.service.js +0 -37
  116. package/esm5/lib/services/navigator.service.js +0 -12
  117. package/esm5/lib/services/storage.service.js +0 -18
  118. package/esm5/lib/translator/translator.js +0 -34
  119. package/esm5/lib/translator/translator.module.js +0 -24
  120. package/esm5/lib/translator/translator.pipe.js +0 -25
  121. package/esm5/lib/translator/translator.service.js +0 -24
  122. package/esm5/lib/utils/array/array-util.js +0 -147
  123. package/esm5/lib/utils/html/html-util.js +0 -224
  124. package/esm5/lib/utils/html/html.module.js +0 -19
  125. package/esm5/lib/utils/math/math-util.js +0 -10
  126. package/esm5/lib/utils/object/object-util.js +0 -88
  127. package/esm5/lib/utils/render/on-demand-preload-strategy.service.js +0 -22
  128. package/esm5/lib/utils/render/render.service.js +0 -117
  129. package/esm5/lib/utils/render/rendering.module.js +0 -29
  130. package/esm5/lib/utils/scroll/scroll.directive.js +0 -68
  131. package/esm5/lib/utils/scroll/scroll.module.js +0 -19
  132. package/esm5/lib/utils/separator/separator.module.js +0 -19
  133. package/esm5/lib/utils/separator/separator.pipe.js +0 -25
  134. package/esm5/public-api.js +0 -36
  135. package/fesm5/acorex-core.js +0 -2274
  136. package/fesm5/acorex-core.js.map +0 -1
  137. package/lib/classes/base-page.class.d.ts +0 -10
  138. package/lib/classes/color.class.d.ts +0 -17
  139. package/lib/classes/datetime.class.d.ts +0 -63
  140. package/lib/classes/menu.class.d.ts +0 -33
  141. package/lib/classes/navigator.class.d.ts +0 -5
  142. package/lib/classes/popup.class.d.ts +0 -12
  143. package/lib/classes/promise.class.d.ts +0 -7
  144. package/lib/classes/sectionlist.class.d.ts +0 -8
  145. package/lib/classes/select.class.d.ts +0 -7
  146. package/lib/error/error.class.d.ts +0 -4
  147. package/lib/error/error.module.d.ts +0 -2
  148. package/lib/error/error.service.d.ts +0 -10
  149. package/lib/events/keyboard.d.ts +0 -2
  150. package/lib/http/http-error.class.d.ts +0 -7
  151. package/lib/http/http-events.interceptor.d.ts +0 -10
  152. package/lib/http/http-request.class.d.ts +0 -14
  153. package/lib/http/http-result.class.d.ts +0 -11
  154. package/lib/http/http.module.d.ts +0 -4
  155. package/lib/http/http.service.d.ts +0 -20
  156. package/lib/pipe/datetime.pipe.d.ts +0 -5
  157. package/lib/pipe/htmlToText.pipe.d.ts +0 -4
  158. package/lib/services/event.service.d.ts +0 -6
  159. package/lib/services/navigator.service.d.ts +0 -5
  160. package/lib/services/storage.service.d.ts +0 -4
  161. package/lib/translator/translator.module.d.ts +0 -3
  162. package/lib/translator/translator.pipe.d.ts +0 -5
  163. package/lib/translator/translator.service.d.ts +0 -5
  164. package/lib/utils/array/array-util.d.ts +0 -6
  165. package/lib/utils/html/html-util.d.ts +0 -62
  166. package/lib/utils/html/html.module.d.ts +0 -2
  167. package/lib/utils/math/math-util.d.ts +0 -3
  168. package/lib/utils/object/object-util.d.ts +0 -7
  169. package/lib/utils/render/on-demand-preload-strategy.service.d.ts +0 -7
  170. package/lib/utils/render/render.service.d.ts +0 -14
  171. package/lib/utils/render/rendering.module.d.ts +0 -4
  172. package/lib/utils/scroll/scroll.directive.d.ts +0 -13
  173. package/lib/utils/scroll/scroll.module.d.ts +0 -2
  174. package/lib/utils/separator/separator.module.d.ts +0 -2
  175. package/lib/utils/separator/separator.pipe.d.ts +0 -4
@@ -1,147 +0,0 @@
1
- import { __read, __spread } from "tslib";
2
- import { AXFetchProp } from '../object/object-util';
3
- // @dynamic
4
- var AXArrayUtil = /** @class */ (function () {
5
- function AXArrayUtil() {
6
- }
7
- AXArrayUtil.pickRandom = function (array) {
8
- return array[Math.floor(Math.random() * array.length)];
9
- };
10
- AXArrayUtil.insert = function (array, index) {
11
- var rest = [];
12
- for (var _i = 2; _i < arguments.length; _i++) {
13
- rest[_i - 2] = arguments[_i];
14
- }
15
- array.splice.apply(array, [index, 0].concat(Array.prototype.slice.call(rest, 1)));
16
- return array;
17
- };
18
- AXArrayUtil.range = function (min, max) {
19
- return new Array(max - min).fill(1).map(function (d, i) { return i; });
20
- };
21
- AXArrayUtil.filter = function (array, filters) {
22
- if (filters == null || filters.length === 0) {
23
- return array;
24
- }
25
- var lamda = function (item) {
26
- var result = true;
27
- var _loop_1 = function (key) {
28
- if (filters.hasOwnProperty(key)) {
29
- var f = filters[key];
30
- if (f !== 'AND') {
31
- var vals = [];
32
- var mt = f.field.match(/\[\:(.*?)\]/);
33
- if (mt && mt.length > 1) {
34
- var p1 = f.field.replace(mt[0], '');
35
- var p2_1 = mt[1];
36
- var prop = AXFetchProp(item, p1);
37
- if (prop instanceof Array && prop.length) {
38
- vals.push.apply(vals, __spread(prop.map(function (m) { return (AXFetchProp(m, p2_1)); })));
39
- }
40
- else {
41
- result = false;
42
- }
43
- }
44
- else {
45
- vals.push(AXFetchProp(item, f.field));
46
- }
47
- for (var j in vals) {
48
- if (vals.hasOwnProperty(j)) {
49
- var v1 = vals[j];
50
- var v2 = f.value;
51
- if (f.dataType === 'string') {
52
- v1 = v1.toString();
53
- switch (f.condition) {
54
- case 'equal':
55
- result = (v1 && v2) && v1.toLowerCase() === v2.toLowerCase();
56
- break;
57
- case 'not-equal':
58
- result = !((v1 && v2) && v1.toLowerCase() === v2.toLowerCase());
59
- break;
60
- case 'contains':
61
- result = ((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));
62
- break;
63
- case 'not-contains':
64
- result = !((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));
65
- break;
66
- case 'start-with':
67
- result = ((v1 && v2) && (v1.toLowerCase().startsWith(v2.toLowerCase())));
68
- break;
69
- case 'end-with':
70
- result = ((v1 && v2) && (v1.toLowerCase().endsWith(v2.toLowerCase())));
71
- break;
72
- case 'is-empty':
73
- result = v1 == null || v1 === undefined;
74
- break;
75
- case 'is-not-empty':
76
- result = !(v1 == null || v1 === undefined);
77
- break;
78
- default:
79
- console.error('The condition is not defined');
80
- result = false;
81
- }
82
- }
83
- else if (f.dataType === 'date') {
84
- }
85
- else if (f.dataType === 'number') {
86
- v1 = Number(v1);
87
- switch (f.condition) {
88
- case 'equal':
89
- result = v1 === v2;
90
- break;
91
- case 'not-equal':
92
- result = v1 !== v2;
93
- break;
94
- case 'contains':
95
- result = v2 && v2 instanceof Array && v2.includes(v1);
96
- break;
97
- case 'less-than':
98
- result = v1 < v2;
99
- break;
100
- case 'less-than-equal':
101
- result = v1 <= v2;
102
- break;
103
- case 'greater-than':
104
- result = v1 > v2;
105
- break;
106
- case 'greater-than-equal':
107
- result = v1 >= v2;
108
- break;
109
- case 'is-empty':
110
- result = v1 == null || v1 === undefined;
111
- break;
112
- case 'is-not-empty':
113
- result = !(v1 == null || v1 === undefined);
114
- break;
115
- default:
116
- console.error('The condition is not defined');
117
- result = false;
118
- }
119
- }
120
- else {
121
- console.error('The datatype is not supported');
122
- result = false;
123
- }
124
- if (result) {
125
- break;
126
- }
127
- }
128
- }
129
- }
130
- if (!result) {
131
- return { value: false };
132
- }
133
- }
134
- };
135
- for (var key in filters) {
136
- var state_1 = _loop_1(key);
137
- if (typeof state_1 === "object")
138
- return state_1.value;
139
- }
140
- return true;
141
- };
142
- return array.filter(lamda);
143
- };
144
- return AXArrayUtil;
145
- }());
146
- export { AXArrayUtil };
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9hcnJheS9hcnJheS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsV0FBVztBQUNYO0lBQUE7SUFtSUEsQ0FBQztJQWhJVSxzQkFBVSxHQUFqQixVQUFrQixLQUFZO1FBQzFCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFHTSxrQkFBTSxHQUFiLFVBQWMsS0FBWSxFQUFFLEtBQUs7UUFBRSxjQUFPO2FBQVAsVUFBTyxFQUFQLHFCQUFPLEVBQVAsSUFBTztZQUFQLDZCQUFPOztRQUN0QyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTSxpQkFBSyxHQUFaLFVBQWEsR0FBVyxFQUFFLEdBQVc7UUFDakMsT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFDLENBQUMsRUFBRSxDQUFDLElBQUssT0FBQSxDQUFDLEVBQUQsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLGtCQUFNLEdBQWIsVUFBYyxLQUFZLEVBQUUsT0FBYztRQUN0QyxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLE1BQU0s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LEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVMLGtCQUFDO0FBQUQsQ0FBQyxBQW5JRCxJQW1JQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRmV0Y2hQcm9wIH0gZnJvbSAnLi4vb2JqZWN0L29iamVjdC11dGlsJztcclxuXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBBWEFycmF5VXRpbCB7XHJcblxyXG5cclxuICAgIHN0YXRpYyBwaWNrUmFuZG9tKGFycmF5OiBhbnlbXSk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIGFycmF5W01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGFycmF5Lmxlbmd0aCldO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgaW5zZXJ0KGFycmF5OiBhbnlbXSwgaW5kZXgsIC4uLnJlc3QpIHtcclxuICAgICAgICBhcnJheS5zcGxpY2UuYXBwbHkoYXJyYXksIFtpbmRleCwgMF0uY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHJlc3QsIDEpKSk7XHJcbiAgICAgICAgcmV0dXJuIGFycmF5O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyByYW5nZShtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXJbXSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBcnJheShtYXggLSBtaW4pLmZpbGwoMSkubWFwKChkLCBpKSA9PiBpKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZmlsdGVyKGFycmF5OiBhbnlbXSwgZmlsdGVyczogYW55W10pOiBhbnlbXSB7XHJcbiAgICAgICAgaWYgKGZpbHRlcnMgPT0gbnVsbCB8fCBmaWx0ZXJzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gYXJyYXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGxhbWRhID0gKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHRydWU7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGZpbHRlcnMpIHtcclxuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJzLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmID0gZmlsdGVyc1trZXldO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChmICE9PSAnQU5EJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWxzID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG10ID0gZi5maWVsZC5tYXRjaCgvXFxbXFw6KC4qPylcXF0vKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG10ICYmIG10Lmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHAxID0gZi5maWVsZC5yZXBsYWNlKG10WzBdLCAnJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwMiA9IG10WzFdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvcCA9IEFYRmV0Y2hQcm9wKGl0ZW0sIHAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9wIGluc3RhbmNlb2YgQXJyYXkgJiYgcHJvcC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxzLnB1c2goLi4ucHJvcC5tYXAobSA9PiAoQVhGZXRjaFByb3AobSwgcDIpKSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHMucHVzaChBWEZldGNoUHJvcChpdGVtLCBmLmZpZWxkKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBqIGluIHZhbHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWxzLmhhc093blByb3BlcnR5KGopKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHYxID0gdmFsc1tqXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2MiA9IGYudmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGYuZGF0YVR5cGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYxID0gdjEudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChmLmNvbmRpdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZXF1YWwnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICh2MSAmJiB2MikgJiYgdjEudG9Mb3dlckNhc2UoKSA9PT0gdjIudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ25vdC1lcXVhbCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gISgodjEgJiYgdjIpICYmIHYxLnRvTG93ZXJDYXNlKCkgPT09IHYyLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29udGFpbnMnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICgodjEgJiYgdjIpICYmICh2MS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHYyLnRvTG93ZXJDYXNlKCkpKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdub3QtY29udGFpbnMnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICEoKHYxICYmIHYyKSAmJiAodjEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh2Mi50b0xvd2VyQ2FzZSgpKSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnc3RhcnQtd2l0aCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gKCh2MSAmJiB2MikgJiYgKHYxLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCh2Mi50b0xvd2VyQ2FzZSgpKSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZW5kLXdpdGgnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICgodjEgJiYgdjIpICYmICh2MS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHYyLnRvTG93ZXJDYXNlKCkpKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdpcy1lbXB0eSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgPT0gbnVsbCB8fCB2MSA9PT0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnaXMtbm90LWVtcHR5JzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAhKHYxID09IG51bGwgfHwgdjEgPT09IHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZSBjb25kaXRpb24gaXMgbm90IGRlZmluZWQnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZi5kYXRhVHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChmLmRhdGFUeXBlID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2MSA9IE51bWJlcih2MSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZi5jb25kaXRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2VxdWFsJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB2MSA9PT0gdjI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdub3QtZXF1YWwnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHYxICE9PSB2MjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvbnRhaW5zJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB2MiAmJiB2MiBpbnN0YW5jZW9mIEFycmF5ICYmIHYyLmluY2x1ZGVzKHYxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2xlc3MtdGhhbic6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgPCB2MjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2xlc3MtdGhhbi1lcXVhbCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgPD0gdjI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdncmVhdGVyLXRoYW4nOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHYxID4gdjI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdncmVhdGVyLXRoYW4tZXF1YWwnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHYxID49IHYyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnaXMtZW1wdHknOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHYxID09IG51bGwgfHwgdjEgPT09IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2lzLW5vdC1lbXB0eSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gISh2MSA9PSBudWxsIHx8IHYxID09PSB1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdUaGUgY29uZGl0aW9uIGlzIG5vdCBkZWZpbmVkJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdUaGUgZGF0YXR5cGUgaXMgbm90IHN1cHBvcnRlZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBhcnJheS5maWx0ZXIobGFtZGEpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbiJdfQ==
@@ -1,224 +0,0 @@
1
- import { AXMathUtil } from '../math/math-util';
2
- var AXPoint = /** @class */ (function () {
3
- function AXPoint(x, y) {
4
- this.x = x;
5
- this.y = y;
6
- }
7
- return AXPoint;
8
- }());
9
- export { AXPoint };
10
- var AXClientRec = /** @class */ (function () {
11
- function AXClientRec(rec) {
12
- this._left = rec.left;
13
- this._top = rec.top;
14
- this._width = rec.width;
15
- this._height = rec.height;
16
- this._right = this._left + this._width;
17
- this._bottom = this._top + this._height;
18
- }
19
- Object.defineProperty(AXClientRec.prototype, "left", {
20
- get: function () {
21
- return this._left;
22
- },
23
- set: function (v) {
24
- this._left = v;
25
- },
26
- enumerable: true,
27
- configurable: true
28
- });
29
- Object.defineProperty(AXClientRec.prototype, "top", {
30
- get: function () {
31
- return this._top;
32
- },
33
- set: function (v) {
34
- this._top = v;
35
- },
36
- enumerable: true,
37
- configurable: true
38
- });
39
- Object.defineProperty(AXClientRec.prototype, "right", {
40
- get: function () {
41
- return this._right;
42
- },
43
- set: function (v) {
44
- this._right = v;
45
- },
46
- enumerable: true,
47
- configurable: true
48
- });
49
- Object.defineProperty(AXClientRec.prototype, "bottom", {
50
- get: function () {
51
- return this._bottom;
52
- },
53
- set: function (v) {
54
- this._bottom = v;
55
- },
56
- enumerable: true,
57
- configurable: true
58
- });
59
- Object.defineProperty(AXClientRec.prototype, "width", {
60
- get: function () {
61
- return this._width;
62
- },
63
- set: function (v) {
64
- this._width = v;
65
- },
66
- enumerable: true,
67
- configurable: true
68
- });
69
- Object.defineProperty(AXClientRec.prototype, "height", {
70
- get: function () {
71
- return this._height;
72
- },
73
- set: function (v) {
74
- this._height = v;
75
- },
76
- enumerable: true,
77
- configurable: true
78
- });
79
- AXClientRec.prototype.intersect = function (rec) {
80
- return (this.left < rec.left + rec.width &&
81
- this.left + this.width > rec.left &&
82
- this.top < rec.top + rec.height &&
83
- this.top + this.height > rec.top);
84
- };
85
- return AXClientRec;
86
- }());
87
- export { AXClientRec };
88
- // @dynamic
89
- var AXHtmlUtil = /** @class */ (function () {
90
- function AXHtmlUtil() {
91
- }
92
- AXHtmlUtil.getBoundingRectPoint = function (el, placement) {
93
- var rec = el.getBoundingClientRect();
94
- var width = el.offsetWidth;
95
- var height = el.offsetHeight;
96
- switch (placement) {
97
- case 'top-start':
98
- return new AXPoint(rec.left, rec.top);
99
- case 'top-middle':
100
- return new AXPoint(rec.left + (width / 2), rec.top);
101
- case 'top-end':
102
- return new AXPoint(rec.left + (width), rec.top);
103
- case 'center-end':
104
- return new AXPoint(rec.left + (width), rec.top + (height / 2));
105
- case 'bottom-end':
106
- return new AXPoint(rec.left + (width), rec.top + (height));
107
- case 'bottom-middle':
108
- return new AXPoint(rec.left + (width / 2), rec.top + (height));
109
- case 'bottom-start':
110
- return new AXPoint(rec.left, rec.top + (height));
111
- case 'center-start':
112
- return new AXPoint(rec.left, rec.top + (height / 2));
113
- default:
114
- return new AXPoint(rec.left + (width / 2), rec.top + (height));
115
- }
116
- };
117
- AXHtmlUtil.isInRecPoint = function (pos, rec) {
118
- return pos.x >= rec.left && pos.x <= (rec.left + rec.width) && pos.y >= rec.top && (pos.y <= (rec.top + rec.height));
119
- };
120
- // static isOverLap(rec1: AXClientRecCtor, rec2: AXClientRecCtor): boolean {
121
- // const r1: AXClientRec = new AXClientRec(rec1);
122
- // const r2: AXClientRec = new AXClientRec(rec2);
123
- // return ;
124
- // }
125
- AXHtmlUtil.isInElementBound = function (pos, element) {
126
- var elBound = element.getBoundingClientRect();
127
- return AXHtmlUtil.isInRecPoint(pos, {
128
- left: elBound.left,
129
- width: elBound.width,
130
- top: elBound.top,
131
- height: elBound.height
132
- });
133
- };
134
- AXHtmlUtil.getDimensions = function () {
135
- var winW = 630;
136
- var winH = 460;
137
- if (document.body && document.body.offsetWidth) {
138
- winW = document.body.offsetWidth;
139
- winH = document.body.offsetHeight;
140
- }
141
- if (document.compatMode === 'CSS1Compat' && document.documentElement && document.documentElement.offsetWidth) {
142
- winW = document.documentElement.offsetWidth;
143
- winH = document.documentElement.offsetHeight;
144
- }
145
- if (window.innerWidth && window.innerHeight) {
146
- winW = window.innerWidth;
147
- winH = window.innerHeight;
148
- }
149
- return { width: winW, height: winH };
150
- };
151
- AXHtmlUtil.getOffsetRight = function (elem) {
152
- var element = elem;
153
- var width = element.offsetWidth;
154
- var right = 0;
155
- while (element.offsetParent) {
156
- right += element.offsetLeft;
157
- element = element.offsetParent;
158
- }
159
- right += element.offsetLeft;
160
- right = AXHtmlUtil.getDimensions().width - right;
161
- right -= width;
162
- return right;
163
- };
164
- AXHtmlUtil.getUID = function () {
165
- return 'el-' + AXMathUtil.randomRange(1000000000, 9999999999).toString();
166
- };
167
- AXHtmlUtil.getRelatedPosition = function (source, placement, target, alignment) {
168
- var result = { x: 0, y: 0 };
169
- var sourcePos = AXHtmlUtil.getBoundingRectPoint(source, placement);
170
- var top = 0;
171
- var left = 0;
172
- switch (alignment) {
173
- case 'top-start':
174
- top = sourcePos.y;
175
- left = sourcePos.x;
176
- break;
177
- case 'top-middle':
178
- top = sourcePos.y;
179
- left = sourcePos.x - target.offsetWidth / 2;
180
- break;
181
- case 'top-end':
182
- top = sourcePos.y;
183
- left = sourcePos.x - target.offsetWidth;
184
- break;
185
- case 'center-end':
186
- top = sourcePos.y - target.offsetHeight / 2;
187
- left = sourcePos.x - target.offsetWidth;
188
- break;
189
- case 'bottom-end':
190
- top = sourcePos.y - target.offsetHeight;
191
- left = sourcePos.x - target.offsetWidth;
192
- break;
193
- case 'bottom-middle':
194
- top = sourcePos.y - target.offsetHeight;
195
- left = sourcePos.x - target.offsetWidth / 2;
196
- break;
197
- case 'bottom-start':
198
- top = sourcePos.y - target.offsetHeight;
199
- left = sourcePos.x;
200
- break;
201
- case 'center-start':
202
- top = sourcePos.y - target.offsetHeight / 2;
203
- left = sourcePos.x;
204
- break;
205
- }
206
- result.y = top;
207
- result.x = left;
208
- return result;
209
- };
210
- AXHtmlUtil.collision = function (a, b) {
211
- var ac = a.getBoundingClientRect();
212
- var bc = b.getBoundingClientRect();
213
- if (ac.left < bc.left + bc.width && ac.left + ac.width > bc.left &&
214
- ac.top < bc.top + bc.height && ac.top + ac.height > bc.top) {
215
- return true;
216
- }
217
- else {
218
- return false;
219
- }
220
- };
221
- return AXHtmlUtil;
222
- }());
223
- export { AXHtmlUtil };
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC11dGlsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb3JlLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2h0bWwvaHRtbC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQTJCL0M7SUFDRSxpQkFBbUIsQ0FBUyxFQUFTLENBQVM7UUFBM0IsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUFTLE1BQUMsR0FBRCxDQUFDLENBQVE7SUFDOUMsQ0FBQztJQUNILGNBQUM7QUFBRCxDQUFDLEFBSEQsSUFHQzs7QUFVRDtJQTBERSxxQkFBWSxHQUFvQjtRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDMUMsQ0FBQztJQTdERCxzQkFBVyw2QkFBSTthQUFmO1lBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUM7YUFDRCxVQUFnQixDQUFTO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLENBQUM7OztPQUhBO0lBT0Qsc0JBQVcsNEJBQUc7YUFBZDtZQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztRQUNuQixDQUFDO2FBQ0QsVUFBZSxDQUFTO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFD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QixVQUFpQixDQUFjLEVBQUUsQ0FBYztRQUM3QyxJQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNyQyxJQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUVyQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSTtZQUM5RCxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRTtZQUM1RCxPQUFPLElBQUksQ0FBQztTQUNiO2FBQ0k7WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVILGlCQUFDO0FBQUQsQ0FBQyxBQWxKRCxJQWtKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTWF0aFV0aWwgfSBmcm9tICcuLi9tYXRoL21hdGgtdXRpbCc7XHJcblxyXG5leHBvcnQgdHlwZSBBWFBsYWNlbWVudCA9XHJcbiAgfCAndG9wLXN0YXJ0J1xyXG4gIHwgJ3RvcC1taWRkbGUnXHJcbiAgfCAndG9wLWVuZCdcclxuICB8ICdjZW50ZXItc3RhcnQnXHJcbiAgfCAnY2VudGVyLWVuZCdcclxuICB8ICdib3R0b20tc3RhcnQnXHJcbiAgfCAnYm90dG9tLW1pZGRsZSdcclxuICB8ICdib3R0b20tZW5kJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhJUG9pbnQge1xyXG4gIHg6IG51bWJlcjtcclxuICB5OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhDb25uZWN0ZWRQb3NpdGlvbiB7XHJcbiAgb3JpZ2luWDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XHJcbiAgb3JpZ2luWTogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nO1xyXG4gIG92ZXJsYXlYOiAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJztcclxuICBvdmVybGF5WTogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nO1xyXG4gIHdlaWdodD86IG51bWJlcjtcclxuICBvZmZzZXRYPzogbnVtYmVyO1xyXG4gIG9mZnNldFk/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBvaW50IGltcGxlbWVudHMgQVhJUG9pbnQge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB4OiBudW1iZXIsIHB1YmxpYyB5OiBudW1iZXIpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhDbGllbnRSZWNDdG9yIHtcclxuICBsZWZ0PzogbnVtYmVyO1xyXG4gIHRvcD86IG51bWJlcjtcclxuICB3aWR0aD86IG51bWJlcjtcclxuICBoZWlnaHQ/OiBudW1iZXI7XHJcbiAgYm90dG9tPzogbnVtYmVyO1xyXG4gIHJpZ2h0PzogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBBWENsaWVudFJlYyBpbXBsZW1lbnRzIEFYQ2xpZW50UmVjQ3RvciB7XHJcblxyXG5cclxuICBwcml2YXRlIF9sZWZ0OiBudW1iZXI7XHJcbiAgcHVibGljIGdldCBsZWZ0KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGVmdDtcclxuICB9XHJcbiAgcHVibGljIHNldCBsZWZ0KHY6IG51bWJlcikge1xyXG4gICAgdGhpcy5fbGVmdCA9IHY7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBfdG9wOiBudW1iZXI7XHJcbiAgcHVibGljIGdldCB0b3AoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl90b3A7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgdG9wKHY6IG51bWJlcikge1xyXG4gICAgdGhpcy5fdG9wID0gdjtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9yaWdodDogbnVtYmVyO1xyXG4gIHB1YmxpYyBnZXQgcmlnaHQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9yaWdodDtcclxuICB9XHJcbiAgcHVibGljIHNldCByaWdodCh2OiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3JpZ2h0ID0gdjtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9ib3R0b206IG51bWJlcjtcclxuICBwdWJsaWMgZ2V0IGJvdHRvbSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2JvdHRvbTtcclxuICB9XHJcbiAgcHVibGljIHNldCBib3R0b20odjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9ib3R0b20gPSB2O1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBwcml2YXRlIF93aWR0aDogbnVtYmVyO1xyXG4gIHB1YmxpYyBnZXQgd2lkdGgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl93aWR0aDtcclxuICB9XHJcbiAgcHVibGljIHNldCB3aWR0aCh2OiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3dpZHRoID0gdjtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9oZWlnaHQ6IG51bWJlcjtcclxuICBwdWJsaWMgZ2V0IGhlaWdodCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hlaWdodDtcclxuICB9XHJcbiAgcHVibGljIHNldCBoZWlnaHQodjogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9oZWlnaHQgPSB2O1xyXG4gIH1cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlYzogQVhDbGllbnRSZWNDdG9yKSB7XHJcbiAgICB0aGlzLl9sZWZ0ID0gcmVjLmxlZnQ7XHJcbiAgICB0aGlzLl90b3AgPSByZWMudG9wO1xyXG4gICAgdGhpcy5fd2lkdGggPSByZWMud2lkdGg7XHJcbiAgICB0aGlzLl9oZWlnaHQgPSByZWMuaGVpZ2h0O1xyXG4gICAgdGhpcy5fcmlnaHQgPSB0aGlzLl9sZWZ0ICsgdGhpcy5fd2lkdGg7XHJcbiAgICB0aGlzLl9ib3R0b20gPSB0aGlzLl90b3AgKyB0aGlzLl9oZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW50ZXJzZWN0KHJlYzogQVhDbGllbnRSZWNDdG9yKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKHRoaXMubGVmdCA8IHJlYy5sZWZ0ICsgcmVjLndpZHRoICYmXHJcbiAgICAgIHRoaXMubGVmdCArIHRoaXMud2lkdGggPiByZWMubGVmdCAmJlxyXG4gICAgICB0aGlzLnRvcCA8IHJlYy50b3AgKyByZWMuaGVpZ2h0ICYmXHJcbiAgICAgIHRoaXMudG9wICsgdGhpcy5oZWlnaHQgPiByZWMudG9wKTtcclxuICB9XHJcblxyXG5cclxufVxyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgQVhIdG1sVXRpbCB7XHJcbiAgc3RhdGljIGdldEJvdW5kaW5nUmVjdFBvaW50KGVsOiBIVE1MRWxlbWVudCwgcGxhY2VtZW50OiBBWFBsYWNlbWVudCk6IEFYUG9pbnQge1xyXG4gICAgY29uc3QgcmVjID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCB3aWR0aCA9IGVsLm9mZnNldFdpZHRoO1xyXG4gICAgY29uc3QgaGVpZ2h0ID0gZWwub2Zmc2V0SGVpZ2h0O1xyXG4gICAgc3dpdGNoIChwbGFjZW1lbnQpIHtcclxuICAgICAgY2FzZSAndG9wLXN0YXJ0JzpcclxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQsIHJlYy50b3ApO1xyXG4gICAgICBjYXNlICd0b3AtbWlkZGxlJzpcclxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQgKyAod2lkdGggLyAyKSwgcmVjLnRvcCk7XHJcbiAgICAgIGNhc2UgJ3RvcC1lbmQnOlxyXG4gICAgICAgIHJldHVybiBuZXcgQVhQb2ludChyZWMubGVmdCArICh3aWR0aCksIHJlYy50b3ApO1xyXG4gICAgICBjYXNlICdjZW50ZXItZW5kJzpcclxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQgKyAod2lkdGgpLCByZWMudG9wICsgKGhlaWdodCAvIDIpKTtcclxuICAgICAgY2FzZSAnYm90dG9tLWVuZCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoKSwgcmVjLnRvcCArIChoZWlnaHQpKTtcclxuICAgICAgY2FzZSAnYm90dG9tLW1pZGRsZSc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoIC8gMiksIHJlYy50b3AgKyAoaGVpZ2h0KSk7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0LCByZWMudG9wICsgKGhlaWdodCkpO1xyXG4gICAgICBjYXNlICdjZW50ZXItc3RhcnQnOlxyXG4gICAgICAgIHJldHVybiBuZXcgQVhQb2ludChyZWMubGVmdCwgcmVjLnRvcCArIChoZWlnaHQgLyAyKSk7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoIC8gMiksIHJlYy50b3AgKyAoaGVpZ2h0KSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNJblJlY1BvaW50KHBvczogQVhJUG9pbnQsIHJlYzogQVhDbGllbnRSZWNDdG9yKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gcG9zLnggPj0gcmVjLmxlZnQgJiYgcG9zLnggPD0gKHJlYy5sZWZ0ICsgcmVjLndpZHRoKSAmJiBwb3MueSA+PSByZWMudG9wICYmIChwb3MueSA8PSAocmVjLnRvcCArIHJlYy5oZWlnaHQpKTtcclxuICB9XHJcblxyXG4gIC8vIHN0YXRpYyBpc092ZXJMYXAocmVjMTogQVhDbGllbnRSZWNDdG9yLCByZWMyOiBBWENsaWVudFJlY0N0b3IpOiBib29sZWFuIHtcclxuICAvLyAgIGNvbnN0IHIxOiBBWENsaWVudFJlYyA9IG5ldyBBWENsaWVudFJlYyhyZWMxKTtcclxuICAvLyAgIGNvbnN0IHIyOiBBWENsaWVudFJlYyA9IG5ldyBBWENsaWVudFJlYyhyZWMyKTtcclxuXHJcbiAgLy8gICByZXR1cm4gO1xyXG4gIC8vIH1cclxuXHJcbiAgc3RhdGljIGlzSW5FbGVtZW50Qm91bmQocG9zOiBBWElQb2ludCwgZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGVsQm91bmQgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgcmV0dXJuIEFYSHRtbFV0aWwuaXNJblJlY1BvaW50KHBvcywge1xyXG4gICAgICBsZWZ0OiBlbEJvdW5kLmxlZnQsXHJcbiAgICAgIHdpZHRoOiBlbEJvdW5kLndpZHRoLFxyXG4gICAgICB0b3A6IGVsQm91bmQudG9wLFxyXG4gICAgICBoZWlnaHQ6IGVsQm91bmQuaGVpZ2h0XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXREaW1lbnNpb25zKCk6IHsgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIgfSB7XHJcbiAgICBsZXQgd2luVyA9IDYzMDtcclxuICAgIGxldCB3aW5IID0gNDYwO1xyXG4gICAgaWYgKGRvY3VtZW50LmJvZHkgJiYgZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCkge1xyXG4gICAgICB3aW5XID0gZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDtcclxuICAgICAgd2luSCA9IGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgaWYgKGRvY3VtZW50LmNvbXBhdE1vZGUgPT09ICdDU1MxQ29tcGF0JyAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNldFdpZHRoKSB7XHJcbiAgICAgIHdpblcgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICAgIHdpbkggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoICYmIHdpbmRvdy5pbm5lckhlaWdodCkge1xyXG4gICAgICB3aW5XID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICAgIHdpbkggPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4geyB3aWR0aDogd2luVywgaGVpZ2h0OiB3aW5IIH07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0T2Zmc2V0UmlnaHQoZWxlbTogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xyXG4gICAgbGV0IGVsZW1lbnQgPSBlbGVtO1xyXG4gICAgY29uc3Qgd2lkdGggPSBlbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgbGV0IHJpZ2h0ID0gMDtcclxuICAgIHdoaWxlIChlbGVtZW50Lm9mZnNldFBhcmVudCkge1xyXG4gICAgICByaWdodCArPSBlbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICAgIGVsZW1lbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgIH1cclxuICAgIHJpZ2h0ICs9IGVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIHJpZ2h0ID0gQVhIdG1sVXRpbC5nZXREaW1lbnNpb25zKCkud2lkdGggLSByaWdodDtcclxuICAgIHJpZ2h0IC09IHdpZHRoO1xyXG4gICAgcmV0dXJuIHJpZ2h0O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldFVJRCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICdlbC0nICsgQVhNYXRoVXRpbC5yYW5kb21SYW5nZSgxMDAwMDAwMDAwLCA5OTk5OTk5OTk5KS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcblxyXG4gIHN0YXRpYyBnZXRSZWxhdGVkUG9zaXRpb24oc291cmNlOiBIVE1MRWxlbWVudCwgcGxhY2VtZW50OiBBWFBsYWNlbWVudCwgdGFyZ2V0OiBIVE1MRWxlbWVudCwgYWxpZ25tZW50OiBBWFBsYWNlbWVudCk6IEFYSVBvaW50IHtcclxuICAgIGNvbnN0IHJlc3VsdDogQVhJUG9pbnQgPSB7IHg6IDAsIHk6IDAgfTtcclxuXHJcbiAgICBjb25zdCBzb3VyY2VQb3M6IEFYUG9pbnQgPSBBWEh0bWxVdGlsLmdldEJvdW5kaW5nUmVjdFBvaW50KHNvdXJjZSwgcGxhY2VtZW50KTtcclxuXHJcblxyXG4gICAgbGV0IHRvcDogbnVtYmVyID0gMDtcclxuICAgIGxldCBsZWZ0OiBudW1iZXIgPSAwO1xyXG4gICAgc3dpdGNoIChhbGlnbm1lbnQpIHtcclxuICAgICAgY2FzZSAndG9wLXN0YXJ0JzpcclxuICAgICAgICB0b3AgPSBzb3VyY2VQb3MueTtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLng7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RvcC1taWRkbGUnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55O1xyXG4gICAgICAgIGxlZnQgPSBzb3VyY2VQb3MueCAtIHRhcmdldC5vZmZzZXRXaWR0aCAvIDI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RvcC1lbmQnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55O1xyXG4gICAgICAgIGxlZnQgPSBzb3VyY2VQb3MueCAtIHRhcmdldC5vZmZzZXRXaWR0aDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2VudGVyLWVuZCc6XHJcbiAgICAgICAgdG9wID0gc291cmNlUG9zLnkgLSB0YXJnZXQub2Zmc2V0SGVpZ2h0IC8gMjtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLnggLSB0YXJnZXQub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1lbmQnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55IC0gdGFyZ2V0Lm9mZnNldEhlaWdodDtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLnggLSB0YXJnZXQub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1taWRkbGUnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55IC0gdGFyZ2V0Lm9mZnNldEhlaWdodDtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLnggLSB0YXJnZXQub2Zmc2V0V2lkdGggLyAyO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20tc3RhcnQnOlxyXG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55IC0gdGFyZ2V0Lm9mZnNldEhlaWdodDtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLng7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NlbnRlci1zdGFydCc6XHJcbiAgICAgICAgdG9wID0gc291cmNlUG9zLnkgLSB0YXJnZXQub2Zmc2V0SGVpZ2h0IC8gMjtcclxuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLng7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXN1bHQueSA9IHRvcDtcclxuICAgIHJlc3VsdC54ID0gbGVmdDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhdGljIGNvbGxpc2lvbihhOiBIVE1MRWxlbWVudCwgYjogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGFjID0gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IGJjID0gYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICBpZiAoYWMubGVmdCA8IGJjLmxlZnQgKyBiYy53aWR0aCAmJiBhYy5sZWZ0ICsgYWMud2lkdGggPiBiYy5sZWZ0ICYmXHJcbiAgICAgIGFjLnRvcCA8IGJjLnRvcCArIGJjLmhlaWdodCAmJiBhYy50b3AgKyBhYy5oZWlnaHQgPiBiYy50b3ApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,19 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import { AXHtmlToTextPipe } from '../../pipe/htmlToText.pipe';
5
- var AXHtmlModule = /** @class */ (function () {
6
- function AXHtmlModule() {
7
- }
8
- AXHtmlModule = __decorate([
9
- NgModule({
10
- declarations: [AXHtmlToTextPipe],
11
- imports: [CommonModule],
12
- exports: [AXHtmlToTextPipe],
13
- providers: []
14
- })
15
- ], AXHtmlModule);
16
- return AXHtmlModule;
17
- }());
18
- export { AXHtmlModule };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvcmV4L2NvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvaHRtbC9odG1sLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFROUQ7SUFBQTtJQUE0QixDQUFDO0lBQWhCLFlBQVk7UUFOeEIsUUFBUSxDQUFDO1lBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7WUFDaEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO1lBQ3ZCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO1lBQzNCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztPQUNXLFlBQVksQ0FBSTtJQUFELG1CQUFDO0NBQUEsQUFBN0IsSUFBNkI7U0FBaEIsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYSHRtbFRvVGV4dFBpcGUgfSBmcm9tICcuLi8uLi9waXBlL2h0bWxUb1RleHQucGlwZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0FYSHRtbFRvVGV4dFBpcGVdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtBWEh0bWxUb1RleHRQaXBlXSxcclxuICBwcm92aWRlcnM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWEh0bWxNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -1,10 +0,0 @@
1
- var AXMathUtil = /** @class */ (function () {
2
- function AXMathUtil() {
3
- }
4
- AXMathUtil.randomRange = function (min, max) {
5
- return Math.floor(Math.random() * (max - min + 1) + min);
6
- };
7
- return AXMathUtil;
8
- }());
9
- export { AXMathUtil };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC11dGlsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3JleC9jb3JlLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL21hdGgvbWF0aC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQUE7SUFJQSxDQUFDO0lBSFUsc0JBQVcsR0FBbEIsVUFBbUIsR0FBVyxFQUFFLEdBQVc7UUFDdkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNMLGlCQUFDO0FBQUQsQ0FBQyxBQUpELElBSUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQVhNYXRoVXRpbCB7XHJcbiAgICBzdGF0aWMgcmFuZG9tUmFuZ2UobWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKG1heCAtIG1pbiArIDEpICsgbWluKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,88 +0,0 @@
1
- // @dynamic
2
- var AXObjectUtil = /** @class */ (function () {
3
- function AXObjectUtil() {
4
- }
5
- AXObjectUtil.deepJSONClone = function (obj) {
6
- return obj ? JSON.parse(JSON.stringify(obj)) : null;
7
- };
8
- AXObjectUtil.deepCopy = function (obj) {
9
- var copy;
10
- // Handle the 3 simple types, and null or undefined
11
- if (null == obj || 'object' !== typeof obj) {
12
- return obj;
13
- }
14
- // Handle Date
15
- if (obj instanceof Date) {
16
- copy = new Date();
17
- copy.setTime(obj.getTime());
18
- return copy;
19
- }
20
- // Handle Array
21
- if (obj instanceof Array) {
22
- copy = [];
23
- for (var i = 0, len = obj.length; i < len; i++) {
24
- copy[i] = AXObjectUtil.deepCopy(obj[i]);
25
- }
26
- return copy;
27
- }
28
- // Handle Object
29
- if (obj instanceof Object) {
30
- copy = {};
31
- for (var attr in obj) {
32
- if (obj.hasOwnProperty(attr)) {
33
- copy[attr] = AXObjectUtil.deepCopy(obj[attr]);
34
- }
35
- }
36
- return copy;
37
- }
38
- throw new Error('Unable to copy obj! Its type isn\'t supported.');
39
- };
40
- return AXObjectUtil;
41
- }());
42
- export { AXObjectUtil };
43
- export function AXFetchProp(obj, prop) {
44
- if (typeof obj === 'undefined') {
45
- return false;
46
- }
47
- var index = prop.indexOf('.');
48
- if (index > -1) {
49
- return AXFetchProp(obj[prop.substring(0, index)], prop.substr(index + 1));
50
- }
51
- return obj[prop];
52
- }
53
- export function getPropByPath(obj, path, defaultVal) {
54
- path = path
55
- .replace(/\[/g, '.')
56
- .replace(/]/g, '')
57
- .split('.');
58
- path.forEach(function (level) {
59
- if (obj) {
60
- obj = obj[level];
61
- }
62
- });
63
- if (obj === undefined) {
64
- return defaultVal;
65
- }
66
- return obj;
67
- }
68
- export function setPropByPath(obj, path, value) {
69
- if (Object(obj) !== obj) {
70
- return obj;
71
- } // When obj is not an object
72
- // If not yet an array, get the keys from the string-path
73
- if (!Array.isArray(path)) {
74
- path = path.toString().match(/[^.[\]]+/g) || [];
75
- }
76
- path.slice(0, -1).reduce(function (a, c, i) {
77
- return Object(a[c]) === a[c] // Does the key exist and is its value an object?
78
- // Yes: then follow that path
79
- ? a[c]
80
- // No: create the key. Is the next key a potential array-index?
81
- : a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1]
82
- ? [] // Yes: assign a new array object
83
- : {};
84
- }, // No: assign a new plain object
85
- obj)[path[path.length - 1]] = value; // Finally assign the value to the last key
86
- return obj; // Return the top-level object to allow chaining
87
- }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvcmV4L2NvcmUvIiwic291cmNlcyI6WyJsaWIvdXRpbHMvb2JqZWN0L29iamVjdC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFdBQVc7QUFDWDtJQUFBO0lBaUNBLENBQUM7SUFoQ1UsMEJBQWEsR0FBcEIsVUFBcUIsR0FBUTtRQUN6QixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RCxDQUFDO0lBRU0scUJBQVEsR0FBZixVQUFnQixHQUFHO1FBQ2YsSUFBSSxJQUFJLENBQUM7UUFDVCxtREFBbUQ7UUFDbkQsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLFFBQVEsS0FBSyxPQUFPLEdBQUcsRUFBRTtZQUFFLE9BQU8sR0FBRyxDQUFDO1NBQUU7UUFDM0QsY0FBYztRQUNkLElBQUksR0FBRyxZQUFZLElBQUksRUFBRTtZQUNyQixJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxlQUFlO1FBQ2YsSUFBSSxHQUFHLFlBQVksS0FBSyxFQUFFO1lBQ3RCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDVixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM1QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzQztZQUNELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7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QUFDLGlDQUFpQztnQkFDdEMsQ0FBQyxDQUFDLEVBQUU7SUFOWixDQU1ZLEVBQUUsZ0NBQWdDO0lBQzlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO0lBQ3BGLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0RBQWdEO0FBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgQVhPYmplY3RVdGlsIHtcclxuICAgIHN0YXRpYyBkZWVwSlNPTkNsb25lKG9iajogYW55KTogYW55IHtcclxuICAgICAgICByZXR1cm4gb2JqID8gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvYmopKSA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGRlZXBDb3B5KG9iaikge1xyXG4gICAgICAgIGxldCBjb3B5O1xyXG4gICAgICAgIC8vIEhhbmRsZSB0aGUgMyBzaW1wbGUgdHlwZXMsIGFuZCBudWxsIG9yIHVuZGVmaW5lZFxyXG4gICAgICAgIGlmIChudWxsID09IG9iaiB8fCAnb2JqZWN0JyAhPT0gdHlwZW9mIG9iaikgeyByZXR1cm4gb2JqOyB9XHJcbiAgICAgICAgLy8gSGFuZGxlIERhdGVcclxuICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgICAgICBjb3B5ID0gbmV3IERhdGUoKTtcclxuICAgICAgICAgICAgY29weS5zZXRUaW1lKG9iai5nZXRUaW1lKCkpO1xyXG4gICAgICAgICAgICByZXR1cm4gY29weTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSGFuZGxlIEFycmF5XHJcbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgIGNvcHkgPSBbXTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IG9iai5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29weVtpXSA9IEFYT2JqZWN0VXRpbC5kZWVwQ29weShvYmpbaV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBjb3B5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBIYW5kbGUgT2JqZWN0XHJcbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgICAgICAgICBjb3B5ID0ge307XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgYXR0ciBpbiBvYmopIHtcclxuICAgICAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoYXR0cikpIHsgY29weVthdHRyXSA9IEFYT2JqZWN0VXRpbC5kZWVwQ29weShvYmpbYXR0cl0pOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGNvcHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGNvcHkgb2JqISBJdHMgdHlwZSBpc25cXCd0IHN1cHBvcnRlZC4nKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEFYRmV0Y2hQcm9wKG9iaiwgcHJvcDogc3RyaW5nKSB7XHJcbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBjb25zdCBpbmRleCA9IHByb3AuaW5kZXhPZignLicpO1xyXG5cclxuICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgcmV0dXJuIEFYRmV0Y2hQcm9wKG9ialtwcm9wLnN1YnN0cmluZygwLCBpbmRleCldLCBwcm9wLnN1YnN0cihpbmRleCArIDEpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2JqW3Byb3BdO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvcEJ5UGF0aChvYmosIHBhdGgsIGRlZmF1bHRWYWw/KSB7XHJcbiAgICBwYXRoID0gcGF0aFxyXG4gICAgICAgIC5yZXBsYWNlKC9cXFsvZywgJy4nKVxyXG4gICAgICAgIC5yZXBsYWNlKC9dL2csICcnKVxyXG4gICAgICAgIC5zcGxpdCgnLicpO1xyXG5cclxuICAgIHBhdGguZm9yRWFjaCgobGV2ZWwpID0+IHtcclxuICAgICAgICBpZiAob2JqKSB7XHJcbiAgICAgICAgICAgIG9iaiA9IG9ialtsZXZlbF07XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2JqO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2V0UHJvcEJ5UGF0aChvYmosIHBhdGgsIHZhbHVlKSB7XHJcbiAgICBpZiAoT2JqZWN0KG9iaikgIT09IG9iaikgeyByZXR1cm4gb2JqOyB9IC8vIFdoZW4gb2JqIGlzIG5vdCBhbiBvYmplY3RcclxuICAgIC8vIElmIG5vdCB5ZXQgYW4gYXJyYXksIGdldCB0aGUga2V5cyBmcm9tIHRoZSBzdHJpbmctcGF0aFxyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBhdGgpKSB7IHBhdGggPSBwYXRoLnRvU3RyaW5nKCkubWF0Y2goL1teLltcXF1dKy9nKSB8fCBbXTsgfVxyXG4gICAgcGF0aC5zbGljZSgwLCAtMSkucmVkdWNlKChhLCBjLCBpKSA9PiAvLyBJdGVyYXRlIGFsbCBvZiB0aGVtIGV4Y2VwdCB0aGUgbGFzdCBvbmVcclxuICAgICAgICBPYmplY3QoYVtjXSkgPT09IGFbY10gLy8gRG9lcyB0aGUga2V5IGV4aXN0IGFuZCBpcyBpdHMgdmFsdWUgYW4gb2JqZWN0P1xyXG4gICAgICAgICAgICAvLyBZZXM6IHRoZW4gZm9sbG93IHRoYXQgcGF0aFxyXG4gICAgICAgICAgICA/IGFbY11cclxuICAgICAgICAgICAgLy8gTm86IGNyZWF0ZSB0aGUga2V5LiBJcyB0aGUgbmV4dCBrZXkgYSBwb3RlbnRpYWwgYXJyYXktaW5kZXg/XHJcbiAgICAgICAgICAgIDogYVtjXSA9IE1hdGguYWJzKHBhdGhbaSArIDFdKSA+PiAwID09PSArcGF0aFtpICsgMV1cclxuICAgICAgICAgICAgICAgID8gW10gLy8gWWVzOiBhc3NpZ24gYSBuZXcgYXJyYXkgb2JqZWN0XHJcbiAgICAgICAgICAgICAgICA6IHt9LCAvLyBObzogYXNzaWduIGEgbmV3IHBsYWluIG9iamVjdFxyXG4gICAgICAgIG9iailbcGF0aFtwYXRoLmxlbmd0aCAtIDFdXSA9IHZhbHVlOyAvLyBGaW5hbGx5IGFzc2lnbiB0aGUgdmFsdWUgdG8gdGhlIGxhc3Qga2V5XHJcbiAgICByZXR1cm4gb2JqOyAvLyBSZXR1cm4gdGhlIHRvcC1sZXZlbCBvYmplY3QgdG8gYWxsb3cgY2hhaW5pbmdcclxufVxyXG5cclxuXHJcbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { Subject } from 'rxjs';
4
- import { AXHtmlUtil } from '../html/html-util';
5
- var AXOnDemandPreloadService = /** @class */ (function () {
6
- function AXOnDemandPreloadService() {
7
- this.subject = new Subject();
8
- this.tmp = AXHtmlUtil.getUID();
9
- }
10
- AXOnDemandPreloadService.prototype.startPreload = function (routePath) {
11
- var slices = [];
12
- this.subject.next(routePath);
13
- //console.log('ss', this.tmp);
14
- };
15
- AXOnDemandPreloadService = __decorate([
16
- Injectable(),
17
- __metadata("design:paramtypes", [])
18
- ], AXOnDemandPreloadService);
19
- return AXOnDemandPreloadService;
20
- }());
21
- export { AXOnDemandPreloadService };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tZGVtYW5kLXByZWxvYWQtc3RyYXRlZ3kuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY29yZXgvY29yZS8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9yZW5kZXIvb24tZGVtYW5kLXByZWxvYWQtc3RyYXRlZ3kuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFrQixNQUFNLE1BQU0sQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFNL0M7SUFJRTtRQUhBLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBSTlCLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCwrQ0FBWSxHQUFaLFVBQWEsU0FBaUI7UUFDNUIsSUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBRzVCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLDhCQUE4QjtJQUNoQyxDQUFDO0lBZFUsd0JBQXdCO1FBRHBDLFVBQVUsRUFBRTs7T0FDQSx3QkFBd0IsQ0FlcEM7SUFBRCwrQkFBQztDQUFBLEFBZkQsSUFlQztTQWZZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByZWxvYWRpbmdTdHJhdGVneSwgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBWEh0bWxVdGlsIH0gZnJvbSAnLi4vaHRtbC9odG1sLXV0aWwnO1xyXG5cclxuXHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlIHtcclxuICBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIHRtcDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMudG1wID0gQVhIdG1sVXRpbC5nZXRVSUQoKTtcclxuICB9XHJcblxyXG4gIHN0YXJ0UHJlbG9hZChyb3V0ZVBhdGg6IHN0cmluZykge1xyXG4gICAgY29uc3Qgc2xpY2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICBcclxuXHJcbiAgICB0aGlzLnN1YmplY3QubmV4dChyb3V0ZVBhdGgpO1xyXG4gICAgLy9jb25zb2xlLmxvZygnc3MnLCB0aGlzLnRtcCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==