@magic-xpa/gui 4.800.0 → 4.801.0-dev000.0

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 (128) hide show
  1. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  2. package/{esm2015/magic-xpa-gui.js → esm2020/magic-xpa-gui.mjs} +0 -0
  3. package/esm2020/src/Commands.mjs +186 -0
  4. package/esm2020/src/Events.mjs +420 -0
  5. package/esm2020/src/EventsProcessor.mjs +67 -0
  6. package/esm2020/src/FocusManager.mjs +34 -0
  7. package/{esm2015/src/GuiConstants.js → esm2020/src/GuiConstants.mjs} +0 -0
  8. package/{esm2015/src/GuiEnums.js → esm2020/src/GuiEnums.mjs} +0 -0
  9. package/{esm2015/src/GuiEnvironment.js → esm2020/src/GuiEnvironment.mjs} +0 -0
  10. package/{esm2015/src/IFlowMonitorQueue.js → esm2020/src/IFlowMonitorQueue.mjs} +2 -1
  11. package/esm2020/src/Manager.mjs +192 -0
  12. package/{esm2015/src/UIBridge.js → esm2020/src/UIBridge.mjs} +0 -0
  13. package/{esm2015/src/env/IEnvironment.js → esm2020/src/env/IEnvironment.mjs} +1 -0
  14. package/{esm2015/src/gui/ControlBase.js → esm2020/src/gui/ControlBase.mjs} +0 -0
  15. package/{esm2015/src/gui/GuiMgControl.js → esm2020/src/gui/GuiMgControl.mjs} +0 -0
  16. package/{esm2015/src/gui/GuiMgForm.js → esm2020/src/gui/GuiMgForm.mjs} +0 -0
  17. package/{esm2015/src/gui/KeyboardItem.js → esm2020/src/gui/KeyboardItem.mjs} +0 -0
  18. package/{esm2015/src/gui/LastFocusedVal.js → esm2020/src/gui/LastFocusedVal.mjs} +0 -0
  19. package/{esm2015/src/gui/MgValue.js → esm2020/src/gui/MgValue.mjs} +0 -0
  20. package/{esm2015/src/gui/PropParentInterface.js → esm2020/src/gui/PropParentInterface.mjs} +1 -0
  21. package/{esm2015/src/gui/low/DialogHandler.js → esm2020/src/gui/low/DialogHandler.mjs} +0 -0
  22. package/{esm2015/src/gui/low/GuiCommand.js → esm2020/src/gui/low/GuiCommand.mjs} +0 -0
  23. package/{esm2015/src/gui/low/GuiCommandQueue.js → esm2020/src/gui/low/GuiCommandQueue.mjs} +0 -0
  24. package/esm2020/src/gui/low/GuiInteractive.mjs +545 -0
  25. package/{esm2015/src/gui/low/Style.js → esm2020/src/gui/low/Style.mjs} +0 -0
  26. package/{esm2015/src/management/RuntimeContextBase.js → esm2020/src/management/RuntimeContextBase.mjs} +0 -0
  27. package/{esm2015/src/management/data/BlobType.js → esm2020/src/management/data/BlobType.mjs} +0 -0
  28. package/esm2020/src/management/data/DcValues.mjs +214 -0
  29. package/esm2020/src/management/data/DcValuesBuilderBase.mjs +97 -0
  30. package/{esm2015/src/management/data/FieldDef.js → esm2020/src/management/data/FieldDef.mjs} +0 -0
  31. package/{esm2015/src/management/data/FieldsTable.js → esm2020/src/management/data/FieldsTable.mjs} +0 -0
  32. package/esm2020/src/management/data/GuiDataViewBase.mjs +90 -0
  33. package/esm2020/src/management/data/GuiFieldBase.mjs +82 -0
  34. package/{esm2015/src/management/data/IRecord.js → esm2020/src/management/data/IRecord.mjs} +1 -0
  35. package/{esm2015/src/management/data/IReferencedObject.js → esm2020/src/management/data/IReferencedObject.mjs} +1 -0
  36. package/{esm2015/src/management/data/NUM_TYPE.js → esm2020/src/management/data/NUM_TYPE.mjs} +0 -0
  37. package/esm2020/src/management/data/ObjectReferenceBase.mjs +48 -0
  38. package/{esm2015/src/management/data/ObjectReferencesCollection.js → esm2020/src/management/data/ObjectReferencesCollection.mjs} +0 -0
  39. package/esm2020/src/management/data/RecordUtils.mjs +361 -0
  40. package/{esm2015/src/management/data/VectorType.js → esm2020/src/management/data/VectorType.mjs} +0 -0
  41. package/{esm2015/src/management/data/VectorTypeBase.js → esm2020/src/management/data/VectorTypeBase.mjs} +0 -0
  42. package/{esm2015/src/management/events/IActionManager.js → esm2020/src/management/events/IActionManager.mjs} +1 -0
  43. package/esm2020/src/management/events/IGuiEventsManager.mjs +2 -0
  44. package/{esm2015/src/management/exp/ExpressionInterface.js → esm2020/src/management/exp/ExpressionInterface.mjs} +0 -0
  45. package/esm2020/src/management/exp/GuiExpressionEvaluator.mjs +333 -0
  46. package/{esm2015/src/management/gui/ControlTable.js → esm2020/src/management/gui/ControlTable.mjs} +0 -0
  47. package/esm2020/src/management/gui/DisplayConvertor.mjs +1706 -0
  48. package/esm2020/src/management/gui/FieldValidator.mjs +1507 -0
  49. package/esm2020/src/management/gui/GuiControlPropertyAdapter.mjs +22 -0
  50. package/{esm2015/src/management/gui/GuiFormPropertyAdapter.js → esm2020/src/management/gui/GuiFormPropertyAdapter.mjs} +0 -0
  51. package/{esm2015/src/management/gui/HebrewDate.js → esm2020/src/management/gui/HebrewDate.mjs} +0 -0
  52. package/{esm2015/src/management/gui/Helps.js → esm2020/src/management/gui/Helps.mjs} +0 -0
  53. package/esm2020/src/management/gui/MgControlBase.mjs +1873 -0
  54. package/esm2020/src/management/gui/MgFormBase.mjs +748 -0
  55. package/{esm2015/src/management/gui/PIC.js → esm2020/src/management/gui/PIC.mjs} +0 -0
  56. package/esm2020/src/management/gui/PropDefaults.mjs +230 -0
  57. package/{esm2015/src/management/gui/PropInterface.js → esm2020/src/management/gui/PropInterface.mjs} +0 -0
  58. package/esm2020/src/management/gui/PropTable.mjs +221 -0
  59. package/esm2020/src/management/gui/Property.mjs +1382 -0
  60. package/{esm2015/src/management/gui/ValidationDetails.js → esm2020/src/management/gui/ValidationDetails.mjs} +0 -0
  61. package/{esm2015/src/management/gui/ValidationDetailsBase.js → esm2020/src/management/gui/ValidationDetailsBase.mjs} +0 -0
  62. package/{esm2015/src/management/gui/WrongFormatException.js → esm2020/src/management/gui/WrongFormatException.mjs} +0 -0
  63. package/{esm2015/src/management/tasks/GuiDataCollection.js → esm2020/src/management/tasks/GuiDataCollection.mjs} +0 -0
  64. package/esm2020/src/management/tasks/GuiTaskBase.mjs +502 -0
  65. package/{esm2015/src/management/tasks/IMGDataTable.js → esm2020/src/management/tasks/IMGDataTable.mjs} +1 -0
  66. package/{esm2015/src/management/tasks/ITask.js → esm2020/src/management/tasks/ITask.mjs} +1 -0
  67. package/esm2020/src/management/tasks/MgTimer.mjs +21 -0
  68. package/{esm2015/src/management/tasks/TaskDefinitionId.js → esm2020/src/management/tasks/TaskDefinitionId.mjs} +0 -0
  69. package/esm2020/src/management/tasks/TaskDefinitionIdTableSaxHandler.mjs +41 -0
  70. package/{esm2015/src/util/AuthenticationDialogHandler.js → esm2020/src/util/AuthenticationDialogHandler.mjs} +0 -0
  71. package/{esm2015/src/util/MemoryUtil.js → esm2020/src/util/MemoryUtil.mjs} +0 -0
  72. package/{esm2015/src/util/ObjectReference.js → esm2020/src/util/ObjectReference.mjs} +0 -0
  73. package/esm2020/src/util/ProcessLauncher.mjs +32 -0
  74. package/esm2020/src/util/UsernamePasswordCredentials.mjs +52 -0
  75. package/fesm2015/{magic-xpa-gui.js → magic-xpa-gui.mjs} +133 -175
  76. package/fesm2015/magic-xpa-gui.mjs.map +1 -0
  77. package/fesm2020/magic-xpa-gui.mjs +17805 -0
  78. package/fesm2020/magic-xpa-gui.mjs.map +1 -0
  79. package/package.json +27 -14
  80. package/src/Events.d.ts +2 -2
  81. package/src/EventsProcessor.d.ts +1 -1
  82. package/src/IFlowMonitorQueue.d.ts +1 -1
  83. package/src/Manager.d.ts +2 -3
  84. package/src/management/data/DcValues.d.ts +1 -1
  85. package/src/management/data/DcValuesBuilderBase.d.ts +1 -1
  86. package/src/management/data/RecordUtils.d.ts +0 -3
  87. package/src/management/events/IGuiEventsManager.d.ts +5 -5
  88. package/src/management/exp/GuiExpressionEvaluator.d.ts +2 -2
  89. package/src/management/gui/DisplayConvertor.d.ts +6 -6
  90. package/src/management/gui/GuiControlPropertyAdapter.d.ts +6 -6
  91. package/src/management/gui/MgControlBase.d.ts +2 -4
  92. package/src/management/gui/MgFormBase.d.ts +1 -1
  93. package/src/management/gui/PropTable.d.ts +1 -1
  94. package/src/management/gui/Property.d.ts +2 -2
  95. package/src/management/tasks/GuiTaskBase.d.ts +3 -3
  96. package/src/util/ProcessLauncher.d.ts +1 -3
  97. package/bundles/magic-xpa-gui.umd.js +0 -19431
  98. package/bundles/magic-xpa-gui.umd.js.map +0 -1
  99. package/bundles/magic-xpa-gui.umd.min.js +0 -16
  100. package/bundles/magic-xpa-gui.umd.min.js.map +0 -1
  101. package/esm2015/src/Commands.js +0 -189
  102. package/esm2015/src/Events.js +0 -420
  103. package/esm2015/src/EventsProcessor.js +0 -68
  104. package/esm2015/src/FocusManager.js +0 -41
  105. package/esm2015/src/Manager.js +0 -197
  106. package/esm2015/src/gui/low/GuiInteractive.js +0 -545
  107. package/esm2015/src/management/data/DcValues.js +0 -214
  108. package/esm2015/src/management/data/DcValuesBuilderBase.js +0 -97
  109. package/esm2015/src/management/data/GuiDataViewBase.js +0 -90
  110. package/esm2015/src/management/data/GuiFieldBase.js +0 -85
  111. package/esm2015/src/management/data/ObjectReferenceBase.js +0 -48
  112. package/esm2015/src/management/data/RecordUtils.js +0 -447
  113. package/esm2015/src/management/events/IGuiEventsManager.js +0 -1
  114. package/esm2015/src/management/exp/GuiExpressionEvaluator.js +0 -333
  115. package/esm2015/src/management/gui/DisplayConvertor.js +0 -1706
  116. package/esm2015/src/management/gui/FieldValidator.js +0 -1507
  117. package/esm2015/src/management/gui/GuiControlPropertyAdapter.js +0 -4
  118. package/esm2015/src/management/gui/MgControlBase.js +0 -1981
  119. package/esm2015/src/management/gui/MgFormBase.js +0 -763
  120. package/esm2015/src/management/gui/PropDefaults.js +0 -230
  121. package/esm2015/src/management/gui/PropTable.js +0 -224
  122. package/esm2015/src/management/gui/Property.js +0 -1402
  123. package/esm2015/src/management/tasks/GuiTaskBase.js +0 -506
  124. package/esm2015/src/management/tasks/MgTimer.js +0 -21
  125. package/esm2015/src/management/tasks/TaskDefinitionIdTableSaxHandler.js +0 -41
  126. package/esm2015/src/util/ProcessLauncher.js +0 -32
  127. package/esm2015/src/util/UsernamePasswordCredentials.js +0 -52
  128. package/fesm2015/magic-xpa-gui.js.map +0 -1
@@ -0,0 +1,21 @@
1
+ import { timer } from "rxjs";
2
+ import { Events } from "../../Events";
3
+ export class MgTimer {
4
+ constructor(timerIntervalMilliSeconds) {
5
+ this._timerIntervalMilliSeconds = 0;
6
+ this._threadTimer = null;
7
+ this._timerIntervalMilliSeconds = timerIntervalMilliSeconds;
8
+ }
9
+ static Run(state) {
10
+ Events.OnTimer(state);
11
+ }
12
+ Start() {
13
+ var timer1 = timer(this._timerIntervalMilliSeconds, this._timerIntervalMilliSeconds);
14
+ this._threadTimer = timer1.subscribe(() => MgTimer.Run(this));
15
+ }
16
+ Stop() {
17
+ this._threadTimer.unsubscribe();
18
+ this._threadTimer = null;
19
+ }
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWdUaW1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1aS9zcmMvbWFuYWdlbWVudC90YXNrcy9NZ1RpbWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBZSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUdwQyxNQUFNLE9BQWdCLE9BQU87SUFRM0IsWUFBWSx5QkFBaUM7UUFObkMsK0JBQTBCLEdBQVcsQ0FBQyxDQUFDO1FBQ3pDLGlCQUFZLEdBQWlCLElBQUksQ0FBQztRQU14QyxJQUFJLENBQUMsMEJBQTBCLEdBQUcseUJBQXlCLENBQUM7SUFDOUQsQ0FBQztJQUtELE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBVTtRQUNuQixNQUFNLENBQUMsT0FBTyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFLRCxLQUFLO1FBQ0YsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFJRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHN1bW1hcnk+XHJcbi8vLyBUaGlzIGNsYXNzIGFjdHMgYXMgYmFzZSBjbGFzcyBmb3IgdGhlIHRpbWVycyBpbXBsZW1lbnRlZCBpbiBSQyBhbmQgTWVybGluLlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5pbXBvcnQge1N1YnNjcmlwdGlvbiwgdGltZXJ9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7RXZlbnRzfSBmcm9tIFwiLi4vLi4vRXZlbnRzXCI7XHJcblxyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1nVGltZXIge1xyXG4gIC8vIG1lbWJlciB2YXJpYWJsZXMuXHJcbiAgcHJvdGVjdGVkIF90aW1lckludGVydmFsTWlsbGlTZWNvbmRzOiBudW1iZXIgPSAwO1xyXG4gIHByaXZhdGUgX3RocmVhZFRpbWVyOiBTdWJzY3JpcHRpb24gPSBudWxsO1xyXG5cclxuICAvLy88c3VtbWFyeT5Db25zdHJ1Y3Rvcjwvc3VtbWFyeT5cclxuICAvLy88cGFyYW0gbmFtZT1cInRpbWVySW50ZXJ2YWxNaWxsaVNlY29uZHNcIj5UaW1lciBJbnRlcnZhbCBpbiBtaWxsaXNlY29uZHNcclxuICAvLy88L3BhcmFtPlxyXG4gIGNvbnN0cnVjdG9yKHRpbWVySW50ZXJ2YWxNaWxsaVNlY29uZHM6IG51bWJlcikge1xyXG4gICAgdGhpcy5fdGltZXJJbnRlcnZhbE1pbGxpU2Vjb25kcyA9IHRpbWVySW50ZXJ2YWxNaWxsaVNlY29uZHM7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+Q2FsbCBiYWNrIG1ldGhvZCBvZiB0aHJlYWRpbmcgdGltZXIuXHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwic3RhdGVcIj48L3BhcmFtPlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIFJ1bihzdGF0ZTogYW55KTogdm9pZCB7XHJcbiAgICBFdmVudHMuT25UaW1lcig8TWdUaW1lcj5zdGF0ZSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFN0YXJ0cyB0aGUgdGltZXIgdGhyZWFkIHdpdGggdGhlIGludGVydmFsIHBhc3NlZCBpbiBtaWxsaXNlY29uZHMuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBTdGFydCgpOiB2b2lkIHtcclxuICAgICB2YXIgdGltZXIxID0gdGltZXIodGhpcy5fdGltZXJJbnRlcnZhbE1pbGxpU2Vjb25kcywgdGhpcy5fdGltZXJJbnRlcnZhbE1pbGxpU2Vjb25kcyk7XHJcbiAgICAgdGhpcy5fdGhyZWFkVGltZXIgPSB0aW1lcjEuc3Vic2NyaWJlKCgpID0+IE1nVGltZXIuUnVuKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5TdG9wcyB0aGUgdGhyZWFkLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgU3RvcCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RocmVhZFRpbWVyLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLl90aHJlYWRUaW1lciA9IG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { JSON_Utils, XMLConstants } from "@magic-xpa/utils";
2
+ import { TaskDefinitionId } from "./TaskDefinitionId";
3
+ import { Events } from "../../Events";
4
+ import { isNullOrUndefined } from "@magic-xpa/mscorelib";
5
+ export class TaskDefinitionIdTableSaxHandler {
6
+ constructor(newTaskDefintionIdHandler) {
7
+ this._newTaskDefinitionIdHandler = null;
8
+ this._newTaskDefinitionIdHandler = newTaskDefintionIdHandler;
9
+ }
10
+ parse(xmlSerializedTaskDefinitionsTable) {
11
+ try {
12
+ if (xmlSerializedTaskDefinitionsTable !== null) {
13
+ JSON_Utils.JSONFromXML(xmlSerializedTaskDefinitionsTable, this.ParseJSON.bind(this));
14
+ }
15
+ }
16
+ catch (ex) {
17
+ Events.WriteExceptionToLog(ex);
18
+ }
19
+ }
20
+ ParseJSON(error, result) {
21
+ if (error != null) {
22
+ throw error;
23
+ }
24
+ let ctlIndex = 0;
25
+ let isPrg = false;
26
+ let prgIsn = 0;
27
+ let taskIsn = 0;
28
+ let taskDefId = result['taskDefinitionId']['$'];
29
+ if (!isNullOrUndefined(taskDefId[XMLConstants.MG_ATTR_CTL_IDX]))
30
+ ctlIndex = +taskDefId[XMLConstants.MG_ATTR_CTL_IDX];
31
+ if (!isNullOrUndefined(taskDefId[XMLConstants.MG_ATTR_PROGRAM_ISN]))
32
+ prgIsn = +taskDefId[XMLConstants.MG_ATTR_PROGRAM_ISN];
33
+ if (!isNullOrUndefined(taskDefId[XMLConstants.MG_ATTR_TASK_ISN]))
34
+ taskIsn = +taskDefId[XMLConstants.MG_ATTR_TASK_ISN];
35
+ if (!isNullOrUndefined(taskDefId[XMLConstants.MG_ATTR_ISPRG]))
36
+ isPrg = taskDefId[XMLConstants.MG_ATTR_ISPRG] === '1';
37
+ let taskDefinitionId = new TaskDefinitionId(ctlIndex, prgIsn, taskIsn, isPrg);
38
+ this._newTaskDefinitionIdHandler(taskDefinitionId);
39
+ }
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFza0RlZmluaXRpb25JZFRhYmxlU2F4SGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1aS9zcmMvbWFuYWdlbWVudC90YXNrcy9UYXNrRGVmaW5pdGlvbklkVGFibGVTYXhIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU16RCxNQUFNLE9BQU8sK0JBQStCO0lBTTFDLFlBQVkseUJBQXVFO1FBRmxFLGdDQUEyQixHQUFpRCxJQUFJLENBQUM7UUFHaEcsSUFBSSxDQUFDLDJCQUEyQixHQUFHLHlCQUF5QixDQUFDO0lBQy9ELENBQUM7SUFNRCxLQUFLLENBQUUsaUNBQXlDO1FBQzlDLElBQUk7WUFDRixJQUFJLGlDQUFpQyxLQUFLLElBQUksRUFBRTtnQkFDOUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxpQ0FBaUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3RGO1NBQ0Y7UUFDRCxPQUFPLEVBQUUsRUFBRTtZQUNULE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFTyxTQUFTLENBQUUsS0FBSyxFQUFFLE1BQU07UUFHOUIsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ2pCLE1BQU0sS0FBSyxDQUFDO1NBQ2I7UUFFRCxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7UUFDekIsSUFBSSxLQUFLLEdBQVksS0FBSyxDQUFDO1FBQzNCLElBQUksTUFBTSxHQUFXLENBQUMsQ0FBQztRQUN2QixJQUFJLE9BQU8sR0FBVyxDQUFDLENBQUM7UUFFeEIsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFaEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDN0QsUUFBUSxHQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2pFLE1BQU0sR0FBRyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUV4RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlELE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMzRCxLQUFLLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLENBQUM7UUFFeEQsSUFBSSxnQkFBZ0IsR0FBcUIsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBKU09OX1V0aWxzLCBYTUxDb25zdGFudHMgfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQgeyBUYXNrRGVmaW5pdGlvbklkIH0gZnJvbSBcIi4vVGFza0RlZmluaXRpb25JZFwiO1xyXG5pbXBvcnQgeyBFdmVudHMgfSBmcm9tIFwiLi4vLi4vRXZlbnRzXCI7XHJcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBIYW5kbGVyIGZvciBwYXJzaW5nIFhNTCBzZXJpYWxpemVkIFRhc2tEZWZpbml0aW9uSWQgKFRESUQpIHRhYmxlLiBUaGUgcGFyc2VyIHdpbGwgcGFyc2UgYWxsXHJcbi8vLyBURElEIGVudHJpZXMsIGludm9raW5nIGFuIGFzc2lnbmVkIGRlbGVnYXRlIGZvciBlYWNoIG9uZSBpdCBwYXJzZXMuXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBUYXNrRGVmaW5pdGlvbklkVGFibGVTYXhIYW5kbGVyIHtcclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIEhhbmRsZXIgdG8gYmUgaW52b2tlZCBhZnRlciBwYXJzaW5nIGVhY2ggVERJRCBlbnRyeS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX25ld1Rhc2tEZWZpbml0aW9uSWRIYW5kbGVyOiAodGFza0RlZmluaXRpb25JZDogVGFza0RlZmluaXRpb25JZCkgPT4gdm9pZCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKG5ld1Rhc2tEZWZpbnRpb25JZEhhbmRsZXI6ICh0YXNrRGVmaW5pdGlvbklkOiBUYXNrRGVmaW5pdGlvbklkKSA9PiB2b2lkKSB7XHJcbiAgICB0aGlzLl9uZXdUYXNrRGVmaW5pdGlvbklkSGFuZGxlciA9IG5ld1Rhc2tEZWZpbnRpb25JZEhhbmRsZXI7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHBhcnNlIHRoZSBzdXBwbGllZCBidWZmZXIgdXNpbmcgdGhlIHByZXZpb3VzbHkgc3VwcGxpZWQgaGFuZGxlclxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwieG1sU2VyaWFsaXplZFRhc2tEZWZpbml0aW9uc1RhYmxlXCI+PC9wYXJhbT5cclxuICBwYXJzZSAoeG1sU2VyaWFsaXplZFRhc2tEZWZpbml0aW9uc1RhYmxlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGlmICh4bWxTZXJpYWxpemVkVGFza0RlZmluaXRpb25zVGFibGUgIT09IG51bGwpIHtcclxuICAgICAgICBKU09OX1V0aWxzLkpTT05Gcm9tWE1MKHhtbFNlcmlhbGl6ZWRUYXNrRGVmaW5pdGlvbnNUYWJsZSwgdGhpcy5QYXJzZUpTT04uYmluZCh0aGlzKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNhdGNoIChleCkge1xyXG4gICAgICBFdmVudHMuV3JpdGVFeGNlcHRpb25Ub0xvZyhleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIFBhcnNlSlNPTiAoZXJyb3IsIHJlc3VsdCk6IHZvaWQge1xyXG5cclxuICAgIC8vIElmIHRoZXJlIHdhcyBhbiBlcnJvciBpbiBwYXJzaW5nIHRoZSBYTUwsXHJcbiAgICBpZiAoZXJyb3IgIT0gbnVsbCkge1xyXG4gICAgICB0aHJvdyBlcnJvcjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgY3RsSW5kZXg6IG51bWJlciA9IDA7XHJcbiAgICBsZXQgaXNQcmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGxldCBwcmdJc246IG51bWJlciA9IDA7XHJcbiAgICBsZXQgdGFza0lzbjogbnVtYmVyID0gMDtcclxuXHJcbiAgICBsZXQgdGFza0RlZklkID0gcmVzdWx0Wyd0YXNrRGVmaW5pdGlvbklkJ11bJyQnXTtcclxuXHJcbiAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHRhc2tEZWZJZFtYTUxDb25zdGFudHMuTUdfQVRUUl9DVExfSURYXSkpXHJcbiAgICAgIGN0bEluZGV4ID0gK3Rhc2tEZWZJZFtYTUxDb25zdGFudHMuTUdfQVRUUl9DVExfSURYXTtcclxuXHJcbiAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHRhc2tEZWZJZFtYTUxDb25zdGFudHMuTUdfQVRUUl9QUk9HUkFNX0lTTl0pKVxyXG4gICAgICBwcmdJc24gPSArdGFza0RlZklkW1hNTENvbnN0YW50cy5NR19BVFRSX1BST0dSQU1fSVNOXTtcclxuXHJcbiAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHRhc2tEZWZJZFtYTUxDb25zdGFudHMuTUdfQVRUUl9UQVNLX0lTTl0pKVxyXG4gICAgICB0YXNrSXNuID0gK3Rhc2tEZWZJZFtYTUxDb25zdGFudHMuTUdfQVRUUl9UQVNLX0lTTl07XHJcblxyXG4gICAgaWYgKCFpc051bGxPclVuZGVmaW5lZCh0YXNrRGVmSWRbWE1MQ29uc3RhbnRzLk1HX0FUVFJfSVNQUkddKSlcclxuICAgICAgaXNQcmcgPSB0YXNrRGVmSWRbWE1MQ29uc3RhbnRzLk1HX0FUVFJfSVNQUkddID09PSAnMSc7XHJcblxyXG4gICAgbGV0IHRhc2tEZWZpbml0aW9uSWQ6IFRhc2tEZWZpbml0aW9uSWQgPSBuZXcgVGFza0RlZmluaXRpb25JZChjdGxJbmRleCwgcHJnSXNuLCB0YXNrSXNuLCBpc1ByZyk7XHJcbiAgICB0aGlzLl9uZXdUYXNrRGVmaW5pdGlvbklkSGFuZGxlcih0YXNrRGVmaW5pdGlvbklkKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,32 @@
1
+ export class ProcessLauncher {
2
+ static InvokeOS() {
3
+ return -1;
4
+ }
5
+ static SeparateParams(cmd) {
6
+ const DOUBLE_QUOTE = '"';
7
+ const SPACE_CHAR = ' ';
8
+ let parameters = new Array(2);
9
+ let appName = null;
10
+ let param = null;
11
+ let startIdx = 0;
12
+ let endIdx = -1;
13
+ cmd = cmd.trim();
14
+ if (cmd[startIdx] === DOUBLE_QUOTE) {
15
+ endIdx = cmd.indexOf(DOUBLE_QUOTE, startIdx + 1);
16
+ }
17
+ if (endIdx === -1) {
18
+ endIdx = cmd.indexOf(SPACE_CHAR, startIdx);
19
+ }
20
+ if (endIdx === -1) {
21
+ endIdx = cmd.length - 1;
22
+ }
23
+ appName = cmd.substr(startIdx, endIdx + 1 - startIdx);
24
+ parameters[0] = appName.trim();
25
+ param = cmd.substr(endIdx + 1, cmd.length - (endIdx + 1));
26
+ parameters[1] = param.trim();
27
+ return parameters;
28
+ }
29
+ constructor() {
30
+ }
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvY2Vzc0xhdW5jaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3VpL3NyYy91dGlsL1Byb2Nlc3NMYXVuY2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZUFBZTtJQVUxQixNQUFNLENBQUMsUUFBUTtRQUNiLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBT0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFXO1FBRS9CLE1BQU0sWUFBWSxHQUFXLEdBQUcsQ0FBQztRQUNqQyxNQUFNLFVBQVUsR0FBVyxHQUFHLENBQUM7UUFDL0IsSUFBSSxVQUFVLEdBQUcsSUFBSSxLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxPQUFPLEdBQVcsSUFBSSxDQUFDO1FBQzNCLElBQUksS0FBSyxHQUFXLElBQUksQ0FBQztRQUN6QixJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7UUFDekIsSUFBSSxNQUFNLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFeEIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUdqQixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxZQUFZLEVBQUU7WUFDbEMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFXLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMzRDtRQUVELElBQUksTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBVSxRQUFRLENBQUMsQ0FBQztTQUNwRDtRQUdELElBQUksTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUN6QjtRQUdELE9BQU8sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFHL0IsS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQ7SUFFQSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgUHJvY2Vzc0xhdW5jaGVyIHtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjb21tYW5kXCI+T3NDb21tYW5kIHRvIGJlIGV4ZWN1dGVkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIndhaXRcIj53YWl0IHByb3BlcnR5PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInNob3dcIj5zaG93IHByb3BlcnR5PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImVyck1zZ1wiPmhvbGQgZXJyb3IgbWVzc2FnZSBzdHJpbmcsIGlmIGNvbW1hbmQgZXhlY3V0aW9uIGZhaWxzLjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleGl0Q29kZVwiPmV4aXQgY29kZSByZXR1cm5lZCBieSBwcm9jZXNzPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+dGhpcyByZXR1cm5zIGVycmNvZGUsIGlmIGNvbW1hbmQgZmFpbHMgdG8gZXhlY3V0ZS4gPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBJbnZva2VPUygpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIC0xO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIFNlcGFyYXRlcyB0aGUgZXhlY3V0YWJsZSBmaWxlIGFuZCBhcmd1bWVudHMgZnJvbSBhIGNvbW1hbmQgc3RyaW5nXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNtZFwiPnRoZSBjb21tYW5kPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+cmV0dXJucyBhcmd1bWVudCBsaXN0IHNwZWNpZmllZCBpbiBjb21tYW5kPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBTZXBhcmF0ZVBhcmFtcyhjbWQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuXHJcbiAgICBjb25zdCBET1VCTEVfUVVPVEU6IHN0cmluZyA9ICdcIic7XHJcbiAgICBjb25zdCBTUEFDRV9DSEFSOiBzdHJpbmcgPSAnICc7XHJcbiAgICBsZXQgcGFyYW1ldGVycyA9IG5ldyBBcnJheTxzdHJpbmc+KDIpO1xyXG4gICAgbGV0IGFwcE5hbWU6IHN0cmluZyA9IG51bGw7XHJcbiAgICBsZXQgcGFyYW06IHN0cmluZyA9IG51bGw7XHJcbiAgICBsZXQgc3RhcnRJZHg6IG51bWJlciA9IDA7XHJcbiAgICBsZXQgZW5kSWR4OiBudW1iZXIgPSAtMTtcclxuXHJcbiAgICBjbWQgPSBjbWQudHJpbSgpO1xyXG5cclxuICAgIC8qIGlmIHRoZSBmaXJzdCBjaGFyIGlzIGRvdWJsZSBxdW90ZSwgbG9vayBmb3IgdGhlIG1hdGNoaW5nIGRvdWJsZSBxdW90ZS4gKi9cclxuICAgIGlmIChjbWRbc3RhcnRJZHhdID09PSBET1VCTEVfUVVPVEUpIHtcclxuICAgICAgZW5kSWR4ID0gY21kLmluZGV4T2YoRE9VQkxFX1FVT1RFICAvKidcIicqLywgc3RhcnRJZHggKyAxKTtcclxuICAgIH1cclxuICAgIC8qIGlmIHRoZXJlIGlzIG5vIGRvdWJsZSBxb3V0ZSwgc2VhcmNoIGZvciB0aGUgZmlyc3Qgc3BhY2UgY2hhcmFjdGVyLiAqL1xyXG4gICAgaWYgKGVuZElkeCA9PT0gLTEpIHtcclxuICAgICAgZW5kSWR4ID0gY21kLmluZGV4T2YoU1BBQ0VfQ0hBUiAvKicgJyovLCBzdGFydElkeCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogaWYgdGhlcmUgaXMgbm8gc3BhY2UgY2hhciBhcyB3ZWxsLCB0aGlzIG1lYW5zIHRoYXQgd2UgaGF2ZSBvbmx5IG9uZSBwYXJhbS4gKi9cclxuICAgIGlmIChlbmRJZHggPT09IC0xKSB7XHJcbiAgICAgIGVuZElkeCA9IGNtZC5sZW5ndGggLSAxO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlYWQgdGhlIGFwcGxpY2F0aW9uIG5hbWVcclxuICAgIGFwcE5hbWUgPSBjbWQuc3Vic3RyKHN0YXJ0SWR4LCBlbmRJZHggKyAxIC0gc3RhcnRJZHgpO1xyXG4gICAgcGFyYW1ldGVyc1swXSA9IGFwcE5hbWUudHJpbSgpO1xyXG5cclxuICAgIC8vIFJlYWQgdGhlIGFyZ3VtZW50c1xyXG4gICAgcGFyYW0gPSBjbWQuc3Vic3RyKGVuZElkeCArIDEsIGNtZC5sZW5ndGggLSAoZW5kSWR4ICsgMSkpO1xyXG4gICAgcGFyYW1ldGVyc1sxXSA9IHBhcmFtLnRyaW0oKTtcclxuICAgIHJldHVybiBwYXJhbWV0ZXJzO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,52 @@
1
+ import { StringBuilder } from "@magic-xpa/mscorelib";
2
+ export class UsernamePasswordCredentials {
3
+ constructor(userName, password) {
4
+ this.Username = null;
5
+ this.Password = null;
6
+ if (arguments.length === 0) {
7
+ this.constructor_0();
8
+ return;
9
+ }
10
+ this.constructor_1(userName, password);
11
+ }
12
+ constructor_0() {
13
+ }
14
+ constructor_1(userName, password) {
15
+ this.Username = userName;
16
+ this.Password = password;
17
+ }
18
+ toString() {
19
+ let result = new StringBuilder();
20
+ result.Append(this.Username);
21
+ result.Append(":");
22
+ result.Append(this.Password || "null");
23
+ return result.ToString();
24
+ }
25
+ }
26
+ export class ChangePasswordCredentials extends UsernamePasswordCredentials {
27
+ constructor(oldUserName, newUserName, password) {
28
+ super(oldUserName, password);
29
+ this.NewUserName = null;
30
+ this.NewPassword = null;
31
+ if (arguments.length === 0) {
32
+ this.constructor_2();
33
+ return;
34
+ }
35
+ this.constructor_3(newUserName);
36
+ }
37
+ constructor_2() {
38
+ }
39
+ constructor_3(newUserName) {
40
+ this.NewUserName = newUserName;
41
+ }
42
+ ToString() {
43
+ let result = new StringBuilder();
44
+ result.Append(this.Username);
45
+ result.Append(":");
46
+ result.Append(this.NewUserName);
47
+ result.Append(":");
48
+ result.Append(this.Password || "null");
49
+ return result.ToString();
50
+ }
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlcm5hbWVQYXNzd29yZENyZWRlbnRpYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3VpL3NyYy91dGlsL1VzZXJuYW1lUGFzc3dvcmRDcmVkZW50aWFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFNbkQsTUFBTSxPQUFPLDJCQUEyQjtJQU10QyxZQUFZLFFBQWlCLEVBQUUsUUFBaUI7UUFMaEQsYUFBUSxHQUFXLElBQUksQ0FBQztRQUN4QixhQUFRLEdBQVcsSUFBSSxDQUFDO1FBS3RCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxhQUFhO0lBQ3JCLENBQUM7SUFFTyxhQUFhLENBQUMsUUFBZ0IsRUFBRSxRQUFnQjtRQUN0RCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBT0QsUUFBUTtRQUNOLElBQUksTUFBTSxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSwyQkFBMkI7SUFNeEUsWUFBWSxXQUFvQixFQUFFLFdBQW9CLEVBQUUsUUFBaUI7UUFDdkUsS0FBSyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQU4vQixnQkFBVyxHQUFXLElBQUksQ0FBQztRQUMzQixnQkFBVyxHQUFXLElBQUksQ0FBQztRQU16QixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzFCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTyxhQUFhO0lBRXJCLENBQUM7SUFHTyxhQUFhLENBQUMsV0FBbUI7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLE1BQU0sR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNoRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxDQUFDO1FBRXZDLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3RyaW5nQnVpbGRlcn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vL1xyXG4vLy8gPC9zdW1tYXJ5PlxyXG5cclxuZXhwb3J0IGNsYXNzIFVzZXJuYW1lUGFzc3dvcmRDcmVkZW50aWFscyAge1xyXG4gIFVzZXJuYW1lOiBzdHJpbmcgPSBudWxsO1xyXG4gIFBhc3N3b3JkOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpO1xyXG4gIGNvbnN0cnVjdG9yKHVzZXJOYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpO1xyXG4gIGNvbnN0cnVjdG9yKHVzZXJOYW1lPzogc3RyaW5nLCBwYXNzd29yZD86IHN0cmluZykge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3Rvcl8wKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuY29uc3RydWN0b3JfMSh1c2VyTmFtZSwgcGFzc3dvcmQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8wKCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8xKHVzZXJOYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuVXNlcm5hbWUgPSB1c2VyTmFtZTtcclxuICAgIHRoaXMuUGFzc3dvcmQgPSBwYXNzd29yZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gR2V0IHRoaXMgb2JqZWN0IHN0cmluZy5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz4gdGhlIHVzZXJuYW1lOnBhc3N3b3JkIGZvcm1lZCBzdHJpbmdcclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVzdWx0OiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgIHJlc3VsdC5BcHBlbmQodGhpcy5Vc2VybmFtZSk7XHJcbiAgICByZXN1bHQuQXBwZW5kKFwiOlwiKTtcclxuICAgIHJlc3VsdC5BcHBlbmQodGhpcy5QYXNzd29yZCB8fCBcIm51bGxcIik7XHJcbiAgICByZXR1cm4gcmVzdWx0LlRvU3RyaW5nKCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2hhbmdlUGFzc3dvcmRDcmVkZW50aWFscyBleHRlbmRzIFVzZXJuYW1lUGFzc3dvcmRDcmVkZW50aWFscyB7XHJcbiAgTmV3VXNlck5hbWU6IHN0cmluZyA9IG51bGw7XHJcbiAgTmV3UGFzc3dvcmQ6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCk7XHJcbiAgY29uc3RydWN0b3Iob2xkVXNlck5hbWU6IHN0cmluZywgbmV3VXNlck5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk7XHJcbiAgY29uc3RydWN0b3Iob2xkVXNlck5hbWU/OiBzdHJpbmcsIG5ld1VzZXJOYW1lPzogc3RyaW5nLCBwYXNzd29yZD86IHN0cmluZykge1xyXG4gICAgc3VwZXIob2xkVXNlck5hbWUsIHBhc3N3b3JkKTtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuY29uc3RydWN0b3JfMigpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbnN0cnVjdG9yXzMoIG5ld1VzZXJOYW1lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29uc3RydWN0b3JfMigpIHtcclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8zKG5ld1VzZXJOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuTmV3VXNlck5hbWUgPSBuZXdVc2VyTmFtZTtcclxuICB9XHJcblxyXG4gIFRvU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVzdWx0OiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgIHJlc3VsdC5BcHBlbmQodGhpcy5Vc2VybmFtZSk7XHJcbiAgICByZXN1bHQuQXBwZW5kKFwiOlwiKTtcclxuICAgIHJlc3VsdC5BcHBlbmQodGhpcy5OZXdVc2VyTmFtZSk7XHJcbiAgICByZXN1bHQuQXBwZW5kKFwiOlwiKTtcclxuICAgIHJlc3VsdC5BcHBlbmQodGhpcy5QYXNzd29yZCB8fCBcIm51bGxcIik7XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdC5Ub1N0cmluZygpO1xyXG4gIH1cclxufVxyXG4iXX0=