qms-angular 1.0.36 → 1.0.40

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 (1174) hide show
  1. package/bundles/qms-angular.umd.js +7101 -221
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/components/breadcrumb/breadcrumb.js +29 -6
  4. package/esm2015/lib/components/qms-app-bar/qms-app-bar.component.js +2 -2
  5. package/esm2015/lib/components/related/popup/related-popup.component.js +2 -2
  6. package/esm2015/lib/model/en.js +144 -1
  7. package/esm2015/lib/model/no.js +148 -5
  8. package/esm2015/lib/qms-ckeditor-components/common/bpmn/inspector.function.js +2147 -0
  9. package/esm2015/lib/qms-ckeditor-components/common/bpmn/toolbar.function.js +200 -0
  10. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.js +6 -1
  11. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.js +36 -0
  12. package/esm2015/lib/qms-ckeditor-components/common/constants/iconSvg.constants.js +8 -0
  13. package/esm2015/lib/qms-ckeditor-components/common/enums/flowchart-view-mode.enum.js +6 -0
  14. package/esm2015/lib/qms-ckeditor-components/common/enums/image-mode.enum.js +9 -0
  15. package/esm2015/lib/qms-ckeditor-components/common/enums/protocol-type.enum.js +11 -3
  16. package/esm2015/lib/qms-ckeditor-components/common/enums/related-to-item-type.js +11 -0
  17. package/esm2015/lib/qms-ckeditor-components/common/enums/target-type.enum.js +8 -1
  18. package/esm2015/lib/qms-ckeditor-components/common/functions/common.function.js +6 -2
  19. package/esm2015/lib/qms-ckeditor-components/common/helper/guidHelper.js +14 -0
  20. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn-template.model.js +9 -0
  21. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn.model.js +9 -0
  22. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.js +1 -1
  23. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model.js +1 -9
  24. package/esm2015/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.js +3 -3
  25. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.js +266 -0
  26. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.js +67 -0
  27. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +524 -0
  28. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.lib.js +1948 -0
  29. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.validator.js +7 -0
  30. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.js +1 -1
  31. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +5 -5
  32. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.js +1 -1
  33. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.js +1 -1
  34. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.js +1 -1
  35. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.js +1 -1
  36. package/esm2015/lib/qms-ckeditor-components/models/qms-ckeditor-imagemap.model.js +22 -0
  37. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +68 -5
  38. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +16 -2
  39. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn-api.service.js +26 -0
  40. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.js +1156 -0
  41. package/esm2015/public-api.js +14 -1
  42. package/esm2015/qms-angular.js +3 -1
  43. package/fesm2015/qms-angular.js +7017 -226
  44. package/fesm2015/qms-angular.js.map +1 -1
  45. package/lib/components/breadcrumb/breadcrumb.d.ts +6 -3
  46. package/lib/model/en.d.ts +143 -0
  47. package/lib/model/no.d.ts +143 -0
  48. package/lib/qms-ckeditor-components/common/bpmn/inspector.function.d.ts +1825 -0
  49. package/lib/qms-ckeditor-components/common/bpmn/toolbar.function.d.ts +163 -0
  50. package/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.d.ts +5 -0
  51. package/lib/qms-ckeditor-components/common/constants/ckeditorFlowchart.const.d.ts +34 -0
  52. package/lib/qms-ckeditor-components/common/constants/iconSvg.constants.d.ts +7 -0
  53. package/lib/qms-ckeditor-components/common/enums/flowchart-view-mode.enum.d.ts +4 -0
  54. package/lib/qms-ckeditor-components/common/enums/image-mode.enum.d.ts +7 -0
  55. package/lib/qms-ckeditor-components/common/enums/protocol-type.enum.d.ts +9 -2
  56. package/lib/qms-ckeditor-components/common/enums/related-to-item-type.d.ts +9 -0
  57. package/lib/qms-ckeditor-components/common/enums/target-type.enum.d.ts +6 -0
  58. package/lib/qms-ckeditor-components/common/helper/guidHelper.d.ts +6 -0
  59. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn-template.model.d.ts +7 -0
  60. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-bpmn.model.d.ts +7 -0
  61. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.d.ts +1 -0
  62. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model.d.ts +7 -7
  63. package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.d.ts +37 -0
  64. package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.d.ts +23 -0
  65. package/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.d.ts +123 -0
  66. package/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.lib.d.ts +542 -0
  67. package/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.validator.d.ts +2 -0
  68. package/lib/qms-ckeditor-components/models/qms-ckeditor-imagemap.model.d.ts +20 -0
  69. package/lib/qms-ckeditor-components/qms-ckeditor.component.d.ts +7 -2
  70. package/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn-api.service.d.ts +10 -0
  71. package/lib/qms-ckeditor-components/services/qms-ckeditor-bpmn.service.d.ts +33 -0
  72. package/lib.theme.scss +4 -1
  73. package/package.json +1 -1
  74. package/public-api.d.ts +12 -0
  75. package/qms-angular.d.ts +2 -0
  76. package/qms-angular.metadata.json +1 -1
  77. package/src/assets/images/panel-stencil-container-background-image.png +0 -0
  78. package/src/assets/jointjs/js/backbone/backbone.js +2096 -0
  79. package/src/assets/jointjs/js/client.js +17 -0
  80. package/src/assets/jointjs/js/example.js +42 -0
  81. package/src/assets/jointjs/js/gd.js +135 -0
  82. package/src/assets/jointjs/js/joint.format.raster.js +386 -0
  83. package/src/assets/jointjs/js/joint.format.svg.js +252 -0
  84. package/src/assets/jointjs/js/jquery/jquery.js +10872 -0
  85. package/src/assets/jointjs/js/lodash/LICENSE +47 -0
  86. package/src/assets/jointjs/js/lodash/README.md +39 -0
  87. package/src/assets/jointjs/js/lodash/_DataView.js +7 -0
  88. package/src/assets/jointjs/js/lodash/_Hash.js +32 -0
  89. package/src/assets/jointjs/js/lodash/_LazyWrapper.js +28 -0
  90. package/src/assets/jointjs/js/lodash/_ListCache.js +32 -0
  91. package/src/assets/jointjs/js/lodash/_LodashWrapper.js +22 -0
  92. package/src/assets/jointjs/js/lodash/_Map.js +7 -0
  93. package/src/assets/jointjs/js/lodash/_MapCache.js +32 -0
  94. package/src/assets/jointjs/js/lodash/_Promise.js +7 -0
  95. package/src/assets/jointjs/js/lodash/_Set.js +7 -0
  96. package/src/assets/jointjs/js/lodash/_SetCache.js +27 -0
  97. package/src/assets/jointjs/js/lodash/_Stack.js +27 -0
  98. package/src/assets/jointjs/js/lodash/_Symbol.js +6 -0
  99. package/src/assets/jointjs/js/lodash/_Uint8Array.js +6 -0
  100. package/src/assets/jointjs/js/lodash/_WeakMap.js +7 -0
  101. package/src/assets/jointjs/js/lodash/_apply.js +21 -0
  102. package/src/assets/jointjs/js/lodash/_arrayAggregator.js +22 -0
  103. package/src/assets/jointjs/js/lodash/_arrayEach.js +22 -0
  104. package/src/assets/jointjs/js/lodash/_arrayEachRight.js +21 -0
  105. package/src/assets/jointjs/js/lodash/_arrayEvery.js +23 -0
  106. package/src/assets/jointjs/js/lodash/_arrayFilter.js +25 -0
  107. package/src/assets/jointjs/js/lodash/_arrayIncludes.js +17 -0
  108. package/src/assets/jointjs/js/lodash/_arrayIncludesWith.js +22 -0
  109. package/src/assets/jointjs/js/lodash/_arrayLikeKeys.js +49 -0
  110. package/src/assets/jointjs/js/lodash/_arrayMap.js +21 -0
  111. package/src/assets/jointjs/js/lodash/_arrayPush.js +20 -0
  112. package/src/assets/jointjs/js/lodash/_arrayReduce.js +26 -0
  113. package/src/assets/jointjs/js/lodash/_arrayReduceRight.js +24 -0
  114. package/src/assets/jointjs/js/lodash/_arraySample.js +15 -0
  115. package/src/assets/jointjs/js/lodash/_arraySampleSize.js +17 -0
  116. package/src/assets/jointjs/js/lodash/_arrayShuffle.js +15 -0
  117. package/src/assets/jointjs/js/lodash/_arraySome.js +23 -0
  118. package/src/assets/jointjs/js/lodash/_asciiSize.js +12 -0
  119. package/src/assets/jointjs/js/lodash/_asciiToArray.js +12 -0
  120. package/src/assets/jointjs/js/lodash/_asciiWords.js +15 -0
  121. package/src/assets/jointjs/js/lodash/_assignMergeValue.js +20 -0
  122. package/src/assets/jointjs/js/lodash/_assignValue.js +28 -0
  123. package/src/assets/jointjs/js/lodash/_assocIndexOf.js +21 -0
  124. package/src/assets/jointjs/js/lodash/_baseAggregator.js +21 -0
  125. package/src/assets/jointjs/js/lodash/_baseAssign.js +17 -0
  126. package/src/assets/jointjs/js/lodash/_baseAssignIn.js +17 -0
  127. package/src/assets/jointjs/js/lodash/_baseAssignValue.js +25 -0
  128. package/src/assets/jointjs/js/lodash/_baseAt.js +23 -0
  129. package/src/assets/jointjs/js/lodash/_baseClamp.js +22 -0
  130. package/src/assets/jointjs/js/lodash/_baseClone.js +165 -0
  131. package/src/assets/jointjs/js/lodash/_baseConforms.js +18 -0
  132. package/src/assets/jointjs/js/lodash/_baseConformsTo.js +27 -0
  133. package/src/assets/jointjs/js/lodash/_baseCreate.js +30 -0
  134. package/src/assets/jointjs/js/lodash/_baseDelay.js +21 -0
  135. package/src/assets/jointjs/js/lodash/_baseDifference.js +67 -0
  136. package/src/assets/jointjs/js/lodash/_baseEach.js +14 -0
  137. package/src/assets/jointjs/js/lodash/_baseEachRight.js +14 -0
  138. package/src/assets/jointjs/js/lodash/_baseEvery.js +21 -0
  139. package/src/assets/jointjs/js/lodash/_baseExtremum.js +32 -0
  140. package/src/assets/jointjs/js/lodash/_baseFill.js +32 -0
  141. package/src/assets/jointjs/js/lodash/_baseFilter.js +21 -0
  142. package/src/assets/jointjs/js/lodash/_baseFindIndex.js +24 -0
  143. package/src/assets/jointjs/js/lodash/_baseFindKey.js +23 -0
  144. package/src/assets/jointjs/js/lodash/_baseFlatten.js +38 -0
  145. package/src/assets/jointjs/js/lodash/_baseFor.js +16 -0
  146. package/src/assets/jointjs/js/lodash/_baseForOwn.js +16 -0
  147. package/src/assets/jointjs/js/lodash/_baseForOwnRight.js +16 -0
  148. package/src/assets/jointjs/js/lodash/_baseForRight.js +15 -0
  149. package/src/assets/jointjs/js/lodash/_baseFunctions.js +19 -0
  150. package/src/assets/jointjs/js/lodash/_baseGet.js +24 -0
  151. package/src/assets/jointjs/js/lodash/_baseGetAllKeys.js +20 -0
  152. package/src/assets/jointjs/js/lodash/_baseGetTag.js +28 -0
  153. package/src/assets/jointjs/js/lodash/_baseGt.js +14 -0
  154. package/src/assets/jointjs/js/lodash/_baseHas.js +19 -0
  155. package/src/assets/jointjs/js/lodash/_baseHasIn.js +13 -0
  156. package/src/assets/jointjs/js/lodash/_baseInRange.js +18 -0
  157. package/src/assets/jointjs/js/lodash/_baseIndexOf.js +20 -0
  158. package/src/assets/jointjs/js/lodash/_baseIndexOfWith.js +23 -0
  159. package/src/assets/jointjs/js/lodash/_baseIntersection.js +74 -0
  160. package/src/assets/jointjs/js/lodash/_baseInverter.js +21 -0
  161. package/src/assets/jointjs/js/lodash/_baseInvoke.js +24 -0
  162. package/src/assets/jointjs/js/lodash/_baseIsArguments.js +18 -0
  163. package/src/assets/jointjs/js/lodash/_baseIsArrayBuffer.js +17 -0
  164. package/src/assets/jointjs/js/lodash/_baseIsDate.js +18 -0
  165. package/src/assets/jointjs/js/lodash/_baseIsEqual.js +28 -0
  166. package/src/assets/jointjs/js/lodash/_baseIsEqualDeep.js +83 -0
  167. package/src/assets/jointjs/js/lodash/_baseIsMap.js +18 -0
  168. package/src/assets/jointjs/js/lodash/_baseIsMatch.js +62 -0
  169. package/src/assets/jointjs/js/lodash/_baseIsNaN.js +12 -0
  170. package/src/assets/jointjs/js/lodash/_baseIsNative.js +47 -0
  171. package/src/assets/jointjs/js/lodash/_baseIsRegExp.js +18 -0
  172. package/src/assets/jointjs/js/lodash/_baseIsSet.js +18 -0
  173. package/src/assets/jointjs/js/lodash/_baseIsTypedArray.js +60 -0
  174. package/src/assets/jointjs/js/lodash/_baseIteratee.js +31 -0
  175. package/src/assets/jointjs/js/lodash/_baseKeys.js +30 -0
  176. package/src/assets/jointjs/js/lodash/_baseKeysIn.js +33 -0
  177. package/src/assets/jointjs/js/lodash/_baseLodash.js +10 -0
  178. package/src/assets/jointjs/js/lodash/_baseLt.js +14 -0
  179. package/src/assets/jointjs/js/lodash/_baseMap.js +22 -0
  180. package/src/assets/jointjs/js/lodash/_baseMatches.js +22 -0
  181. package/src/assets/jointjs/js/lodash/_baseMatchesProperty.js +33 -0
  182. package/src/assets/jointjs/js/lodash/_baseMean.js +20 -0
  183. package/src/assets/jointjs/js/lodash/_baseMerge.js +42 -0
  184. package/src/assets/jointjs/js/lodash/_baseMergeDeep.js +94 -0
  185. package/src/assets/jointjs/js/lodash/_baseNth.js +20 -0
  186. package/src/assets/jointjs/js/lodash/_baseOrderBy.js +34 -0
  187. package/src/assets/jointjs/js/lodash/_basePick.js +19 -0
  188. package/src/assets/jointjs/js/lodash/_basePickBy.js +30 -0
  189. package/src/assets/jointjs/js/lodash/_baseProperty.js +14 -0
  190. package/src/assets/jointjs/js/lodash/_basePropertyDeep.js +16 -0
  191. package/src/assets/jointjs/js/lodash/_basePropertyOf.js +14 -0
  192. package/src/assets/jointjs/js/lodash/_basePullAll.js +51 -0
  193. package/src/assets/jointjs/js/lodash/_basePullAt.js +37 -0
  194. package/src/assets/jointjs/js/lodash/_baseRandom.js +18 -0
  195. package/src/assets/jointjs/js/lodash/_baseRange.js +28 -0
  196. package/src/assets/jointjs/js/lodash/_baseReduce.js +23 -0
  197. package/src/assets/jointjs/js/lodash/_baseRepeat.js +35 -0
  198. package/src/assets/jointjs/js/lodash/_baseRest.js +17 -0
  199. package/src/assets/jointjs/js/lodash/_baseSample.js +15 -0
  200. package/src/assets/jointjs/js/lodash/_baseSampleSize.js +18 -0
  201. package/src/assets/jointjs/js/lodash/_baseSet.js +47 -0
  202. package/src/assets/jointjs/js/lodash/_baseSetData.js +17 -0
  203. package/src/assets/jointjs/js/lodash/_baseSetToString.js +22 -0
  204. package/src/assets/jointjs/js/lodash/_baseShuffle.js +15 -0
  205. package/src/assets/jointjs/js/lodash/_baseSlice.js +31 -0
  206. package/src/assets/jointjs/js/lodash/_baseSome.js +22 -0
  207. package/src/assets/jointjs/js/lodash/_baseSortBy.js +21 -0
  208. package/src/assets/jointjs/js/lodash/_baseSortedIndex.js +42 -0
  209. package/src/assets/jointjs/js/lodash/_baseSortedIndexBy.js +64 -0
  210. package/src/assets/jointjs/js/lodash/_baseSortedUniq.js +30 -0
  211. package/src/assets/jointjs/js/lodash/_baseSum.js +24 -0
  212. package/src/assets/jointjs/js/lodash/_baseTimes.js +20 -0
  213. package/src/assets/jointjs/js/lodash/_baseToNumber.js +24 -0
  214. package/src/assets/jointjs/js/lodash/_baseToPairs.js +18 -0
  215. package/src/assets/jointjs/js/lodash/_baseToString.js +37 -0
  216. package/src/assets/jointjs/js/lodash/_baseUnary.js +14 -0
  217. package/src/assets/jointjs/js/lodash/_baseUniq.js +72 -0
  218. package/src/assets/jointjs/js/lodash/_baseUnset.js +20 -0
  219. package/src/assets/jointjs/js/lodash/_baseUpdate.js +18 -0
  220. package/src/assets/jointjs/js/lodash/_baseValues.js +19 -0
  221. package/src/assets/jointjs/js/lodash/_baseWhile.js +26 -0
  222. package/src/assets/jointjs/js/lodash/_baseWrapperValue.js +25 -0
  223. package/src/assets/jointjs/js/lodash/_baseXor.js +36 -0
  224. package/src/assets/jointjs/js/lodash/_baseZipObject.js +23 -0
  225. package/src/assets/jointjs/js/lodash/_cacheHas.js +13 -0
  226. package/src/assets/jointjs/js/lodash/_castArrayLikeObject.js +14 -0
  227. package/src/assets/jointjs/js/lodash/_castFunction.js +14 -0
  228. package/src/assets/jointjs/js/lodash/_castPath.js +21 -0
  229. package/src/assets/jointjs/js/lodash/_castRest.js +14 -0
  230. package/src/assets/jointjs/js/lodash/_castSlice.js +18 -0
  231. package/src/assets/jointjs/js/lodash/_charsEndIndex.js +19 -0
  232. package/src/assets/jointjs/js/lodash/_charsStartIndex.js +20 -0
  233. package/src/assets/jointjs/js/lodash/_cloneArrayBuffer.js +16 -0
  234. package/src/assets/jointjs/js/lodash/_cloneBuffer.js +35 -0
  235. package/src/assets/jointjs/js/lodash/_cloneDataView.js +16 -0
  236. package/src/assets/jointjs/js/lodash/_cloneRegExp.js +17 -0
  237. package/src/assets/jointjs/js/lodash/_cloneSymbol.js +18 -0
  238. package/src/assets/jointjs/js/lodash/_cloneTypedArray.js +16 -0
  239. package/src/assets/jointjs/js/lodash/_compareAscending.js +41 -0
  240. package/src/assets/jointjs/js/lodash/_compareMultiple.js +44 -0
  241. package/src/assets/jointjs/js/lodash/_composeArgs.js +39 -0
  242. package/src/assets/jointjs/js/lodash/_composeArgsRight.js +41 -0
  243. package/src/assets/jointjs/js/lodash/_copyArray.js +20 -0
  244. package/src/assets/jointjs/js/lodash/_copyObject.js +40 -0
  245. package/src/assets/jointjs/js/lodash/_copySymbols.js +16 -0
  246. package/src/assets/jointjs/js/lodash/_copySymbolsIn.js +16 -0
  247. package/src/assets/jointjs/js/lodash/_coreJsData.js +6 -0
  248. package/src/assets/jointjs/js/lodash/_countHolders.js +21 -0
  249. package/src/assets/jointjs/js/lodash/_createAggregator.js +23 -0
  250. package/src/assets/jointjs/js/lodash/_createAssigner.js +37 -0
  251. package/src/assets/jointjs/js/lodash/_createBaseEach.js +32 -0
  252. package/src/assets/jointjs/js/lodash/_createBaseFor.js +25 -0
  253. package/src/assets/jointjs/js/lodash/_createBind.js +28 -0
  254. package/src/assets/jointjs/js/lodash/_createCaseFirst.js +33 -0
  255. package/src/assets/jointjs/js/lodash/_createCompounder.js +24 -0
  256. package/src/assets/jointjs/js/lodash/_createCtor.js +37 -0
  257. package/src/assets/jointjs/js/lodash/_createCurry.js +46 -0
  258. package/src/assets/jointjs/js/lodash/_createFind.js +25 -0
  259. package/src/assets/jointjs/js/lodash/_createFlow.js +78 -0
  260. package/src/assets/jointjs/js/lodash/_createHybrid.js +92 -0
  261. package/src/assets/jointjs/js/lodash/_createInverter.js +17 -0
  262. package/src/assets/jointjs/js/lodash/_createMathOperation.js +38 -0
  263. package/src/assets/jointjs/js/lodash/_createOver.js +27 -0
  264. package/src/assets/jointjs/js/lodash/_createPadding.js +33 -0
  265. package/src/assets/jointjs/js/lodash/_createPartial.js +43 -0
  266. package/src/assets/jointjs/js/lodash/_createRange.js +30 -0
  267. package/src/assets/jointjs/js/lodash/_createRecurry.js +56 -0
  268. package/src/assets/jointjs/js/lodash/_createRelationalOperation.js +20 -0
  269. package/src/assets/jointjs/js/lodash/_createRound.js +35 -0
  270. package/src/assets/jointjs/js/lodash/_createSet.js +19 -0
  271. package/src/assets/jointjs/js/lodash/_createToPairs.js +30 -0
  272. package/src/assets/jointjs/js/lodash/_createWrap.js +106 -0
  273. package/src/assets/jointjs/js/lodash/_customDefaultsAssignIn.js +29 -0
  274. package/src/assets/jointjs/js/lodash/_customDefaultsMerge.js +28 -0
  275. package/src/assets/jointjs/js/lodash/_customOmitClone.js +16 -0
  276. package/src/assets/jointjs/js/lodash/_deburrLetter.js +71 -0
  277. package/src/assets/jointjs/js/lodash/_defineProperty.js +11 -0
  278. package/src/assets/jointjs/js/lodash/_equalArrays.js +83 -0
  279. package/src/assets/jointjs/js/lodash/_equalByTag.js +112 -0
  280. package/src/assets/jointjs/js/lodash/_equalObjects.js +89 -0
  281. package/src/assets/jointjs/js/lodash/_escapeHtmlChar.js +21 -0
  282. package/src/assets/jointjs/js/lodash/_escapeStringChar.js +22 -0
  283. package/src/assets/jointjs/js/lodash/_flatRest.js +16 -0
  284. package/src/assets/jointjs/js/lodash/_freeGlobal.js +4 -0
  285. package/src/assets/jointjs/js/lodash/_getAllKeys.js +16 -0
  286. package/src/assets/jointjs/js/lodash/_getAllKeysIn.js +17 -0
  287. package/src/assets/jointjs/js/lodash/_getData.js +15 -0
  288. package/src/assets/jointjs/js/lodash/_getFuncName.js +31 -0
  289. package/src/assets/jointjs/js/lodash/_getHolder.js +13 -0
  290. package/src/assets/jointjs/js/lodash/_getMapData.js +18 -0
  291. package/src/assets/jointjs/js/lodash/_getMatchData.js +24 -0
  292. package/src/assets/jointjs/js/lodash/_getNative.js +17 -0
  293. package/src/assets/jointjs/js/lodash/_getPrototype.js +6 -0
  294. package/src/assets/jointjs/js/lodash/_getRawTag.js +46 -0
  295. package/src/assets/jointjs/js/lodash/_getSymbols.js +30 -0
  296. package/src/assets/jointjs/js/lodash/_getSymbolsIn.js +25 -0
  297. package/src/assets/jointjs/js/lodash/_getTag.js +58 -0
  298. package/src/assets/jointjs/js/lodash/_getValue.js +13 -0
  299. package/src/assets/jointjs/js/lodash/_getView.js +33 -0
  300. package/src/assets/jointjs/js/lodash/_getWrapDetails.js +17 -0
  301. package/src/assets/jointjs/js/lodash/_hasPath.js +39 -0
  302. package/src/assets/jointjs/js/lodash/_hasUnicode.js +26 -0
  303. package/src/assets/jointjs/js/lodash/_hasUnicodeWord.js +15 -0
  304. package/src/assets/jointjs/js/lodash/_hashClear.js +15 -0
  305. package/src/assets/jointjs/js/lodash/_hashDelete.js +17 -0
  306. package/src/assets/jointjs/js/lodash/_hashGet.js +30 -0
  307. package/src/assets/jointjs/js/lodash/_hashHas.js +23 -0
  308. package/src/assets/jointjs/js/lodash/_hashSet.js +23 -0
  309. package/src/assets/jointjs/js/lodash/_initCloneArray.js +26 -0
  310. package/src/assets/jointjs/js/lodash/_initCloneByTag.js +77 -0
  311. package/src/assets/jointjs/js/lodash/_initCloneObject.js +18 -0
  312. package/src/assets/jointjs/js/lodash/_insertWrapDetails.js +23 -0
  313. package/src/assets/jointjs/js/lodash/_isFlattenable.js +20 -0
  314. package/src/assets/jointjs/js/lodash/_isIndex.js +25 -0
  315. package/src/assets/jointjs/js/lodash/_isIterateeCall.js +30 -0
  316. package/src/assets/jointjs/js/lodash/_isKey.js +29 -0
  317. package/src/assets/jointjs/js/lodash/_isKeyable.js +15 -0
  318. package/src/assets/jointjs/js/lodash/_isLaziable.js +28 -0
  319. package/src/assets/jointjs/js/lodash/_isMaskable.js +14 -0
  320. package/src/assets/jointjs/js/lodash/_isMasked.js +20 -0
  321. package/src/assets/jointjs/js/lodash/_isPrototype.js +18 -0
  322. package/src/assets/jointjs/js/lodash/_isStrictComparable.js +15 -0
  323. package/src/assets/jointjs/js/lodash/_iteratorToArray.js +18 -0
  324. package/src/assets/jointjs/js/lodash/_lazyClone.js +23 -0
  325. package/src/assets/jointjs/js/lodash/_lazyReverse.js +23 -0
  326. package/src/assets/jointjs/js/lodash/_lazyValue.js +69 -0
  327. package/src/assets/jointjs/js/lodash/_listCacheClear.js +13 -0
  328. package/src/assets/jointjs/js/lodash/_listCacheDelete.js +35 -0
  329. package/src/assets/jointjs/js/lodash/_listCacheGet.js +19 -0
  330. package/src/assets/jointjs/js/lodash/_listCacheHas.js +16 -0
  331. package/src/assets/jointjs/js/lodash/_listCacheSet.js +26 -0
  332. package/src/assets/jointjs/js/lodash/_mapCacheClear.js +21 -0
  333. package/src/assets/jointjs/js/lodash/_mapCacheDelete.js +18 -0
  334. package/src/assets/jointjs/js/lodash/_mapCacheGet.js +16 -0
  335. package/src/assets/jointjs/js/lodash/_mapCacheHas.js +16 -0
  336. package/src/assets/jointjs/js/lodash/_mapCacheSet.js +22 -0
  337. package/src/assets/jointjs/js/lodash/_mapToArray.js +18 -0
  338. package/src/assets/jointjs/js/lodash/_matchesStrictComparable.js +20 -0
  339. package/src/assets/jointjs/js/lodash/_memoizeCapped.js +26 -0
  340. package/src/assets/jointjs/js/lodash/_mergeData.js +90 -0
  341. package/src/assets/jointjs/js/lodash/_metaMap.js +6 -0
  342. package/src/assets/jointjs/js/lodash/_nativeCreate.js +6 -0
  343. package/src/assets/jointjs/js/lodash/_nativeKeys.js +6 -0
  344. package/src/assets/jointjs/js/lodash/_nativeKeysIn.js +20 -0
  345. package/src/assets/jointjs/js/lodash/_nodeUtil.js +30 -0
  346. package/src/assets/jointjs/js/lodash/_objectToString.js +22 -0
  347. package/src/assets/jointjs/js/lodash/_overArg.js +15 -0
  348. package/src/assets/jointjs/js/lodash/_overRest.js +36 -0
  349. package/src/assets/jointjs/js/lodash/_parent.js +16 -0
  350. package/src/assets/jointjs/js/lodash/_reEscape.js +4 -0
  351. package/src/assets/jointjs/js/lodash/_reEvaluate.js +4 -0
  352. package/src/assets/jointjs/js/lodash/_reInterpolate.js +4 -0
  353. package/src/assets/jointjs/js/lodash/_realNames.js +4 -0
  354. package/src/assets/jointjs/js/lodash/_reorder.js +29 -0
  355. package/src/assets/jointjs/js/lodash/_replaceHolders.js +29 -0
  356. package/src/assets/jointjs/js/lodash/_root.js +9 -0
  357. package/src/assets/jointjs/js/lodash/_safeGet.js +21 -0
  358. package/src/assets/jointjs/js/lodash/_setCacheAdd.js +19 -0
  359. package/src/assets/jointjs/js/lodash/_setCacheHas.js +14 -0
  360. package/src/assets/jointjs/js/lodash/_setData.js +20 -0
  361. package/src/assets/jointjs/js/lodash/_setToArray.js +18 -0
  362. package/src/assets/jointjs/js/lodash/_setToPairs.js +18 -0
  363. package/src/assets/jointjs/js/lodash/_setToString.js +14 -0
  364. package/src/assets/jointjs/js/lodash/_setWrapToString.js +21 -0
  365. package/src/assets/jointjs/js/lodash/_shortOut.js +37 -0
  366. package/src/assets/jointjs/js/lodash/_shuffleSelf.js +28 -0
  367. package/src/assets/jointjs/js/lodash/_stackClear.js +15 -0
  368. package/src/assets/jointjs/js/lodash/_stackDelete.js +18 -0
  369. package/src/assets/jointjs/js/lodash/_stackGet.js +14 -0
  370. package/src/assets/jointjs/js/lodash/_stackHas.js +14 -0
  371. package/src/assets/jointjs/js/lodash/_stackSet.js +34 -0
  372. package/src/assets/jointjs/js/lodash/_strictIndexOf.js +23 -0
  373. package/src/assets/jointjs/js/lodash/_strictLastIndexOf.js +21 -0
  374. package/src/assets/jointjs/js/lodash/_stringSize.js +18 -0
  375. package/src/assets/jointjs/js/lodash/_stringToArray.js +18 -0
  376. package/src/assets/jointjs/js/lodash/_stringToPath.js +27 -0
  377. package/src/assets/jointjs/js/lodash/_toKey.js +21 -0
  378. package/src/assets/jointjs/js/lodash/_toSource.js +26 -0
  379. package/src/assets/jointjs/js/lodash/_unescapeHtmlChar.js +21 -0
  380. package/src/assets/jointjs/js/lodash/_unicodeSize.js +44 -0
  381. package/src/assets/jointjs/js/lodash/_unicodeToArray.js +40 -0
  382. package/src/assets/jointjs/js/lodash/_unicodeWords.js +69 -0
  383. package/src/assets/jointjs/js/lodash/_updateWrapDetails.js +46 -0
  384. package/src/assets/jointjs/js/lodash/_wrapperClone.js +23 -0
  385. package/src/assets/jointjs/js/lodash/add.js +22 -0
  386. package/src/assets/jointjs/js/lodash/after.js +42 -0
  387. package/src/assets/jointjs/js/lodash/array.js +67 -0
  388. package/src/assets/jointjs/js/lodash/ary.js +29 -0
  389. package/src/assets/jointjs/js/lodash/assign.js +58 -0
  390. package/src/assets/jointjs/js/lodash/assignIn.js +40 -0
  391. package/src/assets/jointjs/js/lodash/assignInWith.js +38 -0
  392. package/src/assets/jointjs/js/lodash/assignWith.js +37 -0
  393. package/src/assets/jointjs/js/lodash/at.js +23 -0
  394. package/src/assets/jointjs/js/lodash/attempt.js +35 -0
  395. package/src/assets/jointjs/js/lodash/before.js +40 -0
  396. package/src/assets/jointjs/js/lodash/bind.js +57 -0
  397. package/src/assets/jointjs/js/lodash/bindAll.js +41 -0
  398. package/src/assets/jointjs/js/lodash/bindKey.js +68 -0
  399. package/src/assets/jointjs/js/lodash/camelCase.js +29 -0
  400. package/src/assets/jointjs/js/lodash/capitalize.js +23 -0
  401. package/src/assets/jointjs/js/lodash/castArray.js +44 -0
  402. package/src/assets/jointjs/js/lodash/ceil.js +26 -0
  403. package/src/assets/jointjs/js/lodash/chain.js +38 -0
  404. package/src/assets/jointjs/js/lodash/chunk.js +50 -0
  405. package/src/assets/jointjs/js/lodash/clamp.js +39 -0
  406. package/src/assets/jointjs/js/lodash/clone.js +36 -0
  407. package/src/assets/jointjs/js/lodash/cloneDeep.js +29 -0
  408. package/src/assets/jointjs/js/lodash/cloneDeepWith.js +40 -0
  409. package/src/assets/jointjs/js/lodash/cloneWith.js +42 -0
  410. package/src/assets/jointjs/js/lodash/collection.js +30 -0
  411. package/src/assets/jointjs/js/lodash/commit.js +33 -0
  412. package/src/assets/jointjs/js/lodash/compact.js +31 -0
  413. package/src/assets/jointjs/js/lodash/concat.js +43 -0
  414. package/src/assets/jointjs/js/lodash/cond.js +60 -0
  415. package/src/assets/jointjs/js/lodash/conforms.js +35 -0
  416. package/src/assets/jointjs/js/lodash/conformsTo.js +32 -0
  417. package/src/assets/jointjs/js/lodash/constant.js +26 -0
  418. package/src/assets/jointjs/js/lodash/core.js +3854 -0
  419. package/src/assets/jointjs/js/lodash/core.min.js +29 -0
  420. package/src/assets/jointjs/js/lodash/countBy.js +40 -0
  421. package/src/assets/jointjs/js/lodash/create.js +43 -0
  422. package/src/assets/jointjs/js/lodash/curry.js +57 -0
  423. package/src/assets/jointjs/js/lodash/curryRight.js +54 -0
  424. package/src/assets/jointjs/js/lodash/date.js +3 -0
  425. package/src/assets/jointjs/js/lodash/debounce.js +191 -0
  426. package/src/assets/jointjs/js/lodash/deburr.js +45 -0
  427. package/src/assets/jointjs/js/lodash/defaultTo.js +25 -0
  428. package/src/assets/jointjs/js/lodash/defaults.js +64 -0
  429. package/src/assets/jointjs/js/lodash/defaultsDeep.js +30 -0
  430. package/src/assets/jointjs/js/lodash/defer.js +26 -0
  431. package/src/assets/jointjs/js/lodash/delay.js +28 -0
  432. package/src/assets/jointjs/js/lodash/difference.js +33 -0
  433. package/src/assets/jointjs/js/lodash/differenceBy.js +44 -0
  434. package/src/assets/jointjs/js/lodash/differenceWith.js +40 -0
  435. package/src/assets/jointjs/js/lodash/divide.js +22 -0
  436. package/src/assets/jointjs/js/lodash/drop.js +38 -0
  437. package/src/assets/jointjs/js/lodash/dropRight.js +39 -0
  438. package/src/assets/jointjs/js/lodash/dropRightWhile.js +45 -0
  439. package/src/assets/jointjs/js/lodash/dropWhile.js +45 -0
  440. package/src/assets/jointjs/js/lodash/each.js +1 -0
  441. package/src/assets/jointjs/js/lodash/eachRight.js +1 -0
  442. package/src/assets/jointjs/js/lodash/endsWith.js +43 -0
  443. package/src/assets/jointjs/js/lodash/entries.js +1 -0
  444. package/src/assets/jointjs/js/lodash/entriesIn.js +1 -0
  445. package/src/assets/jointjs/js/lodash/eq.js +37 -0
  446. package/src/assets/jointjs/js/lodash/escape.js +43 -0
  447. package/src/assets/jointjs/js/lodash/escapeRegExp.js +32 -0
  448. package/src/assets/jointjs/js/lodash/every.js +56 -0
  449. package/src/assets/jointjs/js/lodash/extend.js +1 -0
  450. package/src/assets/jointjs/js/lodash/extendWith.js +1 -0
  451. package/src/assets/jointjs/js/lodash/fill.js +45 -0
  452. package/src/assets/jointjs/js/lodash/filter.js +48 -0
  453. package/src/assets/jointjs/js/lodash/find.js +42 -0
  454. package/src/assets/jointjs/js/lodash/findIndex.js +55 -0
  455. package/src/assets/jointjs/js/lodash/findKey.js +44 -0
  456. package/src/assets/jointjs/js/lodash/findLast.js +25 -0
  457. package/src/assets/jointjs/js/lodash/findLastIndex.js +59 -0
  458. package/src/assets/jointjs/js/lodash/findLastKey.js +44 -0
  459. package/src/assets/jointjs/js/lodash/first.js +1 -0
  460. package/src/assets/jointjs/js/lodash/flatMap.js +29 -0
  461. package/src/assets/jointjs/js/lodash/flatMapDeep.js +31 -0
  462. package/src/assets/jointjs/js/lodash/flatMapDepth.js +31 -0
  463. package/src/assets/jointjs/js/lodash/flatten.js +22 -0
  464. package/src/assets/jointjs/js/lodash/flattenDeep.js +25 -0
  465. package/src/assets/jointjs/js/lodash/flattenDepth.js +33 -0
  466. package/src/assets/jointjs/js/lodash/flip.js +28 -0
  467. package/src/assets/jointjs/js/lodash/floor.js +26 -0
  468. package/src/assets/jointjs/js/lodash/flow.js +27 -0
  469. package/src/assets/jointjs/js/lodash/flowRight.js +26 -0
  470. package/src/assets/jointjs/js/lodash/forEach.js +41 -0
  471. package/src/assets/jointjs/js/lodash/forEachRight.js +31 -0
  472. package/src/assets/jointjs/js/lodash/forIn.js +39 -0
  473. package/src/assets/jointjs/js/lodash/forInRight.js +37 -0
  474. package/src/assets/jointjs/js/lodash/forOwn.js +36 -0
  475. package/src/assets/jointjs/js/lodash/forOwnRight.js +34 -0
  476. package/src/assets/jointjs/js/lodash/fp/F.js +1 -0
  477. package/src/assets/jointjs/js/lodash/fp/T.js +1 -0
  478. package/src/assets/jointjs/js/lodash/fp/__.js +1 -0
  479. package/src/assets/jointjs/js/lodash/fp/_baseConvert.js +569 -0
  480. package/src/assets/jointjs/js/lodash/fp/_convertBrowser.js +18 -0
  481. package/src/assets/jointjs/js/lodash/fp/_falseOptions.js +7 -0
  482. package/src/assets/jointjs/js/lodash/fp/_mapping.js +358 -0
  483. package/src/assets/jointjs/js/lodash/fp/_util.js +16 -0
  484. package/src/assets/jointjs/js/lodash/fp/add.js +5 -0
  485. package/src/assets/jointjs/js/lodash/fp/after.js +5 -0
  486. package/src/assets/jointjs/js/lodash/fp/all.js +1 -0
  487. package/src/assets/jointjs/js/lodash/fp/allPass.js +1 -0
  488. package/src/assets/jointjs/js/lodash/fp/always.js +1 -0
  489. package/src/assets/jointjs/js/lodash/fp/any.js +1 -0
  490. package/src/assets/jointjs/js/lodash/fp/anyPass.js +1 -0
  491. package/src/assets/jointjs/js/lodash/fp/apply.js +1 -0
  492. package/src/assets/jointjs/js/lodash/fp/array.js +2 -0
  493. package/src/assets/jointjs/js/lodash/fp/ary.js +5 -0
  494. package/src/assets/jointjs/js/lodash/fp/assign.js +5 -0
  495. package/src/assets/jointjs/js/lodash/fp/assignAll.js +5 -0
  496. package/src/assets/jointjs/js/lodash/fp/assignAllWith.js +5 -0
  497. package/src/assets/jointjs/js/lodash/fp/assignIn.js +5 -0
  498. package/src/assets/jointjs/js/lodash/fp/assignInAll.js +5 -0
  499. package/src/assets/jointjs/js/lodash/fp/assignInAllWith.js +5 -0
  500. package/src/assets/jointjs/js/lodash/fp/assignInWith.js +5 -0
  501. package/src/assets/jointjs/js/lodash/fp/assignWith.js +5 -0
  502. package/src/assets/jointjs/js/lodash/fp/assoc.js +1 -0
  503. package/src/assets/jointjs/js/lodash/fp/assocPath.js +1 -0
  504. package/src/assets/jointjs/js/lodash/fp/at.js +5 -0
  505. package/src/assets/jointjs/js/lodash/fp/attempt.js +5 -0
  506. package/src/assets/jointjs/js/lodash/fp/before.js +5 -0
  507. package/src/assets/jointjs/js/lodash/fp/bind.js +5 -0
  508. package/src/assets/jointjs/js/lodash/fp/bindAll.js +5 -0
  509. package/src/assets/jointjs/js/lodash/fp/bindKey.js +5 -0
  510. package/src/assets/jointjs/js/lodash/fp/camelCase.js +5 -0
  511. package/src/assets/jointjs/js/lodash/fp/capitalize.js +5 -0
  512. package/src/assets/jointjs/js/lodash/fp/castArray.js +5 -0
  513. package/src/assets/jointjs/js/lodash/fp/ceil.js +5 -0
  514. package/src/assets/jointjs/js/lodash/fp/chain.js +5 -0
  515. package/src/assets/jointjs/js/lodash/fp/chunk.js +5 -0
  516. package/src/assets/jointjs/js/lodash/fp/clamp.js +5 -0
  517. package/src/assets/jointjs/js/lodash/fp/clone.js +5 -0
  518. package/src/assets/jointjs/js/lodash/fp/cloneDeep.js +5 -0
  519. package/src/assets/jointjs/js/lodash/fp/cloneDeepWith.js +5 -0
  520. package/src/assets/jointjs/js/lodash/fp/cloneWith.js +5 -0
  521. package/src/assets/jointjs/js/lodash/fp/collection.js +2 -0
  522. package/src/assets/jointjs/js/lodash/fp/commit.js +5 -0
  523. package/src/assets/jointjs/js/lodash/fp/compact.js +5 -0
  524. package/src/assets/jointjs/js/lodash/fp/complement.js +1 -0
  525. package/src/assets/jointjs/js/lodash/fp/compose.js +1 -0
  526. package/src/assets/jointjs/js/lodash/fp/concat.js +5 -0
  527. package/src/assets/jointjs/js/lodash/fp/cond.js +5 -0
  528. package/src/assets/jointjs/js/lodash/fp/conforms.js +1 -0
  529. package/src/assets/jointjs/js/lodash/fp/conformsTo.js +5 -0
  530. package/src/assets/jointjs/js/lodash/fp/constant.js +5 -0
  531. package/src/assets/jointjs/js/lodash/fp/contains.js +1 -0
  532. package/src/assets/jointjs/js/lodash/fp/convert.js +18 -0
  533. package/src/assets/jointjs/js/lodash/fp/countBy.js +5 -0
  534. package/src/assets/jointjs/js/lodash/fp/create.js +5 -0
  535. package/src/assets/jointjs/js/lodash/fp/curry.js +5 -0
  536. package/src/assets/jointjs/js/lodash/fp/curryN.js +5 -0
  537. package/src/assets/jointjs/js/lodash/fp/curryRight.js +5 -0
  538. package/src/assets/jointjs/js/lodash/fp/curryRightN.js +5 -0
  539. package/src/assets/jointjs/js/lodash/fp/date.js +2 -0
  540. package/src/assets/jointjs/js/lodash/fp/debounce.js +5 -0
  541. package/src/assets/jointjs/js/lodash/fp/deburr.js +5 -0
  542. package/src/assets/jointjs/js/lodash/fp/defaultTo.js +5 -0
  543. package/src/assets/jointjs/js/lodash/fp/defaults.js +5 -0
  544. package/src/assets/jointjs/js/lodash/fp/defaultsAll.js +5 -0
  545. package/src/assets/jointjs/js/lodash/fp/defaultsDeep.js +5 -0
  546. package/src/assets/jointjs/js/lodash/fp/defaultsDeepAll.js +5 -0
  547. package/src/assets/jointjs/js/lodash/fp/defer.js +5 -0
  548. package/src/assets/jointjs/js/lodash/fp/delay.js +5 -0
  549. package/src/assets/jointjs/js/lodash/fp/difference.js +5 -0
  550. package/src/assets/jointjs/js/lodash/fp/differenceBy.js +5 -0
  551. package/src/assets/jointjs/js/lodash/fp/differenceWith.js +5 -0
  552. package/src/assets/jointjs/js/lodash/fp/dissoc.js +1 -0
  553. package/src/assets/jointjs/js/lodash/fp/dissocPath.js +1 -0
  554. package/src/assets/jointjs/js/lodash/fp/divide.js +5 -0
  555. package/src/assets/jointjs/js/lodash/fp/drop.js +5 -0
  556. package/src/assets/jointjs/js/lodash/fp/dropLast.js +1 -0
  557. package/src/assets/jointjs/js/lodash/fp/dropLastWhile.js +1 -0
  558. package/src/assets/jointjs/js/lodash/fp/dropRight.js +5 -0
  559. package/src/assets/jointjs/js/lodash/fp/dropRightWhile.js +5 -0
  560. package/src/assets/jointjs/js/lodash/fp/dropWhile.js +5 -0
  561. package/src/assets/jointjs/js/lodash/fp/each.js +1 -0
  562. package/src/assets/jointjs/js/lodash/fp/eachRight.js +1 -0
  563. package/src/assets/jointjs/js/lodash/fp/endsWith.js +5 -0
  564. package/src/assets/jointjs/js/lodash/fp/entries.js +1 -0
  565. package/src/assets/jointjs/js/lodash/fp/entriesIn.js +1 -0
  566. package/src/assets/jointjs/js/lodash/fp/eq.js +5 -0
  567. package/src/assets/jointjs/js/lodash/fp/equals.js +1 -0
  568. package/src/assets/jointjs/js/lodash/fp/escape.js +5 -0
  569. package/src/assets/jointjs/js/lodash/fp/escapeRegExp.js +5 -0
  570. package/src/assets/jointjs/js/lodash/fp/every.js +5 -0
  571. package/src/assets/jointjs/js/lodash/fp/extend.js +1 -0
  572. package/src/assets/jointjs/js/lodash/fp/extendAll.js +1 -0
  573. package/src/assets/jointjs/js/lodash/fp/extendAllWith.js +1 -0
  574. package/src/assets/jointjs/js/lodash/fp/extendWith.js +1 -0
  575. package/src/assets/jointjs/js/lodash/fp/fill.js +5 -0
  576. package/src/assets/jointjs/js/lodash/fp/filter.js +5 -0
  577. package/src/assets/jointjs/js/lodash/fp/find.js +5 -0
  578. package/src/assets/jointjs/js/lodash/fp/findFrom.js +5 -0
  579. package/src/assets/jointjs/js/lodash/fp/findIndex.js +5 -0
  580. package/src/assets/jointjs/js/lodash/fp/findIndexFrom.js +5 -0
  581. package/src/assets/jointjs/js/lodash/fp/findKey.js +5 -0
  582. package/src/assets/jointjs/js/lodash/fp/findLast.js +5 -0
  583. package/src/assets/jointjs/js/lodash/fp/findLastFrom.js +5 -0
  584. package/src/assets/jointjs/js/lodash/fp/findLastIndex.js +5 -0
  585. package/src/assets/jointjs/js/lodash/fp/findLastIndexFrom.js +5 -0
  586. package/src/assets/jointjs/js/lodash/fp/findLastKey.js +5 -0
  587. package/src/assets/jointjs/js/lodash/fp/first.js +1 -0
  588. package/src/assets/jointjs/js/lodash/fp/flatMap.js +5 -0
  589. package/src/assets/jointjs/js/lodash/fp/flatMapDeep.js +5 -0
  590. package/src/assets/jointjs/js/lodash/fp/flatMapDepth.js +5 -0
  591. package/src/assets/jointjs/js/lodash/fp/flatten.js +5 -0
  592. package/src/assets/jointjs/js/lodash/fp/flattenDeep.js +5 -0
  593. package/src/assets/jointjs/js/lodash/fp/flattenDepth.js +5 -0
  594. package/src/assets/jointjs/js/lodash/fp/flip.js +5 -0
  595. package/src/assets/jointjs/js/lodash/fp/floor.js +5 -0
  596. package/src/assets/jointjs/js/lodash/fp/flow.js +5 -0
  597. package/src/assets/jointjs/js/lodash/fp/flowRight.js +5 -0
  598. package/src/assets/jointjs/js/lodash/fp/forEach.js +5 -0
  599. package/src/assets/jointjs/js/lodash/fp/forEachRight.js +5 -0
  600. package/src/assets/jointjs/js/lodash/fp/forIn.js +5 -0
  601. package/src/assets/jointjs/js/lodash/fp/forInRight.js +5 -0
  602. package/src/assets/jointjs/js/lodash/fp/forOwn.js +5 -0
  603. package/src/assets/jointjs/js/lodash/fp/forOwnRight.js +5 -0
  604. package/src/assets/jointjs/js/lodash/fp/fromPairs.js +5 -0
  605. package/src/assets/jointjs/js/lodash/fp/function.js +2 -0
  606. package/src/assets/jointjs/js/lodash/fp/functions.js +5 -0
  607. package/src/assets/jointjs/js/lodash/fp/functionsIn.js +5 -0
  608. package/src/assets/jointjs/js/lodash/fp/get.js +5 -0
  609. package/src/assets/jointjs/js/lodash/fp/getOr.js +5 -0
  610. package/src/assets/jointjs/js/lodash/fp/groupBy.js +5 -0
  611. package/src/assets/jointjs/js/lodash/fp/gt.js +5 -0
  612. package/src/assets/jointjs/js/lodash/fp/gte.js +5 -0
  613. package/src/assets/jointjs/js/lodash/fp/has.js +5 -0
  614. package/src/assets/jointjs/js/lodash/fp/hasIn.js +5 -0
  615. package/src/assets/jointjs/js/lodash/fp/head.js +5 -0
  616. package/src/assets/jointjs/js/lodash/fp/identical.js +1 -0
  617. package/src/assets/jointjs/js/lodash/fp/identity.js +5 -0
  618. package/src/assets/jointjs/js/lodash/fp/inRange.js +5 -0
  619. package/src/assets/jointjs/js/lodash/fp/includes.js +5 -0
  620. package/src/assets/jointjs/js/lodash/fp/includesFrom.js +5 -0
  621. package/src/assets/jointjs/js/lodash/fp/indexBy.js +1 -0
  622. package/src/assets/jointjs/js/lodash/fp/indexOf.js +5 -0
  623. package/src/assets/jointjs/js/lodash/fp/indexOfFrom.js +5 -0
  624. package/src/assets/jointjs/js/lodash/fp/init.js +1 -0
  625. package/src/assets/jointjs/js/lodash/fp/initial.js +5 -0
  626. package/src/assets/jointjs/js/lodash/fp/intersection.js +5 -0
  627. package/src/assets/jointjs/js/lodash/fp/intersectionBy.js +5 -0
  628. package/src/assets/jointjs/js/lodash/fp/intersectionWith.js +5 -0
  629. package/src/assets/jointjs/js/lodash/fp/invert.js +5 -0
  630. package/src/assets/jointjs/js/lodash/fp/invertBy.js +5 -0
  631. package/src/assets/jointjs/js/lodash/fp/invertObj.js +1 -0
  632. package/src/assets/jointjs/js/lodash/fp/invoke.js +5 -0
  633. package/src/assets/jointjs/js/lodash/fp/invokeArgs.js +5 -0
  634. package/src/assets/jointjs/js/lodash/fp/invokeArgsMap.js +5 -0
  635. package/src/assets/jointjs/js/lodash/fp/invokeMap.js +5 -0
  636. package/src/assets/jointjs/js/lodash/fp/isArguments.js +5 -0
  637. package/src/assets/jointjs/js/lodash/fp/isArray.js +5 -0
  638. package/src/assets/jointjs/js/lodash/fp/isArrayBuffer.js +5 -0
  639. package/src/assets/jointjs/js/lodash/fp/isArrayLike.js +5 -0
  640. package/src/assets/jointjs/js/lodash/fp/isArrayLikeObject.js +5 -0
  641. package/src/assets/jointjs/js/lodash/fp/isBoolean.js +5 -0
  642. package/src/assets/jointjs/js/lodash/fp/isBuffer.js +5 -0
  643. package/src/assets/jointjs/js/lodash/fp/isDate.js +5 -0
  644. package/src/assets/jointjs/js/lodash/fp/isElement.js +5 -0
  645. package/src/assets/jointjs/js/lodash/fp/isEmpty.js +5 -0
  646. package/src/assets/jointjs/js/lodash/fp/isEqual.js +5 -0
  647. package/src/assets/jointjs/js/lodash/fp/isEqualWith.js +5 -0
  648. package/src/assets/jointjs/js/lodash/fp/isError.js +5 -0
  649. package/src/assets/jointjs/js/lodash/fp/isFinite.js +5 -0
  650. package/src/assets/jointjs/js/lodash/fp/isFunction.js +5 -0
  651. package/src/assets/jointjs/js/lodash/fp/isInteger.js +5 -0
  652. package/src/assets/jointjs/js/lodash/fp/isLength.js +5 -0
  653. package/src/assets/jointjs/js/lodash/fp/isMap.js +5 -0
  654. package/src/assets/jointjs/js/lodash/fp/isMatch.js +5 -0
  655. package/src/assets/jointjs/js/lodash/fp/isMatchWith.js +5 -0
  656. package/src/assets/jointjs/js/lodash/fp/isNaN.js +5 -0
  657. package/src/assets/jointjs/js/lodash/fp/isNative.js +5 -0
  658. package/src/assets/jointjs/js/lodash/fp/isNil.js +5 -0
  659. package/src/assets/jointjs/js/lodash/fp/isNull.js +5 -0
  660. package/src/assets/jointjs/js/lodash/fp/isNumber.js +5 -0
  661. package/src/assets/jointjs/js/lodash/fp/isObject.js +5 -0
  662. package/src/assets/jointjs/js/lodash/fp/isObjectLike.js +5 -0
  663. package/src/assets/jointjs/js/lodash/fp/isPlainObject.js +5 -0
  664. package/src/assets/jointjs/js/lodash/fp/isRegExp.js +5 -0
  665. package/src/assets/jointjs/js/lodash/fp/isSafeInteger.js +5 -0
  666. package/src/assets/jointjs/js/lodash/fp/isSet.js +5 -0
  667. package/src/assets/jointjs/js/lodash/fp/isString.js +5 -0
  668. package/src/assets/jointjs/js/lodash/fp/isSymbol.js +5 -0
  669. package/src/assets/jointjs/js/lodash/fp/isTypedArray.js +5 -0
  670. package/src/assets/jointjs/js/lodash/fp/isUndefined.js +5 -0
  671. package/src/assets/jointjs/js/lodash/fp/isWeakMap.js +5 -0
  672. package/src/assets/jointjs/js/lodash/fp/isWeakSet.js +5 -0
  673. package/src/assets/jointjs/js/lodash/fp/iteratee.js +5 -0
  674. package/src/assets/jointjs/js/lodash/fp/join.js +5 -0
  675. package/src/assets/jointjs/js/lodash/fp/juxt.js +1 -0
  676. package/src/assets/jointjs/js/lodash/fp/kebabCase.js +5 -0
  677. package/src/assets/jointjs/js/lodash/fp/keyBy.js +5 -0
  678. package/src/assets/jointjs/js/lodash/fp/keys.js +5 -0
  679. package/src/assets/jointjs/js/lodash/fp/keysIn.js +5 -0
  680. package/src/assets/jointjs/js/lodash/fp/lang.js +2 -0
  681. package/src/assets/jointjs/js/lodash/fp/last.js +5 -0
  682. package/src/assets/jointjs/js/lodash/fp/lastIndexOf.js +5 -0
  683. package/src/assets/jointjs/js/lodash/fp/lastIndexOfFrom.js +5 -0
  684. package/src/assets/jointjs/js/lodash/fp/lowerCase.js +5 -0
  685. package/src/assets/jointjs/js/lodash/fp/lowerFirst.js +5 -0
  686. package/src/assets/jointjs/js/lodash/fp/lt.js +5 -0
  687. package/src/assets/jointjs/js/lodash/fp/lte.js +5 -0
  688. package/src/assets/jointjs/js/lodash/fp/map.js +5 -0
  689. package/src/assets/jointjs/js/lodash/fp/mapKeys.js +5 -0
  690. package/src/assets/jointjs/js/lodash/fp/mapValues.js +5 -0
  691. package/src/assets/jointjs/js/lodash/fp/matches.js +1 -0
  692. package/src/assets/jointjs/js/lodash/fp/matchesProperty.js +5 -0
  693. package/src/assets/jointjs/js/lodash/fp/math.js +2 -0
  694. package/src/assets/jointjs/js/lodash/fp/max.js +5 -0
  695. package/src/assets/jointjs/js/lodash/fp/maxBy.js +5 -0
  696. package/src/assets/jointjs/js/lodash/fp/mean.js +5 -0
  697. package/src/assets/jointjs/js/lodash/fp/meanBy.js +5 -0
  698. package/src/assets/jointjs/js/lodash/fp/memoize.js +5 -0
  699. package/src/assets/jointjs/js/lodash/fp/merge.js +5 -0
  700. package/src/assets/jointjs/js/lodash/fp/mergeAll.js +5 -0
  701. package/src/assets/jointjs/js/lodash/fp/mergeAllWith.js +5 -0
  702. package/src/assets/jointjs/js/lodash/fp/mergeWith.js +5 -0
  703. package/src/assets/jointjs/js/lodash/fp/method.js +5 -0
  704. package/src/assets/jointjs/js/lodash/fp/methodOf.js +5 -0
  705. package/src/assets/jointjs/js/lodash/fp/min.js +5 -0
  706. package/src/assets/jointjs/js/lodash/fp/minBy.js +5 -0
  707. package/src/assets/jointjs/js/lodash/fp/mixin.js +5 -0
  708. package/src/assets/jointjs/js/lodash/fp/multiply.js +5 -0
  709. package/src/assets/jointjs/js/lodash/fp/nAry.js +1 -0
  710. package/src/assets/jointjs/js/lodash/fp/negate.js +5 -0
  711. package/src/assets/jointjs/js/lodash/fp/next.js +5 -0
  712. package/src/assets/jointjs/js/lodash/fp/noop.js +5 -0
  713. package/src/assets/jointjs/js/lodash/fp/now.js +5 -0
  714. package/src/assets/jointjs/js/lodash/fp/nth.js +5 -0
  715. package/src/assets/jointjs/js/lodash/fp/nthArg.js +5 -0
  716. package/src/assets/jointjs/js/lodash/fp/number.js +2 -0
  717. package/src/assets/jointjs/js/lodash/fp/object.js +2 -0
  718. package/src/assets/jointjs/js/lodash/fp/omit.js +5 -0
  719. package/src/assets/jointjs/js/lodash/fp/omitAll.js +1 -0
  720. package/src/assets/jointjs/js/lodash/fp/omitBy.js +5 -0
  721. package/src/assets/jointjs/js/lodash/fp/once.js +5 -0
  722. package/src/assets/jointjs/js/lodash/fp/orderBy.js +5 -0
  723. package/src/assets/jointjs/js/lodash/fp/over.js +5 -0
  724. package/src/assets/jointjs/js/lodash/fp/overArgs.js +5 -0
  725. package/src/assets/jointjs/js/lodash/fp/overEvery.js +5 -0
  726. package/src/assets/jointjs/js/lodash/fp/overSome.js +5 -0
  727. package/src/assets/jointjs/js/lodash/fp/pad.js +5 -0
  728. package/src/assets/jointjs/js/lodash/fp/padChars.js +5 -0
  729. package/src/assets/jointjs/js/lodash/fp/padCharsEnd.js +5 -0
  730. package/src/assets/jointjs/js/lodash/fp/padCharsStart.js +5 -0
  731. package/src/assets/jointjs/js/lodash/fp/padEnd.js +5 -0
  732. package/src/assets/jointjs/js/lodash/fp/padStart.js +5 -0
  733. package/src/assets/jointjs/js/lodash/fp/parseInt.js +5 -0
  734. package/src/assets/jointjs/js/lodash/fp/partial.js +5 -0
  735. package/src/assets/jointjs/js/lodash/fp/partialRight.js +5 -0
  736. package/src/assets/jointjs/js/lodash/fp/partition.js +5 -0
  737. package/src/assets/jointjs/js/lodash/fp/path.js +1 -0
  738. package/src/assets/jointjs/js/lodash/fp/pathEq.js +1 -0
  739. package/src/assets/jointjs/js/lodash/fp/pathOr.js +1 -0
  740. package/src/assets/jointjs/js/lodash/fp/paths.js +1 -0
  741. package/src/assets/jointjs/js/lodash/fp/pick.js +5 -0
  742. package/src/assets/jointjs/js/lodash/fp/pickAll.js +1 -0
  743. package/src/assets/jointjs/js/lodash/fp/pickBy.js +5 -0
  744. package/src/assets/jointjs/js/lodash/fp/pipe.js +1 -0
  745. package/src/assets/jointjs/js/lodash/fp/placeholder.js +6 -0
  746. package/src/assets/jointjs/js/lodash/fp/plant.js +5 -0
  747. package/src/assets/jointjs/js/lodash/fp/pluck.js +1 -0
  748. package/src/assets/jointjs/js/lodash/fp/prop.js +1 -0
  749. package/src/assets/jointjs/js/lodash/fp/propEq.js +1 -0
  750. package/src/assets/jointjs/js/lodash/fp/propOr.js +1 -0
  751. package/src/assets/jointjs/js/lodash/fp/property.js +1 -0
  752. package/src/assets/jointjs/js/lodash/fp/propertyOf.js +5 -0
  753. package/src/assets/jointjs/js/lodash/fp/props.js +1 -0
  754. package/src/assets/jointjs/js/lodash/fp/pull.js +5 -0
  755. package/src/assets/jointjs/js/lodash/fp/pullAll.js +5 -0
  756. package/src/assets/jointjs/js/lodash/fp/pullAllBy.js +5 -0
  757. package/src/assets/jointjs/js/lodash/fp/pullAllWith.js +5 -0
  758. package/src/assets/jointjs/js/lodash/fp/pullAt.js +5 -0
  759. package/src/assets/jointjs/js/lodash/fp/random.js +5 -0
  760. package/src/assets/jointjs/js/lodash/fp/range.js +5 -0
  761. package/src/assets/jointjs/js/lodash/fp/rangeRight.js +5 -0
  762. package/src/assets/jointjs/js/lodash/fp/rangeStep.js +5 -0
  763. package/src/assets/jointjs/js/lodash/fp/rangeStepRight.js +5 -0
  764. package/src/assets/jointjs/js/lodash/fp/rearg.js +5 -0
  765. package/src/assets/jointjs/js/lodash/fp/reduce.js +5 -0
  766. package/src/assets/jointjs/js/lodash/fp/reduceRight.js +5 -0
  767. package/src/assets/jointjs/js/lodash/fp/reject.js +5 -0
  768. package/src/assets/jointjs/js/lodash/fp/remove.js +5 -0
  769. package/src/assets/jointjs/js/lodash/fp/repeat.js +5 -0
  770. package/src/assets/jointjs/js/lodash/fp/replace.js +5 -0
  771. package/src/assets/jointjs/js/lodash/fp/rest.js +5 -0
  772. package/src/assets/jointjs/js/lodash/fp/restFrom.js +5 -0
  773. package/src/assets/jointjs/js/lodash/fp/result.js +5 -0
  774. package/src/assets/jointjs/js/lodash/fp/reverse.js +5 -0
  775. package/src/assets/jointjs/js/lodash/fp/round.js +5 -0
  776. package/src/assets/jointjs/js/lodash/fp/sample.js +5 -0
  777. package/src/assets/jointjs/js/lodash/fp/sampleSize.js +5 -0
  778. package/src/assets/jointjs/js/lodash/fp/seq.js +2 -0
  779. package/src/assets/jointjs/js/lodash/fp/set.js +5 -0
  780. package/src/assets/jointjs/js/lodash/fp/setWith.js +5 -0
  781. package/src/assets/jointjs/js/lodash/fp/shuffle.js +5 -0
  782. package/src/assets/jointjs/js/lodash/fp/size.js +5 -0
  783. package/src/assets/jointjs/js/lodash/fp/slice.js +5 -0
  784. package/src/assets/jointjs/js/lodash/fp/snakeCase.js +5 -0
  785. package/src/assets/jointjs/js/lodash/fp/some.js +5 -0
  786. package/src/assets/jointjs/js/lodash/fp/sortBy.js +5 -0
  787. package/src/assets/jointjs/js/lodash/fp/sortedIndex.js +5 -0
  788. package/src/assets/jointjs/js/lodash/fp/sortedIndexBy.js +5 -0
  789. package/src/assets/jointjs/js/lodash/fp/sortedIndexOf.js +5 -0
  790. package/src/assets/jointjs/js/lodash/fp/sortedLastIndex.js +5 -0
  791. package/src/assets/jointjs/js/lodash/fp/sortedLastIndexBy.js +5 -0
  792. package/src/assets/jointjs/js/lodash/fp/sortedLastIndexOf.js +5 -0
  793. package/src/assets/jointjs/js/lodash/fp/sortedUniq.js +5 -0
  794. package/src/assets/jointjs/js/lodash/fp/sortedUniqBy.js +5 -0
  795. package/src/assets/jointjs/js/lodash/fp/split.js +5 -0
  796. package/src/assets/jointjs/js/lodash/fp/spread.js +5 -0
  797. package/src/assets/jointjs/js/lodash/fp/spreadFrom.js +5 -0
  798. package/src/assets/jointjs/js/lodash/fp/startCase.js +5 -0
  799. package/src/assets/jointjs/js/lodash/fp/startsWith.js +5 -0
  800. package/src/assets/jointjs/js/lodash/fp/string.js +2 -0
  801. package/src/assets/jointjs/js/lodash/fp/stubArray.js +5 -0
  802. package/src/assets/jointjs/js/lodash/fp/stubFalse.js +5 -0
  803. package/src/assets/jointjs/js/lodash/fp/stubObject.js +5 -0
  804. package/src/assets/jointjs/js/lodash/fp/stubString.js +5 -0
  805. package/src/assets/jointjs/js/lodash/fp/stubTrue.js +5 -0
  806. package/src/assets/jointjs/js/lodash/fp/subtract.js +5 -0
  807. package/src/assets/jointjs/js/lodash/fp/sum.js +5 -0
  808. package/src/assets/jointjs/js/lodash/fp/sumBy.js +5 -0
  809. package/src/assets/jointjs/js/lodash/fp/symmetricDifference.js +1 -0
  810. package/src/assets/jointjs/js/lodash/fp/symmetricDifferenceBy.js +1 -0
  811. package/src/assets/jointjs/js/lodash/fp/symmetricDifferenceWith.js +1 -0
  812. package/src/assets/jointjs/js/lodash/fp/tail.js +5 -0
  813. package/src/assets/jointjs/js/lodash/fp/take.js +5 -0
  814. package/src/assets/jointjs/js/lodash/fp/takeLast.js +1 -0
  815. package/src/assets/jointjs/js/lodash/fp/takeLastWhile.js +1 -0
  816. package/src/assets/jointjs/js/lodash/fp/takeRight.js +5 -0
  817. package/src/assets/jointjs/js/lodash/fp/takeRightWhile.js +5 -0
  818. package/src/assets/jointjs/js/lodash/fp/takeWhile.js +5 -0
  819. package/src/assets/jointjs/js/lodash/fp/tap.js +5 -0
  820. package/src/assets/jointjs/js/lodash/fp/template.js +5 -0
  821. package/src/assets/jointjs/js/lodash/fp/templateSettings.js +5 -0
  822. package/src/assets/jointjs/js/lodash/fp/throttle.js +5 -0
  823. package/src/assets/jointjs/js/lodash/fp/thru.js +5 -0
  824. package/src/assets/jointjs/js/lodash/fp/times.js +5 -0
  825. package/src/assets/jointjs/js/lodash/fp/toArray.js +5 -0
  826. package/src/assets/jointjs/js/lodash/fp/toFinite.js +5 -0
  827. package/src/assets/jointjs/js/lodash/fp/toInteger.js +5 -0
  828. package/src/assets/jointjs/js/lodash/fp/toIterator.js +5 -0
  829. package/src/assets/jointjs/js/lodash/fp/toJSON.js +5 -0
  830. package/src/assets/jointjs/js/lodash/fp/toLength.js +5 -0
  831. package/src/assets/jointjs/js/lodash/fp/toLower.js +5 -0
  832. package/src/assets/jointjs/js/lodash/fp/toNumber.js +5 -0
  833. package/src/assets/jointjs/js/lodash/fp/toPairs.js +5 -0
  834. package/src/assets/jointjs/js/lodash/fp/toPairsIn.js +5 -0
  835. package/src/assets/jointjs/js/lodash/fp/toPath.js +5 -0
  836. package/src/assets/jointjs/js/lodash/fp/toPlainObject.js +5 -0
  837. package/src/assets/jointjs/js/lodash/fp/toSafeInteger.js +5 -0
  838. package/src/assets/jointjs/js/lodash/fp/toString.js +5 -0
  839. package/src/assets/jointjs/js/lodash/fp/toUpper.js +5 -0
  840. package/src/assets/jointjs/js/lodash/fp/transform.js +5 -0
  841. package/src/assets/jointjs/js/lodash/fp/trim.js +5 -0
  842. package/src/assets/jointjs/js/lodash/fp/trimChars.js +5 -0
  843. package/src/assets/jointjs/js/lodash/fp/trimCharsEnd.js +5 -0
  844. package/src/assets/jointjs/js/lodash/fp/trimCharsStart.js +5 -0
  845. package/src/assets/jointjs/js/lodash/fp/trimEnd.js +5 -0
  846. package/src/assets/jointjs/js/lodash/fp/trimStart.js +5 -0
  847. package/src/assets/jointjs/js/lodash/fp/truncate.js +5 -0
  848. package/src/assets/jointjs/js/lodash/fp/unapply.js +1 -0
  849. package/src/assets/jointjs/js/lodash/fp/unary.js +5 -0
  850. package/src/assets/jointjs/js/lodash/fp/unescape.js +5 -0
  851. package/src/assets/jointjs/js/lodash/fp/union.js +5 -0
  852. package/src/assets/jointjs/js/lodash/fp/unionBy.js +5 -0
  853. package/src/assets/jointjs/js/lodash/fp/unionWith.js +5 -0
  854. package/src/assets/jointjs/js/lodash/fp/uniq.js +5 -0
  855. package/src/assets/jointjs/js/lodash/fp/uniqBy.js +5 -0
  856. package/src/assets/jointjs/js/lodash/fp/uniqWith.js +5 -0
  857. package/src/assets/jointjs/js/lodash/fp/uniqueId.js +5 -0
  858. package/src/assets/jointjs/js/lodash/fp/unnest.js +1 -0
  859. package/src/assets/jointjs/js/lodash/fp/unset.js +5 -0
  860. package/src/assets/jointjs/js/lodash/fp/unzip.js +5 -0
  861. package/src/assets/jointjs/js/lodash/fp/unzipWith.js +5 -0
  862. package/src/assets/jointjs/js/lodash/fp/update.js +5 -0
  863. package/src/assets/jointjs/js/lodash/fp/updateWith.js +5 -0
  864. package/src/assets/jointjs/js/lodash/fp/upperCase.js +5 -0
  865. package/src/assets/jointjs/js/lodash/fp/upperFirst.js +5 -0
  866. package/src/assets/jointjs/js/lodash/fp/useWith.js +1 -0
  867. package/src/assets/jointjs/js/lodash/fp/util.js +2 -0
  868. package/src/assets/jointjs/js/lodash/fp/value.js +5 -0
  869. package/src/assets/jointjs/js/lodash/fp/valueOf.js +5 -0
  870. package/src/assets/jointjs/js/lodash/fp/values.js +5 -0
  871. package/src/assets/jointjs/js/lodash/fp/valuesIn.js +5 -0
  872. package/src/assets/jointjs/js/lodash/fp/where.js +1 -0
  873. package/src/assets/jointjs/js/lodash/fp/whereEq.js +1 -0
  874. package/src/assets/jointjs/js/lodash/fp/without.js +5 -0
  875. package/src/assets/jointjs/js/lodash/fp/words.js +5 -0
  876. package/src/assets/jointjs/js/lodash/fp/wrap.js +5 -0
  877. package/src/assets/jointjs/js/lodash/fp/wrapperAt.js +5 -0
  878. package/src/assets/jointjs/js/lodash/fp/wrapperChain.js +5 -0
  879. package/src/assets/jointjs/js/lodash/fp/wrapperLodash.js +5 -0
  880. package/src/assets/jointjs/js/lodash/fp/wrapperReverse.js +5 -0
  881. package/src/assets/jointjs/js/lodash/fp/wrapperValue.js +5 -0
  882. package/src/assets/jointjs/js/lodash/fp/xor.js +5 -0
  883. package/src/assets/jointjs/js/lodash/fp/xorBy.js +5 -0
  884. package/src/assets/jointjs/js/lodash/fp/xorWith.js +5 -0
  885. package/src/assets/jointjs/js/lodash/fp/zip.js +5 -0
  886. package/src/assets/jointjs/js/lodash/fp/zipAll.js +5 -0
  887. package/src/assets/jointjs/js/lodash/fp/zipObj.js +1 -0
  888. package/src/assets/jointjs/js/lodash/fp/zipObject.js +5 -0
  889. package/src/assets/jointjs/js/lodash/fp/zipObjectDeep.js +5 -0
  890. package/src/assets/jointjs/js/lodash/fp/zipWith.js +5 -0
  891. package/src/assets/jointjs/js/lodash/fp.js +2 -0
  892. package/src/assets/jointjs/js/lodash/fromPairs.js +28 -0
  893. package/src/assets/jointjs/js/lodash/function.js +25 -0
  894. package/src/assets/jointjs/js/lodash/functions.js +31 -0
  895. package/src/assets/jointjs/js/lodash/functionsIn.js +31 -0
  896. package/src/assets/jointjs/js/lodash/get.js +33 -0
  897. package/src/assets/jointjs/js/lodash/groupBy.js +41 -0
  898. package/src/assets/jointjs/js/lodash/gt.js +29 -0
  899. package/src/assets/jointjs/js/lodash/gte.js +30 -0
  900. package/src/assets/jointjs/js/lodash/has.js +35 -0
  901. package/src/assets/jointjs/js/lodash/hasIn.js +34 -0
  902. package/src/assets/jointjs/js/lodash/head.js +23 -0
  903. package/src/assets/jointjs/js/lodash/identity.js +21 -0
  904. package/src/assets/jointjs/js/lodash/inRange.js +55 -0
  905. package/src/assets/jointjs/js/lodash/includes.js +53 -0
  906. package/src/assets/jointjs/js/lodash/index.js +1 -0
  907. package/src/assets/jointjs/js/lodash/indexOf.js +42 -0
  908. package/src/assets/jointjs/js/lodash/initial.js +22 -0
  909. package/src/assets/jointjs/js/lodash/intersection.js +30 -0
  910. package/src/assets/jointjs/js/lodash/intersectionBy.js +45 -0
  911. package/src/assets/jointjs/js/lodash/intersectionWith.js +41 -0
  912. package/src/assets/jointjs/js/lodash/invert.js +42 -0
  913. package/src/assets/jointjs/js/lodash/invertBy.js +56 -0
  914. package/src/assets/jointjs/js/lodash/invoke.js +24 -0
  915. package/src/assets/jointjs/js/lodash/invokeMap.js +41 -0
  916. package/src/assets/jointjs/js/lodash/isArguments.js +36 -0
  917. package/src/assets/jointjs/js/lodash/isArray.js +26 -0
  918. package/src/assets/jointjs/js/lodash/isArrayBuffer.js +27 -0
  919. package/src/assets/jointjs/js/lodash/isArrayLike.js +33 -0
  920. package/src/assets/jointjs/js/lodash/isArrayLikeObject.js +33 -0
  921. package/src/assets/jointjs/js/lodash/isBoolean.js +29 -0
  922. package/src/assets/jointjs/js/lodash/isBuffer.js +38 -0
  923. package/src/assets/jointjs/js/lodash/isDate.js +27 -0
  924. package/src/assets/jointjs/js/lodash/isElement.js +25 -0
  925. package/src/assets/jointjs/js/lodash/isEmpty.js +77 -0
  926. package/src/assets/jointjs/js/lodash/isEqual.js +35 -0
  927. package/src/assets/jointjs/js/lodash/isEqualWith.js +41 -0
  928. package/src/assets/jointjs/js/lodash/isError.js +36 -0
  929. package/src/assets/jointjs/js/lodash/isFinite.js +36 -0
  930. package/src/assets/jointjs/js/lodash/isFunction.js +37 -0
  931. package/src/assets/jointjs/js/lodash/isInteger.js +33 -0
  932. package/src/assets/jointjs/js/lodash/isLength.js +35 -0
  933. package/src/assets/jointjs/js/lodash/isMap.js +27 -0
  934. package/src/assets/jointjs/js/lodash/isMatch.js +36 -0
  935. package/src/assets/jointjs/js/lodash/isMatchWith.js +41 -0
  936. package/src/assets/jointjs/js/lodash/isNaN.js +38 -0
  937. package/src/assets/jointjs/js/lodash/isNative.js +40 -0
  938. package/src/assets/jointjs/js/lodash/isNil.js +25 -0
  939. package/src/assets/jointjs/js/lodash/isNull.js +22 -0
  940. package/src/assets/jointjs/js/lodash/isNumber.js +38 -0
  941. package/src/assets/jointjs/js/lodash/isObject.js +31 -0
  942. package/src/assets/jointjs/js/lodash/isObjectLike.js +29 -0
  943. package/src/assets/jointjs/js/lodash/isPlainObject.js +62 -0
  944. package/src/assets/jointjs/js/lodash/isRegExp.js +27 -0
  945. package/src/assets/jointjs/js/lodash/isSafeInteger.js +37 -0
  946. package/src/assets/jointjs/js/lodash/isSet.js +27 -0
  947. package/src/assets/jointjs/js/lodash/isString.js +30 -0
  948. package/src/assets/jointjs/js/lodash/isSymbol.js +29 -0
  949. package/src/assets/jointjs/js/lodash/isTypedArray.js +27 -0
  950. package/src/assets/jointjs/js/lodash/isUndefined.js +22 -0
  951. package/src/assets/jointjs/js/lodash/isWeakMap.js +28 -0
  952. package/src/assets/jointjs/js/lodash/isWeakSet.js +28 -0
  953. package/src/assets/jointjs/js/lodash/iteratee.js +53 -0
  954. package/src/assets/jointjs/js/lodash/join.js +26 -0
  955. package/src/assets/jointjs/js/lodash/kebabCase.js +28 -0
  956. package/src/assets/jointjs/js/lodash/keyBy.js +36 -0
  957. package/src/assets/jointjs/js/lodash/keys.js +37 -0
  958. package/src/assets/jointjs/js/lodash/keysIn.js +32 -0
  959. package/src/assets/jointjs/js/lodash/lang.js +58 -0
  960. package/src/assets/jointjs/js/lodash/last.js +20 -0
  961. package/src/assets/jointjs/js/lodash/lastIndexOf.js +46 -0
  962. package/src/assets/jointjs/js/lodash/lodash.js +17112 -0
  963. package/src/assets/jointjs/js/lodash/lodash.min.js +137 -0
  964. package/src/assets/jointjs/js/lodash/lowerCase.js +27 -0
  965. package/src/assets/jointjs/js/lodash/lowerFirst.js +22 -0
  966. package/src/assets/jointjs/js/lodash/lt.js +29 -0
  967. package/src/assets/jointjs/js/lodash/lte.js +30 -0
  968. package/src/assets/jointjs/js/lodash/map.js +53 -0
  969. package/src/assets/jointjs/js/lodash/mapKeys.js +36 -0
  970. package/src/assets/jointjs/js/lodash/mapValues.js +43 -0
  971. package/src/assets/jointjs/js/lodash/matches.js +39 -0
  972. package/src/assets/jointjs/js/lodash/matchesProperty.js +37 -0
  973. package/src/assets/jointjs/js/lodash/math.js +17 -0
  974. package/src/assets/jointjs/js/lodash/max.js +29 -0
  975. package/src/assets/jointjs/js/lodash/maxBy.js +34 -0
  976. package/src/assets/jointjs/js/lodash/mean.js +22 -0
  977. package/src/assets/jointjs/js/lodash/meanBy.js +31 -0
  978. package/src/assets/jointjs/js/lodash/memoize.js +73 -0
  979. package/src/assets/jointjs/js/lodash/merge.js +39 -0
  980. package/src/assets/jointjs/js/lodash/mergeWith.js +39 -0
  981. package/src/assets/jointjs/js/lodash/method.js +34 -0
  982. package/src/assets/jointjs/js/lodash/methodOf.js +33 -0
  983. package/src/assets/jointjs/js/lodash/min.js +29 -0
  984. package/src/assets/jointjs/js/lodash/minBy.js +34 -0
  985. package/src/assets/jointjs/js/lodash/mixin.js +74 -0
  986. package/src/assets/jointjs/js/lodash/multiply.js +22 -0
  987. package/src/assets/jointjs/js/lodash/negate.js +40 -0
  988. package/src/assets/jointjs/js/lodash/next.js +35 -0
  989. package/src/assets/jointjs/js/lodash/noop.js +17 -0
  990. package/src/assets/jointjs/js/lodash/now.js +23 -0
  991. package/src/assets/jointjs/js/lodash/nth.js +29 -0
  992. package/src/assets/jointjs/js/lodash/nthArg.js +32 -0
  993. package/src/assets/jointjs/js/lodash/number.js +5 -0
  994. package/src/assets/jointjs/js/lodash/object.js +49 -0
  995. package/src/assets/jointjs/js/lodash/omit.js +57 -0
  996. package/src/assets/jointjs/js/lodash/omitBy.js +29 -0
  997. package/src/assets/jointjs/js/lodash/once.js +25 -0
  998. package/src/assets/jointjs/js/lodash/orderBy.js +47 -0
  999. package/src/assets/jointjs/js/lodash/org.js +39 -0
  1000. package/src/assets/jointjs/js/lodash/over.js +24 -0
  1001. package/src/assets/jointjs/js/lodash/overArgs.js +61 -0
  1002. package/src/assets/jointjs/js/lodash/overEvery.js +30 -0
  1003. package/src/assets/jointjs/js/lodash/overSome.js +30 -0
  1004. package/src/assets/jointjs/js/lodash/package.json +1 -0
  1005. package/src/assets/jointjs/js/lodash/pad.js +49 -0
  1006. package/src/assets/jointjs/js/lodash/padEnd.js +39 -0
  1007. package/src/assets/jointjs/js/lodash/padStart.js +39 -0
  1008. package/src/assets/jointjs/js/lodash/parseInt.js +43 -0
  1009. package/src/assets/jointjs/js/lodash/partial.js +50 -0
  1010. package/src/assets/jointjs/js/lodash/partialRight.js +49 -0
  1011. package/src/assets/jointjs/js/lodash/partition.js +43 -0
  1012. package/src/assets/jointjs/js/lodash/pick.js +25 -0
  1013. package/src/assets/jointjs/js/lodash/pickBy.js +37 -0
  1014. package/src/assets/jointjs/js/lodash/plant.js +48 -0
  1015. package/src/assets/jointjs/js/lodash/property.js +32 -0
  1016. package/src/assets/jointjs/js/lodash/propertyOf.js +30 -0
  1017. package/src/assets/jointjs/js/lodash/pull.js +29 -0
  1018. package/src/assets/jointjs/js/lodash/pullAll.js +29 -0
  1019. package/src/assets/jointjs/js/lodash/pullAllBy.js +33 -0
  1020. package/src/assets/jointjs/js/lodash/pullAllWith.js +32 -0
  1021. package/src/assets/jointjs/js/lodash/pullAt.js +43 -0
  1022. package/src/assets/jointjs/js/lodash/random.js +82 -0
  1023. package/src/assets/jointjs/js/lodash/range.js +46 -0
  1024. package/src/assets/jointjs/js/lodash/rangeRight.js +41 -0
  1025. package/src/assets/jointjs/js/lodash/rearg.js +33 -0
  1026. package/src/assets/jointjs/js/lodash/reduce.js +51 -0
  1027. package/src/assets/jointjs/js/lodash/reduceRight.js +36 -0
  1028. package/src/assets/jointjs/js/lodash/reject.js +46 -0
  1029. package/src/assets/jointjs/js/lodash/remove.js +53 -0
  1030. package/src/assets/jointjs/js/lodash/repeat.js +37 -0
  1031. package/src/assets/jointjs/js/lodash/replace.js +29 -0
  1032. package/src/assets/jointjs/js/lodash/rest.js +40 -0
  1033. package/src/assets/jointjs/js/lodash/result.js +56 -0
  1034. package/src/assets/jointjs/js/lodash/reverse.js +34 -0
  1035. package/src/assets/jointjs/js/lodash/round.js +26 -0
  1036. package/src/assets/jointjs/js/lodash/sample.js +24 -0
  1037. package/src/assets/jointjs/js/lodash/sampleSize.js +37 -0
  1038. package/src/assets/jointjs/js/lodash/seq.js +16 -0
  1039. package/src/assets/jointjs/js/lodash/set.js +35 -0
  1040. package/src/assets/jointjs/js/lodash/setWith.js +32 -0
  1041. package/src/assets/jointjs/js/lodash/shuffle.js +25 -0
  1042. package/src/assets/jointjs/js/lodash/size.js +46 -0
  1043. package/src/assets/jointjs/js/lodash/slice.js +37 -0
  1044. package/src/assets/jointjs/js/lodash/snakeCase.js +28 -0
  1045. package/src/assets/jointjs/js/lodash/some.js +51 -0
  1046. package/src/assets/jointjs/js/lodash/sortBy.js +48 -0
  1047. package/src/assets/jointjs/js/lodash/sortedIndex.js +24 -0
  1048. package/src/assets/jointjs/js/lodash/sortedIndexBy.js +33 -0
  1049. package/src/assets/jointjs/js/lodash/sortedIndexOf.js +31 -0
  1050. package/src/assets/jointjs/js/lodash/sortedLastIndex.js +25 -0
  1051. package/src/assets/jointjs/js/lodash/sortedLastIndexBy.js +33 -0
  1052. package/src/assets/jointjs/js/lodash/sortedLastIndexOf.js +31 -0
  1053. package/src/assets/jointjs/js/lodash/sortedUniq.js +24 -0
  1054. package/src/assets/jointjs/js/lodash/sortedUniqBy.js +26 -0
  1055. package/src/assets/jointjs/js/lodash/split.js +52 -0
  1056. package/src/assets/jointjs/js/lodash/spread.js +63 -0
  1057. package/src/assets/jointjs/js/lodash/startCase.js +29 -0
  1058. package/src/assets/jointjs/js/lodash/startsWith.js +39 -0
  1059. package/src/assets/jointjs/js/lodash/string.js +33 -0
  1060. package/src/assets/jointjs/js/lodash/stubArray.js +23 -0
  1061. package/src/assets/jointjs/js/lodash/stubFalse.js +18 -0
  1062. package/src/assets/jointjs/js/lodash/stubObject.js +23 -0
  1063. package/src/assets/jointjs/js/lodash/stubString.js +18 -0
  1064. package/src/assets/jointjs/js/lodash/stubTrue.js +18 -0
  1065. package/src/assets/jointjs/js/lodash/subtract.js +22 -0
  1066. package/src/assets/jointjs/js/lodash/sum.js +24 -0
  1067. package/src/assets/jointjs/js/lodash/sumBy.js +33 -0
  1068. package/src/assets/jointjs/js/lodash/tag.js +43 -0
  1069. package/src/assets/jointjs/js/lodash/tail.js +22 -0
  1070. package/src/assets/jointjs/js/lodash/take.js +37 -0
  1071. package/src/assets/jointjs/js/lodash/takeRight.js +39 -0
  1072. package/src/assets/jointjs/js/lodash/takeRightWhile.js +45 -0
  1073. package/src/assets/jointjs/js/lodash/takeWhile.js +45 -0
  1074. package/src/assets/jointjs/js/lodash/tap.js +29 -0
  1075. package/src/assets/jointjs/js/lodash/template.js +253 -0
  1076. package/src/assets/jointjs/js/lodash/templateSettings.js +67 -0
  1077. package/src/assets/jointjs/js/lodash/throttle.js +69 -0
  1078. package/src/assets/jointjs/js/lodash/thru.js +28 -0
  1079. package/src/assets/jointjs/js/lodash/times.js +51 -0
  1080. package/src/assets/jointjs/js/lodash/toArray.js +58 -0
  1081. package/src/assets/jointjs/js/lodash/toFinite.js +42 -0
  1082. package/src/assets/jointjs/js/lodash/toInteger.js +36 -0
  1083. package/src/assets/jointjs/js/lodash/toIterator.js +23 -0
  1084. package/src/assets/jointjs/js/lodash/toJSON.js +1 -0
  1085. package/src/assets/jointjs/js/lodash/toLength.js +38 -0
  1086. package/src/assets/jointjs/js/lodash/toLower.js +28 -0
  1087. package/src/assets/jointjs/js/lodash/toNumber.js +66 -0
  1088. package/src/assets/jointjs/js/lodash/toPairs.js +30 -0
  1089. package/src/assets/jointjs/js/lodash/toPairsIn.js +30 -0
  1090. package/src/assets/jointjs/js/lodash/toPath.js +33 -0
  1091. package/src/assets/jointjs/js/lodash/toPlainObject.js +32 -0
  1092. package/src/assets/jointjs/js/lodash/toSafeInteger.js +37 -0
  1093. package/src/assets/jointjs/js/lodash/toString.js +28 -0
  1094. package/src/assets/jointjs/js/lodash/toUpper.js +28 -0
  1095. package/src/assets/jointjs/js/lodash/transform.js +65 -0
  1096. package/src/assets/jointjs/js/lodash/trim.js +49 -0
  1097. package/src/assets/jointjs/js/lodash/trimEnd.js +43 -0
  1098. package/src/assets/jointjs/js/lodash/trimStart.js +43 -0
  1099. package/src/assets/jointjs/js/lodash/truncate.js +111 -0
  1100. package/src/assets/jointjs/js/lodash/unary.js +22 -0
  1101. package/src/assets/jointjs/js/lodash/unescape.js +34 -0
  1102. package/src/assets/jointjs/js/lodash/union.js +26 -0
  1103. package/src/assets/jointjs/js/lodash/unionBy.js +39 -0
  1104. package/src/assets/jointjs/js/lodash/unionWith.js +34 -0
  1105. package/src/assets/jointjs/js/lodash/uniq.js +25 -0
  1106. package/src/assets/jointjs/js/lodash/uniqBy.js +31 -0
  1107. package/src/assets/jointjs/js/lodash/uniqWith.js +28 -0
  1108. package/src/assets/jointjs/js/lodash/uniqueId.js +28 -0
  1109. package/src/assets/jointjs/js/lodash/unset.js +34 -0
  1110. package/src/assets/jointjs/js/lodash/unzip.js +45 -0
  1111. package/src/assets/jointjs/js/lodash/unzipWith.js +39 -0
  1112. package/src/assets/jointjs/js/lodash/update.js +35 -0
  1113. package/src/assets/jointjs/js/lodash/updateWith.js +33 -0
  1114. package/src/assets/jointjs/js/lodash/upperCase.js +27 -0
  1115. package/src/assets/jointjs/js/lodash/upperFirst.js +22 -0
  1116. package/src/assets/jointjs/js/lodash/util.js +34 -0
  1117. package/src/assets/jointjs/js/lodash/value.js +1 -0
  1118. package/src/assets/jointjs/js/lodash/valueOf.js +1 -0
  1119. package/src/assets/jointjs/js/lodash/values.js +34 -0
  1120. package/src/assets/jointjs/js/lodash/valuesIn.js +32 -0
  1121. package/src/assets/jointjs/js/lodash/without.js +31 -0
  1122. package/src/assets/jointjs/js/lodash/words.js +35 -0
  1123. package/src/assets/jointjs/js/lodash/wrap.js +30 -0
  1124. package/src/assets/jointjs/js/lodash/wrapperAt.js +48 -0
  1125. package/src/assets/jointjs/js/lodash/wrapperChain.js +34 -0
  1126. package/src/assets/jointjs/js/lodash/wrapperLodash.js +147 -0
  1127. package/src/assets/jointjs/js/lodash/wrapperReverse.js +44 -0
  1128. package/src/assets/jointjs/js/lodash/wrapperValue.js +21 -0
  1129. package/src/assets/jointjs/js/lodash/xor.js +28 -0
  1130. package/src/assets/jointjs/js/lodash/xorBy.js +39 -0
  1131. package/src/assets/jointjs/js/lodash/xorWith.js +34 -0
  1132. package/src/assets/jointjs/js/lodash/zip.js +22 -0
  1133. package/src/assets/jointjs/js/lodash/zipObject.js +24 -0
  1134. package/src/assets/jointjs/js/lodash/zipObjectDeep.js +23 -0
  1135. package/src/assets/jointjs/js/lodash/zipWith.js +32 -0
  1136. package/src/assets/jointjs/js/rappid.js +65022 -0
  1137. package/src/assets/jointjs/scss/bpmn.scss +884 -0
  1138. package/src/assets/jointjs/scss/rappid.scss +8879 -0
  1139. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +2 -2
  1140. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
  1141. package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +7 -4
  1142. package/src/assets/qms-ckeditor-plugin/src/plugins/bpmn/qmsCKEditorBpmnPlugin.js +63 -0
  1143. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorConstant.js +9 -1
  1144. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorService.js +20 -0
  1145. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/converters.js +378 -0
  1146. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemap.js +14 -0
  1147. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapediting.js +183 -0
  1148. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapui.js +49 -0
  1149. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/insertimagemapcommand.js +127 -0
  1150. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/resizeimagemapcommand.js +82 -0
  1151. package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/utils.js +234 -0
  1152. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkediting.js +1 -1
  1153. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkimage.js +1 -1
  1154. package/src/assets/qms-ckeditor-plugin/src/plugins/link/ui/linkactionsview.js +1 -1
  1155. package/src/assets/qms-ckeditor-plugin/src/plugins/link/ui/linkformview.js +1 -1
  1156. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/inserttooltipcommand.js +1 -1
  1157. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipediting.js +1 -1
  1158. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/ui/actionsview.js +1 -1
  1159. package/src/assets/qms-ckeditor-plugin/src/themes/icons/bpmn.svg +20 -0
  1160. package/src/assets/qms-ckeditor-plugin/src/themes/icons/imagemap.svg +56 -0
  1161. package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/anchor.css +0 -0
  1162. package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/link.css +0 -0
  1163. package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/linkactions.css +0 -0
  1164. package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/linkform.css +0 -0
  1165. package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/linkimage.css +0 -0
  1166. package/src/assets/qms-ckeditor-plugin/src/themes/{tyles → styles}/tooltip.css +0 -0
  1167. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.scss +156 -0
  1168. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/save-template/save-template.component.scss +0 -0
  1169. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.scss +27 -0
  1170. package/src/lib/qms-ckeditor-components/styles/_modules.scss +19 -1
  1171. package/src/themes/_color.scss +8 -0
  1172. package/src/themes/core/_colors.scss +2 -0
  1173. package/src/themes/core/_side-sheet.scss +1 -0
  1174. package/src/themes/core/_tab.scss +50 -49
@@ -0,0 +1,524 @@
1
+ import { ChangeDetectorRef, Component, Inject, ViewChild, Renderer2 } from '@angular/core';
2
+ import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { TranslateLibraryService } from '../../../services/translation-registry.service';
5
+ import { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';
6
+ import { QMSCKEditorImageMap } from '../../models/qms-ckeditor-imagemap.model';
7
+ import { LinkType } from '../../common/enums/link-type.enum';
8
+ import { ProtocolTypeName } from '../../common/enums/protocol-type.enum';
9
+ import { TargetTypeName } from '../../common/enums/target-type.enum';
10
+ import { ImageModeName } from '../../common/enums/image-mode.enum';
11
+ import { DomSanitizer } from '@angular/platform-browser';
12
+ import { MatIconRegistry } from '@angular/material/icon';
13
+ import { IconSvg } from '../../common/constants/iconSvg.constants';
14
+ import { QMSCKEditorImageMapLib } from './qms-ckeditor-imagemap.lib';
15
+ import { QMSCKEditorRelation } from '../../common/models/qms-ckeditor-relation.model';
16
+ import QMSCKEditorParamter from '../../common/models/qms-ckeditor-parameter.model';
17
+ import { QMSCKEditorLinkService } from '../../services/qms-ckeditor-link.service';
18
+ import { QMSCKEditorRelatedComponent } from '../qms-ckeditor-relation/qmsckeditor-related.component';
19
+ import { LinkAttachmentComponent } from '../qms-ckeditor-link/attachments/link-attachment.component';
20
+ import { LinkAnchor } from '../../common/enums/link-anchor.enum';
21
+ import { FormControl, FormGroup, Validators } from '@angular/forms';
22
+ import { invalidURLValidator } from './qms-ckeditor-imagemap.validator';
23
+ export class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent {
24
+ constructor(renderer, cdr, dialog, translate, linkService, dialogRef, data, iconRegistry, sanitizer) {
25
+ super();
26
+ this.renderer = renderer;
27
+ this.cdr = cdr;
28
+ this.dialog = dialog;
29
+ this.translate = translate;
30
+ this.linkService = linkService;
31
+ this.dialogRef = dialogRef;
32
+ this.data = data;
33
+ this.linkTypes = [];
34
+ this.targets = [];
35
+ this.protocols = [];
36
+ this.modes = [];
37
+ this.zoomTypes = [];
38
+ this.url = '';
39
+ this.processedUrl = '';
40
+ this.selectedMode = ImageModeName.Rectangle;
41
+ this.selectedLinkType = LinkType.url;
42
+ this.selectedTarget = TargetTypeName.new;
43
+ this.selectedProtocol = ProtocolTypeName.http;
44
+ this.selectedZoom = 1.0;
45
+ this.protocolRegex = /^(http|https|ftp|news):\/\/(?=.)/i;
46
+ this.javascriptLinkRegex = /javascript\:/i;
47
+ this.documentId = 0;
48
+ //anchorTitle = '';
49
+ this.anchorText = '';
50
+ //anchorByName = '';
51
+ this.advisoryTitle = '';
52
+ this.isUrlProcessing = false;
53
+ this.naturalImageWidth = 0;
54
+ this.naturalImageHeight = 0;
55
+ this.currentAreaId = -1;
56
+ this.showImageMapInformation = false;
57
+ this.anchorDocuments = [];
58
+ //documentAnchors: IAnchor[];
59
+ this.imageListeners = [];
60
+ this.imageMapData = data;
61
+ this.naturalImageHeight = this.imageMapData.imageHeight;
62
+ this.naturalImageWidth = this.imageMapData.imageWidth;
63
+ this.initFormControl();
64
+ this.initSvgIcons(iconRegistry, sanitizer);
65
+ }
66
+ initDefaultValues() {
67
+ this.selectedLinkType = LinkType.url;
68
+ this.selectedTarget = TargetTypeName.new;
69
+ this.selectedProtocol = ProtocolTypeName.http;
70
+ this.url = '';
71
+ this.processedUrl = '';
72
+ this.advisoryTitle = '';
73
+ this.anchorText = '';
74
+ }
75
+ initSvgIcons(iconRegistry, sanitizer) {
76
+ iconRegistry.addSvgIconLiteral('vector-pointer', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_POINTER));
77
+ iconRegistry.addSvgIconLiteral('vector-circle', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_CIRCLE));
78
+ iconRegistry.addSvgIconLiteral('vector-rectangle', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_RECTANGLE));
79
+ iconRegistry.addSvgIconLiteral('vector-polygon', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_POLYGON));
80
+ iconRegistry.addSvgIconLiteral('vector-remove', sanitizer.bypassSecurityTrustHtml(IconSvg.VECTOR_REMOVE));
81
+ }
82
+ initFormControl() {
83
+ const valiationControls = {
84
+ targetList: new FormControl(),
85
+ protocolList: new FormControl(),
86
+ anchorTextList: new FormControl(),
87
+ modeList: new FormControl(),
88
+ zoomList: new FormControl(),
89
+ linkTypeList: new FormControl()
90
+ };
91
+ if (this.imageMapData.linkJavaScriptLinksAllowed == true) {
92
+ valiationControls['url'] = new FormControl('', [Validators.required]);
93
+ }
94
+ else {
95
+ valiationControls['url'] = new FormControl('', [Validators.required, invalidURLValidator(this.javascriptLinkRegex)]);
96
+ }
97
+ this.imageMapFormGroup = new FormGroup(valiationControls);
98
+ }
99
+ initLinkType() {
100
+ if (this.linkTypes) {
101
+ this.linkTypes.push({ id: LinkType.url, name: this.LANG.QMSCKEDITOR.LINK_URL });
102
+ this.linkTypes.push({
103
+ id: LinkType.anchorText,
104
+ name: this.LANG.QMSCKEDITOR.LINK_ANCHOR_IN_TEXT
105
+ });
106
+ }
107
+ }
108
+ initTarget() {
109
+ if (this.targets) {
110
+ this.targets.push({ id: TargetTypeName.new, name: this.LANG.QMSCKEDITOR.TARTGET_NEW });
111
+ this.targets.push({ id: TargetTypeName.same, name: this.LANG.QMSCKEDITOR.TARGET_SAME });
112
+ }
113
+ }
114
+ initProtocol() {
115
+ if (this.protocols) {
116
+ this.protocols.push({ id: ProtocolTypeName.http, name: this.LANG.QMSCKEDITOR.PROTOCOL_HTTP });
117
+ this.protocols.push({ id: ProtocolTypeName.https, name: this.LANG.QMSCKEDITOR.PROTOCOL_HTTPS });
118
+ this.protocols.push({ id: ProtocolTypeName.ftp, name: this.LANG.QMSCKEDITOR.PROTOCOL_FTP });
119
+ this.protocols.push({ id: ProtocolTypeName.news, name: this.LANG.QMSCKEDITOR.PROTOCOL_NEW });
120
+ this.protocols.push({ id: ProtocolTypeName.other, name: this.LANG.QMSCKEDITOR.PROTOCOL_OTHER });
121
+ }
122
+ }
123
+ initModes() {
124
+ if (this.modes) {
125
+ this.modes.push({ id: ImageModeName.Pointer, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_POINTER, icon: "vector-pointer" });
126
+ this.modes.push({ id: ImageModeName.Rectangle, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_RECTANGLE, icon: "vector-rectangle" });
127
+ this.modes.push({ id: ImageModeName.Circle, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_CIRCLE, icon: "vector-circle" });
128
+ this.modes.push({ id: ImageModeName.Polygon, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_POLYGON, icon: "vector-polygon" });
129
+ this.modes.push({ id: ImageModeName.Remove, name: this.LANG.QMSCKEDITOR.IMAGE_MODE_REMOVE, icon: "vector-remove" });
130
+ }
131
+ }
132
+ initZoomTypes() {
133
+ if (this.zoomTypes) {
134
+ this.zoomTypes.push({ id: 0.25, name: "25%" });
135
+ this.zoomTypes.push({ id: 0.5, name: "50%" });
136
+ this.zoomTypes.push({ id: 1.0, name: "100%" });
137
+ this.zoomTypes.push({ id: 2.0, name: "200%" });
138
+ this.zoomTypes.push({ id: 3.0, name: "300%" });
139
+ }
140
+ }
141
+ initAnchor() {
142
+ this.anchors = [];
143
+ this.anchors = [{ value: 0, viewValue: '', anchorValue: LinkAnchor.Blank }];
144
+ }
145
+ ngOnInit() {
146
+ this.translate.getLanguageSubject$.pipe(takeUntil(this.ngUnsubcribe)).subscribe((res) => {
147
+ if (res) {
148
+ this.LANG = this.translate.getObjectLang(res);
149
+ }
150
+ });
151
+ this.initLinkType();
152
+ this.initTarget();
153
+ this.initProtocol();
154
+ this.initModes();
155
+ this.initZoomTypes();
156
+ }
157
+ ngOnDestroy() {
158
+ super.ngOnDestroy();
159
+ if (this.imageListeners && this.imageListeners.length > 0) {
160
+ this.imageListeners.forEach(listener => {
161
+ listener();
162
+ });
163
+ }
164
+ }
165
+ onImageLoad() {
166
+ this.naturalImageHeight = this.naturalImageHeight != 0 ? this.naturalImageHeight : this.myImageRef.nativeElement.naturalHeight;
167
+ this.naturalImageWidth = this.naturalImageWidth != 0 ? this.naturalImageWidth : this.myImageRef.nativeElement.naturalWidth;
168
+ this.setImageSize();
169
+ this.myImageMap.setMapJson({
170
+ name: this.imageMapData.name,
171
+ areas: this.imageMapData.areas
172
+ });
173
+ if (this.imageMapData.areas && this.imageMapData.areas.length > 0) {
174
+ this.myImageMap.blurArea(this.myImageMap.currentid);
175
+ this.myImageMap.currentid = 0;
176
+ this.myImageMap.selectedId = 0;
177
+ this.onSelectArea(this.myImageMap.areas[0]);
178
+ this.myImageMap.highlightArea(0);
179
+ }
180
+ }
181
+ ngAfterViewInit() {
182
+ if (this.myImageRef) {
183
+ this.imageListeners.push(this.renderer.listen(this.myImageRef.nativeElement, 'load', () => {
184
+ this.onImageLoad();
185
+ }));
186
+ }
187
+ // Avoid drag&drop of the image
188
+ this.myImageMap = new QMSCKEditorImageMapLib({
189
+ custom_callbacks: {
190
+ "onAddArea": this.onAddArea.bind(this),
191
+ 'onSelectArea': this.onSelectArea.bind(this),
192
+ 'onRemoveArea': this.onRemoveArea.bind(this),
193
+ 'onStatusMessage': this.onStatusMessage.bind(this)
194
+ },
195
+ imageElement: this.myImageRef.nativeElement,
196
+ bounding_box: false,
197
+ CL_DRAW_SHAPE: '#F00',
198
+ CL_NORM_SHAPE: '#AAA',
199
+ CL_HIGHLIGHT_SHAPE: '#F00',
200
+ strings: {
201
+ "POLYGON_DRAW": this.LANG.QMSCKEDITOR.POLYGON_DRAW,
202
+ "RECTANGLE_DRAW": this.LANG.QMSCKEDITOR.RECTANGLE_DRAW,
203
+ "SQUARE_DRAW": this.LANG.QMSCKEDITOR.SQUARE_DRAW,
204
+ 'READY': '',
205
+ 'RECTANGLE_MOVE': '',
206
+ 'RECTANGLE_RESIZE_TOP': '',
207
+ 'RECTANGLE_RESIZE_RIGHT': '',
208
+ 'RECTANGLE_RESIZE_BOTTOM': '',
209
+ 'RECTANGLE_RESIZE_LEFT': '',
210
+ 'SQUARE_MOVE': '',
211
+ 'SQUARE_RESIZE_TOP': '',
212
+ 'SQUARE_RESIZE_RIGHT': '',
213
+ 'SQUARE_RESIZE_BOTTOM': '',
214
+ 'SQUARE_RESIZE_LEFT': '',
215
+ 'POLYGON_MOVE': ''
216
+ }
217
+ });
218
+ }
219
+ parseLinkUrl(url, defaultProtocolName) {
220
+ const protocol = this.protocolRegex.exec(url);
221
+ if (protocol) {
222
+ this.processedUrl = url.substr(protocol[0].length);
223
+ this.url = this.processedUrl;
224
+ this.selectedProtocol = protocol[0].toLowerCase();
225
+ }
226
+ else if (this.javascriptLinkRegex.test(url) && !this.imageMapData.linkJavaScriptLinksAllowed) {
227
+ this.selectedProtocol = ProtocolTypeName.http;
228
+ this.processedUrl = '';
229
+ this.url = this.processedUrl;
230
+ }
231
+ else {
232
+ this.processedUrl = url;
233
+ this.url = this.processedUrl;
234
+ if (!!this.selectedProtocol) {
235
+ this.selectedProtocol = defaultProtocolName || ProtocolTypeName.http;
236
+ }
237
+ }
238
+ }
239
+ onSelectArea(area) {
240
+ this.currentAreaId = area.aid;
241
+ this.showImageMapInformation = true;
242
+ if (this.selectedMode == ImageModeName.Remove) {
243
+ this.myImageMap.removeArea(this.currentAreaId);
244
+ }
245
+ else {
246
+ if (area.ahref.match(/^#(.*)$/)) {
247
+ this.anchorText = area.ahref.slice(1);
248
+ this.selectedLinkType = LinkType.anchorText;
249
+ }
250
+ else {
251
+ this.selectedLinkType = LinkType.url;
252
+ this.parseLinkUrl(area.ahref);
253
+ }
254
+ this.selectedTarget = area.atarget;
255
+ this.advisoryTitle = area.aalt;
256
+ this.cdr.detectChanges();
257
+ }
258
+ }
259
+ onRemoveArea() {
260
+ this.currentAreaId = -1;
261
+ this.showImageMapInformation = false;
262
+ }
263
+ removeMap() {
264
+ this.currentAreaId = -1;
265
+ this.showImageMapInformation = false;
266
+ this.myImageMap.removeAllAreas();
267
+ }
268
+ onStatusMessage(text) {
269
+ if (this.myStatusRef) {
270
+ this.myStatusRef.nativeElement.innerHTML = text || '';
271
+ }
272
+ }
273
+ onUrlKeyup() {
274
+ this.isUrlProcessing = true;
275
+ if (this.url != this.processedUrl) {
276
+ this.parseLinkUrl(this.url);
277
+ this.updateAreaValues();
278
+ }
279
+ this.isUrlProcessing = false;
280
+ }
281
+ onUrlChange() {
282
+ if (!this.isUrlProcessing) {
283
+ this.onUrlKeyup();
284
+ }
285
+ }
286
+ onAnchorTextChange() {
287
+ this.updateAreaValues();
288
+ }
289
+ onProtocolChange() {
290
+ this.updateAreaValues();
291
+ }
292
+ onTargetChange() {
293
+ this.updateAreaValues();
294
+ }
295
+ onAddArea(id) {
296
+ this.currentAreaId = id;
297
+ this.showImageMapInformation = true;
298
+ this.initDefaultValues();
299
+ this.updateAreaValues();
300
+ }
301
+ updateAreaValues() {
302
+ if (this.currentAreaId > -1) {
303
+ var ahref = this.buildUrlWithProtocol();
304
+ if (this.selectedLinkType == LinkType.anchorText) {
305
+ this.myImageMap.areas[this.currentAreaId].atarget = TargetTypeName.same;
306
+ this.myImageMap.areas[this.currentAreaId].aalt = this.anchorText;
307
+ }
308
+ else {
309
+ this.myImageMap.areas[this.currentAreaId].atarget = this.selectedTarget || TargetTypeName.new;
310
+ this.myImageMap.areas[this.currentAreaId].aalt = this.advisoryTitle;
311
+ }
312
+ this.myImageMap.areas[this.currentAreaId].ahref = ahref;
313
+ }
314
+ }
315
+ buildUrlWithProtocol() {
316
+ if (this.selectedLinkType == LinkType.anchorText) {
317
+ return '#' + (this.anchorText || '');
318
+ }
319
+ if (!!this.processedUrl) {
320
+ return this.selectedProtocol + this.processedUrl;
321
+ }
322
+ return '';
323
+ }
324
+ ngAfterViewChecked() {
325
+ this.cdr.detectChanges();
326
+ }
327
+ onCloseDialog() {
328
+ this.dialogRef.close();
329
+ }
330
+ onModeChange(e) {
331
+ this.selectedMode = e.value;
332
+ if (this.selectedMode == ImageModeName.Pointer || this.selectedMode == ImageModeName.Remove) {
333
+ this.myImageMap.is_drawing = 0;
334
+ this.myImageMap.nextShape = '';
335
+ this.myImageRef.nativeElement.style.cursor = 'default';
336
+ }
337
+ else {
338
+ this.myImageMap.nextShape = this.selectedMode;
339
+ this.myImageRef.nativeElement.style.cursor = 'crosshair';
340
+ }
341
+ }
342
+ onZoomChange() {
343
+ this.setImageSize();
344
+ if (this.myImageMap) {
345
+ this.myImageMap.scaleAllAreas(this.selectedZoom);
346
+ }
347
+ }
348
+ onLinkTypeChange() {
349
+ if (this.selectedLinkType === LinkType.anchorText) {
350
+ this.getEditorAnchor();
351
+ }
352
+ this.updateAreaValues();
353
+ }
354
+ getEditorAnchor() {
355
+ this.anchorDocuments = [];
356
+ if (this.imageMapData.editorContent) {
357
+ this.anchorDocuments.push({
358
+ id: 0,
359
+ entityId: 0,
360
+ documentId: 0,
361
+ documentTypeId: 0,
362
+ richText: this.imageMapData.editorContent
363
+ });
364
+ }
365
+ this.setAnchorDocument(this.anchorDocuments);
366
+ this.editorAnchors = this.anchors;
367
+ }
368
+ setImageSize() {
369
+ if (this.myImageRef) {
370
+ const width = this.naturalImageWidth * this.selectedZoom;
371
+ const height = this.naturalImageHeight * this.selectedZoom;
372
+ this.myImageRef.nativeElement.setAttribute("width", `${width}px;`);
373
+ this.myImageRef.nativeElement.setAttribute("height", `${height}px;`);
374
+ this.myImageRef.nativeElement.style.width = `${width}px`;
375
+ this.myImageRef.nativeElement.style.height = `${height}px`;
376
+ this.myImageRef.nativeElement.style.cursor = this.selectedMode == ImageModeName.Pointer || this.selectedMode == ImageModeName.Remove ? 'default' : 'crosshair';
377
+ }
378
+ }
379
+ eHandbook(isOnlyDocument, isAnchorDocument) {
380
+ const data = new QMSCKEditorRelation();
381
+ data.isOnlyDocument = isOnlyDocument;
382
+ data.isEnableFolder = !isOnlyDocument;
383
+ const dialogTemplate = this.dialog.open(QMSCKEditorRelatedComponent, {
384
+ width: '650px',
385
+ height: '650px',
386
+ data,
387
+ disableClose: true
388
+ });
389
+ dialogTemplate
390
+ .afterClosed()
391
+ .pipe(takeUntil(this.ngUnsubcribe))
392
+ .subscribe((result) => {
393
+ if (result) {
394
+ if (isAnchorDocument) {
395
+ this.documentId = result.id;
396
+ //this.anchorTitle = `${result.title}(${result.id})`;
397
+ this.getAnchorDocument(result.id);
398
+ }
399
+ else {
400
+ this.parseLinkUrl(result.url);
401
+ this.selectedProtocol = ProtocolTypeName.other;
402
+ if (!this.advisoryTitle) {
403
+ this.advisoryTitle = result.title;
404
+ }
405
+ }
406
+ this.updateAreaValues();
407
+ }
408
+ });
409
+ }
410
+ getAnchorDocument(documentId) {
411
+ this.linkService
412
+ .getAnchorDocumentList(documentId)
413
+ .pipe(takeUntil(this.ngUnsubcribe))
414
+ .subscribe((res) => {
415
+ if (res) {
416
+ this.anchorDocuments = res;
417
+ this.setAnchorDocument(this.anchorDocuments);
418
+ //this.documentAnchors = this.anchors;
419
+ }
420
+ else {
421
+ this.anchorDocuments = [];
422
+ this.setAnchorDocument(this.anchorDocuments);
423
+ //this.documentAnchors = this.anchors;
424
+ }
425
+ });
426
+ }
427
+ setAnchorDocument(anchorDocument) {
428
+ this.initAnchor();
429
+ let id = 3;
430
+ if (anchorDocument) {
431
+ anchorDocument.forEach((e) => {
432
+ const div = document.createElement('div');
433
+ div.innerHTML = e.richText;
434
+ const domContent = div;
435
+ const aTags = domContent.getElementsByTagName('a');
436
+ if (aTags) {
437
+ // tslint:disable-next-line:prefer-for-of
438
+ for (let i = 0; i < aTags.length; i++) {
439
+ const tag = aTags[i];
440
+ if (tag.name) {
441
+ const index = this.anchors.findIndex((x) => {
442
+ return x.anchorValue === tag.name;
443
+ });
444
+ if (index < 0) {
445
+ this.anchors.push({
446
+ value: id,
447
+ viewValue: tag.name,
448
+ anchorValue: tag.name
449
+ });
450
+ id += 1;
451
+ }
452
+ }
453
+ }
454
+ }
455
+ });
456
+ }
457
+ // this.anchors.push({
458
+ // value: 1,
459
+ // viewValue: this.LANG.QMSCKEDITOR.ANCHOR_ATTACHMENT,
460
+ // anchorValue: LinkAnchor.Attachment
461
+ // });
462
+ // this.anchors.push({
463
+ // value: 2,
464
+ // viewValue: this.LANG.QMSCKEDITOR.ANCHOR_RELATED_DOCUMENT,
465
+ // anchorValue: LinkAnchor.Related
466
+ // });
467
+ }
468
+ attachment() {
469
+ const data = new QMSCKEditorParamter();
470
+ data.module = this.imageMapData.module;
471
+ data.entityId = this.imageMapData.entityId;
472
+ const dialogTemplate = this.dialog.open(LinkAttachmentComponent, {
473
+ width: '650px',
474
+ height: '650px',
475
+ data,
476
+ disableClose: true
477
+ });
478
+ dialogTemplate
479
+ .afterClosed()
480
+ .pipe(takeUntil(this.ngUnsubcribe))
481
+ .subscribe((result) => {
482
+ if (result) {
483
+ this.parseLinkUrl(result.url);
484
+ this.selectedProtocol = ProtocolTypeName.other;
485
+ if (!this.advisoryTitle) {
486
+ this.advisoryTitle = result.title;
487
+ }
488
+ this.updateAreaValues();
489
+ }
490
+ });
491
+ }
492
+ save() {
493
+ const data = this.myImageMap.getMapJson();
494
+ data.imageHeight = this.naturalImageHeight;
495
+ data.imageWidth = this.naturalImageWidth;
496
+ this.dialogRef.close(data);
497
+ }
498
+ cancel() {
499
+ this.dialogRef.close();
500
+ }
501
+ }
502
+ QMSCKEditorImageMapComponent.decorators = [
503
+ { type: Component, args: [{
504
+ selector: 'app-qmsck-imagemap',
505
+ template: "<div id=\"qmsckeditor-imagemap\" class=\"qmsckeditor qmsckeditor__imagemap__container\">\r\n <div id=\"qmsckeditor-imagemap-header\">\r\n <span id=\"qmsckeditor-imagemap-header_001\" mat-icon-button class=\"qmsckeditor button__close\"\r\n (click)=\"onCloseDialog()\">\r\n <mat-icon>close</mat-icon>\r\n </span>\r\n <div id=\"qmsckeditor-imagemap-header_002\" mat-dialog-content>\r\n <h2 id=\"qmsckeditor-imagemap_002_001\">\r\n {{ LANG.QMSCKEDITOR.IMAGE_MAP_PROPERTIES }}\r\n </h2>\r\n </div>\r\n </div>\r\n <div id=\"qmsckeditor-imagemap-content\">\r\n <div id=\"qmsckeditor-imagemap-content_001\" class=\"col-12 mt-1 pl-2 pr-2\">\r\n <mat-expansion-panel id=\"qmsckeditor-imagemap-panel\" [expanded]=\"true\" (opened)=\"(true)\" (closed)=\"(false)\">\r\n <div id=\"qmsckeditor-imagemap-panel_001\">\r\n <div id=\"qmsckeditor-imagemap-panel_001_001\" class=\"qmsckeditor__imagemap__information\">\r\n <form [formGroup]=\"imageMapFormGroup\">\r\n <div class=\"row\">\r\n <div class=\"col-9\">\r\n <mat-button-toggle-group [(ngModel)]=\"selectedMode\" formControlName=\"modeList\"\r\n (change)=\"onModeChange($event)\">\r\n <mat-button-toggle *ngFor=\"let mode of modes\" [value]=\"mode.id\"\r\n [matTooltip]=\"mode.name\">\r\n <mat-icon color=\"red\" [svgIcon]=\"mode.icon\" aria-hidden=\"true\">\r\n </mat-icon>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n <span style=\"margin-left: 15px;\" #myStatus></span>\r\n </div>\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ZOOM }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedZoom\" formControlName=\"zoomList\"\r\n (ngModelChange)=\"onZoomChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let zoomType of zoomTypes\" [value]=\"zoomType.id\">\r\n {{ zoomType.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{'hidden': !showImageMapInformation}\">\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.LINK_TYPE }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedLinkType\" formControlName=\"linkTypeList\"\r\n (ngModelChange)=\"onLinkTypeChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let link of linkTypes\" [value]=\"link.id\">\r\n {{ link.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-3\" *ngIf=\"selectedLinkType === 0\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.TARGET }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedTarget\" formControlName=\"targetList\"\r\n (ngModelChange)=\"onTargetChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let target of targets\" [value]=\"target.id\">\r\n {{ target.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{'hidden': !showImageMapInformation}\"\r\n *ngIf=\"selectedLinkType === 1\">\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.ANCHOR_BY_NAME }}</mat-label>\r\n <mat-select [(ngModel)]=\"anchorText\" formControlName=\"anchorTextList\"\r\n (ngModelChange)=\"onAnchorTextChange()\">\r\n <mat-option *ngFor=\"let editorAnchor of editorAnchors\"\r\n [value]=\"editorAnchor.anchorValue\" disableOptionCentering>\r\n {{ editorAnchor.viewValue }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"row\" [ngClass]=\"{'hidden': !showImageMapInformation}\"\r\n *ngIf=\"selectedLinkType === 0\">\r\n <div class=\"col-3\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.PROTOCOL }}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedProtocol\" formControlName=\"protocolList\"\r\n (ngModelChange)=\"onProtocolChange()\" disableOptionCentering>\r\n <mat-option *ngFor=\"let protocol of protocols\" [value]=\"protocol.id\">\r\n {{ protocol.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-5\">\r\n <mat-form-field appearance=\"fill\" class=\"col-12 pl-3 pr-3 pb-1\">\r\n <mat-label>{{ LANG.QMSCKEDITOR.LINK_URL }}</mat-label>\r\n <input matInput [(ngModel)]=\"url\" name=\"url\" formControlName=\"url\"\r\n (ngModelChange)=\"onUrlChange()\" (keyup)=\"onUrlKeyup()\" />\r\n <mat-error *ngIf=\"imageMapFormGroup.get('url').hasError('required')\">{{\r\n LANG.QMSCKEDITOR.REQUIRED_URL }}\r\n </mat-error>\r\n <mat-error *ngIf=\"imageMapFormGroup.get('url').hasError('invalidURL')\">{{\r\n LANG.QMSCKEDITOR.INVALID_URL }}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"col-4\">\r\n <div class=\"row button__groups\">\r\n <div class=\"col-6\">\r\n <button class=\"save\" mat-stroked-button (click)=\"attachment()\">\r\n {{ LANG.QMSCKEDITOR.ATTACHMENT }}\r\n </button>\r\n </div>\r\n <div class=\"col-6\">\r\n <button class=\"save\" mat-stroked-button (click)=\"eHandbook(false, false)\">\r\n {{ LANG.QMSCKEDITOR.HANDBOOK }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n <div id=\"qmsckeditor-imagemap-panel_001_002\" class=\"qmsckeditor__imagemap__map\">\r\n <img #myImage [src]=\"imageMapData.imageUrl\">\r\n </div>\r\n <div id=\"qmsckeditor-imagemap-panel_001_003\" class=\"qmsckeditor button__groups row mr-0 ml-0 mt-4\">\r\n <div class=\"col-4 pr-0\">\r\n <button class=\"save\" mat-flat-button (click)=\"removeMap()\">\r\n {{ LANG.QMSCKEDITOR.REMOVE_MAP }}\r\n </button>\r\n </div>\r\n <div class=\"col-4 pr-0\">\r\n <button class=\"save\" mat-flat-button (click)=\"save()\">\r\n {{ LANG.QMSCKEDITOR.SAVE }}\r\n </button>\r\n </div>\r\n <div class=\"col-4 pl-0\">\r\n <button class=\"cancel\" mat-flat-button (click)=\"cancel()\">\r\n {{ LANG.QMSCKEDITOR.CANCEL }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </div>\r\n </div>\r\n</div>",
506
+ styles: [".mt5{margin-top:5px!important}.mt10{margin-top:10px!important}.mt7{margin-top:7px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt30{margin-top:30px!important}.mt40{margin-top:40px!important}.ml2{margin-left:2px!important}.ml3{margin-left:3px!important}.ml5{margin-left:5px!important}.ml15{margin-left:15px!important}.ml10{margin-left:10px!important}.ml12{margin-left:12px!important}.ml16{margin-left:16px!important}.ml-auto{margin-left:auto!important}.ml-25{margin-left:-25px!important}.mr5{margin-right:5px!important}.mr12{margin-right:12px!important}.mr15{margin-right:15px!important}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.pt8{padding-top:8px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt16{padding-top:16px!important}.pl15{padding-left:15px!important}.pl0{padding-left:0!important}.pr0{padding-right:0!important}.pr15{padding-right:15px!important}.fs12{font-size:12px}.fs14{font-size:14px!important}.fs16{font-size:16px!important}.fs22{font-size:22px!important}.fw500{font-weight:500!important}.italic-text{font-style:italic}.display-flex{display:flex}.qmsckeditor{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.qmsckeditor h2{font-size:20px;font-weight:400}.qmsckeditor .mat-dialog-content{padding:0}.qmsckeditor .mat-icon{color:#909497}.qmsckeditor__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;max-height:100vh;overflow-x:hidden}.qmsckeditor__cursor{cursor:pointer}.qmsckeditor__notallowed{cursor:not-allowed}.qmsckeditor.button__close,.qmsckeditor.button__done{float:right;top:-24px;right:-24px;cursor:pointer}.qmsckeditor.button__done{margin-right:20px}.qmsckeditor.button__done .mat-icon{color:#28a745;font-weight:700}.qmsckeditor.button__groups button{min-height:40px;width:100%;border-radius:4px;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px}.qmsckeditor.button__groups .save{background:#f8f9f9}.qmsckeditor.button__groups .save:hover{background:#e5e7e9}.qmsckeditor.button__groups .save:disabled{cursor:not-allowed}.qmsckeditor.button__groups .cancel{background:#f8f9f9}.qmsckeditor.button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.button__groups .cancel:disabled{cursor:not-allowed}.qmsckeditor.button__groups .delete{background:#f8f9f9}.qmsckeditor.button__groups .delete:hover{background:#e5e7e9}.qmsckeditor.button__groups .delete:disabled{cursor:not-allowed}.qmsckeditor.confirm__button__groups button{min-height:36px;border-radius:4px;width:auto;border:1px solid #c5c5c5;font-family:Open Sans;font-weight:600;font-size:14px;letter-spacing:1px;line-height:16px;padding-left:15px;padding-right:15px}.qmsckeditor.confirm__button__groups .confirm{background:#f8f9f9}.qmsckeditor.confirm__button__groups .confirm:hover{background:#e5e7e9}.qmsckeditor.confirm__button__groups .cancel{background:#f8f9f9}.qmsckeditor.confirm__button__groups .cancel:hover{background:#e5e7e9}.qmsckeditor.template-content.height{min-height:420px;max-height:520px;overflow:auto}.qmsckeditor.template-content.title{margin-left:-9px}.qmsckeditor.link__content.height{min-height:400px;max-height:520px}.qmsckeditor.card{margin-bottom:10px;min-height:60px;box-shadow:none;border:1px solid #e5e5e5}.qmsckeditor.card .title{font-weight:700}.qmsckeditor.card .content{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.qmsckeditor.card .material-icons{font-size:20px}.qmsckeditor.tooltip-content.height{min-height:400px;max-height:470px;overflow:auto}.qmsckeditor.save__as__template.height{height:125px}.ck-content .page-break,.qmsckeditor__imagemap__container .mat-form-field{width:100%}.qmsckeditor__imagemap__container .qmsckeditor__imagemap__information{position:relative}.qmsckeditor__imagemap__container .qmsckeditor__imagemap__map{overflow:auto;width:800px;min-height:371px;position:relative;max-height:460px}.qmsckeditor__imagemap__container .mat-button-toggle-checked{border:1px solid #000!important}.qmsckeditor__imagemap__container .hidden{visibility:hidden}"]
507
+ },] }
508
+ ];
509
+ QMSCKEditorImageMapComponent.ctorParameters = () => [
510
+ { type: Renderer2 },
511
+ { type: ChangeDetectorRef },
512
+ { type: MatDialog },
513
+ { type: TranslateLibraryService },
514
+ { type: QMSCKEditorLinkService },
515
+ { type: MatDialogRef },
516
+ { type: QMSCKEditorImageMap, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
517
+ { type: MatIconRegistry },
518
+ { type: DomSanitizer }
519
+ ];
520
+ QMSCKEditorImageMapComponent.propDecorators = {
521
+ myImageRef: [{ type: ViewChild, args: ['myImage',] }],
522
+ myStatusRef: [{ type: ViewChild, args: ['myStatus',] }]
523
+ };
524
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLWltYWdlbWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItaW1hZ2VtYXAvcW1zLWNrZWRpdG9yLWltYWdlbWFwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLGlCQUFpQixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQVUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFz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Q0FBQyxrQkFBa0IsQ0FBQztRQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7O1lBL2hCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsczZVQUFxRDs7YUFFeEQ7OztZQTVEK0YsU0FBUztZQUE5RSxpQkFBaUI7WUFDbkMsU0FBUztZQUVULHVCQUF1QjtZQWF2QixzQkFBc0I7WUFmWCxZQUFZO1lBSXZCLG1CQUFtQix1QkE2R25CLE1BQU0sU0FBQyxlQUFlO1lBdkd0QixlQUFlO1lBRGYsWUFBWTs7O3lCQTJGaEIsU0FBUyxTQUFDLFNBQVM7MEJBR25CLFNBQVMsU0FBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBPbkluaXQsIFZpZXdDaGlsZCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRpb24tcmVnaXN0cnkuc2VydmljZSc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3Ftcy1ja2VkaXRvci1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9ySW1hZ2VNYXAgfSBmcm9tICcuLi8uLi9tb2RlbHMvcW1zLWNrZWRpdG9yLWltYWdlbWFwLm1vZGVsJztcclxuaW1wb3J0IHsgTGlua1R5cGUgfSBmcm9tICcuLi8uLi9jb21tb24vZW51bXMvbGluay10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBQcm90b2NvbFR5cGVOYW1lIH0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW1zL3Byb3RvY29sLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFRhcmdldFR5cGVOYW1lIH0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW1zL3RhcmdldC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBJbWFnZU1vZGVOYW1lIH0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW1zL2ltYWdlLW1vZGUuZW51bSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgSWNvblN2ZyB9IGZyb20gJy4uLy4uL2NvbW1vbi9jb25zdGFudHMvaWNvblN2Zy5jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckltYWdlTWFwTGliIH0gZnJvbSAnLi9xbXMtY2tlZGl0b3ItaW1hZ2VtYXAubGliJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JSZWxhdGlvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLXJlbGF0aW9uLm1vZGVsJztcclxuaW1wb3J0IFFNU0NLRWRpdG9yUGFyYW10ZXIgZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItcGFyYW1ldGVyLm1vZGVsJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JMaW5rU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Ftcy1ja2VkaXRvci1saW5rLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvclJlbGF0ZWRDb21wb25lbnQgfSBmcm9tICcuLi9xbXMtY2tlZGl0b3ItcmVsYXRpb24vcW1zY2tlZGl0b3ItcmVsYXRlZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaW5rQXR0YWNobWVudENvbXBvbmVudCB9IGZyb20gJy4uL3Ftcy1ja2VkaXRvci1saW5rL2F0dGFjaG1lbnRzL2xpbmstYXR0YWNobWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckxpbmtBbmNob3JEb2N1bWVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLWxpbmstYW5jaG9yLWRvY3VtZW50Lm1vZGVsJztcclxuaW1wb3J0IHsgTGlua0FuY2hvciB9IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtcy9saW5rLWFuY2hvci5lbnVtJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgaW52YWxpZFVSTFZhbGlkYXRvciB9IGZyb20gJy4vcW1zLWNrZWRpdG9yLWltYWdlbWFwLnZhbGlkYXRvcic7XHJcblxyXG5pbnRlcmZhY2UgSUxpbmtUeXBlIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbmludGVyZmFjZSBJVGFyZ2V0IHtcclxuICAgIGlkOiBUYXJnZXRUeXBlTmFtZTtcclxuICAgIG5hbWU6IHN0cmluZztcclxufVxyXG5cclxuaW50ZXJmYWNlIElQcm90b2NvbCB7XHJcbiAgICBpZDogUHJvdG9jb2xUeXBlTmFtZTtcclxuICAgIG5hbWU6IHN0cmluZztcclxufVxyXG5cclxuaW50ZXJmYWNlIElNb2RlIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBpY29uOiBzdHJpbmc7XHJcbn1cclxuXHJcbmludGVyZmFjZSBJWm9vbVR5cGUge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIG5hbWU6IHN0cmluZztcclxufVxyXG5cclxuaW50ZXJmYWNlIElBbmNob3Ige1xyXG4gICAgdmFsdWU6IG51bWJlcjtcclxuICAgIHZpZXdWYWx1ZTogc3RyaW5nO1xyXG4gICAgYW5jaG9yVmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1xbXNjay1pbWFnZW1hcCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcW1zLWNrZWRpdG9yLWltYWdlbWFwLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3Ftcy1ja2VkaXRvci1pbWFnZW1hcC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRTVNDS0VkaXRvckltYWdlTWFwQ29tcG9uZW50IGV4dGVuZHMgUU1TQ0tFZGl0b3JCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdDaGVja2VkIHtcclxuICAgIExBTkc6IGFueTtcclxuICAgIGltYWdlTWFwRm9ybUdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgICBpbWFnZU1hcERhdGE6IFFNU0NLRWRpdG9ySW1hZ2VNYXA7XHJcbiAgICBsaW5rVHlwZXM6IElMaW5rVHlwZVtdID0gW107XHJcbiAgICB0YXJnZXRzOiBJVGFyZ2V0W10gPSBbXTtcclxuICAgIHByb3RvY29sczogSVByb3RvY29sW10gPSBbXTtcclxuICAgIG1vZGVzOiBJTW9kZVtdID0gW107XHJcbiAgICB6b29tVHlwZXM6IElab29tVHlwZVtdID0gW107XHJcbiAgICB1cmwgPSAnJztcclxuICAgIHByb2Nlc3NlZFVybCA9ICcnO1xyXG4gICAgc2VsZWN0ZWRNb2RlOiBJbWFnZU1vZGVOYW1lID0gSW1hZ2VNb2RlTmFtZS5SZWN0YW5nbGU7XHJcbiAgICBzZWxlY3RlZExpbmtUeXBlOiBMaW5rVHlwZSA9IExpbmtUeXBlLnVybDtcclxuICAgIHNlbGVjdGVkVGFyZ2V0OiBUYXJnZXRUeXBlTmFtZSA9IFRhcmdldFR5cGVOYW1lLm5ldztcclxuICAgIHNlbGVjdGVkUHJvdG9jb2w6IFByb3RvY29sVHlwZU5hbWUgfCBzdHJpbmcgPSBQcm90b2NvbFR5cGVOYW1lLmh0dHA7XHJcbiAgICBzZWxlY3RlZFpvb20gPSAxLjA7XHJcblxyXG4gICAgcHJvdG9jb2xSZWdleDogUmVnRXhwID0gL14oaHR0cHxodHRwc3xmdHB8bmV3cyk6XFwvXFwvKD89LikvaTtcclxuICAgIGphdmFzY3JpcHRMaW5rUmVnZXg6IFJlZ0V4cCA9IC9qYXZhc2NyaXB0XFw6L2k7XHJcblxyXG4gICAgZG9jdW1lbnRJZCA9IDA7XHJcbiAgICAvL2FuY2hvclRpdGxlID0gJyc7XHJcbiAgICBhbmNob3JUZXh0ID0gJyc7XHJcbiAgICAvL2FuY2hvckJ5TmFtZSA9ICcnO1xyXG4gICAgYWR2aXNvcnlUaXRsZSA9ICcnO1xyXG5cclxuICAgIGlzVXJsUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgbmF0dXJhbEltYWdlV2lkdGggPSAwO1xyXG4gICAgbmF0dXJhbEltYWdlSGVpZ2h0ID0gMDtcclxuICAgIGN1cnJlbnRBcmVhSWQgPSAtMTtcclxuICAgIG15SW1hZ2VNYXA6IFFNU0NLRWRpdG9ySW1hZ2VNYXBMaWI7XHJcbiAgICBzaG93SW1hZ2VNYXBJbmZvcm1hdGlvbiA9IGZhbHNlO1xyXG5cclxuICAgIGFuY2hvckRvY3VtZW50czogUU1TQ0tFZGl0b3JMaW5rQW5jaG9yRG9jdW1lbnRbXSA9IFtdO1xyXG4gICAgYW5jaG9yczogSUFuY2hvcltdO1xyXG4gICAgZWRpdG9yQW5jaG9yczogSUFuY2hvcltdO1xyXG4gICAgLy9kb2N1bWVudEFuY2hvcnM6IElBbmNob3JbXTtcclxuXHJcbiAgICBpbWFnZUxpc3RlbmVyczogYW55W10gPSBbXTtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdteUltYWdlJylcclxuICAgIG15SW1hZ2VSZWY6IEVsZW1lbnRSZWY8SFRNTEltYWdlRWxlbWVudD47XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnbXlTdGF0dXMnKVxyXG4gICAgbXlTdGF0dXNSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsaW5rU2VydmljZTogUU1TQ0tFZGl0b3JMaW5rU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UU1TQ0tFZGl0b3JJbWFnZU1hcENvbXBvbmVudD4sXHJcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBRTVNDS0VkaXRvckltYWdlTWFwLFxyXG4gICAgICAgIGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgICAgIHNhbml0aXplcjogRG9tU2FuaXRpemVyXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuaW1hZ2VNYXBEYXRhID0gZGF0YTtcclxuICAgICAgICB0aGlzLm5hdHVyYWxJbWFnZUhlaWdodCA9IHRoaXMuaW1hZ2VNYXBEYXRhLmltYWdlSGVpZ2h0O1xyXG4gICAgICAgIHRoaXMubmF0dXJhbEltYWdlV2lkdGggPSB0aGlzLmltYWdlTWFwRGF0YS5pbWFnZVdpZHRoO1xyXG4gICAgICAgIHRoaXMuaW5pdEZvcm1Db250cm9sKCk7XHJcbiAgICAgICAgdGhpcy5pbml0U3ZnSWNvbnMoaWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXIpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBpbml0RGVmYXVsdFZhbHVlcygpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTGlua1R5cGUgPSBMaW5rVHlwZS51cmw7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhcmdldCA9IFRhcmdldFR5cGVOYW1lLm5ldztcclxuICAgICAgICB0aGlzLnNlbGVjdGVkUHJvdG9jb2wgPSBQcm90b2NvbFR5cGVOYW1lLmh0dHA7XHJcbiAgICAgICAgdGhpcy51cmwgPSAnJztcclxuICAgICAgICB0aGlzLnByb2Nlc3NlZFVybCA9ICcnO1xyXG4gICAgICAgIHRoaXMuYWR2aXNvcnlUaXRsZSA9ICcnO1xyXG4gICAgICAgIHRoaXMuYW5jaG9yVGV4dCA9ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRTdmdJY29ucyhpY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSwgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHtcclxuICAgICAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoJ3ZlY3Rvci1wb2ludGVyJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEljb25TdmcuVkVDVE9SX1BPSU5URVIpKTtcclxuICAgICAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoJ3ZlY3Rvci1jaXJjbGUnLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoSWNvblN2Zy5WRUNUT1JfQ0lSQ0xFKSk7XHJcbiAgICAgICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCd2ZWN0b3ItcmVjdGFuZ2xlJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEljb25TdmcuVkVDVE9SX1JFQ1RBTkdMRSkpO1xyXG4gICAgICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgndmVjdG9yLXBvbHlnb24nLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoSWNvblN2Zy5WRUNUT1JfUE9MWUdPTikpO1xyXG4gICAgICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgndmVjdG9yLXJlbW92ZScsIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChJY29uU3ZnLlZFQ1RPUl9SRU1PVkUpKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0Rm9ybUNvbnRyb2woKSB7XHJcbiAgICAgICAgY29uc3QgdmFsaWF0aW9uQ29udHJvbHMgPSB7XHJcbiAgICAgICAgICAgIHRhcmdldExpc3Q6IG5ldyBGb3JtQ29udHJvbCgpLFxyXG4gICAgICAgICAgICBwcm90b2NvbExpc3Q6IG5ldyBGb3JtQ29udHJvbCgpLFxyXG4gICAgICAgICAgICBhbmNob3JUZXh0TGlzdDogbmV3IEZvcm1Db250cm9sKCksXHJcbiAgICAgICAgICAgIG1vZGVMaXN0OiBuZXcgRm9ybUNvbnRyb2woKSxcclxuICAgICAgICAgICAgem9vbUxpc3Q6IG5ldyBGb3JtQ29udHJvbCgpLFxyXG4gICAgICAgICAgICBsaW5rVHlwZUxpc3Q6IG5ldyBGb3JtQ29udHJvbCgpXHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAodGhpcy5pbWFnZU1hcERhdGEubGlua0phdmFTY3JpcHRMaW5rc0FsbG93ZWQgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICB2YWxpYXRpb25Db250cm9sc1sndXJsJ10gPSBuZXcgRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdmFsaWF0aW9uQ29udHJvbHNbJ3VybCddID0gbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgaW52YWxpZFVSTFZhbGlkYXRvcih0aGlzLmphdmFzY3JpcHRMaW5rUmVnZXgpXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaW1hZ2VNYXBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHZhbGlhdGlvbkNvbnRyb2xzKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0TGlua1R5cGUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubGlua1R5cGVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGlua1R5cGVzLnB1c2goeyBpZDogTGlua1R5cGUudXJsLCBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuTElOS19VUkwgfSk7XHJcbiAgICAgICAgICAgIHRoaXMubGlua1R5cGVzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgaWQ6IExpbmtUeXBlLmFuY2hvclRleHQsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuTElOS19BTkNIT1JfSU5fVEVYVFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdFRhcmdldCgpIHtcclxuICAgICAgICBpZiAodGhpcy50YXJnZXRzKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGFyZ2V0cy5wdXNoKHsgaWQ6IFRhcmdldFR5cGVOYW1lLm5ldywgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlRBUlRHRVRfTkVXIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnRhcmdldHMucHVzaCh7IGlkOiBUYXJnZXRUeXBlTmFtZS5zYW1lLCBuYW1lOiB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuVEFSR0VUX1NBTUUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGluaXRQcm90b2NvbCgpIHtcclxuICAgICAgICBpZiAodGhpcy5wcm90b2NvbHMpIHtcclxuICAgICAgICAgICAgdGhpcy5wcm90b2NvbHMucHVzaCh7IGlkOiBQcm90b2NvbFR5cGVOYW1lLmh0dHAsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5QUk9UT0NPTF9IVFRQIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnByb3RvY29scy5wdXNoKHsgaWQ6IFByb3RvY29sVHlwZU5hbWUuaHR0cHMsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5QUk9UT0NPTF9IVFRQUyB9KTtcclxuICAgICAgICAgICAgdGhpcy5wcm90b2NvbHMucHVzaCh7IGlkOiBQcm90b2NvbFR5cGVOYW1lLmZ0cCwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlBST1RPQ09MX0ZUUCB9KTtcclxuICAgICAgICAgICAgdGhpcy5wcm90b2NvbHMucHVzaCh7IGlkOiBQcm90b2NvbFR5cGVOYW1lLm5ld3MsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5QUk9UT0NPTF9ORVcgfSk7XHJcbiAgICAgICAgICAgIHRoaXMucHJvdG9jb2xzLnB1c2goeyBpZDogUHJvdG9jb2xUeXBlTmFtZS5vdGhlciwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlBST1RPQ09MX09USEVSIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbml0TW9kZXMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubW9kZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5tb2Rlcy5wdXNoKHsgaWQ6IEltYWdlTW9kZU5hbWUuUG9pbnRlciwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLklNQUdFX01PREVfUE9JTlRFUiwgaWNvbjogXCJ2ZWN0b3ItcG9pbnRlclwiIH0pO1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVzLnB1c2goeyBpZDogSW1hZ2VNb2RlTmFtZS5SZWN0YW5nbGUsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5JTUFHRV9NT0RFX1JFQ1RBTkdMRSwgaWNvbjogXCJ2ZWN0b3ItcmVjdGFuZ2xlXCIgfSk7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZXMucHVzaCh7IGlkOiBJbWFnZU1vZGVOYW1lLkNpcmNsZSwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLklNQUdFX01PREVfQ0lSQ0xFLCBpY29uOiBcInZlY3Rvci1jaXJjbGVcIiB9KTtcclxuICAgICAgICAgICAgdGhpcy5tb2Rlcy5wdXNoKHsgaWQ6IEltYWdlTW9kZU5hbWUuUG9seWdvbiwgbmFtZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLklNQUdFX01PREVfUE9MWUdPTiwgaWNvbjogXCJ2ZWN0b3ItcG9seWdvblwiIH0pO1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVzLnB1c2goeyBpZDogSW1hZ2VNb2RlTmFtZS5SZW1vdmUsIG5hbWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5JTUFHRV9NT0RFX1JFTU9WRSwgaWNvbjogXCJ2ZWN0b3ItcmVtb3ZlXCIgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGluaXRab29tVHlwZXMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuem9vbVR5cGVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuem9vbVR5cGVzLnB1c2goeyBpZDogMC4yNSwgbmFtZTogXCIyNSVcIiB9KTtcclxuICAgICAgICAgICAgdGhpcy56b29tVHlwZXMucHVzaCh7IGlkOiAwLjUsIG5hbWU6IFwiNTAlXCIgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuem9vbVR5cGVzLnB1c2goeyBpZDogMS4wLCBuYW1lOiBcIjEwMCVcIiB9KTtcclxuICAgICAgICAgICAgdGhpcy56b29tVHlwZXMucHVzaCh7IGlkOiAyLjAsIG5hbWU6IFwiMjAwJVwiIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnpvb21UeXBlcy5wdXNoKHsgaWQ6IDMuMCwgbmFtZTogXCIzMDAlXCIgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGluaXRBbmNob3IoKSB7XHJcbiAgICAgICAgdGhpcy5hbmNob3JzID0gW107XHJcbiAgICAgICAgdGhpcy5hbmNob3JzID0gW3sgdmFsdWU6IDAsIHZpZXdWYWx1ZTogJycsIGFuY2hvclZhbHVlOiBMaW5rQW5jaG9yLkJsYW5rIH1dO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldExhbmd1YWdlU3ViamVjdCQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLkxBTkcgPSB0aGlzLnRyYW5zbGF0ZS5nZXRPYmplY3RMYW5nKHJlcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmluaXRMaW5rVHlwZSgpO1xyXG4gICAgICAgIHRoaXMuaW5pdFRhcmdldCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdFByb3RvY29sKCk7XHJcbiAgICAgICAgdGhpcy5pbml0TW9kZXMoKTtcclxuICAgICAgICB0aGlzLmluaXRab29tVHlwZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgICAgIGlmICh0aGlzLmltYWdlTGlzdGVuZXJzICYmIHRoaXMuaW1hZ2VMaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlTGlzdGVuZXJzLmZvckVhY2gobGlzdGVuZXIgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGlzdGVuZXIoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uSW1hZ2VMb2FkKCkge1xyXG4gICAgICAgIHRoaXMubmF0dXJhbEltYWdlSGVpZ2h0ID0gdGhpcy5uYXR1cmFsSW1hZ2VIZWlnaHQgIT0gMCA/IHRoaXMubmF0dXJhbEltYWdlSGVpZ2h0IDogdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQubmF0dXJhbEhlaWdodDtcclxuICAgICAgICB0aGlzLm5hdHVyYWxJbWFnZVdpZHRoID0gdGhpcy5uYXR1cmFsSW1hZ2VXaWR0aCAhPSAwID8gdGhpcy5uYXR1cmFsSW1hZ2VXaWR0aCA6IHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50Lm5hdHVyYWxXaWR0aDtcclxuXHJcbiAgICAgICAgdGhpcy5zZXRJbWFnZVNpemUoKTtcclxuXHJcbiAgICAgICAgdGhpcy5teUltYWdlTWFwLnNldE1hcEpzb24oe1xyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmltYWdlTWFwRGF0YS5uYW1lLFxyXG4gICAgICAgICAgICBhcmVhczogdGhpcy5pbWFnZU1hcERhdGEuYXJlYXNcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VNYXBEYXRhLmFyZWFzICYmIHRoaXMuaW1hZ2VNYXBEYXRhLmFyZWFzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLmJsdXJBcmVhKHRoaXMubXlJbWFnZU1hcC5jdXJyZW50aWQpO1xyXG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuY3VycmVudGlkID0gMDtcclxuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLnNlbGVjdGVkSWQgPSAwO1xyXG4gICAgICAgICAgICB0aGlzLm9uU2VsZWN0QXJlYSh0aGlzLm15SW1hZ2VNYXAuYXJlYXNbMF0pO1xyXG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuaGlnaGxpZ2h0QXJlYSgwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLm15SW1hZ2VSZWYpIHtcclxuICAgICAgICAgICAgdGhpcy5pbWFnZUxpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LCAnbG9hZCcsICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMub25JbWFnZUxvYWQoKTtcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQXZvaWQgZHJhZyZkcm9wIG9mIHRoZSBpbWFnZVxyXG4gICAgICAgIHRoaXMubXlJbWFnZU1hcCA9IG5ldyBRTVNDS0VkaXRvckltYWdlTWFwTGliKHtcclxuICAgICAgICAgICAgY3VzdG9tX2NhbGxiYWNrczoge1xyXG4gICAgICAgICAgICAgICAgXCJvbkFkZEFyZWFcIjogdGhpcy5vbkFkZEFyZWEuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgICdvblNlbGVjdEFyZWEnOiB0aGlzLm9uU2VsZWN0QXJlYS5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgJ29uUmVtb3ZlQXJlYSc6IHRoaXMub25SZW1vdmVBcmVhLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgICAgICAnb25TdGF0dXNNZXNzYWdlJzogdGhpcy5vblN0YXR1c01lc3NhZ2UuYmluZCh0aGlzKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbWFnZUVsZW1lbnQ6IHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICBib3VuZGluZ19ib3g6IGZhbHNlLFxyXG4gICAgICAgICAgICBDTF9EUkFXX1NIQVBFOiAnI0YwMCcsXHJcbiAgICAgICAgICAgIENMX05PUk1fU0hBUEU6ICcjQUFBJyxcclxuICAgICAgICAgICAgQ0xfSElHSExJR0hUX1NIQVBFOiAnI0YwMCcsXHJcbiAgICAgICAgICAgIHN0cmluZ3M6IHtcclxuICAgICAgICAgICAgICAgIFwiUE9MWUdPTl9EUkFXXCI6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5QT0xZR09OX0RSQVcsXHJcbiAgICAgICAgICAgICAgICBcIlJFQ1RBTkdMRV9EUkFXXCI6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5SRUNUQU5HTEVfRFJBVyxcclxuICAgICAgICAgICAgICAgIFwiU1FVQVJFX0RSQVdcIjogdGhpcy5MQU5HLlFNU0NLRURJVE9SLlNRVUFSRV9EUkFXLFxyXG4gICAgICAgICAgICAgICAgJ1JFQURZJzogJycsXHJcbiAgICAgICAgICAgICAgICAnUkVDVEFOR0xFX01PVkUnOiAnJyxcclxuICAgICAgICAgICAgICAgICdSRUNUQU5HTEVfUkVTSVpFX1RPUCc6ICcnLFxyXG4gICAgICAgICAgICAgICAgJ1JFQ1RBTkdMRV9SRVNJWkVfUklHSFQnOiAnJyxcclxuICAgICAgICAgICAgICAgICdSRUNUQU5HTEVfUkVTSVpFX0JPVFRPTSc6ICcnLFxyXG4gICAgICAgICAgICAgICAgJ1JFQ1RBTkdMRV9SRVNJWkVfTEVGVCc6ICcnLFxyXG4gICAgICAgICAgICAgICAgJ1NRVUFSRV9NT1ZFJzogJycsXHJcbiAgICAgICAgICAgICAgICAnU1FVQVJFX1JFU0laRV9UT1AnOiAnJyxcclxuICAgICAgICAgICAgICAgICdTUVVBUkVfUkVTSVpFX1JJR0hUJzogJycsXHJcbiAgICAgICAgICAgICAgICAnU1FVQVJFX1JFU0laRV9CT1RUT00nOiAnJyxcclxuICAgICAgICAgICAgICAgICdTUVVBUkVfUkVTSVpFX0xFRlQnOiAnJyxcclxuICAgICAgICAgICAgICAgICdQT0xZR09OX01PVkUnOiAnJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcGFyc2VMaW5rVXJsKHVybDogc3RyaW5nLCBkZWZhdWx0UHJvdG9jb2xOYW1lPzogUHJvdG9jb2xUeXBlTmFtZSkge1xyXG4gICAgICAgIGNvbnN0IHByb3RvY29sID0gdGhpcy5wcm90b2NvbFJlZ2V4LmV4ZWModXJsKTtcclxuICAgICAgICBpZiAocHJvdG9jb2wpIHtcclxuICAgICAgICAgICAgdGhpcy5wcm9jZXNzZWRVcmwgPSB1cmwuc3Vic3RyKHByb3RvY29sWzBdLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIHRoaXMudXJsID0gdGhpcy5wcm9jZXNzZWRVcmw7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQcm90b2NvbCA9IHByb3RvY29sWzBdLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmphdmFzY3JpcHRMaW5rUmVnZXgudGVzdCh1cmwpICYmICF0aGlzLmltYWdlTWFwRGF0YS5saW5rSmF2YVNjcmlwdExpbmtzQWxsb3dlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUHJvdG9jb2wgPSBQcm90b2NvbFR5cGVOYW1lLmh0dHA7XHJcbiAgICAgICAgICAgIHRoaXMucHJvY2Vzc2VkVXJsID0gJyc7XHJcbiAgICAgICAgICAgIHRoaXMudXJsID0gdGhpcy5wcm9jZXNzZWRVcmw7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5wcm9jZXNzZWRVcmwgPSB1cmw7XHJcbiAgICAgICAgICAgIHRoaXMudXJsID0gdGhpcy5wcm9jZXNzZWRVcmw7XHJcbiAgICAgICAgICAgIGlmICghIXRoaXMuc2VsZWN0ZWRQcm90b2NvbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFByb3RvY29sID0gZGVmYXVsdFByb3RvY29sTmFtZSB8fCBQcm90b2NvbFR5cGVOYW1lLmh0dHA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWxlY3RBcmVhKGFyZWEpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRBcmVhSWQgPSBhcmVhLmFpZDtcclxuICAgICAgICB0aGlzLnNob3dJbWFnZU1hcEluZm9ybWF0aW9uID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlID09IEltYWdlTW9kZU5hbWUuUmVtb3ZlKSB7XHJcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5yZW1vdmVBcmVhKHRoaXMuY3VycmVudEFyZWFJZCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGFyZWEuYWhyZWYubWF0Y2goL14jKC4qKSQvKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hbmNob3JUZXh0ID0gYXJlYS5haHJlZi5zbGljZSgxKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaW5rVHlwZSA9IExpbmtUeXBlLmFuY2hvclRleHQ7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlua1R5cGUgPSBMaW5rVHlwZS51cmw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhcnNlTGlua1VybChhcmVhLmFocmVmKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFyZ2V0ID0gYXJlYS5hdGFyZ2V0O1xyXG4gICAgICAgICAgICB0aGlzLmFkdmlzb3J5VGl0bGUgPSBhcmVhLmFhbHQ7XHJcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25SZW1vdmVBcmVhKCkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudEFyZWFJZCA9IC0xO1xyXG4gICAgICAgIHRoaXMuc2hvd0ltYWdlTWFwSW5mb3JtYXRpb24gPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVNYXAoKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50QXJlYUlkID0gLTE7XHJcbiAgICAgICAgdGhpcy5zaG93SW1hZ2VNYXBJbmZvcm1hdGlvbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubXlJbWFnZU1hcC5yZW1vdmVBbGxBcmVhcygpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU3RhdHVzTWVzc2FnZSh0ZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodGhpcy5teVN0YXR1c1JlZikge1xyXG4gICAgICAgICAgICB0aGlzLm15U3RhdHVzUmVmLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGV4dCB8fCAnJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25VcmxLZXl1cCgpIHtcclxuICAgICAgICB0aGlzLmlzVXJsUHJvY2Vzc2luZyA9IHRydWU7XHJcbiAgICAgICAgaWYgKHRoaXMudXJsICE9IHRoaXMucHJvY2Vzc2VkVXJsKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFyc2VMaW5rVXJsKHRoaXMudXJsKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVBcmVhVmFsdWVzKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmlzVXJsUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVXJsQ2hhbmdlKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5pc1VybFByb2Nlc3NpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5vblVybEtleXVwKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uQW5jaG9yVGV4dENoYW5nZSgpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZUFyZWFWYWx1ZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBvblByb3RvY29sQ2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlQXJlYVZhbHVlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVGFyZ2V0Q2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlQXJlYVZhbHVlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQWRkQXJlYShpZDogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50QXJlYUlkID0gaWQ7XHJcbiAgICAgICAgdGhpcy5zaG93SW1hZ2VNYXBJbmZvcm1hdGlvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5pbml0RGVmYXVsdFZhbHVlcygpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlQXJlYVZhbHVlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUFyZWFWYWx1ZXMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudEFyZWFJZCA+IC0xKSB7XHJcbiAgICAgICAgICAgIHZhciBhaHJlZiA9IHRoaXMuYnVpbGRVcmxXaXRoUHJvdG9jb2woKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMaW5rVHlwZSA9PSBMaW5rVHlwZS5hbmNob3JUZXh0KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuYXJlYXNbdGhpcy5jdXJyZW50QXJlYUlkXS5hdGFyZ2V0ID0gVGFyZ2V0VHlwZU5hbWUuc2FtZTtcclxuICAgICAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5hcmVhc1t0aGlzLmN1cnJlbnRBcmVhSWRdLmFhbHQgPSB0aGlzLmFuY2hvclRleHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuYXJlYXNbdGhpcy5jdXJyZW50QXJlYUlkXS5hdGFyZ2V0ID0gdGhpcy5zZWxlY3RlZFRhcmdldCB8fCBUYXJnZXRUeXBlTmFtZS5uZXc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuYXJlYXNbdGhpcy5jdXJyZW50QXJlYUlkXS5hYWx0ID0gdGhpcy5hZHZpc29yeVRpdGxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5hcmVhc1t0aGlzLmN1cnJlbnRBcmVhSWRdLmFocmVmID0gYWhyZWY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJ1aWxkVXJsV2l0aFByb3RvY29sKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGlua1R5cGUgPT0gTGlua1R5cGUuYW5jaG9yVGV4dCkge1xyXG4gICAgICAgICAgICByZXR1cm4gJyMnICsgKHRoaXMuYW5jaG9yVGV4dCB8fCAnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghIXRoaXMucHJvY2Vzc2VkVXJsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkUHJvdG9jb2wgKyB0aGlzLnByb2Nlc3NlZFVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbG9zZURpYWxvZygpIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTW9kZUNoYW5nZShlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZSA9IGUudmFsdWU7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlID09IEltYWdlTW9kZU5hbWUuUG9pbnRlciB8fCB0aGlzLnNlbGVjdGVkTW9kZSA9PSBJbWFnZU1vZGVOYW1lLlJlbW92ZSkge1xyXG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuaXNfZHJhd2luZyA9IDA7XHJcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZU1hcC5uZXh0U2hhcGUgPSAnJztcclxuICAgICAgICAgICAgdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuY3Vyc29yID0gJ2RlZmF1bHQnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5teUltYWdlTWFwLm5leHRTaGFwZSA9IHRoaXMuc2VsZWN0ZWRNb2RlO1xyXG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5jdXJzb3IgPSAnY3Jvc3NoYWlyJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25ab29tQ2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMuc2V0SW1hZ2VTaXplKCk7XHJcbiAgICAgICAgaWYgKHRoaXMubXlJbWFnZU1hcCkge1xyXG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VNYXAuc2NhbGVBbGxBcmVhcyh0aGlzLnNlbGVjdGVkWm9vbSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uTGlua1R5cGVDaGFuZ2UoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMaW5rVHlwZSA9PT0gTGlua1R5cGUuYW5jaG9yVGV4dCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldEVkaXRvckFuY2hvcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwZGF0ZUFyZWFWYWx1ZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRFZGl0b3JBbmNob3IoKSB7XHJcbiAgICAgICAgdGhpcy5hbmNob3JEb2N1bWVudHMgPSBbXTtcclxuICAgICAgICBpZiAodGhpcy5pbWFnZU1hcERhdGEuZWRpdG9yQ29udGVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmFuY2hvckRvY3VtZW50cy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGlkOiAwLFxyXG4gICAgICAgICAgICAgICAgZW50aXR5SWQ6IDAsXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudElkOiAwLFxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRUeXBlSWQ6IDAsXHJcbiAgICAgICAgICAgICAgICByaWNoVGV4dDogdGhpcy5pbWFnZU1hcERhdGEuZWRpdG9yQ29udGVudFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRBbmNob3JEb2N1bWVudCh0aGlzLmFuY2hvckRvY3VtZW50cyk7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JBbmNob3JzID0gdGhpcy5hbmNob3JzO1xyXG4gICAgfVxyXG5cclxuICAgIHNldEltYWdlU2l6ZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5teUltYWdlUmVmKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5uYXR1cmFsSW1hZ2VXaWR0aCAqIHRoaXMuc2VsZWN0ZWRab29tO1xyXG4gICAgICAgICAgICBjb25zdCBoZWlnaHQgPSB0aGlzLm5hdHVyYWxJbWFnZUhlaWdodCAqIHRoaXMuc2VsZWN0ZWRab29tO1xyXG4gICAgICAgICAgICB0aGlzLm15SW1hZ2VSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJ3aWR0aFwiLCBgJHt3aWR0aH1weDtgKTtcclxuICAgICAgICAgICAgdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiaGVpZ2h0XCIsIGAke2hlaWdodH1weDtgKTtcclxuICAgICAgICAgICAgdGhpcy5teUltYWdlUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSBgJHt3aWR0aH1weGA7XHJcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke2hlaWdodH1weGA7XHJcbiAgICAgICAgICAgIHRoaXMubXlJbWFnZVJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmN1cnNvciA9IHRoaXMuc2VsZWN0ZWRNb2RlID09IEltYWdlTW9kZU5hbWUuUG9pbnRlciB8fCB0aGlzLnNlbGVjdGVkTW9kZSA9PSBJbWFnZU1vZGVOYW1lLlJlbW92ZSA/ICdkZWZhdWx0JyA6ICdjcm9zc2hhaXInO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBlSGFuZGJvb2soaXNPbmx5RG9jdW1lbnQ6IGJvb2xlYW4sIGlzQW5jaG9yRG9jdW1lbnQ6IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCBkYXRhID0gbmV3IFFNU0NLRWRpdG9yUmVsYXRpb24oKTtcclxuICAgICAgICBkYXRhLmlzT25seURvY3VtZW50ID0gaXNPbmx5RG9jdW1lbnQ7XHJcbiAgICAgICAgZGF0YS5pc0VuYWJsZUZvbGRlciA9ICFpc09ubHlEb2N1bWVudDtcclxuICAgICAgICBjb25zdCBkaWFsb2dUZW1wbGF0ZSA9IHRoaXMuZGlhbG9nLm9wZW4oUU1TQ0tFZGl0b3JSZWxhdGVkQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAnNjUwcHgnLFxyXG4gICAgICAgICAgICBoZWlnaHQ6ICc2NTBweCcsXHJcbiAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGRpYWxvZ1RlbXBsYXRlXHJcbiAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0FuY2hvckRvY3VtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRJZCA9IHJlc3VsdC5pZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy90aGlzLmFuY2hvclRpdGxlID0gYCR7cmVzdWx0LnRpdGxlfSgke3Jlc3VsdC5pZH0pYDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRBbmNob3JEb2N1bWVudChyZXN1bHQuaWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGFyc2VMaW5rVXJsKHJlc3VsdC51cmwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUHJvdG9jb2wgPSBQcm90b2NvbFR5cGVOYW1lLm90aGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuYWR2aXNvcnlUaXRsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZHZpc29yeVRpdGxlID0gcmVzdWx0LnRpdGxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQXJlYVZhbHVlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBbmNob3JEb2N1bWVudChkb2N1bWVudElkOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLmxpbmtTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5nZXRBbmNob3JEb2N1bWVudExpc3QoZG9jdW1lbnRJZClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbmNob3JEb2N1bWVudHMgPSByZXM7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRBbmNob3JEb2N1bWVudCh0aGlzLmFuY2hvckRvY3VtZW50cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy90aGlzLmRvY3VtZW50QW5jaG9ycyA9IHRoaXMuYW5jaG9ycztcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbmNob3JEb2N1bWVudHMgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEFuY2hvckRvY3VtZW50KHRoaXMuYW5jaG9yRG9jdW1lbnRzKTtcclxuICAgICAgICAgICAgICAgICAgICAvL3RoaXMuZG9jdW1lbnRBbmNob3JzID0gdGhpcy5hbmNob3JzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRBbmNob3JEb2N1bWVudChhbmNob3JEb2N1bWVudDogUU1TQ0tFZGl0b3JMaW5rQW5jaG9yRG9jdW1lbnRbXSkge1xyXG4gICAgICAgIHRoaXMuaW5pdEFuY2hvcigpO1xyXG4gICAgICAgIGxldCBpZCA9IDM7XHJcbiAgICAgICAgaWYgKGFuY2hvckRvY3VtZW50KSB7XHJcbiAgICAgICAgICAgIGFuY2hvckRvY3VtZW50LmZvckVhY2goKGUpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgICAgICAgZGl2LmlubmVySFRNTCA9IGUucmljaFRleHQ7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkb21Db250ZW50ID0gZGl2O1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYVRhZ3MgPSBkb21Db250ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhJyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoYVRhZ3MpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLWZvci1vZlxyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYVRhZ3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gYVRhZ3NbaV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YWcubmFtZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmFuY2hvcnMuZmluZEluZGV4KCh4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHguYW5jaG9yVmFsdWUgPT09IHRhZy5uYW1lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbmNob3JzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdWYWx1ZTogdGFnLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuY2hvclZhbHVlOiB0YWcubmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyB0aGlzLmFuY2hvcnMucHVzaCh7XHJcbiAgICAgICAgLy8gICAgIHZhbHVlOiAxLFxyXG4gICAgICAgIC8vICAgICB2aWV3VmFsdWU6IHRoaXMuTEFORy5RTVNDS0VESVRPUi5BTkNIT1JfQVRUQUNITUVOVCxcclxuICAgICAgICAvLyAgICAgYW5jaG9yVmFsdWU6IExpbmtBbmNob3IuQXR0YWNobWVudFxyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgICAgIC8vIHRoaXMuYW5jaG9ycy5wdXNoKHtcclxuICAgICAgICAvLyAgICAgdmFsdWU6IDIsXHJcbiAgICAgICAgLy8gICAgIHZpZXdWYWx1ZTogdGhpcy5MQU5HLlFNU0NLRURJVE9SLkFOQ0hPUl9SRUxBVEVEX0RPQ1VNRU5ULFxyXG4gICAgICAgIC8vICAgICBhbmNob3JWYWx1ZTogTGlua0FuY2hvci5SZWxhdGVkXHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGF0dGFjaG1lbnQoKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IG5ldyBRTVNDS0VkaXRvclBhcmFtdGVyKCk7XHJcbiAgICAgICAgZGF0YS5tb2R1bGUgPSB0aGlzLmltYWdlTWFwRGF0YS5tb2R1bGU7XHJcbiAgICAgICAgZGF0YS5lbnRpdHlJZCA9IHRoaXMuaW1hZ2VNYXBEYXRhLmVudGl0eUlkO1xyXG4gICAgICAgIGNvbnN0IGRpYWxvZ1RlbXBsYXRlID0gdGhpcy5kaWFsb2cub3BlbihMaW5rQXR0YWNobWVudENvbXBvbmVudCwge1xyXG4gICAgICAgICAgICB3aWR0aDogJzY1MHB4JyxcclxuICAgICAgICAgICAgaGVpZ2h0OiAnNjUwcHgnLFxyXG4gICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgICAgICBkaWFsb2dUZW1wbGF0ZVxyXG4gICAgICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcnNlTGlua1VybChyZXN1bHQudXJsKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUHJvdG9jb2wgPSBQcm90b2NvbFR5cGVOYW1lLm90aGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5hZHZpc29yeVRpdGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWR2aXNvcnlUaXRsZSA9IHJlc3VsdC50aXRsZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVBcmVhVmFsdWVzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmUoKSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMubXlJbWFnZU1hcC5nZXRNYXBKc29uKCk7XHJcbiAgICAgICAgZGF0YS5pbWFnZUhlaWdodCA9IHRoaXMubmF0dXJhbEltYWdlSGVpZ2h0O1xyXG4gICAgICAgIGRhdGEuaW1hZ2VXaWR0aCA9IHRoaXMubmF0dXJhbEltYWdlV2lkdGg7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsKCkge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICB9XHJcbn1cclxuIl19