@magic-xpa/utils 4.1100.0-dev4110.106 → 4.1100.0-dev4110.108

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 (60) hide show
  1. package/README.md +6 -6
  2. package/esm2020/index.mjs +27 -2
  3. package/esm2020/src/Base64.mjs +164 -0
  4. package/esm2020/src/ChoiceUtils.mjs +79 -0
  5. package/esm2020/src/Constants.mjs +74 -0
  6. package/esm2020/src/DateTimeUtils.mjs +54 -0
  7. package/esm2020/src/DateUtil.mjs +58 -0
  8. package/esm2020/src/InternalInterface.mjs +341 -0
  9. package/esm2020/src/JSON_Utils.mjs +7 -0
  10. package/esm2020/src/Logger.mjs +216 -0
  11. package/esm2020/src/MagicConstants.mjs +12 -0
  12. package/esm2020/src/Misc.mjs +98 -0
  13. package/esm2020/src/MsgInterface.mjs +192 -0
  14. package/esm2020/src/PICInterface.mjs +60 -0
  15. package/esm2020/src/PlatformUtils.mjs +11 -0
  16. package/esm2020/src/Queue.mjs +28 -0
  17. package/esm2020/src/Randomizer.mjs +34 -0
  18. package/esm2020/src/RequestInfo.mjs +26 -0
  19. package/esm2020/src/Rtf.mjs +616 -0
  20. package/esm2020/src/StorageAttribute.mjs +84 -0
  21. package/esm2020/src/StrUtil.mjs +453 -0
  22. package/esm2020/src/SyncExecutionHelper.mjs +23 -0
  23. package/esm2020/src/UtilDateJpn.mjs +234 -0
  24. package/esm2020/src/UtilImeJpn.mjs +13 -0
  25. package/esm2020/src/UtilStrByteMode.mjs +300 -0
  26. package/esm2020/src/XMLConstants.mjs +169 -0
  27. package/esm2020/src/Xml/XmlParser.mjs +247 -0
  28. package/esm2020/src/enums.mjs +1763 -0
  29. package/fesm2015/magic-xpa-utils.mjs +5326 -0
  30. package/fesm2015/magic-xpa-utils.mjs.map +1 -1
  31. package/fesm2020/magic-xpa-utils.mjs +5326 -0
  32. package/fesm2020/magic-xpa-utils.mjs.map +1 -1
  33. package/index.d.ts +26 -1
  34. package/package.json +3 -3
  35. package/src/Base64.d.ts +17 -0
  36. package/src/ChoiceUtils.d.ts +5 -0
  37. package/src/Constants.d.ts +71 -0
  38. package/src/DateTimeUtils.d.ts +5 -0
  39. package/src/DateUtil.d.ts +6 -0
  40. package/src/InternalInterface.d.ts +337 -0
  41. package/src/JSON_Utils.d.ts +3 -0
  42. package/src/Logger.d.ts +49 -0
  43. package/src/MagicConstants.d.ts +9 -0
  44. package/src/Misc.d.ts +13 -0
  45. package/src/MsgInterface.d.ts +175 -0
  46. package/src/PICInterface.d.ts +50 -0
  47. package/src/PlatformUtils.d.ts +5 -0
  48. package/src/Queue.d.ts +9 -0
  49. package/src/Randomizer.d.ts +14 -0
  50. package/src/RequestInfo.d.ts +14 -0
  51. package/src/Rtf.d.ts +152 -0
  52. package/src/StorageAttribute.d.ts +14 -0
  53. package/src/StrUtil.d.ts +45 -0
  54. package/src/SyncExecutionHelper.d.ts +7 -0
  55. package/src/UtilDateJpn.d.ts +19 -0
  56. package/src/UtilImeJpn.d.ts +9 -0
  57. package/src/UtilStrByteMode.d.ts +27 -0
  58. package/src/XMLConstants.d.ts +167 -0
  59. package/src/Xml/XmlParser.d.ts +34 -0
  60. package/src/enums.d.ts +1564 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Magic-xpa/utils
2
-
3
- This package is part of Magic xpa Web Application Framework.
4
- It is used to easily create modern business apps powered by Angular to provide a rich user experience and meet the increasingly complex enterprise business expectations for digital transformation.
5
-
6
-
1
+ # Magic-xpa/utils
2
+
3
+ This package is part of Magic xpa Web Application Framework.
4
+ It is used to easily create modern business apps powered by Angular to provide a rich user experience and meet the increasingly complex enterprise business expectations for digital transformation.
5
+
6
+
package/esm2020/index.mjs CHANGED
@@ -1,2 +1,27 @@
1
- export * from "./index";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGUgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYmFycmVsc2J5LlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2luZGV4XCI7XG4iXX0=
1
+ export * from "./src/Base64";
2
+ export * from "./src/ChoiceUtils";
3
+ export * from "./src/Constants";
4
+ export * from "./src/DateTimeUtils";
5
+ export * from "./src/DateUtil";
6
+ export * from "./src/enums";
7
+ export * from "./src/InternalInterface";
8
+ export * from "./src/JSON_Utils";
9
+ export * from "./src/Logger";
10
+ export * from "./src/MagicConstants";
11
+ export * from "./src/Misc";
12
+ export * from "./src/MsgInterface";
13
+ export * from "./src/PICInterface";
14
+ export * from "./src/PlatformUtils";
15
+ export * from "./src/Queue";
16
+ export * from "./src/Randomizer";
17
+ export * from "./src/RequestInfo";
18
+ export * from "./src/Rtf";
19
+ export * from "./src/StorageAttribute";
20
+ export * from "./src/StrUtil";
21
+ export * from "./src/SyncExecutionHelper";
22
+ export * from "./src/UtilDateJpn";
23
+ export * from "./src/UtilImeJpn";
24
+ export * from "./src/UtilStrByteMode";
25
+ export * from "./src/XMLConstants";
26
+ export * from "./src/Xml/XmlParser";
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc3JjL0Jhc2U2NFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0Nob2ljZVV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvQ29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvRGF0ZVRpbWVVdGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0RhdGVVdGlsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvZW51bXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9JbnRlcm5hbEludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL0pTT05fVXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9Mb2dnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9NYWdpY0NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL01pc2NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9Nc2dJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9QSUNJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9QbGF0Zm9ybVV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvUXVldWVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9SYW5kb21pemVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvUmVxdWVzdEluZm9cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9SdGZcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9TdG9yYWdlQXR0cmlidXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvU3RyVXRpbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL1N5bmNFeGVjdXRpb25IZWxwZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9VdGlsRGF0ZUpwblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL1V0aWxJbWVKcG5cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9VdGlsU3RyQnl0ZU1vZGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9YTUxDb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9YbWwvWG1sUGFyc2VyXCI7XG4iXX0=
@@ -0,0 +1,164 @@
1
+ import { ApplicationException, ISO_8859_1_Encoding } from "@magic-xpa/mscorelib";
2
+ import { StrUtil } from "./StrUtil";
3
+ import { Misc } from "./Misc";
4
+ export class Base64 {
5
+ static encode(str, isUseEnvCharset, encoding) {
6
+ if (arguments.length === 1)
7
+ return Base64.encode_1(str, false, null);
8
+ else
9
+ return Base64.encode_1(str, isUseEnvCharset, encoding);
10
+ }
11
+ static encode_1(str, isUseEnvCharset, encoding) {
12
+ let result;
13
+ if (str === null) {
14
+ result = null;
15
+ }
16
+ else {
17
+ if (str === "") {
18
+ result = str;
19
+ }
20
+ else {
21
+ try {
22
+ if (isUseEnvCharset === false) {
23
+ result = btoa(str);
24
+ }
25
+ else {
26
+ let instance = ISO_8859_1_Encoding.ISO_8859_1;
27
+ let encoding2 = isUseEnvCharset ? encoding : instance;
28
+ let ba = Base64.encodeBytes(encoding2.GetBytes(str));
29
+ result = instance.GetString(ba, 0, ba.length);
30
+ }
31
+ }
32
+ catch (ex) {
33
+ throw new ApplicationException(ex.Message);
34
+ }
35
+ }
36
+ }
37
+ return result;
38
+ }
39
+ static encodeBytes(data) {
40
+ if (data === null)
41
+ return null;
42
+ let dest = new Uint8Array(Math.floor((data.length + 2) / 3) * 4);
43
+ let sidx = 0;
44
+ let didx = 0;
45
+ while (sidx < data.length - 2) {
46
+ dest[didx++] = Base64._base64EncMap[Misc.URShift(data[sidx], 2) & 63];
47
+ dest[didx++] = Base64._base64EncMap[(Misc.URShift(data[sidx + 1], 4) & 15) | (data[sidx] << 4 & 63)];
48
+ dest[didx++] = Base64._base64EncMap[(Misc.URShift(data[sidx + 2], 6) & 3) | (data[sidx + 1] << 2 & 63)];
49
+ dest[didx++] = Base64._base64EncMap[(data[sidx + 2] & 63)];
50
+ sidx = sidx + 3;
51
+ }
52
+ if (sidx < data.length) {
53
+ dest[didx++] = Base64._base64EncMap[Misc.URShift(data[sidx], 2) & 63];
54
+ if (sidx < data.length - 1) {
55
+ dest[didx++] = Base64._base64EncMap[(Misc.URShift(data[sidx + 1], 4) & 15) | (data[sidx] << 4 & 63)];
56
+ dest[didx++] = Base64._base64EncMap[data[sidx + 1] << 2 & 63];
57
+ }
58
+ else {
59
+ dest[didx++] = Base64._base64EncMap[data[sidx] << 4 & 63];
60
+ }
61
+ }
62
+ while (didx < dest.length) {
63
+ dest[didx] = 61;
64
+ didx = didx + 1;
65
+ }
66
+ return dest;
67
+ }
68
+ static decode(str, encoding) {
69
+ if (arguments.length === 1)
70
+ encoding = null;
71
+ return Base64.decode_1(str, encoding);
72
+ }
73
+ static decode_1(str, encoding) {
74
+ let result;
75
+ if (str === null) {
76
+ result = null;
77
+ }
78
+ else {
79
+ if (str === "") {
80
+ result = str;
81
+ }
82
+ else {
83
+ try {
84
+ if (encoding === null || encoding === undefined) {
85
+ result = atob(str);
86
+ }
87
+ else {
88
+ let instance = ISO_8859_1_Encoding.ISO_8859_1;
89
+ let array = Base64.decodeBytes(instance.GetBytes(str));
90
+ let encoding2 = (encoding !== null) ? encoding : instance;
91
+ result = encoding2.GetString(array, 0, array.length);
92
+ }
93
+ }
94
+ catch (ex) {
95
+ throw new ApplicationException(ex.Message);
96
+ }
97
+ }
98
+ }
99
+ return result;
100
+ }
101
+ static decodeBytes(data) {
102
+ if (data === null)
103
+ return null;
104
+ let tail = data.length;
105
+ while (data[tail - 1] === '='.charCodeAt(0)) {
106
+ tail = tail - 1;
107
+ }
108
+ let dest = new Uint8Array(tail - Math.floor(data.length / 4));
109
+ for (let idx = 0; idx < data.length; idx = idx + 1) {
110
+ data[idx] = Base64._base64DecMap[data[idx]];
111
+ }
112
+ let sidx = 0;
113
+ let didx;
114
+ for (didx = 0; didx < dest.length - 2; didx = didx + 3) {
115
+ dest[didx] = (((data[sidx] << 2) & 255) | (Misc.URShift(data[sidx + 1], 4) & 3));
116
+ dest[didx + 1] = (((data[sidx + 1] << 4) & 255) | (Misc.URShift(data[sidx + 2], 2) & 15));
117
+ dest[didx + 2] = (((data[sidx + 2] << 6) & 255) | (data[sidx + 3] & 63));
118
+ sidx = sidx + 4;
119
+ }
120
+ if (didx < dest.length)
121
+ dest[didx] = (((data[sidx] << 2) & 255) | (Misc.URShift(data[sidx + 1], 4) & 3));
122
+ if ((didx = didx + 1) < dest.length)
123
+ dest[didx] = (((data[sidx + 1] << 4) & 255) | (Misc.URShift(data[sidx + 2], 2) & 15));
124
+ return dest;
125
+ }
126
+ static decodeToHex(str) {
127
+ if (str === null)
128
+ return null;
129
+ if (str === "")
130
+ return str;
131
+ return StrUtil.stringToHexaDump(Base64.decode(str), 2);
132
+ }
133
+ static decodeToByte(str) {
134
+ if (str === null)
135
+ return null;
136
+ if (str === "" || str === " ")
137
+ return new Uint8Array(0);
138
+ try {
139
+ let instance = ISO_8859_1_Encoding.ISO_8859_1;
140
+ return Base64.decodeBytes(instance.GetBytes(str));
141
+ }
142
+ catch (ex) {
143
+ throw new ApplicationException(ex.Message);
144
+ }
145
+ }
146
+ static initializeEncMap() {
147
+ return new Uint8Array([
148
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
149
+ 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
150
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54,
151
+ 55, 56, 57, 43, 47
152
+ ]);
153
+ }
154
+ static initializeDecMap() {
155
+ let decMap = new Uint8Array(128);
156
+ for (let i = 0; i < Base64._base64EncMap.length; i = i + 1) {
157
+ decMap[Base64._base64EncMap[i]] = i;
158
+ }
159
+ return decMap;
160
+ }
161
+ }
162
+ Base64._base64EncMap = Base64.initializeEncMap();
163
+ Base64._base64DecMap = Base64.initializeDecMap();
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZTY0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXRpbHMvc3JjL0Jhc2U2NC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFPLE1BQU07SUFPakIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFXLEVBQUUsZUFBcUIsRUFBRSxRQUFtQjtRQUNuRSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN4QixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQzs7WUFFekMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQVVPLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBVyxFQUFFLGVBQXdCLEVBQUUsUUFBa0I7UUFDL0UsSUFBSSxNQUFjLENBQUM7UUFDbkIsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE1BQU0sR0FBRyxJQUFJLENBQUM7U0FDZjthQUNJO1lBQ0gsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO2dCQUNkLE1BQU0sR0FBRyxHQUFHLENBQUM7YUFDZDtpQkFDSTtnQkFDSCxJQUFJO29CQUNGLElBQUksZUFBZSxLQUFLLEtBQUssRUFBQzt3QkFDNUIsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDcEI7eUJBQ0k7d0JBQ0gsSUFBSSxRQUFRLEdBQWEsbUJBQW1CLENBQUMsVUFBVSxDQUFDO3dCQUN4RCxJQUFJLFNBQVMsR0FBYSxlQUFlLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO3dCQUNoRSxJQUFJLEVBQUUsR0FBZSxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzt3QkFDakUsTUFBTSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQy9DO2lCQUNGO2dCQUNELE9BQU8sRUFBRSxFQUFFO29CQUNULE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQzVDO2FBQ0Y7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFPTyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQWdCO1FBRXpDLElBQUksSUFBSSxLQUFLLElBQUk7WUFDZixPQUFPLElBQUksQ0FBQztRQUVkLElBQUksSUFBSSxHQUFlLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdFLElBQUksSUFBSSxHQUFXLENBQUMsQ0FBQztRQUNyQixJQUFJLElBQUksR0FBVyxDQUFDLENBQUM7UUFHckIsT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUM5RSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBUyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFTLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBUyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkUsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7U0FDakI7UUFFRCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDOUUsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFTLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQVMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7YUFDdkU7aUJBQ0k7Z0JBQ0gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ25FO1NBQ0Y7UUFHRCxPQUFPLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7U0FDakI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFJRCxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQVcsRUFBRSxRQUFtQjtRQUM1QyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN4QixRQUFRLEdBQUcsSUFBSSxDQUFDO1FBRWxCLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQVFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBVyxFQUFFLFFBQWtCO1FBRXJELElBQUksTUFBYyxDQUFDO1FBQ25CLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUNoQixNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ2Y7YUFDSTtZQUNILElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTtnQkFDZCxNQUFNLEdBQUcsR0FBRyxDQUFDO2FBQ2Q7aUJBQ0k7Z0JBQ0gsSUFBSTtvQkFDRixJQUFJLFFBQVEsS0FBSyxJQUFJLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBQzt3QkFDOUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDcEI7eUJBQ0k7d0JBQ0gsSUFBSSxRQUFRLEdBQXdCLG1CQUFtQixDQUFDLFVBQVUsQ0FBQzt3QkFDbkUsSUFBSSxLQUFLLEdBQWUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7d0JBQ25FLElBQUksU0FBUyxHQUFhLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQzt3QkFDcEUsTUFBTSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQ3REO2lCQUNGO2dCQUNELE9BQU8sRUFBRSxFQUFFO29CQUNULE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQzVDO2FBQ0Y7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFPTyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQWdCO1FBQ3pDLElBQUksSUFBSSxLQUFLLElBQUk7WUFDZixPQUFPLElBQUksQ0FBQztRQUVkLElBQUksSUFBSSxHQUFXLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7U0FDakI7UUFDRCxJQUFJLElBQUksR0FBZSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFHMUUsS0FBSyxJQUFJLEdBQUcsR0FBVyxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDMUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDN0M7UUFHRCxJQUFJLElBQUksR0FBVyxDQUFDLENBQUM7UUFDckIsSUFBSSxJQUFZLENBQUM7UUFDakIsS0FBSyxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRTtZQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUYsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pFLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1NBQ2pCO1FBRUQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU07WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FB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SUFBSSxNQUFNLEdBQWUsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFN0MsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xFLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7QUFoT2Msb0JBQWEsR0FBZSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztBQUN0RCxvQkFBYSxHQUFlLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbmNvZGluZywgQXBwbGljYXRpb25FeGNlcHRpb24sIElTT184ODU5XzFfRW5jb2Rpbmd9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge1N0clV0aWx9IGZyb20gXCIuL1N0clV0aWxcIjtcclxuaW1wb3J0IHtNaXNjfSBmcm9tIFwiLi9NaXNjXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQmFzZTY0e1xyXG4gIHByaXZhdGUgc3RhdGljIF9iYXNlNjRFbmNNYXA6IFVpbnQ4QXJyYXkgPSBCYXNlNjQuaW5pdGlhbGl6ZUVuY01hcCgpO1xyXG4gIHByaXZhdGUgc3RhdGljIF9iYXNlNjREZWNNYXA6IFVpbnQ4QXJyYXkgPSBCYXNlNjQuaW5pdGlhbGl6ZURlY01hcCgpO1xyXG5cclxuXHJcbiAgc3RhdGljIGVuY29kZShzdHI6IHN0cmluZyk6IHN0cmluZztcclxuICBzdGF0aWMgZW5jb2RlKHN0cjogc3RyaW5nLCBpc1VzZUVudkNoYXJzZXQ6IGJvb2xlYW4sIGVuY29kaW5nOiBFbmNvZGluZyk6IHN0cmluZztcclxuICBzdGF0aWMgZW5jb2RlKHN0cjogc3RyaW5nLCBpc1VzZUVudkNoYXJzZXQ/OiBhbnksIGVuY29kaW5nPzogRW5jb2RpbmcpOiBhbnkge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpXHJcbiAgICAgIHJldHVybiBCYXNlNjQuZW5jb2RlXzEoc3RyLCBmYWxzZSwgbnVsbCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBCYXNlNjQuZW5jb2RlXzEoc3RyLCBpc1VzZUVudkNoYXJzZXQsIGVuY29kaW5nKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gRW5jb2RlcyBzdHJpbmcgdXNpbmcgdGhlIGJhc2U2NC1lbmNvZGluZy5cclxuICAvLy8gSWYgaXNVc2VFbnZDaGFyc2V0IGlzIHRydWUsIHVzZSB0aGUgc3BlY2lmaWMgY2hhcnNldCB3aGVuIGNvbnZlcnRpbmdcclxuICAvLy8gc3RyaW5nIHRvIGJ5dGUgYXJyYXkuIChEQkNTIHN1cHBvcnQpXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJzdHJcIj50aGUgc3RyaW5nIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaXNVc2VFbnZDaGFyc2V0XCI+IDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZW5jb2RpbmdcIj4gRW52aXJvbm1lbnQuRW5jb2RpbmcgPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHRoZSBiYXNlNjQtZW5jb2RlZCBzdHIgPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIGVuY29kZV8xKHN0cjogc3RyaW5nLCBpc1VzZUVudkNoYXJzZXQ6IGJvb2xlYW4sIGVuY29kaW5nOiBFbmNvZGluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmc7XHJcbiAgICBpZiAoc3RyID09PSBudWxsKSB7XHJcbiAgICAgIHJlc3VsdCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHN0ciA9PT0gXCJcIikge1xyXG4gICAgICAgIHJlc3VsdCA9IHN0cjtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgaWYgKGlzVXNlRW52Q2hhcnNldCA9PT0gZmFsc2Upe1xyXG4gICAgICAgICAgICByZXN1bHQgPSBidG9hKHN0cik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IGluc3RhbmNlOiBFbmNvZGluZyA9IElTT184ODU5XzFfRW5jb2RpbmcuSVNPXzg4NTlfMTtcclxuICAgICAgICAgICAgbGV0IGVuY29kaW5nMjogRW5jb2RpbmcgPSBpc1VzZUVudkNoYXJzZXQgPyBlbmNvZGluZyA6IGluc3RhbmNlO1xyXG4gICAgICAgICAgICBsZXQgYmE6IFVpbnQ4QXJyYXkgPSBCYXNlNjQuZW5jb2RlQnl0ZXMoZW5jb2RpbmcyLkdldEJ5dGVzKHN0cikpO1xyXG4gICAgICAgICAgICByZXN1bHQgPSBpbnN0YW5jZS5HZXRTdHJpbmcoYmEsIDAsIGJhLmxlbmd0aCk7XHJcbiAgICAgICAgICB9ICBcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggKGV4KSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgQXBwbGljYXRpb25FeGNlcHRpb24oZXguTWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBUaGlzIG1ldGhvZCBlbmNvZGVzIHRoZSBnaXZlbiBieXRlW10gdXNpbmcgdGhlIGJhc2U2NC1lbmNvZGluZ1xyXG4gIC8vLyBzcGVjaWZpZWQgaW4gUkZDLTIwNDUgKFNlY3Rpb24gNi44KS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImRhdGFcIj50aGUgZGF0YSA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gdGhlIGJhc2U2NC1lbmNvZGVkIGRhdGEgPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIGVuY29kZUJ5dGVzKGRhdGE6IFVpbnQ4QXJyYXkpOiBVaW50OEFycmF5IHtcclxuXHJcbiAgICBpZiAoZGF0YSA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgbGV0IGRlc3Q6IFVpbnQ4QXJyYXkgPSBuZXcgVWludDhBcnJheShNYXRoLmZsb29yKChkYXRhLmxlbmd0aCArIDIpIC8gMykgKiA0KTtcclxuICAgIGxldCBzaWR4OiBudW1iZXIgPSAwO1xyXG4gICAgbGV0IGRpZHg6IG51bWJlciA9IDA7XHJcblxyXG4gICAgLy8gMy1ieXRlIHRvIDQtYnl0ZSBjb252ZXJzaW9uICsgMC02MyB0byBBU0NJSSBwcmludGFibGUgY29udmVyc2lvblxyXG4gICAgd2hpbGUgKHNpZHggPCBkYXRhLmxlbmd0aCAtIDIpIHtcclxuICAgICAgZGVzdFtkaWR4KytdID0gQmFzZTY0Ll9iYXNlNjRFbmNNYXBbTWlzYy5VUlNoaWZ0KDxudW1iZXI+ZGF0YVtzaWR4XSwgMikgJiA2M107XHJcbiAgICAgIGRlc3RbZGlkeCsrXSA9IEJhc2U2NC5fYmFzZTY0RW5jTWFwWyhNaXNjLlVSU2hpZnQoPG51bWJlcj5kYXRhW3NpZHggKyAxXSwgNCkgJiAxNSkgfCAoPG51bWJlcj5kYXRhW3NpZHhdIDw8IDQgJiA2MyldO1xyXG4gICAgICBkZXN0W2RpZHgrK10gPSBCYXNlNjQuX2Jhc2U2NEVuY01hcFsoTWlzYy5VUlNoaWZ0KDxudW1iZXI+ZGF0YVtzaWR4ICsgMl0sIDYpICYgMykgfCAoPG51bWJlcj5kYXRhW3NpZHggKyAxXSA8PCAyICYgNjMpXTtcclxuICAgICAgZGVzdFtkaWR4KytdID0gQmFzZTY0Ll9iYXNlNjRFbmNNYXBbPG51bWJlcj4oZGF0YVtzaWR4ICsgMl0gJiA2MyldO1xyXG4gICAgICBzaWR4ID0gc2lkeCArIDM7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHNpZHggPCBkYXRhLmxlbmd0aCkge1xyXG4gICAgICBkZXN0W2RpZHgrK10gPSBCYXNlNjQuX2Jhc2U2NEVuY01hcFtNaXNjLlVSU2hpZnQoPG51bWJlcj5kYXRhW3NpZHhdLCAyKSAmIDYzXTtcclxuICAgICAgaWYgKHNpZHggPCBkYXRhLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICBkZXN0W2RpZHgrK10gPSBCYXNlNjQuX2Jhc2U2NEVuY01hcFsoTWlzYy5VUlNoaWZ0KDxudW1iZXI+ZGF0YVtzaWR4ICsgMV0sIDQpICYgMTUpIHwgKDxudW1iZXI+ZGF0YVtzaWR4XSA8PCA0ICYgNjMpXTtcclxuICAgICAgICBkZXN0W2RpZHgrK10gPSBCYXNlNjQuX2Jhc2U2NEVuY01hcFs8bnVtYmVyPmRhdGFbc2lkeCArIDFdIDw8IDIgJiA2M107XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZGVzdFtkaWR4KytdID0gQmFzZTY0Ll9iYXNlNjRFbmNNYXBbPG51bWJlcj5kYXRhW3NpZHhdIDw8IDQgJiA2M107XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBhZGQgcGFkZGluZ1xyXG4gICAgd2hpbGUgKGRpZHggPCBkZXN0Lmxlbmd0aCkge1xyXG4gICAgICBkZXN0W2RpZHhdID0gNjE7XHJcbiAgICAgIGRpZHggPSBkaWR4ICsgMTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGVzdDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkZWNvZGUoc3RyOiBzdHJpbmcpOiBzdHJpbmc7XHJcbiAgc3RhdGljIGRlY29kZShzdHI6IHN0cmluZywgZW5jb2Rpbmc6IEVuY29kaW5nKTogc3RyaW5nO1xyXG4gIHN0YXRpYyBkZWNvZGUoc3RyOiBzdHJpbmcsIGVuY29kaW5nPzogRW5jb2RpbmcpOiBhbnkge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpXHJcbiAgICAgIGVuY29kaW5nID0gbnVsbDtcclxuXHJcbiAgICByZXR1cm4gQmFzZTY0LmRlY29kZV8xKHN0ciwgZW5jb2RpbmcpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBUaGlzIG1ldGhvZCBkZWNvZGVzIHRoZSBnaXZlbiBzdHJpbmcgdXNpbmcgdGhlIGJhc2U2NC1lbmNvZGluZ1xyXG4gIC8vLyBzcGVjaWZpZWQgaW4gUkZDLTIwNDUgKFNlY3Rpb24gNi44KS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInN0clwiPnRoZSBiYXNlNjQtZW5jb2RlZCBzdHJpbmcuIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZW5jb2RpbmdcIj5FbnZpcm9ubWVudC5FbmNvZGluZyBvciBudWxsLjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB0aGUgZGVjb2RlZCBzdHIuPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIGRlY29kZV8xKHN0cjogc3RyaW5nLCBlbmNvZGluZzogRW5jb2RpbmcpOiBzdHJpbmcge1xyXG5cclxuICAgIGxldCByZXN1bHQ6IHN0cmluZztcclxuICAgIGlmIChzdHIgPT09IG51bGwpIHtcclxuICAgICAgcmVzdWx0ID0gbnVsbDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAoc3RyID09PSBcIlwiKSB7XHJcbiAgICAgICAgcmVzdWx0ID0gc3RyO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBpZiAoZW5jb2RpbmcgPT09IG51bGwgfHwgZW5jb2RpbmcgPT09IHVuZGVmaW5lZCl7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGF0b2Ioc3RyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgaW5zdGFuY2U6IElTT184ODU5XzFfRW5jb2RpbmcgPSBJU09fODg1OV8xX0VuY29kaW5nLklTT184ODU5XzE7XHJcbiAgICAgICAgICAgIGxldCBhcnJheTogVWludDhBcnJheSA9IEJhc2U2NC5kZWNvZGVCeXRlcyhpbnN0YW5jZS5HZXRCeXRlcyhzdHIpKTtcclxuICAgICAgICAgICAgbGV0IGVuY29kaW5nMjogRW5jb2RpbmcgPSAoZW5jb2RpbmcgIT09IG51bGwpID8gZW5jb2RpbmcgOiBpbnN0YW5jZTtcclxuICAgICAgICAgICAgcmVzdWx0ID0gZW5jb2RpbmcyLkdldFN0cmluZyhhcnJheSwgMCwgYXJyYXkubGVuZ3RoKTtcclxuICAgICAgICAgIH0gICBcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggKGV4KSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgQXBwbGljYXRpb25FeGNlcHRpb24oZXguTWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBUaGlzIG1ldGhvZCBkZWNvZGVzIHRoZSBnaXZlbiBieXRlW10gdXNpbmcgdGhlIGJhc2U2NC1lbmNvZGluZ1xyXG4gIC8vLyBzcGVjaWZpZWQgaW4gUkZDLTIwNDUgKFNlY3Rpb24gNi44KS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImRhdGFcIj50aGUgYmFzZTY0LWVuY29kZWQgZGF0YS48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gdGhlIGRlY29kZWQgPHZhcj5kYXRhPC92YVxyXG4gIHByaXZhdGUgc3RhdGljIGRlY29kZUJ5dGVzKGRhdGE6IFVpbnQ4QXJyYXkpOiBVaW50OEFycmF5IHtcclxuICAgIGlmIChkYXRhID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICBsZXQgdGFpbDogbnVtYmVyID0gZGF0YS5sZW5ndGg7XHJcbiAgICB3aGlsZSAoZGF0YVt0YWlsIC0gMV0gPT09ICc9Jy5jaGFyQ29kZUF0KDApKSB7XHJcbiAgICAgIHRhaWwgPSB0YWlsIC0gMTtcclxuICAgIH1cclxuICAgIGxldCBkZXN0OiBVaW50OEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkodGFpbCAtIE1hdGguZmxvb3IoZGF0YS5sZW5ndGggLyA0KSk7XHJcblxyXG4gICAgLy8gQVNDSUkgcHJpbnRhYmxlIHRvIDAtNjMgY29udmVyc2lvblxyXG4gICAgZm9yIChsZXQgaWR4OiBudW1iZXIgPSAwOyBpZHggPCBkYXRhLmxlbmd0aDsgaWR4ID0gaWR4ICsgMSkge1xyXG4gICAgICBkYXRhW2lkeF0gPSBCYXNlNjQuX2Jhc2U2NERlY01hcFtkYXRhW2lkeF1dO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDQtYnl0ZSB0byAzLWJ5dGUgY29udmVyc2lvblxyXG4gICAgbGV0IHNpZHg6IG51bWJlciA9IDA7XHJcbiAgICBsZXQgZGlkeDogbnVtYmVyO1xyXG4gICAgZm9yIChkaWR4ID0gMDsgZGlkeCA8IGRlc3QubGVuZ3RoIC0gMjsgZGlkeCA9IGRpZHggKyAzKSB7XHJcbiAgICAgIGRlc3RbZGlkeF0gPSAoKChkYXRhW3NpZHhdIDw8IDIpICYgMjU1KSB8IChNaXNjLlVSU2hpZnQoZGF0YVtzaWR4ICsgMV0sIDQpICYgMykpO1xyXG4gICAgICBkZXN0W2RpZHggKyAxXSA9ICgoKGRhdGFbc2lkeCArIDFdIDw8IDQpICYgMjU1KSB8IChNaXNjLlVSU2hpZnQoZGF0YVtzaWR4ICsgMl0sIDIpICYgMTUpKTtcclxuICAgICAgZGVzdFtkaWR4ICsgMl0gPSAoKChkYXRhW3NpZHggKyAyXSA8PCA2KSAmIDI1NSkgfCAoZGF0YVtzaWR4ICsgM10gJiA2MykpO1xyXG4gICAgICBzaWR4ID0gc2lkeCArIDQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGRpZHggPCBkZXN0Lmxlbmd0aClcclxuICAgICAgZGVzdFtkaWR4XSA9ICgoKGRhdGFbc2lkeF0gPDwgMikgJiAyNTUpIHwgKE1pc2MuVVJTaGlmdChkYXRhW3NpZHggKyAxXSwgNCkgJiAzKSk7XHJcbiAgICBpZiAoKGRpZHggPSBkaWR4ICsgMSkgPCBkZXN0Lmxlbmd0aClcclxuICAgICAgZGVzdFtkaWR4XSA9ICgoKGRhdGFbc2lkeCArIDFdIDw8IDQpICYgMjU1KSB8IChNaXNjLlVSU2hpZnQoZGF0YVtzaWR4ICsgMl0sIDIpICYgMTUpKTtcclxuXHJcbiAgICByZXR1cm4gZGVzdDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gZGVjb2RlZCBhbmQgcmV0dXJuIGFuIGhleCByZXByZXNlbnRhdGlvbiBvZiB0aGUgZGF0YTwvc3VtbWFyeT5cclxuICBzdGF0aWMgZGVjb2RlVG9IZXgoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKHN0ciA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICBpZiAoc3RyID09PSBcIlwiKVxyXG4gICAgICByZXR1cm4gc3RyO1xyXG5cclxuICAgIHJldHVybiBTdHJVdGlsLnN0cmluZ1RvSGV4YUR1bXAoQmFzZTY0LmRlY29kZShzdHIpLCAyKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gZGVjb2RlcyBhIHN0cmluZyB0byBieXRlIGFycmF5PC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyBkZWNvZGVUb0J5dGUoc3RyOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcclxuICAgIGlmIChzdHIgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgIC8vIFFDUiA3NDA5MTggaWYgd2UgaGF2ZSBhbmQgZW1wdHkgZXhwcmVzc2lvbiBpdCBpcyBzZW50IGZyb20gdGhlIHNlcnZlciBhcyBlbXB0eSBzdHJpbmdcclxuICAgIC8vIGFuZCBjaGFuZ2VkIGxvY2FsbHkgdG8gYSBzdHJpbmcgd2l0aCBvbmUgYmxhbmsgZWl0aGVyIHdheSB0aGV5IGFyZSBub3QgdmFsaWQgYmFzZTY0IGVuY29kZWRcclxuICAgIC8vIHN0cmluZyBhbmQgc2hvdWxkIG5vdCBiZSBkZWNvZGVkLlxyXG4gICAgaWYgKHN0ciA9PT0gXCJcIiB8fCBzdHIgPT09IFwiIFwiKVxyXG4gICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoMCk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgbGV0IGluc3RhbmNlOiBFbmNvZGluZyA9IElTT184ODU5XzFfRW5jb2RpbmcuSVNPXzg4NTlfMTtcclxuICAgICAgcmV0dXJuIEJhc2U2NC5kZWNvZGVCeXRlcyhpbnN0YW5jZS5HZXRCeXRlcyhzdHIpKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChleCkge1xyXG4gICAgICB0aHJvdyBuZXcgQXBwbGljYXRpb25FeGNlcHRpb24oZXguTWVzc2FnZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBpbml0aWFsaXplRW5jTWFwKCkge1xyXG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFtcclxuICAgICAgNjUsIDY2LCA2NywgNjgsIDY5LCA3MCwgNzEsIDcyLCA3MywgNzQsIDc1LCA3NiwgNzcsIDc4LCA3OSwgODAsIDgxLCA4MiwgODMsXHJcbiAgICAgIDg0LCA4NSwgODYsIDg3LCA4OCwgODksIDkwLCA5NywgOTgsIDk5LCAxMDAsIDEwMSwgMTAyLCAxMDMsIDEwNCwgMTA1LCAxMDYsIDEwNywgMTA4LCAxMDksXHJcbiAgICAgIDExMCwgMTExLCAxMTIsIDExMywgMTE0LCAxMTUsIDExNiwgMTE3LCAxMTgsIDExOSwgMTIwLCAxMjEsIDEyMiwgNDgsIDQ5LCA1MCwgNTEsIDUyLCA1MywgNTQsXHJcbiAgICAgIDU1LCA1NiwgNTcsIDQzLCA0N1xyXG4gICAgXSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgaW5pdGlhbGl6ZURlY01hcCgpIHtcclxuICAgIGxldCBkZWNNYXA6IFVpbnQ4QXJyYXkgPSBuZXcgVWludDhBcnJheSgxMjgpO1xyXG5cclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBCYXNlNjQuX2Jhc2U2NEVuY01hcC5sZW5ndGg7IGkgPSBpICsgMSkge1xyXG4gICAgICBkZWNNYXBbQmFzZTY0Ll9iYXNlNjRFbmNNYXBbaV1dID0gaTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGVjTWFwO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,79 @@
1
+ import { NString, StringBuilder } from "@magic-xpa/mscorelib";
2
+ import { SEQ_2_STR, StrUtil } from "./StrUtil";
3
+ export class ChoiceUtils {
4
+ static GetDisplayListFromString(choiceDispStr, removeAccelerators, shouldMakePrintable, shouldTrimOptions) {
5
+ let fromHelp = new Array("\\\\", "\\-", "\\,");
6
+ let toHelp = new Array("XX", "XX", "XX");
7
+ choiceDispStr = NString.TrimEnd(choiceDispStr);
8
+ let helpStrDisp = StrUtil.searchAndReplace(choiceDispStr, fromHelp, toHelp);
9
+ let sTok = StrUtil.tokenize(helpStrDisp, ",");
10
+ let size = (helpStrDisp !== "" ? sTok.length : 0);
11
+ let tokenBuffer;
12
+ let helpTokenDisp, token;
13
+ let currPosDisp = 0, nextPosDisp = 0, tokenPosDisp, i = 0;
14
+ let choiceDisp = new Array(size);
15
+ for (; i < size; i++) {
16
+ nextPosDisp = currPosDisp;
17
+ nextPosDisp = helpStrDisp.indexOf(',', nextPosDisp);
18
+ if (nextPosDisp === currPosDisp)
19
+ token = helpTokenDisp = "";
20
+ else if (nextPosDisp === -1) {
21
+ token = choiceDispStr.substr(currPosDisp);
22
+ helpTokenDisp = helpStrDisp.substr(currPosDisp);
23
+ }
24
+ else {
25
+ token = choiceDispStr.substr(currPosDisp, (nextPosDisp) - (currPosDisp));
26
+ helpTokenDisp = helpStrDisp.substr(currPosDisp, (nextPosDisp) - (currPosDisp));
27
+ }
28
+ currPosDisp = nextPosDisp + 1;
29
+ if (token != null) {
30
+ token = StrUtil.ltrim(token);
31
+ if (removeAccelerators)
32
+ token = ChoiceUtils.RemoveAcclCharFromOptions(new StringBuilder(token));
33
+ helpTokenDisp = StrUtil.ltrim(helpTokenDisp);
34
+ if (removeAccelerators)
35
+ helpTokenDisp = ChoiceUtils.RemoveAcclCharFromOptions(new StringBuilder(helpTokenDisp));
36
+ }
37
+ if (helpTokenDisp.indexOf('\\') >= 0) {
38
+ tokenBuffer = new StringBuilder();
39
+ for (; tokenPosDisp < helpTokenDisp.length; tokenPosDisp++)
40
+ if (helpTokenDisp[tokenPosDisp] !== '\\')
41
+ tokenBuffer.Append(token[tokenPosDisp]);
42
+ else if (tokenPosDisp === helpTokenDisp.length - 1)
43
+ tokenBuffer.Append(' ');
44
+ token = tokenBuffer.ToString();
45
+ }
46
+ if (shouldMakePrintable) {
47
+ token = StrUtil.makePrintableTokens(token, SEQ_2_STR);
48
+ if (shouldTrimOptions) {
49
+ let temp = NString.TrimEnd(token);
50
+ if (temp.length === 0)
51
+ choiceDisp[i] = " ";
52
+ else
53
+ choiceDisp[i] = NString.TrimEnd(token);
54
+ }
55
+ else
56
+ choiceDisp[i] = token;
57
+ }
58
+ else
59
+ choiceDisp[i] = token;
60
+ }
61
+ return choiceDisp;
62
+ }
63
+ static RemoveAcclCharFromOptions(OptionStr) {
64
+ let i = 0;
65
+ if (OptionStr != null) {
66
+ for (; i < OptionStr.Length;) {
67
+ if (OptionStr.get_Item(i) === '&') {
68
+ if (i < OptionStr.Length - 1 && OptionStr.get_Item(i + 1) === ('&'))
69
+ i++;
70
+ OptionStr = OptionStr.Remove(i, 1);
71
+ }
72
+ else
73
+ i++;
74
+ }
75
+ }
76
+ return (OptionStr != null ? OptionStr.ToString() : null);
77
+ }
78
+ }
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hvaWNlVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9zcmMvQ2hvaWNlVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUU3QyxNQUFNLE9BQU8sV0FBVztJQWN0QixNQUFNLENBQUMsd0JBQXdCLENBQUMsYUFBcUIsRUFBRSxrQkFBMkIsRUFBRSxtQkFBNEIsRUFBRSxpQkFBMEI7UUFDMUksSUFBSSxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxJQUFJLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pDLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLElBQUksV0FBVyxHQUFXLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BGLElBQUksSUFBSSxHQUFhLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELElBQUksSUFBSSxHQUFXLENBQUMsV0FBVyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsSUFBSSxXQUEwQixDQUFDO1FBQy9CLElBQUksYUFBcUIsRUFBRSxLQUFhLENBQUM7UUFDekMsSUFBSSxXQUFXLEdBQVcsQ0FBQyxFQUFFLFdBQVcsR0FBRyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFD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eUJBQXlCLENBQUMsU0FBd0I7UUFDdkQsSUFBSSxDQUFDLEdBQVcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksU0FBUyxJQUFJLElBQUksRUFBRTtZQUNyQixPQUFPLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHO2dCQUM1QixJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFO29CQUNqQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzt3QkFDakUsQ0FBQyxFQUFFLENBQUM7b0JBQ04sU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUNwQzs7b0JBQ0ksQ0FBQyxFQUFFLENBQUM7YUFDVjtTQUNGO1FBQ0QsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOU3RyaW5nLCBTdHJpbmdCdWlsZGVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtTRVFfMl9TVFIsIFN0clV0aWx9IGZyb20gXCIuL1N0clV0aWxcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBDaG9pY2VVdGlscyB7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBpbml0IHRoZSBkaXNwbGF5IFZhbHVlIGZyb20gc3RyaW5nXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNob2ljZURpc3BTdHJcIj50aGUgYWxsIHN1YnN0cmluZyBzZXBhcmF0ZWQgd2l0aCBjb21tYS5cclxuICAvLy8gICBUaGUgYmVoYXZpb3I6XHJcbiAgLy8vICAgYS4gd2hlbiBoYXZlIFwiXFxcIiBiZWZvcmUgY2hhciBhLXogbmVlZCB0byBpZ25vcmUgdGhlIFxcIHB1dCB0aGUgYS16IGNoYXJcclxuICAvLy8gICBiLiB3aGVuIFwiXFwsXCIgLT4gXCIsXCJcclxuICAvLy8gICBjLiB3aGVuIFwiXFwtXCIgLT4gXCItXCJcclxuICAvLy8gICBkLiB3aGVuIFwiXFxcXFwiIC0+IFwiXFxcIlxyXG4gIC8vLyAgIGUuIHdoZW4gXCJcXFxcXFxcXFwiIC0+IFwiXFxcXFwiXHJcbiAgLy8vICAgdGhlIGRpc3BsYXkgY2FuIGJlIGFsbCBzdHJpbmcuIGFuZCB3ZSBkb24ndCBuZWVkIHRvIGNoZWNrIHZhbGlkYXRpb24gYWNjb3JkaW5nIHRvIHRoZSBkYXRhVHlwZShhcyB3ZSBkbyBpbiBMaW5rXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgc3RhdGljIEdldERpc3BsYXlMaXN0RnJvbVN0cmluZyhjaG9pY2VEaXNwU3RyOiBzdHJpbmcsIHJlbW92ZUFjY2VsZXJhdG9yczogYm9vbGVhbiwgc2hvdWxkTWFrZVByaW50YWJsZTogYm9vbGVhbiwgc2hvdWxkVHJpbU9wdGlvbnM6IGJvb2xlYW4pOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgZnJvbUhlbHAgPSBuZXcgQXJyYXkoXCJcXFxcXFxcXFwiLCBcIlxcXFwtXCIsIFwiXFxcXCxcIik7XHJcbiAgICBsZXQgdG9IZWxwID0gbmV3IEFycmF5KFwiWFhcIiwgXCJYWFwiLCBcIlhYXCIpO1xyXG4gICAgY2hvaWNlRGlzcFN0ciA9IE5TdHJpbmcuVHJpbUVuZChjaG9pY2VEaXNwU3RyKTtcclxuICAgIGxldCBoZWxwU3RyRGlzcDogc3RyaW5nID0gU3RyVXRpbC5zZWFyY2hBbmRSZXBsYWNlKGNob2ljZURpc3BTdHIsIGZyb21IZWxwLCB0b0hlbHApO1xyXG4gICAgbGV0IHNUb2s6IFN0cmluZ1tdID0gU3RyVXRpbC50b2tlbml6ZShoZWxwU3RyRGlzcCwgXCIsXCIpO1xyXG4gICAgbGV0IHNpemU6IG51bWJlciA9IChoZWxwU3RyRGlzcCAhPT0gXCJcIiA/IHNUb2subGVuZ3RoIDogMCk7XHJcbiAgICBsZXQgdG9rZW5CdWZmZXI6IFN0cmluZ0J1aWxkZXI7XHJcbiAgICBsZXQgaGVscFRva2VuRGlzcDogc3RyaW5nLCB0b2tlbjogc3RyaW5nO1xyXG4gICAgbGV0IGN1cnJQb3NEaXNwOiBudW1iZXIgPSAwLCBuZXh0UG9zRGlzcCA9IDAsIHRva2VuUG9zRGlzcCwgaSA9IDA7XHJcbiAgICBsZXQgY2hvaWNlRGlzcCA9IG5ldyBBcnJheShzaXplKTtcclxuICAgIGZvciAoOyBpIDwgc2l6ZTsgaSsrKSB7XHJcbiAgICAgIG5leHRQb3NEaXNwID0gY3VyclBvc0Rpc3A7XHJcbiAgICAgIG5leHRQb3NEaXNwID0gaGVscFN0ckRpc3AuaW5kZXhPZignLCcsIG5leHRQb3NEaXNwKTtcclxuICAgICAgaWYgKG5leHRQb3NEaXNwID09PSBjdXJyUG9zRGlzcClcclxuICAgICAgICB0b2tlbiA9IGhlbHBUb2tlbkRpc3AgPSBcIlwiO1xyXG4gICAgICBlbHNlIGlmIChuZXh0UG9zRGlzcCA9PT0gLTEpIHtcclxuICAgICAgICB0b2tlbiA9IGNob2ljZURpc3BTdHIuc3Vic3RyKGN1cnJQb3NEaXNwKTtcclxuICAgICAgICBoZWxwVG9rZW5EaXNwID0gaGVscFN0ckRpc3Auc3Vic3RyKGN1cnJQb3NEaXNwKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0b2tlbiA9IGNob2ljZURpc3BTdHIuc3Vic3RyKGN1cnJQb3NEaXNwLCAobmV4dFBvc0Rpc3ApIC0gKGN1cnJQb3NEaXNwKSk7XHJcbiAgICAgICAgaGVscFRva2VuRGlzcCA9IGhlbHBTdHJEaXNwLnN1YnN0cihjdXJyUG9zRGlzcCwgKG5leHRQb3NEaXNwKSAtIChjdXJyUG9zRGlzcCkpO1xyXG4gICAgICB9XHJcbiAgICAgIGN1cnJQb3NEaXNwID0gbmV4dFBvc0Rpc3AgKyAxO1xyXG4gICAgICBpZiAodG9rZW4gIT0gbnVsbCkge1xyXG4gICAgICAgIHRva2VuID0gU3RyVXRpbC5sdHJpbSh0b2tlbik7XHJcbiAgICAgICAgaWYgKHJlbW92ZUFjY2VsZXJhdG9ycylcclxuICAgICAgICAgIHRva2VuID0gQ2hvaWNlVXRpbHMuUmVtb3ZlQWNjbENoYXJGcm9tT3B0aW9ucyhuZXcgU3RyaW5nQnVpbGRlcih0b2tlbikpO1xyXG4gICAgICAgIGhlbHBUb2tlbkRpc3AgPSBTdHJVdGlsLmx0cmltKGhlbHBUb2tlbkRpc3ApO1xyXG4gICAgICAgIGlmIChyZW1vdmVBY2NlbGVyYXRvcnMpXHJcbiAgICAgICAgICBoZWxwVG9rZW5EaXNwID0gQ2hvaWNlVXRpbHMuUmVtb3ZlQWNjbENoYXJGcm9tT3B0aW9ucyhuZXcgU3RyaW5nQnVpbGRlcihoZWxwVG9rZW5EaXNwKSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGhlbHBUb2tlbkRpc3AuaW5kZXhPZignXFxcXCcpID49IDApIHtcclxuICAgICAgICB0b2tlbkJ1ZmZlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcbiAgICAgICAgZm9yICg7IHRva2VuUG9zRGlzcCA8IGhlbHBUb2tlbkRpc3AubGVuZ3RoOyB0b2tlblBvc0Rpc3ArKylcclxuICAgICAgICAgIGlmIChoZWxwVG9rZW5EaXNwW3Rva2VuUG9zRGlzcF0gIT09ICdcXFxcJylcclxuICAgICAgICAgICAgdG9rZW5CdWZmZXIuQXBwZW5kKHRva2VuW3Rva2VuUG9zRGlzcF0pO1xyXG4gICAgICAgICAgZWxzZSBpZiAodG9rZW5Qb3NEaXNwID09PSBoZWxwVG9rZW5EaXNwLmxlbmd0aCAtIDEpXHJcbiAgICAgICAgICAgIHRva2VuQnVmZmVyLkFwcGVuZCgnICcpO1xyXG4gICAgICAgIHRva2VuID0gdG9rZW5CdWZmZXIuVG9TdHJpbmcoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoc2hvdWxkTWFrZVByaW50YWJsZSkge1xyXG4gICAgICAgIHRva2VuID0gU3RyVXRpbC5tYWtlUHJpbnRhYmxlVG9rZW5zKHRva2VuLCBTRVFfMl9TVFIpO1xyXG4gICAgICAgIGlmIChzaG91bGRUcmltT3B0aW9ucykge1xyXG4gICAgICAgICAgbGV0IHRlbXA6IHN0cmluZyA9IE5TdHJpbmcuVHJpbUVuZCh0b2tlbik7XHJcbiAgICAgICAgICBpZiAodGVtcC5sZW5ndGggPT09IDApXHJcbiAgICAgICAgICAgIGNob2ljZURpc3BbaV0gPSBcIiBcIjtcclxuICAgICAgICAgIGVsc2UgY2hvaWNlRGlzcFtpXSA9IE5TdHJpbmcuVHJpbUVuZCh0b2tlbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgY2hvaWNlRGlzcFtpXSA9IHRva2VuO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgY2hvaWNlRGlzcFtpXSA9IHRva2VuO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNob2ljZURpc3A7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgUmVtb3ZlQWNjbENoYXJGcm9tT3B0aW9ucyhPcHRpb25TdHI6IFN0cmluZ0J1aWxkZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IGk6IG51bWJlciA9IDA7XHJcbiAgICBpZiAoT3B0aW9uU3RyICE9IG51bGwpIHtcclxuICAgICAgZm9yICg7IGkgPCBPcHRpb25TdHIuTGVuZ3RoOykge1xyXG4gICAgICAgIGlmIChPcHRpb25TdHIuZ2V0X0l0ZW0oaSkgPT09ICcmJykge1xyXG4gICAgICAgICAgaWYgKGkgPCBPcHRpb25TdHIuTGVuZ3RoIC0gMSAmJiBPcHRpb25TdHIuZ2V0X0l0ZW0oaSArIDEpID09PSAoJyYnKSlcclxuICAgICAgICAgICAgaSsrO1xyXG4gICAgICAgICAgT3B0aW9uU3RyID0gT3B0aW9uU3RyLlJlbW92ZShpLCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpKys7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiAoT3B0aW9uU3RyICE9IG51bGwgPyBPcHRpb25TdHIuVG9TdHJpbmcoKSA6IG51bGwpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,74 @@
1
+ import { Int32 } from "@magic-xpa/mscorelib";
2
+ export class Constants {
3
+ constructor() {
4
+ }
5
+ }
6
+ Constants.NULL_ARITH_NULLIFY = 'N';
7
+ Constants.NULL_ARITH_USE_DEF = 'U';
8
+ Constants.SELPRG_MODE_BEFORE = 'B';
9
+ Constants.SELPRG_MODE_AFTER = 'A';
10
+ Constants.SELPRG_MODE_PROMPT = 'P';
11
+ Constants.MOVE_UNIT_TABLE = 'T';
12
+ Constants.MOVE_UNIT_PAGE = 'P';
13
+ Constants.MOVE_UNIT_ROW = 'R';
14
+ Constants.MOVE_UNIT_TREE_NODE = 'E';
15
+ Constants.MOVE_DIRECTION_NONE = ' ';
16
+ Constants.MOVE_DIRECTION_BEGIN = 'B';
17
+ Constants.MOVE_DIRECTION_PREV = 'P';
18
+ Constants.MOVE_DIRECTION_NEXT = 'N';
19
+ Constants.MOVE_DIRECTION_END = 'E';
20
+ Constants.MOVE_DIRECTION_PARENT = 'A';
21
+ Constants.MOVE_DIRECTION_FIRST_SON = 'F';
22
+ Constants.MOVE_DIRECTION_NEXT_SIBLING = 'X';
23
+ Constants.MOVE_DIRECTION_PREV_SIBLING = 'V';
24
+ Constants.TASK_REFRESH_FORM = 'F';
25
+ Constants.TASK_REFRESH_TABLE = 'T';
26
+ Constants.TASK_REFRESH_TREE_AND_FORM = 'R';
27
+ Constants.TASK_REFRESH_CURR_REC = 'C';
28
+ Constants.TASK_REFRESH_NONE = 'N';
29
+ Constants.TASK_MODE_QUERY = 'E';
30
+ Constants.TASK_MODE_MODIFY = 'M';
31
+ Constants.TASK_MODE_CREATE = 'C';
32
+ Constants.TASK_MODE_DELETE = 'D';
33
+ Constants.TASK_MODE_NONE = ' ';
34
+ Constants.TASK_LEVEL_NONE = ' ';
35
+ Constants.TASK_LEVEL_TASK = 'T';
36
+ Constants.TASK_LEVEL_RECORD = 'R';
37
+ Constants.TASK_LEVEL_CONTROL = 'C';
38
+ Constants.MG_DATAVIEW_FIRST_RECORD = Int32.MinValue;
39
+ Constants.MG_DATAVIEW_LAST_RECORD = Int32.MaxValue;
40
+ Constants.ACT_STT_TBL_SCREEN_MODE = 0x0001;
41
+ Constants.ACT_STT_TBL_LEFT_TO_RIGHT = 0x0002;
42
+ Constants.ACT_STT_TBL_SCREEN_TOP = 0x0004;
43
+ Constants.ACT_STT_TBL_SCREEN_END = 0x0008;
44
+ Constants.ACT_STT_TBL_ROW_START = 0x0010;
45
+ Constants.ACT_STT_TBL_ROW_END = 0x0020;
46
+ Constants.ACT_STT_EDT_LEFT_TO_RIGHT = 0x0040;
47
+ Constants.ACT_STT_EDT_FORM_TOP = 0x0080;
48
+ Constants.ACT_STT_EDT_FORM_END = 0x0100;
49
+ Constants.ACT_STT_EDT_LINE_START = 0x0200;
50
+ Constants.ACT_STT_EDT_LINE_END = 0x0400;
51
+ Constants.ACT_STT_EDT_EDITING = 0x0800;
52
+ Constants.ACT_STT_TREE_PARK = 0x1000;
53
+ Constants.ACT_STT_TREE_EDITING = 0x2000;
54
+ Constants.ForwardSlashWebUsage = "web";
55
+ Constants.HTTP_PROTOCOL = "http://";
56
+ Constants.HTTPS_PROTOCOL = "https://";
57
+ Constants.FILE_PROTOCOL = "file://";
58
+ Constants.MG_GUI_THREAD = "MG_GUI_THREAD";
59
+ Constants.MG_WORK_THREAD = "MG_WORK_THREAD";
60
+ Constants.MG_TIMER_THREAD = "MG_TIMER_THREAD";
61
+ Constants.ConfigurationFilePropertyName = "Configuration file";
62
+ Constants.WinPropText = "Text";
63
+ Constants.WinPropLayer = "Layer";
64
+ Constants.WinPropX1 = "X1";
65
+ Constants.WinPropX2 = "X2";
66
+ Constants.WinPropY1 = "Y1";
67
+ Constants.WinPropY2 = "Y2";
68
+ Constants.WinPropIsTransparent = "IsTransparent";
69
+ Constants.WinPropName = "Name";
70
+ Constants.WinPropVisible = "Visible";
71
+ Constants.WinPropVisibleLayerList = "VisibleLayerList";
72
+ Constants.TabOrderPropertyTermination = "ForTabOrder";
73
+ Constants.SByteMaxValue = 127;
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXRpbHMvc3JjL0NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHM0MsTUFBTSxPQUFPLFNBQVM7SUE2RnBCO0lBRUEsQ0FBQzs7QUE3RmUsNEJBQWtCLEdBQVcsR0FBRyxDQUFDO0FBQ2pDLDRCQUFrQixHQUFXLEdBQUcsQ0FBQztBQUdqQyw0QkFBa0IsR0FBVyxHQUFHLENBQUM7QUFDakMsMkJBQWlCLEdBQVcsR0FBRyxDQUFDO0FBQ2hDLDRCQUFrQixHQUFXLEdBQUcsQ0FBQztBQUdqQyx5QkFBZSxHQUFXLEdBQUcsQ0FBQztBQUM5Qix3QkFBYyxHQUFXLEdBQUcsQ0FBQztBQUM3Qix1QkFBYSxHQUFXLEdBQUcsQ0FBQztBQUM1Qiw2QkFBbUIsR0FBVyxHQUFHLENBQUM7QUFFbEMsNkJBQW1CLEdBQVcsR0FBRyxDQUFDO0FBQ2xDLDhCQUFvQixHQUFXLEdBQUcsQ0FBQztBQUNuQyw2QkFBbUIsR0FBVyxHQUFHLENBQUM7QUFDbEMsNkJBQW1CLEdBQVcsR0FBRyxDQUFDO0FBQ2xDLDRCQUFrQixHQUFXLEdBQUcsQ0FBQztBQUNqQywrQkFBcUIsR0FBVyxHQUFHLENBQUM7QUFDcEMsa0NBQXdCLEdBQVcsR0FBRyxDQUFDO0FBQ3ZDLHFDQUEyQixHQUFXLEdBQUcsQ0FBQztBQUMxQyxxQ0FBMkIsR0FBVyxHQUFHLENBQUM7QUFHMUMsMkJBQWlCLEdBQVcsR0FBRyxDQUFDO0FBQ2hDLDRCQUFrQixHQUFXLEdBQUcsQ0FBQztBQUNqQyxvQ0FBMEIsR0FBVyxHQUFHLENBQUM7QUFDekMsK0JBQXFCLEdBQVcsR0FBRyxDQUFDO0FBQ3BDLDJCQUFpQixHQUFXLEdBQUcsQ0FBQztBQUVoQyx5QkFBZSxHQUFXLEdBQUcsQ0FBQztBQUM5QiwwQkFBZ0IsR0FBVyxHQUFHLENBQUM7QUFDL0IsMEJBQWdCLEdBQVcsR0FBRyxDQUFDO0FBQy9CLDBCQUFnQixHQUFXLEdBQUcsQ0FBQztBQUMvQix3QkFBYyxHQUFHLEdBQUcsQ0FBQztBQUdyQix5QkFBZSxHQUFXLEdBQUcsQ0FBQztBQUM5Qix5QkFBZSxHQUFXLEdBQUcsQ0FBQztBQUM5QiwyQkFBaUIsR0FBVyxHQUFHLENBQUM7QUFDaEMsNEJBQWtCLEdBQVcsR0FBRyxDQUFDO0FBR2pDLGtDQUF3QixHQUFXLEtBQUssQ0FBQyxRQUFRLENBQUM7QUFDbEQsaUNBQXVCLEdBQVcsS0FBSyxDQUFDLFFBQVEsQ0FBQztBQUdqRCxpQ0FBdUIsR0FBVyxNQUFNLENBQUM7QUFDekMsbUNBQXlCLEdBQVcsTUFBTSxDQUFDO0FBQzNDLGdDQUFzQixHQUFXLE1BQU0sQ0FBQztBQUN4QyxnQ0FBc0IsR0FBVyxNQUFNLENBQUM7QUFDeEMsK0JBQXFCLEdBQVcsTUFBTSxDQUFDO0FBQ3ZDLDZCQUFtQixHQUFXLE1BQU0sQ0FBQztBQUNyQyxtQ0FBeUIsR0FBVyxNQUFNLENBQUM7QUFDM0MsOEJBQW9CLEdBQVcsTUFBTSxDQUFDO0FBQ3RDLDhCQUFvQixHQUFXLE1BQU0sQ0FBQztBQUN0QyxnQ0FBc0IsR0FBVyxNQUFNLENBQUM7QUFDeEMsOEJBQW9CLEdBQVcsTUFBTSxDQUFDO0FBQ3RDLDZCQUFtQixHQUFXLE1BQU0sQ0FBQztBQUNyQywyQkFBaUIsR0FBVyxNQUFNLENBQUM7QUFDbkMsOEJBQW9CLEdBQVcsTUFBTSxDQUFDO0FBRXRDLDhCQUFvQixHQUFXLEtBQUssQ0FBQztBQUNyQyx1QkFBYSxHQUFXLFNBQVMsQ0FBQztBQUNsQyx3QkFBYyxHQUFXLFVBQVUsQ0FBQztBQUNwQyx1QkFBYSxHQUFXLFNBQVMsQ0FBQztBQUdsQyx1QkFBYSxHQUFXLGVBQWUsQ0FBQztBQUN4Qyx3QkFBYyxHQUFXLGdCQUFnQixDQUFDO0FBQzFDLHlCQUFlLEdBQVcsaUJBQWlCLENBQUM7QUFLNUMsdUNBQTZCLEdBQVcsb0JBQW9CLENBQUM7QUFDN0QscUJBQVcsR0FBVyxNQUFNLENBQUM7QUFDN0Isc0JBQVksR0FBVyxPQUFPLENBQUM7QUFDL0IsbUJBQVMsR0FBVyxJQUFJLENBQUM7QUFDekIsbUJBQVMsR0FBVyxJQUFJLENBQUM7QUFDekIsbUJBQVMsR0FBVyxJQUFJLENBQUM7QUFDekIsbUJBQVMsR0FBVyxJQUFJLENBQUM7QUFDekIsOEJBQW9CLEdBQVcsZUFBZSxDQUFDO0FBQy9DLHFCQUFXLEdBQVcsTUFBTSxDQUFDO0FBQzdCLHdCQUFjLEdBQVcsU0FBUyxDQUFDO0FBQ25DLGlDQUF1QixHQUFXLGtCQUFrQixDQUFDO0FBQ3JELHFDQUEyQixHQUFXLGFBQWEsQ0FBQztBQUVwRCx1QkFBYSxHQUFHLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW50MzJ9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuLy9UaGlzIGNsYXNzIGNvbnRhaW5zIGFsbCB0aGUgY29uc3RhbnRzIHdoaWNoIGFyZSB1c2VkIGluIE1neHBhUklBLmV4ZSBhcyB3ZWxsIGFzIGluIE1nR3VpLmRsbC5cclxuZXhwb3J0IGNsYXNzIENvbnN0YW50cyB7XHJcbiAgLy8vIDxzdW1tYXJ5PiBOdWxsIEFyaXRobWV0aWMgdmFsdWVzPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyByZWFkb25seSBOVUxMX0FSSVRIX05VTExJRlk6IHN0cmluZyA9ICdOJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTlVMTF9BUklUSF9VU0VfREVGOiBzdHJpbmcgPSAnVSc7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gc2VsZWN0IHByb2dyYW0gOiBzZWxlY3QgbW9kZSBwcm9wZXJ0eTwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgU0VMUFJHX01PREVfQkVGT1JFOiBzdHJpbmcgPSAnQic7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFNFTFBSR19NT0RFX0FGVEVSOiBzdHJpbmcgPSAnQSc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFNFTFBSR19NT0RFX1BST01QVDogc3RyaW5nID0gJ1AnO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IG1vdmUgaW4gVmlldzwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9VTklUX1RBQkxFOiBzdHJpbmcgPSAnVCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfVU5JVF9QQUdFOiBzdHJpbmcgPSAnUCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfVU5JVF9ST1c6IHN0cmluZyA9ICdSJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9VTklUX1RSRUVfTk9ERTogc3RyaW5nID0gJ0UnO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9ESVJFQ1RJT05fTk9ORTogc3RyaW5nID0gJyAnO1xyXG4gIHN0YXRpYyByZWFkb25seSBNT1ZFX0RJUkVDVElPTl9CRUdJTjogc3RyaW5nID0gJ0InO1xyXG4gIHN0YXRpYyByZWFkb25seSBNT1ZFX0RJUkVDVElPTl9QUkVWOiBzdHJpbmcgPSAnUCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfRElSRUNUSU9OX05FWFQ6IHN0cmluZyA9ICdOJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9ESVJFQ1RJT05fRU5EOiBzdHJpbmcgPSAnRSc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfRElSRUNUSU9OX1BBUkVOVDogc3RyaW5nID0gJ0EnO1xyXG4gIHN0YXRpYyByZWFkb25seSBNT1ZFX0RJUkVDVElPTl9GSVJTVF9TT046IHN0cmluZyA9ICdGJztcclxuICBzdGF0aWMgcmVhZG9ubHkgTU9WRV9ESVJFQ1RJT05fTkVYVF9TSUJMSU5HOiBzdHJpbmcgPSAnWCc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1PVkVfRElSRUNUSU9OX1BSRVZfU0lCTElORzogc3RyaW5nID0gJ1YnO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IHJlZnJlc2ggdHlwZXMgZm9yIGEgdGFzayBmb3JtPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX1JFRlJFU0hfRk9STTogc3RyaW5nID0gJ0YnO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX1JFRlJFU0hfVEFCTEU6IHN0cmluZyA9ICdUJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19SRUZSRVNIX1RSRUVfQU5EX0ZPUk06IHN0cmluZyA9ICdSJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19SRUZSRVNIX0NVUlJfUkVDOiBzdHJpbmcgPSAnQyc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfUkVGUkVTSF9OT05FOiBzdHJpbmcgPSAnTic7XHJcblxyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX01PREVfUVVFUlk6IHN0cmluZyA9ICdFJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19NT0RFX01PRElGWTogc3RyaW5nID0gJ00nO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX01PREVfQ1JFQVRFOiBzdHJpbmcgPSAnQyc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfTU9ERV9ERUxFVEU6IHN0cmluZyA9ICdEJztcclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19NT0RFX05PTkUgPSAnICc7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gdGFzayBsZXZlbDwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgVEFTS19MRVZFTF9OT05FOiBzdHJpbmcgPSAnICc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFRBU0tfTEVWRUxfVEFTSzogc3RyaW5nID0gJ1QnO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX0xFVkVMX1JFQ09SRDogc3RyaW5nID0gJ1InO1xyXG4gIHN0YXRpYyByZWFkb25seSBUQVNLX0xFVkVMX0NPTlRST0w6IHN0cmluZyA9ICdDJztcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBzcGVjaWFsIHJlY29yZHMgY29uc3RhbnRzPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyByZWFkb25seSBNR19EQVRBVklFV19GSVJTVF9SRUNPUkQ6IG51bWJlciA9IEludDMyLk1pblZhbHVlO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19EQVRBVklFV19MQVNUX1JFQ09SRDogbnVtYmVyID0gSW50MzIuTWF4VmFsdWU7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gYWN0aW9uIHN0YXRlcyBmb3Iga2V5Ym9hcmQgbWFwcGluZzwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UQkxfU0NSRUVOX01PREU6IG51bWJlciA9IDB4MDAwMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UQkxfTEVGVF9UT19SSUdIVDogbnVtYmVyID0gMHgwMDAyO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX1RCTF9TQ1JFRU5fVE9QOiBudW1iZXIgPSAweDAwMDQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfVEJMX1NDUkVFTl9FTkQ6IG51bWJlciA9IDB4MDAwODtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UQkxfUk9XX1NUQVJUOiBudW1iZXIgPSAweDAwMTA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfVEJMX1JPV19FTkQ6IG51bWJlciA9IDB4MDAyMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9FRFRfTEVGVF9UT19SSUdIVDogbnVtYmVyID0gMHgwMDQwO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX0VEVF9GT1JNX1RPUDogbnVtYmVyID0gMHgwMDgwO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX0VEVF9GT1JNX0VORDogbnVtYmVyID0gMHgwMTAwO1xyXG4gIHN0YXRpYyByZWFkb25seSBBQ1RfU1RUX0VEVF9MSU5FX1NUQVJUOiBudW1iZXIgPSAweDAyMDA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfRURUX0xJTkVfRU5EOiBudW1iZXIgPSAweDA0MDA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IEFDVF9TVFRfRURUX0VESVRJTkc6IG51bWJlciA9IDB4MDgwMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UUkVFX1BBUks6IG51bWJlciA9IDB4MTAwMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgQUNUX1NUVF9UUkVFX0VESVRJTkc6IG51bWJlciA9IDB4MjAwMDtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IEZvcndhcmRTbGFzaFdlYlVzYWdlOiBzdHJpbmcgPSBcIndlYlwiOyAvLyByZWZlciB0byBhIGZvcndhcmQgc2xhc2ggYXMgYSByZWxhdGl2ZSB3ZWIgdXJsLlxyXG4gIHN0YXRpYyByZWFkb25seSBIVFRQX1BST1RPQ09MOiBzdHJpbmcgPSBcImh0dHA6Ly9cIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgSFRUUFNfUFJPVE9DT0w6IHN0cmluZyA9IFwiaHR0cHM6Ly9cIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgRklMRV9QUk9UT0NPTDogc3RyaW5nID0gXCJmaWxlOi8vXCI7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT50aHJlYWRzIGNvbnN0YW50czwvc3VtbWFyeT5cclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfR1VJX1RIUkVBRDogc3RyaW5nID0gXCJNR19HVUlfVEhSRUFEXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX1dPUktfVEhSRUFEOiBzdHJpbmcgPSBcIk1HX1dPUktfVEhSRUFEXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX1RJTUVSX1RIUkVBRDogc3RyaW5nID0gXCJNR19USU1FUl9USFJFQURcIjtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBwcm9wZXJ0eSBuYW1lIGZvciB0aGUgcnVudGltZSBkZXNpZ25lclxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIHJlYWRvbmx5IENvbmZpZ3VyYXRpb25GaWxlUHJvcGVydHlOYW1lOiBzdHJpbmcgPSBcIkNvbmZpZ3VyYXRpb24gZmlsZVwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wVGV4dDogc3RyaW5nID0gXCJUZXh0XCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFdpblByb3BMYXllcjogc3RyaW5nID0gXCJMYXllclwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wWDE6IHN0cmluZyA9IFwiWDFcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgV2luUHJvcFgyOiBzdHJpbmcgPSBcIlgyXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFdpblByb3BZMTogc3RyaW5nID0gXCJZMVwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wWTI6IHN0cmluZyA9IFwiWTJcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgV2luUHJvcElzVHJhbnNwYXJlbnQ6IHN0cmluZyA9IFwiSXNUcmFuc3BhcmVudFwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBXaW5Qcm9wTmFtZTogc3RyaW5nID0gXCJOYW1lXCI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFdpblByb3BWaXNpYmxlOiBzdHJpbmcgPSBcIlZpc2libGVcIjtcclxuICBzdGF0aWMgcmVhZG9ubHkgV2luUHJvcFZpc2libGVMYXllckxpc3Q6IHN0cmluZyA9IFwiVmlzaWJsZUxheWVyTGlzdFwiO1xyXG4gIHN0YXRpYyByZWFkb25seSBUYWJPcmRlclByb3BlcnR5VGVybWluYXRpb246IHN0cmluZyA9IFwiRm9yVGFiT3JkZXJcIjtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IFNCeXRlTWF4VmFsdWUgPSAxMjc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,54 @@
1
+ import { Exception, StringBuilder } from "@magic-xpa/mscorelib";
2
+ import { XMLConstants } from "./XMLConstants";
3
+ export class DateTimeUtils {
4
+ static int2str(n) {
5
+ return (n > 9) ? n.toString() : ("0" + n);
6
+ }
7
+ static ToString(dateTime, format, logger) {
8
+ let dateTimeString;
9
+ try {
10
+ dateTimeString = dateTime.Format(format);
11
+ }
12
+ catch (ex) {
13
+ if (ex instanceof Exception) {
14
+ if (format === XMLConstants.CACHED_DATE_TIME_FORMAT) {
15
+ dateTimeString = DateTimeUtils.int2str(dateTime.Day) + "/" + DateTimeUtils.int2str(dateTime.Month) + "/" + dateTime.Year + " " +
16
+ DateTimeUtils.int2str(dateTime.Hour) + ":" + DateTimeUtils.int2str(dateTime.Minute) + ":" +
17
+ DateTimeUtils.int2str(dateTime.Second);
18
+ }
19
+ else {
20
+ if (format === XMLConstants.ERROR_LOG_TIME_FORMAT) {
21
+ dateTimeString = DateTimeUtils.int2str(dateTime.Hour) + ":" +
22
+ DateTimeUtils.int2str(dateTime.Minute) + ":" +
23
+ DateTimeUtils.int2str(dateTime.Second) + ".";
24
+ if (dateTime.Millisecond % 100 > 50) {
25
+ dateTimeString = dateTimeString + (Math.floor(dateTime.Millisecond / 100) + 1);
26
+ }
27
+ else {
28
+ dateTimeString = dateTimeString + Math.floor(dateTime.Millisecond / 100);
29
+ }
30
+ }
31
+ else {
32
+ if (format === XMLConstants.ERROR_LOG_DATE_FORMAT) {
33
+ dateTimeString = DateTimeUtils.int2str(dateTime.Day) + "/" + DateTimeUtils.int2str(dateTime.Month) + "/" + dateTime.Year;
34
+ }
35
+ else {
36
+ if (format === XMLConstants.HTTP_ERROR_TIME_FORMAT) {
37
+ dateTimeString = DateTimeUtils.int2str(dateTime.Hour) + ":" + DateTimeUtils.int2str(dateTime.Minute) + ":" + DateTimeUtils.int2str(dateTime.Second) + ".";
38
+ }
39
+ else {
40
+ logger.WriteExceptionToLogWithMsg(ex.Message);
41
+ let dateTimeTmpString = new StringBuilder();
42
+ dateTimeString = dateTimeTmpString.ToString();
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
48
+ else
49
+ throw ex;
50
+ }
51
+ return dateTimeString;
52
+ }
53
+ }
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVRpbWVVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3V0aWxzL3NyYy9EYXRlVGltZVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxTQUFTLEVBQUUsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE1BQU0sT0FBTyxhQUFhO0lBR2hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBUztRQUM5QixPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQWtCLEVBQUUsTUFBYyxFQUFFLE1BQVc7UUFDN0QsSUFBSSxjQUFzQixDQUFDO1FBQzNCLElBQUk7WUFDRixjQUFjLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMxQztRQUNELE9BQU8sRUFBRSxFQUFFO1lBQ1QsSUFBSSxFQUFFLFlBQVksU0FBUyxFQUFFO2dCQUMzQixJQUFJLE1BQU0sS0FBSyxZQUFZLENBQUMsdUJBQXVCLEVBQUU7b0JBQ25ELGNBQWMsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRzt3QkFDNUgsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUc7d0JBQ3pGLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUMxQztxQkFDSTtvQkFDSCxJQUFJLE1BQU0sS0FBSyxZQUFZLENBQUMscUJBQXFCLEVBQUU7d0JBQ2pELGNBQWMsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHOzRCQUN6RCxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHOzRCQUM1QyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUM7d0JBQy9DLElBQUksUUFBUSxDQUFDLFdBQVcsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFOzRCQUNuQyxjQUFjLEdBQUcsY0FBYyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO3lCQUNoRjs2QkFDSTs0QkFDSCxjQUFjLEdBQUcsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsQ0FBQzt5QkFDMUU7cUJBQ0Y7eUJBQ0k7d0JBQ0gsSUFBSSxNQUFNLEtBQUssWUFBWSxDQUFDLHFCQUFxQixFQUFFOzRCQUNqRCxjQUFjLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO3lCQUMxSDs2QkFDSTs0QkFFSCxJQUFJLE1BQU0sS0FBSyxZQUFZLENBQUMsc0JBQXNCLEVBQUU7Z0NBQ2xELGNBQWMsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQzs2QkFDM0o7aUNBQ0k7Z0NBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQ0FDOUMsSUFBSSxpQkFBaUIsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQ0FDM0QsY0FBYyxHQUFHLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDOzZCQUMvQzt5QkFDRjtxQkFDRjtpQkFDRjthQUNGOztnQkFFQyxNQUFNLEVBQUUsQ0FBQztTQUNaO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlVGltZSwgRXhjZXB0aW9uLCBTdHJpbmdCdWlsZGVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtYTUxDb25zdGFudHN9IGZyb20gXCIuL1hNTENvbnN0YW50c1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVUaW1lVXRpbHMge1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IHJldHVybnMgdGhlIG51bWJlciBpbiBhIDIgZGlnaXQgc3RyaW5nXHJcbiAgcHJpdmF0ZSBzdGF0aWMgaW50MnN0cihuOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIChuID4gOSkgPyBuLnRvU3RyaW5nKCkgOiAoXCIwXCIgKyBuKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBUb1N0cmluZyhkYXRlVGltZTogRGF0ZVRpbWUsIGZvcm1hdDogc3RyaW5nLCBsb2dnZXI6IGFueSk6IHN0cmluZyB7XHJcbiAgICBsZXQgZGF0ZVRpbWVTdHJpbmc6IHN0cmluZztcclxuICAgIHRyeSB7XHJcbiAgICAgIGRhdGVUaW1lU3RyaW5nID0gZGF0ZVRpbWUuRm9ybWF0KGZvcm1hdCk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXgpIHtcclxuICAgICAgaWYgKGV4IGluc3RhbmNlb2YgRXhjZXB0aW9uKSB7XHJcbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gWE1MQ29uc3RhbnRzLkNBQ0hFRF9EQVRFX1RJTUVfRk9STUFUKSB7XHJcbiAgICAgICAgICBkYXRlVGltZVN0cmluZyA9IERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5EYXkpICsgXCIvXCIgKyBEYXRlVGltZVV0aWxzLmludDJzdHIoZGF0ZVRpbWUuTW9udGgpICsgXCIvXCIgKyBkYXRlVGltZS5ZZWFyICsgXCIgXCIgK1xyXG4gICAgICAgICAgICBEYXRlVGltZVV0aWxzLmludDJzdHIoZGF0ZVRpbWUuSG91cikgKyBcIjpcIiArIERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5NaW51dGUpICsgXCI6XCIgK1xyXG4gICAgICAgICAgICBEYXRlVGltZVV0aWxzLmludDJzdHIoZGF0ZVRpbWUuU2Vjb25kKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBpZiAoZm9ybWF0ID09PSBYTUxDb25zdGFudHMuRVJST1JfTE9HX1RJTUVfRk9STUFUKSB7XHJcbiAgICAgICAgICAgIGRhdGVUaW1lU3RyaW5nID0gRGF0ZVRpbWVVdGlscy5pbnQyc3RyKGRhdGVUaW1lLkhvdXIpICsgXCI6XCIgK1xyXG4gICAgICAgICAgICAgIERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5NaW51dGUpICsgXCI6XCIgK1xyXG4gICAgICAgICAgICAgIERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5TZWNvbmQpICsgXCIuXCI7XHJcbiAgICAgICAgICAgIGlmIChkYXRlVGltZS5NaWxsaXNlY29uZCAlIDEwMCA+IDUwKSB7XHJcbiAgICAgICAgICAgICAgZGF0ZVRpbWVTdHJpbmcgPSBkYXRlVGltZVN0cmluZyArIChNYXRoLmZsb29yKGRhdGVUaW1lLk1pbGxpc2Vjb25kIC8gMTAwKSArIDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgIGRhdGVUaW1lU3RyaW5nID0gZGF0ZVRpbWVTdHJpbmcgKyBNYXRoLmZsb29yKGRhdGVUaW1lLk1pbGxpc2Vjb25kIC8gMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChmb3JtYXQgPT09IFhNTENvbnN0YW50cy5FUlJPUl9MT0dfREFURV9GT1JNQVQpIHtcclxuICAgICAgICAgICAgICBkYXRlVGltZVN0cmluZyA9IERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5EYXkpICsgXCIvXCIgKyBEYXRlVGltZVV0aWxzLmludDJzdHIoZGF0ZVRpbWUuTW9udGgpICsgXCIvXCIgKyBkYXRlVGltZS5ZZWFyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgICBpZiAoZm9ybWF0ID09PSBYTUxDb25zdGFudHMuSFRUUF9FUlJPUl9USU1FX0ZPUk1BVCkge1xyXG4gICAgICAgICAgICAgICAgZGF0ZVRpbWVTdHJpbmcgPSBEYXRlVGltZVV0aWxzLmludDJzdHIoZGF0ZVRpbWUuSG91cikgKyBcIjpcIiArIERhdGVUaW1lVXRpbHMuaW50MnN0cihkYXRlVGltZS5NaW51dGUpICsgXCI6XCIgKyBEYXRlVGltZVV0aWxzLmludDJzdHIoZGF0ZVRpbWUuU2Vjb25kKSArIFwiLlwiO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGxvZ2dlci5Xcml0ZUV4Y2VwdGlvblRvTG9nV2l0aE1zZyhleC5NZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgIGxldCBkYXRlVGltZVRtcFN0cmluZzogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcbiAgICAgICAgICAgICAgICBkYXRlVGltZVN0cmluZyA9IGRhdGVUaW1lVG1wU3RyaW5nLlRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aHJvdyBleDtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRlVGltZVN0cmluZztcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,58 @@
1
+ import { PICInterface } from "./PICInterface";
2
+ const DATE_MONTH_LEN = 10;
3
+ const DATE_DOW_LEN = 10;
4
+ export class DateUtil {
5
+ static getLocalMonths(names) {
6
+ let monthLen = DATE_MONTH_LEN;
7
+ if (typeof DateUtil._localMonths[0] === "undefined") {
8
+ if (names !== null) {
9
+ DateUtil._localMonths[0] = PICInterface.date_month_str[0];
10
+ for (let i = 1; i < DateUtil._localMonths.length; i = i + 1) {
11
+ if (i * monthLen >= names.length) {
12
+ DateUtil._localMonths[i] = names.substr((i - 1) * monthLen);
13
+ while (monthLen - DateUtil._localMonths[i].length > 0) {
14
+ DateUtil._localMonths[i] = DateUtil._localMonths[i] + " ";
15
+ }
16
+ }
17
+ else {
18
+ DateUtil._localMonths[i] = names.substr((i - 1) * monthLen, i * monthLen - (i - 1) * monthLen);
19
+ }
20
+ }
21
+ }
22
+ else {
23
+ for (let i = 0; i < DateUtil._localMonths.length; i = i + 1) {
24
+ DateUtil._localMonths[i] = PICInterface.date_month_str[i];
25
+ }
26
+ }
27
+ }
28
+ return DateUtil._localMonths;
29
+ }
30
+ static getLocalDays(names) {
31
+ let dowLen = DATE_DOW_LEN;
32
+ if (typeof DateUtil._localDays[0] === "undefined") {
33
+ if (names !== null) {
34
+ DateUtil._localDays[0] = PICInterface.date_dow_str[0];
35
+ for (let i = 1; i < DateUtil._localDays.length; i = i + 1) {
36
+ if (i * dowLen >= names.length) {
37
+ DateUtil._localDays[i] = names.substr((i - 1) * dowLen);
38
+ while (dowLen - DateUtil._localDays[i].length > 0) {
39
+ DateUtil._localDays[i] = DateUtil._localDays[i] + " ";
40
+ }
41
+ }
42
+ else {
43
+ DateUtil._localDays[i] = names.substr((i - 1) * dowLen, i * dowLen - (i - 1) * dowLen);
44
+ }
45
+ }
46
+ }
47
+ else {
48
+ for (let i = 0; i < DateUtil._localMonths.length; i = i + 1) {
49
+ DateUtil._localMonths[i] = PICInterface.date_dow_str[i];
50
+ }
51
+ }
52
+ }
53
+ return DateUtil._localDays;
54
+ }
55
+ }
56
+ DateUtil._localMonths = new Array(13);
57
+ DateUtil._localDays = new Array(8);
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9zcmMvRGF0ZVV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE1BQU0sY0FBYyxHQUFXLEVBQUUsQ0FBQztBQUNsQyxNQUFNLFlBQVksR0FBVyxFQUFFLENBQUM7QUFFaEMsTUFBTSxPQUFPLFFBQVE7SUFTbkIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFhO1FBQ2pDLElBQUksUUFBUSxHQUFXLGNBQWMsQ0FBQztRQUd0QyxJQUFJLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxXQUFXLEVBQUU7WUFHbkQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO2dCQUNsQixRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFELEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFFbkUsSUFBSSxDQUFDLEdBQUcsUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7d0JBQ2hDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQzt3QkFDNUQsT0FBTyxRQUFRLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOzRCQUNyRCxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO3lCQUMzRDtxQkFDRjt5QkFDSTt3QkFDSCxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7cUJBQ2hHO2lCQUNGO2FBQ0Y7aUJBQ0k7Z0JBQ0gsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNuRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO2FBQ0Y7U0FDRjtRQUNELE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQztJQUMvQixDQUFDO0lBTUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFhO1FBQy9CLElBQUksTUFBTSxHQUFXLFlBQVksQ0FBQztRQUdsQyxJQUFJLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxXQUFXLEVBQUU7WUFHakQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO2dCQUNsQixRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RELEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFFakUsSUFBSSxDQUFDLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7d0JBQzlCLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQzt3QkFDeEQsT0FBTyxNQUFNLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOzRCQUNqRCxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO3lCQUN2RDtxQkFDRjt5QkFDSTt3QkFDSCxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7cUJBQ3hGO2lCQUNGO2FBQ0Y7aUJBQ0k7Z0JBQ0gsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNuRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3pEO2FBQ0Y7U0FDRjtRQUNELE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUM3QixDQUFDOztBQXZFdUIscUJBQVksR0FBYSxJQUFJLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztBQUMvQyxtQkFBVSxHQUFhLElBQUksS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQSUNJbnRlcmZhY2V9IGZyb20gXCIuL1BJQ0ludGVyZmFjZVwiO1xyXG5cclxuY29uc3QgREFURV9NT05USF9MRU46IG51bWJlciA9IDEwO1xyXG5jb25zdCBEQVRFX0RPV19MRU46IG51bWJlciA9IDEwO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVVdGlsIHtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgX2xvY2FsTW9udGhzOiBzdHJpbmdbXSA9IG5ldyBBcnJheTxzdHJpbmc+KDEzKTtcclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBfbG9jYWxEYXlzOiBzdHJpbmdbXSA9IG5ldyBBcnJheTxzdHJpbmc+KDgpO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICBleHRyYWN0IHRoZSB2ZWN0b3Igd2hpY2ggY29udGFpbnMgdGhlIG5hbWVzIG9mIHRoZSBtb250aHMsIGFzIHNwZWNpZmllZCBieSB0aGVcclxuICAvLy8gIGxhbmd1YWdlIENBQlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIGdldExvY2FsTW9udGhzKG5hbWVzOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgbW9udGhMZW46IG51bWJlciA9IERBVEVfTU9OVEhfTEVOO1xyXG5cclxuICAgIC8vIGlmIGl0J3MgdGhlIGZpcnN0IHRpbWUgdGhlbiBhY2Nlc3MgdGhlIGxhbmd1YWdlIENBQiBhbmQgdGFrZSB0aGUgdmFsdWVzXHJcbiAgICBpZiAodHlwZW9mIERhdGVVdGlsLl9sb2NhbE1vbnRoc1swXSA9PT0gXCJ1bmRlZmluZWRcIikge1xyXG5cclxuICAgICAgLy9jdXQgdGhlIHN0cmluZyBpbnRvIHNlcGFyYXRlIHZhbHVlc1xyXG4gICAgICBpZiAobmFtZXMgIT09IG51bGwpIHtcclxuICAgICAgICBEYXRlVXRpbC5fbG9jYWxNb250aHNbMF0gPSBQSUNJbnRlcmZhY2UuZGF0ZV9tb250aF9zdHJbMF07XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMTsgaSA8IERhdGVVdGlsLl9sb2NhbE1vbnRocy5sZW5ndGg7IGkgPSBpICsgMSkge1xyXG5cclxuICAgICAgICAgIGlmIChpICogbW9udGhMZW4gPj0gbmFtZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIERhdGVVdGlsLl9sb2NhbE1vbnRoc1tpXSA9IG5hbWVzLnN1YnN0cigoaSAtIDEpICogbW9udGhMZW4pO1xyXG4gICAgICAgICAgICB3aGlsZSAobW9udGhMZW4gLSBEYXRlVXRpbC5fbG9jYWxNb250aHNbaV0ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgIERhdGVVdGlsLl9sb2NhbE1vbnRoc1tpXSA9IERhdGVVdGlsLl9sb2NhbE1vbnRoc1tpXSArIFwiIFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgRGF0ZVV0aWwuX2xvY2FsTW9udGhzW2ldID0gbmFtZXMuc3Vic3RyKChpIC0gMSkgKiBtb250aExlbiwgaSAqIG1vbnRoTGVuIC0gKGkgLSAxKSAqIG1vbnRoTGVuKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IERhdGVVdGlsLl9sb2NhbE1vbnRocy5sZW5ndGg7IGkgPSBpICsgMSkge1xyXG4gICAgICAgICAgRGF0ZVV0aWwuX2xvY2FsTW9udGhzW2ldID0gUElDSW50ZXJmYWNlLmRhdGVfbW9udGhfc3RyW2ldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIERhdGVVdGlsLl9sb2NhbE1vbnRocztcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBleHRyYWN0IHRoZSB2ZWN0b3Igd2hpY2ggY29udGFpbnMgdGhlIG5hbWVzIG9mIHRoZSBkYXlzLCBhcyBzcGVjaWZpZWQgYnkgdGhlXHJcbiAgLy8vICAgbGFuZ3VhZ2UgQ0FCXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgZ2V0TG9jYWxEYXlzKG5hbWVzOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgZG93TGVuOiBudW1iZXIgPSBEQVRFX0RPV19MRU47XHJcblxyXG4gICAgLy8gaWYgaXQncyB0aGUgZmlyc3QgdGltZSB0aGVuIGFjY2VzcyB0aGUgbGFuZ3VhZ2UgQ0FCIGFuZCB0YWtlIHRoZSB2YWx1ZXNcclxuICAgIGlmICh0eXBlb2YgRGF0ZVV0aWwuX2xvY2FsRGF5c1swXSA9PT0gXCJ1bmRlZmluZWRcIikge1xyXG5cclxuICAgICAgLy9jdXQgdGhlIHN0cmluZyBpbnRvIHNlcGFyYXRlIHZhbHVlc1xyXG4gICAgICBpZiAobmFtZXMgIT09IG51bGwpIHtcclxuICAgICAgICBEYXRlVXRpbC5fbG9jYWxEYXlzWzBdID0gUElDSW50ZXJmYWNlLmRhdGVfZG93X3N0clswXTtcclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAxOyBpIDwgRGF0ZVV0aWwuX2xvY2FsRGF5cy5sZW5ndGg7IGkgPSBpICsgMSkge1xyXG5cclxuICAgICAgICAgIGlmIChpICogZG93TGVuID49IG5hbWVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBEYXRlVXRpbC5fbG9jYWxEYXlzW2ldID0gbmFtZXMuc3Vic3RyKChpIC0gMSkgKiBkb3dMZW4pO1xyXG4gICAgICAgICAgICB3aGlsZSAoZG93TGVuIC0gRGF0ZVV0aWwuX2xvY2FsRGF5c1tpXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgRGF0ZVV0aWwuX2xvY2FsRGF5c1tpXSA9IERhdGVVdGlsLl9sb2NhbERheXNbaV0gKyBcIiBcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIERhdGVVdGlsLl9sb2NhbERheXNbaV0gPSBuYW1lcy5zdWJzdHIoKGkgLSAxKSAqIGRvd0xlbiwgaSAqIGRvd0xlbiAtIChpIC0gMSkgKiBkb3dMZW4pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgRGF0ZVV0aWwuX2xvY2FsTW9udGhzLmxlbmd0aDsgaSA9IGkgKyAxKSB7XHJcbiAgICAgICAgICBEYXRlVXRpbC5fbG9jYWxNb250aHNbaV0gPSBQSUNJbnRlcmZhY2UuZGF0ZV9kb3dfc3RyW2ldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIERhdGVVdGlsLl9sb2NhbERheXM7XHJcbiAgfVxyXG59XHJcbiJdfQ==