@rs-pk/asset-management 1.0.25 → 1.0.26

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 (176) hide show
  1. package/README.md +24 -24
  2. package/bundles/rs-pk-asset-management.umd.js +6436 -6436
  3. package/bundles/rs-pk-asset-management.umd.js.map +1 -1
  4. package/bundles/rs-pk-asset-management.umd.min.js +2 -2
  5. package/bundles/rs-pk-asset-management.umd.min.js.map +1 -1
  6. package/esm2015/lib/asset-management.component.js +169 -169
  7. package/esm2015/lib/asset-management.module.js +178 -178
  8. package/esm2015/lib/asset-management.service.js +45 -45
  9. package/esm2015/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +146 -146
  10. package/esm2015/lib/components/partial/asset-dialog/asset-dialog.component.js +398 -398
  11. package/esm2015/lib/components/partial/asset-item/asset-item.component.js +316 -316
  12. package/esm2015/lib/components/partial/asset-list/asset-list.component.js +285 -285
  13. package/esm2015/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +110 -110
  14. package/esm2015/lib/components/partial/asset-wrapper/asset-wrapper.component.js +119 -119
  15. package/esm2015/lib/components/partial/breadcrumb/breadcrumb.component.js +121 -121
  16. package/esm2015/lib/components/partial/delete-dialog/delete-dialog.component.js +139 -139
  17. package/esm2015/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +151 -151
  18. package/esm2015/lib/components/partial/file-item/file-item.component.js +181 -181
  19. package/esm2015/lib/components/partial/file-list/file-list.component.js +73 -73
  20. package/esm2015/lib/components/partial/folder-item/folder-item.component.js +126 -126
  21. package/esm2015/lib/components/partial/folder-list/folder-list.component.js +81 -81
  22. package/esm2015/lib/components/partial/node-details/node-details.component.js +417 -417
  23. package/esm2015/lib/components/partial/node-tree/node-tree.component.js +330 -330
  24. package/esm2015/lib/components/partial/search-box/search-box.component.js +158 -158
  25. package/esm2015/lib/components/partial/sort-items/sort-items.component.js +99 -99
  26. package/esm2015/lib/components/partial/upload-dialog/upload-dialog.component.js +141 -141
  27. package/esm2015/lib/components/partial/upload-file/upload-file.component.js +85 -85
  28. package/esm2015/lib/components/ui/drag-to-resize/drag-to-resize.component.js +96 -96
  29. package/esm2015/lib/components/ui/input-file/input-file.component.js +49 -49
  30. package/esm2015/lib/components/ui/modal/modal.component.js +34 -34
  31. package/esm2015/lib/components/ui/search-not-found/search-not-found.component.js +41 -41
  32. package/esm2015/lib/configs/admin.config.js +22 -22
  33. package/esm2015/lib/contanst/data-image.js +20 -20
  34. package/esm2015/lib/contanst/index.js +6 -6
  35. package/esm2015/lib/datasources/index.js +6 -6
  36. package/esm2015/lib/datasources/node-tree.datasource.js +179 -179
  37. package/esm2015/lib/directives/dialogTrigger.directive.js +47 -47
  38. package/esm2015/lib/directives/directives.module.js +20 -20
  39. package/esm2015/lib/directives/dnd.directive.js +57 -57
  40. package/esm2015/lib/models/asset-file.model.js +57 -57
  41. package/esm2015/lib/models/asset.model.js +151 -151
  42. package/esm2015/lib/models/file-type.enum.js +11 -11
  43. package/esm2015/lib/models/file.model.js +91 -91
  44. package/esm2015/lib/models/index.js +12 -12
  45. package/esm2015/lib/models/node-tree.model.js +32 -32
  46. package/esm2015/lib/models/sort.enum.js +23 -23
  47. package/esm2015/lib/pipes/datetime.pipe.js +79 -79
  48. package/esm2015/lib/pipes/file-size.pipe.js +54 -54
  49. package/esm2015/lib/services/asset.service.js +229 -229
  50. package/esm2015/lib/services/base.service.js +49 -49
  51. package/esm2015/lib/services/env-config.service.js +18 -18
  52. package/esm2015/lib/services/file.service.js +106 -106
  53. package/esm2015/lib/services/index.js +11 -11
  54. package/esm2015/lib/services/node-tree.service.js +212 -212
  55. package/esm2015/lib/services/upload-assets.service.js +178 -178
  56. package/esm2015/lib/store/actions.action.js +125 -125
  57. package/esm2015/lib/store/index.js +7 -7
  58. package/esm2015/lib/store/reducer.js +115 -115
  59. package/esm2015/public-api.js +34 -34
  60. package/esm2015/rs-pk-asset-management.js +16 -16
  61. package/esm5/lib/asset-management.component.js +184 -184
  62. package/esm5/lib/asset-management.module.js +179 -179
  63. package/esm5/lib/asset-management.service.js +54 -54
  64. package/esm5/lib/components/partial/add-folder-dialog/add-folder-dialog.component.js +164 -164
  65. package/esm5/lib/components/partial/asset-dialog/asset-dialog.component.js +440 -440
  66. package/esm5/lib/components/partial/asset-item/asset-item.component.js +350 -350
  67. package/esm5/lib/components/partial/asset-list/asset-list.component.js +318 -318
  68. package/esm5/lib/components/partial/asset-management-dialog/asset-management-dialog.component.js +125 -125
  69. package/esm5/lib/components/partial/asset-wrapper/asset-wrapper.component.js +137 -137
  70. package/esm5/lib/components/partial/breadcrumb/breadcrumb.component.js +143 -143
  71. package/esm5/lib/components/partial/delete-dialog/delete-dialog.component.js +154 -154
  72. package/esm5/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.js +169 -169
  73. package/esm5/lib/components/partial/file-item/file-item.component.js +206 -206
  74. package/esm5/lib/components/partial/file-list/file-list.component.js +93 -93
  75. package/esm5/lib/components/partial/folder-item/folder-item.component.js +138 -138
  76. package/esm5/lib/components/partial/folder-list/folder-list.component.js +94 -94
  77. package/esm5/lib/components/partial/node-details/node-details.component.js +458 -458
  78. package/esm5/lib/components/partial/node-tree/node-tree.component.js +413 -413
  79. package/esm5/lib/components/partial/search-box/search-box.component.js +184 -184
  80. package/esm5/lib/components/partial/sort-items/sort-items.component.js +107 -107
  81. package/esm5/lib/components/partial/upload-dialog/upload-dialog.component.js +156 -156
  82. package/esm5/lib/components/partial/upload-file/upload-file.component.js +102 -102
  83. package/esm5/lib/components/ui/drag-to-resize/drag-to-resize.component.js +117 -117
  84. package/esm5/lib/components/ui/input-file/input-file.component.js +55 -55
  85. package/esm5/lib/components/ui/modal/modal.component.js +39 -39
  86. package/esm5/lib/components/ui/search-not-found/search-not-found.component.js +43 -43
  87. package/esm5/lib/configs/admin.config.js +22 -22
  88. package/esm5/lib/contanst/data-image.js +20 -20
  89. package/esm5/lib/contanst/index.js +6 -6
  90. package/esm5/lib/datasources/index.js +6 -6
  91. package/esm5/lib/datasources/node-tree.datasource.js +239 -239
  92. package/esm5/lib/directives/dialogTrigger.directive.js +53 -53
  93. package/esm5/lib/directives/directives.module.js +25 -25
  94. package/esm5/lib/directives/dnd.directive.js +80 -80
  95. package/esm5/lib/models/asset-file.model.js +69 -69
  96. package/esm5/lib/models/asset.model.js +170 -170
  97. package/esm5/lib/models/file-type.enum.js +11 -11
  98. package/esm5/lib/models/file.model.js +99 -99
  99. package/esm5/lib/models/index.js +12 -12
  100. package/esm5/lib/models/node-tree.model.js +37 -37
  101. package/esm5/lib/models/sort.enum.js +23 -23
  102. package/esm5/lib/pipes/datetime.pipe.js +83 -83
  103. package/esm5/lib/pipes/file-size.pipe.js +63 -63
  104. package/esm5/lib/services/asset.service.js +279 -279
  105. package/esm5/lib/services/base.service.js +57 -57
  106. package/esm5/lib/services/env-config.service.js +18 -18
  107. package/esm5/lib/services/file.service.js +127 -127
  108. package/esm5/lib/services/index.js +11 -11
  109. package/esm5/lib/services/node-tree.service.js +278 -278
  110. package/esm5/lib/services/upload-assets.service.js +207 -207
  111. package/esm5/lib/store/actions.action.js +143 -143
  112. package/esm5/lib/store/index.js +7 -7
  113. package/esm5/lib/store/reducer.js +116 -116
  114. package/esm5/public-api.js +34 -34
  115. package/esm5/rs-pk-asset-management.js +16 -16
  116. package/fesm2015/rs-pk-asset-management.js +5635 -5635
  117. package/fesm2015/rs-pk-asset-management.js.map +1 -1
  118. package/fesm5/rs-pk-asset-management.js +6441 -6441
  119. package/fesm5/rs-pk-asset-management.js.map +1 -1
  120. package/lib/asset-management.component.d.ts +25 -25
  121. package/lib/asset-management.module.d.ts +5 -5
  122. package/lib/asset-management.service.d.ts +7 -7
  123. package/lib/components/partial/add-folder-dialog/add-folder-dialog.component.d.ts +27 -27
  124. package/lib/components/partial/asset-dialog/asset-dialog.component.d.ts +65 -65
  125. package/lib/components/partial/asset-item/asset-item.component.d.ts +40 -40
  126. package/lib/components/partial/asset-list/asset-list.component.d.ts +27 -27
  127. package/lib/components/partial/asset-management-dialog/asset-management-dialog.component.d.ts +17 -17
  128. package/lib/components/partial/asset-wrapper/asset-wrapper.component.d.ts +23 -23
  129. package/lib/components/partial/breadcrumb/breadcrumb.component.d.ts +18 -18
  130. package/lib/components/partial/delete-dialog/delete-dialog.component.d.ts +24 -24
  131. package/lib/components/partial/edit-folder-dialog/edit-folder-dialog.component.d.ts +28 -28
  132. package/lib/components/partial/file-item/file-item.component.d.ts +36 -36
  133. package/lib/components/partial/file-list/file-list.component.d.ts +15 -15
  134. package/lib/components/partial/folder-item/folder-item.component.d.ts +17 -17
  135. package/lib/components/partial/folder-list/folder-list.component.d.ts +14 -14
  136. package/lib/components/partial/node-details/node-details.component.d.ts +32 -32
  137. package/lib/components/partial/node-tree/node-tree.component.d.ts +34 -34
  138. package/lib/components/partial/search-box/search-box.component.d.ts +18 -18
  139. package/lib/components/partial/sort-items/sort-items.component.d.ts +21 -21
  140. package/lib/components/partial/upload-dialog/upload-dialog.component.d.ts +25 -25
  141. package/lib/components/partial/upload-file/upload-file.component.d.ts +16 -16
  142. package/lib/components/ui/drag-to-resize/drag-to-resize.component.d.ts +15 -15
  143. package/lib/components/ui/input-file/input-file.component.d.ts +9 -9
  144. package/lib/components/ui/modal/modal.component.d.ts +7 -7
  145. package/lib/components/ui/search-not-found/search-not-found.component.d.ts +8 -8
  146. package/lib/configs/admin.config.d.ts +3 -3
  147. package/lib/contanst/data-image.d.ts +6 -6
  148. package/lib/contanst/index.d.ts +1 -1
  149. package/lib/datasources/index.d.ts +1 -1
  150. package/lib/datasources/node-tree.datasource.d.ts +24 -24
  151. package/lib/directives/dialogTrigger.directive.d.ts +7 -7
  152. package/lib/directives/directives.module.d.ts +5 -5
  153. package/lib/directives/dnd.directive.d.ts +7 -7
  154. package/lib/models/asset-file.model.d.ts +26 -26
  155. package/lib/models/asset.model.d.ts +73 -73
  156. package/lib/models/file-type.enum.d.ts +4 -4
  157. package/lib/models/file.model.d.ts +41 -41
  158. package/lib/models/index.d.ts +7 -7
  159. package/lib/models/node-tree.model.d.ts +9 -9
  160. package/lib/models/sort.enum.d.ts +9 -9
  161. package/lib/pipes/datetime.pipe.d.ts +13 -13
  162. package/lib/pipes/file-size.pipe.d.ts +5 -5
  163. package/lib/services/asset.service.d.ts +36 -36
  164. package/lib/services/base.service.d.ts +20 -20
  165. package/lib/services/env-config.service.d.ts +7 -7
  166. package/lib/services/file.service.d.ts +13 -13
  167. package/lib/services/index.d.ts +6 -6
  168. package/lib/services/node-tree.service.d.ts +24 -24
  169. package/lib/services/upload-assets.service.d.ts +34 -34
  170. package/lib/store/actions.action.d.ts +51 -51
  171. package/lib/store/index.d.ts +2 -2
  172. package/lib/store/reducer.d.ts +18 -18
  173. package/package.json +1 -2
  174. package/public-api.d.ts +26 -26
  175. package/rs-pk-asset-management.d.ts +12 -12
  176. package/rs-pk-asset-management.metadata.json +1 -1
@@ -1,279 +1,279 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { HttpParams } from '@angular/common/http';
6
- import { Inject, Injectable } from '@angular/core';
7
- import { MatDialog } from '@angular/material/dialog';
8
- import { BehaviorSubject } from 'rxjs';
9
- import { DialogConfig, SortFilesBy, TypeSort, } from '../models';
10
- import { BaseHttpClient } from './base.service';
11
- import { AM_CONFIG } from './env-config.service';
12
- var AssetService = /** @class */ (function () {
13
- function AssetService(_env, dialog, _api) {
14
- this._env = _env;
15
- this.dialog = dialog;
16
- this._api = _api;
17
- this.folderList$ = new BehaviorSubject(null);
18
- this.assetList$ = new BehaviorSubject(null);
19
- this.openDialog$ = new BehaviorSubject(null);
20
- this.dialogConfig = new DialogConfig();
21
- this.baseUrl = this._env.asset2Url;
22
- this.initOptionFiles();
23
- }
24
- /**
25
- * @private
26
- * @return {?}
27
- */
28
- AssetService.prototype.initOptionFiles = /**
29
- * @private
30
- * @return {?}
31
- */
32
- function () {
33
- this.keyword = '';
34
- this.pageSize = 12;
35
- this.pageIndex = 0;
36
- this.folderTotal = 0;
37
- this.fileTotal = 0;
38
- this.sortBy = SortFilesBy.MODIFIED_DATE;
39
- this.sortOrder = TypeSort.DESC;
40
- };
41
- /**
42
- * @private
43
- * @return {?}
44
- */
45
- AssetService.prototype.resetData = /**
46
- * @private
47
- * @return {?}
48
- */
49
- function () {
50
- this.setAssetList(null);
51
- this.setFolderList(null);
52
- };
53
- /**
54
- * @return {?}
55
- */
56
- AssetService.prototype.resetAsset = /**
57
- * @return {?}
58
- */
59
- function () {
60
- this.initOptionFiles();
61
- this.resetData();
62
- };
63
- /**
64
- * @return {?}
65
- */
66
- AssetService.prototype.getFolderList = /**
67
- * @return {?}
68
- */
69
- function () {
70
- return this.folderList$.asObservable();
71
- };
72
- /**
73
- * @param {?} folders
74
- * @param {?=} folderTotal
75
- * @return {?}
76
- */
77
- AssetService.prototype.setFolderList = /**
78
- * @param {?} folders
79
- * @param {?=} folderTotal
80
- * @return {?}
81
- */
82
- function (folders, folderTotal) {
83
- this.folderTotal = folderTotal || 0;
84
- this.folderList$.next(folders);
85
- };
86
- /**
87
- * @return {?}
88
- */
89
- AssetService.prototype.getAssetList = /**
90
- * @return {?}
91
- */
92
- function () {
93
- return this.assetList$.asObservable();
94
- };
95
- /**
96
- * @param {?} assets
97
- * @param {?=} pagination
98
- * @return {?}
99
- */
100
- AssetService.prototype.setAssetList = /**
101
- * @param {?} assets
102
- * @param {?=} pagination
103
- * @return {?}
104
- */
105
- function (assets, pagination) {
106
- this.setPagination(pagination);
107
- this.assetList$.next(assets);
108
- };
109
- /**
110
- * @param {?} status
111
- * @return {?}
112
- */
113
- AssetService.prototype.setDialogOpenStatus = /**
114
- * @param {?} status
115
- * @return {?}
116
- */
117
- function (status) {
118
- this.openDialog$.next(status);
119
- };
120
- /**
121
- * @return {?}
122
- */
123
- AssetService.prototype.getDialogOpenStatus = /**
124
- * @return {?}
125
- */
126
- function () {
127
- return this.openDialog$.asObservable();
128
- };
129
- /**
130
- * @private
131
- * @param {?} pagination
132
- * @return {?}
133
- */
134
- AssetService.prototype.setPagination = /**
135
- * @private
136
- * @param {?} pagination
137
- * @return {?}
138
- */
139
- function (pagination) {
140
- if (pagination) {
141
- this.fileTotal = pagination.Total;
142
- this.pageIndex = pagination.PageIndex;
143
- this.pageSize = pagination.PageSize;
144
- }
145
- };
146
- /**
147
- * @param {?} assetId
148
- * @return {?}
149
- */
150
- AssetService.prototype.getAssetById = /**
151
- * @param {?} assetId
152
- * @return {?}
153
- */
154
- function (assetId) {
155
- /** @type {?} */
156
- var url = this.baseUrl + "/File/GetById/" + assetId;
157
- return this._api.get(url);
158
- };
159
- /**
160
- * @param {?} __0
161
- * @return {?}
162
- */
163
- AssetService.prototype.getChildrenFolders = /**
164
- * @param {?} __0
165
- * @return {?}
166
- */
167
- function (_a) {
168
- var assetId = _a.assetId, _b = _a.isFilter, isFilter = _b === void 0 ? true : _b;
169
- /** @type {?} */
170
- var url = this.baseUrl + "/File/GetChildren";
171
- /** @type {?} */
172
- var params = new HttpParams().set('getAll', 'true').set('isFolder', 'true');
173
- if (assetId) {
174
- params = params.set('assetId', assetId);
175
- }
176
- if (isFilter && this.keyword.length) {
177
- params = params.set('keyword', this.keyword || '');
178
- }
179
- if (this.dialogConfig.allowedType) {
180
- params = params.set('fileType', this.dialogConfig.allowedType);
181
- }
182
- return this._api.get(url, { params: params });
183
- };
184
- /**
185
- * @param {?} __0
186
- * @return {?}
187
- */
188
- AssetService.prototype.getChildrenAssets = /**
189
- * @param {?} __0
190
- * @return {?}
191
- */
192
- function (_a) {
193
- var assetId = _a.assetId, pageIndex = _a.pageIndex;
194
- /** @type {?} */
195
- var url = this.baseUrl + "/File/GetChildren";
196
- /** @type {?} */
197
- var params = new HttpParams()
198
- .set('pageSize', this.pageSize.toString())
199
- .set('pageIndex', pageIndex || this.pageIndex.toString())
200
- .set('getAll', 'false')
201
- .set('isFolder', 'false')
202
- .set('TypeSort', this.sortOrder.toString())
203
- .set('SortFilesBy', this.sortBy.toString());
204
- if (assetId) {
205
- params = params.set('assetId', assetId);
206
- }
207
- if (this.keyword.length) {
208
- params = params.set('keyword', this.keyword || '');
209
- }
210
- if (this.dialogConfig.allowedType) {
211
- params = params.set('fileType', this.dialogConfig.allowedType);
212
- }
213
- return this._api.get(url, { params: params });
214
- };
215
- AssetService.decorators = [
216
- { type: Injectable }
217
- ];
218
- /** @nocollapse */
219
- AssetService.ctorParameters = function () { return [
220
- { type: undefined, decorators: [{ type: Inject, args: [AM_CONFIG,] }] },
221
- { type: MatDialog },
222
- { type: BaseHttpClient }
223
- ]; };
224
- return AssetService;
225
- }());
226
- export { AssetService };
227
- if (false) {
228
- /**
229
- * @type {?}
230
- * @private
231
- */
232
- AssetService.prototype.folderList$;
233
- /**
234
- * @type {?}
235
- * @private
236
- */
237
- AssetService.prototype.assetList$;
238
- /**
239
- * @type {?}
240
- * @private
241
- */
242
- AssetService.prototype.openDialog$;
243
- /** @type {?} */
244
- AssetService.prototype.keyword;
245
- /** @type {?} */
246
- AssetService.prototype.pageSize;
247
- /** @type {?} */
248
- AssetService.prototype.pageIndex;
249
- /** @type {?} */
250
- AssetService.prototype.folderTotal;
251
- /** @type {?} */
252
- AssetService.prototype.fileTotal;
253
- /** @type {?} */
254
- AssetService.prototype.sortBy;
255
- /** @type {?} */
256
- AssetService.prototype.sortOrder;
257
- /** @type {?} */
258
- AssetService.prototype.dialogConfig;
259
- /** @type {?} */
260
- AssetService.prototype.maxSize;
261
- /**
262
- * @type {?}
263
- * @private
264
- */
265
- AssetService.prototype.baseUrl;
266
- /**
267
- * @type {?}
268
- * @private
269
- */
270
- AssetService.prototype._env;
271
- /** @type {?} */
272
- AssetService.prototype.dialog;
273
- /**
274
- * @type {?}
275
- * @private
276
- */
277
- AssetService.prototype._api;
278
- }
279
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bycy1way9hc3NldC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Fzc2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBR0wsWUFBWSxFQUlaLFdBQVcsRUFDWCxRQUFRLEdBQ1QsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRDtJQWtCRSxzQkFDNkIsSUFBSSxFQUN4QixNQUFpQixFQUNoQixJQUFvQjtRQUZELFNBQUksR0FBSixJQUFJLENBQUE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNoQixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQW5CdEIsZ0JBQVcsR0FBcUMsSUFBSSxlQUFlLENBQ3pFLElBQUksQ0FDTCxDQUFDO1FBQ00sZUFBVSxHQUFrQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RSxnQkFBVyxHQUE2QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQVFuRSxpQkFBWSxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBU3JELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Ozs7O0lBRU8sc0NBQWU7Ozs7SUFBdkI7UUFDRSxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ2pDLENBQUM7Ozs7O0lBRU8sZ0NBQVM7Ozs7SUFBakI7UUFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7OztJQUVELGlDQUFVOzs7SUFBVjtRQUNFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7OztJQUVELG9DQUFhOzs7SUFBYjtRQUNFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzs7Ozs7SUFFRCxvQ0FBYTs7Ozs7SUFBYixVQUFjLE9BQXdCLEVBQUUsV0FBb0I7UUFDMUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Ozs7SUFFRCxtQ0FBWTs7O0lBQVo7UUFDRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQzs7Ozs7O0lBRUQsbUNBQVk7Ozs7O0lBQVosVUFBYSxNQUFvQixFQUFFLFVBQWdCO1FBQ2pELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7Ozs7SUFFRCwwQ0FBbUI7Ozs7SUFBbkIsVUFBb0IsTUFBZTtRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDOzs7O0lBRUQsMENBQW1COzs7SUFBbkI7UUFDRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQzs7Ozs7O0lBR08sb0NBQWE7Ozs7O0lBQXJCLFVBQXNCLFVBQVU7UUFDOUIsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNyQztJQUNILENBQUM7Ozs7O0lBRU0sbUNBQVk7Ozs7SUFBbkIsVUFBb0IsT0FBZTs7WUFDM0IsR0FBRyxHQUFNLElBQUksQ0FBQyxPQUFPLHNCQUFpQixPQUFTO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW1CLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Ozs7O0lBRU0seUNBQWtCOzs7O0lBQXpCLFVBQTBCLEVBQStDO1lBQTdDLG9CQUFPLEVBQUUsZ0JBQWUsRUFBZixvQ0FBZTs7WUFDNUMsR0FBRyxHQUFNLElBQUksQ0FBQyxPQUFPLHNCQUFtQjs7WUFDMUMsTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQztRQUUzRSxJQUFJLE9BQU8sRUFBRTtZQUNYLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN6QztRQUNELElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ25DLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtZQUNqQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNoRTtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW1CLEdBQUcsRUFBRSxFQUFFLE1BQU0sUUFBQSxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDOzs7OztJQUVNLHdDQUFpQjs7OztJQUF4QixVQUF5QixFQUE2QztZQUEzQyxvQkFBTyxFQUFFLHdCQUFTOztZQUNyQyxHQUFHLEdBQU0sSUFBSSxDQUFDLE9BQU8sc0JBQW1COztZQUMxQyxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUU7YUFDMUIsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3pDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDeEQsR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7YUFDdEIsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUM7YUFDeEIsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQzFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU3QyxJQUFJLE9BQU8sRUFBRTtZQUNYLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDdkIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7U0FDcEQ7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQ2pDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2hFO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBbUIsR0FBRyxFQUFFLEVBQUUsTUFBTSxRQUFBLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7O2dCQTdIRixVQUFVOzs7O2dEQW1CTixNQUFNLFNBQUMsU0FBUztnQkFsQ1osU0FBUztnQkFZVCxjQUFjOztJQWlJdkIsbUJBQUM7Q0FBQSxBQTlIRCxJQThIQztTQTdIWSxZQUFZOzs7Ozs7SUFDdkIsbUNBRUU7Ozs7O0lBQ0Ysa0NBQThFOzs7OztJQUM5RSxtQ0FBMEU7O0lBQzFFLCtCQUF1Qjs7SUFDdkIsZ0NBQXdCOztJQUN4QixpQ0FBeUI7O0lBQ3pCLG1DQUEyQjs7SUFDM0IsaUNBQXlCOztJQUN6Qiw4QkFBMkI7O0lBQzNCLGlDQUEyQjs7SUFDM0Isb0NBQXVEOztJQUN2RCwrQkFBd0I7Ozs7O0lBQ3hCLCtCQUF3Qjs7Ozs7SUFHdEIsNEJBQStCOztJQUMvQiw4QkFBd0I7Ozs7O0lBQ3hCLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBBc3NldE1vZGVsLFxyXG4gIEFzc2V0UmVzdWx0TW9kZWwsXHJcbiAgRGlhbG9nQ29uZmlnLFxyXG4gIEZvbGRlclRyZWVNb2RlbCxcclxuICBJQXNzZXRCeUlkUGF5bG9hZCxcclxuICBJQ2hpbGRyZW5Bc3NldFBheWxvYWQsXHJcbiAgU29ydEZpbGVzQnksXHJcbiAgVHlwZVNvcnQsXHJcbn0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQmFzZUh0dHBDbGllbnQgfSBmcm9tICcuL2Jhc2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFNX0NPTkZJRyB9IGZyb20gJy4vZW52LWNvbmZpZy5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFzc2V0U2VydmljZSB7XHJcbiAgcHJpdmF0ZSBmb2xkZXJMaXN0JDogQmVoYXZpb3JTdWJqZWN0PEZvbGRlclRyZWVNb2RlbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxyXG4gICAgbnVsbFxyXG4gICk7XHJcbiAgcHJpdmF0ZSBhc3NldExpc3QkOiBCZWhhdmlvclN1YmplY3Q8QXNzZXRNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XHJcbiAgcHJpdmF0ZSBvcGVuRGlhbG9nJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuICBwdWJsaWMga2V5d29yZDogc3RyaW5nO1xyXG4gIHB1YmxpYyBwYWdlU2l6ZTogbnVtYmVyO1xyXG4gIHB1YmxpYyBwYWdlSW5kZXg6IG51bWJlcjtcclxuICBwdWJsaWMgZm9sZGVyVG90YWw6IG51bWJlcjtcclxuICBwdWJsaWMgZmlsZVRvdGFsOiBudW1iZXI7XHJcbiAgcHVibGljIHNvcnRCeTogU29ydEZpbGVzQnk7XHJcbiAgcHVibGljIHNvcnRPcmRlcjogVHlwZVNvcnQ7XHJcbiAgcHVibGljIGRpYWxvZ0NvbmZpZzogRGlhbG9nQ29uZmlnID0gbmV3IERpYWxvZ0NvbmZpZygpO1xyXG4gIHB1YmxpYyBtYXhTaXplPzogbnVtYmVyO1xyXG4gIHByaXZhdGUgYmFzZVVybDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQU1fQ09ORklHKSBwcml2YXRlIF9lbnYsXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIF9hcGk6IEJhc2VIdHRwQ2xpZW50XHJcbiAgKSB7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSB0aGlzLl9lbnYuYXNzZXQyVXJsO1xyXG4gICAgdGhpcy5pbml0T3B0aW9uRmlsZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdE9wdGlvbkZpbGVzKCkge1xyXG4gICAgdGhpcy5rZXl3b3JkID0gJyc7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gMTI7XHJcbiAgICB0aGlzLnBhZ2VJbmRleCA9IDA7XHJcbiAgICB0aGlzLmZvbGRlclRvdGFsID0gMDtcclxuICAgIHRoaXMuZmlsZVRvdGFsID0gMDtcclxuICAgIHRoaXMuc29ydEJ5ID0gU29ydEZpbGVzQnkuTU9ESUZJRURfREFURTtcclxuICAgIHRoaXMuc29ydE9yZGVyID0gVHlwZVNvcnQuREVTQztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzZXREYXRhKCkge1xyXG4gICAgdGhpcy5zZXRBc3NldExpc3QobnVsbCk7XHJcbiAgICB0aGlzLnNldEZvbGRlckxpc3QobnVsbCk7XHJcbiAgfVxyXG5cclxuICByZXNldEFzc2V0KCkge1xyXG4gICAgdGhpcy5pbml0T3B0aW9uRmlsZXMoKTtcclxuICAgIHRoaXMucmVzZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBnZXRGb2xkZXJMaXN0KCk6IE9ic2VydmFibGU8Rm9sZGVyVHJlZU1vZGVsPiB7XHJcbiAgICByZXR1cm4gdGhpcy5mb2xkZXJMaXN0JC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIHNldEZvbGRlckxpc3QoZm9sZGVyczogRm9sZGVyVHJlZU1vZGVsLCBmb2xkZXJUb3RhbD86IG51bWJlcikge1xyXG4gICAgdGhpcy5mb2xkZXJUb3RhbCA9IGZvbGRlclRvdGFsIHx8IDA7XHJcbiAgICB0aGlzLmZvbGRlckxpc3QkLm5leHQoZm9sZGVycyk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3NldExpc3QoKTogT2JzZXJ2YWJsZTxBc3NldE1vZGVsW10+IHtcclxuICAgIHJldHVybiB0aGlzLmFzc2V0TGlzdCQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRBc3NldExpc3QoYXNzZXRzOiBBc3NldE1vZGVsW10sIHBhZ2luYXRpb24/OiBhbnkpIHtcclxuICAgIHRoaXMuc2V0UGFnaW5hdGlvbihwYWdpbmF0aW9uKTtcclxuICAgIHRoaXMuYXNzZXRMaXN0JC5uZXh0KGFzc2V0cyk7XHJcbiAgfVxyXG5cclxuICBzZXREaWFsb2dPcGVuU3RhdHVzKHN0YXR1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICB0aGlzLm9wZW5EaWFsb2ckLm5leHQoc3RhdHVzKTtcclxuICB9XHJcblxyXG4gIGdldERpYWxvZ09wZW5TdGF0dXMoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5vcGVuRGlhbG9nJC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIHNldFBhZ2luYXRpb24ocGFnaW5hdGlvbikge1xyXG4gICAgaWYgKHBhZ2luYXRpb24pIHtcclxuICAgICAgdGhpcy5maWxlVG90YWwgPSBwYWdpbmF0aW9uLlRvdGFsO1xyXG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IHBhZ2luYXRpb24uUGFnZUluZGV4O1xyXG4gICAgICB0aGlzLnBhZ2VTaXplID0gcGFnaW5hdGlvbi5QYWdlU2l6ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRBc3NldEJ5SWQoYXNzZXRJZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9L0ZpbGUvR2V0QnlJZC8ke2Fzc2V0SWR9YDtcclxuICAgIHJldHVybiB0aGlzLl9hcGkuZ2V0PEFzc2V0UmVzdWx0TW9kZWw+KHVybCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q2hpbGRyZW5Gb2xkZXJzKHsgYXNzZXRJZCwgaXNGaWx0ZXIgPSB0cnVlIH06IElBc3NldEJ5SWRQYXlsb2FkKSB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9L0ZpbGUvR2V0Q2hpbGRyZW5gO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdnZXRBbGwnLCAndHJ1ZScpLnNldCgnaXNGb2xkZXInLCAndHJ1ZScpO1xyXG5cclxuICAgIGlmIChhc3NldElkKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2Fzc2V0SWQnLCBhc3NldElkKTtcclxuICAgIH1cclxuICAgIGlmIChpc0ZpbHRlciAmJiB0aGlzLmtleXdvcmQubGVuZ3RoKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2tleXdvcmQnLCB0aGlzLmtleXdvcmQgfHwgJycpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGlhbG9nQ29uZmlnLmFsbG93ZWRUeXBlKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2ZpbGVUeXBlJywgdGhpcy5kaWFsb2dDb25maWcuYWxsb3dlZFR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLl9hcGkuZ2V0PEFzc2V0UmVzdWx0TW9kZWw+KHVybCwgeyBwYXJhbXMgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q2hpbGRyZW5Bc3NldHMoeyBhc3NldElkLCBwYWdlSW5kZXggfTogSUNoaWxkcmVuQXNzZXRQYXlsb2FkKSB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9L0ZpbGUvR2V0Q2hpbGRyZW5gO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcclxuICAgICAgLnNldCgncGFnZVNpemUnLCB0aGlzLnBhZ2VTaXplLnRvU3RyaW5nKCkpXHJcbiAgICAgIC5zZXQoJ3BhZ2VJbmRleCcsIHBhZ2VJbmRleCB8fCB0aGlzLnBhZ2VJbmRleC50b1N0cmluZygpKVxyXG4gICAgICAuc2V0KCdnZXRBbGwnLCAnZmFsc2UnKVxyXG4gICAgICAuc2V0KCdpc0ZvbGRlcicsICdmYWxzZScpXHJcbiAgICAgIC5zZXQoJ1R5cGVTb3J0JywgdGhpcy5zb3J0T3JkZXIudG9TdHJpbmcoKSlcclxuICAgICAgLnNldCgnU29ydEZpbGVzQnknLCB0aGlzLnNvcnRCeS50b1N0cmluZygpKTtcclxuXHJcbiAgICBpZiAoYXNzZXRJZCkge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdhc3NldElkJywgYXNzZXRJZCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5rZXl3b3JkLmxlbmd0aCkge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdrZXl3b3JkJywgdGhpcy5rZXl3b3JkIHx8ICcnKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRpYWxvZ0NvbmZpZy5hbGxvd2VkVHlwZSkge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdmaWxlVHlwZScsIHRoaXMuZGlhbG9nQ29uZmlnLmFsbG93ZWRUeXBlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5fYXBpLmdldDxBc3NldFJlc3VsdE1vZGVsPih1cmwsIHsgcGFyYW1zIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { HttpParams } from '@angular/common/http';
6
+ import { Inject, Injectable } from '@angular/core';
7
+ import { MatDialog } from '@angular/material/dialog';
8
+ import { BehaviorSubject } from 'rxjs';
9
+ import { DialogConfig, SortFilesBy, TypeSort, } from '../models';
10
+ import { BaseHttpClient } from './base.service';
11
+ import { AM_CONFIG } from './env-config.service';
12
+ var AssetService = /** @class */ (function () {
13
+ function AssetService(_env, dialog, _api) {
14
+ this._env = _env;
15
+ this.dialog = dialog;
16
+ this._api = _api;
17
+ this.folderList$ = new BehaviorSubject(null);
18
+ this.assetList$ = new BehaviorSubject(null);
19
+ this.openDialog$ = new BehaviorSubject(null);
20
+ this.dialogConfig = new DialogConfig();
21
+ this.baseUrl = this._env.asset2Url;
22
+ this.initOptionFiles();
23
+ }
24
+ /**
25
+ * @private
26
+ * @return {?}
27
+ */
28
+ AssetService.prototype.initOptionFiles = /**
29
+ * @private
30
+ * @return {?}
31
+ */
32
+ function () {
33
+ this.keyword = '';
34
+ this.pageSize = 12;
35
+ this.pageIndex = 0;
36
+ this.folderTotal = 0;
37
+ this.fileTotal = 0;
38
+ this.sortBy = SortFilesBy.MODIFIED_DATE;
39
+ this.sortOrder = TypeSort.DESC;
40
+ };
41
+ /**
42
+ * @private
43
+ * @return {?}
44
+ */
45
+ AssetService.prototype.resetData = /**
46
+ * @private
47
+ * @return {?}
48
+ */
49
+ function () {
50
+ this.setAssetList(null);
51
+ this.setFolderList(null);
52
+ };
53
+ /**
54
+ * @return {?}
55
+ */
56
+ AssetService.prototype.resetAsset = /**
57
+ * @return {?}
58
+ */
59
+ function () {
60
+ this.initOptionFiles();
61
+ this.resetData();
62
+ };
63
+ /**
64
+ * @return {?}
65
+ */
66
+ AssetService.prototype.getFolderList = /**
67
+ * @return {?}
68
+ */
69
+ function () {
70
+ return this.folderList$.asObservable();
71
+ };
72
+ /**
73
+ * @param {?} folders
74
+ * @param {?=} folderTotal
75
+ * @return {?}
76
+ */
77
+ AssetService.prototype.setFolderList = /**
78
+ * @param {?} folders
79
+ * @param {?=} folderTotal
80
+ * @return {?}
81
+ */
82
+ function (folders, folderTotal) {
83
+ this.folderTotal = folderTotal || 0;
84
+ this.folderList$.next(folders);
85
+ };
86
+ /**
87
+ * @return {?}
88
+ */
89
+ AssetService.prototype.getAssetList = /**
90
+ * @return {?}
91
+ */
92
+ function () {
93
+ return this.assetList$.asObservable();
94
+ };
95
+ /**
96
+ * @param {?} assets
97
+ * @param {?=} pagination
98
+ * @return {?}
99
+ */
100
+ AssetService.prototype.setAssetList = /**
101
+ * @param {?} assets
102
+ * @param {?=} pagination
103
+ * @return {?}
104
+ */
105
+ function (assets, pagination) {
106
+ this.setPagination(pagination);
107
+ this.assetList$.next(assets);
108
+ };
109
+ /**
110
+ * @param {?} status
111
+ * @return {?}
112
+ */
113
+ AssetService.prototype.setDialogOpenStatus = /**
114
+ * @param {?} status
115
+ * @return {?}
116
+ */
117
+ function (status) {
118
+ this.openDialog$.next(status);
119
+ };
120
+ /**
121
+ * @return {?}
122
+ */
123
+ AssetService.prototype.getDialogOpenStatus = /**
124
+ * @return {?}
125
+ */
126
+ function () {
127
+ return this.openDialog$.asObservable();
128
+ };
129
+ /**
130
+ * @private
131
+ * @param {?} pagination
132
+ * @return {?}
133
+ */
134
+ AssetService.prototype.setPagination = /**
135
+ * @private
136
+ * @param {?} pagination
137
+ * @return {?}
138
+ */
139
+ function (pagination) {
140
+ if (pagination) {
141
+ this.fileTotal = pagination.Total;
142
+ this.pageIndex = pagination.PageIndex;
143
+ this.pageSize = pagination.PageSize;
144
+ }
145
+ };
146
+ /**
147
+ * @param {?} assetId
148
+ * @return {?}
149
+ */
150
+ AssetService.prototype.getAssetById = /**
151
+ * @param {?} assetId
152
+ * @return {?}
153
+ */
154
+ function (assetId) {
155
+ /** @type {?} */
156
+ var url = this.baseUrl + "/File/GetById/" + assetId;
157
+ return this._api.get(url);
158
+ };
159
+ /**
160
+ * @param {?} __0
161
+ * @return {?}
162
+ */
163
+ AssetService.prototype.getChildrenFolders = /**
164
+ * @param {?} __0
165
+ * @return {?}
166
+ */
167
+ function (_a) {
168
+ var assetId = _a.assetId, _b = _a.isFilter, isFilter = _b === void 0 ? true : _b;
169
+ /** @type {?} */
170
+ var url = this.baseUrl + "/File/GetChildren";
171
+ /** @type {?} */
172
+ var params = new HttpParams().set('getAll', 'true').set('isFolder', 'true');
173
+ if (assetId) {
174
+ params = params.set('assetId', assetId);
175
+ }
176
+ if (isFilter && this.keyword.length) {
177
+ params = params.set('keyword', this.keyword || '');
178
+ }
179
+ if (this.dialogConfig.allowedType) {
180
+ params = params.set('fileType', this.dialogConfig.allowedType);
181
+ }
182
+ return this._api.get(url, { params: params });
183
+ };
184
+ /**
185
+ * @param {?} __0
186
+ * @return {?}
187
+ */
188
+ AssetService.prototype.getChildrenAssets = /**
189
+ * @param {?} __0
190
+ * @return {?}
191
+ */
192
+ function (_a) {
193
+ var assetId = _a.assetId, pageIndex = _a.pageIndex;
194
+ /** @type {?} */
195
+ var url = this.baseUrl + "/File/GetChildren";
196
+ /** @type {?} */
197
+ var params = new HttpParams()
198
+ .set('pageSize', this.pageSize.toString())
199
+ .set('pageIndex', pageIndex || this.pageIndex.toString())
200
+ .set('getAll', 'false')
201
+ .set('isFolder', 'false')
202
+ .set('TypeSort', this.sortOrder.toString())
203
+ .set('SortFilesBy', this.sortBy.toString());
204
+ if (assetId) {
205
+ params = params.set('assetId', assetId);
206
+ }
207
+ if (this.keyword.length) {
208
+ params = params.set('keyword', this.keyword || '');
209
+ }
210
+ if (this.dialogConfig.allowedType) {
211
+ params = params.set('fileType', this.dialogConfig.allowedType);
212
+ }
213
+ return this._api.get(url, { params: params });
214
+ };
215
+ AssetService.decorators = [
216
+ { type: Injectable }
217
+ ];
218
+ /** @nocollapse */
219
+ AssetService.ctorParameters = function () { return [
220
+ { type: undefined, decorators: [{ type: Inject, args: [AM_CONFIG,] }] },
221
+ { type: MatDialog },
222
+ { type: BaseHttpClient }
223
+ ]; };
224
+ return AssetService;
225
+ }());
226
+ export { AssetService };
227
+ if (false) {
228
+ /**
229
+ * @type {?}
230
+ * @private
231
+ */
232
+ AssetService.prototype.folderList$;
233
+ /**
234
+ * @type {?}
235
+ * @private
236
+ */
237
+ AssetService.prototype.assetList$;
238
+ /**
239
+ * @type {?}
240
+ * @private
241
+ */
242
+ AssetService.prototype.openDialog$;
243
+ /** @type {?} */
244
+ AssetService.prototype.keyword;
245
+ /** @type {?} */
246
+ AssetService.prototype.pageSize;
247
+ /** @type {?} */
248
+ AssetService.prototype.pageIndex;
249
+ /** @type {?} */
250
+ AssetService.prototype.folderTotal;
251
+ /** @type {?} */
252
+ AssetService.prototype.fileTotal;
253
+ /** @type {?} */
254
+ AssetService.prototype.sortBy;
255
+ /** @type {?} */
256
+ AssetService.prototype.sortOrder;
257
+ /** @type {?} */
258
+ AssetService.prototype.dialogConfig;
259
+ /** @type {?} */
260
+ AssetService.prototype.maxSize;
261
+ /**
262
+ * @type {?}
263
+ * @private
264
+ */
265
+ AssetService.prototype.baseUrl;
266
+ /**
267
+ * @type {?}
268
+ * @private
269
+ */
270
+ AssetService.prototype._env;
271
+ /** @type {?} */
272
+ AssetService.prototype.dialog;
273
+ /**
274
+ * @type {?}
275
+ * @private
276
+ */
277
+ AssetService.prototype._api;
278
+ }
279
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bycy1way9hc3NldC1tYW5hZ2VtZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Fzc2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBR0wsWUFBWSxFQUlaLFdBQVcsRUFDWCxRQUFRLEdBQ1QsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRDtJQWtCRSxzQkFDNkIsSUFBSSxFQUN4QixNQUFpQixFQUNoQixJQUFvQjtRQUZELFNBQUksR0FBSixJQUFJLENBQUE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNoQixTQUFJLEdBQUosSUFBSSxDQUFnQjtRQW5CdEIsZ0JBQVcsR0FBcUMsSUFBSSxlQUFlLENBQ3pFLElBQUksQ0FDTCxDQUFDO1FBQ00sZUFBVSxHQUFrQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RSxnQkFBVyxHQUE2QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQVFuRSxpQkFBWSxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBU3JELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Ozs7O0lBRU8sc0NBQWU7Ozs7SUFBdkI7UUFDRSxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ2pDLENBQUM7Ozs7O0lBRU8sZ0NBQVM7Ozs7SUFBakI7UUFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7OztJQUVELGlDQUFVOzs7SUFBVjtRQUNFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7OztJQUVELG9DQUFhOzs7SUFBYjtRQUNFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzs7Ozs7SUFFRCxvQ0FBYTs7Ozs7SUFBYixVQUFjLE9BQXdCLEVBQUUsV0FBb0I7UUFDMUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Ozs7SUFFRCxtQ0FBWTs7O0lBQVo7UUFDRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQzs7Ozs7O0lBRUQsbUNBQVk7Ozs7O0lBQVosVUFBYSxNQUFvQixFQUFFLFVBQWdCO1FBQ2pELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7Ozs7SUFFRCwwQ0FBbUI7Ozs7SUFBbkIsVUFBb0IsTUFBZTtRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDOzs7O0lBRUQsMENBQW1COzs7SUFBbkI7UUFDRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQzs7Ozs7O0lBR08sb0NBQWE7Ozs7O0lBQXJCLFVBQXNCLFVBQVU7UUFDOUIsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNyQztJQUNILENBQUM7Ozs7O0lBRU0sbUNBQVk7Ozs7SUFBbkIsVUFBb0IsT0FBZTs7WUFDM0IsR0FBRyxHQUFNLElBQUksQ0FBQyxPQUFPLHNCQUFpQixPQUFTO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW1CLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Ozs7O0lBRU0seUNBQWtCOzs7O0lBQXpCLFVBQTBCLEVBQStDO1lBQTdDLG9CQUFPLEVBQUUsZ0JBQWUsRUFBZixvQ0FBZTs7WUFDNUMsR0FBRyxHQUFNLElBQUksQ0FBQyxPQUFPLHNCQUFtQjs7WUFDMUMsTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQztRQUUzRSxJQUFJLE9BQU8sRUFBRTtZQUNYLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN6QztRQUNELElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ25DLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtZQUNqQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNoRTtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW1CLEdBQUcsRUFBRSxFQUFFLE1BQU0sUUFBQSxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDOzs7OztJQUVNLHdDQUFpQjs7OztJQUF4QixVQUF5QixFQUE2QztZQUEzQyxvQkFBTyxFQUFFLHdCQUFTOztZQUNyQyxHQUFHLEdBQU0sSUFBSSxDQUFDLE9BQU8sc0JBQW1COztZQUMxQyxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUU7YUFDMUIsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3pDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDeEQsR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7YUFDdEIsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUM7YUFDeEIsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQzFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU3QyxJQUFJLE9BQU8sRUFBRTtZQUNYLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDdkIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7U0FDcEQ7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQ2pDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2hFO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBbUIsR0FBRyxFQUFFLEVBQUUsTUFBTSxRQUFBLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7O2dCQTdIRixVQUFVOzs7O2dEQW1CTixNQUFNLFNBQUMsU0FBUztnQkFsQ1osU0FBUztnQkFZVCxjQUFjOztJQWlJdkIsbUJBQUM7Q0FBQSxBQTlIRCxJQThIQztTQTdIWSxZQUFZOzs7Ozs7SUFDdkIsbUNBRUU7Ozs7O0lBQ0Ysa0NBQThFOzs7OztJQUM5RSxtQ0FBMEU7O0lBQzFFLCtCQUF1Qjs7SUFDdkIsZ0NBQXdCOztJQUN4QixpQ0FBeUI7O0lBQ3pCLG1DQUEyQjs7SUFDM0IsaUNBQXlCOztJQUN6Qiw4QkFBMkI7O0lBQzNCLGlDQUEyQjs7SUFDM0Isb0NBQXVEOztJQUN2RCwrQkFBd0I7Ozs7O0lBQ3hCLCtCQUF3Qjs7Ozs7SUFHdEIsNEJBQStCOztJQUMvQiw4QkFBd0I7Ozs7O0lBQ3hCLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFzc2V0TW9kZWwsXG4gIEFzc2V0UmVzdWx0TW9kZWwsXG4gIERpYWxvZ0NvbmZpZyxcbiAgRm9sZGVyVHJlZU1vZGVsLFxuICBJQXNzZXRCeUlkUGF5bG9hZCxcbiAgSUNoaWxkcmVuQXNzZXRQYXlsb2FkLFxuICBTb3J0RmlsZXNCeSxcbiAgVHlwZVNvcnQsXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBCYXNlSHR0cENsaWVudCB9IGZyb20gJy4vYmFzZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFNX0NPTkZJRyB9IGZyb20gJy4vZW52LWNvbmZpZy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFzc2V0U2VydmljZSB7XG4gIHByaXZhdGUgZm9sZGVyTGlzdCQ6IEJlaGF2aW9yU3ViamVjdDxGb2xkZXJUcmVlTW9kZWw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICBudWxsXG4gICk7XG4gIHByaXZhdGUgYXNzZXRMaXN0JDogQmVoYXZpb3JTdWJqZWN0PEFzc2V0TW9kZWxbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBwcml2YXRlIG9wZW5EaWFsb2ckOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBwdWJsaWMga2V5d29yZDogc3RyaW5nO1xuICBwdWJsaWMgcGFnZVNpemU6IG51bWJlcjtcbiAgcHVibGljIHBhZ2VJbmRleDogbnVtYmVyO1xuICBwdWJsaWMgZm9sZGVyVG90YWw6IG51bWJlcjtcbiAgcHVibGljIGZpbGVUb3RhbDogbnVtYmVyO1xuICBwdWJsaWMgc29ydEJ5OiBTb3J0RmlsZXNCeTtcbiAgcHVibGljIHNvcnRPcmRlcjogVHlwZVNvcnQ7XG4gIHB1YmxpYyBkaWFsb2dDb25maWc6IERpYWxvZ0NvbmZpZyA9IG5ldyBEaWFsb2dDb25maWcoKTtcbiAgcHVibGljIG1heFNpemU/OiBudW1iZXI7XG4gIHByaXZhdGUgYmFzZVVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQU1fQ09ORklHKSBwcml2YXRlIF9lbnYsXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgX2FwaTogQmFzZUh0dHBDbGllbnRcbiAgKSB7XG4gICAgdGhpcy5iYXNlVXJsID0gdGhpcy5fZW52LmFzc2V0MlVybDtcbiAgICB0aGlzLmluaXRPcHRpb25GaWxlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0T3B0aW9uRmlsZXMoKSB7XG4gICAgdGhpcy5rZXl3b3JkID0gJyc7XG4gICAgdGhpcy5wYWdlU2l6ZSA9IDEyO1xuICAgIHRoaXMucGFnZUluZGV4ID0gMDtcbiAgICB0aGlzLmZvbGRlclRvdGFsID0gMDtcbiAgICB0aGlzLmZpbGVUb3RhbCA9IDA7XG4gICAgdGhpcy5zb3J0QnkgPSBTb3J0RmlsZXNCeS5NT0RJRklFRF9EQVRFO1xuICAgIHRoaXMuc29ydE9yZGVyID0gVHlwZVNvcnQuREVTQztcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXREYXRhKCkge1xuICAgIHRoaXMuc2V0QXNzZXRMaXN0KG51bGwpO1xuICAgIHRoaXMuc2V0Rm9sZGVyTGlzdChudWxsKTtcbiAgfVxuXG4gIHJlc2V0QXNzZXQoKSB7XG4gICAgdGhpcy5pbml0T3B0aW9uRmlsZXMoKTtcbiAgICB0aGlzLnJlc2V0RGF0YSgpO1xuICB9XG5cbiAgZ2V0Rm9sZGVyTGlzdCgpOiBPYnNlcnZhYmxlPEZvbGRlclRyZWVNb2RlbD4ge1xuICAgIHJldHVybiB0aGlzLmZvbGRlckxpc3QkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgc2V0Rm9sZGVyTGlzdChmb2xkZXJzOiBGb2xkZXJUcmVlTW9kZWwsIGZvbGRlclRvdGFsPzogbnVtYmVyKSB7XG4gICAgdGhpcy5mb2xkZXJUb3RhbCA9IGZvbGRlclRvdGFsIHx8IDA7XG4gICAgdGhpcy5mb2xkZXJMaXN0JC5uZXh0KGZvbGRlcnMpO1xuICB9XG5cbiAgZ2V0QXNzZXRMaXN0KCk6IE9ic2VydmFibGU8QXNzZXRNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYXNzZXRMaXN0JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHNldEFzc2V0TGlzdChhc3NldHM6IEFzc2V0TW9kZWxbXSwgcGFnaW5hdGlvbj86IGFueSkge1xuICAgIHRoaXMuc2V0UGFnaW5hdGlvbihwYWdpbmF0aW9uKTtcbiAgICB0aGlzLmFzc2V0TGlzdCQubmV4dChhc3NldHMpO1xuICB9XG5cbiAgc2V0RGlhbG9nT3BlblN0YXR1cyhzdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgIHRoaXMub3BlbkRpYWxvZyQubmV4dChzdGF0dXMpO1xuICB9XG5cbiAgZ2V0RGlhbG9nT3BlblN0YXR1cygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5vcGVuRGlhbG9nJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBzZXRQYWdpbmF0aW9uKHBhZ2luYXRpb24pIHtcbiAgICBpZiAocGFnaW5hdGlvbikge1xuICAgICAgdGhpcy5maWxlVG90YWwgPSBwYWdpbmF0aW9uLlRvdGFsO1xuICAgICAgdGhpcy5wYWdlSW5kZXggPSBwYWdpbmF0aW9uLlBhZ2VJbmRleDtcbiAgICAgIHRoaXMucGFnZVNpemUgPSBwYWdpbmF0aW9uLlBhZ2VTaXplO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRBc3NldEJ5SWQoYXNzZXRJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5iYXNlVXJsfS9GaWxlL0dldEJ5SWQvJHthc3NldElkfWA7XG4gICAgcmV0dXJuIHRoaXMuX2FwaS5nZXQ8QXNzZXRSZXN1bHRNb2RlbD4odXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDaGlsZHJlbkZvbGRlcnMoeyBhc3NldElkLCBpc0ZpbHRlciA9IHRydWUgfTogSUFzc2V0QnlJZFBheWxvYWQpIHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9L0ZpbGUvR2V0Q2hpbGRyZW5gO1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnZ2V0QWxsJywgJ3RydWUnKS5zZXQoJ2lzRm9sZGVyJywgJ3RydWUnKTtcblxuICAgIGlmIChhc3NldElkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdhc3NldElkJywgYXNzZXRJZCk7XG4gICAgfVxuICAgIGlmIChpc0ZpbHRlciAmJiB0aGlzLmtleXdvcmQubGVuZ3RoKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdrZXl3b3JkJywgdGhpcy5rZXl3b3JkIHx8ICcnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlhbG9nQ29uZmlnLmFsbG93ZWRUeXBlKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdmaWxlVHlwZScsIHRoaXMuZGlhbG9nQ29uZmlnLmFsbG93ZWRUeXBlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fYXBpLmdldDxBc3NldFJlc3VsdE1vZGVsPih1cmwsIHsgcGFyYW1zIH0pO1xuICB9XG5cbiAgcHVibGljIGdldENoaWxkcmVuQXNzZXRzKHsgYXNzZXRJZCwgcGFnZUluZGV4IH06IElDaGlsZHJlbkFzc2V0UGF5bG9hZCkge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuYmFzZVVybH0vRmlsZS9HZXRDaGlsZHJlbmA7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICAgIC5zZXQoJ3BhZ2VTaXplJywgdGhpcy5wYWdlU2l6ZS50b1N0cmluZygpKVxuICAgICAgLnNldCgncGFnZUluZGV4JywgcGFnZUluZGV4IHx8IHRoaXMucGFnZUluZGV4LnRvU3RyaW5nKCkpXG4gICAgICAuc2V0KCdnZXRBbGwnLCAnZmFsc2UnKVxuICAgICAgLnNldCgnaXNGb2xkZXInLCAnZmFsc2UnKVxuICAgICAgLnNldCgnVHlwZVNvcnQnLCB0aGlzLnNvcnRPcmRlci50b1N0cmluZygpKVxuICAgICAgLnNldCgnU29ydEZpbGVzQnknLCB0aGlzLnNvcnRCeS50b1N0cmluZygpKTtcblxuICAgIGlmIChhc3NldElkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdhc3NldElkJywgYXNzZXRJZCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmtleXdvcmQubGVuZ3RoKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdrZXl3b3JkJywgdGhpcy5rZXl3b3JkIHx8ICcnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlhbG9nQ29uZmlnLmFsbG93ZWRUeXBlKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdmaWxlVHlwZScsIHRoaXMuZGlhbG9nQ29uZmlnLmFsbG93ZWRUeXBlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fYXBpLmdldDxBc3NldFJlc3VsdE1vZGVsPih1cmwsIHsgcGFyYW1zIH0pO1xuICB9XG59XG4iXX0=