@paperless/angular 2.22.0-alpha.7 → 3.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 (138) hide show
  1. package/README.md +4 -31
  2. package/fesm2022/paperless-angular.mjs +1930 -1863
  3. package/fesm2022/paperless-angular.mjs.map +1 -1
  4. package/package.json +6 -8
  5. package/paperless.css +28 -20
  6. package/types/paperless-angular.d.ts +1802 -0
  7. package/esm2022/lib/animations/fade.mjs +0 -22
  8. package/esm2022/lib/animations/index.mjs +0 -3
  9. package/esm2022/lib/animations/slide.mjs +0 -20
  10. package/esm2022/lib/base/form.component.mjs +0 -113
  11. package/esm2022/lib/base/index.mjs +0 -4
  12. package/esm2022/lib/base/number-value-accessor.mjs +0 -36
  13. package/esm2022/lib/base/upload.component.mjs +0 -57
  14. package/esm2022/lib/base/value-accessor.mjs +0 -43
  15. package/esm2022/lib/directives/index.mjs +0 -33
  16. package/esm2022/lib/directives/p-checkbox.directive.mjs +0 -39
  17. package/esm2022/lib/directives/p-cropper.directive.mjs +0 -37
  18. package/esm2022/lib/directives/p-datepicker.directive.mjs +0 -38
  19. package/esm2022/lib/directives/p-field-number.directive.mjs +0 -34
  20. package/esm2022/lib/directives/p-field.directive.mjs +0 -38
  21. package/esm2022/lib/directives/p-pagination-pages.directive.mjs +0 -41
  22. package/esm2022/lib/directives/p-pagination-size.directive.mjs +0 -41
  23. package/esm2022/lib/directives/p-radio.directive.mjs +0 -63
  24. package/esm2022/lib/directives/p-select.directive.mjs +0 -37
  25. package/esm2022/lib/directives/p-toggle.directive.mjs +0 -38
  26. package/esm2022/lib/modules/index.mjs +0 -8
  27. package/esm2022/lib/modules/overlay/index.mjs +0 -4
  28. package/esm2022/lib/modules/overlay/overlay.module.mjs +0 -40
  29. package/esm2022/lib/modules/overlay/overlay.ref.mjs +0 -14
  30. package/esm2022/lib/modules/overlay/overlay.service.mjs +0 -77
  31. package/esm2022/lib/modules/table/base/index.mjs +0 -2
  32. package/esm2022/lib/modules/table/base/table.component.mjs +0 -229
  33. package/esm2022/lib/modules/table/components/index.mjs +0 -18
  34. package/esm2022/lib/modules/table/components/table/constants.mjs +0 -3
  35. package/esm2022/lib/modules/table/components/table/table.component.mjs +0 -1078
  36. package/esm2022/lib/modules/table/components/table-cell/table-cell.component.mjs +0 -170
  37. package/esm2022/lib/modules/table/components/table-column/table-column.component.mjs +0 -62
  38. package/esm2022/lib/modules/table/components/table-extra-header/table-extra-header.component.mjs +0 -40
  39. package/esm2022/lib/modules/table/components/table-row-action/table-row-action.component.mjs +0 -88
  40. package/esm2022/lib/modules/table/directives/index.mjs +0 -27
  41. package/esm2022/lib/modules/table/directives/p-table-custom-actions.directive.mjs +0 -13
  42. package/esm2022/lib/modules/table/directives/p-table-custom-filter.directive.mjs +0 -13
  43. package/esm2022/lib/modules/table/directives/p-table-custom-row.directive.mjs +0 -20
  44. package/esm2022/lib/modules/table/directives/p-table-filter-modal.directive.mjs +0 -13
  45. package/esm2022/lib/modules/table/directives/p-table-footer.directive.mjs +0 -52
  46. package/esm2022/lib/modules/table/directives/p-table-header.directive.mjs +0 -59
  47. package/esm2022/lib/modules/table/directives/p-table-ngx.directive.mjs +0 -129
  48. package/esm2022/lib/modules/table/directives/p-table.directive.mjs +0 -77
  49. package/esm2022/lib/modules/table/index.mjs +0 -6
  50. package/esm2022/lib/modules/table/table.module.mjs +0 -34
  51. package/esm2022/lib/modules/table/utils.mjs +0 -29
  52. package/esm2022/lib/modules/toast/components/index.mjs +0 -4
  53. package/esm2022/lib/modules/toast/components/toast-container/toast-container.component.mjs +0 -38
  54. package/esm2022/lib/modules/toast/directives/index.mjs +0 -4
  55. package/esm2022/lib/modules/toast/directives/toast.directive.mjs +0 -51
  56. package/esm2022/lib/modules/toast/index.mjs +0 -6
  57. package/esm2022/lib/modules/toast/toast.module.mjs +0 -24
  58. package/esm2022/lib/modules/toast/toast.service.mjs +0 -51
  59. package/esm2022/lib/modules/toast/types.mjs +0 -11
  60. package/esm2022/lib/paperless.module.mjs +0 -41
  61. package/esm2022/lib/pipes/currency.pipe.mjs +0 -21
  62. package/esm2022/lib/pipes/date.pipe.mjs +0 -21
  63. package/esm2022/lib/pipes/index.mjs +0 -18
  64. package/esm2022/lib/pipes/safe.pipe.mjs +0 -34
  65. package/esm2022/lib/pipes/select-autocomplete.pipe.mjs +0 -17
  66. package/esm2022/lib/pipes/select-select-all.pipe.mjs +0 -17
  67. package/esm2022/lib/stencil/angular-component-lib/utils.mjs +0 -59
  68. package/esm2022/lib/stencil/components.mjs +0 -2013
  69. package/esm2022/lib/stencil/index.mjs +0 -78
  70. package/esm2022/lib/stencil.module.mjs +0 -17
  71. package/esm2022/paperless-angular.mjs +0 -5
  72. package/esm2022/public-api.mjs +0 -12
  73. package/index.d.ts +0 -5
  74. package/lib/animations/fade.d.ts +0 -2
  75. package/lib/animations/index.d.ts +0 -2
  76. package/lib/animations/slide.d.ts +0 -2
  77. package/lib/base/form.component.d.ts +0 -15
  78. package/lib/base/index.d.ts +0 -3
  79. package/lib/base/number-value-accessor.d.ts +0 -14
  80. package/lib/base/upload.component.d.ts +0 -16
  81. package/lib/base/value-accessor.d.ts +0 -17
  82. package/lib/directives/index.d.ts +0 -14
  83. package/lib/directives/p-checkbox.directive.d.ts +0 -9
  84. package/lib/directives/p-cropper.directive.d.ts +0 -9
  85. package/lib/directives/p-datepicker.directive.d.ts +0 -9
  86. package/lib/directives/p-field-number.directive.d.ts +0 -8
  87. package/lib/directives/p-field.directive.d.ts +0 -9
  88. package/lib/directives/p-pagination-pages.directive.d.ts +0 -10
  89. package/lib/directives/p-pagination-size.directive.d.ts +0 -10
  90. package/lib/directives/p-radio.directive.d.ts +0 -18
  91. package/lib/directives/p-select.directive.d.ts +0 -9
  92. package/lib/directives/p-toggle.directive.d.ts +0 -9
  93. package/lib/modules/index.d.ts +0 -5
  94. package/lib/modules/overlay/index.d.ts +0 -3
  95. package/lib/modules/overlay/overlay.module.d.ts +0 -12
  96. package/lib/modules/overlay/overlay.ref.d.ts +0 -9
  97. package/lib/modules/overlay/overlay.service.d.ts +0 -24
  98. package/lib/modules/table/base/index.d.ts +0 -1
  99. package/lib/modules/table/base/table.component.d.ts +0 -70
  100. package/lib/modules/table/components/index.d.ts +0 -11
  101. package/lib/modules/table/components/table/constants.d.ts +0 -2
  102. package/lib/modules/table/components/table/table.component.d.ts +0 -337
  103. package/lib/modules/table/components/table-cell/table-cell.component.d.ts +0 -53
  104. package/lib/modules/table/components/table-column/table-column.component.d.ts +0 -17
  105. package/lib/modules/table/components/table-extra-header/table-extra-header.component.d.ts +0 -17
  106. package/lib/modules/table/components/table-row-action/table-row-action.component.d.ts +0 -48
  107. package/lib/modules/table/directives/index.d.ts +0 -15
  108. package/lib/modules/table/directives/p-table-custom-actions.directive.d.ts +0 -5
  109. package/lib/modules/table/directives/p-table-custom-filter.directive.d.ts +0 -5
  110. package/lib/modules/table/directives/p-table-custom-row.directive.d.ts +0 -9
  111. package/lib/modules/table/directives/p-table-filter-modal.directive.d.ts +0 -5
  112. package/lib/modules/table/directives/p-table-footer.directive.d.ts +0 -11
  113. package/lib/modules/table/directives/p-table-header.directive.d.ts +0 -17
  114. package/lib/modules/table/directives/p-table-ngx.directive.d.ts +0 -27
  115. package/lib/modules/table/directives/p-table.directive.d.ts +0 -22
  116. package/lib/modules/table/index.d.ts +0 -5
  117. package/lib/modules/table/table.module.d.ts +0 -22
  118. package/lib/modules/table/utils.d.ts +0 -10
  119. package/lib/modules/toast/components/index.d.ts +0 -3
  120. package/lib/modules/toast/components/toast-container/toast-container.component.d.ts +0 -16
  121. package/lib/modules/toast/directives/index.d.ts +0 -3
  122. package/lib/modules/toast/directives/toast.directive.d.ts +0 -16
  123. package/lib/modules/toast/index.d.ts +0 -5
  124. package/lib/modules/toast/toast.module.d.ts +0 -10
  125. package/lib/modules/toast/toast.service.d.ts +0 -12
  126. package/lib/modules/toast/types.d.ts +0 -32
  127. package/lib/paperless.module.d.ts +0 -26
  128. package/lib/pipes/currency.pipe.d.ts +0 -10
  129. package/lib/pipes/date.pipe.d.ts +0 -10
  130. package/lib/pipes/index.d.ts +0 -10
  131. package/lib/pipes/safe.pipe.d.ts +0 -10
  132. package/lib/pipes/select-autocomplete.pipe.d.ts +0 -7
  133. package/lib/pipes/select-select-all.pipe.d.ts +0 -7
  134. package/lib/stencil/angular-component-lib/utils.d.ts +0 -9
  135. package/lib/stencil/components.d.ts +0 -883
  136. package/lib/stencil/index.d.ts +0 -2
  137. package/lib/stencil.module.d.ts +0 -7
  138. package/public-api.d.ts +0 -8
@@ -1,2013 +0,0 @@
1
- import { __decorate } from "tslib";
2
- /* tslint:disable */
3
- /* auto-generated angular directive proxies */
4
- import { ChangeDetectionStrategy, Component } from '@angular/core';
5
- import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
6
- import * as i0 from "@angular/core";
7
- let PAccordion = class PAccordion {
8
- z;
9
- el;
10
- constructor(c, r, z) {
11
- this.z = z;
12
- c.detach();
13
- this.el = r.nativeElement;
14
- proxyOutputs(this, this.el, ['isOpen']);
15
- }
16
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PAccordion, selector: "p-accordion", inputs: { closeable: "closeable", header: "header", open: "open", openable: "openable", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
- };
19
- PAccordion = __decorate([
20
- ProxyCmp({
21
- inputs: ['closeable', 'header', 'open', 'openable', 'variant']
22
- })
23
- ], PAccordion);
24
- export { PAccordion };
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PAccordion, decorators: [{
26
- type: Component,
27
- args: [{
28
- selector: 'p-accordion',
29
- changeDetection: ChangeDetectionStrategy.OnPush,
30
- template: '<ng-content></ng-content>',
31
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
32
- inputs: ['closeable', 'header', 'open', 'openable', 'variant'],
33
- }]
34
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
35
- let PAttachment = class PAttachment {
36
- z;
37
- el;
38
- constructor(c, r, z) {
39
- this.z = z;
40
- c.detach();
41
- this.el = r.nativeElement;
42
- proxyOutputs(this, this.el, ['upload', 'download', 'delete']);
43
- }
44
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PAttachment, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
45
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PAttachment, selector: "p-attachment", inputs: { accept: "accept", cameraTooltip: "cameraTooltip", deleteTooltip: "deleteTooltip", downloadTooltip: "downloadTooltip", enableCameraOnMobile: "enableCameraOnMobile", error: "error", fileId: "fileId", helper: "helper", label: "label", loading: "loading", mode: "mode", placeholder: "placeholder", required: "required", uploadTooltip: "uploadTooltip", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
- };
47
- PAttachment = __decorate([
48
- ProxyCmp({
49
- inputs: ['accept', 'cameraTooltip', 'deleteTooltip', 'downloadTooltip', 'enableCameraOnMobile', 'error', 'fileId', 'helper', 'label', 'loading', 'mode', 'placeholder', 'required', 'uploadTooltip', 'value']
50
- })
51
- ], PAttachment);
52
- export { PAttachment };
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PAttachment, decorators: [{
54
- type: Component,
55
- args: [{
56
- selector: 'p-attachment',
57
- changeDetection: ChangeDetectionStrategy.OnPush,
58
- template: '<ng-content></ng-content>',
59
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
60
- inputs: ['accept', 'cameraTooltip', 'deleteTooltip', 'downloadTooltip', 'enableCameraOnMobile', 'error', 'fileId', 'helper', 'label', 'loading', 'mode', 'placeholder', 'required', 'uploadTooltip', 'value'],
61
- }]
62
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
63
- let PAvatar = class PAvatar {
64
- z;
65
- el;
66
- constructor(c, r, z) {
67
- this.z = z;
68
- c.detach();
69
- this.el = r.nativeElement;
70
- }
71
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
72
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PAvatar, selector: "p-avatar", inputs: { defaultImage: "defaultImage", letters: "letters", size: "size", src: "src", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
- };
74
- PAvatar = __decorate([
75
- ProxyCmp({
76
- inputs: ['defaultImage', 'letters', 'size', 'src', 'variant']
77
- })
78
- ], PAvatar);
79
- export { PAvatar };
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PAvatar, decorators: [{
81
- type: Component,
82
- args: [{
83
- selector: 'p-avatar',
84
- changeDetection: ChangeDetectionStrategy.OnPush,
85
- template: '<ng-content></ng-content>',
86
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
87
- inputs: ['defaultImage', 'letters', 'size', 'src', 'variant'],
88
- }]
89
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
90
- let PAvatarGroup = class PAvatarGroup {
91
- z;
92
- el;
93
- constructor(c, r, z) {
94
- this.z = z;
95
- c.detach();
96
- this.el = r.nativeElement;
97
- }
98
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PAvatarGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
99
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PAvatarGroup, selector: "p-avatar-group", inputs: { extra: "extra" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
100
- };
101
- PAvatarGroup = __decorate([
102
- ProxyCmp({
103
- inputs: ['extra']
104
- })
105
- ], PAvatarGroup);
106
- export { PAvatarGroup };
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PAvatarGroup, decorators: [{
108
- type: Component,
109
- args: [{
110
- selector: 'p-avatar-group',
111
- changeDetection: ChangeDetectionStrategy.OnPush,
112
- template: '<ng-content></ng-content>',
113
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
114
- inputs: ['extra'],
115
- }]
116
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
117
- let PBackdrop = class PBackdrop {
118
- z;
119
- el;
120
- constructor(c, r, z) {
121
- this.z = z;
122
- c.detach();
123
- this.el = r.nativeElement;
124
- proxyOutputs(this, this.el, ['clicked']);
125
- }
126
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PBackdrop, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
127
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PBackdrop, selector: "p-backdrop", inputs: { applyBlur: "applyBlur", class: "class", closing: "closing", scrollLock: "scrollLock", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
128
- };
129
- PBackdrop = __decorate([
130
- ProxyCmp({
131
- inputs: ['applyBlur', 'class', 'closing', 'scrollLock', 'variant']
132
- })
133
- ], PBackdrop);
134
- export { PBackdrop };
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PBackdrop, decorators: [{
136
- type: Component,
137
- args: [{
138
- selector: 'p-backdrop',
139
- changeDetection: ChangeDetectionStrategy.OnPush,
140
- template: '<ng-content></ng-content>',
141
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
142
- inputs: ['applyBlur', 'class', 'closing', 'scrollLock', 'variant'],
143
- }]
144
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
145
- let PBadge = class PBadge {
146
- z;
147
- el;
148
- constructor(c, r, z) {
149
- this.z = z;
150
- c.detach();
151
- this.el = r.nativeElement;
152
- }
153
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PBadge, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
154
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PBadge, selector: "p-badge", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
155
- };
156
- PBadge = __decorate([
157
- ProxyCmp({})
158
- ], PBadge);
159
- export { PBadge };
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PBadge, decorators: [{
161
- type: Component,
162
- args: [{
163
- selector: 'p-badge',
164
- changeDetection: ChangeDetectionStrategy.OnPush,
165
- template: '<ng-content></ng-content>',
166
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
167
- inputs: [],
168
- }]
169
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
170
- let PButton = class PButton {
171
- z;
172
- el;
173
- constructor(c, r, z) {
174
- this.z = z;
175
- c.detach();
176
- this.el = r.nativeElement;
177
- proxyOutputs(this, this.el, ['onClick']);
178
- }
179
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
180
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PButton, selector: "p-button", inputs: { active: "active", as: "as", buttonGroupPosition: "buttonGroupPosition", chevron: "chevron", chevronPosition: "chevronPosition", class: "class", disabled: "disabled", error: "error", href: "href", icon: "icon", iconClass: "iconClass", iconFlip: "iconFlip", iconOnly: "iconOnly", iconPosition: "iconPosition", iconRotate: "iconRotate", inheritText: "inheritText", label: "label", loading: "loading", size: "size", tabIndex: "tabIndex", target: "target", type: "type", underline: "underline", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
181
- };
182
- PButton = __decorate([
183
- ProxyCmp({
184
- inputs: ['active', 'as', 'buttonGroupPosition', 'chevron', 'chevronPosition', 'class', 'disabled', 'error', 'href', 'icon', 'iconClass', 'iconFlip', 'iconOnly', 'iconPosition', 'iconRotate', 'inheritText', 'label', 'loading', 'size', 'tabIndex', 'target', 'type', 'underline', 'variant']
185
- })
186
- ], PButton);
187
- export { PButton };
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PButton, decorators: [{
189
- type: Component,
190
- args: [{
191
- selector: 'p-button',
192
- changeDetection: ChangeDetectionStrategy.OnPush,
193
- template: '<ng-content></ng-content>',
194
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
195
- inputs: ['active', 'as', 'buttonGroupPosition', 'chevron', 'chevronPosition', 'class', 'disabled', 'error', 'href', 'icon', 'iconClass', 'iconFlip', 'iconOnly', 'iconPosition', 'iconRotate', 'inheritText', 'label', 'loading', 'size', 'tabIndex', 'target', 'type', 'underline', 'variant'],
196
- }]
197
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
198
- let PButtonGroup = class PButtonGroup {
199
- z;
200
- el;
201
- constructor(c, r, z) {
202
- this.z = z;
203
- c.detach();
204
- this.el = r.nativeElement;
205
- }
206
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PButtonGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
207
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PButtonGroup, selector: "p-button-group", inputs: { size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
208
- };
209
- PButtonGroup = __decorate([
210
- ProxyCmp({
211
- inputs: ['size']
212
- })
213
- ], PButtonGroup);
214
- export { PButtonGroup };
215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PButtonGroup, decorators: [{
216
- type: Component,
217
- args: [{
218
- selector: 'p-button-group',
219
- changeDetection: ChangeDetectionStrategy.OnPush,
220
- template: '<ng-content></ng-content>',
221
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
222
- inputs: ['size'],
223
- }]
224
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
225
- let PCalendar = class PCalendar {
226
- z;
227
- el;
228
- constructor(c, r, z) {
229
- this.z = z;
230
- c.detach();
231
- this.el = r.nativeElement;
232
- proxyOutputs(this, this.el, ['valueChange']);
233
- }
234
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PCalendar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
235
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PCalendar, selector: "p-calendar", inputs: { disableWeekends: "disableWeekends", disabledDates: "disabledDates", enableToday: "enableToday", maxDate: "maxDate", minDate: "minDate", mode: "mode", preselectToday: "preselectToday", todayText: "todayText", value: "value", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
236
- };
237
- PCalendar = __decorate([
238
- ProxyCmp({
239
- inputs: ['disableWeekends', 'disabledDates', 'enableToday', 'maxDate', 'minDate', 'mode', 'preselectToday', 'todayText', 'value', 'variant']
240
- })
241
- ], PCalendar);
242
- export { PCalendar };
243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PCalendar, decorators: [{
244
- type: Component,
245
- args: [{
246
- selector: 'p-calendar',
247
- changeDetection: ChangeDetectionStrategy.OnPush,
248
- template: '<ng-content></ng-content>',
249
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
250
- inputs: ['disableWeekends', 'disabledDates', 'enableToday', 'maxDate', 'minDate', 'mode', 'preselectToday', 'todayText', 'value', 'variant'],
251
- }]
252
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
253
- let PCardBody = class PCardBody {
254
- z;
255
- el;
256
- constructor(c, r, z) {
257
- this.z = z;
258
- c.detach();
259
- this.el = r.nativeElement;
260
- }
261
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PCardBody, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
262
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PCardBody, selector: "p-card-body", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
263
- };
264
- PCardBody = __decorate([
265
- ProxyCmp({})
266
- ], PCardBody);
267
- export { PCardBody };
268
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PCardBody, decorators: [{
269
- type: Component,
270
- args: [{
271
- selector: 'p-card-body',
272
- changeDetection: ChangeDetectionStrategy.OnPush,
273
- template: '<ng-content></ng-content>',
274
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
275
- inputs: [],
276
- }]
277
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
278
- let PCardContainer = class PCardContainer {
279
- z;
280
- el;
281
- constructor(c, r, z) {
282
- this.z = z;
283
- c.detach();
284
- this.el = r.nativeElement;
285
- }
286
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PCardContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
287
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PCardContainer, selector: "p-card-container", inputs: { active: "active", bgClass: "bgClass", border: "border", hoverable: "hoverable", shadow: "shadow", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
288
- };
289
- PCardContainer = __decorate([
290
- ProxyCmp({
291
- inputs: ['active', 'bgClass', 'border', 'hoverable', 'shadow', 'variant']
292
- })
293
- ], PCardContainer);
294
- export { PCardContainer };
295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PCardContainer, decorators: [{
296
- type: Component,
297
- args: [{
298
- selector: 'p-card-container',
299
- changeDetection: ChangeDetectionStrategy.OnPush,
300
- template: '<ng-content></ng-content>',
301
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
302
- inputs: ['active', 'bgClass', 'border', 'hoverable', 'shadow', 'variant'],
303
- }]
304
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
305
- let PCardHeader = class PCardHeader {
306
- z;
307
- el;
308
- constructor(c, r, z) {
309
- this.z = z;
310
- c.detach();
311
- this.el = r.nativeElement;
312
- }
313
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PCardHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
314
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PCardHeader, selector: "p-card-header", inputs: { divider: "divider", header: "header", icon: "icon", iconFlip: "iconFlip", iconRotate: "iconRotate", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
315
- };
316
- PCardHeader = __decorate([
317
- ProxyCmp({
318
- inputs: ['divider', 'header', 'icon', 'iconFlip', 'iconRotate', 'variant']
319
- })
320
- ], PCardHeader);
321
- export { PCardHeader };
322
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PCardHeader, decorators: [{
323
- type: Component,
324
- args: [{
325
- selector: 'p-card-header',
326
- changeDetection: ChangeDetectionStrategy.OnPush,
327
- template: '<ng-content></ng-content>',
328
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
329
- inputs: ['divider', 'header', 'icon', 'iconFlip', 'iconRotate', 'variant'],
330
- }]
331
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
332
- let PCheckbox = class PCheckbox {
333
- z;
334
- el;
335
- constructor(c, r, z) {
336
- this.z = z;
337
- c.detach();
338
- this.el = r.nativeElement;
339
- proxyOutputs(this, this.el, ['checkedChange', 'indeterminateChange']);
340
- }
341
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
342
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PCheckbox, selector: "p-checkbox", inputs: { checked: "checked", disabled: "disabled", id: "id", indeterminate: "indeterminate", name: "name", required: "required" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
343
- };
344
- PCheckbox = __decorate([
345
- ProxyCmp({
346
- inputs: ['checked', 'disabled', 'id', 'indeterminate', 'name', 'required']
347
- })
348
- ], PCheckbox);
349
- export { PCheckbox };
350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PCheckbox, decorators: [{
351
- type: Component,
352
- args: [{
353
- selector: 'p-checkbox',
354
- changeDetection: ChangeDetectionStrategy.OnPush,
355
- template: '<ng-content></ng-content>',
356
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
357
- inputs: ['checked', 'disabled', 'id', 'indeterminate', 'name', 'required'],
358
- }]
359
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
360
- let PContentSlider = class PContentSlider {
361
- z;
362
- el;
363
- constructor(c, r, z) {
364
- this.z = z;
365
- c.detach();
366
- this.el = r.nativeElement;
367
- }
368
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PContentSlider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
369
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PContentSlider, selector: "p-content-slider", inputs: { disableAutoCenter: "disableAutoCenter", disableDrag: "disableDrag", disableIndicatorClick: "disableIndicatorClick", hideMobileIndicator: "hideMobileIndicator" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
370
- };
371
- PContentSlider = __decorate([
372
- ProxyCmp({
373
- inputs: ['disableAutoCenter', 'disableDrag', 'disableIndicatorClick', 'hideMobileIndicator']
374
- })
375
- ], PContentSlider);
376
- export { PContentSlider };
377
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PContentSlider, decorators: [{
378
- type: Component,
379
- args: [{
380
- selector: 'p-content-slider',
381
- changeDetection: ChangeDetectionStrategy.OnPush,
382
- template: '<ng-content></ng-content>',
383
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
384
- inputs: ['disableAutoCenter', 'disableDrag', 'disableIndicatorClick', 'hideMobileIndicator'],
385
- }]
386
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
387
- let PCropper = class PCropper {
388
- z;
389
- el;
390
- constructor(c, r, z) {
391
- this.z = z;
392
- c.detach();
393
- this.el = r.nativeElement;
394
- proxyOutputs(this, this.el, ['valueChange']);
395
- }
396
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PCropper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
397
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PCropper, selector: "p-cropper", inputs: { returnType: "returnType", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
398
- };
399
- PCropper = __decorate([
400
- ProxyCmp({
401
- inputs: ['returnType', 'value']
402
- })
403
- ], PCropper);
404
- export { PCropper };
405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PCropper, decorators: [{
406
- type: Component,
407
- args: [{
408
- selector: 'p-cropper',
409
- changeDetection: ChangeDetectionStrategy.OnPush,
410
- template: '<ng-content></ng-content>',
411
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
412
- inputs: ['returnType', 'value'],
413
- }]
414
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
415
- let PDatepicker = class PDatepicker {
416
- z;
417
- el;
418
- constructor(c, r, z) {
419
- this.z = z;
420
- c.detach();
421
- this.el = r.nativeElement;
422
- proxyOutputs(this, this.el, ['valueChange']);
423
- }
424
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDatepicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
425
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PDatepicker, selector: "p-datepicker", inputs: { disableWeekends: "disableWeekends", disabled: "disabled", disabledDates: "disabledDates", enableNativePicker: "enableNativePicker", enableToday: "enableToday", error: "error", format: "format", helper: "helper", hideIconWhenFilled: "hideIconWhenFilled", label: "label", loading: "loading", maxDate: "maxDate", minDate: "minDate", mode: "mode", placeholder: "placeholder", placement: "placement", prefix: "prefix", preselectToday: "preselectToday", required: "required", showOptional: "showOptional", size: "size", strategy: "strategy", todayText: "todayText", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
426
- };
427
- PDatepicker = __decorate([
428
- ProxyCmp({
429
- inputs: ['disableWeekends', 'disabled', 'disabledDates', 'enableNativePicker', 'enableToday', 'error', 'format', 'helper', 'hideIconWhenFilled', 'label', 'loading', 'maxDate', 'minDate', 'mode', 'placeholder', 'placement', 'prefix', 'preselectToday', 'required', 'showOptional', 'size', 'strategy', 'todayText', 'value']
430
- })
431
- ], PDatepicker);
432
- export { PDatepicker };
433
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDatepicker, decorators: [{
434
- type: Component,
435
- args: [{
436
- selector: 'p-datepicker',
437
- changeDetection: ChangeDetectionStrategy.OnPush,
438
- template: '<ng-content></ng-content>',
439
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
440
- inputs: ['disableWeekends', 'disabled', 'disabledDates', 'enableNativePicker', 'enableToday', 'error', 'format', 'helper', 'hideIconWhenFilled', 'label', 'loading', 'maxDate', 'minDate', 'mode', 'placeholder', 'placement', 'prefix', 'preselectToday', 'required', 'showOptional', 'size', 'strategy', 'todayText', 'value'],
441
- }]
442
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
443
- let PDivider = class PDivider {
444
- z;
445
- el;
446
- constructor(c, r, z) {
447
- this.z = z;
448
- c.detach();
449
- this.el = r.nativeElement;
450
- }
451
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDivider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
452
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PDivider, selector: "p-divider", inputs: { alignContent: "alignContent", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
453
- };
454
- PDivider = __decorate([
455
- ProxyCmp({
456
- inputs: ['alignContent', 'variant']
457
- })
458
- ], PDivider);
459
- export { PDivider };
460
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDivider, decorators: [{
461
- type: Component,
462
- args: [{
463
- selector: 'p-divider',
464
- changeDetection: ChangeDetectionStrategy.OnPush,
465
- template: '<ng-content></ng-content>',
466
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
467
- inputs: ['alignContent', 'variant'],
468
- }]
469
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
470
- let PDrawer = class PDrawer {
471
- z;
472
- el;
473
- constructor(c, r, z) {
474
- this.z = z;
475
- c.detach();
476
- this.el = r.nativeElement;
477
- proxyOutputs(this, this.el, ['closeClicked', 'closed']);
478
- }
479
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDrawer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
480
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PDrawer, selector: "p-drawer", inputs: { applyBlur: "applyBlur", backdropClickClose: "backdropClickClose", canClose: "canClose", header: "header", scrollLock: "scrollLock", show: "show", showClose: "showClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
481
- };
482
- PDrawer = __decorate([
483
- ProxyCmp({
484
- inputs: ['applyBlur', 'backdropClickClose', 'canClose', 'header', 'scrollLock', 'show', 'showClose']
485
- })
486
- ], PDrawer);
487
- export { PDrawer };
488
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDrawer, decorators: [{
489
- type: Component,
490
- args: [{
491
- selector: 'p-drawer',
492
- changeDetection: ChangeDetectionStrategy.OnPush,
493
- template: '<ng-content></ng-content>',
494
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
495
- inputs: ['applyBlur', 'backdropClickClose', 'canClose', 'header', 'scrollLock', 'show', 'showClose'],
496
- }]
497
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
498
- let PDrawerBody = class PDrawerBody {
499
- z;
500
- el;
501
- constructor(c, r, z) {
502
- this.z = z;
503
- c.detach();
504
- this.el = r.nativeElement;
505
- }
506
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDrawerBody, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
507
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PDrawerBody, selector: "p-drawer-body", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
508
- };
509
- PDrawerBody = __decorate([
510
- ProxyCmp({})
511
- ], PDrawerBody);
512
- export { PDrawerBody };
513
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDrawerBody, decorators: [{
514
- type: Component,
515
- args: [{
516
- selector: 'p-drawer-body',
517
- changeDetection: ChangeDetectionStrategy.OnPush,
518
- template: '<ng-content></ng-content>',
519
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
520
- inputs: [],
521
- }]
522
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
523
- let PDrawerContainer = class PDrawerContainer {
524
- z;
525
- el;
526
- constructor(c, r, z) {
527
- this.z = z;
528
- c.detach();
529
- this.el = r.nativeElement;
530
- }
531
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDrawerContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
532
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PDrawerContainer, selector: "p-drawer-container", inputs: { closing: "closing" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
533
- };
534
- PDrawerContainer = __decorate([
535
- ProxyCmp({
536
- inputs: ['closing']
537
- })
538
- ], PDrawerContainer);
539
- export { PDrawerContainer };
540
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDrawerContainer, decorators: [{
541
- type: Component,
542
- args: [{
543
- selector: 'p-drawer-container',
544
- changeDetection: ChangeDetectionStrategy.OnPush,
545
- template: '<ng-content></ng-content>',
546
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
547
- inputs: ['closing'],
548
- }]
549
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
550
- let PDrawerHeader = class PDrawerHeader {
551
- z;
552
- el;
553
- constructor(c, r, z) {
554
- this.z = z;
555
- c.detach();
556
- this.el = r.nativeElement;
557
- proxyOutputs(this, this.el, ['close']);
558
- }
559
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDrawerHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
560
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PDrawerHeader, selector: "p-drawer-header", inputs: { showClose: "showClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
561
- };
562
- PDrawerHeader = __decorate([
563
- ProxyCmp({
564
- inputs: ['showClose']
565
- })
566
- ], PDrawerHeader);
567
- export { PDrawerHeader };
568
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDrawerHeader, decorators: [{
569
- type: Component,
570
- args: [{
571
- selector: 'p-drawer-header',
572
- changeDetection: ChangeDetectionStrategy.OnPush,
573
- template: '<ng-content></ng-content>',
574
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
575
- inputs: ['showClose'],
576
- }]
577
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
578
- let PDropdown = class PDropdown {
579
- z;
580
- el;
581
- constructor(c, r, z) {
582
- this.z = z;
583
- c.detach();
584
- this.el = r.nativeElement;
585
- proxyOutputs(this, this.el, ['isOpen']);
586
- }
587
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
588
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PDropdown, selector: "p-dropdown", inputs: { allowOverflow: "allowOverflow", applyChevron: "applyChevron", applyFullWidth: "applyFullWidth", applyMaxWidth: "applyMaxWidth", chevronDirection: "chevronDirection", chevronPosition: "chevronPosition", containerClass: "containerClass", disableTriggerClick: "disableTriggerClick", insideClick: "insideClick", isDatepicker: "isDatepicker", manual: "manual", offset: "offset", placement: "placement", scrollable: "scrollable", show: "show", strategy: "strategy", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
589
- };
590
- PDropdown = __decorate([
591
- ProxyCmp({
592
- inputs: ['allowOverflow', 'applyChevron', 'applyFullWidth', 'applyMaxWidth', 'chevronDirection', 'chevronPosition', 'containerClass', 'disableTriggerClick', 'insideClick', 'isDatepicker', 'manual', 'offset', 'placement', 'scrollable', 'show', 'strategy', 'variant']
593
- })
594
- ], PDropdown);
595
- export { PDropdown };
596
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDropdown, decorators: [{
597
- type: Component,
598
- args: [{
599
- selector: 'p-dropdown',
600
- changeDetection: ChangeDetectionStrategy.OnPush,
601
- template: '<ng-content></ng-content>',
602
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
603
- inputs: ['allowOverflow', 'applyChevron', 'applyFullWidth', 'applyMaxWidth', 'chevronDirection', 'chevronPosition', 'containerClass', 'disableTriggerClick', 'insideClick', 'isDatepicker', 'manual', 'offset', 'placement', 'scrollable', 'show', 'strategy', 'variant'],
604
- }]
605
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
606
- let PDropdownMenuContainer = class PDropdownMenuContainer {
607
- z;
608
- el;
609
- constructor(c, r, z) {
610
- this.z = z;
611
- c.detach();
612
- this.el = r.nativeElement;
613
- }
614
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDropdownMenuContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
615
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PDropdownMenuContainer, selector: "p-dropdown-menu-container", inputs: { allowOverflow: "allowOverflow", class: "class", fullWidth: "fullWidth", maxWidth: "maxWidth", scrollable: "scrollable", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
616
- };
617
- PDropdownMenuContainer = __decorate([
618
- ProxyCmp({
619
- inputs: ['allowOverflow', 'class', 'fullWidth', 'maxWidth', 'scrollable', 'variant']
620
- })
621
- ], PDropdownMenuContainer);
622
- export { PDropdownMenuContainer };
623
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDropdownMenuContainer, decorators: [{
624
- type: Component,
625
- args: [{
626
- selector: 'p-dropdown-menu-container',
627
- changeDetection: ChangeDetectionStrategy.OnPush,
628
- template: '<ng-content></ng-content>',
629
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
630
- inputs: ['allowOverflow', 'class', 'fullWidth', 'maxWidth', 'scrollable', 'variant'],
631
- }]
632
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
633
- let PDropdownMenuItem = class PDropdownMenuItem {
634
- z;
635
- el;
636
- constructor(c, r, z) {
637
- this.z = z;
638
- c.detach();
639
- this.el = r.nativeElement;
640
- }
641
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDropdownMenuItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
642
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PDropdownMenuItem, selector: "p-dropdown-menu-item", inputs: { active: "active", autoHeight: "autoHeight", checkbox: "checkbox", disabled: "disabled", enableHover: "enableHover", enableTextWrap: "enableTextWrap", icon: "icon", iconWave: "iconWave", useContainer: "useContainer", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
643
- };
644
- PDropdownMenuItem = __decorate([
645
- ProxyCmp({
646
- inputs: ['active', 'autoHeight', 'checkbox', 'disabled', 'enableHover', 'enableTextWrap', 'icon', 'iconWave', 'useContainer', 'variant']
647
- })
648
- ], PDropdownMenuItem);
649
- export { PDropdownMenuItem };
650
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDropdownMenuItem, decorators: [{
651
- type: Component,
652
- args: [{
653
- selector: 'p-dropdown-menu-item',
654
- changeDetection: ChangeDetectionStrategy.OnPush,
655
- template: '<ng-content></ng-content>',
656
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
657
- inputs: ['active', 'autoHeight', 'checkbox', 'disabled', 'enableHover', 'enableTextWrap', 'icon', 'iconWave', 'useContainer', 'variant'],
658
- }]
659
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
660
- let PEmptyState = class PEmptyState {
661
- z;
662
- el;
663
- constructor(c, r, z) {
664
- this.z = z;
665
- c.detach();
666
- this.el = r.nativeElement;
667
- proxyOutputs(this, this.el, ['action']);
668
- }
669
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PEmptyState, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
670
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PEmptyState, selector: "p-empty-state", inputs: { actionIcon: "actionIcon", actionIconPosition: "actionIconPosition", actionLoading: "actionLoading", actionText: "actionText", actionVariant: "actionVariant", content: "content", enableAction: "enableAction", header: "header", illustration: "illustration" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
671
- };
672
- PEmptyState = __decorate([
673
- ProxyCmp({
674
- inputs: ['actionIcon', 'actionIconPosition', 'actionLoading', 'actionText', 'actionVariant', 'content', 'enableAction', 'header', 'illustration']
675
- })
676
- ], PEmptyState);
677
- export { PEmptyState };
678
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PEmptyState, decorators: [{
679
- type: Component,
680
- args: [{
681
- selector: 'p-empty-state',
682
- changeDetection: ChangeDetectionStrategy.OnPush,
683
- template: '<ng-content></ng-content>',
684
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
685
- inputs: ['actionIcon', 'actionIconPosition', 'actionLoading', 'actionText', 'actionVariant', 'content', 'enableAction', 'header', 'illustration'],
686
- }]
687
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
688
- let PField = class PField {
689
- z;
690
- el;
691
- constructor(c, r, z) {
692
- this.z = z;
693
- c.detach();
694
- this.el = r.nativeElement;
695
- proxyOutputs(this, this.el, ['valueChange', 'inputRefChange', 'add', 'enter']);
696
- }
697
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PField, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
698
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PField, selector: "p-field", inputs: { addText: "addText", align: "align", autoShowError: "autoShowError", autofocus: "autofocus", disabled: "disabled", error: "error", errorPlacement: "errorPlacement", focusMethod: "focusMethod", focused: "focused", forceShowTooltip: "forceShowTooltip", helper: "helper", icon: "icon", iconFlip: "iconFlip", iconPosition: "iconPosition", iconRotate: "iconRotate", id: "id", label: "label", loading: "loading", optionalTemplate: "optionalTemplate", placeholder: "placeholder", prefix: "prefix", properties: "properties", required: "required", selectAllOnFocus: "selectAllOnFocus", showAddOnEmpty: "showAddOnEmpty", showOptional: "showOptional", size: "size", suffix: "suffix", type: "type", value: "value", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
699
- };
700
- PField = __decorate([
701
- ProxyCmp({
702
- inputs: ['addText', 'align', 'autoShowError', 'autofocus', 'disabled', 'error', 'errorPlacement', 'focusMethod', 'focused', 'forceShowTooltip', 'helper', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'id', 'label', 'loading', 'optionalTemplate', 'placeholder', 'prefix', 'properties', 'required', 'selectAllOnFocus', 'showAddOnEmpty', 'showOptional', 'size', 'suffix', 'type', 'value', 'variant']
703
- })
704
- ], PField);
705
- export { PField };
706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PField, decorators: [{
707
- type: Component,
708
- args: [{
709
- selector: 'p-field',
710
- changeDetection: ChangeDetectionStrategy.OnPush,
711
- template: '<ng-content></ng-content>',
712
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
713
- inputs: ['addText', 'align', 'autoShowError', 'autofocus', 'disabled', 'error', 'errorPlacement', 'focusMethod', 'focused', 'forceShowTooltip', 'helper', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'id', 'label', 'loading', 'optionalTemplate', 'placeholder', 'prefix', 'properties', 'required', 'selectAllOnFocus', 'showAddOnEmpty', 'showOptional', 'size', 'suffix', 'type', 'value', 'variant'],
714
- }]
715
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
716
- let PFieldContainer = class PFieldContainer {
717
- z;
718
- el;
719
- constructor(c, r, z) {
720
- this.z = z;
721
- c.detach();
722
- this.el = r.nativeElement;
723
- proxyOutputs(this, this.el, ['focus']);
724
- }
725
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PFieldContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
726
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PFieldContainer, selector: "p-field-container", inputs: { align: "align", error: "error", errorPlacement: "errorPlacement", forceShowTooltip: "forceShowTooltip", helper: "helper", id: "id", label: "label", loading: "loading", loadingSize: "loadingSize", optionalTemplate: "optionalTemplate", required: "required", showOptional: "showOptional", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
727
- };
728
- PFieldContainer = __decorate([
729
- ProxyCmp({
730
- inputs: ['align', 'error', 'errorPlacement', 'forceShowTooltip', 'helper', 'id', 'label', 'loading', 'loadingSize', 'optionalTemplate', 'required', 'showOptional', 'variant']
731
- })
732
- ], PFieldContainer);
733
- export { PFieldContainer };
734
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PFieldContainer, decorators: [{
735
- type: Component,
736
- args: [{
737
- selector: 'p-field-container',
738
- changeDetection: ChangeDetectionStrategy.OnPush,
739
- template: '<ng-content></ng-content>',
740
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
741
- inputs: ['align', 'error', 'errorPlacement', 'forceShowTooltip', 'helper', 'id', 'label', 'loading', 'loadingSize', 'optionalTemplate', 'required', 'showOptional', 'variant'],
742
- }]
743
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
744
- let PFloatingMenuContainer = class PFloatingMenuContainer {
745
- z;
746
- el;
747
- constructor(c, r, z) {
748
- this.z = z;
749
- c.detach();
750
- this.el = r.nativeElement;
751
- proxyOutputs(this, this.el, ['close']);
752
- }
753
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PFloatingMenuContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
754
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PFloatingMenuContainer, selector: "p-floating-menu-container", inputs: { amount: "amount", amountSelectedTemplate: "amountSelectedTemplate", enableAmountSelected: "enableAmountSelected", enableClose: "enableClose", usedInTable: "usedInTable" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
755
- };
756
- PFloatingMenuContainer = __decorate([
757
- ProxyCmp({
758
- inputs: ['amount', 'amountSelectedTemplate', 'enableAmountSelected', 'enableClose', 'usedInTable']
759
- })
760
- ], PFloatingMenuContainer);
761
- export { PFloatingMenuContainer };
762
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PFloatingMenuContainer, decorators: [{
763
- type: Component,
764
- args: [{
765
- selector: 'p-floating-menu-container',
766
- changeDetection: ChangeDetectionStrategy.OnPush,
767
- template: '<ng-content></ng-content>',
768
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
769
- inputs: ['amount', 'amountSelectedTemplate', 'enableAmountSelected', 'enableClose', 'usedInTable'],
770
- }]
771
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
772
- let PFloatingMenuItem = class PFloatingMenuItem {
773
- z;
774
- el;
775
- constructor(c, r, z) {
776
- this.z = z;
777
- c.detach();
778
- this.el = r.nativeElement;
779
- }
780
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PFloatingMenuItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
781
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PFloatingMenuItem, selector: "p-floating-menu-item", inputs: { disabled: "disabled", hover: "hover", icon: "icon", iconFlip: "iconFlip", iconPosition: "iconPosition", iconRotate: "iconRotate", loading: "loading" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
782
- };
783
- PFloatingMenuItem = __decorate([
784
- ProxyCmp({
785
- inputs: ['disabled', 'hover', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'loading']
786
- })
787
- ], PFloatingMenuItem);
788
- export { PFloatingMenuItem };
789
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PFloatingMenuItem, decorators: [{
790
- type: Component,
791
- args: [{
792
- selector: 'p-floating-menu-item',
793
- changeDetection: ChangeDetectionStrategy.OnPush,
794
- template: '<ng-content></ng-content>',
795
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
796
- inputs: ['disabled', 'hover', 'icon', 'iconFlip', 'iconPosition', 'iconRotate', 'loading'],
797
- }]
798
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
799
- let PHelper = class PHelper {
800
- z;
801
- el;
802
- constructor(c, r, z) {
803
- this.z = z;
804
- c.detach();
805
- this.el = r.nativeElement;
806
- }
807
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PHelper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
808
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PHelper, selector: "p-helper", inputs: { placement: "placement", strategy: "strategy" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
809
- };
810
- PHelper = __decorate([
811
- ProxyCmp({
812
- inputs: ['placement', 'strategy']
813
- })
814
- ], PHelper);
815
- export { PHelper };
816
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PHelper, decorators: [{
817
- type: Component,
818
- args: [{
819
- selector: 'p-helper',
820
- changeDetection: ChangeDetectionStrategy.OnPush,
821
- template: '<ng-content></ng-content>',
822
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
823
- inputs: ['placement', 'strategy'],
824
- }]
825
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
826
- let PIbanIcon = class PIbanIcon {
827
- z;
828
- el;
829
- constructor(c, r, z) {
830
- this.z = z;
831
- c.detach();
832
- this.el = r.nativeElement;
833
- }
834
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PIbanIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
835
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PIbanIcon, selector: "p-iban-icon", inputs: { iban: "iban", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
836
- };
837
- PIbanIcon = __decorate([
838
- ProxyCmp({
839
- inputs: ['iban', 'variant']
840
- })
841
- ], PIbanIcon);
842
- export { PIbanIcon };
843
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PIbanIcon, decorators: [{
844
- type: Component,
845
- args: [{
846
- selector: 'p-iban-icon',
847
- changeDetection: ChangeDetectionStrategy.OnPush,
848
- template: '<ng-content></ng-content>',
849
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
850
- inputs: ['iban', 'variant'],
851
- }]
852
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
853
- let PIcon = class PIcon {
854
- z;
855
- el;
856
- constructor(c, r, z) {
857
- this.z = z;
858
- c.detach();
859
- this.el = r.nativeElement;
860
- }
861
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
862
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PIcon, selector: "p-icon", inputs: { flip: "flip", rotate: "rotate", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
863
- };
864
- PIcon = __decorate([
865
- ProxyCmp({
866
- inputs: ['flip', 'rotate', 'size', 'variant']
867
- })
868
- ], PIcon);
869
- export { PIcon };
870
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PIcon, decorators: [{
871
- type: Component,
872
- args: [{
873
- selector: 'p-icon',
874
- changeDetection: ChangeDetectionStrategy.OnPush,
875
- template: '<ng-content></ng-content>',
876
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
877
- inputs: ['flip', 'rotate', 'size', 'variant'],
878
- }]
879
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
880
- let PIllustration = class PIllustration {
881
- z;
882
- el;
883
- constructor(c, r, z) {
884
- this.z = z;
885
- c.detach();
886
- this.el = r.nativeElement;
887
- }
888
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PIllustration, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
889
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PIllustration, selector: "p-illustration", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
890
- };
891
- PIllustration = __decorate([
892
- ProxyCmp({
893
- inputs: ['variant']
894
- })
895
- ], PIllustration);
896
- export { PIllustration };
897
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PIllustration, decorators: [{
898
- type: Component,
899
- args: [{
900
- selector: 'p-illustration',
901
- changeDetection: ChangeDetectionStrategy.OnPush,
902
- template: '<ng-content></ng-content>',
903
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
904
- inputs: ['variant'],
905
- }]
906
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
907
- let PIllustrationDeprecated = class PIllustrationDeprecated {
908
- z;
909
- el;
910
- constructor(c, r, z) {
911
- this.z = z;
912
- c.detach();
913
- this.el = r.nativeElement;
914
- }
915
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PIllustrationDeprecated, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
916
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PIllustrationDeprecated, selector: "p-illustration-deprecated", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
917
- };
918
- PIllustrationDeprecated = __decorate([
919
- ProxyCmp({
920
- inputs: ['variant']
921
- })
922
- ], PIllustrationDeprecated);
923
- export { PIllustrationDeprecated };
924
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PIllustrationDeprecated, decorators: [{
925
- type: Component,
926
- args: [{
927
- selector: 'p-illustration-deprecated',
928
- changeDetection: ChangeDetectionStrategy.OnPush,
929
- template: '<ng-content></ng-content>',
930
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
931
- inputs: ['variant'],
932
- }]
933
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
934
- let PInfoPanel = class PInfoPanel {
935
- z;
936
- el;
937
- constructor(c, r, z) {
938
- this.z = z;
939
- c.detach();
940
- this.el = r.nativeElement;
941
- proxyOutputs(this, this.el, ['closed']);
942
- }
943
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PInfoPanel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
944
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PInfoPanel, selector: "p-info-panel", inputs: { closeable: "closeable", content: "content", header: "header", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
945
- };
946
- PInfoPanel = __decorate([
947
- ProxyCmp({
948
- inputs: ['closeable', 'content', 'header', 'variant']
949
- })
950
- ], PInfoPanel);
951
- export { PInfoPanel };
952
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PInfoPanel, decorators: [{
953
- type: Component,
954
- args: [{
955
- selector: 'p-info-panel',
956
- changeDetection: ChangeDetectionStrategy.OnPush,
957
- template: '<ng-content></ng-content>',
958
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
959
- inputs: ['closeable', 'content', 'header', 'variant'],
960
- }]
961
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
962
- let PLabel = class PLabel {
963
- z;
964
- el;
965
- constructor(c, r, z) {
966
- this.z = z;
967
- c.detach();
968
- this.el = r.nativeElement;
969
- }
970
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PLabel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
971
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PLabel, selector: "p-label", inputs: { icon: "icon", iconFlip: "iconFlip", iconOnly: "iconOnly", iconRotate: "iconRotate", keepMobileContent: "keepMobileContent", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
972
- };
973
- PLabel = __decorate([
974
- ProxyCmp({
975
- inputs: ['icon', 'iconFlip', 'iconOnly', 'iconRotate', 'keepMobileContent', 'variant']
976
- })
977
- ], PLabel);
978
- export { PLabel };
979
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PLabel, decorators: [{
980
- type: Component,
981
- args: [{
982
- selector: 'p-label',
983
- changeDetection: ChangeDetectionStrategy.OnPush,
984
- template: '<ng-content></ng-content>',
985
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
986
- inputs: ['icon', 'iconFlip', 'iconOnly', 'iconRotate', 'keepMobileContent', 'variant'],
987
- }]
988
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
989
- let PLayout = class PLayout {
990
- z;
991
- el;
992
- constructor(c, r, z) {
993
- this.z = z;
994
- c.detach();
995
- this.el = r.nativeElement;
996
- proxyOutputs(this, this.el, ['scroll']);
997
- }
998
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PLayout, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
999
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PLayout, selector: "p-layout", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1000
- };
1001
- PLayout = __decorate([
1002
- ProxyCmp({
1003
- inputs: ['variant']
1004
- })
1005
- ], PLayout);
1006
- export { PLayout };
1007
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PLayout, decorators: [{
1008
- type: Component,
1009
- args: [{
1010
- selector: 'p-layout',
1011
- changeDetection: ChangeDetectionStrategy.OnPush,
1012
- template: '<ng-content></ng-content>',
1013
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1014
- inputs: ['variant'],
1015
- }]
1016
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1017
- let PListing = class PListing {
1018
- z;
1019
- el;
1020
- constructor(c, r, z) {
1021
- this.z = z;
1022
- c.detach();
1023
- this.el = r.nativeElement;
1024
- }
1025
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PListing, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1026
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PListing, selector: "p-listing", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1027
- };
1028
- PListing = __decorate([
1029
- ProxyCmp({})
1030
- ], PListing);
1031
- export { PListing };
1032
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PListing, decorators: [{
1033
- type: Component,
1034
- args: [{
1035
- selector: 'p-listing',
1036
- changeDetection: ChangeDetectionStrategy.OnPush,
1037
- template: '<ng-content></ng-content>',
1038
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1039
- inputs: [],
1040
- }]
1041
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1042
- let PListingItem = class PListingItem {
1043
- z;
1044
- el;
1045
- constructor(c, r, z) {
1046
- this.z = z;
1047
- c.detach();
1048
- this.el = r.nativeElement;
1049
- }
1050
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PListingItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1051
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PListingItem, selector: "p-listing-item", inputs: { icon: "icon" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1052
- };
1053
- PListingItem = __decorate([
1054
- ProxyCmp({
1055
- inputs: ['icon']
1056
- })
1057
- ], PListingItem);
1058
- export { PListingItem };
1059
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PListingItem, decorators: [{
1060
- type: Component,
1061
- args: [{
1062
- selector: 'p-listing-item',
1063
- changeDetection: ChangeDetectionStrategy.OnPush,
1064
- template: '<ng-content></ng-content>',
1065
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1066
- inputs: ['icon'],
1067
- }]
1068
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1069
- let PListingLine = class PListingLine {
1070
- z;
1071
- el;
1072
- constructor(c, r, z) {
1073
- this.z = z;
1074
- c.detach();
1075
- this.el = r.nativeElement;
1076
- }
1077
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PListingLine, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1078
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PListingLine, selector: "p-listing-line", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1079
- };
1080
- PListingLine = __decorate([
1081
- ProxyCmp({})
1082
- ], PListingLine);
1083
- export { PListingLine };
1084
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PListingLine, decorators: [{
1085
- type: Component,
1086
- args: [{
1087
- selector: 'p-listing-line',
1088
- changeDetection: ChangeDetectionStrategy.OnPush,
1089
- template: '<ng-content></ng-content>',
1090
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1091
- inputs: [],
1092
- }]
1093
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1094
- let PLoader = class PLoader {
1095
- z;
1096
- el;
1097
- constructor(c, r, z) {
1098
- this.z = z;
1099
- c.detach();
1100
- this.el = r.nativeElement;
1101
- }
1102
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PLoader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1103
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PLoader, selector: "p-loader", inputs: { color: "color", modalDescription: "modalDescription", modalTitle: "modalTitle", show: "show", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1104
- };
1105
- PLoader = __decorate([
1106
- ProxyCmp({
1107
- inputs: ['color', 'modalDescription', 'modalTitle', 'show', 'variant']
1108
- })
1109
- ], PLoader);
1110
- export { PLoader };
1111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PLoader, decorators: [{
1112
- type: Component,
1113
- args: [{
1114
- selector: 'p-loader',
1115
- changeDetection: ChangeDetectionStrategy.OnPush,
1116
- template: '<ng-content></ng-content>',
1117
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1118
- inputs: ['color', 'modalDescription', 'modalTitle', 'show', 'variant'],
1119
- }]
1120
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1121
- let PModal = class PModal {
1122
- z;
1123
- el;
1124
- constructor(c, r, z) {
1125
- this.z = z;
1126
- c.detach();
1127
- this.el = r.nativeElement;
1128
- proxyOutputs(this, this.el, ['closeClicked', 'closed']);
1129
- }
1130
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PModal, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1131
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PModal, selector: "p-modal", inputs: { applyBlur: "applyBlur", backdropClickClose: "backdropClickClose", header: "header", scrollLock: "scrollLock", show: "show", showClose: "showClose", showMobileFooter: "showMobileFooter", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1132
- };
1133
- PModal = __decorate([
1134
- ProxyCmp({
1135
- inputs: ['applyBlur', 'backdropClickClose', 'header', 'scrollLock', 'show', 'showClose', 'showMobileFooter', 'size']
1136
- })
1137
- ], PModal);
1138
- export { PModal };
1139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PModal, decorators: [{
1140
- type: Component,
1141
- args: [{
1142
- selector: 'p-modal',
1143
- changeDetection: ChangeDetectionStrategy.OnPush,
1144
- template: '<ng-content></ng-content>',
1145
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1146
- inputs: ['applyBlur', 'backdropClickClose', 'header', 'scrollLock', 'show', 'showClose', 'showMobileFooter', 'size'],
1147
- }]
1148
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1149
- let PModalBody = class PModalBody {
1150
- z;
1151
- el;
1152
- constructor(c, r, z) {
1153
- this.z = z;
1154
- c.detach();
1155
- this.el = r.nativeElement;
1156
- }
1157
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PModalBody, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1158
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PModalBody, selector: "p-modal-body", inputs: { roundedBottom: "roundedBottom", roundedTop: "roundedTop" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1159
- };
1160
- PModalBody = __decorate([
1161
- ProxyCmp({
1162
- inputs: ['roundedBottom', 'roundedTop']
1163
- })
1164
- ], PModalBody);
1165
- export { PModalBody };
1166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PModalBody, decorators: [{
1167
- type: Component,
1168
- args: [{
1169
- selector: 'p-modal-body',
1170
- changeDetection: ChangeDetectionStrategy.OnPush,
1171
- template: '<ng-content></ng-content>',
1172
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1173
- inputs: ['roundedBottom', 'roundedTop'],
1174
- }]
1175
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1176
- let PModalContainer = class PModalContainer {
1177
- z;
1178
- el;
1179
- constructor(c, r, z) {
1180
- this.z = z;
1181
- c.detach();
1182
- this.el = r.nativeElement;
1183
- }
1184
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PModalContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1185
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PModalContainer, selector: "p-modal-container", inputs: { closing: "closing", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1186
- };
1187
- PModalContainer = __decorate([
1188
- ProxyCmp({
1189
- inputs: ['closing', 'size']
1190
- })
1191
- ], PModalContainer);
1192
- export { PModalContainer };
1193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PModalContainer, decorators: [{
1194
- type: Component,
1195
- args: [{
1196
- selector: 'p-modal-container',
1197
- changeDetection: ChangeDetectionStrategy.OnPush,
1198
- template: '<ng-content></ng-content>',
1199
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1200
- inputs: ['closing', 'size'],
1201
- }]
1202
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1203
- let PModalFooter = class PModalFooter {
1204
- z;
1205
- el;
1206
- constructor(c, r, z) {
1207
- this.z = z;
1208
- c.detach();
1209
- this.el = r.nativeElement;
1210
- }
1211
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PModalFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1212
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PModalFooter, selector: "p-modal-footer", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1213
- };
1214
- PModalFooter = __decorate([
1215
- ProxyCmp({})
1216
- ], PModalFooter);
1217
- export { PModalFooter };
1218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PModalFooter, decorators: [{
1219
- type: Component,
1220
- args: [{
1221
- selector: 'p-modal-footer',
1222
- changeDetection: ChangeDetectionStrategy.OnPush,
1223
- template: '<ng-content></ng-content>',
1224
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1225
- inputs: [],
1226
- }]
1227
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1228
- let PModalHeader = class PModalHeader {
1229
- z;
1230
- el;
1231
- constructor(c, r, z) {
1232
- this.z = z;
1233
- c.detach();
1234
- this.el = r.nativeElement;
1235
- proxyOutputs(this, this.el, ['close']);
1236
- }
1237
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PModalHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1238
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PModalHeader, selector: "p-modal-header", inputs: { showClose: "showClose" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1239
- };
1240
- PModalHeader = __decorate([
1241
- ProxyCmp({
1242
- inputs: ['showClose']
1243
- })
1244
- ], PModalHeader);
1245
- export { PModalHeader };
1246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PModalHeader, decorators: [{
1247
- type: Component,
1248
- args: [{
1249
- selector: 'p-modal-header',
1250
- changeDetection: ChangeDetectionStrategy.OnPush,
1251
- template: '<ng-content></ng-content>',
1252
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1253
- inputs: ['showClose'],
1254
- }]
1255
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1256
- let PNavbar = class PNavbar {
1257
- z;
1258
- el;
1259
- constructor(c, r, z) {
1260
- this.z = z;
1261
- c.detach();
1262
- this.el = r.nativeElement;
1263
- }
1264
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PNavbar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1265
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PNavbar, selector: "p-navbar", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1266
- };
1267
- PNavbar = __decorate([
1268
- ProxyCmp({})
1269
- ], PNavbar);
1270
- export { PNavbar };
1271
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PNavbar, decorators: [{
1272
- type: Component,
1273
- args: [{
1274
- selector: 'p-navbar',
1275
- changeDetection: ChangeDetectionStrategy.OnPush,
1276
- template: '<ng-content></ng-content>',
1277
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1278
- inputs: [],
1279
- }]
1280
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1281
- let PNavigationItem = class PNavigationItem {
1282
- z;
1283
- el;
1284
- constructor(c, r, z) {
1285
- this.z = z;
1286
- c.detach();
1287
- this.el = r.nativeElement;
1288
- }
1289
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PNavigationItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1290
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PNavigationItem, selector: "p-navigation-item", inputs: { active: "active", applyFullWidth: "applyFullWidth", as: "as", class: "class", counter: "counter", href: "href", icon: "icon", loading: "loading", target: "target" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1291
- };
1292
- PNavigationItem = __decorate([
1293
- ProxyCmp({
1294
- inputs: ['active', 'applyFullWidth', 'as', 'class', 'counter', 'href', 'icon', 'loading', 'target']
1295
- })
1296
- ], PNavigationItem);
1297
- export { PNavigationItem };
1298
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PNavigationItem, decorators: [{
1299
- type: Component,
1300
- args: [{
1301
- selector: 'p-navigation-item',
1302
- changeDetection: ChangeDetectionStrategy.OnPush,
1303
- template: '<ng-content></ng-content>',
1304
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1305
- inputs: ['active', 'applyFullWidth', 'as', 'class', 'counter', 'href', 'icon', 'loading', 'target'],
1306
- }]
1307
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1308
- let PNavigationSection = class PNavigationSection {
1309
- z;
1310
- el;
1311
- constructor(c, r, z) {
1312
- this.z = z;
1313
- c.detach();
1314
- this.el = r.nativeElement;
1315
- }
1316
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PNavigationSection, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1317
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PNavigationSection, selector: "p-navigation-section", inputs: { header: "header" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1318
- };
1319
- PNavigationSection = __decorate([
1320
- ProxyCmp({
1321
- inputs: ['header']
1322
- })
1323
- ], PNavigationSection);
1324
- export { PNavigationSection };
1325
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PNavigationSection, decorators: [{
1326
- type: Component,
1327
- args: [{
1328
- selector: 'p-navigation-section',
1329
- changeDetection: ChangeDetectionStrategy.OnPush,
1330
- template: '<ng-content></ng-content>',
1331
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1332
- inputs: ['header'],
1333
- }]
1334
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1335
- let PNavigationTitle = class PNavigationTitle {
1336
- z;
1337
- el;
1338
- constructor(c, r, z) {
1339
- this.z = z;
1340
- c.detach();
1341
- this.el = r.nativeElement;
1342
- }
1343
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PNavigationTitle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1344
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PNavigationTitle, selector: "p-navigation-title", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1345
- };
1346
- PNavigationTitle = __decorate([
1347
- ProxyCmp({})
1348
- ], PNavigationTitle);
1349
- export { PNavigationTitle };
1350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PNavigationTitle, decorators: [{
1351
- type: Component,
1352
- args: [{
1353
- selector: 'p-navigation-title',
1354
- changeDetection: ChangeDetectionStrategy.OnPush,
1355
- template: '<ng-content></ng-content>',
1356
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1357
- inputs: [],
1358
- }]
1359
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1360
- let PPagination = class PPagination {
1361
- z;
1362
- el;
1363
- constructor(c, r, z) {
1364
- this.z = z;
1365
- c.detach();
1366
- this.el = r.nativeElement;
1367
- proxyOutputs(this, this.el, ['pageChange', 'pageSizeChange', 'pagesChange']);
1368
- }
1369
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PPagination, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1370
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PPagination, selector: "p-pagination", inputs: { enablePaginationPages: "enablePaginationPages", enablePaginationSize: "enablePaginationSize", hideOnSinglePage: "hideOnSinglePage", page: "page", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", total: "total" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1371
- };
1372
- PPagination = __decorate([
1373
- ProxyCmp({
1374
- inputs: ['enablePaginationPages', 'enablePaginationSize', 'hideOnSinglePage', 'page', 'pageSize', 'pageSizeOptions', 'total']
1375
- })
1376
- ], PPagination);
1377
- export { PPagination };
1378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PPagination, decorators: [{
1379
- type: Component,
1380
- args: [{
1381
- selector: 'p-pagination',
1382
- changeDetection: ChangeDetectionStrategy.OnPush,
1383
- template: '<ng-content></ng-content>',
1384
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1385
- inputs: ['enablePaginationPages', 'enablePaginationSize', 'hideOnSinglePage', 'page', 'pageSize', 'pageSizeOptions', 'total'],
1386
- }]
1387
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1388
- let PPaginationPages = class PPaginationPages {
1389
- z;
1390
- el;
1391
- constructor(c, r, z) {
1392
- this.z = z;
1393
- c.detach();
1394
- this.el = r.nativeElement;
1395
- proxyOutputs(this, this.el, ['pageChange', 'pagesChange']);
1396
- }
1397
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PPaginationPages, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1398
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PPaginationPages, selector: "p-pagination-pages", inputs: { dropdownPageTemplate: "dropdownPageTemplate", hideOnSinglePage: "hideOnSinglePage", page: "page", pageSize: "pageSize", total: "total" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1399
- };
1400
- PPaginationPages = __decorate([
1401
- ProxyCmp({
1402
- inputs: ['dropdownPageTemplate', 'hideOnSinglePage', 'page', 'pageSize', 'total']
1403
- })
1404
- ], PPaginationPages);
1405
- export { PPaginationPages };
1406
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PPaginationPages, decorators: [{
1407
- type: Component,
1408
- args: [{
1409
- selector: 'p-pagination-pages',
1410
- changeDetection: ChangeDetectionStrategy.OnPush,
1411
- template: '<ng-content></ng-content>',
1412
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1413
- inputs: ['dropdownPageTemplate', 'hideOnSinglePage', 'page', 'pageSize', 'total'],
1414
- }]
1415
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1416
- let PPaginationPagesItem = class PPaginationPagesItem {
1417
- z;
1418
- el;
1419
- constructor(c, r, z) {
1420
- this.z = z;
1421
- c.detach();
1422
- this.el = r.nativeElement;
1423
- }
1424
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PPaginationPagesItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1425
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PPaginationPagesItem, selector: "p-pagination-pages-item", inputs: { active: "active", disabled: "disabled", hover: "hover", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1426
- };
1427
- PPaginationPagesItem = __decorate([
1428
- ProxyCmp({
1429
- inputs: ['active', 'disabled', 'hover', 'variant']
1430
- })
1431
- ], PPaginationPagesItem);
1432
- export { PPaginationPagesItem };
1433
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PPaginationPagesItem, decorators: [{
1434
- type: Component,
1435
- args: [{
1436
- selector: 'p-pagination-pages-item',
1437
- changeDetection: ChangeDetectionStrategy.OnPush,
1438
- template: '<ng-content></ng-content>',
1439
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1440
- inputs: ['active', 'disabled', 'hover', 'variant'],
1441
- }]
1442
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1443
- let PPaginationSize = class PPaginationSize {
1444
- z;
1445
- el;
1446
- constructor(c, r, z) {
1447
- this.z = z;
1448
- c.detach();
1449
- this.el = r.nativeElement;
1450
- proxyOutputs(this, this.el, ['sizeChange']);
1451
- }
1452
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PPaginationSize, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1453
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PPaginationSize, selector: "p-pagination-size", inputs: { hidden: "hidden", itemTemplate: "itemTemplate", size: "size", sizeOptions: "sizeOptions" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1454
- };
1455
- PPaginationSize = __decorate([
1456
- ProxyCmp({
1457
- inputs: ['hidden', 'itemTemplate', 'size', 'sizeOptions']
1458
- })
1459
- ], PPaginationSize);
1460
- export { PPaginationSize };
1461
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PPaginationSize, decorators: [{
1462
- type: Component,
1463
- args: [{
1464
- selector: 'p-pagination-size',
1465
- changeDetection: ChangeDetectionStrategy.OnPush,
1466
- template: '<ng-content></ng-content>',
1467
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1468
- inputs: ['hidden', 'itemTemplate', 'size', 'sizeOptions'],
1469
- }]
1470
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1471
- let PProfile = class PProfile {
1472
- z;
1473
- el;
1474
- constructor(c, r, z) {
1475
- this.z = z;
1476
- c.detach();
1477
- this.el = r.nativeElement;
1478
- }
1479
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PProfile, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1480
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PProfile, selector: "p-profile", inputs: { dropdownLocation: "dropdownLocation" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1481
- };
1482
- PProfile = __decorate([
1483
- ProxyCmp({
1484
- inputs: ['dropdownLocation']
1485
- })
1486
- ], PProfile);
1487
- export { PProfile };
1488
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PProfile, decorators: [{
1489
- type: Component,
1490
- args: [{
1491
- selector: 'p-profile',
1492
- changeDetection: ChangeDetectionStrategy.OnPush,
1493
- template: '<ng-content></ng-content>',
1494
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1495
- inputs: ['dropdownLocation'],
1496
- }]
1497
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1498
- let PRadio = class PRadio {
1499
- z;
1500
- el;
1501
- constructor(c, r, z) {
1502
- this.z = z;
1503
- c.detach();
1504
- this.el = r.nativeElement;
1505
- proxyOutputs(this, this.el, ['checkedChange']);
1506
- }
1507
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PRadio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1508
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PRadio, selector: "p-radio", inputs: { checked: "checked", disabled: "disabled", id: "id", name: "name", required: "required", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1509
- };
1510
- PRadio = __decorate([
1511
- ProxyCmp({
1512
- inputs: ['checked', 'disabled', 'id', 'name', 'required', 'value']
1513
- })
1514
- ], PRadio);
1515
- export { PRadio };
1516
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PRadio, decorators: [{
1517
- type: Component,
1518
- args: [{
1519
- selector: 'p-radio',
1520
- changeDetection: ChangeDetectionStrategy.OnPush,
1521
- template: '<ng-content></ng-content>',
1522
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1523
- inputs: ['checked', 'disabled', 'id', 'name', 'required', 'value'],
1524
- }]
1525
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1526
- let PRange = class PRange {
1527
- z;
1528
- el;
1529
- constructor(c, r, z) {
1530
- this.z = z;
1531
- c.detach();
1532
- this.el = r.nativeElement;
1533
- proxyOutputs(this, this.el, ['valueChange']);
1534
- }
1535
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PRange, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1536
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PRange, selector: "p-range", inputs: { max: "max", min: "min", step: "step", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1537
- };
1538
- PRange = __decorate([
1539
- ProxyCmp({
1540
- inputs: ['max', 'min', 'step', 'value']
1541
- })
1542
- ], PRange);
1543
- export { PRange };
1544
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PRange, decorators: [{
1545
- type: Component,
1546
- args: [{
1547
- selector: 'p-range',
1548
- changeDetection: ChangeDetectionStrategy.OnPush,
1549
- template: '<ng-content></ng-content>',
1550
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1551
- inputs: ['max', 'min', 'step', 'value'],
1552
- }]
1553
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1554
- let PSegmentContainer = class PSegmentContainer {
1555
- z;
1556
- el;
1557
- constructor(c, r, z) {
1558
- this.z = z;
1559
- c.detach();
1560
- this.el = r.nativeElement;
1561
- }
1562
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PSegmentContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1563
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PSegmentContainer, selector: "p-segment-container", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1564
- };
1565
- PSegmentContainer = __decorate([
1566
- ProxyCmp({})
1567
- ], PSegmentContainer);
1568
- export { PSegmentContainer };
1569
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PSegmentContainer, decorators: [{
1570
- type: Component,
1571
- args: [{
1572
- selector: 'p-segment-container',
1573
- changeDetection: ChangeDetectionStrategy.OnPush,
1574
- template: '<ng-content></ng-content>',
1575
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1576
- inputs: [],
1577
- }]
1578
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1579
- let PSegmentItem = class PSegmentItem {
1580
- z;
1581
- el;
1582
- constructor(c, r, z) {
1583
- this.z = z;
1584
- c.detach();
1585
- this.el = r.nativeElement;
1586
- }
1587
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PSegmentItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1588
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PSegmentItem, selector: "p-segment-item", inputs: { active: "active", icon: "icon", iconFlip: "iconFlip", iconOnly: "iconOnly", iconRotate: "iconRotate", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1589
- };
1590
- PSegmentItem = __decorate([
1591
- ProxyCmp({
1592
- inputs: ['active', 'icon', 'iconFlip', 'iconOnly', 'iconRotate', 'variant']
1593
- })
1594
- ], PSegmentItem);
1595
- export { PSegmentItem };
1596
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PSegmentItem, decorators: [{
1597
- type: Component,
1598
- args: [{
1599
- selector: 'p-segment-item',
1600
- changeDetection: ChangeDetectionStrategy.OnPush,
1601
- template: '<ng-content></ng-content>',
1602
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1603
- inputs: ['active', 'icon', 'iconFlip', 'iconOnly', 'iconRotate', 'variant'],
1604
- }]
1605
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1606
- let PSelect = class PSelect {
1607
- z;
1608
- el;
1609
- constructor(c, r, z) {
1610
- this.z = z;
1611
- c.detach();
1612
- this.el = r.nativeElement;
1613
- proxyOutputs(this, this.el, ['queryChange', 'valueChange', 'selectAllChange', 'dropdownShown', 'add']);
1614
- }
1615
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1616
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PSelect, selector: "p-select", inputs: { addItemText: "addItemText", applyClassOnSelectedItem: "applyClassOnSelectedItem", applyClassOnSelectedItemInMenu: "applyClassOnSelectedItemInMenu", asyncFilter: "asyncFilter", autoSelectFirst: "autoSelectFirst", autocompletePlaceholder: "autocompletePlaceholder", avatarKey: "avatarKey", avatarLettersKey: "avatarLettersKey", classKey: "classKey", disabled: "disabled", displayKey: "displayKey", dropdownDisplayKey: "dropdownDisplayKey", emptyStateText: "emptyStateText", enableAutocomplete: "enableAutocomplete", enableSelectAll: "enableSelectAll", enableTextWrap: "enableTextWrap", error: "error", helper: "helper", icon: "icon", iconClassKey: "iconClassKey", iconKey: "iconKey", identifierKey: "identifierKey", items: "items", label: "label", loading: "loading", maxDisplayedItems: "maxDisplayedItems", multi: "multi", placeholder: "placeholder", prefix: "prefix", query: "query", queryKey: "queryKey", required: "required", selectAllIcon: "selectAllIcon", selectAllText: "selectAllText", selectionDisplayKey: "selectionDisplayKey", showAddItem: "showAddItem", showChevron: "showChevron", showIconOnSelectedItem: "showIconOnSelectedItem", showOptional: "showOptional", size: "size", strategy: "strategy", value: "value", valueKey: "valueKey" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1617
- };
1618
- PSelect = __decorate([
1619
- ProxyCmp({
1620
- inputs: ['addItemText', 'applyClassOnSelectedItem', 'applyClassOnSelectedItemInMenu', 'asyncFilter', 'autoSelectFirst', 'autocompletePlaceholder', 'avatarKey', 'avatarLettersKey', 'classKey', 'disabled', 'displayKey', 'dropdownDisplayKey', 'emptyStateText', 'enableAutocomplete', 'enableSelectAll', 'enableTextWrap', 'error', 'helper', 'icon', 'iconClassKey', 'iconKey', 'identifierKey', 'items', 'label', 'loading', 'maxDisplayedItems', 'multi', 'placeholder', 'prefix', 'query', 'queryKey', 'required', 'selectAllIcon', 'selectAllText', 'selectionDisplayKey', 'showAddItem', 'showChevron', 'showIconOnSelectedItem', 'showOptional', 'size', 'strategy', 'value', 'valueKey']
1621
- })
1622
- ], PSelect);
1623
- export { PSelect };
1624
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PSelect, decorators: [{
1625
- type: Component,
1626
- args: [{
1627
- selector: 'p-select',
1628
- changeDetection: ChangeDetectionStrategy.OnPush,
1629
- template: '<ng-content></ng-content>',
1630
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1631
- inputs: ['addItemText', 'applyClassOnSelectedItem', 'applyClassOnSelectedItemInMenu', 'asyncFilter', 'autoSelectFirst', 'autocompletePlaceholder', 'avatarKey', 'avatarLettersKey', 'classKey', 'disabled', 'displayKey', 'dropdownDisplayKey', 'emptyStateText', 'enableAutocomplete', 'enableSelectAll', 'enableTextWrap', 'error', 'helper', 'icon', 'iconClassKey', 'iconKey', 'identifierKey', 'items', 'label', 'loading', 'maxDisplayedItems', 'multi', 'placeholder', 'prefix', 'query', 'queryKey', 'required', 'selectAllIcon', 'selectAllText', 'selectionDisplayKey', 'showAddItem', 'showChevron', 'showIconOnSelectedItem', 'showOptional', 'size', 'strategy', 'value', 'valueKey'],
1632
- }]
1633
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1634
- let PSmile = class PSmile {
1635
- z;
1636
- el;
1637
- constructor(c, r, z) {
1638
- this.z = z;
1639
- c.detach();
1640
- this.el = r.nativeElement;
1641
- }
1642
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PSmile, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1643
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PSmile, selector: "p-smile", inputs: { variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1644
- };
1645
- PSmile = __decorate([
1646
- ProxyCmp({
1647
- inputs: ['variant']
1648
- })
1649
- ], PSmile);
1650
- export { PSmile };
1651
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PSmile, decorators: [{
1652
- type: Component,
1653
- args: [{
1654
- selector: 'p-smile',
1655
- changeDetection: ChangeDetectionStrategy.OnPush,
1656
- template: '<ng-content></ng-content>',
1657
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1658
- inputs: ['variant'],
1659
- }]
1660
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1661
- let PStepper = class PStepper {
1662
- z;
1663
- el;
1664
- constructor(c, r, z) {
1665
- this.z = z;
1666
- c.detach();
1667
- this.el = r.nativeElement;
1668
- }
1669
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PStepper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1670
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PStepper, selector: "p-stepper", inputs: { activeStep: "activeStep", align: "align", contentPosition: "contentPosition", direction: "direction", enableAutoStatus: "enableAutoStatus", steps: "steps" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1671
- };
1672
- PStepper = __decorate([
1673
- ProxyCmp({
1674
- inputs: ['activeStep', 'align', 'contentPosition', 'direction', 'enableAutoStatus', 'steps']
1675
- })
1676
- ], PStepper);
1677
- export { PStepper };
1678
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PStepper, decorators: [{
1679
- type: Component,
1680
- args: [{
1681
- selector: 'p-stepper',
1682
- changeDetection: ChangeDetectionStrategy.OnPush,
1683
- template: '<ng-content></ng-content>',
1684
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1685
- inputs: ['activeStep', 'align', 'contentPosition', 'direction', 'enableAutoStatus', 'steps'],
1686
- }]
1687
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1688
- let PStepperItem = class PStepperItem {
1689
- z;
1690
- el;
1691
- constructor(c, r, z) {
1692
- this.z = z;
1693
- c.detach();
1694
- this.el = r.nativeElement;
1695
- }
1696
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PStepperItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1697
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PStepperItem, selector: "p-stepper-item", inputs: { active: "active", align: "align", contentPosition: "contentPosition", direction: "direction", finished: "finished", number: "number" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1698
- };
1699
- PStepperItem = __decorate([
1700
- ProxyCmp({
1701
- inputs: ['active', 'align', 'contentPosition', 'direction', 'finished', 'number']
1702
- })
1703
- ], PStepperItem);
1704
- export { PStepperItem };
1705
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PStepperItem, decorators: [{
1706
- type: Component,
1707
- args: [{
1708
- selector: 'p-stepper-item',
1709
- changeDetection: ChangeDetectionStrategy.OnPush,
1710
- template: '<ng-content></ng-content>',
1711
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1712
- inputs: ['active', 'align', 'contentPosition', 'direction', 'finished', 'number'],
1713
- }]
1714
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1715
- let PStepperLine = class PStepperLine {
1716
- z;
1717
- el;
1718
- constructor(c, r, z) {
1719
- this.z = z;
1720
- c.detach();
1721
- this.el = r.nativeElement;
1722
- }
1723
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PStepperLine, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1724
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PStepperLine, selector: "p-stepper-line", inputs: { active: "active", direction: "direction" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1725
- };
1726
- PStepperLine = __decorate([
1727
- ProxyCmp({
1728
- inputs: ['active', 'direction']
1729
- })
1730
- ], PStepperLine);
1731
- export { PStepperLine };
1732
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PStepperLine, decorators: [{
1733
- type: Component,
1734
- args: [{
1735
- selector: 'p-stepper-line',
1736
- changeDetection: ChangeDetectionStrategy.OnPush,
1737
- template: '<ng-content></ng-content>',
1738
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1739
- inputs: ['active', 'direction'],
1740
- }]
1741
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1742
- let PTabContainer = class PTabContainer {
1743
- z;
1744
- el;
1745
- constructor(c, r, z) {
1746
- this.z = z;
1747
- c.detach();
1748
- this.el = r.nativeElement;
1749
- }
1750
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTabContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1751
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PTabContainer, selector: "p-tab-container", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1752
- };
1753
- PTabContainer = __decorate([
1754
- ProxyCmp({})
1755
- ], PTabContainer);
1756
- export { PTabContainer };
1757
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTabContainer, decorators: [{
1758
- type: Component,
1759
- args: [{
1760
- selector: 'p-tab-container',
1761
- changeDetection: ChangeDetectionStrategy.OnPush,
1762
- template: '<ng-content></ng-content>',
1763
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1764
- inputs: [],
1765
- }]
1766
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1767
- let PTabItem = class PTabItem {
1768
- z;
1769
- el;
1770
- constructor(c, r, z) {
1771
- this.z = z;
1772
- c.detach();
1773
- this.el = r.nativeElement;
1774
- }
1775
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTabItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1776
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PTabItem, selector: "p-tab-item", inputs: { active: "active" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1777
- };
1778
- PTabItem = __decorate([
1779
- ProxyCmp({
1780
- inputs: ['active']
1781
- })
1782
- ], PTabItem);
1783
- export { PTabItem };
1784
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTabItem, decorators: [{
1785
- type: Component,
1786
- args: [{
1787
- selector: 'p-tab-item',
1788
- changeDetection: ChangeDetectionStrategy.OnPush,
1789
- template: '<ng-content></ng-content>',
1790
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1791
- inputs: ['active'],
1792
- }]
1793
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1794
- let PTableContainer = class PTableContainer {
1795
- z;
1796
- el;
1797
- constructor(c, r, z) {
1798
- this.z = z;
1799
- c.detach();
1800
- this.el = r.nativeElement;
1801
- }
1802
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTableContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1803
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PTableContainer, selector: "p-table-container", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1804
- };
1805
- PTableContainer = __decorate([
1806
- ProxyCmp({})
1807
- ], PTableContainer);
1808
- export { PTableContainer };
1809
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTableContainer, decorators: [{
1810
- type: Component,
1811
- args: [{
1812
- selector: 'p-table-container',
1813
- changeDetection: ChangeDetectionStrategy.OnPush,
1814
- template: '<ng-content></ng-content>',
1815
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1816
- inputs: [],
1817
- }]
1818
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1819
- let PTableFooter = class PTableFooter {
1820
- z;
1821
- el;
1822
- constructor(c, r, z) {
1823
- this.z = z;
1824
- c.detach();
1825
- this.el = r.nativeElement;
1826
- proxyOutputs(this, this.el, ['pageChange', 'pageSizeChange', 'hiddenChange']);
1827
- }
1828
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTableFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1829
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PTableFooter, selector: "p-table-footer", inputs: { enablePaginationPages: "enablePaginationPages", enablePaginationSize: "enablePaginationSize", hideOnSinglePage: "hideOnSinglePage", loading: "loading", page: "page", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", tableHeaderHasAction: "tableHeaderHasAction", total: "total" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1830
- };
1831
- PTableFooter = __decorate([
1832
- ProxyCmp({
1833
- inputs: ['enablePaginationPages', 'enablePaginationSize', 'hideOnSinglePage', 'loading', 'page', 'pageSize', 'pageSizeOptions', 'tableHeaderHasAction', 'total']
1834
- })
1835
- ], PTableFooter);
1836
- export { PTableFooter };
1837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTableFooter, decorators: [{
1838
- type: Component,
1839
- args: [{
1840
- selector: 'p-table-footer',
1841
- changeDetection: ChangeDetectionStrategy.OnPush,
1842
- template: '<ng-content></ng-content>',
1843
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1844
- inputs: ['enablePaginationPages', 'enablePaginationSize', 'hideOnSinglePage', 'loading', 'page', 'pageSize', 'pageSizeOptions', 'tableHeaderHasAction', 'total'],
1845
- }]
1846
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1847
- let PTableHeader = class PTableHeader {
1848
- z;
1849
- el;
1850
- constructor(c, r, z) {
1851
- this.z = z;
1852
- c.detach();
1853
- this.el = r.nativeElement;
1854
- proxyOutputs(this, this.el, ['quickFilter', 'queryChange', 'filter', 'action', 'export']);
1855
- }
1856
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTableHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1857
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PTableHeader, selector: "p-table-header", inputs: { actionButtonTemplate: "actionButtonTemplate", actionIcon: "actionIcon", actionLoading: "actionLoading", actionText: "actionText", activeQuickFilterIdentifier: "activeQuickFilterIdentifier", canUseAction: "canUseAction", enableAction: "enableAction", enableExport: "enableExport", enableFilter: "enableFilter", enableFilterDesktop: "enableFilterDesktop", enableSearch: "enableSearch", filterButtonTemplate: "filterButtonTemplate", itemsSelectedAmount: "itemsSelectedAmount", loading: "loading", query: "query", quickFilters: "quickFilters", selectedFiltersAmount: "selectedFiltersAmount" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1858
- };
1859
- PTableHeader = __decorate([
1860
- ProxyCmp({
1861
- inputs: ['actionButtonTemplate', 'actionIcon', 'actionLoading', 'actionText', 'activeQuickFilterIdentifier', 'canUseAction', 'enableAction', 'enableExport', 'enableFilter', 'enableFilterDesktop', 'enableSearch', 'filterButtonTemplate', 'itemsSelectedAmount', 'loading', 'query', 'quickFilters', 'selectedFiltersAmount']
1862
- })
1863
- ], PTableHeader);
1864
- export { PTableHeader };
1865
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTableHeader, decorators: [{
1866
- type: Component,
1867
- args: [{
1868
- selector: 'p-table-header',
1869
- changeDetection: ChangeDetectionStrategy.OnPush,
1870
- template: '<ng-content></ng-content>',
1871
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1872
- inputs: ['actionButtonTemplate', 'actionIcon', 'actionLoading', 'actionText', 'activeQuickFilterIdentifier', 'canUseAction', 'enableAction', 'enableExport', 'enableFilter', 'enableFilterDesktop', 'enableSearch', 'filterButtonTemplate', 'itemsSelectedAmount', 'loading', 'query', 'quickFilters', 'selectedFiltersAmount'],
1873
- }]
1874
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1875
- let PTableRow = class PTableRow {
1876
- z;
1877
- el;
1878
- constructor(c, r, z) {
1879
- this.z = z;
1880
- c.detach();
1881
- this.el = r.nativeElement;
1882
- }
1883
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTableRow, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1884
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PTableRow, selector: "p-table-row", inputs: { checked: "checked", enableHover: "enableHover", isLast: "isLast", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1885
- };
1886
- PTableRow = __decorate([
1887
- ProxyCmp({
1888
- inputs: ['checked', 'enableHover', 'isLast', 'variant']
1889
- })
1890
- ], PTableRow);
1891
- export { PTableRow };
1892
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTableRow, decorators: [{
1893
- type: Component,
1894
- args: [{
1895
- selector: 'p-table-row',
1896
- changeDetection: ChangeDetectionStrategy.OnPush,
1897
- template: '<ng-content></ng-content>',
1898
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1899
- inputs: ['checked', 'enableHover', 'isLast', 'variant'],
1900
- }]
1901
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1902
- let PTableRowActionsContainer = class PTableRowActionsContainer {
1903
- z;
1904
- el;
1905
- constructor(c, r, z) {
1906
- this.z = z;
1907
- c.detach();
1908
- this.el = r.nativeElement;
1909
- }
1910
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTableRowActionsContainer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1911
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PTableRowActionsContainer, selector: "p-table-row-actions-container", inputs: { checked: "checked" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1912
- };
1913
- PTableRowActionsContainer = __decorate([
1914
- ProxyCmp({
1915
- inputs: ['checked']
1916
- })
1917
- ], PTableRowActionsContainer);
1918
- export { PTableRowActionsContainer };
1919
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTableRowActionsContainer, decorators: [{
1920
- type: Component,
1921
- args: [{
1922
- selector: 'p-table-row-actions-container',
1923
- changeDetection: ChangeDetectionStrategy.OnPush,
1924
- template: '<ng-content></ng-content>',
1925
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1926
- inputs: ['checked'],
1927
- }]
1928
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1929
- let PToast = class PToast {
1930
- z;
1931
- el;
1932
- constructor(c, r, z) {
1933
- this.z = z;
1934
- c.detach();
1935
- this.el = r.nativeElement;
1936
- proxyOutputs(this, this.el, ['action']);
1937
- }
1938
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PToast, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1939
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PToast, selector: "p-toast", inputs: { actionIcon: "actionIcon", actionIconFlip: "actionIconFlip", actionIconRotate: "actionIconRotate", content: "content", enableAction: "enableAction", header: "header", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1940
- };
1941
- PToast = __decorate([
1942
- ProxyCmp({
1943
- inputs: ['actionIcon', 'actionIconFlip', 'actionIconRotate', 'content', 'enableAction', 'header', 'variant']
1944
- })
1945
- ], PToast);
1946
- export { PToast };
1947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PToast, decorators: [{
1948
- type: Component,
1949
- args: [{
1950
- selector: 'p-toast',
1951
- changeDetection: ChangeDetectionStrategy.OnPush,
1952
- template: '<ng-content></ng-content>',
1953
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1954
- inputs: ['actionIcon', 'actionIconFlip', 'actionIconRotate', 'content', 'enableAction', 'header', 'variant'],
1955
- }]
1956
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1957
- let PToggle = class PToggle {
1958
- z;
1959
- el;
1960
- constructor(c, r, z) {
1961
- this.z = z;
1962
- c.detach();
1963
- this.el = r.nativeElement;
1964
- proxyOutputs(this, this.el, ['checkedChange', 'indeterminateChange']);
1965
- }
1966
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PToggle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1967
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PToggle, selector: "p-toggle", inputs: { checked: "checked", disabled: "disabled", id: "id", name: "name", required: "required" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1968
- };
1969
- PToggle = __decorate([
1970
- ProxyCmp({
1971
- inputs: ['checked', 'disabled', 'id', 'name', 'required']
1972
- })
1973
- ], PToggle);
1974
- export { PToggle };
1975
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PToggle, decorators: [{
1976
- type: Component,
1977
- args: [{
1978
- selector: 'p-toggle',
1979
- changeDetection: ChangeDetectionStrategy.OnPush,
1980
- template: '<ng-content></ng-content>',
1981
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1982
- inputs: ['checked', 'disabled', 'id', 'name', 'required'],
1983
- }]
1984
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1985
- let PTooltip = class PTooltip {
1986
- z;
1987
- el;
1988
- constructor(c, r, z) {
1989
- this.z = z;
1990
- c.detach();
1991
- this.el = r.nativeElement;
1992
- proxyOutputs(this, this.el, ['isOpen']);
1993
- }
1994
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1995
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PTooltip, selector: "p-tooltip", inputs: { canManuallyClose: "canManuallyClose", content: "content", enableUserInput: "enableUserInput", offset: "offset", placement: "placement", show: "show", strategy: "strategy", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1996
- };
1997
- PTooltip = __decorate([
1998
- ProxyCmp({
1999
- inputs: ['canManuallyClose', 'content', 'enableUserInput', 'offset', 'placement', 'show', 'strategy', 'variant']
2000
- })
2001
- ], PTooltip);
2002
- export { PTooltip };
2003
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PTooltip, decorators: [{
2004
- type: Component,
2005
- args: [{
2006
- selector: 'p-tooltip',
2007
- changeDetection: ChangeDetectionStrategy.OnPush,
2008
- template: '<ng-content></ng-content>',
2009
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
2010
- inputs: ['canManuallyClose', 'content', 'enableUserInput', 'offset', 'placement', 'show', 'strategy', 'variant'],
2011
- }]
2012
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
2013
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3BhcGVybGVzcy9zcmMvbGliL3N0ZW5jaWwvY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFlaEUsSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVTtJQUVzQztJQURqRCxFQUFFLENBQXdCO0lBQ3BDLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQzt3R0FOVSxVQUFVOzRGQUFWLFVBQVUsaUtBSlgsMkJBQTJCOztBQUkxQixVQUFVO0lBVnRCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUM7S0FDL0QsQ0FBQztHQVFXLFVBQVUsQ0FPdEI7U0FQWSxVQUFVOzRGQUFWLFVBQVU7a0JBUHRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxF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USxHQUFkLE1BQU0sUUFBUTtJQUV3QztJQURqRCxFQUFFLENBQXNCO0lBQ2xDLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQzt3R0FOVSxRQUFROzRGQUFSLFFBQVEsNlBBSlQsMkJBQTJCOztBQUkxQixRQUFRO0lBVnBCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDO0tBQ2pILENBQUM7R0FRVyxRQUFRLENBT3BCO1NBUFksUUFBUTs0RkFBUixRQUFRO2tCQVBwQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQztpQkFDakgiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogYXV0by1nZW5lcmF0ZWQgYW5ndWxhciBkaXJlY3RpdmUgcHJveGllcyAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmltcG9ydCB7IENvbXBvbmVudHMgfSBmcm9tICdAcGFwZXJsZXNzL2NvcmUnO1xuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zZWFibGUnLCAnaGVhZGVyJywgJ29wZW4nLCAnb3BlbmFibGUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1hY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Nsb3NlYWJsZScsICdoZWFkZXInLCAnb3BlbicsICdvcGVuYWJsZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBBY2NvcmRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQQWNjb3JkaW9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaXNPcGVuJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBBY2NvcmRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlBBY2NvcmRpb24ge1xuICAvKipcbiAgICogT3BlbiBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIGlzT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXB0JywgJ2NhbWVyYVRvb2x0aXAnLCAnZGVsZXRlVG9vbHRpcCcsICdkb3dubG9hZFRvb2x0aXAnLCAnZW5hYmxlQ2FtZXJhT25Nb2JpbGUnLCAnZXJyb3InLCAnZmlsZUlkJywgJ2hlbHBlcicsICdsYWJlbCcsICdsb2FkaW5nJywgJ21vZGUnLCAncGxhY2Vob2xkZXInLCAncmVxdWlyZWQnLCAndXBsb2FkVG9vbHRpcCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1hdHRhY2htZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2NlcHQnLCAnY2FtZXJhVG9vbHRpcCcsICdkZWxldGVUb29sdGlwJywgJ2Rvd25sb2FkVG9vbHRpcCcsICdlbmFibGVDYW1lcmFPbk1vYmlsZScsICdlcnJvcicsICdmaWxlSWQnLCAnaGVscGVyJywgJ2xhYmVsJywgJ2xvYWRpbmcnLCAnbW9kZScsICdwbGFjZWhvbGRlcicsICdyZXF1aXJlZCcsICd1cGxvYWRUb29sdGlwJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBBdHRhY2htZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUEF0dGFjaG1lbnRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd1cGxvYWQnLCAnZG93bmxvYWQnLCAnZGVsZXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBBdHRhY2htZW50IGV4dGVuZHMgQ29tcG9uZW50cy5QQXR0YWNobWVudCB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIHVwbG9hZCBpcyBwcmVzc2VkXG4gICAqL1xuICB1cGxvYWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGZpbGU6IEZpbGU7IGZpbGVJZDogc3RyaW5nOyByZXN1bHQ6IHN0cmluZzsgfT4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbiBkb3dubG9hZCBpcyBwcmVzc2VkXG4gICAqL1xuICBkb3dubG9hZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gZGVsZXRlIGlzIHByZXNzZWRcbiAgICovXG4gIGRlbGV0ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVmYXVsdEltYWdlJywgJ2xldHRlcnMnLCAnc2l6ZScsICdzcmMnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1hdmF0YXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlZmF1bHRJbWFnZScsICdsZXR0ZXJzJywgJ3NpemUnLCAnc3JjJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEF2YXRhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBBdmF0YXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQXZhdGFyIGV4dGVuZHMgQ29tcG9uZW50cy5QQXZhdGFyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2V4dHJhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWF2YXRhci1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZXh0cmEnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEF2YXRhckdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUEF2YXRhckdyb3VwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUEF2YXRhckdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5QQXZhdGFyR3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXBwbHlCbHVyJywgJ2NsYXNzJywgJ2Nsb3NpbmcnLCAnc2Nyb2xsTG9jaycsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWJhY2tkcm9wJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcHBseUJsdXInLCAnY2xhc3MnLCAnY2xvc2luZycsICdzY3JvbGxMb2NrJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEJhY2tkcm9wIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUEJhY2tkcm9wRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2xpY2tlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQmFja2Ryb3AgZXh0ZW5kcyBDb21wb25lbnRzLlBCYWNrZHJvcCB7XG4gIC8qKlxuICAgKiBXaGVuIHRoZSBiYWNrZHJvcCBpcyBjbGlja2VkXG4gICAqL1xuICBjbGlja2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1iYWRnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQQmFkZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQQmFkZ2VFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQmFkZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlBCYWRnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYXMnLCAnYnV0dG9uR3JvdXBQb3NpdGlvbicsICdjaGV2cm9uJywgJ2NoZXZyb25Qb3NpdGlvbicsICdjbGFzcycsICdkaXNhYmxlZCcsICdlcnJvcicsICdocmVmJywgJ2ljb24nLCAnaWNvbkNsYXNzJywgJ2ljb25GbGlwJywgJ2ljb25Pbmx5JywgJ2ljb25Qb3NpdGlvbicsICdpY29uUm90YXRlJywgJ2luaGVyaXRUZXh0JywgJ2xhYmVsJywgJ2xvYWRpbmcnLCAnc2l6ZScsICd0YWJJbmRleCcsICd0YXJnZXQnLCAndHlwZScsICd1bmRlcmxpbmUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdhcycsICdidXR0b25Hcm91cFBvc2l0aW9uJywgJ2NoZXZyb24nLCAnY2hldnJvblBvc2l0aW9uJywgJ2NsYXNzJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hyZWYnLCAnaWNvbicsICdpY29uQ2xhc3MnLCAnaWNvbkZsaXAnLCAnaWNvbk9ubHknLCAnaWNvblBvc2l0aW9uJywgJ2ljb25Sb3RhdGUnLCAnaW5oZXJpdFRleHQnLCAnbGFiZWwnLCAnbG9hZGluZycsICdzaXplJywgJ3RhYkluZGV4JywgJ3RhcmdldCcsICd0eXBlJywgJ3VuZGVybGluZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQQnV0dG9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnb25DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5QQnV0dG9uIHtcbiAgLyoqXG4gICAqIEJ1dHRvbiBjbGljayBldmVudFxuICAgKi9cbiAgb25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1idXR0b24tZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEJ1dHRvbkdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUEJ1dHRvbkdyb3VwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUEJ1dHRvbkdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5QQnV0dG9uR3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZVdlZWtlbmRzJywgJ2Rpc2FibGVkRGF0ZXMnLCAnZW5hYmxlVG9kYXknLCAnbWF4RGF0ZScsICdtaW5EYXRlJywgJ21vZGUnLCAncHJlc2VsZWN0VG9kYXknLCAndG9kYXlUZXh0JywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtY2FsZW5kYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVXZWVrZW5kcycsICdkaXNhYmxlZERhdGVzJywgJ2VuYWJsZVRvZGF5JywgJ21heERhdGUnLCAnbWluRGF0ZScsICdtb2RlJywgJ3ByZXNlbGVjdFRvZGF5JywgJ3RvZGF5VGV4dCcsICd2YWx1ZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBDYWxlbmRhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBDYWxlbmRhckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZhbHVlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBDYWxlbmRhciBleHRlbmRzIENvbXBvbmVudHMuUENhbGVuZGFyIHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gdGhlIHZhbHVlIGNoYW5nZXNcbiAgICovXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWNhcmQtYm9keScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQQ2FyZEJvZHkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQQ2FyZEJvZHlFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ2FyZEJvZHkgZXh0ZW5kcyBDb21wb25lbnRzLlBDYXJkQm9keSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYmdDbGFzcycsICdib3JkZXInLCAnaG92ZXJhYmxlJywgJ3NoYWRvdycsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWNhcmQtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnYmdDbGFzcycsICdib3JkZXInLCAnaG92ZXJhYmxlJywgJ3NoYWRvdycsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBDYXJkQ29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUENhcmRDb250YWluZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ2FyZENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuUENhcmRDb250YWluZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGl2aWRlcicsICdoZWFkZXInLCAnaWNvbicsICdpY29uRmxpcCcsICdpY29uUm90YXRlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtY2FyZC1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RpdmlkZXInLCAnaGVhZGVyJywgJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvblJvdGF0ZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBDYXJkSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUENhcmRIZWFkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ2FyZEhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuUENhcmRIZWFkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpZCcsICdpbmRldGVybWluYXRlJywgJ25hbWUnLCAncmVxdWlyZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtY2hlY2tib3gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaWQnLCAnaW5kZXRlcm1pbmF0ZScsICduYW1lJywgJ3JlcXVpcmVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBDaGVja2JveCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBDaGVja2JveEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NoZWNrZWRDaGFuZ2UnLCAnaW5kZXRlcm1pbmF0ZUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnRzLlBDaGVja2JveCB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgY2hlY2tlZCBjaGFuZ2VzXG4gICAqL1xuICBjaGVja2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIGluZGV0ZXJtaW5hdGUgY2hhbmdlc1xuICAgKi9cbiAgaW5kZXRlcm1pbmF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZUF1dG9DZW50ZXInLCAnZGlzYWJsZURyYWcnLCAnZGlzYWJsZUluZGljYXRvckNsaWNrJywgJ2hpZGVNb2JpbGVJbmRpY2F0b3InXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtY29udGVudC1zbGlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVBdXRvQ2VudGVyJywgJ2Rpc2FibGVEcmFnJywgJ2Rpc2FibGVJbmRpY2F0b3JDbGljaycsICdoaWRlTW9iaWxlSW5kaWNhdG9yJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBDb250ZW50U2xpZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUENvbnRlbnRTbGlkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ29udGVudFNsaWRlciBleHRlbmRzIENvbXBvbmVudHMuUENvbnRlbnRTbGlkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncmV0dXJuVHlwZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1jcm9wcGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydyZXR1cm5UeXBlJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBDcm9wcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUENyb3BwZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2YWx1ZUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQQ3JvcHBlciBleHRlbmRzIENvbXBvbmVudHMuUENyb3BwZXIge1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlc1xuICAgKi9cbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZVdlZWtlbmRzJywgJ2Rpc2FibGVkJywgJ2Rpc2FibGVkRGF0ZXMnLCAnZW5hYmxlTmF0aXZlUGlja2VyJywgJ2VuYWJsZVRvZGF5JywgJ2Vycm9yJywgJ2Zvcm1hdCcsICdoZWxwZXInLCAnaGlkZUljb25XaGVuRmlsbGVkJywgJ2xhYmVsJywgJ2xvYWRpbmcnLCAnbWF4RGF0ZScsICdtaW5EYXRlJywgJ21vZGUnLCAncGxhY2Vob2xkZXInLCAncGxhY2VtZW50JywgJ3ByZWZpeCcsICdwcmVzZWxlY3RUb2RheScsICdyZXF1aXJlZCcsICdzaG93T3B0aW9uYWwnLCAnc2l6ZScsICdzdHJhdGVneScsICd0b2RheVRleHQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZGF0ZXBpY2tlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZVdlZWtlbmRzJywgJ2Rpc2FibGVkJywgJ2Rpc2FibGVkRGF0ZXMnLCAnZW5hYmxlTmF0aXZlUGlja2VyJywgJ2VuYWJsZVRvZGF5JywgJ2Vycm9yJywgJ2Zvcm1hdCcsICdoZWxwZXInLCAnaGlkZUljb25XaGVuRmlsbGVkJywgJ2xhYmVsJywgJ2xvYWRpbmcnLCAnbWF4RGF0ZScsICdtaW5EYXRlJywgJ21vZGUnLCAncGxhY2Vob2xkZXInLCAncGxhY2VtZW50JywgJ3ByZWZpeCcsICdwcmVzZWxlY3RUb2RheScsICdyZXF1aXJlZCcsICdzaG93T3B0aW9uYWwnLCAnc2l6ZScsICdzdHJhdGVneScsICd0b2RheVRleHQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUERhdGVwaWNrZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQRGF0ZXBpY2tlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZhbHVlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBEYXRlcGlja2VyIGV4dGVuZHMgQ29tcG9uZW50cy5QRGF0ZXBpY2tlciB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzXG4gICAqL1xuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGlnbkNvbnRlbnQnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1kaXZpZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGlnbkNvbnRlbnQnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQRGl2aWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBEaXZpZGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUERpdmlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBEaXZpZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FwcGx5Qmx1cicsICdiYWNrZHJvcENsaWNrQ2xvc2UnLCAnY2FuQ2xvc2UnLCAnaGVhZGVyJywgJ3Njcm9sbExvY2snLCAnc2hvdycsICdzaG93Q2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZHJhd2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcHBseUJsdXInLCAnYmFja2Ryb3BDbGlja0Nsb3NlJywgJ2NhbkNsb3NlJywgJ2hlYWRlcicsICdzY3JvbGxMb2NrJywgJ3Nob3cnLCAnc2hvd0Nsb3NlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBEcmF3ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQRHJhd2VyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2xvc2VDbGlja2VkJywgJ2Nsb3NlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRHJhd2VyIGV4dGVuZHMgQ29tcG9uZW50cy5QRHJhd2VyIHtcbiAgLyoqXG4gICAqIENsb3NlIGNsaWNrIGV2ZW50XG4gICAqL1xuICBjbG9zZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGV2ZW50OiBNb3VzZUV2ZW50OyBjYW5DbG9zZTogYm9vbGVhbjsgc291cmNlOiAndW5rbm93bicgfCAnYmFja2Ryb3AnIHwgJ2Nsb3NlJyB8ICdldmVudCcgfT4+O1xuICAvKipcbiAgICogQ2xvc2VkIGV2ZW50XG4gICAqL1xuICBjbG9zZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudWxsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWRyYXdlci1ib2R5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBEcmF3ZXJCb2R5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUERyYXdlckJvZHlFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRHJhd2VyQm9keSBleHRlbmRzIENvbXBvbmVudHMuUERyYXdlckJvZHkge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xvc2luZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1kcmF3ZXItY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbG9zaW5nJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBEcmF3ZXJDb250YWluZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQRHJhd2VyQ29udGFpbmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUERyYXdlckNvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuUERyYXdlckNvbnRhaW5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaG93Q2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZHJhd2VyLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2hvd0Nsb3NlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBEcmF3ZXJIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQRHJhd2VySGVhZGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2xvc2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUERyYXdlckhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuUERyYXdlckhlYWRlciB7XG4gIC8qKlxuICAgKiBDbG9zZSBjbGljayBldmVudFxuICAgKi9cbiAgY2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsbG93T3ZlcmZsb3cnLCAnYXBwbHlDaGV2cm9uJywgJ2FwcGx5RnVsbFdpZHRoJywgJ2FwcGx5TWF4V2lkdGgnLCAnY2hldnJvbkRpcmVjdGlvbicsICdjaGV2cm9uUG9zaXRpb24nLCAnY29udGFpbmVyQ2xhc3MnLCAnZGlzYWJsZVRyaWdnZXJDbGljaycsICdpbnNpZGVDbGljaycsICdpc0RhdGVwaWNrZXInLCAnbWFudWFsJywgJ29mZnNldCcsICdwbGFjZW1lbnQnLCAnc2Nyb2xsYWJsZScsICdzaG93JywgJ3N0cmF0ZWd5JywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsbG93T3ZlcmZsb3cnLCAnYXBwbHlDaGV2cm9uJywgJ2FwcGx5RnVsbFdpZHRoJywgJ2FwcGx5TWF4V2lkdGgnLCAnY2hldnJvbkRpcmVjdGlvbicsICdjaGV2cm9uUG9zaXRpb24nLCAnY29udGFpbmVyQ2xhc3MnLCAnZGlzYWJsZVRyaWdnZXJDbGljaycsICdpbnNpZGVDbGljaycsICdpc0RhdGVwaWNrZXInLCAnbWFudWFsJywgJ29mZnNldCcsICdwbGFjZW1lbnQnLCAnc2Nyb2xsYWJsZScsICdzaG93JywgJ3N0cmF0ZWd5JywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUERyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUERyb3Bkb3duRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaXNPcGVuJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuUERyb3Bkb3duIHtcbiAgLyoqXG4gICAqIE9wZW4gY2hhbmdlIGV2ZW50XG4gICAqL1xuICBpc09wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsbG93T3ZlcmZsb3cnLCAnY2xhc3MnLCAnZnVsbFdpZHRoJywgJ21heFdpZHRoJywgJ3Njcm9sbGFibGUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1kcm9wZG93bi1tZW51LWNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWxsb3dPdmVyZmxvdycsICdjbGFzcycsICdmdWxsV2lkdGgnLCAnbWF4V2lkdGgnLCAnc2Nyb2xsYWJsZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBEcm9wZG93bk1lbnVDb250YWluZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQRHJvcGRvd25NZW51Q29udGFpbmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUERyb3Bkb3duTWVudUNvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuUERyb3Bkb3duTWVudUNvbnRhaW5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYXV0b0hlaWdodCcsICdjaGVja2JveCcsICdkaXNhYmxlZCcsICdlbmFibGVIb3ZlcicsICdlbmFibGVUZXh0V3JhcCcsICdpY29uJywgJ2ljb25XYXZlJywgJ3VzZUNvbnRhaW5lcicsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWRyb3Bkb3duLW1lbnUtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2F1dG9IZWlnaHQnLCAnY2hlY2tib3gnLCAnZGlzYWJsZWQnLCAnZW5hYmxlSG92ZXInLCAnZW5hYmxlVGV4dFdyYXAnLCAnaWNvbicsICdpY29uV2F2ZScsICd1c2VDb250YWluZXInLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQRHJvcGRvd25NZW51SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBEcm9wZG93bk1lbnVJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUERyb3Bkb3duTWVudUl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlBEcm9wZG93bk1lbnVJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGlvbkljb24nLCAnYWN0aW9uSWNvblBvc2l0aW9uJywgJ2FjdGlvbkxvYWRpbmcnLCAnYWN0aW9uVGV4dCcsICdhY3Rpb25WYXJpYW50JywgJ2NvbnRlbnQnLCAnZW5hYmxlQWN0aW9uJywgJ2hlYWRlcicsICdpbGx1c3RyYXRpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZW1wdHktc3RhdGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGlvbkljb24nLCAnYWN0aW9uSWNvblBvc2l0aW9uJywgJ2FjdGlvbkxvYWRpbmcnLCAnYWN0aW9uVGV4dCcsICdhY3Rpb25WYXJpYW50JywgJ2NvbnRlbnQnLCAnZW5hYmxlQWN0aW9uJywgJ2hlYWRlcicsICdpbGx1c3RyYXRpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgUEVtcHR5U3RhdGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQRW1wdHlTdGF0ZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2FjdGlvbiddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQRW1wdHlTdGF0ZSBleHRlbmRzIENvbXBvbmVudHMuUEVtcHR5U3RhdGUge1xuICAvKipcbiAgICogVGhlIHRleHQgb24gdGhlIGFjdGlvbiBidXR0b25cbiAgICovXG4gIGFjdGlvbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWRkVGV4dCcsICdhbGlnbicsICdhdXRvU2hvd0Vycm9yJywgJ2F1dG9mb2N1cycsICdkaXNhYmxlZCcsICdlcnJvcicsICdlcnJvclBsYWNlbWVudCcsICdmb2N1c01ldGhvZCcsICdmb2N1c2VkJywgJ2ZvcmNlU2hvd1Rvb2x0aXAnLCAnaGVscGVyJywgJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvblBvc2l0aW9uJywgJ2ljb25Sb3RhdGUnLCAnaWQnLCAnbGFiZWwnLCAnbG9hZGluZycsICdvcHRpb25hbFRlbXBsYXRlJywgJ3BsYWNlaG9sZGVyJywgJ3ByZWZpeCcsICdwcm9wZXJ0aWVzJywgJ3JlcXVpcmVkJywgJ3NlbGVjdEFsbE9uRm9jdXMnLCAnc2hvd0FkZE9uRW1wdHknLCAnc2hvd09wdGlvbmFsJywgJ3NpemUnLCAnc3VmZml4JywgJ3R5cGUnLCAndmFsdWUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1maWVsZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWRkVGV4dCcsICdhbGlnbicsICdhdXRvU2hvd0Vycm9yJywgJ2F1dG9mb2N1cycsICdkaXNhYmxlZCcsICdlcnJvcicsICdlcnJvclBsYWNlbWVudCcsICdmb2N1c01ldGhvZCcsICdmb2N1c2VkJywgJ2ZvcmNlU2hvd1Rvb2x0aXAnLCAnaGVscGVyJywgJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvblBvc2l0aW9uJywgJ2ljb25Sb3RhdGUnLCAnaWQnLCAnbGFiZWwnLCAnbG9hZGluZycsICdvcHRpb25hbFRlbXBsYXRlJywgJ3BsYWNlaG9sZGVyJywgJ3ByZWZpeCcsICdwcm9wZXJ0aWVzJywgJ3JlcXVpcmVkJywgJ3NlbGVjdEFsbE9uRm9jdXMnLCAnc2hvd0FkZE9uRW1wdHknLCAnc2hvd09wdGlvbmFsJywgJ3NpemUnLCAnc3VmZml4JywgJ3R5cGUnLCAndmFsdWUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQRmllbGQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQRmllbGRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2YWx1ZUNoYW5nZScsICdpbnB1dFJlZkNoYW5nZScsICdhZGQnLCAnZW50ZXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUEZpZWxkIGV4dGVuZHMgQ29tcG9uZW50cy5QRmllbGQge1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIHZhbHVlIGNoYW5nZXNcbiAgICovXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nIHwgbnVtYmVyPj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgaW5wdXQgcmVmIGNoYW5nZXNcbiAgICovXG4gIGlucHV0UmVmQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSB2YWx1ZSBjaGFuZ2VzXG4gICAqL1xuICBhZGQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgdXNlciBwcmVzc2VzIGVudGVyIGFuZCB0aGUgZmllbGQgaXMgZm9jdXNlZFxuICAgKi9cbiAgZW50ZXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmcgfCBudW1iZXI+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxpZ24nLCAnZXJyb3InLCAnZXJyb3JQbGFjZW1lbnQnLCAnZm9yY2VTaG93VG9vbHRpcCcsICdoZWxwZXInLCAnaWQnLCAnbGFiZWwnLCAnbG9hZGluZycsICdsb2FkaW5nU2l6ZScsICdvcHRpb25hbFRlbXBsYXRlJywgJ3JlcXVpcmVkJywgJ3Nob3dPcHRpb25hbCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWZpZWxkLWNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWxpZ24nLCAnZXJyb3InLCAnZXJyb3JQbGFjZW1lbnQnLCAnZm9yY2VTaG93VG9vbHRpcCcsICdoZWxwZXInLCAnaWQnLCAnbGFiZWwnLCAnbG9hZGluZycsICdsb2FkaW5nU2l6ZScsICdvcHRpb25hbFRlbXBsYXRlJywgJ3JlcXVpcmVkJywgJ3Nob3dPcHRpb25hbCcsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBGaWVsZENvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBGaWVsZENvbnRhaW5lckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2ZvY3VzJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBGaWVsZENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuUEZpZWxkQ29udGFpbmVyIHtcblxuICBmb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW1vdW50JywgJ2Ftb3VudFNlbGVjdGVkVGVtcGxhdGUnLCAnZW5hYmxlQW1vdW50U2VsZWN0ZWQnLCAnZW5hYmxlQ2xvc2UnLCAndXNlZEluVGFibGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZmxvYXRpbmctbWVudS1jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Ftb3VudCcsICdhbW91bnRTZWxlY3RlZFRlbXBsYXRlJywgJ2VuYWJsZUFtb3VudFNlbGVjdGVkJywgJ2VuYWJsZUNsb3NlJywgJ3VzZWRJblRhYmxlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBGbG9hdGluZ01lbnVDb250YWluZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQRmxvYXRpbmdNZW51Q29udGFpbmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2xvc2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUEZsb2F0aW5nTWVudUNvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuUEZsb2F0aW5nTWVudUNvbnRhaW5lciB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgY2xvc2UgYnV0dG9uIGlzIGNsaWNrZWRcbiAgICovXG4gIGNsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdob3ZlcicsICdpY29uJywgJ2ljb25GbGlwJywgJ2ljb25Qb3NpdGlvbicsICdpY29uUm90YXRlJywgJ2xvYWRpbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtZmxvYXRpbmctbWVudS1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdob3ZlcicsICdpY29uJywgJ2ljb25GbGlwJywgJ2ljb25Qb3NpdGlvbicsICdpY29uUm90YXRlJywgJ2xvYWRpbmcnXSxcbn0pXG5leHBvcnQgY2xhc3MgUEZsb2F0aW5nTWVudUl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQRmxvYXRpbmdNZW51SXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBGbG9hdGluZ01lbnVJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5QRmxvYXRpbmdNZW51SXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydwbGFjZW1lbnQnLCAnc3RyYXRlZ3knXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtaGVscGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydwbGFjZW1lbnQnLCAnc3RyYXRlZ3knXSxcbn0pXG5leHBvcnQgY2xhc3MgUEhlbHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBIZWxwZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQSGVscGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QSGVscGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2liYW4nLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1pYmFuLWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2liYW4nLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQSWJhbkljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQSWJhbkljb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQSWJhbkljb24gZXh0ZW5kcyBDb21wb25lbnRzLlBJYmFuSWNvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydmbGlwJywgJ3JvdGF0ZScsICdzaXplJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZmxpcCcsICdyb3RhdGUnLCAnc2l6ZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUEljb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQSWNvbiBleHRlbmRzIENvbXBvbmVudHMuUEljb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1pbGx1c3RyYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUElsbHVzdHJhdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBJbGx1c3RyYXRpb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQSWxsdXN0cmF0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5QSWxsdXN0cmF0aW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtaWxsdXN0cmF0aW9uLWRlcHJlY2F0ZWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUElsbHVzdHJhdGlvbkRlcHJlY2F0ZWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQSWxsdXN0cmF0aW9uRGVwcmVjYXRlZEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBJbGx1c3RyYXRpb25EZXByZWNhdGVkIGV4dGVuZHMgQ29tcG9uZW50cy5QSWxsdXN0cmF0aW9uRGVwcmVjYXRlZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zZWFibGUnLCAnY29udGVudCcsICdoZWFkZXInLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1pbmZvLXBhbmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbG9zZWFibGUnLCAnY29udGVudCcsICdoZWFkZXInLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQSW5mb1BhbmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUEluZm9QYW5lbEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Nsb3NlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQSW5mb1BhbmVsIGV4dGVuZHMgQ29tcG9uZW50cy5QSW5mb1BhbmVsIHtcbiAgLyoqXG4gICAqIFdoZW4gdGhlIGJhY2tkcm9wIGlzIGNsaWNrZWRcbiAgICovXG4gIGNsb3NlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaWNvbicsICdpY29uRmxpcCcsICdpY29uT25seScsICdpY29uUm90YXRlJywgJ2tlZXBNb2JpbGVDb250ZW50JywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbGFiZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ljb24nLCAnaWNvbkZsaXAnLCAnaWNvbk9ubHknLCAnaWNvblJvdGF0ZScsICdrZWVwTW9iaWxlQ29udGVudCcsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBMYWJlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBMYWJlbEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBMYWJlbCBleHRlbmRzIENvbXBvbmVudHMuUExhYmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbGF5b3V0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBMYXlvdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQTGF5b3V0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2Nyb2xsJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBMYXlvdXQgZXh0ZW5kcyBDb21wb25lbnRzLlBMYXlvdXQge1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIGxheW91dCBpcyBiZWluZyBzY3JvbGxlZFxuICAgKi9cbiAgc2Nyb2xsOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWxpc3RpbmcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUExpc3Rpbmcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQTGlzdGluZ0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBMaXN0aW5nIGV4dGVuZHMgQ29tcG9uZW50cy5QTGlzdGluZyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpY29uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWxpc3RpbmctaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaWNvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBQTGlzdGluZ0l0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQTGlzdGluZ0l0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTGlzdGluZ0l0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlBMaXN0aW5nSXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1saXN0aW5nLWxpbmUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUExpc3RpbmdMaW5lIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUExpc3RpbmdMaW5lRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUExpc3RpbmdMaW5lIGV4dGVuZHMgQ29tcG9uZW50cy5QTGlzdGluZ0xpbmUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAnbW9kYWxEZXNjcmlwdGlvbicsICdtb2RhbFRpdGxlJywgJ3Nob3cnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1sb2FkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ21vZGFsRGVzY3JpcHRpb24nLCAnbW9kYWxUaXRsZScsICdzaG93JywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUExvYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBMb2FkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTG9hZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5QTG9hZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FwcGx5Qmx1cicsICdiYWNrZHJvcENsaWNrQ2xvc2UnLCAnaGVhZGVyJywgJ3Njcm9sbExvY2snLCAnc2hvdycsICdzaG93Q2xvc2UnLCAnc2hvd01vYmlsZUZvb3RlcicsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLW1vZGFsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcHBseUJsdXInLCAnYmFja2Ryb3BDbGlja0Nsb3NlJywgJ2hlYWRlcicsICdzY3JvbGxMb2NrJywgJ3Nob3cnLCAnc2hvd0Nsb3NlJywgJ3Nob3dNb2JpbGVGb290ZXInLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBQTW9kYWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQTW9kYWxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG9zZUNsaWNrZWQnLCAnY2xvc2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBNb2RhbCBleHRlbmRzIENvbXBvbmVudHMuUE1vZGFsIHtcbiAgLyoqXG4gICAqIENsb3NlIGNsaWNrIGV2ZW50XG4gICAqL1xuICBjbG9zZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBDbG9zZWQgZXZlbnRcbiAgICovXG4gIGNsb3NlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydyb3VuZGVkQm90dG9tJywgJ3JvdW5kZWRUb3AnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbW9kYWwtYm9keScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsncm91bmRlZEJvdHRvbScsICdyb3VuZGVkVG9wJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBNb2RhbEJvZHkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQTW9kYWxCb2R5RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUE1vZGFsQm9keSBleHRlbmRzIENvbXBvbmVudHMuUE1vZGFsQm9keSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zaW5nJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbW9kYWwtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbG9zaW5nJywgJ3NpemUnXSxcbn0pXG5leHBvcnQgY2xhc3MgUE1vZGFsQ29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUE1vZGFsQ29udGFpbmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUE1vZGFsQ29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5QTW9kYWxDb250YWluZXIge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtbW9kYWwtZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBNb2RhbEZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBNb2RhbEZvb3RlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBNb2RhbEZvb3RlciBleHRlbmRzIENvbXBvbmVudHMuUE1vZGFsRm9vdGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3Nob3dDbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1tb2RhbC1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3Nob3dDbG9zZSddLFxufSlcbmV4cG9ydCBjbGFzcyBQTW9kYWxIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQTW9kYWxIZWFkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG9zZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTW9kYWxIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBNb2RhbEhlYWRlciB7XG4gIC8qKlxuICAgKiBDbG9zZSBjbGljayBldmVudFxuICAgKi9cbiAgY2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLW5hdmJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQTmF2YmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUE5hdmJhckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBOYXZiYXIgZXh0ZW5kcyBDb21wb25lbnRzLlBOYXZiYXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2FwcGx5RnVsbFdpZHRoJywgJ2FzJywgJ2NsYXNzJywgJ2NvdW50ZXInLCAnaHJlZicsICdpY29uJywgJ2xvYWRpbmcnLCAndGFyZ2V0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLW5hdmlnYXRpb24taXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2FwcGx5RnVsbFdpZHRoJywgJ2FzJywgJ2NsYXNzJywgJ2NvdW50ZXInLCAnaHJlZicsICdpY29uJywgJ2xvYWRpbmcnLCAndGFyZ2V0J10sXG59KVxuZXhwb3J0IGNsYXNzIFBOYXZpZ2F0aW9uSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBOYXZpZ2F0aW9uSXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBOYXZpZ2F0aW9uSXRlbSBleHRlbmRzIENvbXBvbmVudHMuUE5hdmlnYXRpb25JdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRlciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1uYXZpZ2F0aW9uLXNlY3Rpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRlciddLFxufSlcbmV4cG9ydCBjbGFzcyBQTmF2aWdhdGlvblNlY3Rpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQTmF2aWdhdGlvblNlY3Rpb24gZXh0ZW5kcyBDb21wb25lbnRzLlBOYXZpZ2F0aW9uU2VjdGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1uYXZpZ2F0aW9uLXRpdGxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBOYXZpZ2F0aW9uVGl0bGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQTmF2aWdhdGlvblRpdGxlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUE5hdmlnYXRpb25UaXRsZSBleHRlbmRzIENvbXBvbmVudHMuUE5hdmlnYXRpb25UaXRsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydlbmFibGVQYWdpbmF0aW9uUGFnZXMnLCAnZW5hYmxlUGFnaW5hdGlvblNpemUnLCAnaGlkZU9uU2luZ2xlUGFnZScsICdwYWdlJywgJ3BhZ2VTaXplJywgJ3BhZ2VTaXplT3B0aW9ucycsICd0b3RhbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1wYWdpbmF0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydlbmFibGVQYWdpbmF0aW9uUGFnZXMnLCAnZW5hYmxlUGFnaW5hdGlvblNpemUnLCAnaGlkZU9uU2luZ2xlUGFnZScsICdwYWdlJywgJ3BhZ2VTaXplJywgJ3BhZ2VTaXplT3B0aW9ucycsICd0b3RhbCddLFxufSlcbmV4cG9ydCBjbGFzcyBQUGFnaW5hdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBQYWdpbmF0aW9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncGFnZUNoYW5nZScsICdwYWdlU2l6ZUNoYW5nZScsICdwYWdlc0NoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQUGFnaW5hdGlvbiBleHRlbmRzIENvbXBvbmVudHMuUFBhZ2luYXRpb24ge1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIHBhZ2UgY2hhbmdlc1xuICAgKi9cbiAgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIHBhZ2UgY2hhbmdlc1xuICAgKi9cbiAgcGFnZVNpemVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgLyoqXG4gICAqIFRoZSBwYWdlcyB0aGF0IHdlcmUgZ2VuZXJhdGVkXG4gICAqL1xuICBwYWdlc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkcm9wZG93blBhZ2VUZW1wbGF0ZScsICdoaWRlT25TaW5nbGVQYWdlJywgJ3BhZ2UnLCAncGFnZVNpemUnLCAndG90YWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtcGFnaW5hdGlvbi1wYWdlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZHJvcGRvd25QYWdlVGVtcGxhdGUnLCAnaGlkZU9uU2luZ2xlUGFnZScsICdwYWdlJywgJ3BhZ2VTaXplJywgJ3RvdGFsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBQYWdpbmF0aW9uUGFnZXMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQUGFnaW5hdGlvblBhZ2VzRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncGFnZUNoYW5nZScsICdwYWdlc0NoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQUGFnaW5hdGlvblBhZ2VzIGV4dGVuZHMgQ29tcG9uZW50cy5QUGFnaW5hdGlvblBhZ2VzIHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSBwYWdlIGNoYW5nZXNcbiAgICovXG4gIHBhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgLyoqXG4gICAqIFRoZSBwYWdlcyB0aGF0IHdlcmUgZ2VuZXJhdGVkXG4gICAqL1xuICBwYWdlc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnZGlzYWJsZWQnLCAnaG92ZXInLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1wYWdpbmF0aW9uLXBhZ2VzLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdkaXNhYmxlZCcsICdob3ZlcicsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBQYWdpbmF0aW9uUGFnZXNJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFBhZ2luYXRpb25QYWdlc0l0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQUGFnaW5hdGlvblBhZ2VzSXRlbSBleHRlbmRzIENvbXBvbmVudHMuUFBhZ2luYXRpb25QYWdlc0l0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZGVuJywgJ2l0ZW1UZW1wbGF0ZScsICdzaXplJywgJ3NpemVPcHRpb25zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXBhZ2luYXRpb24tc2l6ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGlkZGVuJywgJ2l0ZW1UZW1wbGF0ZScsICdzaXplJywgJ3NpemVPcHRpb25zJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBQYWdpbmF0aW9uU2l6ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBQYWdpbmF0aW9uU2l6ZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpemVDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFBhZ2luYXRpb25TaXplIGV4dGVuZHMgQ29tcG9uZW50cy5QUGFnaW5hdGlvblNpemUge1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIHNpemUgY2hhbmdlc1xuICAgKi9cbiAgc2l6ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkcm9wZG93bkxvY2F0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXByb2ZpbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Ryb3Bkb3duTG9jYXRpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgUFByb2ZpbGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQUHJvZmlsZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBQcm9maWxlIGV4dGVuZHMgQ29tcG9uZW50cy5QUHJvZmlsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2lkJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtcmFkaW8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaWQnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBQUmFkaW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQUmFkaW9FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjaGVja2VkQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBSYWRpbyBleHRlbmRzIENvbXBvbmVudHMuUFJhZGlvIHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSBjaGVja2VkIGNoYW5nZXNcbiAgICovXG4gIGNoZWNrZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ21heCcsICdtaW4nLCAnc3RlcCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1yYW5nZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbWF4JywgJ21pbicsICdzdGVwJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBSYW5nZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBSYW5nZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZhbHVlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBSYW5nZSBleHRlbmRzIENvbXBvbmVudHMuUFJhbmdlIHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSB2YWx1ZSBjaGFuZ2VzXG4gICAqL1xuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1zZWdtZW50LWNvbnRhaW5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQU2VnbWVudENvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBTZWdtZW50Q29udGFpbmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFNlZ21lbnRDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBTZWdtZW50Q29udGFpbmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdpY29uJywgJ2ljb25GbGlwJywgJ2ljb25Pbmx5JywgJ2ljb25Sb3RhdGUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1zZWdtZW50LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdpY29uJywgJ2ljb25GbGlwJywgJ2ljb25Pbmx5JywgJ2ljb25Sb3RhdGUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQU2VnbWVudEl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQU2VnbWVudEl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQU2VnbWVudEl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlBTZWdtZW50SXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhZGRJdGVtVGV4dCcsICdhcHBseUNsYXNzT25TZWxlY3RlZEl0ZW0nLCAnYXBwbHlDbGFzc09uU2VsZWN0ZWRJdGVtSW5NZW51JywgJ2FzeW5jRmlsdGVyJywgJ2F1dG9TZWxlY3RGaXJzdCcsICdhdXRvY29tcGxldGVQbGFjZWhvbGRlcicsICdhdmF0YXJLZXknLCAnYXZhdGFyTGV0dGVyc0tleScsICdjbGFzc0tleScsICdkaXNhYmxlZCcsICdkaXNwbGF5S2V5JywgJ2Ryb3Bkb3duRGlzcGxheUtleScsICdlbXB0eVN0YXRlVGV4dCcsICdlbmFibGVBdXRvY29tcGxldGUnLCAnZW5hYmxlU2VsZWN0QWxsJywgJ2VuYWJsZVRleHRXcmFwJywgJ2Vycm9yJywgJ2hlbHBlcicsICdpY29uJywgJ2ljb25DbGFzc0tleScsICdpY29uS2V5JywgJ2lkZW50aWZpZXJLZXknLCAnaXRlbXMnLCAnbGFiZWwnLCAnbG9hZGluZycsICdtYXhEaXNwbGF5ZWRJdGVtcycsICdtdWx0aScsICdwbGFjZWhvbGRlcicsICdwcmVmaXgnLCAncXVlcnknLCAncXVlcnlLZXknLCAncmVxdWlyZWQnLCAnc2VsZWN0QWxsSWNvbicsICdzZWxlY3RBbGxUZXh0JywgJ3NlbGVjdGlvbkRpc3BsYXlLZXknLCAnc2hvd0FkZEl0ZW0nLCAnc2hvd0NoZXZyb24nLCAnc2hvd0ljb25PblNlbGVjdGVkSXRlbScsICdzaG93T3B0aW9uYWwnLCAnc2l6ZScsICdzdHJhdGVneScsICd2YWx1ZScsICd2YWx1ZUtleSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC1zZWxlY3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FkZEl0ZW1UZXh0JywgJ2FwcGx5Q2xhc3NPblNlbGVjdGVkSXRlbScsICdhcHBseUNsYXNzT25TZWxlY3RlZEl0ZW1Jbk1lbnUnLCAnYXN5bmNGaWx0ZXInLCAnYXV0b1NlbGVjdEZpcnN0JywgJ2F1dG9jb21wbGV0ZVBsYWNlaG9sZGVyJywgJ2F2YXRhcktleScsICdhdmF0YXJMZXR0ZXJzS2V5JywgJ2NsYXNzS2V5JywgJ2Rpc2FibGVkJywgJ2Rpc3BsYXlLZXknLCAnZHJvcGRvd25EaXNwbGF5S2V5JywgJ2VtcHR5U3RhdGVUZXh0JywgJ2VuYWJsZUF1dG9jb21wbGV0ZScsICdlbmFibGVTZWxlY3RBbGwnLCAnZW5hYmxlVGV4dFdyYXAnLCAnZXJyb3InLCAnaGVscGVyJywgJ2ljb24nLCAnaWNvbkNsYXNzS2V5JywgJ2ljb25LZXknLCAnaWRlbnRpZmllcktleScsICdpdGVtcycsICdsYWJlbCcsICdsb2FkaW5nJywgJ21heERpc3BsYXllZEl0ZW1zJywgJ211bHRpJywgJ3BsYWNlaG9sZGVyJywgJ3ByZWZpeCcsICdxdWVyeScsICdxdWVyeUtleScsICdyZXF1aXJlZCcsICdzZWxlY3RBbGxJY29uJywgJ3NlbGVjdEFsbFRleHQnLCAnc2VsZWN0aW9uRGlzcGxheUtleScsICdzaG93QWRkSXRlbScsICdzaG93Q2hldnJvbicsICdzaG93SWNvbk9uU2VsZWN0ZWRJdGVtJywgJ3Nob3dPcHRpb25hbCcsICdzaXplJywgJ3N0cmF0ZWd5JywgJ3ZhbHVlJywgJ3ZhbHVlS2V5J10sXG59KVxuZXhwb3J0IGNsYXNzIFBTZWxlY3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQU2VsZWN0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncXVlcnlDaGFuZ2UnLCAndmFsdWVDaGFuZ2UnLCAnc2VsZWN0QWxsQ2hhbmdlJywgJ2Ryb3Bkb3duU2hvd24nLCAnYWRkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBTZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLlBTZWxlY3Qge1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgcXVlcnkgb2YgdGhlIGF1dG9jb21wbGV0ZSBjaGFuZ2VzXG4gICAqL1xuICBxdWVyeUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlc1xuICAgKi9cbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gdGhlIHNlbGVjdCBhbGwgaXRlbSBoYXMgYmVlbiBzZWxlY3RlZCBvciBub3RcbiAgICovXG4gIHNlbGVjdEFsbENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgZHJvcGRvd24gc2hvd3NcbiAgICovXG4gIGRyb3Bkb3duU2hvd246IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gdGhlIGFkZCBpdGVtIGlzIGNsaWNrZWRcbiAgICovXG4gIGFkZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXNtaWxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBTbWlsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBTbWlsZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBTbWlsZSBleHRlbmRzIENvbXBvbmVudHMuUFNtaWxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZVN0ZXAnLCAnYWxpZ24nLCAnY29udGVudFBvc2l0aW9uJywgJ2RpcmVjdGlvbicsICdlbmFibGVBdXRvU3RhdHVzJywgJ3N0ZXBzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZVN0ZXAnLCAnYWxpZ24nLCAnY29udGVudFBvc2l0aW9uJywgJ2RpcmVjdGlvbicsICdlbmFibGVBdXRvU3RhdHVzJywgJ3N0ZXBzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBTdGVwcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFN0ZXBwZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQU3RlcHBlciBleHRlbmRzIENvbXBvbmVudHMuUFN0ZXBwZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2FsaWduJywgJ2NvbnRlbnRQb3NpdGlvbicsICdkaXJlY3Rpb24nLCAnZmluaXNoZWQnLCAnbnVtYmVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXN0ZXBwZXItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2FsaWduJywgJ2NvbnRlbnRQb3NpdGlvbicsICdkaXJlY3Rpb24nLCAnZmluaXNoZWQnLCAnbnVtYmVyJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBTdGVwcGVySXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBTdGVwcGVySXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBTdGVwcGVySXRlbSBleHRlbmRzIENvbXBvbmVudHMuUFN0ZXBwZXJJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdkaXJlY3Rpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Atc3RlcHBlci1saW5lJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnZGlyZWN0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBTdGVwcGVyTGluZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBTdGVwcGVyTGluZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBTdGVwcGVyTGluZSBleHRlbmRzIENvbXBvbmVudHMuUFN0ZXBwZXJMaW5lIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRhYi1jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUFRhYkNvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBUYWJDb250YWluZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQVGFiQ29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5QVGFiQ29udGFpbmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC10YWItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBUYWJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFRhYkl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQVGFiSXRlbSBleHRlbmRzIENvbXBvbmVudHMuUFRhYkl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtdGFibGUtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBUYWJsZUNvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBUYWJsZUNvbnRhaW5lckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUYWJsZUNvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuUFRhYmxlQ29udGFpbmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2VuYWJsZVBhZ2luYXRpb25QYWdlcycsICdlbmFibGVQYWdpbmF0aW9uU2l6ZScsICdoaWRlT25TaW5nbGVQYWdlJywgJ2xvYWRpbmcnLCAncGFnZScsICdwYWdlU2l6ZScsICdwYWdlU2l6ZU9wdGlvbnMnLCAndGFibGVIZWFkZXJIYXNBY3Rpb24nLCAndG90YWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtdGFibGUtZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydlbmFibGVQYWdpbmF0aW9uUGFnZXMnLCAnZW5hYmxlUGFnaW5hdGlvblNpemUnLCAnaGlkZU9uU2luZ2xlUGFnZScsICdsb2FkaW5nJywgJ3BhZ2UnLCAncGFnZVNpemUnLCAncGFnZVNpemVPcHRpb25zJywgJ3RhYmxlSGVhZGVySGFzQWN0aW9uJywgJ3RvdGFsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBUYWJsZUZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBUYWJsZUZvb3RlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3BhZ2VDaGFuZ2UnLCAncGFnZVNpemVDaGFuZ2UnLCAnaGlkZGVuQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUYWJsZUZvb3RlciBleHRlbmRzIENvbXBvbmVudHMuUFRhYmxlRm9vdGVyIHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSBwYWdlIGNoYW5nZXNcbiAgICovXG4gIHBhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSBwYWdlIGNoYW5nZXNcbiAgICovXG4gIHBhZ2VTaXplQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgZm9vdGVyIGlzIGhpZGRlbiBvciBub2dcbiAgICovXG4gIGhpZGRlbkNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aW9uQnV0dG9uVGVtcGxhdGUnLCAnYWN0aW9uSWNvbicsICdhY3Rpb25Mb2FkaW5nJywgJ2FjdGlvblRleHQnLCAnYWN0aXZlUXVpY2tGaWx0ZXJJZGVudGlmaWVyJywgJ2NhblVzZUFjdGlvbicsICdlbmFibGVBY3Rpb24nLCAnZW5hYmxlRXhwb3J0JywgJ2VuYWJsZUZpbHRlcicsICdlbmFibGVGaWx0ZXJEZXNrdG9wJywgJ2VuYWJsZVNlYXJjaCcsICdmaWx0ZXJCdXR0b25UZW1wbGF0ZScsICdpdGVtc1NlbGVjdGVkQW1vdW50JywgJ2xvYWRpbmcnLCAncXVlcnknLCAncXVpY2tGaWx0ZXJzJywgJ3NlbGVjdGVkRmlsdGVyc0Ftb3VudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC10YWJsZS1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGlvbkJ1dHRvblRlbXBsYXRlJywgJ2FjdGlvbkljb24nLCAnYWN0aW9uTG9hZGluZycsICdhY3Rpb25UZXh0JywgJ2FjdGl2ZVF1aWNrRmlsdGVySWRlbnRpZmllcicsICdjYW5Vc2VBY3Rpb24nLCAnZW5hYmxlQWN0aW9uJywgJ2VuYWJsZUV4cG9ydCcsICdlbmFibGVGaWx0ZXInLCAnZW5hYmxlRmlsdGVyRGVza3RvcCcsICdlbmFibGVTZWFyY2gnLCAnZmlsdGVyQnV0dG9uVGVtcGxhdGUnLCAnaXRlbXNTZWxlY3RlZEFtb3VudCcsICdsb2FkaW5nJywgJ3F1ZXJ5JywgJ3F1aWNrRmlsdGVycycsICdzZWxlY3RlZEZpbHRlcnNBbW91bnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFRhYmxlSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFRhYmxlSGVhZGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncXVpY2tGaWx0ZXInLCAncXVlcnlDaGFuZ2UnLCAnZmlsdGVyJywgJ2FjdGlvbicsICdleHBvcnQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFF1aWNrRmlsdGVyIGFzIElQVGFibGVIZWFkZXJRdWlja0ZpbHRlciB9IGZyb20gJ0BwYXBlcmxlc3MvY29yZSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQVGFibGVIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlBUYWJsZUhlYWRlciB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIG9uZSBvZiB0aGUgcXVpY2sgZmlsdGVycyBpcyBjbGlja2VkXG4gICAqL1xuICBxdWlja0ZpbHRlcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElQVGFibGVIZWFkZXJRdWlja0ZpbHRlcj4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgcXVlcnkgY2hhbmdlc1xuICAgKi9cbiAgcXVlcnlDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gdGhlIGZpbHRlciBidXR0b24gaXMgY2xpY2tlZFxuICAgKi9cbiAgZmlsdGVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVsbD4+O1xuICAvKipcbiAgICogRXZlbnQgd2hlbiB0aGUgYWN0aW9uIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBhY3Rpb246IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudWxsPj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuZXZlciB0aGUgZXhwb3J0IGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBleHBvcnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdlbmFibGVIb3ZlcicsICdpc0xhc3QnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC10YWJsZS1yb3cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZW5hYmxlSG92ZXInLCAnaXNMYXN0JywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFRhYmxlUm93IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MUFRhYmxlUm93RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgUFRhYmxlUm93IGV4dGVuZHMgQ29tcG9uZW50cy5QVGFibGVSb3cge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC10YWJsZS1yb3ctYWN0aW9ucy1jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFRhYmxlUm93QWN0aW9uc0NvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBUYWJsZVJvd0FjdGlvbnNDb250YWluZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQVGFibGVSb3dBY3Rpb25zQ29udGFpbmVyIGV4dGVuZHMgQ29tcG9uZW50cy5QVGFibGVSb3dBY3Rpb25zQ29udGFpbmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGlvbkljb24nLCAnYWN0aW9uSWNvbkZsaXAnLCAnYWN0aW9uSWNvblJvdGF0ZScsICdjb250ZW50JywgJ2VuYWJsZUFjdGlvbicsICdoZWFkZXInLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC10b2FzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aW9uSWNvbicsICdhY3Rpb25JY29uRmxpcCcsICdhY3Rpb25JY29uUm90YXRlJywgJ2NvbnRlbnQnLCAnZW5hYmxlQWN0aW9uJywgJ2hlYWRlcicsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFBUb2FzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBUb2FzdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2FjdGlvbiddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBQVG9hc3QgZXh0ZW5kcyBDb21wb25lbnRzLlBUb2FzdCB7XG4gIC8qKlxuICAgKiBCdXR0b24gY2xpY2sgZXZlbnRcbiAgICovXG4gIGFjdGlvbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpZCcsICduYW1lJywgJ3JlcXVpcmVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLXRvZ2dsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpZCcsICduYW1lJywgJ3JlcXVpcmVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBUb2dnbGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxQVG9nZ2xlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2hlY2tlZENoYW5nZScsICdpbmRldGVybWluYXRlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUb2dnbGUgZXh0ZW5kcyBDb21wb25lbnRzLlBUb2dnbGUge1xuICAvKipcbiAgICogRXZlbnQgd2hlbmV2ZXIgdGhlIGNoZWNrZWQgY2hhbmdlc1xuICAgKi9cbiAgY2hlY2tlZENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW5ldmVyIHRoZSBpbmRldGVybWluYXRlIGNoYW5nZXNcbiAgICovXG4gIGluZGV0ZXJtaW5hdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nhbk1hbnVhbGx5Q2xvc2UnLCAnY29udGVudCcsICdlbmFibGVVc2VySW5wdXQnLCAnb2Zmc2V0JywgJ3BsYWNlbWVudCcsICdzaG93JywgJ3N0cmF0ZWd5JywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtdG9vbHRpcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FuTWFudWFsbHlDbG9zZScsICdjb250ZW50JywgJ2VuYWJsZVVzZXJJbnB1dCcsICdvZmZzZXQnLCAncGxhY2VtZW50JywgJ3Nob3cnLCAnc3RyYXRlZ3knLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBQVG9vbHRpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFBUb29sdGlwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaXNPcGVuJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFBUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5QVG9vbHRpcCB7XG4gIC8qKlxuICAgKiBPcGVuIGNoYW5nZSBldmVudFxuICAgKi9cbiAgaXNPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xufVxuXG5cbiJdfQ==