@stemy/ngx-utils 12.1.1 → 12.1.4

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 (120) hide show
  1. package/bundles/stemy-ngx-utils.umd.js +51 -30
  2. package/bundles/stemy-ngx-utils.umd.js.map +1 -1
  3. package/esm2015/ngx-utils/services/acl.service.js +3 -1
  4. package/esm2015/ngx-utils/services/config.service.js +4 -4
  5. package/esm2015/ngx-utils/services/error-handler.service.js +2 -2
  6. package/esm2015/ngx-utils/services/static-language.service.js +17 -17
  7. package/esm2015/ngx-utils/services/storage.service.js +4 -4
  8. package/esm2015/ngx-utils/utils/file-system.js +20 -0
  9. package/esm2015/public_api.js +2 -1
  10. package/esm2020/ngx-utils/common-types.mjs +117 -0
  11. package/esm2020/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +178 -0
  12. package/esm2020/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +101 -0
  13. package/esm2020/ngx-utils/components/unordered-list/unordered-list.component.mjs +65 -0
  14. package/esm2020/ngx-utils/directives/async-method.base.mjs +78 -0
  15. package/esm2020/ngx-utils/directives/async-method.directive.mjs +21 -0
  16. package/esm2020/ngx-utils/directives/background.directive.mjs +51 -0
  17. package/esm2020/ngx-utils/directives/dynamic-table-template.directive.mjs +20 -0
  18. package/esm2020/ngx-utils/directives/global-template.directive.mjs +30 -0
  19. package/esm2020/ngx-utils/directives/icon.directive.mjs +67 -0
  20. package/esm2020/ngx-utils/directives/ngx-template-outlet.directive.mjs +90 -0
  21. package/esm2020/ngx-utils/directives/pagination-item.directive.mjs +33 -0
  22. package/esm2020/ngx-utils/directives/pagination.directive.mjs +83 -0
  23. package/esm2020/ngx-utils/directives/resource-if.directive.mjs +50 -0
  24. package/esm2020/ngx-utils/directives/sticky-class.directive.mjs +34 -0
  25. package/esm2020/ngx-utils/directives/sticky.directive.mjs +55 -0
  26. package/esm2020/ngx-utils/directives/unordered-list-item.directive.mjs +77 -0
  27. package/esm2020/ngx-utils/directives/unordered-list-template.directive.mjs +26 -0
  28. package/esm2020/ngx-utils/ngx-utils.imports.mjs +165 -0
  29. package/esm2020/ngx-utils/ngx-utils.module.mjs +178 -0
  30. package/esm2020/ngx-utils/pipes/chunk.pipe.mjs +25 -0
  31. package/esm2020/ngx-utils/pipes/entries.pipe.mjs +28 -0
  32. package/esm2020/ngx-utils/pipes/extra-item-properties.pipe.mjs +31 -0
  33. package/esm2020/ngx-utils/pipes/filter.pipe.mjs +42 -0
  34. package/esm2020/ngx-utils/pipes/find.pipe.mjs +29 -0
  35. package/esm2020/ngx-utils/pipes/format-number.pipe.mjs +21 -0
  36. package/esm2020/ngx-utils/pipes/get-offset.pipe.mjs +17 -0
  37. package/esm2020/ngx-utils/pipes/get-type.pipe.mjs +16 -0
  38. package/esm2020/ngx-utils/pipes/global-template.pipe.mjs +41 -0
  39. package/esm2020/ngx-utils/pipes/group-by.pipe.mjs +27 -0
  40. package/esm2020/ngx-utils/pipes/is-type.pipe.mjs +16 -0
  41. package/esm2020/ngx-utils/pipes/join.pipe.mjs +19 -0
  42. package/esm2020/ngx-utils/pipes/keys.pipe.mjs +22 -0
  43. package/esm2020/ngx-utils/pipes/map.pipe.mjs +29 -0
  44. package/esm2020/ngx-utils/pipes/max.pipe.mjs +26 -0
  45. package/esm2020/ngx-utils/pipes/min.pipe.mjs +26 -0
  46. package/esm2020/ngx-utils/pipes/reduce.pipe.mjs +30 -0
  47. package/esm2020/ngx-utils/pipes/remap.pipe.mjs +32 -0
  48. package/esm2020/ngx-utils/pipes/replace.pipe.mjs +16 -0
  49. package/esm2020/ngx-utils/pipes/reverse.pipe.mjs +24 -0
  50. package/esm2020/ngx-utils/pipes/round.pipe.mjs +21 -0
  51. package/esm2020/ngx-utils/pipes/safe-html.pipe.mjs +34 -0
  52. package/esm2020/ngx-utils/pipes/translate.pipe.mjs +86 -0
  53. package/esm2020/ngx-utils/pipes/values.pipe.mjs +22 -0
  54. package/esm2020/ngx-utils/plugins/resize-event.plugin.mjs +59 -0
  55. package/esm2020/ngx-utils/plugins/scroll-event.plugin.mjs +39 -0
  56. package/esm2020/ngx-utils/services/acl.service.mjs +81 -0
  57. package/esm2020/ngx-utils/services/api.service.mjs +38 -0
  58. package/esm2020/ngx-utils/services/auth.service.mjs +14 -0
  59. package/esm2020/ngx-utils/services/base-http.client.mjs +47 -0
  60. package/esm2020/ngx-utils/services/base-http.service.mjs +298 -0
  61. package/esm2020/ngx-utils/services/config.service.mjs +116 -0
  62. package/esm2020/ngx-utils/services/error-handler.service.mjs +49 -0
  63. package/esm2020/ngx-utils/services/events.service.mjs +26 -0
  64. package/esm2020/ngx-utils/services/formatter.service.mjs +47 -0
  65. package/esm2020/ngx-utils/services/global-template.service.mjs +37 -0
  66. package/esm2020/ngx-utils/services/icon.service.mjs +26 -0
  67. package/esm2020/ngx-utils/services/language.service.mjs +113 -0
  68. package/esm2020/ngx-utils/services/open-api.service.mjs +40 -0
  69. package/esm2020/ngx-utils/services/promise.service.mjs +55 -0
  70. package/esm2020/ngx-utils/services/state.service.mjs +173 -0
  71. package/esm2020/ngx-utils/services/static-language.service.mjs +166 -0
  72. package/esm2020/ngx-utils/services/storage.service.mjs +49 -0
  73. package/esm2020/ngx-utils/services/toaster.service.mjs +32 -0
  74. package/esm2020/ngx-utils/services/translated-url.serializer.mjs +73 -0
  75. package/esm2020/ngx-utils/services/universal.service.mjs +78 -0
  76. package/esm2020/ngx-utils/utils/ajax-request-handler.mjs +40 -0
  77. package/esm2020/ngx-utils/utils/array.utils.mjs +100 -0
  78. package/esm2020/ngx-utils/utils/auth.guard.mjs +181 -0
  79. package/esm2020/ngx-utils/utils/canvas.utils.mjs +388 -0
  80. package/esm2020/ngx-utils/utils/date.utils.mjs +28 -0
  81. package/esm2020/ngx-utils/utils/file.utils.mjs +90 -0
  82. package/esm2020/ngx-utils/utils/generic-value.mjs +20 -0
  83. package/esm2020/ngx-utils/utils/geometry.mjs +132 -0
  84. package/esm2020/ngx-utils/utils/initializer.mjs +20 -0
  85. package/esm2020/ngx-utils/utils/loader.utils.mjs +55 -0
  86. package/esm2020/ngx-utils/utils/math.utils.mjs +15 -0
  87. package/esm2020/ngx-utils/utils/object.utils.mjs +261 -0
  88. package/esm2020/ngx-utils/utils/observable.utils.mjs +63 -0
  89. package/esm2020/ngx-utils/utils/reflect.utils.mjs +33 -0
  90. package/esm2020/ngx-utils/utils/set.utils.mjs +20 -0
  91. package/esm2020/ngx-utils/utils/string.utils.mjs +41 -0
  92. package/esm2020/ngx-utils/utils/timer.utils.mjs +52 -0
  93. package/esm2020/ngx-utils/utils/unique.utils.mjs +24 -0
  94. package/esm2020/ngx-utils/utils/vector.mjs +77 -0
  95. package/esm2020/public_api.mjs +85 -0
  96. package/esm2020/stemy-ngx-utils.mjs +5 -0
  97. package/esm2020/tools/config.mjs +71 -0
  98. package/esm2020/tools/public_api.mjs +2 -0
  99. package/esm2020/tools/stemy-ngx-utils-tools.mjs +5 -0
  100. package/fesm2015/stemy-ngx-utils-tools.mjs +77 -0
  101. package/fesm2015/stemy-ngx-utils-tools.mjs.map +1 -0
  102. package/fesm2015/stemy-ngx-utils.js +46 -24
  103. package/fesm2015/stemy-ngx-utils.js.map +1 -1
  104. package/fesm2015/stemy-ngx-utils.mjs +5168 -0
  105. package/fesm2015/stemy-ngx-utils.mjs.map +1 -0
  106. package/fesm2020/stemy-ngx-utils-tools.mjs +77 -0
  107. package/fesm2020/stemy-ngx-utils-tools.mjs.map +1 -0
  108. package/fesm2020/stemy-ngx-utils.mjs +5099 -0
  109. package/fesm2020/stemy-ngx-utils.mjs.map +1 -0
  110. package/ngx-utils/services/static-language.service.d.ts +1 -1
  111. package/ngx-utils/utils/file-system.d.ts +16 -0
  112. package/package.json +1 -1
  113. package/public_api.d.ts +1 -0
  114. package/stemy-ngx-utils.metadata.json +1 -1
  115. package/tools/config.d.ts +7 -0
  116. package/tools/package.json +10 -0
  117. package/tools/public_api.d.ts +1 -0
  118. package/tools/stemy-ngx-utils-tools.d.ts +5 -0
  119. package/bundles/stemy-ngx-utils.umd.min.js +0 -16
  120. package/bundles/stemy-ngx-utils.umd.min.js.map +0 -1
@@ -0,0 +1,83 @@
1
+ import { Directive, EventEmitter, Input, NgZone, Output } from "@angular/core";
2
+ import { PaginationItemContext } from "../common-types";
3
+ import { TimerUtils } from "../utils/timer.utils";
4
+ import * as i0 from "@angular/core";
5
+ export class PaginationDirective {
6
+ constructor(zone) {
7
+ this.zone = zone;
8
+ this.pageChange = new EventEmitter();
9
+ this.onRefresh = new EventEmitter();
10
+ this.updateTimer = TimerUtils.createTimeout(() => this.loadData(), this.updateTime);
11
+ }
12
+ get total() {
13
+ return this.data ? this.data.total : 0;
14
+ }
15
+ get items() {
16
+ return this.data ? this.data.items : [];
17
+ }
18
+ ngOnChanges(changes) {
19
+ if (!changes.loader && !changes.itemsPerPage && !changes.page)
20
+ return;
21
+ this.page = isNaN(this.page) || this.page < 1 ? 1 : this.page;
22
+ this.itemsPerPage = isNaN(this.itemsPerPage) || this.itemsPerPage < 1 ? 20 : this.itemsPerPage;
23
+ this.updateTimer.time = isNaN(this.updateTime) || this.updateTime < 0 ? 100 : this.updateTime;
24
+ this.waitFor = this.waitFor || Promise.resolve(true);
25
+ this.refresh();
26
+ }
27
+ refresh() {
28
+ this.waitFor.then(() => {
29
+ this.updateTimer.run();
30
+ });
31
+ }
32
+ paginate(page) {
33
+ this.page = page;
34
+ this.pageChange.emit(page);
35
+ this.refresh();
36
+ }
37
+ loadData() {
38
+ if (!this.loader)
39
+ return;
40
+ this.loader(this.page, this.itemsPerPage).then(data => {
41
+ this.maxPage = !data || data.total <= 0 ? 1 : Math.floor((data.total - 1) / this.itemsPerPage) + 1;
42
+ this.data = data;
43
+ const baseIndex = (this.page - 1) * this.itemsPerPage;
44
+ const items = (data.items || []);
45
+ data.items = items.map((item, index) => {
46
+ const ix = baseIndex + index;
47
+ return item instanceof PaginationItemContext
48
+ ? item
49
+ : new PaginationItemContext(item, items, items.length, index, ix);
50
+ });
51
+ if (this.page > this.maxPage) {
52
+ this.paginate(this.maxPage);
53
+ return;
54
+ }
55
+ this.zone.run(() => this.onRefresh.emit(this));
56
+ });
57
+ }
58
+ }
59
+ PaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: PaginationDirective, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
60
+ PaginationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: PaginationDirective, selector: "[pagination]", inputs: { loader: ["pagination", "loader"], page: "page", itemsPerPage: "itemsPerPage", updateTime: "updateTime", waitFor: "waitFor" }, outputs: { pageChange: "pageChange", onRefresh: "onRefresh" }, exportAs: ["pagination"], usesOnChanges: true, ngImport: i0 });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: PaginationDirective, decorators: [{
62
+ type: Directive,
63
+ args: [{
64
+ selector: "[pagination]",
65
+ exportAs: "pagination"
66
+ }]
67
+ }], ctorParameters: function () { return [{ type: i0.NgZone }]; }, propDecorators: { loader: [{
68
+ type: Input,
69
+ args: ["pagination"]
70
+ }], page: [{
71
+ type: Input
72
+ }], itemsPerPage: [{
73
+ type: Input
74
+ }], updateTime: [{
75
+ type: Input
76
+ }], waitFor: [{
77
+ type: Input
78
+ }], pageChange: [{
79
+ type: Output
80
+ }], onRefresh: [{
81
+ type: Output
82
+ }] } });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBZ0QscUJBQXFCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7O0FBTWhELE1BQU0sT0FBTyxtQkFBbUI7SUF3QjVCLFlBQW9CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ3pELElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUExQkQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQXNCRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3RFLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzlELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQy9GLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUM5RixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBWTtRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVPLFFBQVE7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUN0RCxNQUFNLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNuQyxNQUFNLEVBQUUsR0FBRyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUM3QixPQUFPLElBQUksWUFBWSxxQkFBcUI7b0JBQ3hDLENBQUMsQ0FBQyxJQUFJO29CQUNOLENBQUMsQ0FBQyxJQUFJLHFCQUFxQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUUsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzVCLE9BQU87YUFDVjtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztnSEF0RVEsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsUUFBUSxFQUFFLFlBQVk7aUJBQ3pCOzZGQVd3QixNQUFNO3NCQUExQixLQUFLO3VCQUFDLFlBQVk7Z0JBQ1YsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nWm9uZSwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXN9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SVBhZ2luYXRpb25EYXRhLCBJVGltZXIsIFBhZ2luYXRpb25EYXRhTG9hZGVyLCBQYWdpbmF0aW9uSXRlbUNvbnRleHR9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtUaW1lclV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvdGltZXIudXRpbHNcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6IFwiW3BhZ2luYXRpb25dXCIsXHJcbiAgICBleHBvcnRBczogXCJwYWdpbmF0aW9uXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICAgIGdldCB0b3RhbCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEgPyB0aGlzLmRhdGEudG90YWwgOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpdGVtcygpOiBhbnlbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YSA/IHRoaXMuZGF0YS5pdGVtcyA6IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dChcInBhZ2luYXRpb25cIikgbG9hZGVyOiBQYWdpbmF0aW9uRGF0YUxvYWRlcjtcclxuICAgIEBJbnB1dCgpIHBhZ2U6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGl0ZW1zUGVyUGFnZTogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgdXBkYXRlVGltZTogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgd2FpdEZvcjogUHJvbWlzZTxhbnk+O1xyXG5cclxuICAgIEBPdXRwdXQoKSBwYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPjtcclxuICAgIEBPdXRwdXQoKSBvblJlZnJlc2g6IEV2ZW50RW1pdHRlcjxQYWdpbmF0aW9uRGlyZWN0aXZlPjtcclxuXHJcbiAgICBtYXhQYWdlOiBudW1iZXI7XHJcblxyXG4gICAgcHJpdmF0ZSBkYXRhOiBJUGFnaW5hdGlvbkRhdGE7XHJcbiAgICBwcml2YXRlIHVwZGF0ZVRpbWVyOiBJVGltZXI7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHtcclxuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAgICAgICB0aGlzLm9uUmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnaW5hdGlvbkRpcmVjdGl2ZT4oKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVyID0gVGltZXJVdGlscy5jcmVhdGVUaW1lb3V0KCgpID0+IHRoaXMubG9hZERhdGEoKSwgdGhpcy51cGRhdGVUaW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFjaGFuZ2VzLmxvYWRlciAmJiAhY2hhbmdlcy5pdGVtc1BlclBhZ2UgJiYgIWNoYW5nZXMucGFnZSkgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMucGFnZSA9IGlzTmFOKHRoaXMucGFnZSkgfHwgdGhpcy5wYWdlIDwgMSA/IDEgOiB0aGlzLnBhZ2U7XHJcbiAgICAgICAgdGhpcy5pdGVtc1BlclBhZ2UgPSBpc05hTih0aGlzLml0ZW1zUGVyUGFnZSkgfHwgdGhpcy5pdGVtc1BlclBhZ2UgPCAxID8gMjAgOiB0aGlzLml0ZW1zUGVyUGFnZTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVyLnRpbWUgPSBpc05hTih0aGlzLnVwZGF0ZVRpbWUpIHx8IHRoaXMudXBkYXRlVGltZSA8IDAgPyAxMDAgOiB0aGlzLnVwZGF0ZVRpbWU7XHJcbiAgICAgICAgdGhpcy53YWl0Rm9yID0gdGhpcy53YWl0Rm9yIHx8IFByb21pc2UucmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2goKTtcclxuICAgIH1cclxuXHJcbiAgICByZWZyZXNoKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMud2FpdEZvci50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lci5ydW4oKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwYWdpbmF0ZShwYWdlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlO1xyXG4gICAgICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KHBhZ2UpO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgbG9hZERhdGEoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmxvYWRlcikgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMubG9hZGVyKHRoaXMucGFnZSwgdGhpcy5pdGVtc1BlclBhZ2UpLnRoZW4oZGF0YSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubWF4UGFnZSA9ICFkYXRhIHx8IGRhdGEudG90YWwgPD0gMCA/IDEgOiBNYXRoLmZsb29yKChkYXRhLnRvdGFsIC0gMSkgLyB0aGlzLml0ZW1zUGVyUGFnZSkgKyAxO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xyXG4gICAgICAgICAgICBjb25zdCBiYXNlSW5kZXggPSAodGhpcy5wYWdlIC0gMSkgKiB0aGlzLml0ZW1zUGVyUGFnZTtcclxuICAgICAgICAgICAgY29uc3QgaXRlbXMgPSAoZGF0YS5pdGVtcyB8fCBbXSk7XHJcbiAgICAgICAgICAgIGRhdGEuaXRlbXMgPSBpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpeCA9IGJhc2VJbmRleCArIGluZGV4O1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0gaW5zdGFuY2VvZiBQYWdpbmF0aW9uSXRlbUNvbnRleHRcclxuICAgICAgICAgICAgICAgICAgICA/IGl0ZW1cclxuICAgICAgICAgICAgICAgICAgICA6IG5ldyBQYWdpbmF0aW9uSXRlbUNvbnRleHQoaXRlbSwgaXRlbXMsIGl0ZW1zLmxlbmd0aCwgaW5kZXgsIGl4KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnBhZ2UgPiB0aGlzLm1heFBhZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdGUodGhpcy5tYXhQYWdlKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHRoaXMub25SZWZyZXNoLmVtaXQodGhpcykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,50 @@
1
+ import { Directive, ViewContainerRef, TemplateRef, Input } from "@angular/core";
2
+ import { HttpClient } from "@angular/common/http";
3
+ import { ResourceIfContext } from "../common-types";
4
+ import { FileUtils } from "../utils/file.utils";
5
+ import { UniversalService } from "../services/universal.service";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "../services/universal.service";
9
+ export class ResourceIfDirective {
10
+ constructor(http, viewContainer, templateRef, universal) {
11
+ this.http = http;
12
+ this.viewContainer = viewContainer;
13
+ this.templateRef = templateRef;
14
+ this.universal = universal;
15
+ this.context = new ResourceIfContext();
16
+ }
17
+ set resourceIf(resource) {
18
+ this.resource = resource;
19
+ this.renderView();
20
+ }
21
+ get resourceIf() {
22
+ return this.resource;
23
+ }
24
+ get url() {
25
+ return this.context.url;
26
+ }
27
+ renderView() {
28
+ this.context = new ResourceIfContext();
29
+ this.context.resource = this.resource;
30
+ this.viewContainer.clear();
31
+ if (this.universal.isBrowser && this.resource) {
32
+ FileUtils.readDataFromUrl(this.http, this.resource).then(url => {
33
+ this.context.url = url;
34
+ this.viewContainer.createEmbeddedView(this.templateRef, this.context);
35
+ }, console.log);
36
+ }
37
+ }
38
+ }
39
+ ResourceIfDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ResourceIfDirective, deps: [{ token: i1.HttpClient }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i2.UniversalService }], target: i0.ɵɵFactoryTarget.Directive });
40
+ ResourceIfDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: ResourceIfDirective, selector: "[resourceIf]", inputs: { resourceIf: "resourceIf" }, exportAs: ["resourceIf"], ngImport: i0 });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ResourceIfDirective, decorators: [{
42
+ type: Directive,
43
+ args: [{
44
+ selector: "[resourceIf]",
45
+ exportAs: "resourceIf"
46
+ }]
47
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i2.UniversalService }]; }, propDecorators: { resourceIf: [{
48
+ type: Input
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtaWYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9kaXJlY3RpdmVzL3Jlc291cmNlLWlmLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQU0vRCxNQUFNLE9BQU8sbUJBQW1CO0lBbUI1QixZQUFvQixJQUFnQixFQUFVLGFBQStCLEVBQVUsV0FBNkIsRUFBVSxTQUEyQjtRQUFySSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDckosSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQWhCRCxJQUNJLFVBQVUsQ0FBQyxRQUFnQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUM1QixDQUFDO0lBTU8sVUFBVTtRQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDM0MsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ25CO0lBQ0wsQ0FBQzs7Z0hBakNRLG1CQUFtQjtvR0FBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRSxZQUFZO2lCQUN6Qjt5TEFPTyxVQUFVO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiwgVGVtcGxhdGVSZWYsIElucHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQge1Jlc291cmNlSWZDb250ZXh0fSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7RmlsZVV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvZmlsZS51dGlsc1wiO1xyXG5pbXBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlcy91bml2ZXJzYWwuc2VydmljZVwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogXCJbcmVzb3VyY2VJZl1cIixcclxuICAgIGV4cG9ydEFzOiBcInJlc291cmNlSWZcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VJZkRpcmVjdGl2ZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBjb250ZXh0OiBSZXNvdXJjZUlmQ29udGV4dDtcclxuICAgIHByaXZhdGUgcmVzb3VyY2U6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IHJlc291cmNlSWYocmVzb3VyY2U6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMucmVzb3VyY2UgPSByZXNvdXJjZTtcclxuICAgICAgICB0aGlzLnJlbmRlclZpZXcoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcmVzb3VyY2VJZigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlc291cmNlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCB1cmwoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LnVybDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiwgcHJpdmF0ZSB1bml2ZXJzYWw6IFVuaXZlcnNhbFNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQgPSBuZXcgUmVzb3VyY2VJZkNvbnRleHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlbmRlclZpZXcoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0ID0gbmV3IFJlc291cmNlSWZDb250ZXh0KCk7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LnJlc291cmNlID0gdGhpcy5yZXNvdXJjZTtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICBpZiAodGhpcy51bml2ZXJzYWwuaXNCcm93c2VyICYmIHRoaXMucmVzb3VyY2UpIHtcclxuICAgICAgICAgICAgRmlsZVV0aWxzLnJlYWREYXRhRnJvbVVybCh0aGlzLmh0dHAsIHRoaXMucmVzb3VyY2UpLnRoZW4odXJsID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC51cmwgPSB1cmw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHRoaXMuY29udGV4dCk7XHJcbiAgICAgICAgICAgIH0sIGNvbnNvbGUubG9nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,34 @@
1
+ import { Directive, ElementRef, Input, Renderer2 } from "@angular/core";
2
+ import { EventsService } from "../services/events.service";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../services/events.service";
5
+ export class StickyClassDirective {
6
+ constructor(events, element, renderer) {
7
+ this.events = events;
8
+ this.element = element;
9
+ this.renderer = renderer;
10
+ }
11
+ ngOnInit() {
12
+ this.stickyUpdated = this.events.stickyUpdated.subscribe(() => {
13
+ if (this.events.isSticky) {
14
+ this.renderer.addClass(this.element.nativeElement, this.stickyClass || "sticky-sibling");
15
+ return;
16
+ }
17
+ this.renderer.removeClass(this.element.nativeElement, this.stickyClass || "sticky-sibling");
18
+ });
19
+ }
20
+ ngOnDestroy() {
21
+ this.stickyUpdated.unsubscribe();
22
+ }
23
+ }
24
+ StickyClassDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: StickyClassDirective, deps: [{ token: i1.EventsService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
25
+ StickyClassDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: StickyClassDirective, selector: "[stickyClass]", inputs: { stickyClass: "stickyClass" }, ngImport: i0 });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: StickyClassDirective, decorators: [{
27
+ type: Directive,
28
+ args: [{
29
+ selector: "[stickyClass]"
30
+ }]
31
+ }], ctorParameters: function () { return [{ type: i1.EventsService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { stickyClass: [{
32
+ type: Input
33
+ }] } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWNsYXNzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9zdGlja3ktY2xhc3MuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBS3pELE1BQU0sT0FBTyxvQkFBb0I7SUFNN0IsWUFBb0IsTUFBcUIsRUFBVSxPQUFtQixFQUFVLFFBQW1CO1FBQS9FLFdBQU0sR0FBTixNQUFNLENBQWU7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUNuRyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMxRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO2dCQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3pGLE9BQU87YUFDVjtZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLElBQUksZ0JBQWdCLENBQUMsQ0FBQztRQUNoRyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQyxDQUFDOztpSEFyQlEsb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtpQkFDNUI7cUpBR1ksV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7RXZlbnRzU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBcIltzdGlja3lDbGFzc11cIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RpY2t5Q2xhc3NEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgQElucHV0KCkgc3RpY2t5Q2xhc3M6IHN0cmluZztcclxuXHJcbiAgICBwcml2YXRlIHN0aWNreVVwZGF0ZWQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50czogRXZlbnRzU2VydmljZSwgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN0aWNreVVwZGF0ZWQgPSB0aGlzLmV2ZW50cy5zdGlja3lVcGRhdGVkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmV2ZW50cy5pc1N0aWNreSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5zdGlja3lDbGFzcyB8fCBcInN0aWNreS1zaWJsaW5nXCIpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuc3RpY2t5Q2xhc3MgfHwgXCJzdGlja3ktc2libGluZ1wiKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN0aWNreVVwZGF0ZWQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { ChangeDetectorRef, Directive, ElementRef, HostBinding, HostListener } from "@angular/core";
2
+ import { TimerUtils } from "../utils/timer.utils";
3
+ import { EventsService } from "../services/events.service";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../services/events.service";
6
+ export class StickyDirective {
7
+ constructor(cdr, events, element) {
8
+ this.cdr = cdr;
9
+ this.events = events;
10
+ this.element = element;
11
+ this.parentElement = this.element.nativeElement.parentElement;
12
+ this.updateTimer = TimerUtils.createTimeout(() => {
13
+ this.isUpdating = false;
14
+ this.cdr.detectChanges();
15
+ this.events.updateSticky(this.isSticky);
16
+ }, 10);
17
+ }
18
+ ngOnInit() {
19
+ this.eventForwarded = this.events.eventForwarded.subscribe((e) => {
20
+ if (e && e.type === "scroll")
21
+ this.updateSticky();
22
+ });
23
+ }
24
+ ngOnDestroy() {
25
+ this.eventForwarded.unsubscribe();
26
+ }
27
+ updateSticky() {
28
+ const distanceToTop = this.parentElement.getBoundingClientRect().top;
29
+ this.isSticky = distanceToTop < 1;
30
+ this.isUpdating = true;
31
+ this.cdr.detectChanges();
32
+ this.updateTimer.run();
33
+ }
34
+ }
35
+ StickyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: StickyDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.EventsService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
36
+ StickyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: StickyDirective, selector: "[sticky]", host: { listeners: { "window:resize": "updateSticky()", "window:scroll": "updateSticky()" }, properties: { "class.sticky": "this.isSticky", "class.sticky-update": "this.isUpdating" } }, ngImport: i0 });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: StickyDirective, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ selector: "[sticky]"
41
+ }]
42
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.EventsService }, { type: i0.ElementRef }]; }, propDecorators: { isSticky: [{
43
+ type: HostBinding,
44
+ args: ["class.sticky"]
45
+ }], isUpdating: [{
46
+ type: HostBinding,
47
+ args: ["class.sticky-update"]
48
+ }], updateSticky: [{
49
+ type: HostListener,
50
+ args: ["window:resize"]
51
+ }, {
52
+ type: HostListener,
53
+ args: ["window:scroll"]
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9zdGlja3kuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBR3JILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7OztBQUt6RCxNQUFNLE9BQU8sZUFBZTtJQVN4QixZQUFvQixHQUFzQixFQUFVLE1BQXFCLEVBQVUsT0FBbUI7UUFBbEYsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNsRyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUM5RCxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFO1lBQzdDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFRLEVBQUUsRUFBRTtZQUNwRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVE7Z0JBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFJRCxZQUFZO1FBQ1IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNyRSxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7OzRHQXBDUSxlQUFlO2dHQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFIM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsVUFBVTtpQkFDdkI7NkpBR2dDLFFBQVE7c0JBQXBDLFdBQVc7dUJBQUMsY0FBYztnQkFDUyxVQUFVO3NCQUE3QyxXQUFXO3VCQUFDLHFCQUFxQjtnQkEyQmxDLFlBQVk7c0JBRlgsWUFBWTt1QkFBQyxlQUFlOztzQkFDNUIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7SVRpbWVyfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7VGltZXJVdGlsc30gZnJvbSBcIi4uL3V0aWxzL3RpbWVyLnV0aWxzXCI7XHJcbmltcG9ydCB7RXZlbnRzU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBcIltzdGlja3ldXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0aWNreURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5zdGlja3lcIikgaXNTdGlja3k6IGJvb2xlYW47XHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5zdGlja3ktdXBkYXRlXCIpIGlzVXBkYXRpbmc6IGJvb2xlYW47XHJcbiAgICBwYXJlbnRFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZVRpbWVyOiBJVGltZXI7XHJcbiAgICBwcml2YXRlIGV2ZW50Rm9yd2FyZGVkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGV2ZW50czogRXZlbnRzU2VydmljZSwgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgdGhpcy5wYXJlbnRFbGVtZW50ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcclxuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVyID0gVGltZXJVdGlscy5jcmVhdGVUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1VwZGF0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgdGhpcy5ldmVudHMudXBkYXRlU3RpY2t5KHRoaXMuaXNTdGlja3kpO1xyXG4gICAgICAgIH0sIDEwKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmV2ZW50Rm9yd2FyZGVkID0gdGhpcy5ldmVudHMuZXZlbnRGb3J3YXJkZWQuc3Vic2NyaWJlKChlOiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZSAmJiBlLnR5cGUgPT09IFwic2Nyb2xsXCIpIHRoaXMudXBkYXRlU3RpY2t5KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5ldmVudEZvcndhcmRlZC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6cmVzaXplXCIpXHJcbiAgICBASG9zdExpc3RlbmVyKFwid2luZG93OnNjcm9sbFwiKVxyXG4gICAgdXBkYXRlU3RpY2t5KCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGRpc3RhbmNlVG9Ub3AgPSB0aGlzLnBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xyXG4gICAgICAgIHRoaXMuaXNTdGlja3kgPSBkaXN0YW5jZVRvVG9wIDwgMTtcclxuICAgICAgICB0aGlzLmlzVXBkYXRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVyLnJ1bigpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,77 @@
1
+ import { Directive, ElementRef, Input, Renderer2, ViewContainerRef } from "@angular/core";
2
+ import { ObjectUtils } from "../utils/object.utils";
3
+ import * as i0 from "@angular/core";
4
+ export class UnorderedListItemDirective {
5
+ constructor(elementRef, renderer, viewContainer) {
6
+ this.elementRef = elementRef;
7
+ this.renderer = renderer;
8
+ this.viewContainer = viewContainer;
9
+ }
10
+ get elem() {
11
+ return this.elementRef.nativeElement;
12
+ }
13
+ ngOnChanges(changes) {
14
+ if (!this.templates || !this.defaultTemplates || !this.item)
15
+ return;
16
+ const promise = this.item.value instanceof Promise ? this.item.value : Promise.resolve(this.item.value);
17
+ promise.then(value => {
18
+ this.item.value = value;
19
+ this.path = ObjectUtils.isNullOrUndefined(this.path) ? "" : this.path.toString();
20
+ this.isArray = ObjectUtils.isArray(this.data);
21
+ this.isObject = ObjectUtils.isObject(this.data);
22
+ this.valueIsArray = ObjectUtils.isArray(this.item.value);
23
+ this.valueIsObject = ObjectUtils.isObject(this.item.value);
24
+ this.valueType = ObjectUtils.getType(this.item.value);
25
+ const context = this;
26
+ const template = this.templates.find(t => t.type == this.type && ObjectUtils.evaluate(t.selector, context)) || this.defaultTemplates[this.type];
27
+ // Set view
28
+ this.viewContainer.clear();
29
+ this.viewContainer.createEmbeddedView(template, context);
30
+ // Set classes
31
+ if (this.type !== "item")
32
+ return;
33
+ this.item.classList = [];
34
+ this.isClass("is-array", this.valueIsArray);
35
+ this.isClass("is-object", this.valueIsObject);
36
+ this.isClass("is-value", !this.valueIsObject && !this.valueIsArray);
37
+ this.isClass(`type-${this.valueType}`);
38
+ this.isClass(`path-${this.path.replace(/\./g, "-")}`);
39
+ this.isClass(`key-${this.item.key}`);
40
+ }, reason => {
41
+ console.log("Can't handle promise rejection", reason);
42
+ });
43
+ }
44
+ isClass(className, value = true) {
45
+ if (!value)
46
+ return;
47
+ this.item.classList.push(className);
48
+ }
49
+ }
50
+ UnorderedListItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: UnorderedListItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
51
+ UnorderedListItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: UnorderedListItemDirective, selector: "[unorderedListItem]", inputs: { item: ["unorderedListItem", "item"], type: "type", data: "data", keyPrefix: "keyPrefix", listStyle: "listStyle", path: "path", level: "level", templates: "templates", defaultTemplates: "defaultTemplates" }, usesOnChanges: true, ngImport: i0 });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: UnorderedListItemDirective, decorators: [{
53
+ type: Directive,
54
+ args: [{
55
+ selector: "[unorderedListItem]"
56
+ }]
57
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }]; }, propDecorators: { item: [{
58
+ type: Input,
59
+ args: ["unorderedListItem"]
60
+ }], type: [{
61
+ type: Input
62
+ }], data: [{
63
+ type: Input
64
+ }], keyPrefix: [{
65
+ type: Input
66
+ }], listStyle: [{
67
+ type: Input
68
+ }], path: [{
69
+ type: Input
70
+ }], level: [{
71
+ type: Input
72
+ }], templates: [{
73
+ type: Input
74
+ }], defaultTemplates: [{
75
+ type: Input
76
+ }] } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5vcmRlcmVkLWxpc3QtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL2RpcmVjdGl2ZXMvdW5vcmRlcmVkLWxpc3QtaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLFNBQVMsRUFBaUIsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbEgsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQU1sRCxNQUFNLE9BQU8sMEJBQTBCO0lBc0JuQyxZQUFvQixVQUFzQixFQUFVLFFBQW1CLEVBQVUsYUFBK0I7UUFBNUYsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7SUFFaEgsQ0FBQztJQU5ELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDekMsQ0FBQztJQU1ELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUNwRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssWUFBWSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFB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bUI7Z0JBQ2pCLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1Vub3JkZXJlZExpc3RTdHlsZSwgVW5vcmRlcmVkTGlzdFRlbXBsYXRlcywgVW5vcmVkZXJlZExpc3RUZW1wbGF0ZX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcbmltcG9ydCB7U3RyaW5nVXRpbHN9IGZyb20gXCIuLi91dGlscy9zdHJpbmcudXRpbHNcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6IFwiW3Vub3JkZXJlZExpc3RJdGVtXVwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbm9yZGVyZWRMaXN0SXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gICAgQElucHV0KFwidW5vcmRlcmVkTGlzdEl0ZW1cIikgaXRlbTogYW55O1xyXG4gICAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZGF0YTogYW55O1xyXG4gICAgQElucHV0KCkga2V5UHJlZml4OiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBsaXN0U3R5bGU6IFVub3JkZXJlZExpc3RTdHlsZTtcclxuICAgIEBJbnB1dCgpIHBhdGg6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGxldmVsOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSB0ZW1wbGF0ZXM6IFVub3JlZGVyZWRMaXN0VGVtcGxhdGVbXTtcclxuICAgIEBJbnB1dCgpIGRlZmF1bHRUZW1wbGF0ZXM6IFVub3JkZXJlZExpc3RUZW1wbGF0ZXM7XHJcblxyXG4gICAgaXNBcnJheTogYm9vbGVhbjtcclxuICAgIGlzT2JqZWN0OiBib29sZWFuO1xyXG4gICAgdmFsdWVJc0FycmF5OiBib29sZWFuO1xyXG4gICAgdmFsdWVJc09iamVjdDogYm9vbGVhbjtcclxuICAgIHZhbHVlVHlwZTogc3RyaW5nO1xyXG5cclxuICAgIGdldCBlbGVtKCk6IEhUTUxFbGVtZW50IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnRlbXBsYXRlcyB8fCAhdGhpcy5kZWZhdWx0VGVtcGxhdGVzIHx8ICF0aGlzLml0ZW0pIHJldHVybjtcclxuICAgICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5pdGVtLnZhbHVlIGluc3RhbmNlb2YgUHJvbWlzZSA/IHRoaXMuaXRlbS52YWx1ZSA6IFByb21pc2UucmVzb2x2ZSh0aGlzLml0ZW0udmFsdWUpO1xyXG4gICAgICAgIHByb21pc2UudGhlbih2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbS52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLnBhdGggPSBPYmplY3RVdGlscy5pc051bGxPclVuZGVmaW5lZCh0aGlzLnBhdGgpID8gXCJcIiA6IHRoaXMucGF0aC50b1N0cmluZygpO1xyXG4gICAgICAgICAgICB0aGlzLmlzQXJyYXkgPSBPYmplY3RVdGlscy5pc0FycmF5KHRoaXMuZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNPYmplY3QgPSBPYmplY3RVdGlscy5pc09iamVjdCh0aGlzLmRhdGEpO1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlSXNBcnJheSA9IE9iamVjdFV0aWxzLmlzQXJyYXkodGhpcy5pdGVtLnZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZUlzT2JqZWN0ID0gT2JqZWN0VXRpbHMuaXNPYmplY3QodGhpcy5pdGVtLnZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZVR5cGUgPSBPYmplY3RVdGlscy5nZXRUeXBlKHRoaXMuaXRlbS52YWx1ZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRleHQ6IGFueSA9IHRoaXM7XHJcbiAgICAgICAgICAgIGNvbnN0IHRlbXBsYXRlID0gdGhpcy50ZW1wbGF0ZXMuZmluZCh0ID0+IHQudHlwZSA9PSB0aGlzLnR5cGUgJiYgT2JqZWN0VXRpbHMuZXZhbHVhdGUodC5zZWxlY3RvciwgY29udGV4dCkpIHx8IHRoaXMuZGVmYXVsdFRlbXBsYXRlc1t0aGlzLnR5cGVdO1xyXG4gICAgICAgICAgICAvLyBTZXQgdmlld1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSwgY29udGV4dCk7XHJcbiAgICAgICAgICAgIC8vIFNldCBjbGFzc2VzXHJcbiAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgIT09IFwiaXRlbVwiKSByZXR1cm47XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbS5jbGFzc0xpc3QgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5pc0NsYXNzKFwiaXMtYXJyYXlcIiwgdGhpcy52YWx1ZUlzQXJyYXkpO1xyXG4gICAgICAgICAgICB0aGlzLmlzQ2xhc3MoXCJpcy1vYmplY3RcIiwgdGhpcy52YWx1ZUlzT2JqZWN0KTtcclxuICAgICAgICAgICAgdGhpcy5pc0NsYXNzKFwiaXMtdmFsdWVcIiwgIXRoaXMudmFsdWVJc09iamVjdCAmJiAhdGhpcy52YWx1ZUlzQXJyYXkpO1xyXG4gICAgICAgICAgICB0aGlzLmlzQ2xhc3MoYHR5cGUtJHt0aGlzLnZhbHVlVHlwZX1gKTtcclxuICAgICAgICAgICAgdGhpcy5pc0NsYXNzKGBwYXRoLSR7dGhpcy5wYXRoLnJlcGxhY2UoL1xcLi9nLCBcIi1cIil9YCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNDbGFzcyhga2V5LSR7dGhpcy5pdGVtLmtleX1gKTtcclxuICAgICAgICB9LCByZWFzb24gPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkNhbid0IGhhbmRsZSBwcm9taXNlIHJlamVjdGlvblwiLCByZWFzb24pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNDbGFzcyhjbGFzc05hbWU6IHN0cmluZywgdmFsdWU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuaXRlbS5jbGFzc0xpc3QucHVzaChjbGFzc05hbWUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { Directive, ElementRef, Input, TemplateRef } from "@angular/core";
2
+ import { UnorederedListTemplate } from "../common-types";
3
+ import * as i0 from "@angular/core";
4
+ export class UnorderedListTemplateDirective extends UnorederedListTemplate {
5
+ constructor(elementRef, templateRef) {
6
+ super();
7
+ this.elementRef = elementRef;
8
+ this.templateRef = templateRef;
9
+ }
10
+ createEmbeddedView(context) {
11
+ return this.templateRef.createEmbeddedView(context);
12
+ }
13
+ }
14
+ UnorderedListTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: UnorderedListTemplateDirective, deps: [{ token: i0.ElementRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
15
+ UnorderedListTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: UnorderedListTemplateDirective, selector: "ng-template[type][selector]", inputs: { type: "type", selector: "selector" }, usesInheritance: true, ngImport: i0 });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: UnorderedListTemplateDirective, decorators: [{
17
+ type: Directive,
18
+ args: [{
19
+ selector: "ng-template[type][selector]"
20
+ }]
21
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.TemplateRef }]; }, propDecorators: { type: [{
22
+ type: Input
23
+ }], selector: [{
24
+ type: Input
25
+ }] } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5vcmRlcmVkLWxpc3QtdGVtcGxhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9kaXJlY3RpdmVzL3Vub3JkZXJlZC1saXN0LXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBbUIsS0FBSyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFNdkQsTUFBTSxPQUFPLDhCQUErQixTQUFRLHNCQUFzQjtJQUt0RSxZQUFtQixVQUFzQixFQUFTLFdBQTZCO1FBQzNFLEtBQUssRUFBRSxDQUFDO1FBRE8sZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUUvRSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7MkhBWFEsOEJBQThCOytHQUE5Qiw4QkFBOEI7MkZBQTlCLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNkJBQTZCO2lCQUMxQzsySEFJWSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsIElucHV0LCBUZW1wbGF0ZVJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtVbm9yZWRlcmVkTGlzdFRlbXBsYXRlfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBcIm5nLXRlbXBsYXRlW3R5cGVdW3NlbGVjdG9yXVwiXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgVW5vcmRlcmVkTGlzdFRlbXBsYXRlRGlyZWN0aXZlIGV4dGVuZHMgVW5vcmVkZXJlZExpc3RUZW1wbGF0ZSB7XHJcblxyXG4gICAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgc2VsZWN0b3I6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVFbWJlZGRlZFZpZXcoY29udGV4dDogYW55KTogRW1iZWRkZWRWaWV3UmVmPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRlbXBsYXRlUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyhjb250ZXh0KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,165 @@
1
+ import { ErrorHandler } from "@angular/core";
2
+ import { EVENT_MANAGER_PLUGINS } from "@angular/platform-browser";
3
+ import { UrlSerializer } from "@angular/router";
4
+ import { DeviceDetectorService } from "ngx-device-detector";
5
+ import { AuthGuard } from "./utils/auth.guard";
6
+ import { AclService } from "./services/acl.service";
7
+ import { ApiService } from "./services/api.service";
8
+ import { StaticAuthService } from "./services/auth.service";
9
+ import { BaseHttpClient } from "./services/base-http.client";
10
+ import { BaseHttpService } from "./services/base-http.service";
11
+ import { ConfigService } from "./services/config.service";
12
+ import { ErrorHandlerService } from "./services/error-handler.service";
13
+ import { EventsService } from "./services/events.service";
14
+ import { FormatterService } from "./services/formatter.service";
15
+ import { GlobalTemplateService } from "./services/global-template.service";
16
+ import { IconService } from "./services/icon.service";
17
+ import { LanguageService } from "./services/language.service";
18
+ import { PromiseService } from "./services/promise.service";
19
+ import { OpenApiService } from "./services/open-api.service";
20
+ import { StateService } from "./services/state.service";
21
+ import { StaticLanguageService } from "./services/static-language.service";
22
+ import { StorageService } from "./services/storage.service";
23
+ import { ConsoleToasterService } from "./services/toaster.service";
24
+ import { TranslatedUrlSerializer } from "./services/translated-url.serializer";
25
+ import { UniversalService } from "./services/universal.service";
26
+ import { ResizeEventPlugin } from "./plugins/resize-event.plugin";
27
+ import { ScrollEventPlugin } from "./plugins/scroll-event.plugin";
28
+ import { AsyncMethodBase } from "./directives/async-method.base";
29
+ import { AsyncMethodDirective } from "./directives/async-method.directive";
30
+ import { BackgroundDirective } from "./directives/background.directive";
31
+ import { DynamicTableTemplateDirective } from "./directives/dynamic-table-template.directive";
32
+ import { GlobalTemplateDirective } from "./directives/global-template.directive";
33
+ import { IconDirective } from "./directives/icon.directive";
34
+ import { NgxTemplateOutletDirective } from "./directives/ngx-template-outlet.directive";
35
+ import { PaginationDirective } from "./directives/pagination.directive";
36
+ import { PaginationItemDirective } from "./directives/pagination-item.directive";
37
+ import { ResourceIfDirective } from "./directives/resource-if.directive";
38
+ import { StickyDirective } from "./directives/sticky.directive";
39
+ import { StickyClassDirective } from "./directives/sticky-class.directive";
40
+ import { UnorderedListItemDirective } from "./directives/unordered-list-item.directive";
41
+ import { UnorderedListTemplateDirective } from "./directives/unordered-list-template.directive";
42
+ import { ChunkPipe } from "./pipes/chunk.pipe";
43
+ import { EntriesPipe } from "./pipes/entries.pipe";
44
+ import { ExtraItemPropertiesPipe } from "./pipes/extra-item-properties.pipe";
45
+ import { FilterPipe } from "./pipes/filter.pipe";
46
+ import { FindPipe } from "./pipes/find.pipe";
47
+ import { FormatNumberPipe } from "./pipes/format-number.pipe";
48
+ import { GetOffsetPipe } from "./pipes/get-offset.pipe";
49
+ import { GetTypePipe } from "./pipes/get-type.pipe";
50
+ import { GlobalTemplatePipe } from "./pipes/global-template.pipe";
51
+ import { GroupByPipe } from "./pipes/group-by.pipe";
52
+ import { IsTypePipe } from "./pipes/is-type.pipe";
53
+ import { JoinPipe } from "./pipes/join.pipe";
54
+ import { KeysPipe } from "./pipes/keys.pipe";
55
+ import { MapPipe } from "./pipes/map.pipe";
56
+ import { MaxPipe } from "./pipes/max.pipe";
57
+ import { MinPipe } from "./pipes/min.pipe";
58
+ import { ReducePipe } from "./pipes/reduce.pipe";
59
+ import { RemapPipe } from "./pipes/remap.pipe";
60
+ import { ReplacePipe } from "./pipes/replace.pipe";
61
+ import { ReversePipe } from "./pipes/reverse.pipe";
62
+ import { RoundPipe } from "./pipes/round.pipe";
63
+ import { SafeHtmlPipe } from "./pipes/safe-html.pipe";
64
+ import { TranslatePipe } from "./pipes/translate.pipe";
65
+ import { ValuesPipe } from "./pipes/values.pipe";
66
+ import { DynamicTableComponent } from "./components/dynamic-table/dynamic-table.component";
67
+ import { PaginationMenuComponent } from "./components/pagination-menu/pagination-menu.component";
68
+ import { UnorderedListComponent } from "./components/unordered-list/unordered-list.component";
69
+ // --- Pipes ---
70
+ export const pipes = [
71
+ ChunkPipe,
72
+ EntriesPipe,
73
+ ExtraItemPropertiesPipe,
74
+ FilterPipe,
75
+ FindPipe,
76
+ FormatNumberPipe,
77
+ GetOffsetPipe,
78
+ GetTypePipe,
79
+ GlobalTemplatePipe,
80
+ GroupByPipe,
81
+ IsTypePipe,
82
+ JoinPipe,
83
+ KeysPipe,
84
+ MapPipe,
85
+ MaxPipe,
86
+ MinPipe,
87
+ ReducePipe,
88
+ RemapPipe,
89
+ ReplacePipe,
90
+ ReversePipe,
91
+ RoundPipe,
92
+ SafeHtmlPipe,
93
+ TranslatePipe,
94
+ ValuesPipe
95
+ ];
96
+ // --- Directives ---
97
+ export const directives = [
98
+ AsyncMethodBase,
99
+ AsyncMethodDirective,
100
+ BackgroundDirective,
101
+ DynamicTableTemplateDirective,
102
+ GlobalTemplateDirective,
103
+ IconDirective,
104
+ NgxTemplateOutletDirective,
105
+ PaginationDirective,
106
+ PaginationItemDirective,
107
+ ResourceIfDirective,
108
+ StickyDirective,
109
+ StickyClassDirective,
110
+ UnorderedListItemDirective,
111
+ UnorderedListTemplateDirective
112
+ ];
113
+ // --- Components ---
114
+ export const components = [
115
+ DynamicTableComponent,
116
+ PaginationMenuComponent,
117
+ UnorderedListComponent
118
+ ];
119
+ export const providers = [
120
+ ...pipes,
121
+ BaseHttpClient,
122
+ BaseHttpService,
123
+ AuthGuard,
124
+ AclService,
125
+ ApiService,
126
+ StaticAuthService,
127
+ ConfigService,
128
+ ErrorHandlerService,
129
+ EventsService,
130
+ FormatterService,
131
+ GlobalTemplateService,
132
+ IconService,
133
+ LanguageService,
134
+ OpenApiService,
135
+ PromiseService,
136
+ StateService,
137
+ StaticLanguageService,
138
+ StorageService,
139
+ ConsoleToasterService,
140
+ TranslatedUrlSerializer,
141
+ UniversalService,
142
+ DeviceDetectorService,
143
+ {
144
+ provide: EVENT_MANAGER_PLUGINS,
145
+ useClass: ResizeEventPlugin,
146
+ multi: true
147
+ },
148
+ {
149
+ provide: EVENT_MANAGER_PLUGINS,
150
+ useClass: ScrollEventPlugin,
151
+ multi: true
152
+ },
153
+ {
154
+ provide: UrlSerializer,
155
+ useExisting: TranslatedUrlSerializer
156
+ },
157
+ {
158
+ provide: ErrorHandler,
159
+ useExisting: ErrorHandlerService
160
+ }
161
+ ];
162
+ export function loadConfig(config) {
163
+ return config.load;
164
+ }
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXV0aWxzLmltcG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmd4LXV0aWxzL25neC11dGlscy5pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBSTFELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxjQUFj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O0lBQ2Ysb0JBQW9CO0lBQ3BCLDBCQUEwQjtJQUMxQiw4QkFBOEI7Q0FDakMsQ0FBQztBQUVGLHFCQUFxQjtBQUNyQixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIscUJBQXFCO0lBQ3JCLHVCQUF1QjtJQUN2QixzQkFBc0I7Q0FDekIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUNyQixHQUFHLEtBQUs7SUFDUixjQUFjO0lBQ2QsZUFBZTtJQUNmLFNBQVM7SUFDVCxVQUFVO0lBQ1YsVUFBVTtJQUNWLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsY0FBYztJQUNkLGNBQWM7SUFDZCxZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLGNBQWM7SUFDZCxxQkFBcUI7SUFDckIsdUJBQXVCO0lBQ3ZCLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckI7UUFDSSxPQUFPLEVBQUUscUJBQXFCO1FBQzlCLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsS0FBSyxFQUFFLElBQUk7S0FDZDtJQUNEO1FBQ0ksT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLEtBQUssRUFBRSxJQUFJO0tBQ2Q7SUFDRDtRQUNJLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLFdBQVcsRUFBRSx1QkFBdUI7S0FDdkM7SUFDRDtRQUNJLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFdBQVcsRUFBRSxtQkFBbUI7S0FDbkM7Q0FFSixDQUFDO0FBRUYsTUFBTSxVQUFVLFVBQVUsQ0FBQyxNQUFzQjtJQUM3QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXJyb3JIYW5kbGVyfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0VWRU5UX01BTkFHRVJfUExVR0lOU30gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuaW1wb3J0IHtVcmxTZXJpYWxpemVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7RGV2aWNlRGV0ZWN0b3JTZXJ2aWNlfSBmcm9tIFwibmd4LWRldmljZS1kZXRlY3RvclwiO1xyXG5cclxuaW1wb3J0IHtJQ29uZmlnU2VydmljZX0gZnJvbSBcIi4vY29tbW9uLXR5cGVzXCI7XHJcblxyXG5pbXBvcnQge0F1dGhHdWFyZH0gZnJvbSBcIi4vdXRpbHMvYXV0aC5ndWFyZFwiO1xyXG5pbXBvcnQge0FjbFNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2FjbC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QXBpU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvYXBpLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdGF0aWNBdXRoU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QmFzZUh0dHBDbGllbnR9IGZyb20gXCIuL3NlcnZpY2VzL2Jhc2UtaHR0cC5jbGllbnRcIjtcclxuaW1wb3J0IHtCYXNlSHR0cFNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2Jhc2UtaHR0cC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtFcnJvckhhbmRsZXJTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9lcnJvci1oYW5kbGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtFdmVudHNTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZVwiO1xyXG5pbXBvcnQge0Zvcm1hdHRlclNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7R2xvYmFsVGVtcGxhdGVTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9nbG9iYWwtdGVtcGxhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb25TZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9pY29uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtMYW5ndWFnZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2xhbmd1YWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQcm9taXNlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvcHJvbWlzZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7T3BlbkFwaVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL29wZW4tYXBpLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdGF0ZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3N0YXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdGF0aWNMYW5ndWFnZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3N0YXRpYy1sYW5ndWFnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RvcmFnZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvbnNvbGVUb2FzdGVyU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlZFVybFNlcmlhbGl6ZXJ9IGZyb20gXCIuL3NlcnZpY2VzL3RyYW5zbGF0ZWQtdXJsLnNlcmlhbGl6ZXJcIjtcclxuaW1wb3J0IHtVbml2ZXJzYWxTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy91bml2ZXJzYWwuc2VydmljZVwiO1xyXG5pbXBvcnQge1Jlc2l6ZUV2ZW50UGx1Z2lufSBmcm9tIFwiLi9wbHVnaW5zL3Jlc2l6ZS1ldmVudC5wbHVnaW5cIjtcclxuaW1wb3J0IHtTY3JvbGxFdmVudFBsdWdpbn0gZnJvbSBcIi4vcGx1Z2lucy9zY3JvbGwtZXZlbnQucGx1Z2luXCI7XHJcbmltcG9ydCB7QXN5bmNNZXRob2RCYXNlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2FzeW5jLW1ldGhvZC5iYXNlXCI7XHJcbmltcG9ydCB7QXN5bmNNZXRob2REaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvYXN5bmMtbWV0aG9kLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge0JhY2tncm91bmREaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvYmFja2dyb3VuZC5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtEeW5hbWljVGFibGVUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9keW5hbWljLXRhYmxlLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge0dsb2JhbFRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2dsb2JhbC10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtJY29uRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2ljb24uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7Tmd4VGVtcGxhdGVPdXRsZXREaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvbmd4LXRlbXBsYXRlLW91dGxldC5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtQYWdpbmF0aW9uRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3BhZ2luYXRpb24uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7UGFnaW5hdGlvbkl0ZW1EaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvcGFnaW5hdGlvbi1pdGVtLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1Jlc291cmNlSWZEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvcmVzb3VyY2UtaWYuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7U3RpY2t5RGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3N0aWNreS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtTdGlja3lDbGFzc0RpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9zdGlja3ktY2xhc3MuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7VW5vcmRlcmVkTGlzdEl0ZW1EaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvdW5vcmRlcmVkLWxpc3QtaXRlbS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtVbm9yZGVyZWRMaXN0VGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvdW5vcmRlcmVkLWxpc3QtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcblxyXG5pbXBvcnQge0NodW5rUGlwZX0gZnJvbSBcIi4vcGlwZXMvY2h1bmsucGlwZVwiO1xyXG5pbXBvcnQge0VudHJpZXNQaXBlfSBmcm9tIFwiLi9waXBlcy9lbnRyaWVzLnBpcGVcIjtcclxuaW1wb3J0IHtFeHRyYUl0ZW1Qcm9wZXJ0aWVzUGlwZX0gZnJvbSBcIi4vcGlwZXMvZXh0cmEtaXRlbS1wcm9wZXJ0aWVzLnBpcGVcIjtcclxuaW1wb3J0IHtGaWx0ZXJQaXBlfSBmcm9tIFwiLi9waXBlcy9maWx0ZXIucGlwZVwiO1xyXG5pbXBvcnQge0ZpbmRQaXBlfSBmcm9tIFwiLi9waXBlcy9maW5kLnBpcGVcIjtcclxuaW1wb3J0IHtGb3JtYXROdW1iZXJQaXBlfSBmcm9tIFwiLi9waXBlcy9mb3JtYXQtbnVtYmVyLnBpcGVcIjtcclxuaW1wb3J0IHtHZXRPZmZzZXRQaXBlfSBmcm9tIFwiLi9waXBlcy9nZXQtb2Zmc2V0LnBpcGVcIjtcclxuaW1wb3J0IHtHZXRUeXBlUGlwZX0gZnJvbSBcIi4vcGlwZXMvZ2V0LXR5cGUucGlwZVwiO1xyXG5pbXBvcnQge0dsb2JhbFRlbXBsYXRlUGlwZX0gZnJvbSBcIi4vcGlwZXMvZ2xvYmFsLXRlbXBsYXRlLnBpcGVcIjtcclxuaW1wb3J0IHtHcm91cEJ5UGlwZX0gZnJvbSBcIi4vcGlwZXMvZ3JvdXAtYnkucGlwZVwiO1xyXG5pbXBvcnQge0lzVHlwZVBpcGV9IGZyb20gXCIuL3BpcGVzL2lzLXR5cGUucGlwZVwiO1xyXG5pbXBvcnQge0pvaW5QaXBlfSBmcm9tIFwiLi9waXBlcy9qb2luLnBpcGVcIjtcclxuaW1wb3J0IHtLZXlzUGlwZX0gZnJvbSBcIi4vcGlwZXMva2V5cy5waXBlXCI7XHJcbmltcG9ydCB7TWFwUGlwZX0gZnJvbSBcIi4vcGlwZXMvbWFwLnBpcGVcIjtcclxuaW1wb3J0IHtNYXhQaXBlfSBmcm9tIFwiLi9waXBlcy9tYXgucGlwZVwiO1xyXG5pbXBvcnQge01pblBpcGV9IGZyb20gXCIuL3BpcGVzL21pbi5waXBlXCI7XHJcbmltcG9ydCB7UmVkdWNlUGlwZX0gZnJvbSBcIi4vcGlwZXMvcmVkdWNlLnBpcGVcIjtcclxuaW1wb3J0IHtSZW1hcFBpcGV9IGZyb20gXCIuL3BpcGVzL3JlbWFwLnBpcGVcIjtcclxuaW1wb3J0IHtSZXBsYWNlUGlwZX0gZnJvbSBcIi4vcGlwZXMvcmVwbGFjZS5waXBlXCI7XHJcbmltcG9ydCB7UmV2ZXJzZVBpcGV9IGZyb20gXCIuL3BpcGVzL3JldmVyc2UucGlwZVwiO1xyXG5pbXBvcnQge1JvdW5kUGlwZX0gZnJvbSBcIi4vcGlwZXMvcm91bmQucGlwZVwiO1xyXG5pbXBvcnQge1NhZmVIdG1sUGlwZX0gZnJvbSBcIi4vcGlwZXMvc2FmZS1odG1sLnBpcGVcIjtcclxuaW1wb3J0IHtUcmFuc2xhdGVQaXBlfSBmcm9tIFwiLi9waXBlcy90cmFuc2xhdGUucGlwZVwiO1xyXG5pbXBvcnQge1ZhbHVlc1BpcGV9IGZyb20gXCIuL3BpcGVzL3ZhbHVlcy5waXBlXCI7XHJcblxyXG5pbXBvcnQge0R5bmFtaWNUYWJsZUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7UGFnaW5hdGlvbk1lbnVDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvcGFnaW5hdGlvbi1tZW51L3BhZ2luYXRpb24tbWVudS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtVbm9yZGVyZWRMaXN0Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL3Vub3JkZXJlZC1saXN0L3Vub3JkZXJlZC1saXN0LmNvbXBvbmVudFwiO1xyXG5cclxuLy8gLS0tIFBpcGVzIC0tLVxyXG5leHBvcnQgY29uc3QgcGlwZXMgPSBbXHJcbiAgICBDaHVua1BpcGUsXHJcbiAgICBFbnRyaWVzUGlwZSxcclxuICAgIEV4dHJhSXRlbVByb3BlcnRpZXNQaXBlLFxyXG4gICAgRmlsdGVyUGlwZSxcclxuICAgIEZpbmRQaXBlLFxyXG4gICAgRm9ybWF0TnVtYmVyUGlwZSxcclxuICAgIEdldE9mZnNldFBpcGUsXHJcbiAgICBHZXRUeXBlUGlwZSxcclxuICAgIEdsb2JhbFRlbXBsYXRlUGlwZSxcclxuICAgIEdyb3VwQnlQaXBlLFxyXG4gICAgSXNUeXBlUGlwZSxcclxuICAgIEpvaW5QaXBlLFxyXG4gICAgS2V5c1BpcGUsXHJcbiAgICBNYXBQaXBlLFxyXG4gICAgTWF4UGlwZSxcclxuICAgIE1pblBpcGUsXHJcbiAgICBSZWR1Y2VQaXBlLFxyXG4gICAgUmVtYXBQaXBlLFxyXG4gICAgUmVwbGFjZVBpcGUsXHJcbiAgICBSZXZlcnNlUGlwZSxcclxuICAgIFJvdW5kUGlwZSxcclxuICAgIFNhZmVIdG1sUGlwZSxcclxuICAgIFRyYW5zbGF0ZVBpcGUsXHJcbiAgICBWYWx1ZXNQaXBlXHJcbl07XHJcblxyXG4vLyAtLS0gRGlyZWN0aXZlcyAtLS1cclxuZXhwb3J0IGNvbnN0IGRpcmVjdGl2ZXMgPSBbXHJcbiAgICBBc3luY01ldGhvZEJhc2UsXHJcbiAgICBBc3luY01ldGhvZERpcmVjdGl2ZSxcclxuICAgIEJhY2tncm91bmREaXJlY3RpdmUsXHJcbiAgICBEeW5hbWljVGFibGVUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICAgIEdsb2JhbFRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gICAgSWNvbkRpcmVjdGl2ZSxcclxuICAgIE5neFRlbXBsYXRlT3V0bGV0RGlyZWN0aXZlLFxyXG4gICAgUGFnaW5hdGlvbkRpcmVjdGl2ZSxcclxuICAgIFBhZ2luYXRpb25JdGVtRGlyZWN0aXZlLFxyXG4gICAgUmVzb3VyY2VJZkRpcmVjdGl2ZSxcclxuICAgIFN0aWNreURpcmVjdGl2ZSxcclxuICAgIFN0aWNreUNsYXNzRGlyZWN0aXZlLFxyXG4gICAgVW5vcmRlcmVkTGlzdEl0ZW1EaXJlY3RpdmUsXHJcbiAgICBVbm9yZGVyZWRMaXN0VGVtcGxhdGVEaXJlY3RpdmVcclxuXTtcclxuXHJcbi8vIC0tLSBDb21wb25lbnRzIC0tLVxyXG5leHBvcnQgY29uc3QgY29tcG9uZW50cyA9IFtcclxuICAgIER5bmFtaWNUYWJsZUNvbXBvbmVudCxcclxuICAgIFBhZ2luYXRpb25NZW51Q29tcG9uZW50LFxyXG4gICAgVW5vcmRlcmVkTGlzdENvbXBvbmVudFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IHByb3ZpZGVycyA9IFtcclxuICAgIC4uLnBpcGVzLFxyXG4gICAgQmFzZUh0dHBDbGllbnQsXHJcbiAgICBCYXNlSHR0cFNlcnZpY2UsXHJcbiAgICBBdXRoR3VhcmQsXHJcbiAgICBBY2xTZXJ2aWNlLFxyXG4gICAgQXBpU2VydmljZSxcclxuICAgIFN0YXRpY0F1dGhTZXJ2aWNlLFxyXG4gICAgQ29uZmlnU2VydmljZSxcclxuICAgIEVycm9ySGFuZGxlclNlcnZpY2UsXHJcbiAgICBFdmVudHNTZXJ2aWNlLFxyXG4gICAgRm9ybWF0dGVyU2VydmljZSxcclxuICAgIEdsb2JhbFRlbXBsYXRlU2VydmljZSxcclxuICAgIEljb25TZXJ2aWNlLFxyXG4gICAgTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgT3BlbkFwaVNlcnZpY2UsXHJcbiAgICBQcm9taXNlU2VydmljZSxcclxuICAgIFN0YXRlU2VydmljZSxcclxuICAgIFN0YXRpY0xhbmd1YWdlU2VydmljZSxcclxuICAgIFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgQ29uc29sZVRvYXN0ZXJTZXJ2aWNlLFxyXG4gICAgVHJhbnNsYXRlZFVybFNlcmlhbGl6ZXIsXHJcbiAgICBVbml2ZXJzYWxTZXJ2aWNlLFxyXG4gICAgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICAgIHByb3ZpZGU6IEVWRU5UX01BTkFHRVJfUExVR0lOUyxcclxuICAgICAgICB1c2VDbGFzczogUmVzaXplRXZlbnRQbHVnaW4sXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogRVZFTlRfTUFOQUdFUl9QTFVHSU5TLFxyXG4gICAgICAgIHVzZUNsYXNzOiBTY3JvbGxFdmVudFBsdWdpbixcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwcm92aWRlOiBVcmxTZXJpYWxpemVyLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBUcmFuc2xhdGVkVXJsU2VyaWFsaXplclxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwcm92aWRlOiBFcnJvckhhbmRsZXIsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IEVycm9ySGFuZGxlclNlcnZpY2VcclxuICAgIH1cclxuXHJcbl07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZENvbmZpZyhjb25maWc6IElDb25maWdTZXJ2aWNlKTogYW55IHtcclxuICAgIHJldHVybiBjb25maWcubG9hZDtcclxufVxyXG4iXX0=