awf-test-lib 0.0.99 → 0.1.1

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 (218) hide show
  1. package/karma.conf.js +44 -0
  2. package/ng-package.json +7 -0
  3. package/package.json +10 -30
  4. package/src/lib/core/core-routing.module.ts +10 -0
  5. package/src/lib/core/core.module.ts +35 -0
  6. package/src/lib/core/menu/menu.component.css +18 -0
  7. package/src/lib/core/menu/menu.component.html +8 -0
  8. package/src/lib/core/menu/menu.component.spec.ts +23 -0
  9. package/src/lib/core/menu/menu.component.ts +27 -0
  10. package/src/lib/core/menu-consomer/menu-consomer.component.html +20 -0
  11. package/src/lib/core/menu-consomer/menu-consomer.component.scss +20 -0
  12. package/src/lib/core/menu-consomer/menu-consomer.component.spec.ts +25 -0
  13. package/src/lib/core/menu-consomer/menu-consomer.component.ts +21 -0
  14. package/src/lib/core/menu-ge-portal/menu-ge-portal.component.html +7 -0
  15. package/src/lib/core/menu-ge-portal/menu-ge-portal.component.scss +17 -0
  16. package/src/lib/core/menu-ge-portal/menu-ge-portal.component.spec.ts +25 -0
  17. package/src/lib/core/menu-ge-portal/menu-ge-portal.component.ts +24 -0
  18. package/src/lib/core/menu-warranty/menu-warranty.component.html +20 -0
  19. package/src/lib/core/menu-warranty/menu-warranty.component.scss +16 -0
  20. package/src/lib/core/menu-warranty/menu-warranty.component.spec.ts +25 -0
  21. package/src/lib/core/menu-warranty/menu-warranty.component.ts +31 -0
  22. package/src/lib/core/not-found/not-found.component.css +31 -0
  23. package/src/lib/core/not-found/not-found.component.html +6 -0
  24. package/src/lib/core/not-found/not-found.component.spec.ts +23 -0
  25. package/src/lib/core/not-found/not-found.component.ts +15 -0
  26. package/src/lib/core/top-bar/top-bar.component.css +116 -0
  27. package/src/lib/core/top-bar/top-bar.component.html +1 -0
  28. package/src/lib/core/top-bar/top-bar.component.spec.ts +23 -0
  29. package/src/lib/core/top-bar/top-bar.component.ts +39 -0
  30. package/{lib/models/account.model.d.ts → src/lib/models/account.model.ts} +6 -3
  31. package/src/lib/models/alternativeDate.model.ts +6 -0
  32. package/src/lib/models/applicationName.ts +6 -0
  33. package/{lib/models/cancelPMMailRequest.model.d.ts → src/lib/models/cancelPMMailRequest.model.ts} +3 -1
  34. package/src/lib/models/customObject.model.ts +4 -0
  35. package/src/lib/models/detailedPmJob.model.ts +24 -0
  36. package/src/lib/models/emailStatus.ts +4 -0
  37. package/src/lib/models/emailType.ts +17 -0
  38. package/src/lib/models/eventStatus.ts +8 -0
  39. package/src/lib/models/field.ts +7 -0
  40. package/src/lib/models/language.ts +4 -0
  41. package/{lib/models/mailRequest.model.d.ts → src/lib/models/mailRequest.model.ts} +3 -1
  42. package/src/lib/models/pMGroupedJob.model.ts +4 -0
  43. package/{lib/models/pmJob.model.d.ts → src/lib/models/pmJob.model.ts} +7 -6
  44. package/src/lib/models/pmJobRequest.model.ts +6 -0
  45. package/{lib/models/pmJobStatus.d.ts → src/lib/models/pmJobStatus.ts} +8 -3
  46. package/src/lib/models/reason.model.ts +7 -0
  47. package/src/lib/models/reasonCode.ts +9 -0
  48. package/src/lib/models/reasonContact.ts +7 -0
  49. package/{lib/models/reportDateMailRequest.model.d.ts → src/lib/models/reportDateMailRequest.model.ts} +3 -1
  50. package/src/lib/models/role.ts +5 -0
  51. package/src/lib/models/service.model.ts +8 -0
  52. package/src/lib/models/serviceName.ts +14 -0
  53. package/{lib/models/socialLoginRequest.model.d.ts → src/lib/models/socialLoginRequest.model.ts} +1 -1
  54. package/src/lib/models/socialMadia.ts +4 -0
  55. package/src/lib/models/stingBoolean.ts +7 -0
  56. package/src/lib/models/system.ts +15 -0
  57. package/{lib/models/theme.model.d.ts → src/lib/models/theme.model.ts} +18 -11
  58. package/src/lib/models/tokenStatus.ts +6 -0
  59. package/src/lib/models/warranty.ts +18 -0
  60. package/src/lib/pipes/pipes/pipes.module.ts +14 -0
  61. package/src/lib/pipes/subrtring-w.pipe.spec.ts +8 -0
  62. package/src/lib/pipes/subrtring-w.pipe.ts +16 -0
  63. package/src/lib/pipes/substring.pipe.spec.ts +8 -0
  64. package/src/lib/pipes/substring.pipe.ts +15 -0
  65. package/src/lib/shared/choose-another-date/choose-another-date.component.html +9 -0
  66. package/src/lib/shared/choose-another-date/choose-another-date.component.scss +4 -0
  67. package/src/lib/shared/choose-another-date/choose-another-date.component.spec.ts +25 -0
  68. package/src/lib/shared/choose-another-date/choose-another-date.component.ts +126 -0
  69. package/src/lib/shared/confirm-dialog/confirm-dialog.component.html +27 -0
  70. package/src/lib/shared/confirm-dialog/confirm-dialog.component.scss +0 -0
  71. package/src/lib/shared/confirm-dialog/confirm-dialog.component.spec.ts +25 -0
  72. package/src/lib/shared/confirm-dialog/confirm-dialog.component.ts +35 -0
  73. package/src/lib/shared/confirm-dialog-contact/confirm-dialog-contact.component.css +0 -0
  74. package/src/lib/shared/confirm-dialog-contact/confirm-dialog-contact.component.html +19 -0
  75. package/src/lib/shared/confirm-dialog-contact/confirm-dialog-contact.component.spec.ts +23 -0
  76. package/src/lib/shared/confirm-dialog-contact/confirm-dialog-contact.component.ts +36 -0
  77. package/src/lib/shared/confirmed-date-information/confirmed-date-information.component.html +25 -0
  78. package/src/lib/shared/confirmed-date-information/confirmed-date-information.component.scss +23 -0
  79. package/src/lib/shared/confirmed-date-information/confirmed-date-information.component.spec.ts +25 -0
  80. package/src/lib/shared/confirmed-date-information/confirmed-date-information.component.ts +25 -0
  81. package/src/lib/shared/contact/contact.component.css +144 -0
  82. package/src/lib/shared/contact/contact.component.html +124 -0
  83. package/src/lib/shared/contact/contact.component.spec.ts +23 -0
  84. package/src/lib/shared/contact/contact.component.ts +161 -0
  85. package/src/lib/shared/contact-support/contact-support.component.html +126 -0
  86. package/src/lib/shared/contact-support/contact-support.component.scss +10 -0
  87. package/src/lib/shared/contact-support/contact-support.component.spec.ts +25 -0
  88. package/src/lib/shared/contact-support/contact-support.component.ts +191 -0
  89. package/src/lib/shared/dashboard/dashboard.component.html +81 -0
  90. package/src/lib/shared/dashboard/dashboard.component.scss +5 -0
  91. package/src/lib/shared/dashboard/dashboard.component.spec.ts +23 -0
  92. package/src/lib/shared/dashboard/dashboard.component.ts +21 -0
  93. package/src/lib/shared/maintenance-list/maintenance-list.component.html +100 -0
  94. package/src/lib/shared/maintenance-list/maintenance-list.component.scss +26 -0
  95. package/src/lib/shared/maintenance-list/maintenance-list.component.spec.ts +25 -0
  96. package/src/lib/shared/maintenance-list/maintenance-list.component.ts +466 -0
  97. package/src/lib/shared/shared-routing.module.ts +10 -0
  98. package/src/lib/shared/shared.module.ts +84 -0
  99. package/src/lib/shared/show-links/show-links.component.html +48 -0
  100. package/src/lib/shared/show-links/show-links.component.scss +0 -0
  101. package/src/lib/shared/show-links/show-links.component.spec.ts +25 -0
  102. package/src/lib/shared/show-links/show-links.component.ts +80 -0
  103. package/src/lib/shared/system-list/system-list.component.css +0 -0
  104. package/src/lib/shared/system-list/system-list.component.html +40 -0
  105. package/src/lib/shared/system-list/system-list.component.spec.ts +23 -0
  106. package/src/lib/shared/system-list/system-list.component.ts +26 -0
  107. package/{public-api.d.ts → src/public-api.ts} +16 -1
  108. package/src/test.ts +27 -0
  109. package/tsconfig.lib.dev.json +10 -0
  110. package/tsconfig.lib.json +15 -0
  111. package/tsconfig.lib.pp.json +10 -0
  112. package/tsconfig.lib.prod.json +10 -0
  113. package/tsconfig.spec.json +17 -0
  114. package/esm2020/awf-test-lib.mjs +0 -5
  115. package/esm2020/lib/core/core-routing.module.mjs +0 -18
  116. package/esm2020/lib/core/core.module.mjs +0 -51
  117. package/esm2020/lib/core/menu/menu.component.mjs +0 -40
  118. package/esm2020/lib/core/menu-consomer/menu-consomer.component.mjs +0 -27
  119. package/esm2020/lib/core/menu-ge-portal/menu-ge-portal.component.mjs +0 -31
  120. package/esm2020/lib/core/menu-warranty/menu-warranty.component.mjs +0 -35
  121. package/esm2020/lib/core/not-found/not-found.component.mjs +0 -19
  122. package/esm2020/lib/core/top-bar/top-bar.component.mjs +0 -41
  123. package/esm2020/lib/models/account.model.mjs +0 -3
  124. package/esm2020/lib/models/alternativeDate.model.mjs +0 -3
  125. package/esm2020/lib/models/applicationName.mjs +0 -7
  126. package/esm2020/lib/models/cancelPMMailRequest.model.mjs +0 -4
  127. package/esm2020/lib/models/customObject.model.mjs +0 -3
  128. package/esm2020/lib/models/detailedPmJob.model.mjs +0 -3
  129. package/esm2020/lib/models/emailStatus.mjs +0 -6
  130. package/esm2020/lib/models/emailType.mjs +0 -15
  131. package/esm2020/lib/models/eventStatus.mjs +0 -9
  132. package/esm2020/lib/models/field.mjs +0 -9
  133. package/esm2020/lib/models/language.mjs +0 -6
  134. package/esm2020/lib/models/mailRequest.model.mjs +0 -3
  135. package/esm2020/lib/models/pMGroupedJob.model.mjs +0 -3
  136. package/esm2020/lib/models/pmJob.model.mjs +0 -3
  137. package/esm2020/lib/models/pmJobRequest.model.mjs +0 -3
  138. package/esm2020/lib/models/pmJobStatus.mjs +0 -17
  139. package/esm2020/lib/models/reason.model.mjs +0 -3
  140. package/esm2020/lib/models/reasonCode.mjs +0 -9
  141. package/esm2020/lib/models/reasonContact.mjs +0 -8
  142. package/esm2020/lib/models/reportDateMailRequest.model.mjs +0 -4
  143. package/esm2020/lib/models/role.mjs +0 -7
  144. package/esm2020/lib/models/service.model.mjs +0 -3
  145. package/esm2020/lib/models/serviceName.mjs +0 -12
  146. package/esm2020/lib/models/socialLoginRequest.model.mjs +0 -3
  147. package/esm2020/lib/models/socialMadia.mjs +0 -5
  148. package/esm2020/lib/models/stingBoolean.mjs +0 -6
  149. package/esm2020/lib/models/system.mjs +0 -3
  150. package/esm2020/lib/models/theme.model.mjs +0 -2
  151. package/esm2020/lib/models/tokenStatus.mjs +0 -7
  152. package/esm2020/lib/models/warranty.mjs +0 -3
  153. package/esm2020/lib/pipes/pipes/pipes.module.mjs +0 -21
  154. package/esm2020/lib/pipes/subrtring-w.pipe.mjs +0 -20
  155. package/esm2020/lib/pipes/substring.pipe.mjs +0 -16
  156. package/esm2020/lib/shared/choose-another-date/choose-another-date.component.mjs +0 -110
  157. package/esm2020/lib/shared/confirm-dialog/confirm-dialog.component.mjs +0 -44
  158. package/esm2020/lib/shared/confirm-dialog-contact/confirm-dialog-contact.component.mjs +0 -42
  159. package/esm2020/lib/shared/confirmed-date-information/confirmed-date-information.component.mjs +0 -35
  160. package/esm2020/lib/shared/contact/contact.component.mjs +0 -139
  161. package/esm2020/lib/shared/contact-support/contact-support.component.mjs +0 -161
  162. package/esm2020/lib/shared/dashboard/dashboard.component.mjs +0 -34
  163. package/esm2020/lib/shared/maintenance-list/maintenance-list.component.mjs +0 -360
  164. package/esm2020/lib/shared/shared-routing.module.mjs +0 -18
  165. package/esm2020/lib/shared/shared.module.mjs +0 -144
  166. package/esm2020/lib/shared/show-links/show-links.component.mjs +0 -81
  167. package/esm2020/lib/shared/system-list/system-list.component.mjs +0 -32
  168. package/esm2020/public-api.mjs +0 -48
  169. package/fesm2015/awf-test-lib.mjs +0 -1549
  170. package/fesm2015/awf-test-lib.mjs.map +0 -1
  171. package/fesm2020/awf-test-lib.mjs +0 -1545
  172. package/fesm2020/awf-test-lib.mjs.map +0 -1
  173. package/index.d.ts +0 -5
  174. package/lib/core/core-routing.module.d.ts +0 -7
  175. package/lib/core/core.module.d.ts +0 -15
  176. package/lib/core/menu/menu.component.d.ts +0 -17
  177. package/lib/core/menu-consomer/menu-consomer.component.d.ts +0 -12
  178. package/lib/core/menu-ge-portal/menu-ge-portal.component.d.ts +0 -13
  179. package/lib/core/menu-warranty/menu-warranty.component.d.ts +0 -15
  180. package/lib/core/not-found/not-found.component.d.ts +0 -10
  181. package/lib/core/top-bar/top-bar.component.d.ts +0 -13
  182. package/lib/models/alternativeDate.model.d.ts +0 -6
  183. package/lib/models/applicationName.d.ts +0 -5
  184. package/lib/models/customObject.model.d.ts +0 -3
  185. package/lib/models/detailedPmJob.model.d.ts +0 -22
  186. package/lib/models/emailStatus.d.ts +0 -4
  187. package/lib/models/emailType.d.ts +0 -13
  188. package/lib/models/eventStatus.d.ts +0 -7
  189. package/lib/models/field.d.ts +0 -7
  190. package/lib/models/language.d.ts +0 -4
  191. package/lib/models/pMGroupedJob.model.d.ts +0 -3
  192. package/lib/models/pmJobRequest.model.d.ts +0 -5
  193. package/lib/models/reason.model.d.ts +0 -4
  194. package/lib/models/reasonCode.d.ts +0 -7
  195. package/lib/models/reasonContact.d.ts +0 -6
  196. package/lib/models/role.d.ts +0 -5
  197. package/lib/models/service.model.d.ts +0 -8
  198. package/lib/models/serviceName.d.ts +0 -10
  199. package/lib/models/socialMadia.d.ts +0 -3
  200. package/lib/models/stingBoolean.d.ts +0 -4
  201. package/lib/models/system.d.ts +0 -14
  202. package/lib/models/tokenStatus.d.ts +0 -5
  203. package/lib/models/warranty.d.ts +0 -17
  204. package/lib/pipes/pipes/pipes.module.d.ts +0 -9
  205. package/lib/pipes/subrtring-w.pipe.d.ts +0 -7
  206. package/lib/pipes/substring.pipe.d.ts +0 -7
  207. package/lib/shared/choose-another-date/choose-another-date.component.d.ts +0 -33
  208. package/lib/shared/confirm-dialog/confirm-dialog.component.d.ts +0 -20
  209. package/lib/shared/confirm-dialog-contact/confirm-dialog-contact.component.d.ts +0 -19
  210. package/lib/shared/confirmed-date-information/confirmed-date-information.component.d.ts +0 -15
  211. package/lib/shared/contact/contact.component.d.ts +0 -38
  212. package/lib/shared/contact-support/contact-support.component.d.ts +0 -49
  213. package/lib/shared/dashboard/dashboard.component.d.ts +0 -17
  214. package/lib/shared/maintenance-list/maintenance-list.component.d.ts +0 -83
  215. package/lib/shared/shared-routing.module.d.ts +0 -7
  216. package/lib/shared/shared.module.d.ts +0 -40
  217. package/lib/shared/show-links/show-links.component.d.ts +0 -23
  218. package/lib/shared/system-list/system-list.component.d.ts +0 -15
@@ -1,44 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "primeng/api";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "primeng/toast";
6
- import * as i4 from "primeng/button";
7
- import * as i5 from "primeng/dialog";
8
- export class ConfirmDialogComponent {
9
- constructor(messageService) {
10
- this.messageService = messageService;
11
- this.detailedPmJobLinkedList = [];
12
- this.closeConfirmDialog = new EventEmitter();
13
- }
14
- rejectDate() {
15
- this.closeConfirmDialog.emit(false);
16
- this.messageService.add({ severity: 'error', summary: this.globaltranslate.summaryReject, detail: this.globaltranslate.detailReject });
17
- }
18
- confirmDate() {
19
- this.closeConfirmDialog.emit(true);
20
- }
21
- }
22
- ConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i1.MessageService }], target: i0.ɵɵFactoryTarget.Component });
23
- ConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: ConfirmDialogComponent, selector: "app-confirm-dialog", inputs: { displayConfirmDialog: "displayConfirmDialog", startDateTime: "startDateTime", endDateTime: "endDateTime", globaltranslate: "globaltranslate", translate: "translate", isProposedDate: "isProposedDate", detailedPmJobLinkedList: "detailedPmJobLinkedList" }, outputs: { closeConfirmDialog: "closeConfirmDialog" }, ngImport: i0, template: "<p-dialog [header]=\"globaltranslate.confirmation\" [(visible)]=\"displayConfirmDialog\" [modal]=\"true\" [style]=\"{width: '50vw'}\" (onHide)=\"rejectDate()\" [maximizable]=\"true\" [baseZIndex]=\"10000\" [draggable]=\"false\" [resizable]=\"false\">\r\n \r\n <div>\r\n {{ isProposedDate ? translate.textProposed : translate.textAlternative }}\r\n <div>\r\n <br> <br>{{translate.start}} : <i class=\"pi pi-calendar\"></i> &nbsp; <strong>\r\n {{startDateTime | date: 'dd MMM yyyy'}} </strong> &nbsp; {{translate.from}}: <strong>08:00 </strong>\r\n <div *ngIf=\"detailedPmJobLinkedList.length>0\">\r\n <br> <p style=\"color:rgb(245, 57, 57) ;\"><strong>{{ translate.textWarn }}</strong></p>\r\n <ul>\r\n <strong><li *ngFor=\"let detailedPmJob of detailedPmJobLinkedList\">{{ detailedPmJob.pmJob.workorderNumber }}</li></strong>\r\n \r\n </ul>\r\n </div>\r\n <br><br>\r\n <p>{{translate.infoEmail}}</p>\r\n \r\n </div>\r\n \r\n </div>\r\n\r\n <ng-template pTemplate=\"footer\">\r\n <p-button icon=\"pi pi-times\" (click)=\"rejectDate()\" class=\"annuler\" [label]=\"globaltranslate.no\"></p-button>\r\n <p-button icon=\"pi pi-check\" (click)=\"confirmDate()\" [label]=\"globaltranslate.yes\" class=\"p-button-text\"></p-button>\r\n </ng-template>\r\n</p-dialog>\r\n<p-toast position=\"top-center\"></p-toast>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i5.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
25
- type: Component,
26
- args: [{ selector: 'app-confirm-dialog', template: "<p-dialog [header]=\"globaltranslate.confirmation\" [(visible)]=\"displayConfirmDialog\" [modal]=\"true\" [style]=\"{width: '50vw'}\" (onHide)=\"rejectDate()\" [maximizable]=\"true\" [baseZIndex]=\"10000\" [draggable]=\"false\" [resizable]=\"false\">\r\n \r\n <div>\r\n {{ isProposedDate ? translate.textProposed : translate.textAlternative }}\r\n <div>\r\n <br> <br>{{translate.start}} : <i class=\"pi pi-calendar\"></i> &nbsp; <strong>\r\n {{startDateTime | date: 'dd MMM yyyy'}} </strong> &nbsp; {{translate.from}}: <strong>08:00 </strong>\r\n <div *ngIf=\"detailedPmJobLinkedList.length>0\">\r\n <br> <p style=\"color:rgb(245, 57, 57) ;\"><strong>{{ translate.textWarn }}</strong></p>\r\n <ul>\r\n <strong><li *ngFor=\"let detailedPmJob of detailedPmJobLinkedList\">{{ detailedPmJob.pmJob.workorderNumber }}</li></strong>\r\n \r\n </ul>\r\n </div>\r\n <br><br>\r\n <p>{{translate.infoEmail}}</p>\r\n \r\n </div>\r\n \r\n </div>\r\n\r\n <ng-template pTemplate=\"footer\">\r\n <p-button icon=\"pi pi-times\" (click)=\"rejectDate()\" class=\"annuler\" [label]=\"globaltranslate.no\"></p-button>\r\n <p-button icon=\"pi pi-check\" (click)=\"confirmDate()\" [label]=\"globaltranslate.yes\" class=\"p-button-text\"></p-button>\r\n </ng-template>\r\n</p-dialog>\r\n<p-toast position=\"top-center\"></p-toast>" }]
27
- }], ctorParameters: function () { return [{ type: i1.MessageService }]; }, propDecorators: { displayConfirmDialog: [{
28
- type: Input
29
- }], startDateTime: [{
30
- type: Input
31
- }], endDateTime: [{
32
- type: Input
33
- }], globaltranslate: [{
34
- type: Input
35
- }], translate: [{
36
- type: Input
37
- }], isProposedDate: [{
38
- type: Input
39
- }], detailedPmJobLinkedList: [{
40
- type: Input
41
- }], closeConfirmDialog: [{
42
- type: Output
43
- }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXdmLXRlc3QtbGliL3NyYy9saWIvc2hhcmVkL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F3Zi10ZXN0LWxpYi9zcmMvbGliL3NoYXJlZC9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBUXZFLE1BQU0sT0FBTyxzQkFBc0I7SUFXL0IsWUFBb0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBSnpDLDRCQUF1QixHQUFvQixFQUFFLENBQUM7UUFFN0MsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVMLENBQUM7SUFJdkQsVUFBVTtRQUVOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzNJLENBQUM7SUFFRCxXQUFXO1FBRVAsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDOztvSEF4QlEsc0JBQXNCO3dHQUF0QixzQkFBc0IseVhDUm5DLG0rQ0EwQnlDOzRGRGxCNUIsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNJLG9CQUFvQjtxR0FLckIsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBRUksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IERldGFpbGVkUG1Kb2IgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGV0YWlsZWRQbUpvYi5tb2RlbCc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtY29uZmlybS1kaWFsb2cnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmZpcm1EaWFsb2dDb21wb25lbnQgIHtcclxuICAgIEBJbnB1dCgpIGRpc3BsYXlDb25maXJtRGlhbG9nITogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHN0YXJ0RGF0ZVRpbWUhOiBhbnk7XHJcbiAgICBASW5wdXQoKSBlbmREYXRlVGltZSE6IGFueTtcclxuICAgIEBJbnB1dCgpIGdsb2JhbHRyYW5zbGF0ZSE6IGFueTtcclxuICAgIEBJbnB1dCgpIHRyYW5zbGF0ZSE6IGFueTtcclxuICAgIEBJbnB1dCgpIGlzUHJvcG9zZWREYXRlITogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGRldGFpbGVkUG1Kb2JMaW5rZWRMaXN0OiBEZXRhaWxlZFBtSm9iW10gPSBbXTtcclxuXHJcbiAgICBAT3V0cHV0KCkgY2xvc2VDb25maXJtRGlhbG9nID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbWVzc2FnZVNlcnZpY2UgOk1lc3NhZ2VTZXJ2aWNlKSB7IH1cclxuXHJcblxyXG5cclxuICAgIHJlamVjdERhdGUoKVxyXG4gICAge1xyXG4gICAgICAgIHRoaXMuY2xvc2VDb25maXJtRGlhbG9nLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6IHRoaXMuZ2xvYmFsdHJhbnNsYXRlLnN1bW1hcnlSZWplY3QsIGRldGFpbDogdGhpcy5nbG9iYWx0cmFuc2xhdGUuZGV0YWlsUmVqZWN0IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbmZpcm1EYXRlKClcclxuICAgIHtcclxuICAgICAgICB0aGlzLmNsb3NlQ29uZmlybURpYWxvZy5lbWl0KHRydWUpO1xyXG4gICAgfVxyXG5cclxufVxyXG4iLCI8cC1kaWFsb2cgW2hlYWRlcl09XCJnbG9iYWx0cmFuc2xhdGUuY29uZmlybWF0aW9uXCIgWyh2aXNpYmxlKV09XCJkaXNwbGF5Q29uZmlybURpYWxvZ1wiIFttb2RhbF09XCJ0cnVlXCIgW3N0eWxlXT1cInt3aWR0aDogJzUwdncnfVwiIChvbkhpZGUpPVwicmVqZWN0RGF0ZSgpXCIgW21heGltaXphYmxlXT1cInRydWVcIiBbYmFzZVpJbmRleF09XCIxMDAwMFwiIFtkcmFnZ2FibGVdPVwiZmFsc2VcIiBbcmVzaXphYmxlXT1cImZhbHNlXCI+XHJcbiAgIFxyXG4gICAgPGRpdj5cclxuICAgICAgICB7eyBpc1Byb3Bvc2VkRGF0ZSA/IHRyYW5zbGF0ZS50ZXh0UHJvcG9zZWQgOiB0cmFuc2xhdGUudGV4dEFsdGVybmF0aXZlIH19XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGJyPiA8YnI+e3t0cmFuc2xhdGUuc3RhcnR9fSA6IDxpIGNsYXNzPVwicGkgcGktY2FsZW5kYXJcIj48L2k+ICZuYnNwOyA8c3Ryb25nPlxyXG4gICAgICAgICAgICAgICAge3tzdGFydERhdGVUaW1lIHwgZGF0ZTogJ2RkIE1NTSB5eXl5J319IDwvc3Ryb25nPiAmbmJzcDsge3t0cmFuc2xhdGUuZnJvbX19OiA8c3Ryb25nPjA4OjAwIDwvc3Ryb25nPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZGV0YWlsZWRQbUpvYkxpbmtlZExpc3QubGVuZ3RoPjBcIj5cclxuICAgICAgICAgICAgICAgIDxicj4gPHAgc3R5bGU9XCJjb2xvcjpyZ2IoMjQ1LCA1NywgNTcpIDtcIj48c3Ryb25nPnt7IHRyYW5zbGF0ZS50ZXh0V2FybiB9fTwvc3Ryb25nPjwvcD5cclxuICAgICAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPjxsaSAqbmdGb3I9XCJsZXQgZGV0YWlsZWRQbUpvYiBvZiBkZXRhaWxlZFBtSm9iTGlua2VkTGlzdFwiPnt7IGRldGFpbGVkUG1Kb2IucG1Kb2Iud29ya29yZGVyTnVtYmVyIH19PC9saT48L3N0cm9uZz5cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YnI+PGJyPlxyXG4gICAgICAgICAgICA8cD57e3RyYW5zbGF0ZS5pbmZvRW1haWx9fTwvcD5cclxuICAgIFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG4gICAgICAgIDxwLWJ1dHRvbiBpY29uPVwicGkgcGktdGltZXNcIiAoY2xpY2spPVwicmVqZWN0RGF0ZSgpXCIgY2xhc3M9XCJhbm51bGVyXCIgW2xhYmVsXT1cImdsb2JhbHRyYW5zbGF0ZS5ub1wiPjwvcC1idXR0b24+XHJcbiAgICAgICAgPHAtYnV0dG9uIGljb249XCJwaSBwaS1jaGVja1wiIChjbGljayk9XCJjb25maXJtRGF0ZSgpXCIgW2xhYmVsXT1cImdsb2JhbHRyYW5zbGF0ZS55ZXNcIiBjbGFzcz1cInAtYnV0dG9uLXRleHRcIj48L3AtYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9wLWRpYWxvZz5cclxuPHAtdG9hc3QgcG9zaXRpb249XCJ0b3AtY2VudGVyXCI+PC9wLXRvYXN0PiJdfQ==
@@ -1,42 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "primeng/api";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "primeng/toast";
6
- import * as i4 from "primeng/button";
7
- import * as i5 from "primeng/dialog";
8
- export class ConfirmDialogContactComponent {
9
- constructor(messageService) {
10
- this.messageService = messageService;
11
- this.detailedPmJobLinkedList = [];
12
- this.closeConfirmDialogContact = new EventEmitter();
13
- }
14
- rejectDate() {
15
- this.closeConfirmDialogContact.emit(false);
16
- this.messageService.add({ severity: 'error', summary: this.globaltranslate.summaryReject, detail: this.globaltranslate.detailReject });
17
- }
18
- confirmDate() {
19
- this.closeConfirmDialogContact.emit(true);
20
- }
21
- }
22
- ConfirmDialogContactComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ConfirmDialogContactComponent, deps: [{ token: i1.MessageService }], target: i0.ɵɵFactoryTarget.Component });
23
- ConfirmDialogContactComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: ConfirmDialogContactComponent, selector: "app-confirm-dialog-contact", inputs: { displayConfirmDialogContact: "displayConfirmDialogContact", startDateTime: "startDateTime", endDateTime: "endDateTime", globaltranslate: "globaltranslate", translate: "translate", detailedPmJobLinkedList: "detailedPmJobLinkedList" }, outputs: { closeConfirmDialogContact: "closeConfirmDialogContact" }, ngImport: i0, template: "<p-dialog [header]=\"globaltranslate.confirmation\" [(visible)]=\"displayConfirmDialogContact\" [modal]=\"true\" [style]=\"{width: '50vw'}\" (onHide)=\"rejectDate()\" [maximizable]=\"true\" [baseZIndex]=\"10000\" [draggable]=\"false\" [resizable]=\"false\">\r\n {{ translate.text }}<br>\r\n <!-- <br>{{translate.start}} : <i class=\"pi pi-calendar\"></i> &nbsp; <strong>\r\n {{startDateTime | date: 'dd MMM yyyy'}} </strong> &nbsp; {{translate.from}}: <strong>08:00 </strong> -->\r\n <div *ngIf=\"detailedPmJobLinkedList.length>0\">\r\n <br> <p style=\"color:rgb(245, 57, 57) ;\"><strong>{{ translate.textWarn }}</strong></p>\r\n <ul>\r\n <strong><li *ngFor=\"let detailedPmJob of detailedPmJobLinkedList\">{{ detailedPmJob.pmJob.workorderNumber }}</li></strong>\r\n\r\n </ul>\r\n </div>\r\n <br><br>\r\n <!-- <p>{{translate.infoEmail}}</p> -->\r\n <ng-template pTemplate=\"footer\">\r\n <p-button icon=\"pi pi-times\" (click)=\"rejectDate()\" class=\"annuler\" [label]=\"globaltranslate.no\"></p-button>\r\n <p-button icon=\"pi pi-check\" (click)=\"confirmDate()\" [label]=\"globaltranslate.yes\" class=\"p-button-text\"></p-button>\r\n </ng-template>\r\n</p-dialog>\r\n<p-toast position=\"top-center\"></p-toast>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i5.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ConfirmDialogContactComponent, decorators: [{
25
- type: Component,
26
- args: [{ selector: 'app-confirm-dialog-contact', template: "<p-dialog [header]=\"globaltranslate.confirmation\" [(visible)]=\"displayConfirmDialogContact\" [modal]=\"true\" [style]=\"{width: '50vw'}\" (onHide)=\"rejectDate()\" [maximizable]=\"true\" [baseZIndex]=\"10000\" [draggable]=\"false\" [resizable]=\"false\">\r\n {{ translate.text }}<br>\r\n <!-- <br>{{translate.start}} : <i class=\"pi pi-calendar\"></i> &nbsp; <strong>\r\n {{startDateTime | date: 'dd MMM yyyy'}} </strong> &nbsp; {{translate.from}}: <strong>08:00 </strong> -->\r\n <div *ngIf=\"detailedPmJobLinkedList.length>0\">\r\n <br> <p style=\"color:rgb(245, 57, 57) ;\"><strong>{{ translate.textWarn }}</strong></p>\r\n <ul>\r\n <strong><li *ngFor=\"let detailedPmJob of detailedPmJobLinkedList\">{{ detailedPmJob.pmJob.workorderNumber }}</li></strong>\r\n\r\n </ul>\r\n </div>\r\n <br><br>\r\n <!-- <p>{{translate.infoEmail}}</p> -->\r\n <ng-template pTemplate=\"footer\">\r\n <p-button icon=\"pi pi-times\" (click)=\"rejectDate()\" class=\"annuler\" [label]=\"globaltranslate.no\"></p-button>\r\n <p-button icon=\"pi pi-check\" (click)=\"confirmDate()\" [label]=\"globaltranslate.yes\" class=\"p-button-text\"></p-button>\r\n </ng-template>\r\n</p-dialog>\r\n<p-toast position=\"top-center\"></p-toast>\r\n" }]
27
- }], ctorParameters: function () { return [{ type: i1.MessageService }]; }, propDecorators: { displayConfirmDialogContact: [{
28
- type: Input
29
- }], startDateTime: [{
30
- type: Input
31
- }], endDateTime: [{
32
- type: Input
33
- }], globaltranslate: [{
34
- type: Input
35
- }], translate: [{
36
- type: Input
37
- }], detailedPmJobLinkedList: [{
38
- type: Input
39
- }], closeConfirmDialogContact: [{
40
- type: Output
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2ctY29udGFjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hd2YtdGVzdC1saWIvc3JjL2xpYi9zaGFyZWQvY29uZmlybS1kaWFsb2ctY29udGFjdC9jb25maXJtLWRpYWxvZy1jb250YWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F3Zi10ZXN0LWxpYi9zcmMvbGliL3NoYXJlZC9jb25maXJtLWRpYWxvZy1jb250YWN0L2NvbmZpcm0tZGlhbG9nLWNvbnRhY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVN2RSxNQUFNLE9BQU8sNkJBQTZCO0lBV3hDLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUp6Qyw0QkFBdUIsR0FBb0IsRUFBRSxDQUFDO1FBRTdDLDhCQUF5QixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFWixDQUFDO0lBSXZELFVBQVU7UUFFTixJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMzSSxDQUFDO0lBRUQsV0FBVztRQUVQLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7MkhBeEJVLDZCQUE2QjsrR0FBN0IsNkJBQTZCLDJYQ1QxQyxveENBbUJBOzRGRFZhLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSw0QkFBNEI7cUdBTTdCLDJCQUEyQjtzQkFBbkMsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFFSSx5QkFBeUI7c0JBQWxDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgRGV0YWlsZWRQbUpvYiB9IGZyb20gJy4uLy4uL21vZGVscy9kZXRhaWxlZFBtSm9iLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNvbmZpcm0tZGlhbG9nLWNvbnRhY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLWRpYWxvZy1jb250YWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb25maXJtLWRpYWxvZy1jb250YWN0LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlybURpYWxvZ0NvbnRhY3RDb21wb25lbnQgIHtcclxuXHJcbiAgQElucHV0KCkgZGlzcGxheUNvbmZpcm1EaWFsb2dDb250YWN0ITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBzdGFydERhdGVUaW1lITogYW55O1xyXG4gIEBJbnB1dCgpIGVuZERhdGVUaW1lITogYW55O1xyXG4gIEBJbnB1dCgpIGdsb2JhbHRyYW5zbGF0ZSE6IGFueTtcclxuICBASW5wdXQoKSB0cmFuc2xhdGUhOiBhbnk7XHJcbiAgQElucHV0KCkgZGV0YWlsZWRQbUpvYkxpbmtlZExpc3Q6IERldGFpbGVkUG1Kb2JbXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KCkgY2xvc2VDb25maXJtRGlhbG9nQ29udGFjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZXNzYWdlU2VydmljZSA6TWVzc2FnZVNlcnZpY2UpIHsgfVxyXG5cclxuXHJcblxyXG4gIHJlamVjdERhdGUoKVxyXG4gIHtcclxuICAgICAgdGhpcy5jbG9zZUNvbmZpcm1EaWFsb2dDb250YWN0LmVtaXQoZmFsc2UpO1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiB0aGlzLmdsb2JhbHRyYW5zbGF0ZS5zdW1tYXJ5UmVqZWN0LCBkZXRhaWw6IHRoaXMuZ2xvYmFsdHJhbnNsYXRlLmRldGFpbFJlamVjdCB9KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1EYXRlKClcclxuICB7XHJcbiAgICAgIHRoaXMuY2xvc2VDb25maXJtRGlhbG9nQ29udGFjdC5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPHAtZGlhbG9nIFtoZWFkZXJdPVwiZ2xvYmFsdHJhbnNsYXRlLmNvbmZpcm1hdGlvblwiIFsodmlzaWJsZSldPVwiZGlzcGxheUNvbmZpcm1EaWFsb2dDb250YWN0XCIgW21vZGFsXT1cInRydWVcIiBbc3R5bGVdPVwie3dpZHRoOiAnNTB2dyd9XCIgKG9uSGlkZSk9XCJyZWplY3REYXRlKClcIiBbbWF4aW1pemFibGVdPVwidHJ1ZVwiIFtiYXNlWkluZGV4XT1cIjEwMDAwXCIgW2RyYWdnYWJsZV09XCJmYWxzZVwiIFtyZXNpemFibGVdPVwiZmFsc2VcIj5cclxuICAgICB7eyAgdHJhbnNsYXRlLnRleHQgfX08YnI+XHJcbiAgICAgPCEtLSA8YnI+e3t0cmFuc2xhdGUuc3RhcnR9fSA6IDxpIGNsYXNzPVwicGkgcGktY2FsZW5kYXJcIj48L2k+ICZuYnNwOyA8c3Ryb25nPlxyXG4gICAgICAgIHt7c3RhcnREYXRlVGltZSB8IGRhdGU6ICdkZCBNTU0geXl5eSd9fSA8L3N0cm9uZz4gJm5ic3A7IHt7dHJhbnNsYXRlLmZyb219fTogPHN0cm9uZz4wODowMCA8L3N0cm9uZz4gLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZGV0YWlsZWRQbUpvYkxpbmtlZExpc3QubGVuZ3RoPjBcIj5cclxuICAgICAgICA8YnI+IDxwIHN0eWxlPVwiY29sb3I6cmdiKDI0NSwgNTcsIDU3KSA7XCI+PHN0cm9uZz57eyB0cmFuc2xhdGUudGV4dFdhcm4gfX08L3N0cm9uZz48L3A+XHJcbiAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICA8c3Ryb25nPjxsaSAqbmdGb3I9XCJsZXQgZGV0YWlsZWRQbUpvYiBvZiBkZXRhaWxlZFBtSm9iTGlua2VkTGlzdFwiPnt7IGRldGFpbGVkUG1Kb2IucG1Kb2Iud29ya29yZGVyTnVtYmVyIH19PC9saT48L3N0cm9uZz5cclxuXHJcbiAgICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGJyPjxicj5cclxuICAgIDwhLS0gPHA+e3t0cmFuc2xhdGUuaW5mb0VtYWlsfX08L3A+IC0tPlxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG4gICAgICAgIDxwLWJ1dHRvbiBpY29uPVwicGkgcGktdGltZXNcIiAoY2xpY2spPVwicmVqZWN0RGF0ZSgpXCIgY2xhc3M9XCJhbm51bGVyXCIgW2xhYmVsXT1cImdsb2JhbHRyYW5zbGF0ZS5ub1wiPjwvcC1idXR0b24+XHJcbiAgICAgICAgPHAtYnV0dG9uIGljb249XCJwaSBwaS1jaGVja1wiIChjbGljayk9XCJjb25maXJtRGF0ZSgpXCIgW2xhYmVsXT1cImdsb2JhbHRyYW5zbGF0ZS55ZXNcIiBjbGFzcz1cInAtYnV0dG9uLXRleHRcIj48L3AtYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9wLWRpYWxvZz5cclxuPHAtdG9hc3QgcG9zaXRpb249XCJ0b3AtY2VudGVyXCI+PC9wLXRvYXN0PlxyXG4iXX0=
@@ -1,35 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "primeng/api";
5
- import * as i3 from "primeng/button";
6
- import * as i4 from "primeng/dialog";
7
- export class ConfirmedDateInformationComponent {
8
- constructor() {
9
- this.closeConfirmedDateInfo = new EventEmitter();
10
- }
11
- confirmDate() {
12
- this.closeConfirmedDateInfo.emit(true);
13
- }
14
- }
15
- ConfirmedDateInformationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ConfirmedDateInformationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- ConfirmedDateInformationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: ConfirmedDateInformationComponent, selector: "app-confirmed-date-information", inputs: { displayConfirmedDateInfo: "displayConfirmedDateInfo", startDateTime: "startDateTime", endDateTime: "endDateTime", globaltranslate: "globaltranslate", translate: "translate", moreDates: "moreDates" }, outputs: { closeConfirmedDateInfo: "closeConfirmedDateInfo" }, ngImport: i0, template: "<p-dialog [header]=\"globaltranslate.information\" [(visible)]=\"displayConfirmedDateInfo\" [modal]=\"true\" [style]=\"{width: '50vw'}\" (onHide)=\"confirmDate()\" [maximizable]=\"true\" [baseZIndex]=\"10000\" [draggable]=\"false\" [resizable]=\"false\">\r\n <i class=\"pi pi-check icon-check\"></i>\r\n\r\n \r\n <div *ngIf=\"moreDates\" style=\"text-align:center ;\">\r\n <br><br>\r\n {{translate.textMoreDates}}\r\n <br><br>\r\n\r\n </div>\r\n <div *ngIf=\"!moreDates\">\r\n <div class=\"text-center\">\r\n <p> {{translate.text }} <br> {{translate.start}} : <i class=\"pi pi-calendar\"></i> &nbsp; <strong>\r\n {{startDateTime | date: 'dd MMM yyyy'}}</strong> <br> {{translate.from}}: <strong>08:00 </strong> </p>\r\n </div>\r\n <br><br>\r\n <p>{{translate.infoEmail}}</p>\r\n\r\n </div>\r\n \r\n\r\n <ng-template pTemplate=\"footer\">\r\n <p-button icon=\"pi pi-times \" (click)=\"confirmDate()\" label=\"Close\" class=\" text-center d-block\"></p-button>\r\n </ng-template>\r\n</p-dialog>", styles: ["p-dialog p{font-size:14px;line-height:34px;margin-top:30px}p-dialog .icon-check{text-align:center;color:#fff;background:var(--primarycolor);width:80px;height:80px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:30px;font-weight:700;margin:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i4.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }] });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ConfirmedDateInformationComponent, decorators: [{
18
- type: Component,
19
- args: [{ selector: 'app-confirmed-date-information', template: "<p-dialog [header]=\"globaltranslate.information\" [(visible)]=\"displayConfirmedDateInfo\" [modal]=\"true\" [style]=\"{width: '50vw'}\" (onHide)=\"confirmDate()\" [maximizable]=\"true\" [baseZIndex]=\"10000\" [draggable]=\"false\" [resizable]=\"false\">\r\n <i class=\"pi pi-check icon-check\"></i>\r\n\r\n \r\n <div *ngIf=\"moreDates\" style=\"text-align:center ;\">\r\n <br><br>\r\n {{translate.textMoreDates}}\r\n <br><br>\r\n\r\n </div>\r\n <div *ngIf=\"!moreDates\">\r\n <div class=\"text-center\">\r\n <p> {{translate.text }} <br> {{translate.start}} : <i class=\"pi pi-calendar\"></i> &nbsp; <strong>\r\n {{startDateTime | date: 'dd MMM yyyy'}}</strong> <br> {{translate.from}}: <strong>08:00 </strong> </p>\r\n </div>\r\n <br><br>\r\n <p>{{translate.infoEmail}}</p>\r\n\r\n </div>\r\n \r\n\r\n <ng-template pTemplate=\"footer\">\r\n <p-button icon=\"pi pi-times \" (click)=\"confirmDate()\" label=\"Close\" class=\" text-center d-block\"></p-button>\r\n </ng-template>\r\n</p-dialog>", styles: ["p-dialog p{font-size:14px;line-height:34px;margin-top:30px}p-dialog .icon-check{text-align:center;color:#fff;background:var(--primarycolor);width:80px;height:80px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:30px;font-weight:700;margin:auto}\n"] }]
20
- }], ctorParameters: function () { return []; }, propDecorators: { displayConfirmedDateInfo: [{
21
- type: Input
22
- }], startDateTime: [{
23
- type: Input
24
- }], endDateTime: [{
25
- type: Input
26
- }], globaltranslate: [{
27
- type: Input
28
- }], translate: [{
29
- type: Input
30
- }], moreDates: [{
31
- type: Input
32
- }], closeConfirmedDateInfo: [{
33
- type: Output
34
- }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWVkLWRhdGUtaW5mb3JtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXdmLXRlc3QtbGliL3NyYy9saWIvc2hhcmVkL2NvbmZpcm1lZC1kYXRlLWluZm9ybWF0aW9uL2NvbmZpcm1lZC1kYXRlLWluZm9ybWF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F3Zi10ZXN0LWxpYi9zcmMvbGliL3NoYXJlZC9jb25maXJtZWQtZGF0ZS1pbmZvcm1hdGlvbi9jb25maXJtZWQtZGF0ZS1pbmZvcm1hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFPdkUsTUFBTSxPQUFPLGlDQUFpQztJQVExQztRQURVLDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFDL0MsQ0FBQztJQUlqQixXQUFXO1FBRVAsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDOzsrSEFmUSxpQ0FBaUM7bUhBQWpDLGlDQUFpQyx1VkNQOUMsMGtDQXdCVzs0RkRqQkUsaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNJLGdDQUFnQzswRUFLakMsd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxzQkFBc0I7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1jb25maXJtZWQtZGF0ZS1pbmZvcm1hdGlvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybWVkLWRhdGUtaW5mb3JtYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY29uZmlybWVkLWRhdGUtaW5mb3JtYXRpb24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlybWVkRGF0ZUluZm9ybWF0aW9uQ29tcG9uZW50ICB7XHJcbiAgICBASW5wdXQoKSBkaXNwbGF5Q29uZmlybWVkRGF0ZUluZm8hOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgc3RhcnREYXRlVGltZSE6IGFueTtcclxuICAgIEBJbnB1dCgpIGVuZERhdGVUaW1lITogYW55O1xyXG4gICAgQElucHV0KCkgZ2xvYmFsdHJhbnNsYXRlITogYW55O1xyXG4gICAgQElucHV0KCkgdHJhbnNsYXRlITogYW55O1xyXG4gICAgQElucHV0KCkgbW9yZURhdGVzITogYm9vbGVhbjtcclxuICAgIEBPdXRwdXQoKSBjbG9zZUNvbmZpcm1lZERhdGVJbmZvID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcblxyXG5cclxuICAgIGNvbmZpcm1EYXRlKClcclxuICAgIHtcclxuICAgICAgICB0aGlzLmNsb3NlQ29uZmlybWVkRGF0ZUluZm8uZW1pdCh0cnVlKTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiPHAtZGlhbG9nIFtoZWFkZXJdPVwiZ2xvYmFsdHJhbnNsYXRlLmluZm9ybWF0aW9uXCIgWyh2aXNpYmxlKV09XCJkaXNwbGF5Q29uZmlybWVkRGF0ZUluZm9cIiBbbW9kYWxdPVwidHJ1ZVwiIFtzdHlsZV09XCJ7d2lkdGg6ICc1MHZ3J31cIiAob25IaWRlKT1cImNvbmZpcm1EYXRlKClcIiBbbWF4aW1pemFibGVdPVwidHJ1ZVwiIFtiYXNlWkluZGV4XT1cIjEwMDAwXCIgW2RyYWdnYWJsZV09XCJmYWxzZVwiIFtyZXNpemFibGVdPVwiZmFsc2VcIj5cclxuICAgIDxpIGNsYXNzPVwicGkgcGktY2hlY2sgaWNvbi1jaGVja1wiPjwvaT5cclxuXHJcbiAgIFxyXG4gICAgPGRpdiAqbmdJZj1cIm1vcmVEYXRlc1wiIHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXIgO1wiPlxyXG4gICAgICAgIDxicj48YnI+XHJcbiAgICAgICAge3t0cmFuc2xhdGUudGV4dE1vcmVEYXRlc319XHJcbiAgICAgICAgPGJyPjxicj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCIhbW9yZURhdGVzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxwPiB7e3RyYW5zbGF0ZS50ZXh0IH19IDxicj4ge3t0cmFuc2xhdGUuc3RhcnR9fSA6IDxpIGNsYXNzPVwicGkgcGktY2FsZW5kYXJcIj48L2k+ICZuYnNwOyA8c3Ryb25nPlxyXG4gICAgICAgICAgICB7e3N0YXJ0RGF0ZVRpbWUgfCAgZGF0ZTogJ2RkIE1NTSB5eXl5J319PC9zdHJvbmc+IDxicj4ge3t0cmFuc2xhdGUuZnJvbX19OiA8c3Ryb25nPjA4OjAwIDwvc3Ryb25nPiA8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJyPjxicj5cclxuICAgICAgICA8cD57e3RyYW5zbGF0ZS5pbmZvRW1haWx9fTwvcD5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgXHJcblxyXG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG4gICAgICAgIDxwLWJ1dHRvbiBpY29uPVwicGkgcGktdGltZXMgXCIgKGNsaWNrKT1cImNvbmZpcm1EYXRlKClcIiBsYWJlbD1cIkNsb3NlXCIgY2xhc3M9XCIgdGV4dC1jZW50ZXIgZC1ibG9ja1wiPjwvcC1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L3AtZGlhbG9nPiJdfQ==
@@ -1,139 +0,0 @@
1
- import { Component, Output, Input, EventEmitter } from '@angular/core';
2
- import { Validators } from '@angular/forms';
3
- import { MessageService } from 'primeng/api';
4
- import { PmJobStatus } from '../../models/pmJobStatus';
5
- import { ReasonCode } from '../../models/reasonCode';
6
- import { ReasonContact } from '../../models/reasonContact';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/forms";
9
- import * as i2 from "primeng/api";
10
- import * as i3 from "@angular/common";
11
- import * as i4 from "primeng/inputtext";
12
- import * as i5 from "primeng/toast";
13
- import * as i6 from "primeng/inputtextarea";
14
- import * as i7 from "primeng/dropdown";
15
- export class ContactComponent {
16
- constructor(formBuilder, messageService) {
17
- this.formBuilder = formBuilder;
18
- this.messageService = messageService;
19
- this.loading = false;
20
- this.submitted = false;
21
- this.systems = [];
22
- this.selectedSystems = [];
23
- this.sendForm = new EventEmitter();
24
- this.systemContainPm = true;
25
- this.showPm = false;
26
- }
27
- ngOnChanges() {
28
- this.reasons = this.reasons.filter(x => (x.code == ReasonCode.SDI || x.code == ReasonCode.OTH));
29
- this.selectPM(this.selectedSystem);
30
- this.loadForm();
31
- console.log('changed');
32
- }
33
- // convenience getter for easy access to form fields
34
- get f() {
35
- return this.form.controls;
36
- }
37
- preventStringKeypress(event) {
38
- if (isNaN(Number(String.fromCharCode(event.charCode))) ||
39
- String.fromCharCode(event.charCode) === ' ') {
40
- event.preventDefault();
41
- }
42
- }
43
- onSubmit() {
44
- this.submitted = true;
45
- if (this.form.invalid) {
46
- this.messageService.add({
47
- severity: 'error',
48
- summary: 'Error',
49
- detail: 'The form is invalid',
50
- });
51
- return;
52
- }
53
- console.log(this.form.value.pms);
54
- let detailedPmJob = {};
55
- detailedPmJob.name = this.form.value.name;
56
- detailedPmJob.phone = this.form.value.phone;
57
- detailedPmJob.email = this.form.value.email;
58
- detailedPmJob.reason = this.form.value.reason.name;
59
- detailedPmJob.comment = this.form.value.message;
60
- if (this.form.value.pms !== undefined) {
61
- detailedPmJob.pmJob = this.form.value.pms;
62
- }
63
- detailedPmJob.systemName = this.selectedSystem.name;
64
- detailedPmJob.systemId = this.selectedSystem.systemId;
65
- detailedPmJob.siteName = this.selectedSystem.siteName;
66
- detailedPmJob.siteCity = this.selectedSystem.siteCity;
67
- detailedPmJob.sitePostalCode = this.selectedSystem.sitePostalCode;
68
- detailedPmJob.toUpdate = true;
69
- if (this.form.value.pms !== undefined) {
70
- detailedPmJob.selectedDate = detailedPmJob.pmJob.startDateTime;
71
- }
72
- detailedPmJob.reasonContact = ReasonContact.Contact;
73
- detailedPmJob.futureStatus = this.slectsFutureStatus(this.form.value.reason.code);
74
- console.log();
75
- this.sendForm.emit(detailedPmJob);
76
- }
77
- slectsFutureStatus(status) {
78
- switch (status) {
79
- case ReasonCode.MPM: return PmJobStatus.WAITING;
80
- case ReasonCode.RPM: return PmJobStatus.REPORTED;
81
- case ReasonCode.CPM: return PmJobStatus.CANCELLED;
82
- case ReasonCode.SDI: return PmJobStatus.DESINSTALLED;
83
- case ReasonCode.OTH: return PmJobStatus.OTHER;
84
- default: return "Erreur";
85
- }
86
- }
87
- loadForm() {
88
- let name = sessionStorage.getItem('userName');
89
- let email = sessionStorage.getItem('email');
90
- let phone = sessionStorage.getItem('mobilePhoneNumber');
91
- this.form = this.formBuilder.group({
92
- name: [name !== 'null' ? name : '', [Validators.required, Validators.minLength(3)]],
93
- email: [email !== 'null' ? email : '', [Validators.required, Validators.email]],
94
- phone: [phone !== 'null' ? phone : '', [Validators.required]],
95
- reason: ['', [Validators.required]],
96
- systems: [[], [Validators.required]],
97
- pms: [[], this.showPm ? [] : []],
98
- message: ['', [Validators.required, Validators.minLength(15)]],
99
- });
100
- }
101
- selectPM(selectedSystem) {
102
- console.log(selectedSystem);
103
- this.systemContainPm = true;
104
- if (selectedSystem === undefined) {
105
- return;
106
- }
107
- else {
108
- if (selectedSystem.pmJobs.length === 0) {
109
- this.showPm = false;
110
- }
111
- else {
112
- this.selectedSystem = selectedSystem;
113
- this.pmJobs = selectedSystem.pmJobs;
114
- this.showPm = true;
115
- }
116
- }
117
- }
118
- }
119
- ContactComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ContactComponent, deps: [{ token: i1.FormBuilder }, { token: i2.MessageService }], target: i0.ɵɵFactoryTarget.Component });
120
- ContactComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: ContactComponent, selector: "awf-contact", inputs: { loading: "loading", submitted: "submitted", systems: "systems", selectedSystems: "selectedSystems", translate: "translate", reasons: "reasons" }, outputs: { sendForm: "sendForm" }, providers: [MessageService], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"translate && reasons \">\r\n <section class=\"pt-0\">\r\n <div class=\"app-section-header-img\">\r\n <div class=\"container pt-4\">\r\n <div class=\"\">\r\n <h2>{{translate.title}} </h2>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n <section class=\"py-5 background-light\">\r\n <div class=\"container px-lg-5\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col-md-6\">\r\n <div class=\"container-contact100\">\r\n <div class=\"wrap-contact100\">\r\n <form [formGroup]=\"form\" *ngIf=\"form && systems && reasons\" class=\"contact100-form validate-form\">\r\n <span class=\"contact100-form-title\">{{translate.title}} </span>\r\n <div class=\"p-grid p-fluid p-mt-2\">\r\n <div class=\"p-col-12 p-md-12 \">\r\n <span class=\"titre\">{{translate.placeholderName}}</span> <span class=\"requis\">* </span>:\r\n <input [placeholder]=\"translate.placeholderName\" type=\"text\" pInputText formControlName=\"name\" [ngClass]=\"{ 'is-invalid': submitted && f.name.invalid }\">\r\n <div *ngIf=\"submitted && f.name.errors\">\r\n <div class=\"requis\" *ngIf=\"f.name.errors.required\">{{translate.requiredName}}</div>\r\n <div class=\"requis\" *ngIf=\"f.name.errors.minlength\">{{translate.requiredNameMin}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"p-grid p-fluid p-mt-2\">\r\n <div class=\"p-col-12 p-md-12 \">\r\n <span class=\"titre\">{{translate.placeholderEmail}}</span> <span class=\"requis\">*</span>:\r\n <input [placeholder]=\"translate.placeholderEmail\" type=\"text\" pInputText formControlName=\"email\" [ngClass]=\"{ 'is-invalid': submitted && f.email.invalid }\">\r\n <div *ngIf=\"submitted && f.email.errors\">\r\n <div class=\"requis\" *ngIf=\"f.email.errors.required\">{{translate.requiredEmail}}</div>\r\n <div class=\"requis\" *ngIf=\"f.email.errors.email\">{{translate.requiredEmailFormat}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"p-grid p-fluid p-mt-2\">\r\n <div class=\"p-col-12 p-md-12 \">\r\n <span class=\"titre\">{{translate.placeholderPhone}}</span> <span class=\"requis\">*</span>:\r\n <input [placeholder]=\"translate.placeholderPhone\" type=\"text\" pInputText formControlName=\"phone\" [ngClass]=\"{ 'is-invalid': submitted && f.phone.invalid }\" (keypress)=\"preventStringKeypress($event)\">\r\n <div *ngIf=\"submitted && f.phone.errors\">\r\n <div class=\"requis\" *ngIf=\"f.phone.errors.required\">{{translate.requiredPhone}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"p-grid p-fluid p-mt-2\">\r\n <div class=\"p-col-12 p-md-12 \">\r\n <span class=\"titre\">{{translate.RelatedSystems}}</span> <span class=\"requis\">*</span>:\r\n <p-dropdown (click)=\"selectPM(selectedSystem)\" [options]=\"systems\" [placeholder]=\"translate.selectSystem\" [(ngModel)]=\"selectedSystem\" [optionLabel]=\"'systemId - name'\" formControlName=\"systems\" optionDisabled=\"inactive\" [ngClass]=\"{ 'is-invalid': submitted && f.systems.invalid }\"></p-dropdown> \r\n \r\n <div *ngIf=\"submitted && f.systems.errors\">\r\n <div class=\"requis\" *ngIf=\"f.systems.errors.required\">{{translate.requiredSystem}}</div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"p-grid p-fluid p-mt-2\" *ngIf=\"showPm\">\r\n <div class=\"p-col-12 p-md-12 \">\r\n <span class=\"titre\">{{translate.RelatedPMs}}</span>:\r\n <p-dropdown [options]=\"pmJobs\" [placeholder]=\"translate.selectPM\" [(ngModel)]=\"selectedPm\" [optionLabel]=\"'workorderNumber'\" formControlName=\"pms\" optionDisabled=\"inactive\" [ngClass]=\"{ 'is-invalid': submitted && f.pms.invalid }\"></p-dropdown> \r\n <!-- <div *ngIf=\"submitted && f.pms.errors\">\r\n <div class=\"requis\" *ngIf=\"f.pms.errors.required\">{{translate.requiredPM }}</div>\r\n </div>-->\r\n </div>\r\n </div>\r\n <div class=\"p-grid p-fluid p-mt-2\">\r\n <div class=\"p-col-12 p-md-12 \">\r\n <span class=\"titre\">{{translate.reason}}</span> <span class=\"requis\">*</span>:\r\n <p-dropdown [options]=\"reasons\" [placeholder]=\"translate.selectReason\" [(ngModel)]=\"selectedReason\" optionLabel=\"name\" formControlName=\"reason\" optionDisabled=\"inactive\" [ngClass]=\"{ 'is-invalid': submitted && f.reason.invalid }\"></p-dropdown>\r\n <!-- <input [placeholder]=\"translate.reason\" type=\"text\" pInputText formControlName=\"reason\" [ngClass]=\"{ 'is-invalid': submitted && f.reason.invalid }\"> -->\r\n <div *ngIf=\"submitted && f.reason.errors\">\r\n <div class=\"requis\" *ngIf=\"f.reason.errors.required\">{{translate.reasonRequired}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"p-grid p-fluid p-mt-2\">\r\n <div class=\"p-col-12 p-md-12 \">\r\n <span class=\"titre\">{{translate.placeholderMessage}} </span> <span class=\"requis\">*</span>:\r\n <textarea pInputTextarea style=\" min-height:100px;height:100%;width:100%;\" [placeholder]=\"translate.placeholderMessage +'...'\" formControlName=\"message\" [ngClass]=\"{ 'is-invalid': submitted && f.message.errors }\"></textarea>\r\n <div *ngIf=\"submitted && f.message.errors\">\r\n <div class=\"requis\" *ngIf=\"f.message.errors.required\">{{translate.requiredMessage}}</div>\r\n <div class=\"requis\" *ngIf=\"f.message.errors.minlength\">{{translate.requiredMessageMin}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <br>\r\n <br>\r\n <div class=\"container-contact100-form-btn\">\r\n <div class=\"wrap-contact100-form-btn\">\r\n <div class=\"contact100-form-bgbtn\"></div>\r\n <button class=\"btn-warranty mt-3\" (click)=\"onSubmit()\">\r\n {{translate.send}}\r\n </button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 contact\">\r\n <iframe src=\"https://maps.google.com/maps?q=283,%20Rue%20De%20la%20Miniere-BP34%20%2078533%20BUC%20%E2%80%93%20Cedex&amp;t=&amp;z=13&amp;ie=UTF8&amp;iwloc=&amp;output=embed\" width=\"100%\" height=\"250\" style=\"border:0;\" allowfullscreen=\"\" loading=\"lazy\"></iframe>\r\n <h6 class=\"fs-4 mt-3\"> {{translate.information}}</h6>\r\n <section class=\"mb-4\">\r\n <div class=\"\">\r\n <i class=\"pi pi-envelope\"></i><label> &nbsp; {{translate.emailText}}</label>\r\n <p class=\"\">{{translate.email}} </p>\r\n </div>\r\n <div class=\" mt-4\">\r\n <i class=\"pi pi-map\"></i><label> &nbsp; {{translate.addressText}}</label>\r\n <p class=\"\">{{translate.adress}}</p>\r\n <p class=\"\">{{translate.town}}</p>\r\n <p class=\"\">{{translate.country}}</p>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </section>\r\n</div>\r\n\r\n<p-toast position=\"top-center\"></p-toast>\r\n", styles: ["h1,h2,h3,h4,h5,h6,p,span,label,::placeholder{font-family:var(--font)}.app-section-header-img{background-image:url(/assets/img/GEPortal/contact.png);background-repeat:no-repeat;background-size:cover;background-position:center center;display:flex;align-items:center;height:237px}@media (max-width: var(--smallscreen)){.app-section-header-img{height:auto}}.app-section-header-img h2{font-size:48px;font-family:var(--font);font-weight:600;color:#fff;text-align:center}@media (max-width: var(--smallscreen)){.app-section-header-img h2{font-size:30px}}@media (max-width: var(--smallscreen)){.app-section-header-img{padding-left:15px;padding-right:15px}}@media (max-width: var(--tinyscreen)){.app-section-header-img{height:200px}}h2{font-weight:600}a:focus{outline:none!important}a:hover{text-decoration:none}input{outline:none;border:none}input.input100{height:62px;padding:0 20px 0 58px}input[type=number]{appearance:none;-webkit-appearance:none}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}textarea{outline:none;border:none}textarea.input100{min-height:199px;padding:19px 20px 0 23px}textarea:focus,input:focus{border-color:transparent!important}.container-contact100{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;padding:15px}.wrap-contact100{width:550px;background:transparent;padding:30px 0 80px}.contact100-form-title{display:block;font-family:var(--font);font-size:30px;color:#43383e;line-height:1.2;text-align:left;padding-bottom:35px}.wrap-input100{width:100%;position:relative;background-color:#fff;margin-bottom:17px}.label-input100{display:flex;justify-content:center;align-items:center;width:58px;height:62px;position:absolute;top:0;left:0;cursor:pointer;font-size:18px;color:#999}.input100{display:block;width:100%;background:transparent;font-size:15px;color:#43383e;line-height:1.2;padding:0 5px}@media (max-width: var(--smallscreen)){.contact iframe{width:auto}}.contact label{margin-left:10px;color:#a2a2a2;font-weight:700}.contact i{color:#a2a2a2;font-weight:700}.contact .social li{display:inline;padding:10px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.InputText, selector: "[pInputText]" }, { kind: "component", type: i5.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i6.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "overlayDirection", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] });
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ContactComponent, decorators: [{
122
- type: Component,
123
- args: [{ selector: 'awf-contact', providers: [MessageService], template: "<div *ngIf=\"translate && reasons \">\r\n <section class=\"pt-0\">\r\n <div class=\"app-section-header-img\">\r\n <div class=\"container pt-4\">\r\n <div class=\"\">\r\n <h2>{{translate.title}} </h2>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n <section class=\"py-5 background-light\">\r\n <div class=\"container px-lg-5\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col-md-6\">\r\n <div class=\"container-contact100\">\r\n <div class=\"wrap-contact100\">\r\n <form [formGroup]=\"form\" *ngIf=\"form && systems && reasons\" class=\"contact100-form validate-form\">\r\n <span class=\"contact100-form-title\">{{translate.title}} </span>\r\n <div class=\"p-grid p-fluid p-mt-2\">\r\n <div class=\"p-col-12 p-md-12 \">\r\n <span class=\"titre\">{{translate.placeholderName}}</span> <span class=\"requis\">* </span>:\r\n <input [placeholder]=\"translate.placeholderName\" type=\"text\" pInputText formControlName=\"name\" [ngClass]=\"{ 'is-invalid': submitted && f.name.invalid }\">\r\n <div *ngIf=\"submitted && f.name.errors\">\r\n <div class=\"requis\" *ngIf=\"f.name.errors.required\">{{translate.requiredName}}</div>\r\n <div class=\"requis\" *ngIf=\"f.name.errors.minlength\">{{translate.requiredNameMin}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"p-grid p-fluid p-mt-2\">\r\n <div class=\"p-col-12 p-md-12 \">\r\n <span class=\"titre\">{{translate.placeholderEmail}}</span> <span class=\"requis\">*</span>:\r\n <input [placeholder]=\"translate.placeholderEmail\" type=\"text\" pInputText formControlName=\"email\" [ngClass]=\"{ 'is-invalid': submitted && f.email.invalid }\">\r\n <div *ngIf=\"submitted && f.email.errors\">\r\n <div class=\"requis\" *ngIf=\"f.email.errors.required\">{{translate.requiredEmail}}</div>\r\n <div class=\"requis\" *ngIf=\"f.email.errors.email\">{{translate.requiredEmailFormat}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"p-grid p-fluid p-mt-2\">\r\n <div class=\"p-col-12 p-md-12 \">\r\n <span class=\"titre\">{{translate.placeholderPhone}}</span> <span class=\"requis\">*</span>:\r\n <input [placeholder]=\"translate.placeholderPhone\" type=\"text\" pInputText formControlName=\"phone\" [ngClass]=\"{ 'is-invalid': submitted && f.phone.invalid }\" (keypress)=\"preventStringKeypress($event)\">\r\n <div *ngIf=\"submitted && f.phone.errors\">\r\n <div class=\"requis\" *ngIf=\"f.phone.errors.required\">{{translate.requiredPhone}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"p-grid p-fluid p-mt-2\">\r\n <div class=\"p-col-12 p-md-12 \">\r\n <span class=\"titre\">{{translate.RelatedSystems}}</span> <span class=\"requis\">*</span>:\r\n <p-dropdown (click)=\"selectPM(selectedSystem)\" [options]=\"systems\" [placeholder]=\"translate.selectSystem\" [(ngModel)]=\"selectedSystem\" [optionLabel]=\"'systemId - name'\" formControlName=\"systems\" optionDisabled=\"inactive\" [ngClass]=\"{ 'is-invalid': submitted && f.systems.invalid }\"></p-dropdown> \r\n \r\n <div *ngIf=\"submitted && f.systems.errors\">\r\n <div class=\"requis\" *ngIf=\"f.systems.errors.required\">{{translate.requiredSystem}}</div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"p-grid p-fluid p-mt-2\" *ngIf=\"showPm\">\r\n <div class=\"p-col-12 p-md-12 \">\r\n <span class=\"titre\">{{translate.RelatedPMs}}</span>:\r\n <p-dropdown [options]=\"pmJobs\" [placeholder]=\"translate.selectPM\" [(ngModel)]=\"selectedPm\" [optionLabel]=\"'workorderNumber'\" formControlName=\"pms\" optionDisabled=\"inactive\" [ngClass]=\"{ 'is-invalid': submitted && f.pms.invalid }\"></p-dropdown> \r\n <!-- <div *ngIf=\"submitted && f.pms.errors\">\r\n <div class=\"requis\" *ngIf=\"f.pms.errors.required\">{{translate.requiredPM }}</div>\r\n </div>-->\r\n </div>\r\n </div>\r\n <div class=\"p-grid p-fluid p-mt-2\">\r\n <div class=\"p-col-12 p-md-12 \">\r\n <span class=\"titre\">{{translate.reason}}</span> <span class=\"requis\">*</span>:\r\n <p-dropdown [options]=\"reasons\" [placeholder]=\"translate.selectReason\" [(ngModel)]=\"selectedReason\" optionLabel=\"name\" formControlName=\"reason\" optionDisabled=\"inactive\" [ngClass]=\"{ 'is-invalid': submitted && f.reason.invalid }\"></p-dropdown>\r\n <!-- <input [placeholder]=\"translate.reason\" type=\"text\" pInputText formControlName=\"reason\" [ngClass]=\"{ 'is-invalid': submitted && f.reason.invalid }\"> -->\r\n <div *ngIf=\"submitted && f.reason.errors\">\r\n <div class=\"requis\" *ngIf=\"f.reason.errors.required\">{{translate.reasonRequired}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"p-grid p-fluid p-mt-2\">\r\n <div class=\"p-col-12 p-md-12 \">\r\n <span class=\"titre\">{{translate.placeholderMessage}} </span> <span class=\"requis\">*</span>:\r\n <textarea pInputTextarea style=\" min-height:100px;height:100%;width:100%;\" [placeholder]=\"translate.placeholderMessage +'...'\" formControlName=\"message\" [ngClass]=\"{ 'is-invalid': submitted && f.message.errors }\"></textarea>\r\n <div *ngIf=\"submitted && f.message.errors\">\r\n <div class=\"requis\" *ngIf=\"f.message.errors.required\">{{translate.requiredMessage}}</div>\r\n <div class=\"requis\" *ngIf=\"f.message.errors.minlength\">{{translate.requiredMessageMin}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <br>\r\n <br>\r\n <div class=\"container-contact100-form-btn\">\r\n <div class=\"wrap-contact100-form-btn\">\r\n <div class=\"contact100-form-bgbtn\"></div>\r\n <button class=\"btn-warranty mt-3\" (click)=\"onSubmit()\">\r\n {{translate.send}}\r\n </button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 contact\">\r\n <iframe src=\"https://maps.google.com/maps?q=283,%20Rue%20De%20la%20Miniere-BP34%20%2078533%20BUC%20%E2%80%93%20Cedex&amp;t=&amp;z=13&amp;ie=UTF8&amp;iwloc=&amp;output=embed\" width=\"100%\" height=\"250\" style=\"border:0;\" allowfullscreen=\"\" loading=\"lazy\"></iframe>\r\n <h6 class=\"fs-4 mt-3\"> {{translate.information}}</h6>\r\n <section class=\"mb-4\">\r\n <div class=\"\">\r\n <i class=\"pi pi-envelope\"></i><label> &nbsp; {{translate.emailText}}</label>\r\n <p class=\"\">{{translate.email}} </p>\r\n </div>\r\n <div class=\" mt-4\">\r\n <i class=\"pi pi-map\"></i><label> &nbsp; {{translate.addressText}}</label>\r\n <p class=\"\">{{translate.adress}}</p>\r\n <p class=\"\">{{translate.town}}</p>\r\n <p class=\"\">{{translate.country}}</p>\r\n </div>\r\n </section>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </section>\r\n</div>\r\n\r\n<p-toast position=\"top-center\"></p-toast>\r\n", styles: ["h1,h2,h3,h4,h5,h6,p,span,label,::placeholder{font-family:var(--font)}.app-section-header-img{background-image:url(/assets/img/GEPortal/contact.png);background-repeat:no-repeat;background-size:cover;background-position:center center;display:flex;align-items:center;height:237px}@media (max-width: var(--smallscreen)){.app-section-header-img{height:auto}}.app-section-header-img h2{font-size:48px;font-family:var(--font);font-weight:600;color:#fff;text-align:center}@media (max-width: var(--smallscreen)){.app-section-header-img h2{font-size:30px}}@media (max-width: var(--smallscreen)){.app-section-header-img{padding-left:15px;padding-right:15px}}@media (max-width: var(--tinyscreen)){.app-section-header-img{height:200px}}h2{font-weight:600}a:focus{outline:none!important}a:hover{text-decoration:none}input{outline:none;border:none}input.input100{height:62px;padding:0 20px 0 58px}input[type=number]{appearance:none;-webkit-appearance:none}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}textarea{outline:none;border:none}textarea.input100{min-height:199px;padding:19px 20px 0 23px}textarea:focus,input:focus{border-color:transparent!important}.container-contact100{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;padding:15px}.wrap-contact100{width:550px;background:transparent;padding:30px 0 80px}.contact100-form-title{display:block;font-family:var(--font);font-size:30px;color:#43383e;line-height:1.2;text-align:left;padding-bottom:35px}.wrap-input100{width:100%;position:relative;background-color:#fff;margin-bottom:17px}.label-input100{display:flex;justify-content:center;align-items:center;width:58px;height:62px;position:absolute;top:0;left:0;cursor:pointer;font-size:18px;color:#999}.input100{display:block;width:100%;background:transparent;font-size:15px;color:#43383e;line-height:1.2;padding:0 5px}@media (max-width: var(--smallscreen)){.contact iframe{width:auto}}.contact label{margin-left:10px;color:#a2a2a2;font-weight:700}.contact i{color:#a2a2a2;font-weight:700}.contact .social li{display:inline;padding:10px}\n"] }]
124
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.MessageService }]; }, propDecorators: { loading: [{
125
- type: Input
126
- }], submitted: [{
127
- type: Input
128
- }], systems: [{
129
- type: Input
130
- }], selectedSystems: [{
131
- type: Input
132
- }], translate: [{
133
- type: Input
134
- }], reasons: [{
135
- type: Input
136
- }], sendForm: [{
137
- type: Output
138
- }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hd2YtdGVzdC1saWIvc3JjL2xpYi9zaGFyZWQvY29udGFjdC9jb250YWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F3Zi10ZXN0LWxpYi9zcmMvbGliL3NoYXJlZC9jb250YWN0L2NvbnRhY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWEsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7OztBQVEzRCxNQUFNLE9BQU8sZ0JBQWdCO0lBaUIzQixZQUNZLFdBQXdCLEVBQ3hCLGNBQThCO1FBRDlCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQWpCakMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFHOUIsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBTTNELG9CQUFlLEdBQUcsSUFBSSxDQUFFO1FBRXhCLFdBQU0sR0FBRyxLQUFLLENBQUU7SUFJYixDQUFDO0lBRUosV0FBVztRQUNULElBQUksQ0FBQyxP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QUFDLEVBQ3RDO2dCQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFFO2FBQ3RCO2lCQUVEO2dCQUNFLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFFO2FBRXJCO1NBSUY7SUFDSCxDQUFDOzs4R0ExSVUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IscU9BRmhCLENBQUMsY0FBYyxDQUFDLCtDQ2Y3QixpNFRBNEhBOzRGRDNHYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsYUFBYSxhQUdaLENBQUMsY0FBYyxDQUFDOytIQUlsQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIE9uQ2hhbmdlcywgSW5wdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgRGV0YWlsZWRQbUpvYiB9IGZyb20gJy4uLy4uL21vZGVscy9kZXRhaWxlZFBtSm9iLm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnRTdGF0dXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnRTdGF0dXMnO1xyXG5pbXBvcnQgeyBQbUpvYiB9IGZyb20gJy4uLy4uL21vZGVscy9wbUpvYi5tb2RlbCc7XHJcbmltcG9ydCB7IFBtSm9iU3RhdHVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3BtSm9iU3RhdHVzJztcclxuaW1wb3J0IHsgUmVhc29uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JlYXNvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFJlYXNvbkNvZGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmVhc29uQ29kZSc7XHJcbmltcG9ydCB7IFJlYXNvbkNvbnRhY3QgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmVhc29uQ29udGFjdCc7XHJcbmltcG9ydCB7IFN5c3RlbSB9IGZyb20gJy4uLy4uL21vZGVscy9zeXN0ZW0nO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F3Zi1jb250YWN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGFjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzdWJtaXR0ZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzeXN0ZW1zOiBTeXN0ZW1bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkU3lzdGVtczogU3lzdGVtW10gPSBbXTtcclxuICBASW5wdXQoKSB0cmFuc2xhdGUhOmFueTtcclxuICBASW5wdXQoKSByZWFzb25zITogUmVhc29uW107XHJcbiAgQE91dHB1dCgpIHNlbmRGb3JtOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBmb3JtITogRm9ybUdyb3VwO1xyXG4gIHNlbGVjdGVkUmVhc29uITogYW55O1xyXG4gIHNlbGVjdGVkU3lzdGVtITogU3lzdGVtO1xyXG4gIHNlbGVjdGVkUG0hOiBhbnk7XHJcbiAgcG1Kb2JzITpQbUpvYltdO1xyXG4gIHN5c3RlbUNvbnRhaW5QbSA9IHRydWUgO1xyXG5cclxuICBzaG93UG0gPSBmYWxzZSA7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxyXG4gICAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWFzb25zID0gdGhpcy5yZWFzb25zLmZpbHRlcih4PT4gKHguY29kZT09IFJlYXNvbkNvZGUuU0RJfHwgeC5jb2RlPT0gUmVhc29uQ29kZS5PVEggKSk7XHJcbiAgICB0aGlzLnNlbGVjdFBNKHRoaXMuc2VsZWN0ZWRTeXN0ZW0pICBcclxuICAgIHRoaXMubG9hZEZvcm0oKTtcclxuICAgIGNvbnNvbGUubG9nKCdjaGFuZ2VkJylcclxuICB9XHJcblxyXG4gIC8vIGNvbnZlbmllbmNlIGdldHRlciBmb3IgZWFzeSBhY2Nlc3MgdG8gZm9ybSBmaWVsZHNcclxuICBnZXQgZigpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9scztcclxuICB9XHJcblxyXG4gIHByZXZlbnRTdHJpbmdLZXlwcmVzcyhldmVudDogYW55KTogdm9pZCB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICAgIGlzTmFOKE51bWJlcihTdHJpbmcuZnJvbUNoYXJDb2RlKGV2ZW50LmNoYXJDb2RlKSkpIHx8XHJcbiAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKGV2ZW50LmNoYXJDb2RlKSA9PT0gJyAnXHJcbiAgICAgICkge1xyXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xyXG4gICAgICAgICAgICBzZXZlcml0eTogJ2Vycm9yJyxcclxuICAgICAgICAgICAgc3VtbWFyeTogJ0Vycm9yJyxcclxuICAgICAgICAgICAgZGV0YWlsOiAnVGhlIGZvcm0gaXMgaW52YWxpZCcsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnNvbGUubG9nKHRoaXMuZm9ybS52YWx1ZS5wbXMpXHJcbiAgICBsZXQgZGV0YWlsZWRQbUpvYiA9IHsgfSBhcyBEZXRhaWxlZFBtSm9iIDtcclxuICAgIGRldGFpbGVkUG1Kb2IubmFtZSA9IHRoaXMuZm9ybS52YWx1ZS5uYW1lO1xyXG4gICAgZGV0YWlsZWRQbUpvYi5waG9uZSA9IHRoaXMuZm9ybS52YWx1ZS5waG9uZTtcclxuICAgIGRldGFpbGVkUG1Kb2IuZW1haWwgPSB0aGlzLmZvcm0udmFsdWUuZW1haWw7XHJcbiAgICBkZXRhaWxlZFBtSm9iLnJlYXNvbiA9IHRoaXMuZm9ybS52YWx1ZS5yZWFzb24ubmFtZTtcclxuICAgIGRldGFpbGVkUG1Kb2IuY29tbWVudCA9IHRoaXMuZm9ybS52YWx1ZS5tZXNzYWdlO1xyXG4gICAgaWYoIHRoaXMuZm9ybS52YWx1ZS5wbXMgIT09IHVuZGVmaW5lZCl7XHJcbiAgICAgIGRldGFpbGVkUG1Kb2IucG1Kb2IgPSB0aGlzLmZvcm0udmFsdWUucG1zO1xyXG4gICAgfVxyXG4gICAgZGV0YWlsZWRQbUpvYi5zeXN0ZW1OYW1lID0gdGhpcy5zZWxlY3RlZFN5c3RlbS5uYW1lIDtcclxuICAgIGRldGFpbGVkUG1Kb2Iuc3lzdGVtSWQgPSB0aGlzLnNlbGVjdGVkU3lzdGVtLnN5c3RlbUlkIDtcclxuICAgIGRldGFpbGVkUG1Kb2Iuc2l0ZU5hbWUgPSB0aGlzLnNlbGVjdGVkU3lzdGVtLnNpdGVOYW1lIDtcclxuICAgIGRldGFpbGVkUG1Kb2Iuc2l0ZUNpdHkgPSB0aGlzLnNlbGVjdGVkU3lzdGVtLnNpdGVDaXR5IDtcclxuICAgIGRldGFpbGVkUG1Kb2Iuc2l0ZVBvc3RhbENvZGUgPXRoaXMuc2VsZWN0ZWRTeXN0ZW0uc2l0ZVBvc3RhbENvZGVcclxuICAgIGRldGFpbGVkUG1Kb2IudG9VcGRhdGUgPSB0cnVlIDtcclxuICAgIGlmKCB0aGlzLmZvcm0udmFsdWUucG1zICE9PSB1bmRlZmluZWQpXHJcbiAgICB7XHJcbiAgZGV0YWlsZWRQbUpvYi5zZWxlY3RlZERhdGUgPSBkZXRhaWxlZFBtSm9iLnBtSm9iLnN0YXJ0RGF0ZVRpbWUgO1xyXG5cclxufVxyXG4gICAgZGV0YWlsZWRQbUpvYi5yZWFzb25Db250YWN0ID0gUmVhc29uQ29udGFjdC5Db250YWN0IDtcclxuICAgIGRldGFpbGVkUG1Kb2IuZnV0dXJlU3RhdHVzID0gdGhpcy5zbGVjdHNGdXR1cmVTdGF0dXModGhpcy5mb3JtLnZhbHVlLnJlYXNvbi5jb2RlKSBcclxuICAgIGNvbnNvbGUubG9nKCkgXHJcbiAgICB0aGlzLnNlbmRGb3JtLmVtaXQoZGV0YWlsZWRQbUpvYik7XHJcbiAgfVxyXG5cclxuICBzbGVjdHNGdXR1cmVTdGF0dXMoc3RhdHVzOmFueSlcclxuICB7XHJcbiAgICAgIHN3aXRjaCAoc3RhdHVzKSB7XHJcbiAgICAgICAgICBjYXNlIFJlYXNvbkNvZGUuTVBNIDogcmV0dXJuIFBtSm9iU3RhdHVzLldBSVRJTkc7XHJcbiAgICAgICAgICBjYXNlIFJlYXNvbkNvZGUuUlBNIDogcmV0dXJuIFBtSm9iU3RhdHVzLlJFUE9SVEVEO1xyXG4gICAgICAgICAgY2FzZSBSZWFzb25Db2RlLkNQTSA6IHJldHVybiBQbUpvYlN0YXR1cy5DQU5DRUxMRUQ7XHJcbiAgICAgICAgICBjYXNlIFJlYXNvbkNvZGUuU0RJIDogcmV0dXJuIFBtSm9iU3RhdHVzLkRFU0lOU1RBTExFRDtcclxuICAgICAgICAgIGNhc2UgUmVhc29uQ29kZS5PVEg6IHJldHVybiBQbUpvYlN0YXR1cy5PVEhFUjtcclxuICAgICAgICAgIGRlZmF1bHQgOiByZXR1cm4gXCJFcnJldXJcIjtcclxuICAgICAgfVxyXG4gIH0gXHJcblxyXG4gXHJcbiAgbG9hZEZvcm0oKSB7XHJcbiAgICBsZXQgbmFtZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3VzZXJOYW1lJykgYXMgc3RyaW5nICA7XHJcbiAgICBsZXQgZW1haWwgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdlbWFpbCcpIGFzIHN0cmluZztcclxuICAgIGxldCBwaG9uZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ21vYmlsZVBob25lTnVtYmVyJykgYXMgc3RyaW5nO1xyXG4gICAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgICBuYW1lOiBbICBuYW1lICE9PSAnbnVsbCcgPyBuYW1lIDogJycgLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMyldXSxcclxuICAgICAgICBlbWFpbDogWyBlbWFpbCE9PSAnbnVsbCcgPyBlbWFpbCAgOiAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXSxcclxuICAgICAgICBwaG9uZTogWyBwaG9uZSE9PSAnbnVsbCcgPyBwaG9uZSAgOiAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcclxuICAgICAgICByZWFzb246IFsnJyAsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgICAgc3lzdGVtczogW1tdLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICAgIHBtczogW1tdLCB0aGlzLnNob3dQbSA/IFtdIDpbXV0sXHJcbiAgICAgICAgbWVzc2FnZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMTUpXV0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHNlbGVjdFBNKHNlbGVjdGVkU3lzdGVtOmFueSlcclxuICB7XHJcbiAgICBjb25zb2xlLmxvZyhzZWxlY3RlZFN5c3RlbSlcclxuICAgIHRoaXMuc3lzdGVtQ29udGFpblBtID0gdHJ1ZSA7XHJcbiAgICBpZihzZWxlY3RlZFN5c3RlbSA9PT0gdW5kZWZpbmVkIClcclxuICAgIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAge1xyXG5cclxuXHJcbiAgICAgIGlmKHNlbGVjdGVkU3lzdGVtLnBtSm9icy5sZW5ndGggID09PSAwIClcclxuICAgICAge1xyXG4gICAgICAgIHRoaXMuc2hvd1BtID0gZmFsc2UgO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTeXN0ZW0gPSBzZWxlY3RlZFN5c3RlbTtcclxuICAgICAgICB0aGlzLnBtSm9icyA9IHNlbGVjdGVkU3lzdGVtLnBtSm9icztcclxuICAgICAgICB0aGlzLnNob3dQbSA9IHRydWUgO1xyXG5cclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgXHJcbiAgICAgIFxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG59XHJcblxyXG4iLCI8ZGl2ICpuZ0lmPVwidHJhbnNsYXRlICYmIHJlYXNvbnMgXCI+XHJcbiAgICA8c2VjdGlvbiBjbGFzcz1cInB0LTBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLXNlY3Rpb24taGVhZGVyLWltZ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyIHB0LTRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDI+e3t0cmFuc2xhdGUudGl0bGV9fSA8L2gyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJweS01IGJhY2tncm91bmQtbGlnaHRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyIHB4LWxnLTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItY29udGFjdDEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcC1jb250YWN0MTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAqbmdJZj1cImZvcm0gJiYgc3lzdGVtcyAmJiByZWFzb25zXCIgY2xhc3M9XCJjb250YWN0MTAwLWZvcm0gdmFsaWRhdGUtZm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29udGFjdDEwMC1mb3JtLXRpdGxlXCI+e3t0cmFuc2xhdGUudGl0bGV9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZ3JpZCBwLWZsdWlkIHAtbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1jb2wtMTIgcC1tZC0xMiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0cmVcIj57e3RyYW5zbGF0ZS5wbGFjZWhvbGRlck5hbWV9fTwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJyZXF1aXNcIj4qIDwvc3Bhbj46XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW3BsYWNlaG9sZGVyXT1cInRyYW5zbGF0ZS5wbGFjZWhvbGRlck5hbWVcIiB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZi5uYW1lLmludmFsaWQgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN1Ym1pdHRlZCAmJiBmLm5hbWUuZXJyb3JzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpc1wiICpuZ0lmPVwiZi5uYW1lLmVycm9ycy5yZXF1aXJlZFwiPnt7dHJhbnNsYXRlLnJlcXVpcmVkTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpc1wiICpuZ0lmPVwiZi5uYW1lLmVycm9ycy5taW5sZW5ndGhcIj57e3RyYW5zbGF0ZS5yZXF1aXJlZE5hbWVNaW59fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWdyaWQgcC1mbHVpZCBwLW10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtY29sLTEyIHAtbWQtMTIgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdHJlXCI+e3t0cmFuc2xhdGUucGxhY2Vob2xkZXJFbWFpbH19PC9zcGFuPiA8c3BhbiBjbGFzcz1cInJlcXVpc1wiPio8L3NwYW4+OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtwbGFjZWhvbGRlcl09XCJ0cmFuc2xhdGUucGxhY2Vob2xkZXJFbWFpbFwiIHR5cGU9XCJ0ZXh0XCIgcElucHV0VGV4dCBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZi5lbWFpbC5pbnZhbGlkIH1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzdWJtaXR0ZWQgJiYgZi5lbWFpbC5lcnJvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVxdWlzXCIgKm5nSWY9XCJmLmVtYWlsLmVycm9ycy5yZXF1aXJlZFwiPnt7dHJhbnNsYXRlLnJlcXVpcmVkRW1haWx9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXF1aXNcIiAqbmdJZj1cImYuZW1haWwuZXJyb3JzLmVtYWlsXCI+e3t0cmFuc2xhdGUucmVxdWlyZWRFbWFpbEZvcm1hdH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZ3JpZCBwLWZsdWlkIHAtbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1jb2wtMTIgcC1tZC0xMiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0cmVcIj57e3RyYW5zbGF0ZS5wbGFjZWhvbGRlclBob25lfX08L3NwYW4+IDxzcGFuIGNsYXNzPVwicmVxdWlzXCI+Kjwvc3Bhbj46XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW3BsYWNlaG9sZGVyXT1cInRyYW5zbGF0ZS5wbGFjZWhvbGRlclBob25lXCIgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IGZvcm1Db250cm9sTmFtZT1cInBob25lXCIgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmLnBob25lLmludmFsaWQgfVwiIChrZXlwcmVzcyk9XCJwcmV2ZW50U3RyaW5nS2V5cHJlc3MoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN1Ym1pdHRlZCAmJiBmLnBob25lLmVycm9yc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXF1aXNcIiAqbmdJZj1cImYucGhvbmUuZXJyb3JzLnJlcXVpcmVkXCI+e3t0cmFuc2xhdGUucmVxdWlyZWRQaG9uZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZ3JpZCBwLWZsdWlkIHAtbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1jb2wtMTIgcC1tZC0xMiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0cmVcIj57e3RyYW5zbGF0ZS5SZWxhdGVkU3lzdGVtc319PC9zcGFuPiA8c3BhbiBjbGFzcz1cInJlcXVpc1wiPio8L3NwYW4+OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gKGNsaWNrKT1cInNlbGVjdFBNKHNlbGVjdGVkU3lzdGVtKVwiIFtvcHRpb25zXT1cInN5c3RlbXNcIiBbcGxhY2Vob2xkZXJdPVwidHJhbnNsYXRlLnNlbGVjdFN5c3RlbVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRTeXN0ZW1cIiBbb3B0aW9uTGFiZWxdPVwiJ3N5c3RlbUlkIC0gbmFtZSdcIiBmb3JtQ29udHJvbE5hbWU9XCJzeXN0ZW1zXCIgIG9wdGlvbkRpc2FibGVkPVwiaW5hY3RpdmVcIiBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGYuc3lzdGVtcy5pbnZhbGlkIH1cIj48L3AtZHJvcGRvd24+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN1Ym1pdHRlZCAmJiBmLnN5c3RlbXMuZXJyb3JzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpc1wiICpuZ0lmPVwiZi5zeXN0ZW1zLmVycm9ycy5yZXF1aXJlZFwiPnt7dHJhbnNsYXRlLnJlcXVpcmVkU3lzdGVtfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZ3JpZCBwLWZsdWlkIHAtbXQtMlwiICpuZ0lmPVwic2hvd1BtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWNvbC0xMiBwLW1kLTEyIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRyZVwiPnt7dHJhbnNsYXRlLlJlbGF0ZWRQTXN9fTwvc3Bhbj46XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biAgW29wdGlvbnNdPVwicG1Kb2JzXCIgW3BsYWNlaG9sZGVyXT1cInRyYW5zbGF0ZS5zZWxlY3RQTVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRQbVwiIFtvcHRpb25MYWJlbF09XCInd29ya29yZGVyTnVtYmVyJ1wiIGZvcm1Db250cm9sTmFtZT1cInBtc1wiICBvcHRpb25EaXNhYmxlZD1cImluYWN0aXZlXCIgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmLnBtcy5pbnZhbGlkIH1cIj48L3AtZHJvcGRvd24+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJzdWJtaXR0ZWQgJiYgZi5wbXMuZXJyb3JzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpc1wiICpuZ0lmPVwiZi5wbXMuZXJyb3JzLnJlcXVpcmVkXCI+e3t0cmFuc2xhdGUucmVxdWlyZWRQTSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWdyaWQgcC1mbHVpZCBwLW10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtY29sLTEyIHAtbWQtMTIgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdHJlXCI+e3t0cmFuc2xhdGUucmVhc29ufX08L3NwYW4+IDxzcGFuIGNsYXNzPVwicmVxdWlzXCI+Kjwvc3Bhbj46XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJyZWFzb25zXCIgW3BsYWNlaG9sZGVyXT1cInRyYW5zbGF0ZS5zZWxlY3RSZWFzb25cIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUmVhc29uXCIgb3B0aW9uTGFiZWw9XCJuYW1lXCIgZm9ybUNvbnRyb2xOYW1lPVwicmVhc29uXCIgIG9wdGlvbkRpc2FibGVkPVwiaW5hY3RpdmVcIiBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGYucmVhc29uLmludmFsaWQgfVwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGlucHV0IFtwbGFjZWhvbGRlcl09XCJ0cmFuc2xhdGUucmVhc29uXCIgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IGZvcm1Db250cm9sTmFtZT1cInJlYXNvblwiIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZi5yZWFzb24uaW52YWxpZCB9XCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN1Ym1pdHRlZCAmJiBmLnJlYXNvbi5lcnJvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVxdWlzXCIgKm5nSWY9XCJmLnJlYXNvbi5lcnJvcnMucmVxdWlyZWRcIj57e3RyYW5zbGF0ZS5yZWFzb25SZXF1aXJlZH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZ3JpZCBwLWZsdWlkIHAtbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1jb2wtMTIgcC1tZC0xMiBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0cmVcIj57e3RyYW5zbGF0ZS5wbGFjZWhvbGRlck1lc3NhZ2V9fSA8L3NwYW4+IDxzcGFuIGNsYXNzPVwicmVxdWlzXCI+Kjwvc3Bhbj46XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgcElucHV0VGV4dGFyZWEgc3R5bGU9XCIgbWluLWhlaWdodDoxMDBweDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO1wiIFtwbGFjZWhvbGRlcl09XCJ0cmFuc2xhdGUucGxhY2Vob2xkZXJNZXNzYWdlICsnLi4uJ1wiIGZvcm1Db250cm9sTmFtZT1cIm1lc3NhZ2VcIiBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGYubWVzc2FnZS5lcnJvcnMgfVwiPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3VibWl0dGVkICYmIGYubWVzc2FnZS5lcnJvcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVxdWlzXCIgKm5nSWY9XCJmLm1lc3NhZ2UuZXJyb3JzLnJlcXVpcmVkXCI+e3t0cmFuc2xhdGUucmVxdWlyZWRNZXNzYWdlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVxdWlzXCIgKm5nSWY9XCJmLm1lc3NhZ2UuZXJyb3JzLm1pbmxlbmd0aFwiPnt7dHJhbnNsYXRlLnJlcXVpcmVkTWVzc2FnZU1pbn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWNvbnRhY3QxMDAtZm9ybS1idG5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXAtY29udGFjdDEwMC1mb3JtLWJ0blwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhY3QxMDAtZm9ybS1iZ2J0blwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0bi13YXJyYW50eSBtdC0zXCIgKGNsaWNrKT1cIm9uU3VibWl0KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3RyYW5zbGF0ZS5zZW5kfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgY29udGFjdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpZnJhbWUgc3JjPVwiaHR0cHM6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcz9xPTI4MywlMjBSdWUlMjBEZSUyMGxhJTIwTWluaWVyZS1CUDM0JTIwJTIwNzg1MzMlMjBCVUMlMjAlRTIlODAlOTMlMjBDZWRleCZhbXA7dD0mYW1wO3o9MTMmYW1wO2llPVVURjgmYW1wO2l3bG9jPSZhbXA7b3V0cHV0PWVtYmVkXCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMjUwXCIgc3R5bGU9XCJib3JkZXI6MDtcIiBhbGxvd2Z1bGxzY3JlZW49XCJcIiBsb2FkaW5nPVwibGF6eVwiPjwvaWZyYW1lPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cImZzLTQgbXQtM1wiPiB7e3RyYW5zbGF0ZS5pbmZvcm1hdGlvbn19PC9oNj5cclxuICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cIm1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1lbnZlbG9wZVwiPjwvaT48bGFiZWw+ICZuYnNwOyB7e3RyYW5zbGF0ZS5lbWFpbFRleHR9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIlwiPnt7dHJhbnNsYXRlLmVtYWlsfX0gPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiBtdC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLW1hcFwiPjwvaT48bGFiZWw+ICZuYnNwOyB7e3RyYW5zbGF0ZS5hZGRyZXNzVGV4dH19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiXCI+e3t0cmFuc2xhdGUuYWRyZXNzfX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cIlwiPnt7dHJhbnNsYXRlLnRvd259fTwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiXCI+e3t0cmFuc2xhdGUuY291bnRyeX19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG48L2Rpdj5cclxuXHJcbjxwLXRvYXN0IHBvc2l0aW9uPVwidG9wLWNlbnRlclwiPjwvcC10b2FzdD5cclxuIl19