@magic-xpa/engine 4.1100.0-dev4110.19 → 4.1100.0-dev4110.190

Sign up to get free protection for your applications and to get access to all the features.
Files changed (515) hide show
  1. package/{esm2020 → esm2022}/index.mjs +188 -188
  2. package/{esm2020 → esm2022}/magic-xpa-engine.mjs +1 -1
  3. package/esm2022/src/AccessHelper.mjs +15 -0
  4. package/esm2022/src/ClientManager.mjs +399 -0
  5. package/esm2022/src/CommandsProcessorBase.mjs +56 -0
  6. package/esm2022/src/CommandsProcessorManager.mjs +26 -0
  7. package/esm2022/src/CommandsTable.mjs +162 -0
  8. package/esm2022/src/ConstInterface.mjs +516 -0
  9. package/{esm2020 → esm2022}/src/CurrentClientVersion.mjs +2 -2
  10. package/esm2022/src/FlowMonitorInterface.mjs +16 -0
  11. package/esm2022/src/GUIManager.mjs +62 -0
  12. package/esm2022/src/GlobalCommandsManager.mjs +34 -0
  13. package/esm2022/src/GuiEventsProcessor.mjs +154 -0
  14. package/{esm2020 → esm2022}/src/ICommandsTable.mjs +1 -1
  15. package/esm2022/src/ServerConfig.mjs +118 -0
  16. package/{esm2020 → esm2022}/src/bridge/IGuiEvent.mjs +19 -19
  17. package/{esm2020 → esm2022}/src/bridge/MagicBridge.mjs +40 -40
  18. package/esm2022/src/commands/ClientOriginatedCommandTaskTag.mjs +12 -0
  19. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs +8 -8
  20. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs +9 -9
  21. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs +9 -9
  22. package/{esm2020 → esm2022}/src/commands/ClientToServer/BrowserEscEventCommand.mjs +23 -23
  23. package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommand.mjs +14 -14
  24. package/esm2022/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +60 -0
  25. package/{esm2020 → esm2022}/src/commands/ClientToServer/ColumnSortEventCommand.mjs +26 -26
  26. package/esm2022/src/commands/ClientToServer/CommandFactory.mjs +260 -0
  27. package/esm2022/src/commands/ClientToServer/CommandSerializationHelper.mjs +67 -0
  28. package/{esm2020 → esm2022}/src/commands/ClientToServer/ComputeEventCommand.mjs +23 -23
  29. package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTerminationEventCommand.mjs +20 -20
  30. package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs +19 -19
  31. package/{esm2020 → esm2022}/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs +8 -8
  32. package/esm2022/src/commands/ClientToServer/DataViewOutputCommand.mjs +13 -0
  33. package/{esm2020 → esm2022}/src/commands/ClientToServer/DataviewCommand.mjs +44 -44
  34. package/esm2022/src/commands/ClientToServer/EvaluateCommand.mjs +37 -0
  35. package/esm2022/src/commands/ClientToServer/EventCommand.mjs +40 -0
  36. package/esm2022/src/commands/ClientToServer/ExecOperCommand.mjs +67 -0
  37. package/esm2022/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +22 -0
  38. package/{esm2020 → esm2022}/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs +10 -10
  39. package/{esm2020 → esm2022}/src/commands/ClientToServer/ICommandTaskTag.mjs +1 -1
  40. package/{esm2020 → esm2022}/src/commands/ClientToServer/IndexChangeEventCommand.mjs +21 -21
  41. package/esm2022/src/commands/ClientToServer/IniputForceWriteCommand.mjs +23 -0
  42. package/{esm2020 → esm2022}/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs +23 -23
  43. package/{esm2020 → esm2022}/src/commands/ClientToServer/QueryCommand.mjs +20 -20
  44. package/esm2022/src/commands/ClientToServer/RecomputeCommand.mjs +27 -0
  45. package/esm2022/src/commands/ClientToServer/RefreshEventCommand.mjs +27 -0
  46. package/esm2022/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +24 -0
  47. package/esm2022/src/commands/ClientToServer/RollbackEventCommand.mjs +40 -0
  48. package/{esm2020 → esm2022}/src/commands/ClientToServer/SelectProgramCommand.mjs +14 -14
  49. package/{esm2020 → esm2022}/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs +9 -9
  50. package/{esm2020 → esm2022}/src/commands/ClientToServer/SubformOpenEventCommand.mjs +21 -21
  51. package/esm2022/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +24 -0
  52. package/esm2022/src/commands/ClientToServer/TransactionCommand.mjs +30 -0
  53. package/{esm2020 → esm2022}/src/commands/ClientToServer/UnloadCommand.mjs +14 -14
  54. package/esm2022/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +18 -0
  55. package/esm2022/src/commands/DataViewCommandBase.mjs +8 -0
  56. package/{esm2020 → esm2022}/src/commands/IClientCommand.mjs +1 -1
  57. package/esm2022/src/commands/IClientTargetedCommand.mjs +13 -0
  58. package/{esm2020 → esm2022}/src/commands/IClientToServerCommandInfo.mjs +1 -1
  59. package/esm2022/src/commands/ServerToClient/AbortCommand.mjs +65 -0
  60. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddLocateCommand.mjs +21 -21
  61. package/esm2022/src/commands/ServerToClient/AddRangeCommand.mjs +62 -0
  62. package/esm2022/src/commands/ServerToClient/AddSortCommand.mjs +33 -0
  63. package/esm2022/src/commands/ServerToClient/ClientRefreshCommand.mjs +25 -0
  64. package/esm2022/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +24 -0
  65. package/esm2022/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +45 -0
  66. package/esm2022/src/commands/ServerToClient/OpenURLCommand.mjs +221 -0
  67. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetLocateCommand.mjs +14 -14
  68. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetRangeCommand.mjs +14 -14
  69. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetSortCommand.mjs +14 -14
  70. package/esm2022/src/commands/ServerToClient/ResultCommand.mjs +37 -0
  71. package/esm2022/src/commands/ServerToClient/VerifyCommand.mjs +83 -0
  72. package/esm2022/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +132 -0
  73. package/{esm2020 → esm2022}/src/communications/IConnectionStateManager.mjs +1 -1
  74. package/esm2022/src/communications/InteractiveCommunicationsFailureHandler.mjs +15 -0
  75. package/{esm2020 → esm2022}/src/data/DataSourceIdKey.mjs +2 -2
  76. package/esm2022/src/data/DataView.mjs +1613 -0
  77. package/{esm2020 → esm2022}/src/data/DataViewBase.mjs +3 -3
  78. package/esm2022/src/data/DataviewManager.mjs +28 -0
  79. package/esm2022/src/data/DataviewManagerBase.mjs +15 -0
  80. package/esm2022/src/data/DvCache.mjs +67 -0
  81. package/esm2022/src/data/Field.mjs +646 -0
  82. package/esm2022/src/data/FieldBase.mjs +15 -0
  83. package/esm2022/src/data/FieldsTable.mjs +103 -0
  84. package/{esm2020 → esm2022}/src/data/IRecordsTable.mjs +1 -1
  85. package/esm2022/src/data/Key.mjs +88 -0
  86. package/esm2022/src/data/Record.mjs +866 -0
  87. package/{esm2020 → esm2022}/src/data/RecordOutOfDataViewException.mjs +15 -15
  88. package/esm2022/src/data/RecordsTable.mjs +267 -0
  89. package/esm2022/src/data/TaskTransactionManager.mjs +103 -0
  90. package/esm2022/src/data/XMLBasedDcValuesBuilder.mjs +74 -0
  91. package/{esm2020 → esm2022}/src/enums.mjs +23 -23
  92. package/esm2022/src/env/EnvVariablesTable.mjs +340 -0
  93. package/esm2022/src/env/Environment.mjs +487 -0
  94. package/{esm2020 → esm2022}/src/env/ILanguageData.mjs +1 -1
  95. package/esm2022/src/env/LanguageData.mjs +226 -0
  96. package/esm2022/src/env/MirrorString.mjs +65 -0
  97. package/esm2022/src/event/ActionManager.mjs +91 -0
  98. package/esm2022/src/event/Event.mjs +1333 -0
  99. package/esm2022/src/event/EventHandler.mjs +766 -0
  100. package/esm2022/src/event/EventHandlerPosition.mjs +204 -0
  101. package/esm2022/src/event/EventsManager.mjs +2975 -0
  102. package/{esm2020 → esm2022}/src/event/IEventsManager.mjs +6 -6
  103. package/esm2022/src/event/RunTimeEvent.mjs +392 -0
  104. package/{esm2020 → esm2022}/src/event/RunTimeEventBase.mjs +3 -3
  105. package/esm2022/src/event/UserEventsTable.mjs +47 -0
  106. package/esm2022/src/exp/ExpTable.mjs +57 -0
  107. package/esm2022/src/exp/Expression.mjs +200 -0
  108. package/esm2022/src/exp/ExpressionDict.mjs +727 -0
  109. package/esm2022/src/exp/ExpressionEvaluator.mjs +4206 -0
  110. package/esm2022/src/exp/ExpressionLocalJpn.mjs +314 -0
  111. package/esm2022/src/exp/GlobalParamsTable.mjs +85 -0
  112. package/esm2022/src/exp/YesNoExp.mjs +36 -0
  113. package/esm2022/src/gui/CreatedFormVector.mjs +23 -0
  114. package/esm2022/src/gui/FormsTable.mjs +66 -0
  115. package/esm2022/src/gui/MgControl.mjs +363 -0
  116. package/esm2022/src/gui/MgForm.mjs +1181 -0
  117. package/esm2022/src/http/HttpManager.mjs +97 -0
  118. package/esm2022/src/http/client/HttpClientAsync.mjs +68 -0
  119. package/esm2022/src/http/client/HttpClientBase.mjs +132 -0
  120. package/esm2022/src/http/client/HttpClientEvents.mjs +39 -0
  121. package/esm2022/src/http/client/HttpClientSync.mjs +42 -0
  122. package/esm2022/src/http/client/HttpUtility.mjs +84 -0
  123. package/{esm2020 → esm2022}/src/http/client/ICommunicationsFailureHandler.mjs +1 -1
  124. package/esm2022/src/remote/AddUserLocateRemoteDataViewCommand.mjs +18 -0
  125. package/esm2022/src/remote/AddUserRangeRemoteDataViewCommand.mjs +18 -0
  126. package/esm2022/src/remote/AddUserSortRemoteDataViewCommand.mjs +18 -0
  127. package/esm2022/src/remote/RemoteCommandsProcessor.mjs +882 -0
  128. package/esm2022/src/remote/RemoteControlItemsRefreshCommand.mjs +25 -0
  129. package/esm2022/src/remote/RemoteDataViewCommandBase.mjs +24 -0
  130. package/esm2022/src/remote/RemoteDataViewCommandFactory.mjs +61 -0
  131. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +15 -15
  132. package/{esm2020 → esm2022}/src/remote/RemoteDataviewManager.mjs +17 -17
  133. package/{esm2020 → esm2022}/src/remote/RemoteInitDataViewCommand.mjs +10 -10
  134. package/esm2022/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +17 -0
  135. package/{esm2020 → esm2022}/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +12 -12
  136. package/esm2022/src/remote/ResetUserSortRemoteDataviewCommand.mjs +16 -0
  137. package/esm2022/src/remote/ServerError.mjs +40 -0
  138. package/esm2022/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +20 -0
  139. package/esm2022/src/rt/Argument.mjs +265 -0
  140. package/esm2022/src/rt/ArgumentsList.mjs +103 -0
  141. package/esm2022/src/rt/Boundary.mjs +152 -0
  142. package/esm2022/src/rt/CompMainPrgTable.mjs +63 -0
  143. package/{esm2020 → esm2022}/src/rt/DataviewHeaderBase.mjs +98 -96
  144. package/{esm2020 → esm2022}/src/rt/DataviewHeaderFactory.mjs +6 -6
  145. package/esm2022/src/rt/DataviewHeaders.mjs +53 -0
  146. package/esm2022/src/rt/DataviewHeadersSaxHandler.mjs +38 -0
  147. package/esm2022/src/rt/ExecutionStack.mjs +94 -0
  148. package/{esm2020 → esm2022}/src/rt/ExecutionStackEntry.mjs +17 -17
  149. package/esm2022/src/rt/HandlersTable.mjs +96 -0
  150. package/{esm2020 → esm2022}/src/rt/IDataSourceViewDefinition.mjs +1 -1
  151. package/{esm2020 → esm2022}/src/rt/IDataviewHeader.mjs +1 -1
  152. package/{esm2020 → esm2022}/src/rt/IResultValue.mjs +1 -1
  153. package/esm2022/src/rt/LastFocusedManager.mjs +65 -0
  154. package/esm2022/src/rt/Operation.mjs +735 -0
  155. package/esm2022/src/rt/OperationTable.mjs +67 -0
  156. package/esm2022/src/rt/Recompute.mjs +355 -0
  157. package/esm2022/src/rt/RecomputeTable.mjs +63 -0
  158. package/esm2022/src/rt/RemoteDataviewHeader.mjs +108 -0
  159. package/esm2022/src/rt/ResultValue.mjs +10 -0
  160. package/esm2022/src/rt/TableCache.mjs +177 -0
  161. package/esm2022/src/rt/TableCacheManager.mjs +67 -0
  162. package/esm2022/src/rt/Transaction.mjs +53 -0
  163. package/esm2022/src/security/UserDetails.mjs +71 -0
  164. package/{esm2020 → esm2022}/src/tasks/IMGDataCollection.mjs +1 -1
  165. package/esm2022/src/tasks/MGData.mjs +552 -0
  166. package/esm2022/src/tasks/MGDataCollection.mjs +252 -0
  167. package/esm2022/src/tasks/RCTimer.mjs +63 -0
  168. package/esm2022/src/tasks/RemoteTaskService.mjs +45 -0
  169. package/esm2022/src/tasks/Task.mjs +2497 -0
  170. package/esm2022/src/tasks/TaskBase.mjs +83 -0
  171. package/esm2022/src/tasks/TaskServiceBase.mjs +25 -0
  172. package/esm2022/src/tasks/TasksTable.mjs +80 -0
  173. package/esm2022/src/tasks/sort/Sort.mjs +5 -0
  174. package/esm2022/src/tasks/sort/SortCollection.mjs +67 -0
  175. package/esm2022/src/util/ConstUtils.mjs +14 -0
  176. package/esm2022/src/util/FlowMonitorQueue.mjs +451 -0
  177. package/esm2022/src/util/HeapSort.mjs +70 -0
  178. package/{esm2020 → esm2022}/src/util/IMirrorXML.mjs +1 -1
  179. package/{esm2020 → esm2022}/src/util/IServerConfig.mjs +1 -1
  180. package/{esm2020 → esm2022}/src/util/MgBlockingQueue.mjs +1 -1
  181. package/esm2022/src/util/MgPriorityBlockingQueue.mjs +74 -0
  182. package/esm2022/src/util/MgPriorityQueue.mjs +66 -0
  183. package/{esm2020 → esm2022}/src/util/ParamParseResult.mjs +7 -7
  184. package/esm2022/src/util/PrmMap.mjs +152 -0
  185. package/esm2022/src/util/ReturnResult.mjs +46 -0
  186. package/esm2022/src/util/ReturnResultBase.mjs +18 -0
  187. package/esm2022/src/util/Scrambler.mjs +89 -0
  188. package/esm2022/src/util/UniqueIDUtils.mjs +13 -0
  189. package/esm2022/src/util/cookie.service.mjs +92 -0
  190. package/{fesm2020 → fesm2022}/magic-xpa-engine.mjs +29713 -29693
  191. package/fesm2022/magic-xpa-engine.mjs.map +1 -0
  192. package/index.d.ts +187 -187
  193. package/package.json +8 -14
  194. package/src/AccessHelper.d.ts +20 -20
  195. package/src/ClientManager.d.ts +32 -32
  196. package/src/CommandsProcessorBase.d.ts +23 -23
  197. package/src/CommandsProcessorManager.d.ts +6 -6
  198. package/src/CommandsTable.d.ts +22 -22
  199. package/src/ConstInterface.d.ts +515 -515
  200. package/src/CurrentClientVersion.d.ts +1 -1
  201. package/src/FlowMonitorInterface.d.ts +15 -15
  202. package/src/GUIManager.d.ts +17 -17
  203. package/src/GlobalCommandsManager.d.ts +17 -17
  204. package/src/GuiEventsProcessor.d.ts +24 -24
  205. package/src/ICommandsTable.d.ts +9 -9
  206. package/src/ServerConfig.d.ts +34 -34
  207. package/src/bridge/IGuiEvent.d.ts +19 -19
  208. package/src/bridge/MagicBridge.d.ts +16 -16
  209. package/src/commands/ClientOriginatedCommandTaskTag.d.ts +8 -8
  210. package/src/commands/ClientToServer/AddUserLocateDataViewCommand.d.ts +4 -4
  211. package/src/commands/ClientToServer/AddUserRangeDataviewCommand.d.ts +6 -6
  212. package/src/commands/ClientToServer/AddUserSortDataViewCommand.d.ts +6 -6
  213. package/src/commands/ClientToServer/BrowserEscEventCommand.d.ts +8 -8
  214. package/src/commands/ClientToServer/ClientOriginatedCommand.d.ts +8 -8
  215. package/src/commands/ClientToServer/ClientOriginatedCommandSerializer.d.ts +6 -6
  216. package/src/commands/ClientToServer/ColumnSortEventCommand.d.ts +10 -10
  217. package/src/commands/ClientToServer/CommandFactory.d.ts +64 -64
  218. package/src/commands/ClientToServer/CommandSerializationHelper.d.ts +20 -20
  219. package/src/commands/ClientToServer/ComputeEventCommand.d.ts +8 -8
  220. package/src/commands/ClientToServer/ContextTerminationEventCommand.d.ts +7 -7
  221. package/src/commands/ClientToServer/ContextTimeoutResetCommand.d.ts +7 -7
  222. package/src/commands/ClientToServer/ControlItemsRefreshCommand.d.ts +6 -6
  223. package/src/commands/ClientToServer/DataViewOutputCommand.d.ts +9 -9
  224. package/src/commands/ClientToServer/DataviewCommand.d.ts +32 -32
  225. package/src/commands/ClientToServer/EvaluateCommand.d.ts +15 -15
  226. package/src/commands/ClientToServer/EventCommand.d.ts +15 -15
  227. package/src/commands/ClientToServer/ExecOperCommand.d.ts +23 -23
  228. package/src/commands/ClientToServer/FetchDataControlValuesEventCommand.d.ts +8 -8
  229. package/src/commands/ClientToServer/GlobalParamsQueryCommand.d.ts +5 -5
  230. package/src/commands/ClientToServer/ICommandTaskTag.d.ts +3 -3
  231. package/src/commands/ClientToServer/IndexChangeEventCommand.d.ts +8 -8
  232. package/src/commands/ClientToServer/IniputForceWriteCommand.d.ts +10 -10
  233. package/src/commands/ClientToServer/NonReversibleExitEventCommand.d.ts +8 -8
  234. package/src/commands/ClientToServer/QueryCommand.d.ts +8 -8
  235. package/src/commands/ClientToServer/RecomputeCommand.d.ts +11 -11
  236. package/src/commands/ClientToServer/RefreshEventCommand.d.ts +12 -12
  237. package/src/commands/ClientToServer/RefreshScreenEventCommand.d.ts +10 -10
  238. package/src/commands/ClientToServer/RollbackEventCommand.d.ts +14 -14
  239. package/src/commands/ClientToServer/SelectProgramCommand.d.ts +6 -6
  240. package/src/commands/ClientToServer/SetTransactionStateDataviewCommand.d.ts +5 -5
  241. package/src/commands/ClientToServer/SubformOpenEventCommand.d.ts +8 -8
  242. package/src/commands/ClientToServer/SubformRefreshEventCommand.d.ts +9 -9
  243. package/src/commands/ClientToServer/TransactionCommand.d.ts +12 -12
  244. package/src/commands/ClientToServer/UnloadCommand.d.ts +7 -7
  245. package/src/commands/ClientToServer/WriteMessageToServerLogCommand.d.ts +6 -6
  246. package/src/commands/DataViewCommandBase.d.ts +6 -6
  247. package/src/commands/IClientCommand.d.ts +2 -2
  248. package/src/commands/IClientTargetedCommand.d.ts +12 -12
  249. package/src/commands/IClientToServerCommandInfo.d.ts +3 -3
  250. package/src/commands/ServerToClient/AbortCommand.d.ts +11 -11
  251. package/src/commands/ServerToClient/AddLocateCommand.d.ts +6 -6
  252. package/src/commands/ServerToClient/AddRangeCommand.d.ts +10 -10
  253. package/src/commands/ServerToClient/AddSortCommand.d.ts +9 -9
  254. package/src/commands/ServerToClient/ClientRefreshCommand.d.ts +7 -7
  255. package/src/commands/ServerToClient/ClientTargetedCommandBase.d.ts +12 -12
  256. package/src/commands/ServerToClient/EnhancedVerifyCommand.d.ts +13 -13
  257. package/src/commands/ServerToClient/OpenURLCommand.d.ts +21 -21
  258. package/src/commands/ServerToClient/ResetLocateCommand.d.ts +6 -6
  259. package/src/commands/ServerToClient/ResetRangeCommand.d.ts +6 -6
  260. package/src/commands/ServerToClient/ResetSortCommand.d.ts +6 -6
  261. package/src/commands/ServerToClient/ResultCommand.d.ts +10 -10
  262. package/src/commands/ServerToClient/VerifyCommand.d.ts +17 -17
  263. package/src/commands/ServerToClient/XMLBasedCommandBuilder.d.ts +11 -11
  264. package/src/communications/IConnectionStateManager.d.ts +4 -4
  265. package/src/communications/InteractiveCommunicationsFailureHandler.d.ts +6 -6
  266. package/src/data/DataSourceIdKey.d.ts +2 -2
  267. package/src/data/DataView.d.ts +162 -162
  268. package/src/data/DataViewBase.d.ts +12 -12
  269. package/src/data/DataviewManager.d.ts +14 -14
  270. package/src/data/DataviewManagerBase.d.ts +11 -11
  271. package/src/data/DvCache.d.ts +15 -15
  272. package/src/data/Field.d.ts +103 -103
  273. package/src/data/FieldBase.d.ts +23 -23
  274. package/src/data/FieldsTable.d.ts +27 -27
  275. package/src/data/IRecordsTable.d.ts +7 -7
  276. package/src/data/Key.d.ts +15 -15
  277. package/src/data/Record.d.ts +156 -156
  278. package/src/data/RecordOutOfDataViewException.d.ts +10 -10
  279. package/src/data/RecordsTable.d.ts +38 -38
  280. package/src/data/TaskTransactionManager.d.ts +17 -17
  281. package/src/data/XMLBasedDcValuesBuilder.d.ts +11 -11
  282. package/src/enums.d.ts +21 -21
  283. package/src/env/EnvVariablesTable.d.ts +17 -17
  284. package/src/env/Environment.d.ts +118 -118
  285. package/src/env/ILanguageData.d.ts +3 -3
  286. package/src/env/LanguageData.d.ts +20 -20
  287. package/src/env/MirrorString.d.ts +15 -15
  288. package/src/event/ActionManager.d.ts +14 -14
  289. package/src/event/Event.d.ts +79 -79
  290. package/src/event/EventHandler.d.ts +66 -66
  291. package/src/event/EventHandlerPosition.d.ts +25 -25
  292. package/src/event/EventsManager.d.ts +204 -204
  293. package/src/event/IEventsManager.d.ts +77 -77
  294. package/src/event/RunTimeEvent.d.ts +123 -123
  295. package/src/event/RunTimeEventBase.d.ts +5 -5
  296. package/src/event/UserEventsTable.d.ts +11 -11
  297. package/src/exp/ExpTable.d.ts +11 -11
  298. package/src/exp/Expression.d.ts +37 -37
  299. package/src/exp/ExpressionDict.d.ts +12 -12
  300. package/src/exp/ExpressionEvaluator.d.ts +198 -198
  301. package/src/exp/ExpressionLocalJpn.d.ts +18 -18
  302. package/src/exp/GlobalParamsTable.d.ts +19 -19
  303. package/src/exp/YesNoExp.d.ts +9 -9
  304. package/src/gui/CreatedFormVector.d.ts +10 -10
  305. package/src/gui/FormsTable.d.ts +15 -15
  306. package/src/gui/MgControl.d.ts +60 -60
  307. package/src/gui/MgForm.d.ts +93 -93
  308. package/src/http/HttpManager.d.ts +25 -25
  309. package/src/http/client/HttpClientAsync.d.ts +16 -16
  310. package/src/http/client/HttpClientBase.d.ts +30 -30
  311. package/src/http/client/HttpClientEvents.d.ts +18 -18
  312. package/src/http/client/HttpClientSync.d.ts +17 -17
  313. package/src/http/client/HttpUtility.d.ts +10 -10
  314. package/src/http/client/ICommunicationsFailureHandler.d.ts +5 -5
  315. package/src/remote/AddUserLocateRemoteDataViewCommand.d.ts +8 -8
  316. package/src/remote/AddUserRangeRemoteDataViewCommand.d.ts +8 -8
  317. package/src/remote/AddUserSortRemoteDataViewCommand.d.ts +8 -8
  318. package/src/remote/RemoteCommandsProcessor.d.ts +51 -51
  319. package/src/remote/RemoteControlItemsRefreshCommand.d.ts +8 -8
  320. package/src/remote/RemoteDataViewCommandBase.d.ts +10 -10
  321. package/src/remote/RemoteDataViewCommandFactory.d.ts +6 -6
  322. package/src/remote/RemoteDataViewCommandUpdateNonModifiable.d.ts +8 -8
  323. package/src/remote/RemoteDataviewManager.d.ts +9 -9
  324. package/src/remote/RemoteInitDataViewCommand.d.ts +7 -7
  325. package/src/remote/ResetUserLocateRemoteDataviewCommand.d.ts +7 -7
  326. package/src/remote/ResetUserRangeRemoteDataviewCommand.d.ts +7 -7
  327. package/src/remote/ResetUserSortRemoteDataviewCommand.d.ts +7 -7
  328. package/src/remote/ServerError.d.ts +16 -16
  329. package/src/remote/SetTransactionStateRemoteDataViewCommand.d.ts +8 -8
  330. package/src/rt/Argument.d.ts +36 -36
  331. package/src/rt/ArgumentsList.d.ts +24 -24
  332. package/src/rt/Boundary.d.ts +27 -27
  333. package/src/rt/CompMainPrgTable.d.ts +10 -10
  334. package/src/rt/DataviewHeaderBase.d.ts +34 -34
  335. package/src/rt/DataviewHeaderFactory.d.ts +5 -5
  336. package/src/rt/DataviewHeaders.d.ts +12 -12
  337. package/src/rt/DataviewHeadersSaxHandler.d.ts +10 -10
  338. package/src/rt/ExecutionStack.d.ts +22 -22
  339. package/src/rt/ExecutionStackEntry.d.ts +7 -7
  340. package/src/rt/HandlersTable.d.ts +19 -19
  341. package/src/rt/IDataSourceViewDefinition.d.ts +6 -6
  342. package/src/rt/IDataviewHeader.d.ts +10 -10
  343. package/src/rt/IResultValue.d.ts +4 -4
  344. package/src/rt/LastFocusedManager.d.ts +23 -23
  345. package/src/rt/Operation.d.ts +97 -97
  346. package/src/rt/OperationTable.d.ts +15 -15
  347. package/src/rt/Recompute.d.ts +41 -41
  348. package/src/rt/RecomputeTable.d.ts +9 -9
  349. package/src/rt/RemoteDataviewHeader.d.ts +14 -14
  350. package/src/rt/ResultValue.d.ts +7 -7
  351. package/src/rt/TableCache.d.ts +29 -29
  352. package/src/rt/TableCacheManager.d.ts +10 -10
  353. package/src/rt/Transaction.d.ts +23 -23
  354. package/src/security/UserDetails.d.ts +16 -16
  355. package/src/tasks/IMGDataCollection.d.ts +26 -26
  356. package/src/tasks/MGData.d.ts +63 -63
  357. package/src/tasks/MGDataCollection.d.ts +42 -42
  358. package/src/tasks/RCTimer.d.ts +13 -13
  359. package/src/tasks/RemoteTaskService.d.ts +16 -16
  360. package/src/tasks/Task.d.ts +312 -312
  361. package/src/tasks/TaskBase.d.ts +123 -123
  362. package/src/tasks/TaskServiceBase.d.ts +16 -16
  363. package/src/tasks/TasksTable.d.ts +21 -21
  364. package/src/tasks/sort/Sort.d.ts +4 -4
  365. package/src/tasks/sort/SortCollection.d.ts +11 -11
  366. package/src/util/ConstUtils.d.ts +3 -3
  367. package/src/util/FlowMonitorQueue.d.ts +70 -70
  368. package/src/util/HeapSort.d.ts +6 -6
  369. package/src/util/IMirrorXML.d.ts +6 -6
  370. package/src/util/IServerConfig.d.ts +11 -11
  371. package/src/util/MgBlockingQueue.d.ts +5 -5
  372. package/src/util/MgPriorityBlockingQueue.d.ts +17 -17
  373. package/src/util/MgPriorityQueue.d.ts +13 -13
  374. package/src/util/ParamParseResult.d.ts +6 -6
  375. package/src/util/PrmMap.d.ts +28 -28
  376. package/src/util/ReturnResult.d.ts +18 -18
  377. package/src/util/ReturnResultBase.d.ts +11 -11
  378. package/src/util/Scrambler.d.ts +10 -10
  379. package/src/util/UniqueIDUtils.d.ts +4 -4
  380. package/src/util/cookie.service.d.ts +8 -8
  381. package/esm2020/src/AccessHelper.mjs +0 -9
  382. package/esm2020/src/ClientManager.mjs +0 -399
  383. package/esm2020/src/CommandsProcessorBase.mjs +0 -58
  384. package/esm2020/src/CommandsProcessorManager.mjs +0 -26
  385. package/esm2020/src/CommandsTable.mjs +0 -162
  386. package/esm2020/src/ConstInterface.mjs +0 -516
  387. package/esm2020/src/FlowMonitorInterface.mjs +0 -16
  388. package/esm2020/src/GUIManager.mjs +0 -62
  389. package/esm2020/src/GlobalCommandsManager.mjs +0 -34
  390. package/esm2020/src/GuiEventsProcessor.mjs +0 -154
  391. package/esm2020/src/ServerConfig.mjs +0 -117
  392. package/esm2020/src/commands/ClientOriginatedCommandTaskTag.mjs +0 -11
  393. package/esm2020/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +0 -60
  394. package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +0 -260
  395. package/esm2020/src/commands/ClientToServer/CommandSerializationHelper.mjs +0 -69
  396. package/esm2020/src/commands/ClientToServer/DataViewOutputCommand.mjs +0 -13
  397. package/esm2020/src/commands/ClientToServer/EvaluateCommand.mjs +0 -36
  398. package/esm2020/src/commands/ClientToServer/EventCommand.mjs +0 -40
  399. package/esm2020/src/commands/ClientToServer/ExecOperCommand.mjs +0 -67
  400. package/esm2020/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +0 -22
  401. package/esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs +0 -23
  402. package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +0 -27
  403. package/esm2020/src/commands/ClientToServer/RefreshEventCommand.mjs +0 -27
  404. package/esm2020/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +0 -24
  405. package/esm2020/src/commands/ClientToServer/RollbackEventCommand.mjs +0 -39
  406. package/esm2020/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +0 -24
  407. package/esm2020/src/commands/ClientToServer/TransactionCommand.mjs +0 -28
  408. package/esm2020/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +0 -18
  409. package/esm2020/src/commands/DataViewCommandBase.mjs +0 -10
  410. package/esm2020/src/commands/IClientTargetedCommand.mjs +0 -9
  411. package/esm2020/src/commands/ServerToClient/AbortCommand.mjs +0 -65
  412. package/esm2020/src/commands/ServerToClient/AddRangeCommand.mjs +0 -62
  413. package/esm2020/src/commands/ServerToClient/AddSortCommand.mjs +0 -33
  414. package/esm2020/src/commands/ServerToClient/ClientRefreshCommand.mjs +0 -25
  415. package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +0 -27
  416. package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +0 -45
  417. package/esm2020/src/commands/ServerToClient/OpenURLCommand.mjs +0 -221
  418. package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +0 -37
  419. package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +0 -83
  420. package/esm2020/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +0 -132
  421. package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +0 -17
  422. package/esm2020/src/data/DataView.mjs +0 -1610
  423. package/esm2020/src/data/DataviewManager.mjs +0 -28
  424. package/esm2020/src/data/DataviewManagerBase.mjs +0 -15
  425. package/esm2020/src/data/DvCache.mjs +0 -67
  426. package/esm2020/src/data/Field.mjs +0 -646
  427. package/esm2020/src/data/FieldBase.mjs +0 -18
  428. package/esm2020/src/data/FieldsTable.mjs +0 -103
  429. package/esm2020/src/data/Key.mjs +0 -88
  430. package/esm2020/src/data/Record.mjs +0 -846
  431. package/esm2020/src/data/RecordsTable.mjs +0 -267
  432. package/esm2020/src/data/TaskTransactionManager.mjs +0 -103
  433. package/esm2020/src/data/XMLBasedDcValuesBuilder.mjs +0 -74
  434. package/esm2020/src/env/EnvVariablesTable.mjs +0 -340
  435. package/esm2020/src/env/Environment.mjs +0 -489
  436. package/esm2020/src/env/LanguageData.mjs +0 -226
  437. package/esm2020/src/env/MirrorString.mjs +0 -65
  438. package/esm2020/src/event/ActionManager.mjs +0 -91
  439. package/esm2020/src/event/Event.mjs +0 -1333
  440. package/esm2020/src/event/EventHandler.mjs +0 -766
  441. package/esm2020/src/event/EventHandlerPosition.mjs +0 -204
  442. package/esm2020/src/event/EventsManager.mjs +0 -2975
  443. package/esm2020/src/event/RunTimeEvent.mjs +0 -392
  444. package/esm2020/src/event/UserEventsTable.mjs +0 -47
  445. package/esm2020/src/exp/ExpTable.mjs +0 -59
  446. package/esm2020/src/exp/Expression.mjs +0 -200
  447. package/esm2020/src/exp/ExpressionDict.mjs +0 -727
  448. package/esm2020/src/exp/ExpressionEvaluator.mjs +0 -4212
  449. package/esm2020/src/exp/ExpressionLocalJpn.mjs +0 -314
  450. package/esm2020/src/exp/GlobalParamsTable.mjs +0 -85
  451. package/esm2020/src/exp/YesNoExp.mjs +0 -36
  452. package/esm2020/src/gui/CreatedFormVector.mjs +0 -23
  453. package/esm2020/src/gui/FormsTable.mjs +0 -66
  454. package/esm2020/src/gui/MgControl.mjs +0 -353
  455. package/esm2020/src/gui/MgForm.mjs +0 -1181
  456. package/esm2020/src/http/HttpManager.mjs +0 -97
  457. package/esm2020/src/http/client/HttpClientAsync.mjs +0 -67
  458. package/esm2020/src/http/client/HttpClientBase.mjs +0 -132
  459. package/esm2020/src/http/client/HttpClientEvents.mjs +0 -39
  460. package/esm2020/src/http/client/HttpClientSync.mjs +0 -42
  461. package/esm2020/src/http/client/HttpUtility.mjs +0 -84
  462. package/esm2020/src/remote/AddUserLocateRemoteDataViewCommand.mjs +0 -18
  463. package/esm2020/src/remote/AddUserRangeRemoteDataViewCommand.mjs +0 -18
  464. package/esm2020/src/remote/AddUserSortRemoteDataViewCommand.mjs +0 -18
  465. package/esm2020/src/remote/RemoteCommandsProcessor.mjs +0 -880
  466. package/esm2020/src/remote/RemoteControlItemsRefreshCommand.mjs +0 -25
  467. package/esm2020/src/remote/RemoteDataViewCommandBase.mjs +0 -24
  468. package/esm2020/src/remote/RemoteDataViewCommandFactory.mjs +0 -61
  469. package/esm2020/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +0 -17
  470. package/esm2020/src/remote/ResetUserSortRemoteDataviewCommand.mjs +0 -16
  471. package/esm2020/src/remote/ServerError.mjs +0 -40
  472. package/esm2020/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +0 -20
  473. package/esm2020/src/rt/Argument.mjs +0 -265
  474. package/esm2020/src/rt/ArgumentsList.mjs +0 -103
  475. package/esm2020/src/rt/Boundary.mjs +0 -152
  476. package/esm2020/src/rt/CompMainPrgTable.mjs +0 -65
  477. package/esm2020/src/rt/DataviewHeaders.mjs +0 -53
  478. package/esm2020/src/rt/DataviewHeadersSaxHandler.mjs +0 -38
  479. package/esm2020/src/rt/ExecutionStack.mjs +0 -94
  480. package/esm2020/src/rt/HandlersTable.mjs +0 -96
  481. package/esm2020/src/rt/LastFocusedManager.mjs +0 -67
  482. package/esm2020/src/rt/Operation.mjs +0 -735
  483. package/esm2020/src/rt/OperationTable.mjs +0 -67
  484. package/esm2020/src/rt/Recompute.mjs +0 -355
  485. package/esm2020/src/rt/RecomputeTable.mjs +0 -63
  486. package/esm2020/src/rt/RemoteDataviewHeader.mjs +0 -108
  487. package/esm2020/src/rt/ResultValue.mjs +0 -12
  488. package/esm2020/src/rt/TableCache.mjs +0 -177
  489. package/esm2020/src/rt/TableCacheManager.mjs +0 -67
  490. package/esm2020/src/rt/Transaction.mjs +0 -53
  491. package/esm2020/src/security/UserDetails.mjs +0 -71
  492. package/esm2020/src/tasks/MGData.mjs +0 -552
  493. package/esm2020/src/tasks/MGDataCollection.mjs +0 -252
  494. package/esm2020/src/tasks/RCTimer.mjs +0 -63
  495. package/esm2020/src/tasks/RemoteTaskService.mjs +0 -45
  496. package/esm2020/src/tasks/Task.mjs +0 -2495
  497. package/esm2020/src/tasks/TaskBase.mjs +0 -87
  498. package/esm2020/src/tasks/TaskServiceBase.mjs +0 -25
  499. package/esm2020/src/tasks/TasksTable.mjs +0 -80
  500. package/esm2020/src/tasks/sort/Sort.mjs +0 -7
  501. package/esm2020/src/tasks/sort/SortCollection.mjs +0 -67
  502. package/esm2020/src/util/ConstUtils.mjs +0 -14
  503. package/esm2020/src/util/FlowMonitorQueue.mjs +0 -453
  504. package/esm2020/src/util/HeapSort.mjs +0 -70
  505. package/esm2020/src/util/MgPriorityBlockingQueue.mjs +0 -74
  506. package/esm2020/src/util/MgPriorityQueue.mjs +0 -66
  507. package/esm2020/src/util/PrmMap.mjs +0 -151
  508. package/esm2020/src/util/ReturnResult.mjs +0 -46
  509. package/esm2020/src/util/ReturnResultBase.mjs +0 -18
  510. package/esm2020/src/util/Scrambler.mjs +0 -89
  511. package/esm2020/src/util/UniqueIDUtils.mjs +0 -12
  512. package/esm2020/src/util/cookie.service.mjs +0 -92
  513. package/fesm2015/magic-xpa-engine.mjs +0 -30835
  514. package/fesm2015/magic-xpa-engine.mjs.map +0 -1
  515. package/fesm2020/magic-xpa-engine.mjs.map +0 -1
@@ -1,45 +0,0 @@
1
- import { VerifyCommand } from "./VerifyCommand";
2
- import { Operation } from "../../rt/Operation";
3
- import { Task } from "../../tasks/Task";
4
- import { ConstInterface } from "../../ConstInterface";
5
- import { LanguageData } from "../../env/LanguageData";
6
- export class EnhancedVerifyCommand extends VerifyCommand {
7
- async ProcessMessageBoxResponse(task, returnValue) {
8
- if (task !== null)
9
- await Operation.setoperVerifyReturnValue(returnValue, this._returnVal);
10
- }
11
- PrepareMessageBoxForDisplay(task, mlsTransTitle, style) {
12
- mlsTransTitle.value = LanguageData.Instance.translate(this._title);
13
- style.value = Operation.getButtons(this._buttonsID);
14
- style.value |= Operation.getImage(this._image);
15
- if (task !== null) {
16
- if (Task.isMainProgramField(this._returnValStr)) {
17
- this._returnVal = Operation.InitField(this._returnValStr, task);
18
- }
19
- }
20
- }
21
- HandleAttribute(attribute, value) {
22
- switch (attribute) {
23
- case ConstInterface.MG_ATTR_IMAGE:
24
- this._image = value[0];
25
- break;
26
- case ConstInterface.MG_ATTR_BUTTONS:
27
- this._buttonsID = value[0];
28
- break;
29
- case ConstInterface.MG_ATTR_RETURN_VAL:
30
- this._returnValStr = value;
31
- break;
32
- default:
33
- super.HandleAttribute(attribute, value);
34
- break;
35
- }
36
- }
37
- constructor() {
38
- super();
39
- this._buttonsID = '\0';
40
- this._image = '\0';
41
- this._returnValStr = null;
42
- this._returnVal = null;
43
- }
44
- }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5oYW5jZWRWZXJpZnlDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9TZXJ2ZXJUb0NsaWVudC9FbmhhbmNlZFZlcmlmeUNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDdEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUd0RCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQU10RCxLQUFLLENBQUMseUJBQXlCLENBQUMsSUFBVSxFQUFFLFdBQW1CO1FBQzdELElBQUksSUFBSSxLQUFLLElBQUk7WUFDZixNQUFNLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxJQUFVLEVBQUUsYUFBK0IsRUFBRSxLQUF1QjtRQUM5RixhQUFhLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRSxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELEtBQUssQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFL0MsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBRWpCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDakU7U0FDRjtJQUNILENBQUM7SUFFTSxlQUFlLENBQUMsU0FBaUIsRUFBRSxLQUFhO1FBQ3JELFFBQVEsU0FBUyxFQUFFO1lBQ2pCLEtBQUssY0FBYyxDQUFDLGFBQWE7Z0JBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixNQUFNO1lBQ1IsS0FBSyxjQUFjLENBQUMsZUFBZTtnQkFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLE1BQU07WUFDUixLQUFLLGNBQWMsQ0FBQyxrQkFBa0I7Z0JBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUMzQixNQUFNO1lBQ1I7Z0JBQ0UsS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3hDLE1BQU07U0FDVDtJQUNILENBQUM7SUFFRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBekNGLGVBQVUsR0FBVyxJQUFJLENBQUM7UUFDMUIsV0FBTSxHQUFXLElBQUksQ0FBQztRQUN0QixrQkFBYSxHQUFXLElBQUksQ0FBQztRQUM3QixlQUFVLEdBQVUsSUFBSSxDQUFDO0lBdUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlZlBhcmFtfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtWZXJpZnlDb21tYW5kfSBmcm9tIFwiLi9WZXJpZnlDb21tYW5kXCI7XHJcbmltcG9ydCB7T3BlcmF0aW9ufSBmcm9tIFwiLi4vLi4vcnQvT3BlcmF0aW9uXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIi4uLy4uL3Rhc2tzL1Rhc2tcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uLy4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7RmllbGR9IGZyb20gXCIuLi8uLi9kYXRhL0ZpZWxkXCI7XHJcbmltcG9ydCB7IExhbmd1YWdlRGF0YSB9IGZyb20gXCIuLi8uLi9lbnYvTGFuZ3VhZ2VEYXRhXCI7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEVuaGFuY2VkVmVyaWZ5Q29tbWFuZCBleHRlbmRzIFZlcmlmeUNvbW1hbmQge1xyXG4gIHByaXZhdGUgX2J1dHRvbnNJRDogc3RyaW5nID0gJ1xcMCc7IC8vIGJ1dHRvbnMgb2YgdmVyaWZ5IG9wclxyXG4gIHByaXZhdGUgX2ltYWdlOiBzdHJpbmcgPSAnXFwwJzsgLy8gaW1hZ2Ugb2YgdmVyaWZ5IG9wclxyXG4gIHByaXZhdGUgX3JldHVyblZhbFN0cjogc3RyaW5nID0gbnVsbDtcclxuICBwcml2YXRlIF9yZXR1cm5WYWw6IEZpZWxkID0gbnVsbDsgLy8gcmV0dXJuIHZhbHVlIG9mIHZlcmlmeSBvcHJcclxuXHJcbiAgYXN5bmMgUHJvY2Vzc01lc3NhZ2VCb3hSZXNwb25zZSh0YXNrOiBUYXNrLCByZXR1cm5WYWx1ZTogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGFzayAhPT0gbnVsbClcclxuICAgICAgYXdhaXQgT3BlcmF0aW9uLnNldG9wZXJWZXJpZnlSZXR1cm5WYWx1ZShyZXR1cm5WYWx1ZSwgdGhpcy5fcmV0dXJuVmFsKTtcclxuICB9XHJcblxyXG4gIFByZXBhcmVNZXNzYWdlQm94Rm9yRGlzcGxheSh0YXNrOiBUYXNrLCBtbHNUcmFuc1RpdGxlOiBSZWZQYXJhbTxzdHJpbmc+LCBzdHlsZTogUmVmUGFyYW08bnVtYmVyPik6IHZvaWQge1xyXG4gICAgbWxzVHJhbnNUaXRsZS52YWx1ZSA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZS50cmFuc2xhdGUodGhpcy5fdGl0bGUpO1xyXG4gICAgc3R5bGUudmFsdWUgPSBPcGVyYXRpb24uZ2V0QnV0dG9ucyh0aGlzLl9idXR0b25zSUQpO1xyXG4gICAgc3R5bGUudmFsdWUgfD0gT3BlcmF0aW9uLmdldEltYWdlKHRoaXMuX2ltYWdlKTtcclxuXHJcbiAgICBpZiAodGFzayAhPT0gbnVsbCkge1xyXG4gICAgICAvLyBWZXJpZnkgY29tbWFuZCByZXR1cm4gdmFsdWUgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIG1haW4gcHJvZ3JhbSBmaWVsZHNcclxuICAgICAgaWYgKFRhc2suaXNNYWluUHJvZ3JhbUZpZWxkKHRoaXMuX3JldHVyblZhbFN0cikpIHtcclxuICAgICAgICB0aGlzLl9yZXR1cm5WYWwgPSBPcGVyYXRpb24uSW5pdEZpZWxkKHRoaXMuX3JldHVyblZhbFN0ciwgdGFzayk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBIYW5kbGVBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHN3aXRjaCAoYXR0cmlidXRlKSB7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9JTUFHRTpcclxuICAgICAgICB0aGlzLl9pbWFnZSA9IHZhbHVlWzBdO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfQlVUVE9OUzpcclxuICAgICAgICB0aGlzLl9idXR0b25zSUQgPSB2YWx1ZVswXTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX1JFVFVSTl9WQUw6XHJcbiAgICAgICAgdGhpcy5fcmV0dXJuVmFsU3RyID0gdmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgc3VwZXIuSGFuZGxlQXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,221 +0,0 @@
1
- import { Debug, Int32, List, NString } from "@magic-xpa/mscorelib";
2
- import { InternalInterface, XMLConstants, XmlParser } from "@magic-xpa/utils";
3
- import { ClientTargetedCommandBase } from "./ClientTargetedCommandBase";
4
- import { ArgumentsList } from "../../rt/ArgumentsList";
5
- import { MGData } from "../../tasks/MGData";
6
- import { MgControl } from "../../gui/MgControl";
7
- import { OpeningTaskDetails } from "../../tasks/TaskBase";
8
- import { ConstInterface } from "../../ConstInterface";
9
- import { LastFocusedManager } from "../../rt/LastFocusedManager";
10
- import { RemoteCommandsProcessor } from "../../remote/RemoteCommandsProcessor";
11
- import { Task } from "../../tasks/Task";
12
- import { AccessHelper } from "../../AccessHelper";
13
- import { MgControlType } from "@magic-xpa/utils";
14
- import { RunTimeEvent } from '../../event/RunTimeEvent';
15
- export class OpenURLCommand extends ClientTargetedCommandBase {
16
- constructor() {
17
- super();
18
- this._callingTaskTag = null;
19
- this._pathParentTaskTag = null;
20
- this._subformCtrlName = null;
21
- this._ditIdx = Int32.MinValue;
22
- this._isModal = true;
23
- this._transOwner = null;
24
- this._newId = null;
25
- this._forceModal = false;
26
- this._key = null;
27
- this._varList = null;
28
- this._isRoute = false;
29
- this.NewTaskXML = null;
30
- }
31
- get IsBlocking() {
32
- return this._isModal && this._subformCtrlName === null;
33
- }
34
- async Execute(res) {
35
- let mgd = null;
36
- let destinationSubformSucceeded = false;
37
- let refreshWhenHidden = true;
38
- let mgdID = 0;
39
- let subformCtrl = null;
40
- let oldTimers = new List(), newTimers = new List();
41
- let moveToFirstControl = true;
42
- let guiParentTask;
43
- let guiParentMgData = null;
44
- let callingTask = (this._callingTaskTag != null ? AccessHelper.mgDataTable.GetTaskByID(this._callingTaskTag) : null);
45
- let pathParentTask = (this._pathParentTaskTag != null ? AccessHelper.mgDataTable.GetTaskByID(this._pathParentTaskTag) : null);
46
- guiParentTask = callingTask = AccessHelper.mgDataTable.GetTaskByID(this._callingTaskTag);
47
- if ((!NString.IsNullOrEmpty(this._subformCtrlName)) || (this._ditIdx !== Int32.MinValue) || this._isRoute) {
48
- if (this._isRoute && NString.IsNullOrEmpty(this._subformCtrlName.trim())) {
49
- subformCtrl = callingTask.getForm().DefaultRouterOutlet;
50
- }
51
- else {
52
- if (!callingTask.IsInteractive) {
53
- for (let parentTask = callingTask; parentTask.getForm() != null; parentTask = parentTask.getParent()) {
54
- subformCtrl = parentTask.getForm().getCtrlByName(this._subformCtrlName, MgControlType.CTRL_TYPE_SUBFORM);
55
- if (subformCtrl != null) {
56
- callingTask = guiParentTask = parentTask;
57
- break;
58
- }
59
- }
60
- }
61
- else
62
- subformCtrl = (this._ditIdx !== Int32.MinValue ? callingTask.getForm().getCtrl(this._ditIdx) : callingTask.getForm().getSubFormCtrlByName(this._subformCtrlName));
63
- }
64
- }
65
- if (callingTask != null)
66
- mgd = callingTask.getMGData();
67
- if (subformCtrl != null) {
68
- let subformTask = subformCtrl.getSubformTask();
69
- guiParentTask = subformCtrl.getForm().getTask();
70
- mgdID = guiParentTask.getMgdID();
71
- guiParentMgData = guiParentTask.getMGData();
72
- if (guiParentMgData.getTimerHandlers() != null)
73
- oldTimers = guiParentMgData.getTimerHandlers().getTimersVector();
74
- if (this._ditIdx !== Int32.MinValue) {
75
- refreshWhenHidden = false;
76
- moveToFirstControl = false;
77
- }
78
- else {
79
- destinationSubformSucceeded = true;
80
- if (this._transOwner != null) {
81
- let newTransOwnerTask = AccessHelper.mgDataTable.GetTaskByID(this._transOwner);
82
- if (newTransOwnerTask != null)
83
- newTransOwnerTask.setTransOwnerTask();
84
- }
85
- if (subformTask != null) {
86
- subformTask.setDestinationSubform(true);
87
- await subformTask.stop();
88
- }
89
- if (!MgControl.validReturnToCtrl())
90
- MgControl.ReturnToCtrl = LastFocusedManager.getLastFocusedControl();
91
- }
92
- subformCtrl.setSubformTaskId(this._newId);
93
- }
94
- let parentMgData;
95
- if (callingTask == null)
96
- parentMgData = AccessHelper.mgDataTable.getMGData(0);
97
- else
98
- parentMgData = callingTask.getMGData();
99
- if (!destinationSubformSucceeded && refreshWhenHidden) {
100
- mgdID = AccessHelper.mgDataTable.getAvailableIdx();
101
- Debug.Assert(mgdID > 0);
102
- mgd = new MGData(OpenURLCommand.createNewCommandsTable(), OpenURLCommand.createNewCommandsTable(), mgdID, parentMgData, this._isModal, this._forceModal);
103
- mgd.copyUnframedCmds();
104
- await AccessHelper.mgDataTable.addMGData(mgd, mgdID, false);
105
- AccessHelper.mgDataTable.currMgdID = mgdID;
106
- }
107
- this.Obj = this._key;
108
- this._key = null;
109
- try {
110
- await RemoteCommandsProcessor.GetInstance().ProcessResponse(this.NewTaskXML, mgdID, new OpeningTaskDetails(callingTask, pathParentTask), null);
111
- }
112
- finally {
113
- AccessHelper.eventsManager.setIgnoreUnknownAbort(false);
114
- }
115
- if (destinationSubformSucceeded || !refreshWhenHidden) {
116
- subformCtrl.initSubformTask();
117
- if (destinationSubformSucceeded) {
118
- let subformTask = subformCtrl.getSubformTask();
119
- moveToFirstControl = !callingTask.RetainFocus;
120
- subformTask.setIsDestinationCall(true);
121
- }
122
- }
123
- let isSubformModal = false;
124
- let prevMgDataIsModal = mgd.IsModal;
125
- if (subformCtrl != null) {
126
- if (guiParentMgData.getTimerHandlers() != null)
127
- newTimers = guiParentMgData.getTimerHandlers().getTimersVector();
128
- guiParentMgData.changeTimers(oldTimers, newTimers);
129
- if (subformCtrl.IsModal())
130
- this._isModal = isSubformModal = mgd.IsModal = true;
131
- }
132
- let nonInteractiveTask = await Task.StartProgram(destinationSubformSucceeded, moveToFirstControl);
133
- if (!isSubformModal)
134
- this._isModal = mgd.IsModal;
135
- if (nonInteractiveTask == null) {
136
- if (callingTask != null && ((this._isModal && (isSubformModal || !destinationSubformSucceeded) && refreshWhenHidden) || (!callingTask.IsInteractive && (!callingTask.isMainProg() || callingTask.getForm() == null)))) {
137
- if (this._isModal) {
138
- AccessHelper.mgDataTable.startTasksIteration();
139
- let task;
140
- while ((task = AccessHelper.mgDataTable.getNextTask()) !== null) {
141
- let dataViewWasRetrieved = task.DataViewWasRetrieved;
142
- if (dataViewWasRetrieved) {
143
- await task.RefreshDisplay();
144
- }
145
- }
146
- }
147
- await AccessHelper.eventsManager.EventsLoop(mgd);
148
- if (isSubformModal) {
149
- mgd.IsAborting = false;
150
- mgd.IsModal = prevMgDataIsModal;
151
- }
152
- }
153
- }
154
- else
155
- await AccessHelper.eventsManager.NonInteractiveEventsLoop(mgd, nonInteractiveTask);
156
- if (AccessHelper.eventsManager.getPendingGuiEvent() != null && (isSubformModal || nonInteractiveTask != null)) {
157
- let guiEvent = AccessHelper.eventsManager.getPendingGuiEvent();
158
- if (guiEvent.getTask() != callingTask || this._callingTaskTag !== callingTask.getTaskTag()) {
159
- callingTask = AccessHelper.mgDataTable.GetTaskByID(this._callingTaskTag);
160
- if (callingTask.getIsDestinationCall()) {
161
- let subformCtrl = callingTask.getForm().getSubFormCtrl();
162
- await AccessHelper.eventsManager.performSubformClose(subformCtrl);
163
- }
164
- else {
165
- let rtEvt = new RunTimeEvent(callingTask);
166
- rtEvt.setInternal(InternalInterface.MG_ACT_CLOSE);
167
- rtEvt.setCtrl(null);
168
- rtEvt.setArgList(null);
169
- AccessHelper.eventsManager.addToTail(rtEvt);
170
- }
171
- }
172
- else {
173
- AccessHelper.eventsManager.addToTail(guiEvent);
174
- AccessHelper.eventsManager.setPendingGuiEvent(null);
175
- }
176
- }
177
- }
178
- HandleAttribute(attribute, value) {
179
- switch (attribute) {
180
- case ConstInterface.MG_ATTR_CALLINGTASK:
181
- this._callingTaskTag = value;
182
- break;
183
- case ConstInterface.MG_ATTR_PATH_PARENT_TASK:
184
- this._pathParentTaskTag = value;
185
- break;
186
- case ConstInterface.MG_ATTR_SUBFORM_CTRL:
187
- this._subformCtrlName = value;
188
- break;
189
- case XMLConstants.MG_ATTR_DITIDX:
190
- this._ditIdx = XmlParser.getInt(value);
191
- break;
192
- case ConstInterface.MG_ATTR_MODAL:
193
- this._isModal = (value[0] === '1');
194
- break;
195
- case ConstInterface.MG_ATTR_TRANS_OWNER:
196
- this._transOwner = value;
197
- break;
198
- case ConstInterface.MG_ATTR_NEWID:
199
- this._newId = NString.TrimEnd(value);
200
- break;
201
- case ConstInterface.MG_ATTR_KEY:
202
- this._key = value;
203
- break;
204
- case ConstInterface.MG_ATTR_ARGLIST:
205
- this._varList = new ArgumentsList();
206
- this._varList.fillList(value, AccessHelper.mgDataTable.GetTaskByID(this.TaskTag));
207
- break;
208
- case ConstInterface.MG_ATTR_OBJECT:
209
- this.Obj = value;
210
- break;
211
- case ConstInterface.MG_ATTR_IS_ROUTE:
212
- this._isRoute = (value[0] === '1');
213
- break;
214
- default:
215
- super.HandleAttribute(attribute, value);
216
- break;
217
- }
218
- }
219
- }
220
- OpenURLCommand.createNewCommandsTable = null;
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblVSTENvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL1NlcnZlclRvQ2xpZW50L09wZW5VUkxDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTlDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXhELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFHdEQsTUFBTSxPQUFPLGNBQWUsU0FBUSx5QkFBeUI7SUFlM0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQWZGLG9CQUFlLEdBQVcsSUFBSSxDQUFDO1FBQy9CLHVCQUFrQixHQUFXLElBQUksQ0FBQztRQUNsQyxxQkFBZ0IsR0FBVyxJQUFJLENBQUM7UUFDaEMsWUFBTyxHQUFXLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDakMsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixnQkFBVyxHQUFXLElBQUksQ0FBQztRQUMzQixXQUFNLEdBQVcsSUFBSSxDQUFDO1FBQ3RCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLFNBQUksR0FBVyxJQUFJLENBQUM7UUFDcEIsYUFBUSxHQUFrQixJQUFJLENBQUM7UUFDL0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUNsQyxlQUFVLEdBQVcsSUFBSSxDQUFDO0lBSzFCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksQ0FBQztJQUN6RCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFpQjtRQUM3QixJQUFJLEdBQUcsR0FBVyxJQUFJLENBQUM7UUFDdkIsSUFBSSwyQkFBMkIsR0FBWSxLQUFLLENBQUM7UUFDakQsSUFBSSxpQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFDdEMsSUFBSSxLQUFLLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksV0FBVyxHQUFjLElBQUksQ0FBQztRQUNsQyxJQUFJLFNBQVMsR0FBaUIsSUFBSSxJQUFJLEVBQVUsRUFBRSxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQVUsQ0FBQztRQUNqRixJQUFJLGtCQUFrQixHQUFZLElBQUksQ0FBQztRQUN2QyxJQUFJLGFBQXVCLENBQUM7UUFDNUIsSUFBSSxlQUFlLEdBQVcsSUFBSSxDQUFDO1FBQ25DLElBQUksV0FBVyxHQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFXLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekksSUFBSSxjQUFjLEdBQWEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBVyxZQUFZLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFTbEosYUFBYSxHQUFHLFdBQVcsR0FBYSxZQUFZLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFHbkcsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN6RyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRTtnQkFDeEUsV0FBVyxHQUFjLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzthQUNwRTtpQkFDSTtnQkFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRTtvQkFDOUIsS0FBSyxJQUFJLFVBQVUsR0FBYSxXQUFXLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksRUFBRSxVQUFVLEdBQUcsVUFBVSxDQUFDLFNBQVMsRUFBRSxFQUFFO3dCQUM5RyxXQUFXLEdBQWMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7d0JBQ3BILElBQUksV0FBVyxJQUFJLElBQUksRUFBRTs0QkFDckIsV0FBVyxHQUFHLGFBQWEsR0FBRyxVQUFVLENBQUM7NEJBQzNDLE1BQU07eUJBQ1A7cUJBQ0Y7aUJBQ0Y7O29CQUVDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQVksV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFVLFdBQVcsQ0FBQyxPQUFPLEVBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2FBQzFMO1NBQ0Y7UUFFRCxJQUFJLFdBQVcsSUFBSSxJQUFJO1lBQ3JCLEdBQUcsR0FBRyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFaEMsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFO1lBQ3ZCLElBQUksV0FBVyxHQUF1QixXQUFXLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkUsYUFBYSxHQUFhLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxRCxLQUFLLEdBQUcsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pDLGVBQWUsR0FBRyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDNUMsSUFBSSxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxJQUFJO2dCQUM1QyxTQUFTLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFbkUsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0JBQ25DLGlCQUFpQixHQUFHLEtBQUssQ0FBQztnQkFDMUIsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO2FBQzVCO2lCQUNJO2dCQUNILDJCQUEyQixHQUFHLElBQUksQ0FBQztnQkFFbkMsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksRUFBRTtvQkFDNUIsSUFBSSxpQkFBaUIsR0FBYSxZQUFZLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQ3pGLElBQUksaUJBQWlCLElBQUksSUFBSTt3QkFDM0IsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztpQkFDekM7Z0JBQ0QsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFO29CQUN2QixXQUFXLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3hDLE1BQU0sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUMxQjtnQkFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFO29CQUMvQixTQUFTLENBQUMsWUFBWSxHQUFHLGtCQUFrQixDQUFDLHFCQUFxQixFQUFFLENBQUM7YUFDeEU7WUFDRCxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzNDO1FBRUQsSUFBSSxZQUFvQixDQUFDO1FBQ3pCLElBQUksV0FBVyxJQUFJLElBQUk7WUFDckIsWUFBWSxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDOztZQUVyRCxZQUFZLEdBQUcsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRXpDLElBQUksQ0FBQywyQkFBMkIsSUFBSSxpQkFBaUIsRUFBRTtZQUNyRCxLQUFLLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNuRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN4QixHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUUsY0FBYyxDQUFDLHNCQUFzQixFQUFFLEVBQ3ZDLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRSxFQUN2QyxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hFLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sWUFBWSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUU1RCxZQUFZLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7U0FDNUM7UUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSTtZQU1GLE1BQU0sdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2hKO2dCQUVPO1lBQ04sWUFBWSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6RDtRQUVELElBQUksMkJBQTJCLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNyRCxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFOUIsSUFBSSwyQkFBMkIsRUFBRTtnQkFDL0IsSUFBSSxXQUFXLEdBQXVCLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbkUsa0JBQWtCLEdBQUcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDO2dCQUM5QyxXQUFXLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEM7U0FDRjtRQUVELElBQUksY0FBYyxHQUFZLEtBQUssQ0FBQztRQUNyQyxJQUFJLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFFbkMsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFO1lBQ3ZCLElBQUksZUFBZSxDQUFDLGdCQUFnQixFQUFFLElBQUksSUFBSTtnQkFDNUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ25FLGVBQWUsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3RELElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxjQUFjLEdBQUcsR0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDakQ7UUFDRCxJQUFJLGtCQUFrQixHQUFhLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQywyQkFBMkIsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBRTVHLElBQUksQ0FBQyxjQUFjO1lBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUc5QixJQUFJLGtCQUFrQixJQUFJLElBQUksRUFBRTtZQUs5QixJQUFJLFdBQVcsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNyTixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBS2pCLFlBQVksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztvQkFDN0MsSUFBSSxJQUFjLENBQUM7b0JBQ25CLE9BQU8sQ0FBQyxJQUFJLEdBQWEsWUFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRTt3QkFDekUsSUFBSSxvQkFBb0IsR0FBWSxJQUFJLENBQUMsb0JBQW9CLENBQUM7d0JBQzlELElBQUksb0JBQW9CLEVBQUU7NEJBQ3hCLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO3lCQUM3QjtxQkFDRjtpQkFDRjtnQkFDRCxNQUFNLFlBQVksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUlqRCxJQUFJLGNBQWMsRUFDbEI7b0JBQ0UsR0FBRyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7b0JBQ3ZCLEdBQUcsQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQUM7aUJBQ2pDO2FBQ0o7U0FDRjs7WUFFQyxNQUFNLFlBQVksQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFHckYsSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLElBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLGtCQUFrQixJQUFJLElBQUksQ0FBQyxFQUM1RztZQUNFLElBQUksUUFBUSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUUvRCxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxXQUFXLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBRTFGLFdBQVcsR0FBUyxZQUFZLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBRS9FLElBQVcsV0FBWSxDQUFDLG9CQUFvQixFQUFFLEVBQUU7b0JBQzlDLElBQUksV0FBVyxHQUF5QixXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQy9FLE1BQU0sWUFBWSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBWSxXQUFXLENBQUMsQ0FBQztpQkFDOUU7cUJBQ0k7b0JBQ0gsSUFBSSxLQUFLLEdBQUcsSUFBSSxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQzFDLEtBQUssQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ2xELEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3BCLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3ZCLFlBQVksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUM3QzthQUNGO2lCQUNJO2dCQUNILFlBQVksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMvQyxZQUFZLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3JEO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sZUFBZSxDQUFDLFNBQWlCLEVBQUUsS0FBYTtRQUNyRCxRQUFRLFNBQVMsRUFBRTtZQUNqQixLQUFLLGNBQWMsQ0FBQyxtQkFBbUI7Z0JBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO2dCQUM3QixNQUFNO1lBQ1IsS0FBSyxjQUFjLENBQUMsd0JBQXdCO2dCQUMxQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO2dCQUNoQyxNQUFNO1lBQ1IsS0FBSyxjQUFjLENBQUMsb0JBQW9CO2dCQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO2dCQUM5QixNQUFNO1lBQ1IsS0FBSyxZQUFZLENBQUMsY0FBYztnQkFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QyxNQUFNO1lBQ1IsS0FBSyxjQUFjLENBQUMsYUFBYTtnQkFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDbkMsTUFBTTtZQUNSLEtBQUssY0FBYyxDQUFDLG1CQUFtQjtnQkFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQ3pCLE1BQU07WUFDUixLQUFLLGNBQWMsQ0FBQyxhQUFhO2dCQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JDLE1BQU07WUFDUixLQUFLLGNBQWMsQ0FBQyxXQUFXO2dCQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztnQkFDbEIsTUFBTTtZQUNSLEtBQUssY0FBYyxDQUFDLGVBQWU7Z0JBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFZLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUM1RixNQUFNO1lBQ1IsS0FBSyxjQUFjLENBQUMsY0FBYztnQkFDaEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7Z0JBQ2pCLE1BQU07WUFDUixLQUFLLGNBQWMsQ0FBQyxnQkFBZ0I7Z0JBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ25DLE1BQU07WUFDUjtnQkFDRSxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDeEMsTUFBTTtTQUNUO0lBQ0gsQ0FBQzs7QUFyUE0scUNBQXNCLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEZWJ1ZywgSW50MzIsIExpc3QsIE5TdHJpbmd9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0ludGVybmFsSW50ZXJmYWNlLCBYTUxDb25zdGFudHMsIFhtbFBhcnNlcn0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtDbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlfSBmcm9tIFwiLi9DbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlXCI7XHJcbmltcG9ydCB7QXJndW1lbnRzTGlzdH0gZnJvbSBcIi4uLy4uL3J0L0FyZ3VtZW50c0xpc3RcIjtcclxuaW1wb3J0IHtNR0RhdGF9IGZyb20gXCIuLi8uLi90YXNrcy9NR0RhdGFcIjtcclxuaW1wb3J0IHtNZ0NvbnRyb2x9IGZyb20gXCIuLi8uLi9ndWkvTWdDb250cm9sXCI7XHJcbmltcG9ydCB7TWdGb3JtfSBmcm9tIFwiLi4vLi4vZ3VpL01nRm9ybVwiO1xyXG5pbXBvcnQge09wZW5pbmdUYXNrRGV0YWlsc30gZnJvbSBcIi4uLy4uL3Rhc2tzL1Rhc2tCYXNlXCI7XHJcbmltcG9ydCB7IFRhc2tCYXNlfSBmcm9tIFwiLi4vLi4vdGFza3MvVGFza0Jhc2VcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uLy4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7SVJlc3VsdFZhbHVlfSBmcm9tIFwiLi4vLi4vcnQvSVJlc3VsdFZhbHVlXCI7XHJcbmltcG9ydCB7IExhc3RGb2N1c2VkTWFuYWdlciB9IGZyb20gXCIuLi8uLi9ydC9MYXN0Rm9jdXNlZE1hbmFnZXJcIjtcclxuaW1wb3J0IHsgUmVtb3RlQ29tbWFuZHNQcm9jZXNzb3IgfSBmcm9tIFwiLi4vLi4vcmVtb3RlL1JlbW90ZUNvbW1hbmRzUHJvY2Vzc29yXCI7XHJcbmltcG9ydCB7IFRhc2sgfSBmcm9tIFwiLi4vLi4vdGFza3MvVGFza1wiO1xyXG5pbXBvcnQgeyBBY2Nlc3NIZWxwZXIgfSBmcm9tIFwiLi4vLi4vQWNjZXNzSGVscGVyXCI7XHJcbmltcG9ydCB7TWdDb250cm9sVHlwZX0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtSdW5UaW1lRXZlbnR9IGZyb20gJy4uLy4uL2V2ZW50L1J1blRpbWVFdmVudCc7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIE9wZW5VUkxDb21tYW5kIGV4dGVuZHMgQ2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZSB7XHJcbiAgcHJpdmF0ZSBfY2FsbGluZ1Rhc2tUYWc6IHN0cmluZyA9IG51bGw7ICAvLyBpcyB0aGUgaWQgb2YgdGhlIHRhc2sgdGhhdCBjYWxsZWQgdGhlIG5ldyB3aW5kb3dcclxuICBwcml2YXRlIF9wYXRoUGFyZW50VGFza1RhZzogc3RyaW5nID0gbnVsbDsgLy8gaXMgdGhlIGlkIG9mIHBhdGggcGFyZW50IHRhc2sgdGFnXHJcbiAgcHJpdmF0ZSBfc3ViZm9ybUN0cmxOYW1lOiBzdHJpbmcgPSBudWxsOyAvLyBTdWJmb3JtIGNvbnRyb2wgbmFtZSBmb3IgRGVzdGluYXRpb24gU3ViZm9ybVxyXG4gIHByaXZhdGUgX2RpdElkeDogbnVtYmVyID0gSW50MzIuTWluVmFsdWU7XHJcbiAgcHJpdmF0ZSBfaXNNb2RhbDogYm9vbGVhbiA9IHRydWU7IC8vIFl8TlxyXG4gIHByaXZhdGUgX3RyYW5zT3duZXI6IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfbmV3SWQ6IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZm9yY2VNb2RhbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2tleTogc3RyaW5nID0gbnVsbDtcclxuICBwcml2YXRlIF92YXJMaXN0OiBBcmd1bWVudHNMaXN0ID0gbnVsbDtcclxuICBwcml2YXRlIF9pc1JvdXRlOiBib29sZWFuID0gZmFsc2U7IC8vIFl8TlxyXG4gIE5ld1Rhc2tYTUw6IHN0cmluZyA9IG51bGw7XHJcbiAgc3RhdGljIGNyZWF0ZU5ld0NvbW1hbmRzVGFibGUgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgSXNCbG9ja2luZygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pc01vZGFsICYmIHRoaXMuX3N1YmZvcm1DdHJsTmFtZSA9PT0gbnVsbDtcclxuICB9XHJcblxyXG4gIGFzeW5jIEV4ZWN1dGUocmVzOiBJUmVzdWx0VmFsdWUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCBtZ2Q6IE1HRGF0YSA9IG51bGw7XHJcbiAgICBsZXQgZGVzdGluYXRpb25TdWJmb3JtU3VjY2VlZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBsZXQgcmVmcmVzaFdoZW5IaWRkZW46IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgbGV0IG1nZElEOiBudW1iZXIgPSAwO1xyXG4gICAgbGV0IHN1YmZvcm1DdHJsOiBNZ0NvbnRyb2wgPSBudWxsO1xyXG4gICAgbGV0IG9sZFRpbWVyczogTGlzdDxudW1iZXI+ID0gbmV3IExpc3Q8bnVtYmVyPigpLCBuZXdUaW1lcnMgPSBuZXcgTGlzdDxudW1iZXI+KCk7XHJcbiAgICBsZXQgbW92ZVRvRmlyc3RDb250cm9sOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIGxldCBndWlQYXJlbnRUYXNrOiBUYXNrQmFzZTtcclxuICAgIGxldCBndWlQYXJlbnRNZ0RhdGE6IE1HRGF0YSA9IG51bGw7XHJcbiAgICBsZXQgY2FsbGluZ1Rhc2s6IFRhc2tCYXNlID0gKHRoaXMuX2NhbGxpbmdUYXNrVGFnICE9IG51bGwgPyA8VGFza0Jhc2U+QWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLkdldFRhc2tCeUlEKHRoaXMuX2NhbGxpbmdUYXNrVGFnKSA6IG51bGwpO1xyXG4gICAgbGV0IHBhdGhQYXJlbnRUYXNrOiBUYXNrQmFzZSA9ICh0aGlzLl9wYXRoUGFyZW50VGFza1RhZyAhPSBudWxsID8gPFRhc2tCYXNlPkFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5HZXRUYXNrQnlJRCh0aGlzLl9wYXRoUGFyZW50VGFza1RhZykgOiBudWxsKTtcclxuXHJcbiAgICAvLyBXaGVuIGEgbm9uT2ZmbGluZSB0YXNrIHdhcyBjYWxsZWQgZnJvbSBhbiBPZmZsaW5lIHRhc2sgKG9mIGNvdXJzZSB2aWEgTVAgZXZlbnQpLFxyXG4gICAgLy8gdGhlIGNhbGxpbmcgdGFzayBpZCB3YXMgbm90IHNlbnQgdG8gdGhlIHNlcnZlciBiZWNhdXNlIHRoZSBzZXJ2ZXIgaXMgdW5hd2FyZSBvZiB0aGVcclxuICAgIC8vIG9mZmxpbmUgdGFzay4gU28sIHdoZW4gY29taW5nIGJhY2sgZnJvbSB0aGUgc2VydmVyLCBhc3NpZ24gdGhlIGNvcnJlY3QgY2FsbGluZyB0YXNrLlxyXG4gICAgLy8gVGFza0Jhc2UgbGFzdEZvY3VzZWRUYXNrID0gQ2xpZW50TWFuYWdlci5JbnN0YW5jZS5nZXRMYXN0Rm9jdXNlZFRhc2soKTtcclxuICAgIC8vIGlmIChsYXN0Rm9jdXNlZFRhc2sgIT0gbnVsbCAmJiBsYXN0Rm9jdXNlZFRhc2suSXNPZmZsaW5lKVxyXG4gICAgLy8gICBfY2FsbGluZ1Rhc2tUYWcgPSBsYXN0Rm9jdXNlZFRhc2suZ2V0VGFza1RhZygpO1xyXG5cclxuICAgIGd1aVBhcmVudFRhc2sgPSBjYWxsaW5nVGFzayA9IDxUYXNrQmFzZT5BY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuR2V0VGFza0J5SUQodGhpcy5fY2FsbGluZ1Rhc2tUYWcpO1xyXG5cclxuICAgIC8vIGRpdElkeCBpcyBzZW5kIGJ5IHNlcnZlciBvbmx5IGZvciBzdWJmb3JtIG9wZW5pbmcgZm9yIHJlZnJlc2hXaGVuSGlkZGVuXHJcbiAgICBpZiAoKCFOU3RyaW5nLklzTnVsbE9yRW1wdHkodGhpcy5fc3ViZm9ybUN0cmxOYW1lKSkgfHwgKHRoaXMuX2RpdElkeCAhPT0gSW50MzIuTWluVmFsdWUpIHx8IHRoaXMuX2lzUm91dGUpIHtcclxuICAgICAgaWYgKHRoaXMuX2lzUm91dGUgJiYgTlN0cmluZy5Jc051bGxPckVtcHR5KHRoaXMuX3N1YmZvcm1DdHJsTmFtZS50cmltKCkpKSB7XHJcbiAgICAgICAgc3ViZm9ybUN0cmwgPSA8TWdDb250cm9sPmNhbGxpbmdUYXNrLmdldEZvcm0oKS5EZWZhdWx0Um91dGVyT3V0bGV0O1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmICghY2FsbGluZ1Rhc2suSXNJbnRlcmFjdGl2ZSkge1xyXG4gICAgICAgICAgZm9yIChsZXQgcGFyZW50VGFzazogVGFza0Jhc2UgPSBjYWxsaW5nVGFzazsgcGFyZW50VGFzay5nZXRGb3JtKCkgIT0gbnVsbDsgcGFyZW50VGFzayA9IHBhcmVudFRhc2suZ2V0UGFyZW50KCkpIHtcclxuICAgICAgICAgICAgc3ViZm9ybUN0cmwgPSA8TWdDb250cm9sPnBhcmVudFRhc2suZ2V0Rm9ybSgpLmdldEN0cmxCeU5hbWUodGhpcy5fc3ViZm9ybUN0cmxOYW1lLCBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9TVUJGT1JNKTtcclxuICAgICAgICAgICAgaWYgKHN1YmZvcm1DdHJsICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGNhbGxpbmdUYXNrID0gZ3VpUGFyZW50VGFzayA9IHBhcmVudFRhc2s7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgc3ViZm9ybUN0cmwgPSAodGhpcy5fZGl0SWR4ICE9PSBJbnQzMi5NaW5WYWx1ZSA/IDxNZ0NvbnRyb2w+Y2FsbGluZ1Rhc2suZ2V0Rm9ybSgpLmdldEN0cmwodGhpcy5fZGl0SWR4KSA6ICg8TWdGb3JtPmNhbGxpbmdUYXNrLmdldEZvcm0oKSkuZ2V0U3ViRm9ybUN0cmxCeU5hbWUodGhpcy5fc3ViZm9ybUN0cmxOYW1lKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2FsbGluZ1Rhc2sgIT0gbnVsbClcclxuICAgICAgbWdkID0gY2FsbGluZ1Rhc2suZ2V0TUdEYXRhKCk7XHJcblxyXG4gICAgaWYgKHN1YmZvcm1DdHJsICE9IG51bGwpIHtcclxuICAgICAgbGV0IHN1YmZvcm1UYXNrOiBUYXNrQmFzZSA9IDxUYXNrQmFzZT5zdWJmb3JtQ3RybC5nZXRTdWJmb3JtVGFzaygpO1xyXG4gICAgICBndWlQYXJlbnRUYXNrID0gPFRhc2tCYXNlPnN1YmZvcm1DdHJsLmdldEZvcm0oKS5nZXRUYXNrKCk7XHJcbiAgICAgIG1nZElEID0gZ3VpUGFyZW50VGFzay5nZXRNZ2RJRCgpO1xyXG4gICAgICBndWlQYXJlbnRNZ0RhdGEgPSBndWlQYXJlbnRUYXNrLmdldE1HRGF0YSgpO1xyXG4gICAgICBpZiAoZ3VpUGFyZW50TWdEYXRhLmdldFRpbWVySGFuZGxlcnMoKSAhPSBudWxsKVxyXG4gICAgICAgIG9sZFRpbWVycyA9IGd1aVBhcmVudE1nRGF0YS5nZXRUaW1lckhhbmRsZXJzKCkuZ2V0VGltZXJzVmVjdG9yKCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5fZGl0SWR4ICE9PSBJbnQzMi5NaW5WYWx1ZSkgeyAvLyBmb3IgcmVmcmVzaCB3aGVuIGhpZGRlblxyXG4gICAgICAgIHJlZnJlc2hXaGVuSGlkZGVuID0gZmFsc2U7XHJcbiAgICAgICAgbW92ZVRvRmlyc3RDb250cm9sID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7IC8vIGZvciBkZXN0aW5hdGlvblxyXG4gICAgICAgIGRlc3RpbmF0aW9uU3ViZm9ybVN1Y2NlZWRlZCA9IHRydWU7XHJcbiAgICAgICAgLy8gUGFzcyB0cmFuc2FjdGlvbiBvd25lcnNoaXBcclxuICAgICAgICBpZiAodGhpcy5fdHJhbnNPd25lciAhPSBudWxsKSB7XHJcbiAgICAgICAgICBsZXQgbmV3VHJhbnNPd25lclRhc2sgPSA8VGFza0Jhc2U+QWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLkdldFRhc2tCeUlEKHRoaXMuX3RyYW5zT3duZXIpO1xyXG4gICAgICAgICAgaWYgKG5ld1RyYW5zT3duZXJUYXNrICE9IG51bGwpXHJcbiAgICAgICAgICAgIG5ld1RyYW5zT3duZXJUYXNrLnNldFRyYW5zT3duZXJUYXNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzdWJmb3JtVGFzayAhPSBudWxsKSB7XHJcbiAgICAgICAgICBzdWJmb3JtVGFzay5zZXREZXN0aW5hdGlvblN1YmZvcm0odHJ1ZSk7XHJcbiAgICAgICAgICBhd2FpdCBzdWJmb3JtVGFzay5zdG9wKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghTWdDb250cm9sLnZhbGlkUmV0dXJuVG9DdHJsKCkpXHJcbiAgICAgICAgICAgTWdDb250cm9sLlJldHVyblRvQ3RybCA9IExhc3RGb2N1c2VkTWFuYWdlci5nZXRMYXN0Rm9jdXNlZENvbnRyb2woKTtcclxuICAgICAgfVxyXG4gICAgICBzdWJmb3JtQ3RybC5zZXRTdWJmb3JtVGFza0lkKHRoaXMuX25ld0lkKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcGFyZW50TWdEYXRhOiBNR0RhdGE7XHJcbiAgICBpZiAoY2FsbGluZ1Rhc2sgPT0gbnVsbClcclxuICAgICAgcGFyZW50TWdEYXRhID0gQWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLmdldE1HRGF0YSgwKTtcclxuICAgIGVsc2VcclxuICAgICAgcGFyZW50TWdEYXRhID0gY2FsbGluZ1Rhc2suZ2V0TUdEYXRhKCk7XHJcblxyXG4gICAgaWYgKCFkZXN0aW5hdGlvblN1YmZvcm1TdWNjZWVkZWQgJiYgcmVmcmVzaFdoZW5IaWRkZW4pIHtcclxuICAgICAgbWdkSUQgPSBBY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuZ2V0QXZhaWxhYmxlSWR4KCk7XHJcbiAgICAgIERlYnVnLkFzc2VydChtZ2RJRCA+IDApO1xyXG4gICAgICBtZ2QgPSBuZXcgTUdEYXRhKCBPcGVuVVJMQ29tbWFuZC5jcmVhdGVOZXdDb21tYW5kc1RhYmxlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIE9wZW5VUkxDb21tYW5kLmNyZWF0ZU5ld0NvbW1hbmRzVGFibGUoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWdkSUQsIHBhcmVudE1nRGF0YSwgdGhpcy5faXNNb2RhbCwgdGhpcy5fZm9yY2VNb2RhbCk7XHJcbiAgICAgIG1nZC5jb3B5VW5mcmFtZWRDbWRzKCk7XHJcbiAgICAgIGF3YWl0IEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5hZGRNR0RhdGEobWdkLCBtZ2RJRCwgZmFsc2UpO1xyXG5cclxuICAgICAgQWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLmN1cnJNZ2RJRCA9IG1nZElEO1xyXG4gICAgfVxyXG4gICAgdGhpcy5PYmogPSB0aGlzLl9rZXk7XHJcbiAgICB0aGlzLl9rZXkgPSBudWxsO1xyXG4gICAgdHJ5IHtcclxuXHJcbiAgICAgIC8vIFRPRE8gOiBjaGVjayBpZiB3ZSBuZWVkIHRvIGZvcmNlIEdhcmJhZ2VDb2xsZWN0aW9uXHJcbiAgICAgIC8vIFRPRE8gOiBjaGVjayB0aGlzIG91dCA6ICBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yNzMyMTk5Ny9ob3ctdG8tcmVxdWVzdC10aGUtZ2FyYmFnZS1jb2xsZWN0b3ItaW4tbm9kZS1qcy10by1ydW5cclxuICAgICAgLy8gaWYgKEdDLkdldFRvdGFsTWVtb3J5KGZhbHNlKSA+IDMwMDAwMDAwKVxyXG4gICAgICAvLyAgIEdDLkNvbGxlY3QoKTtcclxuICAgICAgYXdhaXQgUmVtb3RlQ29tbWFuZHNQcm9jZXNzb3IuR2V0SW5zdGFuY2UoKS5Qcm9jZXNzUmVzcG9uc2UodGhpcy5OZXdUYXNrWE1MLCBtZ2RJRCwgbmV3IE9wZW5pbmdUYXNrRGV0YWlscyhjYWxsaW5nVGFzaywgcGF0aFBhcmVudFRhc2spLCBudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICBmaW5hbGx5IHtcclxuICAgICAgQWNjZXNzSGVscGVyLmV2ZW50c01hbmFnZXIuc2V0SWdub3JlVW5rbm93bkFib3J0KGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGVzdGluYXRpb25TdWJmb3JtU3VjY2VlZGVkIHx8ICFyZWZyZXNoV2hlbkhpZGRlbikge1xyXG4gICAgICBzdWJmb3JtQ3RybC5pbml0U3ViZm9ybVRhc2soKTtcclxuXHJcbiAgICAgIGlmIChkZXN0aW5hdGlvblN1YmZvcm1TdWNjZWVkZWQpIHtcclxuICAgICAgICBsZXQgc3ViZm9ybVRhc2s6IFRhc2tCYXNlID0gPFRhc2tCYXNlPnN1YmZvcm1DdHJsLmdldFN1YmZvcm1UYXNrKCk7XHJcbiAgICAgICAgbW92ZVRvRmlyc3RDb250cm9sID0gIWNhbGxpbmdUYXNrLlJldGFpbkZvY3VzO1xyXG4gICAgICAgIHN1YmZvcm1UYXNrLnNldElzRGVzdGluYXRpb25DYWxsKHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGlzU3ViZm9ybU1vZGFsOiBib29sZWFuID0gZmFsc2U7XHJcblx0ICBsZXQgcHJldk1nRGF0YUlzTW9kYWwgPSBtZ2QuSXNNb2RhbDtcclxuXHJcbiAgICBpZiAoc3ViZm9ybUN0cmwgIT0gbnVsbCkge1xyXG4gICAgICBpZiAoZ3VpUGFyZW50TWdEYXRhLmdldFRpbWVySGFuZGxlcnMoKSAhPSBudWxsKVxyXG4gICAgICAgIG5ld1RpbWVycyA9IGd1aVBhcmVudE1nRGF0YS5nZXRUaW1lckhhbmRsZXJzKCkuZ2V0VGltZXJzVmVjdG9yKCk7XHJcbiAgICAgIGd1aVBhcmVudE1nRGF0YS5jaGFuZ2VUaW1lcnMob2xkVGltZXJzLCBuZXdUaW1lcnMpO1xyXG5cdCAgaWYgKHN1YmZvcm1DdHJsLklzTW9kYWwoKSlcclxuXHRcdHRoaXMuX2lzTW9kYWwgPSBpc1N1YmZvcm1Nb2RhbCA9IG1nZC5Jc01vZGFsID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGxldCBub25JbnRlcmFjdGl2ZVRhc2s6IFRhc2tCYXNlID0gYXdhaXQgVGFzay5TdGFydFByb2dyYW0oZGVzdGluYXRpb25TdWJmb3JtU3VjY2VlZGVkLCBtb3ZlVG9GaXJzdENvbnRyb2wpO1xyXG4gICAgLy8gaW4gbG9jYWwgdGFza3MsIGlzbW9kYWwgaXMgY2FsY3VsYXRlZCBhZnRlciB0aGUgbWFpbiBkaXNwbGF5LCBzbyB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgY29tbWFuZCBtZW1iZXJcclxuICAgIGlmICghaXNTdWJmb3JtTW9kYWwpXHJcbiAgICAgIHRoaXMuX2lzTW9kYWwgPSBtZ2QuSXNNb2RhbDtcclxuXHJcbiAgICAvLyBUaGlzIGlzIGJlY2F1c2Ugd2UgY2Fubm90IGFsbG93IHRoZSB0YXNrcyBhYm92ZSBpdCB0byBjYXRjaCBldmVudHMuXHJcbiAgICBpZiAobm9uSW50ZXJhY3RpdmVUYXNrID09IG51bGwpIHtcclxuICAgICAgLy8gYSBub24gaW50ZXJhY3RpdmUgcGFyZW50IHdpbGwgY2F1c2UgdGhlIGNhbGxlZCB0YXNrIHRvIGJlaGF2ZSBsaWtlIG1vZGFsIGJ5IGhhdmluZyBpdHMgb3duIGV2ZW50cyBsb29wLlxyXG4gICAgICAvLyBJbiBjYXNlIG9mIG1haW4gcHJvZ3JhbSBjYWxsZXIgKHdoaWNoIGlzIGZsYWdnZWQgYXMgbm9uIGludGVyYWN0aXZlKSB3ZSB3aWxsIGhhdmUgYSBuZXcgZXZlbnRzIGxvb3AgZm9yIHRoZSBjYWxsZWQgcHJvZ3JhbVxyXG4gICAgICAvLyBpZiB0aGUgbWFpbiBwcm9ncmFtIGlzIHdpdGhvdXQgYSBmb3JtLiBJZiB0aGUgbWFpbiBwcm9nIGhhcyBhIGZvcm0gLCB0aGVuIHRoZSBjYWxsZWUgY2FuIGJlIGluY2x1ZGVkIGluIHRoZSBtYWluIHByb2cgbG9vcC5cclxuICAgICAgLy8gaWYgc3ViZm9ybSBpcyBNb2RhbCwgZW50ZXIgaW4gc2VwYXJhdGUgZXZlbnRsb29wIHRvIGdldCBNb2RhbGl0eSBiZWhhdmlvclxyXG4gICAgICBpZiAoY2FsbGluZ1Rhc2sgIT0gbnVsbCAmJiAoKHRoaXMuX2lzTW9kYWwgJiYgKGlzU3ViZm9ybU1vZGFsIHx8ICFkZXN0aW5hdGlvblN1YmZvcm1TdWNjZWVkZWQpICYmIHJlZnJlc2hXaGVuSGlkZGVuKSB8fCAoIWNhbGxpbmdUYXNrLklzSW50ZXJhY3RpdmUgJiYgKCFjYWxsaW5nVGFzay5pc01haW5Qcm9nKCkgfHwgY2FsbGluZ1Rhc2suZ2V0Rm9ybSgpID09IG51bGwpKSkpIHtcclxuICAgICAgICBpZiAodGhpcy5faXNNb2RhbCkge1xyXG4gICAgICAgICAgLy8gcmVmcmVzaCBhbGwgdGFza3MgZGF0YSBiZWZvcmUgb3BlbmluZyBtb2RhbCB3aW5kb3cuIEJlY2F1c2Ugb25jZSB0aGUgd2luZG93IGlzIG9wZW5lZCwgcGFyZW50IHRhc2snc1xyXG4gICAgICAgICAgLy8gZGF0YSB3aWxsIG5vdCBiZSByZWZyZXNoZWQgdW50aWwgdGhlIG1vZGFsIHdpbmRvdyBpcyBjbG9zZWQgYW5kIG1vZGFsIHdpbmRvdyB0YXNrIHdpbGwgbm90IGdldCB0aGUgbGF0ZXN0XHJcbiAgICAgICAgICAvLyBwYXJlbnQgZGF0YS5cclxuXHJcbiAgICAgICAgICBBY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuc3RhcnRUYXNrc0l0ZXJhdGlvbigpO1xyXG4gICAgICAgICAgICBsZXQgdGFzazogVGFza0Jhc2U7XHJcbiAgICAgICAgICAgIHdoaWxlICgodGFzayA9IDxUYXNrQmFzZT5BY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuZ2V0TmV4dFRhc2soKSkgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgICBsZXQgZGF0YVZpZXdXYXNSZXRyaWV2ZWQ6IGJvb2xlYW4gPSB0YXNrLkRhdGFWaWV3V2FzUmV0cmlldmVkO1xyXG4gICAgICAgICAgICAgIGlmIChkYXRhVmlld1dhc1JldHJpZXZlZCkge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGFzay5SZWZyZXNoRGlzcGxheSgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYXdhaXQgQWNjZXNzSGVscGVyLmV2ZW50c01hbmFnZXIuRXZlbnRzTG9vcChtZ2QpO1xyXG5cclxuICAgICAgICAgIC8vYWZ0ZXIgY2xvc2luZyBtb2RhbCBzdWJmb3JtIGF0c2ssIGl0IGNvbWVzIG91dCBvZiBldmVudCBsb29wICwgc2V0IG1nZC5Jc0Fib3J0aW5nPSBmYWxzZS5cclxuICAgICAgICAgIC8vcmUtc3RvcmUgbWdkLklzTW9kYWwgYmFjayB0byBpdCdzIG9yaWdpbmFsIHZhbHVlLlxyXG4gICAgICAgICAgaWYgKGlzU3ViZm9ybU1vZGFsKVxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBtZ2QuSXNBYm9ydGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBtZ2QuSXNNb2RhbCA9IHByZXZNZ0RhdGFJc01vZGFsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIGF3YWl0IEFjY2Vzc0hlbHBlci5ldmVudHNNYW5hZ2VyLk5vbkludGVyYWN0aXZlRXZlbnRzTG9vcChtZ2QsIG5vbkludGVyYWN0aXZlVGFzayk7XHJcblxyXG4gICAgLy8gaWYgdGhlcmUgaXMgcGVuZGluZyBldmVudCB3aGljaCBjYXVzZWQgY2xvc3VyZSBvZiBtb2RhbCBzdWJmb3JtLCBhZGQgaXQgaW4gcXVldWUgbm93LlxyXG4gICAgaWYgKEFjY2Vzc0hlbHBlci5ldmVudHNNYW5hZ2VyLmdldFBlbmRpbmdHdWlFdmVudCgpIT0gbnVsbCAmJiAoaXNTdWJmb3JtTW9kYWwgfHwgbm9uSW50ZXJhY3RpdmVUYXNrICE9IG51bGwpKVxyXG4gICAge1xyXG4gICAgICBsZXQgZ3VpRXZlbnQgPSBBY2Nlc3NIZWxwZXIuZXZlbnRzTWFuYWdlci5nZXRQZW5kaW5nR3VpRXZlbnQoKTtcclxuICAgICAgLy8gY2hlY2sgaWYgdHJ1ZSBjYWxsZXIgaXMgbm9uLWludGVyYWN0aXZlIHRhc2sgPyBpZiBzbyAuLi5NR19BQ1RfQ0xPU0Ugc2hvdWxkIGJlIGFkZGVkXHJcbiAgICAgIGlmIChndWlFdmVudC5nZXRUYXNrKCkgIT0gY2FsbGluZ1Rhc2sgfHwgdGhpcy5fY2FsbGluZ1Rhc2tUYWcgIT09IGNhbGxpbmdUYXNrLmdldFRhc2tUYWcoKSkge1xyXG5cclxuICAgICAgICBjYWxsaW5nVGFzayA9IDxUYXNrPkFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5HZXRUYXNrQnlJRCh0aGlzLl9jYWxsaW5nVGFza1RhZyk7XHJcbiAgICAgICAgLy8gSWYgY2FsbGluZyB0YXNrIGlzIGNhbGxlZCBieSBjYWxsIGRlc3RpbmF0aW9uIHRoZW4gY2xvc2UgaXQgYnkgcGVyZm9ybVN1YmZvcm1DbG9zZSgpLlxyXG4gICAgICAgIGlmICgoPFRhc2s+Y2FsbGluZ1Rhc2spLmdldElzRGVzdGluYXRpb25DYWxsKCkpIHtcclxuICAgICAgICAgIGxldCBzdWJmb3JtQ3RybDogTWdDb250cm9sID0gPE1nQ29udHJvbD5jYWxsaW5nVGFzay5nZXRGb3JtKCkuZ2V0U3ViRm9ybUN0cmwoKTtcclxuICAgICAgICAgIGF3YWl0IEFjY2Vzc0hlbHBlci5ldmVudHNNYW5hZ2VyLnBlcmZvcm1TdWJmb3JtQ2xvc2UoPE1nQ29udHJvbD5zdWJmb3JtQ3RybCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgbGV0IHJ0RXZ0ID0gbmV3IFJ1blRpbWVFdmVudChjYWxsaW5nVGFzayk7XHJcbiAgICAgICAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfQ0xPU0UpO1xyXG4gICAgICAgICAgcnRFdnQuc2V0Q3RybChudWxsKTtcclxuICAgICAgICAgIHJ0RXZ0LnNldEFyZ0xpc3QobnVsbCk7XHJcbiAgICAgICAgICBBY2Nlc3NIZWxwZXIuZXZlbnRzTWFuYWdlci5hZGRUb1RhaWwocnRFdnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBBY2Nlc3NIZWxwZXIuZXZlbnRzTWFuYWdlci5hZGRUb1RhaWwoZ3VpRXZlbnQpO1xyXG4gICAgICAgIEFjY2Vzc0hlbHBlci5ldmVudHNNYW5hZ2VyLnNldFBlbmRpbmdHdWlFdmVudChudWxsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIEhhbmRsZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgc3dpdGNoIChhdHRyaWJ1dGUpIHtcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0NBTExJTkdUQVNLOlxyXG4gICAgICAgIHRoaXMuX2NhbGxpbmdUYXNrVGFnID0gdmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9QQVRIX1BBUkVOVF9UQVNLOlxyXG4gICAgICAgIHRoaXMuX3BhdGhQYXJlbnRUYXNrVGFnID0gdmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9TVUJGT1JNX0NUUkw6XHJcbiAgICAgICAgdGhpcy5fc3ViZm9ybUN0cmxOYW1lID0gdmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgWE1MQ29uc3RhbnRzLk1HX0FUVFJfRElUSURYOlxyXG4gICAgICAgIHRoaXMuX2RpdElkeCA9IFhtbFBhcnNlci5nZXRJbnQodmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfTU9EQUw6XHJcbiAgICAgICAgdGhpcy5faXNNb2RhbCA9ICh2YWx1ZVswXSA9PT0gJzEnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX1RSQU5TX09XTkVSOlxyXG4gICAgICAgIHRoaXMuX3RyYW5zT3duZXIgPSB2YWx1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX05FV0lEOlxyXG4gICAgICAgIHRoaXMuX25ld0lkID0gTlN0cmluZy5UcmltRW5kKHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0tFWTpcclxuICAgICAgICB0aGlzLl9rZXkgPSB2YWx1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0FSR0xJU1Q6XHJcbiAgICAgICAgdGhpcy5fdmFyTGlzdCA9IG5ldyBBcmd1bWVudHNMaXN0KCk7XHJcbiAgICAgICAgdGhpcy5fdmFyTGlzdC5maWxsTGlzdCh2YWx1ZSwgPFRhc2tCYXNlPkFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5HZXRUYXNrQnlJRCh0aGlzLlRhc2tUYWcpKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX09CSkVDVDpcclxuICAgICAgICB0aGlzLk9iaiA9IHZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfSVNfUk9VVEU6XHJcbiAgICAgICAgdGhpcy5faXNSb3V0ZSA9ICh2YWx1ZVswXSA9PT0gJzEnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBzdXBlci5IYW5kbGVBdHRyaWJ1dGUoYXR0cmlidXRlLCB2YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,37 +0,0 @@
1
- import { ClientTargetedCommandBase } from "./ClientTargetedCommandBase";
2
- import { StorageAttribute, XMLConstants, XmlParser } from "@magic-xpa/utils";
3
- import { ConstInterface } from "../../ConstInterface";
4
- export class ResultCommand extends ClientTargetedCommandBase {
5
- async Execute(res) {
6
- if (this._isNull)
7
- res.SetResultValue(null, StorageAttribute.NONE);
8
- else {
9
- if (this._val == null)
10
- this._val = "";
11
- res.SetResultValue(this._val, this._attr);
12
- }
13
- }
14
- HandleAttribute(attribute, value) {
15
- switch (attribute) {
16
- case ConstInterface.MG_ATTR_NULL:
17
- this._isNull = (XmlParser.getInt(value) === 1);
18
- break;
19
- case ConstInterface.MG_ATTR_PAR_ATTRS:
20
- this._attr = value[0];
21
- break;
22
- case XMLConstants.MG_ATTR_VALUE:
23
- this._val = XmlParser.unescape(value);
24
- break;
25
- default:
26
- super.HandleAttribute(attribute, value);
27
- break;
28
- }
29
- }
30
- constructor() {
31
- super();
32
- this._isNull = false;
33
- this._attr = StorageAttribute.NONE;
34
- this._val = null;
35
- }
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzdWx0Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvU2VydmVyVG9DbGllbnQvUmVzdWx0Q29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRTNFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxNQUFNLE9BQU8sYUFBYyxTQUFRLHlCQUF5QjtJQVMxRCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQWlCO1FBRTdCLElBQUksSUFBSSxDQUFDLE9BQU87WUFDZCxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QztZQUNILElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJO2dCQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNqQixHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQU9NLGVBQWUsQ0FBQyxTQUFpQixFQUFFLEtBQWE7UUFDckQsUUFBUSxTQUFTLEVBQUU7WUFDakIsS0FBSyxjQUFjLENBQUMsWUFBWTtnQkFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQy9DLE1BQU07WUFFUixLQUFLLGNBQWMsQ0FBQyxpQkFBaUI7Z0JBQ25DLElBQUksQ0FBQyxLQUFLLEdBQXFCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDeEMsTUFBTTtZQUVSLEtBQUssWUFBWSxDQUFDLGFBQWE7Z0JBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdEMsTUFBTTtZQUVSO2dCQUNFLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN4QyxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBRUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQTdDRixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFVBQUssR0FBcUIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1FBQ2hELFNBQUksR0FBVyxJQUFJLENBQUM7SUE0QzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZX0gZnJvbSBcIi4vQ2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZVwiO1xyXG5pbXBvcnQge1N0b3JhZ2VBdHRyaWJ1dGUsIFhNTENvbnN0YW50cywgWG1sUGFyc2VyfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0lSZXN1bHRWYWx1ZX0gZnJvbSBcIi4uLy4uL3J0L0lSZXN1bHRWYWx1ZVwiO1xyXG5pbXBvcnQge0NvbnN0SW50ZXJmYWNlfSBmcm9tIFwiLi4vLi4vQ29uc3RJbnRlcmZhY2VcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBSZXN1bHRDb21tYW5kIGV4dGVuZHMgQ2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZSB7XHJcbiAgcHJpdmF0ZSBfaXNOdWxsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfYXR0cjogU3RvcmFnZUF0dHJpYnV0ZSA9IFN0b3JhZ2VBdHRyaWJ1dGUuTk9ORTtcclxuICBwcml2YXRlIF92YWw6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImV4cFwiPjwvcGFyYW0+XHJcbiAgYXN5bmMgRXhlY3V0ZShyZXM6IElSZXN1bHRWYWx1ZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgLy8gc2V0IHZhbHVlIHRvICdnbG9iYWwnIEV4cHJlc3Npb24gdmFyaWFibGVcclxuICAgIGlmICh0aGlzLl9pc051bGwpXHJcbiAgICAgIHJlcy5TZXRSZXN1bHRWYWx1ZShudWxsLCBTdG9yYWdlQXR0cmlidXRlLk5PTkUpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLl92YWwgPT0gbnVsbClcclxuICAgICAgICB0aGlzLl92YWwgPSBcIlwiO1xyXG4gICAgICByZXMuU2V0UmVzdWx0VmFsdWUodGhpcy5fdmFsLCB0aGlzLl9hdHRyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImF0dHJpYnV0ZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidmFsdWVcIj48L3BhcmFtPlxyXG4gIHB1YmxpYyBIYW5kbGVBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHN3aXRjaCAoYXR0cmlidXRlKSB7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9OVUxMOlxyXG4gICAgICAgIHRoaXMuX2lzTnVsbCA9IChYbWxQYXJzZXIuZ2V0SW50KHZhbHVlKSA9PT0gMSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfUEFSX0FUVFJTOlxyXG4gICAgICAgIHRoaXMuX2F0dHIgPSA8U3RvcmFnZUF0dHJpYnV0ZT52YWx1ZVswXTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgWE1MQ29uc3RhbnRzLk1HX0FUVFJfVkFMVUU6XHJcbiAgICAgICAgdGhpcy5fdmFsID0gWG1sUGFyc2VyLnVuZXNjYXBlKHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgc3VwZXIuSGFuZGxlQXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,83 +0,0 @@
1
- import { ClientTargetedCommandBase } from './ClientTargetedCommandBase';
2
- import { NString, RefParam } from '@magic-xpa/mscorelib';
3
- import { Styles } from '@magic-xpa/gui';
4
- import { Logger, MsgInterface, StrUtil, XmlParser } from '@magic-xpa/utils';
5
- import { ConstUtils } from '../../util/ConstUtils';
6
- import { ConstInterface } from '../../ConstInterface';
7
- import { LanguageData } from '../../env/LanguageData';
8
- import { LastFocusedManager } from '../../rt/LastFocusedManager';
9
- import { AccessHelper } from '../../AccessHelper';
10
- import { GUIManager } from "../../GUIManager";
11
- export class VerifyCommand extends ClientTargetedCommandBase {
12
- constructor() {
13
- super();
14
- this._callingTaskTag = null;
15
- this._title = null;
16
- this._errLogAppend = false;
17
- this._text = null;
18
- this._display = '\0';
19
- this._mode = '\0';
20
- }
21
- async Execute(res) {
22
- let errForConsole = StrUtil.getConsoleErorString(this._text);
23
- let task = (AccessHelper.mgDataTable.GetTaskByID(this.TaskTag) || AccessHelper.mgDataTable.GetTaskByID(this._callingTaskTag));
24
- if (task === null)
25
- task = LastFocusedManager.Instance.getLastFocusedTask();
26
- let errLogAppend = this._errLogAppend;
27
- if (errLogAppend)
28
- Logger.Instance.WriteExceptionToLogWithMsg(errForConsole);
29
- if (!NString.IsNullOrEmpty(this._text)) {
30
- if (this._display === ConstInterface.DISPLAY_BOX) {
31
- let style = new RefParam(0);
32
- let errForMsgBox = StrUtil.getMsgBoxErorString(this._text);
33
- let mlsTransText = LanguageData.Instance.translate(errForMsgBox);
34
- let mlsTransTitle = new RefParam(NString.Empty);
35
- this.PrepareMessageBoxForDisplay(task, mlsTransTitle, style);
36
- let returnValue = await GUIManager.Instance.MessageBox(mlsTransTitle.value, mlsTransText, style.value);
37
- await this.ProcessMessageBoxResponse(task, returnValue);
38
- }
39
- else if (this._display === ConstInterface.DISPLAY_STATUS && task != null) {
40
- task.DisplayMessageToStatusBar(errForConsole);
41
- }
42
- }
43
- }
44
- PrepareMessageBoxForDisplay(task, mlsTransTitle, style) {
45
- let options = LanguageData.Instance.getConstMessage(MsgInterface.BRKTAB_STOP_MODE_TITLE);
46
- this._title = ConstUtils.getStringOfOption(options, "EW", this._mode);
47
- mlsTransTitle.value = LanguageData.Instance.translate(this._title);
48
- style.value = Styles.MSGBOX_BUTTON_OK |
49
- ((this._mode === 'E')
50
- ? Styles.MSGBOX_ICON_ERROR
51
- : Styles.MSGBOX_ICON_WARNING);
52
- }
53
- ProcessMessageBoxResponse(task, returnValue) {
54
- }
55
- HandleAttribute(attribute, value) {
56
- switch (attribute) {
57
- case ConstInterface.MG_ATTR_TITLE:
58
- this._title = value;
59
- break;
60
- case ConstInterface.MG_ATTR_CALLINGTASK:
61
- this._callingTaskTag = value;
62
- break;
63
- case ConstInterface.MG_ATTR_ERR_LOG_APPEND:
64
- this._errLogAppend = XmlParser.getBoolean(value);
65
- break;
66
- case ConstInterface.MG_ATTR_TEXT:
67
- this._text = XmlParser.unescape(value);
68
- break;
69
- case ConstInterface.MG_ATTR_DISPLAY:
70
- this._display = value[0];
71
- break;
72
- case ConstInterface.MG_ATTR_MODE:
73
- this._mode = value[0];
74
- break;
75
- case ConstInterface.MG_ATTR_ACK:
76
- break;
77
- default:
78
- super.HandleAttribute(attribute, value);
79
- break;
80
- }
81
- }
82
- }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVyaWZ5Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvU2VydmVyVG9DbGllbnQvVmVyaWZ5Q29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxNQUFNLE9BQU8sYUFBYyxTQUFRLHlCQUF5QjtJQVMxRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBVEYsb0JBQWUsR0FBVyxJQUFJLENBQUM7UUFDdkMsV0FBTSxHQUFXLElBQUksQ0FBQztRQUNkLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLFVBQUssR0FBVyxJQUFJLENBQUM7UUFDckIsYUFBUSxHQUFXLElBQUksQ0FBQztRQUN4QixVQUFLLEdBQVcsSUFBSSxDQUFDO0lBSzdCLENBQUM7SUFNRCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQWlCO1FBQzdCLElBQUksYUFBYSxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0QsSUFBSSxJQUFJLEdBQWUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksWUFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDMUksSUFBSSxJQUFJLEtBQUssSUFBSTtZQUNmLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUkxRCxJQUFJLFlBQVksR0FBWSxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQy9DLElBQUksWUFBWTtZQUNkLE1BQU0sQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFHNUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxjQUFjLENBQUMsV0FBVyxFQUFFO2dCQUNoRCxJQUFJLEtBQUssR0FBcUIsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRzlDLElBQUksWUFBWSxHQUFXLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25FLElBQUksWUFBWSxHQUFXLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN6RSxJQUFJLGFBQWEsR0FBcUIsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVsRSxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDN0QsSUFBSSxXQUFXLEdBQVcsTUFBTSxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9HLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQzthQUN6RDtpQkFHSSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssY0FBYyxDQUFDLGNBQWMsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO2dCQUN4RSxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDL0M7U0FDRjtJQUNILENBQUM7SUFRRCwyQkFBMkIsQ0FBQyxJQUFVLEVBQUUsYUFBK0IsRUFBRSxLQUF1QjtRQUM5RixJQUFJLE9BQU8sR0FBVyxZQUFZLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RSxhQUFhLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUduRSxLQUFLLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDbkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDO2dCQUNuQixDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQjtnQkFDMUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFPRCx5QkFBeUIsQ0FBQyxJQUFVLEVBQUUsV0FBbUI7SUFFekQsQ0FBQztJQUVNLGVBQWUsQ0FBQyxTQUFpQixFQUFFLEtBQWE7UUFDckQsUUFBUSxTQUFTLEVBQUU7WUFDakIsS0FBSyxjQUFjLENBQUMsYUFBYTtnQkFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLE1BQU07WUFFUixLQUFLLGNBQWMsQ0FBQyxtQkFBbUI7Z0JBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO2dCQUM3QixNQUFNO1lBRVIsS0FBSyxjQUFjLENBQUMsc0JBQXNCO2dCQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pELE1BQU07WUFFUixLQUFLLGNBQWMsQ0FBQyxZQUFZO2dCQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07WUFFUixLQUFLLGNBQWMsQ0FBQyxlQUFlO2dCQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekIsTUFBTTtZQUVSLEtBQUssY0FBYyxDQUFDLFlBQVk7Z0JBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0QixNQUFNO1lBRVIsS0FBSyxjQUFjLENBQUMsV0FBVztnQkFDN0IsTUFBTTtZQUVSO2dCQUNFLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN4QyxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlIH0gZnJvbSAnLi9DbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlJztcclxuaW1wb3J0IHsgSVJlc3VsdFZhbHVlIH0gZnJvbSAnLi4vLi4vcnQvSVJlc3VsdFZhbHVlJztcclxuaW1wb3J0IHsgTlN0cmluZywgUmVmUGFyYW0gfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi8uLi90YXNrcy9UYXNrJztcclxuaW1wb3J0IHsgU3R5bGVzIH0gZnJvbSAnQG1hZ2ljLXhwYS9ndWknO1xyXG5pbXBvcnQgeyBMb2dnZXIsIE1zZ0ludGVyZmFjZSwgU3RyVXRpbCwgWG1sUGFyc2VyIH0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7IENvbnN0VXRpbHMgfSBmcm9tICcuLi8uLi91dGlsL0NvbnN0VXRpbHMnO1xyXG5pbXBvcnQgeyBDb25zdEludGVyZmFjZSB9IGZyb20gJy4uLy4uL0NvbnN0SW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTGFuZ3VhZ2VEYXRhIH0gZnJvbSAnLi4vLi4vZW52L0xhbmd1YWdlRGF0YSc7XHJcbmltcG9ydCB7IExhc3RGb2N1c2VkTWFuYWdlciB9IGZyb20gJy4uLy4uL3J0L0xhc3RGb2N1c2VkTWFuYWdlcic7XHJcbmltcG9ydCB7IEFjY2Vzc0hlbHBlciB9IGZyb20gJy4uLy4uL0FjY2Vzc0hlbHBlcic7XHJcbmltcG9ydCB7R1VJTWFuYWdlcn0gZnJvbSBcIi4uLy4uL0dVSU1hbmFnZXJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBWZXJpZnlDb21tYW5kIGV4dGVuZHMgQ2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZSB7XHJcbiAgcHJpdmF0ZSBfY2FsbGluZ1Rhc2tUYWc6IHN0cmluZyA9IG51bGw7IC8vIGlzIHRoZSBpZCBvZiB0aGUgdGFzayB0aGF0IGNhbGxlZCB0aGUgbmV3IHdpbmRvd1xyXG4gIF90aXRsZTogc3RyaW5nID0gbnVsbDsgLy8gdGl0bGUgb2YgdmVyaWZ5IG9wclxyXG4gIHByaXZhdGUgX2VyckxvZ0FwcGVuZDogYm9vbGVhbiA9IGZhbHNlOyAvLyBhcHBlbmQgdG8gZXJyb3IgbG9nIGZvciB2ZXJpZnkgb3ByXHJcbiAgcHJpdmF0ZSBfdGV4dDogc3RyaW5nID0gbnVsbDsgLy8gdGhlIHZlcmlmeSBtZXNzYWdlXHJcbiAgcHJpdmF0ZSBfZGlzcGxheTogc3RyaW5nID0gJ1xcMCc7XHJcbiAgcHJpdmF0ZSBfbW9kZTogc3RyaW5nID0gJ1xcMCc7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJleHBcIj48L3BhcmFtPlxyXG4gIGFzeW5jIEV4ZWN1dGUocmVzOiBJUmVzdWx0VmFsdWUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCBlcnJGb3JDb25zb2xlID0gU3RyVXRpbC5nZXRDb25zb2xlRXJvclN0cmluZyh0aGlzLl90ZXh0KTtcclxuICAgIGxldCB0YXNrOiBUYXNrID0gPFRhc2s+KEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5HZXRUYXNrQnlJRCh0aGlzLlRhc2tUYWcpIHx8IEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5HZXRUYXNrQnlJRCh0aGlzLl9jYWxsaW5nVGFza1RhZykpO1xyXG4gICAgaWYgKHRhc2sgPT09IG51bGwpXHJcbiAgICAgIHRhc2sgPSBMYXN0Rm9jdXNlZE1hbmFnZXIuSW5zdGFuY2UuZ2V0TGFzdEZvY3VzZWRUYXNrKCk7XHJcblxyXG4gICAgLy8gSW4gb3JkZXIgdG8ga2VlcCB0aGUgYmVoYXZpb3Igc2FtZSBhcyBpbiBPbmxpbmUsIHZlcmlmeSBvcGVyYXRpb24gd2FybmluZyBtZXNzYWdlc1xyXG4gICAgLy8gd2lsbCBiZSB3cml0dGVuIGFzIGVycm9yIG1lc3NhZ2VzIGluIENsaWVudCBsb2cgKFFDUiAjOTE1MTIyKVxyXG4gICAgbGV0IGVyckxvZ0FwcGVuZDogYm9vbGVhbiA9IHRoaXMuX2VyckxvZ0FwcGVuZDtcclxuICAgIGlmIChlcnJMb2dBcHBlbmQpXHJcbiAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZUV4Y2VwdGlvblRvTG9nV2l0aE1zZyhlcnJGb3JDb25zb2xlKTtcclxuXHJcbiAgICAvLyBCbGFuayBNZXNzYWdlIHdpbGwgbm90IGJlIHNob3duLCBzYW1lIGFzIGluIE9ubGluZVxyXG4gICAgaWYgKCFOU3RyaW5nLklzTnVsbE9yRW1wdHkodGhpcy5fdGV4dCkpIHtcclxuICAgICAgaWYgKHRoaXMuX2Rpc3BsYXkgPT09IENvbnN0SW50ZXJmYWNlLkRJU1BMQVlfQk9YKSB7XHJcbiAgICAgICAgbGV0IHN0eWxlOiBSZWZQYXJhbTxudW1iZXI+ID0gbmV3IFJlZlBhcmFtKDApO1xyXG5cclxuICAgICAgICAvLyBvbiB2ZXJpZnkgYm94LCBzaG93IHRyYW5zbGF0ZWQgdmFsdWUuIChzdGF0dXMgaXMgaGFuZGxlZCBpbiBwcm9wZXJ0eSkuXHJcbiAgICAgICAgbGV0IGVyckZvck1zZ0JveDogc3RyaW5nID0gU3RyVXRpbC5nZXRNc2dCb3hFcm9yU3RyaW5nKHRoaXMuX3RleHQpO1xyXG4gICAgICAgIGxldCBtbHNUcmFuc1RleHQ6IHN0cmluZyA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZS50cmFuc2xhdGUoZXJyRm9yTXNnQm94KTtcclxuICAgICAgICBsZXQgbWxzVHJhbnNUaXRsZTogUmVmUGFyYW08c3RyaW5nPiA9IG5ldyBSZWZQYXJhbShOU3RyaW5nLkVtcHR5KTtcclxuXHJcbiAgICAgICAgdGhpcy5QcmVwYXJlTWVzc2FnZUJveEZvckRpc3BsYXkodGFzaywgbWxzVHJhbnNUaXRsZSwgc3R5bGUpO1xyXG4gICAgICAgIGxldCByZXR1cm5WYWx1ZTogbnVtYmVyID0gYXdhaXQgR1VJTWFuYWdlci5JbnN0YW5jZS5NZXNzYWdlQm94KG1sc1RyYW5zVGl0bGUudmFsdWUsIG1sc1RyYW5zVGV4dCwgc3R5bGUudmFsdWUpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuUHJvY2Vzc01lc3NhZ2VCb3hSZXNwb25zZSh0YXNrLCByZXR1cm5WYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gZGlzcGxheSBtZXNzYWdlIG9uIHN0YXR1cyBvbmx5IGlmIHdlIGhhdmUgYSB0YXNrXHJcbiAgICAgIC8vIEJsYW5rIE1lc3NhZ2Ugd2lsbCBub3QgYmUgc2hvd24sIHNhbWUgYXMgaW4gT25saW5lXHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuX2Rpc3BsYXkgPT09IENvbnN0SW50ZXJmYWNlLkRJU1BMQVlfU1RBVFVTICYmIHRhc2sgIT0gbnVsbCkge1xyXG4gICAgICAgIHRhc2suRGlzcGxheU1lc3NhZ2VUb1N0YXR1c0JhcihlcnJGb3JDb25zb2xlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBQcmVwYXJlcyB0aGUgbWVzc2FnZSBib3gncyBzdHlsZSBhbmQgdGl0bGUgZm9yIGRpc3BsYXkuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJtbHNUcmFuc1RpdGxlXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJzdHlsZVwiPjwvcGFyYW0+XHJcbiAgUHJlcGFyZU1lc3NhZ2VCb3hGb3JEaXNwbGF5KHRhc2s6IFRhc2ssIG1sc1RyYW5zVGl0bGU6IFJlZlBhcmFtPHN0cmluZz4sIHN0eWxlOiBSZWZQYXJhbTxudW1iZXI+KTogdm9pZCB7XHJcbiAgICBsZXQgb3B0aW9uczogc3RyaW5nID0gTGFuZ3VhZ2VEYXRhLkluc3RhbmNlLmdldENvbnN0TWVzc2FnZShNc2dJbnRlcmZhY2UuQlJLVEFCX1NUT1BfTU9ERV9USVRMRSk7XHJcbiAgICB0aGlzLl90aXRsZSA9IENvbnN0VXRpbHMuZ2V0U3RyaW5nT2ZPcHRpb24ob3B0aW9ucywgXCJFV1wiLCB0aGlzLl9tb2RlKTtcclxuICAgIG1sc1RyYW5zVGl0bGUudmFsdWUgPSBMYW5ndWFnZURhdGEuSW5zdGFuY2UudHJhbnNsYXRlKHRoaXMuX3RpdGxlKTtcclxuXHJcbiAgICAvLyBhZGQgdGhlIGljb24gYWNjb3JkaW5nIHRvIHRoZSBtb2RlIDppcyBFcnJvciBcXCBXYXJuaW5nXHJcbiAgICBzdHlsZS52YWx1ZSA9IFN0eWxlcy5NU0dCT1hfQlVUVE9OX09LIHxcclxuICAgICAgKCh0aGlzLl9tb2RlID09PSAnRScpXHJcbiAgICAgICAgPyBTdHlsZXMuTVNHQk9YX0lDT05fRVJST1JcclxuICAgICAgICA6IFN0eWxlcy5NU0dCT1hfSUNPTl9XQVJOSU5HKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gSGFuZGxlcyB0aGUgcmVzcG9uc2UgcmVjZWl2ZWQgZnJvbSB0aGUgbWVzc2FnZSBib3guXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJyZXR1cm5WYWx1ZVwiPjwvcGFyYW0+XHJcbiAgUHJvY2Vzc01lc3NhZ2VCb3hSZXNwb25zZSh0YXNrOiBUYXNrLCByZXR1cm5WYWx1ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAvLyBpbnRlbnRpb25hbGx5IGxlZnQgZW1wdHkuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgSGFuZGxlQXR0cmlidXRlKGF0dHJpYnV0ZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBzd2l0Y2ggKGF0dHJpYnV0ZSkge1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfVElUTEU6XHJcbiAgICAgICAgdGhpcy5fdGl0bGUgPSB2YWx1ZTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9DQUxMSU5HVEFTSzpcclxuICAgICAgICB0aGlzLl9jYWxsaW5nVGFza1RhZyA9IHZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0VSUl9MT0dfQVBQRU5EOlxyXG4gICAgICAgIHRoaXMuX2VyckxvZ0FwcGVuZCA9IFhtbFBhcnNlci5nZXRCb29sZWFuKHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9URVhUOlxyXG4gICAgICAgIHRoaXMuX3RleHQgPSBYbWxQYXJzZXIudW5lc2NhcGUodmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0RJU1BMQVk6XHJcbiAgICAgICAgdGhpcy5fZGlzcGxheSA9IHZhbHVlWzBdO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX01PREU6XHJcbiAgICAgICAgdGhpcy5fbW9kZSA9IHZhbHVlWzBdO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0FDSzpcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgc3VwZXIuSGFuZGxlQXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=