@osovitny/anatoly 2.14.92 → 2.14.94

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.
@@ -0,0 +1,3 @@
1
+ export declare class XmlFormatter {
2
+ static toPrettyXML(s: string): string;
3
+ }
@@ -18,7 +18,8 @@ export * from './services/loading.service';
18
18
  export * from './services/web-storage.service';
19
19
  export * from './services/dm.service';
20
20
  export * from './services/google-analytics.service';
21
- export * from './convert';
21
+ export * from './converts/convert';
22
+ export * from './converts/xmlFormatter';
22
23
  export * from './dom';
23
24
  export * from './guid';
24
25
  export * from './subs';
@@ -8,7 +8,7 @@ export declare abstract class BaseDialog extends BaseEditComponent {
8
8
  opened: EventEmitter<any>;
9
9
  closed: EventEmitter<any>;
10
10
  constructor();
11
- onBeforeOpen?(): void;
11
+ anOnBeforeOpen?(): void;
12
12
  open(): void;
13
13
  close(returnValue?: any): void;
14
14
  cancel(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osovitny/anatoly",
3
- "version": "2.14.92",
3
+ "version": "2.14.94",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "14.0.6",
6
6
  "@angular/core": "14.0.6"
@@ -1,105 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- @osovitny/anatoly
5
-
6
- Authors:
7
- Vadim Osovitny vadim@osovitny.com
8
- Anatoly Osovitny anatoly@osovitny.com
9
-
10
- Created:
11
- 29 June 2020
12
-
13
- Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
14
- </file>
15
- */
16
- export class Convert {
17
- static pad(number) {
18
- if (number < 10) {
19
- return '0' + number;
20
- }
21
- return number;
22
- }
23
- static toLocalizedDateTime(value) {
24
- if (value) {
25
- return new Date(Date.UTC(value.getFullYear(), value.getMonth(), value.getDate(), value.getHours(), value.getMinutes(), value.getSeconds(), value.getMilliseconds()));
26
- }
27
- return null;
28
- }
29
- static enumToString(enumeration, value) {
30
- for (let k in enumeration)
31
- if (enumeration[k] == value)
32
- return k;
33
- return null;
34
- }
35
- static enumToArray(enumeration, notIncludes) {
36
- const notIncludeFiler = (value) => {
37
- if (isNaN(Number(value))) {
38
- return false;
39
- }
40
- if (notIncludes) {
41
- for (let i in notIncludes) {
42
- if (notIncludes[i] == value)
43
- return false;
44
- }
45
- }
46
- return true;
47
- };
48
- return Object.keys(enumeration)
49
- .filter(notIncludeFiler)
50
- .map(key => ({
51
- value: key,
52
- text: enumeration[key]
53
- }));
54
- }
55
- static stringToArray(str, separator = ',') {
56
- if (str) {
57
- return str.split(separator).filter(element => element);
58
- }
59
- return [];
60
- }
61
- static stringToIntArray(str, separator = ',') {
62
- if (str) {
63
- return str.split(separator).filter(element => element).map(value => parseInt(value));
64
- }
65
- return [];
66
- }
67
- static company2String(comp) {
68
- let company = JSON.parse(comp);
69
- if (company) {
70
- return `${company.name} ${company.phone} ${company.email} ${company.websiteUrl}`;
71
- }
72
- }
73
- static address2String(adr) {
74
- let address = JSON.parse(adr);
75
- return `${address.street} ${address.street2} ${address.city} ${address.stateOrRegion} ${address.zipcode} ${address.country}`;
76
- }
77
- static dateToString(date) {
78
- return date.getFullYear() +
79
- '-' + this.pad(date.getMonth() + 1) +
80
- '-' + this.pad(date.getDate()) +
81
- ' ' + this.pad(date.getHours()) +
82
- ':' + this.pad(date.getMinutes()) +
83
- ':' + this.pad(date.getSeconds());
84
- }
85
- static utcDateToLocalDate(d) {
86
- let date = new Date(d);
87
- return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()));
88
- }
89
- static stringToBoolean(value) {
90
- switch (value.toLowerCase().trim()) {
91
- case "true":
92
- case "yes":
93
- case "1":
94
- return true;
95
- case "false":
96
- case "no":
97
- case "0":
98
- case null:
99
- return false;
100
- default:
101
- return Boolean(value);
102
- }
103
- }
104
- }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL2NvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNLE9BQU8sT0FBTztJQUNWLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTTtRQUN2QixJQUFJLE1BQU0sR0FBRyxFQUFFLEVBQUU7WUFDZixPQUFPLEdBQUcsR0FBRyxNQUFNLENBQUM7U0FDckI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLEtBQVc7UUFDM0MsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLElBQUksSUFBSSxDQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQzdELEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUNyRixDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxLQUFLO1FBQzNDLEtBQUssSUFBSSxDQUFDLElBQUksV0FBVztZQUFFLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUs7Z0JBQUUsT0FBTyxDQUFDLENBQUM7UUFFakUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsV0FBWTtRQUNqRCxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2hDLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUN4QixPQUFPLEtBQUssQ0FBQzthQUNkO1lBRUQsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsS0FBSyxJQUFJLENBQUMsSUFBSSxXQUFXLEVBQUU7b0JBQ3pCLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUs7d0JBQ3pCLE9BQU8sS0FBSyxDQUFDO2lCQUNoQjthQUNGO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUE7UUFFRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ2pCLE1BQU0sQ0FBQyxlQUFlLENBQUM7YUFDdkIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNYLEtBQUssRUFBRSxHQUFHO1lBQ1YsSUFBSSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUM7U0FDdkIsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBVyxFQUFFLFlBQW9CLEdBQUc7UUFDOUQsSUFBSSxHQUFHLEVBQUU7WUFDUCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBVyxFQUFFLFlBQW9CLEdBQUc7UUFDakUsSUFBSSxHQUFHLEVBQUU7WUFDUCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDdEY7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQVE7UUFDbkMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFHLE9BQU8sRUFDVjtZQUNFLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbEY7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFPO1FBQ2xDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSTtRQUM3QixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDdkIsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNuQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDOUIsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQy9CLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNqQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFLO1FBQ2pDLFFBQVEsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xDLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxLQUFLLENBQUM7WUFDWCxLQUFLLEdBQUc7Z0JBQ04sT0FBTyxJQUFJLENBQUM7WUFFZCxLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssSUFBSSxDQUFDO1lBQ1YsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLElBQUk7Z0JBQ1AsT0FBTyxLQUFLLENBQUM7WUFFZjtnQkFDRSxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6QjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyOSBKdW5lIDIwMjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcGFkKG51bWJlcikge1xyXG4gICAgaWYgKG51bWJlciA8IDEwKSB7XHJcbiAgICAgIHJldHVybiAnMCcgKyBudW1iZXI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVtYmVyO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0b0xvY2FsaXplZERhdGVUaW1lKHZhbHVlOiBEYXRlKTogRGF0ZSB8IG51bGwge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZShcclxuICAgICAgICBEYXRlLlVUQyh2YWx1ZS5nZXRGdWxsWWVhcigpLCB2YWx1ZS5nZXRNb250aCgpLCB2YWx1ZS5nZXREYXRlKCksXHJcbiAgICAgICAgICB2YWx1ZS5nZXRIb3VycygpLCB2YWx1ZS5nZXRNaW51dGVzKCksIHZhbHVlLmdldFNlY29uZHMoKSwgdmFsdWUuZ2V0TWlsbGlzZWNvbmRzKCkpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGVudW1Ub1N0cmluZyhlbnVtZXJhdGlvbiwgdmFsdWUpIHtcclxuICAgIGZvciAobGV0IGsgaW4gZW51bWVyYXRpb24pIGlmIChlbnVtZXJhdGlvbltrXSA9PSB2YWx1ZSkgcmV0dXJuIGs7XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGVudW1Ub0FycmF5KGVudW1lcmF0aW9uLCBub3RJbmNsdWRlcz8pIHtcclxuICAgIGNvbnN0IG5vdEluY2x1ZGVGaWxlciA9ICh2YWx1ZSkgPT4ge1xyXG4gICAgICBpZiAoaXNOYU4oTnVtYmVyKHZhbHVlKSkpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChub3RJbmNsdWRlcykge1xyXG4gICAgICAgIGZvciAobGV0IGkgaW4gbm90SW5jbHVkZXMpIHtcclxuICAgICAgICAgIGlmIChub3RJbmNsdWRlc1tpXSA9PSB2YWx1ZSlcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVudW1lcmF0aW9uKVxyXG4gICAgICAgICAgICAgICAgIC5maWx0ZXIobm90SW5jbHVkZUZpbGVyKVxyXG4gICAgICAgICAgICAgICAgIC5tYXAoa2V5ID0+ICh7XHJcbiAgICAgICAgICAgICAgICAgICB2YWx1ZToga2V5LFxyXG4gICAgICAgICAgICAgICAgICAgdGV4dDogZW51bWVyYXRpb25ba2V5XVxyXG4gICAgICAgICAgICAgICAgIH0pKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgc3RyaW5nVG9BcnJheShzdHI6IHN0cmluZywgc2VwYXJhdG9yOiBzdHJpbmcgPSAnLCcpIHtcclxuICAgIGlmIChzdHIpIHtcclxuICAgICAgcmV0dXJuIHN0ci5zcGxpdChzZXBhcmF0b3IpLmZpbHRlcihlbGVtZW50ID0+IGVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgc3RyaW5nVG9JbnRBcnJheShzdHI6IHN0cmluZywgc2VwYXJhdG9yOiBzdHJpbmcgPSAnLCcpIHtcclxuICAgIGlmIChzdHIpIHtcclxuICAgICAgcmV0dXJuIHN0ci5zcGxpdChzZXBhcmF0b3IpLmZpbHRlcihlbGVtZW50ID0+IGVsZW1lbnQpLm1hcCh2YWx1ZSA9PiBwYXJzZUludCh2YWx1ZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY29tcGFueTJTdHJpbmcoY29tcDphbnkpOnN0cmluZyB7XHJcbiAgICBsZXQgY29tcGFueSA9IEpTT04ucGFyc2UoY29tcCk7XHJcbiAgICBpZihjb21wYW55KVxyXG4gICAge1xyXG4gICAgICByZXR1cm4gYCR7Y29tcGFueS5uYW1lfSAke2NvbXBhbnkucGhvbmV9ICR7Y29tcGFueS5lbWFpbH0gJHtjb21wYW55LndlYnNpdGVVcmx9YDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgcHVibGljIHN0YXRpYyBhZGRyZXNzMlN0cmluZyhhZHI6YW55KTpzdHJpbmcge1xyXG4gICAgbGV0IGFkZHJlc3MgPSBKU09OLnBhcnNlKGFkcik7XHJcbiAgICByZXR1cm4gYCR7YWRkcmVzcy5zdHJlZXR9ICR7YWRkcmVzcy5zdHJlZXQyfSAke2FkZHJlc3MuY2l0eX0gJHthZGRyZXNzLnN0YXRlT3JSZWdpb259ICR7YWRkcmVzcy56aXBjb2RlfSAke2FkZHJlc3MuY291bnRyeX1gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkYXRlVG9TdHJpbmcoZGF0ZSkge1xyXG4gICAgcmV0dXJuIGRhdGUuZ2V0RnVsbFllYXIoKSArXHJcbiAgICAgICctJyArIHRoaXMucGFkKGRhdGUuZ2V0TW9udGgoKSArIDEpICtcclxuICAgICAgJy0nICsgdGhpcy5wYWQoZGF0ZS5nZXREYXRlKCkpICtcclxuICAgICAgJyAnICsgdGhpcy5wYWQoZGF0ZS5nZXRIb3VycygpKSArXHJcbiAgICAgICc6JyArIHRoaXMucGFkKGRhdGUuZ2V0TWludXRlcygpKSArXHJcbiAgICAgICc6JyArIHRoaXMucGFkKGRhdGUuZ2V0U2Vjb25kcygpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgdXRjRGF0ZVRvTG9jYWxEYXRlKGQpIHtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUoZCk7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpLCBkYXRlLmdldEhvdXJzKCksIGRhdGUuZ2V0TWludXRlcygpLCBkYXRlLmdldFNlY29uZHMoKSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBzdHJpbmdUb0Jvb2xlYW4odmFsdWUpIHtcclxuICAgIHN3aXRjaCAodmFsdWUudG9Mb3dlckNhc2UoKS50cmltKCkpIHtcclxuICAgICAgY2FzZSBcInRydWVcIjpcclxuICAgICAgY2FzZSBcInllc1wiOlxyXG4gICAgICBjYXNlIFwiMVwiOlxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgY2FzZSBcImZhbHNlXCI6XHJcbiAgICAgIGNhc2UgXCJub1wiOlxyXG4gICAgICBjYXNlIFwiMFwiOlxyXG4gICAgICBjYXNlIG51bGw6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gQm9vbGVhbih2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==