@decaf-ts/integrations 0.3.8 → 0.3.10

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 (1167) hide show
  1. package/dist/integrations.cjs +2 -1649
  2. package/dist/integrations.cjs.map +1 -0
  3. package/dist/integrations.js +2 -1885
  4. package/dist/integrations.js.map +1 -0
  5. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
  6. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +1 -0
  7. package/lib/cjs/blob/azure/index.cjs +2 -2
  8. package/lib/cjs/blob/azure/index.cjs.map +1 -0
  9. package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
  10. package/lib/cjs/blob/core/BlobErrors.cjs.map +1 -0
  11. package/lib/cjs/blob/core/BlobKey.cjs +2 -2
  12. package/lib/cjs/blob/core/BlobKey.cjs.map +1 -0
  13. package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
  14. package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +1 -0
  15. package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
  16. package/lib/cjs/blob/core/BlobStoreService.cjs.map +1 -0
  17. package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
  18. package/lib/cjs/blob/core/BlobTypes.cjs.map +1 -0
  19. package/lib/cjs/blob/core/BlobValue.cjs +2 -2
  20. package/lib/cjs/blob/core/BlobValue.cjs.map +1 -0
  21. package/lib/cjs/blob/core/index.cjs +2 -2
  22. package/lib/cjs/blob/core/index.cjs.map +1 -0
  23. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
  24. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +1 -0
  25. package/lib/cjs/blob/gcp/index.cjs +2 -2
  26. package/lib/cjs/blob/gcp/index.cjs.map +1 -0
  27. package/lib/cjs/blob/index.cjs +2 -2
  28. package/lib/cjs/blob/index.cjs.map +1 -0
  29. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs +2 -2
  30. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +1 -0
  31. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs +2 -2
  32. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +1 -0
  33. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs +2 -2
  34. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +1 -0
  35. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs +2 -2
  36. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +1 -0
  37. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs +2 -2
  38. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +1 -0
  39. package/lib/cjs/blob/ipfs/index.cjs +2 -2
  40. package/lib/cjs/blob/ipfs/index.cjs.map +1 -0
  41. package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
  42. package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +1 -0
  43. package/lib/cjs/blob/local/index.cjs +2 -2
  44. package/lib/cjs/blob/local/index.cjs.map +1 -0
  45. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
  46. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +1 -0
  47. package/lib/cjs/blob/memory/index.cjs +2 -2
  48. package/lib/cjs/blob/memory/index.cjs.map +1 -0
  49. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
  50. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +1 -0
  51. package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
  52. package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +1 -0
  53. package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
  54. package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -0
  55. package/lib/cjs/blob/s3/index.cjs +2 -2
  56. package/lib/cjs/blob/s3/index.cjs.map +1 -0
  57. package/lib/cjs/docker/DockerComposeService.cjs +2 -2
  58. package/lib/cjs/docker/DockerComposeService.cjs.map +1 -0
  59. package/lib/cjs/docker/index.cjs +2 -2
  60. package/lib/cjs/docker/index.cjs.map +1 -0
  61. package/lib/cjs/graph/engine/constants.cjs +58 -0
  62. package/lib/cjs/graph/engine/constants.cjs.map +1 -0
  63. package/lib/cjs/graph/engine/decorators.cjs +4 -0
  64. package/lib/cjs/graph/engine/decorators.cjs.map +1 -0
  65. package/lib/cjs/graph/engine/errors/GraphCycleError.cjs +20 -0
  66. package/lib/cjs/graph/engine/errors/GraphCycleError.cjs.map +1 -0
  67. package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs +27 -0
  68. package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs.map +1 -0
  69. package/lib/cjs/graph/engine/errors/GraphInputError.cjs +20 -0
  70. package/lib/cjs/graph/engine/errors/GraphInputError.cjs.map +1 -0
  71. package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs +20 -0
  72. package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs.map +1 -0
  73. package/lib/cjs/graph/engine/errors/GraphPinningError.cjs +20 -0
  74. package/lib/cjs/graph/engine/errors/GraphPinningError.cjs.map +1 -0
  75. package/lib/cjs/graph/engine/errors/GraphPortError.cjs +20 -0
  76. package/lib/cjs/graph/engine/errors/GraphPortError.cjs.map +1 -0
  77. package/lib/cjs/graph/engine/errors/GraphStoreError.cjs +20 -0
  78. package/lib/cjs/graph/engine/errors/GraphStoreError.cjs.map +1 -0
  79. package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs +20 -0
  80. package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs.map +1 -0
  81. package/lib/cjs/graph/engine/errors/index.cjs +31 -0
  82. package/lib/cjs/graph/engine/errors/index.cjs.map +1 -0
  83. package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs +4 -0
  84. package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs.map +1 -0
  85. package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs +40 -0
  86. package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs.map +1 -0
  87. package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs +37 -0
  88. package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs.map +1 -0
  89. package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs +4 -0
  90. package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs.map +1 -0
  91. package/lib/cjs/graph/engine/events/index.cjs +27 -0
  92. package/lib/cjs/graph/engine/events/index.cjs.map +1 -0
  93. package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs +4 -0
  94. package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs.map +1 -0
  95. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +79 -0
  96. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs.map +1 -0
  97. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +413 -0
  98. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs.map +1 -0
  99. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +32 -0
  100. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs.map +1 -0
  101. package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs +30 -0
  102. package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs.map +1 -0
  103. package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs +4 -0
  104. package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs.map +1 -0
  105. package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +103 -0
  106. package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs.map +1 -0
  107. package/lib/cjs/graph/engine/execution/index.cjs +30 -0
  108. package/lib/cjs/graph/engine/execution/index.cjs.map +1 -0
  109. package/lib/cjs/graph/engine/index.cjs +84 -0
  110. package/lib/cjs/graph/engine/index.cjs.map +1 -0
  111. package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs +87 -0
  112. package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs.map +1 -0
  113. package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +85 -0
  114. package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs.map +1 -0
  115. package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs +85 -0
  116. package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs.map +1 -0
  117. package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs +16 -0
  118. package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs.map +1 -0
  119. package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +77 -0
  120. package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs.map +1 -0
  121. package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +78 -0
  122. package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs.map +1 -0
  123. package/lib/cjs/graph/engine/loops/index.cjs +29 -0
  124. package/lib/cjs/graph/engine/loops/index.cjs.map +1 -0
  125. package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs +28 -0
  126. package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs.map +1 -0
  127. package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs +20 -0
  128. package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs.map +1 -0
  129. package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs +34 -0
  130. package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs.map +1 -0
  131. package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs +191 -0
  132. package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs.map +1 -0
  133. package/lib/cjs/graph/engine/pinning/index.cjs +27 -0
  134. package/lib/cjs/graph/engine/pinning/index.cjs.map +1 -0
  135. package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs +4 -0
  136. package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs.map +1 -0
  137. package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs +4 -0
  138. package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs.map +1 -0
  139. package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs +4 -0
  140. package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs.map +1 -0
  141. package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs +4 -0
  142. package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs.map +1 -0
  143. package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs +197 -0
  144. package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs.map +1 -0
  145. package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs +172 -0
  146. package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs.map +1 -0
  147. package/lib/cjs/graph/engine/planning/GraphTopology.cjs +57 -0
  148. package/lib/cjs/graph/engine/planning/GraphTopology.cjs.map +1 -0
  149. package/lib/cjs/graph/engine/planning/index.cjs +30 -0
  150. package/lib/cjs/graph/engine/planning/index.cjs.map +1 -0
  151. package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs +44 -0
  152. package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs.map +1 -0
  153. package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs +27 -0
  154. package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs.map +1 -0
  155. package/lib/cjs/graph/engine/registry/index.cjs +25 -0
  156. package/lib/cjs/graph/engine/registry/index.cjs.map +1 -0
  157. package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs +53 -0
  158. package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs.map +1 -0
  159. package/lib/cjs/graph/engine/snapshots/index.cjs +24 -0
  160. package/lib/cjs/graph/engine/snapshots/index.cjs.map +1 -0
  161. package/lib/cjs/graph/engine/store/GraphCachedValue.cjs +4 -0
  162. package/lib/cjs/graph/engine/store/GraphCachedValue.cjs.map +1 -0
  163. package/lib/cjs/graph/engine/store/GraphValueKey.cjs +4 -0
  164. package/lib/cjs/graph/engine/store/GraphValueKey.cjs.map +1 -0
  165. package/lib/cjs/graph/engine/store/GraphValueStore.cjs +76 -0
  166. package/lib/cjs/graph/engine/store/GraphValueStore.cjs.map +1 -0
  167. package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs +4 -0
  168. package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs.map +1 -0
  169. package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs +69 -0
  170. package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs.map +1 -0
  171. package/lib/cjs/graph/engine/store/index.cjs +28 -0
  172. package/lib/cjs/graph/engine/store/index.cjs.map +1 -0
  173. package/lib/cjs/graph/engine/types.cjs +4 -0
  174. package/lib/cjs/graph/engine/types.cjs.map +1 -0
  175. package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs +33 -0
  176. package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs.map +1 -0
  177. package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs +58 -0
  178. package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs.map +1 -0
  179. package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs +52 -0
  180. package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs.map +1 -0
  181. package/lib/cjs/graph/engine/validation/index.cjs +26 -0
  182. package/lib/cjs/graph/engine/validation/index.cjs.map +1 -0
  183. package/lib/cjs/graph/index.cjs +10 -60
  184. package/lib/cjs/graph/index.cjs.map +1 -0
  185. package/lib/cjs/graph/shared/constants.cjs +44 -0
  186. package/lib/cjs/graph/shared/constants.cjs.map +1 -0
  187. package/lib/cjs/graph/shared/index.cjs +38 -0
  188. package/lib/cjs/graph/shared/index.cjs.map +1 -0
  189. package/lib/cjs/graph/shared/nodes/agent.cjs +110 -0
  190. package/lib/cjs/graph/shared/nodes/agent.cjs.map +1 -0
  191. package/lib/cjs/graph/shared/nodes/base.cjs +36 -0
  192. package/lib/cjs/graph/shared/nodes/base.cjs.map +1 -0
  193. package/lib/cjs/graph/shared/nodes/category-styles.cjs +38 -0
  194. package/lib/cjs/graph/shared/nodes/category-styles.cjs.map +1 -0
  195. package/lib/cjs/graph/shared/nodes/flow-control.cjs +464 -0
  196. package/lib/cjs/graph/shared/nodes/flow-control.cjs.map +1 -0
  197. package/lib/cjs/graph/shared/nodes/index.cjs +35 -0
  198. package/lib/cjs/graph/shared/nodes/index.cjs.map +1 -0
  199. package/lib/cjs/graph/shared/nodes/triggers.cjs +250 -0
  200. package/lib/cjs/graph/shared/nodes/triggers.cjs.map +1 -0
  201. package/lib/cjs/graph/shared/types.cjs +4 -0
  202. package/lib/cjs/graph/shared/types.cjs.map +1 -0
  203. package/lib/cjs/index.cjs +5 -5
  204. package/lib/cjs/index.cjs.map +1 -0
  205. package/lib/cjs/keycloak/index.cjs +2 -2
  206. package/lib/cjs/keycloak/index.cjs.map +1 -0
  207. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +2 -2
  208. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +1 -0
  209. package/lib/cjs/keycloak/services/KeycloakClientService.cjs +2 -2
  210. package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +1 -0
  211. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +2 -2
  212. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +1 -0
  213. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +2 -2
  214. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +1 -0
  215. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +2 -2
  216. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +1 -0
  217. package/lib/cjs/keycloak/services/KeycloakService.cjs +2 -2
  218. package/lib/cjs/keycloak/services/KeycloakService.cjs.map +1 -0
  219. package/lib/cjs/keycloak/services/KeycloakUserService.cjs +2 -2
  220. package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +1 -0
  221. package/lib/cjs/keycloak/services/index.cjs +2 -2
  222. package/lib/cjs/keycloak/services/index.cjs.map +1 -0
  223. package/lib/cjs/keycloak/services/runtime.cjs +2 -2
  224. package/lib/cjs/keycloak/services/runtime.cjs.map +1 -0
  225. package/lib/cjs/keycloak/types.cjs +2 -2
  226. package/lib/cjs/keycloak/types.cjs.map +1 -0
  227. package/lib/cjs/kibana/helpers.cjs +2 -2
  228. package/lib/cjs/kibana/helpers.cjs.map +1 -0
  229. package/lib/cjs/kibana/index.cjs +2 -2
  230. package/lib/cjs/kibana/index.cjs.map +1 -0
  231. package/lib/cjs/kibana/services/KibanaAuthService.cjs +2 -2
  232. package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +1 -0
  233. package/lib/cjs/kibana/services/KibanaDashboardService.cjs +2 -2
  234. package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +1 -0
  235. package/lib/cjs/kibana/services/KibanaDataViewService.cjs +2 -2
  236. package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +1 -0
  237. package/lib/cjs/kibana/services/KibanaRoleService.cjs +2 -2
  238. package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +1 -0
  239. package/lib/cjs/kibana/services/KibanaService.cjs +2 -2
  240. package/lib/cjs/kibana/services/KibanaService.cjs.map +1 -0
  241. package/lib/cjs/kibana/services/KibanaSpaceService.cjs +2 -2
  242. package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +1 -0
  243. package/lib/cjs/kibana/services/KibanaUserService.cjs +2 -2
  244. package/lib/cjs/kibana/services/KibanaUserService.cjs.map +1 -0
  245. package/lib/cjs/kibana/services/index.cjs +2 -2
  246. package/lib/cjs/kibana/services/index.cjs.map +1 -0
  247. package/lib/cjs/kibana/services/runtime.cjs +2 -2
  248. package/lib/cjs/kibana/services/runtime.cjs.map +1 -0
  249. package/lib/cjs/kibana/types.cjs +2 -2
  250. package/lib/cjs/kibana/types.cjs.map +1 -0
  251. package/lib/cjs/namespaces/index.cjs +2 -2
  252. package/lib/cjs/namespaces/index.cjs.map +1 -0
  253. package/lib/cjs/namespaces/models/authorization-model.cjs +2 -2
  254. package/lib/cjs/namespaces/models/authorization-model.cjs.map +1 -0
  255. package/lib/cjs/namespaces/models/effective-permission.model.cjs +2 -2
  256. package/lib/cjs/namespaces/models/effective-permission.model.cjs.map +1 -0
  257. package/lib/cjs/namespaces/models/group-membership.model.cjs +2 -2
  258. package/lib/cjs/namespaces/models/group-membership.model.cjs.map +1 -0
  259. package/lib/cjs/namespaces/models/group.model.cjs +2 -2
  260. package/lib/cjs/namespaces/models/group.model.cjs.map +1 -0
  261. package/lib/cjs/namespaces/models/index.cjs +2 -2
  262. package/lib/cjs/namespaces/models/index.cjs.map +1 -0
  263. package/lib/cjs/namespaces/models/inheritance-block.model.cjs +2 -2
  264. package/lib/cjs/namespaces/models/inheritance-block.model.cjs.map +1 -0
  265. package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +2 -2
  266. package/lib/cjs/namespaces/models/org-unit-closure.model.cjs.map +1 -0
  267. package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +2 -2
  268. package/lib/cjs/namespaces/models/org-unit-membership.model.cjs.map +1 -0
  269. package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +2 -2
  270. package/lib/cjs/namespaces/models/org-unit-profile.model.cjs.map +1 -0
  271. package/lib/cjs/namespaces/models/org-unit.model.cjs +2 -2
  272. package/lib/cjs/namespaces/models/org-unit.model.cjs.map +1 -0
  273. package/lib/cjs/namespaces/models/permission.model.cjs +2 -2
  274. package/lib/cjs/namespaces/models/permission.model.cjs.map +1 -0
  275. package/lib/cjs/namespaces/models/principal.model.cjs +2 -2
  276. package/lib/cjs/namespaces/models/principal.model.cjs.map +1 -0
  277. package/lib/cjs/namespaces/models/protected-resource.model.cjs +2 -2
  278. package/lib/cjs/namespaces/models/protected-resource.model.cjs.map +1 -0
  279. package/lib/cjs/namespaces/models/resource-grant.model.cjs +2 -2
  280. package/lib/cjs/namespaces/models/resource-grant.model.cjs.map +1 -0
  281. package/lib/cjs/namespaces/models/role-assignment.model.cjs +2 -2
  282. package/lib/cjs/namespaces/models/role-assignment.model.cjs.map +1 -0
  283. package/lib/cjs/namespaces/models/role-permission.model.cjs +2 -2
  284. package/lib/cjs/namespaces/models/role-permission.model.cjs.map +1 -0
  285. package/lib/cjs/namespaces/models/role.model.cjs +2 -2
  286. package/lib/cjs/namespaces/models/role.model.cjs.map +1 -0
  287. package/lib/cjs/namespaces/models/storage-binding.model.cjs +2 -2
  288. package/lib/cjs/namespaces/models/storage-binding.model.cjs.map +1 -0
  289. package/lib/cjs/namespaces/models/tenant-membership.model.cjs +2 -2
  290. package/lib/cjs/namespaces/models/tenant-membership.model.cjs.map +1 -0
  291. package/lib/cjs/namespaces/models/tenant-profile.model.cjs +2 -2
  292. package/lib/cjs/namespaces/models/tenant-profile.model.cjs.map +1 -0
  293. package/lib/cjs/namespaces/models/tenant.model.cjs +2 -2
  294. package/lib/cjs/namespaces/models/tenant.model.cjs.map +1 -0
  295. package/lib/cjs/namespaces/models/user.model.cjs +2 -2
  296. package/lib/cjs/namespaces/models/user.model.cjs.map +1 -0
  297. package/lib/cjs/namespaces/org-based-authorization-system.cjs +10 -4
  298. package/lib/cjs/namespaces/org-based-authorization-system.cjs.map +1 -0
  299. package/lib/cjs/namespaces/org-based-authorization-system.models.cjs +2 -2
  300. package/lib/cjs/namespaces/org-based-authorization-system.models.cjs.map +1 -0
  301. package/lib/cjs/namespaces/org-based-authorization-system.services.cjs +19 -10
  302. package/lib/cjs/namespaces/org-based-authorization-system.services.cjs.map +1 -0
  303. package/lib/cjs/namespaces/services/authz.service.cjs +39 -13
  304. package/lib/cjs/namespaces/services/authz.service.cjs.map +1 -0
  305. package/lib/cjs/namespaces/services/bootstrap.service.cjs +2 -2
  306. package/lib/cjs/namespaces/services/bootstrap.service.cjs.map +1 -0
  307. package/lib/cjs/namespaces/services/effective-permission.service.cjs +2 -2
  308. package/lib/cjs/namespaces/services/effective-permission.service.cjs.map +1 -0
  309. package/lib/cjs/namespaces/services/group-membership.service.cjs +2 -2
  310. package/lib/cjs/namespaces/services/group-membership.service.cjs.map +1 -0
  311. package/lib/cjs/namespaces/services/group.service.cjs +2 -2
  312. package/lib/cjs/namespaces/services/group.service.cjs.map +1 -0
  313. package/lib/cjs/namespaces/services/index.cjs +2 -2
  314. package/lib/cjs/namespaces/services/index.cjs.map +1 -0
  315. package/lib/cjs/namespaces/services/inheritance-block.service.cjs +6 -4
  316. package/lib/cjs/namespaces/services/inheritance-block.service.cjs.map +1 -0
  317. package/lib/cjs/namespaces/services/org-unit-closure.service.cjs +16 -7
  318. package/lib/cjs/namespaces/services/org-unit-closure.service.cjs.map +1 -0
  319. package/lib/cjs/namespaces/services/org-unit-membership.service.cjs +2 -2
  320. package/lib/cjs/namespaces/services/org-unit-membership.service.cjs.map +1 -0
  321. package/lib/cjs/namespaces/services/org-unit-profile.service.cjs +2 -2
  322. package/lib/cjs/namespaces/services/org-unit-profile.service.cjs.map +1 -0
  323. package/lib/cjs/namespaces/services/org-unit.service.cjs +2 -2
  324. package/lib/cjs/namespaces/services/org-unit.service.cjs.map +1 -0
  325. package/lib/cjs/namespaces/services/permission.service.cjs +2 -2
  326. package/lib/cjs/namespaces/services/permission.service.cjs.map +1 -0
  327. package/lib/cjs/namespaces/services/principal.service.cjs +2 -2
  328. package/lib/cjs/namespaces/services/principal.service.cjs.map +1 -0
  329. package/lib/cjs/namespaces/services/protected-resource.service.cjs +2 -2
  330. package/lib/cjs/namespaces/services/protected-resource.service.cjs.map +1 -0
  331. package/lib/cjs/namespaces/services/resource-grant.service.cjs +2 -2
  332. package/lib/cjs/namespaces/services/resource-grant.service.cjs.map +1 -0
  333. package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs +2 -2
  334. package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs.map +1 -0
  335. package/lib/cjs/namespaces/services/role-assignment.service.cjs +4 -3
  336. package/lib/cjs/namespaces/services/role-assignment.service.cjs.map +1 -0
  337. package/lib/cjs/namespaces/services/role-permission.service.cjs +2 -2
  338. package/lib/cjs/namespaces/services/role-permission.service.cjs.map +1 -0
  339. package/lib/cjs/namespaces/services/role.service.cjs +2 -2
  340. package/lib/cjs/namespaces/services/role.service.cjs.map +1 -0
  341. package/lib/cjs/namespaces/services/storage-binding.service.cjs +2 -2
  342. package/lib/cjs/namespaces/services/storage-binding.service.cjs.map +1 -0
  343. package/lib/cjs/namespaces/services/system-management.service.cjs +2 -2
  344. package/lib/cjs/namespaces/services/system-management.service.cjs.map +1 -0
  345. package/lib/cjs/namespaces/services/tenant-membership.service.cjs +2 -2
  346. package/lib/cjs/namespaces/services/tenant-membership.service.cjs.map +1 -0
  347. package/lib/cjs/namespaces/services/tenant-profile.service.cjs +2 -2
  348. package/lib/cjs/namespaces/services/tenant-profile.service.cjs.map +1 -0
  349. package/lib/cjs/namespaces/services/tenant.service.cjs +2 -2
  350. package/lib/cjs/namespaces/services/tenant.service.cjs.map +1 -0
  351. package/lib/cjs/namespaces/services/user.service.cjs +2 -2
  352. package/lib/cjs/namespaces/services/user.service.cjs.map +1 -0
  353. package/lib/cjs/namespaces/types.cjs +2 -2
  354. package/lib/cjs/namespaces/types.cjs.map +1 -0
  355. package/lib/cjs/namespaces/utils.cjs +13 -5
  356. package/lib/cjs/namespaces/utils.cjs.map +1 -0
  357. package/lib/cjs/nest/authService.cjs +2 -2
  358. package/lib/cjs/nest/authService.cjs.map +1 -0
  359. package/lib/cjs/nest/graph/GraphExecutionController.cjs +2 -2
  360. package/lib/cjs/nest/graph/GraphExecutionController.cjs.map +1 -0
  361. package/lib/cjs/nest/graph/GraphExecutionModule.cjs +6 -4
  362. package/lib/cjs/nest/graph/GraphExecutionModule.cjs.map +1 -0
  363. package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs +2 -2
  364. package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs.map +1 -0
  365. package/lib/cjs/nest/graph/GraphExecutionResultRepository.cjs +2 -2
  366. package/lib/cjs/nest/graph/GraphExecutionResultRepository.cjs.map +1 -0
  367. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +97 -11
  368. package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs.map +1 -0
  369. package/lib/cjs/nest/graph/index.cjs +2 -2
  370. package/lib/cjs/nest/graph/index.cjs.map +1 -0
  371. package/lib/cjs/nest/graph/main.cjs +30 -0
  372. package/lib/cjs/nest/graph/main.cjs.map +1 -0
  373. package/lib/cjs/nest/index.cjs +2 -2
  374. package/lib/cjs/nest/index.cjs.map +1 -0
  375. package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
  376. package/lib/cjs/nest/keycloakAuthHandler.cjs.map +1 -0
  377. package/lib/cjs/nest/keycloakModule.cjs +2 -2
  378. package/lib/cjs/nest/keycloakModule.cjs.map +1 -0
  379. package/lib/cjs/nest/logging.cjs +2 -2
  380. package/lib/cjs/nest/logging.cjs.map +1 -0
  381. package/lib/cjs/nest/types.cjs +2 -2
  382. package/lib/cjs/nest/types.cjs.map +1 -0
  383. package/lib/cjs/nest/utils.cjs +2 -2
  384. package/lib/cjs/nest/utils.cjs.map +1 -0
  385. package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
  386. package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +1 -0
  387. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
  388. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +1 -0
  389. package/lib/cjs/secrets/aws/index.cjs +2 -2
  390. package/lib/cjs/secrets/aws/index.cjs.map +1 -0
  391. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
  392. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +1 -0
  393. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
  394. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +1 -0
  395. package/lib/cjs/secrets/azure/index.cjs +2 -2
  396. package/lib/cjs/secrets/azure/index.cjs.map +1 -0
  397. package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
  398. package/lib/cjs/secrets/core/SecretErrors.cjs.map +1 -0
  399. package/lib/cjs/secrets/core/SecretName.cjs +2 -2
  400. package/lib/cjs/secrets/core/SecretName.cjs.map +1 -0
  401. package/lib/cjs/secrets/core/SecretReference.cjs +2 -2
  402. package/lib/cjs/secrets/core/SecretReference.cjs.map +1 -0
  403. package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
  404. package/lib/cjs/secrets/core/SecretSerialization.cjs.map +1 -0
  405. package/lib/cjs/secrets/core/SecretService.cjs +2 -2
  406. package/lib/cjs/secrets/core/SecretService.cjs.map +1 -0
  407. package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
  408. package/lib/cjs/secrets/core/SecretTypes.cjs.map +1 -0
  409. package/lib/cjs/secrets/core/index.cjs +2 -2
  410. package/lib/cjs/secrets/core/index.cjs.map +1 -0
  411. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
  412. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +1 -0
  413. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
  414. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +1 -0
  415. package/lib/cjs/secrets/gcp/index.cjs +2 -2
  416. package/lib/cjs/secrets/gcp/index.cjs.map +1 -0
  417. package/lib/cjs/secrets/index.cjs +2 -2
  418. package/lib/cjs/secrets/index.cjs.map +1 -0
  419. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
  420. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +1 -0
  421. package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
  422. package/lib/cjs/secrets/model/ModelSecretService.cjs.map +1 -0
  423. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
  424. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +1 -0
  425. package/lib/cjs/secrets/model/Secret.cjs +2 -2
  426. package/lib/cjs/secrets/model/Secret.cjs.map +1 -0
  427. package/lib/cjs/secrets/model/index.cjs +2 -2
  428. package/lib/cjs/secrets/model/index.cjs.map +1 -0
  429. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
  430. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +1 -0
  431. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
  432. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +1 -0
  433. package/lib/cjs/secrets/onepassword/index.cjs +2 -2
  434. package/lib/cjs/secrets/onepassword/index.cjs.map +1 -0
  435. package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
  436. package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +1 -0
  437. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
  438. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +1 -0
  439. package/lib/cjs/secrets/vault/index.cjs +2 -2
  440. package/lib/cjs/secrets/vault/index.cjs.map +1 -0
  441. package/lib/cjs/shared/runtime.cjs +2 -2
  442. package/lib/cjs/shared/runtime.cjs.map +1 -0
  443. package/lib/cjs/utils.cjs +2 -2
  444. package/lib/cjs/utils.cjs.map +1 -0
  445. package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
  446. package/lib/esm/blob/azure/AzureBlobStoreService.js.map +1 -0
  447. package/lib/esm/blob/azure/index.js +1 -1
  448. package/lib/esm/blob/azure/index.js.map +1 -0
  449. package/lib/esm/blob/core/BlobErrors.js +1 -1
  450. package/lib/esm/blob/core/BlobErrors.js.map +1 -0
  451. package/lib/esm/blob/core/BlobKey.js +1 -1
  452. package/lib/esm/blob/core/BlobKey.js.map +1 -0
  453. package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
  454. package/lib/esm/blob/core/BlobStoreFactory.js.map +1 -0
  455. package/lib/esm/blob/core/BlobStoreService.js +1 -1
  456. package/lib/esm/blob/core/BlobStoreService.js.map +1 -0
  457. package/lib/esm/blob/core/BlobTypes.js +1 -1
  458. package/lib/esm/blob/core/BlobTypes.js.map +1 -0
  459. package/lib/esm/blob/core/BlobValue.js +1 -1
  460. package/lib/esm/blob/core/BlobValue.js.map +1 -0
  461. package/lib/esm/blob/core/index.js +1 -1
  462. package/lib/esm/blob/core/index.js.map +1 -0
  463. package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
  464. package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +1 -0
  465. package/lib/esm/blob/gcp/index.js +1 -1
  466. package/lib/esm/blob/gcp/index.js.map +1 -0
  467. package/lib/esm/blob/index.js +1 -1
  468. package/lib/esm/blob/index.js.map +1 -0
  469. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +1 -1
  470. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +1 -0
  471. package/lib/esm/blob/ipfs/IpfsKeyIndex.js +1 -1
  472. package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +1 -0
  473. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +1 -1
  474. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +1 -0
  475. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +1 -1
  476. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +1 -0
  477. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +1 -1
  478. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +1 -0
  479. package/lib/esm/blob/ipfs/index.js +1 -1
  480. package/lib/esm/blob/ipfs/index.js.map +1 -0
  481. package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
  482. package/lib/esm/blob/local/LocalBlobStoreService.js.map +1 -0
  483. package/lib/esm/blob/local/index.js +1 -1
  484. package/lib/esm/blob/local/index.js.map +1 -0
  485. package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
  486. package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +1 -0
  487. package/lib/esm/blob/memory/index.js +1 -1
  488. package/lib/esm/blob/memory/index.js.map +1 -0
  489. package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
  490. package/lib/esm/blob/s3/MinioBlobStoreService.js.map +1 -0
  491. package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
  492. package/lib/esm/blob/s3/R2BlobStoreService.js.map +1 -0
  493. package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
  494. package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -0
  495. package/lib/esm/blob/s3/index.js +1 -1
  496. package/lib/esm/blob/s3/index.js.map +1 -0
  497. package/lib/esm/docker/DockerComposeService.js +1 -1
  498. package/lib/esm/docker/DockerComposeService.js.map +1 -0
  499. package/lib/esm/docker/index.js +1 -1
  500. package/lib/esm/docker/index.js.map +1 -0
  501. package/lib/esm/graph/engine/constants.js +62 -0
  502. package/lib/esm/graph/engine/constants.js.map +1 -0
  503. package/lib/esm/graph/engine/decorators.js +2 -0
  504. package/lib/esm/graph/engine/decorators.js.map +1 -0
  505. package/lib/esm/graph/engine/errors/GraphCycleError.js +15 -0
  506. package/lib/esm/graph/engine/errors/GraphCycleError.js.map +1 -0
  507. package/lib/esm/graph/engine/errors/GraphExecutionError.js +22 -0
  508. package/lib/esm/graph/engine/errors/GraphExecutionError.js.map +1 -0
  509. package/lib/esm/graph/engine/errors/GraphInputError.js +15 -0
  510. package/lib/esm/graph/engine/errors/GraphInputError.js.map +1 -0
  511. package/lib/esm/graph/engine/errors/GraphLoopLimitError.js +15 -0
  512. package/lib/esm/graph/engine/errors/GraphLoopLimitError.js.map +1 -0
  513. package/lib/esm/graph/engine/errors/GraphPinningError.js +15 -0
  514. package/lib/esm/graph/engine/errors/GraphPinningError.js.map +1 -0
  515. package/lib/esm/graph/engine/errors/GraphPortError.js +15 -0
  516. package/lib/esm/graph/engine/errors/GraphPortError.js.map +1 -0
  517. package/lib/esm/graph/engine/errors/GraphStoreError.js +15 -0
  518. package/lib/esm/graph/engine/errors/GraphStoreError.js.map +1 -0
  519. package/lib/esm/graph/engine/errors/GraphTopologyError.js +15 -0
  520. package/lib/esm/graph/engine/errors/GraphTopologyError.js.map +1 -0
  521. package/lib/esm/graph/engine/errors/index.js +14 -0
  522. package/lib/esm/graph/engine/errors/index.js.map +1 -0
  523. package/lib/esm/graph/engine/events/GraphExecutionEvent.js +2 -0
  524. package/lib/esm/graph/engine/events/GraphExecutionEvent.js.map +1 -0
  525. package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js +35 -0
  526. package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js.map +1 -0
  527. package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js +32 -0
  528. package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js.map +1 -0
  529. package/lib/esm/graph/engine/events/GraphExecutionObserver.js +2 -0
  530. package/lib/esm/graph/engine/events/GraphExecutionObserver.js.map +1 -0
  531. package/lib/esm/graph/engine/events/index.js +10 -0
  532. package/lib/esm/graph/engine/events/index.js.map +1 -0
  533. package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js +18 -0
  534. package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js.map +1 -0
  535. package/lib/esm/graph/engine/execution/GraphExecutionContext.js +74 -0
  536. package/lib/esm/graph/engine/execution/GraphExecutionContext.js.map +1 -0
  537. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +408 -0
  538. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js.map +1 -0
  539. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +27 -0
  540. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js.map +1 -0
  541. package/lib/esm/graph/engine/execution/GraphExecutionResult.js +26 -0
  542. package/lib/esm/graph/engine/execution/GraphExecutionResult.js.map +1 -0
  543. package/lib/esm/graph/engine/execution/GraphNodeExecutor.js +2 -0
  544. package/lib/esm/graph/engine/execution/GraphNodeExecutor.js.map +1 -0
  545. package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +98 -0
  546. package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js.map +1 -0
  547. package/lib/esm/graph/engine/execution/index.js +13 -0
  548. package/lib/esm/graph/engine/execution/index.js.map +1 -0
  549. package/lib/esm/graph/engine/index.js +67 -0
  550. package/lib/esm/graph/engine/index.js.map +1 -0
  551. package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js +82 -0
  552. package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js.map +1 -0
  553. package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +80 -0
  554. package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js.map +1 -0
  555. package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js +80 -0
  556. package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js.map +1 -0
  557. package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js +11 -0
  558. package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js.map +1 -0
  559. package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +72 -0
  560. package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js.map +1 -0
  561. package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +73 -0
  562. package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js.map +1 -0
  563. package/lib/esm/graph/engine/loops/index.js +12 -0
  564. package/lib/esm/graph/engine/loops/index.js.map +1 -0
  565. package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js +23 -0
  566. package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js.map +1 -0
  567. package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js +15 -0
  568. package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js.map +1 -0
  569. package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js +29 -0
  570. package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js.map +1 -0
  571. package/lib/esm/graph/engine/pinning/GraphPinningService.js +186 -0
  572. package/lib/esm/graph/engine/pinning/GraphPinningService.js.map +1 -0
  573. package/lib/esm/graph/engine/pinning/index.js +10 -0
  574. package/lib/esm/graph/engine/pinning/index.js.map +1 -0
  575. package/lib/esm/graph/engine/planning/GraphExecutionPlan.js +2 -0
  576. package/lib/esm/graph/engine/planning/GraphExecutionPlan.js.map +1 -0
  577. package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js +7 -0
  578. package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js.map +1 -0
  579. package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js +2 -0
  580. package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js.map +1 -0
  581. package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js +2 -0
  582. package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js.map +1 -0
  583. package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js +192 -0
  584. package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js.map +1 -0
  585. package/lib/esm/graph/engine/planning/GraphRelationResolver.js +167 -0
  586. package/lib/esm/graph/engine/planning/GraphRelationResolver.js.map +1 -0
  587. package/lib/esm/graph/engine/planning/GraphTopology.js +52 -0
  588. package/lib/esm/graph/engine/planning/GraphTopology.js.map +1 -0
  589. package/lib/esm/graph/engine/planning/index.js +13 -0
  590. package/lib/esm/graph/engine/planning/index.js.map +1 -0
  591. package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js +39 -0
  592. package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js.map +1 -0
  593. package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js +22 -0
  594. package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js.map +1 -0
  595. package/lib/esm/graph/engine/registry/index.js +8 -0
  596. package/lib/esm/graph/engine/registry/index.js.map +1 -0
  597. package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js +48 -0
  598. package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js.map +1 -0
  599. package/lib/esm/graph/engine/snapshots/index.js +7 -0
  600. package/lib/esm/graph/engine/snapshots/index.js.map +1 -0
  601. package/lib/esm/graph/engine/store/GraphCachedValue.js +2 -0
  602. package/lib/esm/graph/engine/store/GraphCachedValue.js.map +1 -0
  603. package/lib/esm/graph/engine/store/GraphValueKey.js +7 -0
  604. package/lib/esm/graph/engine/store/GraphValueKey.js.map +1 -0
  605. package/lib/esm/graph/engine/store/GraphValueStore.js +71 -0
  606. package/lib/esm/graph/engine/store/GraphValueStore.js.map +1 -0
  607. package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js +2 -0
  608. package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js.map +1 -0
  609. package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js +64 -0
  610. package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js.map +1 -0
  611. package/lib/esm/graph/engine/store/index.js +11 -0
  612. package/lib/esm/graph/engine/store/index.js.map +1 -0
  613. package/lib/esm/graph/engine/types.js +2 -0
  614. package/lib/esm/graph/engine/types.js.map +1 -0
  615. package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js +28 -0
  616. package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js.map +1 -0
  617. package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js +53 -0
  618. package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js.map +1 -0
  619. package/lib/esm/graph/engine/validation/GraphValueValidator.js +47 -0
  620. package/lib/esm/graph/engine/validation/GraphValueValidator.js.map +1 -0
  621. package/lib/esm/graph/engine/validation/index.js +9 -0
  622. package/lib/esm/graph/engine/validation/index.js.map +1 -0
  623. package/lib/esm/graph/index.js +9 -59
  624. package/lib/esm/graph/index.js.map +1 -0
  625. package/lib/esm/graph/shared/constants.js +56 -0
  626. package/lib/esm/graph/shared/constants.js.map +1 -0
  627. package/lib/esm/graph/shared/index.js +19 -0
  628. package/lib/esm/graph/shared/index.js.map +1 -0
  629. package/lib/esm/graph/shared/nodes/agent.js +101 -0
  630. package/lib/esm/graph/shared/nodes/agent.js.map +1 -0
  631. package/lib/esm/graph/shared/nodes/base.js +31 -0
  632. package/lib/esm/graph/shared/nodes/base.js.map +1 -0
  633. package/lib/esm/graph/shared/nodes/category-styles.js +34 -0
  634. package/lib/esm/graph/shared/nodes/category-styles.js.map +1 -0
  635. package/lib/esm/graph/shared/nodes/flow-control.js +455 -0
  636. package/lib/esm/graph/shared/nodes/flow-control.js.map +1 -0
  637. package/lib/esm/graph/shared/nodes/index.js +18 -0
  638. package/lib/esm/graph/shared/nodes/index.js.map +1 -0
  639. package/lib/esm/graph/shared/nodes/triggers.js +241 -0
  640. package/lib/esm/graph/shared/nodes/triggers.js.map +1 -0
  641. package/lib/esm/graph/shared/types.js +2 -0
  642. package/lib/esm/graph/shared/types.js.map +1 -0
  643. package/lib/esm/index.js +4 -4
  644. package/lib/esm/index.js.map +1 -0
  645. package/lib/esm/keycloak/index.js +1 -1
  646. package/lib/esm/keycloak/index.js.map +1 -0
  647. package/lib/esm/keycloak/services/KeycloakAuthService.js +1 -1
  648. package/lib/esm/keycloak/services/KeycloakAuthService.js.map +1 -0
  649. package/lib/esm/keycloak/services/KeycloakClientService.js +1 -1
  650. package/lib/esm/keycloak/services/KeycloakClientService.js.map +1 -0
  651. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +1 -1
  652. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +1 -0
  653. package/lib/esm/keycloak/services/KeycloakRealmService.js +1 -1
  654. package/lib/esm/keycloak/services/KeycloakRealmService.js.map +1 -0
  655. package/lib/esm/keycloak/services/KeycloakRoleService.js +1 -1
  656. package/lib/esm/keycloak/services/KeycloakRoleService.js.map +1 -0
  657. package/lib/esm/keycloak/services/KeycloakService.js +1 -1
  658. package/lib/esm/keycloak/services/KeycloakService.js.map +1 -0
  659. package/lib/esm/keycloak/services/KeycloakUserService.js +1 -1
  660. package/lib/esm/keycloak/services/KeycloakUserService.js.map +1 -0
  661. package/lib/esm/keycloak/services/index.js +1 -1
  662. package/lib/esm/keycloak/services/index.js.map +1 -0
  663. package/lib/esm/keycloak/services/runtime.js +1 -1
  664. package/lib/esm/keycloak/services/runtime.js.map +1 -0
  665. package/lib/esm/keycloak/types.js +1 -1
  666. package/lib/esm/keycloak/types.js.map +1 -0
  667. package/lib/esm/kibana/helpers.js +1 -1
  668. package/lib/esm/kibana/helpers.js.map +1 -0
  669. package/lib/esm/kibana/index.js +1 -1
  670. package/lib/esm/kibana/index.js.map +1 -0
  671. package/lib/esm/kibana/services/KibanaAuthService.js +1 -1
  672. package/lib/esm/kibana/services/KibanaAuthService.js.map +1 -0
  673. package/lib/esm/kibana/services/KibanaDashboardService.js +1 -1
  674. package/lib/esm/kibana/services/KibanaDashboardService.js.map +1 -0
  675. package/lib/esm/kibana/services/KibanaDataViewService.js +1 -1
  676. package/lib/esm/kibana/services/KibanaDataViewService.js.map +1 -0
  677. package/lib/esm/kibana/services/KibanaRoleService.js +1 -1
  678. package/lib/esm/kibana/services/KibanaRoleService.js.map +1 -0
  679. package/lib/esm/kibana/services/KibanaService.js +1 -1
  680. package/lib/esm/kibana/services/KibanaService.js.map +1 -0
  681. package/lib/esm/kibana/services/KibanaSpaceService.js +1 -1
  682. package/lib/esm/kibana/services/KibanaSpaceService.js.map +1 -0
  683. package/lib/esm/kibana/services/KibanaUserService.js +1 -1
  684. package/lib/esm/kibana/services/KibanaUserService.js.map +1 -0
  685. package/lib/esm/kibana/services/index.js +1 -1
  686. package/lib/esm/kibana/services/index.js.map +1 -0
  687. package/lib/esm/kibana/services/runtime.js +1 -1
  688. package/lib/esm/kibana/services/runtime.js.map +1 -0
  689. package/lib/esm/kibana/types.js +1 -1
  690. package/lib/esm/kibana/types.js.map +1 -0
  691. package/lib/esm/namespaces/index.js +1 -1
  692. package/lib/esm/namespaces/index.js.map +1 -0
  693. package/lib/esm/namespaces/models/authorization-model.js +1 -1
  694. package/lib/esm/namespaces/models/authorization-model.js.map +1 -0
  695. package/lib/esm/namespaces/models/effective-permission.model.js +1 -1
  696. package/lib/esm/namespaces/models/effective-permission.model.js.map +1 -0
  697. package/lib/esm/namespaces/models/group-membership.model.js +1 -1
  698. package/lib/esm/namespaces/models/group-membership.model.js.map +1 -0
  699. package/lib/esm/namespaces/models/group.model.js +1 -1
  700. package/lib/esm/namespaces/models/group.model.js.map +1 -0
  701. package/lib/esm/namespaces/models/index.js +1 -1
  702. package/lib/esm/namespaces/models/index.js.map +1 -0
  703. package/lib/esm/namespaces/models/inheritance-block.model.js +1 -1
  704. package/lib/esm/namespaces/models/inheritance-block.model.js.map +1 -0
  705. package/lib/esm/namespaces/models/org-unit-closure.model.js +1 -1
  706. package/lib/esm/namespaces/models/org-unit-closure.model.js.map +1 -0
  707. package/lib/esm/namespaces/models/org-unit-membership.model.js +1 -1
  708. package/lib/esm/namespaces/models/org-unit-membership.model.js.map +1 -0
  709. package/lib/esm/namespaces/models/org-unit-profile.model.js +1 -1
  710. package/lib/esm/namespaces/models/org-unit-profile.model.js.map +1 -0
  711. package/lib/esm/namespaces/models/org-unit.model.js +1 -1
  712. package/lib/esm/namespaces/models/org-unit.model.js.map +1 -0
  713. package/lib/esm/namespaces/models/permission.model.js +1 -1
  714. package/lib/esm/namespaces/models/permission.model.js.map +1 -0
  715. package/lib/esm/namespaces/models/principal.model.js +1 -1
  716. package/lib/esm/namespaces/models/principal.model.js.map +1 -0
  717. package/lib/esm/namespaces/models/protected-resource.model.js +1 -1
  718. package/lib/esm/namespaces/models/protected-resource.model.js.map +1 -0
  719. package/lib/esm/namespaces/models/resource-grant.model.js +1 -1
  720. package/lib/esm/namespaces/models/resource-grant.model.js.map +1 -0
  721. package/lib/esm/namespaces/models/role-assignment.model.js +1 -1
  722. package/lib/esm/namespaces/models/role-assignment.model.js.map +1 -0
  723. package/lib/esm/namespaces/models/role-permission.model.js +1 -1
  724. package/lib/esm/namespaces/models/role-permission.model.js.map +1 -0
  725. package/lib/esm/namespaces/models/role.model.js +1 -1
  726. package/lib/esm/namespaces/models/role.model.js.map +1 -0
  727. package/lib/esm/namespaces/models/storage-binding.model.js +1 -1
  728. package/lib/esm/namespaces/models/storage-binding.model.js.map +1 -0
  729. package/lib/esm/namespaces/models/tenant-membership.model.js +1 -1
  730. package/lib/esm/namespaces/models/tenant-membership.model.js.map +1 -0
  731. package/lib/esm/namespaces/models/tenant-profile.model.js +1 -1
  732. package/lib/esm/namespaces/models/tenant-profile.model.js.map +1 -0
  733. package/lib/esm/namespaces/models/tenant.model.js +3 -3
  734. package/lib/esm/namespaces/models/tenant.model.js.map +1 -0
  735. package/lib/esm/namespaces/models/user.model.js +1 -1
  736. package/lib/esm/namespaces/models/user.model.js.map +1 -0
  737. package/lib/esm/namespaces/org-based-authorization-system.js +10 -4
  738. package/lib/esm/namespaces/org-based-authorization-system.js.map +1 -0
  739. package/lib/esm/namespaces/org-based-authorization-system.models.js +1 -1
  740. package/lib/esm/namespaces/org-based-authorization-system.models.js.map +1 -0
  741. package/lib/esm/namespaces/org-based-authorization-system.services.js +18 -9
  742. package/lib/esm/namespaces/org-based-authorization-system.services.js.map +1 -0
  743. package/lib/esm/namespaces/services/authz.service.js +40 -14
  744. package/lib/esm/namespaces/services/authz.service.js.map +1 -0
  745. package/lib/esm/namespaces/services/bootstrap.service.js +1 -1
  746. package/lib/esm/namespaces/services/bootstrap.service.js.map +1 -0
  747. package/lib/esm/namespaces/services/effective-permission.service.js +1 -1
  748. package/lib/esm/namespaces/services/effective-permission.service.js.map +1 -0
  749. package/lib/esm/namespaces/services/group-membership.service.js +1 -1
  750. package/lib/esm/namespaces/services/group-membership.service.js.map +1 -0
  751. package/lib/esm/namespaces/services/group.service.js +1 -1
  752. package/lib/esm/namespaces/services/group.service.js.map +1 -0
  753. package/lib/esm/namespaces/services/index.js +1 -1
  754. package/lib/esm/namespaces/services/index.js.map +1 -0
  755. package/lib/esm/namespaces/services/inheritance-block.service.js +5 -3
  756. package/lib/esm/namespaces/services/inheritance-block.service.js.map +1 -0
  757. package/lib/esm/namespaces/services/org-unit-closure.service.js +16 -7
  758. package/lib/esm/namespaces/services/org-unit-closure.service.js.map +1 -0
  759. package/lib/esm/namespaces/services/org-unit-membership.service.js +1 -1
  760. package/lib/esm/namespaces/services/org-unit-membership.service.js.map +1 -0
  761. package/lib/esm/namespaces/services/org-unit-profile.service.js +1 -1
  762. package/lib/esm/namespaces/services/org-unit-profile.service.js.map +1 -0
  763. package/lib/esm/namespaces/services/org-unit.service.js +1 -1
  764. package/lib/esm/namespaces/services/org-unit.service.js.map +1 -0
  765. package/lib/esm/namespaces/services/permission.service.js +1 -1
  766. package/lib/esm/namespaces/services/permission.service.js.map +1 -0
  767. package/lib/esm/namespaces/services/principal.service.js +1 -1
  768. package/lib/esm/namespaces/services/principal.service.js.map +1 -0
  769. package/lib/esm/namespaces/services/protected-resource.service.js +1 -1
  770. package/lib/esm/namespaces/services/protected-resource.service.js.map +1 -0
  771. package/lib/esm/namespaces/services/resource-grant.service.js +1 -1
  772. package/lib/esm/namespaces/services/resource-grant.service.js.map +1 -0
  773. package/lib/esm/namespaces/services/resource-lifecycle.service.js +1 -1
  774. package/lib/esm/namespaces/services/resource-lifecycle.service.js.map +1 -0
  775. package/lib/esm/namespaces/services/role-assignment.service.js +3 -2
  776. package/lib/esm/namespaces/services/role-assignment.service.js.map +1 -0
  777. package/lib/esm/namespaces/services/role-permission.service.js +1 -1
  778. package/lib/esm/namespaces/services/role-permission.service.js.map +1 -0
  779. package/lib/esm/namespaces/services/role.service.js +1 -1
  780. package/lib/esm/namespaces/services/role.service.js.map +1 -0
  781. package/lib/esm/namespaces/services/storage-binding.service.js +1 -1
  782. package/lib/esm/namespaces/services/storage-binding.service.js.map +1 -0
  783. package/lib/esm/namespaces/services/system-management.service.js +1 -1
  784. package/lib/esm/namespaces/services/system-management.service.js.map +1 -0
  785. package/lib/esm/namespaces/services/tenant-membership.service.js +1 -1
  786. package/lib/esm/namespaces/services/tenant-membership.service.js.map +1 -0
  787. package/lib/esm/namespaces/services/tenant-profile.service.js +1 -1
  788. package/lib/esm/namespaces/services/tenant-profile.service.js.map +1 -0
  789. package/lib/esm/namespaces/services/tenant.service.js +1 -1
  790. package/lib/esm/namespaces/services/tenant.service.js.map +1 -0
  791. package/lib/esm/namespaces/services/user.service.js +1 -1
  792. package/lib/esm/namespaces/services/user.service.js.map +1 -0
  793. package/lib/esm/namespaces/types.js +1 -1
  794. package/lib/esm/namespaces/types.js.map +1 -0
  795. package/lib/esm/namespaces/utils.js +12 -4
  796. package/lib/esm/namespaces/utils.js.map +1 -0
  797. package/lib/esm/nest/authService.js +1 -1
  798. package/lib/esm/nest/authService.js.map +1 -0
  799. package/lib/esm/nest/graph/GraphExecutionController.js +1 -1
  800. package/lib/esm/nest/graph/GraphExecutionController.js.map +1 -0
  801. package/lib/esm/nest/graph/GraphExecutionModule.js +6 -4
  802. package/lib/esm/nest/graph/GraphExecutionModule.js.map +1 -0
  803. package/lib/esm/nest/graph/GraphExecutionResultModel.js +1 -1
  804. package/lib/esm/nest/graph/GraphExecutionResultModel.js.map +1 -0
  805. package/lib/esm/nest/graph/GraphExecutionResultRepository.js +1 -1
  806. package/lib/esm/nest/graph/GraphExecutionResultRepository.js.map +1 -0
  807. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +96 -11
  808. package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js.map +1 -0
  809. package/lib/esm/nest/graph/index.js +1 -1
  810. package/lib/esm/nest/graph/index.js.map +1 -0
  811. package/lib/esm/nest/graph/main.js +27 -0
  812. package/lib/esm/nest/graph/main.js.map +1 -0
  813. package/lib/esm/nest/index.js +1 -1
  814. package/lib/esm/nest/index.js.map +1 -0
  815. package/lib/esm/nest/keycloakAuthHandler.js +1 -1
  816. package/lib/esm/nest/keycloakAuthHandler.js.map +1 -0
  817. package/lib/esm/nest/keycloakModule.js +1 -1
  818. package/lib/esm/nest/keycloakModule.js.map +1 -0
  819. package/lib/esm/nest/logging.js +1 -1
  820. package/lib/esm/nest/logging.js.map +1 -0
  821. package/lib/esm/nest/types.js +1 -1
  822. package/lib/esm/nest/types.js.map +1 -0
  823. package/lib/esm/nest/utils.js +1 -1
  824. package/lib/esm/nest/utils.js.map +1 -0
  825. package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
  826. package/lib/esm/secrets/aws/AwsSecretService.js.map +1 -0
  827. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
  828. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +1 -0
  829. package/lib/esm/secrets/aws/index.js +1 -1
  830. package/lib/esm/secrets/aws/index.js.map +1 -0
  831. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
  832. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +1 -0
  833. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
  834. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +1 -0
  835. package/lib/esm/secrets/azure/index.js +1 -1
  836. package/lib/esm/secrets/azure/index.js.map +1 -0
  837. package/lib/esm/secrets/core/SecretErrors.js +1 -1
  838. package/lib/esm/secrets/core/SecretErrors.js.map +1 -0
  839. package/lib/esm/secrets/core/SecretName.js +1 -1
  840. package/lib/esm/secrets/core/SecretName.js.map +1 -0
  841. package/lib/esm/secrets/core/SecretReference.js +1 -1
  842. package/lib/esm/secrets/core/SecretReference.js.map +1 -0
  843. package/lib/esm/secrets/core/SecretSerialization.js +1 -1
  844. package/lib/esm/secrets/core/SecretSerialization.js.map +1 -0
  845. package/lib/esm/secrets/core/SecretService.js +1 -1
  846. package/lib/esm/secrets/core/SecretService.js.map +1 -0
  847. package/lib/esm/secrets/core/SecretTypes.js +1 -1
  848. package/lib/esm/secrets/core/SecretTypes.js.map +1 -0
  849. package/lib/esm/secrets/core/index.js +1 -1
  850. package/lib/esm/secrets/core/index.js.map +1 -0
  851. package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
  852. package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +1 -0
  853. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
  854. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +1 -0
  855. package/lib/esm/secrets/gcp/index.js +1 -1
  856. package/lib/esm/secrets/gcp/index.js.map +1 -0
  857. package/lib/esm/secrets/index.js +1 -1
  858. package/lib/esm/secrets/index.js.map +1 -0
  859. package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
  860. package/lib/esm/secrets/model/ModelSecretCrypto.js.map +1 -0
  861. package/lib/esm/secrets/model/ModelSecretService.js +1 -1
  862. package/lib/esm/secrets/model/ModelSecretService.js.map +1 -0
  863. package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
  864. package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +1 -0
  865. package/lib/esm/secrets/model/Secret.js +1 -1
  866. package/lib/esm/secrets/model/Secret.js.map +1 -0
  867. package/lib/esm/secrets/model/index.js +1 -1
  868. package/lib/esm/secrets/model/index.js.map +1 -0
  869. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
  870. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +1 -0
  871. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
  872. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +1 -0
  873. package/lib/esm/secrets/onepassword/index.js +1 -1
  874. package/lib/esm/secrets/onepassword/index.js.map +1 -0
  875. package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
  876. package/lib/esm/secrets/vault/VaultSecretService.js.map +1 -0
  877. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
  878. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +1 -0
  879. package/lib/esm/secrets/vault/index.js +1 -1
  880. package/lib/esm/secrets/vault/index.js.map +1 -0
  881. package/lib/esm/shared/runtime.js +1 -1
  882. package/lib/esm/shared/runtime.js.map +1 -0
  883. package/lib/esm/utils.js +1 -1
  884. package/lib/esm/utils.js.map +1 -0
  885. package/lib/types/graph/engine/constants.d.cts +59 -0
  886. package/lib/types/graph/engine/constants.d.mts +59 -0
  887. package/lib/types/graph/{execution → engine/execution}/GraphExecutionResult.d.cts +1 -1
  888. package/lib/types/graph/{execution → engine/execution}/GraphExecutionResult.d.mts +1 -1
  889. package/lib/types/graph/engine/index.d.cts +61 -0
  890. package/lib/types/graph/engine/index.d.mts +61 -0
  891. package/lib/types/graph/{loops → engine/loops}/ConditionExpressionEvaluator.d.cts +1 -1
  892. package/lib/types/graph/{loops → engine/loops}/ConditionExpressionEvaluator.d.mts +1 -1
  893. package/lib/types/graph/{loops → engine/loops}/GraphConditionEvaluator.d.cts +2 -1
  894. package/lib/types/graph/{loops → engine/loops}/GraphConditionEvaluator.d.mts +2 -1
  895. package/lib/types/graph/{types.d.cts → engine/types.d.cts} +12 -148
  896. package/lib/types/graph/{types.d.mts → engine/types.d.mts} +12 -148
  897. package/lib/types/graph/index.d.cts +8 -53
  898. package/lib/types/graph/index.d.mts +8 -53
  899. package/lib/types/graph/shared/constants.d.cts +53 -0
  900. package/lib/types/graph/shared/constants.d.mts +53 -0
  901. package/lib/types/graph/shared/index.d.cts +18 -0
  902. package/lib/types/graph/shared/index.d.mts +18 -0
  903. package/lib/types/graph/shared/types.d.cts +162 -0
  904. package/lib/types/graph/shared/types.d.mts +162 -0
  905. package/lib/types/index.d.cts +2 -2
  906. package/lib/types/index.d.mts +2 -2
  907. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.cts +33 -5
  908. package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.mts +33 -5
  909. package/lib/types/nest/graph/main.d.cts +1 -0
  910. package/lib/types/nest/graph/main.d.mts +1 -0
  911. package/package.json +19 -8
  912. package/lib/cjs/graph/constants.cjs +0 -94
  913. package/lib/cjs/graph/decorators.cjs +0 -4
  914. package/lib/cjs/graph/errors/GraphCycleError.cjs +0 -20
  915. package/lib/cjs/graph/errors/GraphExecutionError.cjs +0 -27
  916. package/lib/cjs/graph/errors/GraphInputError.cjs +0 -20
  917. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +0 -20
  918. package/lib/cjs/graph/errors/GraphPinningError.cjs +0 -20
  919. package/lib/cjs/graph/errors/GraphPortError.cjs +0 -20
  920. package/lib/cjs/graph/errors/GraphStoreError.cjs +0 -20
  921. package/lib/cjs/graph/errors/GraphTopologyError.cjs +0 -20
  922. package/lib/cjs/graph/errors/index.cjs +0 -31
  923. package/lib/cjs/graph/events/GraphExecutionEvent.cjs +0 -4
  924. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +0 -40
  925. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +0 -37
  926. package/lib/cjs/graph/events/GraphExecutionObserver.cjs +0 -4
  927. package/lib/cjs/graph/events/index.cjs +0 -27
  928. package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +0 -4
  929. package/lib/cjs/graph/execution/GraphExecutionContext.cjs +0 -79
  930. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +0 -407
  931. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +0 -32
  932. package/lib/cjs/graph/execution/GraphExecutionResult.cjs +0 -30
  933. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +0 -4
  934. package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +0 -103
  935. package/lib/cjs/graph/execution/index.cjs +0 -30
  936. package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +0 -87
  937. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +0 -84
  938. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +0 -85
  939. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +0 -16
  940. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +0 -76
  941. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +0 -77
  942. package/lib/cjs/graph/loops/index.cjs +0 -29
  943. package/lib/cjs/graph/nodes/agent.cjs +0 -110
  944. package/lib/cjs/graph/nodes/base.cjs +0 -35
  945. package/lib/cjs/graph/nodes/category-styles.cjs +0 -38
  946. package/lib/cjs/graph/nodes/flow-control.cjs +0 -464
  947. package/lib/cjs/graph/nodes/index.cjs +0 -35
  948. package/lib/cjs/graph/nodes/triggers.cjs +0 -250
  949. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +0 -28
  950. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +0 -20
  951. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +0 -34
  952. package/lib/cjs/graph/pinning/GraphPinningService.cjs +0 -191
  953. package/lib/cjs/graph/pinning/index.cjs +0 -27
  954. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +0 -4
  955. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +0 -4
  956. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +0 -4
  957. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +0 -4
  958. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +0 -197
  959. package/lib/cjs/graph/planning/GraphRelationResolver.cjs +0 -172
  960. package/lib/cjs/graph/planning/GraphTopology.cjs +0 -57
  961. package/lib/cjs/graph/planning/index.cjs +0 -30
  962. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +0 -44
  963. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +0 -27
  964. package/lib/cjs/graph/registry/index.cjs +0 -25
  965. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +0 -53
  966. package/lib/cjs/graph/snapshots/index.cjs +0 -24
  967. package/lib/cjs/graph/store/GraphCachedValue.cjs +0 -4
  968. package/lib/cjs/graph/store/GraphValueKey.cjs +0 -4
  969. package/lib/cjs/graph/store/GraphValueStore.cjs +0 -76
  970. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +0 -4
  971. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +0 -69
  972. package/lib/cjs/graph/store/index.cjs +0 -28
  973. package/lib/cjs/graph/types.cjs +0 -4
  974. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +0 -33
  975. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +0 -58
  976. package/lib/cjs/graph/validation/GraphValueValidator.cjs +0 -52
  977. package/lib/cjs/graph/validation/index.cjs +0 -26
  978. package/lib/esm/graph/constants.js +0 -106
  979. package/lib/esm/graph/decorators.js +0 -2
  980. package/lib/esm/graph/errors/GraphCycleError.js +0 -15
  981. package/lib/esm/graph/errors/GraphExecutionError.js +0 -22
  982. package/lib/esm/graph/errors/GraphInputError.js +0 -15
  983. package/lib/esm/graph/errors/GraphLoopLimitError.js +0 -15
  984. package/lib/esm/graph/errors/GraphPinningError.js +0 -15
  985. package/lib/esm/graph/errors/GraphPortError.js +0 -15
  986. package/lib/esm/graph/errors/GraphStoreError.js +0 -15
  987. package/lib/esm/graph/errors/GraphTopologyError.js +0 -15
  988. package/lib/esm/graph/errors/index.js +0 -14
  989. package/lib/esm/graph/events/GraphExecutionEvent.js +0 -2
  990. package/lib/esm/graph/events/GraphExecutionEventEmitter.js +0 -35
  991. package/lib/esm/graph/events/GraphExecutionEventFactory.js +0 -32
  992. package/lib/esm/graph/events/GraphExecutionObserver.js +0 -2
  993. package/lib/esm/graph/events/index.js +0 -10
  994. package/lib/esm/graph/execution/CodeSandboxEvaluator.js +0 -18
  995. package/lib/esm/graph/execution/GraphExecutionContext.js +0 -74
  996. package/lib/esm/graph/execution/GraphExecutionEngine.js +0 -402
  997. package/lib/esm/graph/execution/GraphExecutionFrame.js +0 -27
  998. package/lib/esm/graph/execution/GraphExecutionResult.js +0 -26
  999. package/lib/esm/graph/execution/GraphNodeExecutor.js +0 -2
  1000. package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +0 -98
  1001. package/lib/esm/graph/execution/index.js +0 -13
  1002. package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +0 -82
  1003. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +0 -79
  1004. package/lib/esm/graph/loops/GraphConditionEvaluator.js +0 -80
  1005. package/lib/esm/graph/loops/GraphLoopExecutionContext.js +0 -11
  1006. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +0 -71
  1007. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +0 -72
  1008. package/lib/esm/graph/loops/index.js +0 -12
  1009. package/lib/esm/graph/nodes/agent.js +0 -101
  1010. package/lib/esm/graph/nodes/base.js +0 -30
  1011. package/lib/esm/graph/nodes/category-styles.js +0 -34
  1012. package/lib/esm/graph/nodes/flow-control.js +0 -455
  1013. package/lib/esm/graph/nodes/index.js +0 -18
  1014. package/lib/esm/graph/nodes/triggers.js +0 -241
  1015. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +0 -23
  1016. package/lib/esm/graph/pinning/GraphPinningMetadata.js +0 -15
  1017. package/lib/esm/graph/pinning/GraphPinningPolicy.js +0 -29
  1018. package/lib/esm/graph/pinning/GraphPinningService.js +0 -186
  1019. package/lib/esm/graph/pinning/index.js +0 -10
  1020. package/lib/esm/graph/planning/GraphExecutionPlan.js +0 -2
  1021. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +0 -7
  1022. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +0 -2
  1023. package/lib/esm/graph/planning/GraphExecutionPlanNode.js +0 -2
  1024. package/lib/esm/graph/planning/GraphExecutionPlanner.js +0 -192
  1025. package/lib/esm/graph/planning/GraphRelationResolver.js +0 -167
  1026. package/lib/esm/graph/planning/GraphTopology.js +0 -52
  1027. package/lib/esm/graph/planning/index.js +0 -13
  1028. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +0 -39
  1029. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +0 -22
  1030. package/lib/esm/graph/registry/index.js +0 -8
  1031. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +0 -48
  1032. package/lib/esm/graph/snapshots/index.js +0 -7
  1033. package/lib/esm/graph/store/GraphCachedValue.js +0 -2
  1034. package/lib/esm/graph/store/GraphValueKey.js +0 -7
  1035. package/lib/esm/graph/store/GraphValueStore.js +0 -71
  1036. package/lib/esm/graph/store/GraphValueStoreAdapter.js +0 -2
  1037. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +0 -64
  1038. package/lib/esm/graph/store/index.js +0 -11
  1039. package/lib/esm/graph/types.js +0 -2
  1040. package/lib/esm/graph/validation/GraphDefinitionValidator.js +0 -28
  1041. package/lib/esm/graph/validation/GraphPortSchemaResolver.js +0 -53
  1042. package/lib/esm/graph/validation/GraphValueValidator.js +0 -47
  1043. package/lib/esm/graph/validation/index.js +0 -9
  1044. package/lib/types/graph/constants.d.cts +0 -101
  1045. package/lib/types/graph/constants.d.mts +0 -101
  1046. /package/lib/types/graph/{decorators.d.cts → engine/decorators.d.cts} +0 -0
  1047. /package/lib/types/graph/{decorators.d.mts → engine/decorators.d.mts} +0 -0
  1048. /package/lib/types/graph/{errors → engine/errors}/GraphCycleError.d.cts +0 -0
  1049. /package/lib/types/graph/{errors → engine/errors}/GraphCycleError.d.mts +0 -0
  1050. /package/lib/types/graph/{errors → engine/errors}/GraphExecutionError.d.cts +0 -0
  1051. /package/lib/types/graph/{errors → engine/errors}/GraphExecutionError.d.mts +0 -0
  1052. /package/lib/types/graph/{errors → engine/errors}/GraphInputError.d.cts +0 -0
  1053. /package/lib/types/graph/{errors → engine/errors}/GraphInputError.d.mts +0 -0
  1054. /package/lib/types/graph/{errors → engine/errors}/GraphLoopLimitError.d.cts +0 -0
  1055. /package/lib/types/graph/{errors → engine/errors}/GraphLoopLimitError.d.mts +0 -0
  1056. /package/lib/types/graph/{errors → engine/errors}/GraphPinningError.d.cts +0 -0
  1057. /package/lib/types/graph/{errors → engine/errors}/GraphPinningError.d.mts +0 -0
  1058. /package/lib/types/graph/{errors → engine/errors}/GraphPortError.d.cts +0 -0
  1059. /package/lib/types/graph/{errors → engine/errors}/GraphPortError.d.mts +0 -0
  1060. /package/lib/types/graph/{errors → engine/errors}/GraphStoreError.d.cts +0 -0
  1061. /package/lib/types/graph/{errors → engine/errors}/GraphStoreError.d.mts +0 -0
  1062. /package/lib/types/graph/{errors → engine/errors}/GraphTopologyError.d.cts +0 -0
  1063. /package/lib/types/graph/{errors → engine/errors}/GraphTopologyError.d.mts +0 -0
  1064. /package/lib/types/graph/{errors → engine/errors}/index.d.cts +0 -0
  1065. /package/lib/types/graph/{errors → engine/errors}/index.d.mts +0 -0
  1066. /package/lib/types/graph/{events → engine/events}/GraphExecutionEvent.d.cts +0 -0
  1067. /package/lib/types/graph/{events → engine/events}/GraphExecutionEvent.d.mts +0 -0
  1068. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventEmitter.d.cts +0 -0
  1069. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventEmitter.d.mts +0 -0
  1070. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventFactory.d.cts +0 -0
  1071. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventFactory.d.mts +0 -0
  1072. /package/lib/types/graph/{events → engine/events}/GraphExecutionObserver.d.cts +0 -0
  1073. /package/lib/types/graph/{events → engine/events}/GraphExecutionObserver.d.mts +0 -0
  1074. /package/lib/types/graph/{events → engine/events}/index.d.cts +0 -0
  1075. /package/lib/types/graph/{events → engine/events}/index.d.mts +0 -0
  1076. /package/lib/types/graph/{execution → engine/execution}/CodeSandboxEvaluator.d.cts +0 -0
  1077. /package/lib/types/graph/{execution → engine/execution}/CodeSandboxEvaluator.d.mts +0 -0
  1078. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionContext.d.cts +0 -0
  1079. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionContext.d.mts +0 -0
  1080. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionEngine.d.cts +0 -0
  1081. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionEngine.d.mts +0 -0
  1082. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionFrame.d.cts +0 -0
  1083. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionFrame.d.mts +0 -0
  1084. /package/lib/types/graph/{execution → engine/execution}/GraphNodeExecutor.d.cts +0 -0
  1085. /package/lib/types/graph/{execution → engine/execution}/GraphNodeExecutor.d.mts +0 -0
  1086. /package/lib/types/graph/{execution → engine/execution}/SwitchGraphNodeExecutor.d.cts +0 -0
  1087. /package/lib/types/graph/{execution → engine/execution}/SwitchGraphNodeExecutor.d.mts +0 -0
  1088. /package/lib/types/graph/{execution → engine/execution}/index.d.cts +0 -0
  1089. /package/lib/types/graph/{execution → engine/execution}/index.d.mts +0 -0
  1090. /package/lib/types/graph/{loops → engine/loops}/ForeachGraphNodeExecutor.d.cts +0 -0
  1091. /package/lib/types/graph/{loops → engine/loops}/ForeachGraphNodeExecutor.d.mts +0 -0
  1092. /package/lib/types/graph/{loops → engine/loops}/GraphLoopExecutionContext.d.cts +0 -0
  1093. /package/lib/types/graph/{loops → engine/loops}/GraphLoopExecutionContext.d.mts +0 -0
  1094. /package/lib/types/graph/{loops → engine/loops}/UntilGraphNodeExecutor.d.cts +0 -0
  1095. /package/lib/types/graph/{loops → engine/loops}/UntilGraphNodeExecutor.d.mts +0 -0
  1096. /package/lib/types/graph/{loops → engine/loops}/WhileGraphNodeExecutor.d.cts +0 -0
  1097. /package/lib/types/graph/{loops → engine/loops}/WhileGraphNodeExecutor.d.mts +0 -0
  1098. /package/lib/types/graph/{loops → engine/loops}/index.d.cts +0 -0
  1099. /package/lib/types/graph/{loops → engine/loops}/index.d.mts +0 -0
  1100. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningDependencyResolver.d.cts +0 -0
  1101. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningDependencyResolver.d.mts +0 -0
  1102. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningMetadata.d.cts +0 -0
  1103. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningMetadata.d.mts +0 -0
  1104. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningPolicy.d.cts +0 -0
  1105. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningPolicy.d.mts +0 -0
  1106. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningService.d.cts +0 -0
  1107. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningService.d.mts +0 -0
  1108. /package/lib/types/graph/{pinning → engine/pinning}/index.d.cts +0 -0
  1109. /package/lib/types/graph/{pinning → engine/pinning}/index.d.mts +0 -0
  1110. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlan.d.cts +0 -0
  1111. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlan.d.mts +0 -0
  1112. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanEdge.d.cts +0 -0
  1113. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanEdge.d.mts +0 -0
  1114. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanLayer.d.cts +0 -0
  1115. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanLayer.d.mts +0 -0
  1116. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanNode.d.cts +0 -0
  1117. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanNode.d.mts +0 -0
  1118. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanner.d.cts +0 -0
  1119. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanner.d.mts +0 -0
  1120. /package/lib/types/graph/{planning → engine/planning}/GraphRelationResolver.d.cts +0 -0
  1121. /package/lib/types/graph/{planning → engine/planning}/GraphRelationResolver.d.mts +0 -0
  1122. /package/lib/types/graph/{planning → engine/planning}/GraphTopology.d.cts +0 -0
  1123. /package/lib/types/graph/{planning → engine/planning}/GraphTopology.d.mts +0 -0
  1124. /package/lib/types/graph/{planning → engine/planning}/index.d.cts +0 -0
  1125. /package/lib/types/graph/{planning → engine/planning}/index.d.mts +0 -0
  1126. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorRegistry.d.cts +0 -0
  1127. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorRegistry.d.mts +0 -0
  1128. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorResolver.d.cts +0 -0
  1129. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorResolver.d.mts +0 -0
  1130. /package/lib/types/graph/{registry → engine/registry}/index.d.cts +0 -0
  1131. /package/lib/types/graph/{registry → engine/registry}/index.d.mts +0 -0
  1132. /package/lib/types/graph/{snapshots → engine/snapshots}/GraphExecutionSnapshotMapper.d.cts +0 -0
  1133. /package/lib/types/graph/{snapshots → engine/snapshots}/GraphExecutionSnapshotMapper.d.mts +0 -0
  1134. /package/lib/types/graph/{snapshots → engine/snapshots}/index.d.cts +0 -0
  1135. /package/lib/types/graph/{snapshots → engine/snapshots}/index.d.mts +0 -0
  1136. /package/lib/types/graph/{store → engine/store}/GraphCachedValue.d.cts +0 -0
  1137. /package/lib/types/graph/{store → engine/store}/GraphCachedValue.d.mts +0 -0
  1138. /package/lib/types/graph/{store → engine/store}/GraphValueKey.d.cts +0 -0
  1139. /package/lib/types/graph/{store → engine/store}/GraphValueKey.d.mts +0 -0
  1140. /package/lib/types/graph/{store → engine/store}/GraphValueStore.d.cts +0 -0
  1141. /package/lib/types/graph/{store → engine/store}/GraphValueStore.d.mts +0 -0
  1142. /package/lib/types/graph/{store → engine/store}/GraphValueStoreAdapter.d.cts +0 -0
  1143. /package/lib/types/graph/{store → engine/store}/GraphValueStoreAdapter.d.mts +0 -0
  1144. /package/lib/types/graph/{store → engine/store}/InMemoryGraphValueStoreAdapter.d.cts +0 -0
  1145. /package/lib/types/graph/{store → engine/store}/InMemoryGraphValueStoreAdapter.d.mts +0 -0
  1146. /package/lib/types/graph/{store → engine/store}/index.d.cts +0 -0
  1147. /package/lib/types/graph/{store → engine/store}/index.d.mts +0 -0
  1148. /package/lib/types/graph/{validation → engine/validation}/GraphDefinitionValidator.d.cts +0 -0
  1149. /package/lib/types/graph/{validation → engine/validation}/GraphDefinitionValidator.d.mts +0 -0
  1150. /package/lib/types/graph/{validation → engine/validation}/GraphPortSchemaResolver.d.cts +0 -0
  1151. /package/lib/types/graph/{validation → engine/validation}/GraphPortSchemaResolver.d.mts +0 -0
  1152. /package/lib/types/graph/{validation → engine/validation}/GraphValueValidator.d.cts +0 -0
  1153. /package/lib/types/graph/{validation → engine/validation}/GraphValueValidator.d.mts +0 -0
  1154. /package/lib/types/graph/{validation → engine/validation}/index.d.cts +0 -0
  1155. /package/lib/types/graph/{validation → engine/validation}/index.d.mts +0 -0
  1156. /package/lib/types/graph/{nodes → shared/nodes}/agent.d.cts +0 -0
  1157. /package/lib/types/graph/{nodes → shared/nodes}/agent.d.mts +0 -0
  1158. /package/lib/types/graph/{nodes → shared/nodes}/base.d.cts +0 -0
  1159. /package/lib/types/graph/{nodes → shared/nodes}/base.d.mts +0 -0
  1160. /package/lib/types/graph/{nodes → shared/nodes}/category-styles.d.cts +0 -0
  1161. /package/lib/types/graph/{nodes → shared/nodes}/category-styles.d.mts +0 -0
  1162. /package/lib/types/graph/{nodes → shared/nodes}/flow-control.d.cts +0 -0
  1163. /package/lib/types/graph/{nodes → shared/nodes}/flow-control.d.mts +0 -0
  1164. /package/lib/types/graph/{nodes → shared/nodes}/index.d.cts +0 -0
  1165. /package/lib/types/graph/{nodes → shared/nodes}/index.d.mts +0 -0
  1166. /package/lib/types/graph/{nodes → shared/nodes}/triggers.d.cts +0 -0
  1167. /package/lib/types/graph/{nodes → shared/nodes}/triggers.d.mts +0 -0
@@ -1,191 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GraphPinningService = void 0;
4
- /**
5
- * @module integrations/graph/pinning/GraphPinningService
6
- * @summary Service for pinning and unpinning graph node values.
7
- * @description Computes stable fingerprints, pins/unpins nodes and their upstream dependencies, reads pinned values, and emits pinning events. Pinning is all-or-nothing: if any upstream dependency is not pinnable, the operation fails.
8
- */
9
- const constants_js_1 = require("./../constants.cjs");
10
- const GraphPinningError_js_1 = require("./../errors/GraphPinningError.cjs");
11
- const GraphTopology_js_1 = require("./../planning/GraphTopology.cjs");
12
- /**
13
- * Service that manages pinning and unpinning of graph node values.
14
- */
15
- class GraphPinningService {
16
- constructor(store, policy, dependencyResolver) {
17
- this.store = store;
18
- this.policy = policy;
19
- this.dependencyResolver = dependencyResolver;
20
- }
21
- /**
22
- * Pins a node and all its upstream dependencies.
23
- *
24
- * @throws {GraphPinningError} when the node or any dependency is not pinnable.
25
- */
26
- async pinNode(options) {
27
- const plan = options.plan;
28
- const includeDependencies = options.includeDependencies ?? true;
29
- const pinSet = includeDependencies
30
- ? this.dependencyResolver.getPinSet(plan, options.nodeId)
31
- : new Set([options.nodeId]);
32
- // Validate all-or-nothing
33
- for (const nodeId of pinSet) {
34
- const node = plan.nodes.find((n) => n.id === nodeId);
35
- if (!node) {
36
- throw new GraphPinningError_js_1.GraphPinningError(`Node '${nodeId}' not found in plan`);
37
- }
38
- if (!this.policy.canPin(node)) {
39
- throw new GraphPinningError_js_1.GraphPinningError(`Node '${nodeId}' is not pinnable`, { nodeId });
40
- }
41
- }
42
- // Pin dependencies first, then the selected node
43
- const ordered = this.topologicalOrder(plan, pinSet);
44
- for (const nodeId of ordered) {
45
- const node = plan.nodes.find((n) => n.id === nodeId);
46
- const result = options.result.nodeResults[nodeId];
47
- if (!result || !result.outputs) {
48
- throw new GraphPinningError_js_1.GraphPinningError(`Node '${nodeId}' has no completed output to pin`);
49
- }
50
- const inputs = result.inputs ?? {};
51
- const depFingerprints = this.dependencyFingerprints(plan, nodeId, options.result);
52
- const key = this.createValueKey(options.workflow, node, inputs, depFingerprints, options.namespace);
53
- const now = new Date().toISOString();
54
- const cached = {
55
- key,
56
- outputs: result.outputs,
57
- pinned: true,
58
- createdAt: now,
59
- updatedAt: now,
60
- metadata: { ...options.result.metadata, nodeId },
61
- };
62
- await this.store.writeCached(key, cached);
63
- }
64
- }
65
- /**
66
- * Unpins a single node (does not unpin dependents in v1).
67
- */
68
- async unpinNode(options) {
69
- const key = {
70
- workflowId: options.workflow.name,
71
- nodeId: options.nodeId,
72
- fingerprint: options.fingerprint,
73
- namespace: options.namespace,
74
- };
75
- await this.store.deleteCached(key);
76
- }
77
- /**
78
- * Reads a pinned value for a node, returning `undefined` when no valid
79
- * pinned value exists.
80
- */
81
- async readPinnedValue(workflow, node, inputs, dependencyFingerprints, namespace) {
82
- const key = this.createValueKey(workflow, node, inputs, dependencyFingerprints, namespace);
83
- const cached = await this.store.readCached(key);
84
- if (cached && cached.pinned) {
85
- if (cached.expiresAt && new Date(cached.expiresAt) < new Date()) {
86
- return undefined;
87
- }
88
- return cached;
89
- }
90
- return undefined;
91
- }
92
- /**
93
- * Creates a stable value key for a node.
94
- */
95
- createValueKey(workflow, node, inputs, dependencyFingerprints, namespace) {
96
- return {
97
- workflowId: workflow.name,
98
- nodeId: node.id,
99
- fingerprint: this.computeFingerprint(workflow, node, inputs, dependencyFingerprints),
100
- namespace,
101
- };
102
- }
103
- /**
104
- * Computes a stable fingerprint for a node's inputs and dependencies.
105
- */
106
- computeFingerprint(workflow, node, inputs, dependencyFingerprints) {
107
- const data = {
108
- workflowId: workflow.name,
109
- nodeId: node.id,
110
- nodeKind: node.kind,
111
- nodeDefinitionVersion: node.definition?.graph?.metadata?.version,
112
- inputs: this.stableSerialize(inputs),
113
- dependencyFingerprints: this.stableSerialize(dependencyFingerprints),
114
- };
115
- const json = this.stableSerialize(data);
116
- // Use a deterministic non-cryptographic hash that works in both browser
117
- // and Node environments without requiring `node:crypto`.
118
- return this.simpleHash(json);
119
- }
120
- /**
121
- * Returns a topological ordering of the given node set.
122
- */
123
- topologicalOrder(plan, nodeSet) {
124
- const result = [];
125
- const visited = new Set();
126
- const visit = (nodeId) => {
127
- if (visited.has(nodeId))
128
- return;
129
- visited.add(nodeId);
130
- const deps = GraphTopology_js_1.GraphTopology.upstreamNodes(nodeId, plan.incomingByNode, false);
131
- for (const dep of deps) {
132
- if (nodeSet.has(dep))
133
- visit(dep);
134
- }
135
- result.push(nodeId);
136
- };
137
- for (const nodeId of nodeSet)
138
- visit(nodeId);
139
- return result;
140
- }
141
- /**
142
- * Computes fingerprints for all upstream dependencies of a node.
143
- */
144
- dependencyFingerprints(plan, nodeId, result) {
145
- const deps = this.dependencyResolver.getDependencies(plan, nodeId);
146
- const fingerprints = {};
147
- for (const dep of deps) {
148
- const node = plan.nodes.find((n) => n.id === dep);
149
- if (node) {
150
- const depResult = result.nodeResults[dep];
151
- const inputs = depResult?.inputs ?? {};
152
- const nestedDeps = this.dependencyFingerprints(plan, dep, result);
153
- fingerprints[dep] = this.computeFingerprint(plan.workflow, node, inputs, nestedDeps);
154
- }
155
- }
156
- return fingerprints;
157
- }
158
- /**
159
- * Serializes a value with recursively sorted keys for stable hashing.
160
- */
161
- stableSerialize(value) {
162
- if (value === null || typeof value !== "object") {
163
- return JSON.stringify(value);
164
- }
165
- if (Array.isArray(value)) {
166
- return `[${value.map((v) => this.stableSerialize(v)).join(",")}]`;
167
- }
168
- const keys = Object.keys(value).sort();
169
- const pairs = keys.map((k) => `${JSON.stringify(k)}:${this.stableSerialize(value[k])}`);
170
- return `{${pairs.join(",")}}`;
171
- }
172
- /**
173
- * Simple non-cryptographic hash for browser environments where
174
- * `node:crypto` is unavailable. Produces a deterministic hex-like string
175
- * from the input. This is NOT cryptographically secure but is sufficient
176
- * for fingerprint-based cache keys.
177
- */
178
- simpleHash(str) {
179
- let hash = 0;
180
- for (let i = 0; i < str.length; i++) {
181
- const char = str.charCodeAt(i);
182
- hash = (hash << 5) - hash + char;
183
- hash |= 0;
184
- }
185
- return `fp_${Math.abs(hash).toString(16).padStart(8, "0")}_${str.length}`;
186
- }
187
- }
188
- exports.GraphPinningService = GraphPinningService;
189
- void constants_js_1.GRAPH_PINNING_METADATA_KEY;
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhQaW5uaW5nU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9waW5uaW5nL0dyYXBoUGlubmluZ1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSwwQkFBcUI7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHlDQUFvQztBQUdoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLHVDQUFrQztBQWUxRDs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDbUIsS0FBc0IsRUFDdEIsTUFBMEIsRUFDMUIsa0JBQWtEO1FBRmxELFVBQUssR0FBTCxLQUFLLENBQWlCO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQW9CO1FBQzFCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBZ0M7SUFDbEUsQ0FBQztJQUVKOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTRCO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUEwQixDQUFDO1FBQ2hELE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQztRQUVoRSxNQUFNLE1BQU0sR0FBRyxtQkFBbUI7WUFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDekQsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFOUIsMEJBQTBCO1FBQzFCLEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNWLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLE1BQU0scUJBQXFCLENBQUMsQ0FBQztZQUNwRSxDQUFDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sSUFBSSxpQkFBaUIsQ0FDekIsU0FBUyxNQUFNLG1CQUFtQixFQUNsQyxFQUFFLE1BQU0sRUFBRSxDQUNYLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUVELGlEQUFpRDtRQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BELEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFFLENBQUM7WUFDdEQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxJQUFJLGlCQUFpQixDQUN6QixTQUFTLE1BQU0sa0NBQWtDLENBQ2xELENBQUM7WUFDSixDQUFDO1lBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDbkMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xGLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEcsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQyxNQUFNLE1BQU0sR0FBcUI7Z0JBQy9CLEdBQUc7Z0JBQ0gsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO2dCQUN2QixNQUFNLEVBQUUsSUFBSTtnQkFDWixTQUFTLEVBQUUsR0FBRztnQkFDZCxTQUFTLEVBQUUsR0FBRztnQkFDZCxRQUFRLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRTthQUNqRCxDQUFDO1lBQ0YsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBOEI7UUFDNUMsTUFBTSxHQUFHLEdBQWtCO1lBQ3pCLFVBQVUsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDakMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3RCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztZQUNoQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7U0FDN0IsQ0FBQztRQUNGLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQ25CLFFBQWlDLEVBQ2pDLElBQTRCLEVBQzVCLE1BQTRCLEVBQzVCLHNCQUE4QyxFQUM5QyxTQUFrQjtRQUVsQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEQsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLElBQUksTUFBTSxDQUFDLFNBQVMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNoRSxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FDWixRQUFpQyxFQUNqQyxJQUE0QixFQUM1QixNQUE0QixFQUM1QixzQkFBOEMsRUFDOUMsU0FBa0I7UUFFbEIsT0FBTztZQUNMLFVBQVUsRUFBRSxRQUFRLENBQUMsSUFBSTtZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixDQUFDO1lBQ3BGLFNBQVM7U0FDVixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQ2hCLFFBQWlDLEVBQ2pDLElBQTRCLEVBQzVCLE1BQTRCLEVBQzVCLHNCQUE4QztRQUU5QyxNQUFNLElBQUksR0FBRztZQUNYLFVBQVUsRUFBRSxRQUFRLENBQUMsSUFBSTtZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDZixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDbkIscUJBQXFCLEVBQUcsSUFBSSxDQUFDLFVBQWtCLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPO1lBQ3pFLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUNwQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDO1NBQ3JFLENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLHdFQUF3RTtRQUN4RSx5REFBeUQ7UUFDekQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNLLGdCQUFnQixDQUN0QixJQUF3QixFQUN4QixPQUFvQjtRQUVwQixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFDNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUNsQyxNQUFNLEtBQUssR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQy9CLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7Z0JBQUUsT0FBTztZQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDN0UsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztvQkFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDO1FBQ0YsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPO1lBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNLLHNCQUFzQixDQUM1QixJQUF3QixFQUN4QixNQUFjLEVBQ2QsTUFBNEI7UUFFNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkUsTUFBTSxZQUFZLEdBQTJCLEVBQUUsQ0FBQztRQUNoRCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2xELElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUMsTUFBTSxNQUFNLEdBQUcsU0FBUyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7Z0JBQ3ZDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUNsRSxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN2RixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNLLGVBQWUsQ0FBQyxLQUFjO1FBQ3BDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDcEUsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDcEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFFLEtBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ3pFLENBQUM7UUFDRixPQUFPLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLFVBQVUsQ0FBQyxHQUFXO1FBQzVCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ1osQ0FBQztRQUNELE9BQU8sTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0NBQ0Y7QUFFRCxLQUFLLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9waW5uaW5nL0dyYXBoUGlubmluZ1NlcnZpY2VcbiAqIEBzdW1tYXJ5IFNlcnZpY2UgZm9yIHBpbm5pbmcgYW5kIHVucGlubmluZyBncmFwaCBub2RlIHZhbHVlcy5cbiAqIEBkZXNjcmlwdGlvbiBDb21wdXRlcyBzdGFibGUgZmluZ2VycHJpbnRzLCBwaW5zL3VucGlucyBub2RlcyBhbmQgdGhlaXIgdXBzdHJlYW0gZGVwZW5kZW5jaWVzLCByZWFkcyBwaW5uZWQgdmFsdWVzLCBhbmQgZW1pdHMgcGlubmluZyBldmVudHMuIFBpbm5pbmcgaXMgYWxsLW9yLW5vdGhpbmc6IGlmIGFueSB1cHN0cmVhbSBkZXBlbmRlbmN5IGlzIG5vdCBwaW5uYWJsZSwgdGhlIG9wZXJhdGlvbiBmYWlscy5cbiAqL1xuaW1wb3J0IHsgR1JBUEhfUElOTklOR19NRVRBREFUQV9LRVkgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHcmFwaFBpbm5pbmdFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMvR3JhcGhQaW5uaW5nRXJyb3JcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25QbGFuIH0gZnJvbSBcIi4uL3BsYW5uaW5nL0dyYXBoRXhlY3V0aW9uUGxhblwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlIH0gZnJvbSBcIi4uL3BsYW5uaW5nL0dyYXBoRXhlY3V0aW9uUGxhbk5vZGVcIjtcbmltcG9ydCB7IEdyYXBoVG9wb2xvZ3kgfSBmcm9tIFwiLi4vcGxhbm5pbmcvR3JhcGhUb3BvbG9neVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaFZhbHVlU3RvcmUgfSBmcm9tIFwiLi4vc3RvcmUvR3JhcGhWYWx1ZVN0b3JlXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoVmFsdWVLZXkgfSBmcm9tIFwiLi4vc3RvcmUvR3JhcGhWYWx1ZUtleVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaENhY2hlZFZhbHVlIH0gZnJvbSBcIi4uL3N0b3JlL0dyYXBoQ2FjaGVkVmFsdWVcIjtcbmltcG9ydCB0eXBlIHtcbiAgR3JhcGhFeGVjdXRpb25SZXN1bHQsXG4gIEdyYXBoRXhlY3V0aW9uVmFsdWVzLFxuICBHcmFwaFBpbk5vZGVPcHRpb25zLFxuICBHcmFwaFVucGluTm9kZU9wdGlvbnMsXG59IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaFdvcmtmbG93RGVmaW5pdGlvbiB9IGZyb20gXCJAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaFwiO1xuXG5pbXBvcnQgdHlwZSB7IEdyYXBoUGlubmluZ1BvbGljeSB9IGZyb20gXCIuL0dyYXBoUGlubmluZ1BvbGljeVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaFBpbm5pbmdEZXBlbmRlbmN5UmVzb2x2ZXIgfSBmcm9tIFwiLi9HcmFwaFBpbm5pbmdEZXBlbmRlbmN5UmVzb2x2ZXJcIjtcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgbWFuYWdlcyBwaW5uaW5nIGFuZCB1bnBpbm5pbmcgb2YgZ3JhcGggbm9kZSB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaFBpbm5pbmdTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZTogR3JhcGhWYWx1ZVN0b3JlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9saWN5OiBHcmFwaFBpbm5pbmdQb2xpY3ksXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXBlbmRlbmN5UmVzb2x2ZXI6IEdyYXBoUGlubmluZ0RlcGVuZGVuY3lSZXNvbHZlclxuICApIHt9XG5cbiAgLyoqXG4gICAqIFBpbnMgYSBub2RlIGFuZCBhbGwgaXRzIHVwc3RyZWFtIGRlcGVuZGVuY2llcy5cbiAgICpcbiAgICogQHRocm93cyB7R3JhcGhQaW5uaW5nRXJyb3J9IHdoZW4gdGhlIG5vZGUgb3IgYW55IGRlcGVuZGVuY3kgaXMgbm90IHBpbm5hYmxlLlxuICAgKi9cbiAgYXN5bmMgcGluTm9kZShvcHRpb25zOiBHcmFwaFBpbk5vZGVPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGxhbiA9IG9wdGlvbnMucGxhbiBhcyBHcmFwaEV4ZWN1dGlvblBsYW47XG4gICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IG9wdGlvbnMuaW5jbHVkZURlcGVuZGVuY2llcyA/PyB0cnVlO1xuXG4gICAgY29uc3QgcGluU2V0ID0gaW5jbHVkZURlcGVuZGVuY2llc1xuICAgICAgPyB0aGlzLmRlcGVuZGVuY3lSZXNvbHZlci5nZXRQaW5TZXQocGxhbiwgb3B0aW9ucy5ub2RlSWQpXG4gICAgICA6IG5ldyBTZXQoW29wdGlvbnMubm9kZUlkXSk7XG5cbiAgICAvLyBWYWxpZGF0ZSBhbGwtb3Itbm90aGluZ1xuICAgIGZvciAoY29uc3Qgbm9kZUlkIG9mIHBpblNldCkge1xuICAgICAgY29uc3Qgbm9kZSA9IHBsYW4ubm9kZXMuZmluZCgobikgPT4gbi5pZCA9PT0gbm9kZUlkKTtcbiAgICAgIGlmICghbm9kZSkge1xuICAgICAgICB0aHJvdyBuZXcgR3JhcGhQaW5uaW5nRXJyb3IoYE5vZGUgJyR7bm9kZUlkfScgbm90IGZvdW5kIGluIHBsYW5gKTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5wb2xpY3kuY2FuUGluKG5vZGUpKSB7XG4gICAgICAgIHRocm93IG5ldyBHcmFwaFBpbm5pbmdFcnJvcihcbiAgICAgICAgICBgTm9kZSAnJHtub2RlSWR9JyBpcyBub3QgcGlubmFibGVgLFxuICAgICAgICAgIHsgbm9kZUlkIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQaW4gZGVwZW5kZW5jaWVzIGZpcnN0LCB0aGVuIHRoZSBzZWxlY3RlZCBub2RlXG4gICAgY29uc3Qgb3JkZXJlZCA9IHRoaXMudG9wb2xvZ2ljYWxPcmRlcihwbGFuLCBwaW5TZXQpO1xuICAgIGZvciAoY29uc3Qgbm9kZUlkIG9mIG9yZGVyZWQpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBwbGFuLm5vZGVzLmZpbmQoKG4pID0+IG4uaWQgPT09IG5vZGVJZCkhO1xuICAgICAgY29uc3QgcmVzdWx0ID0gb3B0aW9ucy5yZXN1bHQubm9kZVJlc3VsdHNbbm9kZUlkXTtcbiAgICAgIGlmICghcmVzdWx0IHx8ICFyZXN1bHQub3V0cHV0cykge1xuICAgICAgICB0aHJvdyBuZXcgR3JhcGhQaW5uaW5nRXJyb3IoXG4gICAgICAgICAgYE5vZGUgJyR7bm9kZUlkfScgaGFzIG5vIGNvbXBsZXRlZCBvdXRwdXQgdG8gcGluYFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgaW5wdXRzID0gcmVzdWx0LmlucHV0cyA/PyB7fTtcbiAgICAgIGNvbnN0IGRlcEZpbmdlcnByaW50cyA9IHRoaXMuZGVwZW5kZW5jeUZpbmdlcnByaW50cyhwbGFuLCBub2RlSWQsIG9wdGlvbnMucmVzdWx0KTtcbiAgICAgIGNvbnN0IGtleSA9IHRoaXMuY3JlYXRlVmFsdWVLZXkob3B0aW9ucy53b3JrZmxvdywgbm9kZSwgaW5wdXRzLCBkZXBGaW5nZXJwcmludHMsIG9wdGlvbnMubmFtZXNwYWNlKTtcbiAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICAgIGNvbnN0IGNhY2hlZDogR3JhcGhDYWNoZWRWYWx1ZSA9IHtcbiAgICAgICAga2V5LFxuICAgICAgICBvdXRwdXRzOiByZXN1bHQub3V0cHV0cyxcbiAgICAgICAgcGlubmVkOiB0cnVlLFxuICAgICAgICBjcmVhdGVkQXQ6IG5vdyxcbiAgICAgICAgdXBkYXRlZEF0OiBub3csXG4gICAgICAgIG1ldGFkYXRhOiB7IC4uLm9wdGlvbnMucmVzdWx0Lm1ldGFkYXRhLCBub2RlSWQgfSxcbiAgICAgIH07XG4gICAgICBhd2FpdCB0aGlzLnN0b3JlLndyaXRlQ2FjaGVkKGtleSwgY2FjaGVkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVW5waW5zIGEgc2luZ2xlIG5vZGUgKGRvZXMgbm90IHVucGluIGRlcGVuZGVudHMgaW4gdjEpLlxuICAgKi9cbiAgYXN5bmMgdW5waW5Ob2RlKG9wdGlvbnM6IEdyYXBoVW5waW5Ob2RlT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGtleTogR3JhcGhWYWx1ZUtleSA9IHtcbiAgICAgIHdvcmtmbG93SWQ6IG9wdGlvbnMud29ya2Zsb3cubmFtZSxcbiAgICAgIG5vZGVJZDogb3B0aW9ucy5ub2RlSWQsXG4gICAgICBmaW5nZXJwcmludDogb3B0aW9ucy5maW5nZXJwcmludCxcbiAgICAgIG5hbWVzcGFjZTogb3B0aW9ucy5uYW1lc3BhY2UsXG4gICAgfTtcbiAgICBhd2FpdCB0aGlzLnN0b3JlLmRlbGV0ZUNhY2hlZChrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIGEgcGlubmVkIHZhbHVlIGZvciBhIG5vZGUsIHJldHVybmluZyBgdW5kZWZpbmVkYCB3aGVuIG5vIHZhbGlkXG4gICAqIHBpbm5lZCB2YWx1ZSBleGlzdHMuXG4gICAqL1xuICBhc3luYyByZWFkUGlubmVkVmFsdWUoXG4gICAgd29ya2Zsb3c6IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uLFxuICAgIG5vZGU6IEdyYXBoRXhlY3V0aW9uUGxhbk5vZGUsXG4gICAgaW5wdXRzOiBHcmFwaEV4ZWN1dGlvblZhbHVlcyxcbiAgICBkZXBlbmRlbmN5RmluZ2VycHJpbnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICAgIG5hbWVzcGFjZT86IHN0cmluZ1xuICApOiBQcm9taXNlPEdyYXBoQ2FjaGVkVmFsdWUgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmNyZWF0ZVZhbHVlS2V5KHdvcmtmbG93LCBub2RlLCBpbnB1dHMsIGRlcGVuZGVuY3lGaW5nZXJwcmludHMsIG5hbWVzcGFjZSk7XG4gICAgY29uc3QgY2FjaGVkID0gYXdhaXQgdGhpcy5zdG9yZS5yZWFkQ2FjaGVkKGtleSk7XG4gICAgaWYgKGNhY2hlZCAmJiBjYWNoZWQucGlubmVkKSB7XG4gICAgICBpZiAoY2FjaGVkLmV4cGlyZXNBdCAmJiBuZXcgRGF0ZShjYWNoZWQuZXhwaXJlc0F0KSA8IG5ldyBEYXRlKCkpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjYWNoZWQ7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHN0YWJsZSB2YWx1ZSBrZXkgZm9yIGEgbm9kZS5cbiAgICovXG4gIGNyZWF0ZVZhbHVlS2V5KFxuICAgIHdvcmtmbG93OiBHcmFwaFdvcmtmbG93RGVmaW5pdGlvbixcbiAgICBub2RlOiBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlLFxuICAgIGlucHV0czogR3JhcGhFeGVjdXRpb25WYWx1ZXMsXG4gICAgZGVwZW5kZW5jeUZpbmdlcnByaW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmdcbiAgKTogR3JhcGhWYWx1ZUtleSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdvcmtmbG93SWQ6IHdvcmtmbG93Lm5hbWUsXG4gICAgICBub2RlSWQ6IG5vZGUuaWQsXG4gICAgICBmaW5nZXJwcmludDogdGhpcy5jb21wdXRlRmluZ2VycHJpbnQod29ya2Zsb3csIG5vZGUsIGlucHV0cywgZGVwZW5kZW5jeUZpbmdlcnByaW50cyksXG4gICAgICBuYW1lc3BhY2UsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyBhIHN0YWJsZSBmaW5nZXJwcmludCBmb3IgYSBub2RlJ3MgaW5wdXRzIGFuZCBkZXBlbmRlbmNpZXMuXG4gICAqL1xuICBjb21wdXRlRmluZ2VycHJpbnQoXG4gICAgd29ya2Zsb3c6IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uLFxuICAgIG5vZGU6IEdyYXBoRXhlY3V0aW9uUGxhbk5vZGUsXG4gICAgaW5wdXRzOiBHcmFwaEV4ZWN1dGlvblZhbHVlcyxcbiAgICBkZXBlbmRlbmN5RmluZ2VycHJpbnRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIHdvcmtmbG93SWQ6IHdvcmtmbG93Lm5hbWUsXG4gICAgICBub2RlSWQ6IG5vZGUuaWQsXG4gICAgICBub2RlS2luZDogbm9kZS5raW5kLFxuICAgICAgbm9kZURlZmluaXRpb25WZXJzaW9uOiAobm9kZS5kZWZpbml0aW9uIGFzIGFueSk/LmdyYXBoPy5tZXRhZGF0YT8udmVyc2lvbixcbiAgICAgIGlucHV0czogdGhpcy5zdGFibGVTZXJpYWxpemUoaW5wdXRzKSxcbiAgICAgIGRlcGVuZGVuY3lGaW5nZXJwcmludHM6IHRoaXMuc3RhYmxlU2VyaWFsaXplKGRlcGVuZGVuY3lGaW5nZXJwcmludHMpLFxuICAgIH07XG4gICAgY29uc3QganNvbiA9IHRoaXMuc3RhYmxlU2VyaWFsaXplKGRhdGEpO1xuICAgIC8vIFVzZSBhIGRldGVybWluaXN0aWMgbm9uLWNyeXB0b2dyYXBoaWMgaGFzaCB0aGF0IHdvcmtzIGluIGJvdGggYnJvd3NlclxuICAgIC8vIGFuZCBOb2RlIGVudmlyb25tZW50cyB3aXRob3V0IHJlcXVpcmluZyBgbm9kZTpjcnlwdG9gLlxuICAgIHJldHVybiB0aGlzLnNpbXBsZUhhc2goanNvbik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHRvcG9sb2dpY2FsIG9yZGVyaW5nIG9mIHRoZSBnaXZlbiBub2RlIHNldC5cbiAgICovXG4gIHByaXZhdGUgdG9wb2xvZ2ljYWxPcmRlcihcbiAgICBwbGFuOiBHcmFwaEV4ZWN1dGlvblBsYW4sXG4gICAgbm9kZVNldDogU2V0PHN0cmluZz5cbiAgKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCB2aXNpdGVkID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgY29uc3QgdmlzaXQgPSAobm9kZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICh2aXNpdGVkLmhhcyhub2RlSWQpKSByZXR1cm47XG4gICAgICB2aXNpdGVkLmFkZChub2RlSWQpO1xuICAgICAgY29uc3QgZGVwcyA9IEdyYXBoVG9wb2xvZ3kudXBzdHJlYW1Ob2Rlcyhub2RlSWQsIHBsYW4uaW5jb21pbmdCeU5vZGUsIGZhbHNlKTtcbiAgICAgIGZvciAoY29uc3QgZGVwIG9mIGRlcHMpIHtcbiAgICAgICAgaWYgKG5vZGVTZXQuaGFzKGRlcCkpIHZpc2l0KGRlcCk7XG4gICAgICB9XG4gICAgICByZXN1bHQucHVzaChub2RlSWQpO1xuICAgIH07XG4gICAgZm9yIChjb25zdCBub2RlSWQgb2Ygbm9kZVNldCkgdmlzaXQobm9kZUlkKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGVzIGZpbmdlcnByaW50cyBmb3IgYWxsIHVwc3RyZWFtIGRlcGVuZGVuY2llcyBvZiBhIG5vZGUuXG4gICAqL1xuICBwcml2YXRlIGRlcGVuZGVuY3lGaW5nZXJwcmludHMoXG4gICAgcGxhbjogR3JhcGhFeGVjdXRpb25QbGFuLFxuICAgIG5vZGVJZDogc3RyaW5nLFxuICAgIHJlc3VsdDogR3JhcGhFeGVjdXRpb25SZXN1bHRcbiAgKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgY29uc3QgZGVwcyA9IHRoaXMuZGVwZW5kZW5jeVJlc29sdmVyLmdldERlcGVuZGVuY2llcyhwbGFuLCBub2RlSWQpO1xuICAgIGNvbnN0IGZpbmdlcnByaW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICAgIGZvciAoY29uc3QgZGVwIG9mIGRlcHMpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBwbGFuLm5vZGVzLmZpbmQoKG4pID0+IG4uaWQgPT09IGRlcCk7XG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBjb25zdCBkZXBSZXN1bHQgPSByZXN1bHQubm9kZVJlc3VsdHNbZGVwXTtcbiAgICAgICAgY29uc3QgaW5wdXRzID0gZGVwUmVzdWx0Py5pbnB1dHMgPz8ge307XG4gICAgICAgIGNvbnN0IG5lc3RlZERlcHMgPSB0aGlzLmRlcGVuZGVuY3lGaW5nZXJwcmludHMocGxhbiwgZGVwLCByZXN1bHQpO1xuICAgICAgICBmaW5nZXJwcmludHNbZGVwXSA9IHRoaXMuY29tcHV0ZUZpbmdlcnByaW50KHBsYW4ud29ya2Zsb3csIG5vZGUsIGlucHV0cywgbmVzdGVkRGVwcyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmaW5nZXJwcmludHM7XG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplcyBhIHZhbHVlIHdpdGggcmVjdXJzaXZlbHkgc29ydGVkIGtleXMgZm9yIHN0YWJsZSBoYXNoaW5nLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGFibGVTZXJpYWxpemUodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIGBbJHt2YWx1ZS5tYXAoKHYpID0+IHRoaXMuc3RhYmxlU2VyaWFsaXplKHYpKS5qb2luKFwiLFwiKX1dYDtcbiAgICB9XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHZhbHVlKS5zb3J0KCk7XG4gICAgY29uc3QgcGFpcnMgPSBrZXlzLm1hcChcbiAgICAgIChrKSA9PiBgJHtKU09OLnN0cmluZ2lmeShrKX06JHt0aGlzLnN0YWJsZVNlcmlhbGl6ZSgodmFsdWUgYXMgYW55KVtrXSl9YFxuICAgICk7XG4gICAgcmV0dXJuIGB7JHtwYWlycy5qb2luKFwiLFwiKX19YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaW1wbGUgbm9uLWNyeXB0b2dyYXBoaWMgaGFzaCBmb3IgYnJvd3NlciBlbnZpcm9ubWVudHMgd2hlcmVcbiAgICogYG5vZGU6Y3J5cHRvYCBpcyB1bmF2YWlsYWJsZS4gUHJvZHVjZXMgYSBkZXRlcm1pbmlzdGljIGhleC1saWtlIHN0cmluZ1xuICAgKiBmcm9tIHRoZSBpbnB1dC4gVGhpcyBpcyBOT1QgY3J5cHRvZ3JhcGhpY2FsbHkgc2VjdXJlIGJ1dCBpcyBzdWZmaWNpZW50XG4gICAqIGZvciBmaW5nZXJwcmludC1iYXNlZCBjYWNoZSBrZXlzLlxuICAgKi9cbiAgcHJpdmF0ZSBzaW1wbGVIYXNoKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgaGFzaCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNoYXIgPSBzdHIuY2hhckNvZGVBdChpKTtcbiAgICAgIGhhc2ggPSAoaGFzaCA8PCA1KSAtIGhhc2ggKyBjaGFyO1xuICAgICAgaGFzaCB8PSAwO1xuICAgIH1cbiAgICByZXR1cm4gYGZwXyR7TWF0aC5hYnMoaGFzaCkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDgsIFwiMFwiKX1fJHtzdHIubGVuZ3RofWA7XG4gIH1cbn1cblxudm9pZCBHUkFQSF9QSU5OSU5HX01FVEFEQVRBX0tFWTtcbiJdfQ==
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhQaW5uaW5nU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkdyYXBoUGlubmluZ1NlcnZpY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7R0FJRztBQUNILG9EQUErRDtBQUMvRCwyRUFBcUU7QUFDckUscUVBQStEO0FBQy9EOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFDNUIsWUFBWSxLQUFLLEVBQUUsTUFBTSxFQUFFLGtCQUFrQjtRQUN6QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7SUFDakQsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU87UUFDakIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUMxQixNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUM7UUFDaEUsTUFBTSxNQUFNLEdBQUcsbUJBQW1CO1lBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3pELENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLDBCQUEwQjtRQUMxQixLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDUixNQUFNLElBQUksd0NBQWlCLENBQUMs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QUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEYsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztJQUNsQyxDQUFDO0lBQ0Q7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsR0FBRztRQUNWLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0NBQ0o7QUE1S0Qsa0RBNEtDO0FBQ0QsS0FBSyx5Q0FBMEIsQ0FBQztBQUNoQyw4eG1CQUE4eG1CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9waW5uaW5nL0dyYXBoUGlubmluZ1NlcnZpY2VcbiAqIEBzdW1tYXJ5IFNlcnZpY2UgZm9yIHBpbm5pbmcgYW5kIHVucGlubmluZyBncmFwaCBub2RlIHZhbHVlcy5cbiAqIEBkZXNjcmlwdGlvbiBDb21wdXRlcyBzdGFibGUgZmluZ2VycHJpbnRzLCBwaW5zL3VucGlucyBub2RlcyBhbmQgdGhlaXIgdXBzdHJlYW0gZGVwZW5kZW5jaWVzLCByZWFkcyBwaW5uZWQgdmFsdWVzLCBhbmQgZW1pdHMgcGlubmluZyBldmVudHMuIFBpbm5pbmcgaXMgYWxsLW9yLW5vdGhpbmc6IGlmIGFueSB1cHN0cmVhbSBkZXBlbmRlbmN5IGlzIG5vdCBwaW5uYWJsZSwgdGhlIG9wZXJhdGlvbiBmYWlscy5cbiAqL1xuaW1wb3J0IHsgR1JBUEhfUElOTklOR19NRVRBREFUQV9LRVkgfSBmcm9tIFwiLi8uLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IEdyYXBoUGlubmluZ0Vycm9yIH0gZnJvbSBcIi4vLi4vZXJyb3JzL0dyYXBoUGlubmluZ0Vycm9yLmpzXCI7XG5pbXBvcnQgeyBHcmFwaFRvcG9sb2d5IH0gZnJvbSBcIi4vLi4vcGxhbm5pbmcvR3JhcGhUb3BvbG9neS5qc1wiO1xuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgbWFuYWdlcyBwaW5uaW5nIGFuZCB1bnBpbm5pbmcgb2YgZ3JhcGggbm9kZSB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaFBpbm5pbmdTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihzdG9yZSwgcG9saWN5LCBkZXBlbmRlbmN5UmVzb2x2ZXIpIHtcbiAgICAgICAgdGhpcy5zdG9yZSA9IHN0b3JlO1xuICAgICAgICB0aGlzLnBvbGljeSA9IHBvbGljeTtcbiAgICAgICAgdGhpcy5kZXBlbmRlbmN5UmVzb2x2ZXIgPSBkZXBlbmRlbmN5UmVzb2x2ZXI7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFBpbnMgYSBub2RlIGFuZCBhbGwgaXRzIHVwc3RyZWFtIGRlcGVuZGVuY2llcy5cbiAgICAgKlxuICAgICAqIEB0aHJvd3Mge0dyYXBoUGlubmluZ0Vycm9yfSB3aGVuIHRoZSBub2RlIG9yIGFueSBkZXBlbmRlbmN5IGlzIG5vdCBwaW5uYWJsZS5cbiAgICAgKi9cbiAgICBhc3luYyBwaW5Ob2RlKG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcGxhbiA9IG9wdGlvbnMucGxhbjtcbiAgICAgICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IG9wdGlvbnMuaW5jbHVkZURlcGVuZGVuY2llcyA/PyB0cnVlO1xuICAgICAgICBjb25zdCBwaW5TZXQgPSBpbmNsdWRlRGVwZW5kZW5jaWVzXG4gICAgICAgICAgICA/IHRoaXMuZGVwZW5kZW5jeVJlc29sdmVyLmdldFBpblNldChwbGFuLCBvcHRpb25zLm5vZGVJZClcbiAgICAgICAgICAgIDogbmV3IFNldChbb3B0aW9ucy5ub2RlSWRdKTtcbiAgICAgICAgLy8gVmFsaWRhdGUgYWxsLW9yLW5vdGhpbmdcbiAgICAgICAgZm9yIChjb25zdCBub2RlSWQgb2YgcGluU2V0KSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gcGxhbi5ub2Rlcy5maW5kKChuKSA9PiBuLmlkID09PSBub2RlSWQpO1xuICAgICAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoUGlubmluZ0Vycm9yKGBOb2RlICcke25vZGVJZH0nIG5vdCBmb3VuZCBpbiBwbGFuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMucG9saWN5LmNhblBpbihub2RlKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBHcmFwaFBpbm5pbmdFcnJvcihgTm9kZSAnJHtub2RlSWR9JyBpcyBub3QgcGlubmFibGVgLCB7IG5vZGVJZCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBQaW4gZGVwZW5kZW5jaWVzIGZpcnN0LCB0aGVuIHRoZSBzZWxlY3RlZCBub2RlXG4gICAgICAgIGNvbnN0IG9yZGVyZWQgPSB0aGlzLnRvcG9sb2dpY2FsT3JkZXIocGxhbiwgcGluU2V0KTtcbiAgICAgICAgZm9yIChjb25zdCBub2RlSWQgb2Ygb3JkZXJlZCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHBsYW4ubm9kZXMuZmluZCgobikgPT4gbi5pZCA9PT0gbm9kZUlkKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG9wdGlvbnMucmVzdWx0Lm5vZGVSZXN1bHRzW25vZGVJZF07XG4gICAgICAgICAgICBpZiAoIXJlc3VsdCB8fCAhcmVzdWx0Lm91dHB1dHMpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhQaW5uaW5nRXJyb3IoYE5vZGUgJyR7bm9kZUlkfScgaGFzIG5vIGNvbXBsZXRlZCBvdXRwdXQgdG8gcGluYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBpbnB1dHMgPSByZXN1bHQuaW5wdXRzID8/IHt9O1xuICAgICAgICAgICAgY29uc3QgZGVwRmluZ2VycHJpbnRzID0gdGhpcy5kZXBlbmRlbmN5RmluZ2VycHJpbnRzKHBsYW4sIG5vZGVJZCwgb3B0aW9ucy5yZXN1bHQpO1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5jcmVhdGVWYWx1ZUtleShvcHRpb25zLndvcmtmbG93LCBub2RlLCBpbnB1dHMsIGRlcEZpbmdlcnByaW50cywgb3B0aW9ucy5uYW1lc3BhY2UpO1xuICAgICAgICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuICAgICAgICAgICAgY29uc3QgY2FjaGVkID0ge1xuICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICBvdXRwdXRzOiByZXN1bHQub3V0cHV0cyxcbiAgICAgICAgICAgICAgICBwaW5uZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0OiBub3csXG4gICAgICAgICAgICAgICAgdXBkYXRlZEF0OiBub3csXG4gICAgICAgICAgICAgICAgbWV0YWRhdGE6IHsgLi4ub3B0aW9ucy5yZXN1bHQubWV0YWRhdGEsIG5vZGVJZCB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc3RvcmUud3JpdGVDYWNoZWQoa2V5LCBjYWNoZWQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVucGlucyBhIHNpbmdsZSBub2RlIChkb2VzIG5vdCB1bnBpbiBkZXBlbmRlbnRzIGluIHYxKS5cbiAgICAgKi9cbiAgICBhc3luYyB1bnBpbk5vZGUob3B0aW9ucykge1xuICAgICAgICBjb25zdCBrZXkgPSB7XG4gICAgICAgICAgICB3b3JrZmxvd0lkOiBvcHRpb25zLndvcmtmbG93Lm5hbWUsXG4gICAgICAgICAgICBub2RlSWQ6IG9wdGlvbnMubm9kZUlkLFxuICAgICAgICAgICAgZmluZ2VycHJpbnQ6IG9wdGlvbnMuZmluZ2VycHJpbnQsXG4gICAgICAgICAgICBuYW1lc3BhY2U6IG9wdGlvbnMubmFtZXNwYWNlLFxuICAgICAgICB9O1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JlLmRlbGV0ZUNhY2hlZChrZXkpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZWFkcyBhIHBpbm5lZCB2YWx1ZSBmb3IgYSBub2RlLCByZXR1cm5pbmcgYHVuZGVmaW5lZGAgd2hlbiBubyB2YWxpZFxuICAgICAqIHBpbm5lZCB2YWx1ZSBleGlzdHMuXG4gICAgICovXG4gICAgYXN5bmMgcmVhZFBpbm5lZFZhbHVlKHdvcmtmbG93LCBub2RlLCBpbnB1dHMsIGRlcGVuZGVuY3lGaW5nZXJwcmludHMsIG5hbWVzcGFjZSkge1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLmNyZWF0ZVZhbHVlS2V5KHdvcmtmbG93LCBub2RlLCBpbnB1dHMsIGRlcGVuZGVuY3lGaW5nZXJwcmludHMsIG5hbWVzcGFjZSk7XG4gICAgICAgIGNvbnN0IGNhY2hlZCA9IGF3YWl0IHRoaXMuc3RvcmUucmVhZENhY2hlZChrZXkpO1xuICAgICAgICBpZiAoY2FjaGVkICYmIGNhY2hlZC5waW5uZWQpIHtcbiAgICAgICAgICAgIGlmIChjYWNoZWQuZXhwaXJlc0F0ICYmIG5ldyBEYXRlKGNhY2hlZC5leHBpcmVzQXQpIDwgbmV3IERhdGUoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzdGFibGUgdmFsdWUga2V5IGZvciBhIG5vZGUuXG4gICAgICovXG4gICAgY3JlYXRlVmFsdWVLZXkod29ya2Zsb3csIG5vZGUsIGlucHV0cywgZGVwZW5kZW5jeUZpbmdlcnByaW50cywgbmFtZXNwYWNlKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5uYW1lLFxuICAgICAgICAgICAgbm9kZUlkOiBub2RlLmlkLFxuICAgICAgICAgICAgZmluZ2VycHJpbnQ6IHRoaXMuY29tcHV0ZUZpbmdlcnByaW50KHdvcmtmbG93LCBub2RlLCBpbnB1dHMsIGRlcGVuZGVuY3lGaW5nZXJwcmludHMpLFxuICAgICAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyBhIHN0YWJsZSBmaW5nZXJwcmludCBmb3IgYSBub2RlJ3MgaW5wdXRzIGFuZCBkZXBlbmRlbmNpZXMuXG4gICAgICovXG4gICAgY29tcHV0ZUZpbmdlcnByaW50KHdvcmtmbG93LCBub2RlLCBpbnB1dHMsIGRlcGVuZGVuY3lGaW5nZXJwcmludHMpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgIHdvcmtmbG93SWQ6IHdvcmtmbG93Lm5hbWUsXG4gICAgICAgICAgICBub2RlSWQ6IG5vZGUuaWQsXG4gICAgICAgICAgICBub2RlS2luZDogbm9kZS5raW5kLFxuICAgICAgICAgICAgbm9kZURlZmluaXRpb25WZXJzaW9uOiBub2RlLmRlZmluaXRpb24/LmdyYXBoPy5tZXRhZGF0YT8udmVyc2lvbixcbiAgICAgICAgICAgIGlucHV0czogdGhpcy5zdGFibGVTZXJpYWxpemUoaW5wdXRzKSxcbiAgICAgICAgICAgIGRlcGVuZGVuY3lGaW5nZXJwcmludHM6IHRoaXMuc3RhYmxlU2VyaWFsaXplKGRlcGVuZGVuY3lGaW5nZXJwcmludHMpLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBqc29uID0gdGhpcy5zdGFibGVTZXJpYWxpemUoZGF0YSk7XG4gICAgICAgIC8vIFVzZSBhIGRldGVybWluaXN0aWMgbm9uLWNyeXB0b2dyYXBoaWMgaGFzaCB0aGF0IHdvcmtzIGluIGJvdGggYnJvd3NlclxuICAgICAgICAvLyBhbmQgTm9kZSBlbnZpcm9ubWVudHMgd2l0aG91dCByZXF1aXJpbmcgYG5vZGU6Y3J5cHRvYC5cbiAgICAgICAgcmV0dXJuIHRoaXMuc2ltcGxlSGFzaChqc29uKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIHRvcG9sb2dpY2FsIG9yZGVyaW5nIG9mIHRoZSBnaXZlbiBub2RlIHNldC5cbiAgICAgKi9cbiAgICB0b3BvbG9naWNhbE9yZGVyKHBsYW4sIG5vZGVTZXQpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGNvbnN0IHZpc2l0ZWQgPSBuZXcgU2V0KCk7XG4gICAgICAgIGNvbnN0IHZpc2l0ID0gKG5vZGVJZCkgPT4ge1xuICAgICAgICAgICAgaWYgKHZpc2l0ZWQuaGFzKG5vZGVJZCkpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgdmlzaXRlZC5hZGQobm9kZUlkKTtcbiAgICAgICAgICAgIGNvbnN0IGRlcHMgPSBHcmFwaFRvcG9sb2d5LnVwc3RyZWFtTm9kZXMobm9kZUlkLCBwbGFuLmluY29taW5nQnlOb2RlLCBmYWxzZSk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGRlcCBvZiBkZXBzKSB7XG4gICAgICAgICAgICAgICAgaWYgKG5vZGVTZXQuaGFzKGRlcCkpXG4gICAgICAgICAgICAgICAgICAgIHZpc2l0KGRlcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXN1bHQucHVzaChub2RlSWQpO1xuICAgICAgICB9O1xuICAgICAgICBmb3IgKGNvbnN0IG5vZGVJZCBvZiBub2RlU2V0KVxuICAgICAgICAgICAgdmlzaXQobm9kZUlkKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgZmluZ2VycHJpbnRzIGZvciBhbGwgdXBzdHJlYW0gZGVwZW5kZW5jaWVzIG9mIGEgbm9kZS5cbiAgICAgKi9cbiAgICBkZXBlbmRlbmN5RmluZ2VycHJpbnRzKHBsYW4sIG5vZGVJZCwgcmVzdWx0KSB7XG4gICAgICAgIGNvbnN0IGRlcHMgPSB0aGlzLmRlcGVuZGVuY3lSZXNvbHZlci5nZXREZXBlbmRlbmNpZXMocGxhbiwgbm9kZUlkKTtcbiAgICAgICAgY29uc3QgZmluZ2VycHJpbnRzID0ge307XG4gICAgICAgIGZvciAoY29uc3QgZGVwIG9mIGRlcHMpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBwbGFuLm5vZGVzLmZpbmQoKG4pID0+IG4uaWQgPT09IGRlcCk7XG4gICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlcFJlc3VsdCA9IHJlc3VsdC5ub2RlUmVzdWx0c1tkZXBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0cyA9IGRlcFJlc3VsdD8uaW5wdXRzID8/IHt9O1xuICAgICAgICAgICAgICAgIGNvbnN0IG5lc3RlZERlcHMgPSB0aGlzLmRlcGVuZGVuY3lGaW5nZXJwcmludHMocGxhbiwgZGVwLCByZXN1bHQpO1xuICAgICAgICAgICAgICAgIGZpbmdlcnByaW50c1tkZXBdID0gdGhpcy5jb21wdXRlRmluZ2VycHJpbnQocGxhbi53b3JrZmxvdywgbm9kZSwgaW5wdXRzLCBuZXN0ZWREZXBzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmluZ2VycHJpbnRzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXJpYWxpemVzIGEgdmFsdWUgd2l0aCByZWN1cnNpdmVseSBzb3J0ZWQga2V5cyBmb3Igc3RhYmxlIGhhc2hpbmcuXG4gICAgICovXG4gICAgc3RhYmxlU2VyaWFsaXplKHZhbHVlKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gYFske3ZhbHVlLm1hcCgodikgPT4gdGhpcy5zdGFibGVTZXJpYWxpemUodikpLmpvaW4oXCIsXCIpfV1gO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh2YWx1ZSkuc29ydCgpO1xuICAgICAgICBjb25zdCBwYWlycyA9IGtleXMubWFwKChrKSA9PiBgJHtKU09OLnN0cmluZ2lmeShrKX06JHt0aGlzLnN0YWJsZVNlcmlhbGl6ZSh2YWx1ZVtrXSl9YCk7XG4gICAgICAgIHJldHVybiBgeyR7cGFpcnMuam9pbihcIixcIil9fWA7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNpbXBsZSBub24tY3J5cHRvZ3JhcGhpYyBoYXNoIGZvciBicm93c2VyIGVudmlyb25tZW50cyB3aGVyZVxuICAgICAqIGBub2RlOmNyeXB0b2AgaXMgdW5hdmFpbGFibGUuIFByb2R1Y2VzIGEgZGV0ZXJtaW5pc3RpYyBoZXgtbGlrZSBzdHJpbmdcbiAgICAgKiBmcm9tIHRoZSBpbnB1dC4gVGhpcyBpcyBOT1QgY3J5cHRvZ3JhcGhpY2FsbHkgc2VjdXJlIGJ1dCBpcyBzdWZmaWNpZW50XG4gICAgICogZm9yIGZpbmdlcnByaW50LWJhc2VkIGNhY2hlIGtleXMuXG4gICAgICovXG4gICAgc2ltcGxlSGFzaChzdHIpIHtcbiAgICAgICAgbGV0IGhhc2ggPSAwO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgY2hhciA9IHN0ci5jaGFyQ29kZUF0KGkpO1xuICAgICAgICAgICAgaGFzaCA9IChoYXNoIDw8IDUpIC0gaGFzaCArIGNoYXI7XG4gICAgICAgICAgICBoYXNoIHw9IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGBmcF8ke01hdGguYWJzKGhhc2gpLnRvU3RyaW5nKDE2KS5wYWRTdGFydCg4LCBcIjBcIil9XyR7c3RyLmxlbmd0aH1gO1xuICAgIH1cbn1cbnZvaWQgR1JBUEhfUElOTklOR19NRVRBREFUQV9LRVk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lSM0poY0doUWFXNXVhVzVuVTJWeWRtbGpaUzVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMM055WXk5bmNtRndhQzl3YVc1dWFXNW5MMGR5WVhCb1VHbHVibWx1WjFObGNuWnBZMlV1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPenM3UjBGSlJ6dEJRVU5JTEU5QlFVOHNSVUZCUlN3d1FrRkJNRUlzUlVGQlJTd3dRa0ZCY1VJN1FVRkRNVVFzVDBGQlR5eEZRVUZGTEdsQ1FVRnBRaXhGUVVGRkxIbERRVUZ2UXp0QlFVZG9SU3hQUVVGUExFVkJRVVVzWVVGQllTeEZRVUZGTEhWRFFVRnJRenRCUVdVeFJEczdSMEZGUnp0QlFVTklMRTFCUVUwc1QwRkJUeXh0UWtGQmJVSTdTVUZET1VJc1dVRkRiVUlzUzBGQmMwSXNSVUZEZEVJc1RVRkJNRUlzUlVGRE1VSXNhMEpCUVd0RU8xRkJSbXhFTEZWQlFVc3NSMEZCVEN4TFFVRkxMRU5CUVdsQ08xRkJRM1JDTEZkQlFVMHNSMEZCVGl4TlFVRk5MRU5CUVc5Q08xRkJRekZDTEhWQ1FVRnJRaXhIUVVGc1FpeHJRa0ZCYTBJc1EwRkJaME03U1VGRGJFVXNRMEZCUXp0SlFVVktPenM3TzA5QlNVYzdTVUZEU0N4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFOUJRVFJDTzFGQlEzaERMRTFCUVUwc1NVRkJTU3hIUVVGSExFOUJRVThzUTBGQlF5eEpRVUV3UWl4RFFVRkRPMUZCUTJoRUxFMUJRVTBzYlVKQlFXMUNMRWRCUVVjc1QwRkJUeXhEUVVGRExHMUNRVUZ0UWl4SlFVRkpMRWxCUVVrc1EwRkJRenRSUVVWb1JTeE5RVUZOTEUxQlFVMHNSMEZCUnl4dFFrRkJiVUk3V1VGRGFFTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTTdXVUZEZWtRc1EwRkJReXhEUVVGRExFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRk9VSXNNRUpCUVRCQ08xRkJRekZDTEV0QlFVc3NUVUZCVFN4TlFVRk5MRWxCUVVrc1RVRkJUU3hGUVVGRkxFTkJRVU03V1VGRE5VSXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEV0QlFVc3NUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRja1FzU1VGQlNTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMmRDUVVOV0xFMUJRVTBzU1VGQlNTeHBRa0ZCYVVJc1EwRkJReXhUUVVGVExFMUJRVTBzY1VKQlFYRkNMRU5CUVVNc1EwRkJRenRaUVVOd1JTeERRVUZETzFsQlEwUXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNN1owSkJRemxDTEUxQlFVMHNTVUZCU1N4cFFrRkJhVUlzUTBGRGVrSXNVMEZCVXl4TlFVRk5MRzFDUVVGdFFpeEZRVU5zUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hEUVVOWUxFTkJRVU03V1VGRFNpeERRVUZETzFGQlEwZ3NRMEZCUXp0UlFVVkVMR2xFUVVGcFJEdFJRVU5xUkN4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1NVRkJTU3hGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzFGQlEzQkVMRXRCUVVzc1RVRkJUU3hOUVVGTkxFbEJRVWtzVDBGQlR5eEZRVUZGTEVOQlFVTTdXVUZETjBJc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRXRCUVVzc1RVRkJUU3hEUVVGRkxFTkJRVU03V1VGRGRFUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF5eFhRVUZYTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRiRVFzU1VGQlNTeERRVUZETEUxQlFVMHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dG5Ra0ZETDBJc1RVRkJUU3hKUVVGSkxHbENRVUZwUWl4RFFVTjZRaXhUUVVGVExFMUJRVTBzYTBOQlFXdERMRU5CUTJ4RUxFTkJRVU03V1VGRFNpeERRVUZETzFsQlEwUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1RVRkJUU3hEUVVGRExFMUJRVTBzU1VGQlNTeEZRVUZGTEVOQlFVTTdXVUZEYmtNc1RVRkJUU3hsUVVGbExFZEJRVWNzU1VGQlNTeERRVUZETEhOQ1FVRnpRaXhEUVVGRExFbEJRVWtzUlVGQlJTeE5RVUZOTEVWQlFVVXNUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xbEJRMnhHTEUxQlFVMHNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zVDBGQlR5eERRVUZETEZGQlFWRXNSVUZCUlN4SlFVRkpMRVZCUVVVc1RVRkJUU3hGUVVGRkxHVkJRV1VzUlVGQlJTeFBRVUZQTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNN1dVRkRjRWNzVFVGQlRTeEhRVUZITEVkQlFVY3NTVUZCU1N4SlFVRkpMRVZCUVVVc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF6dFpRVU55UXl4TlFVRk5MRTFCUVUwc1IwRkJjVUk3WjBKQlF5OUNMRWRCUVVjN1owSkJRMGdzVDBGQlR5eEZRVUZGTEUxQlFVMHNRMEZCUXl4UFFVRlBPMmRDUVVOMlFpeE5RVUZOTEVWQlFVVXNTVUZCU1R0blFrRkRXaXhUUVVGVExFVkJRVVVzUjBGQlJ6dG5Ra0ZEWkN4VFFVRlRMRVZCUVVVc1IwRkJSenRuUWtGRFpDeFJRVUZSTEVWQlFVVXNSVUZCUlN4SFFVRkhMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zVVVGQlVTeEZRVUZGTEUxQlFVMHNSVUZCUlR0aFFVTnFSQ3hEUVVGRE8xbEJRMFlzVFVGQlRTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRmRCUVZjc1EwRkJReXhIUVVGSExFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTTdVVUZETlVNc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGRlJEczdUMEZGUnp0SlFVTklMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zVDBGQk9FSTdVVUZETlVNc1RVRkJUU3hIUVVGSExFZEJRV3RDTzFsQlEzcENMRlZCUVZVc1JVRkJSU3hQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZETEVsQlFVazdXVUZEYWtNc1RVRkJUU3hGUVVGRkxFOUJRVThzUTBGQlF5eE5RVUZOTzFsQlEzUkNMRmRCUVZjc1JVRkJSU3hQUVVGUExFTkJRVU1zVjBGQlZ6dFpRVU5vUXl4VFFVRlRMRVZCUVVVc1QwRkJUeXhEUVVGRExGTkJRVk03VTBGRE4wSXNRMEZCUXp0UlFVTkdMRTFCUVUwc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFpRVUZaTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRja01zUTBGQlF6dEpRVVZFT3pzN1QwRkhSenRKUVVOSUxFdEJRVXNzUTBGQlF5eGxRVUZsTEVOQlEyNUNMRkZCUVdsRExFVkJRMnBETEVsQlFUUkNMRVZCUXpWQ0xFMUJRVFJDTEVWQlF6VkNMSE5DUVVFNFF5eEZRVU01UXl4VFFVRnJRanRSUVVWc1FpeE5RVUZOTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1kwRkJZeXhEUVVGRExGRkJRVkVzUlVGQlJTeEpRVUZKTEVWQlFVVXNUVUZCVFN4RlFVRkZMSE5DUVVGelFpeEZRVUZGTEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUXpOR0xFMUJRVTBzVFVGQlRTeEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEYUVRc1NVRkJTU3hOUVVGTkxFbEJRVWtzVFVGQlRTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMWxCUXpWQ0xFbEJRVWtzVFVGQlRTeERRVUZETEZOQlFWTXNTVUZCU1N4SlFVRkpMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVTBGQlV5eERRVUZETEVkQlFVY3NTVUZCU1N4SlFVRkpMRVZCUVVVc1JVRkJSU3hEUVVGRE8yZENRVU5vUlN4UFFVRlBMRk5CUVZNc1EwRkJRenRaUVVOdVFpeERRVUZETzFsQlEwUXNUMEZCVHl4TlFVRk5MRU5CUVVNN1VVRkRhRUlzUTBGQlF6dFJRVU5FTEU5QlFVOHNVMEZCVXl4RFFVRkRPMGxCUTI1Q0xFTkJRVU03U1VGRlJEczdUMEZGUnp0SlFVTklMR05CUVdNc1EwRkRXaXhSUVVGcFF5eEZRVU5xUXl4SlFVRTBRaXhGUVVNMVFpeE5RVUUwUWl4RlFVTTFRaXh6UWtGQk9FTXNSVUZET1VNc1UwRkJhMEk3VVVGRmJFSXNUMEZCVHp0WlFVTk1MRlZCUVZVc1JVRkJSU3hSUVVGUkxFTkJRVU1zU1VGQlNUdFpRVU42UWl4TlFVRk5MRVZCUVVVc1NVRkJTU3hEUVVGRExFVkJRVVU3V1VGRFppeFhRVUZYTEVWQlFVVXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEZGQlFWRXNSVUZCUlN4SlFVRkpMRVZCUVVVc1RVRkJUU3hGUVVGRkxITkNRVUZ6UWl4RFFVRkRPMWxCUTNCR0xGTkJRVk03VTBGRFZpeERRVUZETzBsQlEwb3NRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMGdzYTBKQlFXdENMRU5CUTJoQ0xGRkJRV2xETEVWQlEycERMRWxCUVRSQ0xFVkJRelZDTEUxQlFUUkNMRVZCUXpWQ0xITkNRVUU0UXp0UlFVVTVReXhOUVVGTkxFbEJRVWtzUjBGQlJ6dFpRVU5ZTEZWQlFWVXNSVUZCUlN4UlFVRlJMRU5CUVVNc1NVRkJTVHRaUVVONlFpeE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRVZCUVVVN1dVRkRaaXhSUVVGUkxFVkJRVVVzU1VGQlNTeERRVUZETEVsQlFVazdXVUZEYmtJc2NVSkJRWEZDTEVWQlFVY3NTVUZCU1N4RFFVRkRMRlZCUVd0Q0xFVkJRVVVzUzBGQlN5eEZRVUZGTEZGQlFWRXNSVUZCUlN4UFFVRlBPMWxCUTNwRkxFMUJRVTBzUlVGQlJTeEpRVUZKTEVOQlFVTXNaVUZCWlN4RFFVRkRMRTFCUVUwc1EwRkJRenRaUVVOd1F5eHpRa0ZCYzBJc1JVRkJSU3hKUVVGSkxFTkJRVU1zWlVGQlpTeERRVUZETEhOQ1FVRnpRaXhEUVVGRE8xTkJRM0pGTEVOQlFVTTdVVUZEUml4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU1zWlVGQlpTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTNoRExIZEZRVUYzUlR0UlFVTjRSU3g1UkVGQmVVUTdVVUZEZWtRc1QwRkJUeXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXk5Q0xFTkJRVU03U1VGRlJEczdUMEZGUnp0SlFVTkxMR2RDUVVGblFpeERRVU4wUWl4SlFVRjNRaXhGUVVONFFpeFBRVUZ2UWp0UlFVVndRaXhOUVVGTkxFMUJRVTBzUjBGQllTeEZRVUZGTEVOQlFVTTdVVUZETlVJc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFWVXNRMEZCUXp0UlFVTnNReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eERRVUZETEUxQlFXTXNSVUZCUlN4RlFVRkZPMWxCUXk5Q0xFbEJRVWtzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNN1owSkJRVVVzVDBGQlR6dFpRVU5vUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFsQlEzQkNMRTFCUVUwc1NVRkJTU3hIUVVGSExHRkJRV0VzUTBGQlF5eGhRVUZoTEVOQlFVTXNUVUZCVFN4RlFVRkZMRWxCUVVrc1EwRkJReXhqUVVGakxFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdXVUZETjBVc1MwRkJTeXhOUVVGTkxFZEJRVWNzU1VGQlNTeEpRVUZKTEVWQlFVVXNRMEZCUXp0blFrRkRka0lzU1VGQlNTeFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJRenR2UWtGQlJTeExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRia01zUTBGQlF6dFpRVU5FTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRGRFSXNRMEZCUXl4RFFVRkRPMUZCUTBZc1MwRkJTeXhOUVVGTkxFMUJRVTBzU1VGQlNTeFBRVUZQTzFsQlFVVXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJRelZETEU5QlFVOHNUVUZCVFN4RFFVRkRPMGxCUTJoQ0xFTkJRVU03U1VGRlJEczdUMEZGUnp0SlFVTkxMSE5DUVVGelFpeERRVU0xUWl4SlFVRjNRaXhGUVVONFFpeE5RVUZqTEVWQlEyUXNUVUZCTkVJN1VVRkZOVUlzVFVGQlRTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEdWQlFXVXNRMEZCUXl4SlFVRkpMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRGJrVXNUVUZCVFN4WlFVRlpMRWRCUVRKQ0xFVkJRVVVzUTBGQlF6dFJRVU5vUkN4TFFVRkxMRTFCUVUwc1IwRkJSeXhKUVVGSkxFbEJRVWtzUlVGQlJTeERRVUZETzFsQlEzWkNMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMnhFTEVsQlFVa3NTVUZCU1N4RlFVRkZMRU5CUVVNN1owSkJRMVFzVFVGQlRTeFRRVUZUTEVkQlFVY3NUVUZCVFN4RFFVRkRMRmRCUVZjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dG5Ra0ZETVVNc1RVRkJUU3hOUVVGTkxFZEJRVWNzVTBGQlV5eEZRVUZGTEUxQlFVMHNTVUZCU1N4RlFVRkZMRU5CUVVNN1owSkJRM1pETEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1EwRkJReXh6UWtGQmMwSXNRMEZCUXl4SlFVRkpMRVZCUVVVc1IwRkJSeXhGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzJkQ1FVTnNSU3haUVVGWkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTBzUlVGQlJTeFZRVUZWTEVOQlFVTXNRMEZCUXp0WlFVTjJSaXhEUVVGRE8xRkJRMGdzUTBGQlF6dFJRVU5FTEU5QlFVOHNXVUZCV1N4RFFVRkRPMGxCUTNSQ0xFTkJRVU03U1VGRlJEczdUMEZGUnp0SlFVTkxMR1ZCUVdVc1EwRkJReXhMUVVGak8xRkJRM0JETEVsQlFVa3NTMEZCU3l4TFFVRkxMRWxCUVVrc1NVRkJTU3hQUVVGUExFdEJRVXNzUzBGQlN5eFJRVUZSTEVWQlFVVXNRMEZCUXp0WlFVTm9SQ3hQUVVGUExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRMMElzUTBGQlF6dFJRVU5FTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJTeERRVUZETzFsQlEzcENMRTlCUVU4c1NVRkJTU3hMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zWlVGQlpTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTTdVVUZEY0VVc1EwRkJRenRSUVVORUxFMUJRVTBzU1VGQlNTeEhRVUZITEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTTdVVUZEZGtNc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZEY0VJc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNaVUZCWlN4RFFVRkZMRXRCUVdFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlEzcEZMRU5CUVVNN1VVRkRSaXhQUVVGUExFbEJRVWtzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRE8wbEJRMmhETEVOQlFVTTdTVUZGUkRzN096czdUMEZMUnp0SlFVTkxMRlZCUVZVc1EwRkJReXhIUVVGWE8xRkJRelZDTEVsQlFVa3NTVUZCU1N4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOaUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNN1dVRkRjRU1zVFVGQlRTeEpRVUZKTEVkQlFVY3NSMEZCUnl4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU12UWl4SlFVRkpMRWRCUVVjc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJRenRaUVVOcVF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTFvc1EwRkJRenRSUVVORUxFOUJRVThzVFVGQlRTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExGRkJRVkVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eEpRVUZKTEVkQlFVY3NRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRKUVVNMVJTeERRVUZETzBOQlEwWTdRVUZGUkN4TFFVRkxMREJDUVVFd1FpeERRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnS2lCQWJXOWtkV3hsSUdsdWRHVm5jbUYwYVc5dWN5OW5jbUZ3YUM5d2FXNXVhVzVuTDBkeVlYQm9VR2x1Ym1sdVoxTmxjblpwWTJWY2JpQXFJRUJ6ZFcxdFlYSjVJRk5sY25acFkyVWdabTl5SUhCcGJtNXBibWNnWVc1a0lIVnVjR2x1Ym1sdVp5Qm5jbUZ3YUNCdWIyUmxJSFpoYkhWbGN5NWNiaUFxSUVCa1pYTmpjbWx3ZEdsdmJpQkRiMjF3ZFhSbGN5QnpkR0ZpYkdVZ1ptbHVaMlZ5Y0hKcGJuUnpMQ0J3YVc1ekwzVnVjR2x1Y3lCdWIyUmxjeUJoYm1RZ2RHaGxhWElnZFhCemRISmxZVzBnWkdWd1pXNWtaVzVqYVdWekxDQnlaV0ZrY3lCd2FXNXVaV1FnZG1Gc2RXVnpMQ0JoYm1RZ1pXMXBkSE1nY0dsdWJtbHVaeUJsZG1WdWRITXVJRkJwYm01cGJtY2dhWE1nWVd4c0xXOXlMVzV2ZEdocGJtYzZJR2xtSUdGdWVTQjFjSE4wY21WaGJTQmtaWEJsYm1SbGJtTjVJR2x6SUc1dmRDQndhVzV1WVdKc1pTd2dkR2hsSUc5d1pYSmhkR2x2YmlCbVlXbHNjeTVjYmlBcUwxeHVhVzF3YjNKMElIc2dSMUpCVUVoZlVFbE9Ua2xPUjE5TlJWUkJSRUZVUVY5TFJWa2dmU0JtY205dElGd2lMaTR2WTI5dWMzUmhiblJ6WENJN1hHNXBiWEJ2Y25RZ2V5QkhjbUZ3YUZCcGJtNXBibWRGY25KdmNpQjlJR1p5YjIwZ1hDSXVMaTlsY25KdmNuTXZSM0poY0doUWFXNXVhVzVuUlhKeWIzSmNJanRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doRmVHVmpkWFJwYjI1UWJHRnVJSDBnWm5KdmJTQmNJaTR1TDNCc1lXNXVhVzVuTDBkeVlYQm9SWGhsWTNWMGFXOXVVR3hoYmx3aU8xeHVhVzF3YjNKMElIUjVjR1VnZXlCSGNtRndhRVY0WldOMWRHbHZibEJzWVc1T2IyUmxJSDBnWm5KdmJTQmNJaTR1TDNCc1lXNXVhVzVuTDBkeVlYQm9SWGhsWTNWMGFXOXVVR3hoYms1dlpHVmNJanRjYm1sdGNHOXlkQ0I3SUVkeVlYQm9WRzl3YjJ4dloza2dmU0JtY205dElGd2lMaTR2Y0d4aGJtNXBibWN2UjNKaGNHaFViM0J2Ykc5bmVWd2lPMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkhjbUZ3YUZaaGJIVmxVM1J2Y21VZ2ZTQm1jbTl0SUZ3aUxpNHZjM1J2Y21VdlIzSmhjR2hXWVd4MVpWTjBiM0psWENJN1hHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVkeVlYQm9WbUZzZFdWTFpYa2dmU0JtY205dElGd2lMaTR2YzNSdmNtVXZSM0poY0doV1lXeDFaVXRsZVZ3aU8xeHVhVzF3YjNKMElIUjVjR1VnZXlCSGNtRndhRU5oWTJobFpGWmhiSFZsSUgwZ1puSnZiU0JjSWk0dUwzTjBiM0psTDBkeVlYQm9RMkZqYUdWa1ZtRnNkV1ZjSWp0Y2JtbHRjRzl5ZENCMGVYQmxJSHRjYmlBZ1IzSmhjR2hGZUdWamRYUnBiMjVTWlhOMWJIUXNYRzRnSUVkeVlYQm9SWGhsWTNWMGFXOXVWbUZzZFdWekxGeHVJQ0JIY21Gd2FGQnBiazV2WkdWUGNIUnBiMjV6TEZ4dUlDQkhjbUZ3YUZWdWNHbHVUbTlrWlU5d2RHbHZibk1zWEc1OUlHWnliMjBnWENJdUxpOTBlWEJsYzF3aU8xeHVhVzF3YjNKMElIUjVjR1VnZXlCSGNtRndhRmR2Y210bWJHOTNSR1ZtYVc1cGRHbHZiaUI5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12ZFdrdFpHVmpiM0poZEc5eWN5OW5jbUZ3YUZ3aU8xeHVYRzVwYlhCdmNuUWdkSGx3WlNCN0lFZHlZWEJvVUdsdWJtbHVaMUJ2YkdsamVTQjlJR1p5YjIwZ1hDSXVMMGR5WVhCb1VHbHVibWx1WjFCdmJHbGplVndpTzF4dWFXMXdiM0owSUhSNWNHVWdleUJIY21Gd2FGQnBibTVwYm1kRVpYQmxibVJsYm1ONVVtVnpiMngyWlhJZ2ZTQm1jbTl0SUZ3aUxpOUhjbUZ3YUZCcGJtNXBibWRFWlhCbGJtUmxibU41VW1WemIyeDJaWEpjSWp0Y2JseHVMeW9xWEc0Z0tpQlRaWEoyYVdObElIUm9ZWFFnYldGdVlXZGxjeUJ3YVc1dWFXNW5JR0Z1WkNCMWJuQnBibTVwYm1jZ2IyWWdaM0poY0dnZ2JtOWtaU0IyWVd4MVpYTXVYRzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJIY21Gd2FGQnBibTVwYm1kVFpYSjJhV05sSUh0Y2JpQWdZMjl1YzNSeWRXTjBiM0lvWEc0Z0lDQWdjSEpwZG1GMFpTQnlaV0ZrYjI1c2VTQnpkRzl5WlRvZ1IzSmhjR2hXWVd4MVpWTjBiM0psTEZ4dUlDQWdJSEJ5YVhaaGRHVWdjbVZoWkc5dWJIa2djRzlzYVdONU9pQkhjbUZ3YUZCcGJtNXBibWRRYjJ4cFkza3NYRzRnSUNBZ2NISnBkbUYwWlNCeVpXRmtiMjVzZVNCa1pYQmxibVJsYm1ONVVtVnpiMngyWlhJNklFZHlZWEJvVUdsdWJtbHVaMFJsY0dWdVpHVnVZM2xTWlhOdmJIWmxjbHh1SUNBcElIdDlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGQnBibk1nWVNCdWIyUmxJR0Z1WkNCaGJHd2dhWFJ6SUhWd2MzUnlaV0Z0SUdSbGNHVnVaR1Z1WTJsbGN5NWNiaUFnSUNwY2JpQWdJQ29nUUhSb2NtOTNjeUI3UjNKaGNHaFFhVzV1YVc1blJYSnliM0o5SUhkb1pXNGdkR2hsSUc1dlpHVWdiM0lnWVc1NUlHUmxjR1Z1WkdWdVkza2dhWE1nYm05MElIQnBibTVoWW14bExseHVJQ0FnS2k5Y2JpQWdZWE41Ym1NZ2NHbHVUbTlrWlNodmNIUnBiMjV6T2lCSGNtRndhRkJwYms1dlpHVlBjSFJwYjI1ektUb2dVSEp2YldselpUeDJiMmxrUGlCN1hHNGdJQ0FnWTI5dWMzUWdjR3hoYmlBOUlHOXdkR2x2Ym5NdWNHeGhiaUJoY3lCSGNtRndhRVY0WldOMWRHbHZibEJzWVc0N1hHNGdJQ0FnWTI5dWMzUWdhVzVqYkhWa1pVUmxjR1Z1WkdWdVkybGxjeUE5SUc5d2RHbHZibk11YVc1amJIVmtaVVJsY0dWdVpHVnVZMmxsY3lBL1B5QjBjblZsTzF4dVhHNGdJQ0FnWTI5dWMzUWdjR2x1VTJWMElEMGdhVzVqYkhWa1pVUmxjR1Z1WkdWdVkybGxjMXh1SUNBZ0lDQWdQeUIwYUdsekxtUmxjR1Z1WkdWdVkzbFNaWE52YkhabGNpNW5aWFJRYVc1VFpYUW9jR3hoYml3Z2IzQjBhVzl1Y3k1dWIyUmxTV1FwWEc0Z0lDQWdJQ0E2SUc1bGR5QlRaWFFvVzI5d2RHbHZibk11Ym05a1pVbGtYU2s3WEc1Y2JpQWdJQ0F2THlCV1lXeHBaR0YwWlNCaGJHd3RiM0l0Ym05MGFHbHVaMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdibTlrWlVsa0lHOW1JSEJwYmxObGRDa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2JtOWtaU0E5SUhCc1lXNHVibTlrWlhNdVptbHVaQ2dvYmlrZ1BUNGdiaTVwWkNBOVBUMGdibTlrWlVsa0tUdGNiaUFnSUNBZ0lHbG1JQ2doYm05a1pTa2dlMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUjNKaGNHaFFhVzV1YVc1blJYSnliM0lvWUU1dlpHVWdKeVI3Ym05a1pVbGtmU2NnYm05MElHWnZkVzVrSUdsdUlIQnNZVzVnS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDZ2hkR2hwY3k1d2IyeHBZM2t1WTJGdVVHbHVLRzV2WkdVcEtTQjdYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJIY21Gd2FGQnBibTVwYm1kRmNuSnZjaWhjYmlBZ0lDQWdJQ0FnSUNCZ1RtOWtaU0FuSkh0dWIyUmxTV1I5SnlCcGN5QnViM1FnY0dsdWJtRmliR1ZnTEZ4dUlDQWdJQ0FnSUNBZ0lIc2dibTlrWlVsa0lIMWNiaUFnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJRYVc0Z1pHVndaVzVrWlc1amFXVnpJR1pwY25OMExDQjBhR1Z1SUhSb1pTQnpaV3hsWTNSbFpDQnViMlJsWEc0Z0lDQWdZMjl1YzNRZ2IzSmtaWEpsWkNBOUlIUm9hWE11ZEc5d2IyeHZaMmxqWVd4UGNtUmxjaWh3YkdGdUxDQndhVzVUWlhRcE8xeHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ2JtOWtaVWxrSUc5bUlHOXlaR1Z5WldRcElIdGNiaUFnSUNBZ0lHTnZibk4wSUc1dlpHVWdQU0J3YkdGdUxtNXZaR1Z6TG1acGJtUW9LRzRwSUQwK0lHNHVhV1FnUFQwOUlHNXZaR1ZKWkNraE8xeHVJQ0FnSUNBZ1kyOXVjM1FnY21WemRXeDBJRDBnYjNCMGFXOXVjeTV5WlhOMWJIUXVibTlrWlZKbGMzVnNkSE5iYm05a1pVbGtYVHRjYmlBZ0lDQWdJR2xtSUNnaGNtVnpkV3gwSUh4OElDRnlaWE4xYkhRdWIzVjBjSFYwY3lrZ2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSM0poY0doUWFXNXVhVzVuUlhKeWIzSW9YRzRnSUNBZ0lDQWdJQ0FnWUU1dlpHVWdKeVI3Ym05a1pVbGtmU2NnYUdGeklHNXZJR052YlhCc1pYUmxaQ0J2ZFhSd2RYUWdkRzhnY0dsdVlGeHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdZMjl1YzNRZ2FXNXdkWFJ6SUQwZ2NtVnpkV3gwTG1sdWNIVjBjeUEvUHlCN2ZUdGNiaUFnSUNBZ0lHTnZibk4wSUdSbGNFWnBibWRsY25CeWFXNTBjeUE5SUhSb2FYTXVaR1Z3Wlc1a1pXNWplVVpwYm1kbGNuQnlhVzUwY3lod2JHRnVMQ0J1YjJSbFNXUXNJRzl3ZEdsdmJuTXVjbVZ6ZFd4MEtUdGNiaUFnSUNBZ0lHTnZibk4wSUd0bGVTQTlJSFJvYVhNdVkzSmxZWFJsVm1Gc2RXVkxaWGtvYjNCMGFXOXVjeTUzYjNKclpteHZkeXdnYm05a1pTd2dhVzV3ZFhSekxDQmtaWEJHYVc1blpYSndjbWx1ZEhNc0lHOXdkR2x2Ym5NdWJtRnRaWE53WVdObEtUdGNiaUFnSUNBZ0lHTnZibk4wSUc1dmR5QTlJRzVsZHlCRVlYUmxLQ2t1ZEc5SlUwOVRkSEpwYm1jb0tUdGNiaUFnSUNBZ0lHTnZibk4wSUdOaFkyaGxaRG9nUjNKaGNHaERZV05vWldSV1lXeDFaU0E5SUh0Y2JpQWdJQ0FnSUNBZ2EyVjVMRnh1SUNBZ0lDQWdJQ0J2ZFhSd2RYUnpPaUJ5WlhOMWJIUXViM1YwY0hWMGN5eGNiaUFnSUNBZ0lDQWdjR2x1Ym1Wa09pQjBjblZsTEZ4dUlDQWdJQ0FnSUNCamNtVmhkR1ZrUVhRNklHNXZkeXhjYmlBZ0lDQWdJQ0FnZFhCa1lYUmxaRUYwT2lCdWIzY3NYRzRnSUNBZ0lDQWdJRzFsZEdGa1lYUmhPaUI3SUM0dUxtOXdkR2x2Ym5NdWNtVnpkV3gwTG0xbGRHRmtZWFJoTENCdWIyUmxTV1FnZlN4Y2JpQWdJQ0FnSUgwN1hHNGdJQ0FnSUNCaGQyRnBkQ0IwYUdsekxuTjBiM0psTG5keWFYUmxRMkZqYUdWa0tHdGxlU3dnWTJGamFHVmtLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVlc1d2FXNXpJR0VnYzJsdVoyeGxJRzV2WkdVZ0tHUnZaWE1nYm05MElIVnVjR2x1SUdSbGNHVnVaR1Z1ZEhNZ2FXNGdkakVwTGx4dUlDQWdLaTljYmlBZ1lYTjVibU1nZFc1d2FXNU9iMlJsS0c5d2RHbHZibk02SUVkeVlYQm9WVzV3YVc1T2IyUmxUM0IwYVc5dWN5azZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdOdmJuTjBJR3RsZVRvZ1IzSmhjR2hXWVd4MVpVdGxlU0E5SUh0Y2JpQWdJQ0FnSUhkdmNtdG1iRzkzU1dRNklHOXdkR2x2Ym5NdWQyOXlhMlpzYjNjdWJtRnRaU3hjYmlBZ0lDQWdJRzV2WkdWSlpEb2diM0IwYVc5dWN5NXViMlJsU1dRc1hHNGdJQ0FnSUNCbWFXNW5aWEp3Y21sdWREb2diM0IwYVc5dWN5NW1hVzVuWlhKd2NtbHVkQ3hjYmlBZ0lDQWdJRzVoYldWemNHRmpaVG9nYjNCMGFXOXVjeTV1WVcxbGMzQmhZMlVzWEc0Z0lDQWdmVHRjYmlBZ0lDQmhkMkZwZENCMGFHbHpMbk4wYjNKbExtUmxiR1YwWlVOaFkyaGxaQ2hyWlhrcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsWVdSeklHRWdjR2x1Ym1Wa0lIWmhiSFZsSUdadmNpQmhJRzV2WkdVc0lISmxkSFZ5Ym1sdVp5QmdkVzVrWldacGJtVmtZQ0IzYUdWdUlHNXZJSFpoYkdsa1hHNGdJQ0FxSUhCcGJtNWxaQ0IyWVd4MVpTQmxlR2x6ZEhNdVhHNGdJQ0FxTDF4dUlDQmhjM2x1WXlCeVpXRmtVR2x1Ym1Wa1ZtRnNkV1VvWEc0Z0lDQWdkMjl5YTJac2IzYzZJRWR5WVhCb1YyOXlhMlpzYjNkRVpXWnBibWwwYVc5dUxGeHVJQ0FnSUc1dlpHVTZJRWR5WVhCb1JYaGxZM1YwYVc5dVVHeGhiazV2WkdVc1hHNGdJQ0FnYVc1d2RYUnpPaUJIY21Gd2FFVjRaV04xZEdsdmJsWmhiSFZsY3l4Y2JpQWdJQ0JrWlhCbGJtUmxibU41Um1sdVoyVnljSEpwYm5Sek9pQlNaV052Y21ROGMzUnlhVzVuTENCemRISnBibWMrTEZ4dUlDQWdJRzVoYldWemNHRmpaVDg2SUhOMGNtbHVaMXh1SUNBcE9pQlFjbTl0YVhObFBFZHlZWEJvUTJGamFHVmtWbUZzZFdVZ2ZDQjFibVJsWm1sdVpXUStJSHRjYmlBZ0lDQmpiMjV6ZENCclpYa2dQU0IwYUdsekxtTnlaV0YwWlZaaGJIVmxTMlY1S0hkdmNtdG1iRzkzTENCdWIyUmxMQ0JwYm5CMWRITXNJR1JsY0dWdVpHVnVZM2xHYVc1blpYSndjbWx1ZEhNc0lHNWhiV1Z6Y0dGalpTazdYRzRnSUNBZ1kyOXVjM1FnWTJGamFHVmtJRDBnWVhkaGFYUWdkR2hwY3k1emRHOXlaUzV5WldGa1EyRmphR1ZrS0d0bGVTazdYRzRnSUNBZ2FXWWdLR05oWTJobFpDQW1KaUJqWVdOb1pXUXVjR2x1Ym1Wa0tTQjdYRzRnSUNBZ0lDQnBaaUFvWTJGamFHVmtMbVY0Y0dseVpYTkJkQ0FtSmlCdVpYY2dSR0YwWlNoallXTm9aV1F1Wlhod2FYSmxjMEYwS1NBOElHNWxkeUJFWVhSbEtDa3BJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSEpsZEhWeWJpQmpZV05vWldRN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjFibVJsWm1sdVpXUTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUTNKbFlYUmxjeUJoSUhOMFlXSnNaU0IyWVd4MVpTQnJaWGtnWm05eUlHRWdibTlrWlM1Y2JpQWdJQ292WEc0Z0lHTnlaV0YwWlZaaGJIVmxTMlY1S0Z4dUlDQWdJSGR2Y210bWJHOTNPaUJIY21Gd2FGZHZjbXRtYkc5M1JHVm1hVzVwZEdsdmJpeGNiaUFnSUNCdWIyUmxPaUJIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzVPYjJSbExGeHVJQ0FnSUdsdWNIVjBjem9nUjNKaGNHaEZlR1ZqZFhScGIyNVdZV3gxWlhNc1hHNGdJQ0FnWkdWd1pXNWtaVzVqZVVacGJtZGxjbkJ5YVc1MGN6b2dVbVZqYjNKa1BITjBjbWx1Wnl3Z2MzUnlhVzVuUGl4Y2JpQWdJQ0J1WVcxbGMzQmhZMlUvT2lCemRISnBibWRjYmlBZ0tUb2dSM0poY0doV1lXeDFaVXRsZVNCN1hHNGdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJSGR2Y210bWJHOTNTV1E2SUhkdmNtdG1iRzkzTG01aGJXVXNYRzRnSUNBZ0lDQnViMlJsU1dRNklHNXZaR1V1YVdRc1hHNGdJQ0FnSUNCbWFXNW5aWEp3Y21sdWREb2dkR2hwY3k1amIyMXdkWFJsUm1sdVoyVnljSEpwYm5Rb2QyOXlhMlpzYjNjc0lHNXZaR1VzSUdsdWNIVjBjeXdnWkdWd1pXNWtaVzVqZVVacGJtZGxjbkJ5YVc1MGN5a3NYRzRnSUNBZ0lDQnVZVzFsYzNCaFkyVXNYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJEYjIxd2RYUmxjeUJoSUhOMFlXSnNaU0JtYVc1blpYSndjbWx1ZENCbWIzSWdZU0J1YjJSbEozTWdhVzV3ZFhSeklHRnVaQ0JrWlhCbGJtUmxibU5wWlhNdVhHNGdJQ0FxTDF4dUlDQmpiMjF3ZFhSbFJtbHVaMlZ5Y0hKcGJuUW9YRzRnSUNBZ2QyOXlhMlpzYjNjNklFZHlZWEJvVjI5eWEyWnNiM2RFWldacGJtbDBhVzl1TEZ4dUlDQWdJRzV2WkdVNklFZHlZWEJvUlhobFkzVjBhVzl1VUd4aGJrNXZaR1VzWEc0Z0lDQWdhVzV3ZFhSek9pQkhjbUZ3YUVWNFpXTjFkR2x2YmxaaGJIVmxjeXhjYmlBZ0lDQmtaWEJsYm1SbGJtTjVSbWx1WjJWeWNISnBiblJ6T2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0J6ZEhKcGJtYytYRzRnSUNrNklITjBjbWx1WnlCN1hHNGdJQ0FnWTI5dWMzUWdaR0YwWVNBOUlIdGNiaUFnSUNBZ0lIZHZjbXRtYkc5M1NXUTZJSGR2Y210bWJHOTNMbTVoYldVc1hHNGdJQ0FnSUNCdWIyUmxTV1E2SUc1dlpHVXVhV1FzWEc0Z0lDQWdJQ0J1YjJSbFMybHVaRG9nYm05a1pTNXJhVzVrTEZ4dUlDQWdJQ0FnYm05a1pVUmxabWx1YVhScGIyNVdaWEp6YVc5dU9pQW9ibTlrWlM1a1pXWnBibWwwYVc5dUlHRnpJR0Z1ZVNrL0xtZHlZWEJvUHk1dFpYUmhaR0YwWVQ4dWRtVnljMmx2Yml4Y2JpQWdJQ0FnSUdsdWNIVjBjem9nZEdocGN5NXpkR0ZpYkdWVFpYSnBZV3hwZW1Vb2FXNXdkWFJ6S1N4Y2JpQWdJQ0FnSUdSbGNHVnVaR1Z1WTNsR2FXNW5aWEp3Y21sdWRITTZJSFJvYVhNdWMzUmhZbXhsVTJWeWFXRnNhWHBsS0dSbGNHVnVaR1Z1WTNsR2FXNW5aWEp3Y21sdWRITXBMRnh1SUNBZ0lIMDdYRzRnSUNBZ1kyOXVjM1FnYW5OdmJpQTlJSFJvYVhNdWMzUmhZbXhsVTJWeWFXRnNhWHBsS0dSaGRHRXBPMXh1SUNBZ0lDOHZJRlZ6WlNCaElHUmxkR1Z5YldsdWFYTjBhV01nYm05dUxXTnllWEIwYjJkeVlYQm9hV01nYUdGemFDQjBhR0YwSUhkdmNtdHpJR2x1SUdKdmRHZ2dZbkp2ZDNObGNseHVJQ0FnSUM4dklHRnVaQ0JPYjJSbElHVnVkbWx5YjI1dFpXNTBjeUIzYVhSb2IzVjBJSEpsY1hWcGNtbHVaeUJnYm05a1pUcGpjbmx3ZEc5Z0xseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTnBiWEJzWlVoaGMyZ29hbk52YmlrN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdWN5QmhJSFJ2Y0c5c2IyZHBZMkZzSUc5eVpHVnlhVzVuSUc5bUlIUm9aU0JuYVhabGJpQnViMlJsSUhObGRDNWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdkRzl3YjJ4dloybGpZV3hQY21SbGNpaGNiaUFnSUNCd2JHRnVPaUJIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzRzWEc0Z0lDQWdibTlrWlZObGREb2dVMlYwUEhOMGNtbHVaejVjYmlBZ0tUb2djM1J5YVc1blcxMGdlMXh1SUNBZ0lHTnZibk4wSUhKbGMzVnNkRG9nYzNSeWFXNW5XMTBnUFNCYlhUdGNiaUFnSUNCamIyNXpkQ0IyYVhOcGRHVmtJRDBnYm1WM0lGTmxkRHh6ZEhKcGJtYytLQ2s3WEc0Z0lDQWdZMjl1YzNRZ2RtbHphWFFnUFNBb2JtOWtaVWxrT2lCemRISnBibWNwSUQwK0lIdGNiaUFnSUNBZ0lHbG1JQ2gyYVhOcGRHVmtMbWhoY3lodWIyUmxTV1FwS1NCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0IyYVhOcGRHVmtMbUZrWkNodWIyUmxTV1FwTzF4dUlDQWdJQ0FnWTI5dWMzUWdaR1Z3Y3lBOUlFZHlZWEJvVkc5d2IyeHZaM2t1ZFhCemRISmxZVzFPYjJSbGN5aHViMlJsU1dRc0lIQnNZVzR1YVc1amIyMXBibWRDZVU1dlpHVXNJR1poYkhObEtUdGNiaUFnSUNBZ0lHWnZjaUFvWTI5dWMzUWdaR1Z3SUc5bUlHUmxjSE1wSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzV2WkdWVFpYUXVhR0Z6S0dSbGNDa3BJSFpwYzJsMEtHUmxjQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J5WlhOMWJIUXVjSFZ6YUNodWIyUmxTV1FwTzF4dUlDQWdJSDA3WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0J1YjJSbFNXUWdiMllnYm05a1pWTmxkQ2tnZG1semFYUW9ibTlrWlVsa0tUdGNiaUFnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOdmJYQjFkR1Z6SUdacGJtZGxjbkJ5YVc1MGN5Qm1iM0lnWVd4c0lIVndjM1J5WldGdElHUmxjR1Z1WkdWdVkybGxjeUJ2WmlCaElHNXZaR1V1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUdSbGNHVnVaR1Z1WTNsR2FXNW5aWEp3Y21sdWRITW9YRzRnSUNBZ2NHeGhiam9nUjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1TEZ4dUlDQWdJRzV2WkdWSlpEb2djM1J5YVc1bkxGeHVJQ0FnSUhKbGMzVnNkRG9nUjNKaGNHaEZlR1ZqZFhScGIyNVNaWE4xYkhSY2JpQWdLVG9nVW1WamIzSmtQSE4wY21sdVp5d2djM1J5YVc1blBpQjdYRzRnSUNBZ1kyOXVjM1FnWkdWd2N5QTlJSFJvYVhNdVpHVndaVzVrWlc1amVWSmxjMjlzZG1WeUxtZGxkRVJsY0dWdVpHVnVZMmxsY3lod2JHRnVMQ0J1YjJSbFNXUXBPMXh1SUNBZ0lHTnZibk4wSUdacGJtZGxjbkJ5YVc1MGN6b2dVbVZqYjNKa1BITjBjbWx1Wnl3Z2MzUnlhVzVuUGlBOUlIdDlPMXh1SUNBZ0lHWnZjaUFvWTI5dWMzUWdaR1Z3SUc5bUlHUmxjSE1wSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJRzV2WkdVZ1BTQndiR0Z1TG01dlpHVnpMbVpwYm1Rb0tHNHBJRDArSUc0dWFXUWdQVDA5SUdSbGNDazdYRzRnSUNBZ0lDQnBaaUFvYm05a1pTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmtaWEJTWlhOMWJIUWdQU0J5WlhOMWJIUXVibTlrWlZKbGMzVnNkSE5iWkdWd1hUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2FXNXdkWFJ6SUQwZ1pHVndVbVZ6ZFd4MFB5NXBibkIxZEhNZ1B6OGdlMzA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzVsYzNSbFpFUmxjSE1nUFNCMGFHbHpMbVJsY0dWdVpHVnVZM2xHYVc1blpYSndjbWx1ZEhNb2NHeGhiaXdnWkdWd0xDQnlaWE4xYkhRcE8xeHVJQ0FnSUNBZ0lDQm1hVzVuWlhKd2NtbHVkSE5iWkdWd1hTQTlJSFJvYVhNdVkyOXRjSFYwWlVacGJtZGxjbkJ5YVc1MEtIQnNZVzR1ZDI5eWEyWnNiM2NzSUc1dlpHVXNJR2x1Y0hWMGN5d2dibVZ6ZEdWa1JHVndjeWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCbWFXNW5aWEp3Y21sdWRITTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nVTJWeWFXRnNhWHBsY3lCaElIWmhiSFZsSUhkcGRHZ2djbVZqZFhKemFYWmxiSGtnYzI5eWRHVmtJR3RsZVhNZ1ptOXlJSE4wWVdKc1pTQm9ZWE5vYVc1bkxseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQnpkR0ZpYkdWVFpYSnBZV3hwZW1Vb2RtRnNkV1U2SUhWdWEyNXZkMjRwT2lCemRISnBibWNnZTF4dUlDQWdJR2xtSUNoMllXeDFaU0E5UFQwZ2JuVnNiQ0I4ZkNCMGVYQmxiMllnZG1Gc2RXVWdJVDA5SUZ3aWIySnFaV04wWENJcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCS1UwOU9Mbk4wY21sdVoybG1lU2gyWVd4MVpTazdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0haaGJIVmxLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR0JiSkh0MllXeDFaUzV0WVhBb0tIWXBJRDArSUhSb2FYTXVjM1JoWW14bFUyVnlhV0ZzYVhwbEtIWXBLUzVxYjJsdUtGd2lMRndpS1gxZFlEdGNiaUFnSUNCOVhHNGdJQ0FnWTI5dWMzUWdhMlY1Y3lBOUlFOWlhbVZqZEM1clpYbHpLSFpoYkhWbEtTNXpiM0owS0NrN1hHNGdJQ0FnWTI5dWMzUWdjR0ZwY25NZ1BTQnJaWGx6TG0xaGNDaGNiaUFnSUNBZ0lDaHJLU0E5UGlCZ0pIdEtVMDlPTG5OMGNtbHVaMmxtZVNocktYMDZKSHQwYUdsekxuTjBZV0pzWlZObGNtbGhiR2w2WlNnb2RtRnNkV1VnWVhNZ1lXNTVLVnRyWFNsOVlGeHVJQ0FnSUNrN1hHNGdJQ0FnY21WMGRYSnVJR0I3Skh0d1lXbHljeTVxYjJsdUtGd2lMRndpS1gxOVlEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJUYVcxd2JHVWdibTl1TFdOeWVYQjBiMmR5WVhCb2FXTWdhR0Z6YUNCbWIzSWdZbkp2ZDNObGNpQmxiblpwY205dWJXVnVkSE1nZDJobGNtVmNiaUFnSUNvZ1lHNXZaR1U2WTNKNWNIUnZZQ0JwY3lCMWJtRjJZV2xzWVdKc1pTNGdVSEp2WkhWalpYTWdZU0JrWlhSbGNtMXBibWx6ZEdsaklHaGxlQzFzYVd0bElITjBjbWx1WjF4dUlDQWdLaUJtY205dElIUm9aU0JwYm5CMWRDNGdWR2hwY3lCcGN5Qk9UMVFnWTNKNWNIUnZaM0poY0docFkyRnNiSGtnYzJWamRYSmxJR0oxZENCcGN5QnpkV1ptYVdOcFpXNTBYRzRnSUNBcUlHWnZjaUJtYVc1blpYSndjbWx1ZEMxaVlYTmxaQ0JqWVdOb1pTQnJaWGx6TGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCemFXMXdiR1ZJWVhOb0tITjBjam9nYzNSeWFXNW5LVG9nYzNSeWFXNW5JSHRjYmlBZ0lDQnNaWFFnYUdGemFDQTlJREE3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0J6ZEhJdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJR052Ym5OMElHTm9ZWElnUFNCemRISXVZMmhoY2tOdlpHVkJkQ2hwS1R0Y2JpQWdJQ0FnSUdoaGMyZ2dQU0FvYUdGemFDQThQQ0ExS1NBdElHaGhjMmdnS3lCamFHRnlPMXh1SUNBZ0lDQWdhR0Z6YUNCOFBTQXdPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnWUdad1h5UjdUV0YwYUM1aFluTW9hR0Z6YUNrdWRHOVRkSEpwYm1jb01UWXBMbkJoWkZOMFlYSjBLRGdzSUZ3aU1Gd2lLWDFmSkh0emRISXViR1Z1WjNSb2ZXQTdYRzRnSUgxY2JuMWNibHh1ZG05cFpDQkhVa0ZRU0Y5UVNVNU9TVTVIWDAxRlZFRkVRVlJCWDB0RldUdGNiaUpkZlE9PSJdfQ==
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- /**
18
- * @module integrations/graph/pinning
19
- * @summary Graph pinning subsystem.
20
- * @description Re-exports the pinning metadata, policy, dependency resolver, and service.
21
- */
22
- __exportStar(require("./GraphPinningMetadata.cjs"), exports);
23
- __exportStar(require("./GraphPinningPolicy.cjs"), exports);
24
- __exportStar(require("./GraphPinningDependencyResolver.cjs"), exports);
25
- __exportStar(require("./GraphPinningService.cjs"), exports);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvcGlubmluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsMENBQXVDO0FBQ3ZDLHdDQUFxQztBQUNyQyxvREFBaUQ7QUFDakQseUNBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9waW5uaW5nXG4gKiBAc3VtbWFyeSBHcmFwaCBwaW5uaW5nIHN1YnN5c3RlbS5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBwaW5uaW5nIG1ldGFkYXRhLCBwb2xpY3ksIGRlcGVuZGVuY3kgcmVzb2x2ZXIsIGFuZCBzZXJ2aWNlLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaFBpbm5pbmdNZXRhZGF0YVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhQaW5uaW5nUG9saWN5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaFBpbm5pbmdEZXBlbmRlbmN5UmVzb2x2ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoUGlubmluZ1NlcnZpY2VcIjtcbiJdfQ==
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILDREQUEwQztBQUMxQywwREFBd0M7QUFDeEMsc0VBQW9EO0FBQ3BELDJEQUF5QztBQUN6QywweUJBQTB5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvcGlubmluZ1xuICogQHN1bW1hcnkgR3JhcGggcGlubmluZyBzdWJzeXN0ZW0uXG4gKiBAZGVzY3JpcHRpb24gUmUtZXhwb3J0cyB0aGUgcGlubmluZyBtZXRhZGF0YSwgcG9saWN5LCBkZXBlbmRlbmN5IHJlc29sdmVyLCBhbmQgc2VydmljZS5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhQaW5uaW5nTWV0YWRhdGEuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoUGlubmluZ1BvbGljeS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaFBpbm5pbmdTZXJ2aWNlLmpzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhVzVrWlhndWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTh1TGk5emNtTXZaM0poY0dndmNHbHVibWx1Wnk5cGJtUmxlQzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUczdPenRIUVVsSE8wRkJRMGdzTUVOQlFYVkRPMEZCUTNaRExIZERRVUZ4UXp0QlFVTnlReXh2UkVGQmFVUTdRVUZEYWtRc2VVTkJRWE5ESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnS2lCQWJXOWtkV3hsSUdsdWRHVm5jbUYwYVc5dWN5OW5jbUZ3YUM5d2FXNXVhVzVuWEc0Z0tpQkFjM1Z0YldGeWVTQkhjbUZ3YUNCd2FXNXVhVzVuSUhOMVluTjVjM1JsYlM1Y2JpQXFJRUJrWlhOamNtbHdkR2x2YmlCU1pTMWxlSEJ2Y25SeklIUm9aU0J3YVc1dWFXNW5JRzFsZEdGa1lYUmhMQ0J3YjJ4cFkza3NJR1JsY0dWdVpHVnVZM2tnY21WemIyeDJaWElzSUdGdVpDQnpaWEoyYVdObExseHVJQ292WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5SGNtRndhRkJwYm01cGJtZE5aWFJoWkdGMFlWd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2UjNKaGNHaFFhVzV1YVc1blVHOXNhV041WENJN1hHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOUhjbUZ3YUZCcGJtNXBibWRFWlhCbGJtUmxibU41VW1WemIyeDJaWEpjSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwwZHlZWEJvVUdsdWJtbHVaMU5sY25acFkyVmNJanRjYmlKZGZRPT0iXX0=
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25QbGFuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyYXBoL3BsYW5uaW5nL0dyYXBoRXhlY3V0aW9uUGxhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9wbGFubmluZy9HcmFwaEV4ZWN1dGlvblBsYW5cbiAqIEBzdW1tYXJ5IFRoZSBjb21wbGV0ZSBleGVjdXRpb24gcGxhbiBmb3IgYSB3b3JrZmxvdy5cbiAqIEBkZXNjcmlwdGlvbiBDb250YWlucyByZXNvbHZlZCBub2RlcywgZWRnZXMsIHRvcG9sb2dpY2FsIGxheWVycywgYW5kIGluY29taW5nL291dGdvaW5nIG1hcHMuXG4gKi9cbmltcG9ydCB0eXBlIHsgR3JhcGhXb3JrZmxvd0RlZmluaXRpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMvZ3JhcGhcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25QbGFuTm9kZSB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uUGxhbk5vZGVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25QbGFuRWRnZSB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uUGxhbkVkZ2VcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25QbGFuTGF5ZXIgfSBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblBsYW5MYXllclwiO1xuXG4vKipcbiAqIFRoZSByZXNvbHZlZCBleGVjdXRpb24gcGxhbiBmb3IgYSBzaW5nbGUgd29ya2Zsb3cuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhFeGVjdXRpb25QbGFuIHtcbiAgd29ya2Zsb3c6IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uO1xuICB3b3JrZmxvd0lkOiBzdHJpbmc7XG4gIG5vZGVzOiBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlW107XG4gIGVkZ2VzOiBHcmFwaEV4ZWN1dGlvblBsYW5FZGdlW107XG4gIGxheWVyczogR3JhcGhFeGVjdXRpb25QbGFuTGF5ZXJbXTtcbiAgaW5jb21pbmdCeU5vZGU6IE1hcDxzdHJpbmcsIEdyYXBoRXhlY3V0aW9uUGxhbkVkZ2VbXT47XG4gIG91dGdvaW5nQnlOb2RlOiBNYXA8c3RyaW5nLCBHcmFwaEV4ZWN1dGlvblBsYW5FZGdlW10+O1xufVxuIl19
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25QbGFuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiR3JhcGhFeGVjdXRpb25QbGFuLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsOCtDQUE4K0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lSM0poY0doRmVHVmpkWFJwYjI1UWJHRnVMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDJkeVlYQm9MM0JzWVc1dWFXNW5MMGR5WVhCb1JYaGxZM1YwYVc5dVVHeGhiaTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnS2lCQWJXOWtkV3hsSUdsdWRHVm5jbUYwYVc5dWN5OW5jbUZ3YUM5d2JHRnVibWx1Wnk5SGNtRndhRVY0WldOMWRHbHZibEJzWVc1Y2JpQXFJRUJ6ZFcxdFlYSjVJRlJvWlNCamIyMXdiR1YwWlNCbGVHVmpkWFJwYjI0Z2NHeGhiaUJtYjNJZ1lTQjNiM0pyWm14dmR5NWNiaUFxSUVCa1pYTmpjbWx3ZEdsdmJpQkRiMjUwWVdsdWN5QnlaWE52YkhabFpDQnViMlJsY3l3Z1pXUm5aWE1zSUhSdmNHOXNiMmRwWTJGc0lHeGhlV1Z5Y3l3Z1lXNWtJR2x1WTI5dGFXNW5MMjkxZEdkdmFXNW5JRzFoY0hNdVhHNGdLaTljYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doWGIzSnJabXh2ZDBSbFptbHVhWFJwYjI0Z2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwzVnBMV1JsWTI5eVlYUnZjbk12WjNKaGNHaGNJanRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doRmVHVmpkWFJwYjI1UWJHRnVUbTlrWlNCOUlHWnliMjBnWENJdUwwZHlZWEJvUlhobFkzVjBhVzl1VUd4aGJrNXZaR1ZjSWp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1UldSblpTQjlJR1p5YjIwZ1hDSXVMMGR5WVhCb1JYaGxZM1YwYVc5dVVHeGhia1ZrWjJWY0lqdGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1IzSmhjR2hGZUdWamRYUnBiMjVRYkdGdVRHRjVaWElnZlNCbWNtOXRJRndpTGk5SGNtRndhRVY0WldOMWRHbHZibEJzWVc1TVlYbGxjbHdpTzF4dVhHNHZLaXBjYmlBcUlGUm9aU0J5WlhOdmJIWmxaQ0JsZUdWamRYUnBiMjRnY0d4aGJpQm1iM0lnWVNCemFXNW5iR1VnZDI5eWEyWnNiM2N1WEc0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdSM0poY0doRmVHVmpkWFJwYjI1UWJHRnVJSHRjYmlBZ2QyOXlhMlpzYjNjNklFZHlZWEJvVjI5eWEyWnNiM2RFWldacGJtbDBhVzl1TzF4dUlDQjNiM0pyWm14dmQwbGtPaUJ6ZEhKcGJtYzdYRzRnSUc1dlpHVnpPaUJIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzVPYjJSbFcxMDdYRzRnSUdWa1oyVnpPaUJIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzVGWkdkbFcxMDdYRzRnSUd4aGVXVnljem9nUjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1VEdGNVpYSmJYVHRjYmlBZ2FXNWpiMjFwYm1kQ2VVNXZaR1U2SUUxaGNEeHpkSEpwYm1jc0lFZHlZWEJvUlhobFkzVjBhVzl1VUd4aGJrVmtaMlZiWFQ0N1hHNGdJRzkxZEdkdmFXNW5RbmxPYjJSbE9pQk5ZWEE4YzNSeWFXNW5MQ0JIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzVGWkdkbFcxMCtPMXh1ZlZ4dUlsMTkiXX0=
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25QbGFuRWRnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9wbGFubmluZy9HcmFwaEV4ZWN1dGlvblBsYW5FZGdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL3BsYW5uaW5nL0dyYXBoRXhlY3V0aW9uUGxhbkVkZ2VcbiAqIEBzdW1tYXJ5IFBsYW4gZWRnZSB0eXBlIGZvciB0aGUgZXhlY3V0aW9uIHBsYW4uXG4gKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyBhIGRpcmVjdGVkIHZhbHVlIHJvdXRlIGJldHdlZW4gdHdvIGVuZHBvaW50cyAobm9kZS10by1ub2RlIG9yIG5vZGUtdG8td29ya2Zsb3ctYm91bmRhcnkpLlxuICovXG5cbi8qKlxuICogQW4gZWRnZSBpbiB0aGUgZXhlY3V0aW9uIHBsYW4gcmVwcmVzZW50aW5nIGEgdmFsdWUgcm91dGUgZnJvbSBhIHNvdXJjZVxuICogcG9ydCB0byBhIHRhcmdldCBwb3J0LlxuICpcbiAqIGBzb3VyY2VOb2RlSWRgIG9yIGB0YXJnZXROb2RlSWRgIG1heSBiZSB7QGxpbmsgR1JBUEhfV09SS0ZMT1dfQk9VTkRBUll9IHdoZW5cbiAqIHRoZSBlZGdlIGNvbm5lY3RzIHRvIHRoZSB3b3JrZmxvdyBib3VuZGFyeS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFwaEV4ZWN1dGlvblBsYW5FZGdlIHtcbiAgaWQ6IHN0cmluZztcbiAgc291cmNlTm9kZUlkOiBzdHJpbmc7XG4gIHNvdXJjZVBvcnQ6IHN0cmluZztcbiAgdGFyZ2V0Tm9kZUlkOiBzdHJpbmc7XG4gIHRhcmdldFBvcnQ6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG4iXX0=
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25QbGFuRWRnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkdyYXBoRXhlY3V0aW9uUGxhbkVkZ2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxrdUNBQWt1QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvcGxhbm5pbmcvR3JhcGhFeGVjdXRpb25QbGFuRWRnZVxuICogQHN1bW1hcnkgUGxhbiBlZGdlIHR5cGUgZm9yIHRoZSBleGVjdXRpb24gcGxhbi5cbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgZGlyZWN0ZWQgdmFsdWUgcm91dGUgYmV0d2VlbiB0d28gZW5kcG9pbnRzIChub2RlLXRvLW5vZGUgb3Igbm9kZS10by13b3JrZmxvdy1ib3VuZGFyeSkuXG4gKi9cbmV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVIzSmhjR2hGZUdWamRYUnBiMjVRYkdGdVJXUm5aUzVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMM055WXk5bmNtRndhQzl3YkdGdWJtbHVaeTlIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzVGWkdkbExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCT3pzN08wZEJTVWNpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCdGIyUjFiR1VnYVc1MFpXZHlZWFJwYjI1ekwyZHlZWEJvTDNCc1lXNXVhVzVuTDBkeVlYQm9SWGhsWTNWMGFXOXVVR3hoYmtWa1oyVmNiaUFxSUVCemRXMXRZWEo1SUZCc1lXNGdaV1JuWlNCMGVYQmxJR1p2Y2lCMGFHVWdaWGhsWTNWMGFXOXVJSEJzWVc0dVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1VtVndjbVZ6Wlc1MGN5QmhJR1JwY21WamRHVmtJSFpoYkhWbElISnZkWFJsSUdKbGRIZGxaVzRnZEhkdklHVnVaSEJ2YVc1MGN5QW9ibTlrWlMxMGJ5MXViMlJsSUc5eUlHNXZaR1V0ZEc4dGQyOXlhMlpzYjNjdFltOTFibVJoY25rcExseHVJQ292WEc1Y2JpOHFLbHh1SUNvZ1FXNGdaV1JuWlNCcGJpQjBhR1VnWlhobFkzVjBhVzl1SUhCc1lXNGdjbVZ3Y21WelpXNTBhVzVuSUdFZ2RtRnNkV1VnY205MWRHVWdabkp2YlNCaElITnZkWEpqWlZ4dUlDb2djRzl5ZENCMGJ5QmhJSFJoY21kbGRDQndiM0owTGx4dUlDcGNiaUFxSUdCemIzVnlZMlZPYjJSbFNXUmdJRzl5SUdCMFlYSm5aWFJPYjJSbFNXUmdJRzFoZVNCaVpTQjdRR3hwYm1zZ1IxSkJVRWhmVjA5U1MwWk1UMWRmUWs5VlRrUkJVbGw5SUhkb1pXNWNiaUFxSUhSb1pTQmxaR2RsSUdOdmJtNWxZM1J6SUhSdklIUm9aU0IzYjNKclpteHZkeUJpYjNWdVpHRnllUzVjYmlBcUwxeHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkhjbUZ3YUVWNFpXTjFkR2x2YmxCc1lXNUZaR2RsSUh0Y2JpQWdhV1E2SUhOMGNtbHVaenRjYmlBZ2MyOTFjbU5sVG05a1pVbGtPaUJ6ZEhKcGJtYzdYRzRnSUhOdmRYSmpaVkJ2Y25RNklITjBjbWx1Wnp0Y2JpQWdkR0Z5WjJWMFRtOWtaVWxrT2lCemRISnBibWM3WEc0Z0lIUmhjbWRsZEZCdmNuUTZJSE4wY21sdVp6dGNiaUFnYkdGaVpXdy9PaUJ6ZEhKcGJtYzdYRzRnSUcxbGRHRmtZWFJoUHpvZ1VtVmpiM0prUEhOMGNtbHVaeXdnZFc1cmJtOTNiajQ3WEc1OVhHNGlYWDA9Il19
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25QbGFuTGF5ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvcGxhbm5pbmcvR3JhcGhFeGVjdXRpb25QbGFuTGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvcGxhbm5pbmcvR3JhcGhFeGVjdXRpb25QbGFuTGF5ZXJcbiAqIEBzdW1tYXJ5IEEgbGF5ZXIgb2Ygbm9kZXMgdGhhdCBjYW4gZXhlY3V0ZSBpbiBwYXJhbGxlbC5cbiAqIEBkZXNjcmlwdGlvbiBQcm9kdWNlZCBieSB0aGUgdG9wb2xvZ2ljYWwgcGxhbm5lcjsgYWxsIG5vZGVzIGluIGEgbGF5ZXIgaGF2ZSBubyBkZXBlbmRlbmNpZXMgb24gZWFjaCBvdGhlci5cbiAqL1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlIH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25QbGFuTm9kZVwiO1xuXG4vKipcbiAqIEEgdG9wb2xvZ2ljYWwgbGF5ZXIgb2Ygbm9kZXMgdGhhdCBtYXkgZXhlY3V0ZSBpbiBwYXJhbGxlbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFwaEV4ZWN1dGlvblBsYW5MYXllciB7XG4gIGluZGV4OiBudW1iZXI7XG4gIG5vZGVzOiBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlW107XG59XG4iXX0=
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25QbGFuTGF5ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJHcmFwaEV4ZWN1dGlvblBsYW5MYXllci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDg3QkFBODdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1VEdGNVpYSXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOXpjbU12WjNKaGNHZ3ZjR3hoYm01cGJtY3ZSM0poY0doRmVHVmpkWFJwYjI1UWJHRnVUR0Y1WlhJdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklpSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2x4dUlDb2dRRzF2WkhWc1pTQnBiblJsWjNKaGRHbHZibk12WjNKaGNHZ3ZjR3hoYm01cGJtY3ZSM0poY0doRmVHVmpkWFJwYjI1UWJHRnVUR0Y1WlhKY2JpQXFJRUJ6ZFcxdFlYSjVJRUVnYkdGNVpYSWdiMllnYm05a1pYTWdkR2hoZENCallXNGdaWGhsWTNWMFpTQnBiaUJ3WVhKaGJHeGxiQzVjYmlBcUlFQmtaWE5qY21sd2RHbHZiaUJRY205a2RXTmxaQ0JpZVNCMGFHVWdkRzl3YjJ4dloybGpZV3dnY0d4aGJtNWxjanNnWVd4c0lHNXZaR1Z6SUdsdUlHRWdiR0Y1WlhJZ2FHRjJaU0J1YnlCa1pYQmxibVJsYm1OcFpYTWdiMjRnWldGamFDQnZkR2hsY2k1Y2JpQXFMMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkhjbUZ3YUVWNFpXTjFkR2x2YmxCc1lXNU9iMlJsSUgwZ1puSnZiU0JjSWk0dlIzSmhjR2hGZUdWamRYUnBiMjVRYkdGdVRtOWtaVndpTzF4dVhHNHZLaXBjYmlBcUlFRWdkRzl3YjJ4dloybGpZV3dnYkdGNVpYSWdiMllnYm05a1pYTWdkR2hoZENCdFlYa2daWGhsWTNWMFpTQnBiaUJ3WVhKaGJHeGxiQzVjYmlBcUwxeHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkhjbUZ3YUVWNFpXTjFkR2x2YmxCc1lXNU1ZWGxsY2lCN1hHNGdJR2x1WkdWNE9pQnVkVzFpWlhJN1hHNGdJRzV2WkdWek9pQkhjbUZ3YUVWNFpXTjFkR2x2YmxCc1lXNU9iMlJsVzEwN1hHNTlYRzRpWFgwPSJdfQ==
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25QbGFuTm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9wbGFubmluZy9HcmFwaEV4ZWN1dGlvblBsYW5Ob2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL3BsYW5uaW5nL0dyYXBoRXhlY3V0aW9uUGxhbk5vZGVcbiAqIEBzdW1tYXJ5IFBsYW4gbm9kZSB0eXBlIGZvciB0aGUgZXhlY3V0aW9uIHBsYW4uXG4gKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyBhIHNpbmdsZSBub2RlIHJlc29sdmVkIGZyb20gYSB3b3JrZmxvdyBkZWZpbml0aW9uLCByZWFkeSBmb3IgZXhlY3V0aW9uLlxuICovXG5pbXBvcnQgdHlwZSB7XG4gIEdyYXBoTm9kZURlZmluaXRpb24sXG4gIEdyYXBoV29ya2Zsb3dOb2RlTWV0YWRhdGEsXG59IGZyb20gXCJAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaFwiO1xuXG4vKipcbiAqIEEgbm9kZSBpbiB0aGUgZXhlY3V0aW9uIHBsYW4sIGRlcml2ZWQgZnJvbSBhIHdvcmtmbG93J3Mgbm9kZSBtZXRhZGF0YSBhbmRcbiAqIGl0cyByZXNvbHZlZCBncmFwaCBkZWZpbml0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdyYXBoRXhlY3V0aW9uUGxhbk5vZGUge1xuICBpZDogc3RyaW5nO1xuICBraW5kOiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBzb3VyY2U6IEdyYXBoV29ya2Zsb3dOb2RlTWV0YWRhdGE7XG4gIGRlZmluaXRpb246IEdyYXBoTm9kZURlZmluaXRpb247XG4gIGlucHV0UG9ydHM6IHN0cmluZ1tdO1xuICBvdXRwdXRQb3J0czogc3RyaW5nW107XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG4iXX0=
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25QbGFuTm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkdyYXBoRXhlY3V0aW9uUGxhbk5vZGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSwwdUNBQTB1QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVIzSmhjR2hGZUdWamRYUnBiMjVRYkdGdVRtOWtaUzVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMM055WXk5bmNtRndhQzl3YkdGdWJtbHVaeTlIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzVPYjJSbExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lwY2JpQXFJRUJ0YjJSMWJHVWdhVzUwWldkeVlYUnBiMjV6TDJkeVlYQm9MM0JzWVc1dWFXNW5MMGR5WVhCb1JYaGxZM1YwYVc5dVVHeGhiazV2WkdWY2JpQXFJRUJ6ZFcxdFlYSjVJRkJzWVc0Z2JtOWtaU0IwZVhCbElHWnZjaUIwYUdVZ1pYaGxZM1YwYVc5dUlIQnNZVzR1WEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnVW1Wd2NtVnpaVzUwY3lCaElITnBibWRzWlNCdWIyUmxJSEpsYzI5c2RtVmtJR1p5YjIwZ1lTQjNiM0pyWm14dmR5QmtaV1pwYm1sMGFXOXVMQ0J5WldGa2VTQm1iM0lnWlhobFkzVjBhVzl1TGx4dUlDb3ZYRzVwYlhCdmNuUWdkSGx3WlNCN1hHNGdJRWR5WVhCb1RtOWtaVVJsWm1sdWFYUnBiMjRzWEc0Z0lFZHlZWEJvVjI5eWEyWnNiM2RPYjJSbFRXVjBZV1JoZEdFc1hHNTlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZkV2t0WkdWamIzSmhkRzl5Y3k5bmNtRndhRndpTzF4dVhHNHZLaXBjYmlBcUlFRWdibTlrWlNCcGJpQjBhR1VnWlhobFkzVjBhVzl1SUhCc1lXNHNJR1JsY21sMlpXUWdabkp2YlNCaElIZHZjbXRtYkc5M0ozTWdibTlrWlNCdFpYUmhaR0YwWVNCaGJtUmNiaUFxSUdsMGN5QnlaWE52YkhabFpDQm5jbUZ3YUNCa1pXWnBibWwwYVc5dUxseHVJQ292WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVkeVlYQm9SWGhsWTNWMGFXOXVVR3hoYms1dlpHVWdlMXh1SUNCcFpEb2djM1J5YVc1bk8xeHVJQ0JyYVc1a09pQnpkSEpwYm1jN1hHNGdJR3hoWW1Wc1B6b2djM1J5YVc1bk8xeHVJQ0J6YjNWeVkyVTZJRWR5WVhCb1YyOXlhMlpzYjNkT2IyUmxUV1YwWVdSaGRHRTdYRzRnSUdSbFptbHVhWFJwYjI0NklFZHlZWEJvVG05a1pVUmxabWx1YVhScGIyNDdYRzRnSUdsdWNIVjBVRzl5ZEhNNklITjBjbWx1WjF0ZE8xeHVJQ0J2ZFhSd2RYUlFiM0owY3pvZ2MzUnlhVzVuVzEwN1hHNGdJRzFsZEdGa1lYUmhQem9nVW1WamIzSmtQSE4wY21sdVp5d2dkVzVyYm05M2JqNDdYRzU5WEc0aVhYMD0iXX0=