@ts-core/angular 18.0.0 → 19.0.0

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 (126) hide show
  1. package/_index.scss +1 -1
  2. package/application/ApplicationBaseComponent.d.ts +1 -1
  3. package/fesm2022/ts-core-angular.mjs +288 -241
  4. package/fesm2022/ts-core-angular.mjs.map +1 -1
  5. package/notification/INotificationContent.d.ts +1 -1
  6. package/package.json +13 -15
  7. package/service/ServiceWorkerService.d.ts +3 -1
  8. package/theme/ThemeAssetDirective.d.ts +1 -1
  9. package/window/IWindowContent.d.ts +1 -1
  10. package/esm2022/ApplicationInjector.mjs +0 -9
  11. package/esm2022/VIModule.mjs +0 -190
  12. package/esm2022/application/ApplicationBaseComponent.mjs +0 -96
  13. package/esm2022/application/ApplicationComponent.mjs +0 -64
  14. package/esm2022/application/MessageBaseComponent.mjs +0 -60
  15. package/esm2022/asset/AssetBackgroundDirective.mjs +0 -155
  16. package/esm2022/asset/AssetBackgroundPipe.mjs +0 -22
  17. package/esm2022/asset/AssetFilePipe.mjs +0 -22
  18. package/esm2022/asset/AssetIconPipe.mjs +0 -22
  19. package/esm2022/asset/AssetImagePipe.mjs +0 -22
  20. package/esm2022/asset/AssetModule.mjs +0 -25
  21. package/esm2022/asset/AssetSoundPipe.mjs +0 -22
  22. package/esm2022/asset/AssetVideoPipe.mjs +0 -22
  23. package/esm2022/bottomSheet/BottomSheetService.mjs +0 -4
  24. package/esm2022/cookie/CookieModule.mjs +0 -47
  25. package/esm2022/cookie/CookieOptions.mjs +0 -9
  26. package/esm2022/cookie/CookieService.mjs +0 -69
  27. package/esm2022/directive/AspectRatioResizeDirective.mjs +0 -135
  28. package/esm2022/directive/AutoScrollBottomDirective.mjs +0 -122
  29. package/esm2022/directive/ClickToCopyDirective.mjs +0 -53
  30. package/esm2022/directive/ClickToSelectDirective.mjs +0 -55
  31. package/esm2022/directive/FocusDirective.mjs +0 -60
  32. package/esm2022/directive/HTMLContentTitleDirective.mjs +0 -74
  33. package/esm2022/directive/HTMLTitleDirective.mjs +0 -73
  34. package/esm2022/directive/InfiniteScrollDirective.mjs +0 -72
  35. package/esm2022/directive/IsBrowserDirective.mjs +0 -24
  36. package/esm2022/directive/IsServerDirective.mjs +0 -24
  37. package/esm2022/directive/ResizeDirective.mjs +0 -84
  38. package/esm2022/directive/ScrollCheckDirective.mjs +0 -106
  39. package/esm2022/directive/ScrollDirective.mjs +0 -121
  40. package/esm2022/directive/SelectOnFocusDirective.mjs +0 -48
  41. package/esm2022/directive/StructureDirective.mjs +0 -80
  42. package/esm2022/language/LanguageDirective.mjs +0 -103
  43. package/esm2022/language/LanguageHasDirective.mjs +0 -87
  44. package/esm2022/language/LanguageModule.mjs +0 -61
  45. package/esm2022/language/LanguagePipe.mjs +0 -88
  46. package/esm2022/language/LanguagePipeHas.mjs +0 -64
  47. package/esm2022/language/LanguagePipeHasPure.mjs +0 -41
  48. package/esm2022/language/LanguagePipePure.mjs +0 -40
  49. package/esm2022/language/LanguageRequireResolver.mjs +0 -37
  50. package/esm2022/language/LanguageResolver.mjs +0 -21
  51. package/esm2022/list/IListItem.mjs +0 -2
  52. package/esm2022/list/ListItem.mjs +0 -148
  53. package/esm2022/list/ListItems.mjs +0 -107
  54. package/esm2022/list/select/ISelectListItem.mjs +0 -2
  55. package/esm2022/list/select/RouterSelectListItems.mjs +0 -60
  56. package/esm2022/list/select/SelectListItem.mjs +0 -67
  57. package/esm2022/list/select/SelectListItems.mjs +0 -130
  58. package/esm2022/login/LoginBaseService.mjs +0 -191
  59. package/esm2022/login/LoginGuard.mjs +0 -41
  60. package/esm2022/login/LoginIfCanGuard.mjs +0 -55
  61. package/esm2022/login/LoginNotGuard.mjs +0 -41
  62. package/esm2022/login/LoginRequireResolver.mjs +0 -40
  63. package/esm2022/login/LoginResolver.mjs +0 -24
  64. package/esm2022/login/LoginTokenStorage.mjs +0 -18
  65. package/esm2022/manager/FocusManager.mjs +0 -54
  66. package/esm2022/manager/ResizeManager.mjs +0 -90
  67. package/esm2022/menu/MenuItem.mjs +0 -20
  68. package/esm2022/menu/MenuItemBase.mjs +0 -56
  69. package/esm2022/menu/MenuItems.mjs +0 -111
  70. package/esm2022/menu/NavigationMenuItem.mjs +0 -20
  71. package/esm2022/module/LazyModuleLoader.mjs +0 -97
  72. package/esm2022/notification/INotification.mjs +0 -16
  73. package/esm2022/notification/INotificationConfig.mjs +0 -2
  74. package/esm2022/notification/INotificationContent.mjs +0 -141
  75. package/esm2022/notification/NotificationConfig.mjs +0 -27
  76. package/esm2022/notification/NotificationService.mjs +0 -4
  77. package/esm2022/notification/NotificationServiceEvent.mjs +0 -8
  78. package/esm2022/pipe/CamelCasePipe.mjs +0 -23
  79. package/esm2022/pipe/FinancePipe.mjs +0 -53
  80. package/esm2022/pipe/MomentDateAdaptivePipe.mjs +0 -51
  81. package/esm2022/pipe/MomentDateFromNowPipe.mjs +0 -22
  82. package/esm2022/pipe/MomentDatePipe.mjs +0 -71
  83. package/esm2022/pipe/MomentTimePipe.mjs +0 -35
  84. package/esm2022/pipe/NgModelErrorPipe.mjs +0 -43
  85. package/esm2022/pipe/PrettifyPipe.mjs +0 -38
  86. package/esm2022/pipe/SanitizePipe.mjs +0 -48
  87. package/esm2022/pipe/StartCasePipe.mjs +0 -23
  88. package/esm2022/pipe/TimePipe.mjs +0 -38
  89. package/esm2022/pipe/TruncatePipe.mjs +0 -23
  90. package/esm2022/public-api.mjs +0 -139
  91. package/esm2022/question/IQuestion.mjs +0 -14
  92. package/esm2022/question/QuestionManager.mjs +0 -107
  93. package/esm2022/service/PipeBaseService.mjs +0 -140
  94. package/esm2022/service/PlatformService.mjs +0 -44
  95. package/esm2022/service/RouterBaseService.mjs +0 -234
  96. package/esm2022/service/ServiceWorkerService.mjs +0 -107
  97. package/esm2022/service/route/CanDeactivateGuard.mjs +0 -11
  98. package/esm2022/service/route/IRouterDeactivatable.mjs +0 -2
  99. package/esm2022/storage/BooleanValueStorage.mjs +0 -15
  100. package/esm2022/storage/DateValueStorage.mjs +0 -46
  101. package/esm2022/storage/IValueStorage.mjs +0 -2
  102. package/esm2022/storage/LocalStorageService.mjs +0 -73
  103. package/esm2022/storage/ValueStorage.mjs +0 -84
  104. package/esm2022/theme/ThemeAssetBackgroundDirective.mjs +0 -51
  105. package/esm2022/theme/ThemeAssetDirective.mjs +0 -253
  106. package/esm2022/theme/ThemeAssetIconDirective.mjs +0 -48
  107. package/esm2022/theme/ThemeAssetImageDirective.mjs +0 -49
  108. package/esm2022/theme/ThemeModule.mjs +0 -81
  109. package/esm2022/theme/ThemeStyleDirective.mjs +0 -125
  110. package/esm2022/theme/ThemeStyleHoverDirective.mjs +0 -107
  111. package/esm2022/theme/ThemeToggleDirective.mjs +0 -63
  112. package/esm2022/transport/TransportLazy.mjs +0 -93
  113. package/esm2022/transport/TransportLazyModule.mjs +0 -30
  114. package/esm2022/transport/TransportLazyModuleLoadedEvent.mjs +0 -18
  115. package/esm2022/ts-core-angular.mjs +0 -5
  116. package/esm2022/user/IUser.mjs +0 -9
  117. package/esm2022/user/UserBaseService.mjs +0 -124
  118. package/esm2022/util/ViewUtil.mjs +0 -589
  119. package/esm2022/window/IWindow.mjs +0 -31
  120. package/esm2022/window/IWindowConfig.mjs +0 -7
  121. package/esm2022/window/IWindowContent.mjs +0 -143
  122. package/esm2022/window/WindowBase.mjs +0 -177
  123. package/esm2022/window/WindowClosedError.mjs +0 -19
  124. package/esm2022/window/WindowConfig.mjs +0 -218
  125. package/esm2022/window/WindowService.mjs +0 -4
  126. package/esm2022/window/WindowServiceEvent.mjs +0 -9
@@ -1,84 +0,0 @@
1
- import { DestroyableContainer } from '@ts-core/common';
2
- import * as _ from 'lodash';
3
- export class ValueStorage extends DestroyableContainer {
4
- storage;
5
- cookies;
6
- //--------------------------------------------------------------------------
7
- //
8
- // Properties
9
- //
10
- //--------------------------------------------------------------------------
11
- _name;
12
- //--------------------------------------------------------------------------
13
- //
14
- // Constructor
15
- //
16
- //--------------------------------------------------------------------------
17
- constructor(name, storage, cookies) {
18
- super();
19
- this.storage = storage;
20
- this.cookies = cookies;
21
- this._name = name;
22
- }
23
- //--------------------------------------------------------------------------
24
- //
25
- // Protected Methods
26
- //
27
- //--------------------------------------------------------------------------
28
- serialize(value) {
29
- return value;
30
- }
31
- deserialize(value) {
32
- return value;
33
- }
34
- //--------------------------------------------------------------------------
35
- //
36
- // Public Methods
37
- //
38
- //--------------------------------------------------------------------------
39
- get(defaultValue) {
40
- if (this.isDestroyed) {
41
- return null;
42
- }
43
- let item = null;
44
- if (this.storage.has(this.name)) {
45
- item = this.storage.get(this.name);
46
- }
47
- else if (this.cookies.has(this.name)) {
48
- item = this.cookies.get(this.name);
49
- }
50
- return !_.isNil(item) ? this.serialize(item) : defaultValue;
51
- }
52
- has() {
53
- if (this.isDestroyed) {
54
- return false;
55
- }
56
- return this.storage.has(this.name) || this.cookies.has(this.name);
57
- }
58
- set(value) {
59
- if (this.isDestroyed) {
60
- return null;
61
- }
62
- let item = !_.isNil(value) ? this.deserialize(value) : null;
63
- this.cookies.put(this.name, item);
64
- this.storage.set(this.name, item);
65
- return value;
66
- }
67
- destroy() {
68
- if (this.isDestroyed) {
69
- return;
70
- }
71
- super.destroy();
72
- this.cookies = null;
73
- this.storage = null;
74
- }
75
- //--------------------------------------------------------------------------
76
- //
77
- // Public Properties
78
- //
79
- //--------------------------------------------------------------------------
80
- get name() {
81
- return this._name;
82
- }
83
- }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsdWVTdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3JhZ2UvVmFsdWVTdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSXZELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyxZQUF5QixTQUFRLG9CQUFvQjtJQWUxQjtJQUF3QztJQWQ1RSw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNEVBQTRFO0lBRWxFLEtBQUssQ0FBUztJQUV4Qiw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNEVBQTRFO0lBRTVFLFlBQVksSUFBWSxFQUFZLE9BQTRCLEVBQVksT0FBc0I7UUFDOUYsS0FBSyxFQUFFLENBQUM7UUFEd0IsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFBWSxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBRTlGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLHFCQUFxQjtJQUNyQixFQUFFO0lBQ0YsNEVBQTRFO0lBRWxFLFNBQVMsQ0FBQyxLQUFhO1FBQzdCLE9BQU8sS0FBVSxDQUFDO0lBQ3RCLENBQUM7SUFFUyxXQUFXLENBQUMsS0FBUTtRQUMxQixPQUFPLEtBQWUsQ0FBQztJQUMzQixDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDRFQUE0RTtJQUVyRSxHQUFHLENBQUMsWUFBZ0I7UUFDdkIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzlCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUNoRSxDQUFDO0lBRU0sR0FBRztRQUNOLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLEdBQUcsQ0FBQyxLQUFRO1FBQ2YsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzVELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsQyxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLE9BQU87UUFDWCxDQUFDO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLHFCQUFxQjtJQUNyQixFQUFFO0lBQ0YsNEVBQTRFO0lBRTVFLElBQVcsSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95YWJsZUNvbnRhaW5lciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vY29va2llL0Nvb2tpZVNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3N0b3JhZ2UvTG9jYWxTdG9yYWdlU2VydmljZSc7XG5pbXBvcnQgeyBJVmFsdWVTdG9yYWdlIH0gZnJvbSAnLi9JVmFsdWVTdG9yYWdlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGNsYXNzIFZhbHVlU3RvcmFnZTxUID0gc3RyaW5nPiBleHRlbmRzIERlc3Ryb3lhYmxlQ29udGFpbmVyIGltcGxlbWVudHMgSVZhbHVlU3RvcmFnZTxUPiB7XG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgX25hbWU6IHN0cmluZztcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgcHJvdGVjdGVkIHN0b3JhZ2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsIHByb3RlY3RlZCBjb29raWVzOiBDb29raWVTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX25hbWUgPSBuYW1lO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBzZXJpYWxpemUodmFsdWU6IHN0cmluZyk6IFQge1xuICAgICAgICByZXR1cm4gdmFsdWUgYXMgVDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZGVzZXJpYWxpemUodmFsdWU6IFQpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdmFsdWUgYXMgc3RyaW5nO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQoZGVmYXVsdFZhbHVlPzogVCk6IFQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGl0ZW0gPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5zdG9yYWdlLmhhcyh0aGlzLm5hbWUpKSB7XG4gICAgICAgICAgICBpdGVtID0gdGhpcy5zdG9yYWdlLmdldCh0aGlzLm5hbWUpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29va2llcy5oYXModGhpcy5uYW1lKSkge1xuICAgICAgICAgICAgaXRlbSA9IHRoaXMuY29va2llcy5nZXQodGhpcy5uYW1lKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gIV8uaXNOaWwoaXRlbSkgPyB0aGlzLnNlcmlhbGl6ZShpdGVtKSA6IGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuaGFzKHRoaXMubmFtZSkgfHwgdGhpcy5jb29raWVzLmhhcyh0aGlzLm5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQodmFsdWU6IFQpOiBUIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGxldCBpdGVtID0gIV8uaXNOaWwodmFsdWUpID8gdGhpcy5kZXNlcmlhbGl6ZSh2YWx1ZSkgOiBudWxsO1xuICAgICAgICB0aGlzLmNvb2tpZXMucHV0KHRoaXMubmFtZSwgaXRlbSk7XG4gICAgICAgIHRoaXMuc3RvcmFnZS5zZXQodGhpcy5uYW1lLCBpdGVtKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5jb29raWVzID0gbnVsbDtcbiAgICAgICAgdGhpcy5zdG9yYWdlID0gbnVsbDtcbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7XG4gICAgfVxufVxuIl19
@@ -1,51 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { ViewUtil } from '../util/ViewUtil';
3
- import { ThemeAssetDirective } from './ThemeAssetDirective';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@ts-core/frontend";
6
- export class ThemeAssetBackgroundDirective extends ThemeAssetDirective {
7
- // --------------------------------------------------------------------------
8
- //
9
- // Constructor
10
- //
11
- // --------------------------------------------------------------------------
12
- constructor(element, theme, themeAsset) {
13
- super(element, theme, themeAsset);
14
- this.isBackground = true;
15
- }
16
- // --------------------------------------------------------------------------
17
- //
18
- // Private Methods
19
- //
20
- // --------------------------------------------------------------------------
21
- addSourceProperties() {
22
- let value = 'url(' + this.source + ')';
23
- ViewUtil.setStyle(this.element, 'backgroundImage', value);
24
- }
25
- removeSourceProperties() {
26
- ViewUtil.removeStyle(this.element, 'backgroundImage');
27
- }
28
- // --------------------------------------------------------------------------
29
- //
30
- // Public Properties
31
- //
32
- // --------------------------------------------------------------------------
33
- set name(value) {
34
- super.name = value;
35
- }
36
- get name() {
37
- return super.name;
38
- }
39
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ThemeAssetBackgroundDirective, deps: [{ token: i0.ElementRef }, { token: i1.ThemeService }, { token: i1.ThemeAssetService }], target: i0.ɵɵFactoryTarget.Directive });
40
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.10", type: ThemeAssetBackgroundDirective, selector: "[vi-theme-background]", inputs: { name: ["vi-theme-background", "name"] }, usesInheritance: true, ngImport: i0 });
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ThemeAssetBackgroundDirective, decorators: [{
43
- type: Directive,
44
- args: [{
45
- selector: '[vi-theme-background]'
46
- }]
47
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThemeService }, { type: i1.ThemeAssetService }], propDecorators: { name: [{
48
- type: Input,
49
- args: ['vi-theme-background']
50
- }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWVBc3NldEJhY2tncm91bmREaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGhlbWUvVGhlbWVBc3NldEJhY2tncm91bmREaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFLNUQsTUFBTSxPQUFPLDZCQUE4QixTQUFRLG1CQUFtQjtJQUNsRSw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQVksT0FBbUIsRUFBRSxLQUFtQixFQUFFLFVBQTZCO1FBQy9FLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLG1CQUFtQjtRQUN6QixJQUFJLEtBQUssR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDdkMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFUyxzQkFBc0I7UUFDNUIsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysb0JBQW9CO0lBQ3BCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFDVyxJQUFJLENBQUMsS0FBYTtRQUN6QixLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBVyxJQUFJO1FBQ1gsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3RCLENBQUM7d0dBdkNRLDZCQUE2Qjs0RkFBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQUh6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7aUJBQ3BDOzBJQW1DYyxJQUFJO3NCQURkLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVBc3NldFNlcnZpY2UsIFRoZW1lU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vdXRpbC9WaWV3VXRpbCc7XG5pbXBvcnQgeyBUaGVtZUFzc2V0RGlyZWN0aXZlIH0gZnJvbSAnLi9UaGVtZUFzc2V0RGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdmktdGhlbWUtYmFja2dyb3VuZF0nXG59KVxuZXhwb3J0IGNsYXNzIFRoZW1lQXNzZXRCYWNrZ3JvdW5kRGlyZWN0aXZlIGV4dGVuZHMgVGhlbWVBc3NldERpcmVjdGl2ZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHRoZW1lOiBUaGVtZVNlcnZpY2UsIHRoZW1lQXNzZXQ6IFRoZW1lQXNzZXRTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnQsIHRoZW1lLCB0aGVtZUFzc2V0KTtcbiAgICAgICAgdGhpcy5pc0JhY2tncm91bmQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHJpdmF0ZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGFkZFNvdXJjZVByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIGxldCB2YWx1ZSA9ICd1cmwoJyArIHRoaXMuc291cmNlICsgJyknO1xuICAgICAgICBWaWV3VXRpbC5zZXRTdHlsZSh0aGlzLmVsZW1lbnQsICdiYWNrZ3JvdW5kSW1hZ2UnLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbW92ZVNvdXJjZVByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIFZpZXdVdGlsLnJlbW92ZVN0eWxlKHRoaXMuZWxlbWVudCwgJ2JhY2tncm91bmRJbWFnZScpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBASW5wdXQoJ3ZpLXRoZW1lLWJhY2tncm91bmQnKVxuICAgIHB1YmxpYyBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyLm5hbWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBzdXBlci5uYW1lO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,253 +0,0 @@
1
- import { Directive, HostListener, Input, booleanAttribute } from '@angular/core';
2
- import { Destroyable } from '@ts-core/common';
3
- import * as _ from 'lodash';
4
- import { takeUntil } from 'rxjs';
5
- import { ViewUtil } from '../util/ViewUtil';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@ts-core/frontend";
8
- export class ThemeAssetDirective extends Destroyable {
9
- theme;
10
- themeAsset;
11
- // --------------------------------------------------------------------------
12
- //
13
- // Properties
14
- //
15
- // --------------------------------------------------------------------------
16
- _name;
17
- _source;
18
- _extension = 'png';
19
- _isFile = false;
20
- _isImage = false;
21
- _isVideo = false;
22
- _isSound = false;
23
- _isBackground = false;
24
- _isIgnoreTheme = true;
25
- element;
26
- isTriedThemeDefault;
27
- // --------------------------------------------------------------------------
28
- //
29
- // Constructor
30
- //
31
- // --------------------------------------------------------------------------
32
- constructor(element, theme, themeAsset) {
33
- super();
34
- this.theme = theme;
35
- this.themeAsset = themeAsset;
36
- this.element = ViewUtil.parseElement(element.nativeElement);
37
- this.theme.changed.pipe(takeUntil(this.destroyed)).subscribe(() => {
38
- this.isTriedThemeDefault = false;
39
- this.setSourceProperties();
40
- });
41
- }
42
- // --------------------------------------------------------------------------
43
- //
44
- // Private Methods
45
- //
46
- // --------------------------------------------------------------------------
47
- getSource(id) {
48
- if (_.isNil(id)) {
49
- return null;
50
- }
51
- if (this.isImage) {
52
- return this.themeAsset.getImage(id, this.extension, this.isIgnoreTheme);
53
- }
54
- if (this.isBackground) {
55
- return this.themeAsset.getBackground(id, this.extension, this.isIgnoreTheme);
56
- }
57
- if (this.isSound) {
58
- return this.themeAsset.getSound(id, this.extension, this.isIgnoreTheme);
59
- }
60
- if (this.isVideo) {
61
- return this.themeAsset.getVideo(id, this.extension, this.isIgnoreTheme);
62
- }
63
- if (this.isFile) {
64
- return this.themeAsset.getFile(id, this.extension, this.isIgnoreTheme);
65
- }
66
- return this.themeAsset.getIcon(id, this.extension, this.isIgnoreTheme);
67
- }
68
- // --------------------------------------------------------------------------
69
- //
70
- // Event Handlers
71
- //
72
- // --------------------------------------------------------------------------
73
- errorLoadingHandler(event) {
74
- this.errorHandler(event);
75
- }
76
- errorHandler(event) {
77
- if (this.isTriedThemeDefault) {
78
- return;
79
- }
80
- this.isTriedThemeDefault = true;
81
- this.setDefaultSourceProperties();
82
- }
83
- // --------------------------------------------------------------------------
84
- //
85
- // Protected Methods
86
- //
87
- // --------------------------------------------------------------------------
88
- setSourceProperties() {
89
- this.source = this.getSource(this.getSourceId());
90
- }
91
- setDefaultSourceProperties() {
92
- this.source = this.getSource(this.getDefaultSourceId());
93
- }
94
- getSourceId() {
95
- if (_.isNil(this.name) || _.isNil(this.theme) || _.isNil(this.theme.theme)) {
96
- return null;
97
- }
98
- return this.name + _.capitalize(this.theme.theme.name);
99
- }
100
- getDefaultSourceId() {
101
- return this.themeAsset.getName(this.name, this.isIgnoreTheme);
102
- }
103
- // --------------------------------------------------------------------------
104
- //
105
- // Public Methods
106
- //
107
- // --------------------------------------------------------------------------
108
- destroy() {
109
- if (this.isDestroyed) {
110
- return;
111
- }
112
- super.destroy();
113
- this.name = null;
114
- this.theme = null;
115
- this.element = null;
116
- }
117
- // --------------------------------------------------------------------------
118
- //
119
- // Protected Properties
120
- //
121
- // --------------------------------------------------------------------------
122
- get source() {
123
- return this._source;
124
- }
125
- set source(value) {
126
- if (value === this._source) {
127
- return;
128
- }
129
- this._source = value;
130
- if (!_.isNil(value)) {
131
- this.addSourceProperties();
132
- }
133
- else {
134
- this.removeSourceProperties();
135
- }
136
- }
137
- // --------------------------------------------------------------------------
138
- //
139
- // Public Properties
140
- //
141
- // --------------------------------------------------------------------------
142
- set isSound(value) {
143
- if (value === this._isSound) {
144
- return;
145
- }
146
- this._isSound = value;
147
- this.setSourceProperties();
148
- }
149
- get isSound() {
150
- return this._isSound;
151
- }
152
- set isVideo(value) {
153
- if (value === this._isVideo) {
154
- return;
155
- }
156
- this._isVideo = value;
157
- this.setSourceProperties();
158
- }
159
- get isVideo() {
160
- return this._isVideo;
161
- }
162
- set isFile(value) {
163
- if (value === this._isFile) {
164
- return;
165
- }
166
- this._isFile = value;
167
- this.setSourceProperties();
168
- }
169
- get isFile() {
170
- return this._isFile;
171
- }
172
- set isImage(value) {
173
- if (value === this._isImage) {
174
- return;
175
- }
176
- this._isImage = value;
177
- this.setSourceProperties();
178
- }
179
- get isImage() {
180
- return this._isImage;
181
- }
182
- set isBackground(value) {
183
- if (value === this._isBackground) {
184
- return;
185
- }
186
- this._isBackground = value;
187
- this.setSourceProperties();
188
- }
189
- get isBackground() {
190
- return this._isBackground;
191
- }
192
- set isIgnoreTheme(value) {
193
- if (value === this._isIgnoreTheme) {
194
- return;
195
- }
196
- this._isIgnoreTheme = value;
197
- this.setSourceProperties();
198
- }
199
- get isIgnoreTheme() {
200
- return this._isIgnoreTheme;
201
- }
202
- get name() {
203
- return this._name;
204
- }
205
- set name(value) {
206
- if (value === this._name) {
207
- return;
208
- }
209
- this._name = value;
210
- this.setSourceProperties();
211
- }
212
- get extension() {
213
- return this._extension;
214
- }
215
- set extension(value) {
216
- if (value === this._extension) {
217
- return;
218
- }
219
- this._extension = value;
220
- this.setSourceProperties();
221
- }
222
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ThemeAssetDirective, deps: [{ token: i0.ElementRef }, { token: i1.ThemeService }, { token: i1.ThemeAssetService }], target: i0.ɵɵFactoryTarget.Directive });
223
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.10", type: ThemeAssetDirective, inputs: { isSound: ["isSound", "isSound", booleanAttribute], isVideo: ["isVideo", "isVideo", booleanAttribute], isFile: ["isFile", "isFile", booleanAttribute], isImage: ["isImage", "isImage", booleanAttribute], isBackground: ["isBackground", "isBackground", booleanAttribute], isIgnoreTheme: ["isIgnoreTheme", "isIgnoreTheme", booleanAttribute], name: "name", extension: "extension" }, host: { listeners: { "error": "errorLoadingHandler($event)" } }, usesInheritance: true, ngImport: i0 });
224
- }
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ThemeAssetDirective, decorators: [{
226
- type: Directive
227
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThemeService }, { type: i1.ThemeAssetService }], propDecorators: { errorLoadingHandler: [{
228
- type: HostListener,
229
- args: ['error', ['$event']]
230
- }], isSound: [{
231
- type: Input,
232
- args: [{ transform: booleanAttribute }]
233
- }], isVideo: [{
234
- type: Input,
235
- args: [{ transform: booleanAttribute }]
236
- }], isFile: [{
237
- type: Input,
238
- args: [{ transform: booleanAttribute }]
239
- }], isImage: [{
240
- type: Input,
241
- args: [{ transform: booleanAttribute }]
242
- }], isBackground: [{
243
- type: Input,
244
- args: [{ transform: booleanAttribute }]
245
- }], isIgnoreTheme: [{
246
- type: Input,
247
- args: [{ transform: booleanAttribute }]
248
- }], name: [{
249
- type: Input
250
- }], extension: [{
251
- type: Input
252
- }] } });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWVBc3NldERpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90aGVtZS9UaGVtZUFzc2V0RGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUc1QyxNQUFNLE9BQWdCLG1CQUF5RCxTQUFRLFdBQVc7SUE0Qm5EO0lBQStCO0lBM0IxRSw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGFBQWE7SUFDYixFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLEtBQUssQ0FBUztJQUNkLE9BQU8sQ0FBUztJQUNoQixVQUFVLEdBQVcsS0FBSyxDQUFDO0lBRTNCLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDekIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixRQUFRLEdBQVksS0FBSyxDQUFDO0lBQzFCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsYUFBYSxHQUFZLEtBQUssQ0FBQztJQUMvQixjQUFjLEdBQVksSUFBSSxDQUFDO0lBRS9CLE9BQU8sQ0FBSTtJQUViLG1CQUFtQixDQUFVO0lBRXJDLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsY0FBYztJQUNkLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxPQUFtQixFQUFZLEtBQW1CLEVBQVksVUFBNkI7UUFDbkcsS0FBSyxFQUFFLENBQUM7UUFEK0IsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUFZLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBRW5H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dGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJveWFibGUgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgVGhlbWVBc3NldFNlcnZpY2UsIFRoZW1lU2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi91dGlsL1ZpZXdVdGlsJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGhlbWVBc3NldERpcmVjdGl2ZTxUIGV4dGVuZHMgSFRNTEVsZW1lbnQgPSBIVE1MRWxlbWVudD4gZXh0ZW5kcyBEZXN0cm95YWJsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIF9uYW1lOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9zb3VyY2U6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2V4dGVuc2lvbjogc3RyaW5nID0gJ3BuZyc7XG5cbiAgICBwcm90ZWN0ZWQgX2lzRmlsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBfaXNJbWFnZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBfaXNWaWRlbzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBfaXNTb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBfaXNCYWNrZ3JvdW5kOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIF9pc0lnbm9yZVRoZW1lOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHByb3RlY3RlZCBlbGVtZW50OiBUO1xuXG4gICAgcHJpdmF0ZSBpc1RyaWVkVGhlbWVEZWZhdWx0OiBib29sZWFuO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB0aGVtZTogVGhlbWVTZXJ2aWNlLCBwcm90ZWN0ZWQgdGhlbWVBc3NldDogVGhlbWVBc3NldFNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gVmlld1V0aWwucGFyc2VFbGVtZW50KGVsZW1lbnQubmF0aXZlRWxlbWVudCkgYXMgVDtcblxuICAgICAgICB0aGlzLnRoZW1lLmNoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc1RyaWVkVGhlbWVEZWZhdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNldFNvdXJjZVByb3BlcnRpZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQcml2YXRlIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgZ2V0U291cmNlKGlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoXy5pc05pbChpZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzSW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoZW1lQXNzZXQuZ2V0SW1hZ2UoaWQsIHRoaXMuZXh0ZW5zaW9uLCB0aGlzLmlzSWdub3JlVGhlbWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzQmFja2dyb3VuZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGhlbWVBc3NldC5nZXRCYWNrZ3JvdW5kKGlkLCB0aGlzLmV4dGVuc2lvbiwgdGhpcy5pc0lnbm9yZVRoZW1lKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc1NvdW5kKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aGVtZUFzc2V0LmdldFNvdW5kKGlkLCB0aGlzLmV4dGVuc2lvbiwgdGhpcy5pc0lnbm9yZVRoZW1lKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc1ZpZGVvKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aGVtZUFzc2V0LmdldFZpZGVvKGlkLCB0aGlzLmV4dGVuc2lvbiwgdGhpcy5pc0lnbm9yZVRoZW1lKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc0ZpbGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoZW1lQXNzZXQuZ2V0RmlsZShpZCwgdGhpcy5leHRlbnNpb24sIHRoaXMuaXNJZ25vcmVUaGVtZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMudGhlbWVBc3NldC5nZXRJY29uKGlkLCB0aGlzLmV4dGVuc2lvbiwgdGhpcy5pc0lnbm9yZVRoZW1lKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdEV2ZW50IEhhbmRsZXJzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZXJyb3InLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBlcnJvckxvYWRpbmdIYW5kbGVyKGV2ZW50OiBFcnJvckV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyKGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZXJyb3JIYW5kbGVyKGV2ZW50OiBFcnJvckV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzVHJpZWRUaGVtZURlZmF1bHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzVHJpZWRUaGVtZURlZmF1bHQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNldERlZmF1bHRTb3VyY2VQcm9wZXJ0aWVzKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQcm90ZWN0ZWQgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBzZXRTb3VyY2VQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNvdXJjZSA9IHRoaXMuZ2V0U291cmNlKHRoaXMuZ2V0U291cmNlSWQoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldERlZmF1bHRTb3VyY2VQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNvdXJjZSA9IHRoaXMuZ2V0U291cmNlKHRoaXMuZ2V0RGVmYXVsdFNvdXJjZUlkKCkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRTb3VyY2VJZCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAoXy5pc05pbCh0aGlzLm5hbWUpIHx8IF8uaXNOaWwodGhpcy50aGVtZSkgfHwgXy5pc05pbCh0aGlzLnRoZW1lLnRoZW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubmFtZSArIF8uY2FwaXRhbGl6ZSh0aGlzLnRoZW1lLnRoZW1lLm5hbWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXREZWZhdWx0U291cmNlSWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGhlbWVBc3NldC5nZXROYW1lKHRoaXMubmFtZSwgdGhpcy5pc0lnbm9yZVRoZW1lKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgYWRkU291cmNlUHJvcGVydGllcygpOiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbW92ZVNvdXJjZVByb3BlcnRpZXMoKTogdm9pZDtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG5cbiAgICAgICAgdGhpcy5uYW1lID0gbnVsbDtcbiAgICAgICAgdGhpcy50aGVtZSA9IG51bGw7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRQcm90ZWN0ZWQgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBnZXQgc291cmNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zb3VyY2U7XG4gICAgfVxuICAgIHByb3RlY3RlZCBzZXQgc291cmNlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9zb3VyY2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zb3VyY2UgPSB2YWx1ZTtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5hZGRTb3VyY2VQcm9wZXJ0aWVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVNvdXJjZVByb3BlcnRpZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvL1x0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgc2V0IGlzU291bmQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pc1NvdW5kKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNTb3VuZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNvdXJjZVByb3BlcnRpZXMoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBpc1NvdW5kKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNTb3VuZDtcbiAgICB9XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgc2V0IGlzVmlkZW8odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pc1ZpZGVvKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNWaWRlbyA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNvdXJjZVByb3BlcnRpZXMoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBpc1ZpZGVvKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNWaWRlbztcbiAgICB9XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBwdWJsaWMgc2V0IGlzRmlsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2lzRmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzRmlsZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNvdXJjZVByb3BlcnRpZXMoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBpc0ZpbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0ZpbGU7XG4gICAgfVxuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgcHVibGljIHNldCBpc0ltYWdlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5faXNJbWFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzSW1hZ2UgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRTb3VyY2VQcm9wZXJ0aWVzKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgaXNJbWFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSW1hZ2U7XG4gICAgfVxuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgcHVibGljIHNldCBpc0JhY2tncm91bmQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pc0JhY2tncm91bmQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc0JhY2tncm91bmQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRTb3VyY2VQcm9wZXJ0aWVzKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgaXNCYWNrZ3JvdW5kKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNCYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHB1YmxpYyBzZXQgaXNJZ25vcmVUaGVtZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2lzSWdub3JlVGhlbWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc0lnbm9yZVRoZW1lID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0U291cmNlUHJvcGVydGllcygpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGlzSWdub3JlVGhlbWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0lnbm9yZVRoZW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX25hbWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9uYW1lID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0U291cmNlUHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZXh0ZW5zaW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leHRlbnNpb247XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBleHRlbnNpb24odmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2V4dGVuc2lvbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2V4dGVuc2lvbiA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNvdXJjZVByb3BlcnRpZXMoKTtcbiAgICB9XG59XG4iXX0=
@@ -1,48 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { ThemeAssetDirective } from './ThemeAssetDirective';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ts-core/frontend";
5
- export class ThemeAssetIconDirective extends ThemeAssetDirective {
6
- // --------------------------------------------------------------------------
7
- //
8
- // Constructor
9
- //
10
- // --------------------------------------------------------------------------
11
- constructor(element, theme, themeAsset) {
12
- super(element, theme, themeAsset);
13
- }
14
- // --------------------------------------------------------------------------
15
- //
16
- // Private Methods
17
- //
18
- // --------------------------------------------------------------------------
19
- addSourceProperties() {
20
- this.element.src = this.source;
21
- }
22
- removeSourceProperties() {
23
- this.element.src = null;
24
- }
25
- // --------------------------------------------------------------------------
26
- //
27
- // Public Properties
28
- //
29
- // --------------------------------------------------------------------------
30
- set name(value) {
31
- super.name = value;
32
- }
33
- get name() {
34
- return super.name;
35
- }
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ThemeAssetIconDirective, deps: [{ token: i0.ElementRef }, { token: i1.ThemeService }, { token: i1.ThemeAssetService }], target: i0.ɵɵFactoryTarget.Directive });
37
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.10", type: ThemeAssetIconDirective, selector: "[vi-theme-icon]", inputs: { name: ["vi-theme-icon", "name"] }, usesInheritance: true, ngImport: i0 });
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ThemeAssetIconDirective, decorators: [{
40
- type: Directive,
41
- args: [{
42
- selector: '[vi-theme-icon]'
43
- }]
44
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThemeService }, { type: i1.ThemeAssetService }], propDecorators: { name: [{
45
- type: Input,
46
- args: ['vi-theme-icon']
47
- }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWVBc3NldEljb25EaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGhlbWUvVGhlbWVBc3NldEljb25EaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUs1RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsbUJBQXFDO0lBQzlFLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsY0FBYztJQUNkLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxPQUFtQixFQUFFLEtBQW1CLEVBQUUsVUFBNkI7UUFDL0UsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQztJQUNTLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysb0JBQW9CO0lBQ3BCLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsSUFDVyxJQUFJLENBQUMsS0FBYTtRQUN6QixLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBVyxJQUFJO1FBQ1gsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3RCLENBQUM7d0dBcENRLHVCQUF1Qjs0RkFBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7aUJBQzlCOzBJQWdDYyxJQUFJO3NCQURkLEtBQUs7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lQXNzZXRTZXJ2aWNlLCBUaGVtZVNlcnZpY2UgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZCc7XG5pbXBvcnQgeyBUaGVtZUFzc2V0RGlyZWN0aXZlIH0gZnJvbSAnLi9UaGVtZUFzc2V0RGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdmktdGhlbWUtaWNvbl0nXG59KVxuZXhwb3J0IGNsYXNzIFRoZW1lQXNzZXRJY29uRGlyZWN0aXZlIGV4dGVuZHMgVGhlbWVBc3NldERpcmVjdGl2ZTxIVE1MSW1hZ2VFbGVtZW50PiB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHRoZW1lOiBUaGVtZVNlcnZpY2UsIHRoZW1lQXNzZXQ6IFRoZW1lQXNzZXRTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnQsIHRoZW1lLCB0aGVtZUFzc2V0KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFByaXZhdGUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBhZGRTb3VyY2VQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnQuc3JjID0gdGhpcy5zb3VyY2U7XG4gICAgfVxuICAgIHByb3RlY3RlZCByZW1vdmVTb3VyY2VQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnQuc3JjID0gbnVsbDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgQElucHV0KCd2aS10aGVtZS1pY29uJylcbiAgICBwdWJsaWMgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBzdXBlci5uYW1lID0gdmFsdWU7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gc3VwZXIubmFtZTtcbiAgICB9XG59XG4iXX0=
@@ -1,49 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { ThemeAssetDirective } from './ThemeAssetDirective';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ts-core/frontend";
5
- export class ThemeAssetImageDirective extends ThemeAssetDirective {
6
- // --------------------------------------------------------------------------
7
- //
8
- // Constructor
9
- //
10
- // --------------------------------------------------------------------------
11
- constructor(element, theme, themeAsset) {
12
- super(element, theme, themeAsset);
13
- this.isImage = true;
14
- }
15
- // --------------------------------------------------------------------------
16
- //
17
- // Private Methods
18
- //
19
- // --------------------------------------------------------------------------
20
- addSourceProperties() {
21
- this.element.src = this.source;
22
- }
23
- removeSourceProperties() {
24
- this.element.src = null;
25
- }
26
- // --------------------------------------------------------------------------
27
- //
28
- // Public Properties
29
- //
30
- // --------------------------------------------------------------------------
31
- set name(value) {
32
- super.name = value;
33
- }
34
- get name() {
35
- return super.name;
36
- }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ThemeAssetImageDirective, deps: [{ token: i0.ElementRef }, { token: i1.ThemeService }, { token: i1.ThemeAssetService }], target: i0.ɵɵFactoryTarget.Directive });
38
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.10", type: ThemeAssetImageDirective, selector: "[vi-theme-image]", inputs: { name: ["vi-theme-image", "name"] }, usesInheritance: true, ngImport: i0 });
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ThemeAssetImageDirective, decorators: [{
41
- type: Directive,
42
- args: [{
43
- selector: '[vi-theme-image]'
44
- }]
45
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThemeService }, { type: i1.ThemeAssetService }], propDecorators: { name: [{
46
- type: Input,
47
- args: ['vi-theme-image']
48
- }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWVBc3NldEltYWdlRGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RoZW1lL1RoZW1lQXNzZXRJbWFnZURpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBSzVELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxtQkFBcUM7SUFDL0UsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixjQUFjO0lBQ2QsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxZQUFZLE9BQW1CLEVBQUUsS0FBbUIsRUFBRSxVQUE2QjtRQUMvRSxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDZFQUE2RTtJQUVuRSxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNuQyxDQUFDO0lBQ1Msc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixvQkFBb0I7SUFDcEIsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RSxJQUNXLElBQUksQ0FBQyxLQUFhO1FBQ3pCLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDWCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDdEIsQ0FBQzt3R0FyQ1Esd0JBQXdCOzRGQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtpQkFDL0I7MElBaUNjLElBQUk7c0JBRGQsS0FBSzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVtZUFzc2V0U2VydmljZSwgVGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQnO1xuaW1wb3J0IHsgVGhlbWVBc3NldERpcmVjdGl2ZSB9IGZyb20gJy4vVGhlbWVBc3NldERpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3ZpLXRoZW1lLWltYWdlXSdcbn0pXG5leHBvcnQgY2xhc3MgVGhlbWVBc3NldEltYWdlRGlyZWN0aXZlIGV4dGVuZHMgVGhlbWVBc3NldERpcmVjdGl2ZTxIVE1MSW1hZ2VFbGVtZW50PiB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IEVsZW1lbnRSZWYsIHRoZW1lOiBUaGVtZVNlcnZpY2UsIHRoZW1lQXNzZXQ6IFRoZW1lQXNzZXRTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnQsIHRoZW1lLCB0aGVtZUFzc2V0KTtcbiAgICAgICAgdGhpcy5pc0ltYWdlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFByaXZhdGUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBhZGRTb3VyY2VQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnQuc3JjID0gdGhpcy5zb3VyY2U7XG4gICAgfVxuICAgIHByb3RlY3RlZCByZW1vdmVTb3VyY2VQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnQuc3JjID0gbnVsbDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy9cdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgQElucHV0KCd2aS10aGVtZS1pbWFnZScpXG4gICAgcHVibGljIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIubmFtZSA9IHZhbHVlO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLm5hbWU7XG4gICAgfVxufVxuIl19
@@ -1,81 +0,0 @@
1
- import { InjectionToken, NgModule } from '@angular/core';
2
- import { NativeWindowService } from '@ts-core/frontend';
3
- import { ThemeService, ThemeAssetService } from '@ts-core/frontend';
4
- import { CookieModule } from '../cookie/CookieModule';
5
- import { CookieService } from '../cookie/CookieService';
6
- import { ThemeAssetBackgroundDirective } from './ThemeAssetBackgroundDirective';
7
- import { ThemeAssetImageDirective } from './ThemeAssetImageDirective';
8
- import { ThemeAssetIconDirective } from './ThemeAssetIconDirective';
9
- import { ThemeToggleDirective } from './ThemeToggleDirective';
10
- import { ThemeStyleDirective } from './ThemeStyleDirective';
11
- import { ThemeStyleHoverDirective } from './ThemeStyleHoverDirective';
12
- import * as _ from 'lodash';
13
- import * as i0 from "@angular/core";
14
- let declarations = [
15
- ThemeToggleDirective,
16
- ThemeAssetImageDirective,
17
- ThemeAssetIconDirective,
18
- ThemeAssetBackgroundDirective,
19
- ThemeStyleDirective,
20
- ThemeStyleHoverDirective
21
- ];
22
- export class ThemeModule {
23
- // --------------------------------------------------------------------------
24
- //
25
- // Static Methods
26
- //
27
- // --------------------------------------------------------------------------
28
- static forRoot(options) {
29
- return {
30
- ngModule: ThemeModule,
31
- providers: [
32
- {
33
- provide: THEME_OPTIONS,
34
- useValue: options || {}
35
- },
36
- {
37
- provide: ThemeService,
38
- deps: [NativeWindowService, CookieService, THEME_OPTIONS],
39
- useFactory: themeServiceFactory
40
- },
41
- {
42
- provide: ThemeAssetService,
43
- deps: [ThemeService, NativeWindowService],
44
- useFactory: themeAssetServiceFactory
45
- }
46
- ]
47
- };
48
- }
49
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
50
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.10", ngImport: i0, type: ThemeModule, declarations: [ThemeToggleDirective,
51
- ThemeAssetImageDirective,
52
- ThemeAssetIconDirective,
53
- ThemeAssetBackgroundDirective,
54
- ThemeStyleDirective,
55
- ThemeStyleHoverDirective], imports: [CookieModule], exports: [ThemeToggleDirective,
56
- ThemeAssetImageDirective,
57
- ThemeAssetIconDirective,
58
- ThemeAssetBackgroundDirective,
59
- ThemeStyleDirective,
60
- ThemeStyleHoverDirective] });
61
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ThemeModule, imports: [CookieModule] });
62
- }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ThemeModule, decorators: [{
64
- type: NgModule,
65
- args: [{
66
- imports: [CookieModule],
67
- declarations,
68
- exports: declarations
69
- }]
70
- }] });
71
- export function themeServiceFactory(nativeWindow, cookie, options) {
72
- if (!_.isNil(options) && _.isNil(options.service)) {
73
- options.service = cookie;
74
- }
75
- return new ThemeService(options, nativeWindow.document);
76
- }
77
- export function themeAssetServiceFactory(theme) {
78
- return new ThemeAssetService(theme);
79
- }
80
- export const THEME_OPTIONS = new InjectionToken(`THEME_OPTIONS`);
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWVNb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGhlbWUvVGhlbWVNb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBa0IsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RSxPQUFPLEVBQXdCLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7O0FBRTVCLElBQUksWUFBWSxHQUFHO0lBQ2Ysb0JBQW9CO0lBQ3BCLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQix3QkFBd0I7Q0FDM0IsQ0FBQztBQU9GLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUE4QjtRQUNoRCxPQUFPO1lBQ0gsUUFBUSxFQUFFLFdBQVc7WUFDckIsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxhQUFhO29CQUN0QixRQUFRLEVBQUUsT0FBTyxJQUFJLEVBQUU7aUJBQzFCO2dCQUNEO29CQUNJLE9BQU8sRUFBRSxZQUFZO29CQUNyQixJQUFJLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDO29CQUN6RCxVQUFVLEVBQUUsbUJBQW1CO2lCQUNsQztnQkFDRDtvQkFDSSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3pDLFVBQVUsRUFBRSx3QkFBd0I7aUJBQ3ZDO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQzt3R0EzQlEsV0FBVzt5R0FBWCxXQUFXLGlCQWJwQixvQkFBb0I7WUFDcEIsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2Qiw2QkFBNkI7WUFDN0IsbUJBQW1CO1lBQ25CLHdCQUF3QixhQUlkLFlBQVksYUFUdEIsb0JBQW9CO1lBQ3BCLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsNkJBQTZCO1lBQzdCLG1CQUFtQjtZQUNuQix3QkFBd0I7eUdBUWYsV0FBVyxZQUpWLFlBQVk7OzRGQUliLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZO29CQUNaLE9BQU8sRUFBRSxZQUFZO2lCQUN4Qjs7QUErQkQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFlBQWlDLEVBQUUsTUFBc0IsRUFBRSxPQUE4QjtJQUN6SCxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFDRCxPQUFPLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFtQjtJQUN4RCxPQUFPLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBdUIsZUFBZSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElDb29raWVTZXJ2aWNlLCBOYXRpdmVXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQnO1xuaW1wb3J0IHsgSVRoZW1lU2VydmljZU9wdGlvbnMsIFRoZW1lU2VydmljZSwgVGhlbWVBc3NldFNlcnZpY2UgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZCc7XG5pbXBvcnQgeyBDb29raWVNb2R1bGUgfSBmcm9tICcuLi9jb29raWUvQ29va2llTW9kdWxlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICcuLi9jb29raWUvQ29va2llU2VydmljZSc7XG5pbXBvcnQgeyBUaGVtZUFzc2V0QmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4vVGhlbWVBc3NldEJhY2tncm91bmREaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGhlbWVBc3NldEltYWdlRGlyZWN0aXZlIH0gZnJvbSAnLi9UaGVtZUFzc2V0SW1hZ2VEaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGhlbWVBc3NldEljb25EaXJlY3RpdmUgfSBmcm9tICcuL1RoZW1lQXNzZXRJY29uRGlyZWN0aXZlJztcbmltcG9ydCB7IFRoZW1lVG9nZ2xlRGlyZWN0aXZlIH0gZnJvbSAnLi9UaGVtZVRvZ2dsZURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaGVtZVN0eWxlRGlyZWN0aXZlIH0gZnJvbSAnLi9UaGVtZVN0eWxlRGlyZWN0aXZlJztcbmltcG9ydCB7IFRoZW1lU3R5bGVIb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4vVGhlbWVTdHlsZUhvdmVyRGlyZWN0aXZlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxubGV0IGRlY2xhcmF0aW9ucyA9IFtcbiAgICBUaGVtZVRvZ2dsZURpcmVjdGl2ZSxcbiAgICBUaGVtZUFzc2V0SW1hZ2VEaXJlY3RpdmUsXG4gICAgVGhlbWVBc3NldEljb25EaXJlY3RpdmUsXG4gICAgVGhlbWVBc3NldEJhY2tncm91bmREaXJlY3RpdmUsXG4gICAgVGhlbWVTdHlsZURpcmVjdGl2ZSxcbiAgICBUaGVtZVN0eWxlSG92ZXJEaXJlY3RpdmVcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0Nvb2tpZU1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zLFxuICAgIGV4cG9ydHM6IGRlY2xhcmF0aW9uc1xufSlcbmV4cG9ydCBjbGFzcyBUaGVtZU1vZHVsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0U3RhdGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3Qob3B0aW9ucz86IElUaGVtZVNlcnZpY2VPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxUaGVtZU1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IFRoZW1lTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBUSEVNRV9PUFRJT05TLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9ucyB8fCB7fVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBUaGVtZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtOYXRpdmVXaW5kb3dTZXJ2aWNlLCBDb29raWVTZXJ2aWNlLCBUSEVNRV9PUFRJT05TXSxcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogdGhlbWVTZXJ2aWNlRmFjdG9yeVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBUaGVtZUFzc2V0U2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW1RoZW1lU2VydmljZSwgTmF0aXZlV2luZG93U2VydmljZV0sXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IHRoZW1lQXNzZXRTZXJ2aWNlRmFjdG9yeVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aGVtZVNlcnZpY2VGYWN0b3J5KG5hdGl2ZVdpbmRvdzogTmF0aXZlV2luZG93U2VydmljZSwgY29va2llOiBJQ29va2llU2VydmljZSwgb3B0aW9ucz86IElUaGVtZVNlcnZpY2VPcHRpb25zKTogVGhlbWVTZXJ2aWNlIHtcbiAgICBpZiAoIV8uaXNOaWwob3B0aW9ucykgJiYgXy5pc05pbChvcHRpb25zLnNlcnZpY2UpKSB7XG4gICAgICAgIG9wdGlvbnMuc2VydmljZSA9IGNvb2tpZTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBUaGVtZVNlcnZpY2Uob3B0aW9ucywgbmF0aXZlV2luZG93LmRvY3VtZW50KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRoZW1lQXNzZXRTZXJ2aWNlRmFjdG9yeSh0aGVtZTogVGhlbWVTZXJ2aWNlKTogVGhlbWVBc3NldFNlcnZpY2Uge1xuICAgIHJldHVybiBuZXcgVGhlbWVBc3NldFNlcnZpY2UodGhlbWUpO1xufVxuXG5leHBvcnQgY29uc3QgVEhFTUVfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJVGhlbWVTZXJ2aWNlT3B0aW9ucz4oYFRIRU1FX09QVElPTlNgKTtcbiJdfQ==