@stemy/ngx-utils 17.1.5 → 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 (108) hide show
  1. package/fesm2022/stemy-ngx-utils-tools.mjs.map +1 -1
  2. package/fesm2022/stemy-ngx-utils.mjs +261 -221
  3. package/fesm2022/stemy-ngx-utils.mjs.map +1 -1
  4. package/ngx-utils/ngx-utils.module.d.ts +1 -1
  5. package/package.json +13 -19
  6. package/esm2022/ngx-utils/common-types.mjs +0 -122
  7. package/esm2022/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +0 -210
  8. package/esm2022/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +0 -101
  9. package/esm2022/ngx-utils/components/unordered-list/unordered-list.component.mjs +0 -65
  10. package/esm2022/ngx-utils/directives/async-method.base.mjs +0 -90
  11. package/esm2022/ngx-utils/directives/async-method.directive.mjs +0 -21
  12. package/esm2022/ngx-utils/directives/background.directive.mjs +0 -51
  13. package/esm2022/ngx-utils/directives/dynamic-table-template.directive.mjs +0 -20
  14. package/esm2022/ngx-utils/directives/global-template.directive.mjs +0 -28
  15. package/esm2022/ngx-utils/directives/icon.directive.mjs +0 -67
  16. package/esm2022/ngx-utils/directives/ngx-template-outlet.directive.mjs +0 -90
  17. package/esm2022/ngx-utils/directives/pagination-item.directive.mjs +0 -34
  18. package/esm2022/ngx-utils/directives/pagination.directive.mjs +0 -84
  19. package/esm2022/ngx-utils/directives/resource-if.directive.mjs +0 -50
  20. package/esm2022/ngx-utils/directives/sticky-class.directive.mjs +0 -34
  21. package/esm2022/ngx-utils/directives/sticky.directive.mjs +0 -55
  22. package/esm2022/ngx-utils/directives/unordered-list-item.directive.mjs +0 -79
  23. package/esm2022/ngx-utils/directives/unordered-list-template.directive.mjs +0 -20
  24. package/esm2022/ngx-utils/ngx-utils.imports.mjs +0 -178
  25. package/esm2022/ngx-utils/ngx-utils.module.mjs +0 -204
  26. package/esm2022/ngx-utils/pipes/chunk.pipe.mjs +0 -25
  27. package/esm2022/ngx-utils/pipes/entries.pipe.mjs +0 -28
  28. package/esm2022/ngx-utils/pipes/extra-item-properties.pipe.mjs +0 -31
  29. package/esm2022/ngx-utils/pipes/filter.pipe.mjs +0 -37
  30. package/esm2022/ngx-utils/pipes/find.pipe.mjs +0 -29
  31. package/esm2022/ngx-utils/pipes/format-number.pipe.mjs +0 -21
  32. package/esm2022/ngx-utils/pipes/get-offset.pipe.mjs +0 -17
  33. package/esm2022/ngx-utils/pipes/get-type.pipe.mjs +0 -16
  34. package/esm2022/ngx-utils/pipes/get-value.pipe.mjs +0 -17
  35. package/esm2022/ngx-utils/pipes/global-template.pipe.mjs +0 -39
  36. package/esm2022/ngx-utils/pipes/group-by.pipe.mjs +0 -27
  37. package/esm2022/ngx-utils/pipes/is-type.pipe.mjs +0 -16
  38. package/esm2022/ngx-utils/pipes/join.pipe.mjs +0 -19
  39. package/esm2022/ngx-utils/pipes/keys.pipe.mjs +0 -22
  40. package/esm2022/ngx-utils/pipes/map.pipe.mjs +0 -29
  41. package/esm2022/ngx-utils/pipes/max.pipe.mjs +0 -26
  42. package/esm2022/ngx-utils/pipes/min.pipe.mjs +0 -26
  43. package/esm2022/ngx-utils/pipes/pop.pipe.mjs +0 -16
  44. package/esm2022/ngx-utils/pipes/reduce.pipe.mjs +0 -30
  45. package/esm2022/ngx-utils/pipes/remap.pipe.mjs +0 -32
  46. package/esm2022/ngx-utils/pipes/replace.pipe.mjs +0 -17
  47. package/esm2022/ngx-utils/pipes/reverse.pipe.mjs +0 -24
  48. package/esm2022/ngx-utils/pipes/round.pipe.mjs +0 -21
  49. package/esm2022/ngx-utils/pipes/safe-html.pipe.mjs +0 -34
  50. package/esm2022/ngx-utils/pipes/shift.pipe.mjs +0 -16
  51. package/esm2022/ngx-utils/pipes/split.pipe.mjs +0 -16
  52. package/esm2022/ngx-utils/pipes/translate.pipe.mjs +0 -86
  53. package/esm2022/ngx-utils/pipes/values.pipe.mjs +0 -22
  54. package/esm2022/ngx-utils/plugins/resize-event.plugin.mjs +0 -78
  55. package/esm2022/ngx-utils/plugins/scroll-event.plugin.mjs +0 -39
  56. package/esm2022/ngx-utils/services/acl.service.mjs +0 -84
  57. package/esm2022/ngx-utils/services/api.service.mjs +0 -42
  58. package/esm2022/ngx-utils/services/auth.service.mjs +0 -14
  59. package/esm2022/ngx-utils/services/base-http.client.mjs +0 -47
  60. package/esm2022/ngx-utils/services/base-http.service.mjs +0 -305
  61. package/esm2022/ngx-utils/services/config.service.mjs +0 -130
  62. package/esm2022/ngx-utils/services/error-handler.service.mjs +0 -49
  63. package/esm2022/ngx-utils/services/events.service.mjs +0 -26
  64. package/esm2022/ngx-utils/services/formatter.service.mjs +0 -49
  65. package/esm2022/ngx-utils/services/global-template.service.mjs +0 -37
  66. package/esm2022/ngx-utils/services/icon.service.mjs +0 -26
  67. package/esm2022/ngx-utils/services/language.service.mjs +0 -124
  68. package/esm2022/ngx-utils/services/local-http.service.mjs +0 -47
  69. package/esm2022/ngx-utils/services/open-api.service.mjs +0 -40
  70. package/esm2022/ngx-utils/services/promise.service.mjs +0 -55
  71. package/esm2022/ngx-utils/services/state.service.mjs +0 -185
  72. package/esm2022/ngx-utils/services/static-language.service.mjs +0 -166
  73. package/esm2022/ngx-utils/services/storage.service.mjs +0 -49
  74. package/esm2022/ngx-utils/services/toaster.service.mjs +0 -32
  75. package/esm2022/ngx-utils/services/translated-url.serializer.mjs +0 -73
  76. package/esm2022/ngx-utils/services/universal.service.mjs +0 -81
  77. package/esm2022/ngx-utils/services/wasm.service.mjs +0 -46
  78. package/esm2022/ngx-utils/utils/ajax-request-handler.mjs +0 -40
  79. package/esm2022/ngx-utils/utils/array.utils.mjs +0 -107
  80. package/esm2022/ngx-utils/utils/auth.guard.mjs +0 -181
  81. package/esm2022/ngx-utils/utils/cached-factory.mjs +0 -30
  82. package/esm2022/ngx-utils/utils/canvas.utils.mjs +0 -388
  83. package/esm2022/ngx-utils/utils/date.utils.mjs +0 -29
  84. package/esm2022/ngx-utils/utils/file-system.mjs +0 -25
  85. package/esm2022/ngx-utils/utils/file.utils.mjs +0 -90
  86. package/esm2022/ngx-utils/utils/generic-value.mjs +0 -20
  87. package/esm2022/ngx-utils/utils/geometry.mjs +0 -132
  88. package/esm2022/ngx-utils/utils/initializer.mjs +0 -20
  89. package/esm2022/ngx-utils/utils/jsonfn.mjs +0 -45
  90. package/esm2022/ngx-utils/utils/loader.utils.mjs +0 -55
  91. package/esm2022/ngx-utils/utils/math.utils.mjs +0 -44
  92. package/esm2022/ngx-utils/utils/object.utils.mjs +0 -320
  93. package/esm2022/ngx-utils/utils/observable.utils.mjs +0 -59
  94. package/esm2022/ngx-utils/utils/promise.utils.mjs +0 -23
  95. package/esm2022/ngx-utils/utils/reflect.utils.mjs +0 -33
  96. package/esm2022/ngx-utils/utils/set.utils.mjs +0 -20
  97. package/esm2022/ngx-utils/utils/string.utils.mjs +0 -41
  98. package/esm2022/ngx-utils/utils/timer.utils.mjs +0 -52
  99. package/esm2022/ngx-utils/utils/unique.utils.mjs +0 -24
  100. package/esm2022/ngx-utils/utils/vector.mjs +0 -77
  101. package/esm2022/ngx-utils/utils/wasi.mjs +0 -159
  102. package/esm2022/ngx-utils/utils/wasm-worker-proxy.mjs +0 -99
  103. package/esm2022/ngx-utils/utils/with-options-provider.mjs +0 -24
  104. package/esm2022/public_api.mjs +0 -96
  105. package/esm2022/stemy-ngx-utils.mjs +0 -5
  106. package/esm2022/tools/config.mjs +0 -71
  107. package/esm2022/tools/public_api.mjs +0 -2
  108. package/esm2022/tools/stemy-ngx-utils-tools.mjs +0 -5
@@ -1,178 +0,0 @@
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 { LocalHttpService } from "./services/local-http.service";
19
- import { PromiseService } from "./services/promise.service";
20
- import { OpenApiService } from "./services/open-api.service";
21
- import { StateService } from "./services/state.service";
22
- import { StaticLanguageService } from "./services/static-language.service";
23
- import { StorageService } from "./services/storage.service";
24
- import { ConsoleToasterService } from "./services/toaster.service";
25
- import { TranslatedUrlSerializer } from "./services/translated-url.serializer";
26
- import { UniversalService } from "./services/universal.service";
27
- import { WasmService } from "./services/wasm.service";
28
- import { ResizeEventPlugin } from "./plugins/resize-event.plugin";
29
- import { ScrollEventPlugin } from "./plugins/scroll-event.plugin";
30
- import { AsyncMethodBase } from "./directives/async-method.base";
31
- import { AsyncMethodDirective } from "./directives/async-method.directive";
32
- import { BackgroundDirective } from "./directives/background.directive";
33
- import { DynamicTableTemplateDirective } from "./directives/dynamic-table-template.directive";
34
- import { GlobalTemplateDirective } from "./directives/global-template.directive";
35
- import { IconDirective } from "./directives/icon.directive";
36
- import { NgxTemplateOutletDirective } from "./directives/ngx-template-outlet.directive";
37
- import { PaginationDirective } from "./directives/pagination.directive";
38
- import { PaginationItemDirective } from "./directives/pagination-item.directive";
39
- import { ResourceIfDirective } from "./directives/resource-if.directive";
40
- import { StickyDirective } from "./directives/sticky.directive";
41
- import { StickyClassDirective } from "./directives/sticky-class.directive";
42
- import { UnorderedListItemDirective } from "./directives/unordered-list-item.directive";
43
- import { UnorderedListTemplateDirective } from "./directives/unordered-list-template.directive";
44
- import { ChunkPipe } from "./pipes/chunk.pipe";
45
- import { EntriesPipe } from "./pipes/entries.pipe";
46
- import { ExtraItemPropertiesPipe } from "./pipes/extra-item-properties.pipe";
47
- import { FilterPipe } from "./pipes/filter.pipe";
48
- import { FindPipe } from "./pipes/find.pipe";
49
- import { FormatNumberPipe } from "./pipes/format-number.pipe";
50
- import { GetOffsetPipe } from "./pipes/get-offset.pipe";
51
- import { GetTypePipe } from "./pipes/get-type.pipe";
52
- import { GetValuePipe } from "./pipes/get-value.pipe";
53
- import { GlobalTemplatePipe } from "./pipes/global-template.pipe";
54
- import { GroupByPipe } from "./pipes/group-by.pipe";
55
- import { IsTypePipe } from "./pipes/is-type.pipe";
56
- import { JoinPipe } from "./pipes/join.pipe";
57
- import { KeysPipe } from "./pipes/keys.pipe";
58
- import { MapPipe } from "./pipes/map.pipe";
59
- import { MaxPipe } from "./pipes/max.pipe";
60
- import { MinPipe } from "./pipes/min.pipe";
61
- import { PopPipe } from "./pipes/pop.pipe";
62
- import { ReducePipe } from "./pipes/reduce.pipe";
63
- import { RemapPipe } from "./pipes/remap.pipe";
64
- import { ReplacePipe } from "./pipes/replace.pipe";
65
- import { ReversePipe } from "./pipes/reverse.pipe";
66
- import { RoundPipe } from "./pipes/round.pipe";
67
- import { SafeHtmlPipe } from "./pipes/safe-html.pipe";
68
- import { ShiftPipe } from "./pipes/shift.pipe";
69
- import { SplitPipe } from "./pipes/split.pipe";
70
- import { TranslatePipe } from "./pipes/translate.pipe";
71
- import { ValuesPipe } from "./pipes/values.pipe";
72
- import { DynamicTableComponent } from "./components/dynamic-table/dynamic-table.component";
73
- import { PaginationMenuComponent } from "./components/pagination-menu/pagination-menu.component";
74
- import { UnorderedListComponent } from "./components/unordered-list/unordered-list.component";
75
- // --- Pipes ---
76
- export const pipes = [
77
- ChunkPipe,
78
- EntriesPipe,
79
- ExtraItemPropertiesPipe,
80
- FilterPipe,
81
- FindPipe,
82
- FormatNumberPipe,
83
- GetOffsetPipe,
84
- GetTypePipe,
85
- GetValuePipe,
86
- GlobalTemplatePipe,
87
- GroupByPipe,
88
- IsTypePipe,
89
- JoinPipe,
90
- KeysPipe,
91
- MapPipe,
92
- MaxPipe,
93
- MinPipe,
94
- PopPipe,
95
- ReducePipe,
96
- RemapPipe,
97
- ReplacePipe,
98
- ReversePipe,
99
- RoundPipe,
100
- SafeHtmlPipe,
101
- ShiftPipe,
102
- SplitPipe,
103
- TranslatePipe,
104
- ValuesPipe
105
- ];
106
- // --- Directives ---
107
- export const directives = [
108
- AsyncMethodBase,
109
- AsyncMethodDirective,
110
- BackgroundDirective,
111
- DynamicTableTemplateDirective,
112
- GlobalTemplateDirective,
113
- IconDirective,
114
- NgxTemplateOutletDirective,
115
- PaginationDirective,
116
- PaginationItemDirective,
117
- ResourceIfDirective,
118
- StickyDirective,
119
- StickyClassDirective,
120
- UnorderedListItemDirective,
121
- UnorderedListTemplateDirective
122
- ];
123
- // --- Components ---
124
- export const components = [
125
- DynamicTableComponent,
126
- PaginationMenuComponent,
127
- UnorderedListComponent
128
- ];
129
- export const providers = [
130
- ...pipes,
131
- BaseHttpClient,
132
- BaseHttpService,
133
- AuthGuard,
134
- AclService,
135
- ApiService,
136
- StaticAuthService,
137
- ConfigService,
138
- ErrorHandlerService,
139
- EventsService,
140
- FormatterService,
141
- GlobalTemplateService,
142
- IconService,
143
- LanguageService,
144
- LocalHttpService,
145
- OpenApiService,
146
- PromiseService,
147
- StateService,
148
- StaticLanguageService,
149
- StorageService,
150
- ConsoleToasterService,
151
- TranslatedUrlSerializer,
152
- UniversalService,
153
- WasmService,
154
- DeviceDetectorService,
155
- GlobalTemplateService,
156
- {
157
- provide: EVENT_MANAGER_PLUGINS,
158
- useClass: ResizeEventPlugin,
159
- multi: true
160
- },
161
- {
162
- provide: EVENT_MANAGER_PLUGINS,
163
- useClass: ScrollEventPlugin,
164
- multi: true
165
- },
166
- {
167
- provide: UrlSerializer,
168
- useExisting: TranslatedUrlSerializer
169
- },
170
- {
171
- provide: ErrorHandler,
172
- useExisting: ErrorHandlerService
173
- }
174
- ];
175
- export function loadConfig(config) {
176
- return config.load;
177
- }
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXV0aWxzLmltcG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmd4LXV0aWxzL25neC11dGlscy5pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBSTFELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQzVGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUN0RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFFOUYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBRTVGLGdCQUFnQjtBQUNoQixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDakIsU0FBUztJQUNULFdBQVc7SUFDWCx1QkFBdUI7SUFDdkIsVUFBVTtJQUNWLFFBQVE7SUFDUixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxVQUFVO0lBQ1YsUUFBUTtJQUNSLFFBQVE7SUFDUixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsVUFBVTtJQUNWLFNBQVM7SUFDVCxXQUFXO0lBQ1gsV0FBVztJQUNYLFNBQVM7SUFDVCxZQUFZO0lBQ1osU0FBUztJQUNULFNBQVM7SUFDVCxhQUFhO0lBQ2IsVUFBVTtDQUNiLENBQUM7QUFFRixxQkFBcUI7QUFDckIsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLGVBQWU7SUFDZixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLDZCQUE2QjtJQUM3Qix1QkFBdUI7SUFDdkIsYUFBYTtJQUNiLDBCQUEwQjtJQUMxQixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2Ysb0JBQW9CO0lBQ3BCLDBCQUEwQjtJQUMxQiw4QkFBOEI7Q0FDakMsQ0FBQztBQUVGLHFCQUFxQjtBQUNyQixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIscUJBQXFCO0lBQ3JCLHVCQUF1QjtJQUN2QixzQkFBc0I7Q0FDekIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUNyQixHQUFHLEtBQUs7SUFDUixjQUFjO0lBQ2QsZUFBZTtJQUNmLFNBQVM7SUFDVCxVQUFVO0lBQ1YsVUFBVTtJQUNWLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxjQUFjO0lBQ2QsWUFBWTtJQUNaLHFCQUFxQjtJQUNyQixjQUFjO0lBQ2QscUJBQXFCO0lBQ3JCLHVCQUF1QjtJQUN2QixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLHFCQUFxQjtJQUNyQixxQkFBcUI7SUFDckI7UUFDSSxPQUFPLEVBQUUscUJBQXFCO1FBQzlCLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsS0FBSyxFQUFFLElBQUk7S0FDZDtJQUNEO1FBQ0ksT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLEtBQUssRUFBRSxJQUFJO0tBQ2Q7SUFDRDtRQUNJLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLFdBQVcsRUFBRSx1QkFBdUI7S0FDdkM7SUFDRDtRQUNJLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFdBQVcsRUFBRSxtQkFBbUI7S0FDbkM7Q0FFSixDQUFDO0FBRUYsTUFBTSxVQUFVLFVBQVUsQ0FBQyxNQUFzQjtJQUM3QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXJyb3JIYW5kbGVyfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0VWRU5UX01BTkFHRVJfUExVR0lOU30gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuaW1wb3J0IHtVcmxTZXJpYWxpemVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7RGV2aWNlRGV0ZWN0b3JTZXJ2aWNlfSBmcm9tIFwibmd4LWRldmljZS1kZXRlY3RvclwiO1xyXG5cclxuaW1wb3J0IHtJQ29uZmlnU2VydmljZX0gZnJvbSBcIi4vY29tbW9uLXR5cGVzXCI7XHJcblxyXG5pbXBvcnQge0F1dGhHdWFyZH0gZnJvbSBcIi4vdXRpbHMvYXV0aC5ndWFyZFwiO1xyXG5pbXBvcnQge0FjbFNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2FjbC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QXBpU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvYXBpLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdGF0aWNBdXRoU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QmFzZUh0dHBDbGllbnR9IGZyb20gXCIuL3NlcnZpY2VzL2Jhc2UtaHR0cC5jbGllbnRcIjtcclxuaW1wb3J0IHtCYXNlSHR0cFNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2Jhc2UtaHR0cC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtFcnJvckhhbmRsZXJTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9lcnJvci1oYW5kbGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtFdmVudHNTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZVwiO1xyXG5pbXBvcnQge0Zvcm1hdHRlclNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7R2xvYmFsVGVtcGxhdGVTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9nbG9iYWwtdGVtcGxhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb25TZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9pY29uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtMYW5ndWFnZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2xhbmd1YWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtMb2NhbEh0dHBTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9sb2NhbC1odHRwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtQcm9taXNlU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvcHJvbWlzZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7T3BlbkFwaVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL29wZW4tYXBpLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdGF0ZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3N0YXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdGF0aWNMYW5ndWFnZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3N0YXRpYy1sYW5ndWFnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RvcmFnZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3N0b3JhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvbnNvbGVUb2FzdGVyU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlZFVybFNlcmlhbGl6ZXJ9IGZyb20gXCIuL3NlcnZpY2VzL3RyYW5zbGF0ZWQtdXJsLnNlcmlhbGl6ZXJcIjtcclxuaW1wb3J0IHtVbml2ZXJzYWxTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy91bml2ZXJzYWwuc2VydmljZVwiO1xyXG5pbXBvcnQge1dhc21TZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy93YXNtLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtSZXNpemVFdmVudFBsdWdpbn0gZnJvbSBcIi4vcGx1Z2lucy9yZXNpemUtZXZlbnQucGx1Z2luXCI7XHJcbmltcG9ydCB7U2Nyb2xsRXZlbnRQbHVnaW59IGZyb20gXCIuL3BsdWdpbnMvc2Nyb2xsLWV2ZW50LnBsdWdpblwiO1xyXG5pbXBvcnQge0FzeW5jTWV0aG9kQmFzZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9hc3luYy1tZXRob2QuYmFzZVwiO1xyXG5pbXBvcnQge0FzeW5jTWV0aG9kRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2FzeW5jLW1ldGhvZC5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtCYWNrZ3JvdW5kRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL2JhY2tncm91bmQuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7RHluYW1pY1RhYmxlVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvZHluYW1pYy10YWJsZS10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtHbG9iYWxUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9nbG9iYWwtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7SWNvbkRpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9pY29uLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge05neFRlbXBsYXRlT3V0bGV0RGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL25neC10ZW1wbGF0ZS1vdXRsZXQuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7UGFnaW5hdGlvbkRpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9wYWdpbmF0aW9uLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1BhZ2luYXRpb25JdGVtRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3BhZ2luYXRpb24taXRlbS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtSZXNvdXJjZUlmRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3Jlc291cmNlLWlmLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1N0aWNreURpcmVjdGl2ZX0gZnJvbSBcIi4vZGlyZWN0aXZlcy9zdGlja3kuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7U3RpY2t5Q2xhc3NEaXJlY3RpdmV9IGZyb20gXCIuL2RpcmVjdGl2ZXMvc3RpY2t5LWNsYXNzLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQge1Vub3JkZXJlZExpc3RJdGVtRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3Vub3JkZXJlZC1saXN0LWl0ZW0uZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7VW5vcmRlcmVkTGlzdFRlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9kaXJlY3RpdmVzL3Vub3JkZXJlZC1saXN0LXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xyXG5cclxuaW1wb3J0IHtDaHVua1BpcGV9IGZyb20gXCIuL3BpcGVzL2NodW5rLnBpcGVcIjtcclxuaW1wb3J0IHtFbnRyaWVzUGlwZX0gZnJvbSBcIi4vcGlwZXMvZW50cmllcy5waXBlXCI7XHJcbmltcG9ydCB7RXh0cmFJdGVtUHJvcGVydGllc1BpcGV9IGZyb20gXCIuL3BpcGVzL2V4dHJhLWl0ZW0tcHJvcGVydGllcy5waXBlXCI7XHJcbmltcG9ydCB7RmlsdGVyUGlwZX0gZnJvbSBcIi4vcGlwZXMvZmlsdGVyLnBpcGVcIjtcclxuaW1wb3J0IHtGaW5kUGlwZX0gZnJvbSBcIi4vcGlwZXMvZmluZC5waXBlXCI7XHJcbmltcG9ydCB7Rm9ybWF0TnVtYmVyUGlwZX0gZnJvbSBcIi4vcGlwZXMvZm9ybWF0LW51bWJlci5waXBlXCI7XHJcbmltcG9ydCB7R2V0T2Zmc2V0UGlwZX0gZnJvbSBcIi4vcGlwZXMvZ2V0LW9mZnNldC5waXBlXCI7XHJcbmltcG9ydCB7R2V0VHlwZVBpcGV9IGZyb20gXCIuL3BpcGVzL2dldC10eXBlLnBpcGVcIjtcclxuaW1wb3J0IHtHZXRWYWx1ZVBpcGV9IGZyb20gXCIuL3BpcGVzL2dldC12YWx1ZS5waXBlXCI7XHJcbmltcG9ydCB7R2xvYmFsVGVtcGxhdGVQaXBlfSBmcm9tIFwiLi9waXBlcy9nbG9iYWwtdGVtcGxhdGUucGlwZVwiO1xyXG5pbXBvcnQge0dyb3VwQnlQaXBlfSBmcm9tIFwiLi9waXBlcy9ncm91cC1ieS5waXBlXCI7XHJcbmltcG9ydCB7SXNUeXBlUGlwZX0gZnJvbSBcIi4vcGlwZXMvaXMtdHlwZS5waXBlXCI7XHJcbmltcG9ydCB7Sm9pblBpcGV9IGZyb20gXCIuL3BpcGVzL2pvaW4ucGlwZVwiO1xyXG5pbXBvcnQge0tleXNQaXBlfSBmcm9tIFwiLi9waXBlcy9rZXlzLnBpcGVcIjtcclxuaW1wb3J0IHtNYXBQaXBlfSBmcm9tIFwiLi9waXBlcy9tYXAucGlwZVwiO1xyXG5pbXBvcnQge01heFBpcGV9IGZyb20gXCIuL3BpcGVzL21heC5waXBlXCI7XHJcbmltcG9ydCB7TWluUGlwZX0gZnJvbSBcIi4vcGlwZXMvbWluLnBpcGVcIjtcclxuaW1wb3J0IHtQb3BQaXBlfSBmcm9tIFwiLi9waXBlcy9wb3AucGlwZVwiO1xyXG5pbXBvcnQge1JlZHVjZVBpcGV9IGZyb20gXCIuL3BpcGVzL3JlZHVjZS5waXBlXCI7XHJcbmltcG9ydCB7UmVtYXBQaXBlfSBmcm9tIFwiLi9waXBlcy9yZW1hcC5waXBlXCI7XHJcbmltcG9ydCB7UmVwbGFjZVBpcGV9IGZyb20gXCIuL3BpcGVzL3JlcGxhY2UucGlwZVwiO1xyXG5pbXBvcnQge1JldmVyc2VQaXBlfSBmcm9tIFwiLi9waXBlcy9yZXZlcnNlLnBpcGVcIjtcclxuaW1wb3J0IHtSb3VuZFBpcGV9IGZyb20gXCIuL3BpcGVzL3JvdW5kLnBpcGVcIjtcclxuaW1wb3J0IHtTYWZlSHRtbFBpcGV9IGZyb20gXCIuL3BpcGVzL3NhZmUtaHRtbC5waXBlXCI7XHJcbmltcG9ydCB7U2hpZnRQaXBlfSBmcm9tIFwiLi9waXBlcy9zaGlmdC5waXBlXCI7XHJcbmltcG9ydCB7U3BsaXRQaXBlfSBmcm9tIFwiLi9waXBlcy9zcGxpdC5waXBlXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlUGlwZX0gZnJvbSBcIi4vcGlwZXMvdHJhbnNsYXRlLnBpcGVcIjtcclxuaW1wb3J0IHtWYWx1ZXNQaXBlfSBmcm9tIFwiLi9waXBlcy92YWx1ZXMucGlwZVwiO1xyXG5cclxuaW1wb3J0IHtEeW5hbWljVGFibGVDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1BhZ2luYXRpb25NZW51Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL3BhZ2luYXRpb24tbWVudS9wYWdpbmF0aW9uLW1lbnUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7VW5vcmRlcmVkTGlzdENvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy91bm9yZGVyZWQtbGlzdC91bm9yZGVyZWQtbGlzdC5jb21wb25lbnRcIjtcclxuXHJcbi8vIC0tLSBQaXBlcyAtLS1cclxuZXhwb3J0IGNvbnN0IHBpcGVzID0gW1xyXG4gICAgQ2h1bmtQaXBlLFxyXG4gICAgRW50cmllc1BpcGUsXHJcbiAgICBFeHRyYUl0ZW1Qcm9wZXJ0aWVzUGlwZSxcclxuICAgIEZpbHRlclBpcGUsXHJcbiAgICBGaW5kUGlwZSxcclxuICAgIEZvcm1hdE51bWJlclBpcGUsXHJcbiAgICBHZXRPZmZzZXRQaXBlLFxyXG4gICAgR2V0VHlwZVBpcGUsXHJcbiAgICBHZXRWYWx1ZVBpcGUsXHJcbiAgICBHbG9iYWxUZW1wbGF0ZVBpcGUsXHJcbiAgICBHcm91cEJ5UGlwZSxcclxuICAgIElzVHlwZVBpcGUsXHJcbiAgICBKb2luUGlwZSxcclxuICAgIEtleXNQaXBlLFxyXG4gICAgTWFwUGlwZSxcclxuICAgIE1heFBpcGUsXHJcbiAgICBNaW5QaXBlLFxyXG4gICAgUG9wUGlwZSxcclxuICAgIFJlZHVjZVBpcGUsXHJcbiAgICBSZW1hcFBpcGUsXHJcbiAgICBSZXBsYWNlUGlwZSxcclxuICAgIFJldmVyc2VQaXBlLFxyXG4gICAgUm91bmRQaXBlLFxyXG4gICAgU2FmZUh0bWxQaXBlLFxyXG4gICAgU2hpZnRQaXBlLFxyXG4gICAgU3BsaXRQaXBlLFxyXG4gICAgVHJhbnNsYXRlUGlwZSxcclxuICAgIFZhbHVlc1BpcGVcclxuXTtcclxuXHJcbi8vIC0tLSBEaXJlY3RpdmVzIC0tLVxyXG5leHBvcnQgY29uc3QgZGlyZWN0aXZlcyA9IFtcclxuICAgIEFzeW5jTWV0aG9kQmFzZSxcclxuICAgIEFzeW5jTWV0aG9kRGlyZWN0aXZlLFxyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIER5bmFtaWNUYWJsZVRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gICAgR2xvYmFsVGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgICBJY29uRGlyZWN0aXZlLFxyXG4gICAgTmd4VGVtcGxhdGVPdXRsZXREaXJlY3RpdmUsXHJcbiAgICBQYWdpbmF0aW9uRGlyZWN0aXZlLFxyXG4gICAgUGFnaW5hdGlvbkl0ZW1EaXJlY3RpdmUsXHJcbiAgICBSZXNvdXJjZUlmRGlyZWN0aXZlLFxyXG4gICAgU3RpY2t5RGlyZWN0aXZlLFxyXG4gICAgU3RpY2t5Q2xhc3NEaXJlY3RpdmUsXHJcbiAgICBVbm9yZGVyZWRMaXN0SXRlbURpcmVjdGl2ZSxcclxuICAgIFVub3JkZXJlZExpc3RUZW1wbGF0ZURpcmVjdGl2ZVxyXG5dO1xyXG5cclxuLy8gLS0tIENvbXBvbmVudHMgLS0tXHJcbmV4cG9ydCBjb25zdCBjb21wb25lbnRzID0gW1xyXG4gICAgRHluYW1pY1RhYmxlQ29tcG9uZW50LFxyXG4gICAgUGFnaW5hdGlvbk1lbnVDb21wb25lbnQsXHJcbiAgICBVbm9yZGVyZWRMaXN0Q29tcG9uZW50XHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgcHJvdmlkZXJzID0gW1xyXG4gICAgLi4ucGlwZXMsXHJcbiAgICBCYXNlSHR0cENsaWVudCxcclxuICAgIEJhc2VIdHRwU2VydmljZSxcclxuICAgIEF1dGhHdWFyZCxcclxuICAgIEFjbFNlcnZpY2UsXHJcbiAgICBBcGlTZXJ2aWNlLFxyXG4gICAgU3RhdGljQXV0aFNlcnZpY2UsXHJcbiAgICBDb25maWdTZXJ2aWNlLFxyXG4gICAgRXJyb3JIYW5kbGVyU2VydmljZSxcclxuICAgIEV2ZW50c1NlcnZpY2UsXHJcbiAgICBGb3JtYXR0ZXJTZXJ2aWNlLFxyXG4gICAgR2xvYmFsVGVtcGxhdGVTZXJ2aWNlLFxyXG4gICAgSWNvblNlcnZpY2UsXHJcbiAgICBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBMb2NhbEh0dHBTZXJ2aWNlLFxyXG4gICAgT3BlbkFwaVNlcnZpY2UsXHJcbiAgICBQcm9taXNlU2VydmljZSxcclxuICAgIFN0YXRlU2VydmljZSxcclxuICAgIFN0YXRpY0xhbmd1YWdlU2VydmljZSxcclxuICAgIFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgQ29uc29sZVRvYXN0ZXJTZXJ2aWNlLFxyXG4gICAgVHJhbnNsYXRlZFVybFNlcmlhbGl6ZXIsXHJcbiAgICBVbml2ZXJzYWxTZXJ2aWNlLFxyXG4gICAgV2FzbVNlcnZpY2UsXHJcbiAgICBEZXZpY2VEZXRlY3RvclNlcnZpY2UsXHJcbiAgICBHbG9iYWxUZW1wbGF0ZVNlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogRVZFTlRfTUFOQUdFUl9QTFVHSU5TLFxyXG4gICAgICAgIHVzZUNsYXNzOiBSZXNpemVFdmVudFBsdWdpbixcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBwcm92aWRlOiBFVkVOVF9NQU5BR0VSX1BMVUdJTlMsXHJcbiAgICAgICAgdXNlQ2xhc3M6IFNjcm9sbEV2ZW50UGx1Z2luLFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHByb3ZpZGU6IFVybFNlcmlhbGl6ZXIsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IFRyYW5zbGF0ZWRVcmxTZXJpYWxpemVyXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHByb3ZpZGU6IEVycm9ySGFuZGxlcixcclxuICAgICAgICB1c2VFeGlzdGluZzogRXJyb3JIYW5kbGVyU2VydmljZVxyXG4gICAgfVxyXG5cclxuXTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkQ29uZmlnKGNvbmZpZzogSUNvbmZpZ1NlcnZpY2UpOiBhbnkge1xyXG4gICAgcmV0dXJuIGNvbmZpZy5sb2FkO1xyXG59XHJcbiJdfQ==
@@ -1,204 +0,0 @@
1
- import { APP_INITIALIZER, Injector, makeEnvironmentProviders, NgModule } from "@angular/core";
2
- import { APP_BASE_HREF, CommonModule } from "@angular/common";
3
- import { FormsModule } from "@angular/forms";
4
- import { API_SERVICE, APP_BASE_URL, AUTH_SERVICE, CONFIG_SERVICE, ICON_SERVICE, LANGUAGE_SERVICE, PROMISE_SERVICE, RESIZE_DELAY, RESIZE_STRATEGY, ROOT_ELEMENT, TOASTER_SERVICE, WASI_IMPLEMENTATION } from "./common-types";
5
- import { components, directives, loadConfig, pipes, providers } from "./ngx-utils.imports";
6
- import { ApiService } from "./services/api.service";
7
- import { StaticAuthService } from "./services/auth.service";
8
- import { IconService } from "./services/icon.service";
9
- import { StaticLanguageService } from "./services/static-language.service";
10
- import { ConsoleToasterService } from "./services/toaster.service";
11
- import { PromiseService } from "./services/promise.service";
12
- import { ConfigService } from "./services/config.service";
13
- import { Wasi } from "./utils/wasi";
14
- import * as i0 from "@angular/core";
15
- import * as i1 from "./pipes/chunk.pipe";
16
- import * as i2 from "./pipes/entries.pipe";
17
- import * as i3 from "./pipes/extra-item-properties.pipe";
18
- import * as i4 from "./pipes/filter.pipe";
19
- import * as i5 from "./pipes/find.pipe";
20
- import * as i6 from "./pipes/format-number.pipe";
21
- import * as i7 from "./pipes/get-offset.pipe";
22
- import * as i8 from "./pipes/get-type.pipe";
23
- import * as i9 from "./pipes/get-value.pipe";
24
- import * as i10 from "./pipes/global-template.pipe";
25
- import * as i11 from "./pipes/group-by.pipe";
26
- import * as i12 from "./pipes/is-type.pipe";
27
- import * as i13 from "./pipes/join.pipe";
28
- import * as i14 from "./pipes/keys.pipe";
29
- import * as i15 from "./pipes/map.pipe";
30
- import * as i16 from "./pipes/max.pipe";
31
- import * as i17 from "./pipes/min.pipe";
32
- import * as i18 from "./pipes/pop.pipe";
33
- import * as i19 from "./pipes/reduce.pipe";
34
- import * as i20 from "./pipes/remap.pipe";
35
- import * as i21 from "./pipes/replace.pipe";
36
- import * as i22 from "./pipes/reverse.pipe";
37
- import * as i23 from "./pipes/round.pipe";
38
- import * as i24 from "./pipes/safe-html.pipe";
39
- import * as i25 from "./pipes/shift.pipe";
40
- import * as i26 from "./pipes/split.pipe";
41
- import * as i27 from "./pipes/translate.pipe";
42
- import * as i28 from "./pipes/values.pipe";
43
- import * as i29 from "./directives/async-method.base";
44
- import * as i30 from "./directives/async-method.directive";
45
- import * as i31 from "./directives/background.directive";
46
- import * as i32 from "./directives/dynamic-table-template.directive";
47
- import * as i33 from "./directives/global-template.directive";
48
- import * as i34 from "./directives/icon.directive";
49
- import * as i35 from "./directives/ngx-template-outlet.directive";
50
- import * as i36 from "./directives/pagination.directive";
51
- import * as i37 from "./directives/pagination-item.directive";
52
- import * as i38 from "./directives/resource-if.directive";
53
- import * as i39 from "./directives/sticky.directive";
54
- import * as i40 from "./directives/sticky-class.directive";
55
- import * as i41 from "./directives/unordered-list-item.directive";
56
- import * as i42 from "./directives/unordered-list-template.directive";
57
- import * as i43 from "./components/dynamic-table/dynamic-table.component";
58
- import * as i44 from "./components/pagination-menu/pagination-menu.component";
59
- import * as i45 from "./components/unordered-list/unordered-list.component";
60
- export function loadBaseUrl() {
61
- if (typeof (document) === "undefined" || typeof (location) === "undefined")
62
- return "/";
63
- const scripts = Array.from(document.scripts);
64
- const currentScript = document.currentScript;
65
- let currentUrl = new URL(currentScript?.src ?? "http://localhost:4200/");
66
- if (!currentScript) {
67
- try {
68
- // noinspection ExceptionCaughtLocallyJS
69
- throw new Error();
70
- }
71
- catch (e) {
72
- const qualifiedUrl = location.protocol + "//" + location.host;
73
- const stack = (e.stack || "");
74
- const srcUrl = (stack.match(new RegExp(qualifiedUrl + ".*?\\.js", "g")) ||
75
- stack.match(/http([A-Z0-9:\/\-.]+)\.js/gi) ||
76
- [`${qualifiedUrl}/main.js`]).shift();
77
- currentUrl = new URL(srcUrl ?? "");
78
- }
79
- }
80
- const mainScript = scripts.find(s => {
81
- if (!s.src)
82
- return false;
83
- const sUrl = new URL(s.src);
84
- return currentUrl.host === sUrl.host && sUrl.pathname.includes("main");
85
- });
86
- const scriptUrl = !mainScript ? currentUrl : new URL(mainScript.src);
87
- const path = scriptUrl.pathname?.split("/") ?? [];
88
- path.pop();
89
- return `${scriptUrl.protocol}//${scriptUrl.host}${path.join("/")}/`;
90
- }
91
- export function loadBaseHref(baseUrl) {
92
- try {
93
- return new URL(baseUrl).pathname;
94
- }
95
- catch (e) {
96
- console.log(e);
97
- return "/";
98
- }
99
- }
100
- export class NgxUtilsModule {
101
- static getProviders(config) {
102
- return [
103
- ...providers,
104
- {
105
- provide: API_SERVICE,
106
- useExisting: (!config ? null : config.apiService) || ApiService
107
- },
108
- {
109
- provide: AUTH_SERVICE,
110
- useExisting: (!config ? null : config.authService) || StaticAuthService
111
- },
112
- {
113
- provide: ICON_SERVICE,
114
- useExisting: (!config ? null : config.iconService) || IconService
115
- },
116
- {
117
- provide: LANGUAGE_SERVICE,
118
- useExisting: (!config ? null : config.languageService) || StaticLanguageService
119
- },
120
- {
121
- provide: TOASTER_SERVICE,
122
- useExisting: (!config ? null : config.toasterService) || ConsoleToasterService
123
- },
124
- {
125
- provide: PROMISE_SERVICE,
126
- useExisting: (!config ? null : config.promiseService) || PromiseService
127
- },
128
- {
129
- provide: CONFIG_SERVICE,
130
- useExisting: (!config ? null : config.configService) || ConfigService
131
- },
132
- {
133
- provide: WASI_IMPLEMENTATION,
134
- useExisting: (!config ? null : config.wasiImplementation) || Wasi
135
- },
136
- {
137
- provide: APP_BASE_URL,
138
- useFactory: (!config ? null : config.baseUrl) || loadBaseUrl,
139
- deps: [Injector]
140
- },
141
- {
142
- provide: ROOT_ELEMENT,
143
- useValue: null
144
- },
145
- {
146
- provide: RESIZE_DELAY,
147
- useValue: (!config ? null : config.resizeDelay) ?? 50,
148
- },
149
- {
150
- provide: RESIZE_STRATEGY,
151
- useValue: (!config ? null : config.resizeStrategy) ?? "object",
152
- },
153
- {
154
- provide: APP_INITIALIZER,
155
- useFactory: (!config ? null : config.initializeApp) || loadConfig,
156
- multi: true,
157
- deps: [(!config ? null : config.initializeApp) ? Injector : CONFIG_SERVICE]
158
- },
159
- {
160
- provide: APP_BASE_HREF,
161
- useFactory: loadBaseHref,
162
- deps: [APP_BASE_URL]
163
- }
164
- ];
165
- }
166
- static forRoot(config) {
167
- return {
168
- ngModule: NgxUtilsModule,
169
- providers: NgxUtilsModule.getProviders(config)
170
- };
171
- }
172
- static provideUtils(config) {
173
- return makeEnvironmentProviders(NgxUtilsModule.getProviders(config));
174
- }
175
- constructor() {
176
- }
177
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxUtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
178
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NgxUtilsModule, declarations: [i1.ChunkPipe, i2.EntriesPipe, i3.ExtraItemPropertiesPipe, i4.FilterPipe, i5.FindPipe, i6.FormatNumberPipe, i7.GetOffsetPipe, i8.GetTypePipe, i9.GetValuePipe, i10.GlobalTemplatePipe, i11.GroupByPipe, i12.IsTypePipe, i13.JoinPipe, i14.KeysPipe, i15.MapPipe, i16.MaxPipe, i17.MinPipe, i18.PopPipe, i19.ReducePipe, i20.RemapPipe, i21.ReplacePipe, i22.ReversePipe, i23.RoundPipe, i24.SafeHtmlPipe, i25.ShiftPipe, i26.SplitPipe, i27.TranslatePipe, i28.ValuesPipe, i29.AsyncMethodBase, i30.AsyncMethodDirective, i31.BackgroundDirective, i32.DynamicTableTemplateDirective, i33.GlobalTemplateDirective, i34.IconDirective, i35.NgxTemplateOutletDirective, i36.PaginationDirective, i37.PaginationItemDirective, i38.ResourceIfDirective, i39.StickyDirective, i40.StickyClassDirective, i41.UnorderedListItemDirective, i42.UnorderedListTemplateDirective, i43.DynamicTableComponent, i44.PaginationMenuComponent, i45.UnorderedListComponent], imports: [CommonModule,
179
- FormsModule], exports: [i1.ChunkPipe, i2.EntriesPipe, i3.ExtraItemPropertiesPipe, i4.FilterPipe, i5.FindPipe, i6.FormatNumberPipe, i7.GetOffsetPipe, i8.GetTypePipe, i9.GetValuePipe, i10.GlobalTemplatePipe, i11.GroupByPipe, i12.IsTypePipe, i13.JoinPipe, i14.KeysPipe, i15.MapPipe, i16.MaxPipe, i17.MinPipe, i18.PopPipe, i19.ReducePipe, i20.RemapPipe, i21.ReplacePipe, i22.ReversePipe, i23.RoundPipe, i24.SafeHtmlPipe, i25.ShiftPipe, i26.SplitPipe, i27.TranslatePipe, i28.ValuesPipe, i29.AsyncMethodBase, i30.AsyncMethodDirective, i31.BackgroundDirective, i32.DynamicTableTemplateDirective, i33.GlobalTemplateDirective, i34.IconDirective, i35.NgxTemplateOutletDirective, i36.PaginationDirective, i37.PaginationItemDirective, i38.ResourceIfDirective, i39.StickyDirective, i40.StickyClassDirective, i41.UnorderedListItemDirective, i42.UnorderedListTemplateDirective, i43.DynamicTableComponent, i44.PaginationMenuComponent, i45.UnorderedListComponent, FormsModule] }); }
180
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxUtilsModule, providers: pipes, imports: [CommonModule,
181
- FormsModule, FormsModule] }); }
182
- }
183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxUtilsModule, decorators: [{
184
- type: NgModule,
185
- args: [{
186
- declarations: [
187
- ...pipes,
188
- ...directives,
189
- ...components
190
- ],
191
- imports: [
192
- CommonModule,
193
- FormsModule
194
- ],
195
- exports: [
196
- ...pipes,
197
- ...directives,
198
- ...components,
199
- FormsModule
200
- ],
201
- providers: pipes
202
- }]
203
- }], ctorParameters: () => [] });
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXV0aWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvbmd4LXV0aWxzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLFFBQVEsRUFDUix3QkFBd0IsRUFFeEIsUUFBUSxFQUVYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDWixjQUFjLEVBQ2QsWUFBWSxFQUVaLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osZUFBZSxFQUNmLG1CQUFtQixFQUN0QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDekYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXhELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUM7Ozs7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LEVBQUUsWUFBWTtnQkFDeEIsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDO2FBQ3ZCO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQXNCO1FBQ2pDLE9BQU87WUFDSCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUUsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7U0FDakQsQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQXNCO1FBQ3RDLE9BQU8sd0JBQXdCLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDtJQUVBLENBQUM7K0dBakZRLGNBQWM7Z0hBQWQsY0FBYyx1N0JBWG5CLFlBQVk7WUFDWixXQUFXLHc2QkFNWCxXQUFXO2dIQUlOLGNBQWMsYUFGWixLQUFLLFlBVFosWUFBWTtZQUNaLFdBQVcsRUFNWCxXQUFXOzs0RkFJTixjQUFjO2tCQWxCMUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsR0FBRyxLQUFLO3dCQUNSLEdBQUcsVUFBVTt3QkFDYixHQUFHLFVBQVU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLEdBQUcsS0FBSzt3QkFDUixHQUFHLFVBQVU7d0JBQ2IsR0FBRyxVQUFVO3dCQUNiLFdBQVc7cUJBQ2Q7b0JBQ0QsU0FBUyxFQUFFLEtBQUs7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFQUF9JTklUSUFMSVpFUiwgRW52aXJvbm1lbnRQcm92aWRlcnMsXHJcbiAgICBJbmplY3RvcixcclxuICAgIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyxcclxuICAgIE1vZHVsZVdpdGhQcm92aWRlcnMsXHJcbiAgICBOZ01vZHVsZSxcclxuICAgIFByb3ZpZGVyXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBUFBfQkFTRV9IUkVGLCBDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7XHJcbiAgICBBUElfU0VSVklDRSxcclxuICAgIEFQUF9CQVNFX1VSTCxcclxuICAgIEFVVEhfU0VSVklDRSxcclxuICAgIENPTkZJR19TRVJWSUNFLFxyXG4gICAgSUNPTl9TRVJWSUNFLFxyXG4gICAgSU1vZHVsZUNvbmZpZyxcclxuICAgIExBTkdVQUdFX1NFUlZJQ0UsXHJcbiAgICBQUk9NSVNFX1NFUlZJQ0UsXHJcbiAgICBSRVNJWkVfREVMQVksXHJcbiAgICBSRVNJWkVfU1RSQVRFR1ksXHJcbiAgICBST09UX0VMRU1FTlQsXHJcbiAgICBUT0FTVEVSX1NFUlZJQ0UsXHJcbiAgICBXQVNJX0lNUExFTUVOVEFUSU9OXHJcbn0gZnJvbSBcIi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7Y29tcG9uZW50cywgZGlyZWN0aXZlcywgbG9hZENvbmZpZywgcGlwZXMsIHByb3ZpZGVyc30gZnJvbSBcIi4vbmd4LXV0aWxzLmltcG9ydHNcIjtcclxuaW1wb3J0IHtBcGlTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQge1N0YXRpY0F1dGhTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29uU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvaWNvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RhdGljTGFuZ3VhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9zdGF0aWMtbGFuZ3VhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvbnNvbGVUb2FzdGVyU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UHJvbWlzZVNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL3Byb21pc2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7R2xvYmFsVGVtcGxhdGVTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9nbG9iYWwtdGVtcGxhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQge1dhc2l9IGZyb20gXCIuL3V0aWxzL3dhc2lcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkQmFzZVVybCgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHR5cGVvZiAoZG9jdW1lbnQpID09PSBcInVuZGVmaW5lZFwiIHx8IHR5cGVvZiAobG9jYXRpb24pID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gXCIvXCI7XHJcbiAgICBjb25zdCBzY3JpcHRzID0gQXJyYXkuZnJvbShkb2N1bWVudC5zY3JpcHRzKTtcclxuICAgIGNvbnN0IGN1cnJlbnRTY3JpcHQgPSAoZG9jdW1lbnQuY3VycmVudFNjcmlwdCBhcyBIVE1MU2NyaXB0RWxlbWVudCk7XHJcbiAgICBsZXQgY3VycmVudFVybCA9IG5ldyBVUkwoY3VycmVudFNjcmlwdD8uc3JjID8/IFwiaHR0cDovL2xvY2FsaG9zdDo0MjAwL1wiKTtcclxuICAgIGlmICghY3VycmVudFNjcmlwdCkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIC8vIG5vaW5zcGVjdGlvbiBFeGNlcHRpb25DYXVnaHRMb2NhbGx5SlNcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBjb25zdCBxdWFsaWZpZWRVcmwgPSBsb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiArIGxvY2F0aW9uLmhvc3Q7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YWNrID0gKGUuc3RhY2sgfHwgXCJcIikgYXMgc3RyaW5nO1xyXG4gICAgICAgICAgICBjb25zdCBzcmNVcmwgPSAoXHJcbiAgICAgICAgICAgICAgICBzdGFjay5tYXRjaChuZXcgUmVnRXhwKHF1YWxpZmllZFVybCArIFwiLio/XFxcXC5qc1wiLCBcImdcIikpIHx8XHJcbiAgICAgICAgICAgICAgICBzdGFjay5tYXRjaCgvaHR0cChbQS1aMC05OlxcL1xcLS5dKylcXC5qcy9naSkgfHxcclxuICAgICAgICAgICAgICAgIFtgJHtxdWFsaWZpZWRVcmx9L21haW4uanNgXVxyXG4gICAgICAgICAgICApLnNoaWZ0KCk7XHJcbiAgICAgICAgICAgIGN1cnJlbnRVcmwgPSBuZXcgVVJMKHNyY1VybCA/PyBcIlwiKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBtYWluU2NyaXB0ID0gc2NyaXB0cy5maW5kKHMgPT4ge1xyXG4gICAgICAgIGlmICghcy5zcmMpIHJldHVybiBmYWxzZTtcclxuICAgICAgICBjb25zdCBzVXJsID0gbmV3IFVSTChzLnNyYyk7XHJcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRVcmwuaG9zdCA9PT0gc1VybC5ob3N0ICYmIHNVcmwucGF0aG5hbWUuaW5jbHVkZXMoXCJtYWluXCIpO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBzY3JpcHRVcmwgPSAhbWFpblNjcmlwdCA/IGN1cnJlbnRVcmwgOiBuZXcgVVJMKG1haW5TY3JpcHQuc3JjKTtcclxuICAgIGNvbnN0IHBhdGggPSBzY3JpcHRVcmwucGF0aG5hbWU/LnNwbGl0KFwiL1wiKSA/PyBbXTtcclxuICAgIHBhdGgucG9wKCk7XHJcbiAgICByZXR1cm4gYCR7c2NyaXB0VXJsLnByb3RvY29sfS8vJHtzY3JpcHRVcmwuaG9zdH0ke3BhdGguam9pbihcIi9cIil9L2A7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkQmFzZUhyZWYoYmFzZVVybDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBVUkwoYmFzZVVybCkucGF0aG5hbWU7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZSk7XHJcbiAgICAgICAgcmV0dXJuIFwiL1wiO1xyXG4gICAgfVxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgLi4ucGlwZXMsXHJcbiAgICAgICAgLi4uZGlyZWN0aXZlcyxcclxuICAgICAgICAuLi5jb21wb25lbnRzXHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZVxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICAuLi5waXBlcyxcclxuICAgICAgICAuLi5kaXJlY3RpdmVzLFxyXG4gICAgICAgIC4uLmNvbXBvbmVudHMsXHJcbiAgICAgICAgRm9ybXNNb2R1bGVcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IHBpcGVzXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hVdGlsc01vZHVsZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0UHJvdmlkZXJzKGNvbmZpZz86IElNb2R1bGVDb25maWcpOiBQcm92aWRlcltdIHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICAuLi5wcm92aWRlcnMsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQSV9TRVJWSUNFLFxyXG4gICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5hcGlTZXJ2aWNlKSB8fCBBcGlTZXJ2aWNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFVVEhfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuYXV0aFNlcnZpY2UpIHx8IFN0YXRpY0F1dGhTZXJ2aWNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHByb3ZpZGU6IElDT05fU0VSVklDRSxcclxuICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuaWNvblNlcnZpY2UpIHx8IEljb25TZXJ2aWNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHByb3ZpZGU6IExBTkdVQUdFX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmxhbmd1YWdlU2VydmljZSkgfHwgU3RhdGljTGFuZ3VhZ2VTZXJ2aWNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHByb3ZpZGU6IFRPQVNURVJfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcudG9hc3RlclNlcnZpY2UpIHx8IENvbnNvbGVUb2FzdGVyU2VydmljZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBQUk9NSVNFX1NFUlZJQ0UsXHJcbiAgICAgICAgICAgICAgICB1c2VFeGlzdGluZzogKCFjb25maWcgPyBudWxsIDogY29uZmlnLnByb21pc2VTZXJ2aWNlKSB8fCBQcm9taXNlU2VydmljZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBDT05GSUdfU0VSVklDRSxcclxuICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiAoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuY29uZmlnU2VydmljZSkgfHwgQ29uZmlnU2VydmljZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBXQVNJX0lNUExFTUVOVEFUSU9OLFxyXG4gICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy53YXNpSW1wbGVtZW50YXRpb24pIHx8IFdhc2lcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcHJvdmlkZTogQVBQX0JBU0VfVVJMLFxyXG4gICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmJhc2VVcmwpIHx8IGxvYWRCYXNlVXJsLFxyXG4gICAgICAgICAgICAgICAgZGVwczogW0luamVjdG9yXVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBST09UX0VMRU1FTlQsXHJcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZTogbnVsbFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBSRVNJWkVfREVMQVksXHJcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZTogKCFjb25maWcgPyBudWxsIDogY29uZmlnLnJlc2l6ZURlbGF5KSA/PyA1MCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcHJvdmlkZTogUkVTSVpFX1NUUkFURUdZLFxyXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6ICghY29uZmlnID8gbnVsbCA6IGNvbmZpZy5yZXNpemVTdHJhdGVneSkgPz8gXCJvYmplY3RcIixcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKCFjb25maWcgPyBudWxsIDogY29uZmlnLmluaXRpYWxpemVBcHApIHx8IGxvYWRDb25maWcsXHJcbiAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGRlcHM6IFsoIWNvbmZpZyA/IG51bGwgOiBjb25maWcuaW5pdGlhbGl6ZUFwcCkgPyBJbmplY3RvciA6IENPTkZJR19TRVJWSUNFXVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfQkFTRV9IUkVGLFxyXG4gICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogbG9hZEJhc2VIcmVmLFxyXG4gICAgICAgICAgICAgICAgZGVwczogW0FQUF9CQVNFX1VSTF1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogSU1vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4VXRpbHNNb2R1bGU+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBuZ01vZHVsZTogTmd4VXRpbHNNb2R1bGUsXHJcbiAgICAgICAgICAgIHByb3ZpZGVyczogTmd4VXRpbHNNb2R1bGUuZ2V0UHJvdmlkZXJzKGNvbmZpZylcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBwcm92aWRlVXRpbHMoY29uZmlnPzogSU1vZHVsZUNvbmZpZyk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcclxuICAgICAgICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKE5neFV0aWxzTW9kdWxlLmdldFByb3ZpZGVycyhjb25maWcpKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuXHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,25 +0,0 @@
1
- import { Pipe } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class ChunkPipe {
4
- transform(items, count) {
5
- const result = [];
6
- let subResult = null;
7
- items.forEach((item, index) => {
8
- if (index % count == 0) {
9
- subResult = [];
10
- result.push(subResult);
11
- }
12
- subResult.push(item);
13
- });
14
- return result;
15
- }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChunkPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ChunkPipe, name: "chunk" }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChunkPipe, decorators: [{
20
- type: Pipe,
21
- args: [{
22
- name: "chunk"
23
- }]
24
- }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1bmsucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGlwZXMvY2h1bmsucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFLbEQsTUFBTSxPQUFPLFNBQVM7SUFDbEIsU0FBUyxDQUFDLEtBQVksRUFBRSxLQUFhO1FBQ2pDLE1BQU0sTUFBTSxHQUFVLEVBQUUsQ0FBQztRQUN6QixJQUFJLFNBQVMsR0FBVSxJQUFJLENBQUM7UUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMxQixJQUFJLEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLFNBQVMsR0FBRyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzQixDQUFDO1lBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7K0dBWlEsU0FBUzs2R0FBVCxTQUFTOzs0RkFBVCxTQUFTO2tCQUhyQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxPQUFPO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiY2h1bmtcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2h1bmtQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm0oaXRlbXM6IGFueVtdLCBjb3VudDogbnVtYmVyKTogYW55W10ge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55W10gPSBbXTtcclxuICAgICAgICBsZXQgc3ViUmVzdWx0OiBhbnlbXSA9IG51bGw7XHJcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgaWYgKGluZGV4ICUgY291bnQgPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgc3ViUmVzdWx0ID0gW107XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChzdWJSZXN1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN1YlJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,28 +0,0 @@
1
- import { Pipe } from "@angular/core";
2
- import { ObjectUtils } from "../utils/object.utils";
3
- import * as i0 from "@angular/core";
4
- const emptyEntries = [];
5
- export class EntriesPipe {
6
- transform(value) {
7
- if (!value)
8
- return emptyEntries;
9
- const entries = [];
10
- ObjectUtils.iterate(value, (val, key) => {
11
- entries.push({
12
- key: key,
13
- value: val,
14
- index: entries.length
15
- });
16
- });
17
- return entries;
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EntriesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: EntriesPipe, name: "entries" }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EntriesPipe, decorators: [{
23
- type: Pipe,
24
- args: [{
25
- name: "entries"
26
- }]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cmllcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9lbnRyaWVzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQVFsRCxNQUFNLFlBQVksR0FBYSxFQUFFLENBQUM7QUFLbEMsTUFBTSxPQUFPLFdBQVc7SUFFcEIsU0FBUyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLFlBQVksQ0FBQztRQUNoQyxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFDN0IsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDcEMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDVCxHQUFHLEVBQUUsR0FBRztnQkFDUixLQUFLLEVBQUUsR0FBRztnQkFDVixLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU07YUFDeEIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDOytHQWJRLFdBQVc7NkdBQVgsV0FBVzs7NEZBQVgsV0FBVztrQkFIdkIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsU0FBUztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUVudHJ5IHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgdmFsdWU6IGFueTtcclxuICAgIGluZGV4OiBudW1iZXI7XHJcbn1cclxuXHJcbmNvbnN0IGVtcHR5RW50cmllczogSUVudHJ5W10gPSBbXTtcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiZW50cmllc1wiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnRyaWVzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55KTogSUVudHJ5W10ge1xyXG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybiBlbXB0eUVudHJpZXM7XHJcbiAgICAgICAgY29uc3QgZW50cmllczogSUVudHJ5W10gPSBbXTtcclxuICAgICAgICBPYmplY3RVdGlscy5pdGVyYXRlKHZhbHVlLCAodmFsLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgZW50cmllcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGtleToga2V5LFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbCxcclxuICAgICAgICAgICAgICAgIGluZGV4OiBlbnRyaWVzLmxlbmd0aFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gZW50cmllcztcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,31 +0,0 @@
1
- import { Pipe } from "@angular/core";
2
- import { ObjectUtils } from "../utils/object.utils";
3
- import * as i0 from "@angular/core";
4
- export class ExtraItemPropertiesPipe {
5
- transform(items, properties, params = {}) {
6
- const keys = Object.keys(properties);
7
- keys.forEach(key => {
8
- const value = properties[key];
9
- properties[key] = ObjectUtils.isFunction(value) ? value : (item, index, params) => {
10
- return ObjectUtils.evaluate(value, {
11
- item: item,
12
- index: index,
13
- params: params
14
- });
15
- };
16
- });
17
- return (items || []).map((item, index) => keys.reduce((result, key) => {
18
- result[key] = properties[key](item, index, params);
19
- return result;
20
- }, { ...item }));
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ExtraItemPropertiesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
23
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ExtraItemPropertiesPipe, name: "extraItemProperties" }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ExtraItemPropertiesPipe, decorators: [{
26
- type: Pipe,
27
- args: [{
28
- name: "extraItemProperties"
29
- }]
30
- }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEtaXRlbS1wcm9wZXJ0aWVzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL2V4dHJhLWl0ZW0tcHJvcGVydGllcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFLbEQsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxTQUFTLENBQUMsS0FBWSxFQUFFLFVBQTRCLEVBQUUsU0FBYyxFQUFFO1FBQ2xFLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQzlFLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7b0JBQy9CLElBQUksRUFBRSxJQUFJO29CQUNWLEtBQUssRUFBRSxLQUFLO29CQUNaLE1BQU0sRUFBRSxNQUFNO2lCQUNqQixDQUFDLENBQUM7WUFDUCxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbkQsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxFQUFFLEVBQUMsR0FBRyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQzsrR0FqQlEsdUJBQXVCOzZHQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSG5DLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLHFCQUFxQjtpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SUV4dHJhUHJvcGVydGllc30gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImV4dHJhSXRlbVByb3BlcnRpZXNcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXh0cmFJdGVtUHJvcGVydGllc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybShpdGVtczogYW55W10sIHByb3BlcnRpZXM6IElFeHRyYVByb3BlcnRpZXMsIHBhcmFtczogYW55ID0ge30pOiBhbnlbXSB7XHJcbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHByb3BlcnRpZXMpO1xyXG4gICAgICAgIGtleXMuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHByb3BlcnRpZXNba2V5XTtcclxuICAgICAgICAgICAgcHJvcGVydGllc1trZXldID0gT2JqZWN0VXRpbHMuaXNGdW5jdGlvbih2YWx1ZSkgPyB2YWx1ZSA6IChpdGVtLCBpbmRleCwgcGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuZXZhbHVhdGUodmFsdWUsIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtOiBpdGVtLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtc1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIChpdGVtcyB8fCBbXSkubWFwKChpdGVtLCBpbmRleCkgPT4ga2V5cy5yZWR1Y2UoKHJlc3VsdCwga2V5KSA9PiB7XHJcbiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gcHJvcGVydGllc1trZXldKGl0ZW0sIGluZGV4LCBwYXJhbXMpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH0sIHsuLi5pdGVtfSkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,37 +0,0 @@
1
- import { Pipe } from "@angular/core";
2
- import { ObjectUtils } from "../utils/object.utils";
3
- import * as i0 from "@angular/core";
4
- export function defaultFilter() {
5
- return true;
6
- }
7
- export class FilterPipe {
8
- transform(values, filter = defaultFilter, params = {}) {
9
- const isObject = ObjectUtils.isObject(values);
10
- if (!isObject && !ObjectUtils.isArray(values))
11
- return [];
12
- const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, key, params, values) => {
13
- const index = key;
14
- return ObjectUtils.evaluate(filter, { value, key, params, values, index });
15
- };
16
- if (isObject) {
17
- return Object.keys(values).filter(key => {
18
- return filterFunc(values[key], key, params, values);
19
- }).reduce((result, key) => {
20
- result[key] = values[key];
21
- return result;
22
- }, {});
23
- }
24
- return values.filter((value, key) => {
25
- return filterFunc(value, key, params, values);
26
- });
27
- }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
29
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FilterPipe, name: "filter" }); }
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterPipe, decorators: [{
32
- type: Pipe,
33
- args: [{
34
- name: "filter"
35
- }]
36
- }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL2ZpbHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFbEQsTUFBTSxVQUFVLGFBQWE7SUFDekIsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUtELE1BQU0sT0FBTyxVQUFVO0lBQ25CLFNBQVMsQ0FBQyxNQUFXLEVBQUUsU0FBYyxhQUFhLEVBQUUsU0FBYyxFQUFFO1FBQ2hFLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDekQsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3hGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNsQixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDN0UsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNYLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3BDLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUIsT0FBTyxNQUFNLENBQUM7WUFDbEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQ1YsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNoQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBbkJRLFVBQVU7NkdBQVYsVUFBVTs7NEZBQVYsVUFBVTtrQkFIdEIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsUUFBUTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0RmlsdGVyKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiZmlsdGVyXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZXM6IGFueSwgZmlsdGVyOiBhbnkgPSBkZWZhdWx0RmlsdGVyLCBwYXJhbXM6IGFueSA9IHt9KTogYW55IHtcclxuICAgICAgICBjb25zdCBpc09iamVjdCA9IE9iamVjdFV0aWxzLmlzT2JqZWN0KHZhbHVlcyk7XHJcbiAgICAgICAgaWYgKCFpc09iamVjdCAmJiAhT2JqZWN0VXRpbHMuaXNBcnJheSh2YWx1ZXMpKSByZXR1cm4gW107XHJcbiAgICAgICAgY29uc3QgZmlsdGVyRnVuYyA9IE9iamVjdFV0aWxzLmlzRnVuY3Rpb24oZmlsdGVyKSA/IGZpbHRlciA6ICh2YWx1ZSwga2V5LCBwYXJhbXMsIHZhbHVlcykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IGtleTtcclxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdFV0aWxzLmV2YWx1YXRlKGZpbHRlciwge3ZhbHVlLCBrZXksIHBhcmFtcywgdmFsdWVzLCBpbmRleH0pO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgaWYgKGlzT2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh2YWx1ZXMpLmZpbHRlcihrZXkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlckZ1bmModmFsdWVzW2tleV0sIGtleSwgcGFyYW1zLCB2YWx1ZXMpO1xyXG4gICAgICAgICAgICB9KS5yZWR1Y2UoKHJlc3VsdCwga2V5KSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IHZhbHVlc1trZXldO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICAgICAgfSwge30pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB2YWx1ZXMuZmlsdGVyKCh2YWx1ZSwga2V5KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXJGdW5jKHZhbHVlLCBrZXksIHBhcmFtcywgdmFsdWVzKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,29 +0,0 @@
1
- import { Pipe } from "@angular/core";
2
- import { ObjectUtils } from "../utils/object.utils";
3
- import * as i0 from "@angular/core";
4
- export function defaultFilter() {
5
- return true;
6
- }
7
- export class FindPipe {
8
- transform(values, filter = defaultFilter, params) {
9
- if (!ObjectUtils.isArray(values))
10
- return [];
11
- params = params || {};
12
- if (ObjectUtils.isObject(params)) {
13
- params.values = values;
14
- }
15
- const filterFunc = ObjectUtils.isFunction(filter) ? filter : (value, index, params, values) => {
16
- return ObjectUtils.evaluate(filter, { value, index, params, values });
17
- };
18
- return values.find((value, index) => filterFunc(value, index, params, values));
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FindPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
21
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FindPipe, name: "find" }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FindPipe, decorators: [{
24
- type: Pipe,
25
- args: [{
26
- name: "find"
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9waXBlcy9maW5kLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQUVsRCxNQUFNLFVBQVUsYUFBYTtJQUN6QixPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBS0QsTUFBTSxPQUFPLFFBQVE7SUFDakIsU0FBUyxDQUFDLE1BQWEsRUFBRSxTQUFjLGFBQWEsRUFBRSxNQUFZO1FBQzlELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzVDLE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQzNCLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDMUYsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQzsrR0FYUSxRQUFROzZHQUFSLFFBQVE7OzRGQUFSLFFBQVE7a0JBSHBCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLE1BQU07aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0RmlsdGVyKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiZmluZFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaW5kUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlczogYW55W10sIGZpbHRlcjogYW55ID0gZGVmYXVsdEZpbHRlciwgcGFyYW1zPzogYW55KTogYW55IHtcclxuICAgICAgICBpZiAoIU9iamVjdFV0aWxzLmlzQXJyYXkodmFsdWVzKSkgcmV0dXJuIFtdO1xyXG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcclxuICAgICAgICBpZiAoT2JqZWN0VXRpbHMuaXNPYmplY3QocGFyYW1zKSkge1xyXG4gICAgICAgICAgICBwYXJhbXMudmFsdWVzID0gdmFsdWVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBmaWx0ZXJGdW5jID0gT2JqZWN0VXRpbHMuaXNGdW5jdGlvbihmaWx0ZXIpID8gZmlsdGVyIDogKHZhbHVlLCBpbmRleCwgcGFyYW1zLCB2YWx1ZXMpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdFV0aWxzLmV2YWx1YXRlKGZpbHRlciwge3ZhbHVlLCBpbmRleCwgcGFyYW1zLCB2YWx1ZXN9KTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiB2YWx1ZXMuZmluZCgodmFsdWUsIGluZGV4KSA9PiBmaWx0ZXJGdW5jKHZhbHVlLCBpbmRleCwgcGFyYW1zLCB2YWx1ZXMpKTtcclxuICAgIH1cclxufVxyXG4iXX0=