@decaf-ts/for-angular 0.0.12 → 0.0.14

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 (143) hide show
  1. package/{dist/lib/components → components}/component-renderer/component-renderer.component.d.ts +0 -1
  2. package/{dist/lib/components → components}/crud-field/crud-field.component.d.ts +0 -1
  3. package/{dist/lib/components → components}/crud-form/constants.d.ts +0 -1
  4. package/{dist/lib/components → components}/crud-form/crud-form.component.d.ts +0 -1
  5. package/{dist/lib/components → components}/crud-form/types.d.ts +0 -1
  6. package/{dist/lib/components → components}/empty-state/empty-state.component.d.ts +0 -1
  7. package/{dist/lib/components → components}/fieldset/fieldset.component.d.ts +0 -1
  8. package/{dist/lib/components → components}/filter/filter.component.d.ts +0 -1
  9. package/{dist/lib/components → components}/for-angular-components.module.d.ts +0 -1
  10. package/{dist/lib/components → components}/index.d.ts +0 -1
  11. package/{dist/lib/components → components}/layout/layout.component.d.ts +0 -1
  12. package/{dist/lib/components → components}/list/constants.d.ts +0 -1
  13. package/{dist/lib/components → components}/list/list.component.d.ts +0 -1
  14. package/{dist/lib/components → components}/list-item/list-item.component.d.ts +0 -1
  15. package/{dist/lib/components → components}/model-renderer/model-renderer.component.d.ts +0 -1
  16. package/{dist/lib/components → components}/pagination/constants.d.ts +0 -1
  17. package/{dist/lib/components → components}/pagination/pagination.component.d.ts +0 -1
  18. package/{dist/lib/components → components}/searchbar/searchbar.component.d.ts +0 -1
  19. package/{dist/lib/directives → directives}/collapsable.directive.d.ts +0 -1
  20. package/{dist/lib/directives → directives}/index.d.ts +0 -1
  21. package/{dist/lib/engine → engine}/DynamicModule.d.ts +0 -1
  22. package/{dist/lib/engine → engine}/NgxBaseComponent.d.ts +0 -1
  23. package/{dist/lib/engine → engine}/NgxCrudFormField.d.ts +0 -1
  24. package/{dist/lib/engine → engine}/NgxFormService.d.ts +0 -1
  25. package/{dist/lib/engine → engine}/NgxRenderingEngine.d.ts +0 -1
  26. package/{dist/lib/engine → engine}/NgxRenderingEngine2.d.ts +0 -1
  27. package/{dist/lib/engine → engine}/ValidatorFactory.d.ts +0 -1
  28. package/{dist/lib/engine → engine}/constants.d.ts +0 -1
  29. package/{dist/lib/engine → engine}/decorators.d.ts +0 -1
  30. package/{dist/lib/engine → engine}/index.d.ts +0 -1
  31. package/{dist/lib/engine → engine}/types.d.ts +0 -1
  32. package/esm2022/components/component-renderer/component-renderer.component.mjs +313 -0
  33. package/esm2022/components/crud-field/crud-field.component.mjs +301 -0
  34. package/esm2022/components/crud-form/crud-form.component.mjs +139 -0
  35. package/esm2022/components/empty-state/empty-state.component.mjs +348 -0
  36. package/esm2022/components/fieldset/fieldset.component.mjs +225 -0
  37. package/esm2022/components/filter/filter.component.mjs +689 -0
  38. package/esm2022/components/for-angular-components.module.mjs +71 -0
  39. package/esm2022/components/layout/layout.component.mjs +176 -0
  40. package/esm2022/components/list/list.component.mjs +1236 -0
  41. package/esm2022/components/list-item/list-item.component.mjs +408 -0
  42. package/esm2022/components/model-renderer/model-renderer.component.mjs +138 -0
  43. package/esm2022/components/pagination/pagination.component.mjs +323 -0
  44. package/esm2022/components/searchbar/searchbar.component.mjs +493 -0
  45. package/esm2022/directives/collapsable.directive.mjs +28 -0
  46. package/esm2022/engine/NgxBaseComponent.mjs +539 -0
  47. package/esm2022/for-angular.module.mjs +118 -0
  48. package/{dist/lib/fesm2022 → fesm2022}/decaf-ts-for-angular.mjs +621 -1805
  49. package/fesm2022/decaf-ts-for-angular.mjs.map +1 -0
  50. package/{dist/lib/for-angular.module.d.ts → for-angular.module.d.ts} +0 -1
  51. package/{dist/lib/helpers → helpers}/index.d.ts +0 -1
  52. package/{dist/lib/helpers → helpers}/utils.d.ts +0 -1
  53. package/{dist/lib/index.d.ts → index.d.ts} +0 -1
  54. package/{dist/lib/interfaces.d.ts → interfaces.d.ts} +0 -1
  55. package/package.json +19 -95
  56. package/{dist/lib/public-apis.d.ts → public-apis.d.ts} +0 -1
  57. package/LICENSE.md +0 -659
  58. package/dist/for-angular/cli/cli-module.d.ts +0 -22
  59. package/dist/for-angular/cli/cli-module.d.ts.map +0 -1
  60. package/dist/for-angular/cli/cli-module.js +0 -131
  61. package/dist/for-angular/cli/cli-module.js.map +0 -1
  62. package/dist/lib/README.md +0 -92
  63. package/dist/lib/components/component-renderer/component-renderer.component.d.ts.map +0 -1
  64. package/dist/lib/components/crud-field/crud-field.component.d.ts.map +0 -1
  65. package/dist/lib/components/crud-form/constants.d.ts.map +0 -1
  66. package/dist/lib/components/crud-form/crud-form.component.d.ts.map +0 -1
  67. package/dist/lib/components/crud-form/types.d.ts.map +0 -1
  68. package/dist/lib/components/empty-state/empty-state.component.d.ts.map +0 -1
  69. package/dist/lib/components/fieldset/fieldset.component.d.ts.map +0 -1
  70. package/dist/lib/components/filter/filter.component.d.ts.map +0 -1
  71. package/dist/lib/components/for-angular-components.module.d.ts.map +0 -1
  72. package/dist/lib/components/index.d.ts.map +0 -1
  73. package/dist/lib/components/layout/layout.component.d.ts.map +0 -1
  74. package/dist/lib/components/list/constants.d.ts.map +0 -1
  75. package/dist/lib/components/list/list.component.d.ts.map +0 -1
  76. package/dist/lib/components/list-item/list-item.component.d.ts.map +0 -1
  77. package/dist/lib/components/model-renderer/model-renderer.component.d.ts.map +0 -1
  78. package/dist/lib/components/pagination/constants.d.ts.map +0 -1
  79. package/dist/lib/components/pagination/pagination.component.d.ts.map +0 -1
  80. package/dist/lib/components/searchbar/searchbar.component.d.ts.map +0 -1
  81. package/dist/lib/decaf-ts-for-angular.d.ts.map +0 -1
  82. package/dist/lib/directives/collapsable.directive.d.ts.map +0 -1
  83. package/dist/lib/directives/index.d.ts.map +0 -1
  84. package/dist/lib/engine/DynamicModule.d.ts.map +0 -1
  85. package/dist/lib/engine/NgxBaseComponent.d.ts.map +0 -1
  86. package/dist/lib/engine/NgxCrudFormField.d.ts.map +0 -1
  87. package/dist/lib/engine/NgxFormService.d.ts.map +0 -1
  88. package/dist/lib/engine/NgxRenderingEngine.d.ts.map +0 -1
  89. package/dist/lib/engine/NgxRenderingEngine2.d.ts.map +0 -1
  90. package/dist/lib/engine/ValidatorFactory.d.ts.map +0 -1
  91. package/dist/lib/engine/constants.d.ts.map +0 -1
  92. package/dist/lib/engine/decorators.d.ts.map +0 -1
  93. package/dist/lib/engine/index.d.ts.map +0 -1
  94. package/dist/lib/engine/types.d.ts.map +0 -1
  95. package/dist/lib/esm2022/components/component-renderer/component-renderer.component.mjs +0 -359
  96. package/dist/lib/esm2022/components/crud-field/crud-field.component.mjs +0 -456
  97. package/dist/lib/esm2022/components/crud-form/crud-form.component.mjs +0 -272
  98. package/dist/lib/esm2022/components/empty-state/empty-state.component.mjs +0 -410
  99. package/dist/lib/esm2022/components/fieldset/fieldset.component.mjs +0 -250
  100. package/dist/lib/esm2022/components/filter/filter.component.mjs +0 -906
  101. package/dist/lib/esm2022/components/for-angular-components.module.mjs +0 -72
  102. package/dist/lib/esm2022/components/layout/layout.component.mjs +0 -245
  103. package/dist/lib/esm2022/components/list/list.component.mjs +0 -1405
  104. package/dist/lib/esm2022/components/list-item/list-item.component.mjs +0 -612
  105. package/dist/lib/esm2022/components/model-renderer/model-renderer.component.mjs +0 -182
  106. package/dist/lib/esm2022/components/pagination/pagination.component.mjs +0 -364
  107. package/dist/lib/esm2022/components/searchbar/searchbar.component.mjs +0 -503
  108. package/dist/lib/esm2022/directives/collapsable.directive.mjs +0 -28
  109. package/dist/lib/esm2022/engine/NgxBaseComponent.mjs +0 -546
  110. package/dist/lib/esm2022/for-angular.module.mjs +0 -119
  111. package/dist/lib/fesm2022/decaf-ts-for-angular.mjs.map +0 -1
  112. package/dist/lib/for-angular.module.d.ts.map +0 -1
  113. package/dist/lib/helpers/index.d.ts.map +0 -1
  114. package/dist/lib/helpers/utils.d.ts.map +0 -1
  115. package/dist/lib/interfaces.d.ts.map +0 -1
  116. package/dist/lib/public-apis.d.ts.map +0 -1
  117. /package/{dist/lib/assets → assets}/i18n/en.json +0 -0
  118. /package/{dist/lib/assets → assets}/images/angular-logo.svg +0 -0
  119. /package/{dist/lib/assets → assets}/images/decaf-logo-black.svg +0 -0
  120. /package/{dist/lib/assets → assets}/images/decaf-logo-lw.svg +0 -0
  121. /package/{dist/lib/assets → assets}/images/decaf-logo-white.svg +0 -0
  122. /package/{dist/lib/assets → assets}/images/decaf-logo.svg +0 -0
  123. /package/{dist/lib/esm2022 → esm2022}/components/crud-form/constants.mjs +0 -0
  124. /package/{dist/lib/esm2022 → esm2022}/components/crud-form/types.mjs +0 -0
  125. /package/{dist/lib/esm2022 → esm2022}/components/index.mjs +0 -0
  126. /package/{dist/lib/esm2022 → esm2022}/components/list/constants.mjs +0 -0
  127. /package/{dist/lib/esm2022 → esm2022}/components/pagination/constants.mjs +0 -0
  128. /package/{dist/lib/esm2022 → esm2022}/decaf-ts-for-angular.mjs +0 -0
  129. /package/{dist/lib/esm2022 → esm2022}/directives/index.mjs +0 -0
  130. /package/{dist/lib/esm2022 → esm2022}/engine/DynamicModule.mjs +0 -0
  131. /package/{dist/lib/esm2022 → esm2022}/engine/NgxCrudFormField.mjs +0 -0
  132. /package/{dist/lib/esm2022 → esm2022}/engine/NgxFormService.mjs +0 -0
  133. /package/{dist/lib/esm2022 → esm2022}/engine/NgxRenderingEngine.mjs +0 -0
  134. /package/{dist/lib/esm2022 → esm2022}/engine/NgxRenderingEngine2.mjs +0 -0
  135. /package/{dist/lib/esm2022 → esm2022}/engine/ValidatorFactory.mjs +0 -0
  136. /package/{dist/lib/esm2022 → esm2022}/engine/constants.mjs +0 -0
  137. /package/{dist/lib/esm2022 → esm2022}/engine/decorators.mjs +0 -0
  138. /package/{dist/lib/esm2022 → esm2022}/engine/index.mjs +0 -0
  139. /package/{dist/lib/esm2022 → esm2022}/engine/types.mjs +0 -0
  140. /package/{dist/lib/esm2022 → esm2022}/helpers/index.mjs +0 -0
  141. /package/{dist/lib/esm2022 → esm2022}/helpers/utils.mjs +0 -0
  142. /package/{dist/lib/esm2022 → esm2022}/interfaces.mjs +0 -0
  143. /package/{dist/lib/esm2022 → esm2022}/public-apis.mjs +0 -0
@@ -0,0 +1,118 @@
1
+ import { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { IonApp, IonRouterOutlet, IonSplitPane, IonImg, IonContent, IonText, IonButton, IonRouterLink, IonTitle } from '@ionic/angular/standalone';
4
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
+ import { TranslateModule, TranslatePipe } from '@ngx-translate/core';
6
+ import { Logging } from '@decaf-ts/logging';
7
+ import * as i0 from "@angular/core";
8
+ const ComponentsAndModules = [
9
+ IonApp,
10
+ IonRouterOutlet,
11
+ IonSplitPane,
12
+ IonImg,
13
+ IonText,
14
+ IonTitle,
15
+ IonButton,
16
+ IonRouterLink,
17
+ IonContent,
18
+ CommonModule,
19
+ FormsModule,
20
+ ReactiveFormsModule,
21
+ TranslateModule,
22
+ TranslatePipe,
23
+ ];
24
+ const log = Logging.for("for-angular");
25
+ export function getLogger(instance) {
26
+ return log.for(instance);
27
+ }
28
+ /**
29
+ * @description Main Angular module for the Decaf framework
30
+ * @summary The ForAngularModule provides the core functionality for integrating Decaf with Angular applications.
31
+ * It imports and exports common Angular and Ionic components and modules needed for Decaf applications,
32
+ * including form handling, translation support, and Ionic UI components. This module can be imported
33
+ * directly or via the forRoot() method for proper initialization in the application's root module.
34
+ *
35
+ * @class ForAngularModule
36
+ * @example
37
+ * ```typescript
38
+ * // In your app module:
39
+ * @NgModule({
40
+ * imports: [
41
+ * ForAngularModule.forRoot(),
42
+ * // other imports
43
+ * ],
44
+ * // ...
45
+ * })
46
+ * export class AppModule {}
47
+ * ```
48
+ */
49
+ export class ForAngularModule {
50
+ /**
51
+ * @description Creates a module with providers for root module import
52
+ * @summary This static method provides the proper way to import the ForAngularModule in the application's
53
+ * root module. It returns a ModuleWithProviders object that includes the ForAngularModule itself.
54
+ * Using forRoot() ensures that the module and its providers are properly initialized and only
55
+ * instantiated once in the application.
56
+ *
57
+ * @return {ModuleWithProviders<ForAngularModule>} The module with its providers
58
+ */
59
+ static forRoot() {
60
+ return {
61
+ ngModule: ForAngularModule,
62
+ };
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ForAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
65
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ForAngularModule, imports: [IonApp,
66
+ IonRouterOutlet,
67
+ IonSplitPane,
68
+ IonImg,
69
+ IonText,
70
+ IonTitle,
71
+ IonButton,
72
+ IonRouterLink,
73
+ IonContent,
74
+ CommonModule,
75
+ FormsModule,
76
+ ReactiveFormsModule,
77
+ TranslateModule,
78
+ TranslatePipe], exports: [IonApp,
79
+ IonRouterOutlet,
80
+ IonSplitPane,
81
+ IonImg,
82
+ IonText,
83
+ IonTitle,
84
+ IonButton,
85
+ IonRouterLink,
86
+ IonContent,
87
+ CommonModule,
88
+ FormsModule,
89
+ ReactiveFormsModule,
90
+ TranslateModule,
91
+ TranslatePipe] }); }
92
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ForAngularModule, imports: [IonApp,
93
+ IonRouterOutlet,
94
+ IonSplitPane,
95
+ IonImg,
96
+ IonText,
97
+ IonTitle,
98
+ IonButton,
99
+ IonContent,
100
+ CommonModule,
101
+ FormsModule,
102
+ ReactiveFormsModule,
103
+ TranslateModule,
104
+ CommonModule,
105
+ FormsModule,
106
+ ReactiveFormsModule,
107
+ TranslateModule] }); }
108
+ }
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ForAngularModule, decorators: [{
110
+ type: NgModule,
111
+ args: [{
112
+ imports: ComponentsAndModules,
113
+ declarations: [],
114
+ exports: ComponentsAndModules,
115
+ schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],
116
+ }]
117
+ }] });
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLWFuZ3VsYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9mb3ItYW5ndWxhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBdUIsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxNQUFNLEVBQ04sZUFBZSxFQUNmLFlBQVksRUFDWixNQUFNLEVBQ04sVUFBVSxFQUNWLE9BQU8sRUFDUCxTQUFTLEVBQ1QsYUFBYSxFQUNiLFFBQVEsRUFDVCxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JFLE9BQU8sRUFBVSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHcEQsTUFBTSxvQkFBb0IsR0FBRztJQUMzQixNQUFNO0lBQ04sZUFBZTtJQUNmLFlBQVk7SUFDWixNQUFNO0lBQ04sT0FBTztJQUNQLFFBQVE7SUFDUixTQUFTO0lBQ1QsYUFBYTtJQUNiLFVBQVU7SUFDVixZQUFZO0lBQ1osV0FBVztJQUNYLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsYUFBYTtDQUNkLENBQUM7QUFFRixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ3ZDLE1BQU0sVUFBVSxTQUFTLENBQUMsUUFBeUM7SUFDakUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQWlDLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBT0gsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7Ozs7Ozs7T0FRRztJQUNILE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxnQkFBZ0I7U0FDM0IsQ0FBQztJQUNKLENBQUM7K0dBZFUsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsWUFoRDNCLE1BQU07WUFDTixlQUFlO1lBQ2YsWUFBWTtZQUNaLE1BQU07WUFDTixPQUFPO1lBQ1AsUUFBUTtZQUNSLFNBQVM7WUFDVCxhQUFhO1lBQ2IsVUFBVTtZQUNWLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixhQUFhLGFBYmIsTUFBTTtZQUNOLGVBQWU7WUFDZixZQUFZO1lBQ1osTUFBTTtZQUNOLE9BQU87WUFDUCxRQUFRO1lBQ1IsU0FBUztZQUNULGFBQWE7WUFDYixVQUFVO1lBQ1YsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGFBQWE7Z0hBbUNGLGdCQUFnQixZQWhEM0IsTUFBTTtZQUNOLGVBQWU7WUFDZixZQUFZO1lBQ1osTUFBTTtZQUNOLE9BQU87WUFDUCxRQUFRO1lBQ1IsU0FBUztZQUVULFVBQVU7WUFDVixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBSGYsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZUFBZTs7NEZBb0NKLGdCQUFnQjtrQkFONUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsb0JBQW9CO29CQUM3QixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLG9CQUFvQjtvQkFDN0IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUM7aUJBQ3BEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5PX0VSUk9SU19TQ0hFTUF9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIElvbkFwcCxcbiAgSW9uUm91dGVyT3V0bGV0LFxuICBJb25TcGxpdFBhbmUsXG4gIElvbkltZyxcbiAgSW9uQ29udGVudCxcbiAgSW9uVGV4dCxcbiAgSW9uQnV0dG9uLFxuICBJb25Sb3V0ZXJMaW5rLFxuICBJb25UaXRsZVxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBMb2dnZXIsIExvZ2dpbmcgfSBmcm9tICdAZGVjYWYtdHMvbG9nZ2luZyc7XG5pbXBvcnQgeyBGdW5jdGlvbkxpa2UgfSBmcm9tICcuL2VuZ2luZSc7XG5cbmNvbnN0IENvbXBvbmVudHNBbmRNb2R1bGVzID0gW1xuICBJb25BcHAsXG4gIElvblJvdXRlck91dGxldCxcbiAgSW9uU3BsaXRQYW5lLFxuICBJb25JbWcsXG4gIElvblRleHQsXG4gIElvblRpdGxlLFxuICBJb25CdXR0b24sXG4gIElvblJvdXRlckxpbmssXG4gIElvbkNvbnRlbnQsXG4gIENvbW1vbk1vZHVsZSxcbiAgRm9ybXNNb2R1bGUsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFRyYW5zbGF0ZU1vZHVsZSxcbiAgVHJhbnNsYXRlUGlwZSxcbl07XG5cbmNvbnN0IGxvZyA9IExvZ2dpbmcuZm9yKFwiZm9yLWFuZ3VsYXJcIik7XG5leHBvcnQgZnVuY3Rpb24gZ2V0TG9nZ2VyKGluc3RhbmNlOiBzdHJpbmcgfCBGdW5jdGlvbkxpa2UgfCB1bmtub3duKTogTG9nZ2VyIHtcbiAgcmV0dXJuIGxvZy5mb3IoaW5zdGFuY2UgYXMgc3RyaW5nIHwgRnVuY3Rpb25MaWtlKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTWFpbiBBbmd1bGFyIG1vZHVsZSBmb3IgdGhlIERlY2FmIGZyYW1ld29ya1xuICogQHN1bW1hcnkgVGhlIEZvckFuZ3VsYXJNb2R1bGUgcHJvdmlkZXMgdGhlIGNvcmUgZnVuY3Rpb25hbGl0eSBmb3IgaW50ZWdyYXRpbmcgRGVjYWYgd2l0aCBBbmd1bGFyIGFwcGxpY2F0aW9ucy5cbiAqIEl0IGltcG9ydHMgYW5kIGV4cG9ydHMgY29tbW9uIEFuZ3VsYXIgYW5kIElvbmljIGNvbXBvbmVudHMgYW5kIG1vZHVsZXMgbmVlZGVkIGZvciBEZWNhZiBhcHBsaWNhdGlvbnMsXG4gKiBpbmNsdWRpbmcgZm9ybSBoYW5kbGluZywgdHJhbnNsYXRpb24gc3VwcG9ydCwgYW5kIElvbmljIFVJIGNvbXBvbmVudHMuIFRoaXMgbW9kdWxlIGNhbiBiZSBpbXBvcnRlZFxuICogZGlyZWN0bHkgb3IgdmlhIHRoZSBmb3JSb290KCkgbWV0aG9kIGZvciBwcm9wZXIgaW5pdGlhbGl6YXRpb24gaW4gdGhlIGFwcGxpY2F0aW9uJ3Mgcm9vdCBtb2R1bGUuXG4gKlxuICogQGNsYXNzIEZvckFuZ3VsYXJNb2R1bGVcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbiB5b3VyIGFwcCBtb2R1bGU6XG4gKiBATmdNb2R1bGUoe1xuICogICBpbXBvcnRzOiBbXG4gKiAgICAgRm9yQW5ndWxhck1vZHVsZS5mb3JSb290KCksXG4gKiAgICAgLy8gb3RoZXIgaW1wb3J0c1xuICogICBdLFxuICogICAvLyAuLi5cbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG4gKiBgYGBcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogQ29tcG9uZW50c0FuZE1vZHVsZXMsXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IENvbXBvbmVudHNBbmRNb2R1bGVzLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIEZvckFuZ3VsYXJNb2R1bGUge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBtb2R1bGUgd2l0aCBwcm92aWRlcnMgZm9yIHJvb3QgbW9kdWxlIGltcG9ydFxuICAgKiBAc3VtbWFyeSBUaGlzIHN0YXRpYyBtZXRob2QgcHJvdmlkZXMgdGhlIHByb3BlciB3YXkgdG8gaW1wb3J0IHRoZSBGb3JBbmd1bGFyTW9kdWxlIGluIHRoZSBhcHBsaWNhdGlvbidzXG4gICAqIHJvb3QgbW9kdWxlLiBJdCByZXR1cm5zIGEgTW9kdWxlV2l0aFByb3ZpZGVycyBvYmplY3QgdGhhdCBpbmNsdWRlcyB0aGUgRm9yQW5ndWxhck1vZHVsZSBpdHNlbGYuXG4gICAqIFVzaW5nIGZvclJvb3QoKSBlbnN1cmVzIHRoYXQgdGhlIG1vZHVsZSBhbmQgaXRzIHByb3ZpZGVycyBhcmUgcHJvcGVybHkgaW5pdGlhbGl6ZWQgYW5kIG9ubHlcbiAgICogaW5zdGFudGlhdGVkIG9uY2UgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJuIHtNb2R1bGVXaXRoUHJvdmlkZXJzPEZvckFuZ3VsYXJNb2R1bGU+fSBUaGUgbW9kdWxlIHdpdGggaXRzIHByb3ZpZGVyc1xuICAgKi9cbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxGb3JBbmd1bGFyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBGb3JBbmd1bGFyTW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==