@kontur.candy/tools 2.154.0 → 2.155.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/distr/Common/AsyncUtils.js +1 -3
  3. package/distr/Common/CandyApiClient/CandyApiClient.js +25 -138
  4. package/distr/Common/CandyApiClient/CandyApiClientContext.js +1 -8
  5. package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js +1 -1
  6. package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js +1 -1
  7. package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js +1 -2
  8. package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js +1 -1
  9. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js +1 -16
  10. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js +1 -12
  11. package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js +1 -12
  12. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js +1 -1
  13. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js +1 -13
  14. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js +1 -3
  15. package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js +1 -1
  16. package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js +1 -8
  17. package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js +1 -7
  18. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js +9 -12
  19. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js +1 -1
  20. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestResponse.js +1 -1
  21. package/distr/Common/CandyApiClient/FakeCandyApiClient.js +4 -72
  22. package/distr/Common/CandyApiClient/ICandyApiClient.js +1 -1
  23. package/distr/Common/CandyApiClient/IsBuffer.js +1 -2
  24. package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js +1 -1
  25. package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js +1 -1
  26. package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js +1 -1
  27. package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js +1 -1
  28. package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js +1 -1
  29. package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js +12 -7
  30. package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js +1 -1
  31. package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js +1 -1
  32. package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js +1 -3
  33. package/distr/Common/CandyApiClient/Types/DraftFullId.js +1 -1
  34. package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js +5 -6
  35. package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js +9 -12
  36. package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js +5 -6
  37. package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js +1 -1
  38. package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js +1 -1
  39. package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js +5 -6
  40. package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js +1 -1
  41. package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js +1 -3
  42. package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js +1 -1
  43. package/distr/Common/CandyApiClient/Types/Guid.js +1 -1
  44. package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js +1 -1
  45. package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js +1 -1
  46. package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js +6 -0
  47. package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js +5 -6
  48. package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js +1 -1
  49. package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js +1 -1
  50. package/distr/Common/CandyApiClient/Types/Print/PrintType.js +5 -6
  51. package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js +1 -1
  52. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js +1 -1
  53. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js +1 -1
  54. package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js +1 -1
  55. package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js +1 -1
  56. package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js +5 -6
  57. package/distr/Common/CandyApiClient/Types/TestClassification.js +1 -1
  58. package/distr/Common/CollectionUtils.js +1 -3
  59. package/distr/Common/CommonConstants/SectionNames.js +1 -3
  60. package/distr/Common/Comparers.js +2 -16
  61. package/distr/Common/EmotionStorybookWorkaroundViaAliases.js +1 -5
  62. package/distr/Common/EndPoints.js +1 -2
  63. package/distr/Common/Enums/ButtonSettingsTypeEnum.js +5 -6
  64. package/distr/Common/Errors.js +1 -19
  65. package/distr/Common/FormActionHandlers/ContextualActionNames.js +1 -3
  66. package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js +1 -1
  67. package/distr/Common/Funcs.js +1 -5
  68. package/distr/Common/GFV.js +1 -1
  69. package/distr/Common/Hooks/UseLocalStorage.js +3 -10
  70. package/distr/Common/HttpClient/AuthenticationMode.js +3 -7
  71. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js +1 -3
  72. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js +1 -3
  73. package/distr/Common/HttpClient/FetchImplementation/Fetch.js +1 -1
  74. package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js +1 -1
  75. package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js +6 -11
  76. package/distr/Common/HttpClient/HttpClient.js +9 -80
  77. package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js +1 -1
  78. package/distr/Common/HttpClient/IHttpClient.js +1 -1
  79. package/distr/Common/IndentString.js +1 -3
  80. package/distr/Common/IntRangeUtils.js +3 -10
  81. package/distr/Common/IterableUtils.js +3 -76
  82. package/distr/Common/KCLangRuntimeUtils.js +1 -87
  83. package/distr/Common/ModelPath/BuildIterationSequence.js +1 -5
  84. package/distr/Common/ModelPath/EachCurrentCollision.js +5 -6
  85. package/distr/Common/ModelPath/IEquatable.js +1 -1
  86. package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js +1 -8
  87. package/distr/Common/ModelPath/Map/Map2.js +2 -24
  88. package/distr/Common/ModelPath/Map/ModelPathMap.js +1 -8
  89. package/distr/Common/ModelPath/ModelPath.js +16 -140
  90. package/distr/Common/ModelPath/ModelPathBuilder.js +1 -14
  91. package/distr/Common/ModelPath/ModelPathHelper.js +1 -2
  92. package/distr/Common/ModelPath/PathMatcher.js +5 -24
  93. package/distr/Common/ModelPath/PathSplitHelper.js +1 -6
  94. package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js +1 -10
  95. package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js +1 -10
  96. package/distr/Common/ModelPath/Set/ModelPathSet.js +1 -10
  97. package/distr/Common/ModelPath/Set/Set2.js +1 -16
  98. package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js +1 -9
  99. package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js +1 -1
  100. package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js +1 -3
  101. package/distr/Common/NidusClient/Fakes/FakeNidusClient.js +1 -17
  102. package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js +1 -30
  103. package/distr/Common/NidusClient/INidusClient.js +1 -3
  104. package/distr/Common/NidusClient/NidusClientContext.js +1 -14
  105. package/distr/Common/NidusClient/NidusClientImpl.js +1 -18
  106. package/distr/Common/PathConstants.js +1 -3
  107. package/distr/Common/StringArrayKey.js +1 -8
  108. package/distr/Common/TypingUtils.js +7 -26
  109. package/distr/Common/UUID.js +1 -4
  110. package/distr/Common/UseAsyncEffect.js +3 -7
  111. package/distr/Common/UseShowOnce.js +1 -17
  112. package/distr/Common/UseTypedSelector.js +1 -3
  113. package/distr/Common/getRngSchemaFilename.js +18 -0
  114. package/distr/Common/hashUtils.js +1 -4
  115. package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +1 -23
  116. package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +3 -10
  117. package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js +1 -10
  118. package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js +5 -23
  119. package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +1 -27
  120. package/distr/Tools/src/BuildTasks/Engine/EngineSource.js +1 -2
  121. package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +3 -10
  122. package/distr/Tools/src/BuildTasks/EngineVersionUtils.js +1 -9
  123. package/distr/Tools/src/BuildTasks/FSTask.js +1 -19
  124. package/distr/Tools/src/BuildTasks/Form/CompileForm.js +1 -19
  125. package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +1 -16
  126. package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +1 -11
  127. package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js +1 -10
  128. package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +1 -10
  129. package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js +1 -10
  130. package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js +5 -26
  131. package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +1 -38
  132. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +2 -42
  133. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +4 -39
  134. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +4 -7
  135. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +4 -10
  136. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +9 -17
  137. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js +3 -5
  138. package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js +1 -13
  139. package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js +1 -20
  140. package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js +3 -48
  141. package/distr/Tools/src/BuildTasks/ReadFormSource.js +7 -32
  142. package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +5 -32
  143. package/distr/Tools/src/BuildTasks/Version.js +1 -10
  144. package/distr/Tools/src/BuildTasks/WriteFormMeta.js +1 -10
  145. package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js +5 -9
  146. package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js +1 -5
  147. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +22 -71
  148. package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js +1 -12
  149. package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +1 -5
  150. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +1 -67
  151. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +3 -28
  152. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +3 -41
  153. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js +3 -23
  154. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js +3 -20
  155. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +1 -23
  156. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js +1 -37
  157. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js +1 -13
  158. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js +1 -40
  159. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +8 -49
  160. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +1 -13
  161. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +1 -17
  162. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js +1 -4
  163. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +10 -19
  164. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js +12 -26
  165. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js +1 -5
  166. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js +1 -1
  167. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js +1 -1
  168. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js +10 -44
  169. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +1 -17
  170. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js +1 -5
  171. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js +1 -1
  172. package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +1 -27
  173. package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js +11 -16
  174. package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js +1 -1
  175. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js +1 -1
  176. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js +1 -1
  177. package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js +1 -4
  178. package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +13 -34
  179. package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js +1 -4
  180. package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js +1 -15
  181. package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js +3 -19
  182. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/autocalc/{gfv}.calc.js +1 -2
  183. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/helpers/setKppValue.js +1 -2
  184. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js +1 -6
  185. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js +1 -11
  186. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/validations/kppValue.js +3 -4
  187. package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js +1 -4
  188. package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js +1 -23
  189. package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js +1 -4
  190. package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +7 -23
  191. package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js +26 -0
  192. package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js +48 -0
  193. package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js +1 -37
  194. package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js +1 -4
  195. package/distr/Tools/src/CandyCLI.js +7 -56
  196. package/distr/Tools/src/CheckNodeJsVersion.js +3 -10
  197. package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js +1 -10
  198. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js +4 -29
  199. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js +1 -6
  200. package/distr/Tools/src/Commons/ErrorUntyped.js +1 -1
  201. package/distr/Tools/src/Commons/EventObject.js +10 -20
  202. package/distr/Tools/src/Commons/ExecUtils.js +3 -9
  203. package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js +1 -7
  204. package/distr/Tools/src/Commons/FormGlobsUtils.js +1 -33
  205. package/distr/Tools/src/Commons/FsUtils.js +1 -12
  206. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js +1 -8
  207. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js +4 -15
  208. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js +1 -4
  209. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js +1 -5
  210. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js +1 -1
  211. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js +1 -4
  212. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js +1 -5
  213. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js +2 -5
  214. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js +1 -5
  215. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js +1 -14
  216. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js +1 -4
  217. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js +1 -5
  218. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js +1 -4
  219. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js +1 -4
  220. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js +1 -1
  221. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js +1 -4
  222. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js +1 -4
  223. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js +1 -36
  224. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js +1 -9
  225. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js +5 -35
  226. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js +9 -11
  227. package/distr/Tools/src/Commons/Locks/Lock.js +1 -8
  228. package/distr/Tools/src/Commons/Locks/LockHandle.js +1 -5
  229. package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js +1 -9
  230. package/distr/Tools/src/Commons/Logging/ELKLogger.js +17 -22
  231. package/distr/Tools/src/Commons/Logging/ILogger.js +1 -5
  232. package/distr/Tools/src/Commons/Logging/InMemoryLogger.js +3 -21
  233. package/distr/Tools/src/Commons/Logging/Logger.js +9 -29
  234. package/distr/Tools/src/Commons/Logging/StaticLogger.js +11 -15
  235. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js +1 -1
  236. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js +3 -37
  237. package/distr/Tools/src/Commons/PathPattern.js +1 -13
  238. package/distr/Tools/src/Commons/TasksCore/AggregatedError.js +1 -4
  239. package/distr/Tools/src/Commons/TasksCore/BuildTask.js +1 -1
  240. package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +13 -200
  241. package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js +1 -20
  242. package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js +7 -10
  243. package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js +1 -15
  244. package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js +1 -15
  245. package/distr/Tools/src/Commons/TasksCore/Observe.js +1 -13
  246. package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js +5 -11
  247. package/distr/Tools/src/Commons/TimingUtils.js +1 -2
  248. package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js +13 -51
  249. package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +4 -14
  250. package/distr/Tools/src/GenerateReadMe.js +1 -13
  251. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
  252. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js.LICENSE.txt +10 -1
  253. package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
  254. package/distr/Tools/src/LocalServerFrontEndDist/index.js.LICENSE.txt +10 -1
  255. package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
  256. package/distr/Tools/src/Options/CandyToolOptions.js +3 -11
  257. package/distr/Tools/src/ReadFarmConfig.js +1 -5
  258. package/distr/Tools/src/SelfUpdate.js +4 -28
  259. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +1506 -1257
  260. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.LICENSE.txt +1 -0
  261. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
  262. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +843 -623
  263. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.LICENSE.txt +1 -0
  264. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
  265. package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js +777 -1117
  266. package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js +1665 -2015
  267. package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js +9 -55
  268. package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js +777 -1117
  269. package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js +1665 -2015
  270. package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js +9 -55
  271. package/package.json +10 -10
  272. /package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/schemas/{{gfv}.rng.xml → {gfv}.0.rng.xml} +0 -0
@@ -4,52 +4,47 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.interceptStdStreams = interceptStdStreams;
7
-
8
7
  var _lodash = require("lodash");
9
-
10
8
  function interceptStdStreams(stdoutIntercept, stderrIntercept = stdoutIntercept) {
11
9
  // eslint-disable-next-line @typescript-eslint/unbound-method
12
- const old_stdout_write = process.stdout.write; // eslint-disable-next-line @typescript-eslint/unbound-method
13
-
10
+ const old_stdout_write = process.stdout.write;
11
+ // eslint-disable-next-line @typescript-eslint/unbound-method
14
12
  const old_stderr_write = process.stderr.write;
13
+
15
14
  /* eslint-disable */
16
15
  // @ts-ignore
17
-
18
16
  process.stdout.write = function (write) {
19
17
  return function (string, encoding, fd) {
20
18
  const args = (0, _lodash.toArray)(arguments);
21
- args[0] = interceptor(string, stdoutIntercept); // @ts-ignore
22
-
19
+ args[0] = interceptor(string, stdoutIntercept);
20
+ // @ts-ignore
23
21
  write.apply(process.stdout, args);
24
22
  };
25
- }(process.stdout.write); // @ts-ignore
26
-
23
+ }(process.stdout.write);
27
24
 
25
+ // @ts-ignore
28
26
  process.stderr.write = function (write) {
29
27
  return function (string, encoding, fd) {
30
28
  const args = (0, _lodash.toArray)(arguments);
31
- args[0] = interceptor(string, stderrIntercept); // @ts-ignore
32
-
29
+ args[0] = interceptor(string, stderrIntercept);
30
+ // @ts-ignore
33
31
  write.apply(process.stderr, args);
34
32
  };
35
33
  }(process.stderr.write);
36
- /* eslint-enable */
37
34
 
35
+ /* eslint-enable */
38
36
 
39
37
  function interceptor(str, callback) {
40
38
  // only intercept the string
41
39
  const result = callback(str);
42
-
43
40
  if (typeof result === "string") {
44
41
  return result.replace(/\n$/, "") + (result && /\n$/.test(str) ? "\n" : "");
45
42
  }
46
-
47
43
  return str;
48
44
  }
49
-
50
45
  return function unhook() {
51
46
  process.stdout.write = old_stdout_write;
52
47
  process.stderr.write = old_stderr_write;
53
48
  };
54
49
  }
55
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9TdGRTdHJlYW1zSW50ZXJjZXB0ZXIudHMiXSwibmFtZXMiOlsiaW50ZXJjZXB0U3RkU3RyZWFtcyIsInN0ZG91dEludGVyY2VwdCIsInN0ZGVyckludGVyY2VwdCIsIm9sZF9zdGRvdXRfd3JpdGUiLCJwcm9jZXNzIiwic3Rkb3V0Iiwid3JpdGUiLCJvbGRfc3RkZXJyX3dyaXRlIiwic3RkZXJyIiwic3RyaW5nIiwiZW5jb2RpbmciLCJmZCIsImFyZ3MiLCJhcmd1bWVudHMiLCJpbnRlcmNlcHRvciIsImFwcGx5Iiwic3RyIiwiY2FsbGJhY2siLCJyZXN1bHQiLCJyZXBsYWNlIiwidGVzdCIsInVuaG9vayJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUlPLFNBQVNBLG1CQUFULENBQ0hDLGVBREcsRUFFSEMsZUFBNkIsR0FBR0QsZUFGN0IsRUFHTztBQUNWO0FBQ0EsUUFBTUUsZ0JBQWdCLEdBQUdDLE9BQU8sQ0FBQ0MsTUFBUixDQUFlQyxLQUF4QyxDQUZVLENBR1Y7O0FBQ0EsUUFBTUMsZ0JBQWdCLEdBQUdILE9BQU8sQ0FBQ0ksTUFBUixDQUFlRixLQUF4QztBQUVBO0FBQ0E7O0FBQ0FGLEVBQUFBLE9BQU8sQ0FBQ0MsTUFBUixDQUFlQyxLQUFmLEdBQXdCLFVBQVNBLEtBQVQsRUFBZ0I7QUFDcEMsV0FBTyxVQUFTRyxNQUFULEVBQXNCQyxRQUF0QixFQUFxQ0MsRUFBckMsRUFBbUQ7QUFDdEQsWUFBTUMsSUFBSSxHQUFHLHFCQUFRQyxTQUFSLENBQWI7QUFDQUQsTUFBQUEsSUFBSSxDQUFDLENBQUQsQ0FBSixHQUFVRSxXQUFXLENBQUNMLE1BQUQsRUFBU1IsZUFBVCxDQUFyQixDQUZzRCxDQUd0RDs7QUFDQUssTUFBQUEsS0FBSyxDQUFDUyxLQUFOLENBQVlYLE9BQU8sQ0FBQ0MsTUFBcEIsRUFBNEJPLElBQTVCO0FBQ0gsS0FMRDtBQU1ILEdBUHNCLENBT3BCUixPQUFPLENBQUNDLE1BQVIsQ0FBZUMsS0FQSyxDQUF2QixDQVJVLENBaUJWOzs7QUFDQUYsRUFBQUEsT0FBTyxDQUFDSSxNQUFSLENBQWVGLEtBQWYsR0FBd0IsVUFBU0EsS0FBVCxFQUFnQjtBQUNwQyxXQUFPLFVBQVNHLE1BQVQsRUFBc0JDLFFBQXRCLEVBQXFDQyxFQUFyQyxFQUE4QztBQUNqRCxZQUFNQyxJQUFJLEdBQUcscUJBQVFDLFNBQVIsQ0FBYjtBQUNBRCxNQUFBQSxJQUFJLENBQUMsQ0FBRCxDQUFKLEdBQVVFLFdBQVcsQ0FBQ0wsTUFBRCxFQUFTUCxlQUFULENBQXJCLENBRmlELENBR2pEOztBQUNBSSxNQUFBQSxLQUFLLENBQUNTLEtBQU4sQ0FBWVgsT0FBTyxDQUFDSSxNQUFwQixFQUE0QkksSUFBNUI7QUFDSCxLQUxEO0FBTUgsR0FQc0IsQ0FPcEJSLE9BQU8sQ0FBQ0ksTUFBUixDQUFlRixLQVBLLENBQXZCO0FBU0E7OztBQUVBLFdBQVNRLFdBQVQsQ0FBcUJFLEdBQXJCLEVBQWtDQyxRQUFsQyxFQUFrRTtBQUM5RDtBQUNBLFVBQU1DLE1BQU0sR0FBR0QsUUFBUSxDQUFDRCxHQUFELENBQXZCOztBQUNBLFFBQUksT0FBT0UsTUFBUCxLQUFrQixRQUF0QixFQUFnQztBQUM1QixhQUFPQSxNQUFNLENBQUNDLE9BQVAsQ0FBZSxLQUFmLEVBQXNCLEVBQXRCLEtBQTZCRCxNQUFNLElBQUksTUFBTUUsSUFBTixDQUFXSixHQUFYLENBQVYsR0FBNEIsSUFBNUIsR0FBbUMsRUFBaEUsQ0FBUDtBQUNIOztBQUNELFdBQU9BLEdBQVA7QUFDSDs7QUFFRCxTQUFPLFNBQVNLLE1BQVQsR0FBd0I7QUFDM0JqQixJQUFBQSxPQUFPLENBQUNDLE1BQVIsQ0FBZUMsS0FBZixHQUF1QkgsZ0JBQXZCO0FBQ0FDLElBQUFBLE9BQU8sQ0FBQ0ksTUFBUixDQUFlRixLQUFmLEdBQXVCQyxnQkFBdkI7QUFDSCxHQUhEO0FBSUgiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b0FycmF5IH0gZnJvbSBcImxvZGFzaFwiO1xuXG50eXBlIEhvb2tDYWxsYmFjayA9ICgodGV4dDogc3RyaW5nKSA9PiBzdHJpbmcpIHwgKCh0ZXh0OiBzdHJpbmcpID0+IHZvaWQpO1xuXG5leHBvcnQgZnVuY3Rpb24gaW50ZXJjZXB0U3RkU3RyZWFtcyhcbiAgICBzdGRvdXRJbnRlcmNlcHQ6IEhvb2tDYWxsYmFjayxcbiAgICBzdGRlcnJJbnRlcmNlcHQ6IEhvb2tDYWxsYmFjayA9IHN0ZG91dEludGVyY2VwdFxuKTogKCkgPT4gdm9pZCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFxuICAgIGNvbnN0IG9sZF9zdGRvdXRfd3JpdGUgPSBwcm9jZXNzLnN0ZG91dC53cml0ZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kXG4gICAgY29uc3Qgb2xkX3N0ZGVycl93cml0ZSA9IHByb2Nlc3Muc3RkZXJyLndyaXRlO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUgPSAoZnVuY3Rpb24od3JpdGUpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmluZzogYW55LCBlbmNvZGluZzogYW55LCBmZDogYW55KTogYW55IHtcbiAgICAgICAgICAgIGNvbnN0IGFyZ3MgPSB0b0FycmF5KGFyZ3VtZW50cyk7XG4gICAgICAgICAgICBhcmdzWzBdID0gaW50ZXJjZXB0b3Ioc3RyaW5nLCBzdGRvdXRJbnRlcmNlcHQpO1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgd3JpdGUuYXBwbHkocHJvY2Vzcy5zdGRvdXQsIGFyZ3MpO1xuICAgICAgICB9O1xuICAgIH0pKHByb2Nlc3Muc3Rkb3V0LndyaXRlKTtcblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBwcm9jZXNzLnN0ZGVyci53cml0ZSA9IChmdW5jdGlvbih3cml0ZSkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24oc3RyaW5nOiBhbnksIGVuY29kaW5nOiBhbnksIGZkOiBhbnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGFyZ3MgPSB0b0FycmF5KGFyZ3VtZW50cyk7XG4gICAgICAgICAgICBhcmdzWzBdID0gaW50ZXJjZXB0b3Ioc3RyaW5nLCBzdGRlcnJJbnRlcmNlcHQpO1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgd3JpdGUuYXBwbHkocHJvY2Vzcy5zdGRlcnIsIGFyZ3MpO1xuICAgICAgICB9O1xuICAgIH0pKHByb2Nlc3Muc3RkZXJyLndyaXRlKTtcblxuICAgIC8qIGVzbGludC1lbmFibGUgKi9cblxuICAgIGZ1bmN0aW9uIGludGVyY2VwdG9yKHN0cjogc3RyaW5nLCBjYWxsYmFjazogSG9va0NhbGxiYWNrKTogc3RyaW5nIHtcbiAgICAgICAgLy8gb25seSBpbnRlcmNlcHQgdGhlIHN0cmluZ1xuICAgICAgICBjb25zdCByZXN1bHQgPSBjYWxsYmFjayhzdHIpO1xuICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZXBsYWNlKC9cXG4kLywgXCJcIikgKyAocmVzdWx0ICYmIC9cXG4kLy50ZXN0KHN0cikgPyBcIlxcblwiIDogXCJcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICB9XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gdW5ob29rKCk6IHZvaWQge1xuICAgICAgICBwcm9jZXNzLnN0ZG91dC53cml0ZSA9IG9sZF9zdGRvdXRfd3JpdGU7XG4gICAgICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlID0gb2xkX3N0ZGVycl93cml0ZTtcbiAgICB9O1xufVxuIl19
50
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsImludGVyY2VwdFN0ZFN0cmVhbXMiLCJzdGRvdXRJbnRlcmNlcHQiLCJzdGRlcnJJbnRlcmNlcHQiLCJvbGRfc3Rkb3V0X3dyaXRlIiwicHJvY2VzcyIsInN0ZG91dCIsIndyaXRlIiwib2xkX3N0ZGVycl93cml0ZSIsInN0ZGVyciIsInN0cmluZyIsImVuY29kaW5nIiwiZmQiLCJhcmdzIiwidG9BcnJheSIsImFyZ3VtZW50cyIsImludGVyY2VwdG9yIiwiYXBwbHkiLCJzdHIiLCJjYWxsYmFjayIsInJlc3VsdCIsInJlcGxhY2UiLCJ0ZXN0IiwidW5ob29rIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkU2VydmVyL1N0ZFN0cmVhbXNJbnRlcmNlcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b0FycmF5IH0gZnJvbSBcImxvZGFzaFwiO1xuXG50eXBlIEhvb2tDYWxsYmFjayA9ICgodGV4dDogc3RyaW5nKSA9PiBzdHJpbmcpIHwgKCh0ZXh0OiBzdHJpbmcpID0+IHZvaWQpO1xuXG5leHBvcnQgZnVuY3Rpb24gaW50ZXJjZXB0U3RkU3RyZWFtcyhcbiAgICBzdGRvdXRJbnRlcmNlcHQ6IEhvb2tDYWxsYmFjayxcbiAgICBzdGRlcnJJbnRlcmNlcHQ6IEhvb2tDYWxsYmFjayA9IHN0ZG91dEludGVyY2VwdFxuKTogKCkgPT4gdm9pZCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFxuICAgIGNvbnN0IG9sZF9zdGRvdXRfd3JpdGUgPSBwcm9jZXNzLnN0ZG91dC53cml0ZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kXG4gICAgY29uc3Qgb2xkX3N0ZGVycl93cml0ZSA9IHByb2Nlc3Muc3RkZXJyLndyaXRlO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUgPSAoZnVuY3Rpb24od3JpdGUpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmluZzogYW55LCBlbmNvZGluZzogYW55LCBmZDogYW55KTogYW55IHtcbiAgICAgICAgICAgIGNvbnN0IGFyZ3MgPSB0b0FycmF5KGFyZ3VtZW50cyk7XG4gICAgICAgICAgICBhcmdzWzBdID0gaW50ZXJjZXB0b3Ioc3RyaW5nLCBzdGRvdXRJbnRlcmNlcHQpO1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgd3JpdGUuYXBwbHkocHJvY2Vzcy5zdGRvdXQsIGFyZ3MpO1xuICAgICAgICB9O1xuICAgIH0pKHByb2Nlc3Muc3Rkb3V0LndyaXRlKTtcblxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBwcm9jZXNzLnN0ZGVyci53cml0ZSA9IChmdW5jdGlvbih3cml0ZSkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24oc3RyaW5nOiBhbnksIGVuY29kaW5nOiBhbnksIGZkOiBhbnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGFyZ3MgPSB0b0FycmF5KGFyZ3VtZW50cyk7XG4gICAgICAgICAgICBhcmdzWzBdID0gaW50ZXJjZXB0b3Ioc3RyaW5nLCBzdGRlcnJJbnRlcmNlcHQpO1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgd3JpdGUuYXBwbHkocHJvY2Vzcy5zdGRlcnIsIGFyZ3MpO1xuICAgICAgICB9O1xuICAgIH0pKHByb2Nlc3Muc3RkZXJyLndyaXRlKTtcblxuICAgIC8qIGVzbGludC1lbmFibGUgKi9cblxuICAgIGZ1bmN0aW9uIGludGVyY2VwdG9yKHN0cjogc3RyaW5nLCBjYWxsYmFjazogSG9va0NhbGxiYWNrKTogc3RyaW5nIHtcbiAgICAgICAgLy8gb25seSBpbnRlcmNlcHQgdGhlIHN0cmluZ1xuICAgICAgICBjb25zdCByZXN1bHQgPSBjYWxsYmFjayhzdHIpO1xuICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZXBsYWNlKC9cXG4kLywgXCJcIikgKyAocmVzdWx0ICYmIC9cXG4kLy50ZXN0KHN0cikgPyBcIlxcblwiIDogXCJcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICB9XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gdW5ob29rKCk6IHZvaWQge1xuICAgICAgICBwcm9jZXNzLnN0ZG91dC53cml0ZSA9IG9sZF9zdGRvdXRfd3JpdGU7XG4gICAgICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlID0gb2xkX3N0ZGVycl93cml0ZTtcbiAgICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFJTyxTQUFTQyxtQkFBbUJBLENBQy9CQyxlQUE2QixFQUM3QkMsZUFBNkIsR0FBR0QsZUFBZSxFQUNyQztFQUNWO0VBQ0EsTUFBTUUsZ0JBQWdCLEdBQUdDLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxLQUFLO0VBQzdDO0VBQ0EsTUFBTUMsZ0JBQWdCLEdBQUdILE9BQU8sQ0FBQ0ksTUFBTSxDQUFDRixLQUFLOztFQUU3QztFQUNBO0VBQ0FGLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxLQUFLLEdBQUksVUFBU0EsS0FBSyxFQUFFO0lBQ3BDLE9BQU8sVUFBU0csTUFBVyxFQUFFQyxRQUFhLEVBQUVDLEVBQU8sRUFBTztNQUN0RCxNQUFNQyxJQUFJLEdBQUcsSUFBQUMsZUFBTyxFQUFDQyxTQUFTLENBQUM7TUFDL0JGLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBR0csV0FBVyxDQUFDTixNQUFNLEVBQUVSLGVBQWUsQ0FBQztNQUM5QztNQUNBSyxLQUFLLENBQUNVLEtBQUssQ0FBQ1osT0FBTyxDQUFDQyxNQUFNLEVBQUVPLElBQUksQ0FBQztJQUNyQyxDQUFDO0VBQ0wsQ0FBQyxDQUFFUixPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDOztFQUV4QjtFQUNBRixPQUFPLENBQUNJLE1BQU0sQ0FBQ0YsS0FBSyxHQUFJLFVBQVNBLEtBQUssRUFBRTtJQUNwQyxPQUFPLFVBQVNHLE1BQVcsRUFBRUMsUUFBYSxFQUFFQyxFQUFPLEVBQUU7TUFDakQsTUFBTUMsSUFBSSxHQUFHLElBQUFDLGVBQU8sRUFBQ0MsU0FBUyxDQUFDO01BQy9CRixJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUdHLFdBQVcsQ0FBQ04sTUFBTSxFQUFFUCxlQUFlLENBQUM7TUFDOUM7TUFDQUksS0FBSyxDQUFDVSxLQUFLLENBQUNaLE9BQU8sQ0FBQ0ksTUFBTSxFQUFFSSxJQUFJLENBQUM7SUFDckMsQ0FBQztFQUNMLENBQUMsQ0FBRVIsT0FBTyxDQUFDSSxNQUFNLENBQUNGLEtBQUssQ0FBQzs7RUFFeEI7O0VBRUEsU0FBU1MsV0FBV0EsQ0FBQ0UsR0FBVyxFQUFFQyxRQUFzQixFQUFVO0lBQzlEO0lBQ0EsTUFBTUMsTUFBTSxHQUFHRCxRQUFRLENBQUNELEdBQUcsQ0FBQztJQUM1QixJQUFJLE9BQU9FLE1BQU0sS0FBSyxRQUFRLEVBQUU7TUFDNUIsT0FBT0EsTUFBTSxDQUFDQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJRCxNQUFNLElBQUksS0FBSyxDQUFDRSxJQUFJLENBQUNKLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDOUU7SUFDQSxPQUFPQSxHQUFHO0VBQ2Q7RUFFQSxPQUFPLFNBQVNLLE1BQU1BLENBQUEsRUFBUztJQUMzQmxCLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxLQUFLLEdBQUdILGdCQUFnQjtJQUN2Q0MsT0FBTyxDQUFDSSxNQUFNLENBQUNGLEtBQUssR0FBR0MsZ0JBQWdCO0VBQzNDLENBQUM7QUFDTCJ9
@@ -17,4 +17,4 @@ const debugOnlyOptionDefinition = {
17
17
  description: "Собирать только debug-сборки движка и форм. " + "ВНИМАНИЕ: при работе в браузере необходимо использовать параметр ?debug=true"
18
18
  };
19
19
  exports.debugOnlyOptionDefinition = debugOnlyOptionDefinition;
20
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9Db21tb25PcHRpb25zL0J1aWxkRGVidWdPbmx5T3B0aW9uLnRzIl0sIm5hbWVzIjpbImRlYnVnT25seU9wdGlvbkRlZmluaXRpb24iLCJhbGlhcyIsIm5hbWUiLCJkZWZhdWx0VmFsdWUiLCJidWlsZERlYnVnT25seSIsInBhcnNlIiwiaW5wdXQiLCJkb2VzTm90UmVxdWlyZVZhbHVlIiwiZGVzY3JpcHRpb24iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVPLE1BQU1BLHlCQUFpRSxHQUFHO0FBQzdFQyxFQUFBQSxLQUFLLEVBQUUsR0FEc0U7QUFFN0VDLEVBQUFBLElBQUksRUFBRSxZQUZ1RTtBQUc3RUMsRUFBQUEsWUFBWSxFQUFFO0FBQUVDLElBQUFBLGNBQWMsRUFBRTtBQUFsQixHQUgrRDtBQUk3RUMsRUFBQUEsS0FBSyxFQUFHQyxLQUFELEtBQXFCO0FBQUVGLElBQUFBLGNBQWMsRUFBRUU7QUFBbEIsR0FBckIsQ0FKc0U7QUFLN0VDLEVBQUFBLG1CQUFtQixFQUFFLElBTHdEO0FBTTdFQyxFQUFBQSxXQUFXLEVBQ1AsaURBQ0E7QUFSeUUsQ0FBMUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25EZWZpbml0aW9uIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvT3B0aW9ucy9Db21tYW5kQmFzZWRPcHRpb25zUGFyc2VyXCI7XG5cbmV4cG9ydCBjb25zdCBkZWJ1Z09ubHlPcHRpb25EZWZpbml0aW9uOiBPcHRpb25EZWZpbml0aW9uPEJ1aWxkRGVidWdPbmx5T3B0aW9uPiA9IHtcbiAgICBhbGlhczogXCJkXCIsXG4gICAgbmFtZTogXCJkZWJ1Zy1vbmx5XCIsXG4gICAgZGVmYXVsdFZhbHVlOiB7IGJ1aWxkRGVidWdPbmx5OiBmYWxzZSB9LFxuICAgIHBhcnNlOiAoaW5wdXQ6IGJvb2xlYW4pID0+ICh7IGJ1aWxkRGVidWdPbmx5OiBpbnB1dCB9KSxcbiAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcItCh0L7QsdC40YDQsNGC0Ywg0YLQvtC70YzQutC+IGRlYnVnLdGB0LHQvtGA0LrQuCDQtNCy0LjQttC60LAg0Lgg0YTQvtGA0LwuIFwiICtcbiAgICAgICAgXCLQktCd0JjQnNCQ0J3QmNCVOiDQv9GA0Lgg0YDQsNCx0L7RgtC1INCyINCx0YDQsNGD0LfQtdGA0LUg0L3QtdC+0LHRhdC+0LTQuNC80L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC/0LDRgNCw0LzQtdGC0YAgP2RlYnVnPXRydWVcIixcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGREZWJ1Z09ubHlPcHRpb24ge1xuICAgIGJ1aWxkRGVidWdPbmx5OiBib29sZWFuO1xufVxuIl19
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWJ1Z09ubHlPcHRpb25EZWZpbml0aW9uIiwiYWxpYXMiLCJuYW1lIiwiZGVmYXVsdFZhbHVlIiwiYnVpbGREZWJ1Z09ubHkiLCJwYXJzZSIsImlucHV0IiwiZG9lc05vdFJlcXVpcmVWYWx1ZSIsImRlc2NyaXB0aW9uIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9Db21tb25PcHRpb25zL0J1aWxkRGVidWdPbmx5T3B0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbkRlZmluaXRpb24gfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9PcHRpb25zL0NvbW1hbmRCYXNlZE9wdGlvbnNQYXJzZXJcIjtcblxuZXhwb3J0IGNvbnN0IGRlYnVnT25seU9wdGlvbkRlZmluaXRpb246IE9wdGlvbkRlZmluaXRpb248QnVpbGREZWJ1Z09ubHlPcHRpb24+ID0ge1xuICAgIGFsaWFzOiBcImRcIixcbiAgICBuYW1lOiBcImRlYnVnLW9ubHlcIixcbiAgICBkZWZhdWx0VmFsdWU6IHsgYnVpbGREZWJ1Z09ubHk6IGZhbHNlIH0sXG4gICAgcGFyc2U6IChpbnB1dDogYm9vbGVhbikgPT4gKHsgYnVpbGREZWJ1Z09ubHk6IGlucHV0IH0pLFxuICAgIGRvZXNOb3RSZXF1aXJlVmFsdWU6IHRydWUsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwi0KHQvtCx0LjRgNCw0YLRjCDRgtC+0LvRjNC60L4gZGVidWct0YHQsdC+0YDQutC4INC00LLQuNC20LrQsCDQuCDRhNC+0YDQvC4gXCIgK1xuICAgICAgICBcItCS0J3QmNCc0JDQndCY0JU6INC/0YDQuCDRgNCw0LHQvtGC0LUg0LIg0LHRgNCw0YPQt9C10YDQtSDQvdC10L7QsdGF0L7QtNC40LzQviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L/QsNGA0LDQvNC10YLRgCA/ZGVidWc9dHJ1ZVwiLFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZERlYnVnT25seU9wdGlvbiB7XG4gICAgYnVpbGREZWJ1Z09ubHk6IGJvb2xlYW47XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVPLE1BQU1BLHlCQUFpRSxHQUFHO0VBQzdFQyxLQUFLLEVBQUUsR0FBRztFQUNWQyxJQUFJLEVBQUUsWUFBWTtFQUNsQkMsWUFBWSxFQUFFO0lBQUVDLGNBQWMsRUFBRTtFQUFNLENBQUM7RUFDdkNDLEtBQUssRUFBR0MsS0FBYyxLQUFNO0lBQUVGLGNBQWMsRUFBRUU7RUFBTSxDQUFDLENBQUM7RUFDdERDLG1CQUFtQixFQUFFLElBQUk7RUFDekJDLFdBQVcsRUFDUCw4Q0FBOEMsR0FDOUM7QUFDUixDQUFDO0FBQUNDLE9BQUEsQ0FBQVQseUJBQUEsR0FBQUEseUJBQUEifQ==
@@ -29,4 +29,4 @@ const logVerbosityOption = {
29
29
  description: "Выводить отладочную информацию на консоль."
30
30
  };
31
31
  exports.logVerbosityOption = logVerbosityOption;
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9Db21tb25PcHRpb25zL0NvbW1vbk9wdGlvbkRlZmludGlvbnMudHMiXSwibmFtZXMiOlsiZGV2TW9kZU9wdGlvbiIsIm5hbWUiLCJkb2VzTm90UmVxdWlyZVZhbHVlIiwiZGVmYXVsdFZhbHVlIiwiZGV2ZWxvcG1lbnRNb2RlIiwicGFyc2UiLCJ4IiwiZGVzY3JpcHRpb24iLCJsb2dWZXJib3NpdHlPcHRpb24iLCJhbGlhcyIsImxvZ1ZlcmJvc2l0eSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRU8sTUFBTUEsYUFBNkQsR0FBRztBQUN6RUMsRUFBQUEsSUFBSSxFQUFFLGtCQURtRTtBQUV6RUMsRUFBQUEsbUJBQW1CLEVBQUUsSUFGb0Q7QUFHekVDLEVBQUFBLFlBQVksRUFBRTtBQUFFQyxJQUFBQSxlQUFlLEVBQUU7QUFBbkIsR0FIMkQ7QUFJekVDLEVBQUFBLEtBQUssRUFBR0MsQ0FBRCxLQUFpQjtBQUFFRixJQUFBQSxlQUFlLEVBQUVFO0FBQW5CLEdBQWpCLENBSmtFO0FBS3pFQyxFQUFBQSxXQUFXLEVBQUU7QUFMNEQsQ0FBdEU7O0FBUUEsTUFBTUMsa0JBQThELEdBQUc7QUFDMUVQLEVBQUFBLElBQUksRUFBRSxTQURvRTtBQUUxRVEsRUFBQUEsS0FBSyxFQUFFLEdBRm1FO0FBRzFFUCxFQUFBQSxtQkFBbUIsRUFBRSxJQUhxRDtBQUkxRUMsRUFBQUEsWUFBWSxFQUFFO0FBQUVPLElBQUFBLFlBQVksRUFBRTtBQUFoQixHQUo0RDtBQUsxRUwsRUFBQUEsS0FBSyxFQUFHQyxDQUFELEtBQWlCO0FBQUVJLElBQUFBLFlBQVksRUFBRUosQ0FBQyxHQUFHLENBQUgsR0FBTztBQUF4QixHQUFqQixDQUxtRTtBQU0xRUMsRUFBQUEsV0FBVyxFQUFFO0FBTjZELENBQXZFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uRGVmaW5pdGlvbiB9IGZyb20gXCIuLi8uLi9Db21tb25zL09wdGlvbnMvQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlclwiO1xuXG5leHBvcnQgY29uc3QgZGV2TW9kZU9wdGlvbjogT3B0aW9uRGVmaW5pdGlvbjx7IGRldmVsb3BtZW50TW9kZTogYm9vbGVhbiB9PiA9IHtcbiAgICBuYW1lOiBcImRldmVsb3BtZW50LW1vZGVcIixcbiAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgIGRlZmF1bHRWYWx1ZTogeyBkZXZlbG9wbWVudE1vZGU6IGZhbHNlIH0sXG4gICAgcGFyc2U6ICh4OiBib29sZWFuKSA9PiAoeyBkZXZlbG9wbWVudE1vZGU6IHggfSksXG4gICAgZGVzY3JpcHRpb246IFwi0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINGC0L7Qu9GM0LrQviDQsiDRgNC10LbQuNC80LUg0YDQsNC30YDQsNCx0L7RgtC60LggY2xpLlwiLFxufTtcblxuZXhwb3J0IGNvbnN0IGxvZ1ZlcmJvc2l0eU9wdGlvbjogT3B0aW9uRGVmaW5pdGlvbjx7IGxvZ1ZlcmJvc2l0eTogbnVtYmVyIH0+ID0ge1xuICAgIG5hbWU6IFwidmVyYm9zZVwiLFxuICAgIGFsaWFzOiBcInZcIixcbiAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgIGRlZmF1bHRWYWx1ZTogeyBsb2dWZXJib3NpdHk6IDAgfSxcbiAgICBwYXJzZTogKHg6IGJvb2xlYW4pID0+ICh7IGxvZ1ZlcmJvc2l0eTogeCA/IDEgOiAwIH0pLFxuICAgIGRlc2NyaXB0aW9uOiBcItCS0YvQstC+0LTQuNGC0Ywg0L7RgtC70LDQtNC+0YfQvdGD0Y4g0LjQvdGE0L7RgNC80LDRhtC40Y4g0L3QsCDQutC+0L3RgdC+0LvRjC5cIixcbn07XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZXZNb2RlT3B0aW9uIiwibmFtZSIsImRvZXNOb3RSZXF1aXJlVmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJkZXZlbG9wbWVudE1vZGUiLCJwYXJzZSIsIngiLCJkZXNjcmlwdGlvbiIsImV4cG9ydHMiLCJsb2dWZXJib3NpdHlPcHRpb24iLCJhbGlhcyIsImxvZ1ZlcmJvc2l0eSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9Db21tb25PcHRpb25zL0NvbW1vbk9wdGlvbkRlZmludGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uRGVmaW5pdGlvbiB9IGZyb20gXCIuLi8uLi9Db21tb25zL09wdGlvbnMvQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlclwiO1xuXG5leHBvcnQgY29uc3QgZGV2TW9kZU9wdGlvbjogT3B0aW9uRGVmaW5pdGlvbjx7IGRldmVsb3BtZW50TW9kZTogYm9vbGVhbiB9PiA9IHtcbiAgICBuYW1lOiBcImRldmVsb3BtZW50LW1vZGVcIixcbiAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgIGRlZmF1bHRWYWx1ZTogeyBkZXZlbG9wbWVudE1vZGU6IGZhbHNlIH0sXG4gICAgcGFyc2U6ICh4OiBib29sZWFuKSA9PiAoeyBkZXZlbG9wbWVudE1vZGU6IHggfSksXG4gICAgZGVzY3JpcHRpb246IFwi0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINGC0L7Qu9GM0LrQviDQsiDRgNC10LbQuNC80LUg0YDQsNC30YDQsNCx0L7RgtC60LggY2xpLlwiLFxufTtcblxuZXhwb3J0IGNvbnN0IGxvZ1ZlcmJvc2l0eU9wdGlvbjogT3B0aW9uRGVmaW5pdGlvbjx7IGxvZ1ZlcmJvc2l0eTogbnVtYmVyIH0+ID0ge1xuICAgIG5hbWU6IFwidmVyYm9zZVwiLFxuICAgIGFsaWFzOiBcInZcIixcbiAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgIGRlZmF1bHRWYWx1ZTogeyBsb2dWZXJib3NpdHk6IDAgfSxcbiAgICBwYXJzZTogKHg6IGJvb2xlYW4pID0+ICh7IGxvZ1ZlcmJvc2l0eTogeCA/IDEgOiAwIH0pLFxuICAgIGRlc2NyaXB0aW9uOiBcItCS0YvQstC+0LTQuNGC0Ywg0L7RgtC70LDQtNC+0YfQvdGD0Y4g0LjQvdGE0L7RgNC80LDRhtC40Y4g0L3QsCDQutC+0L3RgdC+0LvRjC5cIixcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVPLE1BQU1BLGFBQTZELEdBQUc7RUFDekVDLElBQUksRUFBRSxrQkFBa0I7RUFDeEJDLG1CQUFtQixFQUFFLElBQUk7RUFDekJDLFlBQVksRUFBRTtJQUFFQyxlQUFlLEVBQUU7RUFBTSxDQUFDO0VBQ3hDQyxLQUFLLEVBQUdDLENBQVUsS0FBTTtJQUFFRixlQUFlLEVBQUVFO0VBQUUsQ0FBQyxDQUFDO0VBQy9DQyxXQUFXLEVBQUU7QUFDakIsQ0FBQztBQUFDQyxPQUFBLENBQUFSLGFBQUEsR0FBQUEsYUFBQTtBQUVLLE1BQU1TLGtCQUE4RCxHQUFHO0VBQzFFUixJQUFJLEVBQUUsU0FBUztFQUNmUyxLQUFLLEVBQUUsR0FBRztFQUNWUixtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCQyxZQUFZLEVBQUU7SUFBRVEsWUFBWSxFQUFFO0VBQUUsQ0FBQztFQUNqQ04sS0FBSyxFQUFHQyxDQUFVLEtBQU07SUFBRUssWUFBWSxFQUFFTCxDQUFDLEdBQUcsQ0FBQyxHQUFHO0VBQUUsQ0FBQyxDQUFDO0VBQ3BEQyxXQUFXLEVBQUU7QUFDakIsQ0FBQztBQUFDQyxPQUFBLENBQUFDLGtCQUFBLEdBQUFBLGtCQUFBIn0=
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0NvbW1vbk9wdGlvbnMvQ29tbW9uT3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENvbW1vbk9wdGlvbnMge1xuICAgIGxvZ1ZlcmJvc2l0eTogbnVtYmVyO1xuICAgIGRldmVsb3BtZW50TW9kZTogYm9vbGVhbjtcbn1cbiJdLCJtYXBwaW5ncyI6IiJ9
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.devBuildCommandDefinition = void 0;
7
-
8
7
  var _CommandBasedOptionsParser = require("../../Commons/Options/CommandBasedOptionsParser");
9
-
10
8
  var _CommonOptionDefintions = require("../CommonOptions/CommonOptionDefintions");
11
-
12
9
  const devBuildCommandDefinition = (0, _CommandBasedOptionsParser.commandDefinition)("dev-build", "dev-build", (0, _CommandBasedOptionsParser.optionsDefinition)({
13
10
  alias: "w",
14
11
  name: "watch",
@@ -144,4 +141,4 @@ candy local-server --redirect-to-debug-scripts
144
141
  `.trim()
145
142
  });
146
143
  exports.devBuildCommandDefinition = devBuildCommandDefinition;
147
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9EZXZCdWlsZC9EZXZCdWlsZE9wdGlvbnMudHMiXSwibmFtZXMiOlsiZGV2QnVpbGRDb21tYW5kRGVmaW5pdGlvbiIsImFsaWFzIiwibmFtZSIsImRlZmF1bHRWYWx1ZSIsIndhdGNoIiwicGFyc2UiLCJpbnB1dCIsImRvZXNOb3RSZXF1aXJlVmFsdWUiLCJkZXNjcmlwdGlvbiIsImZvcm1HbG9icyIsImRlZmF1bHRPcHRpb24iLCJtdWx0aXBsZSIsInNraXBHZW5lcmF0aW9uIiwic2tpcEdlbmVyYXRlZENvZGVSZWZvcm1hdHRpbmciLCJjb250aW51ZU9uRXJyb3IiLCJidWlsZERlYnVnT25seSIsImRldk1vZGVPcHRpb24iLCJsb2dWZXJib3NpdHlPcHRpb24iLCJkZXRhaWxlZERlc2NyaXB0aW9uIiwidHJpbSIsImV4YW1wbGVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUE7O0FBV08sTUFBTUEseUJBQXlCLEdBQUcsa0RBQ3JDLFdBRHFDLEVBRXJDLFdBRnFDLEVBR3JDLGtEQUNJO0FBQ0lDLEVBQUFBLEtBQUssRUFBRSxHQURYO0FBRUlDLEVBQUFBLElBQUksRUFBRSxPQUZWO0FBR0lDLEVBQUFBLFlBQVksRUFBRTtBQUFFQyxJQUFBQSxLQUFLLEVBQUU7QUFBVCxHQUhsQjtBQUlJQyxFQUFBQSxLQUFLLEVBQUVDLEtBQUssS0FBSztBQUFFRixJQUFBQSxLQUFLLEVBQUVFO0FBQVQsR0FBTCxDQUpoQjtBQUtJQyxFQUFBQSxtQkFBbUIsRUFBRSxJQUx6QjtBQU1JQyxFQUFBQSxXQUFXLEVBQ1A7QUFQUixDQURKLEVBVUk7QUFDSVAsRUFBQUEsS0FBSyxFQUFFLEdBRFg7QUFFSUMsRUFBQUEsSUFBSSxFQUFFLE1BRlY7QUFHSUMsRUFBQUEsWUFBWSxFQUFFO0FBQUVNLElBQUFBLFNBQVMsRUFBRTtBQUFiLEdBSGxCO0FBSUlKLEVBQUFBLEtBQUssRUFBR0MsS0FBRCxLQUFzQjtBQUFFRyxJQUFBQSxTQUFTLEVBQUVIO0FBQWIsR0FBdEIsQ0FKWDtBQUtJSSxFQUFBQSxhQUFhLEVBQUUsSUFMbkI7QUFNSUMsRUFBQUEsUUFBUSxFQUFFLElBTmQ7QUFPSUgsRUFBQUEsV0FBVyxFQUFFO0FBUGpCLENBVkosRUFtQkk7QUFDSVAsRUFBQUEsS0FBSyxFQUFFLEdBRFg7QUFFSUMsRUFBQUEsSUFBSSxFQUFFLGlCQUZWO0FBR0lDLEVBQUFBLFlBQVksRUFBRTtBQUFFUyxJQUFBQSxjQUFjLEVBQUU7QUFBbEIsR0FIbEI7QUFJSVAsRUFBQUEsS0FBSyxFQUFHQyxLQUFELEtBQXFCO0FBQUVNLElBQUFBLGNBQWMsRUFBRU47QUFBbEIsR0FBckIsQ0FKWDtBQUtJQyxFQUFBQSxtQkFBbUIsRUFBRSxJQUx6QjtBQU1JQyxFQUFBQSxXQUFXLEVBQ1A7QUFQUixDQW5CSixFQTRCSTtBQUNJTixFQUFBQSxJQUFJLEVBQUUsYUFEVjtBQUVJSyxFQUFBQSxtQkFBbUIsRUFBRSxJQUZ6QjtBQUdJSixFQUFBQSxZQUFZLEVBQUU7QUFBRVUsSUFBQUEsNkJBQTZCLEVBQUU7QUFBakMsR0FIbEI7QUFJSVIsRUFBQUEsS0FBSyxFQUFHQyxLQUFELEtBQXFCO0FBQUVPLElBQUFBLDZCQUE2QixFQUFFUDtBQUFqQyxHQUFyQixDQUpYO0FBS0lFLEVBQUFBLFdBQVcsRUFDUDtBQU5SLENBNUJKLEVBb0NJO0FBQ0lOLEVBQUFBLElBQUksRUFBRSxtQkFEVjtBQUVJSyxFQUFBQSxtQkFBbUIsRUFBRSxJQUZ6QjtBQUdJSixFQUFBQSxZQUFZLEVBQUU7QUFBRVcsSUFBQUEsZUFBZSxFQUFFO0FBQW5CLEdBSGxCO0FBSUlULEVBQUFBLEtBQUssRUFBR0MsS0FBRCxLQUFxQjtBQUFFUSxJQUFBQSxlQUFlLEVBQUVSO0FBQW5CLEdBQXJCLENBSlg7QUFLSUUsRUFBQUEsV0FBVyxFQUFFO0FBTGpCLENBcENKLEVBMkNJO0FBQ0lQLEVBQUFBLEtBQUssRUFBRSxHQURYO0FBRUlDLEVBQUFBLElBQUksRUFBRSxZQUZWO0FBR0lDLEVBQUFBLFlBQVksRUFBRTtBQUFFWSxJQUFBQSxjQUFjLEVBQUU7QUFBbEIsR0FIbEI7QUFJSVYsRUFBQUEsS0FBSyxFQUFHQyxLQUFELEtBQXFCO0FBQUVTLElBQUFBLGNBQWMsRUFBRVQ7QUFBbEIsR0FBckIsQ0FKWDtBQUtJQyxFQUFBQSxtQkFBbUIsRUFBRSxJQUx6QjtBQU1JQyxFQUFBQSxXQUFXLEVBQ1AsaURBQ0E7QUFSUixDQTNDSixFQXFESVEscUNBckRKLEVBc0RJQywwQ0F0REosQ0FIcUMsRUEyRHJDO0FBQ0lULEVBQUFBLFdBQVcsRUFBRSxpRkFEakI7QUFFSVUsRUFBQUEsbUJBQW1CLEVBQUc7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUw2QixDQUszQkMsSUFMMkIsRUFGekI7QUFRSUMsRUFBQUEsUUFBUSxFQUFHO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0EzRGtCLENBMkRoQkQsSUEzRGdCO0FBUmQsQ0EzRHFDLENBQWxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tbWFuZERlZmluaXRpb24sIG9wdGlvbnNEZWZpbml0aW9uIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvT3B0aW9ucy9Db21tYW5kQmFzZWRPcHRpb25zUGFyc2VyXCI7XG5pbXBvcnQgeyBDb21tb25PcHRpb25zIH0gZnJvbSBcIi4uL0NvbW1vbk9wdGlvbnMvQ29tbW9uT3B0aW9uc1wiO1xuaW1wb3J0IHsgZGV2TW9kZU9wdGlvbiwgbG9nVmVyYm9zaXR5T3B0aW9uIH0gZnJvbSBcIi4uL0NvbW1vbk9wdGlvbnMvQ29tbW9uT3B0aW9uRGVmaW50aW9uc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERldmVsb3BtZW50QnVpbGRPcHRpb25zIGV4dGVuZHMgQ29tbW9uT3B0aW9ucyB7XG4gICAgd2F0Y2g6IGJvb2xlYW47XG4gICAgZm9ybUdsb2JzOiBzdHJpbmdbXTtcbiAgICBza2lwR2VuZXJhdGlvbjogYm9vbGVhbjtcbiAgICBidWlsZERlYnVnT25seTogYm9vbGVhbjtcbiAgICBza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZzogYm9vbGVhbjtcbiAgICBjb250aW51ZU9uRXJyb3I6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBkZXZCdWlsZENvbW1hbmREZWZpbml0aW9uID0gY29tbWFuZERlZmluaXRpb248XCJkZXYtYnVpbGRcIiwgRGV2ZWxvcG1lbnRCdWlsZE9wdGlvbnM+KFxuICAgIFwiZGV2LWJ1aWxkXCIsXG4gICAgXCJkZXYtYnVpbGRcIixcbiAgICBvcHRpb25zRGVmaW5pdGlvbihcbiAgICAgICAge1xuICAgICAgICAgICAgYWxpYXM6IFwid1wiLFxuICAgICAgICAgICAgbmFtZTogXCJ3YXRjaFwiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IHdhdGNoOiBmYWxzZSB9LFxuICAgICAgICAgICAgcGFyc2U6IGlucHV0ID0+ICh7IHdhdGNoOiBpbnB1dCB9KSxcbiAgICAgICAgICAgIGRvZXNOb3RSZXF1aXJlVmFsdWU6IHRydWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgICBcIldhdGNoLdGA0LXQttC40LwuINCS0YvQv9C+0LvQvdGP0LXRgiDRgdCx0L7RgNC60YMg0YTQvtGA0LwsINCwINC30LDRgtC10Lwg0L/QtdGA0LXRgdC+0LHQuNGA0LDQtdGCINC/0YDQuCDQuNC30LzQtdC90LXQvdC40Y/RhS4g0JIg0YLQvtC8INGH0LjRgdC70LUg0LTQstC40LbQutCwLCDQs9C10L3QtdGA0LDRgtC+0YDQsCDQuCDRgdGC0LDRgtC40YfQtdGB0LrQuNGFINGA0LXRgdGD0YDRgdC+0LIuXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcImdcIixcbiAgICAgICAgICAgIG5hbWU6IFwiZ2Z2c1wiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IGZvcm1HbG9iczogW10gfSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IHN0cmluZ1tdKSA9PiAoeyBmb3JtR2xvYnM6IGlucHV0IH0pLFxuICAgICAgICAgICAgZGVmYXVsdE9wdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwi0J7QtNC90LAg0LjQu9C4INC90LXRgdC60L7Qu9GM0LrQviBHRlYg0LjQu9C4IEdGVi3QvNCw0YHQvtC6INC00LvRjyDQv9C10YDQtdGB0L7QsdGA0LrQuC5cIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgYWxpYXM6IFwiblwiLFxuICAgICAgICAgICAgbmFtZTogXCJza2lwLWdlbmVyYXRpb25cIixcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogeyBza2lwR2VuZXJhdGlvbjogZmFsc2UgfSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IGJvb2xlYW4pID0+ICh7IHNraXBHZW5lcmF0aW9uOiBpbnB1dCB9KSxcbiAgICAgICAgICAgIGRvZXNOb3RSZXF1aXJlVmFsdWU6IHRydWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgICBcItCd0LUg0LLRi9C/0L7Qu9C90Y/RgtGMINCz0LXQvdCw0YDRhtC40Y4g0YTQvtGA0LzRiyDQuNC3INGB0LDRhdCw0YDQsCwg0LHRg9C00LXRgiDQstGL0L/QvtC70L3Rj9GC0YzRgdGPINGC0L7Qu9GM0LrQviDQutC+0LzQv9C40LvRj9GG0LjRjyDQuNGB0YXQvtC00L3QuNC60L7QsiDRhNC+0YDQvNGLINC40Lcg0LrQsNGC0LDQu9C+0LPQsCDRhNC+0YDQvC5cIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJuby1yZWZvcm1hdFwiLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogeyBza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZzogZmFsc2UgfSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IGJvb2xlYW4pID0+ICh7IHNraXBHZW5lcmF0ZWRDb2RlUmVmb3JtYXR0aW5nOiBpbnB1dCB9KSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0J7RgtC70Y7Rh9Cw0LXRgiDRhNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QuNC1INCz0LXQvdC10YDQuNGA0YPQtdC80L7Qs9C+INC60L7QtNCwLiDQoNCw0LHQvtGC0LDQtdGCLCDRgtC+0LvRjNC60L4g0LXRgdC70Lgg0LLQtdGA0YHQuNGPINCz0LXQvdC10YDQsNGC0L7RgNCwINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiDRjdGC0YMg0L7Qv9GG0LjRji4g0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC00LvRjyDRg9GB0LrQvtGA0LXQvdC40Y8g0YHQsdC+0YDQutC4INGE0L7RgNC8LlwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImNvbnRpbnVlLW9uLWVycm9yXCIsXG4gICAgICAgICAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IGNvbnRpbnVlT25FcnJvcjogZmFsc2UgfSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IGJvb2xlYW4pID0+ICh7IGNvbnRpbnVlT25FcnJvcjogaW5wdXQgfSksXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCLQndC1INCz0LXQvdC10YDQuNGA0YPQtdGCINC60L7QtCDQvtGI0LjQsdC60Lgg0LIg0YHQu9GD0YfQsNC1INC+0YjQuNCx0LrQuCDQv9GA0Lgg0LPQtdC90LXRgNCw0YbQuNC4INC40LvQuCDQutC+0LzQv9C40LvRj9GG0LjQuCDRhNC+0YDQvNGLLlwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBhbGlhczogXCJkXCIsXG4gICAgICAgICAgICBuYW1lOiBcImRlYnVnLW9ubHlcIixcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogeyBidWlsZERlYnVnT25seTogZmFsc2UgfSxcbiAgICAgICAgICAgIHBhcnNlOiAoaW5wdXQ6IGJvb2xlYW4pID0+ICh7IGJ1aWxkRGVidWdPbmx5OiBpbnB1dCB9KSxcbiAgICAgICAgICAgIGRvZXNOb3RSZXF1aXJlVmFsdWU6IHRydWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgICBcItCh0L7QsdC40YDQsNGC0Ywg0YLQvtC70YzQutC+IGRlYnVnLdGB0LHQvtGA0LrQuCDQtNCy0LjQttC60LAg0Lgg0YTQvtGA0LwuIFwiICtcbiAgICAgICAgICAgICAgICBcItCS0J3QmNCc0JDQndCY0JU6INC/0YDQuCDRgNCw0LHQvtGC0LUg0LIg0LHRgNCw0YPQt9C10YDQtSDQvdC10L7QsdGF0L7QtNC40LzQviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L/QsNGA0LDQvNC10YLRgCA/ZGVidWc9dHJ1ZVwiLFxuICAgICAgICB9LFxuICAgICAgICBkZXZNb2RlT3B0aW9uLFxuICAgICAgICBsb2dWZXJib3NpdHlPcHRpb25cbiAgICApLFxuICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246IFwi0JLRi9C/0L7Qu9C90Y/QtdGCINGB0LHQvtGA0LrRgyDRhNC+0YDQvCDRgSDQuNC/0L7Qu9GM0LfQvtCy0LDQvdC40LXQvCDQu9C+0LrQsNC70YzQvdGL0YUg0LjRgdGF0L7QtNC90LjQutC+0LIg0LTQstC40LbQutCwINC4INCz0LXQvdC10YDQsNGC0L7RgNCwLlwiLFxuICAgICAgICBkZXRhaWxlZERlc2NyaXB0aW9uOiBgXG7QktGL0L/QvtC70L3Rj9C10YIg0YHQsdC+0YDQutGDINGE0L7RgNC8INGBINC40L/QvtC70YzQt9C+0LLQsNC90LjQtdC8INC70L7QutCw0LvRjNC90YvRhSDQuNGB0YXQvtC00L3QuNC60L7QsiDQtNCy0LjQttC60LAg0Lgg0LPQtdC90LXRgNCw0YLQvtGA0LAuXG5cbiMjIyAqKtCS0JDQltCd0J4qKlxu0K3RgtCwINC60L7QvNCw0L3QtNCwINGB0L7QsdC40YDQsNC10YIg0LLRi9C/0L7Qu9C90Y/QtdGCINGB0LHQvtGA0LrRgyDRhNC+0YDQvCDQsiDQutCw0YLQsNC70L7QsyDRgNC10YHRg9GA0YHQvtCyLCDQvdC+INGA0LXQt9GD0LvRjNGC0LDRgtGLINGB0LHQvtGA0LrQuCDQvdC1INGP0LLQu9GP0LXRjtGC0YHRjyDQutC+0YDRgNC10LrRgtC90YvQvNC4INC00LvRjyDQstGL0LrQsNGC0YvQstCw0L3QuNGPINCyINC/0YDQvtC00LDQutGI0LXQvS5cbmAudHJpbSgpLFxuICAgICAgICBleGFtcGxlczogYFxuIyMjINCd0LDQv9C40YHQsNC90LjQtSDQuCDQv9GA0L7RgdC80L7RgtGAINGE0L7RgNC8XG5cbtCSINC60LDRgtCw0LvQvtCz0LUgY2FuZHkuZmFybSDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0LrQvtC80LDQvdC00YsgXG5cblxcYFxcYFxcYFxuY2FuZHkgYnVpbGQgMTIzNDU2IC13XG5cXGBcXGBcXGBcblxuXFxgXFxgXFxgXG5jYW5keSBsb2NhbC1zZXJ2ZXJcblxcYFxcYFxcYFxuXG4qINCf0LXRgNC10YXQvtC0INC90LAgdXJsIGh0dHA6Ly9sb2NhbGhvc3Q6OTA4MC8xMjM0NTYvZm9ybSAtLSDRgdC+0LfQtNCw0YHRgiDRh9C10YDQvdC+0LLQuNC6INC4INC+0YLQutGA0L7QtdGCINGA0LXQtNCw0LrRgtC+0YBcbiogSW5uZXIg0YfQtdGA0L3QvtCy0LjQutC+0LIg0L3QsNGF0L7QtNC40YLRgdGPINCyINC60LDRgtCw0LvQvtCz0LUgY2FuZHkucmVzb3VyY2VzLy5kYXRhXG5cbiMjIyDQodCx0L7RgNC60LAg0YTQvtGA0LzRiyDQtNC70Y8g0YDQtdC70LjQt9CwXG5cblxcYFxcYFxcYFxuY2FuZHkgYnVpbGQgMTIzNDU2XG5cXGBcXGBcXGBcblxuIyMjINCf0LXRgNC10LrQu9GO0YfQtdC90LjQtSDQuCDRgdCx0L7RgNC60LAg0YTQvtGA0LzRiyDQvdCwINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INC/0L7RgdC70LXQtNC90LXQuSDRgdGC0LDQsdC40LvRjNC90L7QuSBcblxuXFxgXFxgXFxgXG5jYW5keSBidWlsZCAxMjM0NTYgLS11c2UtbGFzdC1zdGFibGUtdmVyc2lvblxuXFxgXFxgXFxgXG5cbtCX0LDRgtC10Lwg0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L/Rg9C90LrRgiAn0J3QsNC/0LjRgdCw0L3QuNC1INC4INC/0YDQvtGB0LzQvtGC0YAg0YTQvtGA0LwnXG5cbiMjIyDQntGC0LvQsNC00LrQsCDRhNC+0YDQvCDRgSDQu9C+0LrQsNC70YzQvdGL0Lwg0LTQstC40LbQutC+0Lxcblxu0JIg0LrQsNGC0LDQu9C+0LPQtSBjYW5keS5mYXJtINC30LDQv9GD0YHRgtC40YLRjCDQutC+0LzQsNC90LTRiyBcblxuXFxgXFxgXFxgXG5jYW5keSBkZXYtYnVpbGQgMTIzNDU2IC13XG5cXGBcXGBcXGBcblxuXFxgXFxgXFxgXG5jYW5keSBsb2NhbC1zZXJ2ZXJcblxcYFxcYFxcYFxuXG4qINCf0LXRgNC10YXQvtC0INC90LAgdXJsIGh0dHA6Ly9sb2NhbGhvc3Q6OTA4MC8xMjM0NTYvZm9ybSAtLSDRgdC+0LfQtNCw0YHRgiDRh9C10YDQvdC+0LLQuNC6INC4INC+0YLQutGA0L7QtdGCINGA0LXQtNCw0LrRgtC+0YBcbiogSW5uZXIg0YfQtdGA0L3QvtCy0LjQutC+0LIg0L3QsNGF0L7QtNC40YLRgdGPINCyINC60LDRgtCw0LvQvtCz0LUgY2FuZHkucmVzb3VyY2VzLy5kYXRhXG5cbiMjIyDQoNCw0LfRgNCw0LHQvtGC0LrQsCDQuCDQvtGC0LvQsNC00LrQsCDQtNCy0LjQttC60LBcblxu0JIg0Y3RgtC+0Lwg0YHQu9GD0YfQsNC1INGD0LTQvtCx0L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YHQsdC+0YDQutGDINGC0L7Qu9GM0LrQviDQvtGC0LvQsNC00L7Rh9C90YvRhSDRgdC60YDQuNC/0YLQvtCyLlxuXG5cXGBcXGBcXGBcbmNhbmR5IGRldi1idWlsZCAxMjM0NTYgLS13YXRjaCAtLWRlYnVnLW9ubHlcblxcYFxcYFxcYFxuXG5cXGBcXGBcXGBcbmNhbmR5IGxvY2FsLXNlcnZlciAtLXJlZGlyZWN0LXRvLWRlYnVnLXNjcmlwdHNcblxcYFxcYFxcYFxuXG4qINCf0LXRgNC10YXQvtC0INC90LAgdXJsIGh0dHA6Ly9sb2NhbGhvc3Q6OTA4MC8xMjM0NTYvZm9ybSAtLSDRgdC+0LfQtNCw0YHRgiDRh9C10YDQvdC+0LLQuNC6INC4INC+0YLQutGA0L7QtdGCINGA0LXQtNCw0LrRgtC+0YBcbiogSW5uZXIg0YfQtdGA0L3QvtCy0LjQutC+0LIg0L3QsNGF0L7QtNC40YLRgdGPINCyINC60LDRgtCw0LvQvtCz0LUgY2FuZHkucmVzb3VyY2VzLy5kYXRhICAgICAgICBcbmAudHJpbSgpLFxuICAgIH1cbik7XG4iXX0=
144
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlciIsInJlcXVpcmUiLCJfQ29tbW9uT3B0aW9uRGVmaW50aW9ucyIsImRldkJ1aWxkQ29tbWFuZERlZmluaXRpb24iLCJjb21tYW5kRGVmaW5pdGlvbiIsIm9wdGlvbnNEZWZpbml0aW9uIiwiYWxpYXMiLCJuYW1lIiwiZGVmYXVsdFZhbHVlIiwid2F0Y2giLCJwYXJzZSIsImlucHV0IiwiZG9lc05vdFJlcXVpcmVWYWx1ZSIsImRlc2NyaXB0aW9uIiwiZm9ybUdsb2JzIiwiZGVmYXVsdE9wdGlvbiIsIm11bHRpcGxlIiwic2tpcEdlbmVyYXRpb24iLCJza2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZyIsImNvbnRpbnVlT25FcnJvciIsImJ1aWxkRGVidWdPbmx5IiwiZGV2TW9kZU9wdGlvbiIsImxvZ1ZlcmJvc2l0eU9wdGlvbiIsImRldGFpbGVkRGVzY3JpcHRpb24iLCJ0cmltIiwiZXhhbXBsZXMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0RldkJ1aWxkL0RldkJ1aWxkT3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21tYW5kRGVmaW5pdGlvbiwgb3B0aW9uc0RlZmluaXRpb24gfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9PcHRpb25zL0NvbW1hbmRCYXNlZE9wdGlvbnNQYXJzZXJcIjtcbmltcG9ydCB7IENvbW1vbk9wdGlvbnMgfSBmcm9tIFwiLi4vQ29tbW9uT3B0aW9ucy9Db21tb25PcHRpb25zXCI7XG5pbXBvcnQgeyBkZXZNb2RlT3B0aW9uLCBsb2dWZXJib3NpdHlPcHRpb24gfSBmcm9tIFwiLi4vQ29tbW9uT3B0aW9ucy9Db21tb25PcHRpb25EZWZpbnRpb25zXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV2ZWxvcG1lbnRCdWlsZE9wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zIHtcbiAgICB3YXRjaDogYm9vbGVhbjtcbiAgICBmb3JtR2xvYnM6IHN0cmluZ1tdO1xuICAgIHNraXBHZW5lcmF0aW9uOiBib29sZWFuO1xuICAgIGJ1aWxkRGVidWdPbmx5OiBib29sZWFuO1xuICAgIHNraXBHZW5lcmF0ZWRDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuO1xuICAgIGNvbnRpbnVlT25FcnJvcjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGRldkJ1aWxkQ29tbWFuZERlZmluaXRpb24gPSBjb21tYW5kRGVmaW5pdGlvbjxcImRldi1idWlsZFwiLCBEZXZlbG9wbWVudEJ1aWxkT3B0aW9ucz4oXG4gICAgXCJkZXYtYnVpbGRcIixcbiAgICBcImRldi1idWlsZFwiLFxuICAgIG9wdGlvbnNEZWZpbml0aW9uKFxuICAgICAgICB7XG4gICAgICAgICAgICBhbGlhczogXCJ3XCIsXG4gICAgICAgICAgICBuYW1lOiBcIndhdGNoXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgd2F0Y2g6IGZhbHNlIH0sXG4gICAgICAgICAgICBwYXJzZTogaW5wdXQgPT4gKHsgd2F0Y2g6IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwiV2F0Y2gt0YDQtdC20LjQvC4g0JLRi9C/0L7Qu9C90Y/QtdGCINGB0LHQvtGA0LrRgyDRhNC+0YDQvCwg0LAg0LfQsNGC0LXQvCDQv9C10YDQtdGB0L7QsdC40YDQsNC10YIg0L/RgNC4INC40LfQvNC10L3QtdC90LjRj9GFLiDQkiDRgtC+0Lwg0YfQuNGB0LvQtSDQtNCy0LjQttC60LAsINCz0LXQvdC10YDQsNGC0L7RgNCwINC4INGB0YLQsNGC0LjRh9C10YHQutC40YUg0YDQtdGB0YPRgNGB0L7Qsi5cIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgYWxpYXM6IFwiZ1wiLFxuICAgICAgICAgICAgbmFtZTogXCJnZnZzXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgZm9ybUdsb2JzOiBbXSB9LFxuICAgICAgICAgICAgcGFyc2U6IChpbnB1dDogc3RyaW5nW10pID0+ICh7IGZvcm1HbG9iczogaW5wdXQgfSksXG4gICAgICAgICAgICBkZWZhdWx0T3B0aW9uOiB0cnVlLFxuICAgICAgICAgICAgbXVsdGlwbGU6IHRydWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCLQntC00L3QsCDQuNC70Lgg0L3QtdGB0LrQvtC70YzQutC+IEdGViDQuNC70LggR0ZWLdC80LDRgdC+0Log0LTQu9GPINC/0LXRgNC10YHQvtCx0YDQutC4LlwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBhbGlhczogXCJuXCIsXG4gICAgICAgICAgICBuYW1lOiBcInNraXAtZ2VuZXJhdGlvblwiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IHNraXBHZW5lcmF0aW9uOiBmYWxzZSB9LFxuICAgICAgICAgICAgcGFyc2U6IChpbnB1dDogYm9vbGVhbikgPT4gKHsgc2tpcEdlbmVyYXRpb246IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0J3QtSDQstGL0L/QvtC70L3Rj9GC0Ywg0LPQtdC90LDRgNGG0LjRjiDRhNC+0YDQvNGLINC40Lcg0YHQsNGF0LDRgNCwLCDQsdGD0LTQtdGCINCy0YvQv9C+0LvQvdGP0YLRjNGB0Y8g0YLQvtC70YzQutC+INC60L7QvNC/0LjQu9GP0YbQuNGPINC40YHRhdC+0LTQvdC40LrQvtCyINGE0L7RgNC80Ysg0LjQtyDQutCw0YLQsNC70L7Qs9CwINGE0L7RgNC8LlwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIm5vLXJlZm9ybWF0XCIsXG4gICAgICAgICAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IHNraXBHZW5lcmF0ZWRDb2RlUmVmb3JtYXR0aW5nOiBmYWxzZSB9LFxuICAgICAgICAgICAgcGFyc2U6IChpbnB1dDogYm9vbGVhbikgPT4gKHsgc2tpcEdlbmVyYXRlZENvZGVSZWZvcm1hdHRpbmc6IGlucHV0IH0pLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgXCLQntGC0LvRjtGH0LDQtdGCINGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC40LUg0LPQtdC90LXRgNC40YDRg9C10LzQvtCz0L4g0LrQvtC00LAuINCg0LDQsdC+0YLQsNC10YIsINGC0L7Qu9GM0LrQviDQtdGB0LvQuCDQstC10YDRgdC40Y8g0LPQtdC90LXRgNCw0YLQvtGA0LAg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINGN0YLRgyDQvtC/0YbQuNGOLiDQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LTQu9GPINGD0YHQutC+0YDQtdC90LjRjyDRgdCx0L7RgNC60Lgg0YTQvtGA0LwuXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiY29udGludWUtb24tZXJyb3JcIixcbiAgICAgICAgICAgIGRvZXNOb3RSZXF1aXJlVmFsdWU6IHRydWUsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgY29udGludWVPbkVycm9yOiBmYWxzZSB9LFxuICAgICAgICAgICAgcGFyc2U6IChpbnB1dDogYm9vbGVhbikgPT4gKHsgY29udGludWVPbkVycm9yOiBpbnB1dCB9KSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcItCd0LUg0LPQtdC90LXRgNC40YDRg9C10YIg0LrQvtC0INC+0YjQuNCx0LrQuCDQsiDRgdC70YPRh9Cw0LUg0L7RiNC40LHQutC4INC/0YDQuCDQs9C10L3QtdGA0LDRhtC40Lgg0LjQu9C4INC60L7QvNC/0LjQu9GP0YbQuNC4INGE0L7RgNC80YsuXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiBcImRcIixcbiAgICAgICAgICAgIG5hbWU6IFwiZGVidWctb25seVwiLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IGJ1aWxkRGVidWdPbmx5OiBmYWxzZSB9LFxuICAgICAgICAgICAgcGFyc2U6IChpbnB1dDogYm9vbGVhbikgPT4gKHsgYnVpbGREZWJ1Z09ubHk6IGlucHV0IH0pLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgIFwi0KHQvtCx0LjRgNCw0YLRjCDRgtC+0LvRjNC60L4gZGVidWct0YHQsdC+0YDQutC4INC00LLQuNC20LrQsCDQuCDRhNC+0YDQvC4gXCIgK1xuICAgICAgICAgICAgICAgIFwi0JLQndCY0JzQkNCd0JjQlTog0L/RgNC4INGA0LDQsdC+0YLQtSDQsiDQsdGA0LDRg9C30LXRgNC1INC90LXQvtCx0YXQvtC00LjQvNC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQv9Cw0YDQsNC80LXRgtGAID9kZWJ1Zz10cnVlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIGRldk1vZGVPcHRpb24sXG4gICAgICAgIGxvZ1ZlcmJvc2l0eU9wdGlvblxuICAgICksXG4gICAge1xuICAgICAgICBkZXNjcmlwdGlvbjogXCLQktGL0L/QvtC70L3Rj9C10YIg0YHQsdC+0YDQutGDINGE0L7RgNC8INGBINC40L/QvtC70YzQt9C+0LLQsNC90LjQtdC8INC70L7QutCw0LvRjNC90YvRhSDQuNGB0YXQvtC00L3QuNC60L7QsiDQtNCy0LjQttC60LAg0Lgg0LPQtdC90LXRgNCw0YLQvtGA0LAuXCIsXG4gICAgICAgIGRldGFpbGVkRGVzY3JpcHRpb246IGBcbtCS0YvQv9C+0LvQvdGP0LXRgiDRgdCx0L7RgNC60YMg0YTQvtGA0Lwg0YEg0LjQv9C+0LvRjNC30L7QstCw0L3QuNC10Lwg0LvQvtC60LDQu9GM0L3Ri9GFINC40YHRhdC+0LTQvdC40LrQvtCyINC00LLQuNC20LrQsCDQuCDQs9C10L3QtdGA0LDRgtC+0YDQsC5cblxuIyMjICoq0JLQkNCW0J3QnioqXG7QrdGC0LAg0LrQvtC80LDQvdC00LAg0YHQvtCx0LjRgNCw0LXRgiDQstGL0L/QvtC70L3Rj9C10YIg0YHQsdC+0YDQutGDINGE0L7RgNC8INCyINC60LDRgtCw0LvQvtCzINGA0LXRgdGD0YDRgdC+0LIsINC90L4g0YDQtdC30YPQu9GM0YLQsNGC0Ysg0YHQsdC+0YDQutC4INC90LUg0Y/QstC70Y/QtdGO0YLRgdGPINC60L7RgNGA0LXQutGC0L3Ri9C80Lgg0LTQu9GPINCy0YvQutCw0YLRi9Cy0LDQvdC40Y8g0LIg0L/RgNC+0LTQsNC60YjQtdC9LlxuYC50cmltKCksXG4gICAgICAgIGV4YW1wbGVzOiBgXG4jIyMg0J3QsNC/0LjRgdCw0L3QuNC1INC4INC/0YDQvtGB0LzQvtGC0YAg0YTQvtGA0Lxcblxu0JIg0LrQsNGC0LDQu9C+0LPQtSBjYW5keS5mYXJtINC30LDQv9GD0YHRgtC40YLRjCDQutC+0LzQsNC90LTRiyBcblxuXFxgXFxgXFxgXG5jYW5keSBidWlsZCAxMjM0NTYgLXdcblxcYFxcYFxcYFxuXG5cXGBcXGBcXGBcbmNhbmR5IGxvY2FsLXNlcnZlclxuXFxgXFxgXFxgXG5cbiog0J/QtdGA0LXRhdC+0LQg0L3QsCB1cmwgaHR0cDovL2xvY2FsaG9zdDo5MDgwLzEyMzQ1Ni9mb3JtIC0tINGB0L7Qt9C00LDRgdGCINGH0LXRgNC90L7QstC40Log0Lgg0L7RgtC60YDQvtC10YIg0YDQtdC00LDQutGC0L7RgFxuKiBJbm5lciDRh9C10YDQvdC+0LLQuNC60L7QsiDQvdCw0YXQvtC00LjRgtGB0Y8g0LIg0LrQsNGC0LDQu9C+0LPQtSBjYW5keS5yZXNvdXJjZXMvLmRhdGFcblxuIyMjINCh0LHQvtGA0LrQsCDRhNC+0YDQvNGLINC00LvRjyDRgNC10LvQuNC30LBcblxuXFxgXFxgXFxgXG5jYW5keSBidWlsZCAxMjM0NTZcblxcYFxcYFxcYFxuXG4jIyMg0J/QtdGA0LXQutC70Y7Rh9C10L3QuNC1INC4INGB0LHQvtGA0LrQsCDRhNC+0YDQvNGLINC90LAg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0L/QvtGB0LvQtdC00L3QtdC5INGB0YLQsNCx0LjQu9GM0L3QvtC5IFxuXG5cXGBcXGBcXGBcbmNhbmR5IGJ1aWxkIDEyMzQ1NiAtLXVzZS1sYXN0LXN0YWJsZS12ZXJzaW9uXG5cXGBcXGBcXGBcblxu0JfQsNGC0LXQvCDQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQv9GD0L3QutGCICfQndCw0L/QuNGB0LDQvdC40LUg0Lgg0L/RgNC+0YHQvNC+0YLRgCDRhNC+0YDQvCdcblxuIyMjINCe0YLQu9Cw0LTQutCwINGE0L7RgNC8INGBINC70L7QutCw0LvRjNC90YvQvCDQtNCy0LjQttC60L7QvFxuXG7QkiDQutCw0YLQsNC70L7Qs9C1IGNhbmR5LmZhcm0g0LfQsNC/0YPRgdGC0LjRgtGMINC60L7QvNCw0L3QtNGLIFxuXG5cXGBcXGBcXGBcbmNhbmR5IGRldi1idWlsZCAxMjM0NTYgLXdcblxcYFxcYFxcYFxuXG5cXGBcXGBcXGBcbmNhbmR5IGxvY2FsLXNlcnZlclxuXFxgXFxgXFxgXG5cbiog0J/QtdGA0LXRhdC+0LQg0L3QsCB1cmwgaHR0cDovL2xvY2FsaG9zdDo5MDgwLzEyMzQ1Ni9mb3JtIC0tINGB0L7Qt9C00LDRgdGCINGH0LXRgNC90L7QstC40Log0Lgg0L7RgtC60YDQvtC10YIg0YDQtdC00LDQutGC0L7RgFxuKiBJbm5lciDRh9C10YDQvdC+0LLQuNC60L7QsiDQvdCw0YXQvtC00LjRgtGB0Y8g0LIg0LrQsNGC0LDQu9C+0LPQtSBjYW5keS5yZXNvdXJjZXMvLmRhdGFcblxuIyMjINCg0LDQt9GA0LDQsdC+0YLQutCwINC4INC+0YLQu9Cw0LTQutCwINC00LLQuNC20LrQsFxuXG7QkiDRjdGC0L7QvCDRgdC70YPRh9Cw0LUg0YPQtNC+0LHQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgdCx0L7RgNC60YMg0YLQvtC70YzQutC+INC+0YLQu9Cw0LTQvtGH0L3Ri9GFINGB0LrRgNC40L/RgtC+0LIuXG5cblxcYFxcYFxcYFxuY2FuZHkgZGV2LWJ1aWxkIDEyMzQ1NiAtLXdhdGNoIC0tZGVidWctb25seVxuXFxgXFxgXFxgXG5cblxcYFxcYFxcYFxuY2FuZHkgbG9jYWwtc2VydmVyIC0tcmVkaXJlY3QtdG8tZGVidWctc2NyaXB0c1xuXFxgXFxgXFxgXG5cbiog0J/QtdGA0LXRhdC+0LQg0L3QsCB1cmwgaHR0cDovL2xvY2FsaG9zdDo5MDgwLzEyMzQ1Ni9mb3JtIC0tINGB0L7Qt9C00LDRgdGCINGH0LXRgNC90L7QstC40Log0Lgg0L7RgtC60YDQvtC10YIg0YDQtdC00LDQutGC0L7RgFxuKiBJbm5lciDRh9C10YDQvdC+0LLQuNC60L7QsiDQvdCw0YXQvtC00LjRgtGB0Y8g0LIg0LrQsNGC0LDQu9C+0LPQtSBjYW5keS5yZXNvdXJjZXMvLmRhdGEgICAgICAgIFxuYC50cmltKCksXG4gICAgfVxuKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsMEJBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLHVCQUFBLEdBQUFELE9BQUE7QUFXTyxNQUFNRSx5QkFBeUIsR0FBRyxJQUFBQyw0Q0FBaUIsRUFDdEQsV0FBVyxFQUNYLFdBQVcsRUFDWCxJQUFBQyw0Q0FBaUIsRUFDYjtFQUNJQyxLQUFLLEVBQUUsR0FBRztFQUNWQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxZQUFZLEVBQUU7SUFBRUMsS0FBSyxFQUFFO0VBQU0sQ0FBQztFQUM5QkMsS0FBSyxFQUFFQyxLQUFLLEtBQUs7SUFBRUYsS0FBSyxFQUFFRTtFQUFNLENBQUMsQ0FBQztFQUNsQ0MsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QkMsV0FBVyxFQUNQO0FBQ1IsQ0FBQyxFQUNEO0VBQ0lQLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLElBQUksRUFBRSxNQUFNO0VBQ1pDLFlBQVksRUFBRTtJQUFFTSxTQUFTLEVBQUU7RUFBRyxDQUFDO0VBQy9CSixLQUFLLEVBQUdDLEtBQWUsS0FBTTtJQUFFRyxTQUFTLEVBQUVIO0VBQU0sQ0FBQyxDQUFDO0VBQ2xESSxhQUFhLEVBQUUsSUFBSTtFQUNuQkMsUUFBUSxFQUFFLElBQUk7RUFDZEgsV0FBVyxFQUFFO0FBQ2pCLENBQUMsRUFDRDtFQUNJUCxLQUFLLEVBQUUsR0FBRztFQUNWQyxJQUFJLEVBQUUsaUJBQWlCO0VBQ3ZCQyxZQUFZLEVBQUU7SUFBRVMsY0FBYyxFQUFFO0VBQU0sQ0FBQztFQUN2Q1AsS0FBSyxFQUFHQyxLQUFjLEtBQU07SUFBRU0sY0FBYyxFQUFFTjtFQUFNLENBQUMsQ0FBQztFQUN0REMsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QkMsV0FBVyxFQUNQO0FBQ1IsQ0FBQyxFQUNEO0VBQ0lOLElBQUksRUFBRSxhQUFhO0VBQ25CSyxtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCSixZQUFZLEVBQUU7SUFBRVUsNkJBQTZCLEVBQUU7RUFBTSxDQUFDO0VBQ3REUixLQUFLLEVBQUdDLEtBQWMsS0FBTTtJQUFFTyw2QkFBNkIsRUFBRVA7RUFBTSxDQUFDLENBQUM7RUFDckVFLFdBQVcsRUFDUDtBQUNSLENBQUMsRUFDRDtFQUNJTixJQUFJLEVBQUUsbUJBQW1CO0VBQ3pCSyxtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCSixZQUFZLEVBQUU7SUFBRVcsZUFBZSxFQUFFO0VBQU0sQ0FBQztFQUN4Q1QsS0FBSyxFQUFHQyxLQUFjLEtBQU07SUFBRVEsZUFBZSxFQUFFUjtFQUFNLENBQUMsQ0FBQztFQUN2REUsV0FBVyxFQUFFO0FBQ2pCLENBQUMsRUFDRDtFQUNJUCxLQUFLLEVBQUUsR0FBRztFQUNWQyxJQUFJLEVBQUUsWUFBWTtFQUNsQkMsWUFBWSxFQUFFO0lBQUVZLGNBQWMsRUFBRTtFQUFNLENBQUM7RUFDdkNWLEtBQUssRUFBR0MsS0FBYyxLQUFNO0lBQUVTLGNBQWMsRUFBRVQ7RUFBTSxDQUFDLENBQUM7RUFDdERDLG1CQUFtQixFQUFFLElBQUk7RUFDekJDLFdBQVcsRUFDUCw4Q0FBOEMsR0FDOUM7QUFDUixDQUFDLEVBQ0RRLHFDQUFhLEVBQ2JDLDBDQUNKLENBQUMsRUFDRDtFQUNJVCxXQUFXLEVBQUUsaUZBQWlGO0VBQzlGVSxtQkFBbUIsRUFBRztBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLENBQUM7RUFDQUMsUUFBUSxFQUFHO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxDQUFDRCxJQUFJLENBQUM7QUFDSCxDQUNKLENBQUM7QUFBQ0UsT0FBQSxDQUFBdkIseUJBQUEsR0FBQUEseUJBQUEifQ==
@@ -1,83 +1,62 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.runDevBuild = runDevBuild;
9
-
10
8
  var _path = _interopRequireDefault(require("path"));
11
-
12
9
  var _chalk = _interopRequireDefault(require("chalk"));
13
-
14
10
  var _BuildClientJsTask = require("../../BuildTasks/ClientJS/BuildClientJsTask");
15
-
16
11
  var _BuildLocalEngineTask = require("../../BuildTasks/Engine/BuildLocalEngineTask");
17
-
18
12
  var _EngineStructureUtils = require("../../BuildTasks/EngineStructureUtils");
19
-
20
13
  var _CompileForm = require("../../BuildTasks/Form/CompileForm");
21
-
22
14
  var _GenerateForm = require("../../BuildTasks/Form/GenerateForm");
23
-
24
15
  var _WriteFLangNormalizationFiles = require("../../BuildTasks/Form/WriteFLangNormalizationFiles");
25
-
26
16
  var _FSTask = require("../../BuildTasks/FSTask");
27
-
28
17
  var _AcquireFormGenerator = require("../../BuildTasks/Generator/AcquireFormGenerator");
29
-
30
18
  var _PublishedVersionUtils = require("../../BuildTasks/PublishedVersionUtils");
31
-
32
19
  var _ResolveFormInfo = require("../../BuildTasks/ResolveFormInfo");
33
-
34
20
  var _WriteFormMeta = require("../../BuildTasks/WriteFormMeta");
35
-
36
21
  var _FormGlobsUtils = require("../../Commons/FormGlobsUtils");
37
-
38
22
  var _StaticLogger = require("../../Commons/Logging/StaticLogger");
39
-
40
23
  var _Observe = require("../../Commons/TasksCore/Observe");
41
-
42
24
  var _TimingUtils = require("../../Commons/TimingUtils");
43
-
44
25
  var _WriteAttachmentPathFiles = require("../../BuildTasks/Form/WriteAttachmentPathFiles");
45
-
26
+ var _getRngSchemaFilename = require("../../../../Common/getRngSchemaFilename");
46
27
  async function runDevBuild(context, options, engineDirectory, resourcesDirectory, farmDirectory, candyModulesDirectory, hlFarmDirectoryPath) {
47
28
  const devBuildOptions = options;
48
29
  const engineWebpackConfigTask = await (0, _EngineStructureUtils.createEngineWebpackConfigTask)(engineDirectory);
49
30
  const buildEngineChain = engineWebpackConfigTask.chainWith(p => new _BuildLocalEngineTask.BuildLocalEngineTask(p, resourcesDirectory, options.buildDebugOnly));
50
31
  const clientWebpackConfigTask = await (0, _EngineStructureUtils.createClientWebpackConfigTask)(engineDirectory);
51
32
  const buildClientJsChain = clientWebpackConfigTask.chainWith(p => new _BuildClientJsTask.BuildClientJsTask(p, resourcesDirectory));
52
-
53
33
  const staticResourcesChain = _Observe.Observe.files(_path.default.join(__dirname, "..", "..", "StaticFilesForResourcesDir"), "*.js").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("STATICS"), x, _path.default.join(resourcesDirectory, "public", "scripts")));
54
-
55
34
  const pickListsChain = _Observe.Observe.files(_path.default.join(farmDirectory, "picklists"), "*.json").do(x => _FSTask.FSTask.copyRecursively(context.logger.withPrefix("PICKLISTS"), x, _path.default.join(resourcesDirectory, "picklists")));
56
-
57
35
  const formGlobs = await _FormGlobsUtils.FormGlobs.validateGlobs(await _FormGlobsUtils.FormGlobs.resolveSpecifiers(options.formGlobs, farmDirectory), farmDirectory);
58
-
59
36
  const buildFormsChain = _Observe.Observe.directory(_path.default.join(farmDirectory, "forms"), formGlobs).splitToParallelChains(x => x, x => x, gfv => {
60
37
  const formDirPath = _path.default.join(farmDirectory, "forms", gfv);
61
-
62
- return _Observe.Observe.file(_path.default.join(formDirPath, "form.json")).transform(formJsonFile => (0, _ResolveFormInfo.resolveFormInfo)(formJsonFile, formDirPath, engineDirectory)).transform(async x => ({ ...x,
38
+ const formSchemasDirPath = _path.default.join(farmDirectory, "forms", gfv, "schemas");
39
+ const rngSchemaMask = `*${(0, _getRngSchemaFilename.getRngSchemaFilename)(formSchemasDirPath, gfv)}`;
40
+ return _Observe.Observe.file(_path.default.join(formDirPath, "form.json")).transform(formJsonFile => (0, _ResolveFormInfo.resolveFormInfo)(formJsonFile, formDirPath, engineDirectory)).transform(async x => ({
41
+ ...x,
63
42
  generatorSource: (0, _PublishedVersionUtils.resolveLocalGeneratorSource)(engineDirectory),
64
43
  engineSource: (0, _PublishedVersionUtils.resolveLocalEngineSource)(engineDirectory)
65
- })).attach(async fi => (0, _AcquireFormGenerator.generatorFactory)(fi.generatorSource, candyModulesDirectory, false, undefined), async (fi, y) => ({ ...fi,
44
+ })).attach(async fi => (0, _AcquireFormGenerator.generatorFactory)(fi.generatorSource, candyModulesDirectory, false, undefined), async (fi, y) => ({
45
+ ...fi,
66
46
  generator: y
67
- }), async fi => (0, _AcquireFormGenerator.getGeneratorSourceKey)(fi.generatorSource)).attach(async fi => _Observe.Observe.files(fi.formSourcesPath, "../../controls/**/*", "schemas/**/*", "sugar/**/*", "controls/**/*", "autocalc/**/*", "helpers/**/*", "validations/**/*", "localization/**/*")).transform(async fi => ({ ...fi,
47
+ }), async fi => (0, _AcquireFormGenerator.getGeneratorSourceKey)(fi.generatorSource)).attach(async fi => _Observe.Observe.files(fi.formSourcesPath, "../../controls/**/*", "schemas/**/*", "sugar/**/*", "controls/**/*", "autocalc/**/*", "helpers/**/*", "validations/**/*", "localization/**/*")).transform(async fi => ({
48
+ ...fi,
68
49
  dependenciesHash: await fi.generator.getAllDependenciesHash(formDirPath, farmDirectory, hlFarmDirectoryPath)
69
50
  })).do(async fi => {
70
51
  if (options.skipGeneration) {
71
52
  return undefined;
72
53
  }
73
-
74
54
  return (0, _GenerateForm.generateForm)(fi.formSourcesPath, farmDirectory, hlFarmDirectoryPath, fi.generator, undefined, {
75
55
  skipCodeReformatting: options.skipGeneratedCodeReformatting,
76
56
  resourcesHash: fi.dependenciesHash
77
57
  });
78
- }).attach(async fi => _Observe.Observe.files(_path.default.join(formDirPath, "form"), "**/*")).do(fi => (0, _CompileForm.compileForm)(fi.formName, fi.themes, farmDirectory, resourcesDirectory, fi.dependenciesHash, options.buildDebugOnly)).do(fi => (0, _WriteFLangNormalizationFiles.writeFLangNormalizationFiles)(fi.formName, farmDirectory, resourcesDirectory)).do(fi => (0, _WriteAttachmentPathFiles.writeAttachmentPathFiles)(fi.formName, farmDirectory, resourcesDirectory)).do(fi => (0, _WriteFormMeta.writeFormMeta)(resourcesDirectory, gfv, fi.engineSource, fi.dependenciesHash, fi.themes)).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "schemas"), "*.rng.xml").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("SCHEMAS"), x, _path.default.join(resourcesDirectory, "schemas")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "converters"), "*").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("CONVERTERS"), x, _path.default.join(resourcesDirectory, "converters")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "mergers"), "*").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("MERGERS"), x, _path.default.join(resourcesDirectory, "mergers")))).attach(async fi => _Observe.Observe.file(_path.default.join(fi.formSourcesPath, "presentations.json")).do(x => _FSTask.FSTask.copyFile((0, _StaticLogger.getLogger)().withPrefix("PRESENTATIONS"), x, _path.default.join(resourcesDirectory, "presentations", `${gfv}.presentations.json`)))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "normalize"), "*.xml").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("NORMALIZE"), x, _path.default.join(resourcesDirectory, "normalize")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "patch"), "*.xslt").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("PATCH"), x, _path.default.join(resourcesDirectory, "patch")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "map"), "*.xml").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("MAP"), x, _path.default.join(resourcesDirectory, "map")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "unmap"), "*.xml").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("UNMAP"), x, _path.default.join(resourcesDirectory, "unmap"))));
58
+ }).attach(async fi => _Observe.Observe.files(_path.default.join(formDirPath, "form"), "**/*")).do(fi => (0, _CompileForm.compileForm)(fi.formName, fi.themes, farmDirectory, resourcesDirectory, fi.dependenciesHash, options.buildDebugOnly)).do(fi => (0, _WriteFLangNormalizationFiles.writeFLangNormalizationFiles)(fi.formName, farmDirectory, resourcesDirectory)).do(fi => (0, _WriteAttachmentPathFiles.writeAttachmentPathFiles)(fi.formName, farmDirectory, resourcesDirectory)).do(fi => (0, _WriteFormMeta.writeFormMeta)(resourcesDirectory, gfv, fi.engineSource, fi.dependenciesHash, fi.themes)).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "schemas"), rngSchemaMask).do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("SCHEMAS"), x, _path.default.join(resourcesDirectory, "schemas")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "converters"), "*").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("CONVERTERS"), x, _path.default.join(resourcesDirectory, "converters")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "mergers"), "*").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("MERGERS"), x, _path.default.join(resourcesDirectory, "mergers")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "normalize"), "*.xml").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("NORMALIZE"), x, _path.default.join(resourcesDirectory, "normalize")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "patch"), "*.xslt").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("PATCH"), x, _path.default.join(resourcesDirectory, "patch")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "map"), "*.xml").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("MAP"), x, _path.default.join(resourcesDirectory, "map")))).attach(async fi => _Observe.Observe.files(_path.default.join(fi.formSourcesPath, "unmap"), "*.xml").do(x => _FSTask.FSTask.copyRecursively((0, _StaticLogger.getLogger)().withPrefix("UNMAP"), x, _path.default.join(resourcesDirectory, "unmap"))));
79
59
  });
80
-
81
60
  if (devBuildOptions.watch) {
82
61
  const stopObserve1 = await buildEngineChain.observe();
83
62
  const stopObserve2 = await buildClientJsChain.observe();
@@ -104,9 +83,9 @@ async function runDevBuild(context, options, engineDirectory, resourcesDirectory
104
83
  }
105
84
  }
106
85
  })()]);
107
- const totalTime = Date.now() - startDate; // eslint-disable-next-line no-console
108
-
86
+ const totalTime = Date.now() - startDate;
87
+ // eslint-disable-next-line no-console
109
88
  console.log(`${_chalk.default.greenBright("Build success")} Total time: ${(0, _TimingUtils.printTime)(totalTime)}`);
110
89
  }
111
90
  }
112
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9EZXZCdWlsZC9SdW5EZXZCdWlsZC50cyJdLCJuYW1lcyI6WyJydW5EZXZCdWlsZCIsImNvbnRleHQiLCJvcHRpb25zIiwiZW5naW5lRGlyZWN0b3J5IiwicmVzb3VyY2VzRGlyZWN0b3J5IiwiZmFybURpcmVjdG9yeSIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsImhsRmFybURpcmVjdG9yeVBhdGgiLCJkZXZCdWlsZE9wdGlvbnMiLCJlbmdpbmVXZWJwYWNrQ29uZmlnVGFzayIsImJ1aWxkRW5naW5lQ2hhaW4iLCJjaGFpbldpdGgiLCJwIiwiQnVpbGRMb2NhbEVuZ2luZVRhc2siLCJidWlsZERlYnVnT25seSIsImNsaWVudFdlYnBhY2tDb25maWdUYXNrIiwiYnVpbGRDbGllbnRKc0NoYWluIiwiQnVpbGRDbGllbnRKc1Rhc2siLCJzdGF0aWNSZXNvdXJjZXNDaGFpbiIsIk9ic2VydmUiLCJmaWxlcyIsInBhdGgiLCJqb2luIiwiX19kaXJuYW1lIiwiZG8iLCJ4IiwiRlNUYXNrIiwiY29weVJlY3Vyc2l2ZWx5Iiwid2l0aFByZWZpeCIsInBpY2tMaXN0c0NoYWluIiwibG9nZ2VyIiwiZm9ybUdsb2JzIiwiRm9ybUdsb2JzIiwidmFsaWRhdGVHbG9icyIsInJlc29sdmVTcGVjaWZpZXJzIiwiYnVpbGRGb3Jtc0NoYWluIiwiZGlyZWN0b3J5Iiwic3BsaXRUb1BhcmFsbGVsQ2hhaW5zIiwiZ2Z2IiwiZm9ybURpclBhdGgiLCJmaWxlIiwidHJhbnNmb3JtIiwiZm9ybUpzb25GaWxlIiwiZ2VuZXJhdG9yU291cmNlIiwiZW5naW5lU291cmNlIiwiYXR0YWNoIiwiZmkiLCJ1bmRlZmluZWQiLCJ5IiwiZ2VuZXJhdG9yIiwiZm9ybVNvdXJjZXNQYXRoIiwiZGVwZW5kZW5jaWVzSGFzaCIsImdldEFsbERlcGVuZGVuY2llc0hhc2giLCJza2lwR2VuZXJhdGlvbiIsInNraXBDb2RlUmVmb3JtYXR0aW5nIiwic2tpcEdlbmVyYXRlZENvZGVSZWZvcm1hdHRpbmciLCJyZXNvdXJjZXNIYXNoIiwiZm9ybU5hbWUiLCJ0aGVtZXMiLCJjb3B5RmlsZSIsIndhdGNoIiwic3RvcE9ic2VydmUxIiwib2JzZXJ2ZSIsInN0b3BPYnNlcnZlMiIsInN0b3BPYnNlcnZlMyIsInN0b3BPYnNlcnZlNCIsInN0b3BPYnNlcnZlNSIsIndhaXRGb3JFeGl0Iiwic3RhcnREYXRlIiwiRGF0ZSIsIm5vdyIsIlByb21pc2UiLCJhbGwiLCJjdXJyZW50VmFsdWUiLCJlIiwiY29udGludWVPbkVycm9yIiwiZXJyb3IiLCJ0b3RhbFRpbWUiLCJjb25zb2xlIiwibG9nIiwiY2hhbGsiLCJncmVlbkJyaWdodCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSU8sZUFBZUEsV0FBZixDQUNIQyxPQURHLEVBRUhDLE9BRkcsRUFHSEMsZUFIRyxFQUlIQyxrQkFKRyxFQUtIQyxhQUxHLEVBTUhDLHFCQU5HLEVBT0hDLG1CQVBHLEVBUVU7QUFDYixRQUFNQyxlQUFlLEdBQUdOLE9BQXhCO0FBRUEsUUFBTU8sdUJBQXVCLEdBQUcsTUFBTSx5REFBOEJOLGVBQTlCLENBQXRDO0FBQ0EsUUFBTU8sZ0JBQWdCLEdBQUdELHVCQUF1QixDQUFDRSxTQUF4QixDQUNyQkMsQ0FBQyxJQUFJLElBQUlDLDBDQUFKLENBQXlCRCxDQUF6QixFQUE0QlIsa0JBQTVCLEVBQWdERixPQUFPLENBQUNZLGNBQXhELENBRGdCLENBQXpCO0FBSUEsUUFBTUMsdUJBQXVCLEdBQUcsTUFBTSx5REFBOEJaLGVBQTlCLENBQXRDO0FBQ0EsUUFBTWEsa0JBQWtCLEdBQUdELHVCQUF1QixDQUFDSixTQUF4QixDQUFrQ0MsQ0FBQyxJQUFJLElBQUlLLG9DQUFKLENBQXNCTCxDQUF0QixFQUF5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T0FBTyxDQUFDQyxHQUFSLENBQVksQ0FDZDlELGdCQUFnQixDQUFDK0QsWUFESCxFQUVkekQsa0JBQWtCLENBQUN5RCxZQUZMLEVBR2R2RCxvQkFBb0IsQ0FBQ3VELFlBSFAsRUFJZCxDQUFDLFlBQVk7QUFDVCxVQUFJO0FBQ0EsY0FBTTVDLGNBQWMsQ0FBQzRDLFlBQXJCO0FBQ0EsY0FBTXRDLGVBQWUsQ0FBQ3NDLFlBQXRCO0FBQ0gsT0FIRCxDQUdFLE9BQU9DLENBQVAsRUFBVTtBQUNSLFlBQUl4RSxPQUFPLENBQUN5RSxlQUFaLEVBQTZCO0FBQ3pCMUUsVUFBQUEsT0FBTyxDQUFDNkIsTUFBUixDQUFlOEMsS0FBZixDQUFxQkYsQ0FBckI7QUFDSCxTQUZELE1BRU87QUFDSCxnQkFBTUEsQ0FBTjtBQUNIO0FBQ0o7QUFDSixLQVhELEdBSmMsQ0FBWixDQUFOO0FBaUJBLFVBQU1HLFNBQVMsR0FBR1IsSUFBSSxDQUFDQyxHQUFMLEtBQWFGLFNBQS9CLENBbkJHLENBb0JIOztBQUNBVSxJQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxHQUFFQyxlQUFNQyxXQUFOLENBQWtCLGVBQWxCLENBQW1DLGdCQUFlLDRCQUFVSixTQUFWLENBQXFCLEVBQXRGO0FBQ0g7QUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCBjaGFsayBmcm9tIFwiY2hhbGtcIjtcblxuaW1wb3J0IHsgQnVpbGRDbGllbnRKc1Rhc2sgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9DbGllbnRKUy9CdWlsZENsaWVudEpzVGFza1wiO1xuaW1wb3J0IHsgQnVpbGRMb2NhbEVuZ2luZVRhc2sgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9FbmdpbmUvQnVpbGRMb2NhbEVuZ2luZVRhc2tcIjtcbmltcG9ydCB7IGNyZWF0ZUNsaWVudFdlYnBhY2tDb25maWdUYXNrLCBjcmVhdGVFbmdpbmVXZWJwYWNrQ29uZmlnVGFzayB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL0VuZ2luZVN0cnVjdHVyZVV0aWxzXCI7XG5pbXBvcnQgeyBjb21waWxlRm9ybSB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL0Zvcm0vQ29tcGlsZUZvcm1cIjtcbmltcG9ydCB7IGdlbmVyYXRlRm9ybSB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL0Zvcm0vR2VuZXJhdGVGb3JtXCI7XG5pbXBvcnQgeyB3cml0ZUZMYW5nTm9ybWFsaXphdGlvbkZpbGVzIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvRm9ybS9Xcml0ZUZMYW5nTm9ybWFsaXphdGlvbkZpbGVzXCI7XG5pbXBvcnQgeyBGU1Rhc2sgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9GU1Rhc2tcIjtcbmltcG9ydCB7IGdlbmVyYXRvckZhY3RvcnksIGdldEdlbmVyYXRvclNvdXJjZUtleSB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL0dlbmVyYXRvci9BY3F1aXJlRm9ybUdlbmVyYXRvclwiO1xuaW1wb3J0IHsgcmVzb2x2ZUxvY2FsRW5naW5lU291cmNlLCByZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9QdWJsaXNoZWRWZXJzaW9uVXRpbHNcIjtcbmltcG9ydCB7IHJlc29sdmVGb3JtSW5mbyB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1Jlc29sdmVGb3JtSW5mb1wiO1xuaW1wb3J0IHsgd3JpdGVGb3JtTWV0YSB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1dyaXRlRm9ybU1ldGFcIjtcbmltcG9ydCB7IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Db25zb2xlQXBwbGljYXRpb24vQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dFwiO1xuaW1wb3J0IHsgRm9ybUdsb2JzIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvRm9ybUdsb2JzVXRpbHNcIjtcbmltcG9ydCB7IGdldExvZ2dlciB9IGZyb20gXCIuLi8uLi9Db21tb25zL0xvZ2dpbmcvU3RhdGljTG9nZ2VyXCI7XG5pbXBvcnQgeyBPYnNlcnZlIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL09ic2VydmVcIjtcbmltcG9ydCB7IHByaW50VGltZSB9IGZyb20gXCIuLi8uLi9Db21tb25zL1RpbWluZ1V0aWxzXCI7XG5pbXBvcnQgeyB3cml0ZUF0dGFjaG1lbnRQYXRoRmlsZXMgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9Gb3JtL1dyaXRlQXR0YWNobWVudFBhdGhGaWxlc1wiO1xuXG5pbXBvcnQgeyBEZXZlbG9wbWVudEJ1aWxkT3B0aW9ucyB9IGZyb20gXCIuL0RldkJ1aWxkT3B0aW9uc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuRGV2QnVpbGQoXG4gICAgY29udGV4dDogQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCxcbiAgICBvcHRpb25zOiBEZXZlbG9wbWVudEJ1aWxkT3B0aW9ucyxcbiAgICBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICByZXNvdXJjZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgaGxGYXJtRGlyZWN0b3J5UGF0aDogc3RyaW5nXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBkZXZCdWlsZE9wdGlvbnMgPSBvcHRpb25zO1xuXG4gICAgY29uc3QgZW5naW5lV2VicGFja0NvbmZpZ1Rhc2sgPSBhd2FpdCBjcmVhdGVFbmdpbmVXZWJwYWNrQ29uZmlnVGFzayhlbmdpbmVEaXJlY3RvcnkpO1xuICAgIGNvbnN0IGJ1aWxkRW5naW5lQ2hhaW4gPSBlbmdpbmVXZWJwYWNrQ29uZmlnVGFzay5jaGFpbldpdGgoXG4gICAgICAgIHAgPT4gbmV3IEJ1aWxkTG9jYWxFbmdpbmVUYXNrKHAsIHJlc291cmNlc0RpcmVjdG9yeSwgb3B0aW9ucy5idWlsZERlYnVnT25seSlcbiAgICApO1xuXG4gICAgY29uc3QgY2xpZW50V2VicGFja0NvbmZpZ1Rhc2sgPSBhd2FpdCBjcmVhdGVDbGllbnRXZWJwYWNrQ29uZmlnVGFzayhlbmdpbmVEaXJlY3RvcnkpO1xuICAgIGNvbnN0IGJ1aWxkQ2xpZW50SnNDaGFpbiA9IGNsaWVudFdlYnBhY2tDb25maWdUYXNrLmNoYWluV2l0aChwID0+IG5ldyBCdWlsZENsaWVudEpzVGFzayhwLCByZXNvdXJjZXNEaXJlY3RvcnkpKTtcblxuICAgIGNvbnN0IHN0YXRpY1Jlc291cmNlc0NoYWluID0gT2JzZXJ2ZS5maWxlcyhcbiAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwiU3RhdGljRmlsZXNGb3JSZXNvdXJjZXNEaXJcIiksXG4gICAgICAgIFwiKi5qc1wiXG4gICAgKS5kbyh4ID0+XG4gICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIlNUQVRJQ1NcIiksIHgsIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwicHVibGljXCIsIFwic2NyaXB0c1wiKSlcbiAgICApO1xuXG4gICAgY29uc3QgcGlja0xpc3RzQ2hhaW4gPSBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmYXJtRGlyZWN0b3J5LCBcInBpY2tsaXN0c1wiKSwgXCIqLmpzb25cIikuZG8oeCA9PlxuICAgICAgICBGU1Rhc2suY29weVJlY3Vyc2l2ZWx5KGNvbnRleHQubG9nZ2VyLndpdGhQcmVmaXgoXCJQSUNLTElTVFNcIiksIHgsIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwicGlja2xpc3RzXCIpKVxuICAgICk7XG5cbiAgICBjb25zdCBmb3JtR2xvYnMgPSBhd2FpdCBGb3JtR2xvYnMudmFsaWRhdGVHbG9icyhcbiAgICAgICAgYXdhaXQgRm9ybUdsb2JzLnJlc29sdmVTcGVjaWZpZXJzKG9wdGlvbnMuZm9ybUdsb2JzLCBmYXJtRGlyZWN0b3J5KSxcbiAgICAgICAgZmFybURpcmVjdG9yeVxuICAgICk7XG4gICAgY29uc3QgYnVpbGRGb3Jtc0NoYWluID0gT2JzZXJ2ZS5kaXJlY3RvcnkocGF0aC5qb2luKGZhcm1EaXJlY3RvcnksIFwiZm9ybXNcIiksIGZvcm1HbG9icykuc3BsaXRUb1BhcmFsbGVsQ2hhaW5zKFxuICAgICAgICB4ID0+IHgsXG4gICAgICAgIHggPT4geCxcbiAgICAgICAgZ2Z2ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EaXJQYXRoID0gcGF0aC5qb2luKGZhcm1EaXJlY3RvcnksIFwiZm9ybXNcIiwgZ2Z2KTtcblxuICAgICAgICAgICAgcmV0dXJuIE9ic2VydmUuZmlsZShwYXRoLmpvaW4oZm9ybURpclBhdGgsIFwiZm9ybS5qc29uXCIpKVxuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0oZm9ybUpzb25GaWxlID0+IHJlc29sdmVGb3JtSW5mbyhmb3JtSnNvbkZpbGUsIGZvcm1EaXJQYXRoLCBlbmdpbmVEaXJlY3RvcnkpKVxuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0oYXN5bmMgeCA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IHJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZShlbmdpbmVEaXJlY3RvcnkpLFxuICAgICAgICAgICAgICAgICAgICBlbmdpbmVTb3VyY2U6IHJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZShlbmdpbmVEaXJlY3RvcnkpLFxuICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgIC5hdHRhY2goXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIGZpID0+IGdlbmVyYXRvckZhY3RvcnkoZmkuZ2VuZXJhdG9yU291cmNlLCBjYW5keU1vZHVsZXNEaXJlY3RvcnksIGZhbHNlLCB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgICAgICBhc3luYyAoZmksIHkpID0+ICh7IC4uLmZpLCBnZW5lcmF0b3I6IHkgfSksXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIGZpID0+IGdldEdlbmVyYXRvclNvdXJjZUtleShmaS5nZW5lcmF0b3JTb3VyY2UpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5hdHRhY2goYXN5bmMgZmkgPT5cbiAgICAgICAgICAgICAgICAgICAgT2JzZXJ2ZS5maWxlcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLmZvcm1Tb3VyY2VzUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiLi4vLi4vY29udHJvbHMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzY2hlbWFzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic3VnYXIvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJjb250cm9scy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImF1dG9jYWxjLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaGVscGVycy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkYXRpb25zLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibG9jYWxpemF0aW9uLyoqLypcIlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0oYXN5bmMgZmkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZmksXG4gICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llc0hhc2g6IGF3YWl0IGZpLmdlbmVyYXRvci5nZXRBbGxEZXBlbmRlbmNpZXNIYXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybURpclBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBmYXJtRGlyZWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgIC5kbyhhc3luYyBmaSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnNraXBHZW5lcmF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBnZW5lcmF0ZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtU291cmNlc1BhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBmYXJtRGlyZWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLmdlbmVyYXRvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwQ29kZVJlZm9ybWF0dGluZzogb3B0aW9ucy5za2lwR2VuZXJhdGVkQ29kZVJlZm9ybWF0dGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXNIYXNoOiBmaS5kZXBlbmRlbmNpZXNIYXNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PiBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmb3JtRGlyUGF0aCwgXCJmb3JtXCIpLCBcIioqLypcIikpXG4gICAgICAgICAgICAgICAgLmRvKGZpID0+XG4gICAgICAgICAgICAgICAgICAgIGNvbXBpbGVGb3JtKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS50aGVtZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBmYXJtRGlyZWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VzRGlyZWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZmkuZGVwZW5kZW5jaWVzSGFzaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuYnVpbGREZWJ1Z09ubHlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuZG8oZmkgPT4gd3JpdGVGTGFuZ05vcm1hbGl6YXRpb25GaWxlcyhmaS5mb3JtTmFtZSwgZmFybURpcmVjdG9yeSwgcmVzb3VyY2VzRGlyZWN0b3J5KSlcbiAgICAgICAgICAgICAgICAuZG8oZmkgPT4gd3JpdGVBdHRhY2htZW50UGF0aEZpbGVzKGZpLmZvcm1OYW1lLCBmYXJtRGlyZWN0b3J5LCByZXNvdXJjZXNEaXJlY3RvcnkpKVxuICAgICAgICAgICAgICAgIC5kbyhmaSA9PiB3cml0ZUZvcm1NZXRhKHJlc291cmNlc0RpcmVjdG9yeSwgZ2Z2LCBmaS5lbmdpbmVTb3VyY2UsIGZpLmRlcGVuZGVuY2llc0hhc2gsIGZpLnRoZW1lcykpXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmaS5mb3JtU291cmNlc1BhdGgsIFwic2NoZW1hc1wiKSwgXCIqLnJuZy54bWxcIikuZG8oeCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRMb2dnZXIoKS53aXRoUHJlZml4KFwiU0NIRU1BU1wiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwic2NoZW1hc1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5hdHRhY2goYXN5bmMgZmkgPT5cbiAgICAgICAgICAgICAgICAgICAgT2JzZXJ2ZS5maWxlcyhwYXRoLmpvaW4oZmkuZm9ybVNvdXJjZXNQYXRoLCBcImNvbnZlcnRlcnNcIiksIFwiKlwiKS5kbyh4ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBGU1Rhc2suY29weVJlY3Vyc2l2ZWx5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldExvZ2dlcigpLndpdGhQcmVmaXgoXCJDT05WRVJURVJTXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJjb252ZXJ0ZXJzXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmaS5mb3JtU291cmNlc1BhdGgsIFwibWVyZ2Vyc1wiKSwgXCIqXCIpLmRvKHggPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIk1FUkdFUlNcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLmpvaW4ocmVzb3VyY2VzRGlyZWN0b3J5LCBcIm1lcmdlcnNcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZShwYXRoLmpvaW4oZmkuZm9ybVNvdXJjZXNQYXRoLCBcInByZXNlbnRhdGlvbnMuanNvblwiKSkuZG8oeCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlGaWxlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldExvZ2dlcigpLndpdGhQcmVmaXgoXCJQUkVTRU5UQVRJT05TXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJwcmVzZW50YXRpb25zXCIsIGAke2dmdn0ucHJlc2VudGF0aW9ucy5qc29uYClcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMocGF0aC5qb2luKGZpLmZvcm1Tb3VyY2VzUGF0aCwgXCJub3JtYWxpemVcIiksIFwiKi54bWxcIikuZG8oeCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRMb2dnZXIoKS53aXRoUHJlZml4KFwiTk9STUFMSVpFXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJub3JtYWxpemVcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMocGF0aC5qb2luKGZpLmZvcm1Tb3VyY2VzUGF0aCwgXCJwYXRjaFwiKSwgXCIqLnhzbHRcIikuZG8oeCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRMb2dnZXIoKS53aXRoUHJlZml4KFwiUEFUQ0hcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLmpvaW4ocmVzb3VyY2VzRGlyZWN0b3J5LCBcInBhdGNoXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmaS5mb3JtU291cmNlc1BhdGgsIFwibWFwXCIpLCBcIioueG1sXCIpLmRvKHggPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIk1BUFwiKSwgeCwgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJtYXBcIikpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmaS5mb3JtU291cmNlc1BhdGgsIFwidW5tYXBcIiksIFwiKi54bWxcIikuZG8oeCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRMb2dnZXIoKS53aXRoUHJlZml4KFwiVU5NQVBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLmpvaW4ocmVzb3VyY2VzRGlyZWN0b3J5LCBcInVubWFwXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgKTtcblxuICAgIGlmIChkZXZCdWlsZE9wdGlvbnMud2F0Y2gpIHtcbiAgICAgICAgY29uc3Qgc3RvcE9ic2VydmUxID0gYXdhaXQgYnVpbGRFbmdpbmVDaGFpbi5vYnNlcnZlKCk7XG4gICAgICAgIGNvbnN0IHN0b3BPYnNlcnZlMiA9IGF3YWl0IGJ1aWxkQ2xpZW50SnNDaGFpbi5vYnNlcnZlKCk7XG4gICAgICAgIGNvbnN0IHN0b3BPYnNlcnZlMyA9IGF3YWl0IHN0YXRpY1Jlc291cmNlc0NoYWluLm9ic2VydmUoKTtcbiAgICAgICAgY29uc3Qgc3RvcE9ic2VydmU0ID0gYXdhaXQgYnVpbGRGb3Jtc0NoYWluLm9ic2VydmUoKTtcbiAgICAgICAgY29uc3Qgc3RvcE9ic2VydmU1ID0gYXdhaXQgcGlja0xpc3RzQ2hhaW4ub2JzZXJ2ZSgpO1xuXG4gICAgICAgIGF3YWl0IGNvbnRleHQud2FpdEZvckV4aXQoKTtcblxuICAgICAgICBhd2FpdCBzdG9wT2JzZXJ2ZTEoKTtcbiAgICAgICAgYXdhaXQgc3RvcE9ic2VydmUyKCk7XG4gICAgICAgIGF3YWl0IHN0b3BPYnNlcnZlMygpO1xuICAgICAgICBhd2FpdCBzdG9wT2JzZXJ2ZTQoKTtcbiAgICAgICAgYXdhaXQgc3RvcE9ic2VydmU1KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gRGF0ZS5ub3coKTtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgYnVpbGRFbmdpbmVDaGFpbi5jdXJyZW50VmFsdWUsXG4gICAgICAgICAgICBidWlsZENsaWVudEpzQ2hhaW4uY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgc3RhdGljUmVzb3VyY2VzQ2hhaW4uY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBwaWNrTGlzdHNDaGFpbi5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGJ1aWxkRm9ybXNDaGFpbi5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5jb250aW51ZU9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQubG9nZ2VyLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCksXG4gICAgICAgIF0pO1xuICAgICAgICBjb25zdCB0b3RhbFRpbWUgPSBEYXRlLm5vdygpIC0gc3RhcnREYXRlO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICBjb25zb2xlLmxvZyhgJHtjaGFsay5ncmVlbkJyaWdodChcIkJ1aWxkIHN1Y2Nlc3NcIil9IFRvdGFsIHRpbWU6ICR7cHJpbnRUaW1lKHRvdGFsVGltZSl9YCk7XG4gICAgfVxufVxuIl19
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2NoYWxrIiwiX0J1aWxkQ2xpZW50SnNUYXNrIiwiX0J1aWxkTG9jYWxFbmdpbmVUYXNrIiwiX0VuZ2luZVN0cnVjdHVyZVV0aWxzIiwiX0NvbXBpbGVGb3JtIiwiX0dlbmVyYXRlRm9ybSIsIl9Xcml0ZUZMYW5nTm9ybWFsaXphdGlvbkZpbGVzIiwiX0ZTVGFzayIsIl9BY3F1aXJlRm9ybUdlbmVyYXRvciIsIl9QdWJsaXNoZWRWZXJzaW9uVXRpbHMiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX1dyaXRlRm9ybU1ldGEiLCJfRm9ybUdsb2JzVXRpbHMiLCJfU3RhdGljTG9nZ2VyIiwiX09ic2VydmUiLCJfVGltaW5nVXRpbHMiLCJfV3JpdGVBdHRhY2htZW50UGF0aEZpbGVzIiwiX2dldFJuZ1NjaGVtYUZpbGVuYW1lIiwicnVuRGV2QnVpbGQiLCJjb250ZXh0Iiwib3B0aW9ucyIsImVuZ2luZURpcmVjdG9yeSIsInJlc291cmNlc0RpcmVjdG9yeSIsImZhcm1EaXJlY3RvcnkiLCJjYW5keU1vZHVsZXNEaXJlY3RvcnkiLCJobEZhcm1EaXJlY3RvcnlQYXRoIiwiZGV2QnVpbGRPcHRpb25zIiwiZW5naW5lV2VicGFja0NvbmZpZ1Rhc2siLCJjcmVhdGVFbmdpbmVXZWJwYWNrQ29uZmlnVGFzayIsImJ1aWxkRW5naW5lQ2hhaW4iLCJjaGFpbldpdGgiLCJwIiwiQnVpbGRMb2NhbEVuZ2luZVRhc2siLCJidWlsZERlYnVnT25seSIsImNsaWVudFdlYnBhY2tDb25maWdUYXNrIiwiY3JlYXRlQ2xpZW50V2VicGFja0NvbmZpZ1Rhc2siLCJidWlsZENsaWVudEpzQ2hhaW4iLCJCdWlsZENsaWVudEpzVGFzayIsInN0YXRpY1Jlc291cmNlc0NoYWluIiwiT2JzZXJ2ZSIsImZpbGVzIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJkbyIsIngiLCJGU1Rhc2siLCJjb3B5UmVjdXJzaXZlbHkiLCJnZXRMb2dnZXIiLCJ3aXRoUHJlZml4IiwicGlja0xpc3RzQ2hhaW4iLCJsb2dnZXIiLCJmb3JtR2xvYnMiLCJGb3JtR2xvYnMiLCJ2YWxpZGF0ZUdsb2JzIiwicmVzb2x2ZVNwZWNpZmllcnMiLCJidWlsZEZvcm1zQ2hhaW4iLCJkaXJlY3RvcnkiLCJzcGxpdFRvUGFyYWxsZWxDaGFpbnMiLCJnZnYiLCJmb3JtRGlyUGF0aCIsImZvcm1TY2hlbWFzRGlyUGF0aCIsInJuZ1NjaGVtYU1hc2siLCJnZXRSbmdTY2hlbWFGaWxlbmFtZSIsImZpbGUiLCJ0cmFuc2Zvcm0iLCJmb3JtSnNvbkZpbGUiLCJyZXNvbHZlRm9ybUluZm8iLCJnZW5lcmF0b3JTb3VyY2UiLCJyZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UiLCJlbmdpbmVTb3VyY2UiLCJyZXNvbHZlTG9jYWxFbmdpbmVTb3VyY2UiLCJhdHRhY2giLCJmaSIsImdlbmVyYXRvckZhY3RvcnkiLCJ1bmRlZmluZWQiLCJ5IiwiZ2VuZXJhdG9yIiwiZ2V0R2VuZXJhdG9yU291cmNlS2V5IiwiZm9ybVNvdXJjZXNQYXRoIiwiZGVwZW5kZW5jaWVzSGFzaCIsImdldEFsbERlcGVuZGVuY2llc0hhc2giLCJza2lwR2VuZXJhdGlvbiIsImdlbmVyYXRlRm9ybSIsInNraXBDb2RlUmVmb3JtYXR0aW5nIiwic2tpcEdlbmVyYXRlZENvZGVSZWZvcm1hdHRpbmciLCJyZXNvdXJjZXNIYXNoIiwiY29tcGlsZUZvcm0iLCJmb3JtTmFtZSIsInRoZW1lcyIsIndyaXRlRkxhbmdOb3JtYWxpemF0aW9uRmlsZXMiLCJ3cml0ZUF0dGFjaG1lbnRQYXRoRmlsZXMiLCJ3cml0ZUZvcm1NZXRhIiwid2F0Y2giLCJzdG9wT2JzZXJ2ZTEiLCJvYnNlcnZlIiwic3RvcE9ic2VydmUyIiwic3RvcE9ic2VydmUzIiwic3RvcE9ic2VydmU0Iiwic3RvcE9ic2VydmU1Iiwid2FpdEZvckV4aXQiLCJzdGFydERhdGUiLCJEYXRlIiwibm93IiwiUHJvbWlzZSIsImFsbCIsImN1cnJlbnRWYWx1ZSIsImUiLCJjb250aW51ZU9uRXJyb3IiLCJlcnJvciIsInRvdGFsVGltZSIsImNvbnNvbGUiLCJsb2ciLCJjaGFsayIsImdyZWVuQnJpZ2h0IiwicHJpbnRUaW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0RldkJ1aWxkL1J1bkRldkJ1aWxkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCBjaGFsayBmcm9tIFwiY2hhbGtcIjtcblxuaW1wb3J0IHsgQnVpbGRDbGllbnRKc1Rhc2sgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9DbGllbnRKUy9CdWlsZENsaWVudEpzVGFza1wiO1xuaW1wb3J0IHsgQnVpbGRMb2NhbEVuZ2luZVRhc2sgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9FbmdpbmUvQnVpbGRMb2NhbEVuZ2luZVRhc2tcIjtcbmltcG9ydCB7IGNyZWF0ZUNsaWVudFdlYnBhY2tDb25maWdUYXNrLCBjcmVhdGVFbmdpbmVXZWJwYWNrQ29uZmlnVGFzayB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL0VuZ2luZVN0cnVjdHVyZVV0aWxzXCI7XG5pbXBvcnQgeyBjb21waWxlRm9ybSB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL0Zvcm0vQ29tcGlsZUZvcm1cIjtcbmltcG9ydCB7IGdlbmVyYXRlRm9ybSB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL0Zvcm0vR2VuZXJhdGVGb3JtXCI7XG5pbXBvcnQgeyB3cml0ZUZMYW5nTm9ybWFsaXphdGlvbkZpbGVzIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvRm9ybS9Xcml0ZUZMYW5nTm9ybWFsaXphdGlvbkZpbGVzXCI7XG5pbXBvcnQgeyBGU1Rhc2sgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9GU1Rhc2tcIjtcbmltcG9ydCB7IGdlbmVyYXRvckZhY3RvcnksIGdldEdlbmVyYXRvclNvdXJjZUtleSB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL0dlbmVyYXRvci9BY3F1aXJlRm9ybUdlbmVyYXRvclwiO1xuaW1wb3J0IHsgcmVzb2x2ZUxvY2FsRW5naW5lU291cmNlLCByZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9QdWJsaXNoZWRWZXJzaW9uVXRpbHNcIjtcbmltcG9ydCB7IHJlc29sdmVGb3JtSW5mbyB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1Jlc29sdmVGb3JtSW5mb1wiO1xuaW1wb3J0IHsgd3JpdGVGb3JtTWV0YSB9IGZyb20gXCIuLi8uLi9CdWlsZFRhc2tzL1dyaXRlRm9ybU1ldGFcIjtcbmltcG9ydCB7IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Db25zb2xlQXBwbGljYXRpb24vQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dFwiO1xuaW1wb3J0IHsgRm9ybUdsb2JzIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvRm9ybUdsb2JzVXRpbHNcIjtcbmltcG9ydCB7IGdldExvZ2dlciB9IGZyb20gXCIuLi8uLi9Db21tb25zL0xvZ2dpbmcvU3RhdGljTG9nZ2VyXCI7XG5pbXBvcnQgeyBPYnNlcnZlIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL09ic2VydmVcIjtcbmltcG9ydCB7IHByaW50VGltZSB9IGZyb20gXCIuLi8uLi9Db21tb25zL1RpbWluZ1V0aWxzXCI7XG5pbXBvcnQgeyB3cml0ZUF0dGFjaG1lbnRQYXRoRmlsZXMgfSBmcm9tIFwiLi4vLi4vQnVpbGRUYXNrcy9Gb3JtL1dyaXRlQXR0YWNobWVudFBhdGhGaWxlc1wiO1xuaW1wb3J0IHsgZ2V0Um5nU2NoZW1hRmlsZW5hbWUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9uL2dldFJuZ1NjaGVtYUZpbGVuYW1lXCI7XG5cbmltcG9ydCB7IERldmVsb3BtZW50QnVpbGRPcHRpb25zIH0gZnJvbSBcIi4vRGV2QnVpbGRPcHRpb25zXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5EZXZCdWlsZChcbiAgICBjb250ZXh0OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0LFxuICAgIG9wdGlvbnM6IERldmVsb3BtZW50QnVpbGRPcHRpb25zLFxuICAgIGVuZ2luZURpcmVjdG9yeTogc3RyaW5nLFxuICAgIHJlc291cmNlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBobEZhcm1EaXJlY3RvcnlQYXRoOiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGRldkJ1aWxkT3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICBjb25zdCBlbmdpbmVXZWJwYWNrQ29uZmlnVGFzayA9IGF3YWl0IGNyZWF0ZUVuZ2luZVdlYnBhY2tDb25maWdUYXNrKGVuZ2luZURpcmVjdG9yeSk7XG4gICAgY29uc3QgYnVpbGRFbmdpbmVDaGFpbiA9IGVuZ2luZVdlYnBhY2tDb25maWdUYXNrLmNoYWluV2l0aChcbiAgICAgICAgcCA9PiBuZXcgQnVpbGRMb2NhbEVuZ2luZVRhc2socCwgcmVzb3VyY2VzRGlyZWN0b3J5LCBvcHRpb25zLmJ1aWxkRGVidWdPbmx5KVxuICAgICk7XG5cbiAgICBjb25zdCBjbGllbnRXZWJwYWNrQ29uZmlnVGFzayA9IGF3YWl0IGNyZWF0ZUNsaWVudFdlYnBhY2tDb25maWdUYXNrKGVuZ2luZURpcmVjdG9yeSk7XG4gICAgY29uc3QgYnVpbGRDbGllbnRKc0NoYWluID0gY2xpZW50V2VicGFja0NvbmZpZ1Rhc2suY2hhaW5XaXRoKHAgPT4gbmV3IEJ1aWxkQ2xpZW50SnNUYXNrKHAsIHJlc291cmNlc0RpcmVjdG9yeSkpO1xuXG4gICAgY29uc3Qgc3RhdGljUmVzb3VyY2VzQ2hhaW4gPSBPYnNlcnZlLmZpbGVzKFxuICAgICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwiLi5cIiwgXCJTdGF0aWNGaWxlc0ZvclJlc291cmNlc0RpclwiKSxcbiAgICAgICAgXCIqLmpzXCJcbiAgICApLmRvKHggPT5cbiAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShnZXRMb2dnZXIoKS53aXRoUHJlZml4KFwiU1RBVElDU1wiKSwgeCwgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJwdWJsaWNcIiwgXCJzY3JpcHRzXCIpKVxuICAgICk7XG5cbiAgICBjb25zdCBwaWNrTGlzdHNDaGFpbiA9IE9ic2VydmUuZmlsZXMocGF0aC5qb2luKGZhcm1EaXJlY3RvcnksIFwicGlja2xpc3RzXCIpLCBcIiouanNvblwiKS5kbyh4ID0+XG4gICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoY29udGV4dC5sb2dnZXIud2l0aFByZWZpeChcIlBJQ0tMSVNUU1wiKSwgeCwgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJwaWNrbGlzdHNcIikpXG4gICAgKTtcblxuICAgIGNvbnN0IGZvcm1HbG9icyA9IGF3YWl0IEZvcm1HbG9icy52YWxpZGF0ZUdsb2JzKFxuICAgICAgICBhd2FpdCBGb3JtR2xvYnMucmVzb2x2ZVNwZWNpZmllcnMob3B0aW9ucy5mb3JtR2xvYnMsIGZhcm1EaXJlY3RvcnkpLFxuICAgICAgICBmYXJtRGlyZWN0b3J5XG4gICAgKTtcbiAgICBjb25zdCBidWlsZEZvcm1zQ2hhaW4gPSBPYnNlcnZlLmRpcmVjdG9yeShwYXRoLmpvaW4oZmFybURpcmVjdG9yeSwgXCJmb3Jtc1wiKSwgZm9ybUdsb2JzKS5zcGxpdFRvUGFyYWxsZWxDaGFpbnMoXG4gICAgICAgIHggPT4geCxcbiAgICAgICAgeCA9PiB4LFxuICAgICAgICBnZnYgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm9ybURpclBhdGggPSBwYXRoLmpvaW4oZmFybURpcmVjdG9yeSwgXCJmb3Jtc1wiLCBnZnYpO1xuICAgICAgICAgICAgY29uc3QgZm9ybVNjaGVtYXNEaXJQYXRoID0gcGF0aC5qb2luKGZhcm1EaXJlY3RvcnksIFwiZm9ybXNcIiwgZ2Z2LCBcInNjaGVtYXNcIik7XG4gICAgICAgICAgICBjb25zdCBybmdTY2hlbWFNYXNrID0gYCoke2dldFJuZ1NjaGVtYUZpbGVuYW1lKGZvcm1TY2hlbWFzRGlyUGF0aCwgZ2Z2KX1gO1xuXG4gICAgICAgICAgICByZXR1cm4gT2JzZXJ2ZS5maWxlKHBhdGguam9pbihmb3JtRGlyUGF0aCwgXCJmb3JtLmpzb25cIikpXG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShmb3JtSnNvbkZpbGUgPT4gcmVzb2x2ZUZvcm1JbmZvKGZvcm1Kc29uRmlsZSwgZm9ybURpclBhdGgsIGVuZ2luZURpcmVjdG9yeSkpXG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShhc3luYyB4ID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRvclNvdXJjZTogcmVzb2x2ZUxvY2FsR2VuZXJhdG9yU291cmNlKGVuZ2luZURpcmVjdG9yeSksXG4gICAgICAgICAgICAgICAgICAgIGVuZ2luZVNvdXJjZTogcmVzb2x2ZUxvY2FsRW5naW5lU291cmNlKGVuZ2luZURpcmVjdG9yeSksXG4gICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgLmF0dGFjaChcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4gZ2VuZXJhdG9yRmFjdG9yeShmaS5nZW5lcmF0b3JTb3VyY2UsIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSwgZmFsc2UsIHVuZGVmaW5lZCksXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIChmaSwgeSkgPT4gKHsgLi4uZmksIGdlbmVyYXRvcjogeSB9KSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4gZ2V0R2VuZXJhdG9yU291cmNlS2V5KGZpLmdlbmVyYXRvclNvdXJjZSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIuLi8uLi9jb250cm9scy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInNjaGVtYXMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWdhci8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYXV0b2NhbGMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJoZWxwZXJzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsaWRhdGlvbnMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsb2NhbGl6YXRpb24vKiovKlwiXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShhc3luYyBmaSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAuLi5maSxcbiAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzSGFzaDogYXdhaXQgZmkuZ2VuZXJhdG9yLmdldEFsbERlcGVuZGVuY2llc0hhc2goXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBobEZhcm1EaXJlY3RvcnlQYXRoXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgLmRvKGFzeW5jIGZpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuc2tpcEdlbmVyYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdlbmVyYXRlRm9ybShcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLmZvcm1Tb3VyY2VzUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBobEZhcm1EaXJlY3RvcnlQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmkuZ2VuZXJhdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBDb2RlUmVmb3JtYXR0aW5nOiBvcHRpb25zLnNraXBHZW5lcmF0ZWRDb2RlUmVmb3JtYXR0aW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0hhc2g6IGZpLmRlcGVuZGVuY2llc0hhc2gsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+IE9ic2VydmUuZmlsZXMocGF0aC5qb2luKGZvcm1EaXJQYXRoLCBcImZvcm1cIiksIFwiKiovKlwiKSlcbiAgICAgICAgICAgICAgICAuZG8oZmkgPT5cbiAgICAgICAgICAgICAgICAgICAgY29tcGlsZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLnRoZW1lcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXNEaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5kZXBlbmRlbmNpZXNIYXNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5idWlsZERlYnVnT25seVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5kbyhmaSA9PiB3cml0ZUZMYW5nTm9ybWFsaXphdGlvbkZpbGVzKGZpLmZvcm1OYW1lLCBmYXJtRGlyZWN0b3J5LCByZXNvdXJjZXNEaXJlY3RvcnkpKVxuICAgICAgICAgICAgICAgIC5kbyhmaSA9PiB3cml0ZUF0dGFjaG1lbnRQYXRoRmlsZXMoZmkuZm9ybU5hbWUsIGZhcm1EaXJlY3RvcnksIHJlc291cmNlc0RpcmVjdG9yeSkpXG4gICAgICAgICAgICAgICAgLmRvKGZpID0+IHdyaXRlRm9ybU1ldGEocmVzb3VyY2VzRGlyZWN0b3J5LCBnZnYsIGZpLmVuZ2luZVNvdXJjZSwgZmkuZGVwZW5kZW5jaWVzSGFzaCwgZmkudGhlbWVzKSlcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMocGF0aC5qb2luKGZpLmZvcm1Tb3VyY2VzUGF0aCwgXCJzY2hlbWFzXCIpLCBybmdTY2hlbWFNYXNrKS5kbyh4ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBGU1Rhc2suY29weVJlY3Vyc2l2ZWx5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldExvZ2dlcigpLndpdGhQcmVmaXgoXCJTQ0hFTUFTXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKHJlc291cmNlc0RpcmVjdG9yeSwgXCJzY2hlbWFzXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmF0dGFjaChhc3luYyBmaSA9PlxuICAgICAgICAgICAgICAgICAgICBPYnNlcnZlLmZpbGVzKHBhdGguam9pbihmaS5mb3JtU291cmNlc1BhdGgsIFwiY29udmVydGVyc1wiKSwgXCIqXCIpLmRvKHggPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZTVGFzay5jb3B5UmVjdXJzaXZlbHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIkNPTlZFUlRFUlNcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLmpvaW4ocmVzb3VyY2VzRGlyZWN0b3J5LCBcImNvbnZlcnRlcnNcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMocGF0aC5qb2luKGZpLmZvcm1Tb3VyY2VzUGF0aCwgXCJtZXJnZXJzXCIpLCBcIipcIikuZG8oeCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRMb2dnZXIoKS53aXRoUHJlZml4KFwiTUVSR0VSU1wiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwibWVyZ2Vyc1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5hdHRhY2goYXN5bmMgZmkgPT5cbiAgICAgICAgICAgICAgICAgICAgT2JzZXJ2ZS5maWxlcyhwYXRoLmpvaW4oZmkuZm9ybVNvdXJjZXNQYXRoLCBcIm5vcm1hbGl6ZVwiKSwgXCIqLnhtbFwiKS5kbyh4ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBGU1Rhc2suY29weVJlY3Vyc2l2ZWx5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldExvZ2dlcigpLndpdGhQcmVmaXgoXCJOT1JNQUxJWkVcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLmpvaW4ocmVzb3VyY2VzRGlyZWN0b3J5LCBcIm5vcm1hbGl6ZVwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5hdHRhY2goYXN5bmMgZmkgPT5cbiAgICAgICAgICAgICAgICAgICAgT2JzZXJ2ZS5maWxlcyhwYXRoLmpvaW4oZmkuZm9ybVNvdXJjZXNQYXRoLCBcInBhdGNoXCIpLCBcIioueHNsdFwiKS5kbyh4ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBGU1Rhc2suY29weVJlY3Vyc2l2ZWx5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldExvZ2dlcigpLndpdGhQcmVmaXgoXCJQQVRDSFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwicGF0Y2hcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMocGF0aC5qb2luKGZpLmZvcm1Tb3VyY2VzUGF0aCwgXCJtYXBcIiksIFwiKi54bWxcIikuZG8oeCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgRlNUYXNrLmNvcHlSZWN1cnNpdmVseShnZXRMb2dnZXIoKS53aXRoUHJlZml4KFwiTUFQXCIpLCB4LCBwYXRoLmpvaW4ocmVzb3VyY2VzRGlyZWN0b3J5LCBcIm1hcFwiKSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMocGF0aC5qb2luKGZpLmZvcm1Tb3VyY2VzUGF0aCwgXCJ1bm1hcFwiKSwgXCIqLnhtbFwiKS5kbyh4ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBGU1Rhc2suY29weVJlY3Vyc2l2ZWx5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldExvZ2dlcigpLndpdGhQcmVmaXgoXCJVTk1BUFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGguam9pbihyZXNvdXJjZXNEaXJlY3RvcnksIFwidW5tYXBcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICApO1xuXG4gICAgaWYgKGRldkJ1aWxkT3B0aW9ucy53YXRjaCkge1xuICAgICAgICBjb25zdCBzdG9wT2JzZXJ2ZTEgPSBhd2FpdCBidWlsZEVuZ2luZUNoYWluLm9ic2VydmUoKTtcbiAgICAgICAgY29uc3Qgc3RvcE9ic2VydmUyID0gYXdhaXQgYnVpbGRDbGllbnRKc0NoYWluLm9ic2VydmUoKTtcbiAgICAgICAgY29uc3Qgc3RvcE9ic2VydmUzID0gYXdhaXQgc3RhdGljUmVzb3VyY2VzQ2hhaW4ub2JzZXJ2ZSgpO1xuICAgICAgICBjb25zdCBzdG9wT2JzZXJ2ZTQgPSBhd2FpdCBidWlsZEZvcm1zQ2hhaW4ub2JzZXJ2ZSgpO1xuICAgICAgICBjb25zdCBzdG9wT2JzZXJ2ZTUgPSBhd2FpdCBwaWNrTGlzdHNDaGFpbi5vYnNlcnZlKCk7XG5cbiAgICAgICAgYXdhaXQgY29udGV4dC53YWl0Rm9yRXhpdCgpO1xuXG4gICAgICAgIGF3YWl0IHN0b3BPYnNlcnZlMSgpO1xuICAgICAgICBhd2FpdCBzdG9wT2JzZXJ2ZTIoKTtcbiAgICAgICAgYXdhaXQgc3RvcE9ic2VydmUzKCk7XG4gICAgICAgIGF3YWl0IHN0b3BPYnNlcnZlNCgpO1xuICAgICAgICBhd2FpdCBzdG9wT2JzZXJ2ZTUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzdGFydERhdGUgPSBEYXRlLm5vdygpO1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgICAgICBidWlsZEVuZ2luZUNoYWluLmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgICAgIGJ1aWxkQ2xpZW50SnNDaGFpbi5jdXJyZW50VmFsdWUsXG4gICAgICAgICAgICBzdGF0aWNSZXNvdXJjZXNDaGFpbi5jdXJyZW50VmFsdWUsXG4gICAgICAgICAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHBpY2tMaXN0c0NoYWluLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgYnVpbGRGb3Jtc0NoYWluLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmNvbnRpbnVlT25FcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5sb2dnZXIuZXJyb3IoZSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkoKSxcbiAgICAgICAgXSk7XG4gICAgICAgIGNvbnN0IHRvdGFsVGltZSA9IERhdGUubm93KCkgLSBzdGFydERhdGU7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGNvbnNvbGUubG9nKGAke2NoYWxrLmdyZWVuQnJpZ2h0KFwiQnVpbGQgc3VjY2Vzc1wiKX0gVG90YWwgdGltZTogJHtwcmludFRpbWUodG90YWxUaW1lKX1gKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxNQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxrQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcscUJBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLHFCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxZQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxhQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyw2QkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsT0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMscUJBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLHNCQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxnQkFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksY0FBQSxHQUFBWixPQUFBO0FBRUEsSUFBQWEsZUFBQSxHQUFBYixPQUFBO0FBQ0EsSUFBQWMsYUFBQSxHQUFBZCxPQUFBO0FBQ0EsSUFBQWUsUUFBQSxHQUFBZixPQUFBO0FBQ0EsSUFBQWdCLFlBQUEsR0FBQWhCLE9BQUE7QUFDQSxJQUFBaUIseUJBQUEsR0FBQWpCLE9BQUE7QUFDQSxJQUFBa0IscUJBQUEsR0FBQWxCLE9BQUE7QUFJTyxlQUFlbUIsV0FBV0EsQ0FDN0JDLE9BQWtDLEVBQ2xDQyxPQUFnQyxFQUNoQ0MsZUFBdUIsRUFDdkJDLGtCQUEwQixFQUMxQkMsYUFBcUIsRUFDckJDLHFCQUE2QixFQUM3QkMsbUJBQTJCLEVBQ2Q7RUFDYixNQUFNQyxl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
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.formStatsCommandDefinition = void 0;
7
-
8
7
  var _CommandBasedOptionsParser = require("../../Commons/Options/CommandBasedOptionsParser");
9
-
10
8
  var _CommonOptionDefintions = require("../CommonOptions/CommonOptionDefintions");
11
-
12
9
  const formStatsCommandDefinition = (0, _CommandBasedOptionsParser.commandDefinition)("form-stats", "form-stats", (0, _CommandBasedOptionsParser.optionsDefinition)({
13
10
  alias: "g",
14
11
  name: "gfvs",
@@ -35,4 +32,4 @@ const formStatsCommandDefinition = (0, _CommandBasedOptionsParser.commandDefinit
35
32
  description: "Выполняет сборку одной или нескольких форм.\n" + "Подробнее: https://git.skbkontur.ru/ke/candy-utils/blob/new-candy-tool-cli/README.md"
36
33
  });
37
34
  exports.formStatsCommandDefinition = formStatsCommandDefinition;
38
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9Gb3JtU3RhdHMvRm9ybVN0YXRzT3B0aW9ucy50cyJdLCJuYW1lcyI6WyJmb3JtU3RhdHNDb21tYW5kRGVmaW5pdGlvbiIsImFsaWFzIiwibmFtZSIsImRlZmF1bHRWYWx1ZSIsImZvcm1HbG9icyIsInBhcnNlIiwiaW5wdXQiLCJkZWZhdWx0T3B0aW9uIiwibXVsdGlwbGUiLCJkZXNjcmlwdGlvbiIsImRvZXNOb3RSZXF1aXJlVmFsdWUiLCJieUVuZ2luZSIsIngiLCJkZXZNb2RlT3B0aW9uIiwibG9nVmVyYm9zaXR5T3B0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUE7O0FBT08sTUFBTUEsMEJBQTBCLEdBQUcsa0RBQ3RDLFlBRHNDLEVBRXRDLFlBRnNDLEVBR3RDLGtEQUNJO0FBQ0lDLEVBQUFBLEtBQUssRUFBRSxHQURYO0FBRUlDLEVBQUFBLElBQUksRUFBRSxNQUZWO0FBR0lDLEVBQUFBLFlBQVksRUFBRTtBQUFFQyxJQUFBQSxTQUFTLEVBQUU7QUFBYixHQUhsQjtBQUlJQyxFQUFBQSxLQUFLLEVBQUdDLEtBQUQsS0FBc0I7QUFBRUYsSUFBQUEsU0FBUyxFQUFFRTtBQUFiLEdBQXRCLENBSlg7QUFLSUMsRUFBQUEsYUFBYSxFQUFFLElBTG5CO0FBTUlDLEVBQUFBLFFBQVEsRUFBRSxJQU5kO0FBT0lDLEVBQUFBLFdBQVcsRUFBRTtBQVBqQixDQURKLEVBVUk7QUFDSVAsRUFBQUEsSUFBSSxFQUFFLFdBRFY7QUFFSVEsRUFBQUEsbUJBQW1CLEVBQUUsSUFGekI7QUFHSVAsRUFBQUEsWUFBWSxFQUFFO0FBQUVRLElBQUFBLFFBQVEsRUFBRTtBQUFaLEdBSGxCO0FBSUlOLEVBQUFBLEtBQUssRUFBR08sQ0FBRCxLQUFpQjtBQUFFRCxJQUFBQSxRQUFRLEVBQUVDO0FBQVosR0FBakIsQ0FKWDtBQUtJSCxFQUFBQSxXQUFXLEVBQUU7QUFMakIsQ0FWSixFQWlCSUkscUNBakJKLEVBa0JJQywwQ0FsQkosQ0FIc0MsRUF1QnRDO0FBQ0lMLEVBQUFBLFdBQVcsRUFDUCxrREFDQTtBQUhSLENBdkJzQyxDQUFuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbW1hbmREZWZpbml0aW9uLCBvcHRpb25zRGVmaW5pdGlvbiB9IGZyb20gXCIuLi8uLi9Db21tb25zL09wdGlvbnMvQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlclwiO1xuaW1wb3J0IHsgQ29tbW9uT3B0aW9ucyB9IGZyb20gXCIuLi9Db21tb25PcHRpb25zL0NvbW1vbk9wdGlvbnNcIjtcbmltcG9ydCB7IGRldk1vZGVPcHRpb24sIGxvZ1ZlcmJvc2l0eU9wdGlvbiB9IGZyb20gXCIuLi9Db21tb25PcHRpb25zL0NvbW1vbk9wdGlvbkRlZmludGlvbnNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtU3RhdHNPcHRpb25zIGV4dGVuZHMgQ29tbW9uT3B0aW9ucyB7XG4gICAgZm9ybUdsb2JzOiBzdHJpbmdbXTtcbiAgICBieUVuZ2luZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGZvcm1TdGF0c0NvbW1hbmREZWZpbml0aW9uID0gY29tbWFuZERlZmluaXRpb248XCJmb3JtLXN0YXRzXCIsIEZvcm1TdGF0c09wdGlvbnM+KFxuICAgIFwiZm9ybS1zdGF0c1wiLFxuICAgIFwiZm9ybS1zdGF0c1wiLFxuICAgIG9wdGlvbnNEZWZpbml0aW9uKFxuICAgICAgICB7XG4gICAgICAgICAgICBhbGlhczogXCJnXCIsXG4gICAgICAgICAgICBuYW1lOiBcImdmdnNcIixcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogeyBmb3JtR2xvYnM6IFtdIH0sXG4gICAgICAgICAgICBwYXJzZTogKGlucHV0OiBzdHJpbmdbXSkgPT4gKHsgZm9ybUdsb2JzOiBpbnB1dCB9KSxcbiAgICAgICAgICAgIGRlZmF1bHRPcHRpb246IHRydWUsXG4gICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcItCe0LTQvdCwINC40LvQuCDQvdC10YHQutC+0LvRjNC60L4gR0ZWINC40LvQuCBHRlYt0LzQsNGB0L7QuiDQtNC70Y8g0L/QtdGA0LXRgdC+0LHRgNC60LguXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiYnktZW5naW5lXCIsXG4gICAgICAgICAgICBkb2VzTm90UmVxdWlyZVZhbHVlOiB0cnVlLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB7IGJ5RW5naW5lOiBmYWxzZSB9LFxuICAgICAgICAgICAgcGFyc2U6ICh4OiBib29sZWFuKSA9PiAoeyBieUVuZ2luZTogeCB9KSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcItCf0L7QutCw0LfQsNGC0Ywg0YHRgtCw0YLQuNGB0LrQuNGDINC/0LUg0LLQtdGA0YHQuNGP0Lwg0LTQstC40LbQutCwLlwiLFxuICAgICAgICB9LFxuICAgICAgICBkZXZNb2RlT3B0aW9uLFxuICAgICAgICBsb2dWZXJib3NpdHlPcHRpb25cbiAgICApLFxuICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICBcItCS0YvQv9C+0LvQvdGP0LXRgiDRgdCx0L7RgNC60YMg0L7QtNC90L7QuSDQuNC70Lgg0L3QtdGB0LrQvtC70YzQutC40YUg0YTQvtGA0LwuXFxuXCIgK1xuICAgICAgICAgICAgXCLQn9C+0LTRgNC+0LHQvdC10LU6IGh0dHBzOi8vZ2l0LnNrYmtvbnR1ci5ydS9rZS9jYW5keS11dGlscy9ibG9iL25ldy1jYW5keS10b29sLWNsaS9SRUFETUUubWRcIixcbiAgICB9XG4pO1xuIl19
35
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ29tbWFuZEJhc2VkT3B0aW9uc1BhcnNlciIsInJlcXVpcmUiLCJfQ29tbW9uT3B0aW9uRGVmaW50aW9ucyIsImZvcm1TdGF0c0NvbW1hbmREZWZpbml0aW9uIiwiY29tbWFuZERlZmluaXRpb24iLCJvcHRpb25zRGVmaW5pdGlvbiIsImFsaWFzIiwibmFtZSIsImRlZmF1bHRWYWx1ZSIsImZvcm1HbG9icyIsInBhcnNlIiwiaW5wdXQiLCJkZWZhdWx0T3B0aW9uIiwibXVsdGlwbGUiLCJkZXNjcmlwdGlvbiIsImRvZXNOb3RSZXF1aXJlVmFsdWUiLCJieUVuZ2luZSIsIngiLCJkZXZNb2RlT3B0aW9uIiwibG9nVmVyYm9zaXR5T3B0aW9uIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9Gb3JtU3RhdHMvRm9ybVN0YXRzT3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21tYW5kRGVmaW5pdGlvbiwgb3B0aW9uc0RlZmluaXRpb24gfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9PcHRpb25zL0NvbW1hbmRCYXNlZE9wdGlvbnNQYXJzZXJcIjtcbmltcG9ydCB7IENvbW1vbk9wdGlvbnMgfSBmcm9tIFwiLi4vQ29tbW9uT3B0aW9ucy9Db21tb25PcHRpb25zXCI7XG5pbXBvcnQgeyBkZXZNb2RlT3B0aW9uLCBsb2dWZXJib3NpdHlPcHRpb24gfSBmcm9tIFwiLi4vQ29tbW9uT3B0aW9ucy9Db21tb25PcHRpb25EZWZpbnRpb25zXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVN0YXRzT3B0aW9ucyBleHRlbmRzIENvbW1vbk9wdGlvbnMge1xuICAgIGZvcm1HbG9iczogc3RyaW5nW107XG4gICAgYnlFbmdpbmU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBmb3JtU3RhdHNDb21tYW5kRGVmaW5pdGlvbiA9IGNvbW1hbmREZWZpbml0aW9uPFwiZm9ybS1zdGF0c1wiLCBGb3JtU3RhdHNPcHRpb25zPihcbiAgICBcImZvcm0tc3RhdHNcIixcbiAgICBcImZvcm0tc3RhdHNcIixcbiAgICBvcHRpb25zRGVmaW5pdGlvbihcbiAgICAgICAge1xuICAgICAgICAgICAgYWxpYXM6IFwiZ1wiLFxuICAgICAgICAgICAgbmFtZTogXCJnZnZzXCIsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHsgZm9ybUdsb2JzOiBbXSB9LFxuICAgICAgICAgICAgcGFyc2U6IChpbnB1dDogc3RyaW5nW10pID0+ICh7IGZvcm1HbG9iczogaW5wdXQgfSksXG4gICAgICAgICAgICBkZWZhdWx0T3B0aW9uOiB0cnVlLFxuICAgICAgICAgICAgbXVsdGlwbGU6IHRydWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCLQntC00L3QsCDQuNC70Lgg0L3QtdGB0LrQvtC70YzQutC+IEdGViDQuNC70LggR0ZWLdC80LDRgdC+0Log0LTQu9GPINC/0LXRgNC10YHQvtCx0YDQutC4LlwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImJ5LWVuZ2luZVwiLFxuICAgICAgICAgICAgZG9lc05vdFJlcXVpcmVWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogeyBieUVuZ2luZTogZmFsc2UgfSxcbiAgICAgICAgICAgIHBhcnNlOiAoeDogYm9vbGVhbikgPT4gKHsgYnlFbmdpbmU6IHggfSksXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCLQn9C+0LrQsNC30LDRgtGMINGB0YLQsNGC0LjRgdC60LjRgyDQv9C1INCy0LXRgNGB0LjRj9C8INC00LLQuNC20LrQsC5cIixcbiAgICAgICAgfSxcbiAgICAgICAgZGV2TW9kZU9wdGlvbixcbiAgICAgICAgbG9nVmVyYm9zaXR5T3B0aW9uXG4gICAgKSxcbiAgICB7XG4gICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgXCLQktGL0L/QvtC70L3Rj9C10YIg0YHQsdC+0YDQutGDINC+0LTQvdC+0Lkg0LjQu9C4INC90LXRgdC60L7Qu9GM0LrQuNGFINGE0L7RgNC8LlxcblwiICtcbiAgICAgICAgICAgIFwi0J/QvtC00YDQvtCx0L3QtdC1OiBodHRwczovL2dpdC5za2Jrb250dXIucnUva2UvY2FuZHktdXRpbHMvYmxvYi9uZXctY2FuZHktdG9vbC1jbGkvUkVBRE1FLm1kXCIsXG4gICAgfVxuKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsMEJBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLHVCQUFBLEdBQUFELE9BQUE7QUFPTyxNQUFNRSwwQkFBMEIsR0FBRyxJQUFBQyw0Q0FBaUIsRUFDdkQsWUFBWSxFQUNaLFlBQVksRUFDWixJQUFBQyw0Q0FBaUIsRUFDYjtFQUNJQyxLQUFLLEVBQUUsR0FBRztFQUNWQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxZQUFZLEVBQUU7SUFBRUMsU0FBUyxFQUFFO0VBQUcsQ0FBQztFQUMvQkMsS0FBSyxFQUFHQyxLQUFlLEtBQU07SUFBRUYsU0FBUyxFQUFFRTtFQUFNLENBQUMsQ0FBQztFQUNsREMsYUFBYSxFQUFFLElBQUk7RUFDbkJDLFFBQVEsRUFBRSxJQUFJO0VBQ2RDLFdBQVcsRUFBRTtBQUNqQixDQUFDLEVBQ0Q7RUFDSVAsSUFBSSxFQUFFLFdBQVc7RUFDakJRLG1CQUFtQixFQUFFLElBQUk7RUFDekJQLFlBQVksRUFBRTtJQUFFUSxRQUFRLEVBQUU7RUFBTSxDQUFDO0VBQ2pDTixLQUFLLEVBQUdPLENBQVUsS0FBTTtJQUFFRCxRQUFRLEVBQUVDO0VBQUUsQ0FBQyxDQUFDO0VBQ3hDSCxXQUFXLEVBQUU7QUFDakIsQ0FBQyxFQUNESSxxQ0FBYSxFQUNiQywwQ0FDSixDQUFDLEVBQ0Q7RUFDSUwsV0FBVyxFQUNQLCtDQUErQyxHQUMvQztBQUNSLENBQ0osQ0FBQztBQUFDTSxPQUFBLENBQUFqQiwwQkFBQSxHQUFBQSwwQkFBQSJ9
@@ -1,42 +1,31 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.runFormStats = runFormStats;
9
-
10
8
  var _path = _interopRequireDefault(require("path"));
11
-
12
9
  var _ResolveFormInfo = require("../../BuildTasks/ResolveFormInfo");
13
-
14
10
  var _FormGlobsUtils = require("../../Commons/FormGlobsUtils");
15
-
16
11
  var _IterableUtils = require("../../../../Common/IterableUtils");
17
-
18
12
  async function runFormStats(context, options, farmDirectory) {
19
13
  const formGlobs = await _FormGlobsUtils.FormGlobs.validateGlobs(await _FormGlobsUtils.FormGlobs.resolveSpecifiers(options.formGlobs, farmDirectory), farmDirectory);
20
14
  const gfvs = await _FormGlobsUtils.FormGlobs.resolveGlobsToGfvs(formGlobs, farmDirectory);
21
15
  const engineToGfvMap = {};
22
-
23
16
  for (const gfv of gfvs) {
24
17
  try {
25
18
  var _engineToGfvMap$engin, _engineToGfvMap$engin2;
26
-
27
19
  const formJsonContent = await (0, _ResolveFormInfo.readFormConfig)(_path.default.join(farmDirectory, "forms", gfv, "form.json"), context.logger);
28
20
  let engineBranch;
29
-
30
21
  if (formJsonContent.mode === "copy-legacy-prebuilt-resources") {
31
22
  engineBranch = "LegacyCopyPrebuilt";
32
23
  } else if (formJsonContent.mode === "no-editor") {
33
24
  engineBranch = "NoEditor";
34
25
  } else {
35
26
  var _formJsonContent$depe, _formJsonContent$depe2;
36
-
37
27
  engineBranch = (_formJsonContent$depe = (_formJsonContent$depe2 = formJsonContent.dependencies) === null || _formJsonContent$depe2 === void 0 ? void 0 : _formJsonContent$depe2.engine) !== null && _formJsonContent$depe !== void 0 ? _formJsonContent$depe : "Unknown";
38
28
  }
39
-
40
29
  engineToGfvMap[engineBranch] = (_engineToGfvMap$engin = engineToGfvMap[engineBranch]) !== null && _engineToGfvMap$engin !== void 0 ? _engineToGfvMap$engin : [];
41
30
  (_engineToGfvMap$engin2 = engineToGfvMap[engineBranch]) === null || _engineToGfvMap$engin2 === void 0 ? void 0 : _engineToGfvMap$engin2.push(gfv);
42
31
  } catch (e) {
@@ -44,17 +33,14 @@ async function runFormStats(context, options, farmDirectory) {
44
33
  engineToGfvMap["Unknown"].push(gfv);
45
34
  }
46
35
  }
47
-
48
36
  for (const [engine, engineGfvs] of (0, _IterableUtils.iterateEntries)(engineToGfvMap)) {
49
37
  context.logger.log(engine);
50
38
  context.logger.log(` ${engineGfvs.length} forms`);
51
39
  }
52
-
53
40
  context.logger.log("");
54
-
55
41
  for (const engine of Object.keys(engineToGfvMap)) {
56
42
  context.logger.log(engine);
57
43
  context.logger.log(` ${gfvs.join(", ")}`);
58
44
  }
59
45
  }
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9Gb3JtU3RhdHMvUnVuRm9ybVN0YXRzLnRzIl0sIm5hbWVzIjpbInJ1bkZvcm1TdGF0cyIsImNvbnRleHQiLCJvcHRpb25zIiwiZmFybURpcmVjdG9yeSIsImZvcm1HbG9icyIsIkZvcm1HbG9icyIsInZhbGlkYXRlR2xvYnMiLCJyZXNvbHZlU3BlY2lmaWVycyIsImdmdnMiLCJyZXNvbHZlR2xvYnNUb0dmdnMiLCJlbmdpbmVUb0dmdk1hcCIsImdmdiIsImZvcm1Kc29uQ29udGVudCIsInBhdGgiLCJqb2luIiwibG9nZ2VyIiwiZW5naW5lQnJhbmNoIiwibW9kZSIsImRlcGVuZGVuY2llcyIsImVuZ2luZSIsInB1c2giLCJlIiwiZW5naW5lR2Z2cyIsImxvZyIsImxlbmd0aCIsIk9iamVjdCIsImtleXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUVBOztBQUNBOztBQUlPLGVBQWVBLFlBQWYsQ0FDSEMsT0FERyxFQUVIQyxPQUZHLEVBR0hDLGFBSEcsRUFJVTtBQUNiLFFBQU1DLFNBQVMsR0FBRyxNQUFNQywwQkFBVUMsYUFBVixDQUNwQixNQUFNRCwwQkFBVUUsaUJBQVYsQ0FBNEJMLE9BQU8sQ0FBQ0UsU0FBcEMsRUFBK0NELGFBQS9DLENBRGMsRUFFcEJBLGFBRm9CLENBQXhCO0FBSUEsUUFBTUssSUFBSSxHQUFHLE1BQU1ILDBCQUFVSSxrQkFBVixDQUE2QkwsU0FBN0IsRUFBd0NELGFBQXhDLENBQW5CO0FBRUEsUUFBTU8sY0FBd0MsR0FBRyxFQUFqRDs7QUFDQSxPQUFLLE1BQU1DLEdBQVgsSUFBa0JILElBQWxCLEVBQXdCO0FBQ3BCLFFBQUk7QUFBQTs7QUFDQSxZQUFNSSxlQUFlLEdBQUcsTUFBTSxxQ0FDMUJDLGNBQUtDLElBQUwsQ0FBVVgsYUFBVixFQUF5QixPQUF6QixFQUFrQ1EsR0FBbEMsRUFBdUMsV0FBdkMsQ0FEMEIsRUFFMUJWLE9BQU8sQ0FBQ2MsTUFGa0IsQ0FBOUI7QUFJQSxVQUFJQyxZQUFKOztBQUNBLFVBQUlKLGVBQWUsQ0FBQ0ssSUFBaEIsS0FBeUIsZ0NBQTdCLEVBQStEO0FBQzNERCxRQUFBQSxZQUFZLEdBQUcsb0JBQWY7QUFDSCxPQUZELE1BRU8sSUFBSUosZUFBZSxDQUFDSyxJQUFoQixLQUF5QixXQUE3QixFQUEwQztBQUM3Q0QsUUFBQUEsWUFBWSxHQUFHLFVBQWY7QUFDSCxPQUZNLE1BRUE7QUFBQTs7QUFDSEEsUUFBQUEsWUFBWSxzREFBR0osZUFBZSxDQUFDTSxZQUFuQiwyREFBRyx1QkFBOEJDLE1BQWpDLHlFQUEyQyxTQUF2RDtBQUNIOztBQUNEVCxNQUFBQSxjQUFjLENBQUNNLFlBQUQsQ0FBZCw0QkFBK0JOLGNBQWMsQ0FBQ00sWUFBRCxDQUE3Qyx5RUFBK0QsRUFBL0Q7QUFDQSxnQ0FBQU4sY0FBYyxDQUFDTSxZQUFELENBQWQsa0ZBQThCSSxJQUE5QixDQUFtQ1QsR0FBbkM7QUFDSCxLQWZELENBZUUsT0FBT1UsQ0FBUCxFQUFVO0FBQ1JYLE1BQUFBLGNBQWMsQ0FBQyxTQUFELENBQWQsR0FBNEJBLGNBQWMsQ0FBQyxTQUFELENBQWQsSUFBNkIsRUFBekQ7QUFDQUEsTUFBQUEsY0FBYyxDQUFDLFNBQUQsQ0FBZCxDQUEwQlUsSUFBMUIsQ0FBK0JULEdBQS9CO0FBQ0g7QUFDSjs7QUFFRCxPQUFLLE1BQU0sQ0FBQ1EsTUFBRCxFQUFTRyxVQUFULENBQVgsSUFBbUMsbUNBQWVaLGNBQWYsQ0FBbkMsRUFBbUU7QUFDL0RULElBQUFBLE9BQU8sQ0FBQ2MsTUFBUixDQUFlUSxHQUFmLENBQW1CSixNQUFuQjtBQUNBbEIsSUFBQUEsT0FBTyxDQUFDYyxNQUFSLENBQWVRLEdBQWYsQ0FBb0IsS0FBSUQsVUFBVSxDQUFDRSxNQUFPLFFBQTFDO0FBQ0g7O0FBQ0R2QixFQUFBQSxPQUFPLENBQUNjLE1BQVIsQ0FBZVEsR0FBZixDQUFtQixFQUFuQjs7QUFDQSxPQUFLLE1BQU1KLE1BQVgsSUFBcUJNLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZaEIsY0FBWixDQUFyQixFQUFrRDtBQUM5Q1QsSUFBQUEsT0FBTyxDQUFDYyxNQUFSLENBQWVRLEdBQWYsQ0FBbUJKLE1BQW5CO0FBQ0FsQixJQUFBQSxPQUFPLENBQUNjLE1BQVIsQ0FBZVEsR0FBZixDQUFvQixLQUFJZixJQUFJLENBQUNNLElBQUwsQ0FBVSxJQUFWLENBQWdCLEVBQXhDO0FBQ0g7QUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IHJlYWRGb3JtQ29uZmlnIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvUmVzb2x2ZUZvcm1JbmZvXCI7XG5pbXBvcnQgeyBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IEZvcm1HbG9icyB9IGZyb20gXCIuLi8uLi9Db21tb25zL0Zvcm1HbG9ic1V0aWxzXCI7XG5pbXBvcnQgeyBpdGVyYXRlRW50cmllcyB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vSXRlcmFibGVVdGlsc1wiO1xuXG5pbXBvcnQgeyBGb3JtU3RhdHNPcHRpb25zIH0gZnJvbSBcIi4vRm9ybVN0YXRzT3B0aW9uc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuRm9ybVN0YXRzKFxuICAgIGNvbnRleHQ6IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQsXG4gICAgb3B0aW9uczogRm9ybVN0YXRzT3B0aW9ucyxcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZvcm1HbG9icyA9IGF3YWl0IEZvcm1HbG9icy52YWxpZGF0ZUdsb2JzKFxuICAgICAgICBhd2FpdCBGb3JtR2xvYnMucmVzb2x2ZVNwZWNpZmllcnMob3B0aW9ucy5mb3JtR2xvYnMsIGZhcm1EaXJlY3RvcnkpLFxuICAgICAgICBmYXJtRGlyZWN0b3J5XG4gICAgKTtcbiAgICBjb25zdCBnZnZzID0gYXdhaXQgRm9ybUdsb2JzLnJlc29sdmVHbG9ic1RvR2Z2cyhmb3JtR2xvYnMsIGZhcm1EaXJlY3RvcnkpO1xuXG4gICAgY29uc3QgZW5naW5lVG9HZnZNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHt9O1xuICAgIGZvciAoY29uc3QgZ2Z2IG9mIGdmdnMpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1Kc29uQ29udGVudCA9IGF3YWl0IHJlYWRGb3JtQ29uZmlnKFxuICAgICAgICAgICAgICAgIHBhdGguam9pbihmYXJtRGlyZWN0b3J5LCBcImZvcm1zXCIsIGdmdiwgXCJmb3JtLmpzb25cIiksXG4gICAgICAgICAgICAgICAgY29udGV4dC5sb2dnZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBsZXQgZW5naW5lQnJhbmNoOiBzdHJpbmc7XG4gICAgICAgICAgICBpZiAoZm9ybUpzb25Db250ZW50Lm1vZGUgPT09IFwiY29weS1sZWdhY3ktcHJlYnVpbHQtcmVzb3VyY2VzXCIpIHtcbiAgICAgICAgICAgICAgICBlbmdpbmVCcmFuY2ggPSBcIkxlZ2FjeUNvcHlQcmVidWlsdFwiO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmb3JtSnNvbkNvbnRlbnQubW9kZSA9PT0gXCJuby1lZGl0b3JcIikge1xuICAgICAgICAgICAgICAgIGVuZ2luZUJyYW5jaCA9IFwiTm9FZGl0b3JcIjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZW5naW5lQnJhbmNoID0gZm9ybUpzb25Db250ZW50LmRlcGVuZGVuY2llcz8uZW5naW5lID8/IFwiVW5rbm93blwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZW5naW5lVG9HZnZNYXBbZW5naW5lQnJhbmNoXSA9IGVuZ2luZVRvR2Z2TWFwW2VuZ2luZUJyYW5jaF0gPz8gW107XG4gICAgICAgICAgICBlbmdpbmVUb0dmdk1hcFtlbmdpbmVCcmFuY2hdPy5wdXNoKGdmdik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGVuZ2luZVRvR2Z2TWFwW1wiVW5rbm93blwiXSA9IGVuZ2luZVRvR2Z2TWFwW1wiVW5rbm93blwiXSB8fCBbXTtcbiAgICAgICAgICAgIGVuZ2luZVRvR2Z2TWFwW1wiVW5rbm93blwiXS5wdXNoKGdmdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFtlbmdpbmUsIGVuZ2luZUdmdnNdIG9mIGl0ZXJhdGVFbnRyaWVzKGVuZ2luZVRvR2Z2TWFwKSkge1xuICAgICAgICBjb250ZXh0LmxvZ2dlci5sb2coZW5naW5lKTtcbiAgICAgICAgY29udGV4dC5sb2dnZXIubG9nKGAgICR7ZW5naW5lR2Z2cy5sZW5ndGh9IGZvcm1zYCk7XG4gICAgfVxuICAgIGNvbnRleHQubG9nZ2VyLmxvZyhcIlwiKTtcbiAgICBmb3IgKGNvbnN0IGVuZ2luZSBvZiBPYmplY3Qua2V5cyhlbmdpbmVUb0dmdk1hcCkpIHtcbiAgICAgICAgY29udGV4dC5sb2dnZXIubG9nKGVuZ2luZSk7XG4gICAgICAgIGNvbnRleHQubG9nZ2VyLmxvZyhgICAke2dmdnMuam9pbihcIiwgXCIpfWApO1xuICAgIH1cbn1cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX1Jlc29sdmVGb3JtSW5mbyIsIl9Gb3JtR2xvYnNVdGlscyIsIl9JdGVyYWJsZVV0aWxzIiwicnVuRm9ybVN0YXRzIiwiY29udGV4dCIsIm9wdGlvbnMiLCJmYXJtRGlyZWN0b3J5IiwiZm9ybUdsb2JzIiwiRm9ybUdsb2JzIiwidmFsaWRhdGVHbG9icyIsInJlc29sdmVTcGVjaWZpZXJzIiwiZ2Z2cyIsInJlc29sdmVHbG9ic1RvR2Z2cyIsImVuZ2luZVRvR2Z2TWFwIiwiZ2Z2IiwiX2VuZ2luZVRvR2Z2TWFwJGVuZ2luIiwiX2VuZ2luZVRvR2Z2TWFwJGVuZ2luMiIsImZvcm1Kc29uQ29udGVudCIsInJlYWRGb3JtQ29uZmlnIiwicGF0aCIsImpvaW4iLCJsb2dnZXIiLCJlbmdpbmVCcmFuY2giLCJtb2RlIiwiX2Zvcm1Kc29uQ29udGVudCRkZXBlIiwiX2Zvcm1Kc29uQ29udGVudCRkZXBlMiIsImRlcGVuZGVuY2llcyIsImVuZ2luZSIsInB1c2giLCJlIiwiZW5naW5lR2Z2cyIsIml0ZXJhdGVFbnRyaWVzIiwibG9nIiwibGVuZ3RoIiwiT2JqZWN0Iiwia2V5cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9Gb3JtU3RhdHMvUnVuRm9ybVN0YXRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IHJlYWRGb3JtQ29uZmlnIH0gZnJvbSBcIi4uLy4uL0J1aWxkVGFza3MvUmVzb2x2ZUZvcm1JbmZvXCI7XG5pbXBvcnQgeyBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IEZvcm1HbG9icyB9IGZyb20gXCIuLi8uLi9Db21tb25zL0Zvcm1HbG9ic1V0aWxzXCI7XG5pbXBvcnQgeyBpdGVyYXRlRW50cmllcyB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vSXRlcmFibGVVdGlsc1wiO1xuXG5pbXBvcnQgeyBGb3JtU3RhdHNPcHRpb25zIH0gZnJvbSBcIi4vRm9ybVN0YXRzT3B0aW9uc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuRm9ybVN0YXRzKFxuICAgIGNvbnRleHQ6IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQsXG4gICAgb3B0aW9uczogRm9ybVN0YXRzT3B0aW9ucyxcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZvcm1HbG9icyA9IGF3YWl0IEZvcm1HbG9icy52YWxpZGF0ZUdsb2JzKFxuICAgICAgICBhd2FpdCBGb3JtR2xvYnMucmVzb2x2ZVNwZWNpZmllcnMob3B0aW9ucy5mb3JtR2xvYnMsIGZhcm1EaXJlY3RvcnkpLFxuICAgICAgICBmYXJtRGlyZWN0b3J5XG4gICAgKTtcbiAgICBjb25zdCBnZnZzID0gYXdhaXQgRm9ybUdsb2JzLnJlc29sdmVHbG9ic1RvR2Z2cyhmb3JtR2xvYnMsIGZhcm1EaXJlY3RvcnkpO1xuXG4gICAgY29uc3QgZW5naW5lVG9HZnZNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHt9O1xuICAgIGZvciAoY29uc3QgZ2Z2IG9mIGdmdnMpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1Kc29uQ29udGVudCA9IGF3YWl0IHJlYWRGb3JtQ29uZmlnKFxuICAgICAgICAgICAgICAgIHBhdGguam9pbihmYXJtRGlyZWN0b3J5LCBcImZvcm1zXCIsIGdmdiwgXCJmb3JtLmpzb25cIiksXG4gICAgICAgICAgICAgICAgY29udGV4dC5sb2dnZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBsZXQgZW5naW5lQnJhbmNoOiBzdHJpbmc7XG4gICAgICAgICAgICBpZiAoZm9ybUpzb25Db250ZW50Lm1vZGUgPT09IFwiY29weS1sZWdhY3ktcHJlYnVpbHQtcmVzb3VyY2VzXCIpIHtcbiAgICAgICAgICAgICAgICBlbmdpbmVCcmFuY2ggPSBcIkxlZ2FjeUNvcHlQcmVidWlsdFwiO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmb3JtSnNvbkNvbnRlbnQubW9kZSA9PT0gXCJuby1lZGl0b3JcIikge1xuICAgICAgICAgICAgICAgIGVuZ2luZUJyYW5jaCA9IFwiTm9FZGl0b3JcIjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZW5naW5lQnJhbmNoID0gZm9ybUpzb25Db250ZW50LmRlcGVuZGVuY2llcz8uZW5naW5lID8/IFwiVW5rbm93blwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZW5naW5lVG9HZnZNYXBbZW5naW5lQnJhbmNoXSA9IGVuZ2luZVRvR2Z2TWFwW2VuZ2luZUJyYW5jaF0gPz8gW107XG4gICAgICAgICAgICBlbmdpbmVUb0dmdk1hcFtlbmdpbmVCcmFuY2hdPy5wdXNoKGdmdik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGVuZ2luZVRvR2Z2TWFwW1wiVW5rbm93blwiXSA9IGVuZ2luZVRvR2Z2TWFwW1wiVW5rbm93blwiXSB8fCBbXTtcbiAgICAgICAgICAgIGVuZ2luZVRvR2Z2TWFwW1wiVW5rbm93blwiXS5wdXNoKGdmdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFtlbmdpbmUsIGVuZ2luZUdmdnNdIG9mIGl0ZXJhdGVFbnRyaWVzKGVuZ2luZVRvR2Z2TWFwKSkge1xuICAgICAgICBjb250ZXh0LmxvZ2dlci5sb2coZW5naW5lKTtcbiAgICAgICAgY29udGV4dC5sb2dnZXIubG9nKGAgICR7ZW5naW5lR2Z2cy5sZW5ndGh9IGZvcm1zYCk7XG4gICAgfVxuICAgIGNvbnRleHQubG9nZ2VyLmxvZyhcIlwiKTtcbiAgICBmb3IgKGNvbnN0IGVuZ2luZSBvZiBPYmplY3Qua2V5cyhlbmdpbmVUb0dmdk1hcCkpIHtcbiAgICAgICAgY29udGV4dC5sb2dnZXIubG9nKGVuZ2luZSk7XG4gICAgICAgIGNvbnRleHQubG9nZ2VyLmxvZyhgICAke2dmdnMuam9pbihcIiwgXCIpfWApO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLGdCQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxlQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxjQUFBLEdBQUFILE9BQUE7QUFJTyxlQUFlSSxZQUFZQSxDQUM5QkMsT0FBa0MsRUFDbENDLE9BQXlCLEVBQ3pCQyxhQUFxQixFQUNSO0VBQ2IsTUFBTUMsU0FBUyxHQUFHLE1BQU1DLHlCQUFTLENBQUNDLGFBQWEsQ0FDM0MsTUFBTUQseUJBQVMsQ0FBQ0UsaUJBQWlCLENBQUNMLE9BQU8sQ0FBQ0UsU0FBUyxFQUFFRCxhQUFhLENBQUMsRUFDbkVBLGFBQ0osQ0FBQztFQUNELE1BQU1LLElBQUksR0FBRyxNQUFNSCx5QkFBUyxDQUFDSSxrQkFBa0IsQ0FBQ0wsU0FBUyxFQUFFRCxhQUFhLENBQUM7RUFFekUsTUFBTU8sY0FBd0MsR0FBRyxDQUFDLENBQUM7RUFDbkQsS0FBSyxNQUFNQyxHQUFHLElBQUlILElBQUksRUFBRTtJQUNwQixJQUFJO01BQUEsSUFBQUkscUJBQUEsRUFBQUMsc0JBQUE7TUFDQSxNQUFNQyxlQUFlLEdBQUcsTUFBTSxJQUFBQywrQkFBYyxFQUN4Q0MsYUFBSSxDQUFDQyxJQUFJLENBQUNkLGFBQWEsRUFBRSxPQUFPLEVBQUVRLEdBQUcsRUFBRSxXQUFXLENBQUMsRUFDbkRWLE9BQU8sQ0FBQ2lCLE1BQ1osQ0FBQztNQUNELElBQUlDLFlBQW9CO01BQ3hCLElBQUlMLGVBQWUsQ0FBQ00sSUFBSSxLQUFLLGdDQUFnQyxFQUFFO1FBQzNERCxZQUFZLEdBQUcsb0JBQW9CO01BQ3ZDLENBQUMsTUFBTSxJQUFJTCxlQUFlLENBQUNNLElBQUksS0FBSyxXQUFXLEVBQUU7UUFDN0NELFlBQVksR0FBRyxVQUFVO01BQzdCLENBQUMsTUFBTTtRQUFBLElBQUFFLHFCQUFBLEVBQUFDLHNCQUFBO1FBQ0hILFlBQVksSUFBQUUscUJBQUEsSUFBQUMsc0JBQUEsR0FBR1IsZUFBZSxDQUFDUyxZQUFZLGNBQUFELHNCQUFBLHVCQUE1QkEsc0JBQUEsQ0FBOEJFLE1BQU0sY0FBQUgscUJBQUEsY0FBQUEscUJBQUEsR0FBSSxTQUFTO01BQ3BFO01BQ0FYLGNBQWMsQ0FBQ1MsWUFBWSxDQUFDLElBQUFQLHFCQUFBLEdBQUdGLGNBQWMsQ0FBQ1MsWUFBWSxDQUFDLGNBQUFQLHFCQUFBLGNBQUFBLHFCQUFBLEdBQUksRUFBRTtNQUNqRSxDQUFBQyxzQkFBQSxHQUFBSCxjQUFjLENBQUNTLFlBQVksQ0FBQyxjQUFBTixzQkFBQSx1QkFBNUJBLHNCQUFBLENBQThCWSxJQUFJLENBQUNkLEdBQUcsQ0FBQztJQUMzQyxDQUFDLENBQUMsT0FBT2UsQ0FBQyxFQUFFO01BQ1JoQixjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUdBLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO01BQzNEQSxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUNlLElBQUksQ0FBQ2QsR0FBRyxDQUFDO0lBQ3ZDO0VBQ0o7RUFFQSxLQUFLLE1BQU0sQ0FBQ2EsTUFBTSxFQUFFRyxVQUFVLENBQUMsSUFBSSxJQUFBQyw2QkFBYyxFQUFDbEIsY0FBYyxDQUFDLEVBQUU7SUFDL0RULE9BQU8sQ0FBQ2lCLE1BQU0sQ0FBQ1csR0FBRyxDQUFDTCxNQUFNLENBQUM7SUFDMUJ2QixPQUFPLENBQUNpQixNQUFNLENBQUNXLEdBQUcsQ0FBRSxLQUFJRixVQUFVLENBQUNHLE1BQU8sUUFBTyxDQUFDO0VBQ3REO0VBQ0E3QixPQUFPLENBQUNpQixNQUFNLENBQUNXLEdBQUcsQ0FBQyxFQUFFLENBQUM7RUFDdEIsS0FBSyxNQUFNTCxNQUFNLElBQUlPLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDdEIsY0FBYyxDQUFDLEVBQUU7SUFDOUNULE9BQU8sQ0FBQ2lCLE1BQU0sQ0FBQ1csR0FBRyxDQUFDTCxNQUFNLENBQUM7SUFDMUJ2QixPQUFPLENBQUNpQixNQUFNLENBQUNXLEdBQUcsQ0FBRSxLQUFJckIsSUFBSSxDQUFDUyxJQUFJLENBQUMsSUFBSSxDQUFFLEVBQUMsQ0FBQztFQUM5QztBQUNKIn0=