@magic-xpa/engine 4.1100.0-dev4110.98 → 4.1100.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (492) hide show
  1. package/README.md +7 -7
  2. package/{esm2020 → esm2022}/index.mjs +188 -188
  3. package/{esm2020 → esm2022}/magic-xpa-engine.mjs +1 -1
  4. package/esm2022/src/AccessHelper.mjs +15 -0
  5. package/esm2022/src/ClientManager.mjs +421 -0
  6. package/esm2022/src/CommandsProcessorBase.mjs +56 -0
  7. package/{esm2020 → esm2022}/src/CommandsProcessorManager.mjs +25 -25
  8. package/esm2022/src/CommandsTable.mjs +162 -0
  9. package/esm2022/src/ConstInterface.mjs +517 -0
  10. package/{esm2020 → esm2022}/src/CurrentClientVersion.mjs +2 -2
  11. package/esm2022/src/FlowMonitorInterface.mjs +16 -0
  12. package/esm2022/src/GUIManager.mjs +62 -0
  13. package/esm2022/src/GlobalCommandsManager.mjs +34 -0
  14. package/esm2022/src/GuiEventsProcessor.mjs +156 -0
  15. package/{esm2020 → esm2022}/src/ICommandsTable.mjs +1 -1
  16. package/esm2022/src/ServerConfig.mjs +122 -0
  17. package/{esm2020 → esm2022}/src/bridge/IGuiEvent.mjs +19 -19
  18. package/esm2022/src/bridge/MagicBridge.mjs +41 -0
  19. package/esm2022/src/commands/ClientOriginatedCommandTaskTag.mjs +12 -0
  20. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs +8 -8
  21. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs +9 -9
  22. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs +9 -9
  23. package/esm2022/src/commands/ClientToServer/BrowserEscEventCommand.mjs +26 -0
  24. package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommand.mjs +14 -14
  25. package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +59 -59
  26. package/esm2022/src/commands/ClientToServer/ColumnSortEventCommand.mjs +29 -0
  27. package/esm2022/src/commands/ClientToServer/CommandFactory.mjs +261 -0
  28. package/esm2022/src/commands/ClientToServer/CommandSerializationHelper.mjs +67 -0
  29. package/esm2022/src/commands/ClientToServer/ComputeEventCommand.mjs +26 -0
  30. package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTerminationEventCommand.mjs +24 -21
  31. package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs +23 -20
  32. package/{esm2020 → esm2022}/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs +8 -8
  33. package/esm2022/src/commands/ClientToServer/DataViewOutputCommand.mjs +13 -0
  34. package/{esm2020 → esm2022}/src/commands/ClientToServer/DataviewCommand.mjs +44 -44
  35. package/esm2022/src/commands/ClientToServer/EvaluateCommand.mjs +40 -0
  36. package/{esm2020 → esm2022}/src/commands/ClientToServer/EventCommand.mjs +43 -40
  37. package/esm2022/src/commands/ClientToServer/ExecOperCommand.mjs +70 -0
  38. package/esm2022/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +25 -0
  39. package/{esm2020 → esm2022}/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs +10 -10
  40. package/{esm2020 → esm2022}/src/commands/ClientToServer/ICommandTaskTag.mjs +1 -1
  41. package/esm2022/src/commands/ClientToServer/IndexChangeEventCommand.mjs +24 -0
  42. package/esm2022/src/commands/ClientToServer/IniputForceWriteCommand.mjs +26 -0
  43. package/{esm2020 → esm2022}/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs +26 -23
  44. package/{esm2020 → esm2022}/src/commands/ClientToServer/QueryCommand.mjs +20 -20
  45. package/esm2022/src/commands/ClientToServer/RecomputeCommand.mjs +30 -0
  46. package/esm2022/src/commands/ClientToServer/RefreshEventCommand.mjs +30 -0
  47. package/esm2022/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +27 -0
  48. package/esm2022/src/commands/ClientToServer/RollbackEventCommand.mjs +43 -0
  49. package/esm2022/src/commands/ClientToServer/SelectProgramCommand.mjs +19 -0
  50. package/{esm2020 → esm2022}/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs +9 -9
  51. package/esm2022/src/commands/ClientToServer/SubformOpenEventCommand.mjs +24 -0
  52. package/esm2022/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +27 -0
  53. package/esm2022/src/commands/ClientToServer/TransactionCommand.mjs +34 -0
  54. package/{esm2020 → esm2022}/src/commands/ClientToServer/UnloadCommand.mjs +18 -15
  55. package/esm2022/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +18 -0
  56. package/esm2022/src/commands/DataViewCommandBase.mjs +8 -0
  57. package/{esm2020 → esm2022}/src/commands/IClientCommand.mjs +1 -1
  58. package/esm2022/src/commands/IClientTargetedCommand.mjs +13 -0
  59. package/{esm2020 → esm2022}/src/commands/IClientToServerCommandInfo.mjs +2 -2
  60. package/esm2022/src/commands/ServerToClient/AbortCommand.mjs +65 -0
  61. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddLocateCommand.mjs +21 -21
  62. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddRangeCommand.mjs +62 -62
  63. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddSortCommand.mjs +33 -33
  64. package/esm2022/src/commands/ServerToClient/ClientRefreshCommand.mjs +25 -0
  65. package/esm2022/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +24 -0
  66. package/esm2022/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +45 -0
  67. package/esm2022/src/commands/ServerToClient/OpenURLCommand.mjs +221 -0
  68. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetLocateCommand.mjs +14 -14
  69. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetRangeCommand.mjs +14 -14
  70. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetSortCommand.mjs +14 -14
  71. package/esm2022/src/commands/ServerToClient/ResultCommand.mjs +37 -0
  72. package/esm2022/src/commands/ServerToClient/VerifyCommand.mjs +83 -0
  73. package/{esm2020 → esm2022}/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +132 -132
  74. package/{esm2020 → esm2022}/src/communications/IConnectionStateManager.mjs +1 -1
  75. package/esm2022/src/communications/InteractiveCommunicationsFailureHandler.mjs +15 -0
  76. package/{esm2020 → esm2022}/src/data/DataSourceIdKey.mjs +2 -2
  77. package/esm2022/src/data/DataView.mjs +1613 -0
  78. package/{esm2020 → esm2022}/src/data/DataViewBase.mjs +3 -3
  79. package/esm2022/src/data/DataviewManager.mjs +28 -0
  80. package/esm2022/src/data/DataviewManagerBase.mjs +15 -0
  81. package/esm2022/src/data/DvCache.mjs +67 -0
  82. package/esm2022/src/data/Field.mjs +646 -0
  83. package/esm2022/src/data/FieldBase.mjs +15 -0
  84. package/esm2022/src/data/FieldsTable.mjs +103 -0
  85. package/{esm2020 → esm2022}/src/data/IRecordsTable.mjs +1 -1
  86. package/{esm2020 → esm2022}/src/data/Key.mjs +88 -88
  87. package/esm2022/src/data/Record.mjs +880 -0
  88. package/{esm2020 → esm2022}/src/data/RecordOutOfDataViewException.mjs +15 -15
  89. package/esm2022/src/data/RecordsTable.mjs +267 -0
  90. package/{esm2020 → esm2022}/src/data/TaskTransactionManager.mjs +107 -103
  91. package/{esm2020 → esm2022}/src/data/XMLBasedDcValuesBuilder.mjs +74 -74
  92. package/{esm2020 → esm2022}/src/enums.mjs +23 -23
  93. package/esm2022/src/env/EnvVariablesTable.mjs +340 -0
  94. package/esm2022/src/env/Environment.mjs +487 -0
  95. package/{esm2020 → esm2022}/src/env/ILanguageData.mjs +1 -1
  96. package/esm2022/src/env/LanguageData.mjs +227 -0
  97. package/{esm2020 → esm2022}/src/env/MirrorString.mjs +65 -65
  98. package/esm2022/src/event/ActionManager.mjs +91 -0
  99. package/esm2022/src/event/Event.mjs +1333 -0
  100. package/esm2022/src/event/EventHandler.mjs +766 -0
  101. package/esm2022/src/event/EventHandlerPosition.mjs +204 -0
  102. package/esm2022/src/event/EventsManager.mjs +2988 -0
  103. package/{esm2020 → esm2022}/src/event/IEventsManager.mjs +6 -6
  104. package/esm2022/src/event/RunTimeEvent.mjs +399 -0
  105. package/{esm2020 → esm2022}/src/event/RunTimeEventBase.mjs +3 -3
  106. package/esm2022/src/event/UserEventsTable.mjs +47 -0
  107. package/esm2022/src/exp/ExpTable.mjs +57 -0
  108. package/esm2022/src/exp/Expression.mjs +200 -0
  109. package/esm2022/src/exp/ExpressionDict.mjs +727 -0
  110. package/esm2022/src/exp/ExpressionEvaluator.mjs +4206 -0
  111. package/esm2022/src/exp/ExpressionLocalJpn.mjs +314 -0
  112. package/{esm2020 → esm2022}/src/exp/GlobalParamsTable.mjs +85 -85
  113. package/esm2022/src/exp/YesNoExp.mjs +36 -0
  114. package/esm2022/src/gui/CreatedFormVector.mjs +23 -0
  115. package/esm2022/src/gui/FormsTable.mjs +66 -0
  116. package/esm2022/src/gui/MgControl.mjs +363 -0
  117. package/esm2022/src/gui/MgForm.mjs +1224 -0
  118. package/esm2022/src/http/HttpManager.mjs +97 -0
  119. package/esm2022/src/http/client/HttpClientAsync.mjs +68 -0
  120. package/{esm2020 → esm2022}/src/http/client/HttpClientBase.mjs +132 -132
  121. package/esm2022/src/http/client/HttpClientEvents.mjs +39 -0
  122. package/esm2022/src/http/client/HttpClientSync.mjs +42 -0
  123. package/esm2022/src/http/client/HttpUtility.mjs +84 -0
  124. package/{esm2020 → esm2022}/src/http/client/ICommunicationsFailureHandler.mjs +1 -1
  125. package/{esm2020 → esm2022}/src/remote/AddUserLocateRemoteDataViewCommand.mjs +18 -18
  126. package/{esm2020 → esm2022}/src/remote/AddUserRangeRemoteDataViewCommand.mjs +18 -18
  127. package/{esm2020 → esm2022}/src/remote/AddUserSortRemoteDataViewCommand.mjs +18 -18
  128. package/esm2022/src/remote/RemoteCommandsProcessor.mjs +883 -0
  129. package/{esm2020 → esm2022}/src/remote/RemoteControlItemsRefreshCommand.mjs +25 -25
  130. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandBase.mjs +24 -24
  131. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandFactory.mjs +60 -60
  132. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +15 -15
  133. package/{esm2020 → esm2022}/src/remote/RemoteDataviewManager.mjs +17 -17
  134. package/{esm2020 → esm2022}/src/remote/RemoteInitDataViewCommand.mjs +10 -10
  135. package/{esm2020 → esm2022}/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +16 -16
  136. package/{esm2020 → esm2022}/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +12 -12
  137. package/{esm2020 → esm2022}/src/remote/ResetUserSortRemoteDataviewCommand.mjs +15 -15
  138. package/esm2022/src/remote/ServerError.mjs +40 -0
  139. package/{esm2020 → esm2022}/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +19 -19
  140. package/esm2022/src/rt/Argument.mjs +265 -0
  141. package/esm2022/src/rt/ArgumentsList.mjs +103 -0
  142. package/esm2022/src/rt/Boundary.mjs +152 -0
  143. package/esm2022/src/rt/CompMainPrgTable.mjs +63 -0
  144. package/esm2022/src/rt/DataviewHeaderBase.mjs +98 -0
  145. package/{esm2020 → esm2022}/src/rt/DataviewHeaderFactory.mjs +6 -6
  146. package/esm2022/src/rt/DataviewHeaders.mjs +53 -0
  147. package/{esm2020 → esm2022}/src/rt/DataviewHeadersSaxHandler.mjs +38 -38
  148. package/{esm2020 → esm2022}/src/rt/ExecutionStack.mjs +94 -94
  149. package/{esm2020 → esm2022}/src/rt/ExecutionStackEntry.mjs +17 -17
  150. package/{esm2020 → esm2022}/src/rt/HandlersTable.mjs +96 -96
  151. package/{esm2020 → esm2022}/src/rt/IDataSourceViewDefinition.mjs +1 -1
  152. package/{esm2020 → esm2022}/src/rt/IDataviewHeader.mjs +1 -1
  153. package/{esm2020 → esm2022}/src/rt/IResultValue.mjs +1 -1
  154. package/esm2022/src/rt/LastFocusedManager.mjs +65 -0
  155. package/esm2022/src/rt/Operation.mjs +735 -0
  156. package/esm2022/src/rt/OperationTable.mjs +67 -0
  157. package/esm2022/src/rt/Recompute.mjs +355 -0
  158. package/{esm2020 → esm2022}/src/rt/RecomputeTable.mjs +62 -62
  159. package/{esm2020 → esm2022}/src/rt/RemoteDataviewHeader.mjs +108 -108
  160. package/esm2022/src/rt/ResultValue.mjs +10 -0
  161. package/esm2022/src/rt/TableCache.mjs +177 -0
  162. package/esm2022/src/rt/TableCacheManager.mjs +67 -0
  163. package/esm2022/src/rt/Transaction.mjs +53 -0
  164. package/esm2022/src/security/UserDetails.mjs +71 -0
  165. package/{esm2020 → esm2022}/src/tasks/IMGDataCollection.mjs +1 -1
  166. package/esm2022/src/tasks/MGData.mjs +552 -0
  167. package/esm2022/src/tasks/MGDataCollection.mjs +252 -0
  168. package/esm2022/src/tasks/RCTimer.mjs +63 -0
  169. package/{esm2020 → esm2022}/src/tasks/RemoteTaskService.mjs +44 -44
  170. package/esm2022/src/tasks/Task.mjs +2499 -0
  171. package/esm2022/src/tasks/TaskBase.mjs +83 -0
  172. package/{esm2020 → esm2022}/src/tasks/TaskServiceBase.mjs +24 -24
  173. package/esm2022/src/tasks/TasksTable.mjs +80 -0
  174. package/esm2022/src/tasks/sort/Sort.mjs +5 -0
  175. package/{esm2020 → esm2022}/src/tasks/sort/SortCollection.mjs +67 -67
  176. package/{esm2020 → esm2022}/src/util/ConstUtils.mjs +13 -13
  177. package/esm2022/src/util/FlowMonitorQueue.mjs +451 -0
  178. package/{esm2020 → esm2022}/src/util/HeapSort.mjs +69 -69
  179. package/{esm2020 → esm2022}/src/util/IMirrorXML.mjs +1 -1
  180. package/{esm2020 → esm2022}/src/util/IServerConfig.mjs +1 -1
  181. package/{esm2020 → esm2022}/src/util/MgBlockingQueue.mjs +1 -1
  182. package/esm2022/src/util/MgPriorityBlockingQueue.mjs +74 -0
  183. package/esm2022/src/util/MgPriorityQueue.mjs +66 -0
  184. package/{esm2020 → esm2022}/src/util/ParamParseResult.mjs +7 -7
  185. package/esm2022/src/util/PrmMap.mjs +152 -0
  186. package/esm2022/src/util/ReturnResult.mjs +46 -0
  187. package/esm2022/src/util/ReturnResultBase.mjs +18 -0
  188. package/esm2022/src/util/Scrambler.mjs +89 -0
  189. package/esm2022/src/util/UniqueIDUtils.mjs +13 -0
  190. package/{esm2020 → esm2022}/src/util/cookie.service.mjs +92 -92
  191. package/{fesm2020 → fesm2022}/magic-xpa-engine.mjs +29888 -29690
  192. package/fesm2022/magic-xpa-engine.mjs.map +1 -0
  193. package/index.d.ts +187 -187
  194. package/package.json +8 -14
  195. package/src/AccessHelper.d.ts +20 -20
  196. package/src/ClientManager.d.ts +35 -32
  197. package/src/CommandsProcessorBase.d.ts +23 -23
  198. package/src/CommandsProcessorManager.d.ts +6 -6
  199. package/src/CommandsTable.d.ts +22 -22
  200. package/src/ConstInterface.d.ts +516 -515
  201. package/src/CurrentClientVersion.d.ts +1 -1
  202. package/src/FlowMonitorInterface.d.ts +15 -15
  203. package/src/GUIManager.d.ts +17 -17
  204. package/src/GlobalCommandsManager.d.ts +17 -17
  205. package/src/GuiEventsProcessor.d.ts +24 -24
  206. package/src/ICommandsTable.d.ts +9 -9
  207. package/src/ServerConfig.d.ts +35 -34
  208. package/src/bridge/IGuiEvent.d.ts +19 -19
  209. package/src/bridge/MagicBridge.d.ts +16 -16
  210. package/src/commands/ClientOriginatedCommandTaskTag.d.ts +8 -8
  211. package/src/commands/ClientToServer/AddUserLocateDataViewCommand.d.ts +4 -4
  212. package/src/commands/ClientToServer/AddUserRangeDataviewCommand.d.ts +6 -6
  213. package/src/commands/ClientToServer/AddUserSortDataViewCommand.d.ts +6 -6
  214. package/src/commands/ClientToServer/BrowserEscEventCommand.d.ts +9 -8
  215. package/src/commands/ClientToServer/ClientOriginatedCommand.d.ts +8 -8
  216. package/src/commands/ClientToServer/ClientOriginatedCommandSerializer.d.ts +6 -6
  217. package/src/commands/ClientToServer/ColumnSortEventCommand.d.ts +11 -10
  218. package/src/commands/ClientToServer/CommandFactory.d.ts +64 -64
  219. package/src/commands/ClientToServer/CommandSerializationHelper.d.ts +20 -20
  220. package/src/commands/ClientToServer/ComputeEventCommand.d.ts +9 -8
  221. package/src/commands/ClientToServer/ContextTerminationEventCommand.d.ts +8 -7
  222. package/src/commands/ClientToServer/ContextTimeoutResetCommand.d.ts +8 -7
  223. package/src/commands/ClientToServer/ControlItemsRefreshCommand.d.ts +6 -6
  224. package/src/commands/ClientToServer/DataViewOutputCommand.d.ts +9 -9
  225. package/src/commands/ClientToServer/DataviewCommand.d.ts +32 -32
  226. package/src/commands/ClientToServer/EvaluateCommand.d.ts +16 -15
  227. package/src/commands/ClientToServer/EventCommand.d.ts +16 -15
  228. package/src/commands/ClientToServer/ExecOperCommand.d.ts +24 -23
  229. package/src/commands/ClientToServer/FetchDataControlValuesEventCommand.d.ts +9 -8
  230. package/src/commands/ClientToServer/GlobalParamsQueryCommand.d.ts +5 -5
  231. package/src/commands/ClientToServer/ICommandTaskTag.d.ts +3 -3
  232. package/src/commands/ClientToServer/IndexChangeEventCommand.d.ts +9 -8
  233. package/src/commands/ClientToServer/IniputForceWriteCommand.d.ts +11 -10
  234. package/src/commands/ClientToServer/NonReversibleExitEventCommand.d.ts +9 -8
  235. package/src/commands/ClientToServer/QueryCommand.d.ts +8 -8
  236. package/src/commands/ClientToServer/RecomputeCommand.d.ts +12 -11
  237. package/src/commands/ClientToServer/RefreshEventCommand.d.ts +13 -12
  238. package/src/commands/ClientToServer/RefreshScreenEventCommand.d.ts +11 -10
  239. package/src/commands/ClientToServer/RollbackEventCommand.d.ts +15 -14
  240. package/src/commands/ClientToServer/SelectProgramCommand.d.ts +7 -6
  241. package/src/commands/ClientToServer/SetTransactionStateDataviewCommand.d.ts +5 -5
  242. package/src/commands/ClientToServer/SubformOpenEventCommand.d.ts +9 -8
  243. package/src/commands/ClientToServer/SubformRefreshEventCommand.d.ts +10 -9
  244. package/src/commands/ClientToServer/TransactionCommand.d.ts +14 -12
  245. package/src/commands/ClientToServer/UnloadCommand.d.ts +8 -7
  246. package/src/commands/ClientToServer/WriteMessageToServerLogCommand.d.ts +6 -6
  247. package/src/commands/DataViewCommandBase.d.ts +6 -6
  248. package/src/commands/IClientCommand.d.ts +2 -2
  249. package/src/commands/IClientTargetedCommand.d.ts +12 -12
  250. package/src/commands/IClientToServerCommandInfo.d.ts +4 -3
  251. package/src/commands/ServerToClient/AbortCommand.d.ts +11 -11
  252. package/src/commands/ServerToClient/AddLocateCommand.d.ts +6 -6
  253. package/src/commands/ServerToClient/AddRangeCommand.d.ts +10 -10
  254. package/src/commands/ServerToClient/AddSortCommand.d.ts +9 -9
  255. package/src/commands/ServerToClient/ClientRefreshCommand.d.ts +7 -7
  256. package/src/commands/ServerToClient/ClientTargetedCommandBase.d.ts +12 -12
  257. package/src/commands/ServerToClient/EnhancedVerifyCommand.d.ts +13 -13
  258. package/src/commands/ServerToClient/OpenURLCommand.d.ts +21 -21
  259. package/src/commands/ServerToClient/ResetLocateCommand.d.ts +6 -6
  260. package/src/commands/ServerToClient/ResetRangeCommand.d.ts +6 -6
  261. package/src/commands/ServerToClient/ResetSortCommand.d.ts +6 -6
  262. package/src/commands/ServerToClient/ResultCommand.d.ts +10 -10
  263. package/src/commands/ServerToClient/VerifyCommand.d.ts +17 -17
  264. package/src/commands/ServerToClient/XMLBasedCommandBuilder.d.ts +11 -11
  265. package/src/communications/IConnectionStateManager.d.ts +4 -4
  266. package/src/communications/InteractiveCommunicationsFailureHandler.d.ts +6 -6
  267. package/src/data/DataSourceIdKey.d.ts +2 -2
  268. package/src/data/DataView.d.ts +162 -162
  269. package/src/data/DataViewBase.d.ts +12 -12
  270. package/src/data/DataviewManager.d.ts +14 -14
  271. package/src/data/DataviewManagerBase.d.ts +11 -11
  272. package/src/data/DvCache.d.ts +15 -15
  273. package/src/data/Field.d.ts +103 -103
  274. package/src/data/FieldBase.d.ts +23 -23
  275. package/src/data/FieldsTable.d.ts +27 -27
  276. package/src/data/IRecordsTable.d.ts +7 -7
  277. package/src/data/Key.d.ts +15 -15
  278. package/src/data/Record.d.ts +157 -156
  279. package/src/data/RecordOutOfDataViewException.d.ts +10 -10
  280. package/src/data/RecordsTable.d.ts +38 -38
  281. package/src/data/TaskTransactionManager.d.ts +17 -17
  282. package/src/data/XMLBasedDcValuesBuilder.d.ts +11 -11
  283. package/src/enums.d.ts +21 -21
  284. package/src/env/EnvVariablesTable.d.ts +17 -17
  285. package/src/env/Environment.d.ts +118 -118
  286. package/src/env/ILanguageData.d.ts +3 -3
  287. package/src/env/LanguageData.d.ts +20 -20
  288. package/src/env/MirrorString.d.ts +15 -15
  289. package/src/event/ActionManager.d.ts +14 -14
  290. package/src/event/Event.d.ts +79 -79
  291. package/src/event/EventHandler.d.ts +66 -66
  292. package/src/event/EventHandlerPosition.d.ts +25 -25
  293. package/src/event/EventsManager.d.ts +205 -204
  294. package/src/event/IEventsManager.d.ts +77 -77
  295. package/src/event/RunTimeEvent.d.ts +126 -123
  296. package/src/event/RunTimeEventBase.d.ts +5 -5
  297. package/src/event/UserEventsTable.d.ts +11 -11
  298. package/src/exp/ExpTable.d.ts +11 -11
  299. package/src/exp/Expression.d.ts +37 -37
  300. package/src/exp/ExpressionDict.d.ts +12 -12
  301. package/src/exp/ExpressionEvaluator.d.ts +198 -198
  302. package/src/exp/ExpressionLocalJpn.d.ts +18 -18
  303. package/src/exp/GlobalParamsTable.d.ts +19 -19
  304. package/src/exp/YesNoExp.d.ts +9 -9
  305. package/src/gui/CreatedFormVector.d.ts +10 -10
  306. package/src/gui/FormsTable.d.ts +15 -15
  307. package/src/gui/MgControl.d.ts +60 -60
  308. package/src/gui/MgForm.d.ts +96 -93
  309. package/src/http/HttpManager.d.ts +25 -25
  310. package/src/http/client/HttpClientAsync.d.ts +16 -16
  311. package/src/http/client/HttpClientBase.d.ts +30 -30
  312. package/src/http/client/HttpClientEvents.d.ts +18 -18
  313. package/src/http/client/HttpClientSync.d.ts +17 -17
  314. package/src/http/client/HttpUtility.d.ts +10 -10
  315. package/src/http/client/ICommunicationsFailureHandler.d.ts +5 -5
  316. package/src/remote/AddUserLocateRemoteDataViewCommand.d.ts +8 -8
  317. package/src/remote/AddUserRangeRemoteDataViewCommand.d.ts +8 -8
  318. package/src/remote/AddUserSortRemoteDataViewCommand.d.ts +8 -8
  319. package/src/remote/RemoteCommandsProcessor.d.ts +51 -51
  320. package/src/remote/RemoteControlItemsRefreshCommand.d.ts +8 -8
  321. package/src/remote/RemoteDataViewCommandBase.d.ts +10 -10
  322. package/src/remote/RemoteDataViewCommandFactory.d.ts +6 -6
  323. package/src/remote/RemoteDataViewCommandUpdateNonModifiable.d.ts +8 -8
  324. package/src/remote/RemoteDataviewManager.d.ts +9 -9
  325. package/src/remote/RemoteInitDataViewCommand.d.ts +7 -7
  326. package/src/remote/ResetUserLocateRemoteDataviewCommand.d.ts +7 -7
  327. package/src/remote/ResetUserRangeRemoteDataviewCommand.d.ts +7 -7
  328. package/src/remote/ResetUserSortRemoteDataviewCommand.d.ts +7 -7
  329. package/src/remote/ServerError.d.ts +16 -16
  330. package/src/remote/SetTransactionStateRemoteDataViewCommand.d.ts +8 -8
  331. package/src/rt/Argument.d.ts +36 -36
  332. package/src/rt/ArgumentsList.d.ts +24 -24
  333. package/src/rt/Boundary.d.ts +27 -27
  334. package/src/rt/CompMainPrgTable.d.ts +10 -10
  335. package/src/rt/DataviewHeaderBase.d.ts +34 -34
  336. package/src/rt/DataviewHeaderFactory.d.ts +5 -5
  337. package/src/rt/DataviewHeaders.d.ts +12 -12
  338. package/src/rt/DataviewHeadersSaxHandler.d.ts +10 -10
  339. package/src/rt/ExecutionStack.d.ts +22 -22
  340. package/src/rt/ExecutionStackEntry.d.ts +7 -7
  341. package/src/rt/HandlersTable.d.ts +19 -19
  342. package/src/rt/IDataSourceViewDefinition.d.ts +6 -6
  343. package/src/rt/IDataviewHeader.d.ts +10 -10
  344. package/src/rt/IResultValue.d.ts +4 -4
  345. package/src/rt/LastFocusedManager.d.ts +23 -23
  346. package/src/rt/Operation.d.ts +97 -97
  347. package/src/rt/OperationTable.d.ts +15 -15
  348. package/src/rt/Recompute.d.ts +41 -41
  349. package/src/rt/RecomputeTable.d.ts +9 -9
  350. package/src/rt/RemoteDataviewHeader.d.ts +14 -14
  351. package/src/rt/ResultValue.d.ts +7 -7
  352. package/src/rt/TableCache.d.ts +29 -29
  353. package/src/rt/TableCacheManager.d.ts +10 -10
  354. package/src/rt/Transaction.d.ts +23 -23
  355. package/src/security/UserDetails.d.ts +16 -16
  356. package/src/tasks/IMGDataCollection.d.ts +26 -26
  357. package/src/tasks/MGData.d.ts +63 -63
  358. package/src/tasks/MGDataCollection.d.ts +42 -42
  359. package/src/tasks/RCTimer.d.ts +13 -13
  360. package/src/tasks/RemoteTaskService.d.ts +16 -16
  361. package/src/tasks/Task.d.ts +312 -312
  362. package/src/tasks/TaskBase.d.ts +123 -123
  363. package/src/tasks/TaskServiceBase.d.ts +16 -16
  364. package/src/tasks/TasksTable.d.ts +21 -21
  365. package/src/tasks/sort/Sort.d.ts +4 -4
  366. package/src/tasks/sort/SortCollection.d.ts +11 -11
  367. package/src/util/ConstUtils.d.ts +3 -3
  368. package/src/util/FlowMonitorQueue.d.ts +70 -70
  369. package/src/util/HeapSort.d.ts +6 -6
  370. package/src/util/IMirrorXML.d.ts +6 -6
  371. package/src/util/IServerConfig.d.ts +11 -11
  372. package/src/util/MgBlockingQueue.d.ts +5 -5
  373. package/src/util/MgPriorityBlockingQueue.d.ts +17 -17
  374. package/src/util/MgPriorityQueue.d.ts +13 -13
  375. package/src/util/ParamParseResult.d.ts +6 -6
  376. package/src/util/PrmMap.d.ts +28 -28
  377. package/src/util/ReturnResult.d.ts +18 -18
  378. package/src/util/ReturnResultBase.d.ts +11 -11
  379. package/src/util/Scrambler.d.ts +10 -10
  380. package/src/util/UniqueIDUtils.d.ts +4 -4
  381. package/src/util/cookie.service.d.ts +8 -8
  382. package/esm2020/src/AccessHelper.mjs +0 -9
  383. package/esm2020/src/ClientManager.mjs +0 -399
  384. package/esm2020/src/CommandsProcessorBase.mjs +0 -58
  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/bridge/MagicBridge.mjs +0 -41
  393. package/esm2020/src/commands/ClientOriginatedCommandTaskTag.mjs +0 -11
  394. package/esm2020/src/commands/ClientToServer/BrowserEscEventCommand.mjs +0 -23
  395. package/esm2020/src/commands/ClientToServer/ColumnSortEventCommand.mjs +0 -26
  396. package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +0 -260
  397. package/esm2020/src/commands/ClientToServer/CommandSerializationHelper.mjs +0 -69
  398. package/esm2020/src/commands/ClientToServer/ComputeEventCommand.mjs +0 -23
  399. package/esm2020/src/commands/ClientToServer/DataViewOutputCommand.mjs +0 -13
  400. package/esm2020/src/commands/ClientToServer/EvaluateCommand.mjs +0 -36
  401. package/esm2020/src/commands/ClientToServer/ExecOperCommand.mjs +0 -67
  402. package/esm2020/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +0 -22
  403. package/esm2020/src/commands/ClientToServer/IndexChangeEventCommand.mjs +0 -21
  404. package/esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs +0 -23
  405. package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +0 -27
  406. package/esm2020/src/commands/ClientToServer/RefreshEventCommand.mjs +0 -27
  407. package/esm2020/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +0 -24
  408. package/esm2020/src/commands/ClientToServer/RollbackEventCommand.mjs +0 -39
  409. package/esm2020/src/commands/ClientToServer/SelectProgramCommand.mjs +0 -15
  410. package/esm2020/src/commands/ClientToServer/SubformOpenEventCommand.mjs +0 -21
  411. package/esm2020/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +0 -24
  412. package/esm2020/src/commands/ClientToServer/TransactionCommand.mjs +0 -28
  413. package/esm2020/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +0 -18
  414. package/esm2020/src/commands/DataViewCommandBase.mjs +0 -10
  415. package/esm2020/src/commands/IClientTargetedCommand.mjs +0 -9
  416. package/esm2020/src/commands/ServerToClient/AbortCommand.mjs +0 -65
  417. package/esm2020/src/commands/ServerToClient/ClientRefreshCommand.mjs +0 -25
  418. package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +0 -27
  419. package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +0 -45
  420. package/esm2020/src/commands/ServerToClient/OpenURLCommand.mjs +0 -221
  421. package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +0 -37
  422. package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +0 -83
  423. package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +0 -17
  424. package/esm2020/src/data/DataView.mjs +0 -1610
  425. package/esm2020/src/data/DataviewManager.mjs +0 -28
  426. package/esm2020/src/data/DataviewManagerBase.mjs +0 -15
  427. package/esm2020/src/data/DvCache.mjs +0 -67
  428. package/esm2020/src/data/Field.mjs +0 -646
  429. package/esm2020/src/data/FieldBase.mjs +0 -18
  430. package/esm2020/src/data/FieldsTable.mjs +0 -103
  431. package/esm2020/src/data/Record.mjs +0 -846
  432. package/esm2020/src/data/RecordsTable.mjs +0 -267
  433. package/esm2020/src/env/EnvVariablesTable.mjs +0 -340
  434. package/esm2020/src/env/Environment.mjs +0 -489
  435. package/esm2020/src/env/LanguageData.mjs +0 -226
  436. package/esm2020/src/event/ActionManager.mjs +0 -91
  437. package/esm2020/src/event/Event.mjs +0 -1333
  438. package/esm2020/src/event/EventHandler.mjs +0 -766
  439. package/esm2020/src/event/EventHandlerPosition.mjs +0 -204
  440. package/esm2020/src/event/EventsManager.mjs +0 -2975
  441. package/esm2020/src/event/RunTimeEvent.mjs +0 -392
  442. package/esm2020/src/event/UserEventsTable.mjs +0 -47
  443. package/esm2020/src/exp/ExpTable.mjs +0 -59
  444. package/esm2020/src/exp/Expression.mjs +0 -200
  445. package/esm2020/src/exp/ExpressionDict.mjs +0 -727
  446. package/esm2020/src/exp/ExpressionEvaluator.mjs +0 -4208
  447. package/esm2020/src/exp/ExpressionLocalJpn.mjs +0 -314
  448. package/esm2020/src/exp/YesNoExp.mjs +0 -36
  449. package/esm2020/src/gui/CreatedFormVector.mjs +0 -23
  450. package/esm2020/src/gui/FormsTable.mjs +0 -66
  451. package/esm2020/src/gui/MgControl.mjs +0 -353
  452. package/esm2020/src/gui/MgForm.mjs +0 -1181
  453. package/esm2020/src/http/HttpManager.mjs +0 -97
  454. package/esm2020/src/http/client/HttpClientAsync.mjs +0 -67
  455. package/esm2020/src/http/client/HttpClientEvents.mjs +0 -39
  456. package/esm2020/src/http/client/HttpClientSync.mjs +0 -42
  457. package/esm2020/src/http/client/HttpUtility.mjs +0 -84
  458. package/esm2020/src/remote/RemoteCommandsProcessor.mjs +0 -880
  459. package/esm2020/src/remote/ServerError.mjs +0 -40
  460. package/esm2020/src/rt/Argument.mjs +0 -265
  461. package/esm2020/src/rt/ArgumentsList.mjs +0 -103
  462. package/esm2020/src/rt/Boundary.mjs +0 -152
  463. package/esm2020/src/rt/CompMainPrgTable.mjs +0 -65
  464. package/esm2020/src/rt/DataviewHeaderBase.mjs +0 -96
  465. package/esm2020/src/rt/DataviewHeaders.mjs +0 -53
  466. package/esm2020/src/rt/LastFocusedManager.mjs +0 -67
  467. package/esm2020/src/rt/Operation.mjs +0 -735
  468. package/esm2020/src/rt/OperationTable.mjs +0 -67
  469. package/esm2020/src/rt/Recompute.mjs +0 -355
  470. package/esm2020/src/rt/ResultValue.mjs +0 -12
  471. package/esm2020/src/rt/TableCache.mjs +0 -177
  472. package/esm2020/src/rt/TableCacheManager.mjs +0 -67
  473. package/esm2020/src/rt/Transaction.mjs +0 -53
  474. package/esm2020/src/security/UserDetails.mjs +0 -71
  475. package/esm2020/src/tasks/MGData.mjs +0 -552
  476. package/esm2020/src/tasks/MGDataCollection.mjs +0 -252
  477. package/esm2020/src/tasks/RCTimer.mjs +0 -63
  478. package/esm2020/src/tasks/Task.mjs +0 -2496
  479. package/esm2020/src/tasks/TaskBase.mjs +0 -87
  480. package/esm2020/src/tasks/TasksTable.mjs +0 -80
  481. package/esm2020/src/tasks/sort/Sort.mjs +0 -7
  482. package/esm2020/src/util/FlowMonitorQueue.mjs +0 -453
  483. package/esm2020/src/util/MgPriorityBlockingQueue.mjs +0 -74
  484. package/esm2020/src/util/MgPriorityQueue.mjs +0 -66
  485. package/esm2020/src/util/PrmMap.mjs +0 -151
  486. package/esm2020/src/util/ReturnResult.mjs +0 -46
  487. package/esm2020/src/util/ReturnResultBase.mjs +0 -18
  488. package/esm2020/src/util/Scrambler.mjs +0 -89
  489. package/esm2020/src/util/UniqueIDUtils.mjs +0 -12
  490. package/fesm2015/magic-xpa-engine.mjs +0 -30837
  491. package/fesm2015/magic-xpa-engine.mjs.map +0 -1
  492. package/fesm2020/magic-xpa-engine.mjs.map +0 -1
@@ -0,0 +1,89 @@
1
+ import { NChar, NString, StringBuilder } from "@magic-xpa/mscorelib";
2
+ export class Scrambler {
3
+ static ScramblingEnabled = true;
4
+ static XML_MIN_RANDOM = -48;
5
+ static XML_MAX_RANDOM = 47;
6
+ static XML_ILLEGAL_RANDOM = -21;
7
+ static Scramble(inVal) {
8
+ if (!this.ScramblingEnabled)
9
+ return inVal;
10
+ let curr = 0;
11
+ let currChr;
12
+ let length = inVal.length;
13
+ let random = Scrambler.RandomScramble(length);
14
+ let key = Math.floor(Math.sqrt(length)) + random;
15
+ let outVal = new StringBuilder(length + 1);
16
+ outVal.Append(String.fromCharCode(random + 81));
17
+ for (let i = 0; i < key; i++) {
18
+ curr = i;
19
+ while (curr < length) {
20
+ currChr = inVal[curr];
21
+ outVal.Append(currChr);
22
+ curr += key;
23
+ }
24
+ }
25
+ outVal.Append('_');
26
+ return outVal.ToString();
27
+ }
28
+ static LocateScramble(inVal, from) {
29
+ let i = from;
30
+ while (i < inVal.length && NChar.IsWhiteSpace(inVal.charAt(i))) {
31
+ i = i + 1;
32
+ }
33
+ return i + 1;
34
+ }
35
+ static RandomScramble(len) {
36
+ let delta;
37
+ let sqrt = Math.sqrt(len);
38
+ let low = Scrambler.XML_MIN_RANDOM;
39
+ let high = Scrambler.XML_MAX_RANDOM;
40
+ if (low < (((-1) * sqrt) / 2))
41
+ low = Math.floor(((-1) * sqrt) / 2);
42
+ if (high > (sqrt / 2))
43
+ high = Math.floor(sqrt / 2);
44
+ delta = (Math.random() * (high - low)) + low;
45
+ delta = Math.floor(delta);
46
+ if (delta === Scrambler.XML_ILLEGAL_RANDOM)
47
+ delta++;
48
+ return delta;
49
+ }
50
+ static UnScramble(inVal, beginOffSet, endOffSet) {
51
+ if (!Scrambler.ScramblingEnabled) {
52
+ let outVal = inVal.substr(beginOffSet, endOffSet - beginOffSet + 1);
53
+ return outVal;
54
+ }
55
+ else {
56
+ let currOut, currIn, i;
57
+ let length;
58
+ let key;
59
+ let outVal;
60
+ let currBlk;
61
+ let blockSize;
62
+ let reminder;
63
+ let start;
64
+ let randomChr;
65
+ endOffSet = endOffSet - 1;
66
+ start = this.LocateScramble(inVal, beginOffSet);
67
+ randomChr = inVal[start - 1];
68
+ length = endOffSet - start + 1;
69
+ key = (randomChr.charCodeAt(0) - 81) + Math.floor(Math.sqrt(length));
70
+ outVal = new Array(length);
71
+ blockSize = Math.floor(length / key);
72
+ reminder = length % key;
73
+ for (i = currOut = 0; currOut < length; i++) {
74
+ currIn = i;
75
+ currBlk = 1;
76
+ while (currIn < length && currOut < length) {
77
+ outVal[currOut] = inVal[currIn + start];
78
+ currIn += blockSize;
79
+ if (currBlk <= reminder)
80
+ currIn++;
81
+ currOut++;
82
+ currBlk++;
83
+ }
84
+ }
85
+ return NString.FromChars(outVal);
86
+ }
87
+ }
88
+ }
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NyYW1ibGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy91dGlsL1NjcmFtYmxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRSxNQUFNLE9BQU8sU0FBUztJQUNwQixNQUFNLENBQUMsaUJBQWlCLEdBQVksSUFBSSxDQUFDO0lBQ2pDLE1BQU0sQ0FBQyxjQUFjLEdBQVcsQ0FBQyxFQUFFLENBQUM7SUFDcEMsTUFBTSxDQUFDLGNBQWMsR0FBVyxFQUFFLENBQUM7SUFDbkMsTUFBTSxDQUFDLGtCQUFrQixHQUFXLENBQUMsRUFBRSxDQUFDO0lBS2hELE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUN6QixPQUFPLEtBQUssQ0FBQztRQUVmLElBQUksSUFBSSxHQUFXLENBQUMsQ0FBQztRQUNyQixJQUFJLE9BQWUsQ0FBQztRQUNwQixJQUFJLE1BQU0sR0FBVyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ2xDLElBQUksTUFBTSxHQUFXLFNBQVMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEQsSUFBSSxHQUFHLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ3pELElBQUksTUFBTSxHQUFrQixJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFHMUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWhELEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVB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QyxDQUFDO1lBRTdCLE1BQU0sR0FBRyxTQUFTLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUMvQixHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQixTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDckMsUUFBUSxHQUFHLE1BQU0sR0FBRyxHQUFHLENBQUM7WUFFeEIsS0FBSyxDQUFDLEdBQUcsT0FBTyxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMzQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUNYLE9BQU8sR0FBRyxDQUFDLENBQUM7Z0JBRVosT0FBTyxNQUFNLEdBQUcsTUFBTSxJQUFJLE9BQU8sR0FBRyxNQUFNLEVBQUU7b0JBQzFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDO29CQUN4QyxNQUFNLElBQUksU0FBUyxDQUFDO29CQUNwQixJQUFJLE9BQU8sSUFBSSxRQUFRO3dCQUNyQixNQUFNLEVBQUUsQ0FBQztvQkFDWCxPQUFPLEVBQUUsQ0FBQztvQkFDVixPQUFPLEVBQUUsQ0FBQztpQkFDWDthQUNGO1lBRUQsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TkNoYXIsIE5TdHJpbmcsIFN0cmluZ0J1aWxkZXJ9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNjcmFtYmxlciB7XHJcbiAgc3RhdGljIFNjcmFtYmxpbmdFbmFibGVkOiBib29sZWFuID0gdHJ1ZTsgLy8gRGlzYWJsZSBzY3JhbWJsaW5nXHJcbiAgcHJpdmF0ZSBzdGF0aWMgWE1MX01JTl9SQU5ET006IG51bWJlciA9IC00ODtcclxuICBwcml2YXRlIHN0YXRpYyBYTUxfTUFYX1JBTkRPTTogbnVtYmVyID0gNDc7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgWE1MX0lMTEVHQUxfUkFORE9NOiBudW1iZXIgPSAtMjE7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5zY3JhbWJsZSBzdHJpbmc8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaW5WYWxcIj5zdHJpbmcgdG8gc2NyYW1ibGU8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gc2NyYW1ibGVkIHN0cmluZzwvcmV0dXJucz5cclxuICBzdGF0aWMgU2NyYW1ibGUoaW5WYWw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuU2NyYW1ibGluZ0VuYWJsZWQpXHJcbiAgICAgIHJldHVybiBpblZhbDtcclxuXHJcbiAgICBsZXQgY3VycjogbnVtYmVyID0gMDtcclxuICAgIGxldCBjdXJyQ2hyOiBzdHJpbmc7XHJcbiAgICBsZXQgbGVuZ3RoOiBudW1iZXIgPSBpblZhbC5sZW5ndGg7XHJcbiAgICBsZXQgcmFuZG9tOiBudW1iZXIgPSBTY3JhbWJsZXIuUmFuZG9tU2NyYW1ibGUobGVuZ3RoKTtcclxuICAgIGxldCBrZXk6IG51bWJlciA9IE1hdGguZmxvb3IoTWF0aC5zcXJ0KGxlbmd0aCkpICsgcmFuZG9tO1xyXG4gICAgbGV0IG91dFZhbDogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKGxlbmd0aCArIDEpO1xyXG5cclxuICAgIC8vIFRoZSBmaXJzdCBjaGFyIGluIHRoZSBzY3JhbWJsZWQgc3RyaW5nIGlzIGEgcmFuZG9tIG1vZGlmaWVyIHRvIHRoZSBkZWZhdWx0IGtleVxyXG4gICAgb3V0VmFsLkFwcGVuZChTdHJpbmcuZnJvbUNoYXJDb2RlKHJhbmRvbSArIDgxKSk7XHJcblxyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGtleTsgaSsrKSB7XHJcbiAgICAgIGN1cnIgPSBpO1xyXG5cclxuICAgICAgd2hpbGUgKGN1cnIgPCBsZW5ndGgpIHtcclxuICAgICAgICBjdXJyQ2hyID0gaW5WYWxbY3Vycl07XHJcbiAgICAgICAgb3V0VmFsLkFwcGVuZChjdXJyQ2hyKTtcclxuICAgICAgICBjdXJyICs9IGtleTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoZSBsYXN0IGNoYXIgaW4gdGhlIHNjcmFtYmxlZCBzdHJpbmcgaXMgYSBwYWRkaW5nIHJlYWRhYmxlIGNoYXIuXHJcbiAgICBvdXRWYWwuQXBwZW5kKCdfJykvKidfJyovO1xyXG4gICAgcmV0dXJuIG91dFZhbC5Ub1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PmRlbGV0ZSBmaXJzdCBjaGFyYWN0ZXIgb2Ygc2NyYW1ibGVkIHRleHQgYW5kIG1ha2VzIGxlZnQgdHJpbSB0byB0aGUgc3RyaW5nPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgc3RhdGljIExvY2F0ZVNjcmFtYmxlKGluVmFsOiBzdHJpbmcsIGZyb206IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBsZXQgaTogbnVtYmVyID0gZnJvbTtcclxuICAgIHdoaWxlIChpIDwgaW5WYWwubGVuZ3RoICYmIE5DaGFyLklzV2hpdGVTcGFjZShpblZhbC5jaGFyQXQoaSkpKSB7XHJcbiAgICAgIGkgPSBpICsgMTtcclxuICAgIH1cclxuICAgIHJldHVybiBpICsgMTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gQ2hvb3NlIGEgcmFuZG9tIG1vZGlmaWVyIHRvIHRoZSBrZXkgb24gd2hpY2ggd2UgYmFzZSB0aGUgc2NyYW1ibGluZyBwcm9jZXNzLlxyXG4gIC8vLyBUaGUgcmFuZG9tIGZhY3RvciBjYW5ub3QgYmUganVzdCBhbnkgbnVtYmVyIHdlIGNob29zZS4gU2luY2UgdGhlIHNjcmFtYmxlIGtleVxyXG4gIC8vLyBkZXRlcm1pbmVzIHRoZSBhbW91bnQgb2YgJ2p1bXBzJyB3ZSBwZXJmb3JtIG9uIHRoZSB0ZXh0IHRvIGJlIHNjcmFtYmxlZCwgdGhlblxyXG4gIC8vLyB0aGUgcmFuZG9tIG51bWJlciB3ZSBhZGQgdG8gaXQgbXVzdCBub3QgYmUgdG9vIGJpZywgbm9yIHRvbyBzbWFsbC4gQXMgYSBydWxlLFxyXG4gIC8vLyB0aGUgcmFuZG9tIG1vZGlmaWVyIGNhbiByYW5nZSBmcm9tIFNRUlQobGVuKS8yJyB0byAnLVNRUlQobGVuKS8yJywgYW5kIHNpbmNlIHdlXHJcbiAgLy8vIHBhc3MgdGhlIHNlbGVjdGVkIG51bWJlciBhcyBhIGNoYXJhY3RlciB3aXRoaW4gdGhlIFhNTCwgdGhlIHdob2xlIHJhbmdlIGNhbm5vdFxyXG4gIC8vLyBleGNlZWQgdGhlIG51bWJlciBvZiB0aGUgcHJpbnRhYmxlIGNoYXJhY3RlcnMgKDk1KSwgdGh1cyB0aGUgcmFuZ2UgaXMgbGltaXRlZFxyXG4gIC8vLyBiZXR3ZWVuICgtNDgpIHRvICg0NyksIHNvIHdlIGNhcCB0aGUgYWxsb3dlZCByYW5nZSBhY2NvcmRpbmcgdG8gdGhlc2UgbGltaXRzLlxyXG4gIC8vLyBMYXN0LCB0aGUgdmFsdWUgWE1MX0lMTEVHQUxfUkFORE9NLCBzaW5jZSBpdCB3aWxsIHJlc3VsdCBpbiBhZGRpbmcgdGhlIGNoYXIgJzwnXHJcbiAgLy8vIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIFhNTC4gVGhpcyB3aWxsIG1ha2UgdGhlIGNsaWVudCBjb25mdXNlZCwgc2luY2UgaXQgd2lsbFxyXG4gIC8vLyB0aGluayB0aGUgWE1MIGlzIG5vdCBzY3JhbWJsZWQuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJsZW5cIj5vZiBvdXRnb2luZyBTdHJpbmc8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gcmFuZG9tIG1vZGlmaWVyPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIFJhbmRvbVNjcmFtYmxlKGxlbjogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGxldCBkZWx0YTogbnVtYmVyO1xyXG4gICAgbGV0IHNxcnQ6IG51bWJlciA9IE1hdGguc3FydChsZW4pO1xyXG4gICAgbGV0IGxvdzogbnVtYmVyID0gU2NyYW1ibGVyLlhNTF9NSU5fUkFORE9NO1xyXG4gICAgbGV0IGhpZ2g6IG51bWJlciA9IFNjcmFtYmxlci5YTUxfTUFYX1JBTkRPTTtcclxuXHJcbiAgICBpZiAobG93IDwgKCgoLTEpICogc3FydCkgLyAyKSlcclxuICAgICAgbG93ID0gTWF0aC5mbG9vcigoKC0xKSAqIHNxcnQpIC8gMik7XHJcblxyXG4gICAgaWYgKGhpZ2ggPiAoc3FydCAvIDIpKVxyXG4gICAgICBoaWdoID0gTWF0aC5mbG9vcihzcXJ0IC8gMik7XHJcblxyXG4gICAgZGVsdGEgPSAoTWF0aC5yYW5kb20oKSAqIChoaWdoIC0gbG93KSkgKyBsb3c7XHJcbiAgICBkZWx0YSA9IE1hdGguZmxvb3IoZGVsdGEpO1xyXG4gICAgaWYgKGRlbHRhID09PSBTY3JhbWJsZXIuWE1MX0lMTEVHQUxfUkFORE9NKVxyXG4gICAgICBkZWx0YSsrO1xyXG5cclxuICAgIHJldHVybiBkZWx0YTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5tYWtlIHVuc2NyYW1ibGluZyB0byBzdHJpbmcgaW5zaWRlIHVwcGVyIGFuZCBkb3duIGJvcmRlcjwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpblZhbFwiPnNjcmFtYmxlZCBzdHJpbmcgdG8gYnVpbGQgdW5zY3JhbWJsZWQgc3RyaW5nIGZyb20gaXQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImJlZ2luT2ZmU2V0XCI+b2Zmc2V0IHdoZXJlIHRoZSBzY3JhbWJsZWQgc3RyaW5nIGJlZ2luczwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZW5kT2ZmU2V0XCI+b2Zmc2V0IG9mIHRoZSBsYXN0IGNoYXIgaW4gdGhlIHNjcmFtYmxlZCBzdHJpbmcuPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHVuc2NyYW1ibGVkIHN0cmluZzwvcmV0dXJucz5cclxuICBzdGF0aWMgVW5TY3JhbWJsZShpblZhbDogc3RyaW5nLCBiZWdpbk9mZlNldDogbnVtYmVyLCBlbmRPZmZTZXQ6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBpZiAoIVNjcmFtYmxlci5TY3JhbWJsaW5nRW5hYmxlZCkge1xyXG4gICAgICBsZXQgb3V0VmFsOiBzdHJpbmcgPSBpblZhbC5zdWJzdHIoYmVnaW5PZmZTZXQsIGVuZE9mZlNldCAtIGJlZ2luT2ZmU2V0ICsgMSk7XHJcbiAgICAgIHJldHVybiBvdXRWYWw7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgbGV0IGN1cnJPdXQ6IG51bWJlciwgY3VyckluOiBudW1iZXIsIGk6IG51bWJlcjtcclxuICAgICAgbGV0IGxlbmd0aDogbnVtYmVyO1xyXG4gICAgICBsZXQga2V5OiBudW1iZXI7XHJcbiAgICAgIGxldCBvdXRWYWw6IHN0cmluZ1tdO1xyXG4gICAgICBsZXQgY3VyckJsazogbnVtYmVyO1xyXG4gICAgICBsZXQgYmxvY2tTaXplOiBudW1iZXI7XHJcbiAgICAgIGxldCByZW1pbmRlcjogbnVtYmVyO1xyXG4gICAgICBsZXQgc3RhcnQ6IG51bWJlcjtcclxuICAgICAgbGV0IHJhbmRvbUNocjogc3RyaW5nO1xyXG5cclxuICAgICAgLy8gaWdub3JlIHRoZSBsYXN0IGNoYXIgaW4gdGhlIGlucHV0LCBpdCdzIGp1c3QgYSBwYWRkaW5nIGNoYXJhY3Rlci5cclxuICAgICAgZW5kT2ZmU2V0ID0gZW5kT2ZmU2V0IC0gMTtcclxuXHJcbiAgICAgIC8vIHNraXAgb3ZlciB0aGUgZmlyc3QgY2hhciBpbiB0aGUgaW5wdXQsIGl0IG9ubHkgY29udGFpbnMgYSByYW5kb20gbW9kaWZpZXIgdG8gdGhlIGtleS5cclxuICAgICAgLy8gaXQgaXMgbm90IHBhcnQgb2YgdGhlIGRhdGEuXHJcbiAgICAgIHN0YXJ0ID0gdGhpcy5Mb2NhdGVTY3JhbWJsZShpblZhbCwgYmVnaW5PZmZTZXQpO1xyXG4gICAgICByYW5kb21DaHIgPSBpblZhbFtzdGFydCAtIDFdO1xyXG5cclxuICAgICAgbGVuZ3RoID0gZW5kT2ZmU2V0IC0gc3RhcnQgKyAxO1xyXG4gICAgICBrZXkgPSAocmFuZG9tQ2hyLmNoYXJDb2RlQXQoMCkgLSA4MSkgKyBNYXRoLmZsb29yKE1hdGguc3FydChsZW5ndGgpKTtcclxuICAgICAgb3V0VmFsID0gbmV3IEFycmF5KGxlbmd0aCk7XHJcbiAgICAgIGJsb2NrU2l6ZSA9IE1hdGguZmxvb3IobGVuZ3RoIC8ga2V5KTtcclxuICAgICAgcmVtaW5kZXIgPSBsZW5ndGggJSBrZXk7XHJcblxyXG4gICAgICBmb3IgKGkgPSBjdXJyT3V0ID0gMDsgY3Vyck91dCA8IGxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgY3VyckluID0gaTtcclxuICAgICAgICBjdXJyQmxrID0gMTtcclxuXHJcbiAgICAgICAgd2hpbGUgKGN1cnJJbiA8IGxlbmd0aCAmJiBjdXJyT3V0IDwgbGVuZ3RoKSB7XHJcbiAgICAgICAgICBvdXRWYWxbY3Vyck91dF0gPSBpblZhbFtjdXJySW4gKyBzdGFydF07XHJcbiAgICAgICAgICBjdXJySW4gKz0gYmxvY2tTaXplO1xyXG4gICAgICAgICAgaWYgKGN1cnJCbGsgPD0gcmVtaW5kZXIpXHJcbiAgICAgICAgICAgIGN1cnJJbisrO1xyXG4gICAgICAgICAgY3Vyck91dCsrO1xyXG4gICAgICAgICAgY3VyckJsaysrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIE5TdHJpbmcuRnJvbUNoYXJzKG91dFZhbCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { HashUtils } from '@magic-xpa/mscorelib';
2
+ export class UniqueIDUtils {
3
+ static id;
4
+ static GetUniqueMachineID() {
5
+ if (!UniqueIDUtils.id) {
6
+ let date = new Date();
7
+ let timeStamp = date.toDateString() + date.toTimeString() + date.getMilliseconds();
8
+ UniqueIDUtils.id = HashUtils.GetHashCode(timeStamp).toString() + '_';
9
+ }
10
+ return UniqueIDUtils.id;
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5pcXVlSURVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvdXRpbC9VbmlxdWVJRFV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxNQUFNLE9BQU8sYUFBYTtJQUVoQixNQUFNLENBQUMsRUFBRSxDQUFDO0lBRWxCLE1BQU0sQ0FBQyxrQkFBa0I7UUFFdkIsSUFBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUU7WUFFcEIsSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN0QixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNuRixhQUFhLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDO1NBQ3ZFO1FBQ0QsT0FBTyxhQUFhLENBQUMsRUFBRSxDQUFFO0lBRTNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhc2hVdGlsc30gZnJvbSAnQG1hZ2ljLXhwYS9tc2NvcmVsaWInO1xyXG5leHBvcnQgY2xhc3MgVW5pcXVlSURVdGlscyB7XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGlkO1xyXG5cclxuICBzdGF0aWMgR2V0VW5pcXVlTWFjaGluZUlEKCk6IHN0cmluZyB7XHJcblxyXG4gICAgaWYoIVVuaXF1ZUlEVXRpbHMuaWQpIHtcclxuICAgICAgLy8gVGltZXN0YW1wIHdpbGwgYmUgdGhlIG5ldyB1bmlxdWUgaWRlbnRpZmllciBmb3Igd2ViY2xpZW50XHJcbiAgICAgIGxldCBkYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgbGV0IHRpbWVTdGFtcCA9IGRhdGUudG9EYXRlU3RyaW5nKCkgKyBkYXRlLnRvVGltZVN0cmluZygpICsgZGF0ZS5nZXRNaWxsaXNlY29uZHMoKTsgLy8gZ2V0IHRoZSB0aW1lIHN0YW1wXHJcbiAgICAgIFVuaXF1ZUlEVXRpbHMuaWQgPSBIYXNoVXRpbHMuR2V0SGFzaENvZGUodGltZVN0YW1wICkudG9TdHJpbmcoKSArICdfJzsgLy8gZ2V0IGhhc2ggY29kZSBvZiB0aW1lc3RhbXBcclxuICAgIH1cclxuICAgIHJldHVybiBVbmlxdWVJRFV0aWxzLmlkIDtcclxuXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,92 +1,92 @@
1
- import { NString } from '@magic-xpa/mscorelib';
2
- export class CookieService {
3
- static getCookies(cookieName) {
4
- if (cookieName == '*')
5
- return document.cookie;
6
- return this.getCookie(cookieName);
7
- }
8
- static setCookie(name, value, expires, path, domain, secure, sameSite) {
9
- let cookieString = encodeURIComponent(name) + '=' + encodeURIComponent(CookieService.encode_cookie(value)) + ';';
10
- if (expires) {
11
- if (typeof expires === 'number') {
12
- const dateExpires = new Date(expires);
13
- cookieString += 'expires=' + dateExpires.toUTCString() + ';';
14
- }
15
- else if ((typeof expires === 'string')) {
16
- const dateExpires = new Date(expires);
17
- cookieString += 'expires=' + dateExpires.toUTCString() + ';';
18
- }
19
- else {
20
- cookieString += 'expires=' + expires.toUTCString() + ';';
21
- }
22
- }
23
- if (path) {
24
- cookieString += 'path=' + path + ';';
25
- }
26
- if (domain) {
27
- cookieString += 'domain=' + domain + ';';
28
- }
29
- if (secure === false && sameSite === 'None') {
30
- secure = true;
31
- console.warn(`cookie ${name} was forced with secure flag because sameSite=None.`);
32
- }
33
- if (secure) {
34
- cookieString += 'secure;';
35
- }
36
- if (!sameSite) {
37
- sameSite = 'Lax';
38
- }
39
- cookieString += 'sameSite=' + sameSite + ';';
40
- document.cookie = cookieString;
41
- return this.getCookie(name);
42
- }
43
- static encode_cookie(cookie_value) {
44
- cookie_value = cookie_value.trim();
45
- var coded_string = '';
46
- for (var counter = 0; counter < cookie_value.length; counter++) {
47
- coded_string += cookie_value.charCodeAt(counter);
48
- if (counter < cookie_value.length - 1) {
49
- coded_string += '+';
50
- }
51
- }
52
- return coded_string;
53
- }
54
- static decode_cookie(coded_string) {
55
- var cookie_value = '';
56
- var code_array = coded_string.split('+');
57
- for (var counter = 0; counter < code_array.length; counter++) {
58
- cookie_value += String.fromCharCode(code_array[counter]);
59
- }
60
- return cookie_value;
61
- }
62
- static getCookie(cookieName) {
63
- let name = NString.TrimStart(cookieName + '=');
64
- let decodedCookie = decodeURIComponent(document.cookie);
65
- let ca = decodedCookie.split(';');
66
- for (let i = 0; i < ca.length; i++) {
67
- let c = ca[i];
68
- while (c.charAt(0) == ' ') {
69
- c = c.substring(1);
70
- }
71
- if (c.indexOf(name) >= 0) {
72
- let decode = CookieService.decode_cookie(c.substring(name.length, c.length));
73
- return decode;
74
- }
75
- }
76
- return '';
77
- }
78
- static deleteCookie(cookieName) {
79
- var cookies = document.cookie.split(';');
80
- for (var i = 0; i < cookies.length; i++) {
81
- var cookie = cookies[i];
82
- var eqPos = cookie.indexOf('=');
83
- var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
84
- if (cookieName === NString.TrimStart(decodeURI(name))) {
85
- document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT';
86
- return true;
87
- }
88
- }
89
- return false;
90
- }
91
- }
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL3V0aWwvY29va2llLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9DLE1BQU0sT0FBTyxhQUFhO0lBRWpCLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBa0I7UUFFekMsSUFBSSxVQUFVLElBQUksR0FBRztZQUNuQixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFFekIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsT0FBdUIsRUFBRSxJQUFLLEVBQUUsTUFBUSxFQUFFLE1BQU8sRUFBRSxRQUFTO1FBQy9HLElBQUksWUFBWSxHQUFXLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3pILElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7Z0JBQy9CLE1BQU0sV0FBVyxHQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUU1QyxZQUFZLElBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUM7YUFDOUQ7aUJBQ0ksSUFBRyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxFQUNyQztnQkFDRSxNQUFNLFdBQVcsR0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFNUMsWUFBWSxJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsV0FBVyxFQUFFLEdBQUcs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YSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzdFLE9BQU8sTUFBTSxDQUFDO2FBQ2Y7U0FDRjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVTtRQUM1QixJQUFJLE9BQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV6QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN2QyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEIsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxJQUFJLElBQUksR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDekQsSUFBSSxVQUFVLEtBQUssT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFDckQsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcseUNBQXlDLENBQUM7Z0JBQ25FLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTlN0cmluZyB9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDb29raWVTZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRDb29raWVzKGNvb2tpZU5hbWU6IHN0cmluZykge1xyXG5cclxuICAgIGlmIChjb29raWVOYW1lID09ICcqJylcclxuICAgICAgcmV0dXJuIGRvY3VtZW50LmNvb2tpZTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5nZXRDb29raWUoY29va2llTmFtZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHNldENvb2tpZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGV4cGlyZXM/OiBudW1iZXIgfCBEYXRlLCBwYXRoPywgZG9tYWluID8sIHNlY3VyZT8sIHNhbWVTaXRlPyk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGNvb2tpZVN0cmluZzogc3RyaW5nID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KENvb2tpZVNlcnZpY2UuZW5jb2RlX2Nvb2tpZSh2YWx1ZSkpICsgJzsnO1xyXG4gICAgaWYgKGV4cGlyZXMpIHtcclxuICAgICAgaWYgKHR5cGVvZiBleHBpcmVzID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgIGNvbnN0IGRhdGVFeHBpcmVzOiBEYXRlID0gbmV3IERhdGUoZXhwaXJlcyk7XHJcblxyXG4gICAgICAgIGNvb2tpZVN0cmluZyArPSAnZXhwaXJlcz0nICsgZGF0ZUV4cGlyZXMudG9VVENTdHJpbmcoKSArICc7JztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmKCh0eXBlb2YgZXhwaXJlcyA9PT0gJ3N0cmluZycpKVxyXG4gICAgICB7XHJcbiAgICAgICAgY29uc3QgZGF0ZUV4cGlyZXM6IERhdGUgPSBuZXcgRGF0ZShleHBpcmVzKTtcclxuXHJcbiAgICAgICAgY29va2llU3RyaW5nICs9ICdleHBpcmVzPScgKyBkYXRlRXhwaXJlcy50b1VUQ1N0cmluZygpICsgJzsnO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvb2tpZVN0cmluZyArPSAnZXhwaXJlcz0nICsgZXhwaXJlcy50b1VUQ1N0cmluZygpICsgJzsnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHBhdGgpIHtcclxuICAgICAgY29va2llU3RyaW5nICs9ICdwYXRoPScgKyBwYXRoICsgJzsnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkb21haW4pIHtcclxuICAgICAgY29va2llU3RyaW5nICs9ICdkb21haW49JyArIGRvbWFpbiArICc7JztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2VjdXJlID09PSBmYWxzZSAmJiBzYW1lU2l0ZSA9PT0gJ05vbmUnKSB7XHJcbiAgICAgIHNlY3VyZSA9IHRydWU7XHJcbiAgICAgIGNvbnNvbGUud2FybihcclxuICAgICAgICBgY29va2llICR7bmFtZX0gd2FzIGZvcmNlZCB3aXRoIHNlY3VyZSBmbGFnIGJlY2F1c2Ugc2FtZVNpdGU9Tm9uZS5gXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAoc2VjdXJlKSB7XHJcbiAgICAgIGNvb2tpZVN0cmluZyArPSAnc2VjdXJlOyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFzYW1lU2l0ZSkge1xyXG4gICAgICBzYW1lU2l0ZSA9ICdMYXgnO1xyXG4gICAgfVxyXG5cclxuICAgIGNvb2tpZVN0cmluZyArPSAnc2FtZVNpdGU9JyArIHNhbWVTaXRlICsgJzsnO1xyXG5cclxuICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZVN0cmluZztcclxuXHJcbiAgICByZXR1cm4gdGhpcy5nZXRDb29raWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZW5jb2RlX2Nvb2tpZShjb29raWVfdmFsdWUpIHtcclxuXHJcbiAgICBjb29raWVfdmFsdWUgPSBjb29raWVfdmFsdWUudHJpbSgpO1xyXG4gICAgLy9UaGlzIHZhcmlhYmxlIGhvbGRzIHRoZSBlbmNvZGVkIGNvb2tpZSBjaGFyYWN0ZXJzXHJcbiAgICB2YXIgY29kZWRfc3RyaW5nID0gJyc7XHJcblxyXG4gICAgLy8gUnVuIHRocm91Z2ggZWFjaCBjaGFyYWN0ZXIgaW4gdGhlIGNvb2tpZSB2YWx1ZVxyXG4gICAgZm9yICh2YXIgY291bnRlciA9IDA7IGNvdW50ZXIgPCBjb29raWVfdmFsdWUubGVuZ3RoOyBjb3VudGVyKyspIHtcclxuXHJcbiAgICAgIC8vIEFkZCB0aGUgY2hhcmFjdGVyJ3MgbnVtZXJpYyBjb2RlIHRvIHRoZSBzdHJpbmdcclxuICAgICAgY29kZWRfc3RyaW5nICs9IGNvb2tpZV92YWx1ZS5jaGFyQ29kZUF0KGNvdW50ZXIpO1xyXG5cclxuICAgICAgLy8gU2VwYXJhdGUgZWFjaCBjb2RlIHdpdGggYSBwbHVzIHNpZ24gKCspXHJcbiAgICAgIGlmIChjb3VudGVyIDwgY29va2llX3ZhbHVlLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICBjb2RlZF9zdHJpbmcgKz0gJysnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29kZWRfc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRlY29kZV9jb29raWUoY29kZWRfc3RyaW5nKSB7XHJcbiAgICAvLyBUaGlzIHZhcmlhYmxlIGhvbGRzIHRoZSBkZWNvZGVkIGNvb2tpZSB2YWx1ZVxyXG4gICAgdmFyIGNvb2tpZV92YWx1ZSA9ICcnO1xyXG5cclxuICAgIC8vIFVzZSArIHRvIHNwbGl0IHRoZSBjb2RlZCBzdHJpbmcgaW50byBhbiBhcnJheVxyXG4gICAgdmFyIGNvZGVfYXJyYXkgPSBjb2RlZF9zdHJpbmcuc3BsaXQoJysnKTtcclxuXHJcbiAgICAvLyBMb29wIHRocm91Z2ggdGhlIGFycmF5XHJcbiAgICBmb3IgKHZhciBjb3VudGVyID0gMDsgY291bnRlciA8IGNvZGVfYXJyYXkubGVuZ3RoOyBjb3VudGVyKyspIHtcclxuXHJcbiAgICAgIC8vIENvbnZlcnQgdGhlIGNvZGUgaW50byBhIGNoYXJhY3RlciBhbmRcclxuICAgICAgLy8gYWRkIGl0IHRvIHRoZSBjb29raWUgdmFsdWUgc3RyaW5nXHJcbiAgICAgIGNvb2tpZV92YWx1ZSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGNvZGVfYXJyYXlbY291bnRlcl0pO1xyXG4gICAgfVxyXG4gICAgLy8gcmV0dXJuIGNvZGVkX3N0cmluZztcclxuXHJcbiAgICByZXR1cm4gY29va2llX3ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldENvb2tpZShjb29raWVOYW1lKTogYW55IHtcclxuICAgIGxldCBuYW1lID0gTlN0cmluZy5UcmltU3RhcnQoY29va2llTmFtZSArICc9Jyk7XHJcbiAgICBsZXQgZGVjb2RlZENvb2tpZSA9IGRlY29kZVVSSUNvbXBvbmVudChkb2N1bWVudC5jb29raWUpO1xyXG4gICAgbGV0IGNhID0gZGVjb2RlZENvb2tpZS5zcGxpdCgnOycpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgYyA9IGNhW2ldO1xyXG4gICAgICB3aGlsZSAoYy5jaGFyQXQoMCkgPT0gJyAnKSB7XHJcbiAgICAgICAgYyA9IGMuc3Vic3RyaW5nKDEpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChjLmluZGV4T2YobmFtZSkgPj0gMCkge1xyXG4gICAgICAgIGxldCBkZWNvZGUgPSBDb29raWVTZXJ2aWNlLmRlY29kZV9jb29raWUoYy5zdWJzdHJpbmcobmFtZS5sZW5ndGgsIGMubGVuZ3RoKSk7XHJcbiAgICAgICAgcmV0dXJuIGRlY29kZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRlbGV0ZUNvb2tpZShjb29raWVOYW1lKTogYm9vbGVhbiB7XHJcbiAgICB2YXIgY29va2llcyA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpO1xyXG5cclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29va2llcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICB2YXIgY29va2llID0gY29va2llc1tpXTtcclxuICAgICAgdmFyIGVxUG9zID0gY29va2llLmluZGV4T2YoJz0nKTtcclxuICAgICAgdmFyIG5hbWUgPSBlcVBvcyA+IC0xID8gY29va2llLnN1YnN0cigwLCBlcVBvcykgOiBjb29raWU7XHJcbiAgICAgIGlmIChjb29raWVOYW1lID09PSBOU3RyaW5nLlRyaW1TdGFydChkZWNvZGVVUkkobmFtZSkpKSB7XHJcbiAgICAgICAgZG9jdW1lbnQuY29va2llID0gbmFtZSArICc9O2V4cGlyZXM9VGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQnO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
1
+ import { NString } from '@magic-xpa/mscorelib';
2
+ export class CookieService {
3
+ static getCookies(cookieName) {
4
+ if (cookieName == '*')
5
+ return document.cookie;
6
+ return this.getCookie(cookieName);
7
+ }
8
+ static setCookie(name, value, expires, path, domain, secure, sameSite) {
9
+ let cookieString = encodeURIComponent(name) + '=' + encodeURIComponent(CookieService.encode_cookie(value)) + ';';
10
+ if (expires) {
11
+ if (typeof expires === 'number') {
12
+ const dateExpires = new Date(expires);
13
+ cookieString += 'expires=' + dateExpires.toUTCString() + ';';
14
+ }
15
+ else if ((typeof expires === 'string')) {
16
+ const dateExpires = new Date(expires);
17
+ cookieString += 'expires=' + dateExpires.toUTCString() + ';';
18
+ }
19
+ else {
20
+ cookieString += 'expires=' + expires.toUTCString() + ';';
21
+ }
22
+ }
23
+ if (path) {
24
+ cookieString += 'path=' + path + ';';
25
+ }
26
+ if (domain) {
27
+ cookieString += 'domain=' + domain + ';';
28
+ }
29
+ if (secure === false && sameSite === 'None') {
30
+ secure = true;
31
+ console.warn(`cookie ${name} was forced with secure flag because sameSite=None.`);
32
+ }
33
+ if (secure) {
34
+ cookieString += 'secure;';
35
+ }
36
+ if (!sameSite) {
37
+ sameSite = 'Lax';
38
+ }
39
+ cookieString += 'sameSite=' + sameSite + ';';
40
+ document.cookie = cookieString;
41
+ return this.getCookie(name);
42
+ }
43
+ static encode_cookie(cookie_value) {
44
+ cookie_value = cookie_value.trim();
45
+ var coded_string = '';
46
+ for (var counter = 0; counter < cookie_value.length; counter++) {
47
+ coded_string += cookie_value.charCodeAt(counter);
48
+ if (counter < cookie_value.length - 1) {
49
+ coded_string += '+';
50
+ }
51
+ }
52
+ return coded_string;
53
+ }
54
+ static decode_cookie(coded_string) {
55
+ var cookie_value = '';
56
+ var code_array = coded_string.split('+');
57
+ for (var counter = 0; counter < code_array.length; counter++) {
58
+ cookie_value += String.fromCharCode(code_array[counter]);
59
+ }
60
+ return cookie_value;
61
+ }
62
+ static getCookie(cookieName) {
63
+ let name = NString.TrimStart(cookieName + '=');
64
+ let decodedCookie = decodeURIComponent(document.cookie);
65
+ let ca = decodedCookie.split(';');
66
+ for (let i = 0; i < ca.length; i++) {
67
+ let c = ca[i];
68
+ while (c.charAt(0) == ' ') {
69
+ c = c.substring(1);
70
+ }
71
+ if (c.indexOf(name) >= 0) {
72
+ let decode = CookieService.decode_cookie(c.substring(name.length, c.length));
73
+ return decode;
74
+ }
75
+ }
76
+ return '';
77
+ }
78
+ static deleteCookie(cookieName) {
79
+ var cookies = document.cookie.split(';');
80
+ for (var i = 0; i < cookies.length; i++) {
81
+ var cookie = cookies[i];
82
+ var eqPos = cookie.indexOf('=');
83
+ var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
84
+ if (cookieName === NString.TrimStart(decodeURI(name))) {
85
+ document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT';
86
+ return true;
87
+ }
88
+ }
89
+ return false;
90
+ }
91
+ }
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL3V0aWwvY29va2llLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9DLE1BQU0sT0FBTyxhQUFhO0lBRWpCLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBa0I7UUFFekMsSUFBSSxVQUFVLElBQUksR0FBRztZQUNuQixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFFekIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsT0FBdUIsRUFBRSxJQUFLLEVBQUUsTUFBUSxFQUFFLE1BQU8sRUFBRSxRQUFTO1FBQy9HLElBQUksWUFBWSxHQUFXLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3pILElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7Z0JBQy9CLE1BQU0sV0FBVyxHQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUU1QyxZQUFZLElBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUM7YUFDOUQ7aUJBQ0ksSUFBRyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxFQUNyQztnQkFDRSxNQUFNLFdBQVcsR0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFNUMsWUFBWSxJQUFJLFVBQVUsR0FBRyxXQUFXLENBQUMsV0FBVyxFQUFFLEdBQUcs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YSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzdFLE9BQU8sTUFBTSxDQUFDO2FBQ2Y7U0FDRjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVTtRQUM1QixJQUFJLE9BQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV6QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN2QyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEIsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxJQUFJLElBQUksR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDekQsSUFBSSxVQUFVLEtBQUssT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFDckQsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcseUNBQXlDLENBQUM7Z0JBQ25FLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTlN0cmluZyB9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcblxuZXhwb3J0IGNsYXNzIENvb2tpZVNlcnZpY2Uge1xuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0Q29va2llcyhjb29raWVOYW1lOiBzdHJpbmcpIHtcblxuICAgIGlmIChjb29raWVOYW1lID09ICcqJylcbiAgICAgIHJldHVybiBkb2N1bWVudC5jb29raWU7XG5cbiAgICByZXR1cm4gdGhpcy5nZXRDb29raWUoY29va2llTmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNldENvb2tpZShuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGV4cGlyZXM/OiBudW1iZXIgfCBEYXRlLCBwYXRoPywgZG9tYWluID8sIHNlY3VyZT8sIHNhbWVTaXRlPyk6IGJvb2xlYW4ge1xuICAgIGxldCBjb29raWVTdHJpbmc6IHN0cmluZyA9IGVuY29kZVVSSUNvbXBvbmVudChuYW1lKSArICc9JyArIGVuY29kZVVSSUNvbXBvbmVudChDb29raWVTZXJ2aWNlLmVuY29kZV9jb29raWUodmFsdWUpKSArICc7JztcbiAgICBpZiAoZXhwaXJlcykge1xuICAgICAgaWYgKHR5cGVvZiBleHBpcmVzID09PSAnbnVtYmVyJykge1xuICAgICAgICBjb25zdCBkYXRlRXhwaXJlczogRGF0ZSA9IG5ldyBEYXRlKGV4cGlyZXMpO1xuXG4gICAgICAgIGNvb2tpZVN0cmluZyArPSAnZXhwaXJlcz0nICsgZGF0ZUV4cGlyZXMudG9VVENTdHJpbmcoKSArICc7JztcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYoKHR5cGVvZiBleHBpcmVzID09PSAnc3RyaW5nJykpXG4gICAgICB7XG4gICAgICAgIGNvbnN0IGRhdGVFeHBpcmVzOiBEYXRlID0gbmV3IERhdGUoZXhwaXJlcyk7XG5cbiAgICAgICAgY29va2llU3RyaW5nICs9ICdleHBpcmVzPScgKyBkYXRlRXhwaXJlcy50b1VUQ1N0cmluZygpICsgJzsnO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGNvb2tpZVN0cmluZyArPSAnZXhwaXJlcz0nICsgZXhwaXJlcy50b1VUQ1N0cmluZygpICsgJzsnO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXRoKSB7XG4gICAgICBjb29raWVTdHJpbmcgKz0gJ3BhdGg9JyArIHBhdGggKyAnOyc7XG4gICAgfVxuXG4gICAgaWYgKGRvbWFpbikge1xuICAgICAgY29va2llU3RyaW5nICs9ICdkb21haW49JyArIGRvbWFpbiArICc7JztcbiAgICB9XG5cbiAgICBpZiAoc2VjdXJlID09PSBmYWxzZSAmJiBzYW1lU2l0ZSA9PT0gJ05vbmUnKSB7XG4gICAgICBzZWN1cmUgPSB0cnVlO1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgY29va2llICR7bmFtZX0gd2FzIGZvcmNlZCB3aXRoIHNlY3VyZSBmbGFnIGJlY2F1c2Ugc2FtZVNpdGU9Tm9uZS5gXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoc2VjdXJlKSB7XG4gICAgICBjb29raWVTdHJpbmcgKz0gJ3NlY3VyZTsnO1xuICAgIH1cblxuICAgIGlmICghc2FtZVNpdGUpIHtcbiAgICAgIHNhbWVTaXRlID0gJ0xheCc7XG4gICAgfVxuXG4gICAgY29va2llU3RyaW5nICs9ICdzYW1lU2l0ZT0nICsgc2FtZVNpdGUgKyAnOyc7XG5cbiAgICBkb2N1bWVudC5jb29raWUgPSBjb29raWVTdHJpbmc7XG5cbiAgICByZXR1cm4gdGhpcy5nZXRDb29raWUobmFtZSk7XG4gIH1cblxuICBzdGF0aWMgZW5jb2RlX2Nvb2tpZShjb29raWVfdmFsdWUpIHtcblxuICAgIGNvb2tpZV92YWx1ZSA9IGNvb2tpZV92YWx1ZS50cmltKCk7XG4gICAgLy9UaGlzIHZhcmlhYmxlIGhvbGRzIHRoZSBlbmNvZGVkIGNvb2tpZSBjaGFyYWN0ZXJzXG4gICAgdmFyIGNvZGVkX3N0cmluZyA9ICcnO1xuXG4gICAgLy8gUnVuIHRocm91Z2ggZWFjaCBjaGFyYWN0ZXIgaW4gdGhlIGNvb2tpZSB2YWx1ZVxuICAgIGZvciAodmFyIGNvdW50ZXIgPSAwOyBjb3VudGVyIDwgY29va2llX3ZhbHVlLmxlbmd0aDsgY291bnRlcisrKSB7XG5cbiAgICAgIC8vIEFkZCB0aGUgY2hhcmFjdGVyJ3MgbnVtZXJpYyBjb2RlIHRvIHRoZSBzdHJpbmdcbiAgICAgIGNvZGVkX3N0cmluZyArPSBjb29raWVfdmFsdWUuY2hhckNvZGVBdChjb3VudGVyKTtcblxuICAgICAgLy8gU2VwYXJhdGUgZWFjaCBjb2RlIHdpdGggYSBwbHVzIHNpZ24gKCspXG4gICAgICBpZiAoY291bnRlciA8IGNvb2tpZV92YWx1ZS5sZW5ndGggLSAxKSB7XG4gICAgICAgIGNvZGVkX3N0cmluZyArPSAnKyc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb2RlZF9zdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgZGVjb2RlX2Nvb2tpZShjb2RlZF9zdHJpbmcpIHtcbiAgICAvLyBUaGlzIHZhcmlhYmxlIGhvbGRzIHRoZSBkZWNvZGVkIGNvb2tpZSB2YWx1ZVxuICAgIHZhciBjb29raWVfdmFsdWUgPSAnJztcblxuICAgIC8vIFVzZSArIHRvIHNwbGl0IHRoZSBjb2RlZCBzdHJpbmcgaW50byBhbiBhcnJheVxuICAgIHZhciBjb2RlX2FycmF5ID0gY29kZWRfc3RyaW5nLnNwbGl0KCcrJyk7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggdGhlIGFycmF5XG4gICAgZm9yICh2YXIgY291bnRlciA9IDA7IGNvdW50ZXIgPCBjb2RlX2FycmF5Lmxlbmd0aDsgY291bnRlcisrKSB7XG5cbiAgICAgIC8vIENvbnZlcnQgdGhlIGNvZGUgaW50byBhIGNoYXJhY3RlciBhbmRcbiAgICAgIC8vIGFkZCBpdCB0byB0aGUgY29va2llIHZhbHVlIHN0cmluZ1xuICAgICAgY29va2llX3ZhbHVlICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoY29kZV9hcnJheVtjb3VudGVyXSk7XG4gICAgfVxuICAgIC8vIHJldHVybiBjb2RlZF9zdHJpbmc7XG5cbiAgICByZXR1cm4gY29va2llX3ZhbHVlO1xuICB9XG5cbiAgc3RhdGljIGdldENvb2tpZShjb29raWVOYW1lKTogYW55IHtcbiAgICBsZXQgbmFtZSA9IE5TdHJpbmcuVHJpbVN0YXJ0KGNvb2tpZU5hbWUgKyAnPScpO1xuICAgIGxldCBkZWNvZGVkQ29va2llID0gZGVjb2RlVVJJQ29tcG9uZW50KGRvY3VtZW50LmNvb2tpZSk7XG4gICAgbGV0IGNhID0gZGVjb2RlZENvb2tpZS5zcGxpdCgnOycpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2EubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBjID0gY2FbaV07XG4gICAgICB3aGlsZSAoYy5jaGFyQXQoMCkgPT0gJyAnKSB7XG4gICAgICAgIGMgPSBjLnN1YnN0cmluZygxKTtcbiAgICAgIH1cbiAgICAgIGlmIChjLmluZGV4T2YobmFtZSkgPj0gMCkge1xuICAgICAgICBsZXQgZGVjb2RlID0gQ29va2llU2VydmljZS5kZWNvZGVfY29va2llKGMuc3Vic3RyaW5nKG5hbWUubGVuZ3RoLCBjLmxlbmd0aCkpO1xuICAgICAgICByZXR1cm4gZGVjb2RlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBzdGF0aWMgZGVsZXRlQ29va2llKGNvb2tpZU5hbWUpOiBib29sZWFuIHtcbiAgICB2YXIgY29va2llcyA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb29raWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgY29va2llID0gY29va2llc1tpXTtcbiAgICAgIHZhciBlcVBvcyA9IGNvb2tpZS5pbmRleE9mKCc9Jyk7XG4gICAgICB2YXIgbmFtZSA9IGVxUG9zID4gLTEgPyBjb29raWUuc3Vic3RyKDAsIGVxUG9zKSA6IGNvb2tpZTtcbiAgICAgIGlmIChjb29raWVOYW1lID09PSBOU3RyaW5nLlRyaW1TdGFydChkZWNvZGVVUkkobmFtZSkpKSB7XG4gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IG5hbWUgKyAnPTtleHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UJztcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG59XG4iXX0=