@wemake4u/form-player-se 1.0.9 → 1.0.11

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.
@@ -15,6 +15,15 @@ export const Texts = {
15
15
  Type: "Tipo",
16
16
  Actions: "Azioni",
17
17
  ReadMore: "Leggi di più",
18
- ReadLess: "Leggi di meno"
18
+ ReadLess: "Leggi di meno",
19
+ SelectAll: "Seleziona tutto",
20
+ ChooseOne: "Scegli uno",
21
+ True: "Vero",
22
+ False: "Falso",
23
+ Blank: "Vuoto",
24
+ NotBlank: "Non vuoto",
25
+ Information: "Informazioni",
26
+ OpenMenu: "Apri Menu",
27
+ CloseMenu: "Chiudi Menu",
19
28
  };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLHVCQUF1QjtJQUNyQyxNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsT0FBTyxFQUFFLFVBQVU7SUFDbkIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLG9CQUFvQjtJQUNyQyxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLElBQUksRUFBRSxZQUFZO0lBQ2xCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLEtBQUssRUFBRSxRQUFRO0lBQ2YsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsWUFBWTtJQUNsQixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFFBQVEsRUFBRSxjQUFjO0lBQ3hCLFFBQVEsRUFBRSxlQUFlO0NBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVGV4dHMgPSB7XHJcbiAgVHlwZVRvU2VhcmNoOiBcIkRpZ2l0YSBwZXIgY2VyY2FyZS4uLlwiLFxyXG4gIFVwbG9hZDogXCJVcGxvYWRcIixcclxuICBTY3JvbGxMZWZ0OiBcIlNjb3JyaSBhIHNpbmlzdHJhXCIsXHJcbiAgU2Nyb2xsUmlnaHQ6IFwiU2NvcnJpIGEgZGVzdHJhXCIsXHJcbiAgQWRkSXRlbTogXCJBZ2dpdW5naVwiLFxyXG4gIFJlbW92ZUl0ZW06IFwiUmltdW92aVwiLFxyXG4gIFByZXZpb3VzU2VjdGlvbjogXCJTZXppb25lIHByZWNlZGVudGVcIixcclxuICBOZXh0U2VjdGlvbjogXCJTZXppb25lIHN1Y2Nlc3NpdmFcIixcclxuICBTaG93OiBcIlZpc3VhbGl6emFcIixcclxuICBSZW1vdmU6IFwiUmltdW92aVwiLFxyXG4gIENsb3NlOiBcIkNoaXVkaVwiLFxyXG4gIE5hbWU6IFwiTm9tZVwiLFxyXG4gIFNpemU6IFwiRGltZW5zaW9uZVwiLFxyXG4gIFR5cGU6IFwiVGlwb1wiLFxyXG4gIEFjdGlvbnM6IFwiQXppb25pXCIsXHJcbiAgUmVhZE1vcmU6IFwiTGVnZ2kgZGkgcGnDuVwiLFxyXG4gIFJlYWRMZXNzOiBcIkxlZ2dpIGRpIG1lbm9cIlxyXG59O1xyXG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvbG9jYWxlL2xvY2FsZS1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsWUFBWSxFQUFFLHVCQUF1QjtJQUNyQyxNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsT0FBTyxFQUFFLFVBQVU7SUFDbkIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLG9CQUFvQjtJQUNyQyxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLElBQUksRUFBRSxZQUFZO0lBQ2xCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLEtBQUssRUFBRSxRQUFRO0lBQ2YsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsWUFBWTtJQUNsQixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFFBQVEsRUFBRSxjQUFjO0lBQ3hCLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLFNBQVMsRUFBRSxpQkFBaUI7SUFDNUIsU0FBUyxFQUFFLFlBQVk7SUFDdkIsSUFBSSxFQUFFLE1BQU07SUFDWixLQUFLLEVBQUUsT0FBTztJQUNkLEtBQUssRUFBRSxPQUFPO0lBQ2QsUUFBUSxFQUFFLFdBQVc7SUFDckIsV0FBVyxFQUFFLGNBQWM7SUFDM0IsUUFBUSxFQUFFLFdBQVc7SUFDckIsU0FBUyxFQUFFLGFBQWE7Q0FDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBUZXh0cyA9IHtcclxuICBUeXBlVG9TZWFyY2g6IFwiRGlnaXRhIHBlciBjZXJjYXJlLi4uXCIsXHJcbiAgVXBsb2FkOiBcIlVwbG9hZFwiLFxyXG4gIFNjcm9sbExlZnQ6IFwiU2NvcnJpIGEgc2luaXN0cmFcIixcclxuICBTY3JvbGxSaWdodDogXCJTY29ycmkgYSBkZXN0cmFcIixcclxuICBBZGRJdGVtOiBcIkFnZ2l1bmdpXCIsXHJcbiAgUmVtb3ZlSXRlbTogXCJSaW11b3ZpXCIsXHJcbiAgUHJldmlvdXNTZWN0aW9uOiBcIlNlemlvbmUgcHJlY2VkZW50ZVwiLFxyXG4gIE5leHRTZWN0aW9uOiBcIlNlemlvbmUgc3VjY2Vzc2l2YVwiLFxyXG4gIFNob3c6IFwiVmlzdWFsaXp6YVwiLFxyXG4gIFJlbW92ZTogXCJSaW11b3ZpXCIsXHJcbiAgQ2xvc2U6IFwiQ2hpdWRpXCIsXHJcbiAgTmFtZTogXCJOb21lXCIsXHJcbiAgU2l6ZTogXCJEaW1lbnNpb25lXCIsXHJcbiAgVHlwZTogXCJUaXBvXCIsXHJcbiAgQWN0aW9uczogXCJBemlvbmlcIixcclxuICBSZWFkTW9yZTogXCJMZWdnaSBkaSBwacO5XCIsXHJcbiAgUmVhZExlc3M6IFwiTGVnZ2kgZGkgbWVub1wiLFxyXG4gIFNlbGVjdEFsbDogXCJTZWxlemlvbmEgdHV0dG9cIixcclxuICBDaG9vc2VPbmU6IFwiU2NlZ2xpIHVub1wiLFxyXG4gIFRydWU6IFwiVmVyb1wiLFxyXG4gIEZhbHNlOiBcIkZhbHNvXCIsXHJcbiAgQmxhbms6IFwiVnVvdG9cIixcclxuICBOb3RCbGFuazogXCJOb24gdnVvdG9cIixcclxuICBJbmZvcm1hdGlvbjogXCJJbmZvcm1hemlvbmlcIixcclxuICBPcGVuTWVudTogXCJBcHJpIE1lbnVcIixcclxuICBDbG9zZU1lbnU6IFwiQ2hpdWRpIE1lbnVcIixcclxufTtcclxuIl19
@@ -21,18 +21,36 @@ export class FormatterService {
21
21
  }
22
22
  }
23
23
  formatDate(value) {
24
- if (typeof value !== 'string' || !/^\d{4}-\d{2}-\d{2}(T|$)/.test(value)) {
25
- return value;
26
- }
24
+ if (!value)
25
+ return '';
27
26
  const date = new Date(value);
28
- if (isNaN(date.getTime())) {
29
- return value;
30
- }
31
- const day = date.getDate().toString().padStart(2, '0');
32
- const month = (date.getMonth() + 1).toString().padStart(2, '0');
27
+ if (isNaN(date.getTime()))
28
+ return '';
29
+ const day = String(date.getDate()).padStart(2, '0');
30
+ const month = String(date.getMonth() + 1).padStart(2, '0');
33
31
  const year = date.getFullYear();
34
32
  return `${day}/${month}/${year}`;
35
33
  }
34
+ formatDateTime(value) {
35
+ if (!value)
36
+ return '';
37
+ const date = new Date(value);
38
+ if (isNaN(date.getTime()))
39
+ return '';
40
+ const hasTime = typeof value === 'string' && value.includes('T');
41
+ const day = String(date.getDate()).padStart(2, '0');
42
+ const month = String(date.getMonth() + 1).padStart(2, '0');
43
+ const year = date.getFullYear();
44
+ if (!hasTime) {
45
+ return `${day}/${month}/${year} 00:00:00`;
46
+ }
47
+ else {
48
+ const hours = String(date.getHours()).padStart(2, '0');
49
+ const minutes = String(date.getMinutes()).padStart(2, '0');
50
+ const seconds = String(date.getSeconds()).padStart(2, '0');
51
+ return `${day}/${month}/${year} ${hours}:${minutes}:${seconds}`;
52
+ }
53
+ }
36
54
  formatInteger(value) {
37
55
  if (isNaN(value) || value === null || value === undefined) {
38
56
  return value;
@@ -57,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
57
75
  providedIn: 'root'
58
76
  }]
59
77
  }], ctorParameters: () => [] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9zZXJ2aWNlcy9mb3JtYXR0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUMzQyx5REFBeUQ7QUFLekQsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixtREFBbUQ7SUFFbkQsZ0JBQWdCLENBQUM7SUFFakIsY0FBYyxDQUFDLEtBQVUsRUFBRSxTQUF3QixJQUFJO1FBQ3JELElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzFELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFOUYsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE9BQU8sTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDL0IsQ0FBQzthQUNJLENBQUM7WUFDSixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEUsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RCxNQUFNLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVoQyxPQUFPLEdBQUcsR0FBRyxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBVSxFQUFFLFVBQWtCO1FBQzdDLE9BQU8sS0FBZSxDQUFDO1FBQ3ZCLHlGQUF5RjtRQUN6RixnQkFBZ0I7SUFDbEIsQ0FBQzt3R0E1RFUsZ0JBQWdCOzRHQUFoQixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG4vL2ltcG9ydCB7IEZlZWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVlbC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1hdHRlclNlcnZpY2Uge1xyXG5cclxuICAvL2NvbnN0cnVjdG9yKHByaXZhdGUgZmVlbFNlcnZpY2U6IEZlZWxTZXJ2aWNlKSB7IH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgZm9ybWF0Q3VycmVuY3kodmFsdWU6IGFueSwgc3ltYm9sOiBzdHJpbmcgfCBudWxsID0gbnVsbCk6IHN0cmluZyB7XHJcbiAgICBpZiAoaXNOYU4odmFsdWUpIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG51bWJlclZhbHVlID0gcGFyc2VGbG9hdCh2YWx1ZSk7XHJcbiAgICBpZiAoaXNOYU4obnVtYmVyVmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCByZXN1bHQgPSBudW1iZXJWYWx1ZS50b0ZpeGVkKDIpLnJlcGxhY2UoXCIuXCIsIFwiLFwiKS5yZXBsYWNlKC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLCBcIi5cIik7XHJcblxyXG4gICAgaWYgKHN5bWJvbCkge1xyXG4gICAgICByZXR1cm4gc3ltYm9sICsgJyAnICsgcmVzdWx0O1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmb3JtYXREYXRlKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgfHwgIS9eXFxkezR9LVxcZHsyfS1cXGR7Mn0oVHwkKS8udGVzdCh2YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgICBpZiAoaXNOYU4oZGF0ZS5nZXRUaW1lKCkpKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkYXkgPSBkYXRlLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICBjb25zdCBtb250aCA9IChkYXRlLmdldE1vbnRoKCkgKyAxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xyXG5cclxuICAgIHJldHVybiBgJHtkYXl9LyR7bW9udGh9LyR7eWVhcn1gO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0SW50ZWdlcih2YWx1ZTogYW55KTogc3RyaW5nIHtcclxuICAgIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbnVtYmVyVmFsdWUgPSBwYXJzZUludCh2YWx1ZSwgMTApO1xyXG4gICAgaWYgKGlzTmFOKG51bWJlclZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bWJlclZhbHVlLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxCKD89KFxcZHszfSkrKD8hXFxkKSkvZywgXCIuXCIpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0RXhwcmVzc2lvbih2YWx1ZTogYW55LCBleHByZXNzaW9uOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHZhbHVlIGFzIHN0cmluZztcclxuICAgIC8vY29uc3QgcmVzdWx0ID0gdGhpcy5mZWVsU2VydmljZS5ldmFsRXhwcmVzc2lvbihleHByZXNzaW9uLCB7IHZhbHVlOiB2YWx1ZSB9KSBhcyBzdHJpbmc7XHJcbiAgICAvL3JldHVybiByZXN1bHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9zZXJ2aWNlcy9mb3JtYXR0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUMzQyx5REFBeUQ7QUFLekQsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixtREFBbUQ7SUFFbkQsZ0JBQWdCLENBQUM7SUFFakIsY0FBYyxDQUFDLEtBQVUsRUFBRSxTQUF3QixJQUFJO1FBQ3JELElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzFELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFOUYsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE9BQU8sTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDL0IsQ0FBQzthQUNJLENBQUM7WUFDSixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFdEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxD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QUFnQjtJQUNsQixDQUFDO3dHQTlFVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQixjQUZmLE1BQU07OzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbi8vaW1wb3J0IHsgRmVlbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mZWVsLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybWF0dGVyU2VydmljZSB7XHJcblxyXG4gIC8vY29uc3RydWN0b3IocHJpdmF0ZSBmZWVsU2VydmljZTogRmVlbFNlcnZpY2UpIHsgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBmb3JtYXRDdXJyZW5jeSh2YWx1ZTogYW55LCBzeW1ib2w6IHN0cmluZyB8IG51bGwgPSBudWxsKTogc3RyaW5nIHtcclxuICAgIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbnVtYmVyVmFsdWUgPSBwYXJzZUZsb2F0KHZhbHVlKTtcclxuICAgIGlmIChpc05hTihudW1iZXJWYWx1ZSkpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlclZhbHVlLnRvRml4ZWQoMikucmVwbGFjZShcIi5cIiwgXCIsXCIpLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIFwiLlwiKTtcclxuXHJcbiAgICBpZiAoc3ltYm9sKSB7XHJcbiAgICAgIHJldHVybiBzeW1ib2wgKyAnICcgKyByZXN1bHQ7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvcm1hdERhdGUodmFsdWU6IGFueSk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gJyc7XHJcblxyXG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgIGlmIChpc05hTihkYXRlLmdldFRpbWUoKSkpIHJldHVybiAnJztcclxuXHJcbiAgICBjb25zdCBkYXkgPSBTdHJpbmcoZGF0ZS5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICBjb25zdCBtb250aCA9IFN0cmluZyhkYXRlLmdldE1vbnRoKCkgKyAxKS5wYWRTdGFydCgyLCAnMCcpO1xyXG4gICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgIHJldHVybiBgJHtkYXl9LyR7bW9udGh9LyR7eWVhcn1gO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0RGF0ZVRpbWUodmFsdWU6IGFueSk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gJyc7XHJcblxyXG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgIGlmIChpc05hTihkYXRlLmdldFRpbWUoKSkpIHJldHVybiAnJztcclxuXHJcbiAgICBjb25zdCBoYXNUaW1lID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5pbmNsdWRlcygnVCcpO1xyXG5cclxuICAgIGNvbnN0IGRheSA9IFN0cmluZyhkYXRlLmdldERhdGUoKSkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIGNvbnN0IG1vbnRoID0gU3RyaW5nKGRhdGUuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xyXG5cclxuICAgIGlmICghaGFzVGltZSkge1xyXG4gICAgICByZXR1cm4gYCR7ZGF5fS8ke21vbnRofS8ke3llYXJ9IDAwOjAwOjAwYDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCBob3VycyA9IFN0cmluZyhkYXRlLmdldEhvdXJzKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICAgIGNvbnN0IG1pbnV0ZXMgPSBTdHJpbmcoZGF0ZS5nZXRNaW51dGVzKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICAgIGNvbnN0IHNlY29uZHMgPSBTdHJpbmcoZGF0ZS5nZXRTZWNvbmRzKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICAgIHJldHVybiBgJHtkYXl9LyR7bW9udGh9LyR7eWVhcn0gJHtob3Vyc306JHttaW51dGVzfToke3NlY29uZHN9YDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvcm1hdEludGVnZXIodmFsdWU6IGFueSk6IHN0cmluZyB7XHJcbiAgICBpZiAoaXNOYU4odmFsdWUpIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG51bWJlclZhbHVlID0gcGFyc2VJbnQodmFsdWUsIDEwKTtcclxuICAgIGlmIChpc05hTihudW1iZXJWYWx1ZSkpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudW1iZXJWYWx1ZS50b1N0cmluZygpLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIFwiLlwiKTtcclxuICB9XHJcblxyXG4gIGZvcm1hdEV4cHJlc3Npb24odmFsdWU6IGFueSwgZXhwcmVzc2lvbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB2YWx1ZSBhcyBzdHJpbmc7XHJcbiAgICAvL2NvbnN0IHJlc3VsdCA9IHRoaXMuZmVlbFNlcnZpY2UuZXZhbEV4cHJlc3Npb24oZXhwcmVzc2lvbiwgeyB2YWx1ZTogdmFsdWUgfSkgYXMgc3RyaW5nO1xyXG4gICAgLy9yZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxufVxyXG4iXX0=