@magic-xpa/engine 4.801.0-dev481.243 → 4.801.0-dev481.249
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/index.mjs +190 -0
- package/{esm2015/magic-xpa-engine.js → esm2020/magic-xpa-engine.mjs} +0 -0
- package/esm2020/src/AccessHelper.mjs +3 -0
- package/esm2020/src/ClientManager.mjs +403 -0
- package/esm2020/src/CommandsProcessorBase.mjs +58 -0
- package/esm2020/src/CommandsProcessorManager.mjs +26 -0
- package/esm2020/src/CommandsTable.mjs +163 -0
- package/{esm2015/src/ConstInterface.js → esm2020/src/ConstInterface.mjs} +0 -0
- package/{esm2015/src/CurrentClientVersion.js → esm2020/src/CurrentClientVersion.mjs} +2 -2
- package/{esm2015/src/FlowMonitorInterface.js → esm2020/src/FlowMonitorInterface.mjs} +0 -0
- package/esm2020/src/GUIManager.mjs +63 -0
- package/{esm2015/src/GlobalCommandsManager.js → esm2020/src/GlobalCommandsManager.mjs} +0 -0
- package/{esm2015/src/GuiEventsProcessor.js → esm2020/src/GuiEventsProcessor.mjs} +0 -0
- package/{esm2015/src/ICommandsTable.js → esm2020/src/ICommandsTable.mjs} +1 -0
- package/{esm2015/src/ServerConfig.js → esm2020/src/ServerConfig.mjs} +0 -0
- package/{esm2015/src/bridge/IGuiEvent.js → esm2020/src/bridge/IGuiEvent.mjs} +0 -0
- package/esm2020/src/bridge/MagicBridge.mjs +41 -0
- package/{esm2015/src/commands/ClientOriginatedCommandTaskTag.js → esm2020/src/commands/ClientOriginatedCommandTaskTag.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/AddUserLocateDataViewCommand.js → esm2020/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/AddUserRangeDataviewCommand.js → esm2020/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/AddUserSortDataViewCommand.js → esm2020/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/BrowserEscEventCommand.js → esm2020/src/commands/ClientToServer/BrowserEscEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ClientOriginatedCommand.js → esm2020/src/commands/ClientToServer/ClientOriginatedCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ClientOriginatedCommandSerializer.js → esm2020/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ColumnSortEventCommand.js → esm2020/src/commands/ClientToServer/ColumnSortEventCommand.mjs} +0 -0
- package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +278 -0
- package/{esm2015/src/commands/ClientToServer/CommandSerializationHelper.js → esm2020/src/commands/ClientToServer/CommandSerializationHelper.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ComputeEventCommand.js → esm2020/src/commands/ClientToServer/ComputeEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ContextTerminationEventCommand.js → esm2020/src/commands/ClientToServer/ContextTerminationEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ContextTimeoutResetCommand.js → esm2020/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ControlItemsRefreshCommand.js → esm2020/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/DataViewOutputCommand.js → esm2020/src/commands/ClientToServer/DataViewOutputCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/DataviewCommand.js → esm2020/src/commands/ClientToServer/DataviewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/EvaluateCommand.js → esm2020/src/commands/ClientToServer/EvaluateCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/EventCommand.js → esm2020/src/commands/ClientToServer/EventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ExecOperCommand.js → esm2020/src/commands/ClientToServer/ExecOperCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/FetchDataControlValuesEventCommand.js → esm2020/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/GlobalParamsQueryCommand.js → esm2020/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ICommandTaskTag.js → esm2020/src/commands/ClientToServer/ICommandTaskTag.mjs} +1 -0
- package/{esm2015/src/commands/ClientToServer/IndexChangeEventCommand.js → esm2020/src/commands/ClientToServer/IndexChangeEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/IniputForceWriteCommand.js → esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/NonReversibleExitEventCommand.js → esm2020/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/QueryCommand.js → esm2020/src/commands/ClientToServer/QueryCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/RecomputeCommand.js → esm2020/src/commands/ClientToServer/RecomputeCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/RefreshEventCommand.js → esm2020/src/commands/ClientToServer/RefreshEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/RefreshScreenEventCommand.js → esm2020/src/commands/ClientToServer/RefreshScreenEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/RollbackEventCommand.js → esm2020/src/commands/ClientToServer/RollbackEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/SelectProgramCommand.js → esm2020/src/commands/ClientToServer/SelectProgramCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/SetTransactionStateDataviewCommand.js → esm2020/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/SubformOpenEventCommand.js → esm2020/src/commands/ClientToServer/SubformOpenEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/SubformRefreshEventCommand.js → esm2020/src/commands/ClientToServer/SubformRefreshEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/TransactionCommand.js → esm2020/src/commands/ClientToServer/TransactionCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/UnloadCommand.js → esm2020/src/commands/ClientToServer/UnloadCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/WriteMessageToServerLogCommand.js → esm2020/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs} +0 -0
- package/esm2020/src/commands/DataViewCommandBase.mjs +10 -0
- package/{esm2015/src/commands/IClientCommand.js → esm2020/src/commands/IClientCommand.mjs} +1 -0
- package/esm2020/src/commands/IClientTargetedCommand.mjs +9 -0
- package/{esm2015/src/commands/IClientToServerCommandInfo.js → esm2020/src/commands/IClientToServerCommandInfo.mjs} +1 -0
- package/esm2020/src/commands/ServerToClient/AbortCommand.mjs +65 -0
- package/esm2020/src/commands/ServerToClient/AddLocateCommand.mjs +22 -0
- package/esm2020/src/commands/ServerToClient/AddRangeCommand.mjs +62 -0
- package/esm2020/src/commands/ServerToClient/AddSortCommand.mjs +33 -0
- package/{esm2015/src/commands/ServerToClient/ClientRefreshCommand.js → esm2020/src/commands/ServerToClient/ClientRefreshCommand.mjs} +14 -17
- package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +27 -0
- package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +45 -0
- package/esm2020/src/commands/ServerToClient/OpenURLCommand.mjs +222 -0
- package/esm2020/src/commands/ServerToClient/ResetLocateCommand.mjs +15 -0
- package/esm2020/src/commands/ServerToClient/ResetRangeCommand.mjs +15 -0
- package/esm2020/src/commands/ServerToClient/ResetSortCommand.mjs +15 -0
- package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +37 -0
- package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +85 -0
- package/{esm2015/src/commands/ServerToClient/XMLBasedCommandBuilder.js → esm2020/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs} +0 -0
- package/{esm2015/src/communications/IConnectionStateManager.js → esm2020/src/communications/IConnectionStateManager.mjs} +1 -0
- package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +17 -0
- package/{esm2015/src/data/DataSourceIdKey.js → esm2020/src/data/DataSourceIdKey.mjs} +0 -0
- package/esm2020/src/data/DataView.mjs +1634 -0
- package/{esm2015/src/data/DataViewBase.js → esm2020/src/data/DataViewBase.mjs} +0 -0
- package/esm2020/src/data/DataviewManager.mjs +28 -0
- package/esm2020/src/data/DataviewManagerBase.mjs +15 -0
- package/{esm2015/src/data/DvCache.js → esm2020/src/data/DvCache.mjs} +0 -0
- package/esm2020/src/data/Field.mjs +645 -0
- package/esm2020/src/data/FieldBase.mjs +18 -0
- package/{esm2015/src/data/FieldsTable.js → esm2020/src/data/FieldsTable.mjs} +0 -0
- package/{esm2015/src/data/IRecordsTable.js → esm2020/src/data/IRecordsTable.mjs} +1 -0
- package/{esm2015/src/data/Key.js → esm2020/src/data/Key.mjs} +0 -0
- package/{esm2015/src/data/Record.js → esm2020/src/data/Record.mjs} +0 -0
- package/{esm2015/src/data/RecordOutOfDataViewException.js → esm2020/src/data/RecordOutOfDataViewException.mjs} +0 -0
- package/{esm2015/src/data/RecordsTable.js → esm2020/src/data/RecordsTable.mjs} +0 -0
- package/esm2020/src/data/TaskTransactionManager.mjs +103 -0
- package/{esm2015/src/data/XMLBasedDcValuesBuilder.js → esm2020/src/data/XMLBasedDcValuesBuilder.mjs} +0 -0
- package/{esm2015/src/enums.js → esm2020/src/enums.mjs} +0 -0
- package/esm2020/src/env/EnvVariablesTable.mjs +340 -0
- package/esm2020/src/env/Environment.mjs +554 -0
- package/{esm2015/src/env/ILanguageData.js → esm2020/src/env/ILanguageData.mjs} +1 -0
- package/esm2020/src/env/LanguageData.mjs +222 -0
- package/esm2020/src/env/MirrorString.mjs +66 -0
- package/{esm2015/src/event/ActionManager.js → esm2020/src/event/ActionManager.mjs} +0 -0
- package/esm2020/src/event/Event.mjs +1436 -0
- package/esm2020/src/event/EventHandler.mjs +773 -0
- package/{esm2015/src/event/EventHandlerPosition.js → esm2020/src/event/EventHandlerPosition.mjs} +0 -0
- package/esm2020/src/event/EventsManager.mjs +2983 -0
- package/{esm2015/src/event/IEventsManager.js → esm2020/src/event/IEventsManager.mjs} +0 -0
- package/{esm2015/src/event/RunTimeEvent.js → esm2020/src/event/RunTimeEvent.mjs} +0 -0
- package/{esm2015/src/event/RunTimeEventBase.js → esm2020/src/event/RunTimeEventBase.mjs} +0 -0
- package/{esm2015/src/event/UserEventsTable.js → esm2020/src/event/UserEventsTable.mjs} +0 -0
- package/{esm2015/src/exp/ExpTable.js → esm2020/src/exp/ExpTable.mjs} +0 -0
- package/esm2020/src/exp/Expression.mjs +200 -0
- package/{esm2015/src/exp/ExpressionDict.js → esm2020/src/exp/ExpressionDict.mjs} +0 -0
- package/esm2020/src/exp/ExpressionEvaluator.mjs +4373 -0
- package/{esm2015/src/exp/ExpressionLocalJpn.js → esm2020/src/exp/ExpressionLocalJpn.mjs} +0 -0
- package/esm2020/src/exp/GlobalParamsTable.mjs +85 -0
- package/esm2020/src/exp/YesNoExp.mjs +41 -0
- package/{esm2015/src/gui/CreatedFormVector.js → esm2020/src/gui/CreatedFormVector.mjs} +0 -0
- package/esm2020/src/gui/FormsTable.mjs +66 -0
- package/esm2020/src/gui/MgControl.mjs +357 -0
- package/esm2020/src/gui/MgForm.mjs +1195 -0
- package/esm2020/src/http/HttpManager.mjs +97 -0
- package/esm2020/src/http/client/HttpClientAsync.mjs +67 -0
- package/esm2020/src/http/client/HttpClientBase.mjs +148 -0
- package/{esm2015/src/http/client/HttpClientEvents.js → esm2020/src/http/client/HttpClientEvents.mjs} +0 -0
- package/esm2020/src/http/client/HttpClientSync.mjs +42 -0
- package/{esm2015/src/http/client/HttpUtility.js → esm2020/src/http/client/HttpUtility.mjs} +0 -0
- package/{esm2015/src/http/client/ICommunicationsFailureHandler.js → esm2020/src/http/client/ICommunicationsFailureHandler.mjs} +1 -0
- package/esm2020/src/remote/AddUserLocateRemoteDataViewCommand.mjs +18 -0
- package/esm2020/src/remote/AddUserRangeRemoteDataViewCommand.mjs +18 -0
- package/esm2020/src/remote/AddUserSortRemoteDataViewCommand.mjs +18 -0
- package/esm2020/src/remote/RemoteCommandsProcessor.mjs +872 -0
- package/esm2020/src/remote/RemoteControlItemsRefreshCommand.mjs +25 -0
- package/esm2020/src/remote/RemoteDataViewCommandBase.mjs +24 -0
- package/{esm2015/src/remote/RemoteDataViewCommandFactory.js → esm2020/src/remote/RemoteDataViewCommandFactory.mjs} +0 -0
- package/esm2020/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +16 -0
- package/esm2020/src/remote/RemoteDataviewManager.mjs +17 -0
- package/esm2020/src/remote/RemoteInitDataViewCommand.mjs +11 -0
- package/esm2020/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +17 -0
- package/esm2020/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +13 -0
- package/esm2020/src/remote/ResetUserSortRemoteDataviewCommand.mjs +16 -0
- package/{esm2015/src/remote/ServerError.js → esm2020/src/remote/ServerError.mjs} +0 -0
- package/{esm2015/src/remote/SetTransactionStateRemoteDataViewCommand.js → esm2020/src/remote/SetTransactionStateRemoteDataViewCommand.mjs} +8 -11
- package/esm2020/src/rt/Argument.mjs +274 -0
- package/esm2020/src/rt/ArgumentsList.mjs +103 -0
- package/esm2020/src/rt/Boundary.mjs +158 -0
- package/{esm2015/src/rt/CompMainPrgTable.js → esm2020/src/rt/CompMainPrgTable.mjs} +0 -0
- package/esm2020/src/rt/DataviewHeaderBase.mjs +96 -0
- package/{esm2015/src/rt/DataviewHeaderFactory.js → esm2020/src/rt/DataviewHeaderFactory.mjs} +0 -0
- package/{esm2015/src/rt/DataviewHeaders.js → esm2020/src/rt/DataviewHeaders.mjs} +0 -0
- package/{esm2015/src/rt/DataviewHeadersSaxHandler.js → esm2020/src/rt/DataviewHeadersSaxHandler.mjs} +0 -0
- package/{esm2015/src/rt/ExecutionStack.js → esm2020/src/rt/ExecutionStack.mjs} +0 -0
- package/{esm2015/src/rt/ExecutionStackEntry.js → esm2020/src/rt/ExecutionStackEntry.mjs} +0 -0
- package/{esm2015/src/rt/HandlersTable.js → esm2020/src/rt/HandlersTable.mjs} +0 -0
- package/{esm2015/src/rt/IDataSourceViewDefinition.js → esm2020/src/rt/IDataSourceViewDefinition.mjs} +1 -0
- package/{esm2015/src/rt/IDataviewHeader.js → esm2020/src/rt/IDataviewHeader.mjs} +1 -0
- package/{esm2015/src/rt/IResultValue.js → esm2020/src/rt/IResultValue.mjs} +1 -0
- package/{esm2015/src/rt/LastFocusedManager.js → esm2020/src/rt/LastFocusedManager.mjs} +0 -0
- package/esm2020/src/rt/Operation.mjs +745 -0
- package/{esm2015/src/rt/OperationTable.js → esm2020/src/rt/OperationTable.mjs} +0 -0
- package/esm2020/src/rt/Recompute.mjs +355 -0
- package/{esm2015/src/rt/RecomputeTable.js → esm2020/src/rt/RecomputeTable.mjs} +0 -0
- package/esm2020/src/rt/RemoteDataviewHeader.mjs +105 -0
- package/{esm2015/src/rt/ResultValue.js → esm2020/src/rt/ResultValue.mjs} +0 -0
- package/esm2020/src/rt/TableCache.mjs +177 -0
- package/esm2020/src/rt/TableCacheManager.mjs +67 -0
- package/{esm2015/src/rt/Transaction.js → esm2020/src/rt/Transaction.mjs} +0 -0
- package/{esm2015/src/security/UserDetails.js → esm2020/src/security/UserDetails.mjs} +0 -0
- package/{esm2015/src/tasks/IMGDataCollection.js → esm2020/src/tasks/IMGDataCollection.mjs} +1 -0
- package/esm2020/src/tasks/MGData.mjs +552 -0
- package/esm2020/src/tasks/MGDataCollection.mjs +259 -0
- package/{esm2015/src/tasks/MenusDeserializer.js → esm2020/src/tasks/MenusDeserializer.mjs} +0 -0
- package/{esm2015/src/tasks/RCTimer.js → esm2020/src/tasks/RCTimer.mjs} +0 -0
- package/{esm2015/src/tasks/RemoteTaskService.js → esm2020/src/tasks/RemoteTaskService.mjs} +0 -0
- package/esm2020/src/tasks/Task.mjs +2501 -0
- package/{esm2015/src/tasks/TaskBase.js → esm2020/src/tasks/TaskBase.mjs} +22 -1
- package/esm2020/src/tasks/TaskServiceBase.mjs +25 -0
- package/esm2020/src/tasks/TasksTable.mjs +80 -0
- package/{esm2015/src/tasks/sort/Sort.js → esm2020/src/tasks/sort/Sort.mjs} +0 -0
- package/{esm2015/src/tasks/sort/SortCollection.js → esm2020/src/tasks/sort/SortCollection.mjs} +0 -0
- package/{esm2015/src/util/ConstUtils.js → esm2020/src/util/ConstUtils.mjs} +0 -0
- package/esm2020/src/util/FlowMonitorQueue.mjs +361 -0
- package/{esm2015/src/util/HeapSort.js → esm2020/src/util/HeapSort.mjs} +0 -0
- package/{esm2015/src/util/IMirrorXML.js → esm2020/src/util/IMirrorXML.mjs} +2 -1
- package/{esm2015/src/util/IServerConfig.js → esm2020/src/util/IServerConfig.mjs} +1 -0
- package/{esm2015/src/util/MgBlockingQueue.js → esm2020/src/util/MgBlockingQueue.mjs} +1 -0
- package/esm2020/src/util/MgPriorityBlockingQueue.mjs +76 -0
- package/{esm2015/src/util/MgPriorityQueue.js → esm2020/src/util/MgPriorityQueue.mjs} +0 -0
- package/esm2020/src/util/ParamParseResult.mjs +8 -0
- package/esm2020/src/util/PrmMap.mjs +151 -0
- package/{esm2015/src/util/Process.js → esm2020/src/util/Process.mjs} +0 -0
- package/{esm2015/src/util/ReturnResult.js → esm2020/src/util/ReturnResult.mjs} +0 -0
- package/{esm2015/src/util/ReturnResultBase.js → esm2020/src/util/ReturnResultBase.mjs} +0 -0
- package/{esm2015/src/util/Scrambler.js → esm2020/src/util/Scrambler.mjs} +0 -0
- package/{esm2015/src/util/UniqueIDUtils.js → esm2020/src/util/UniqueIDUtils.mjs} +0 -0
- package/{esm2015/src/util/cookie.service.js → esm2020/src/util/cookie.service.mjs} +0 -0
- package/fesm2015/{magic-xpa-engine.js → magic-xpa-engine.mjs} +102 -5
- package/fesm2015/magic-xpa-engine.mjs.map +1 -0
- package/fesm2020/magic-xpa-engine.mjs +30705 -0
- package/fesm2020/magic-xpa-engine.mjs.map +1 -0
- package/index.d.ts +2 -0
- package/package.json +27 -13
- package/src/AccessHelper.d.ts +1 -1
- package/src/CommandsProcessorBase.d.ts +3 -3
- package/src/commands/DataViewCommandBase.d.ts +2 -2
- package/src/commands/IClientTargetedCommand.d.ts +1 -1
- package/src/commands/ServerToClient/ClientTargetedCommandBase.d.ts +1 -1
- package/src/data/FieldBase.d.ts +3 -3
- package/src/env/EnvVariablesTable.d.ts +2 -15
- package/src/env/MirrorString.d.ts +15 -0
- package/src/exp/GlobalParamsTable.d.ts +2 -1
- package/src/http/client/HttpClientBase.d.ts +2 -2
- package/src/rt/DataviewHeaderBase.d.ts +1 -1
- package/src/tasks/TaskBase.d.ts +7 -7
- package/src/util/IMirrorXML.d.ts +1 -1
- package/src/util/ParamParseResult.d.ts +6 -0
- package/src/util/PrmMap.d.ts +0 -6
- package/bundles/magic-xpa-engine.umd.js +0 -37983
- package/bundles/magic-xpa-engine.umd.js.map +0 -1
- package/bundles/magic-xpa-engine.umd.min.js +0 -16
- package/bundles/magic-xpa-engine.umd.min.js.map +0 -1
- package/esm2015/index.js +0 -188
- package/esm2015/src/AccessHelper.js +0 -3
- package/esm2015/src/ClientManager.js +0 -412
- package/esm2015/src/CommandsProcessorBase.js +0 -54
- package/esm2015/src/CommandsProcessorManager.js +0 -31
- package/esm2015/src/CommandsTable.js +0 -166
- package/esm2015/src/GUIManager.js +0 -72
- package/esm2015/src/bridge/MagicBridge.js +0 -44
- package/esm2015/src/commands/ClientToServer/CommandFactory.js +0 -283
- package/esm2015/src/commands/DataViewCommandBase.js +0 -6
- package/esm2015/src/commands/IClientTargetedCommand.js +0 -6
- package/esm2015/src/commands/ServerToClient/AbortCommand.js +0 -68
- package/esm2015/src/commands/ServerToClient/AddLocateCommand.js +0 -25
- package/esm2015/src/commands/ServerToClient/AddRangeCommand.js +0 -65
- package/esm2015/src/commands/ServerToClient/AddSortCommand.js +0 -36
- package/esm2015/src/commands/ServerToClient/ClientTargetedCommandBase.js +0 -24
- package/esm2015/src/commands/ServerToClient/EnhancedVerifyCommand.js +0 -48
- package/esm2015/src/commands/ServerToClient/OpenURLCommand.js +0 -225
- package/esm2015/src/commands/ServerToClient/ResetLocateCommand.js +0 -18
- package/esm2015/src/commands/ServerToClient/ResetRangeCommand.js +0 -18
- package/esm2015/src/commands/ServerToClient/ResetSortCommand.js +0 -18
- package/esm2015/src/commands/ServerToClient/ResultCommand.js +0 -40
- package/esm2015/src/commands/ServerToClient/VerifyCommand.js +0 -88
- package/esm2015/src/communications/InteractiveCommunicationsFailureHandler.js +0 -20
- package/esm2015/src/data/DataView.js +0 -1692
- package/esm2015/src/data/DataviewManager.js +0 -31
- package/esm2015/src/data/DataviewManagerBase.js +0 -18
- package/esm2015/src/data/Field.js +0 -671
- package/esm2015/src/data/FieldBase.js +0 -9
- package/esm2015/src/data/TaskTransactionManager.js +0 -110
- package/esm2015/src/env/EnvVariablesTable.js +0 -408
- package/esm2015/src/env/Environment.js +0 -557
- package/esm2015/src/env/LanguageData.js +0 -229
- package/esm2015/src/event/Event.js +0 -1441
- package/esm2015/src/event/EventHandler.js +0 -786
- package/esm2015/src/event/EventsManager.js +0 -3106
- package/esm2015/src/exp/Expression.js +0 -209
- package/esm2015/src/exp/ExpressionEvaluator.js +0 -4440
- package/esm2015/src/exp/GlobalParamsTable.js +0 -84
- package/esm2015/src/exp/YesNoExp.js +0 -44
- package/esm2015/src/gui/FormsTable.js +0 -73
- package/esm2015/src/gui/MgControl.js +0 -424
- package/esm2015/src/gui/MgForm.js +0 -1291
- package/esm2015/src/http/HttpManager.js +0 -100
- package/esm2015/src/http/client/HttpClientAsync.js +0 -72
- package/esm2015/src/http/client/HttpClientBase.js +0 -147
- package/esm2015/src/http/client/HttpClientSync.js +0 -47
- package/esm2015/src/remote/AddUserLocateRemoteDataViewCommand.js +0 -21
- package/esm2015/src/remote/AddUserRangeRemoteDataViewCommand.js +0 -21
- package/esm2015/src/remote/AddUserSortRemoteDataViewCommand.js +0 -21
- package/esm2015/src/remote/RemoteCommandsProcessor.js +0 -901
- package/esm2015/src/remote/RemoteControlItemsRefreshCommand.js +0 -28
- package/esm2015/src/remote/RemoteDataViewCommandBase.js +0 -27
- package/esm2015/src/remote/RemoteDataViewCommandUpdateNonModifiable.js +0 -19
- package/esm2015/src/remote/RemoteDataviewManager.js +0 -23
- package/esm2015/src/remote/RemoteInitDataViewCommand.js +0 -14
- package/esm2015/src/remote/ResetUserLocateRemoteDataviewCommand.js +0 -20
- package/esm2015/src/remote/ResetUserRangeRemoteDataviewCommand.js +0 -16
- package/esm2015/src/remote/ResetUserSortRemoteDataviewCommand.js +0 -19
- package/esm2015/src/rt/Argument.js +0 -281
- package/esm2015/src/rt/ArgumentsList.js +0 -108
- package/esm2015/src/rt/Boundary.js +0 -161
- package/esm2015/src/rt/DataviewHeaderBase.js +0 -96
- package/esm2015/src/rt/Operation.js +0 -772
- package/esm2015/src/rt/Recompute.js +0 -372
- package/esm2015/src/rt/RemoteDataviewHeader.js +0 -114
- package/esm2015/src/rt/TableCache.js +0 -182
- package/esm2015/src/rt/TableCacheManager.js +0 -70
- package/esm2015/src/tasks/MGData.js +0 -561
- package/esm2015/src/tasks/MGDataCollection.js +0 -270
- package/esm2015/src/tasks/Task.js +0 -2601
- package/esm2015/src/tasks/TaskServiceBase.js +0 -30
- package/esm2015/src/tasks/TasksTable.js +0 -87
- package/esm2015/src/util/FlowMonitorQueue.js +0 -364
- package/esm2015/src/util/MgPriorityBlockingQueue.js +0 -79
- package/esm2015/src/util/PrmMap.js +0 -157
- package/fesm2015/magic-xpa-engine.js.map +0 -1
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { NUM_TYPE } from "@magic-xpa/gui";
|
|
2
|
+
import { InternalInterface, StorageAttribute, ViewRefreshMode } from "@magic-xpa/utils";
|
|
3
|
+
import { EventCommand } from "./EventCommand";
|
|
4
|
+
import { RollbackEventCommand } from "./RollbackEventCommand";
|
|
5
|
+
import { DataviewCommand, DataViewCommandType } from "./DataviewCommand";
|
|
6
|
+
import { AddUserRangeDataviewCommand } from "./AddUserRangeDataviewCommand";
|
|
7
|
+
import { AddUserSortDataViewCommand } from "./AddUserSortDataViewCommand";
|
|
8
|
+
import { AddUserLocateDataViewCommand } from "./AddUserLocateDataViewCommand";
|
|
9
|
+
import { SetTransactionStateDataviewCommand } from "./SetTransactionStateDataviewCommand";
|
|
10
|
+
import { ControlItemsRefreshCommand } from "./ControlItemsRefreshCommand";
|
|
11
|
+
import { RefreshEventCommand } from "./RefreshEventCommand";
|
|
12
|
+
import { DataViewOutputCommand } from "./DataViewOutputCommand";
|
|
13
|
+
import { FetchDataControlValuesEventCommand } from "./FetchDataControlValuesEventCommand";
|
|
14
|
+
import { WriteMessageToServerLogCommand } from "./WriteMessageToServerLogCommand";
|
|
15
|
+
import { SubformRefreshEventCommand } from "./SubformRefreshEventCommand";
|
|
16
|
+
import { BrowserEscEventCommand } from "./BrowserEscEventCommand";
|
|
17
|
+
import { IndexChangeEventCommand } from "./IndexChangeEventCommand";
|
|
18
|
+
import { ColumnSortEventCommand } from "./ColumnSortEventCommand";
|
|
19
|
+
import { RefreshScreenEventCommand } from "./RefreshScreenEventCommand";
|
|
20
|
+
import { SubformOpenEventCommand } from "./SubformOpenEventCommand";
|
|
21
|
+
import { ComputeEventCommand } from "./ComputeEventCommand";
|
|
22
|
+
import { NonReversibleExitEventCommand } from "./NonReversibleExitEventCommand";
|
|
23
|
+
import { RecomputeCommand } from "./RecomputeCommand";
|
|
24
|
+
import { TransactionCommand } from "./TransactionCommand";
|
|
25
|
+
import { UnloadCommand } from "./UnloadCommand";
|
|
26
|
+
import { ExecOperCommand } from "./ExecOperCommand";
|
|
27
|
+
import { EvaluateCommand } from "./EvaluateCommand";
|
|
28
|
+
import { GlobalParamsQueryCommand } from "./GlobalParamsQueryCommand";
|
|
29
|
+
import { IniputForceWriteCommand } from "./IniputForceWriteCommand";
|
|
30
|
+
import { ContextTerminationEventCommand } from "./ContextTerminationEventCommand";
|
|
31
|
+
import { ContextTimeoutResetCommand } from "./ContextTimeoutResetCommand";
|
|
32
|
+
import { SelectProgramCommand } from './SelectProgramCommand';
|
|
33
|
+
export class CommandFactory {
|
|
34
|
+
static CreateEventCommand(taskTag, magicEvent) {
|
|
35
|
+
let eventCommand = new EventCommand(magicEvent);
|
|
36
|
+
eventCommand.TaskTag = taskTag;
|
|
37
|
+
return eventCommand;
|
|
38
|
+
}
|
|
39
|
+
static CreateRollbackEventCommand(taskTag, rollbackType) {
|
|
40
|
+
let cmd = new RollbackEventCommand();
|
|
41
|
+
cmd.TaskTag = taskTag;
|
|
42
|
+
cmd.Rollback = rollbackType;
|
|
43
|
+
return cmd;
|
|
44
|
+
}
|
|
45
|
+
static CreateDataViewCommand(taskId, commandType) {
|
|
46
|
+
let dataviewCommand = new DataviewCommand();
|
|
47
|
+
dataviewCommand.CommandType = commandType;
|
|
48
|
+
dataviewCommand.TaskTag = taskId;
|
|
49
|
+
return dataviewCommand;
|
|
50
|
+
}
|
|
51
|
+
static CreateAddUserRangeDataviewCommand(taskId, userRange) {
|
|
52
|
+
let addUserRangeDataviewCommand = new AddUserRangeDataviewCommand();
|
|
53
|
+
addUserRangeDataviewCommand.TaskTag = taskId;
|
|
54
|
+
addUserRangeDataviewCommand.Range = userRange;
|
|
55
|
+
return addUserRangeDataviewCommand;
|
|
56
|
+
}
|
|
57
|
+
static CreateAddUserSortDataviewCommand(taskId, sort) {
|
|
58
|
+
let addUserSortDataViewCommand = new AddUserSortDataViewCommand();
|
|
59
|
+
addUserSortDataViewCommand.TaskTag = taskId;
|
|
60
|
+
addUserSortDataViewCommand.Sort = sort;
|
|
61
|
+
return addUserSortDataViewCommand;
|
|
62
|
+
}
|
|
63
|
+
static CreateAddUserLocateDataviewCommand(taskId, userRange) {
|
|
64
|
+
let addUserLocateDataViewCommand = new AddUserLocateDataViewCommand();
|
|
65
|
+
addUserLocateDataViewCommand.TaskTag = taskId;
|
|
66
|
+
addUserLocateDataViewCommand.Range = userRange;
|
|
67
|
+
return addUserLocateDataViewCommand;
|
|
68
|
+
}
|
|
69
|
+
static CreateSetTransactionStateDataviewCommand(taskId, transactionIsOpened) {
|
|
70
|
+
let setTransactionStateDataviewCommand = new SetTransactionStateDataviewCommand();
|
|
71
|
+
setTransactionStateDataviewCommand.TaskTag = taskId;
|
|
72
|
+
setTransactionStateDataviewCommand.TransactionIsOpen = transactionIsOpened;
|
|
73
|
+
return setTransactionStateDataviewCommand;
|
|
74
|
+
}
|
|
75
|
+
static CreateControlItemsRefreshCommand(taskId, controlParam) {
|
|
76
|
+
let controlItemsRefreshCommand = new ControlItemsRefreshCommand();
|
|
77
|
+
controlItemsRefreshCommand.TaskTag = taskId;
|
|
78
|
+
controlItemsRefreshCommand.CommandType = DataViewCommandType.ControlItemsRefresh;
|
|
79
|
+
controlItemsRefreshCommand.Control = controlParam;
|
|
80
|
+
return controlItemsRefreshCommand;
|
|
81
|
+
}
|
|
82
|
+
static CreateInternalRefreshCommand(taskId, magicEvent, currentRecId, currentRow) {
|
|
83
|
+
let refreshEventCommand = new RefreshEventCommand(magicEvent);
|
|
84
|
+
refreshEventCommand.TaskTag = taskId;
|
|
85
|
+
refreshEventCommand.RefreshMode = ViewRefreshMode.CurrentLocation;
|
|
86
|
+
refreshEventCommand.ClientRecId = currentRecId;
|
|
87
|
+
refreshEventCommand.IsInternalRefresh = true;
|
|
88
|
+
refreshEventCommand.CurrentRecordRow = currentRow;
|
|
89
|
+
return refreshEventCommand;
|
|
90
|
+
}
|
|
91
|
+
static async CreateRealRefreshCommand(taskId, magicEvent, currentRow, argList, currentRecId) {
|
|
92
|
+
let refreshEventCommand = new RefreshEventCommand(magicEvent);
|
|
93
|
+
refreshEventCommand.TaskTag = taskId;
|
|
94
|
+
refreshEventCommand.RefreshMode = ViewRefreshMode.CurrentLocation;
|
|
95
|
+
refreshEventCommand.KeepUserSort = false;
|
|
96
|
+
refreshEventCommand.ClientRecId = currentRecId;
|
|
97
|
+
refreshEventCommand.CurrentRecordRow = currentRow;
|
|
98
|
+
let cmd = refreshEventCommand;
|
|
99
|
+
if (magicEvent !== InternalInterface.MG_ACT_RT_REFRESH_RECORD && argList !== null && argList.getSize() !== 0) {
|
|
100
|
+
try {
|
|
101
|
+
let refreshMode = new NUM_TYPE(await argList.getArgValue(0, StorageAttribute.NUMERIC, 0));
|
|
102
|
+
cmd.RefreshMode = refreshMode.NUM_2_LONG() + 1;
|
|
103
|
+
}
|
|
104
|
+
catch (e) {
|
|
105
|
+
cmd.RefreshMode = ViewRefreshMode.CurrentLocation;
|
|
106
|
+
}
|
|
107
|
+
if (argList.getSize() > 1) {
|
|
108
|
+
try {
|
|
109
|
+
cmd.KeepUserSort = (await argList.getArgValue(1, StorageAttribute.BOOLEAN, 0) === "1");
|
|
110
|
+
}
|
|
111
|
+
catch (e) {
|
|
112
|
+
cmd.KeepUserSort = false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return cmd;
|
|
117
|
+
}
|
|
118
|
+
static CreateDataViewToDataSourceCommand(taskId, generation, taskVarNames, destinationDSNumber, destinationDSName, destinationColumns) {
|
|
119
|
+
let dataViewOutputCommand = new DataViewOutputCommand(DataViewCommandType.DataViewToDataSource);
|
|
120
|
+
dataViewOutputCommand.TaskTag = taskId;
|
|
121
|
+
dataViewOutputCommand.Generation = generation;
|
|
122
|
+
dataViewOutputCommand.TaskVarNames = taskVarNames;
|
|
123
|
+
dataViewOutputCommand.DestinationDataSourceNumber = destinationDSNumber;
|
|
124
|
+
dataViewOutputCommand.DestinationDataSourceName = destinationDSName;
|
|
125
|
+
dataViewOutputCommand.DestinationColumns = destinationColumns;
|
|
126
|
+
return dataViewOutputCommand;
|
|
127
|
+
}
|
|
128
|
+
static CreatecFetchDataControlValuesCommand(taskTag, controlName) {
|
|
129
|
+
let fetchDataControlValuesEventCommand = new FetchDataControlValuesEventCommand();
|
|
130
|
+
fetchDataControlValuesEventCommand.TaskTag = taskTag;
|
|
131
|
+
fetchDataControlValuesEventCommand.ControlName = controlName;
|
|
132
|
+
return fetchDataControlValuesEventCommand;
|
|
133
|
+
}
|
|
134
|
+
static CreateWriteMessageToServerLogCommand(taskTag, errorMessage) {
|
|
135
|
+
let writeMessageToServerLogCommand = new WriteMessageToServerLogCommand();
|
|
136
|
+
writeMessageToServerLogCommand.TaskTag = taskTag;
|
|
137
|
+
writeMessageToServerLogCommand.ErrorMessage = errorMessage;
|
|
138
|
+
return writeMessageToServerLogCommand;
|
|
139
|
+
}
|
|
140
|
+
static CreateSubformRefreshCommand(taskTag, subformTaskTag, explicitSubformRefresh) {
|
|
141
|
+
let subformRefreshEventCommand = new SubformRefreshEventCommand();
|
|
142
|
+
subformRefreshEventCommand.TaskTag = taskTag;
|
|
143
|
+
subformRefreshEventCommand.SubformTaskTag = subformTaskTag;
|
|
144
|
+
subformRefreshEventCommand.ExplicitSubformRefresh = explicitSubformRefresh;
|
|
145
|
+
subformRefreshEventCommand.RefreshMode = ViewRefreshMode.UseTaskLocate;
|
|
146
|
+
return subformRefreshEventCommand;
|
|
147
|
+
}
|
|
148
|
+
static CreateSubformOpenCommand(taskTag, subformDitIdx) {
|
|
149
|
+
let subformOpenEventCommand = new SubformOpenEventCommand();
|
|
150
|
+
subformOpenEventCommand.TaskTag = taskTag;
|
|
151
|
+
subformOpenEventCommand.DitIdx = subformDitIdx;
|
|
152
|
+
return subformOpenEventCommand;
|
|
153
|
+
}
|
|
154
|
+
static CreateScreenRefreshCommand(taskTag, topRecIdx, clientRecId) {
|
|
155
|
+
let refreshScreenEventCommand = new RefreshScreenEventCommand();
|
|
156
|
+
refreshScreenEventCommand.TaskTag = taskTag;
|
|
157
|
+
refreshScreenEventCommand.TopRecIdx = topRecIdx;
|
|
158
|
+
refreshScreenEventCommand.RefreshMode = ViewRefreshMode.CurrentLocation;
|
|
159
|
+
refreshScreenEventCommand.ClientRecId = clientRecId;
|
|
160
|
+
return refreshScreenEventCommand;
|
|
161
|
+
}
|
|
162
|
+
static CreateColumnSortCommand(taskTag, direction, ditIdx, fieldId, recId) {
|
|
163
|
+
let columnSortEventCommand = new ColumnSortEventCommand();
|
|
164
|
+
columnSortEventCommand.TaskTag = taskTag;
|
|
165
|
+
columnSortEventCommand.DitIdx = ditIdx;
|
|
166
|
+
columnSortEventCommand.FldId = fieldId + 1;
|
|
167
|
+
columnSortEventCommand.ClientRecId = recId;
|
|
168
|
+
columnSortEventCommand.Direction = direction;
|
|
169
|
+
return columnSortEventCommand;
|
|
170
|
+
}
|
|
171
|
+
static async CreateIndexChangeCommand(taskTag, recId, argList) {
|
|
172
|
+
let indexChangeEventCommand = new IndexChangeEventCommand();
|
|
173
|
+
indexChangeEventCommand.TaskTag = taskTag;
|
|
174
|
+
indexChangeEventCommand.ClientRecId = recId;
|
|
175
|
+
let cmd = indexChangeEventCommand;
|
|
176
|
+
if (argList !== null && argList.getSize() !== 0) {
|
|
177
|
+
try {
|
|
178
|
+
let keyIndex = new NUM_TYPE(await argList.getArgValue(0, StorageAttribute.NUMERIC, 0));
|
|
179
|
+
cmd.KeyIndex = keyIndex.NUM_2_LONG();
|
|
180
|
+
}
|
|
181
|
+
catch (e) {
|
|
182
|
+
cmd.KeyIndex = 0;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return cmd;
|
|
186
|
+
}
|
|
187
|
+
static CreateBrowserEscEventCommand(taskTag, closeSubformOnly) {
|
|
188
|
+
let browserEscEventCommand = new BrowserEscEventCommand();
|
|
189
|
+
browserEscEventCommand.TaskTag = taskTag;
|
|
190
|
+
browserEscEventCommand.CloseSubformOnly = closeSubformOnly;
|
|
191
|
+
return browserEscEventCommand;
|
|
192
|
+
}
|
|
193
|
+
static CreateComputeEventCommand(taskTag, subforms, clientRecId) {
|
|
194
|
+
let computeEventCommand = new ComputeEventCommand();
|
|
195
|
+
computeEventCommand.TaskTag = taskTag;
|
|
196
|
+
computeEventCommand.Subforms = subforms;
|
|
197
|
+
computeEventCommand.ClientRecId = clientRecId;
|
|
198
|
+
return computeEventCommand;
|
|
199
|
+
}
|
|
200
|
+
static CreateContextTerminationEventCommand(taskTag) {
|
|
201
|
+
let contextTerminationEventCommand = new ContextTerminationEventCommand();
|
|
202
|
+
contextTerminationEventCommand.TaskTag = taskTag;
|
|
203
|
+
return contextTerminationEventCommand;
|
|
204
|
+
}
|
|
205
|
+
static CreateContextTimeoutResetEventCommand() {
|
|
206
|
+
let contextTimeoutResetCommand = new ContextTimeoutResetCommand();
|
|
207
|
+
return contextTimeoutResetCommand;
|
|
208
|
+
}
|
|
209
|
+
static CreateNonReversibleExitCommand(taskTag, closeSubformOnly) {
|
|
210
|
+
let nonReversibleExitEventCommand = new NonReversibleExitEventCommand();
|
|
211
|
+
nonReversibleExitEventCommand.TaskTag = taskTag;
|
|
212
|
+
nonReversibleExitEventCommand.CloseSubformOnly = closeSubformOnly;
|
|
213
|
+
return nonReversibleExitEventCommand;
|
|
214
|
+
}
|
|
215
|
+
static CreateRecomputeCommand(taskTag, fieldId, ignoreSubformRecompute) {
|
|
216
|
+
let recomputeCommand = new RecomputeCommand();
|
|
217
|
+
recomputeCommand.TaskTag = taskTag;
|
|
218
|
+
recomputeCommand.FldId = fieldId;
|
|
219
|
+
recomputeCommand.IgnoreSubformRecompute = ignoreSubformRecompute;
|
|
220
|
+
return recomputeCommand;
|
|
221
|
+
}
|
|
222
|
+
static CreateTransactionCommand(oper, taskTag, cReversibleExit, level) {
|
|
223
|
+
let transactionCommand = new TransactionCommand();
|
|
224
|
+
transactionCommand.TaskTag = taskTag;
|
|
225
|
+
transactionCommand.Oper = oper;
|
|
226
|
+
transactionCommand.ReversibleExit = cReversibleExit;
|
|
227
|
+
transactionCommand.Level = level;
|
|
228
|
+
return transactionCommand;
|
|
229
|
+
}
|
|
230
|
+
static CreateUnloadCommand() {
|
|
231
|
+
return new UnloadCommand();
|
|
232
|
+
}
|
|
233
|
+
static CreateExecOperCommand(taskTag, handlerId, operIdx, ditIdx, value) {
|
|
234
|
+
let execOperCommand = new ExecOperCommand();
|
|
235
|
+
execOperCommand.OperIdx = operIdx;
|
|
236
|
+
execOperCommand.TaskTag = taskTag;
|
|
237
|
+
execOperCommand.HandlerId = handlerId;
|
|
238
|
+
execOperCommand.DitIdx = ditIdx;
|
|
239
|
+
let cmd = execOperCommand;
|
|
240
|
+
if (value !== null && value.length === 0)
|
|
241
|
+
cmd.Val = " ";
|
|
242
|
+
else
|
|
243
|
+
cmd.Val = value;
|
|
244
|
+
return cmd;
|
|
245
|
+
}
|
|
246
|
+
static CreateSelectProgramCommand(taskTag, handlerId, operIdx, ditIdx, value) {
|
|
247
|
+
let execOperCommand = new SelectProgramCommand();
|
|
248
|
+
execOperCommand.OperIdx = operIdx;
|
|
249
|
+
execOperCommand.TaskTag = taskTag;
|
|
250
|
+
execOperCommand.HandlerId = handlerId;
|
|
251
|
+
execOperCommand.DitIdx = ditIdx;
|
|
252
|
+
let cmd = execOperCommand;
|
|
253
|
+
if (value !== null && value.length === 0)
|
|
254
|
+
cmd.Val = " ";
|
|
255
|
+
else
|
|
256
|
+
cmd.Val = value;
|
|
257
|
+
return cmd;
|
|
258
|
+
}
|
|
259
|
+
static CreateEvaluateCommand(taskTag, expType, expIdx, expValLen, mprgCreator) {
|
|
260
|
+
let evaluateCommand = new EvaluateCommand();
|
|
261
|
+
evaluateCommand.TaskTag = taskTag;
|
|
262
|
+
evaluateCommand.ExpIdx = expIdx;
|
|
263
|
+
evaluateCommand.ExpType = expType;
|
|
264
|
+
evaluateCommand.MprgCreator = mprgCreator;
|
|
265
|
+
if (expValLen > 0)
|
|
266
|
+
evaluateCommand.LengthExpVal = expValLen;
|
|
267
|
+
return evaluateCommand;
|
|
268
|
+
}
|
|
269
|
+
static CreateQueryGlobalParamsCommand() {
|
|
270
|
+
return new GlobalParamsQueryCommand();
|
|
271
|
+
}
|
|
272
|
+
static CreateIniputForceWriteCommand(param) {
|
|
273
|
+
let iniputForceWriteCommand = new IniputForceWriteCommand();
|
|
274
|
+
iniputForceWriteCommand.Text = param;
|
|
275
|
+
return iniputForceWriteCommand;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZEZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3RGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsb0JBQW9CLEVBQW9DLE1BQU0sd0JBQXdCLENBQUM7QUFDL0YsT0FBTyxFQUFDLGVBQWUsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBR3ZFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxzQkFB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QUFlLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUMzQyxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBT0QsTUFBTSxDQUFDLDhCQUE4QjtRQUNuQyxPQUFPLElBQUksd0JBQXdCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBT0QsTUFBTSxDQUFDLDZCQUE2QixDQUFDLEtBQWE7UUFDaEQsSUFBSSx1QkFBdUIsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQ3JGLHVCQUF1QixDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDckMsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01nQ29udHJvbEJhc2UsIE5VTV9UWVBFfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHtFeGNlcHRpb259IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0ludGVybmFsSW50ZXJmYWNlLCBTdG9yYWdlQXR0cmlidXRlLCBWaWV3UmVmcmVzaE1vZGV9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7RXZlbnRDb21tYW5kfSBmcm9tIFwiLi9FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtSb2xsYmFja0V2ZW50Q29tbWFuZCwgUm9sbGJhY2tFdmVudENvbW1hbmRfUm9sbGJhY2tUeXBlfSBmcm9tIFwiLi9Sb2xsYmFja0V2ZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQge0RhdGF2aWV3Q29tbWFuZCwgRGF0YVZpZXdDb21tYW5kVHlwZX0gZnJvbSBcIi4vRGF0YXZpZXdDb21tYW5kXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIi4uLy4uL3Rhc2tzL1Rhc2tcIjtcclxuaW1wb3J0IHtVc2VyUmFuZ2V9IGZyb20gXCIuLi8uLi90YXNrcy9UYXNrQmFzZVwiO1xyXG5pbXBvcnQge0FkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZH0gZnJvbSBcIi4vQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kXCI7XHJcbmltcG9ydCB7U29ydH0gZnJvbSBcIi4uLy4uL3Rhc2tzL3NvcnQvU29ydFwiO1xyXG5pbXBvcnQge0FkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kfSBmcm9tIFwiLi9BZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZFwiO1xyXG5pbXBvcnQge0FkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmR9IGZyb20gXCIuL0FkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmRcIjtcclxuaW1wb3J0IHtTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kfSBmcm9tIFwiLi9TZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kXCI7XHJcbmltcG9ydCB7Q29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmR9IGZyb20gXCIuL0NvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kXCI7XHJcbmltcG9ydCB7UmVmcmVzaEV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vUmVmcmVzaEV2ZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQge0FyZ3VtZW50c0xpc3R9IGZyb20gXCIuLi8uLi9ydC9Bcmd1bWVudHNMaXN0XCI7XHJcbmltcG9ydCB7RGF0YVZpZXdPdXRwdXRDb21tYW5kfSBmcm9tIFwiLi9EYXRhVmlld091dHB1dENvbW1hbmRcIjtcclxuaW1wb3J0IHtGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kfSBmcm9tIFwiLi9GZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7V3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kfSBmcm9tIFwiLi9Xcml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmRcIjtcclxuaW1wb3J0IHtTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtCcm93c2VyRXNjRXZlbnRDb21tYW5kfSBmcm9tIFwiLi9Ccm93c2VyRXNjRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7SW5kZXhDaGFuZ2VFdmVudENvbW1hbmR9IGZyb20gXCIuL0luZGV4Q2hhbmdlRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7Q29sdW1uU29ydEV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vQ29sdW1uU29ydEV2ZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQge1JlZnJlc2hTY3JlZW5FdmVudENvbW1hbmR9IGZyb20gXCIuL1JlZnJlc2hTY3JlZW5FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtTdWJmb3JtT3BlbkV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vU3ViZm9ybU9wZW5FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtDb21wdXRlRXZlbnRDb21tYW5kfSBmcm9tIFwiLi9Db21wdXRlRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7Tm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmR9IGZyb20gXCIuL05vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7UmVjb21wdXRlQ29tbWFuZH0gZnJvbSBcIi4vUmVjb21wdXRlQ29tbWFuZFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ29tbWFuZH0gZnJvbSBcIi4vVHJhbnNhY3Rpb25Db21tYW5kXCI7XHJcbmltcG9ydCB7VW5sb2FkQ29tbWFuZH0gZnJvbSBcIi4vVW5sb2FkQ29tbWFuZFwiO1xyXG5pbXBvcnQge0V4ZWNPcGVyQ29tbWFuZH0gZnJvbSBcIi4vRXhlY09wZXJDb21tYW5kXCI7XHJcbmltcG9ydCB7RXZhbHVhdGVDb21tYW5kfSBmcm9tIFwiLi9FdmFsdWF0ZUNvbW1hbmRcIjtcclxuaW1wb3J0IHtHbG9iYWxQYXJhbXNRdWVyeUNvbW1hbmR9IGZyb20gXCIuL0dsb2JhbFBhcmFtc1F1ZXJ5Q29tbWFuZFwiO1xyXG5pbXBvcnQge0luaXB1dEZvcmNlV3JpdGVDb21tYW5kfSBmcm9tIFwiLi9JbmlwdXRGb3JjZVdyaXRlQ29tbWFuZFwiO1xyXG5pbXBvcnQge0NvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZH0gZnJvbSBcIi4vQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7Q29udGV4dFRpbWVvdXRSZXNldENvbW1hbmR9IGZyb20gXCIuL0NvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kXCI7XHJcbmltcG9ydCB7IFNlbGVjdFByb2dyYW1Db21tYW5kIH0gZnJvbSAnLi9TZWxlY3RQcm9ncmFtQ29tbWFuZCc7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBmYWN0b3J5IGNsYXNzIGZvciBjcmVhdGluZyBjb21tYW5kc1xyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgQ29tbWFuZEZhY3Rvcnkge1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIHRhc2sgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibWFnaWNFdmVudFwiPnRoZSBjb2RlIG9mIHRoZSBpbnRlcm5hbCBldmVudDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUV2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIG1hZ2ljRXZlbnQ6IG51bWJlcik6IEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgZXZlbnRDb21tYW5kOiBFdmVudENvbW1hbmQgPSBuZXcgRXZlbnRDb21tYW5kKG1hZ2ljRXZlbnQpO1xyXG4gICAgZXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgcmV0dXJuIGV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgdGFzayBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjSGFuZGxlcklkXCI+dGhlIGlkIG9mIHRoZSBoYW5kbGVyIHdoZXJlIGV4ZWN1dGlvbiBzaG91bGQgc3RhcnQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY09ialwiPnRoZSBESVQgaW5kZXggb2YgdGhlIGNvbnRyb2wgdGhhdCBoYWQgdGhlIGZvY3VzIHdoZW4gdGhlIGV2ZW50IG9jY3VycmVkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1hZ2ljRXZlbnRcIj50aGUgY29kZSBvZiB0aGUgaW50ZXJuYWwgZXZlbnQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVSb2xsYmFja0V2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHJvbGxiYWNrVHlwZTogUm9sbGJhY2tFdmVudENvbW1hbmRfUm9sbGJhY2tUeXBlKTogUm9sbGJhY2tFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGNtZDogUm9sbGJhY2tFdmVudENvbW1hbmQgPSBuZXcgUm9sbGJhY2tFdmVudENvbW1hbmQoKTtcclxuICAgIGNtZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGNtZC5Sb2xsYmFjayA9IHJvbGxiYWNrVHlwZTtcclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGNyZWF0ZSBhIGdlbmVyYWwgZGF0YXZpZXcgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb21tYW5kVHlwZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRGF0YVZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCBjb21tYW5kVHlwZTogRGF0YVZpZXdDb21tYW5kVHlwZSk6IERhdGF2aWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgZGF0YXZpZXdDb21tYW5kOiBEYXRhdmlld0NvbW1hbmQgPSBuZXcgRGF0YXZpZXdDb21tYW5kKCk7XHJcbiAgICBkYXRhdmlld0NvbW1hbmQuQ29tbWFuZFR5cGUgPSBjb21tYW5kVHlwZTtcclxuICAgIGRhdGF2aWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgcmV0dXJuIGRhdGF2aWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidXNlclJhbmdlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIHVzZXJSYW5nZTogVXNlclJhbmdlKTogQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kIHtcclxuICAgIGxldCBhZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQ6IEFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCA9IG5ldyBBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQoKTtcclxuICAgIGFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgYWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kLlJhbmdlID0gdXNlclJhbmdlO1xyXG4gICAgcmV0dXJuIGFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENyZWF0ZUFkZFVzZXJTb3J0RGF0YXZpZXdDb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVzZXJSYW5nZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQWRkVXNlclNvcnREYXRhdmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIHNvcnQ6IFNvcnQpOiBBZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgYWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQ6IEFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kID0gbmV3IEFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kKCk7XHJcbiAgICBhZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgYWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQuU29ydCA9IHNvcnQ7XHJcbiAgICByZXR1cm4gYWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDcmVhdGVBZGRVc2VyTG9jYXRlRGF0YXZpZXdDb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVzZXJSYW5nZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQWRkVXNlckxvY2F0ZURhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgdXNlclJhbmdlOiBVc2VyUmFuZ2UpOiBBZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kIHtcclxuICAgIGxldCBhZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kOiBBZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kID0gbmV3IEFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQoKTtcclxuICAgIGFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIGFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQuUmFuZ2UgPSB1c2VyUmFuZ2U7XHJcbiAgICByZXR1cm4gYWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlIGEgc2V0IHRyYW5zYWN0aW9uIHN0YXRlIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidHJhbnNhY3Rpb25Jc09wZW5lZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgdHJhbnNhY3Rpb25Jc09wZW5lZDogYm9vbGVhbik6IFNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQge1xyXG4gICAgbGV0IHNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQ6IFNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQgPSBuZXcgU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCgpO1xyXG4gICAgc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZC5UcmFuc2FjdGlvbklzT3BlbiA9IHRyYW5zYWN0aW9uSXNPcGVuZWQ7XHJcbiAgICByZXR1cm4gc2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlIENvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kIHRvIHJlZmVyc2ggdGhlIGRhdGEgY29udHJvbC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udHJvbE5hbWVQYXJhbVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZ2VuZXJhdGlvblBhcmFtXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgY29udHJvbFBhcmFtOiBNZ0NvbnRyb2xCYXNlKTogQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQge1xyXG4gICAgbGV0IGNvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kOiBDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCA9IG5ldyBDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCgpO1xyXG4gICAgY29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIGNvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kLkNvbW1hbmRUeXBlID0gRGF0YVZpZXdDb21tYW5kVHlwZS5Db250cm9sSXRlbXNSZWZyZXNoO1xyXG4gICAgY29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQuQ29udHJvbCA9IGNvbnRyb2xQYXJhbTtcclxuICAgIHJldHVybiBjb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlcyBhIHJlZnJlc2ggY29tbWFuZCB3aGljaCB3YXMgaW5pdGlhdGVkIGludGVybmFsbHksIGkuZS4gbm90IGJ5IGEgdXNlciBmdW5jdGlvbiBjYWxsXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1hZ2ljRXZlbnRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImN1cnJlbnRSZWNJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlSW50ZXJuYWxSZWZyZXNoQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgbWFnaWNFdmVudDogbnVtYmVyLCBjdXJyZW50UmVjSWQ6IG51bWJlciwgY3VycmVudFJvdzogbnVtYmVyKTogUmVmcmVzaEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgcmVmcmVzaEV2ZW50Q29tbWFuZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IG5ldyBSZWZyZXNoRXZlbnRDb21tYW5kKG1hZ2ljRXZlbnQpO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gY3VycmVudFJlY0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5Jc0ludGVybmFsUmVmcmVzaCA9IHRydWU7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkN1cnJlbnRSZWNvcmRSb3cgPSBjdXJyZW50Um93O1xyXG4gICAgcmV0dXJuIHJlZnJlc2hFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBvbmx5IGEgcmVhbCByZWZyZXNoIGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBhc3luYyBDcmVhdGVSZWFsUmVmcmVzaENvbW1hbmQodGFza0lkOiBzdHJpbmcsIG1hZ2ljRXZlbnQ6IG51bWJlciwgY3VycmVudFJvdzogbnVtYmVyLCBhcmdMaXN0OiBBcmd1bWVudHNMaXN0LCBjdXJyZW50UmVjSWQ6IG51bWJlcik6IFByb21pc2U8UmVmcmVzaEV2ZW50Q29tbWFuZD4ge1xyXG4gICAgbGV0IHJlZnJlc2hFdmVudENvbW1hbmQ6IFJlZnJlc2hFdmVudENvbW1hbmQgPSBuZXcgUmVmcmVzaEV2ZW50Q29tbWFuZChtYWdpY0V2ZW50KTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5LZWVwVXNlclNvcnQgPSBmYWxzZTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjdXJyZW50UmVjSWQ7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLkN1cnJlbnRSZWNvcmRSb3cgPSBjdXJyZW50Um93O1xyXG4gICAgbGV0IGNtZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IHJlZnJlc2hFdmVudENvbW1hbmQ7XHJcblxyXG4gICAgaWYgKG1hZ2ljRXZlbnQgIT09IEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9SVF9SRUZSRVNIX1JFQ09SRCAmJiBhcmdMaXN0ICE9PSBudWxsICYmIGFyZ0xpc3QuZ2V0U2l6ZSgpICE9PSAwKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgbGV0IHJlZnJlc2hNb2RlOiBOVU1fVFlQRSA9IG5ldyBOVU1fVFlQRShhd2FpdCBhcmdMaXN0LmdldEFyZ1ZhbHVlKDAsIFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQywgMCkpO1xyXG4gICAgICAgIGNtZC5SZWZyZXNoTW9kZSA9IHJlZnJlc2hNb2RlLk5VTV8yX0xPTkcoKSArIDE7XHJcbiAgICAgIH1cclxuICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICBjbWQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoYXJnTGlzdC5nZXRTaXplKCkgPiAxKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNtZC5LZWVwVXNlclNvcnQgPSAoYXdhaXQgYXJnTGlzdC5nZXRBcmdWYWx1ZSgxLCBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU4sIDApID09PSBcIjFcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgICBjbWQuS2VlcFVzZXJTb3J0ID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIENyZWF0ZURhdGFWaWV3VG9EYXRhU291cmNlQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgZ2VuZXJhdGlvbjogbnVtYmVyLCB0YXNrVmFyTmFtZXM6IHN0cmluZywgZGVzdGluYXRpb25EU051bWJlcjogbnVtYmVyLCBkZXN0aW5hdGlvbkRTTmFtZTogc3RyaW5nLCBkZXN0aW5hdGlvbkNvbHVtbnM6IHN0cmluZyk6IERhdGFWaWV3T3V0cHV0Q29tbWFuZCB7XHJcbiAgICBsZXQgZGF0YVZpZXdPdXRwdXRDb21tYW5kOiBEYXRhVmlld091dHB1dENvbW1hbmQgPSBuZXcgRGF0YVZpZXdPdXRwdXRDb21tYW5kKERhdGFWaWV3Q29tbWFuZFR5cGUuRGF0YVZpZXdUb0RhdGFTb3VyY2UpO1xyXG4gICAgZGF0YVZpZXdPdXRwdXRDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBkYXRhVmlld091dHB1dENvbW1hbmQuR2VuZXJhdGlvbiA9IGdlbmVyYXRpb247XHJcbiAgICBkYXRhVmlld091dHB1dENvbW1hbmQuVGFza1Zhck5hbWVzID0gdGFza1Zhck5hbWVzO1xyXG4gICAgZGF0YVZpZXdPdXRwdXRDb21tYW5kLkRlc3RpbmF0aW9uRGF0YVNvdXJjZU51bWJlciA9IGRlc3RpbmF0aW9uRFNOdW1iZXI7XHJcbiAgICBkYXRhVmlld091dHB1dENvbW1hbmQuRGVzdGluYXRpb25EYXRhU291cmNlTmFtZSA9IGRlc3RpbmF0aW9uRFNOYW1lO1xyXG4gICAgZGF0YVZpZXdPdXRwdXRDb21tYW5kLkRlc3RpbmF0aW9uQ29sdW1ucyA9IGRlc3RpbmF0aW9uQ29sdW1ucztcclxuICAgIHJldHVybiBkYXRhVmlld091dHB1dENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENyZWF0ZSBGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnQgY29tbWFuZCB3aGljaCB3aWxsIGZldGNoIHRoZSBkYXRhIGNvbnRyb2wgdmFsdWVzIGZyb20gc2VydmVyLiBUaGlzIGlzIHVzZWQgd2hpbGUgZXhlY3V0aW5nIENvbnRyb2xJdGVtc1JlZnJlc2goKSBmdW5jdGlvbi5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tUYWdcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRyb2xOYW1lXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJnZW5lcmF0aW9uUGFyYW1cIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZWNGZXRjaERhdGFDb250cm9sVmFsdWVzQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGNvbnRyb2xOYW1lOiBzdHJpbmcpOiBGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBmZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kOiBGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kID0gbmV3IEZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQoKTtcclxuICAgIGZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBmZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kLkNvbnRyb2xOYW1lID0gY29udHJvbE5hbWU7XHJcbiAgICByZXR1cm4gZmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlIFdyaXRlTWVzc2FnZXNUb1NlcnZlckxvZyBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJlcnJvck1lc3NhZ2VcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGVycm9yTWVzc2FnZTogc3RyaW5nKTogV3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kIHtcclxuICAgIGxldCB3cml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmQ6IFdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZCA9IG5ldyBXcml0ZU1lc3NhZ2VUb1NlcnZlckxvZ0NvbW1hbmQoKTtcclxuICAgIHdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHdyaXRlTWVzc2FnZVRvU2VydmVyTG9nQ29tbWFuZC5FcnJvck1lc3NhZ2UgPSBlcnJvck1lc3NhZ2U7XHJcbiAgICByZXR1cm4gd3JpdGVNZXNzYWdlVG9TZXJ2ZXJMb2dDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIENyZWF0ZVN1YmZvcm1SZWZyZXNoQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHN1YmZvcm1UYXNrVGFnOiBzdHJpbmcsIGV4cGxpY2l0U3ViZm9ybVJlZnJlc2g6IGJvb2xlYW4pOiBTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQ6IFN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kID0gbmV3IFN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kKCk7XHJcbiAgICBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kLlN1YmZvcm1UYXNrVGFnID0gc3ViZm9ybVRhc2tUYWc7XHJcbiAgICBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZC5FeHBsaWNpdFN1YmZvcm1SZWZyZXNoID0gZXhwbGljaXRTdWJmb3JtUmVmcmVzaDtcclxuICAgIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kLlJlZnJlc2hNb2RlID0gVmlld1JlZnJlc2hNb2RlLlVzZVRhc2tMb2NhdGU7XHJcbiAgICByZXR1cm4gc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBhIHN1YmZvcm0gb3BlbiBldmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlU3ViZm9ybU9wZW5Db21tYW5kKHRhc2tUYWc6IHN0cmluZywgc3ViZm9ybURpdElkeDogbnVtYmVyKTogU3ViZm9ybU9wZW5FdmVudENvbW1hbmQge1xyXG4gICAgbGV0IHN1YmZvcm1PcGVuRXZlbnRDb21tYW5kOiBTdWJmb3JtT3BlbkV2ZW50Q29tbWFuZCA9IG5ldyBTdWJmb3JtT3BlbkV2ZW50Q29tbWFuZCgpO1xyXG4gICAgc3ViZm9ybU9wZW5FdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBzdWJmb3JtT3BlbkV2ZW50Q29tbWFuZC5EaXRJZHggPSBzdWJmb3JtRGl0SWR4O1xyXG4gICAgcmV0dXJuIHN1YmZvcm1PcGVuRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGNyZWF0ZXMgc2NyZWVuIHJlZnJlc2ggY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVNjcmVlblJlZnJlc2hDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgdG9wUmVjSWR4OiBudW1iZXIsIGNsaWVudFJlY0lkOiBudW1iZXIpOiBSZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kOiBSZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kID0gbmV3IFJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQoKTtcclxuICAgIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kLlRvcFJlY0lkeCA9IHRvcFJlY0lkeDtcclxuICAgIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQuUmVmcmVzaE1vZGUgPSBWaWV3UmVmcmVzaE1vZGUuQ3VycmVudExvY2F0aW9uO1xyXG4gICAgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IGNsaWVudFJlY0lkO1xyXG4gICAgcmV0dXJuIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY3JlYXRlcyBhIGNvbHVtbiBzb3J0IGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVDb2x1bW5Tb3J0Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGRpcmVjdGlvbjogbnVtYmVyLCBkaXRJZHg6IG51bWJlciwgZmllbGRJZDogbnVtYmVyLCByZWNJZDogbnVtYmVyKTogQ29sdW1uU29ydEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgY29sdW1uU29ydEV2ZW50Q29tbWFuZDogQ29sdW1uU29ydEV2ZW50Q29tbWFuZCA9IG5ldyBDb2x1bW5Tb3J0RXZlbnRDb21tYW5kKCk7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5EaXRJZHggPSBkaXRJZHg7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLkZsZElkID0gZmllbGRJZCArIDE7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gcmVjSWQ7XHJcbiAgICBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kLkRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcclxuICAgIHJldHVybiBjb2x1bW5Tb3J0RXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vICAgY3JlYXRlcyBhbiBJbmRleCBDaGFuZ2UgZXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIGFzeW5jIENyZWF0ZUluZGV4Q2hhbmdlQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHJlY0lkOiBudW1iZXIsIGFyZ0xpc3Q6IEFyZ3VtZW50c0xpc3QpOiBQcm9taXNlPEluZGV4Q2hhbmdlRXZlbnRDb21tYW5kPiB7XHJcbiAgICBsZXQgaW5kZXhDaGFuZ2VFdmVudENvbW1hbmQ6IEluZGV4Q2hhbmdlRXZlbnRDb21tYW5kID0gbmV3IEluZGV4Q2hhbmdlRXZlbnRDb21tYW5kKCk7XHJcbiAgICBpbmRleENoYW5nZUV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGluZGV4Q2hhbmdlRXZlbnRDb21tYW5kLkNsaWVudFJlY0lkID0gcmVjSWQ7XHJcbiAgICBsZXQgY21kOiBJbmRleENoYW5nZUV2ZW50Q29tbWFuZCA9IGluZGV4Q2hhbmdlRXZlbnRDb21tYW5kO1xyXG5cclxuICAgIC8vIDEgcGFyYW1ldGVyIDogVGhlIG5ldyBLZXkgSW5kZXhcclxuICAgIGlmIChhcmdMaXN0ICE9PSBudWxsICYmIGFyZ0xpc3QuZ2V0U2l6ZSgpICE9PSAwKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgbGV0IGtleUluZGV4OiBOVU1fVFlQRSA9IG5ldyBOVU1fVFlQRShhd2FpdCBhcmdMaXN0LmdldEFyZ1ZhbHVlKDAsIFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQywgMCkpO1xyXG4gICAgICAgIGNtZC5LZXlJbmRleCA9IGtleUluZGV4Lk5VTV8yX0xPTkcoKTtcclxuICAgICAgfVxyXG4gICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgIGNtZC5LZXlJbmRleCA9IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbi8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2ZW50IGNvbW1hbmRcclxuLy8vIDwvc3VtbWFyeT5cclxuLy8vIDxwYXJhbSBuYW1lPVwidGFza1RhZ1wiPjwvcGFyYW0+XHJcbi8vLyA8cGFyYW0gbmFtZT1cIm9ialwiPjwvcGFyYW0+XHJcbi8vLyA8cGFyYW0gbmFtZT1cImV4aXRCeU1lbnVcIj48L3BhcmFtPlxyXG4vLy8gPHBhcmFtIG5hbWU9XCJjbG9zZVN1YmZvcm1Pbmx5XCI+PC9wYXJhbT5cclxuICBzdGF0aWMgQ3JlYXRlQnJvd3NlckVzY0V2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGNsb3NlU3ViZm9ybU9ubHk6IGJvb2xlYW4pOiBCcm93c2VyRXNjRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBicm93c2VyRXNjRXZlbnRDb21tYW5kOiBCcm93c2VyRXNjRXZlbnRDb21tYW5kID0gbmV3IEJyb3dzZXJFc2NFdmVudENvbW1hbmQoKTtcclxuICAgIGJyb3dzZXJFc2NFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBicm93c2VyRXNjRXZlbnRDb21tYW5kLkNsb3NlU3ViZm9ybU9ubHkgPSBjbG9zZVN1YmZvcm1Pbmx5O1xyXG4gICAgcmV0dXJuIGJyb3dzZXJFc2NFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza1RhZ1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwib2JqXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjbGllbnRSZWNJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQ29tcHV0ZUV2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHN1YmZvcm1zOiBib29sZWFuLCBjbGllbnRSZWNJZDogbnVtYmVyKTogQ29tcHV0ZUV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgY29tcHV0ZUV2ZW50Q29tbWFuZDogQ29tcHV0ZUV2ZW50Q29tbWFuZCA9IG5ldyBDb21wdXRlRXZlbnRDb21tYW5kKCk7XHJcbiAgICBjb21wdXRlRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgY29tcHV0ZUV2ZW50Q29tbWFuZC5TdWJmb3JtcyA9IHN1YmZvcm1zO1xyXG4gICAgY29tcHV0ZUV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IGNsaWVudFJlY0lkO1xyXG4gICAgcmV0dXJuIGNvbXB1dGVFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyB0aGUgY29udGV4dCB0ZXJtaW5hdGlvbiByZXF1ZXN0XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuICBzdGF0aWMgQ3JlYXRlQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kKHRhc2tUYWc6IHN0cmluZyk6IENvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgY29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kOiBDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQgPSBuZXcgQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kKCk7XHJcbiAgICBjb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICByZXR1cm4gY29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBkdW1teSByZXF1ZXN0IHRvIHplcm8taW4gdGhlIGNvbnRleHQgaW5hY3Rpdml0eSB0aW1lb3V0XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgQ3JlYXRlQ29udGV4dFRpbWVvdXRSZXNldEV2ZW50Q29tbWFuZCgpIDogQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQge1xyXG4gICAgbGV0IGNvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kOiBDb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZCA9IG5ldyBDb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZCgpO1xyXG4gICAgcmV0dXJuIGNvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGEgbm9ucmV2ZXJzaWJsZSBleGl0IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSB0YXNrIGlkPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlTm9uUmV2ZXJzaWJsZUV4aXRDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgY2xvc2VTdWJmb3JtT25seTogYm9vbGVhbik6IE5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBub25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZDogTm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQgPSBuZXcgTm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQoKTtcclxuICAgIG5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgbm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQuQ2xvc2VTdWJmb3JtT25seSA9IGNsb3NlU3ViZm9ybU9ubHk7XHJcbiAgICByZXR1cm4gbm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYSBSZWNvbXB1dGUgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIGlkIG9mIHRoZSB0YXNrPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImZpZWxkSWRcIj50aGUgaWQgb2YgdGhlIGZpZWxkPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlUmVjb21wdXRlQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGZpZWxkSWQ6IG51bWJlciwgaWdub3JlU3ViZm9ybVJlY29tcHV0ZTogYm9vbGVhbik6IFJlY29tcHV0ZUNvbW1hbmQge1xyXG4gICAgbGV0IHJlY29tcHV0ZUNvbW1hbmQ6IFJlY29tcHV0ZUNvbW1hbmQgPSBuZXcgUmVjb21wdXRlQ29tbWFuZCgpO1xyXG4gICAgcmVjb21wdXRlQ29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHJlY29tcHV0ZUNvbW1hbmQuRmxkSWQgPSBmaWVsZElkO1xyXG4gICAgcmVjb21wdXRlQ29tbWFuZC5JZ25vcmVTdWJmb3JtUmVjb21wdXRlID0gaWdub3JlU3ViZm9ybVJlY29tcHV0ZTtcclxuICAgIHJldHVybiByZWNvbXB1dGVDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGEgVHJhbnNhY3Rpb24gY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJvcGVyXCI+dGhlIHR5cGUgb2Ygb3BlcmF0aW9uOiBCZWdpbiwgQ29tbWl0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tcIj50aGUgdGFzayBvZiB0aGUgdHJhbnNhY3Rpb248L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY1JldmVyc2libGVFeGl0XCI+dHJ1ZSBpZiB0aGUgdGFzayBleGl0IGlzIHJldmVyc2libGU8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibGV2ZWxcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVUcmFuc2FjdGlvbkNvbW1hbmQob3Blcjogc3RyaW5nLCB0YXNrVGFnOiBzdHJpbmcsIGNSZXZlcnNpYmxlRXhpdDogYm9vbGVhbiwgbGV2ZWw6IHN0cmluZyk6IFRyYW5zYWN0aW9uQ29tbWFuZCB7XHJcbiAgICBsZXQgdHJhbnNhY3Rpb25Db21tYW5kOiBUcmFuc2FjdGlvbkNvbW1hbmQgPSBuZXcgVHJhbnNhY3Rpb25Db21tYW5kKCk7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuT3BlciA9IG9wZXI7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuUmV2ZXJzaWJsZUV4aXQgPSBjUmV2ZXJzaWJsZUV4aXQ7XHJcbiAgICB0cmFuc2FjdGlvbkNvbW1hbmQuTGV2ZWwgPSBsZXZlbDtcclxuICAgIHJldHVybiB0cmFuc2FjdGlvbkNvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gVW5sb2FkIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVVbmxvYWRDb21tYW5kKCk6IFVubG9hZENvbW1hbmQge1xyXG4gICAgcmV0dXJuIG5ldyBVbmxvYWRDb21tYW5kKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV4ZWNPcGVyIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJoYW5kbGVySWRcIj50aGUgaWQgb2YgdGhlIGhhbmRsZXIgd2hlcmUgZXhlY3V0aW9uIHNob3VsZCBzdGFydDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJvcGVySWR4XCI+dGhlIG9wZXJhdGlvbiBpbmRleCBpcyB0aGUgc2VydmVyIGluZGV4IGluZGljYXRlZCBieSB0aGUgb3BlcmF0aW9uPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImRpdElkeFwiPnRoZSBjb250cm9sIGlkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInZhbHVlXCI+dGhlIHZhbHVlIG9mIHRoZSBjb250cm9sPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlRXhlY09wZXJDb21tYW5kKHRhc2tUYWc6IHN0cmluZywgaGFuZGxlcklkOiBzdHJpbmcsIG9wZXJJZHg6IG51bWJlciwgZGl0SWR4OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpOiBFeGVjT3BlckNvbW1hbmQge1xyXG4gICAgbGV0IGV4ZWNPcGVyQ29tbWFuZDogRXhlY09wZXJDb21tYW5kID0gbmV3IEV4ZWNPcGVyQ29tbWFuZCgpO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLk9wZXJJZHggPSBvcGVySWR4O1xyXG4gICAgZXhlY09wZXJDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLkhhbmRsZXJJZCA9IGhhbmRsZXJJZDtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5EaXRJZHggPSBkaXRJZHg7XHJcblxyXG4gICAgbGV0IGNtZDogRXhlY09wZXJDb21tYW5kID0gZXhlY09wZXJDb21tYW5kO1xyXG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlLmxlbmd0aCA9PT0gMClcclxuICAgICAgY21kLlZhbCA9IFwiIFwiO1xyXG4gICAgZWxzZVxyXG4gICAgICBjbWQuVmFsID0gdmFsdWU7XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIFNlbGVjdCBQcm9ncmFtIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJoYW5kbGVySWRcIj50aGUgaWQgb2YgdGhlIGhhbmRsZXIgd2hlcmUgZXhlY3V0aW9uIHNob3VsZCBzdGFydDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJvcGVySWR4XCI+dGhlIG9wZXJhdGlvbiBpbmRleCBpcyB0aGUgc2VydmVyIGluZGV4IGluZGljYXRlZCBieSB0aGUgb3BlcmF0aW9uPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImRpdElkeFwiPnRoZSBjb250cm9sIGlkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInZhbHVlXCI+dGhlIHZhbHVlIG9mIHRoZSBjb250cm9sPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlU2VsZWN0UHJvZ3JhbUNvbW1hbmQodGFza1RhZzogc3RyaW5nLCBoYW5kbGVySWQ6IHN0cmluZywgb3BlcklkeDogbnVtYmVyLCBkaXRJZHg6IG51bWJlciwgdmFsdWU6IHN0cmluZyk6IEV4ZWNPcGVyQ29tbWFuZCB7XHJcbiAgICBsZXQgZXhlY09wZXJDb21tYW5kOiBTZWxlY3RQcm9ncmFtQ29tbWFuZCA9IG5ldyBTZWxlY3RQcm9ncmFtQ29tbWFuZCgpO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLk9wZXJJZHggPSBvcGVySWR4O1xyXG4gICAgZXhlY09wZXJDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLkhhbmRsZXJJZCA9IGhhbmRsZXJJZDtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5EaXRJZHggPSBkaXRJZHg7XHJcblxyXG4gICAgbGV0IGNtZDogRXhlY09wZXJDb21tYW5kID0gZXhlY09wZXJDb21tYW5kO1xyXG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlLmxlbmd0aCA9PT0gMClcclxuICAgICAgY21kLlZhbCA9IFwiIFwiO1xyXG4gICAgZWxzZVxyXG4gICAgICBjbWQuVmFsID0gdmFsdWU7XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2YWx1YXRlIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleHBUeXBlXCI+VGhlIGV4cGVjdGVkIHR5cGUgaXMgdGhlIGRhdGEgdHlwZSAoYXR0cmlidXRlKSBvZiB0aGUgcmVzdWx0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cElkeFwiPmV4cHJlc3Npb24gaWQgYXR0cmlidXRlcyBhcmUgYSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZXhwcmVzc2lvbiB0byBldmFsdWF0ZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleHBWYWxMZW5cIj4gcmVwcmVzZW50cyB0aGUgbWF4aW11bSBsZW5ndGggb2YgYW4gYWxwaGEgcmVzdWx0IG9yIHRoZSBtYXhpbXVtIGRpZ2l0cyB0byB0aGUgcmlnaHQgb2YgdGhlIGRlY2ltYWwgcG9pbnQsIGZvciBudW1lcmljIHJlc3VsdDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtcHJnQ3JlYXRvclwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUV2YWx1YXRlQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGV4cFR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIGV4cElkeDogbnVtYmVyLCBleHBWYWxMZW46IG51bWJlciwgbXByZ0NyZWF0b3I6IFRhc2spOiBFdmFsdWF0ZUNvbW1hbmQge1xyXG4gICAgbGV0IGV2YWx1YXRlQ29tbWFuZDogRXZhbHVhdGVDb21tYW5kID0gbmV3IEV2YWx1YXRlQ29tbWFuZCgpO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLkV4cElkeCA9IGV4cElkeDtcclxuICAgIGV2YWx1YXRlQ29tbWFuZC5FeHBUeXBlID0gZXhwVHlwZTtcclxuICAgIGV2YWx1YXRlQ29tbWFuZC5NcHJnQ3JlYXRvciA9IG1wcmdDcmVhdG9yO1xyXG5cclxuICAgIGlmIChleHBWYWxMZW4gPiAwKVxyXG4gICAgICBldmFsdWF0ZUNvbW1hbmQuTGVuZ3RoRXhwVmFsID0gZXhwVmFsTGVuO1xyXG4gICAgcmV0dXJuIGV2YWx1YXRlQ29tbWFuZDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVRdWVyeUdsb2JhbFBhcmFtc0NvbW1hbmQoKTogR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kIHtcclxuICAgIHJldHVybiBuZXcgR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZm9yY2UgaW5pIGZpbGUgdXBkYXRlIGJ5IElOSVB1dCgpXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInBhcmFtXCI+ZW52IHBhcmFtIGNoYW5nZWQgYnkgSU5JUHV0PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQocGFyYW06IHN0cmluZyk6IEluaXB1dEZvcmNlV3JpdGVDb21tYW5kIHtcclxuICAgIGxldCBpbmlwdXRGb3JjZVdyaXRlQ29tbWFuZDogSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQgPSBuZXcgSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQoKTtcclxuICAgIGluaXB1dEZvcmNlV3JpdGVDb21tYW5kLlRleHQgPSBwYXJhbTtcclxuICAgIHJldHVybiBpbmlwdXRGb3JjZVdyaXRlQ29tbWFuZDtcclxuICB9XHJcbn1cclxuIl19
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +1,2 @@
|
|
|
1
|
+
export {};
|
|
1
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNvbW1hbmRUYXNrVGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9JQ29tbWFuZFRhc2tUYWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8c3VtbWFyeT5cclxuLy8vIGludGVyZmFjZSB0byBpZGVudGlmeSBjb21tYW5kcyB3aGljaCBoYXZlIHRoZSB0YXNrIHRhZyBtZW1iZXJcclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGludGVyZmFjZSBJQ29tbWFuZFRhc2tUYWcge1xyXG4gIFRhc2tUYWc6IHN0cmluZztcclxufVxyXG4iXX0=
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReturnResult } from '../..';
|
|
2
|
+
export class DataViewCommandBase {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.DataviewManager = null;
|
|
5
|
+
}
|
|
6
|
+
async Execute() {
|
|
7
|
+
return Promise.resolve(new ReturnResult());
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVZpZXdDb21tYW5kQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvRGF0YVZpZXdDb21tYW5kQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBTXJDLE1BQU0sT0FBZ0IsbUJBQW1CO0lBQXpDO1FBS0Usb0JBQWUsR0FBd0IsSUFBSSxDQUFDO0lBUzlDLENBQUM7SUFKQyxLQUFLLENBQUMsT0FBTztRQUNYLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhdmlld01hbmFnZXJCYXNlfSBmcm9tIFwiLi4vZGF0YS9EYXRhdmlld01hbmFnZXJCYXNlXCI7XHJcbmltcG9ydCB7IFJldHVyblJlc3VsdEJhc2UgfSBmcm9tICcuLi91dGlsL1JldHVyblJlc3VsdEJhc2UnO1xyXG5pbXBvcnQgeyBSZXR1cm5SZXN1bHQgfSBmcm9tICcuLi8uLic7XHJcblxyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gZGF0YSB2aWV3IGNvbW1hbmQgYmFzZVxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YVZpZXdDb21tYW5kQmFzZSB7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gZGF0YXZpZXcgbWFuYWdlclxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgRGF0YXZpZXdNYW5hZ2VyOiBEYXRhdmlld01hbmFnZXJCYXNlID0gbnVsbDtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBleGVjdXRlIHRoZSBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBhc3luYyBFeGVjdXRlKCk6IFByb21pc2U8UmV0dXJuUmVzdWx0QmFzZT57XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBSZXR1cm5SZXN1bHQoKSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1 +1,2 @@
|
|
|
1
|
+
export {};
|
|
1
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNsaWVudENvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0lDbGllbnRDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElDbGllbnRDb21tYW5kXHJcbntcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class IClientTargetedCommand {
|
|
2
|
+
get ShouldExecute() {
|
|
3
|
+
return this.shouldExecute;
|
|
4
|
+
}
|
|
5
|
+
async Execute(res) {
|
|
6
|
+
return Promise.resolve();
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNsaWVudFRhcmdldGVkQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvSUNsaWVudFRhcmdldGVkQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQWdCLHNCQUFzQjtJQXFCMUMsSUFBSSxhQUFhO1FBRWYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFFO0lBQzdCLENBQUM7SUFNRCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQWlCO1FBQzdCLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FRRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SUNsaWVudENvbW1hbmR9IGZyb20gXCIuL0lDbGllbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7SVJlc3VsdFZhbHVlfSBmcm9tIFwiLi4vcnQvSVJlc3VsdFZhbHVlXCI7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSUNsaWVudFRhcmdldGVkQ29tbWFuZCBpbXBsZW1lbnRzIElDbGllbnRDb21tYW5kIHtcclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIEdldHMgYSB2YWx1ZSBkZW5vdGluZyB3aGV0aGVyIHRoZSBleGVjdXRpb24gb2YgdGhlIGNvbW1hbmQgd2lsbCBibG9ja1xyXG4gIC8vLyB0aGUgZXhlY3V0aW9uIG9mIGV2ZXJ5dGhpbmcgZWxzZSBvbiB0aGUgY2xpZW50IHVudGlsIHRoZSBjb21tYW5kIGV4ZWN1dGlvbiBlbmRzLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgYWJzdHJhY3QgZ2V0IElzQmxvY2tpbmcgKCk7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gR2V0cyBvciBzZXRzIGEgdmFsdWUgZGVub3RpbmcgdGhlIGZyYW1lIGlkZW50aWZpZXIgZm9yIHRoZSBjb21tYW5kIGV4ZWN1dGlvbi5cclxuICAvLy8gVGhpcyB2YWx1ZSBpcyBleHBlY3RlZCB0byBiZSBzZXQgYnkgdGhlIGNvbW1hbmRzIHRhYmxlLCBiZWZvcmUgcnVubmluZyB0aGUgY29tbWFuZC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIEZyYW1lOiBudW1iZXI7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gVGhlIHRhZyBvZiB0aGUgdGFzayBpbiB3aG9zZSBjb250ZXh0IHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgVGFza1RhZzogc3RyaW5nO1xyXG5cclxuICBPYmo6IHN0cmluZztcclxuXHJcbiAgc2hvdWxkRXhlY3V0ZTogYm9vbGVhbjtcclxuICBnZXQgU2hvdWxkRXhlY3V0ZSAoKVxyXG4gIHtcclxuICAgIHJldHVybiB0aGlzLnNob3VsZEV4ZWN1dGUgO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBSdW4gdGhlIGNvbW1hbmQgb24gdGhlIGNsaWVudC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInJlc1wiPjwvcGFyYW0+XHJcbiAgYXN5bmMgRXhlY3V0ZShyZXM6IElSZXN1bHRWYWx1ZSk6IFByb21pc2U8dm9pZD57XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIE1hbmlwdWxhdGVzIGlubmVyIHN0YXRlIGFjY29yZGluZyB0byBhbiBYTUwgYXR0cmlidXRlIHZhbHVlLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiYXR0cmlidXRlXCI+VGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZS48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInZhbHVlXCI+VGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUgYXMgYSBzdHJpbmcgcmVhZCBmcm9tIHRoZSBYTUwuPC9wYXJhbT5cclxuICBhYnN0cmFjdCBIYW5kbGVBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xyXG59XHJcbiJdfQ==
|
|
@@ -1 +1,2 @@
|
|
|
1
|
+
export {};
|
|
1
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0lDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvIHtcclxuICBnZXRDb21tYW5kSW5mbygpOiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ClientTargetedCommandBase } from "./ClientTargetedCommandBase";
|
|
2
|
+
import { Debug } from "@magic-xpa/mscorelib";
|
|
3
|
+
import { GUIManager } from "../../GUIManager";
|
|
4
|
+
import { MgControl } from "../../gui/MgControl";
|
|
5
|
+
import { ConstInterface } from "../../ConstInterface";
|
|
6
|
+
import { XMLConstants } from "@magic-xpa/utils";
|
|
7
|
+
import { LastFocusedManager } from "../../rt/LastFocusedManager";
|
|
8
|
+
import { AccessHelper } from "../../AccessHelper";
|
|
9
|
+
export class AbortCommand extends ClientTargetedCommandBase {
|
|
10
|
+
constructor(taskTag) {
|
|
11
|
+
super();
|
|
12
|
+
this._transOwner = null;
|
|
13
|
+
if (arguments.length === 0) {
|
|
14
|
+
this.constructor_0();
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
this.constructor_1(taskTag);
|
|
18
|
+
}
|
|
19
|
+
constructor_0() {
|
|
20
|
+
}
|
|
21
|
+
constructor_1(taskTag) {
|
|
22
|
+
this.TaskTag = taskTag;
|
|
23
|
+
}
|
|
24
|
+
async Execute(res) {
|
|
25
|
+
let currMgdID = AccessHelper.mgDataTable.currMgdID;
|
|
26
|
+
let task = AccessHelper.mgDataTable.GetTaskByID(this.TaskTag);
|
|
27
|
+
if (this._transOwner !== null) {
|
|
28
|
+
let newTransOwnerTask = AccessHelper.mgDataTable.GetTaskByID(this._transOwner);
|
|
29
|
+
if (newTransOwnerTask !== null)
|
|
30
|
+
newTransOwnerTask.setTransOwnerTask();
|
|
31
|
+
}
|
|
32
|
+
if ((task === null && AccessHelper.eventsManager.ignoreUnknownAbort()))
|
|
33
|
+
return;
|
|
34
|
+
Debug.Assert(task !== null);
|
|
35
|
+
let mGData = task.getMGData();
|
|
36
|
+
await task.stop();
|
|
37
|
+
mGData.abort();
|
|
38
|
+
AccessHelper.mgDataTable.currMgdID = mGData.GetId();
|
|
39
|
+
let form = task.getForm();
|
|
40
|
+
GUIManager.Instance.abort(form);
|
|
41
|
+
AccessHelper.mgDataTable.currMgdID = ((mGData.GetId() !== currMgdID || mGData.getParentMGdata() === null)
|
|
42
|
+
? currMgdID
|
|
43
|
+
: mGData.getParentMGdata().GetId());
|
|
44
|
+
if (!MgControl.validReturnToCtrl()) {
|
|
45
|
+
let lastFocusedControl = LastFocusedManager.getLastFocusedControl();
|
|
46
|
+
MgControl.ReturnToCtrl = lastFocusedControl;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
HandleAttribute(attribute, value) {
|
|
50
|
+
switch (attribute) {
|
|
51
|
+
case ConstInterface.MG_ATTR_TRANS_OWNER:
|
|
52
|
+
this._transOwner = value;
|
|
53
|
+
break;
|
|
54
|
+
default:
|
|
55
|
+
super.HandleAttribute(attribute, value);
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
if (attribute === XMLConstants.MG_ATTR_TASKID) {
|
|
59
|
+
let abortingTask = AccessHelper.mgDataTable.GetTaskByID(this.TaskTag);
|
|
60
|
+
if (abortingTask != null)
|
|
61
|
+
abortingTask.resetKnownToServer();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJvcnRDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9TZXJ2ZXJUb0NsaWVudC9BYm9ydENvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHdEUsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTNDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsTUFBTSxPQUFPLFlBQWEsU0FBUSx5QkFBeUI7SUFNekQsWUFBWSxPQUFnQjtRQUMxQixLQUFLLEVBQUUsQ0FBQztRQUxGLGdCQUFXLEdBQVcsSUFBSSxDQUFDO1FBT2pDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLGFBQWE7SUFDckIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxPQUFlO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQWlCO1FBQzdCLElBQUksU0FBUyxHQUFXLFlBQVksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1FBQzNELElBQUksSUFBSSxHQUFlLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUcxRSxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQzdCLElBQUksaUJBQWlCLEdBQWUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzNGLElBQUksaUJBQWlCLEtBQUssSUFBSTtnQkFDNUIsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUN6QztRQUdELElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUNwRSxPQUFPO1FBRVQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDNUIsSUFBSSxNQUFNLEdBQVcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVmLFlBQVksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVwRCxJQUFJLElBQUksR0FBVyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFbEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRSxLQUFLLElBQUksQ0FBQztZQUNqRSxDQUFDLENBQUMsU0FBUztZQUNYLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFLEVBQUU7WUFDbEMsSUFBSSxrQkFBa0IsR0FBYyxrQkFBa0IsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQy9FLFNBQVMsQ0FBQyxZQUFZLEdBQUcsa0JBQWtCLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRU0sZUFBZSxDQUFDLFNBQWlCLEVBQUUsS0FBYTtRQUNyRCxRQUFRLFNBQVMsRUFBRTtZQUNqQixLQUFLLGNBQWMsQ0FBQyxtQkFBbUI7Z0JBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixNQUFNO1lBRVI7Z0JBQ0UsS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3hDLE1BQU07U0FDVDtRQUdELElBQUksU0FBUyxLQUFLLFlBQVksQ0FBQyxjQUFjLEVBQUU7WUFDN0MsSUFBSSxZQUFZLEdBQVMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVFLElBQUksWUFBWSxJQUFJLElBQUk7Z0JBQ3RCLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlfSBmcm9tIFwiLi9DbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlXCI7XHJcbmltcG9ydCB7SVJlc3VsdFZhbHVlfSBmcm9tIFwiLi4vLi4vcnQvSVJlc3VsdFZhbHVlXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIi4uLy4uL3Rhc2tzL1Rhc2tcIjtcclxuaW1wb3J0IHtEZWJ1Z30gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7TUdEYXRhfSBmcm9tIFwiLi4vLi4vdGFza3MvTUdEYXRhXCI7XHJcbmltcG9ydCB7R1VJTWFuYWdlcn0gZnJvbSBcIi4uLy4uL0dVSU1hbmFnZXJcIjtcclxuaW1wb3J0IHtNZ0Zvcm19IGZyb20gXCIuLi8uLi9ndWkvTWdGb3JtXCI7XHJcbmltcG9ydCB7TWdDb250cm9sfSBmcm9tIFwiLi4vLi4vZ3VpL01nQ29udHJvbFwiO1xyXG5pbXBvcnQge0NvbnN0SW50ZXJmYWNlfSBmcm9tIFwiLi4vLi4vQ29uc3RJbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtYTUxDb25zdGFudHN9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7TGFzdEZvY3VzZWRNYW5hZ2VyIH0gZnJvbSBcIi4uLy4uL3J0L0xhc3RGb2N1c2VkTWFuYWdlclwiO1xyXG5pbXBvcnQgeyBBY2Nlc3NIZWxwZXIgfSBmcm9tIFwiLi4vLi4vQWNjZXNzSGVscGVyXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQWJvcnRDb21tYW5kIGV4dGVuZHMgQ2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZSB7XHJcblxyXG4gIHByaXZhdGUgX3RyYW5zT3duZXI6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCk7XHJcbiAgY29uc3RydWN0b3IodGFza1RhZzogc3RyaW5nKTtcclxuICBjb25zdHJ1Y3Rvcih0YXNrVGFnPzogc3RyaW5nKSB7XHJcbiAgICBzdXBlcigpO1xyXG5cclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuY29uc3RydWN0b3JfMCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbnN0cnVjdG9yXzEodGFza1RhZyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yXzAoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yXzEodGFza1RhZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgRXhlY3V0ZShyZXM6IElSZXN1bHRWYWx1ZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IGN1cnJNZ2RJRDogbnVtYmVyID0gQWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLmN1cnJNZ2RJRDtcclxuICAgIGxldCB0YXNrOiBUYXNrID0gPFRhc2s+QWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLkdldFRhc2tCeUlEKHRoaXMuVGFza1RhZyk7XHJcblxyXG4gICAgLy8gUGFzcyB0cmFuc2FjdGlvbiBvd25lcnNoaXBcclxuICAgIGlmICh0aGlzLl90cmFuc093bmVyICE9PSBudWxsKSB7XHJcbiAgICAgIGxldCBuZXdUcmFuc093bmVyVGFzazogVGFzayA9IDxUYXNrPkFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5HZXRUYXNrQnlJRCh0aGlzLl90cmFuc093bmVyKTtcclxuICAgICAgaWYgKG5ld1RyYW5zT3duZXJUYXNrICE9PSBudWxsKVxyXG4gICAgICAgIG5ld1RyYW5zT3duZXJUYXNrLnNldFRyYW5zT3duZXJUYXNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT24gc3BlY2lhbCBvY2Nhc2lvbnMsIHRoZSBzZXJ2ZXIgbWF5IHNlbmQgYWJvcnQgY29tbWFuZHMgb24gdGFza3Mgd2hpY2ggd2VyZSBub3QgcGFyc2VkIHlldFxyXG4gICAgaWYgKCh0YXNrID09PSBudWxsICYmIEFjY2Vzc0hlbHBlci5ldmVudHNNYW5hZ2VyLmlnbm9yZVVua25vd25BYm9ydCgpKSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIERlYnVnLkFzc2VydCh0YXNrICE9PSBudWxsKTtcclxuICAgIGxldCBtR0RhdGE6IE1HRGF0YSA9IHRhc2suZ2V0TUdEYXRhKCk7XHJcbiAgICBhd2FpdCB0YXNrLnN0b3AoKTtcclxuICAgIG1HRGF0YS5hYm9ydCgpO1xyXG5cclxuICAgIEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5jdXJyTWdkSUQgPSBtR0RhdGEuR2V0SWQoKTtcclxuXHJcbiAgICBsZXQgZm9ybSA9IDxNZ0Zvcm0+dGFzay5nZXRGb3JtKCk7XHJcblxyXG4gICAgR1VJTWFuYWdlci5JbnN0YW5jZS5hYm9ydChmb3JtKTtcclxuXHJcbiAgICBBY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuY3Vyck1nZElEID0gKChtR0RhdGEuR2V0SWQoKSAhPT0gY3Vyck1nZElEIHx8IG1HRGF0YS5nZXRQYXJlbnRNR2RhdGEoKSA9PT0gbnVsbClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGN1cnJNZ2RJRFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbUdEYXRhLmdldFBhcmVudE1HZGF0YSgpLkdldElkKCkpO1xyXG5cclxuICAgIGlmICghTWdDb250cm9sLnZhbGlkUmV0dXJuVG9DdHJsKCkpIHtcclxuICAgICAgbGV0IGxhc3RGb2N1c2VkQ29udHJvbDogTWdDb250cm9sID0gTGFzdEZvY3VzZWRNYW5hZ2VyLmdldExhc3RGb2N1c2VkQ29udHJvbCgpO1xyXG4gICAgICBNZ0NvbnRyb2wuUmV0dXJuVG9DdHJsID0gbGFzdEZvY3VzZWRDb250cm9sO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIEhhbmRsZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgc3dpdGNoIChhdHRyaWJ1dGUpIHtcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX1RSQU5TX09XTkVSOlxyXG4gICAgICAgIHRoaXMuX3RyYW5zT3duZXIgPSB2YWx1ZTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgc3VwZXIuSGFuZGxlQXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNpZ25hbCB0aGUgc2VydmVyIGhhcyBhYm9ydGVkIHRoZSB0YXNrLlxyXG4gICAgaWYgKGF0dHJpYnV0ZSA9PT0gWE1MQ29uc3RhbnRzLk1HX0FUVFJfVEFTS0lEKSB7XHJcbiAgICAgIGxldCBhYm9ydGluZ1Rhc2sgPSA8VGFzaz5BY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuR2V0VGFza0J5SUQodGhpcy5UYXNrVGFnKTtcclxuICAgICAgaWYgKGFib3J0aW5nVGFzayAhPSBudWxsKVxyXG4gICAgICAgIGFib3J0aW5nVGFzay5yZXNldEtub3duVG9TZXJ2ZXIoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AddRangeCommand } from "./AddRangeCommand";
|
|
2
|
+
import { RecordUtils } from "@magic-xpa/gui";
|
|
3
|
+
import { CommandFactory } from "../ClientToServer/CommandFactory";
|
|
4
|
+
import { RefParam } from "@magic-xpa/mscorelib";
|
|
5
|
+
import { AccessHelper } from "../../AccessHelper";
|
|
6
|
+
export class AddLocateCommand extends AddRangeCommand {
|
|
7
|
+
async Execute(res) {
|
|
8
|
+
let task = AccessHelper.mgDataTable.GetTaskByID(this.TaskTag);
|
|
9
|
+
let fieldDef = task.DataView.getField(this.UserRange.veeIdx - 1);
|
|
10
|
+
let parsedLen = new RefParam(0);
|
|
11
|
+
let command = CommandFactory.CreateAddUserLocateDataviewCommand(this.TaskTag, this.UserRange);
|
|
12
|
+
if (!this.UserRange.nullMin)
|
|
13
|
+
command.Range.min = RecordUtils.deSerializeItemVal(this.UserRange.min, fieldDef.getType(), fieldDef.getSize(), true, fieldDef.getType(), parsedLen);
|
|
14
|
+
if (!this.UserRange.nullMax)
|
|
15
|
+
command.Range.max = RecordUtils.deSerializeItemVal(this.UserRange.max, fieldDef.getType(), fieldDef.getSize(), true, fieldDef.getType(), parsedLen);
|
|
16
|
+
await task.DataviewManager.Execute(command);
|
|
17
|
+
}
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkTG9jYXRlQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvU2VydmVyVG9DbGllbnQvQWRkTG9jYXRlQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUFXLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR3JELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS2xELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFlO0lBTTVDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBaUI7UUFFcEMsSUFBSSxJQUFJLEdBQWUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFFLElBQUksUUFBUSxHQUFhLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksU0FBUyxHQUFxQixJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsRCxJQUFJLE9BQU8sR0FBaUMsY0FBYyxDQUFDLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVILElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU87WUFDekIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN0SixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPO1lBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFdEosTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWRkUmFuZ2VDb21tYW5kfSBmcm9tIFwiLi9BZGRSYW5nZUNvbW1hbmRcIjtcclxuaW1wb3J0IHtJUmVzdWx0VmFsdWV9IGZyb20gXCIuLi8uLi9ydC9JUmVzdWx0VmFsdWVcIjtcclxuaW1wb3J0IHtGaWVsZERlZiwgUmVjb3JkVXRpbHN9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQge0FkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmR9IGZyb20gXCIuLi9DbGllbnRUb1NlcnZlci9BZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIi4uLy4uL3Rhc2tzL1Rhc2tcIjtcclxuaW1wb3J0IHtDb21tYW5kRmFjdG9yeX0gZnJvbSBcIi4uL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5XCI7XHJcbmltcG9ydCB7UmVmUGFyYW19IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQgeyBBY2Nlc3NIZWxwZXIgfSBmcm9tIFwiLi4vLi4vQWNjZXNzSGVscGVyXCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBBZGRMb2NhdGVDb21tYW5kXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBBZGRMb2NhdGVDb21tYW5kIGV4dGVuZHMgQWRkUmFuZ2VDb21tYW5kIHtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBFeGVjdXRlIEFkZExvY2F0ZUNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImV4cFwiPjwvcGFyYW0+XHJcbiAgcHVibGljIGFzeW5jIEV4ZWN1dGUocmVzOiBJUmVzdWx0VmFsdWUpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHJcbiAgICBsZXQgdGFzazogVGFzayA9IDxUYXNrPkFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5HZXRUYXNrQnlJRCh0aGlzLlRhc2tUYWcpO1xyXG4gICAgbGV0IGZpZWxkRGVmOiBGaWVsZERlZiA9IHRhc2suRGF0YVZpZXcuZ2V0RmllbGQoPG51bWJlcj50aGlzLlVzZXJSYW5nZS52ZWVJZHggLSAxKTtcclxuICAgIGxldCBwYXJzZWRMZW46IFJlZlBhcmFtPG51bWJlcj4gPSBuZXcgUmVmUGFyYW0oMCk7XHJcblxyXG4gICAgbGV0IGNvbW1hbmQ6IEFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQgPSBDb21tYW5kRmFjdG9yeS5DcmVhdGVBZGRVc2VyTG9jYXRlRGF0YXZpZXdDb21tYW5kKHRoaXMuVGFza1RhZywgdGhpcy5Vc2VyUmFuZ2UpO1xyXG4gICAgaWYgKCF0aGlzLlVzZXJSYW5nZS5udWxsTWluKVxyXG4gICAgICBjb21tYW5kLlJhbmdlLm1pbiA9IFJlY29yZFV0aWxzLmRlU2VyaWFsaXplSXRlbVZhbCh0aGlzLlVzZXJSYW5nZS5taW4sIGZpZWxkRGVmLmdldFR5cGUoKSwgZmllbGREZWYuZ2V0U2l6ZSgpLCB0cnVlLCBmaWVsZERlZi5nZXRUeXBlKCksIHBhcnNlZExlbik7XHJcbiAgICBpZiAoIXRoaXMuVXNlclJhbmdlLm51bGxNYXgpXHJcbiAgICAgIGNvbW1hbmQuUmFuZ2UubWF4ID0gUmVjb3JkVXRpbHMuZGVTZXJpYWxpemVJdGVtVmFsKHRoaXMuVXNlclJhbmdlLm1heCwgZmllbGREZWYuZ2V0VHlwZSgpLCBmaWVsZERlZi5nZXRTaXplKCksIHRydWUsIGZpZWxkRGVmLmdldFR5cGUoKSwgcGFyc2VkTGVuKTtcclxuXHJcbiAgICBhd2FpdCB0YXNrLkRhdGF2aWV3TWFuYWdlci5FeGVjdXRlKGNvbW1hbmQpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
|