@magic-xpa/gui 4.1100.0-dev4110.99 → 4.1101.0-dev4111.271

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 (195) hide show
  1. package/README.md +7 -7
  2. package/{esm2020 → esm2022}/index.mjs +71 -71
  3. package/{esm2020 → esm2022}/magic-xpa-gui.mjs +1 -1
  4. package/esm2022/src/Commands.mjs +184 -0
  5. package/esm2022/src/Events.mjs +425 -0
  6. package/{esm2020 → esm2022}/src/EventsProcessor.mjs +66 -66
  7. package/{esm2020 → esm2022}/src/FocusManager.mjs +33 -33
  8. package/esm2022/src/GuiConstants.mjs +68 -0
  9. package/{esm2020 → esm2022}/src/GuiEnums.mjs +301 -300
  10. package/esm2022/src/GuiEnvironment.mjs +4 -0
  11. package/{esm2020 → esm2022}/src/IFlowMonitorQueue.mjs +1 -1
  12. package/esm2022/src/Manager.mjs +91 -0
  13. package/esm2022/src/UIBridge.mjs +33 -0
  14. package/{esm2020 → esm2022}/src/env/IEnvironment.mjs +1 -1
  15. package/{esm2020 → esm2022}/src/gui/ControlBase.mjs +2 -2
  16. package/esm2022/src/gui/GuiMgControl.mjs +123 -0
  17. package/{esm2020 → esm2022}/src/gui/GuiMgForm.mjs +3 -3
  18. package/esm2022/src/gui/KeyboardItem.mjs +135 -0
  19. package/esm2022/src/gui/LastFocusedVal.mjs +11 -0
  20. package/esm2022/src/gui/MgValue.mjs +16 -0
  21. package/{esm2020 → esm2022}/src/gui/PropParentInterface.mjs +1 -1
  22. package/{esm2020 → esm2022}/src/gui/low/DialogHandler.mjs +6 -6
  23. package/esm2022/src/gui/low/GuiCommand.mjs +68 -0
  24. package/esm2022/src/gui/low/GuiCommandQueue.mjs +35 -0
  25. package/esm2022/src/gui/low/GuiInteractive.mjs +178 -0
  26. package/esm2022/src/gui/low/Style.mjs +20 -0
  27. package/esm2022/src/management/RuntimeContextBase.mjs +42 -0
  28. package/esm2022/src/management/data/BlobType.mjs +281 -0
  29. package/esm2022/src/management/data/DcValues.mjs +214 -0
  30. package/{esm2020 → esm2022}/src/management/data/DcValuesBuilderBase.mjs +95 -95
  31. package/esm2022/src/management/data/FieldDef.mjs +331 -0
  32. package/{esm2020 → esm2022}/src/management/data/FieldsTable.mjs +54 -54
  33. package/esm2022/src/management/data/GuiDataViewBase.mjs +88 -0
  34. package/esm2022/src/management/data/GuiFieldBase.mjs +82 -0
  35. package/{esm2020 → esm2022}/src/management/data/IRecord.mjs +1 -1
  36. package/{esm2020 → esm2022}/src/management/data/IReferencedObject.mjs +1 -1
  37. package/esm2022/src/management/data/NUM_TYPE.mjs +1739 -0
  38. package/esm2022/src/management/data/ObjectReferenceBase.mjs +48 -0
  39. package/esm2022/src/management/data/ObjectReferencesCollection.mjs +27 -0
  40. package/{esm2020 → esm2022}/src/management/data/RecordUtils.mjs +360 -360
  41. package/esm2022/src/management/data/VectorType.mjs +612 -0
  42. package/esm2022/src/management/data/VectorTypeBase.mjs +88 -0
  43. package/{esm2020 → esm2022}/src/management/events/IActionManager.mjs +1 -1
  44. package/{esm2020 → esm2022}/src/management/events/IGuiEventsManager.mjs +1 -1
  45. package/esm2022/src/management/exp/ExpressionInterface.mjs +244 -0
  46. package/esm2022/src/management/exp/GuiExpressionEvaluator.mjs +305 -0
  47. package/esm2022/src/management/gui/ControlTable.mjs +118 -0
  48. package/esm2022/src/management/gui/DisplayConvertor.mjs +1649 -0
  49. package/esm2022/src/management/gui/FieldValidator.mjs +711 -0
  50. package/esm2022/src/management/gui/GuiControlPropertyAdapter.mjs +24 -0
  51. package/{esm2020 → esm2022}/src/management/gui/GuiFormPropertyAdapter.mjs +10 -10
  52. package/esm2022/src/management/gui/HebrewDate.mjs +278 -0
  53. package/esm2022/src/management/gui/Helps.mjs +237 -0
  54. package/esm2022/src/management/gui/MgControlBase.mjs +1869 -0
  55. package/esm2022/src/management/gui/MgFormBase.mjs +741 -0
  56. package/esm2022/src/management/gui/PIC.mjs +1185 -0
  57. package/{esm2020 → esm2022}/src/management/gui/PropDefaults.mjs +229 -229
  58. package/{esm2020 → esm2022}/src/management/gui/PropInterface.mjs +246 -245
  59. package/esm2022/src/management/gui/PropTable.mjs +221 -0
  60. package/esm2022/src/management/gui/Property.mjs +1362 -0
  61. package/esm2022/src/management/gui/ValidationDetails.mjs +248 -0
  62. package/{esm2020 → esm2022}/src/management/gui/ValidationDetailsBase.mjs +93 -93
  63. package/{esm2020 → esm2022}/src/management/gui/WrongFormatException.mjs +29 -29
  64. package/esm2022/src/management/tasks/GuiDataCollection.mjs +4 -0
  65. package/esm2022/src/management/tasks/GuiTaskBase.mjs +511 -0
  66. package/{esm2020 → esm2022}/src/management/tasks/IMGDataTable.mjs +1 -1
  67. package/{esm2020 → esm2022}/src/management/tasks/ITask.mjs +1 -1
  68. package/esm2022/src/management/tasks/MgTimer.mjs +21 -0
  69. package/esm2022/src/management/tasks/TaskDefinitionId.mjs +54 -0
  70. package/{esm2020 → esm2022}/src/management/tasks/TaskDefinitionIdTableSaxHandler.mjs +41 -41
  71. package/{esm2020 → esm2022}/src/util/MemoryUtil.mjs +34 -34
  72. package/esm2022/src/util/ObjectReference.mjs +36 -0
  73. package/esm2022/src/util/UsernamePasswordCredentials.mjs +52 -0
  74. package/{fesm2020 → fesm2022}/magic-xpa-gui.mjs +16086 -16095
  75. package/fesm2022/magic-xpa-gui.mjs.map +1 -0
  76. package/index.d.ts +70 -70
  77. package/package.json +6 -12
  78. package/src/Commands.d.ts +40 -40
  79. package/src/Events.d.ts +157 -155
  80. package/src/EventsProcessor.d.ts +13 -13
  81. package/src/FocusManager.d.ts +8 -8
  82. package/src/GuiConstants.d.ts +65 -65
  83. package/src/GuiEnums.d.ts +283 -282
  84. package/src/GuiEnvironment.d.ts +4 -4
  85. package/src/IFlowMonitorQueue.d.ts +3 -3
  86. package/src/Manager.d.ts +26 -26
  87. package/src/UIBridge.d.ts +16 -16
  88. package/src/env/IEnvironment.d.ts +31 -31
  89. package/src/gui/ControlBase.d.ts +4 -4
  90. package/src/gui/GuiMgControl.d.ts +38 -38
  91. package/src/gui/GuiMgForm.d.ts +3 -3
  92. package/src/gui/KeyboardItem.d.ts +18 -18
  93. package/src/gui/LastFocusedVal.d.ts +7 -7
  94. package/src/gui/MgValue.d.ts +15 -15
  95. package/src/gui/PropParentInterface.d.ts +13 -13
  96. package/src/gui/low/DialogHandler.d.ts +4 -4
  97. package/src/gui/low/GuiCommand.d.ts +37 -37
  98. package/src/gui/low/GuiCommandQueue.d.ts +13 -13
  99. package/src/gui/low/GuiInteractive.d.ts +55 -55
  100. package/src/gui/low/Style.d.ts +19 -19
  101. package/src/management/RuntimeContextBase.d.ts +23 -23
  102. package/src/management/data/BlobType.d.ts +29 -29
  103. package/src/management/data/DcValues.d.ts +33 -33
  104. package/src/management/data/DcValuesBuilderBase.d.ts +17 -17
  105. package/src/management/data/FieldDef.d.ts +53 -53
  106. package/src/management/data/FieldsTable.d.ts +16 -16
  107. package/src/management/data/GuiDataViewBase.d.ts +27 -27
  108. package/src/management/data/GuiFieldBase.d.ts +17 -17
  109. package/src/management/data/IRecord.d.ts +12 -12
  110. package/src/management/data/IReferencedObject.d.ts +5 -5
  111. package/src/management/data/NUM_TYPE.d.ts +103 -103
  112. package/src/management/data/ObjectReferenceBase.d.ts +16 -16
  113. package/src/management/data/ObjectReferencesCollection.d.ts +10 -10
  114. package/src/management/data/RecordUtils.d.ts +21 -21
  115. package/src/management/data/VectorType.d.ts +52 -52
  116. package/src/management/data/VectorTypeBase.d.ts +8 -8
  117. package/src/management/events/IActionManager.d.ts +7 -7
  118. package/src/management/events/IGuiEventsManager.d.ts +20 -20
  119. package/src/management/exp/ExpressionInterface.d.ts +242 -242
  120. package/src/management/exp/GuiExpressionEvaluator.d.ts +47 -47
  121. package/src/management/gui/ControlTable.d.ts +28 -28
  122. package/src/management/gui/DisplayConvertor.d.ts +103 -103
  123. package/src/management/gui/FieldValidator.d.ts +35 -35
  124. package/src/management/gui/GuiControlPropertyAdapter.d.ts +40 -40
  125. package/src/management/gui/GuiFormPropertyAdapter.d.ts +17 -17
  126. package/src/management/gui/HebrewDate.d.ts +46 -46
  127. package/src/management/gui/Helps.d.ts +51 -51
  128. package/src/management/gui/MgControlBase.d.ts +225 -223
  129. package/src/management/gui/MgFormBase.d.ts +160 -160
  130. package/src/management/gui/PIC.d.ts +108 -108
  131. package/src/management/gui/PropDefaults.d.ts +7 -7
  132. package/src/management/gui/PropInterface.d.ts +244 -243
  133. package/src/management/gui/PropTable.d.ts +33 -33
  134. package/src/management/gui/Property.d.ts +121 -121
  135. package/src/management/gui/ValidationDetails.d.ts +52 -52
  136. package/src/management/gui/ValidationDetailsBase.d.ts +14 -14
  137. package/src/management/gui/WrongFormatException.d.ts +9 -9
  138. package/src/management/tasks/GuiDataCollection.d.ts +4 -4
  139. package/src/management/tasks/GuiTaskBase.d.ts +150 -150
  140. package/src/management/tasks/IMGDataTable.d.ts +10 -10
  141. package/src/management/tasks/ITask.d.ts +6 -6
  142. package/src/management/tasks/MgTimer.d.ts +8 -8
  143. package/src/management/tasks/TaskDefinitionId.d.ts +16 -16
  144. package/src/management/tasks/TaskDefinitionIdTableSaxHandler.d.ts +7 -7
  145. package/src/util/MemoryUtil.d.ts +6 -6
  146. package/src/util/ObjectReference.d.ts +9 -9
  147. package/src/util/UsernamePasswordCredentials.d.ts +18 -18
  148. package/esm2020/src/Commands.mjs +0 -184
  149. package/esm2020/src/Events.mjs +0 -420
  150. package/esm2020/src/GuiConstants.mjs +0 -68
  151. package/esm2020/src/GuiEnvironment.mjs +0 -4
  152. package/esm2020/src/Manager.mjs +0 -91
  153. package/esm2020/src/UIBridge.mjs +0 -32
  154. package/esm2020/src/gui/GuiMgControl.mjs +0 -125
  155. package/esm2020/src/gui/KeyboardItem.mjs +0 -135
  156. package/esm2020/src/gui/LastFocusedVal.mjs +0 -11
  157. package/esm2020/src/gui/MgValue.mjs +0 -16
  158. package/esm2020/src/gui/low/GuiCommand.mjs +0 -66
  159. package/esm2020/src/gui/low/GuiCommandQueue.mjs +0 -35
  160. package/esm2020/src/gui/low/GuiInteractive.mjs +0 -176
  161. package/esm2020/src/gui/low/Style.mjs +0 -20
  162. package/esm2020/src/management/RuntimeContextBase.mjs +0 -43
  163. package/esm2020/src/management/data/BlobType.mjs +0 -281
  164. package/esm2020/src/management/data/DcValues.mjs +0 -214
  165. package/esm2020/src/management/data/FieldDef.mjs +0 -331
  166. package/esm2020/src/management/data/GuiDataViewBase.mjs +0 -90
  167. package/esm2020/src/management/data/GuiFieldBase.mjs +0 -82
  168. package/esm2020/src/management/data/NUM_TYPE.mjs +0 -1741
  169. package/esm2020/src/management/data/ObjectReferenceBase.mjs +0 -48
  170. package/esm2020/src/management/data/ObjectReferencesCollection.mjs +0 -29
  171. package/esm2020/src/management/data/VectorType.mjs +0 -612
  172. package/esm2020/src/management/data/VectorTypeBase.mjs +0 -88
  173. package/esm2020/src/management/exp/ExpressionInterface.mjs +0 -244
  174. package/esm2020/src/management/exp/GuiExpressionEvaluator.mjs +0 -307
  175. package/esm2020/src/management/gui/ControlTable.mjs +0 -118
  176. package/esm2020/src/management/gui/DisplayConvertor.mjs +0 -1679
  177. package/esm2020/src/management/gui/FieldValidator.mjs +0 -711
  178. package/esm2020/src/management/gui/GuiControlPropertyAdapter.mjs +0 -22
  179. package/esm2020/src/management/gui/HebrewDate.mjs +0 -278
  180. package/esm2020/src/management/gui/Helps.mjs +0 -237
  181. package/esm2020/src/management/gui/MgControlBase.mjs +0 -1858
  182. package/esm2020/src/management/gui/MgFormBase.mjs +0 -741
  183. package/esm2020/src/management/gui/PIC.mjs +0 -1185
  184. package/esm2020/src/management/gui/PropTable.mjs +0 -221
  185. package/esm2020/src/management/gui/Property.mjs +0 -1356
  186. package/esm2020/src/management/gui/ValidationDetails.mjs +0 -248
  187. package/esm2020/src/management/tasks/GuiDataCollection.mjs +0 -4
  188. package/esm2020/src/management/tasks/GuiTaskBase.mjs +0 -510
  189. package/esm2020/src/management/tasks/MgTimer.mjs +0 -21
  190. package/esm2020/src/management/tasks/TaskDefinitionId.mjs +0 -54
  191. package/esm2020/src/util/ObjectReference.mjs +0 -36
  192. package/esm2020/src/util/UsernamePasswordCredentials.mjs +0 -52
  193. package/fesm2015/magic-xpa-gui.mjs +0 -16391
  194. package/fesm2015/magic-xpa-gui.mjs.map +0 -1
  195. package/fesm2020/magic-xpa-gui.mjs.map +0 -1
@@ -1,248 +0,0 @@
1
- import { FieldValidator } from "./FieldValidator";
2
- import { StringBuilder, List } from "@magic-xpa/mscorelib";
3
- import { StorageAttribute, StrUtil, PICInterface } from "@magic-xpa/utils";
4
- import { Events } from "../../Events";
5
- import { ValidationDetailsBase } from "./ValidationDetailsBase";
6
- export class ValidationDetails extends ValidationDetailsBase {
7
- get ErrorMessage() {
8
- return this.errMessage;
9
- }
10
- set ErrorMessage(msg) {
11
- this.errMessage = msg;
12
- }
13
- get ValidationFailed() {
14
- return this._validationFailed;
15
- }
16
- constructor(oldvalueOrRangeStrOrVd, val, range, pic, control) {
17
- super();
18
- this._control = null;
19
- this._fieldValidator = null;
20
- this._picData = null;
21
- this._pictureEnable = null;
22
- this._pictureReal = null;
23
- this._isNull = false;
24
- this._oldvalue = null;
25
- this._val = null;
26
- this._validationFailed = false;
27
- this.errMessage = null;
28
- this.constructor_3();
29
- if (arguments.length === 5)
30
- this.constructor_0(oldvalueOrRangeStrOrVd, val, range, pic, control);
31
- else if (arguments.length === 1 && (oldvalueOrRangeStrOrVd === null || oldvalueOrRangeStrOrVd.constructor === String))
32
- this.constructor_1(oldvalueOrRangeStrOrVd);
33
- else if (arguments.length === 1 && (oldvalueOrRangeStrOrVd === null || oldvalueOrRangeStrOrVd instanceof ValidationDetails))
34
- this.constructor_2(oldvalueOrRangeStrOrVd);
35
- }
36
- constructor_0(oldvalue, val, range, pic, control) {
37
- this._picData = pic;
38
- this._oldvalue = oldvalue;
39
- this._val = val;
40
- this._range = range;
41
- this._control = control;
42
- switch (pic.getAttr()) {
43
- case StorageAttribute.NUMERIC:
44
- this._pictureReal = new StringBuilder(this._picData.getMaskSize());
45
- this._pictureEnable = new StringBuilder(this._picData.getMaskSize());
46
- this.getRealNumericPicture();
47
- break;
48
- case StorageAttribute.BOOLEAN:
49
- if (this._range == null)
50
- this._range = "True,False";
51
- break;
52
- case StorageAttribute.DATE:
53
- case StorageAttribute.TIME:
54
- case StorageAttribute.ALPHA:
55
- case StorageAttribute.BLOB:
56
- case StorageAttribute.BLOB_VECTOR:
57
- case StorageAttribute.UNICODE:
58
- break;
59
- default:
60
- Events.WriteExceptionToLog("ValidationDetails.ValidationDetails: There is no type " +
61
- this._picData.getAttr());
62
- break;
63
- }
64
- if (this._range != null)
65
- this.fillRange();
66
- range = null;
67
- }
68
- constructor_1(rangeStr) {
69
- this.constructor_3();
70
- this._range = rangeStr;
71
- if (this._range !== null)
72
- this.fillRange();
73
- }
74
- constructor_2(vd) {
75
- this.constructor_3();
76
- this._oldvalue = vd.getOldValue();
77
- this._val = vd._val;
78
- this._range = vd.getRange();
79
- this._control = vd.getControl();
80
- this._validationFailed = false;
81
- if (vd._pictureReal !== null) {
82
- this._pictureReal = new StringBuilder(vd._pictureReal.ToString());
83
- }
84
- if (vd._pictureEnable !== null) {
85
- this._pictureEnable = new StringBuilder(vd._pictureEnable.ToString());
86
- }
87
- if (vd.getDiscreteRangeValues() !== null) {
88
- this._discreteRangeValues = vd.CloneDiscreteRangeValues();
89
- }
90
- if (vd.getContinuousRangeValues() != null) {
91
- this._continuousRangeValues = vd.CloneContinuousRangeValues();
92
- }
93
- this._picData = vd.getPIC();
94
- this._isNull = vd.getIsNull();
95
- }
96
- constructor_3() {
97
- this._fieldValidator = new FieldValidator();
98
- }
99
- getRealNumericPicture() {
100
- let mask = this._picData.getMask();
101
- let dec_ = this._picData.getDec();
102
- let whole_ = this._picData.getWholes();
103
- let decimal_ = this._picData.withDecimal();
104
- let dec_pnt_in_first = this._picData.decInFirstPos();
105
- let isNegative = this._picData.isNegative();
106
- let isFirstPic_N = true;
107
- let isPointInserted = false;
108
- let currChar = 0;
109
- for (let i = 0; i < this._picData.getMaskSize(); i = i + 1) {
110
- currChar = +mask.charAt(i);
111
- switch (currChar) {
112
- case PICInterface.PIC_N:
113
- if (isFirstPic_N) {
114
- if (isNegative)
115
- this.setPictures('-', '0');
116
- if (dec_pnt_in_first) {
117
- this.setPictures('.', '1');
118
- isPointInserted = true;
119
- }
120
- else if (whole_ > 0) {
121
- whole_--;
122
- this.setPictures('#', '0');
123
- }
124
- isFirstPic_N = false;
125
- break;
126
- }
127
- if (decimal_) {
128
- if (whole_ > 0) {
129
- whole_--;
130
- this.setPictures('#', '0');
131
- }
132
- else if (whole_ === 0 && !isPointInserted) {
133
- this.setPictures('.', '1');
134
- isPointInserted = true;
135
- }
136
- else if (dec_ > 0) {
137
- dec_--;
138
- this.setPictures('#', '0');
139
- }
140
- }
141
- else {
142
- if (whole_ > 0) {
143
- whole_--;
144
- this.setPictures('#', '0');
145
- }
146
- }
147
- break;
148
- default:
149
- this.setPictures(currChar.toString(), '1');
150
- break;
151
- }
152
- }
153
- Events.WriteDevToLog(this._pictureReal.ToString());
154
- Events.WriteDevToLog(this._pictureEnable.ToString());
155
- }
156
- setPictures(Real, Enable) {
157
- this._pictureEnable.Append(Enable);
158
- this._pictureReal.Append(Real);
159
- }
160
- setValue(val) {
161
- this._val = val;
162
- }
163
- setOldValue(oldvalue) {
164
- this._oldvalue = oldvalue;
165
- }
166
- setRange(range) {
167
- this._range = range;
168
- }
169
- setValidationFailed(val) {
170
- this._validationFailed = val;
171
- }
172
- setNull(isNull_) {
173
- this._isNull = isNull_;
174
- }
175
- getDispValue() {
176
- if (typeof this._val === 'string') {
177
- let minimumValueLength = this._picData.getMinimumValueLength();
178
- if (this._val.length > minimumValueLength) {
179
- if (minimumValueLength > 0 || StrUtil.rtrim(this._val).length > 0) {
180
- let str = this._val.substr(minimumValueLength);
181
- this._val = this._val.substr(0, minimumValueLength);
182
- this._val = this._val + StrUtil.rtrim(str);
183
- }
184
- }
185
- }
186
- else {
187
- if (this._control != null && this._control.isChoiceControl())
188
- this._val = this._val.toString();
189
- }
190
- return this._val;
191
- }
192
- getOldValue() {
193
- return this._oldvalue;
194
- }
195
- getType() {
196
- return this._picData.getAttr();
197
- }
198
- getPictureReal() {
199
- return this._pictureReal.ToString();
200
- }
201
- getPictureEnable() {
202
- return this._pictureEnable.ToString();
203
- }
204
- getIsNegative() {
205
- return this._picData.isNegative();
206
- }
207
- getIsPadFill() {
208
- return this._picData.padFill();
209
- }
210
- getPadFillChar() {
211
- return this._picData.getPad();
212
- }
213
- getIsZeroFill() {
214
- return this._picData.zeroFill();
215
- }
216
- getZeroFillChar() {
217
- return this._picData.getZeroPad();
218
- }
219
- getNegativeSignPref() {
220
- return this._picData.getNegPref_();
221
- }
222
- getRange() {
223
- return this._range;
224
- }
225
- getControl() {
226
- return this._control;
227
- }
228
- getPIC() {
229
- return this._picData;
230
- }
231
- getIsNull() {
232
- return this._isNull;
233
- }
234
- evaluate() {
235
- return this._fieldValidator.checkVal(this);
236
- }
237
- CloneDiscreteRangeValues() {
238
- let clone = new List();
239
- clone.AddRange(this._discreteRangeValues.GetEnumerator());
240
- return clone;
241
- }
242
- CloneContinuousRangeValues() {
243
- let clone = new List();
244
- clone.AddRange(this._continuousRangeValues.GetEnumerator());
245
- return clone;
246
- }
247
- }
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsaWRhdGlvbkRldGFpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWkvc3JjL21hbmFnZW1lbnQvZ3VpL1ZhbGlkYXRpb25EZXRhaWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRCxPQUFPLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUdoRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBaUIxRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEdBQVc7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFTRCxZQUFZLHNCQUE0QixFQUFFLEdBQVksRUFBRSxLQUFjLEVBQUUsR0FBUyxFQUFFLE9BQXVCO1FBQ3hHLEtBQUssRUFBRSxDQUFDO1FBaENGLGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBQy9CLG9CQUFlLEdBQW1CLElBQUksQ0FBQztRQUN2QyxhQUFRLEdBQVEsSUFBSSxDQUFDO1FBQ3JCLG1CQUFjLEdBQWtCLElBQUksQ0FBQztRQUNyQyxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixjQUFTLEdBQVcs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TUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBTU8sd0JBQXdCO1FBQzlCLElBQUksS0FBSyxHQUFpQixJQUFJLElBQUksRUFBVSxDQUFDO1FBQzdDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDMUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLElBQUksS0FBSyxHQUFpQixJQUFJLElBQUksRUFBVSxDQUFDO1FBQzdDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDNUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01nQ29udHJvbEJhc2V9IGZyb20gXCIuL01nQ29udHJvbEJhc2VcIjtcclxuaW1wb3J0IHtGaWVsZFZhbGlkYXRvcn0gZnJvbSBcIi4vRmllbGRWYWxpZGF0b3JcIjtcclxuaW1wb3J0IHtQSUN9IGZyb20gXCIuL1BJQ1wiO1xyXG5pbXBvcnQge1N0cmluZ0J1aWxkZXIsIExpc3R9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge1N0b3JhZ2VBdHRyaWJ1dGUsIFN0clV0aWwsIFBJQ0ludGVyZmFjZX0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtFdmVudHN9IGZyb20gXCIuLi8uLi9FdmVudHNcIjtcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkRldGFpbHNCYXNlIH0gZnJvbSBcIi4vVmFsaWRhdGlvbkRldGFpbHNCYXNlXCI7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25EZXRhaWxzIGV4dGVuZHMgVmFsaWRhdGlvbkRldGFpbHNCYXNlIHtcclxuXHJcbiAgLy8gQVRURU5USU9OICEhISB3aGVuIHlvdSBhZGQvbW9kaWZ5L2RlbGV0ZSBhIG1lbWJlciB2YXJpYWJsZSBkb24ndCBmb3JnZXQgdG8gdGFrZSBjYXJlXHJcbiAgLy8gYWJvdXQgdGhlIGNvcHkgY29uc3RydWN0b3I6IFZhbGlkYXRpb25EZXRhaWxzKFZhbGlkYXRpb25EZXRhaWxzIHZkKVxyXG5cclxuICBwcml2YXRlIF9jb250cm9sOiBNZ0NvbnRyb2xCYXNlID0gbnVsbDtcclxuICBwcml2YXRlIF9maWVsZFZhbGlkYXRvcjogRmllbGRWYWxpZGF0b3IgPSBudWxsO1xyXG4gIHByaXZhdGUgX3BpY0RhdGE6IFBJQyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfcGljdHVyZUVuYWJsZTogU3RyaW5nQnVpbGRlciA9IG51bGw7IC8vIGZvciBpbm5lciAob2YgTnVtZXJpYyB0eXBlKSB1c2Ugb25seSwgU3RyaW5nIG9mIDEncyAtPiBwb3NzaWJsZSB0byB3cml0ZSA7IDAncyAtPiBpbXBvc3NpYmxlIHRvIHdyaXRlIDsgZm9yICdcXCcgdXNpbmdcclxuICBwcml2YXRlIF9waWN0dXJlUmVhbDogU3RyaW5nQnVpbGRlciA9IG51bGw7IC8vIGZvciBpbm5lciAob2YgTnVtZXJpYyB0eXBlKSB1c2Ugb25seVxyXG4gIHByaXZhdGUgX2lzTnVsbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX29sZHZhbHVlOiBzdHJpbmcgPSBudWxsOyAvLyBvbGQgdmFsdWUgb2YgdGhlIGNvbnRyb2xcclxuICBwcml2YXRlIF92YWw6IGFueSA9IG51bGw7ICAvLyBuZXcgdmFsdWUsIGluc2VydGVkIGludG8gY29udHJvbFxyXG4gIHByaXZhdGUgX3ZhbGlkYXRpb25GYWlsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBlcnJNZXNzYWdlOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBnZXQgRXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lcnJNZXNzYWdlO1xyXG4gIH1cclxuXHJcbiAgc2V0IEVycm9yTWVzc2FnZShtc2c6IHN0cmluZykge1xyXG4gICAgdGhpcy5lcnJNZXNzYWdlID0gbXNnO1xyXG4gIH1cclxuXHJcbiAgZ2V0IFZhbGlkYXRpb25GYWlsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGlvbkZhaWxlZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBDb25zdHJ1Y3Rvciwgd2hpY2ggc2V0cyBhbGwgbWVtYmVyIHZhbHVlc1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgY29uc3RydWN0b3Iob2xkdmFsdWU6IGFueSwgdmFsOiBhbnksIHJhbmdlOiBzdHJpbmcsIHBpYzogUElDLCBjb250cm9sOiBNZ0NvbnRyb2xCYXNlKTtcclxuICBjb25zdHJ1Y3RvcihyYW5nZVN0cjogc3RyaW5nKTtcclxuICBjb25zdHJ1Y3Rvcih2ZDogVmFsaWRhdGlvbkRldGFpbHMpO1xyXG4gIGNvbnN0cnVjdG9yKCk7XHJcbiAgY29uc3RydWN0b3Iob2xkdmFsdWVPclJhbmdlU3RyT3JWZD86IGFueSwgdmFsPzogc3RyaW5nLCByYW5nZT86IHN0cmluZywgcGljPzogUElDLCBjb250cm9sPzogTWdDb250cm9sQmFzZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuY29uc3RydWN0b3JfMygpO1xyXG5cclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSA1KVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAob2xkdmFsdWVPclJhbmdlU3RyT3JWZCwgdmFsLCByYW5nZSwgcGljLCBjb250cm9sKTtcclxuXHJcbiAgICBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIChvbGR2YWx1ZU9yUmFuZ2VTdHJPclZkID09PSBudWxsIHx8IG9sZHZhbHVlT3JSYW5nZVN0ck9yVmQuY29uc3RydWN0b3IgPT09IFN0cmluZykpXHJcbiAgICAgIHRoaXMuY29uc3RydWN0b3JfMShvbGR2YWx1ZU9yUmFuZ2VTdHJPclZkKTtcclxuXHJcbiAgICBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIChvbGR2YWx1ZU9yUmFuZ2VTdHJPclZkID09PSBudWxsIHx8IG9sZHZhbHVlT3JSYW5nZVN0ck9yVmQgaW5zdGFuY2VvZiBWYWxpZGF0aW9uRGV0YWlscykpXHJcbiAgICAgIHRoaXMuY29uc3RydWN0b3JfMihvbGR2YWx1ZU9yUmFuZ2VTdHJPclZkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29uc3RydWN0b3JfMChvbGR2YWx1ZTogYW55LCB2YWw6IGFueSwgcmFuZ2U6IHN0cmluZywgcGljOiBQSUMsIGNvbnRyb2w6IE1nQ29udHJvbEJhc2UpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BpY0RhdGEgPSBwaWM7XHJcbiAgICB0aGlzLl9vbGR2YWx1ZSA9IG9sZHZhbHVlOyAvLyBvbGQgdmFsdWUgb2YgdGhlIGZpZWxkXHJcbiAgICB0aGlzLl92YWwgPSB2YWw7IC8vIG5ldyAgaW5zZXJ0ZWQgdmFsdWUgb2YgdGhlIGZpZWxkXHJcbiAgICB0aGlzLl9yYW5nZSA9IHJhbmdlO1xyXG4gICAgdGhpcy5fY29udHJvbCA9IGNvbnRyb2w7XHJcblxyXG4gICAgc3dpdGNoIChwaWMuZ2V0QXR0cigpKSB7XHJcbiAgICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDOlxyXG4gICAgICAgIHRoaXMuX3BpY3R1cmVSZWFsID0gbmV3IFN0cmluZ0J1aWxkZXIodGhpcy5fcGljRGF0YS5nZXRNYXNrU2l6ZSgpKTtcclxuICAgICAgICB0aGlzLl9waWN0dXJlRW5hYmxlID0gbmV3IFN0cmluZ0J1aWxkZXIodGhpcy5fcGljRGF0YS5nZXRNYXNrU2l6ZSgpKTtcclxuICAgICAgICB0aGlzLmdldFJlYWxOdW1lcmljUGljdHVyZSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU46XHJcbiAgICAgICAgaWYgKHRoaXMuX3JhbmdlID09IG51bGwpXHJcbiAgICAgICAgICB0aGlzLl9yYW5nZSA9IFwiVHJ1ZSxGYWxzZVwiOyAvLyBkZWZhdWx0IHJhbmdlIHZhbHVlIGZvciBMb2dpY2FsXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5EQVRFOlxyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuVElNRTpcclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBOlxyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQjpcclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLkJMT0JfVkVDVE9SOlxyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuVU5JQ09ERTpcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgRXZlbnRzLldyaXRlRXhjZXB0aW9uVG9Mb2coXCJWYWxpZGF0aW9uRGV0YWlscy5WYWxpZGF0aW9uRGV0YWlsczogVGhlcmUgaXMgbm8gdHlwZSBcIiArXHJcbiAgICAgICAgICB0aGlzLl9waWNEYXRhLmdldEF0dHIoKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICAvLyBnZXQgUmFuZ2UgZm9yIHRoZSBwaWN0dXJlOlxyXG4gICAgaWYgKHRoaXMuX3JhbmdlICE9IG51bGwpXHJcbiAgICAgIHRoaXMuZmlsbFJhbmdlKCk7XHJcblxyXG4gICAgLy8gZnJlZSBtZW1vcnlcclxuICAgIHJhbmdlID0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjb25zdHJ1Y3RvciBmb3IgcmFuZ2Ugb25seSwgbWFrZSBwYXJzaW5nIG9mICBSYW5nZSBhbmQgZmlsbFxyXG4gIC8vLyAgIERpc2NyZXRlUmFuZ2VWYWx1ZXMgYW5kIENvbnRpbnVvdXNSYW5nZVZhbHVlc1xyXG4gIC8vLyAgICh1c2VkIGluIERpc3BsYXlDb252ZW50b3IpXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInJhbmdlXCI+c3RyaW5nPC9wYXJhbT5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yXzEocmFuZ2VTdHI6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25zdHJ1Y3Rvcl8zKCk7XHJcbiAgICB0aGlzLl9yYW5nZSA9IHJhbmdlU3RyO1xyXG4gICAgaWYgKHRoaXMuX3JhbmdlICE9PSBudWxsKVxyXG4gICAgICB0aGlzLmZpbGxSYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIE1ha2UgY29weSBvZiB2YWxpZGF0aW9uIGRldGFpbHMsXHJcbiAgLy8vICAgY29weSBjb25zdHJ1Y3RvclxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8yKHZkOiBWYWxpZGF0aW9uRGV0YWlscyk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25zdHJ1Y3Rvcl8zKCk7XHJcbiAgICB0aGlzLl9vbGR2YWx1ZSA9IHZkLmdldE9sZFZhbHVlKCk7XHJcbiAgICB0aGlzLl92YWwgPSB2ZC5fdmFsO1xyXG4gICAgdGhpcy5fcmFuZ2UgPSB2ZC5nZXRSYW5nZSgpO1xyXG4gICAgdGhpcy5fY29udHJvbCA9IHZkLmdldENvbnRyb2woKTtcclxuICAgIHRoaXMuX3ZhbGlkYXRpb25GYWlsZWQgPSBmYWxzZTtcclxuICAgIGlmICh2ZC5fcGljdHVyZVJlYWwgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fcGljdHVyZVJlYWwgPSBuZXcgU3RyaW5nQnVpbGRlcih2ZC5fcGljdHVyZVJlYWwuVG9TdHJpbmcoKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodmQuX3BpY3R1cmVFbmFibGUgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fcGljdHVyZUVuYWJsZSA9IG5ldyBTdHJpbmdCdWlsZGVyKHZkLl9waWN0dXJlRW5hYmxlLlRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gICAgaWYgKHZkLmdldERpc2NyZXRlUmFuZ2VWYWx1ZXMoKSAhPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLl9kaXNjcmV0ZVJhbmdlVmFsdWVzID0gdmQuQ2xvbmVEaXNjcmV0ZVJhbmdlVmFsdWVzKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodmQuZ2V0Q29udGludW91c1JhbmdlVmFsdWVzKCkgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLl9jb250aW51b3VzUmFuZ2VWYWx1ZXMgPSB2ZC5DbG9uZUNvbnRpbnVvdXNSYW5nZVZhbHVlcygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fcGljRGF0YSA9IHZkLmdldFBJQygpO1xyXG4gICAgdGhpcy5faXNOdWxsID0gdmQuZ2V0SXNOdWxsKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yXzMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9maWVsZFZhbGlkYXRvciA9IG5ldyBGaWVsZFZhbGlkYXRvcigpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgICoqKioqKioqKioqKioqKioqKioqKioqTnVtZXJpYyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIGdldFJlYWxOdW1lcmljUGljdHVyZSgpOiB2b2lkIHtcclxuICAgIGxldCBtYXNrOiBzdHJpbmcgPSB0aGlzLl9waWNEYXRhLmdldE1hc2soKTtcclxuICAgIGxldCBkZWNfOiBudW1iZXIgPSB0aGlzLl9waWNEYXRhLmdldERlYygpO1xyXG4gICAgbGV0IHdob2xlXzogbnVtYmVyID0gdGhpcy5fcGljRGF0YS5nZXRXaG9sZXMoKTtcclxuICAgIGxldCBkZWNpbWFsXzogYm9vbGVhbiA9IHRoaXMuX3BpY0RhdGEud2l0aERlY2ltYWwoKTtcclxuICAgIGxldCBkZWNfcG50X2luX2ZpcnN0OiBib29sZWFuID0gdGhpcy5fcGljRGF0YS5kZWNJbkZpcnN0UG9zKCk7XHJcbiAgICBsZXQgaXNOZWdhdGl2ZTogYm9vbGVhbiA9IHRoaXMuX3BpY0RhdGEuaXNOZWdhdGl2ZSgpO1xyXG4gICAgbGV0IGlzRmlyc3RQaWNfTjogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBsZXQgaXNQb2ludEluc2VydGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgbGV0IGN1cnJDaGFyID0gMDtcclxuXHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgdGhpcy5fcGljRGF0YS5nZXRNYXNrU2l6ZSgpOyBpID0gaSArIDEpIHtcclxuICAgICAgY3VyckNoYXIgPSArbWFzay5jaGFyQXQoaSk7IC8vIGl0J3MgQVNDSUkgb2YgdGhlIGNoYXJcclxuXHJcbiAgICAgIHN3aXRjaCAoY3VyckNoYXIpIHtcclxuICAgICAgICBjYXNlIFBJQ0ludGVyZmFjZS5QSUNfTjpcclxuICAgICAgICAgIGlmIChpc0ZpcnN0UGljX04pIHtcclxuICAgICAgICAgICAgaWYgKGlzTmVnYXRpdmUpXHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRQaWN0dXJlcygnLScsICcwJyk7XHJcblxyXG4gICAgICAgICAgICBpZiAoZGVjX3BudF9pbl9maXJzdCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0UGljdHVyZXMoJy4nLCAnMScpO1xyXG4gICAgICAgICAgICAgIGlzUG9pbnRJbnNlcnRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAod2hvbGVfID4gMCkge1xyXG4gICAgICAgICAgICAgIHdob2xlXy0tO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0UGljdHVyZXMoJyMnLCAnMCcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlzRmlyc3RQaWNfTiA9IGZhbHNlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoZGVjaW1hbF8pIHtcclxuICAgICAgICAgICAgaWYgKHdob2xlXyA+IDApIHtcclxuICAgICAgICAgICAgICB3aG9sZV8tLTtcclxuICAgICAgICAgICAgICB0aGlzLnNldFBpY3R1cmVzKCcjJywgJzAnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmICh3aG9sZV8gPT09IDAgJiYgIWlzUG9pbnRJbnNlcnRlZCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0UGljdHVyZXMoJy4nLCAnMScpO1xyXG4gICAgICAgICAgICAgIGlzUG9pbnRJbnNlcnRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoZGVjXyA+IDApIHtcclxuICAgICAgICAgICAgICBkZWNfLS07XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRQaWN0dXJlcygnIycsICcwJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAod2hvbGVfID4gMCkge1xyXG4gICAgICAgICAgICAgIHdob2xlXy0tO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0UGljdHVyZXMoJyMnLCAnMCcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgZGVmYXVsdDogLy8gY29uc3Qgc3RyaW5nIGluIEFscGhhXHJcbiAgICAgICAgICB0aGlzLnNldFBpY3R1cmVzKGN1cnJDaGFyLnRvU3RyaW5nKCksICcxJyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgRXZlbnRzLldyaXRlRGV2VG9Mb2codGhpcy5fcGljdHVyZVJlYWwuVG9TdHJpbmcoKSk7XHJcbiAgICBFdmVudHMuV3JpdGVEZXZUb0xvZyh0aGlzLl9waWN0dXJlRW5hYmxlLlRvU3RyaW5nKCkpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGFkZCBjaGFycyB0byBSZWFsIGFuZCBFbmFibGUgU3RyaW5nIEJ1ZmZlcnNcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicmVhbFwiPnRvIFJlYWw8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiRW5hYmxlXCI+dG8gRW5hYmxlPC9wYXJhbT5cclxuICBwcml2YXRlIHNldFBpY3R1cmVzKFJlYWw6IHN0cmluZywgRW5hYmxlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BpY3R1cmVFbmFibGUuQXBwZW5kKEVuYWJsZSk7XHJcbiAgICB0aGlzLl9waWN0dXJlUmVhbC5BcHBlbmQoUmVhbCk7XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZSh2YWw6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fdmFsID0gdmFsO1xyXG4gIH1cclxuXHJcbiAgc2V0T2xkVmFsdWUob2xkdmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fb2xkdmFsdWUgPSBvbGR2YWx1ZTtcclxuICB9XHJcblxyXG4gIHNldFJhbmdlKHJhbmdlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3JhbmdlID0gcmFuZ2U7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgc2V0IHRoZSBcInZhbGlkYXRpb24gZmFpbGVkXCIgZmxhZ1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc2V0VmFsaWRhdGlvbkZhaWxlZCh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuX3ZhbGlkYXRpb25GYWlsZWQgPSB2YWw7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgc2V0IGlzTnVsbCBmbGFnIG9mIHRoZSBWYWxEZXRhaWxzXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzZXROdWxsKGlzTnVsbF86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuX2lzTnVsbCA9IGlzTnVsbF87XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgcmV0dXJucyB0aGUgdmFsaWQgZGlzcGxheSB2YWx1ZSAod2l0aCBtYXNrKVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZ2V0RGlzcFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMuX3ZhbCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgbGV0IG1pbmltdW1WYWx1ZUxlbmd0aDogbnVtYmVyID0gdGhpcy5fcGljRGF0YS5nZXRNaW5pbXVtVmFsdWVMZW5ndGgoKTtcclxuXHJcbiAgICAgIC8vIFJUcmltIHRoZSB2YWx1ZSBiZXlvbmQgdGhpcyBpbmRleFxyXG4gICAgICBpZiAodGhpcy5fdmFsLmxlbmd0aCA+IG1pbmltdW1WYWx1ZUxlbmd0aCkge1xyXG4gICAgICAgIGlmIChtaW5pbXVtVmFsdWVMZW5ndGggPiAwIHx8IFN0clV0aWwucnRyaW0odGhpcy5fdmFsKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBsZXQgc3RyOiBzdHJpbmcgPSB0aGlzLl92YWwuc3Vic3RyKG1pbmltdW1WYWx1ZUxlbmd0aCk7XHJcbiAgICAgICAgICB0aGlzLl92YWwgPSB0aGlzLl92YWwuc3Vic3RyKDAsIG1pbmltdW1WYWx1ZUxlbmd0aCk7XHJcbiAgICAgICAgICB0aGlzLl92YWwgPSB0aGlzLl92YWwgKyBTdHJVdGlsLnJ0cmltKHN0cik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuX2NvbnRyb2wgIT0gbnVsbCAmJiB0aGlzLl9jb250cm9sLmlzQ2hvaWNlQ29udHJvbCgpKVxyXG4gICAgICAgIHRoaXMuX3ZhbCA9IHRoaXMuX3ZhbC50b1N0cmluZygpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbDtcclxuICB9XHJcblxyXG4gIGdldE9sZFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fb2xkdmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXRUeXBlKCk6IFN0b3JhZ2VBdHRyaWJ1dGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BpY0RhdGEuZ2V0QXR0cigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGljdHVyZVJlYWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9waWN0dXJlUmVhbC5Ub1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGljdHVyZUVuYWJsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BpY3R1cmVFbmFibGUuVG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIC8vIGZvciBOdW1lcmljXHJcbiAgZ2V0SXNOZWdhdGl2ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9waWNEYXRhLmlzTmVnYXRpdmUoKTtcclxuICB9XHJcblxyXG4gIC8vIGZvciBOdW1lcmljXHJcbiAgZ2V0SXNQYWRGaWxsKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BpY0RhdGEucGFkRmlsbCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gZm9yIE51bWVyaWNcclxuICBnZXRQYWRGaWxsQ2hhcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BpY0RhdGEuZ2V0UGFkKCk7XHJcbiAgfVxyXG5cclxuICAvLyBmb3IgTnVtZXJpYywgRGF0ZSwgVGltZVxyXG4gIGdldElzWmVyb0ZpbGwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGljRGF0YS56ZXJvRmlsbCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gZm9yIE51bWVyaWMsIERhdGUsIFRpbWVcclxuICBnZXRaZXJvRmlsbENoYXIoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9waWNEYXRhLmdldFplcm9QYWQoKTtcclxuICB9XHJcblxyXG4gIC8vIGZvciBOdW1lcmljXHJcbiAgZ2V0TmVnYXRpdmVTaWduUHJlZigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BpY0RhdGEuZ2V0TmVnUHJlZl8oKTtcclxuICB9XHJcblxyXG4gIGdldFJhbmdlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmFuZ2U7XHJcbiAgfVxyXG5cclxuICBnZXRDb250cm9sKCk6IE1nQ29udHJvbEJhc2Uge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBnZXRQSUMoKTogUElDIHtcclxuICAgIHJldHVybiB0aGlzLl9waWNEYXRhO1xyXG4gIH1cclxuXHJcbiAgZ2V0SXNOdWxsKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzTnVsbDtcclxuICB9XHJcblxyXG4gIGV2YWx1YXRlKCk6IFZhbGlkYXRpb25EZXRhaWxzIHtcclxuICAgIHJldHVybiB0aGlzLl9maWVsZFZhbGlkYXRvci5jaGVja1ZhbCh0aGlzKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBDbG9uZURpc2NyZXRlUmFuZ2VWYWx1ZXMoKTogTGlzdDxzdHJpbmc+IHtcclxuICAgIGxldCBjbG9uZTogTGlzdDxzdHJpbmc+ID0gbmV3IExpc3Q8c3RyaW5nPigpO1xyXG4gICAgY2xvbmUuQWRkUmFuZ2UodGhpcy5fZGlzY3JldGVSYW5nZVZhbHVlcy5HZXRFbnVtZXJhdG9yKCkpO1xyXG4gICAgcmV0dXJuIGNsb25lO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBDbG9uZUNvbnRpbnVvdXNSYW5nZVZhbHVlcygpOiBMaXN0PHN0cmluZz4ge1xyXG4gICAgbGV0IGNsb25lOiBMaXN0PHN0cmluZz4gPSBuZXcgTGlzdDxzdHJpbmc+KCk7XHJcbiAgICBjbG9uZS5BZGRSYW5nZSh0aGlzLl9jb250aW51b3VzUmFuZ2VWYWx1ZXMuR2V0RW51bWVyYXRvcigpKTtcclxuICAgIHJldHVybiBjbG9uZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,4 +0,0 @@
1
- export class GuiDataCollection {
2
- }
3
- GuiDataCollection.MGDataTable = null;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpRGF0YUNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWkvc3JjL21hbmFnZW1lbnQvdGFza3MvR3VpRGF0YUNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGlCQUFpQjs7QUFFckIsNkJBQVcsR0FBaUIsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU1HRGF0YVRhYmxlIH0gZnJvbSBcIi4vSU1HRGF0YVRhYmxlXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgR3VpRGF0YUNvbGxlY3Rpb25cclxue1xyXG4gIHN0YXRpYyBNR0RhdGFUYWJsZTogSU1HRGF0YVRhYmxlID0gbnVsbDtcclxufVxyXG4iXX0=