@magic-xpa/gui 4.1100.0-dev4110.26 → 4.1100.0-dev4110.260

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 (194) hide show
  1. package/{esm2020 → esm2022}/index.mjs +71 -71
  2. package/{esm2020 → esm2022}/magic-xpa-gui.mjs +1 -1
  3. package/esm2022/src/Commands.mjs +184 -0
  4. package/esm2022/src/Events.mjs +425 -0
  5. package/{esm2020 → esm2022}/src/EventsProcessor.mjs +66 -66
  6. package/{esm2020 → esm2022}/src/FocusManager.mjs +33 -33
  7. package/esm2022/src/GuiConstants.mjs +68 -0
  8. package/{esm2020 → esm2022}/src/GuiEnums.mjs +299 -299
  9. package/esm2022/src/GuiEnvironment.mjs +4 -0
  10. package/{esm2020 → esm2022}/src/IFlowMonitorQueue.mjs +1 -1
  11. package/esm2022/src/Manager.mjs +91 -0
  12. package/esm2022/src/UIBridge.mjs +33 -0
  13. package/{esm2020 → esm2022}/src/env/IEnvironment.mjs +1 -1
  14. package/{esm2020 → esm2022}/src/gui/ControlBase.mjs +2 -2
  15. package/esm2022/src/gui/GuiMgControl.mjs +123 -0
  16. package/{esm2020 → esm2022}/src/gui/GuiMgForm.mjs +3 -3
  17. package/esm2022/src/gui/KeyboardItem.mjs +135 -0
  18. package/esm2022/src/gui/LastFocusedVal.mjs +11 -0
  19. package/esm2022/src/gui/MgValue.mjs +16 -0
  20. package/{esm2020 → esm2022}/src/gui/PropParentInterface.mjs +1 -1
  21. package/{esm2020 → esm2022}/src/gui/low/DialogHandler.mjs +6 -6
  22. package/esm2022/src/gui/low/GuiCommand.mjs +68 -0
  23. package/esm2022/src/gui/low/GuiCommandQueue.mjs +35 -0
  24. package/esm2022/src/gui/low/GuiInteractive.mjs +177 -0
  25. package/esm2022/src/gui/low/Style.mjs +20 -0
  26. package/esm2022/src/management/RuntimeContextBase.mjs +42 -0
  27. package/esm2022/src/management/data/BlobType.mjs +281 -0
  28. package/esm2022/src/management/data/DcValues.mjs +214 -0
  29. package/{esm2020 → esm2022}/src/management/data/DcValuesBuilderBase.mjs +95 -95
  30. package/esm2022/src/management/data/FieldDef.mjs +331 -0
  31. package/{esm2020 → esm2022}/src/management/data/FieldsTable.mjs +54 -54
  32. package/esm2022/src/management/data/GuiDataViewBase.mjs +88 -0
  33. package/esm2022/src/management/data/GuiFieldBase.mjs +82 -0
  34. package/{esm2020 → esm2022}/src/management/data/IRecord.mjs +1 -1
  35. package/{esm2020 → esm2022}/src/management/data/IReferencedObject.mjs +1 -1
  36. package/esm2022/src/management/data/NUM_TYPE.mjs +1739 -0
  37. package/esm2022/src/management/data/ObjectReferenceBase.mjs +48 -0
  38. package/esm2022/src/management/data/ObjectReferencesCollection.mjs +27 -0
  39. package/{esm2020 → esm2022}/src/management/data/RecordUtils.mjs +360 -360
  40. package/esm2022/src/management/data/VectorType.mjs +612 -0
  41. package/esm2022/src/management/data/VectorTypeBase.mjs +88 -0
  42. package/{esm2020 → esm2022}/src/management/events/IActionManager.mjs +1 -1
  43. package/{esm2020 → esm2022}/src/management/events/IGuiEventsManager.mjs +1 -1
  44. package/esm2022/src/management/exp/ExpressionInterface.mjs +244 -0
  45. package/esm2022/src/management/exp/GuiExpressionEvaluator.mjs +305 -0
  46. package/esm2022/src/management/gui/ControlTable.mjs +118 -0
  47. package/esm2022/src/management/gui/DisplayConvertor.mjs +1649 -0
  48. package/esm2022/src/management/gui/FieldValidator.mjs +711 -0
  49. package/esm2022/src/management/gui/GuiControlPropertyAdapter.mjs +24 -0
  50. package/{esm2020 → esm2022}/src/management/gui/GuiFormPropertyAdapter.mjs +10 -10
  51. package/esm2022/src/management/gui/HebrewDate.mjs +278 -0
  52. package/esm2022/src/management/gui/Helps.mjs +237 -0
  53. package/esm2022/src/management/gui/MgControlBase.mjs +1859 -0
  54. package/esm2022/src/management/gui/MgFormBase.mjs +741 -0
  55. package/esm2022/src/management/gui/PIC.mjs +1185 -0
  56. package/{esm2020 → esm2022}/src/management/gui/PropDefaults.mjs +229 -229
  57. package/{esm2020 → esm2022}/src/management/gui/PropInterface.mjs +246 -245
  58. package/esm2022/src/management/gui/PropTable.mjs +221 -0
  59. package/esm2022/src/management/gui/Property.mjs +1362 -0
  60. package/esm2022/src/management/gui/ValidationDetails.mjs +248 -0
  61. package/{esm2020 → esm2022}/src/management/gui/ValidationDetailsBase.mjs +93 -93
  62. package/{esm2020 → esm2022}/src/management/gui/WrongFormatException.mjs +29 -29
  63. package/esm2022/src/management/tasks/GuiDataCollection.mjs +4 -0
  64. package/esm2022/src/management/tasks/GuiTaskBase.mjs +511 -0
  65. package/{esm2020 → esm2022}/src/management/tasks/IMGDataTable.mjs +1 -1
  66. package/{esm2020 → esm2022}/src/management/tasks/ITask.mjs +1 -1
  67. package/esm2022/src/management/tasks/MgTimer.mjs +21 -0
  68. package/esm2022/src/management/tasks/TaskDefinitionId.mjs +54 -0
  69. package/{esm2020 → esm2022}/src/management/tasks/TaskDefinitionIdTableSaxHandler.mjs +41 -41
  70. package/{esm2020 → esm2022}/src/util/MemoryUtil.mjs +34 -34
  71. package/esm2022/src/util/ObjectReference.mjs +36 -0
  72. package/esm2022/src/util/UsernamePasswordCredentials.mjs +52 -0
  73. package/{fesm2020 → fesm2022}/magic-xpa-gui.mjs +16074 -16074
  74. package/fesm2022/magic-xpa-gui.mjs.map +1 -0
  75. package/index.d.ts +70 -70
  76. package/package.json +6 -12
  77. package/src/Commands.d.ts +40 -39
  78. package/src/Events.d.ts +157 -155
  79. package/src/EventsProcessor.d.ts +13 -13
  80. package/src/FocusManager.d.ts +8 -8
  81. package/src/GuiConstants.d.ts +65 -65
  82. package/src/GuiEnums.d.ts +282 -282
  83. package/src/GuiEnvironment.d.ts +4 -4
  84. package/src/IFlowMonitorQueue.d.ts +3 -3
  85. package/src/Manager.d.ts +26 -26
  86. package/src/UIBridge.d.ts +16 -16
  87. package/src/env/IEnvironment.d.ts +31 -31
  88. package/src/gui/ControlBase.d.ts +4 -4
  89. package/src/gui/GuiMgControl.d.ts +38 -38
  90. package/src/gui/GuiMgForm.d.ts +3 -3
  91. package/src/gui/KeyboardItem.d.ts +18 -18
  92. package/src/gui/LastFocusedVal.d.ts +7 -7
  93. package/src/gui/MgValue.d.ts +15 -15
  94. package/src/gui/PropParentInterface.d.ts +13 -13
  95. package/src/gui/low/DialogHandler.d.ts +4 -4
  96. package/src/gui/low/GuiCommand.d.ts +37 -37
  97. package/src/gui/low/GuiCommandQueue.d.ts +13 -13
  98. package/src/gui/low/GuiInteractive.d.ts +55 -53
  99. package/src/gui/low/Style.d.ts +19 -19
  100. package/src/management/RuntimeContextBase.d.ts +23 -23
  101. package/src/management/data/BlobType.d.ts +29 -29
  102. package/src/management/data/DcValues.d.ts +33 -33
  103. package/src/management/data/DcValuesBuilderBase.d.ts +17 -17
  104. package/src/management/data/FieldDef.d.ts +53 -53
  105. package/src/management/data/FieldsTable.d.ts +16 -16
  106. package/src/management/data/GuiDataViewBase.d.ts +27 -27
  107. package/src/management/data/GuiFieldBase.d.ts +17 -17
  108. package/src/management/data/IRecord.d.ts +12 -12
  109. package/src/management/data/IReferencedObject.d.ts +5 -5
  110. package/src/management/data/NUM_TYPE.d.ts +103 -103
  111. package/src/management/data/ObjectReferenceBase.d.ts +16 -16
  112. package/src/management/data/ObjectReferencesCollection.d.ts +10 -10
  113. package/src/management/data/RecordUtils.d.ts +21 -21
  114. package/src/management/data/VectorType.d.ts +52 -52
  115. package/src/management/data/VectorTypeBase.d.ts +8 -8
  116. package/src/management/events/IActionManager.d.ts +7 -7
  117. package/src/management/events/IGuiEventsManager.d.ts +20 -20
  118. package/src/management/exp/ExpressionInterface.d.ts +242 -242
  119. package/src/management/exp/GuiExpressionEvaluator.d.ts +47 -47
  120. package/src/management/gui/ControlTable.d.ts +28 -28
  121. package/src/management/gui/DisplayConvertor.d.ts +103 -103
  122. package/src/management/gui/FieldValidator.d.ts +35 -35
  123. package/src/management/gui/GuiControlPropertyAdapter.d.ts +40 -40
  124. package/src/management/gui/GuiFormPropertyAdapter.d.ts +17 -17
  125. package/src/management/gui/HebrewDate.d.ts +46 -46
  126. package/src/management/gui/Helps.d.ts +51 -51
  127. package/src/management/gui/MgControlBase.d.ts +223 -223
  128. package/src/management/gui/MgFormBase.d.ts +160 -160
  129. package/src/management/gui/PIC.d.ts +108 -108
  130. package/src/management/gui/PropDefaults.d.ts +7 -7
  131. package/src/management/gui/PropInterface.d.ts +244 -243
  132. package/src/management/gui/PropTable.d.ts +33 -33
  133. package/src/management/gui/Property.d.ts +121 -121
  134. package/src/management/gui/ValidationDetails.d.ts +52 -52
  135. package/src/management/gui/ValidationDetailsBase.d.ts +14 -14
  136. package/src/management/gui/WrongFormatException.d.ts +9 -9
  137. package/src/management/tasks/GuiDataCollection.d.ts +4 -4
  138. package/src/management/tasks/GuiTaskBase.d.ts +150 -150
  139. package/src/management/tasks/IMGDataTable.d.ts +10 -10
  140. package/src/management/tasks/ITask.d.ts +6 -6
  141. package/src/management/tasks/MgTimer.d.ts +8 -8
  142. package/src/management/tasks/TaskDefinitionId.d.ts +16 -16
  143. package/src/management/tasks/TaskDefinitionIdTableSaxHandler.d.ts +7 -7
  144. package/src/util/MemoryUtil.d.ts +6 -6
  145. package/src/util/ObjectReference.d.ts +9 -9
  146. package/src/util/UsernamePasswordCredentials.d.ts +18 -18
  147. package/esm2020/src/Commands.mjs +0 -177
  148. package/esm2020/src/Events.mjs +0 -420
  149. package/esm2020/src/GuiConstants.mjs +0 -68
  150. package/esm2020/src/GuiEnvironment.mjs +0 -4
  151. package/esm2020/src/Manager.mjs +0 -91
  152. package/esm2020/src/UIBridge.mjs +0 -32
  153. package/esm2020/src/gui/GuiMgControl.mjs +0 -125
  154. package/esm2020/src/gui/KeyboardItem.mjs +0 -135
  155. package/esm2020/src/gui/LastFocusedVal.mjs +0 -11
  156. package/esm2020/src/gui/MgValue.mjs +0 -16
  157. package/esm2020/src/gui/low/GuiCommand.mjs +0 -66
  158. package/esm2020/src/gui/low/GuiCommandQueue.mjs +0 -35
  159. package/esm2020/src/gui/low/GuiInteractive.mjs +0 -165
  160. package/esm2020/src/gui/low/Style.mjs +0 -20
  161. package/esm2020/src/management/RuntimeContextBase.mjs +0 -43
  162. package/esm2020/src/management/data/BlobType.mjs +0 -281
  163. package/esm2020/src/management/data/DcValues.mjs +0 -214
  164. package/esm2020/src/management/data/FieldDef.mjs +0 -331
  165. package/esm2020/src/management/data/GuiDataViewBase.mjs +0 -90
  166. package/esm2020/src/management/data/GuiFieldBase.mjs +0 -82
  167. package/esm2020/src/management/data/NUM_TYPE.mjs +0 -1741
  168. package/esm2020/src/management/data/ObjectReferenceBase.mjs +0 -48
  169. package/esm2020/src/management/data/ObjectReferencesCollection.mjs +0 -29
  170. package/esm2020/src/management/data/VectorType.mjs +0 -612
  171. package/esm2020/src/management/data/VectorTypeBase.mjs +0 -88
  172. package/esm2020/src/management/exp/ExpressionInterface.mjs +0 -244
  173. package/esm2020/src/management/exp/GuiExpressionEvaluator.mjs +0 -307
  174. package/esm2020/src/management/gui/ControlTable.mjs +0 -118
  175. package/esm2020/src/management/gui/DisplayConvertor.mjs +0 -1679
  176. package/esm2020/src/management/gui/FieldValidator.mjs +0 -711
  177. package/esm2020/src/management/gui/GuiControlPropertyAdapter.mjs +0 -22
  178. package/esm2020/src/management/gui/HebrewDate.mjs +0 -278
  179. package/esm2020/src/management/gui/Helps.mjs +0 -237
  180. package/esm2020/src/management/gui/MgControlBase.mjs +0 -1858
  181. package/esm2020/src/management/gui/MgFormBase.mjs +0 -738
  182. package/esm2020/src/management/gui/PIC.mjs +0 -1185
  183. package/esm2020/src/management/gui/PropTable.mjs +0 -221
  184. package/esm2020/src/management/gui/Property.mjs +0 -1356
  185. package/esm2020/src/management/gui/ValidationDetails.mjs +0 -248
  186. package/esm2020/src/management/tasks/GuiDataCollection.mjs +0 -4
  187. package/esm2020/src/management/tasks/GuiTaskBase.mjs +0 -510
  188. package/esm2020/src/management/tasks/MgTimer.mjs +0 -21
  189. package/esm2020/src/management/tasks/TaskDefinitionId.mjs +0 -54
  190. package/esm2020/src/util/ObjectReference.mjs +0 -36
  191. package/esm2020/src/util/UsernamePasswordCredentials.mjs +0 -52
  192. package/fesm2015/magic-xpa-gui.mjs +0 -16364
  193. package/fesm2015/magic-xpa-gui.mjs.map +0 -1
  194. package/fesm2020/magic-xpa-gui.mjs.map +0 -1
@@ -0,0 +1,68 @@
1
+ import { ControlBase } from "../ControlBase";
2
+ export class GuiCommand {
3
+ TaskTag = null;
4
+ Operation;
5
+ CommandType = 0;
6
+ options = null;
7
+ Bool1 = false;
8
+ params = null;
9
+ fileName = null;
10
+ height = 0;
11
+ layer = 0;
12
+ line = 0;
13
+ number = 0;
14
+ obj = null;
15
+ parentObject = null;
16
+ obj1 = null;
17
+ str = null;
18
+ value = null;
19
+ stringList = null;
20
+ style = 0;
21
+ width = 0;
22
+ x = 0;
23
+ y = 0;
24
+ userDropFormat = null;
25
+ contextID = '\0';
26
+ CtrlName;
27
+ constructor(commandTypeOrObjOrParentObject, strOrCommandTypeOrObj, cmmandType) {
28
+ if (arguments.length === 1 && (commandTypeOrObjOrParentObject === null || commandTypeOrObjOrParentObject.constructor === Number)) {
29
+ this.constructor_0(commandTypeOrObjOrParentObject);
30
+ return;
31
+ }
32
+ if (arguments.length === 2 && (commandTypeOrObjOrParentObject === null || commandTypeOrObjOrParentObject.constructor === Number)
33
+ && (strOrCommandTypeOrObj === null || strOrCommandTypeOrObj.constructor === String)) {
34
+ this.constructor_1(commandTypeOrObjOrParentObject, strOrCommandTypeOrObj);
35
+ return;
36
+ }
37
+ else if (arguments.length === 2) {
38
+ this.constructor_2(commandTypeOrObjOrParentObject, strOrCommandTypeOrObj);
39
+ return;
40
+ }
41
+ this.constructor_3(commandTypeOrObjOrParentObject, strOrCommandTypeOrObj, cmmandType);
42
+ }
43
+ constructor_0(commandType) {
44
+ this.CommandType = commandType;
45
+ }
46
+ constructor_1(commandType, str) {
47
+ this.constructor_0(commandType);
48
+ this.str = str;
49
+ }
50
+ constructor_2(obj, commandType) {
51
+ this.constructor_0(commandType);
52
+ this.obj = obj;
53
+ if (this.obj instanceof ControlBase) {
54
+ this.CtrlName = this.obj.UniqueName;
55
+ this.TaskTag = this.obj.TaskTag;
56
+ }
57
+ else if (obj === null)
58
+ this.TaskTag = "0";
59
+ }
60
+ constructor_3(parentObject, obj, cmmandType) {
61
+ this.constructor_2(obj, cmmandType);
62
+ this.parentObject = parentObject;
63
+ }
64
+ toString() {
65
+ return "{" + this.CommandType + "}";
66
+ }
67
+ }
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1aS9zcmMvZ3VpL2xvdy9HdWlDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxNQUFNLE9BQU8sVUFBVTtJQUNyQixPQUFPLEdBQVcsSUFBSSxDQUFDO0lBQ3ZCLFNBQVMsQ0FBUztJQUNsQixXQUFXLEdBQWdCLENBQUMsQ0FBQztJQUM3QixPQUFPLEdBQVEsSUFBSSxDQUFDO0lBQ3BCLEtBQUssR0FBWSxLQUFLLENBQUM7SUFDdkIsTUFBTSxHQUFjLElBQUksQ0FBQztJQUN6QixRQUFRLEdBQVcsSUFBSSxDQUFDO0lBQ3hCLE1BQU0sR0FBVyxDQUFDLENBQUM7SUFDbkIsS0FBSyxHQUFXLENBQUMsQ0FBQztJQUNsQixJQUFJLEdBQVcsQ0FBQyxDQUFDO0lBQ2pCLE1BQU0sR0FBVyxDQUFDLENBQUM7SUFDbkIsR0FBRyxHQUFRLElBQUksQ0FBQztJQUNoQixZQUFZLEdBQVEsSUFBSSxDQUFDO0lBQ3pCLElBQUksR0FBUSxJQUFJLENBQUM7SUFDakIsR0FBRyxHQUFXLElBQUksQ0FBQztJQUNuQixLQUFLLEdBQVEsSUFBSSxDQUFDO0lBQ2xCLFVBQVUsR0FBaUIsSUFBSSxDQUFDO0lBQ2hDLEtBQUssR0FBVyxDQUFDLENBQUM7SUFDbEIsS0FBSyxHQUFXLENBQUMsQ0FBQztJQUNsQixDQUFDLEdBQVcsQ0FBQyxDQUFDO0lBQ2QsQ0FBQyxHQUFXLENBQUMsQ0FBQztJQUNkLGNBQWMsR0FBVyxJQUFJLENBQUM7SUFDOUIsU0FBUyxHQUFXLElBQUksQ0FBQztJQUdsQixRQUFRLENBQVM7SUFNeEIsWUFBWSw4QkFBbUMsRUFBRSxxQkFBMkIsRUFBRSxVQUF3QjtRQUNwRyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsOEJBQThCLEtBQUssSUFBSSxJQUFJLDhCQUE4QixDQUFDLFdBQVcsS0FBSyxNQUFNLENBQUMsRUFBRTtZQUNoSSxJQUFJLENBQUMsYUFBYSxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDbkQsT0FBTztTQUNSO1FBQ0QsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLDhCQUE4QixLQUFLLElBQUksSUFBSSw4QkFBOEIsQ0FBQyxXQUFXLEtBQUssTUFBTSxDQUFDO2VBQzNILENBQUMscUJBQXFCLEtBQUssSUFBSSxJQUFJLHFCQUFxQixDQUFDLFdBQVcsS0FBSyxNQUFNLENBQUMsRUFBRTtZQUNyRixJQUFJLENBQUMsYUFBYSxDQUFDLDhCQUE4QixFQUFFLHFCQUFxQixDQUFDLENBQUM7WUFDMUUsT0FBTztTQUNSO2FBQU0sSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUVqQyxJQUFJLENBQUMsYUFBYSxDQUFDLDhCQUE4QixFQUFFLHFCQUFxQixDQUFDLENBQUM7WUFDMUUsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyw4QkFBOEIsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBSU8sYUFBYSxDQUFDLFdBQXdCO1FBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFLTyxhQUFhLENBQUMsV0FBd0IsRUFBRSxHQUFXO1FBQ3pELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUdPLGFBQWEsQ0FBQyxHQUFRLEVBQUUsV0FBd0I7UUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksSUFBSSxDQUFDLEdBQUcsWUFBWSxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBaUIsSUFBSSxDQUFDLEdBQUksQ0FBQyxVQUFVLENBQUM7WUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBaUIsSUFBSSxDQUFDLEdBQUksQ0FBQyxPQUFPLENBQUM7U0FDaEQ7YUFDSSxJQUFHLEdBQUcsS0FBSyxJQUFJO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ3ZCLENBQUM7SUFNTyxhQUFhLENBQUMsWUFBaUIsRUFBRSxHQUFRLEVBQUUsVUFBdUI7UUFDeEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUdELFFBQVE7UUFDTixPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUN0QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1hbmRUeXBlfSBmcm9tIFwiLi4vLi4vR3VpRW51bXNcIjtcclxuaW1wb3J0IHtDb250cm9sQmFzZX0gZnJvbSBcIi4uL0NvbnRyb2xCYXNlXCI7XHJcbmltcG9ydCB7TGlzdH0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgR3VpQ29tbWFuZCB7XHJcbiAgVGFza1RhZzogc3RyaW5nID0gbnVsbDtcclxuICBPcGVyYXRpb246IHN0cmluZztcclxuICBDb21tYW5kVHlwZTogQ29tbWFuZFR5cGUgPSAwO1xyXG4gIG9wdGlvbnM6IGFueSA9IG51bGw7XHJcbiAgQm9vbDE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwYXJhbXM6IExpc3Q8YW55PiA9IG51bGw7XHJcbiAgZmlsZU5hbWU6IHN0cmluZyA9IG51bGw7XHJcbiAgaGVpZ2h0OiBudW1iZXIgPSAwO1xyXG4gIGxheWVyOiBudW1iZXIgPSAwO1xyXG4gIGxpbmU6IG51bWJlciA9IDA7XHJcbiAgbnVtYmVyOiBudW1iZXIgPSAwO1xyXG4gIG9iajogYW55ID0gbnVsbDtcclxuICBwYXJlbnRPYmplY3Q6IGFueSA9IG51bGw7XHJcbiAgb2JqMTogYW55ID0gbnVsbDtcclxuICBzdHI6IHN0cmluZyA9IG51bGw7XHJcbiAgdmFsdWU6IGFueSA9IG51bGw7XHJcbiAgc3RyaW5nTGlzdDogTGlzdDxzdHJpbmc+ID0gbnVsbDtcclxuICBzdHlsZTogbnVtYmVyID0gMDtcclxuICB3aWR0aDogbnVtYmVyID0gMDtcclxuICB4OiBudW1iZXIgPSAwO1xyXG4gIHk6IG51bWJlciA9IDA7XHJcbiAgdXNlckRyb3BGb3JtYXQ6IHN0cmluZyA9IG51bGw7XHJcbiAgY29udGV4dElEOiBzdHJpbmcgPSAnXFwwJztcclxuXHJcblxyXG4gIHB1YmxpYyBDdHJsTmFtZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUpO1xyXG4gIGNvbnN0cnVjdG9yKGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZSwgc3RyOiBzdHJpbmcpO1xyXG4gIGNvbnN0cnVjdG9yKG9iajogYW55LCBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUpO1xyXG4gIGNvbnN0cnVjdG9yKHBhcmVudE9iamVjdDogYW55LCBvYmo6IGFueSwgY21tYW5kVHlwZTogQ29tbWFuZFR5cGUpO1xyXG4gIGNvbnN0cnVjdG9yKGNvbW1hbmRUeXBlT3JPYmpPclBhcmVudE9iamVjdDogYW55LCBzdHJPckNvbW1hbmRUeXBlT3JPYmo/OiBhbnksIGNtbWFuZFR5cGU/OiBDb21tYW5kVHlwZSkge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgKGNvbW1hbmRUeXBlT3JPYmpPclBhcmVudE9iamVjdCA9PT0gbnVsbCB8fCBjb21tYW5kVHlwZU9yT2JqT3JQYXJlbnRPYmplY3QuY29uc3RydWN0b3IgPT09IE51bWJlcikpIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3Rvcl8wKGNvbW1hbmRUeXBlT3JPYmpPclBhcmVudE9iamVjdCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIChjb21tYW5kVHlwZU9yT2JqT3JQYXJlbnRPYmplY3QgPT09IG51bGwgfHwgY29tbWFuZFR5cGVPck9iak9yUGFyZW50T2JqZWN0LmNvbnN0cnVjdG9yID09PSBOdW1iZXIpXHJcbiAgICAgICYmIChzdHJPckNvbW1hbmRUeXBlT3JPYmogPT09IG51bGwgfHwgc3RyT3JDb21tYW5kVHlwZU9yT2JqLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpKSB7XHJcbiAgICAgIHRoaXMuY29uc3RydWN0b3JfMShjb21tYW5kVHlwZU9yT2JqT3JQYXJlbnRPYmplY3QsIHN0ck9yQ29tbWFuZFR5cGVPck9iaik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMikge1xyXG4gICAgICAvLyAmJiAoY29tbWFuZFR5cGVPck9iak9yUGFyZW50T2JqZWN0ID09PSBudWxsIHx8IGNvbW1hbmRUeXBlT3JPYmpPclBhcmVudE9iamVjdC5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0KSAmJiAoc3RyT3JDb21tYW5kVHlwZU9yT2JqID09PSBudWxsIHx8IHN0ck9yQ29tbWFuZFR5cGVPck9iai5jb25zdHJ1Y3RvciA9PT0gTnVtYmVyKSkge1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzIoY29tbWFuZFR5cGVPck9iak9yUGFyZW50T2JqZWN0LCBzdHJPckNvbW1hbmRUeXBlT3JPYmopO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbnN0cnVjdG9yXzMoY29tbWFuZFR5cGVPck9iak9yUGFyZW50T2JqZWN0LCBzdHJPckNvbW1hbmRUeXBlT3JPYmosIGNtbWFuZFR5cGUpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8wKGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZSk6IHZvaWQge1xyXG4gICAgdGhpcy5Db21tYW5kVHlwZSA9IGNvbW1hbmRUeXBlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5Pjwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNvbW1hbmRUeXBlXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInN0clwiPjwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8xKGNvbW1hbmRUeXBlOiBDb21tYW5kVHlwZSwgc3RyOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uc3RydWN0b3JfMChjb21tYW5kVHlwZSk7XHJcbiAgICB0aGlzLnN0ciA9IHN0cjtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT48L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8yKG9iajogYW55LCBjb21tYW5kVHlwZTogQ29tbWFuZFR5cGUpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uc3RydWN0b3JfMChjb21tYW5kVHlwZSk7XHJcbiAgICB0aGlzLm9iaiA9IG9iajtcclxuICAgIGlmICh0aGlzLm9iaiBpbnN0YW5jZW9mIENvbnRyb2xCYXNlKSB7XHJcbiAgICAgIHRoaXMuQ3RybE5hbWUgPSAoPENvbnRyb2xCYXNlPnRoaXMub2JqKS5VbmlxdWVOYW1lO1xyXG4gICAgICB0aGlzLlRhc2tUYWcgPSAoPENvbnRyb2xCYXNlPnRoaXMub2JqKS5UYXNrVGFnO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZihvYmogPT09IG51bGwpXHJcbiAgICAgIHRoaXMuVGFza1RhZyA9IFwiMFwiO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHRoaXMgaXMgbXkgY29tbWVudFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJwYXJlbnRPYmplY3RcIj50aGUgcGFyZW50IG9iamVjdCBvZiB0aGUgb2JqZWN0PC9wYXJhbT5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yXzMocGFyZW50T2JqZWN0OiBhbnksIG9iajogYW55LCBjbW1hbmRUeXBlOiBDb21tYW5kVHlwZSk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25zdHJ1Y3Rvcl8yKG9iaiwgY21tYW5kVHlwZSk7XHJcbiAgICB0aGlzLnBhcmVudE9iamVjdCA9IHBhcmVudE9iamVjdDtcclxuICB9XHJcblxyXG5cclxuICB0b1N0cmluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFwie1wiICsgdGhpcy5Db21tYW5kVHlwZSArIFwifVwiO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { UIBridge } from "../../UIBridge";
2
+ export class GuiCommandQueue {
3
+ static _instance = null;
4
+ _commandsQueue = null;
5
+ _executingGuiCommands = false;
6
+ constructor() {
7
+ this.init();
8
+ }
9
+ static getInstance() {
10
+ if (GuiCommandQueue._instance === null)
11
+ GuiCommandQueue._instance = new GuiCommandQueue();
12
+ return GuiCommandQueue._instance;
13
+ }
14
+ init() {
15
+ this._commandsQueue = new Array();
16
+ }
17
+ addCommand(guiCommand) {
18
+ this.put(guiCommand);
19
+ }
20
+ put(guiCommand) {
21
+ this._commandsQueue.push(guiCommand);
22
+ }
23
+ beginInvoke() {
24
+ this.invoke();
25
+ }
26
+ invoke() {
27
+ if (!this._executingGuiCommands) {
28
+ this._executingGuiCommands = true;
29
+ UIBridge.getInstance().executeCommands(this._commandsQueue);
30
+ this._commandsQueue.length = 0;
31
+ this._executingGuiCommands = false;
32
+ }
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpQ29tbWFuZFF1ZXVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3VpL3NyYy9ndWkvbG93L0d1aUNvbW1hbmRRdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsTUFBTSxPQUFPLGVBQWU7SUFDbEIsTUFBTSxDQUFDLFNBQVMsR0FBb0IsSUFBSSxDQUFDO0lBRXpDLGNBQWMsR0FBc0IsSUFBSSxDQUFDO0lBQ3pDLHFCQUFxQixHQUFZLEtBQUssQ0FBQztJQUsvQztRQUNFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFPRCxNQUFNLENBQUMsV0FBVztRQUNoQixJQUFJLGVBQWUsQ0FBQyxTQUFTLEtBQUssSUFBSTtZQUNwQyxlQUFlLENBQUMsU0FBUyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDcEQsT0FBTyxlQUFlLENBQUMsU0FBUyxDQUFDO0lBQ25DLENBQUM7SUFHRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLEtBQUssRUFBYyxDQUFDO0lBQ2hELENBQUM7SUFHRCxVQUFVLENBQUMsVUFBc0I7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBT08sR0FBRyxDQUFDLFVBQXNCO1FBb0NoQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQVF2QyxDQUFDO0lBS0QsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUVoQixDQUFDO0lBS0QsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDL0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztZQUNsQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztTQUNwQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHN1bW1hcnk+XHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vICAgR3VpIGNvbW1hbmQgcXVldWVcclxuLy8vIDwvc3VtbWFyeT5cclxuaW1wb3J0IHtVSUJyaWRnZX0gZnJvbSBcIi4uLy4uL1VJQnJpZGdlXCI7XHJcbmltcG9ydCB7R3VpQ29tbWFuZH0gZnJvbSBcIi4vR3VpQ29tbWFuZFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEd1aUNvbW1hbmRRdWV1ZSB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBHdWlDb21tYW5kUXVldWUgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIF9jb21tYW5kc1F1ZXVlOiBBcnJheTxHdWlDb21tYW5kPiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZXhlY3V0aW5nR3VpQ29tbWFuZHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGJhc2lzIENvbnN0cnVjdG9yXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGVuZCBpbm5lciBjbGFzcyBHdWlDb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHN1bW1hcnk+c2luZ2xldG9uPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz4gcmVmZXJlbmNlIHRvIEd1aUNvbW1hbmRRdWV1ZSBvYmplY3Q8L3JldHVybnM+XHJcbiAgc3RhdGljIGdldEluc3RhbmNlKCk6IEd1aUNvbW1hbmRRdWV1ZSB7XHJcbiAgICBpZiAoR3VpQ29tbWFuZFF1ZXVlLl9pbnN0YW5jZSA9PT0gbnVsbClcclxuICAgICAgR3VpQ29tbWFuZFF1ZXVlLl9pbnN0YW5jZSA9IG5ldyBHdWlDb21tYW5kUXVldWUoKTtcclxuICAgIHJldHVybiBHdWlDb21tYW5kUXVldWUuX2luc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PkNvbnN0cnVjdG9yPC9zdW1tYXJ5PlxyXG4gIGluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb21tYW5kc1F1ZXVlID0gbmV3IEFycmF5PEd1aUNvbW1hbmQ+KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgYWRkQ29tbWFuZChndWlDb21tYW5kOiBHdWlDb21tYW5kKTogdm9pZCB7XHJcbiAgICB0aGlzLnB1dChndWlDb21tYW5kKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQWRkcyBhIGNvbW1hbmQgdG8gdGhlIHF1ZXVlLiBJZiB0aGVyZSBhcmUgYWxyZWFkeSBlbm91Z2ggY29tbWFuZHMgaW4gdGhlIHF1ZXVlIHRoZW5cclxuICAvLy8gaXQgd2lsbCB3YWl0IHRpbGwgdGhlIHF1ZXVlIGlzIGVtcHRpZWQgYnUgR3VpIHRocmVhZC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImd1aUNvbW1hbmRcIj48L3BhcmFtPlxyXG4gIHByaXZhdGUgcHV0KGd1aUNvbW1hbmQ6IEd1aUNvbW1hbmQpOiB2b2lkIHtcclxuICAgIC8vIGNvbnN0IFFVRVVFX1NJWkVfVEhSRVNIT0xEOiBudW1iZXIgPSAxMjAwOyAvLyBhIHRocmVzaG9sZCBhYm92ZSB3aGljaCBjb21tYW5kcyB3aWxsIG5vdCBiZSBpbnNlcnRlZCB0byB0aGUgcXVldWUgdW50aWwgdGhlIHF1ZXVlIHdpbGwgYmUgZW1wdHkuXHJcbiAgICAvLyBjb25zdCBNQVhfU0xFRVBfRFVSQVRJT046IG51bWJlciA9IDQ7Ly8gZHVyYXRpb24sIGluIG1zLCBiZXR3ZWVuIGNoZWNraW5nIHRoYXQgdGhlIHF1ZXVlIGlzIGVtcHR5LlxyXG4gICAgLy9cclxuICAgIC8vIC8vIElmIHdvcmtlciB0aHJlYWQgd2FudHMgdG8gYWRkIGEgY29tbWFuZCBhbmQgdGhlcmUgYXJlIHRvbyBtYW55IGNvbW1hbmRzIGluIHRoZSBxdWV1ZSBwZW5kaW5nXHJcbiAgICAvLyAvLyB0byBiZSBwcm9jZXNzZWQgYnkgR3VpIHRocmVhZCB0aGVuIHN1c3BlbmQgY3VycmVudCB0aHJlYWQgdGlsbCB0aGUgY29tbWFuZHMgYXJlIG92ZXIuIElmIHdlIGtlZXBcclxuICAgIC8vIC8vIG9uIGFkZGluZyBjb21tYW5kcyB0byB0aGUgcXVldWUgYW5kIEd1aSB0aHJlYWQgZW50ZXJzIFJ1bigpLCB0aGVuIHNvbWV0aW1lcyAoc3BlY2lhbGx5IGluIGNhc2VzIG9mXHJcbiAgICAvLyAvLyBiYXRjaCB0YXNrcykgR3VpIHRocmVhZCByZW1haW5zIGluIFJ1bigpIGZvciBhIGxvbmcgdGltZSBhbmQgaGVuY2UgaXQgaXMgdW5hYmxlIHRvIHByb2Nlc3MgdXNlclxyXG4gICAgLy8gLy8gaW50ZXJhY3Rpb25zIChhcyBkZXNjcmliZWQgaW4gUUNSIzcyMjE0NSlcclxuICAgIC8vIC8vIEJlZm9yZSBlbnRlcmluZyB0aGUgbG9vcCBjb25maXJtIHRoYXQgdGhlIGNvbW1hbmQgaXMgTk9UIGJlaW5nIGFkZGVkIGJ5IEd1aSB0aHJlYWQgaXRzZWxmIGFuZCBHdWlcclxuICAgIC8vIC8vIHRocmVhZCBpcyBhbHJlYWR5IHByb2Nlc3NpbmcgdGhlIGNvbW1hbmRzLiBUaGlzIGlzIHRvIGVuc3VyZSB0aGF0IHRoZSBjb21tYW5kcyB3aWxsIGJlIHByb2Nlc3NlZCBieVxyXG4gICAgLy8gLy8gR3VpIHRocmVhZC4gSWYgR3VpIHRocmVhZCBpcyBub3QgcHJvY2Vzc2luZyBjb21tYW5kcywgdGhlbiBpdCB3aWxsIG5ldmVyIHByb2Nlc3MgaXQgYWdhaW4gYXMgaXQgaXNcclxuICAgIC8vIC8vIHRoZSB3b3JrZXIgdGhyZWFkIHRoYXQgaW52b2tlcyBHdWkgdGhyZWFkIGZvciBwcm9jZXNzaW5nIGNvbW1hbmRzXHJcbiAgICAvLyAvLyBBbHNvLCBzdXNwZW5kIHdvcmtlciB0aHJlYWQgZnJvbSBhZGRpbmcgbmV3IGNvbW1hbmRzIHRvIHRoZSBxdWV1ZSB0aWxsIFNIT1dfRk9STSBmb3IgbW9kYWwgd2luZG93XHJcbiAgICAvLyAvLyBpcyBwcm9jZXNzZWQuIFByb2JsZW0gb2NjdXJzIGlmIFNIT1dfRk9STSBpcyBmb2xsb3dlZCBieSBmZXcgbW9yZSBjb21tYW5kcyBhbmQgdGhlbiBhIGNhbGwgdG9cclxuICAgIC8vIC8vIEd1aUludGVyYWN0aXZlICB0aGF0IGRlcGVuZHMgb24gdGhlIGVhcmxpZXIgY29tbWFuZHMuIEluIHN1Y2ggY2FzZXMsIEd1aUludGVyYWN0aXZlIHdpbGwgbm90IHByb2Nlc3NcclxuICAgIC8vIC8vIGNvbW1hbmRzIGJldHdlZW4gU0hPV19GT1JNIGFuZCBpbnRlcmFjdGl2ZSBjb21tYW5kIGJlY2F1c2UgR3VpVGhyZWFkSXNBdmFpbGFibGVUb1Byb2Nlc3NDb21tYW5kc1xyXG4gICAgLy8gLy8gd2FzIHNldCB0byBmYWxzZSBiZWZvcmUgb3BlbmluZyB0aGUgZGlhbG9nLlxyXG4gICAgLy8gaWYgKCgodGhpcy5fY29tbWFuZHNRdWV1ZS5TaXplKCkgPiBRVUVVRV9TSVpFX1RIUkVTSE9MRCApIHx8IHRoaXMuX21vZGFsU2hvd0Zvcm1Db21tYW5kUHJlc2VudEluUXVldWUpKSB7XHJcbiAgICAvLyAgIGxldCBzbGVlcER1cmF0aW9uOiBudW1iZXIgPSBNQVhfU0xFRVBfRFVSQVRJT047XHJcbiAgICAvLyAgIGRvIHtcclxuICAgIC8vICAgICAvLyBnZXQgY3VycmVudCBzaXplIG9mIHRoZSBxdWV1ZSBhbmQgd2FpdCBmb3Igc29tZSB0aW1lXHJcbiAgICAvLyAgICAgY29uc3Qgc2l6ZTogbnVtYmVyID0gdGhpcy5fY29tbWFuZHNRdWV1ZS5TaXplKCk7XHJcbiAgICAvLyAgICAgLy9TeXN0ZW0uVGhyZWFkaW5nLlRocmVhZC5TbGVlcChzbGVlcER1cmF0aW9uKTtcclxuICAgIC8vICAgICBjb25zdCBuZXdTaXplOiBudW1iZXIgPSB0aGlzLl9jb21tYW5kc1F1ZXVlLlNpemUoKTtcclxuICAgIC8vXHJcbiAgICAvLyAgICAgLy8gd2hpbGUgY3VycmVudCB0aHJlYWQgd2FzIHNsZWVwaW5nLCBndWkgdGhyZWFkIHNob3VsZCBoYXZlIHByb2Nlc3NlZCBzb21lIGNvbW1hbmRzLlxyXG4gICAgLy8gICAgIC8vIGdldCBhdmVyYWdlIGR1cmF0aW9uIHJlcXVpcmVkIGJ5IGd1aSB0aHJlYWQgZm9yIHByb2Nlc3NpbmcgYSBjb21tYW5kIGFuZCBlc3RpbWF0ZSBuZXcgZHVyYXRpb24gZm9yIHJlbWFpbmluZyBjb21tYW5kcy5cclxuICAgIC8vICAgICBpZiAoc2l6ZSA+IG5ld1NpemUpIHtcclxuICAgIC8vICAgICAgIGxldCBhdmVyYWdlRHVyYXRpb25QZXJDb21tYW5kOiBudW1iZXIgPSBzbGVlcER1cmF0aW9uIC8gKHNpemUgLSBuZXdTaXplKTtcclxuICAgIC8vICAgICAgIGxldCBuZXdTbGVlcER1cmF0aW9uOiBudW1iZXIgPSA8bnVtYmVyPihuZXdTaXplICogYXZlcmFnZUR1cmF0aW9uUGVyQ29tbWFuZCk7XHJcbiAgICAvLyAgICAgICBpZiAobmV3U2xlZXBEdXJhdGlvbiA+IDApXHJcbiAgICAvLyAgICAgICAgIHNsZWVwRHVyYXRpb24gPSBNYXRoLm1pbihNQVhfU0xFRVBfRFVSQVRJT04sIG5ld1NsZWVwRHVyYXRpb24pO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfVxyXG4gICAgLy8gICB3aGlsZSAodGhpcy5fY29tbWFuZHNRdWV1ZS5TaXplKCkgPiAwKTtcclxuICAgIHRoaXMuX2NvbW1hbmRzUXVldWUucHVzaChndWlDb21tYW5kKTtcclxuXHJcbiAgICAvLyBpZiAoZ3VpQ29tbWFuZC5Db21tYW5kVHlwZSA9PT0gQ29tbWFuZFR5cGUuUkVGUkVTSF9UQUJMRSAmJiBndWlDb21tYW5kLkJvb2wzKSB7XHJcbiAgICAvLyAgIGxldCBtZ0NvbnRyb2w6IE1nQ29udHJvbEJhc2UgPSA8TWdDb250cm9sQmFzZT4oZ3VpQ29tbWFuZC5vYmopO1xyXG4gICAgLy8gICBtZ0NvbnRyb2wucmVmcmVzaFRhYmxlQ29tbWFuZENvdW50Kys7XHJcbiAgICAvLyB9XHJcbiAgICAvLyBlbHNlIGlmIChndWlDb21tYW5kLklzTW9kYWxTaG93Rm9ybUNvbW1hbmQoKSlcclxuICAgIC8vICAgdGhpcy5fbW9kYWxTaG93Rm9ybUNvbW1hbmRQcmVzZW50SW5RdWV1ZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZXhlY3V0ZSBhbGwgcGVuZGluZyBjb21tYW5kcywgYXN5bmNocm9ub3VzbHlcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGJlZ2luSW52b2tlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnZva2UoKTtcclxuXHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZXhlY3V0ZSBhbGwgcGVuZGluZyBjb21tYW5kcywgc3luY2hyb25vdXNseVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgaW52b2tlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLl9leGVjdXRpbmdHdWlDb21tYW5kcykge1xyXG4gICAgICB0aGlzLl9leGVjdXRpbmdHdWlDb21tYW5kcyA9IHRydWU7XHJcbiAgICAgIFVJQnJpZGdlLmdldEluc3RhbmNlKCkuZXhlY3V0ZUNvbW1hbmRzKHRoaXMuX2NvbW1hbmRzUXVldWUpO1xyXG4gICAgICB0aGlzLl9jb21tYW5kc1F1ZXVlLmxlbmd0aCA9IDA7XHJcbiAgICAgIHRoaXMuX2V4ZWN1dGluZ0d1aUNvbW1hbmRzID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbiJdfQ==
@@ -0,0 +1,177 @@
1
+ import { MgValue } from '../MgValue';
2
+ import { GuiMgForm } from '../GuiMgForm';
3
+ import { Events } from '../../Events';
4
+ import { UIBridge } from '../../UIBridge';
5
+ import { ControlBase } from '../ControlBase';
6
+ import { GuiCommandQueue } from './GuiCommandQueue';
7
+ export var InteractiveCommandType;
8
+ (function (InteractiveCommandType) {
9
+ InteractiveCommandType[InteractiveCommandType["GET_VALUE"] = 0] = "GET_VALUE";
10
+ InteractiveCommandType[InteractiveCommandType["GET_TOP_INDEX"] = 1] = "GET_TOP_INDEX";
11
+ InteractiveCommandType[InteractiveCommandType["MESSAGE_BOX"] = 2] = "MESSAGE_BOX";
12
+ InteractiveCommandType[InteractiveCommandType["SET_TITLE"] = 3] = "SET_TITLE";
13
+ InteractiveCommandType[InteractiveCommandType["SET_EDIT_TEXT"] = 4] = "SET_EDIT_TEXT";
14
+ InteractiveCommandType[InteractiveCommandType["INSERT_EDIT_TEXT"] = 5] = "INSERT_EDIT_TEXT";
15
+ InteractiveCommandType[InteractiveCommandType["GET_CARET_POS"] = 6] = "GET_CARET_POS";
16
+ InteractiveCommandType[InteractiveCommandType["REFRESH_PAGE"] = 7] = "REFRESH_PAGE";
17
+ InteractiveCommandType[InteractiveCommandType["GET_ROWS_IN_PAGE"] = 8] = "GET_ROWS_IN_PAGE";
18
+ InteractiveCommandType[InteractiveCommandType["SET_GET_SUGGESTED_VALUE_FOR_CHOICE_CONTROL_ON_TAGDATA"] = 9] = "SET_GET_SUGGESTED_VALUE_FOR_CHOICE_CONTROL_ON_TAGDATA";
19
+ InteractiveCommandType[InteractiveCommandType["GET_IS_ROW_EDITING"] = 10] = "GET_IS_ROW_EDITING";
20
+ InteractiveCommandType[InteractiveCommandType["GET_MAX_ROWS_IN_PAGINATED_TABLE"] = 11] = "GET_MAX_ROWS_IN_PAGINATED_TABLE";
21
+ InteractiveCommandType[InteractiveCommandType["CALL_JS"] = 12] = "CALL_JS";
22
+ InteractiveCommandType[InteractiveCommandType["GET_LAST_ROUTE"] = 13] = "GET_LAST_ROUTE";
23
+ InteractiveCommandType[InteractiveCommandType["OPEN_FORM"] = 14] = "OPEN_FORM";
24
+ })(InteractiveCommandType || (InteractiveCommandType = {}));
25
+ export class GuiInteractiveBase {
26
+ _commandType = 0;
27
+ TaskTag = null;
28
+ controlName = null;
29
+ _str = String.fromCharCode(0);
30
+ _intVal1 = 0;
31
+ _line = 0;
32
+ _obj1 = null;
33
+ _parameters = null;
34
+ _boolVal = false;
35
+ _obj2 = null;
36
+ _mgValue = null;
37
+ arguments;
38
+ resultString = String.fromCharCode(0);
39
+ constructor() {
40
+ }
41
+ setGetSuggestedValueOfChoiceControlOnTagData(ctrl, line, retSuggestedValue) {
42
+ this._commandType = InteractiveCommandType.SET_GET_SUGGESTED_VALUE_FOR_CHOICE_CONTROL_ON_TAGDATA;
43
+ this._obj2 = ctrl;
44
+ this._line = line;
45
+ this._boolVal = retSuggestedValue;
46
+ this.Invoke();
47
+ }
48
+ getValue(obj, line) {
49
+ this._commandType = InteractiveCommandType.GET_VALUE;
50
+ this._obj2 = obj;
51
+ this._line = line;
52
+ this._mgValue = new MgValue();
53
+ this.Invoke();
54
+ return this._mgValue.obj;
55
+ }
56
+ getTopIndex(tablecontrol) {
57
+ this._commandType = InteractiveCommandType.GET_TOP_INDEX;
58
+ this._obj2 = tablecontrol;
59
+ this.Invoke();
60
+ return this._intVal1;
61
+ }
62
+ getIsRowEditing(tablecontrol, line, isLineMode) {
63
+ this._commandType = InteractiveCommandType.GET_IS_ROW_EDITING;
64
+ this._obj2 = tablecontrol;
65
+ this._intVal1 = line;
66
+ this._boolVal = isLineMode;
67
+ this.Invoke();
68
+ return this._boolVal;
69
+ }
70
+ messageBox(title, msg, style) {
71
+ this._commandType = InteractiveCommandType.MESSAGE_BOX;
72
+ this._mgValue = new MgValue();
73
+ this._mgValue.title = title;
74
+ this._mgValue.str = ((msg === null) ? '' : msg);
75
+ this._mgValue.style = style;
76
+ Events.RefreshTables();
77
+ this.Invoke();
78
+ return this._mgValue.number;
79
+ }
80
+ setTitle(topMostForm, title) {
81
+ this._commandType = InteractiveCommandType.SET_TITLE;
82
+ this._mgValue = new MgValue();
83
+ this._obj2 = topMostForm;
84
+ this._mgValue.title = ((title === null) ? '' : title);
85
+ this.Invoke();
86
+ }
87
+ setEditText(control, line, text) {
88
+ this._commandType = InteractiveCommandType.SET_EDIT_TEXT;
89
+ this._obj2 = control;
90
+ this._line = line;
91
+ this._mgValue = new MgValue();
92
+ this._mgValue.str = text;
93
+ this.Invoke();
94
+ return this._mgValue.boolVal;
95
+ }
96
+ insertEditText(control, line, startPosition, textToInsert) {
97
+ this._commandType = InteractiveCommandType.INSERT_EDIT_TEXT;
98
+ this._obj2 = control;
99
+ this._line = line;
100
+ this._mgValue = new MgValue();
101
+ this._mgValue.str = textToInsert;
102
+ this._intVal1 = startPosition;
103
+ this.Invoke();
104
+ return this._mgValue.boolVal;
105
+ }
106
+ caretPosGet(control, line) {
107
+ this._commandType = InteractiveCommandType.GET_CARET_POS;
108
+ this._obj2 = control;
109
+ this._line = line;
110
+ this._mgValue = new MgValue();
111
+ this.Invoke();
112
+ return this._mgValue.number;
113
+ }
114
+ RefreshPage(navigateToRootRoute, initialUrl) {
115
+ this._commandType = InteractiveCommandType.REFRESH_PAGE;
116
+ this._boolVal = navigateToRootRoute;
117
+ this._obj1 = initialUrl;
118
+ this.Invoke();
119
+ return;
120
+ }
121
+ getRowsInPage(control) {
122
+ this._commandType = InteractiveCommandType.GET_ROWS_IN_PAGE;
123
+ this._obj2 = control;
124
+ this.Invoke();
125
+ return this._intVal1;
126
+ }
127
+ getMaxRowsInPaginatedTable(control) {
128
+ this._commandType = InteractiveCommandType.GET_MAX_ROWS_IN_PAGINATED_TABLE;
129
+ this._obj2 = control;
130
+ this.Invoke();
131
+ return this._intVal1;
132
+ }
133
+ getLastRoute() {
134
+ this._commandType = InteractiveCommandType.GET_LAST_ROUTE;
135
+ this.Invoke();
136
+ return this.resultString;
137
+ }
138
+ ExecuteCallJS(form, formName, functionName, args) {
139
+ this._commandType = InteractiveCommandType.CALL_JS;
140
+ this._obj2 = form;
141
+ this.controlName = formName;
142
+ this._str = functionName;
143
+ this.arguments = args;
144
+ this.Invoke();
145
+ return this.resultString;
146
+ }
147
+ ExecuteOpenOverlayForm(obj, formName, handlerTaskTag, calledTaskTag, inputControls, isDialog) {
148
+ this._commandType = InteractiveCommandType.OPEN_FORM;
149
+ this.controlName = formName;
150
+ this._str = handlerTaskTag;
151
+ this._mgValue = new MgValue();
152
+ this._mgValue.str = calledTaskTag;
153
+ this._mgValue.path = inputControls;
154
+ this._boolVal = isDialog;
155
+ this.Invoke();
156
+ }
157
+ Invoke() {
158
+ GuiCommandQueue.getInstance().invoke();
159
+ if (this._obj2 instanceof ControlBase) {
160
+ let controlBase = this._obj2;
161
+ this.TaskTag = controlBase.TaskTag;
162
+ this.controlName = controlBase.UniqueName;
163
+ }
164
+ else if (this._obj2 instanceof GuiMgForm) {
165
+ let guiMgForm = this._obj2;
166
+ this.TaskTag = guiMgForm.TaskTag;
167
+ }
168
+ else
169
+ this.TaskTag = '0';
170
+ UIBridge.getInstance().ExecuteInteractiveCommand(this);
171
+ }
172
+ onGetRowsInPage() {
173
+ }
174
+ }
175
+ export class GuiInteractive extends GuiInteractiveBase {
176
+ }
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpSW50ZXJhY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWkvc3JjL2d1aS9sb3cvR3VpSW50ZXJhY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxDQUFOLElBQVksc0JBZ0JYO0FBaEJELFdBQVksc0JBQXNCO0lBQ2hDLDZFQUFTLENBQUE7SUFDVCxxRkFBYSxDQUFBO0lBQ2IsaUZBQVcsQ0FBQTtJQUNYLDZFQUFTLENBQUE7SUFDVCxxRkFBYSxDQUFBO0lBQ2IsMkZBQWdCLENBQUE7SUFDaEIscUZBQWEsQ0FBQTtJQUNiLG1GQUFZLENBQUE7SUFDWiwyRkFBZ0IsQ0FBQTtJQUNoQixxS0FBcUQsQ0FBQTtJQUNyRCxnR0FBa0IsQ0FBQTtJQUNsQiwwSEFBK0IsQ0FBQTtJQUMvQiwwRUFBTyxDQUFBO0lBQ1Asd0ZBQWMsQ0FBQTtJQUNkLDhFQUFTLENBQUE7QUFDWCxDQUFDLEVBaEJXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFnQmpDO0FBR0QsTUFBTSxPQUFnQixrQkFBa0I7SUFDdEMsWUFBWSxHQUEyQixDQUFDLENBQUM7SUFDekMsT0FBTyxHQUFXLElBQUksQ0FBQztJQUN2QixXQUFXLEdBQVcsSUFBSSxDQUFDO0lBRTNCLElBQUksR0FBVyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLFFBQVEsR0FBVyxDQUFDLENBQUM7SUFDckIsS0FBSyxHQUFXLENBQUMsQ0FBQztJQUNsQixLQUFLLEdBQVEsSUFBSSxDQUFDO0lBQ2xCLFdBQVcsR0FBVSxJQUFJLENBQUM7SUFDMUIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixLQUFLLEdBQVEsSUFBSSxDQUFDO0lBQ2xCLFFBQVEsR0FBWSxJQUFJLENBQUM7SUFDekIsU0FBUyxDQUFlO0lBQ3hCLFlBQVksR0FBWSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBSy9DO0lBQ0EsQ0FBQztJQVNELDRDQUE0QyxDQUFDLElBQWtCLEVBQUUsSUFBWSxFQUFFLGlCQUEwQjtRQUN2RyxJQUFJLENBQUMsWUFBWSxHQUFHLHNCQUFzQixDQUFDLHFEQUFxRCxDQUFDO1FBQ2pHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsaUJBQWlCLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFNRCxRQUFRLENBQUMsR0FBUSxFQUFFLElBQVk7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxzQkFBc0IsQ0FBQyxTQUFTLENBQUM7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDM0IsQ0FBQztJQUdELFdBQVcsQ0FBQyxZQUEwQjtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLHNCQUFzQixDQUFDLGFBQWEsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELGVBQWUsQ0FBQyxZQUEwQixFQUFFLElBQVksRUFBRSxVQUFtQjtRQUMzRSxJQUFJLENBQUMsWUFBWSxHQUFHLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDO1FBQzlELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBRTNCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBT0QsVUFBVSxDQUFDLEtBQWEsRUFBRSxHQUFXLEVBQUUsS0FBYTtRQUNsRCxJQUFJLENBQUMsWUFBWSxHQUFHLHNCQUFzQixDQUFDLFdBQVcsQ0FBQztRQUN2RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUM7SUFNRCxRQUFRLENBQUMsV0FBc0IsRUFBRSxLQUFhO1FBQzVDLElBQUksQ0FBQyxZQUFZLEdBQUcsc0JBQXNCLENBQUMsU0FBUyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBUUQsV0FBVyxDQUFDLE9BQXFCLEVBQUUsSUFBWSxFQUFFLElBQVk7UUFDM0QsSUFBSSxDQUFDLFlBQVksR0FBRyxzQkFBc0IsQ0FBQyxhQUFhLENBQUM7UUFDekQsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztRQUV6QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFRRCxjQUFjLENBQUMsT0FBcUIsRUFBRSxJQUFZLEVBQUUsYUFBcUIsRUFBRSxZQUFvQjtRQUM3RixJQUFJLENBQUMsWUFBWSxHQUFHLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDO1FBQzVELElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUM7UUFFOUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBUUQsV0FBVyxDQUFDLE9BQXFCLEVBQUUsSUFBWTtRQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLHNCQUFzQixDQUFDLGFBQWEsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUVsQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBS0QsV0FBVyxDQUFDLG1CQUE0QixFQUFFLFVBQWtCO1FBQzFELElBQUksQ0FBQyxZQUFZLEdBQUcsc0JBQXNCLENBQUMsWUFBWSxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsT0FBTztJQUNULENBQUM7SUFPRCxhQUFhLENBQUMsT0FBcUI7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM1RCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUtELDBCQUEwQixDQUFDLE9BQXFCO1FBQzlDLElBQUksQ0FBQyxZQUFZLEdBQUcsc0JBQXNCLENBQUMsK0JBQStCLENBQUM7UUFDM0UsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFLRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFlBQVksR0FBRyxzQkFBc0IsQ0FBQyxjQUFjLENBQUM7UUFDMUQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFJRCxhQUFhLENBQUMsSUFBSSxFQUFHLFFBQWdCLEVBQUcsWUFBb0IsRUFBRSxJQUFnQjtRQUM1RSxJQUFJLENBQUMsWUFBWSxHQUFHLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztRQUNuRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELHNCQUFzQixDQUFDLEdBQVcsRUFBRSxRQUFnQixFQUFFLGNBQXNCLEVBQUUsYUFBcUIsRUFDL0YsYUFBcUIsRUFBRSxRQUFpQjtRQUUxQyxJQUFJLENBQUMsWUFBWSxHQUFHLHNCQUFzQixDQUFDLFNBQVMsQ0FBQztRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsYUFBYSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUtPLE1BQU07UUFDWixlQUFlLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLFdBQVcsRUFBRTtZQUNyQyxJQUFJLFdBQVcsR0FBNkIsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN2RCxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7WUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDO1NBQzNDO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLFNBQVMsRUFBRTtZQUMxQyxJQUFJLFNBQVMsR0FBeUIsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNqRCxJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7U0FDbEM7O1lBQ0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFFckIsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFxTkQsZUFBZTtJQUNmLENBQUM7Q0FFRjtBQUVELE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0NBRXJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtHdWlNZ0NvbnRyb2x9IGZyb20gJy4uL0d1aU1nQ29udHJvbCc7XHJcbmltcG9ydCB7TWdWYWx1ZX0gZnJvbSAnLi4vTWdWYWx1ZSc7XHJcbmltcG9ydCB7R3VpTWdGb3JtfSBmcm9tICcuLi9HdWlNZ0Zvcm0nO1xyXG5pbXBvcnQge0V2ZW50c30gZnJvbSAnLi4vLi4vRXZlbnRzJztcclxuaW1wb3J0IHtVSUJyaWRnZX0gZnJvbSAnLi4vLi4vVUlCcmlkZ2UnO1xyXG5pbXBvcnQge0NvbnRyb2xCYXNlfSBmcm9tICcuLi9Db250cm9sQmFzZSc7XHJcbmltcG9ydCB7R3VpQ29tbWFuZFF1ZXVlfSBmcm9tICcuL0d1aUNvbW1hbmRRdWV1ZSc7XHJcblxyXG5leHBvcnQgZW51bSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlIHtcclxuICBHRVRfVkFMVUUsXHJcbiAgR0VUX1RPUF9JTkRFWCxcclxuICBNRVNTQUdFX0JPWCxcclxuICBTRVRfVElUTEUsXHJcbiAgU0VUX0VESVRfVEVYVCxcclxuICBJTlNFUlRfRURJVF9URVhULFxyXG4gIEdFVF9DQVJFVF9QT1MsXHJcbiAgUkVGUkVTSF9QQUdFLFxyXG4gIEdFVF9ST1dTX0lOX1BBR0UsXHJcbiAgU0VUX0dFVF9TVUdHRVNURURfVkFMVUVfRk9SX0NIT0lDRV9DT05UUk9MX09OX1RBR0RBVEEsXHJcbiAgR0VUX0lTX1JPV19FRElUSU5HLFxyXG4gIEdFVF9NQVhfUk9XU19JTl9QQUdJTkFURURfVEFCTEUsXHJcbiAgQ0FMTF9KUyxcclxuICBHRVRfTEFTVF9ST1VURSxcclxuICBPUEVOX0ZPUk1cclxufVxyXG5cclxuLy8vIDxzdW1tYXJ5PiBHdWlVdGlscyBjbGFzcyBwcm92aWRlcyBtZXRob2RzIGZvciByZXRyaWV2aW5nIGluZm9ybWF0aW9uIGZyb20gdGhlIEdVSSBsYXllcjwvc3VtbWFyeT5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEd1aUludGVyYWN0aXZlQmFzZSB7XHJcbiAgX2NvbW1hbmRUeXBlOiBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlID0gMDtcclxuICBUYXNrVGFnOiBzdHJpbmcgPSBudWxsO1xyXG4gIGNvbnRyb2xOYW1lOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBfc3RyOiBzdHJpbmcgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDApO1xyXG4gIF9pbnRWYWwxOiBudW1iZXIgPSAwO1xyXG4gIF9saW5lOiBudW1iZXIgPSAwO1xyXG4gIF9vYmoxOiBhbnkgPSBudWxsO1xyXG4gIF9wYXJhbWV0ZXJzOiBhbnlbXSA9IG51bGw7XHJcbiAgX2Jvb2xWYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBfb2JqMjogYW55ID0gbnVsbDtcclxuICBfbWdWYWx1ZTogTWdWYWx1ZSA9IG51bGw7XHJcbiAgYXJndW1lbnRzIDogQXJyYXk8YW55PiA7XHJcbiAgcmVzdWx0U3RyaW5nIDogc3RyaW5nID0gU3RyaW5nLmZyb21DaGFyQ29kZSgwKTtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDb25zdHJ1Y3RvciA6IHNldHMgdGhlIGNvbnRleHRJRCBmb3IgdGhlIGN1cnJlbnQgY29tbWFuZC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBUaGlzIG1ldGhvZGUgaXMgc2V0IFRSVUVcXEZBTFNFIHRoYXQgR3VpVXRpbGVzXFxHZXRWYWx1ZSgpIG1ldGhvZCB3aWxsIGJlIHVzZVxyXG4gIC8vLyB0aGlzIGZhbGcgc2F5IGlmIHRvIHJldHVybiB0aGUgOiAodHJ1ZSkgc3VnZ2VzdGVkIHZhbHVlIG9yIChmYWxzZSl0aGUgcmVhbCB2YWx1ZVxyXG4gIC8vLyB0aGlzIG1ldGhvZCBpcyB1c2UgZm9yIE1HX0FDVF9DVFJMX01PRElGWVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY3RybFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwicmV0U3VnZ2VzdGVkVmFsdWVcIj48L3BhcmFtPlxyXG4gIHNldEdldFN1Z2dlc3RlZFZhbHVlT2ZDaG9pY2VDb250cm9sT25UYWdEYXRhKGN0cmw6IEd1aU1nQ29udHJvbCwgbGluZTogbnVtYmVyLCByZXRTdWdnZXN0ZWRWYWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fY29tbWFuZFR5cGUgPSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLlNFVF9HRVRfU1VHR0VTVEVEX1ZBTFVFX0ZPUl9DSE9JQ0VfQ09OVFJPTF9PTl9UQUdEQVRBO1xyXG4gICAgdGhpcy5fb2JqMiA9IGN0cmw7XHJcbiAgICB0aGlzLl9saW5lID0gbGluZTtcclxuICAgIHRoaXMuX2Jvb2xWYWwgPSByZXRTdWdnZXN0ZWRWYWx1ZTtcclxuICAgIHRoaXMuSW52b2tlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBHZXQgdmFsdWUgb2YgdGhlIGNvbnRyb2w8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwib2JqZWN0XCI+YSByZWZlcmVuY2UgdG8gdGhlIHJlbGV2YW50IG9iamVjdDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwicmVjdFwiPmEgcmVmZXJlbmNlIHRvIHRoZSBvYmplY3QgdGhhdCBvbiByZXR1cm4gd2lsbCBjb250YWluIHRoZSByZXF1ZXN0ZWQgdmFsdWVzIG9uIHN0cmluZzwvcGFyYW0+XHJcbiAgZ2V0VmFsdWUob2JqOiBhbnksIGxpbmU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICB0aGlzLl9jb21tYW5kVHlwZSA9IEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX1ZBTFVFO1xyXG4gICAgdGhpcy5fb2JqMiA9IG9iajtcclxuXHJcbiAgICB0aGlzLl9saW5lID0gbGluZTtcclxuICAgIHRoaXMuX21nVmFsdWUgPSBuZXcgTWdWYWx1ZSgpO1xyXG4gICAgdGhpcy5JbnZva2UoKTtcclxuICAgIHJldHVybiB0aGlzLl9tZ1ZhbHVlLm9iajtcclxuICB9XHJcblxyXG5cclxuICBnZXRUb3BJbmRleCh0YWJsZWNvbnRyb2w6IEd1aU1nQ29udHJvbCk6IG51bWJlciB7XHJcbiAgICB0aGlzLl9jb21tYW5kVHlwZSA9IEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX1RPUF9JTkRFWDtcclxuICAgIHRoaXMuX29iajIgPSB0YWJsZWNvbnRyb2w7XHJcbiAgICB0aGlzLkludm9rZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMuX2ludFZhbDE7XHJcbiAgfVxyXG5cclxuICBnZXRJc1Jvd0VkaXRpbmcodGFibGVjb250cm9sOiBHdWlNZ0NvbnRyb2wsIGxpbmU6IG51bWJlciwgaXNMaW5lTW9kZTogYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy5fY29tbWFuZFR5cGUgPSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9JU19ST1dfRURJVElORztcclxuICAgIHRoaXMuX29iajIgPSB0YWJsZWNvbnRyb2w7XHJcbiAgICB0aGlzLl9pbnRWYWwxID0gbGluZTtcclxuICAgIHRoaXMuX2Jvb2xWYWwgPSBpc0xpbmVNb2RlO1xyXG5cclxuICAgIHRoaXMuSW52b2tlKCk7XHJcbiAgICByZXR1cm4gdGhpcy5fYm9vbFZhbDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5PcGVuIG1lc3NhZ2UgYm94IHdpdGggcGFyZW50IGZvcm08L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGl0bGVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1zZ1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwic3R5bGVcIj50aGUgc3R5bGUgb2YgdGhlIG1lc3NhZ2UgYm94IGNhbiBiZSBmbGFncyBvZiBTdHlsZXMuTVNHQk9YX3h4eCA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gbWVzc2FnZSBib3ggc3R5bGUgZnJvbSBTdHlsZXMuTVNHQk9YX1hYWDwvcmV0dXJucz5cclxuICBtZXNzYWdlQm94KHRpdGxlOiBzdHJpbmcsIG1zZzogc3RyaW5nLCBzdHlsZTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHRoaXMuX2NvbW1hbmRUeXBlID0gSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5NRVNTQUdFX0JPWDtcclxuICAgIHRoaXMuX21nVmFsdWUgPSBuZXcgTWdWYWx1ZSgpO1xyXG4gICAgdGhpcy5fbWdWYWx1ZS50aXRsZSA9IHRpdGxlO1xyXG4gICAgdGhpcy5fbWdWYWx1ZS5zdHIgPSAoKG1zZyA9PT0gbnVsbCkgPyAnJyA6IG1zZyk7XHJcbiAgICB0aGlzLl9tZ1ZhbHVlLnN0eWxlID0gc3R5bGU7XHJcbiAgICBFdmVudHMuUmVmcmVzaFRhYmxlcygpO1xyXG4gICAgdGhpcy5JbnZva2UoKTtcclxuICAgIHJldHVybiB0aGlzLl9tZ1ZhbHVlLm51bWJlcjtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5zZXQgdGl0bGUgdG8gYnJvd3Nlcjwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0b3BNb3N0Rm9ybVwiPnRoZSBwYXJlbnQgZm9ybSBvZiB0aGUgbWVzc2FnZSBib3g8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRpdGxlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IG1lc3NhZ2UgYm94IHN0eWxlIGZyb20gU3R5bGVzLk1TR0JPWF9YWFg8L3JldHVybnM+XHJcbiAgc2V0VGl0bGUodG9wTW9zdEZvcm06IEd1aU1nRm9ybSwgdGl0bGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29tbWFuZFR5cGUgPSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLlNFVF9USVRMRTtcclxuICAgIHRoaXMuX21nVmFsdWUgPSBuZXcgTWdWYWx1ZSgpO1xyXG4gICAgdGhpcy5fb2JqMiA9IHRvcE1vc3RGb3JtO1xyXG4gICAgdGhpcy5fbWdWYWx1ZS50aXRsZSA9ICgodGl0bGUgPT09IG51bGwpID8gJycgOiB0aXRsZSk7XHJcbiAgICB0aGlzLkludm9rZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBzZXQgdGhlIHRleHQgdG8gdGhlIHRoZSBjb250cm9sXHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb250cm9sXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJsaW5lXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0ZXh0XCI+PC9wYXJhbT5cclxuICBzZXRFZGl0VGV4dChjb250cm9sOiBHdWlNZ0NvbnRyb2wsIGxpbmU6IG51bWJlciwgdGV4dDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLl9jb21tYW5kVHlwZSA9IEludGVyYWN0aXZlQ29tbWFuZFR5cGUuU0VUX0VESVRfVEVYVDtcclxuICAgIHRoaXMuX29iajIgPSBjb250cm9sO1xyXG4gICAgdGhpcy5fbGluZSA9IGxpbmU7XHJcbiAgICB0aGlzLl9tZ1ZhbHVlID0gbmV3IE1nVmFsdWUoKTtcclxuICAgIHRoaXMuX21nVmFsdWUuc3RyID0gdGV4dDtcclxuXHJcbiAgICB0aGlzLkludm9rZSgpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLl9tZ1ZhbHVlLmJvb2xWYWw7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGluc2VydCB0aGUgdGV4dCB0byB0aGUgdGhlIGNvbnRyb2wgYXQgdGhlIGdpdmVuIHBvc2l0aW9uXHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb250cm9sXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJsaW5lXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0ZXh0XCI+PC9wYXJhbT5cclxuICBpbnNlcnRFZGl0VGV4dChjb250cm9sOiBHdWlNZ0NvbnRyb2wsIGxpbmU6IG51bWJlciwgc3RhcnRQb3NpdGlvbjogbnVtYmVyLCB0ZXh0VG9JbnNlcnQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy5fY29tbWFuZFR5cGUgPSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLklOU0VSVF9FRElUX1RFWFQ7XHJcbiAgICB0aGlzLl9vYmoyID0gY29udHJvbDtcclxuICAgIHRoaXMuX2xpbmUgPSBsaW5lO1xyXG4gICAgdGhpcy5fbWdWYWx1ZSA9IG5ldyBNZ1ZhbHVlKCk7XHJcbiAgICB0aGlzLl9tZ1ZhbHVlLnN0ciA9IHRleHRUb0luc2VydDtcclxuICAgIHRoaXMuX2ludFZhbDEgPSBzdGFydFBvc2l0aW9uO1xyXG5cclxuICAgIHRoaXMuSW52b2tlKCk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX21nVmFsdWUuYm9vbFZhbDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGdldCB0aGUgcG9zaXRpb24gb2YgdGhlIGNhcmV0IG9uIHRoZSBjb250cm9sXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb250cm9sXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJsaW5lXCI+PC9wYXJhbT5cclxuICBjYXJldFBvc0dldChjb250cm9sOiBHdWlNZ0NvbnRyb2wsIGxpbmU6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICB0aGlzLl9jb21tYW5kVHlwZSA9IEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0NBUkVUX1BPUztcclxuICAgIHRoaXMuX29iajIgPSBjb250cm9sO1xyXG4gICAgdGhpcy5fbGluZSA9IGxpbmU7XHJcblxyXG4gICAgdGhpcy5fbWdWYWx1ZSA9IG5ldyBNZ1ZhbHVlKCk7XHJcbiAgICB0aGlzLkludm9rZSgpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLl9tZ1ZhbHVlLm51bWJlcjtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gcmVmcmVzaCBwYWdlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBSZWZyZXNoUGFnZShuYXZpZ2F0ZVRvUm9vdFJvdXRlOiBib29sZWFuLCBpbml0aWFsVXJsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2NvbW1hbmRUeXBlID0gSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5SRUZSRVNIX1BBR0U7XHJcbiAgICB0aGlzLl9ib29sVmFsID0gbmF2aWdhdGVUb1Jvb3RSb3V0ZTtcclxuICAgIHRoaXMuX29iajEgPSBpbml0aWFsVXJsO1xyXG4gICAgdGhpcy5JbnZva2UoKTtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiByZXR1cm4gbnVtYmVyIG9mIHJvd3MgaW4gdGhlIHRhYmxlPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRyb2xcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgZ2V0Um93c0luUGFnZShjb250cm9sOiBHdWlNZ0NvbnRyb2wpOiBudW1iZXIge1xyXG4gICAgdGhpcy5fY29tbWFuZFR5cGUgPSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9ST1dTX0lOX1BBR0U7XHJcbiAgICB0aGlzLl9vYmoyID0gY29udHJvbDtcclxuICAgIHRoaXMuSW52b2tlKCk7XHJcbiAgICByZXR1cm4gdGhpcy5faW50VmFsMTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gcmV0dXJuIG51bWJlciBvZiByb3dzIGluIHRoZSB0YWJsZTwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb250cm9sXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIGdldE1heFJvd3NJblBhZ2luYXRlZFRhYmxlKGNvbnRyb2w6IEd1aU1nQ29udHJvbCk6IG51bWJlciB7XHJcbiAgICB0aGlzLl9jb21tYW5kVHlwZSA9IEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX01BWF9ST1dTX0lOX1BBR0lOQVRFRF9UQUJMRTtcclxuICAgIHRoaXMuX29iajIgPSBjb250cm9sO1xyXG4gICAgdGhpcy5JbnZva2UoKTtcclxuICAgIHJldHVybiB0aGlzLl9pbnRWYWwxO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBHZXQgdGhlIGxhc3Qgcm91dGVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGdldExhc3RSb3V0ZSgpOiBzdHJpbmcge1xyXG4gICAgdGhpcy5fY29tbWFuZFR5cGUgPSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9MQVNUX1JPVVRFO1xyXG4gICAgdGhpcy5JbnZva2UoKTtcclxuICAgIHJldHVybiB0aGlzLnJlc3VsdFN0cmluZztcclxuICB9XHJcblxyXG5cclxuXHJcbiAgRXhlY3V0ZUNhbGxKUyhmb3JtICwgZm9ybU5hbWU6IHN0cmluZywgIGZ1bmN0aW9uTmFtZTogc3RyaW5nLCBhcmdzOiBBcnJheTxhbnk+KTogc3RyaW5nIHtcclxuICAgIHRoaXMuX2NvbW1hbmRUeXBlID0gSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5DQUxMX0pTO1xyXG4gICAgdGhpcy5fb2JqMiA9IGZvcm07XHJcbiAgICB0aGlzLmNvbnRyb2xOYW1lID0gZm9ybU5hbWU7XHJcbiAgICB0aGlzLl9zdHIgPSBmdW5jdGlvbk5hbWU7XHJcbiAgICB0aGlzLmFyZ3VtZW50cyA9IGFyZ3M7XHJcbiAgICB0aGlzLkludm9rZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMucmVzdWx0U3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgRXhlY3V0ZU9wZW5PdmVybGF5Rm9ybShvYmo6IE9iamVjdCwgZm9ybU5hbWU6IHN0cmluZywgaGFuZGxlclRhc2tUYWc6IHN0cmluZywgY2FsbGVkVGFza1RhZzogc3RyaW5nLFxyXG4gICAgICBpbnB1dENvbnRyb2xzOiBzdHJpbmcsIGlzRGlhbG9nOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAvL3Rhc2tUYWcgc2hvdWxkIGJlIDAgYXMgaXRzIGhvc3RlZCBieSByb290LWNvbXBvbmVudFxyXG4gICAgdGhpcy5fY29tbWFuZFR5cGUgPSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLk9QRU5fRk9STTtcclxuICAgIHRoaXMuY29udHJvbE5hbWUgPSBmb3JtTmFtZTtcclxuICAgIHRoaXMuX3N0ciA9IGhhbmRsZXJUYXNrVGFnO1xyXG4gICAgdGhpcy5fbWdWYWx1ZSA9IG5ldyBNZ1ZhbHVlKCk7XHJcbiAgICB0aGlzLl9tZ1ZhbHVlLnN0ciA9IGNhbGxlZFRhc2tUYWc7XHJcbiAgICB0aGlzLl9tZ1ZhbHVlLnBhdGggPSBpbnB1dENvbnRyb2xzO1xyXG4gICAgdGhpcy5fYm9vbFZhbCA9IGlzRGlhbG9nO1xyXG4gICAgdGhpcy5JbnZva2UoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gQ2FsbHMgUnVuKCkgc3luY2hyb25vdXNseSB0byBleGVjdXRlIHRoZSBjb21tYW5kLlxyXG4gIC8vLyBCdXQgYmVmb3JlIHRoYXQsIGl0IGV4ZWN1dGVzIHRoZSBHdWlDb21tYW5kUXVldWUuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIEludm9rZSgpOiB2b2lkIHtcclxuICAgIEd1aUNvbW1hbmRRdWV1ZS5nZXRJbnN0YW5jZSgpLmludm9rZSgpO1xyXG4gICAgaWYgKHRoaXMuX29iajIgaW5zdGFuY2VvZiBDb250cm9sQmFzZSkge1xyXG4gICAgICBsZXQgY29udHJvbEJhc2U6IENvbnRyb2xCYXNlID0gPENvbnRyb2xCYXNlPnRoaXMuX29iajI7XHJcbiAgICAgIHRoaXMuVGFza1RhZyA9IGNvbnRyb2xCYXNlLlRhc2tUYWc7XHJcbiAgICAgIHRoaXMuY29udHJvbE5hbWUgPSBjb250cm9sQmFzZS5VbmlxdWVOYW1lO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLl9vYmoyIGluc3RhbmNlb2YgR3VpTWdGb3JtKSB7XHJcbiAgICAgIGxldCBndWlNZ0Zvcm06IEd1aU1nRm9ybSA9IDxHdWlNZ0Zvcm0+dGhpcy5fb2JqMjtcclxuICAgICAgdGhpcy5UYXNrVGFnID0gZ3VpTWdGb3JtLlRhc2tUYWc7XHJcbiAgICB9IGVsc2VcclxuICAgICAgdGhpcy5UYXNrVGFnID0gJzAnOyAvLyBnZW5lcmFsIGNvbW1hbmRcclxuXHJcbiAgICBVSUJyaWRnZS5nZXRJbnN0YW5jZSgpLkV4ZWN1dGVJbnRlcmFjdGl2ZUNvbW1hbmQodGhpcyk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGltcGxlbWVudHMgdGhlIFJ1bm5hYmxlIHJ1biBtZXRob2QgZm9yIGNhbGxpbmcgRGlzcGxheS5zeW5jRXhlYygpPC9zdW1tYXJ5PlxyXG4gIC8vIFJ1bigpOiB2b2lkIHtcclxuICAvLyAgIC8vIFNldHMgdGhlIGN1cnJlbnRDb250ZXh0SURcclxuICAvLyAgIGxldCBjb250ZXh0SURHdWFyZCA9IG5ldyBDb250ZXh0SURHdWFyZCh0aGlzLl9jb250ZXh0SUQpO1xyXG4gIC8vICAgdHJ5IHtcclxuICAvLyAgICAgc3dpdGNoICh0aGlzLl9jb21tYW5kVHlwZSkge1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfRk9OVF9NRVRSSUNTOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkdldEZvbnRNZXRyaWNzKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX1JFU09MVVRJT046XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0UmVzb2x1dGlvbigpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9CT1VORFM6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uQm91bmRzKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX1ZBTFVFOlxyXG4gIC8vICAgICAgICAgdGhpcy5vblZhbHVlKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuU0VUX0JST1dTRVJfVEVYVDpcclxuICAvLyAgICAgICAgIHRoaXMub25TZXRCcm93c2VyVGV4dCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9CUk9XU0VSX1RFWFQ6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0QnJvd3NlclRleHQoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5CUk9XU0VSX0VYRUNVVEU6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uQnJvd3NlckV4ZWN1dGUoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfVE9QX0lOREVYOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkdldFRvcEluZGV4KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuTUVTU0FHRV9CT1g6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uTWVzc2FnZUJveCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkRJUkVDVE9SWV9ESUFMT0dfQk9YOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkRpcmVjdG9yeURpYWxvZ0JveCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9DTElFTlRfQk9VTkRTOlxyXG4gIC8vICAgICAgICAgdGhpcy5nZXRDbGllbnRCb3VuZHMoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5TRVRfRURJVF9URVhUOlxyXG4gIC8vICAgICAgICAgdGhpcy5vblNldEVkaXRUZXh0KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuSU5TRVJUX0VESVRfVEVYVDpcclxuICAvLyAgICAgICAgIHRoaXMub25JbnNlcnRFZGl0VGV4dCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLlNFVF9TRUxFQ1RJT046XHJcbiAgLy8gICAgICAgICB0aGlzLm9uU2V0U2VsZWN0aW9uKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX1NFTEVDVElPTjpcclxuICAvLyAgICAgICAgIHRoaXMub25TZWxlY3Rpb25HZXQoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfQ0FSRVRfUE9TOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkNhcmV0UG9zR2V0KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0lTX1RPUF9PRl9URVhUQk9YOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkdldElzVG9wT2ZUZXh0Qm94KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0lTX0VORF9PRl9URVhUQk9YOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkdldElzRW5kT2ZUZXh0Qm94KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuQ0xJUEJPQVJEX0dFVF9DT05URU5UOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkNsaXBib2FyZFJlYWQoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5DTElQQk9BUkRfU0VUX0NPTlRFTlQ6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uQ2xpcGJvYXJkV3JpdGUoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5DTElQQk9BUkRfUEFTVEU6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uQ2xpcGJvYXJkUGFzdGUoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5QT1NUX0tFWV9FVkVOVDpcclxuICAvLyAgICAgICAgIHRoaXMub25Qb3N0S2V5RXZlbnQoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5QT1NUX0NIQVJfRVZFTlQ6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uUG9zdENoYXJFdmVudCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLlNFVF9DVVJTT1I6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uU2V0Q3Vyc29yKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuRElTUE9TRV9BTExfRk9STVM6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uRGlzcG9zZUFsbEZvcm1zKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX1JPV1NfSU5fUEFHRTpcclxuICAvLyAgICAgICAgIHRoaXMub25HZXRSb3dzSW5QYWdlKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0hJRERFTl9ST1dTX0NPVU5UX0lOX1RBQkxFOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkdldEhpZGRlblJvd3NDb3VudEluVGFibGUoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5GSUxFX09QRU5fRElBTE9HX0JPWDpcclxuICAvLyAgICAgICAgIHRoaXMub25GaWxlT3BlbkRpYWxvZ0JveCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkZJTEVfU0FWRV9ESUFMT0dfQk9YOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkZpbGVTYXZlRGlhbG9nQm94KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuQ1JFQVRFX0RJQUxPRzpcclxuICAvLyAgICAgICAgIHRoaXMub25DcmVhdGVEaWFsb2coKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5PUEVOX0RJQUxPRzpcclxuICAvLyAgICAgICAgIHRoaXMub25PcGVuRGlhbG9nKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuQ0xPU0VfRElBTE9HOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkNsb3NlRGlhbG9nKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuU0VUX0dFVF9TVUdHRVNURURfVkFMVUVfRk9SX0NIT0lDRV9DT05UUk9MX09OX1RBR0RBVEE6XHJcbiAgLy8gICAgICAgICB0aGlzLk9uU2V0R2V0U3VnZ2VzdGVkVmFsdWVPZkNob2ljZUNvbnRyb2xPblRhZ0RhdGEoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfTEFTVF9XSU5ET1dfU1RBVEU6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0TGFzdFdpbmRvd1N0YXRlKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0ZSQU1FU19CT1VORFM6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0RnJhbWVzQm91bmRzKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0xJTktFRF9QQVJFTlRfSURYOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkdldExpbmtlZFBhcmVudElkeCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9GT1JNX0JPVU5EUzpcclxuICAvLyAgICAgICAgIHRoaXMub25HZXRGb3JtQm91bmRzKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0NPTFVNTlNfU1RBVEU6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0Q29sdW1uc1N0YXRlKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0ZPUk1fSEFORExFOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkdldEZvcm1IYW5kbGUoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfQ1RSTF9IQU5ETEU6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0Q3RybEhhbmRsZSgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLklTX0ZPUk1fQUNUSVZFOlxyXG4gIC8vICAgICAgICAgdGhpcy5pc0Zvcm1BY3RpdmUoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfRFJPUFBFRF9EQVRBOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkdldERyb3BwZWREYXRhKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0RST1BQRURfUE9JTlQ6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0RHJvcHBlZFBvaW50KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0RST1BQRURfU0VMRUNUSU9OOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkdldERyb3BwZWRTZWxlY3Rpb24oKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5EUk9QX0ZPUk1BVF9TVVBQT1JURUQ6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uQ2hlY2tEcm9wRm9ybWF0UHJlc2VudCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9JU19CRUdJTl9EUkFHOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkdldElzQmVnaW5EcmFnKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuQUNUSVZBVEVfTkVYVF9PUl9QUkVWSU9VU19NRElfQ0hJTEQ6XHJcbiAgLy8gICAgICAgICB0aGlzLk9uQWN0aXZhdGVOZXh0T3JQcmV2aW91c01ESUNoaWxkKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuU0VORF9JTUVfTVNHOlxyXG4gIC8vICAgICAgICAgdGhpcy5vblNlbmRJbWVNc2coKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5DQU5fRk9DVVM6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uQ2FuRm9jdXMoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfU0VMRUNURURfSU5ESUNFOlxyXG4gIC8vICAgICAgICAgdGhpcy5PbkdldFNlbGVjdGVkSW5kaWNlKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuU0VUX1NVR0dFU1RFRF9WQUxVRTpcclxuICAvLyAgICAgICAgIHRoaXMub25TZXRTdWdnZXN0ZWRWYWx1ZSgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLk1BUF9XSURHRVRfVE9fR1VJX09CSkVDVDpcclxuICAvLyAgICAgICAgIHRoaXMuTWFwV2lkZ2V0KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuUkVNT1ZFX0ROX0NPTlRST0xfVkFMVUVfQ0hBTkdFRF9IQU5ETEVSOlxyXG4gIC8vICAgICAgICAgdGhpcy5PblJlbW92ZUROQ29udHJvbFZhbHVlQ2hhbmdlZEhhbmRsZXIoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5BRERfRE5fQ09OVFJPTF9WQUxVRV9DSEFOR0VEX0hBTkRMRVI6XHJcbiAgLy8gICAgICAgICB0aGlzLk9uQWRkRE5Db250cm9sVmFsdWVDaGFuZ2VkSGFuZGxlcigpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9SVEZfVkFMVUVfQkVGT1JFX0VOVEVSSU5HX0NPTlRST0w6XHJcbiAgLy8gICAgICAgICB0aGlzLk9uR2V0UnRmVmFsdWVCZWZvcmVFbnRlcmluZ0NvbnRyb2woKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfTURJX0NISUxEX0NPVU5UOlxyXG4gIC8vICAgICAgICAgdGhpcy5PbkdldE1ESUNoaWxkQ291bnQoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5BQ1RJVkFURV9GT1JNOlxyXG4gIC8vICAgICAgICAgdGhpcy5PbkFjdGl2YXRlRm9ybSgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkVOQUJMRV9NRU5VX0VOVFJZOlxyXG4gIC8vICAgICAgICAgdGhpcy5PbkVuYWJsZU1lbnVFbnRyeSgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLlNIT1dfQ09OVEVYVF9NRU5VOlxyXG4gIC8vICAgICAgICAgdGhpcy5PblNob3dDb250ZXh0TWVudSgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLklTX0NPTUJPX0RST1BQRURfRE9XTjpcclxuICAvLyAgICAgICAgIHRoaXMuT25Jc0NvbWJvRHJvcHBlZERvd25kU3RhdGUoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5JTlZPS0VfVURQQ09NTUFORDpcclxuICAvLyAgICAgICAgIHRoaXMub25JbnZva2VVRFAoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfSEFTSU5ERU5UOlxyXG4gIC8vICAgICAgICAgdGhpcy5PbkdldEhhc0luZGVudCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH1cclxuICAvLyAgIGNhdGNoIChleCkge1xyXG4gIC8vICAgICBpZiAoZXggaW5zdGFuY2VvZiBFeGNlcHRpb24pIHtcclxuICAvLyAgICAgICBFdmVudHMuV3JpdGVFeGNlcHRpb25Ub0xvZyhleCk7XHJcbiAgLy8gICAgICAgdGhyb3cgZXg7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgICAgZWxzZVxyXG4gIC8vICAgICAgIHRocm93IGV4OyAvLyBSZXNldCB0aGUgY3VycmVudCBjb250ZXh0SUQuXHJcbiAgLy8gICB9XHJcbiAgLy8gICBmaW5hbGx5IHtcclxuICAvLyAgICAgY29udGV4dElER3VhcmQuRGlzcG9zZSgpO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGdldCBudW1iZXIgb2Ygcm93cyBpbiB0aGUgdGFibGVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIG9uR2V0Um93c0luUGFnZSgpOiB2b2lkIHtcclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgR3VpSW50ZXJhY3RpdmUgZXh0ZW5kcyBHdWlJbnRlcmFjdGl2ZUJhc2Uge1xyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,20 @@
1
+ export class Styles {
2
+ static MSGBOX_BUTTON_OK = 0x00000000;
3
+ static MSGBOX_BUTTON_OK_CANCEL = 0x00000001;
4
+ static MSGBOX_BUTTON_ABORT_RETRY_IGNORE = 0x00000002;
5
+ static MSGBOX_BUTTON_YES_NO_CANCEL = 0x00000003;
6
+ static MSGBOX_BUTTON_YES_NO = 0x00000004;
7
+ static MSGBOX_BUTTON_RETRY_CANCEL = 0x00000005;
8
+ static MSGBOX_ICON_ERROR = 0x00000010;
9
+ static MSGBOX_ICON_QUESTION = 0x00000020;
10
+ static MSGBOX_ICON_EXCLAMATION = 0x00000030;
11
+ static MSGBOX_ICON_INFORMATION = 0x00000040;
12
+ static MSGBOX_ICON_WARNING = Styles.MSGBOX_ICON_EXCLAMATION;
13
+ static MSGBOX_RESULT_OK = 1;
14
+ static MSGBOX_RESULT_CANCEL = 2;
15
+ static MSGBOX_RESULT_ABORT = 3;
16
+ static MSGBOX_RESULT_RETRY = 4;
17
+ static MSGBOX_RESULT_YES = 6;
18
+ static MSGBOX_RESULT_NO = 7;
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3R5bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWkvc3JjL2d1aS9sb3cvU3R5bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFRLE1BQU07SUFNbEIsTUFBTSxDQUFFLGdCQUFnQixHQUFXLFVBQVUsQ0FBQztJQUM5QyxNQUFNLENBQUUsdUJBQXVCLEdBQVcsVUFBVSxDQUFDO0lBQ3JELE1BQU0sQ0FBRSxnQ0FBZ0MsR0FBVyxVQUFVLENBQUM7SUFDOUQsTUFBTSxDQUFFLDJCQUEyQixHQUFXLFVBQVUsQ0FBQztJQUN6RCxNQUFNLENBQUUsb0JBQW9CLEdBQVcsVUFBVSxDQUFDO0lBQ2xELE1BQU0sQ0FBRSwwQkFBMEIsR0FBVyxVQUFVLENBQUM7SUFFeEQsTUFBTSxDQUFFLGlCQUFpQixHQUFXLFVBQVUsQ0FBQztJQUMvQyxNQUFNLENBQUUsb0JBQW9CLEdBQVcsVUFBVSxDQUFDO0lBQ2xELE1BQU0sQ0FBRSx1QkFBdUIsR0FBVyxVQUFVLENBQUM7SUFDckQsTUFBTSxDQUFFLHVCQUF1QixHQUFXLFVBQVUsQ0FBQztJQUNyRCxNQUFNLENBQUMsbUJBQW1CLEdBQVcsTUFBTSxDQUFDLHVCQUF1QixDQUFDO0lBSXBFLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFDNUIsTUFBTSxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQztJQUNoQyxNQUFNLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUM7SUFFL0IsTUFBTSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQztJQUM3QixNQUFNLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzICBTdHlsZXNcclxue1xyXG5cclxuXHJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vIGNvbmZpcm1hdGlvbiBib3hcclxuICBzdGF0aWMgIE1TR0JPWF9CVVRUT05fT0s6IG51bWJlciA9IDB4MDAwMDAwMDA7XHJcbiAgc3RhdGljICBNU0dCT1hfQlVUVE9OX09LX0NBTkNFTDogbnVtYmVyID0gMHgwMDAwMDAwMTtcclxuICBzdGF0aWMgIE1TR0JPWF9CVVRUT05fQUJPUlRfUkVUUllfSUdOT1JFOiBudW1iZXIgPSAweDAwMDAwMDAyO1xyXG4gIHN0YXRpYyAgTVNHQk9YX0JVVFRPTl9ZRVNfTk9fQ0FOQ0VMOiBudW1iZXIgPSAweDAwMDAwMDAzO1xyXG4gIHN0YXRpYyAgTVNHQk9YX0JVVFRPTl9ZRVNfTk86IG51bWJlciA9IDB4MDAwMDAwMDQ7XHJcbiAgc3RhdGljICBNU0dCT1hfQlVUVE9OX1JFVFJZX0NBTkNFTDogbnVtYmVyID0gMHgwMDAwMDAwNTtcclxuXHJcbiAgc3RhdGljICBNU0dCT1hfSUNPTl9FUlJPUjogbnVtYmVyID0gMHgwMDAwMDAxMDtcclxuICBzdGF0aWMgIE1TR0JPWF9JQ09OX1FVRVNUSU9OOiBudW1iZXIgPSAweDAwMDAwMDIwO1xyXG4gIHN0YXRpYyAgTVNHQk9YX0lDT05fRVhDTEFNQVRJT046IG51bWJlciA9IDB4MDAwMDAwMzA7XHJcbiAgc3RhdGljICBNU0dCT1hfSUNPTl9JTkZPUk1BVElPTjogbnVtYmVyID0gMHgwMDAwMDA0MDtcclxuICBzdGF0aWMgTVNHQk9YX0lDT05fV0FSTklORzogbnVtYmVyID0gU3R5bGVzLk1TR0JPWF9JQ09OX0VYQ0xBTUFUSU9OO1xyXG5cclxuXHJcbiAgLy8gbWVzc2FnZSBib3ggcmVzdWx0XHJcbiAgc3RhdGljIE1TR0JPWF9SRVNVTFRfT0sgPSAxO1xyXG4gIHN0YXRpYyBNU0dCT1hfUkVTVUxUX0NBTkNFTCA9IDI7XHJcbiAgc3RhdGljIE1TR0JPWF9SRVNVTFRfQUJPUlQgPSAzO1xyXG4gIHN0YXRpYyBNU0dCT1hfUkVTVUxUX1JFVFJZID0gNDtcclxuXHJcbiAgc3RhdGljIE1TR0JPWF9SRVNVTFRfWUVTID0gNjtcclxuICBzdGF0aWMgTVNHQk9YX1JFU1VMVF9OTyA9IDc7XHJcblxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { XmlParser } from "@magic-xpa/utils";
2
+ import { Manager } from "../Manager";
3
+ import { NString } from "@magic-xpa/mscorelib";
4
+ export class RuntimeContextBase {
5
+ _insertMode = false;
6
+ _lastCoordinates = new Array(4);
7
+ ContextID = '\0';
8
+ Parser = null;
9
+ FrameForm = null;
10
+ LastClickedCtrlName = null;
11
+ static noContextId = null;
12
+ RemovedContextFromServer = false;
13
+ RemovingContextFromServer = false;
14
+ CurrentClickedCtrl = null;
15
+ CurrentClickedRadio = null;
16
+ DefaultStatusMsg = null;
17
+ LastClickCoordinatesAreInPixels = false;
18
+ static Instance = new RuntimeContextBase();
19
+ constructor() { }
20
+ Init(contextID) {
21
+ this.ContextID = contextID;
22
+ this.LastClickedCtrlName = "";
23
+ this._insertMode = true;
24
+ Manager.SetCurrentContextID(contextID);
25
+ this.Parser = new XmlParser();
26
+ }
27
+ SaveLastClickInfo(controlName, clientX, clientY, offsetX, offsetY, isInPixels) {
28
+ this._lastCoordinates[0] = offsetX;
29
+ this._lastCoordinates[1] = offsetY;
30
+ this._lastCoordinates[2] = clientX;
31
+ this._lastCoordinates[3] = clientY;
32
+ this.LastClickCoordinatesAreInPixels = isInPixels;
33
+ this.LastClickedCtrlName = "";
34
+ if (!NString.IsNullOrEmpty(controlName)) {
35
+ this.LastClickedCtrlName = controlName;
36
+ }
37
+ }
38
+ ToggleInsertMode() {
39
+ this._insertMode = !this._insertMode;
40
+ }
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVudGltZUNvbnRleHRCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3VpL3NyYy9tYW5hZ2VtZW50L1J1bnRpbWVDb250ZXh0QmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFHM0MsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFN0MsTUFBTSxPQUFPLGtCQUFrQjtJQUNyQixXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLGdCQUFnQixHQUFhLElBQUksS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzFELFNBQVMsR0FBVyxJQUFJLENBQUM7SUFDekIsTUFBTSxHQUFjLElBQUksQ0FBQztJQUN6QixTQUFTLEdBQWUsSUFBSSxDQUFDO0lBQzdCLG1CQUFtQixHQUFXLElBQUksQ0FBQztJQUVuQyxNQUFNLENBQUMsV0FBVyxHQUFXLElBQUksQ0FBQztJQUNsQyx3QkFBd0IsR0FBWSxLQUFLLENBQUM7SUFDMUMseUJBQXlCLEdBQVksS0FBSyxDQUFDO0lBSTNDLGtCQUFrQixHQUFrQixJQUFJLENBQUM7SUFFekMsbUJBQW1CLEdBQWtCLElBQUksQ0FBQztJQUMxQyxnQkFBZ0IsR0FBVyxJQUFJLENBQUM7SUFDaEMsK0JBQStCLEdBQVksS0FBSyxDQUFDO0lBRWpELE1BQU0sQ0FBQyxRQUFRLEdBQXVCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUUvRCxnQkFBd0IsQ0FBQztJQUN6QixJQUFJLENBQUMsU0FBaUI7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixPQUFPLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxXQUFtQixFQUFFLE9BQWUsRUFBRSxPQUFlLEVBQUUsT0FBZSxFQUFFLE9BQWUsRUFBRSxVQUFtQjtRQUM1SCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBRW5DLElBQUksQ0FBQywrQkFBK0IsR0FBRyxVQUFVLENBQUM7UUFFbEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsV0FBVyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUdELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1htbFBhcnNlcn0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtNZ0Zvcm1CYXNlfSBmcm9tIFwiLi9ndWkvTWdGb3JtQmFzZVwiO1xyXG5pbXBvcnQge01nQ29udHJvbEJhc2V9IGZyb20gXCIuL2d1aS9NZ0NvbnRyb2xCYXNlXCI7XHJcbmltcG9ydCB7TWFuYWdlcn0gZnJvbSBcIi4uL01hbmFnZXJcIjtcclxuaW1wb3J0IHtOU3RyaW5nfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBSdW50aW1lQ29udGV4dEJhc2Uge1xyXG4gIHByaXZhdGUgX2luc2VydE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9sYXN0Q29vcmRpbmF0ZXM6IG51bWJlcltdID0gbmV3IEFycmF5PG51bWJlcj4oNCk7XHJcbiAgQ29udGV4dElEOiBzdHJpbmcgPSAnXFwwJztcclxuICBQYXJzZXI6IFhtbFBhcnNlciA9IG51bGw7IC8vIHhtbCBwYXJzZXJcclxuICBGcmFtZUZvcm06IE1nRm9ybUJhc2UgPSBudWxsOyAvLyBmb3JtIG9mIHRoZSBNREkvU0RJIGZyYW1lXHJcbiAgTGFzdENsaWNrZWRDdHJsTmFtZTogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgc3RhdGljIG5vQ29udGV4dElkOiBzdHJpbmcgPSBudWxsO1xyXG4gIFJlbW92ZWRDb250ZXh0RnJvbVNlcnZlcjogYm9vbGVhbiA9IGZhbHNlOyAvL3NldCB3aGVuIHJlcS4gJ0NvbnRleHQgUmVtb3ZlJyBzZW50IHRvIHNlcnZlci5cclxuICBSZW1vdmluZ0NvbnRleHRGcm9tU2VydmVyOiBib29sZWFuID0gZmFsc2U7IC8vc2V0IHdoZW4gZXZlbnQgJ0NvbnRleHQgUmVtb3ZlJ3JhaXNlZFxyXG4gIC8vIEN1cnJlbnRDbGlja2VkQ3RybCAtIGFsd2F5cyBwb2ludHMgdG8gdGhlIGN1cnJlbnQgY2xpY2tlZEN0cmwuIEluaXRpYWxseSBudWxsLCBidXQgb25jZSBjbGlja2VkIG9uIGFueVxyXG4gIC8vIGNvbnRyb2wsIGl0IGFsd2F5cyBwb2ludHMgdG8gdGhpcyBjbGlja2VkIGN0cmwuIEFuZCwgaXMgcmVzZXQgYmFjayB0byBudWxsIG9uY2Ugd2UgaGF2ZSBzdWNjZXNzZnVsbHlcclxuICAvLyBwYXJrZWQgb24gdGhlIHBhcmthYmxlIGNvbnRyb2wuXHJcbiAgQ3VycmVudENsaWNrZWRDdHJsOiBNZ0NvbnRyb2xCYXNlID0gbnVsbDtcclxuXHJcbiAgQ3VycmVudENsaWNrZWRSYWRpbzogTWdDb250cm9sQmFzZSA9IG51bGw7XHJcbiAgRGVmYXVsdFN0YXR1c01zZzogc3RyaW5nID0gbnVsbDtcclxuICBMYXN0Q2xpY2tDb29yZGluYXRlc0FyZUluUGl4ZWxzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHN0YXRpYyBJbnN0YW5jZTogUnVudGltZUNvbnRleHRCYXNlID0gbmV3IFJ1bnRpbWVDb250ZXh0QmFzZSgpO1xyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkgeyB9XHJcbiAgSW5pdChjb250ZXh0SUQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5Db250ZXh0SUQgPSBjb250ZXh0SUQ7XHJcbiAgICB0aGlzLkxhc3RDbGlja2VkQ3RybE5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5faW5zZXJ0TW9kZSA9IHRydWU7XHJcbiAgICBNYW5hZ2VyLlNldEN1cnJlbnRDb250ZXh0SUQoY29udGV4dElEKTtcclxuICAgIHRoaXMuUGFyc2VyID0gbmV3IFhtbFBhcnNlcigpO1xyXG4gIH1cclxuXHJcbiAgU2F2ZUxhc3RDbGlja0luZm8oY29udHJvbE5hbWU6IHN0cmluZywgY2xpZW50WDogbnVtYmVyLCBjbGllbnRZOiBudW1iZXIsIG9mZnNldFg6IG51bWJlciwgb2Zmc2V0WTogbnVtYmVyLCBpc0luUGl4ZWxzOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLl9sYXN0Q29vcmRpbmF0ZXNbMF0gPSBvZmZzZXRYOyAvLyBHaXZlcyB0aGUgWCBsb2NhdGlvbiBvZiB0aGUgbGFzdCBjbGljaywgcmVsYXRpdmUgdG8gdGhlIHdpbmRvd1xyXG4gICAgdGhpcy5fbGFzdENvb3JkaW5hdGVzWzFdID0gb2Zmc2V0WTsgLy8gR2l2ZXMgdGhlIFkgbG9jYXRpb24gb2YgdGhlIGxhc3QgY2xpY2ssIHJlbGF0aXZlIHRvIHRoZSB3aW5kb3dcclxuICAgIHRoaXMuX2xhc3RDb29yZGluYXRlc1syXSA9IGNsaWVudFg7IC8vIEdpdmVzIHRoZSBYIGxvY2F0aW9uIG9mIHRoZSBsYXN0IGNsaWNrLCByZWxhdGl2ZSB0byB0aGUgY29udHJvbCB3aXRoaW4gd2hpY2ggdGhlIGNsaWNrIG9jY3VycmVkXHJcbiAgICB0aGlzLl9sYXN0Q29vcmRpbmF0ZXNbM10gPSBjbGllbnRZOyAvLyBHaXZlcyB0aGUgWSBsb2NhdGlvbiBvZiB0aGUgbGFzdCBjbGljaywgcmVsYXRpdmUgdG8gdGhlIGNvbnRyb2wgd2l0aGluIHdoaWNoIHRoZSBjbGljayBvY2N1cnJlZFxyXG5cclxuICAgIHRoaXMuTGFzdENsaWNrQ29vcmRpbmF0ZXNBcmVJblBpeGVscyA9IGlzSW5QaXhlbHM7XHJcblxyXG4gICAgdGhpcy5MYXN0Q2xpY2tlZEN0cmxOYW1lID0gXCJcIjsgLy8gaXMgZW1wdHkgc3RyaW5nXHJcbiAgICBpZiAoIU5TdHJpbmcuSXNOdWxsT3JFbXB0eShjb250cm9sTmFtZSkpIHtcclxuICAgICAgdGhpcy5MYXN0Q2xpY2tlZEN0cmxOYW1lID0gY29udHJvbE5hbWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHRvZ2dsZSB0aGUgX2luc2VydE1vZGUgKGJldHdlZW4gaW5zZXJ0IGFuZCBvdmVyd3JpdGUpLiA8L3N1bW1hcnk+XHJcbiAgVG9nZ2xlSW5zZXJ0TW9kZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2luc2VydE1vZGUgPSAhdGhpcy5faW5zZXJ0TW9kZTtcclxuICB9XHJcbn1cclxuIl19