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,3854 @@
1
+ /**
2
+ * @license
3
+ * Lodash (Custom Build) <https://lodash.com/>
4
+ * Build: `lodash core -o ./dist/lodash.core.js`
5
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
6
+ * Released under MIT license <https://lodash.com/license>
7
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
8
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
9
+ */
10
+ ;(function() {
11
+
12
+ /** Used as a safe reference for `undefined` in pre-ES5 environments. */
13
+ var undefined;
14
+
15
+ /** Used as the semantic version number. */
16
+ var VERSION = '4.17.14';
17
+
18
+ /** Error message constants. */
19
+ var FUNC_ERROR_TEXT = 'Expected a function';
20
+
21
+ /** Used to compose bitmasks for value comparisons. */
22
+ var COMPARE_PARTIAL_FLAG = 1,
23
+ COMPARE_UNORDERED_FLAG = 2;
24
+
25
+ /** Used to compose bitmasks for function metadata. */
26
+ var WRAP_BIND_FLAG = 1,
27
+ WRAP_PARTIAL_FLAG = 32;
28
+
29
+ /** Used as references for various `Number` constants. */
30
+ var INFINITY = 1 / 0,
31
+ MAX_SAFE_INTEGER = 9007199254740991;
32
+
33
+ /** `Object#toString` result references. */
34
+ var argsTag = '[object Arguments]',
35
+ arrayTag = '[object Array]',
36
+ asyncTag = '[object AsyncFunction]',
37
+ boolTag = '[object Boolean]',
38
+ dateTag = '[object Date]',
39
+ errorTag = '[object Error]',
40
+ funcTag = '[object Function]',
41
+ genTag = '[object GeneratorFunction]',
42
+ numberTag = '[object Number]',
43
+ objectTag = '[object Object]',
44
+ proxyTag = '[object Proxy]',
45
+ regexpTag = '[object RegExp]',
46
+ stringTag = '[object String]';
47
+
48
+ /** Used to match HTML entities and HTML characters. */
49
+ var reUnescapedHtml = /[&<>"']/g,
50
+ reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
51
+
52
+ /** Used to detect unsigned integer values. */
53
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
54
+
55
+ /** Used to map characters to HTML entities. */
56
+ var htmlEscapes = {
57
+ '&': '&amp;',
58
+ '<': '&lt;',
59
+ '>': '&gt;',
60
+ '"': '&quot;',
61
+ "'": '&#39;'
62
+ };
63
+
64
+ /** Detect free variable `global` from Node.js. */
65
+ var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
66
+
67
+ /** Detect free variable `self`. */
68
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
69
+
70
+ /** Used as a reference to the global object. */
71
+ var root = freeGlobal || freeSelf || Function('return this')();
72
+
73
+ /** Detect free variable `exports`. */
74
+ var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
75
+
76
+ /** Detect free variable `module`. */
77
+ var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
78
+
79
+ /*--------------------------------------------------------------------------*/
80
+
81
+ /**
82
+ * Appends the elements of `values` to `array`.
83
+ *
84
+ * @private
85
+ * @param {Array} array The array to modify.
86
+ * @param {Array} values The values to append.
87
+ * @returns {Array} Returns `array`.
88
+ */
89
+ function arrayPush(array, values) {
90
+ array.push.apply(array, values);
91
+ return array;
92
+ }
93
+
94
+ /**
95
+ * The base implementation of `_.findIndex` and `_.findLastIndex` without
96
+ * support for iteratee shorthands.
97
+ *
98
+ * @private
99
+ * @param {Array} array The array to inspect.
100
+ * @param {Function} predicate The function invoked per iteration.
101
+ * @param {number} fromIndex The index to search from.
102
+ * @param {boolean} [fromRight] Specify iterating from right to left.
103
+ * @returns {number} Returns the index of the matched value, else `-1`.
104
+ */
105
+ function baseFindIndex(array, predicate, fromIndex, fromRight) {
106
+ var length = array.length,
107
+ index = fromIndex + (fromRight ? 1 : -1);
108
+
109
+ while ((fromRight ? index-- : ++index < length)) {
110
+ if (predicate(array[index], index, array)) {
111
+ return index;
112
+ }
113
+ }
114
+ return -1;
115
+ }
116
+
117
+ /**
118
+ * The base implementation of `_.property` without support for deep paths.
119
+ *
120
+ * @private
121
+ * @param {string} key The key of the property to get.
122
+ * @returns {Function} Returns the new accessor function.
123
+ */
124
+ function baseProperty(key) {
125
+ return function(object) {
126
+ return object == null ? undefined : object[key];
127
+ };
128
+ }
129
+
130
+ /**
131
+ * The base implementation of `_.propertyOf` without support for deep paths.
132
+ *
133
+ * @private
134
+ * @param {Object} object The object to query.
135
+ * @returns {Function} Returns the new accessor function.
136
+ */
137
+ function basePropertyOf(object) {
138
+ return function(key) {
139
+ return object == null ? undefined : object[key];
140
+ };
141
+ }
142
+
143
+ /**
144
+ * The base implementation of `_.reduce` and `_.reduceRight`, without support
145
+ * for iteratee shorthands, which iterates over `collection` using `eachFunc`.
146
+ *
147
+ * @private
148
+ * @param {Array|Object} collection The collection to iterate over.
149
+ * @param {Function} iteratee The function invoked per iteration.
150
+ * @param {*} accumulator The initial value.
151
+ * @param {boolean} initAccum Specify using the first or last element of
152
+ * `collection` as the initial value.
153
+ * @param {Function} eachFunc The function to iterate over `collection`.
154
+ * @returns {*} Returns the accumulated value.
155
+ */
156
+ function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
157
+ eachFunc(collection, function(value, index, collection) {
158
+ accumulator = initAccum
159
+ ? (initAccum = false, value)
160
+ : iteratee(accumulator, value, index, collection);
161
+ });
162
+ return accumulator;
163
+ }
164
+
165
+ /**
166
+ * The base implementation of `_.values` and `_.valuesIn` which creates an
167
+ * array of `object` property values corresponding to the property names
168
+ * of `props`.
169
+ *
170
+ * @private
171
+ * @param {Object} object The object to query.
172
+ * @param {Array} props The property names to get values for.
173
+ * @returns {Object} Returns the array of property values.
174
+ */
175
+ function baseValues(object, props) {
176
+ return baseMap(props, function(key) {
177
+ return object[key];
178
+ });
179
+ }
180
+
181
+ /**
182
+ * Used by `_.escape` to convert characters to HTML entities.
183
+ *
184
+ * @private
185
+ * @param {string} chr The matched character to escape.
186
+ * @returns {string} Returns the escaped character.
187
+ */
188
+ var escapeHtmlChar = basePropertyOf(htmlEscapes);
189
+
190
+ /**
191
+ * Creates a unary function that invokes `func` with its argument transformed.
192
+ *
193
+ * @private
194
+ * @param {Function} func The function to wrap.
195
+ * @param {Function} transform The argument transform.
196
+ * @returns {Function} Returns the new function.
197
+ */
198
+ function overArg(func, transform) {
199
+ return function(arg) {
200
+ return func(transform(arg));
201
+ };
202
+ }
203
+
204
+ /*--------------------------------------------------------------------------*/
205
+
206
+ /** Used for built-in method references. */
207
+ var arrayProto = Array.prototype,
208
+ objectProto = Object.prototype;
209
+
210
+ /** Used to check objects for own properties. */
211
+ var hasOwnProperty = objectProto.hasOwnProperty;
212
+
213
+ /** Used to generate unique IDs. */
214
+ var idCounter = 0;
215
+
216
+ /**
217
+ * Used to resolve the
218
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
219
+ * of values.
220
+ */
221
+ var nativeObjectToString = objectProto.toString;
222
+
223
+ /** Used to restore the original `_` reference in `_.noConflict`. */
224
+ var oldDash = root._;
225
+
226
+ /** Built-in value references. */
227
+ var objectCreate = Object.create,
228
+ propertyIsEnumerable = objectProto.propertyIsEnumerable;
229
+
230
+ /* Built-in method references for those with the same name as other `lodash` methods. */
231
+ var nativeIsFinite = root.isFinite,
232
+ nativeKeys = overArg(Object.keys, Object),
233
+ nativeMax = Math.max;
234
+
235
+ /*------------------------------------------------------------------------*/
236
+
237
+ /**
238
+ * Creates a `lodash` object which wraps `value` to enable implicit method
239
+ * chain sequences. Methods that operate on and return arrays, collections,
240
+ * and functions can be chained together. Methods that retrieve a single value
241
+ * or may return a primitive value will automatically end the chain sequence
242
+ * and return the unwrapped value. Otherwise, the value must be unwrapped
243
+ * with `_#value`.
244
+ *
245
+ * Explicit chain sequences, which must be unwrapped with `_#value`, may be
246
+ * enabled using `_.chain`.
247
+ *
248
+ * The execution of chained methods is lazy, that is, it's deferred until
249
+ * `_#value` is implicitly or explicitly called.
250
+ *
251
+ * Lazy evaluation allows several methods to support shortcut fusion.
252
+ * Shortcut fusion is an optimization to merge iteratee calls; this avoids
253
+ * the creation of intermediate arrays and can greatly reduce the number of
254
+ * iteratee executions. Sections of a chain sequence qualify for shortcut
255
+ * fusion if the section is applied to an array and iteratees accept only
256
+ * one argument. The heuristic for whether a section qualifies for shortcut
257
+ * fusion is subject to change.
258
+ *
259
+ * Chaining is supported in custom builds as long as the `_#value` method is
260
+ * directly or indirectly included in the build.
261
+ *
262
+ * In addition to lodash methods, wrappers have `Array` and `String` methods.
263
+ *
264
+ * The wrapper `Array` methods are:
265
+ * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`
266
+ *
267
+ * The wrapper `String` methods are:
268
+ * `replace` and `split`
269
+ *
270
+ * The wrapper methods that support shortcut fusion are:
271
+ * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,
272
+ * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,
273
+ * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`
274
+ *
275
+ * The chainable wrapper methods are:
276
+ * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,
277
+ * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,
278
+ * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,
279
+ * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,
280
+ * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,
281
+ * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,
282
+ * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,
283
+ * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,
284
+ * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,
285
+ * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,
286
+ * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
287
+ * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,
288
+ * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,
289
+ * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,
290
+ * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,
291
+ * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,
292
+ * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,
293
+ * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,
294
+ * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,
295
+ * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,
296
+ * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,
297
+ * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,
298
+ * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,
299
+ * `zipObject`, `zipObjectDeep`, and `zipWith`
300
+ *
301
+ * The wrapper methods that are **not** chainable by default are:
302
+ * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,
303
+ * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,
304
+ * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,
305
+ * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,
306
+ * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,
307
+ * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,
308
+ * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,
309
+ * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,
310
+ * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,
311
+ * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,
312
+ * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,
313
+ * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,
314
+ * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,
315
+ * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,
316
+ * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,
317
+ * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,
318
+ * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,
319
+ * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,
320
+ * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,
321
+ * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,
322
+ * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,
323
+ * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,
324
+ * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,
325
+ * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,
326
+ * `upperFirst`, `value`, and `words`
327
+ *
328
+ * @name _
329
+ * @constructor
330
+ * @category Seq
331
+ * @param {*} value The value to wrap in a `lodash` instance.
332
+ * @returns {Object} Returns the new `lodash` wrapper instance.
333
+ * @example
334
+ *
335
+ * function square(n) {
336
+ * return n * n;
337
+ * }
338
+ *
339
+ * var wrapped = _([1, 2, 3]);
340
+ *
341
+ * // Returns an unwrapped value.
342
+ * wrapped.reduce(_.add);
343
+ * // => 6
344
+ *
345
+ * // Returns a wrapped value.
346
+ * var squares = wrapped.map(square);
347
+ *
348
+ * _.isArray(squares);
349
+ * // => false
350
+ *
351
+ * _.isArray(squares.value());
352
+ * // => true
353
+ */
354
+ function lodash(value) {
355
+ return value instanceof LodashWrapper
356
+ ? value
357
+ : new LodashWrapper(value);
358
+ }
359
+
360
+ /**
361
+ * The base implementation of `_.create` without support for assigning
362
+ * properties to the created object.
363
+ *
364
+ * @private
365
+ * @param {Object} proto The object to inherit from.
366
+ * @returns {Object} Returns the new object.
367
+ */
368
+ var baseCreate = (function() {
369
+ function object() {}
370
+ return function(proto) {
371
+ if (!isObject(proto)) {
372
+ return {};
373
+ }
374
+ if (objectCreate) {
375
+ return objectCreate(proto);
376
+ }
377
+ object.prototype = proto;
378
+ var result = new object;
379
+ object.prototype = undefined;
380
+ return result;
381
+ };
382
+ }());
383
+
384
+ /**
385
+ * The base constructor for creating `lodash` wrapper objects.
386
+ *
387
+ * @private
388
+ * @param {*} value The value to wrap.
389
+ * @param {boolean} [chainAll] Enable explicit method chain sequences.
390
+ */
391
+ function LodashWrapper(value, chainAll) {
392
+ this.__wrapped__ = value;
393
+ this.__actions__ = [];
394
+ this.__chain__ = !!chainAll;
395
+ }
396
+
397
+ LodashWrapper.prototype = baseCreate(lodash.prototype);
398
+ LodashWrapper.prototype.constructor = LodashWrapper;
399
+
400
+ /*------------------------------------------------------------------------*/
401
+
402
+ /**
403
+ * Assigns `value` to `key` of `object` if the existing value is not equivalent
404
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
405
+ * for equality comparisons.
406
+ *
407
+ * @private
408
+ * @param {Object} object The object to modify.
409
+ * @param {string} key The key of the property to assign.
410
+ * @param {*} value The value to assign.
411
+ */
412
+ function assignValue(object, key, value) {
413
+ var objValue = object[key];
414
+ if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
415
+ (value === undefined && !(key in object))) {
416
+ baseAssignValue(object, key, value);
417
+ }
418
+ }
419
+
420
+ /**
421
+ * The base implementation of `assignValue` and `assignMergeValue` without
422
+ * value checks.
423
+ *
424
+ * @private
425
+ * @param {Object} object The object to modify.
426
+ * @param {string} key The key of the property to assign.
427
+ * @param {*} value The value to assign.
428
+ */
429
+ function baseAssignValue(object, key, value) {
430
+ object[key] = value;
431
+ }
432
+
433
+ /**
434
+ * The base implementation of `_.delay` and `_.defer` which accepts `args`
435
+ * to provide to `func`.
436
+ *
437
+ * @private
438
+ * @param {Function} func The function to delay.
439
+ * @param {number} wait The number of milliseconds to delay invocation.
440
+ * @param {Array} args The arguments to provide to `func`.
441
+ * @returns {number|Object} Returns the timer id or timeout object.
442
+ */
443
+ function baseDelay(func, wait, args) {
444
+ if (typeof func != 'function') {
445
+ throw new TypeError(FUNC_ERROR_TEXT);
446
+ }
447
+ return setTimeout(function() { func.apply(undefined, args); }, wait);
448
+ }
449
+
450
+ /**
451
+ * The base implementation of `_.forEach` without support for iteratee shorthands.
452
+ *
453
+ * @private
454
+ * @param {Array|Object} collection The collection to iterate over.
455
+ * @param {Function} iteratee The function invoked per iteration.
456
+ * @returns {Array|Object} Returns `collection`.
457
+ */
458
+ var baseEach = createBaseEach(baseForOwn);
459
+
460
+ /**
461
+ * The base implementation of `_.every` without support for iteratee shorthands.
462
+ *
463
+ * @private
464
+ * @param {Array|Object} collection The collection to iterate over.
465
+ * @param {Function} predicate The function invoked per iteration.
466
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
467
+ * else `false`
468
+ */
469
+ function baseEvery(collection, predicate) {
470
+ var result = true;
471
+ baseEach(collection, function(value, index, collection) {
472
+ result = !!predicate(value, index, collection);
473
+ return result;
474
+ });
475
+ return result;
476
+ }
477
+
478
+ /**
479
+ * The base implementation of methods like `_.max` and `_.min` which accepts a
480
+ * `comparator` to determine the extremum value.
481
+ *
482
+ * @private
483
+ * @param {Array} array The array to iterate over.
484
+ * @param {Function} iteratee The iteratee invoked per iteration.
485
+ * @param {Function} comparator The comparator used to compare values.
486
+ * @returns {*} Returns the extremum value.
487
+ */
488
+ function baseExtremum(array, iteratee, comparator) {
489
+ var index = -1,
490
+ length = array.length;
491
+
492
+ while (++index < length) {
493
+ var value = array[index],
494
+ current = iteratee(value);
495
+
496
+ if (current != null && (computed === undefined
497
+ ? (current === current && !false)
498
+ : comparator(current, computed)
499
+ )) {
500
+ var computed = current,
501
+ result = value;
502
+ }
503
+ }
504
+ return result;
505
+ }
506
+
507
+ /**
508
+ * The base implementation of `_.filter` without support for iteratee shorthands.
509
+ *
510
+ * @private
511
+ * @param {Array|Object} collection The collection to iterate over.
512
+ * @param {Function} predicate The function invoked per iteration.
513
+ * @returns {Array} Returns the new filtered array.
514
+ */
515
+ function baseFilter(collection, predicate) {
516
+ var result = [];
517
+ baseEach(collection, function(value, index, collection) {
518
+ if (predicate(value, index, collection)) {
519
+ result.push(value);
520
+ }
521
+ });
522
+ return result;
523
+ }
524
+
525
+ /**
526
+ * The base implementation of `_.flatten` with support for restricting flattening.
527
+ *
528
+ * @private
529
+ * @param {Array} array The array to flatten.
530
+ * @param {number} depth The maximum recursion depth.
531
+ * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
532
+ * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
533
+ * @param {Array} [result=[]] The initial result value.
534
+ * @returns {Array} Returns the new flattened array.
535
+ */
536
+ function baseFlatten(array, depth, predicate, isStrict, result) {
537
+ var index = -1,
538
+ length = array.length;
539
+
540
+ predicate || (predicate = isFlattenable);
541
+ result || (result = []);
542
+
543
+ while (++index < length) {
544
+ var value = array[index];
545
+ if (depth > 0 && predicate(value)) {
546
+ if (depth > 1) {
547
+ // Recursively flatten arrays (susceptible to call stack limits).
548
+ baseFlatten(value, depth - 1, predicate, isStrict, result);
549
+ } else {
550
+ arrayPush(result, value);
551
+ }
552
+ } else if (!isStrict) {
553
+ result[result.length] = value;
554
+ }
555
+ }
556
+ return result;
557
+ }
558
+
559
+ /**
560
+ * The base implementation of `baseForOwn` which iterates over `object`
561
+ * properties returned by `keysFunc` and invokes `iteratee` for each property.
562
+ * Iteratee functions may exit iteration early by explicitly returning `false`.
563
+ *
564
+ * @private
565
+ * @param {Object} object The object to iterate over.
566
+ * @param {Function} iteratee The function invoked per iteration.
567
+ * @param {Function} keysFunc The function to get the keys of `object`.
568
+ * @returns {Object} Returns `object`.
569
+ */
570
+ var baseFor = createBaseFor();
571
+
572
+ /**
573
+ * The base implementation of `_.forOwn` without support for iteratee shorthands.
574
+ *
575
+ * @private
576
+ * @param {Object} object The object to iterate over.
577
+ * @param {Function} iteratee The function invoked per iteration.
578
+ * @returns {Object} Returns `object`.
579
+ */
580
+ function baseForOwn(object, iteratee) {
581
+ return object && baseFor(object, iteratee, keys);
582
+ }
583
+
584
+ /**
585
+ * The base implementation of `_.functions` which creates an array of
586
+ * `object` function property names filtered from `props`.
587
+ *
588
+ * @private
589
+ * @param {Object} object The object to inspect.
590
+ * @param {Array} props The property names to filter.
591
+ * @returns {Array} Returns the function names.
592
+ */
593
+ function baseFunctions(object, props) {
594
+ return baseFilter(props, function(key) {
595
+ return isFunction(object[key]);
596
+ });
597
+ }
598
+
599
+ /**
600
+ * The base implementation of `getTag` without fallbacks for buggy environments.
601
+ *
602
+ * @private
603
+ * @param {*} value The value to query.
604
+ * @returns {string} Returns the `toStringTag`.
605
+ */
606
+ function baseGetTag(value) {
607
+ return objectToString(value);
608
+ }
609
+
610
+ /**
611
+ * The base implementation of `_.gt` which doesn't coerce arguments.
612
+ *
613
+ * @private
614
+ * @param {*} value The value to compare.
615
+ * @param {*} other The other value to compare.
616
+ * @returns {boolean} Returns `true` if `value` is greater than `other`,
617
+ * else `false`.
618
+ */
619
+ function baseGt(value, other) {
620
+ return value > other;
621
+ }
622
+
623
+ /**
624
+ * The base implementation of `_.isArguments`.
625
+ *
626
+ * @private
627
+ * @param {*} value The value to check.
628
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
629
+ */
630
+ var baseIsArguments = noop;
631
+
632
+ /**
633
+ * The base implementation of `_.isDate` without Node.js optimizations.
634
+ *
635
+ * @private
636
+ * @param {*} value The value to check.
637
+ * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
638
+ */
639
+ function baseIsDate(value) {
640
+ return isObjectLike(value) && baseGetTag(value) == dateTag;
641
+ }
642
+
643
+ /**
644
+ * The base implementation of `_.isEqual` which supports partial comparisons
645
+ * and tracks traversed objects.
646
+ *
647
+ * @private
648
+ * @param {*} value The value to compare.
649
+ * @param {*} other The other value to compare.
650
+ * @param {boolean} bitmask The bitmask flags.
651
+ * 1 - Unordered comparison
652
+ * 2 - Partial comparison
653
+ * @param {Function} [customizer] The function to customize comparisons.
654
+ * @param {Object} [stack] Tracks traversed `value` and `other` objects.
655
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
656
+ */
657
+ function baseIsEqual(value, other, bitmask, customizer, stack) {
658
+ if (value === other) {
659
+ return true;
660
+ }
661
+ if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
662
+ return value !== value && other !== other;
663
+ }
664
+ return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
665
+ }
666
+
667
+ /**
668
+ * A specialized version of `baseIsEqual` for arrays and objects which performs
669
+ * deep comparisons and tracks traversed objects enabling objects with circular
670
+ * references to be compared.
671
+ *
672
+ * @private
673
+ * @param {Object} object The object to compare.
674
+ * @param {Object} other The other object to compare.
675
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
676
+ * @param {Function} customizer The function to customize comparisons.
677
+ * @param {Function} equalFunc The function to determine equivalents of values.
678
+ * @param {Object} [stack] Tracks traversed `object` and `other` objects.
679
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
680
+ */
681
+ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
682
+ var objIsArr = isArray(object),
683
+ othIsArr = isArray(other),
684
+ objTag = objIsArr ? arrayTag : baseGetTag(object),
685
+ othTag = othIsArr ? arrayTag : baseGetTag(other);
686
+
687
+ objTag = objTag == argsTag ? objectTag : objTag;
688
+ othTag = othTag == argsTag ? objectTag : othTag;
689
+
690
+ var objIsObj = objTag == objectTag,
691
+ othIsObj = othTag == objectTag,
692
+ isSameTag = objTag == othTag;
693
+
694
+ stack || (stack = []);
695
+ var objStack = find(stack, function(entry) {
696
+ return entry[0] == object;
697
+ });
698
+ var othStack = find(stack, function(entry) {
699
+ return entry[0] == other;
700
+ });
701
+ if (objStack && othStack) {
702
+ return objStack[1] == other;
703
+ }
704
+ stack.push([object, other]);
705
+ stack.push([other, object]);
706
+ if (isSameTag && !objIsObj) {
707
+ var result = (objIsArr)
708
+ ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
709
+ : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
710
+ stack.pop();
711
+ return result;
712
+ }
713
+ if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
714
+ var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
715
+ othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
716
+
717
+ if (objIsWrapped || othIsWrapped) {
718
+ var objUnwrapped = objIsWrapped ? object.value() : object,
719
+ othUnwrapped = othIsWrapped ? other.value() : other;
720
+
721
+ var result = equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
722
+ stack.pop();
723
+ return result;
724
+ }
725
+ }
726
+ if (!isSameTag) {
727
+ return false;
728
+ }
729
+ var result = equalObjects(object, other, bitmask, customizer, equalFunc, stack);
730
+ stack.pop();
731
+ return result;
732
+ }
733
+
734
+ /**
735
+ * The base implementation of `_.isRegExp` without Node.js optimizations.
736
+ *
737
+ * @private
738
+ * @param {*} value The value to check.
739
+ * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
740
+ */
741
+ function baseIsRegExp(value) {
742
+ return isObjectLike(value) && baseGetTag(value) == regexpTag;
743
+ }
744
+
745
+ /**
746
+ * The base implementation of `_.iteratee`.
747
+ *
748
+ * @private
749
+ * @param {*} [value=_.identity] The value to convert to an iteratee.
750
+ * @returns {Function} Returns the iteratee.
751
+ */
752
+ function baseIteratee(func) {
753
+ if (typeof func == 'function') {
754
+ return func;
755
+ }
756
+ if (func == null) {
757
+ return identity;
758
+ }
759
+ return (typeof func == 'object' ? baseMatches : baseProperty)(func);
760
+ }
761
+
762
+ /**
763
+ * The base implementation of `_.lt` which doesn't coerce arguments.
764
+ *
765
+ * @private
766
+ * @param {*} value The value to compare.
767
+ * @param {*} other The other value to compare.
768
+ * @returns {boolean} Returns `true` if `value` is less than `other`,
769
+ * else `false`.
770
+ */
771
+ function baseLt(value, other) {
772
+ return value < other;
773
+ }
774
+
775
+ /**
776
+ * The base implementation of `_.map` without support for iteratee shorthands.
777
+ *
778
+ * @private
779
+ * @param {Array|Object} collection The collection to iterate over.
780
+ * @param {Function} iteratee The function invoked per iteration.
781
+ * @returns {Array} Returns the new mapped array.
782
+ */
783
+ function baseMap(collection, iteratee) {
784
+ var index = -1,
785
+ result = isArrayLike(collection) ? Array(collection.length) : [];
786
+
787
+ baseEach(collection, function(value, key, collection) {
788
+ result[++index] = iteratee(value, key, collection);
789
+ });
790
+ return result;
791
+ }
792
+
793
+ /**
794
+ * The base implementation of `_.matches` which doesn't clone `source`.
795
+ *
796
+ * @private
797
+ * @param {Object} source The object of property values to match.
798
+ * @returns {Function} Returns the new spec function.
799
+ */
800
+ function baseMatches(source) {
801
+ var props = nativeKeys(source);
802
+ return function(object) {
803
+ var length = props.length;
804
+ if (object == null) {
805
+ return !length;
806
+ }
807
+ object = Object(object);
808
+ while (length--) {
809
+ var key = props[length];
810
+ if (!(key in object &&
811
+ baseIsEqual(source[key], object[key], COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG)
812
+ )) {
813
+ return false;
814
+ }
815
+ }
816
+ return true;
817
+ };
818
+ }
819
+
820
+ /**
821
+ * The base implementation of `_.pick` without support for individual
822
+ * property identifiers.
823
+ *
824
+ * @private
825
+ * @param {Object} object The source object.
826
+ * @param {string[]} paths The property paths to pick.
827
+ * @returns {Object} Returns the new object.
828
+ */
829
+ function basePick(object, props) {
830
+ object = Object(object);
831
+ return reduce(props, function(result, key) {
832
+ if (key in object) {
833
+ result[key] = object[key];
834
+ }
835
+ return result;
836
+ }, {});
837
+ }
838
+
839
+ /**
840
+ * The base implementation of `_.rest` which doesn't validate or coerce arguments.
841
+ *
842
+ * @private
843
+ * @param {Function} func The function to apply a rest parameter to.
844
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
845
+ * @returns {Function} Returns the new function.
846
+ */
847
+ function baseRest(func, start) {
848
+ return setToString(overRest(func, start, identity), func + '');
849
+ }
850
+
851
+ /**
852
+ * The base implementation of `_.slice` without an iteratee call guard.
853
+ *
854
+ * @private
855
+ * @param {Array} array The array to slice.
856
+ * @param {number} [start=0] The start position.
857
+ * @param {number} [end=array.length] The end position.
858
+ * @returns {Array} Returns the slice of `array`.
859
+ */
860
+ function baseSlice(array, start, end) {
861
+ var index = -1,
862
+ length = array.length;
863
+
864
+ if (start < 0) {
865
+ start = -start > length ? 0 : (length + start);
866
+ }
867
+ end = end > length ? length : end;
868
+ if (end < 0) {
869
+ end += length;
870
+ }
871
+ length = start > end ? 0 : ((end - start) >>> 0);
872
+ start >>>= 0;
873
+
874
+ var result = Array(length);
875
+ while (++index < length) {
876
+ result[index] = array[index + start];
877
+ }
878
+ return result;
879
+ }
880
+
881
+ /**
882
+ * Copies the values of `source` to `array`.
883
+ *
884
+ * @private
885
+ * @param {Array} source The array to copy values from.
886
+ * @param {Array} [array=[]] The array to copy values to.
887
+ * @returns {Array} Returns `array`.
888
+ */
889
+ function copyArray(source) {
890
+ return baseSlice(source, 0, source.length);
891
+ }
892
+
893
+ /**
894
+ * The base implementation of `_.some` without support for iteratee shorthands.
895
+ *
896
+ * @private
897
+ * @param {Array|Object} collection The collection to iterate over.
898
+ * @param {Function} predicate The function invoked per iteration.
899
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
900
+ * else `false`.
901
+ */
902
+ function baseSome(collection, predicate) {
903
+ var result;
904
+
905
+ baseEach(collection, function(value, index, collection) {
906
+ result = predicate(value, index, collection);
907
+ return !result;
908
+ });
909
+ return !!result;
910
+ }
911
+
912
+ /**
913
+ * The base implementation of `wrapperValue` which returns the result of
914
+ * performing a sequence of actions on the unwrapped `value`, where each
915
+ * successive action is supplied the return value of the previous.
916
+ *
917
+ * @private
918
+ * @param {*} value The unwrapped value.
919
+ * @param {Array} actions Actions to perform to resolve the unwrapped value.
920
+ * @returns {*} Returns the resolved value.
921
+ */
922
+ function baseWrapperValue(value, actions) {
923
+ var result = value;
924
+ return reduce(actions, function(result, action) {
925
+ return action.func.apply(action.thisArg, arrayPush([result], action.args));
926
+ }, result);
927
+ }
928
+
929
+ /**
930
+ * Compares values to sort them in ascending order.
931
+ *
932
+ * @private
933
+ * @param {*} value The value to compare.
934
+ * @param {*} other The other value to compare.
935
+ * @returns {number} Returns the sort order indicator for `value`.
936
+ */
937
+ function compareAscending(value, other) {
938
+ if (value !== other) {
939
+ var valIsDefined = value !== undefined,
940
+ valIsNull = value === null,
941
+ valIsReflexive = value === value,
942
+ valIsSymbol = false;
943
+
944
+ var othIsDefined = other !== undefined,
945
+ othIsNull = other === null,
946
+ othIsReflexive = other === other,
947
+ othIsSymbol = false;
948
+
949
+ if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||
950
+ (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||
951
+ (valIsNull && othIsDefined && othIsReflexive) ||
952
+ (!valIsDefined && othIsReflexive) ||
953
+ !valIsReflexive) {
954
+ return 1;
955
+ }
956
+ if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||
957
+ (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||
958
+ (othIsNull && valIsDefined && valIsReflexive) ||
959
+ (!othIsDefined && valIsReflexive) ||
960
+ !othIsReflexive) {
961
+ return -1;
962
+ }
963
+ }
964
+ return 0;
965
+ }
966
+
967
+ /**
968
+ * Copies properties of `source` to `object`.
969
+ *
970
+ * @private
971
+ * @param {Object} source The object to copy properties from.
972
+ * @param {Array} props The property identifiers to copy.
973
+ * @param {Object} [object={}] The object to copy properties to.
974
+ * @param {Function} [customizer] The function to customize copied values.
975
+ * @returns {Object} Returns `object`.
976
+ */
977
+ function copyObject(source, props, object, customizer) {
978
+ var isNew = !object;
979
+ object || (object = {});
980
+
981
+ var index = -1,
982
+ length = props.length;
983
+
984
+ while (++index < length) {
985
+ var key = props[index];
986
+
987
+ var newValue = customizer
988
+ ? customizer(object[key], source[key], key, object, source)
989
+ : undefined;
990
+
991
+ if (newValue === undefined) {
992
+ newValue = source[key];
993
+ }
994
+ if (isNew) {
995
+ baseAssignValue(object, key, newValue);
996
+ } else {
997
+ assignValue(object, key, newValue);
998
+ }
999
+ }
1000
+ return object;
1001
+ }
1002
+
1003
+ /**
1004
+ * Creates a function like `_.assign`.
1005
+ *
1006
+ * @private
1007
+ * @param {Function} assigner The function to assign values.
1008
+ * @returns {Function} Returns the new assigner function.
1009
+ */
1010
+ function createAssigner(assigner) {
1011
+ return baseRest(function(object, sources) {
1012
+ var index = -1,
1013
+ length = sources.length,
1014
+ customizer = length > 1 ? sources[length - 1] : undefined;
1015
+
1016
+ customizer = (assigner.length > 3 && typeof customizer == 'function')
1017
+ ? (length--, customizer)
1018
+ : undefined;
1019
+
1020
+ object = Object(object);
1021
+ while (++index < length) {
1022
+ var source = sources[index];
1023
+ if (source) {
1024
+ assigner(object, source, index, customizer);
1025
+ }
1026
+ }
1027
+ return object;
1028
+ });
1029
+ }
1030
+
1031
+ /**
1032
+ * Creates a `baseEach` or `baseEachRight` function.
1033
+ *
1034
+ * @private
1035
+ * @param {Function} eachFunc The function to iterate over a collection.
1036
+ * @param {boolean} [fromRight] Specify iterating from right to left.
1037
+ * @returns {Function} Returns the new base function.
1038
+ */
1039
+ function createBaseEach(eachFunc, fromRight) {
1040
+ return function(collection, iteratee) {
1041
+ if (collection == null) {
1042
+ return collection;
1043
+ }
1044
+ if (!isArrayLike(collection)) {
1045
+ return eachFunc(collection, iteratee);
1046
+ }
1047
+ var length = collection.length,
1048
+ index = fromRight ? length : -1,
1049
+ iterable = Object(collection);
1050
+
1051
+ while ((fromRight ? index-- : ++index < length)) {
1052
+ if (iteratee(iterable[index], index, iterable) === false) {
1053
+ break;
1054
+ }
1055
+ }
1056
+ return collection;
1057
+ };
1058
+ }
1059
+
1060
+ /**
1061
+ * Creates a base function for methods like `_.forIn` and `_.forOwn`.
1062
+ *
1063
+ * @private
1064
+ * @param {boolean} [fromRight] Specify iterating from right to left.
1065
+ * @returns {Function} Returns the new base function.
1066
+ */
1067
+ function createBaseFor(fromRight) {
1068
+ return function(object, iteratee, keysFunc) {
1069
+ var index = -1,
1070
+ iterable = Object(object),
1071
+ props = keysFunc(object),
1072
+ length = props.length;
1073
+
1074
+ while (length--) {
1075
+ var key = props[fromRight ? length : ++index];
1076
+ if (iteratee(iterable[key], key, iterable) === false) {
1077
+ break;
1078
+ }
1079
+ }
1080
+ return object;
1081
+ };
1082
+ }
1083
+
1084
+ /**
1085
+ * Creates a function that produces an instance of `Ctor` regardless of
1086
+ * whether it was invoked as part of a `new` expression or by `call` or `apply`.
1087
+ *
1088
+ * @private
1089
+ * @param {Function} Ctor The constructor to wrap.
1090
+ * @returns {Function} Returns the new wrapped function.
1091
+ */
1092
+ function createCtor(Ctor) {
1093
+ return function() {
1094
+ // Use a `switch` statement to work with class constructors. See
1095
+ // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist
1096
+ // for more details.
1097
+ var args = arguments;
1098
+ var thisBinding = baseCreate(Ctor.prototype),
1099
+ result = Ctor.apply(thisBinding, args);
1100
+
1101
+ // Mimic the constructor's `return` behavior.
1102
+ // See https://es5.github.io/#x13.2.2 for more details.
1103
+ return isObject(result) ? result : thisBinding;
1104
+ };
1105
+ }
1106
+
1107
+ /**
1108
+ * Creates a `_.find` or `_.findLast` function.
1109
+ *
1110
+ * @private
1111
+ * @param {Function} findIndexFunc The function to find the collection index.
1112
+ * @returns {Function} Returns the new find function.
1113
+ */
1114
+ function createFind(findIndexFunc) {
1115
+ return function(collection, predicate, fromIndex) {
1116
+ var iterable = Object(collection);
1117
+ if (!isArrayLike(collection)) {
1118
+ var iteratee = baseIteratee(predicate, 3);
1119
+ collection = keys(collection);
1120
+ predicate = function(key) { return iteratee(iterable[key], key, iterable); };
1121
+ }
1122
+ var index = findIndexFunc(collection, predicate, fromIndex);
1123
+ return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;
1124
+ };
1125
+ }
1126
+
1127
+ /**
1128
+ * Creates a function that wraps `func` to invoke it with the `this` binding
1129
+ * of `thisArg` and `partials` prepended to the arguments it receives.
1130
+ *
1131
+ * @private
1132
+ * @param {Function} func The function to wrap.
1133
+ * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
1134
+ * @param {*} thisArg The `this` binding of `func`.
1135
+ * @param {Array} partials The arguments to prepend to those provided to
1136
+ * the new function.
1137
+ * @returns {Function} Returns the new wrapped function.
1138
+ */
1139
+ function createPartial(func, bitmask, thisArg, partials) {
1140
+ if (typeof func != 'function') {
1141
+ throw new TypeError(FUNC_ERROR_TEXT);
1142
+ }
1143
+ var isBind = bitmask & WRAP_BIND_FLAG,
1144
+ Ctor = createCtor(func);
1145
+
1146
+ function wrapper() {
1147
+ var argsIndex = -1,
1148
+ argsLength = arguments.length,
1149
+ leftIndex = -1,
1150
+ leftLength = partials.length,
1151
+ args = Array(leftLength + argsLength),
1152
+ fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
1153
+
1154
+ while (++leftIndex < leftLength) {
1155
+ args[leftIndex] = partials[leftIndex];
1156
+ }
1157
+ while (argsLength--) {
1158
+ args[leftIndex++] = arguments[++argsIndex];
1159
+ }
1160
+ return fn.apply(isBind ? thisArg : this, args);
1161
+ }
1162
+ return wrapper;
1163
+ }
1164
+
1165
+ /**
1166
+ * A specialized version of `baseIsEqualDeep` for arrays with support for
1167
+ * partial deep comparisons.
1168
+ *
1169
+ * @private
1170
+ * @param {Array} array The array to compare.
1171
+ * @param {Array} other The other array to compare.
1172
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
1173
+ * @param {Function} customizer The function to customize comparisons.
1174
+ * @param {Function} equalFunc The function to determine equivalents of values.
1175
+ * @param {Object} stack Tracks traversed `array` and `other` objects.
1176
+ * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
1177
+ */
1178
+ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
1179
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
1180
+ arrLength = array.length,
1181
+ othLength = other.length;
1182
+
1183
+ if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
1184
+ return false;
1185
+ }
1186
+ var index = -1,
1187
+ result = true,
1188
+ seen = (bitmask & COMPARE_UNORDERED_FLAG) ? [] : undefined;
1189
+
1190
+ // Ignore non-index properties.
1191
+ while (++index < arrLength) {
1192
+ var arrValue = array[index],
1193
+ othValue = other[index];
1194
+
1195
+ var compared;
1196
+ if (compared !== undefined) {
1197
+ if (compared) {
1198
+ continue;
1199
+ }
1200
+ result = false;
1201
+ break;
1202
+ }
1203
+ // Recursively compare arrays (susceptible to call stack limits).
1204
+ if (seen) {
1205
+ if (!baseSome(other, function(othValue, othIndex) {
1206
+ if (!indexOf(seen, othIndex) &&
1207
+ (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
1208
+ return seen.push(othIndex);
1209
+ }
1210
+ })) {
1211
+ result = false;
1212
+ break;
1213
+ }
1214
+ } else if (!(
1215
+ arrValue === othValue ||
1216
+ equalFunc(arrValue, othValue, bitmask, customizer, stack)
1217
+ )) {
1218
+ result = false;
1219
+ break;
1220
+ }
1221
+ }
1222
+ return result;
1223
+ }
1224
+
1225
+ /**
1226
+ * A specialized version of `baseIsEqualDeep` for comparing objects of
1227
+ * the same `toStringTag`.
1228
+ *
1229
+ * **Note:** This function only supports comparing values with tags of
1230
+ * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
1231
+ *
1232
+ * @private
1233
+ * @param {Object} object The object to compare.
1234
+ * @param {Object} other The other object to compare.
1235
+ * @param {string} tag The `toStringTag` of the objects to compare.
1236
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
1237
+ * @param {Function} customizer The function to customize comparisons.
1238
+ * @param {Function} equalFunc The function to determine equivalents of values.
1239
+ * @param {Object} stack Tracks traversed `object` and `other` objects.
1240
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
1241
+ */
1242
+ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
1243
+ switch (tag) {
1244
+
1245
+ case boolTag:
1246
+ case dateTag:
1247
+ case numberTag:
1248
+ // Coerce booleans to `1` or `0` and dates to milliseconds.
1249
+ // Invalid dates are coerced to `NaN`.
1250
+ return eq(+object, +other);
1251
+
1252
+ case errorTag:
1253
+ return object.name == other.name && object.message == other.message;
1254
+
1255
+ case regexpTag:
1256
+ case stringTag:
1257
+ // Coerce regexes to strings and treat strings, primitives and objects,
1258
+ // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
1259
+ // for more details.
1260
+ return object == (other + '');
1261
+
1262
+ }
1263
+ return false;
1264
+ }
1265
+
1266
+ /**
1267
+ * A specialized version of `baseIsEqualDeep` for objects with support for
1268
+ * partial deep comparisons.
1269
+ *
1270
+ * @private
1271
+ * @param {Object} object The object to compare.
1272
+ * @param {Object} other The other object to compare.
1273
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
1274
+ * @param {Function} customizer The function to customize comparisons.
1275
+ * @param {Function} equalFunc The function to determine equivalents of values.
1276
+ * @param {Object} stack Tracks traversed `object` and `other` objects.
1277
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
1278
+ */
1279
+ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
1280
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
1281
+ objProps = keys(object),
1282
+ objLength = objProps.length,
1283
+ othProps = keys(other),
1284
+ othLength = othProps.length;
1285
+
1286
+ if (objLength != othLength && !isPartial) {
1287
+ return false;
1288
+ }
1289
+ var index = objLength;
1290
+ while (index--) {
1291
+ var key = objProps[index];
1292
+ if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
1293
+ return false;
1294
+ }
1295
+ }
1296
+ var result = true;
1297
+
1298
+ var skipCtor = isPartial;
1299
+ while (++index < objLength) {
1300
+ key = objProps[index];
1301
+ var objValue = object[key],
1302
+ othValue = other[key];
1303
+
1304
+ var compared;
1305
+ // Recursively compare objects (susceptible to call stack limits).
1306
+ if (!(compared === undefined
1307
+ ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
1308
+ : compared
1309
+ )) {
1310
+ result = false;
1311
+ break;
1312
+ }
1313
+ skipCtor || (skipCtor = key == 'constructor');
1314
+ }
1315
+ if (result && !skipCtor) {
1316
+ var objCtor = object.constructor,
1317
+ othCtor = other.constructor;
1318
+
1319
+ // Non `Object` object instances with different constructors are not equal.
1320
+ if (objCtor != othCtor &&
1321
+ ('constructor' in object && 'constructor' in other) &&
1322
+ !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
1323
+ typeof othCtor == 'function' && othCtor instanceof othCtor)) {
1324
+ result = false;
1325
+ }
1326
+ }
1327
+ return result;
1328
+ }
1329
+
1330
+ /**
1331
+ * A specialized version of `baseRest` which flattens the rest array.
1332
+ *
1333
+ * @private
1334
+ * @param {Function} func The function to apply a rest parameter to.
1335
+ * @returns {Function} Returns the new function.
1336
+ */
1337
+ function flatRest(func) {
1338
+ return setToString(overRest(func, undefined, flatten), func + '');
1339
+ }
1340
+
1341
+ /**
1342
+ * Checks if `value` is a flattenable `arguments` object or array.
1343
+ *
1344
+ * @private
1345
+ * @param {*} value The value to check.
1346
+ * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
1347
+ */
1348
+ function isFlattenable(value) {
1349
+ return isArray(value) || isArguments(value);
1350
+ }
1351
+
1352
+ /**
1353
+ * Checks if `value` is a valid array-like index.
1354
+ *
1355
+ * @private
1356
+ * @param {*} value The value to check.
1357
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
1358
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
1359
+ */
1360
+ function isIndex(value, length) {
1361
+ var type = typeof value;
1362
+ length = length == null ? MAX_SAFE_INTEGER : length;
1363
+
1364
+ return !!length &&
1365
+ (type == 'number' ||
1366
+ (type != 'symbol' && reIsUint.test(value))) &&
1367
+ (value > -1 && value % 1 == 0 && value < length);
1368
+ }
1369
+
1370
+ /**
1371
+ * Checks if the given arguments are from an iteratee call.
1372
+ *
1373
+ * @private
1374
+ * @param {*} value The potential iteratee value argument.
1375
+ * @param {*} index The potential iteratee index or key argument.
1376
+ * @param {*} object The potential iteratee object argument.
1377
+ * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
1378
+ * else `false`.
1379
+ */
1380
+ function isIterateeCall(value, index, object) {
1381
+ if (!isObject(object)) {
1382
+ return false;
1383
+ }
1384
+ var type = typeof index;
1385
+ if (type == 'number'
1386
+ ? (isArrayLike(object) && isIndex(index, object.length))
1387
+ : (type == 'string' && index in object)
1388
+ ) {
1389
+ return eq(object[index], value);
1390
+ }
1391
+ return false;
1392
+ }
1393
+
1394
+ /**
1395
+ * This function is like
1396
+ * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
1397
+ * except that it includes inherited enumerable properties.
1398
+ *
1399
+ * @private
1400
+ * @param {Object} object The object to query.
1401
+ * @returns {Array} Returns the array of property names.
1402
+ */
1403
+ function nativeKeysIn(object) {
1404
+ var result = [];
1405
+ if (object != null) {
1406
+ for (var key in Object(object)) {
1407
+ result.push(key);
1408
+ }
1409
+ }
1410
+ return result;
1411
+ }
1412
+
1413
+ /**
1414
+ * Converts `value` to a string using `Object.prototype.toString`.
1415
+ *
1416
+ * @private
1417
+ * @param {*} value The value to convert.
1418
+ * @returns {string} Returns the converted string.
1419
+ */
1420
+ function objectToString(value) {
1421
+ return nativeObjectToString.call(value);
1422
+ }
1423
+
1424
+ /**
1425
+ * A specialized version of `baseRest` which transforms the rest array.
1426
+ *
1427
+ * @private
1428
+ * @param {Function} func The function to apply a rest parameter to.
1429
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
1430
+ * @param {Function} transform The rest array transform.
1431
+ * @returns {Function} Returns the new function.
1432
+ */
1433
+ function overRest(func, start, transform) {
1434
+ start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
1435
+ return function() {
1436
+ var args = arguments,
1437
+ index = -1,
1438
+ length = nativeMax(args.length - start, 0),
1439
+ array = Array(length);
1440
+
1441
+ while (++index < length) {
1442
+ array[index] = args[start + index];
1443
+ }
1444
+ index = -1;
1445
+ var otherArgs = Array(start + 1);
1446
+ while (++index < start) {
1447
+ otherArgs[index] = args[index];
1448
+ }
1449
+ otherArgs[start] = transform(array);
1450
+ return func.apply(this, otherArgs);
1451
+ };
1452
+ }
1453
+
1454
+ /**
1455
+ * Sets the `toString` method of `func` to return `string`.
1456
+ *
1457
+ * @private
1458
+ * @param {Function} func The function to modify.
1459
+ * @param {Function} string The `toString` result.
1460
+ * @returns {Function} Returns `func`.
1461
+ */
1462
+ var setToString = identity;
1463
+
1464
+ /*------------------------------------------------------------------------*/
1465
+
1466
+ /**
1467
+ * Creates an array with all falsey values removed. The values `false`, `null`,
1468
+ * `0`, `""`, `undefined`, and `NaN` are falsey.
1469
+ *
1470
+ * @static
1471
+ * @memberOf _
1472
+ * @since 0.1.0
1473
+ * @category Array
1474
+ * @param {Array} array The array to compact.
1475
+ * @returns {Array} Returns the new array of filtered values.
1476
+ * @example
1477
+ *
1478
+ * _.compact([0, 1, false, 2, '', 3]);
1479
+ * // => [1, 2, 3]
1480
+ */
1481
+ function compact(array) {
1482
+ return baseFilter(array, Boolean);
1483
+ }
1484
+
1485
+ /**
1486
+ * Creates a new array concatenating `array` with any additional arrays
1487
+ * and/or values.
1488
+ *
1489
+ * @static
1490
+ * @memberOf _
1491
+ * @since 4.0.0
1492
+ * @category Array
1493
+ * @param {Array} array The array to concatenate.
1494
+ * @param {...*} [values] The values to concatenate.
1495
+ * @returns {Array} Returns the new concatenated array.
1496
+ * @example
1497
+ *
1498
+ * var array = [1];
1499
+ * var other = _.concat(array, 2, [3], [[4]]);
1500
+ *
1501
+ * console.log(other);
1502
+ * // => [1, 2, 3, [4]]
1503
+ *
1504
+ * console.log(array);
1505
+ * // => [1]
1506
+ */
1507
+ function concat() {
1508
+ var length = arguments.length;
1509
+ if (!length) {
1510
+ return [];
1511
+ }
1512
+ var args = Array(length - 1),
1513
+ array = arguments[0],
1514
+ index = length;
1515
+
1516
+ while (index--) {
1517
+ args[index - 1] = arguments[index];
1518
+ }
1519
+ return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));
1520
+ }
1521
+
1522
+ /**
1523
+ * This method is like `_.find` except that it returns the index of the first
1524
+ * element `predicate` returns truthy for instead of the element itself.
1525
+ *
1526
+ * @static
1527
+ * @memberOf _
1528
+ * @since 1.1.0
1529
+ * @category Array
1530
+ * @param {Array} array The array to inspect.
1531
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
1532
+ * @param {number} [fromIndex=0] The index to search from.
1533
+ * @returns {number} Returns the index of the found element, else `-1`.
1534
+ * @example
1535
+ *
1536
+ * var users = [
1537
+ * { 'user': 'barney', 'active': false },
1538
+ * { 'user': 'fred', 'active': false },
1539
+ * { 'user': 'pebbles', 'active': true }
1540
+ * ];
1541
+ *
1542
+ * _.findIndex(users, function(o) { return o.user == 'barney'; });
1543
+ * // => 0
1544
+ *
1545
+ * // The `_.matches` iteratee shorthand.
1546
+ * _.findIndex(users, { 'user': 'fred', 'active': false });
1547
+ * // => 1
1548
+ *
1549
+ * // The `_.matchesProperty` iteratee shorthand.
1550
+ * _.findIndex(users, ['active', false]);
1551
+ * // => 0
1552
+ *
1553
+ * // The `_.property` iteratee shorthand.
1554
+ * _.findIndex(users, 'active');
1555
+ * // => 2
1556
+ */
1557
+ function findIndex(array, predicate, fromIndex) {
1558
+ var length = array == null ? 0 : array.length;
1559
+ if (!length) {
1560
+ return -1;
1561
+ }
1562
+ var index = fromIndex == null ? 0 : toInteger(fromIndex);
1563
+ if (index < 0) {
1564
+ index = nativeMax(length + index, 0);
1565
+ }
1566
+ return baseFindIndex(array, baseIteratee(predicate, 3), index);
1567
+ }
1568
+
1569
+ /**
1570
+ * Flattens `array` a single level deep.
1571
+ *
1572
+ * @static
1573
+ * @memberOf _
1574
+ * @since 0.1.0
1575
+ * @category Array
1576
+ * @param {Array} array The array to flatten.
1577
+ * @returns {Array} Returns the new flattened array.
1578
+ * @example
1579
+ *
1580
+ * _.flatten([1, [2, [3, [4]], 5]]);
1581
+ * // => [1, 2, [3, [4]], 5]
1582
+ */
1583
+ function flatten(array) {
1584
+ var length = array == null ? 0 : array.length;
1585
+ return length ? baseFlatten(array, 1) : [];
1586
+ }
1587
+
1588
+ /**
1589
+ * Recursively flattens `array`.
1590
+ *
1591
+ * @static
1592
+ * @memberOf _
1593
+ * @since 3.0.0
1594
+ * @category Array
1595
+ * @param {Array} array The array to flatten.
1596
+ * @returns {Array} Returns the new flattened array.
1597
+ * @example
1598
+ *
1599
+ * _.flattenDeep([1, [2, [3, [4]], 5]]);
1600
+ * // => [1, 2, 3, 4, 5]
1601
+ */
1602
+ function flattenDeep(array) {
1603
+ var length = array == null ? 0 : array.length;
1604
+ return length ? baseFlatten(array, INFINITY) : [];
1605
+ }
1606
+
1607
+ /**
1608
+ * Gets the first element of `array`.
1609
+ *
1610
+ * @static
1611
+ * @memberOf _
1612
+ * @since 0.1.0
1613
+ * @alias first
1614
+ * @category Array
1615
+ * @param {Array} array The array to query.
1616
+ * @returns {*} Returns the first element of `array`.
1617
+ * @example
1618
+ *
1619
+ * _.head([1, 2, 3]);
1620
+ * // => 1
1621
+ *
1622
+ * _.head([]);
1623
+ * // => undefined
1624
+ */
1625
+ function head(array) {
1626
+ return (array && array.length) ? array[0] : undefined;
1627
+ }
1628
+
1629
+ /**
1630
+ * Gets the index at which the first occurrence of `value` is found in `array`
1631
+ * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
1632
+ * for equality comparisons. If `fromIndex` is negative, it's used as the
1633
+ * offset from the end of `array`.
1634
+ *
1635
+ * @static
1636
+ * @memberOf _
1637
+ * @since 0.1.0
1638
+ * @category Array
1639
+ * @param {Array} array The array to inspect.
1640
+ * @param {*} value The value to search for.
1641
+ * @param {number} [fromIndex=0] The index to search from.
1642
+ * @returns {number} Returns the index of the matched value, else `-1`.
1643
+ * @example
1644
+ *
1645
+ * _.indexOf([1, 2, 1, 2], 2);
1646
+ * // => 1
1647
+ *
1648
+ * // Search from the `fromIndex`.
1649
+ * _.indexOf([1, 2, 1, 2], 2, 2);
1650
+ * // => 3
1651
+ */
1652
+ function indexOf(array, value, fromIndex) {
1653
+ var length = array == null ? 0 : array.length;
1654
+ if (typeof fromIndex == 'number') {
1655
+ fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex;
1656
+ } else {
1657
+ fromIndex = 0;
1658
+ }
1659
+ var index = (fromIndex || 0) - 1,
1660
+ isReflexive = value === value;
1661
+
1662
+ while (++index < length) {
1663
+ var other = array[index];
1664
+ if ((isReflexive ? other === value : other !== other)) {
1665
+ return index;
1666
+ }
1667
+ }
1668
+ return -1;
1669
+ }
1670
+
1671
+ /**
1672
+ * Gets the last element of `array`.
1673
+ *
1674
+ * @static
1675
+ * @memberOf _
1676
+ * @since 0.1.0
1677
+ * @category Array
1678
+ * @param {Array} array The array to query.
1679
+ * @returns {*} Returns the last element of `array`.
1680
+ * @example
1681
+ *
1682
+ * _.last([1, 2, 3]);
1683
+ * // => 3
1684
+ */
1685
+ function last(array) {
1686
+ var length = array == null ? 0 : array.length;
1687
+ return length ? array[length - 1] : undefined;
1688
+ }
1689
+
1690
+ /**
1691
+ * Creates a slice of `array` from `start` up to, but not including, `end`.
1692
+ *
1693
+ * **Note:** This method is used instead of
1694
+ * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are
1695
+ * returned.
1696
+ *
1697
+ * @static
1698
+ * @memberOf _
1699
+ * @since 3.0.0
1700
+ * @category Array
1701
+ * @param {Array} array The array to slice.
1702
+ * @param {number} [start=0] The start position.
1703
+ * @param {number} [end=array.length] The end position.
1704
+ * @returns {Array} Returns the slice of `array`.
1705
+ */
1706
+ function slice(array, start, end) {
1707
+ var length = array == null ? 0 : array.length;
1708
+ start = start == null ? 0 : +start;
1709
+ end = end === undefined ? length : +end;
1710
+ return length ? baseSlice(array, start, end) : [];
1711
+ }
1712
+
1713
+ /*------------------------------------------------------------------------*/
1714
+
1715
+ /**
1716
+ * Creates a `lodash` wrapper instance that wraps `value` with explicit method
1717
+ * chain sequences enabled. The result of such sequences must be unwrapped
1718
+ * with `_#value`.
1719
+ *
1720
+ * @static
1721
+ * @memberOf _
1722
+ * @since 1.3.0
1723
+ * @category Seq
1724
+ * @param {*} value The value to wrap.
1725
+ * @returns {Object} Returns the new `lodash` wrapper instance.
1726
+ * @example
1727
+ *
1728
+ * var users = [
1729
+ * { 'user': 'barney', 'age': 36 },
1730
+ * { 'user': 'fred', 'age': 40 },
1731
+ * { 'user': 'pebbles', 'age': 1 }
1732
+ * ];
1733
+ *
1734
+ * var youngest = _
1735
+ * .chain(users)
1736
+ * .sortBy('age')
1737
+ * .map(function(o) {
1738
+ * return o.user + ' is ' + o.age;
1739
+ * })
1740
+ * .head()
1741
+ * .value();
1742
+ * // => 'pebbles is 1'
1743
+ */
1744
+ function chain(value) {
1745
+ var result = lodash(value);
1746
+ result.__chain__ = true;
1747
+ return result;
1748
+ }
1749
+
1750
+ /**
1751
+ * This method invokes `interceptor` and returns `value`. The interceptor
1752
+ * is invoked with one argument; (value). The purpose of this method is to
1753
+ * "tap into" a method chain sequence in order to modify intermediate results.
1754
+ *
1755
+ * @static
1756
+ * @memberOf _
1757
+ * @since 0.1.0
1758
+ * @category Seq
1759
+ * @param {*} value The value to provide to `interceptor`.
1760
+ * @param {Function} interceptor The function to invoke.
1761
+ * @returns {*} Returns `value`.
1762
+ * @example
1763
+ *
1764
+ * _([1, 2, 3])
1765
+ * .tap(function(array) {
1766
+ * // Mutate input array.
1767
+ * array.pop();
1768
+ * })
1769
+ * .reverse()
1770
+ * .value();
1771
+ * // => [2, 1]
1772
+ */
1773
+ function tap(value, interceptor) {
1774
+ interceptor(value);
1775
+ return value;
1776
+ }
1777
+
1778
+ /**
1779
+ * This method is like `_.tap` except that it returns the result of `interceptor`.
1780
+ * The purpose of this method is to "pass thru" values replacing intermediate
1781
+ * results in a method chain sequence.
1782
+ *
1783
+ * @static
1784
+ * @memberOf _
1785
+ * @since 3.0.0
1786
+ * @category Seq
1787
+ * @param {*} value The value to provide to `interceptor`.
1788
+ * @param {Function} interceptor The function to invoke.
1789
+ * @returns {*} Returns the result of `interceptor`.
1790
+ * @example
1791
+ *
1792
+ * _(' abc ')
1793
+ * .chain()
1794
+ * .trim()
1795
+ * .thru(function(value) {
1796
+ * return [value];
1797
+ * })
1798
+ * .value();
1799
+ * // => ['abc']
1800
+ */
1801
+ function thru(value, interceptor) {
1802
+ return interceptor(value);
1803
+ }
1804
+
1805
+ /**
1806
+ * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.
1807
+ *
1808
+ * @name chain
1809
+ * @memberOf _
1810
+ * @since 0.1.0
1811
+ * @category Seq
1812
+ * @returns {Object} Returns the new `lodash` wrapper instance.
1813
+ * @example
1814
+ *
1815
+ * var users = [
1816
+ * { 'user': 'barney', 'age': 36 },
1817
+ * { 'user': 'fred', 'age': 40 }
1818
+ * ];
1819
+ *
1820
+ * // A sequence without explicit chaining.
1821
+ * _(users).head();
1822
+ * // => { 'user': 'barney', 'age': 36 }
1823
+ *
1824
+ * // A sequence with explicit chaining.
1825
+ * _(users)
1826
+ * .chain()
1827
+ * .head()
1828
+ * .pick('user')
1829
+ * .value();
1830
+ * // => { 'user': 'barney' }
1831
+ */
1832
+ function wrapperChain() {
1833
+ return chain(this);
1834
+ }
1835
+
1836
+ /**
1837
+ * Executes the chain sequence to resolve the unwrapped value.
1838
+ *
1839
+ * @name value
1840
+ * @memberOf _
1841
+ * @since 0.1.0
1842
+ * @alias toJSON, valueOf
1843
+ * @category Seq
1844
+ * @returns {*} Returns the resolved unwrapped value.
1845
+ * @example
1846
+ *
1847
+ * _([1, 2, 3]).value();
1848
+ * // => [1, 2, 3]
1849
+ */
1850
+ function wrapperValue() {
1851
+ return baseWrapperValue(this.__wrapped__, this.__actions__);
1852
+ }
1853
+
1854
+ /*------------------------------------------------------------------------*/
1855
+
1856
+ /**
1857
+ * Checks if `predicate` returns truthy for **all** elements of `collection`.
1858
+ * Iteration is stopped once `predicate` returns falsey. The predicate is
1859
+ * invoked with three arguments: (value, index|key, collection).
1860
+ *
1861
+ * **Note:** This method returns `true` for
1862
+ * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because
1863
+ * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of
1864
+ * elements of empty collections.
1865
+ *
1866
+ * @static
1867
+ * @memberOf _
1868
+ * @since 0.1.0
1869
+ * @category Collection
1870
+ * @param {Array|Object} collection The collection to iterate over.
1871
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
1872
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
1873
+ * @returns {boolean} Returns `true` if all elements pass the predicate check,
1874
+ * else `false`.
1875
+ * @example
1876
+ *
1877
+ * _.every([true, 1, null, 'yes'], Boolean);
1878
+ * // => false
1879
+ *
1880
+ * var users = [
1881
+ * { 'user': 'barney', 'age': 36, 'active': false },
1882
+ * { 'user': 'fred', 'age': 40, 'active': false }
1883
+ * ];
1884
+ *
1885
+ * // The `_.matches` iteratee shorthand.
1886
+ * _.every(users, { 'user': 'barney', 'active': false });
1887
+ * // => false
1888
+ *
1889
+ * // The `_.matchesProperty` iteratee shorthand.
1890
+ * _.every(users, ['active', false]);
1891
+ * // => true
1892
+ *
1893
+ * // The `_.property` iteratee shorthand.
1894
+ * _.every(users, 'active');
1895
+ * // => false
1896
+ */
1897
+ function every(collection, predicate, guard) {
1898
+ predicate = guard ? undefined : predicate;
1899
+ return baseEvery(collection, baseIteratee(predicate));
1900
+ }
1901
+
1902
+ /**
1903
+ * Iterates over elements of `collection`, returning an array of all elements
1904
+ * `predicate` returns truthy for. The predicate is invoked with three
1905
+ * arguments: (value, index|key, collection).
1906
+ *
1907
+ * **Note:** Unlike `_.remove`, this method returns a new array.
1908
+ *
1909
+ * @static
1910
+ * @memberOf _
1911
+ * @since 0.1.0
1912
+ * @category Collection
1913
+ * @param {Array|Object} collection The collection to iterate over.
1914
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
1915
+ * @returns {Array} Returns the new filtered array.
1916
+ * @see _.reject
1917
+ * @example
1918
+ *
1919
+ * var users = [
1920
+ * { 'user': 'barney', 'age': 36, 'active': true },
1921
+ * { 'user': 'fred', 'age': 40, 'active': false }
1922
+ * ];
1923
+ *
1924
+ * _.filter(users, function(o) { return !o.active; });
1925
+ * // => objects for ['fred']
1926
+ *
1927
+ * // The `_.matches` iteratee shorthand.
1928
+ * _.filter(users, { 'age': 36, 'active': true });
1929
+ * // => objects for ['barney']
1930
+ *
1931
+ * // The `_.matchesProperty` iteratee shorthand.
1932
+ * _.filter(users, ['active', false]);
1933
+ * // => objects for ['fred']
1934
+ *
1935
+ * // The `_.property` iteratee shorthand.
1936
+ * _.filter(users, 'active');
1937
+ * // => objects for ['barney']
1938
+ */
1939
+ function filter(collection, predicate) {
1940
+ return baseFilter(collection, baseIteratee(predicate));
1941
+ }
1942
+
1943
+ /**
1944
+ * Iterates over elements of `collection`, returning the first element
1945
+ * `predicate` returns truthy for. The predicate is invoked with three
1946
+ * arguments: (value, index|key, collection).
1947
+ *
1948
+ * @static
1949
+ * @memberOf _
1950
+ * @since 0.1.0
1951
+ * @category Collection
1952
+ * @param {Array|Object} collection The collection to inspect.
1953
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
1954
+ * @param {number} [fromIndex=0] The index to search from.
1955
+ * @returns {*} Returns the matched element, else `undefined`.
1956
+ * @example
1957
+ *
1958
+ * var users = [
1959
+ * { 'user': 'barney', 'age': 36, 'active': true },
1960
+ * { 'user': 'fred', 'age': 40, 'active': false },
1961
+ * { 'user': 'pebbles', 'age': 1, 'active': true }
1962
+ * ];
1963
+ *
1964
+ * _.find(users, function(o) { return o.age < 40; });
1965
+ * // => object for 'barney'
1966
+ *
1967
+ * // The `_.matches` iteratee shorthand.
1968
+ * _.find(users, { 'age': 1, 'active': true });
1969
+ * // => object for 'pebbles'
1970
+ *
1971
+ * // The `_.matchesProperty` iteratee shorthand.
1972
+ * _.find(users, ['active', false]);
1973
+ * // => object for 'fred'
1974
+ *
1975
+ * // The `_.property` iteratee shorthand.
1976
+ * _.find(users, 'active');
1977
+ * // => object for 'barney'
1978
+ */
1979
+ var find = createFind(findIndex);
1980
+
1981
+ /**
1982
+ * Iterates over elements of `collection` and invokes `iteratee` for each element.
1983
+ * The iteratee is invoked with three arguments: (value, index|key, collection).
1984
+ * Iteratee functions may exit iteration early by explicitly returning `false`.
1985
+ *
1986
+ * **Note:** As with other "Collections" methods, objects with a "length"
1987
+ * property are iterated like arrays. To avoid this behavior use `_.forIn`
1988
+ * or `_.forOwn` for object iteration.
1989
+ *
1990
+ * @static
1991
+ * @memberOf _
1992
+ * @since 0.1.0
1993
+ * @alias each
1994
+ * @category Collection
1995
+ * @param {Array|Object} collection The collection to iterate over.
1996
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
1997
+ * @returns {Array|Object} Returns `collection`.
1998
+ * @see _.forEachRight
1999
+ * @example
2000
+ *
2001
+ * _.forEach([1, 2], function(value) {
2002
+ * console.log(value);
2003
+ * });
2004
+ * // => Logs `1` then `2`.
2005
+ *
2006
+ * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {
2007
+ * console.log(key);
2008
+ * });
2009
+ * // => Logs 'a' then 'b' (iteration order is not guaranteed).
2010
+ */
2011
+ function forEach(collection, iteratee) {
2012
+ return baseEach(collection, baseIteratee(iteratee));
2013
+ }
2014
+
2015
+ /**
2016
+ * Creates an array of values by running each element in `collection` thru
2017
+ * `iteratee`. The iteratee is invoked with three arguments:
2018
+ * (value, index|key, collection).
2019
+ *
2020
+ * Many lodash methods are guarded to work as iteratees for methods like
2021
+ * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
2022
+ *
2023
+ * The guarded methods are:
2024
+ * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,
2025
+ * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,
2026
+ * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,
2027
+ * `template`, `trim`, `trimEnd`, `trimStart`, and `words`
2028
+ *
2029
+ * @static
2030
+ * @memberOf _
2031
+ * @since 0.1.0
2032
+ * @category Collection
2033
+ * @param {Array|Object} collection The collection to iterate over.
2034
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
2035
+ * @returns {Array} Returns the new mapped array.
2036
+ * @example
2037
+ *
2038
+ * function square(n) {
2039
+ * return n * n;
2040
+ * }
2041
+ *
2042
+ * _.map([4, 8], square);
2043
+ * // => [16, 64]
2044
+ *
2045
+ * _.map({ 'a': 4, 'b': 8 }, square);
2046
+ * // => [16, 64] (iteration order is not guaranteed)
2047
+ *
2048
+ * var users = [
2049
+ * { 'user': 'barney' },
2050
+ * { 'user': 'fred' }
2051
+ * ];
2052
+ *
2053
+ * // The `_.property` iteratee shorthand.
2054
+ * _.map(users, 'user');
2055
+ * // => ['barney', 'fred']
2056
+ */
2057
+ function map(collection, iteratee) {
2058
+ return baseMap(collection, baseIteratee(iteratee));
2059
+ }
2060
+
2061
+ /**
2062
+ * Reduces `collection` to a value which is the accumulated result of running
2063
+ * each element in `collection` thru `iteratee`, where each successive
2064
+ * invocation is supplied the return value of the previous. If `accumulator`
2065
+ * is not given, the first element of `collection` is used as the initial
2066
+ * value. The iteratee is invoked with four arguments:
2067
+ * (accumulator, value, index|key, collection).
2068
+ *
2069
+ * Many lodash methods are guarded to work as iteratees for methods like
2070
+ * `_.reduce`, `_.reduceRight`, and `_.transform`.
2071
+ *
2072
+ * The guarded methods are:
2073
+ * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,
2074
+ * and `sortBy`
2075
+ *
2076
+ * @static
2077
+ * @memberOf _
2078
+ * @since 0.1.0
2079
+ * @category Collection
2080
+ * @param {Array|Object} collection The collection to iterate over.
2081
+ * @param {Function} [iteratee=_.identity] The function invoked per iteration.
2082
+ * @param {*} [accumulator] The initial value.
2083
+ * @returns {*} Returns the accumulated value.
2084
+ * @see _.reduceRight
2085
+ * @example
2086
+ *
2087
+ * _.reduce([1, 2], function(sum, n) {
2088
+ * return sum + n;
2089
+ * }, 0);
2090
+ * // => 3
2091
+ *
2092
+ * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {
2093
+ * (result[value] || (result[value] = [])).push(key);
2094
+ * return result;
2095
+ * }, {});
2096
+ * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)
2097
+ */
2098
+ function reduce(collection, iteratee, accumulator) {
2099
+ return baseReduce(collection, baseIteratee(iteratee), accumulator, arguments.length < 3, baseEach);
2100
+ }
2101
+
2102
+ /**
2103
+ * Gets the size of `collection` by returning its length for array-like
2104
+ * values or the number of own enumerable string keyed properties for objects.
2105
+ *
2106
+ * @static
2107
+ * @memberOf _
2108
+ * @since 0.1.0
2109
+ * @category Collection
2110
+ * @param {Array|Object|string} collection The collection to inspect.
2111
+ * @returns {number} Returns the collection size.
2112
+ * @example
2113
+ *
2114
+ * _.size([1, 2, 3]);
2115
+ * // => 3
2116
+ *
2117
+ * _.size({ 'a': 1, 'b': 2 });
2118
+ * // => 2
2119
+ *
2120
+ * _.size('pebbles');
2121
+ * // => 7
2122
+ */
2123
+ function size(collection) {
2124
+ if (collection == null) {
2125
+ return 0;
2126
+ }
2127
+ collection = isArrayLike(collection) ? collection : nativeKeys(collection);
2128
+ return collection.length;
2129
+ }
2130
+
2131
+ /**
2132
+ * Checks if `predicate` returns truthy for **any** element of `collection`.
2133
+ * Iteration is stopped once `predicate` returns truthy. The predicate is
2134
+ * invoked with three arguments: (value, index|key, collection).
2135
+ *
2136
+ * @static
2137
+ * @memberOf _
2138
+ * @since 0.1.0
2139
+ * @category Collection
2140
+ * @param {Array|Object} collection The collection to iterate over.
2141
+ * @param {Function} [predicate=_.identity] The function invoked per iteration.
2142
+ * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
2143
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
2144
+ * else `false`.
2145
+ * @example
2146
+ *
2147
+ * _.some([null, 0, 'yes', false], Boolean);
2148
+ * // => true
2149
+ *
2150
+ * var users = [
2151
+ * { 'user': 'barney', 'active': true },
2152
+ * { 'user': 'fred', 'active': false }
2153
+ * ];
2154
+ *
2155
+ * // The `_.matches` iteratee shorthand.
2156
+ * _.some(users, { 'user': 'barney', 'active': false });
2157
+ * // => false
2158
+ *
2159
+ * // The `_.matchesProperty` iteratee shorthand.
2160
+ * _.some(users, ['active', false]);
2161
+ * // => true
2162
+ *
2163
+ * // The `_.property` iteratee shorthand.
2164
+ * _.some(users, 'active');
2165
+ * // => true
2166
+ */
2167
+ function some(collection, predicate, guard) {
2168
+ predicate = guard ? undefined : predicate;
2169
+ return baseSome(collection, baseIteratee(predicate));
2170
+ }
2171
+
2172
+ /**
2173
+ * Creates an array of elements, sorted in ascending order by the results of
2174
+ * running each element in a collection thru each iteratee. This method
2175
+ * performs a stable sort, that is, it preserves the original sort order of
2176
+ * equal elements. The iteratees are invoked with one argument: (value).
2177
+ *
2178
+ * @static
2179
+ * @memberOf _
2180
+ * @since 0.1.0
2181
+ * @category Collection
2182
+ * @param {Array|Object} collection The collection to iterate over.
2183
+ * @param {...(Function|Function[])} [iteratees=[_.identity]]
2184
+ * The iteratees to sort by.
2185
+ * @returns {Array} Returns the new sorted array.
2186
+ * @example
2187
+ *
2188
+ * var users = [
2189
+ * { 'user': 'fred', 'age': 48 },
2190
+ * { 'user': 'barney', 'age': 36 },
2191
+ * { 'user': 'fred', 'age': 40 },
2192
+ * { 'user': 'barney', 'age': 34 }
2193
+ * ];
2194
+ *
2195
+ * _.sortBy(users, [function(o) { return o.user; }]);
2196
+ * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
2197
+ *
2198
+ * _.sortBy(users, ['user', 'age']);
2199
+ * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]
2200
+ */
2201
+ function sortBy(collection, iteratee) {
2202
+ var index = 0;
2203
+ iteratee = baseIteratee(iteratee);
2204
+
2205
+ return baseMap(baseMap(collection, function(value, key, collection) {
2206
+ return { 'value': value, 'index': index++, 'criteria': iteratee(value, key, collection) };
2207
+ }).sort(function(object, other) {
2208
+ return compareAscending(object.criteria, other.criteria) || (object.index - other.index);
2209
+ }), baseProperty('value'));
2210
+ }
2211
+
2212
+ /*------------------------------------------------------------------------*/
2213
+
2214
+ /**
2215
+ * Creates a function that invokes `func`, with the `this` binding and arguments
2216
+ * of the created function, while it's called less than `n` times. Subsequent
2217
+ * calls to the created function return the result of the last `func` invocation.
2218
+ *
2219
+ * @static
2220
+ * @memberOf _
2221
+ * @since 3.0.0
2222
+ * @category Function
2223
+ * @param {number} n The number of calls at which `func` is no longer invoked.
2224
+ * @param {Function} func The function to restrict.
2225
+ * @returns {Function} Returns the new restricted function.
2226
+ * @example
2227
+ *
2228
+ * jQuery(element).on('click', _.before(5, addContactToList));
2229
+ * // => Allows adding up to 4 contacts to the list.
2230
+ */
2231
+ function before(n, func) {
2232
+ var result;
2233
+ if (typeof func != 'function') {
2234
+ throw new TypeError(FUNC_ERROR_TEXT);
2235
+ }
2236
+ n = toInteger(n);
2237
+ return function() {
2238
+ if (--n > 0) {
2239
+ result = func.apply(this, arguments);
2240
+ }
2241
+ if (n <= 1) {
2242
+ func = undefined;
2243
+ }
2244
+ return result;
2245
+ };
2246
+ }
2247
+
2248
+ /**
2249
+ * Creates a function that invokes `func` with the `this` binding of `thisArg`
2250
+ * and `partials` prepended to the arguments it receives.
2251
+ *
2252
+ * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,
2253
+ * may be used as a placeholder for partially applied arguments.
2254
+ *
2255
+ * **Note:** Unlike native `Function#bind`, this method doesn't set the "length"
2256
+ * property of bound functions.
2257
+ *
2258
+ * @static
2259
+ * @memberOf _
2260
+ * @since 0.1.0
2261
+ * @category Function
2262
+ * @param {Function} func The function to bind.
2263
+ * @param {*} thisArg The `this` binding of `func`.
2264
+ * @param {...*} [partials] The arguments to be partially applied.
2265
+ * @returns {Function} Returns the new bound function.
2266
+ * @example
2267
+ *
2268
+ * function greet(greeting, punctuation) {
2269
+ * return greeting + ' ' + this.user + punctuation;
2270
+ * }
2271
+ *
2272
+ * var object = { 'user': 'fred' };
2273
+ *
2274
+ * var bound = _.bind(greet, object, 'hi');
2275
+ * bound('!');
2276
+ * // => 'hi fred!'
2277
+ *
2278
+ * // Bound with placeholders.
2279
+ * var bound = _.bind(greet, object, _, '!');
2280
+ * bound('hi');
2281
+ * // => 'hi fred!'
2282
+ */
2283
+ var bind = baseRest(function(func, thisArg, partials) {
2284
+ return createPartial(func, WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG, thisArg, partials);
2285
+ });
2286
+
2287
+ /**
2288
+ * Defers invoking the `func` until the current call stack has cleared. Any
2289
+ * additional arguments are provided to `func` when it's invoked.
2290
+ *
2291
+ * @static
2292
+ * @memberOf _
2293
+ * @since 0.1.0
2294
+ * @category Function
2295
+ * @param {Function} func The function to defer.
2296
+ * @param {...*} [args] The arguments to invoke `func` with.
2297
+ * @returns {number} Returns the timer id.
2298
+ * @example
2299
+ *
2300
+ * _.defer(function(text) {
2301
+ * console.log(text);
2302
+ * }, 'deferred');
2303
+ * // => Logs 'deferred' after one millisecond.
2304
+ */
2305
+ var defer = baseRest(function(func, args) {
2306
+ return baseDelay(func, 1, args);
2307
+ });
2308
+
2309
+ /**
2310
+ * Invokes `func` after `wait` milliseconds. Any additional arguments are
2311
+ * provided to `func` when it's invoked.
2312
+ *
2313
+ * @static
2314
+ * @memberOf _
2315
+ * @since 0.1.0
2316
+ * @category Function
2317
+ * @param {Function} func The function to delay.
2318
+ * @param {number} wait The number of milliseconds to delay invocation.
2319
+ * @param {...*} [args] The arguments to invoke `func` with.
2320
+ * @returns {number} Returns the timer id.
2321
+ * @example
2322
+ *
2323
+ * _.delay(function(text) {
2324
+ * console.log(text);
2325
+ * }, 1000, 'later');
2326
+ * // => Logs 'later' after one second.
2327
+ */
2328
+ var delay = baseRest(function(func, wait, args) {
2329
+ return baseDelay(func, toNumber(wait) || 0, args);
2330
+ });
2331
+
2332
+ /**
2333
+ * Creates a function that negates the result of the predicate `func`. The
2334
+ * `func` predicate is invoked with the `this` binding and arguments of the
2335
+ * created function.
2336
+ *
2337
+ * @static
2338
+ * @memberOf _
2339
+ * @since 3.0.0
2340
+ * @category Function
2341
+ * @param {Function} predicate The predicate to negate.
2342
+ * @returns {Function} Returns the new negated function.
2343
+ * @example
2344
+ *
2345
+ * function isEven(n) {
2346
+ * return n % 2 == 0;
2347
+ * }
2348
+ *
2349
+ * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));
2350
+ * // => [1, 3, 5]
2351
+ */
2352
+ function negate(predicate) {
2353
+ if (typeof predicate != 'function') {
2354
+ throw new TypeError(FUNC_ERROR_TEXT);
2355
+ }
2356
+ return function() {
2357
+ var args = arguments;
2358
+ return !predicate.apply(this, args);
2359
+ };
2360
+ }
2361
+
2362
+ /**
2363
+ * Creates a function that is restricted to invoking `func` once. Repeat calls
2364
+ * to the function return the value of the first invocation. The `func` is
2365
+ * invoked with the `this` binding and arguments of the created function.
2366
+ *
2367
+ * @static
2368
+ * @memberOf _
2369
+ * @since 0.1.0
2370
+ * @category Function
2371
+ * @param {Function} func The function to restrict.
2372
+ * @returns {Function} Returns the new restricted function.
2373
+ * @example
2374
+ *
2375
+ * var initialize = _.once(createApplication);
2376
+ * initialize();
2377
+ * initialize();
2378
+ * // => `createApplication` is invoked once
2379
+ */
2380
+ function once(func) {
2381
+ return before(2, func);
2382
+ }
2383
+
2384
+ /*------------------------------------------------------------------------*/
2385
+
2386
+ /**
2387
+ * Creates a shallow clone of `value`.
2388
+ *
2389
+ * **Note:** This method is loosely based on the
2390
+ * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)
2391
+ * and supports cloning arrays, array buffers, booleans, date objects, maps,
2392
+ * numbers, `Object` objects, regexes, sets, strings, symbols, and typed
2393
+ * arrays. The own enumerable properties of `arguments` objects are cloned
2394
+ * as plain objects. An empty object is returned for uncloneable values such
2395
+ * as error objects, functions, DOM nodes, and WeakMaps.
2396
+ *
2397
+ * @static
2398
+ * @memberOf _
2399
+ * @since 0.1.0
2400
+ * @category Lang
2401
+ * @param {*} value The value to clone.
2402
+ * @returns {*} Returns the cloned value.
2403
+ * @see _.cloneDeep
2404
+ * @example
2405
+ *
2406
+ * var objects = [{ 'a': 1 }, { 'b': 2 }];
2407
+ *
2408
+ * var shallow = _.clone(objects);
2409
+ * console.log(shallow[0] === objects[0]);
2410
+ * // => true
2411
+ */
2412
+ function clone(value) {
2413
+ if (!isObject(value)) {
2414
+ return value;
2415
+ }
2416
+ return isArray(value) ? copyArray(value) : copyObject(value, nativeKeys(value));
2417
+ }
2418
+
2419
+ /**
2420
+ * Performs a
2421
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
2422
+ * comparison between two values to determine if they are equivalent.
2423
+ *
2424
+ * @static
2425
+ * @memberOf _
2426
+ * @since 4.0.0
2427
+ * @category Lang
2428
+ * @param {*} value The value to compare.
2429
+ * @param {*} other The other value to compare.
2430
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
2431
+ * @example
2432
+ *
2433
+ * var object = { 'a': 1 };
2434
+ * var other = { 'a': 1 };
2435
+ *
2436
+ * _.eq(object, object);
2437
+ * // => true
2438
+ *
2439
+ * _.eq(object, other);
2440
+ * // => false
2441
+ *
2442
+ * _.eq('a', 'a');
2443
+ * // => true
2444
+ *
2445
+ * _.eq('a', Object('a'));
2446
+ * // => false
2447
+ *
2448
+ * _.eq(NaN, NaN);
2449
+ * // => true
2450
+ */
2451
+ function eq(value, other) {
2452
+ return value === other || (value !== value && other !== other);
2453
+ }
2454
+
2455
+ /**
2456
+ * Checks if `value` is likely an `arguments` object.
2457
+ *
2458
+ * @static
2459
+ * @memberOf _
2460
+ * @since 0.1.0
2461
+ * @category Lang
2462
+ * @param {*} value The value to check.
2463
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
2464
+ * else `false`.
2465
+ * @example
2466
+ *
2467
+ * _.isArguments(function() { return arguments; }());
2468
+ * // => true
2469
+ *
2470
+ * _.isArguments([1, 2, 3]);
2471
+ * // => false
2472
+ */
2473
+ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
2474
+ return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
2475
+ !propertyIsEnumerable.call(value, 'callee');
2476
+ };
2477
+
2478
+ /**
2479
+ * Checks if `value` is classified as an `Array` object.
2480
+ *
2481
+ * @static
2482
+ * @memberOf _
2483
+ * @since 0.1.0
2484
+ * @category Lang
2485
+ * @param {*} value The value to check.
2486
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
2487
+ * @example
2488
+ *
2489
+ * _.isArray([1, 2, 3]);
2490
+ * // => true
2491
+ *
2492
+ * _.isArray(document.body.children);
2493
+ * // => false
2494
+ *
2495
+ * _.isArray('abc');
2496
+ * // => false
2497
+ *
2498
+ * _.isArray(_.noop);
2499
+ * // => false
2500
+ */
2501
+ var isArray = Array.isArray;
2502
+
2503
+ /**
2504
+ * Checks if `value` is array-like. A value is considered array-like if it's
2505
+ * not a function and has a `value.length` that's an integer greater than or
2506
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
2507
+ *
2508
+ * @static
2509
+ * @memberOf _
2510
+ * @since 4.0.0
2511
+ * @category Lang
2512
+ * @param {*} value The value to check.
2513
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
2514
+ * @example
2515
+ *
2516
+ * _.isArrayLike([1, 2, 3]);
2517
+ * // => true
2518
+ *
2519
+ * _.isArrayLike(document.body.children);
2520
+ * // => true
2521
+ *
2522
+ * _.isArrayLike('abc');
2523
+ * // => true
2524
+ *
2525
+ * _.isArrayLike(_.noop);
2526
+ * // => false
2527
+ */
2528
+ function isArrayLike(value) {
2529
+ return value != null && isLength(value.length) && !isFunction(value);
2530
+ }
2531
+
2532
+ /**
2533
+ * Checks if `value` is classified as a boolean primitive or object.
2534
+ *
2535
+ * @static
2536
+ * @memberOf _
2537
+ * @since 0.1.0
2538
+ * @category Lang
2539
+ * @param {*} value The value to check.
2540
+ * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.
2541
+ * @example
2542
+ *
2543
+ * _.isBoolean(false);
2544
+ * // => true
2545
+ *
2546
+ * _.isBoolean(null);
2547
+ * // => false
2548
+ */
2549
+ function isBoolean(value) {
2550
+ return value === true || value === false ||
2551
+ (isObjectLike(value) && baseGetTag(value) == boolTag);
2552
+ }
2553
+
2554
+ /**
2555
+ * Checks if `value` is classified as a `Date` object.
2556
+ *
2557
+ * @static
2558
+ * @memberOf _
2559
+ * @since 0.1.0
2560
+ * @category Lang
2561
+ * @param {*} value The value to check.
2562
+ * @returns {boolean} Returns `true` if `value` is a date object, else `false`.
2563
+ * @example
2564
+ *
2565
+ * _.isDate(new Date);
2566
+ * // => true
2567
+ *
2568
+ * _.isDate('Mon April 23 2012');
2569
+ * // => false
2570
+ */
2571
+ var isDate = baseIsDate;
2572
+
2573
+ /**
2574
+ * Checks if `value` is an empty object, collection, map, or set.
2575
+ *
2576
+ * Objects are considered empty if they have no own enumerable string keyed
2577
+ * properties.
2578
+ *
2579
+ * Array-like values such as `arguments` objects, arrays, buffers, strings, or
2580
+ * jQuery-like collections are considered empty if they have a `length` of `0`.
2581
+ * Similarly, maps and sets are considered empty if they have a `size` of `0`.
2582
+ *
2583
+ * @static
2584
+ * @memberOf _
2585
+ * @since 0.1.0
2586
+ * @category Lang
2587
+ * @param {*} value The value to check.
2588
+ * @returns {boolean} Returns `true` if `value` is empty, else `false`.
2589
+ * @example
2590
+ *
2591
+ * _.isEmpty(null);
2592
+ * // => true
2593
+ *
2594
+ * _.isEmpty(true);
2595
+ * // => true
2596
+ *
2597
+ * _.isEmpty(1);
2598
+ * // => true
2599
+ *
2600
+ * _.isEmpty([1, 2, 3]);
2601
+ * // => false
2602
+ *
2603
+ * _.isEmpty({ 'a': 1 });
2604
+ * // => false
2605
+ */
2606
+ function isEmpty(value) {
2607
+ if (isArrayLike(value) &&
2608
+ (isArray(value) || isString(value) ||
2609
+ isFunction(value.splice) || isArguments(value))) {
2610
+ return !value.length;
2611
+ }
2612
+ return !nativeKeys(value).length;
2613
+ }
2614
+
2615
+ /**
2616
+ * Performs a deep comparison between two values to determine if they are
2617
+ * equivalent.
2618
+ *
2619
+ * **Note:** This method supports comparing arrays, array buffers, booleans,
2620
+ * date objects, error objects, maps, numbers, `Object` objects, regexes,
2621
+ * sets, strings, symbols, and typed arrays. `Object` objects are compared
2622
+ * by their own, not inherited, enumerable properties. Functions and DOM
2623
+ * nodes are compared by strict equality, i.e. `===`.
2624
+ *
2625
+ * @static
2626
+ * @memberOf _
2627
+ * @since 0.1.0
2628
+ * @category Lang
2629
+ * @param {*} value The value to compare.
2630
+ * @param {*} other The other value to compare.
2631
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
2632
+ * @example
2633
+ *
2634
+ * var object = { 'a': 1 };
2635
+ * var other = { 'a': 1 };
2636
+ *
2637
+ * _.isEqual(object, other);
2638
+ * // => true
2639
+ *
2640
+ * object === other;
2641
+ * // => false
2642
+ */
2643
+ function isEqual(value, other) {
2644
+ return baseIsEqual(value, other);
2645
+ }
2646
+
2647
+ /**
2648
+ * Checks if `value` is a finite primitive number.
2649
+ *
2650
+ * **Note:** This method is based on
2651
+ * [`Number.isFinite`](https://mdn.io/Number/isFinite).
2652
+ *
2653
+ * @static
2654
+ * @memberOf _
2655
+ * @since 0.1.0
2656
+ * @category Lang
2657
+ * @param {*} value The value to check.
2658
+ * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.
2659
+ * @example
2660
+ *
2661
+ * _.isFinite(3);
2662
+ * // => true
2663
+ *
2664
+ * _.isFinite(Number.MIN_VALUE);
2665
+ * // => true
2666
+ *
2667
+ * _.isFinite(Infinity);
2668
+ * // => false
2669
+ *
2670
+ * _.isFinite('3');
2671
+ * // => false
2672
+ */
2673
+ function isFinite(value) {
2674
+ return typeof value == 'number' && nativeIsFinite(value);
2675
+ }
2676
+
2677
+ /**
2678
+ * Checks if `value` is classified as a `Function` object.
2679
+ *
2680
+ * @static
2681
+ * @memberOf _
2682
+ * @since 0.1.0
2683
+ * @category Lang
2684
+ * @param {*} value The value to check.
2685
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
2686
+ * @example
2687
+ *
2688
+ * _.isFunction(_);
2689
+ * // => true
2690
+ *
2691
+ * _.isFunction(/abc/);
2692
+ * // => false
2693
+ */
2694
+ function isFunction(value) {
2695
+ if (!isObject(value)) {
2696
+ return false;
2697
+ }
2698
+ // The use of `Object#toString` avoids issues with the `typeof` operator
2699
+ // in Safari 9 which returns 'object' for typed arrays and other constructors.
2700
+ var tag = baseGetTag(value);
2701
+ return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
2702
+ }
2703
+
2704
+ /**
2705
+ * Checks if `value` is a valid array-like length.
2706
+ *
2707
+ * **Note:** This method is loosely based on
2708
+ * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
2709
+ *
2710
+ * @static
2711
+ * @memberOf _
2712
+ * @since 4.0.0
2713
+ * @category Lang
2714
+ * @param {*} value The value to check.
2715
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
2716
+ * @example
2717
+ *
2718
+ * _.isLength(3);
2719
+ * // => true
2720
+ *
2721
+ * _.isLength(Number.MIN_VALUE);
2722
+ * // => false
2723
+ *
2724
+ * _.isLength(Infinity);
2725
+ * // => false
2726
+ *
2727
+ * _.isLength('3');
2728
+ * // => false
2729
+ */
2730
+ function isLength(value) {
2731
+ return typeof value == 'number' &&
2732
+ value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
2733
+ }
2734
+
2735
+ /**
2736
+ * Checks if `value` is the
2737
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
2738
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
2739
+ *
2740
+ * @static
2741
+ * @memberOf _
2742
+ * @since 0.1.0
2743
+ * @category Lang
2744
+ * @param {*} value The value to check.
2745
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
2746
+ * @example
2747
+ *
2748
+ * _.isObject({});
2749
+ * // => true
2750
+ *
2751
+ * _.isObject([1, 2, 3]);
2752
+ * // => true
2753
+ *
2754
+ * _.isObject(_.noop);
2755
+ * // => true
2756
+ *
2757
+ * _.isObject(null);
2758
+ * // => false
2759
+ */
2760
+ function isObject(value) {
2761
+ var type = typeof value;
2762
+ return value != null && (type == 'object' || type == 'function');
2763
+ }
2764
+
2765
+ /**
2766
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
2767
+ * and has a `typeof` result of "object".
2768
+ *
2769
+ * @static
2770
+ * @memberOf _
2771
+ * @since 4.0.0
2772
+ * @category Lang
2773
+ * @param {*} value The value to check.
2774
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
2775
+ * @example
2776
+ *
2777
+ * _.isObjectLike({});
2778
+ * // => true
2779
+ *
2780
+ * _.isObjectLike([1, 2, 3]);
2781
+ * // => true
2782
+ *
2783
+ * _.isObjectLike(_.noop);
2784
+ * // => false
2785
+ *
2786
+ * _.isObjectLike(null);
2787
+ * // => false
2788
+ */
2789
+ function isObjectLike(value) {
2790
+ return value != null && typeof value == 'object';
2791
+ }
2792
+
2793
+ /**
2794
+ * Checks if `value` is `NaN`.
2795
+ *
2796
+ * **Note:** This method is based on
2797
+ * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as
2798
+ * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for
2799
+ * `undefined` and other non-number values.
2800
+ *
2801
+ * @static
2802
+ * @memberOf _
2803
+ * @since 0.1.0
2804
+ * @category Lang
2805
+ * @param {*} value The value to check.
2806
+ * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
2807
+ * @example
2808
+ *
2809
+ * _.isNaN(NaN);
2810
+ * // => true
2811
+ *
2812
+ * _.isNaN(new Number(NaN));
2813
+ * // => true
2814
+ *
2815
+ * isNaN(undefined);
2816
+ * // => true
2817
+ *
2818
+ * _.isNaN(undefined);
2819
+ * // => false
2820
+ */
2821
+ function isNaN(value) {
2822
+ // An `NaN` primitive is the only value that is not equal to itself.
2823
+ // Perform the `toStringTag` check first to avoid errors with some
2824
+ // ActiveX objects in IE.
2825
+ return isNumber(value) && value != +value;
2826
+ }
2827
+
2828
+ /**
2829
+ * Checks if `value` is `null`.
2830
+ *
2831
+ * @static
2832
+ * @memberOf _
2833
+ * @since 0.1.0
2834
+ * @category Lang
2835
+ * @param {*} value The value to check.
2836
+ * @returns {boolean} Returns `true` if `value` is `null`, else `false`.
2837
+ * @example
2838
+ *
2839
+ * _.isNull(null);
2840
+ * // => true
2841
+ *
2842
+ * _.isNull(void 0);
2843
+ * // => false
2844
+ */
2845
+ function isNull(value) {
2846
+ return value === null;
2847
+ }
2848
+
2849
+ /**
2850
+ * Checks if `value` is classified as a `Number` primitive or object.
2851
+ *
2852
+ * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are
2853
+ * classified as numbers, use the `_.isFinite` method.
2854
+ *
2855
+ * @static
2856
+ * @memberOf _
2857
+ * @since 0.1.0
2858
+ * @category Lang
2859
+ * @param {*} value The value to check.
2860
+ * @returns {boolean} Returns `true` if `value` is a number, else `false`.
2861
+ * @example
2862
+ *
2863
+ * _.isNumber(3);
2864
+ * // => true
2865
+ *
2866
+ * _.isNumber(Number.MIN_VALUE);
2867
+ * // => true
2868
+ *
2869
+ * _.isNumber(Infinity);
2870
+ * // => true
2871
+ *
2872
+ * _.isNumber('3');
2873
+ * // => false
2874
+ */
2875
+ function isNumber(value) {
2876
+ return typeof value == 'number' ||
2877
+ (isObjectLike(value) && baseGetTag(value) == numberTag);
2878
+ }
2879
+
2880
+ /**
2881
+ * Checks if `value` is classified as a `RegExp` object.
2882
+ *
2883
+ * @static
2884
+ * @memberOf _
2885
+ * @since 0.1.0
2886
+ * @category Lang
2887
+ * @param {*} value The value to check.
2888
+ * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.
2889
+ * @example
2890
+ *
2891
+ * _.isRegExp(/abc/);
2892
+ * // => true
2893
+ *
2894
+ * _.isRegExp('/abc/');
2895
+ * // => false
2896
+ */
2897
+ var isRegExp = baseIsRegExp;
2898
+
2899
+ /**
2900
+ * Checks if `value` is classified as a `String` primitive or object.
2901
+ *
2902
+ * @static
2903
+ * @since 0.1.0
2904
+ * @memberOf _
2905
+ * @category Lang
2906
+ * @param {*} value The value to check.
2907
+ * @returns {boolean} Returns `true` if `value` is a string, else `false`.
2908
+ * @example
2909
+ *
2910
+ * _.isString('abc');
2911
+ * // => true
2912
+ *
2913
+ * _.isString(1);
2914
+ * // => false
2915
+ */
2916
+ function isString(value) {
2917
+ return typeof value == 'string' ||
2918
+ (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);
2919
+ }
2920
+
2921
+ /**
2922
+ * Checks if `value` is `undefined`.
2923
+ *
2924
+ * @static
2925
+ * @since 0.1.0
2926
+ * @memberOf _
2927
+ * @category Lang
2928
+ * @param {*} value The value to check.
2929
+ * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
2930
+ * @example
2931
+ *
2932
+ * _.isUndefined(void 0);
2933
+ * // => true
2934
+ *
2935
+ * _.isUndefined(null);
2936
+ * // => false
2937
+ */
2938
+ function isUndefined(value) {
2939
+ return value === undefined;
2940
+ }
2941
+
2942
+ /**
2943
+ * Converts `value` to an array.
2944
+ *
2945
+ * @static
2946
+ * @since 0.1.0
2947
+ * @memberOf _
2948
+ * @category Lang
2949
+ * @param {*} value The value to convert.
2950
+ * @returns {Array} Returns the converted array.
2951
+ * @example
2952
+ *
2953
+ * _.toArray({ 'a': 1, 'b': 2 });
2954
+ * // => [1, 2]
2955
+ *
2956
+ * _.toArray('abc');
2957
+ * // => ['a', 'b', 'c']
2958
+ *
2959
+ * _.toArray(1);
2960
+ * // => []
2961
+ *
2962
+ * _.toArray(null);
2963
+ * // => []
2964
+ */
2965
+ function toArray(value) {
2966
+ if (!isArrayLike(value)) {
2967
+ return values(value);
2968
+ }
2969
+ return value.length ? copyArray(value) : [];
2970
+ }
2971
+
2972
+ /**
2973
+ * Converts `value` to an integer.
2974
+ *
2975
+ * **Note:** This method is loosely based on
2976
+ * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
2977
+ *
2978
+ * @static
2979
+ * @memberOf _
2980
+ * @since 4.0.0
2981
+ * @category Lang
2982
+ * @param {*} value The value to convert.
2983
+ * @returns {number} Returns the converted integer.
2984
+ * @example
2985
+ *
2986
+ * _.toInteger(3.2);
2987
+ * // => 3
2988
+ *
2989
+ * _.toInteger(Number.MIN_VALUE);
2990
+ * // => 0
2991
+ *
2992
+ * _.toInteger(Infinity);
2993
+ * // => 1.7976931348623157e+308
2994
+ *
2995
+ * _.toInteger('3.2');
2996
+ * // => 3
2997
+ */
2998
+ var toInteger = Number;
2999
+
3000
+ /**
3001
+ * Converts `value` to a number.
3002
+ *
3003
+ * @static
3004
+ * @memberOf _
3005
+ * @since 4.0.0
3006
+ * @category Lang
3007
+ * @param {*} value The value to process.
3008
+ * @returns {number} Returns the number.
3009
+ * @example
3010
+ *
3011
+ * _.toNumber(3.2);
3012
+ * // => 3.2
3013
+ *
3014
+ * _.toNumber(Number.MIN_VALUE);
3015
+ * // => 5e-324
3016
+ *
3017
+ * _.toNumber(Infinity);
3018
+ * // => Infinity
3019
+ *
3020
+ * _.toNumber('3.2');
3021
+ * // => 3.2
3022
+ */
3023
+ var toNumber = Number;
3024
+
3025
+ /**
3026
+ * Converts `value` to a string. An empty string is returned for `null`
3027
+ * and `undefined` values. The sign of `-0` is preserved.
3028
+ *
3029
+ * @static
3030
+ * @memberOf _
3031
+ * @since 4.0.0
3032
+ * @category Lang
3033
+ * @param {*} value The value to convert.
3034
+ * @returns {string} Returns the converted string.
3035
+ * @example
3036
+ *
3037
+ * _.toString(null);
3038
+ * // => ''
3039
+ *
3040
+ * _.toString(-0);
3041
+ * // => '-0'
3042
+ *
3043
+ * _.toString([1, 2, 3]);
3044
+ * // => '1,2,3'
3045
+ */
3046
+ function toString(value) {
3047
+ if (typeof value == 'string') {
3048
+ return value;
3049
+ }
3050
+ return value == null ? '' : (value + '');
3051
+ }
3052
+
3053
+ /*------------------------------------------------------------------------*/
3054
+
3055
+ /**
3056
+ * Assigns own enumerable string keyed properties of source objects to the
3057
+ * destination object. Source objects are applied from left to right.
3058
+ * Subsequent sources overwrite property assignments of previous sources.
3059
+ *
3060
+ * **Note:** This method mutates `object` and is loosely based on
3061
+ * [`Object.assign`](https://mdn.io/Object/assign).
3062
+ *
3063
+ * @static
3064
+ * @memberOf _
3065
+ * @since 0.10.0
3066
+ * @category Object
3067
+ * @param {Object} object The destination object.
3068
+ * @param {...Object} [sources] The source objects.
3069
+ * @returns {Object} Returns `object`.
3070
+ * @see _.assignIn
3071
+ * @example
3072
+ *
3073
+ * function Foo() {
3074
+ * this.a = 1;
3075
+ * }
3076
+ *
3077
+ * function Bar() {
3078
+ * this.c = 3;
3079
+ * }
3080
+ *
3081
+ * Foo.prototype.b = 2;
3082
+ * Bar.prototype.d = 4;
3083
+ *
3084
+ * _.assign({ 'a': 0 }, new Foo, new Bar);
3085
+ * // => { 'a': 1, 'c': 3 }
3086
+ */
3087
+ var assign = createAssigner(function(object, source) {
3088
+ copyObject(source, nativeKeys(source), object);
3089
+ });
3090
+
3091
+ /**
3092
+ * This method is like `_.assign` except that it iterates over own and
3093
+ * inherited source properties.
3094
+ *
3095
+ * **Note:** This method mutates `object`.
3096
+ *
3097
+ * @static
3098
+ * @memberOf _
3099
+ * @since 4.0.0
3100
+ * @alias extend
3101
+ * @category Object
3102
+ * @param {Object} object The destination object.
3103
+ * @param {...Object} [sources] The source objects.
3104
+ * @returns {Object} Returns `object`.
3105
+ * @see _.assign
3106
+ * @example
3107
+ *
3108
+ * function Foo() {
3109
+ * this.a = 1;
3110
+ * }
3111
+ *
3112
+ * function Bar() {
3113
+ * this.c = 3;
3114
+ * }
3115
+ *
3116
+ * Foo.prototype.b = 2;
3117
+ * Bar.prototype.d = 4;
3118
+ *
3119
+ * _.assignIn({ 'a': 0 }, new Foo, new Bar);
3120
+ * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }
3121
+ */
3122
+ var assignIn = createAssigner(function(object, source) {
3123
+ copyObject(source, nativeKeysIn(source), object);
3124
+ });
3125
+
3126
+ /**
3127
+ * Creates an object that inherits from the `prototype` object. If a
3128
+ * `properties` object is given, its own enumerable string keyed properties
3129
+ * are assigned to the created object.
3130
+ *
3131
+ * @static
3132
+ * @memberOf _
3133
+ * @since 2.3.0
3134
+ * @category Object
3135
+ * @param {Object} prototype The object to inherit from.
3136
+ * @param {Object} [properties] The properties to assign to the object.
3137
+ * @returns {Object} Returns the new object.
3138
+ * @example
3139
+ *
3140
+ * function Shape() {
3141
+ * this.x = 0;
3142
+ * this.y = 0;
3143
+ * }
3144
+ *
3145
+ * function Circle() {
3146
+ * Shape.call(this);
3147
+ * }
3148
+ *
3149
+ * Circle.prototype = _.create(Shape.prototype, {
3150
+ * 'constructor': Circle
3151
+ * });
3152
+ *
3153
+ * var circle = new Circle;
3154
+ * circle instanceof Circle;
3155
+ * // => true
3156
+ *
3157
+ * circle instanceof Shape;
3158
+ * // => true
3159
+ */
3160
+ function create(prototype, properties) {
3161
+ var result = baseCreate(prototype);
3162
+ return properties == null ? result : assign(result, properties);
3163
+ }
3164
+
3165
+ /**
3166
+ * Assigns own and inherited enumerable string keyed properties of source
3167
+ * objects to the destination object for all destination properties that
3168
+ * resolve to `undefined`. Source objects are applied from left to right.
3169
+ * Once a property is set, additional values of the same property are ignored.
3170
+ *
3171
+ * **Note:** This method mutates `object`.
3172
+ *
3173
+ * @static
3174
+ * @since 0.1.0
3175
+ * @memberOf _
3176
+ * @category Object
3177
+ * @param {Object} object The destination object.
3178
+ * @param {...Object} [sources] The source objects.
3179
+ * @returns {Object} Returns `object`.
3180
+ * @see _.defaultsDeep
3181
+ * @example
3182
+ *
3183
+ * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
3184
+ * // => { 'a': 1, 'b': 2 }
3185
+ */
3186
+ var defaults = baseRest(function(object, sources) {
3187
+ object = Object(object);
3188
+
3189
+ var index = -1;
3190
+ var length = sources.length;
3191
+ var guard = length > 2 ? sources[2] : undefined;
3192
+
3193
+ if (guard && isIterateeCall(sources[0], sources[1], guard)) {
3194
+ length = 1;
3195
+ }
3196
+
3197
+ while (++index < length) {
3198
+ var source = sources[index];
3199
+ var props = keysIn(source);
3200
+ var propsIndex = -1;
3201
+ var propsLength = props.length;
3202
+
3203
+ while (++propsIndex < propsLength) {
3204
+ var key = props[propsIndex];
3205
+ var value = object[key];
3206
+
3207
+ if (value === undefined ||
3208
+ (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {
3209
+ object[key] = source[key];
3210
+ }
3211
+ }
3212
+ }
3213
+
3214
+ return object;
3215
+ });
3216
+
3217
+ /**
3218
+ * Checks if `path` is a direct property of `object`.
3219
+ *
3220
+ * @static
3221
+ * @since 0.1.0
3222
+ * @memberOf _
3223
+ * @category Object
3224
+ * @param {Object} object The object to query.
3225
+ * @param {Array|string} path The path to check.
3226
+ * @returns {boolean} Returns `true` if `path` exists, else `false`.
3227
+ * @example
3228
+ *
3229
+ * var object = { 'a': { 'b': 2 } };
3230
+ * var other = _.create({ 'a': _.create({ 'b': 2 }) });
3231
+ *
3232
+ * _.has(object, 'a');
3233
+ * // => true
3234
+ *
3235
+ * _.has(object, 'a.b');
3236
+ * // => true
3237
+ *
3238
+ * _.has(object, ['a', 'b']);
3239
+ * // => true
3240
+ *
3241
+ * _.has(other, 'a');
3242
+ * // => false
3243
+ */
3244
+ function has(object, path) {
3245
+ return object != null && hasOwnProperty.call(object, path);
3246
+ }
3247
+
3248
+ /**
3249
+ * Creates an array of the own enumerable property names of `object`.
3250
+ *
3251
+ * **Note:** Non-object values are coerced to objects. See the
3252
+ * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
3253
+ * for more details.
3254
+ *
3255
+ * @static
3256
+ * @since 0.1.0
3257
+ * @memberOf _
3258
+ * @category Object
3259
+ * @param {Object} object The object to query.
3260
+ * @returns {Array} Returns the array of property names.
3261
+ * @example
3262
+ *
3263
+ * function Foo() {
3264
+ * this.a = 1;
3265
+ * this.b = 2;
3266
+ * }
3267
+ *
3268
+ * Foo.prototype.c = 3;
3269
+ *
3270
+ * _.keys(new Foo);
3271
+ * // => ['a', 'b'] (iteration order is not guaranteed)
3272
+ *
3273
+ * _.keys('hi');
3274
+ * // => ['0', '1']
3275
+ */
3276
+ var keys = nativeKeys;
3277
+
3278
+ /**
3279
+ * Creates an array of the own and inherited enumerable property names of `object`.
3280
+ *
3281
+ * **Note:** Non-object values are coerced to objects.
3282
+ *
3283
+ * @static
3284
+ * @memberOf _
3285
+ * @since 3.0.0
3286
+ * @category Object
3287
+ * @param {Object} object The object to query.
3288
+ * @returns {Array} Returns the array of property names.
3289
+ * @example
3290
+ *
3291
+ * function Foo() {
3292
+ * this.a = 1;
3293
+ * this.b = 2;
3294
+ * }
3295
+ *
3296
+ * Foo.prototype.c = 3;
3297
+ *
3298
+ * _.keysIn(new Foo);
3299
+ * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
3300
+ */
3301
+ var keysIn = nativeKeysIn;
3302
+
3303
+ /**
3304
+ * Creates an object composed of the picked `object` properties.
3305
+ *
3306
+ * @static
3307
+ * @since 0.1.0
3308
+ * @memberOf _
3309
+ * @category Object
3310
+ * @param {Object} object The source object.
3311
+ * @param {...(string|string[])} [paths] The property paths to pick.
3312
+ * @returns {Object} Returns the new object.
3313
+ * @example
3314
+ *
3315
+ * var object = { 'a': 1, 'b': '2', 'c': 3 };
3316
+ *
3317
+ * _.pick(object, ['a', 'c']);
3318
+ * // => { 'a': 1, 'c': 3 }
3319
+ */
3320
+ var pick = flatRest(function(object, paths) {
3321
+ return object == null ? {} : basePick(object, paths);
3322
+ });
3323
+
3324
+ /**
3325
+ * This method is like `_.get` except that if the resolved value is a
3326
+ * function it's invoked with the `this` binding of its parent object and
3327
+ * its result is returned.
3328
+ *
3329
+ * @static
3330
+ * @since 0.1.0
3331
+ * @memberOf _
3332
+ * @category Object
3333
+ * @param {Object} object The object to query.
3334
+ * @param {Array|string} path The path of the property to resolve.
3335
+ * @param {*} [defaultValue] The value returned for `undefined` resolved values.
3336
+ * @returns {*} Returns the resolved value.
3337
+ * @example
3338
+ *
3339
+ * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };
3340
+ *
3341
+ * _.result(object, 'a[0].b.c1');
3342
+ * // => 3
3343
+ *
3344
+ * _.result(object, 'a[0].b.c2');
3345
+ * // => 4
3346
+ *
3347
+ * _.result(object, 'a[0].b.c3', 'default');
3348
+ * // => 'default'
3349
+ *
3350
+ * _.result(object, 'a[0].b.c3', _.constant('default'));
3351
+ * // => 'default'
3352
+ */
3353
+ function result(object, path, defaultValue) {
3354
+ var value = object == null ? undefined : object[path];
3355
+ if (value === undefined) {
3356
+ value = defaultValue;
3357
+ }
3358
+ return isFunction(value) ? value.call(object) : value;
3359
+ }
3360
+
3361
+ /**
3362
+ * Creates an array of the own enumerable string keyed property values of `object`.
3363
+ *
3364
+ * **Note:** Non-object values are coerced to objects.
3365
+ *
3366
+ * @static
3367
+ * @since 0.1.0
3368
+ * @memberOf _
3369
+ * @category Object
3370
+ * @param {Object} object The object to query.
3371
+ * @returns {Array} Returns the array of property values.
3372
+ * @example
3373
+ *
3374
+ * function Foo() {
3375
+ * this.a = 1;
3376
+ * this.b = 2;
3377
+ * }
3378
+ *
3379
+ * Foo.prototype.c = 3;
3380
+ *
3381
+ * _.values(new Foo);
3382
+ * // => [1, 2] (iteration order is not guaranteed)
3383
+ *
3384
+ * _.values('hi');
3385
+ * // => ['h', 'i']
3386
+ */
3387
+ function values(object) {
3388
+ return object == null ? [] : baseValues(object, keys(object));
3389
+ }
3390
+
3391
+ /*------------------------------------------------------------------------*/
3392
+
3393
+ /**
3394
+ * Converts the characters "&", "<", ">", '"', and "'" in `string` to their
3395
+ * corresponding HTML entities.
3396
+ *
3397
+ * **Note:** No other characters are escaped. To escape additional
3398
+ * characters use a third-party library like [_he_](https://mths.be/he).
3399
+ *
3400
+ * Though the ">" character is escaped for symmetry, characters like
3401
+ * ">" and "/" don't need escaping in HTML and have no special meaning
3402
+ * unless they're part of a tag or unquoted attribute value. See
3403
+ * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)
3404
+ * (under "semi-related fun fact") for more details.
3405
+ *
3406
+ * When working with HTML you should always
3407
+ * [quote attribute values](http://wonko.com/post/html-escaping) to reduce
3408
+ * XSS vectors.
3409
+ *
3410
+ * @static
3411
+ * @since 0.1.0
3412
+ * @memberOf _
3413
+ * @category String
3414
+ * @param {string} [string=''] The string to escape.
3415
+ * @returns {string} Returns the escaped string.
3416
+ * @example
3417
+ *
3418
+ * _.escape('fred, barney, & pebbles');
3419
+ * // => 'fred, barney, &amp; pebbles'
3420
+ */
3421
+ function escape(string) {
3422
+ string = toString(string);
3423
+ return (string && reHasUnescapedHtml.test(string))
3424
+ ? string.replace(reUnescapedHtml, escapeHtmlChar)
3425
+ : string;
3426
+ }
3427
+
3428
+ /*------------------------------------------------------------------------*/
3429
+
3430
+ /**
3431
+ * This method returns the first argument it receives.
3432
+ *
3433
+ * @static
3434
+ * @since 0.1.0
3435
+ * @memberOf _
3436
+ * @category Util
3437
+ * @param {*} value Any value.
3438
+ * @returns {*} Returns `value`.
3439
+ * @example
3440
+ *
3441
+ * var object = { 'a': 1 };
3442
+ *
3443
+ * console.log(_.identity(object) === object);
3444
+ * // => true
3445
+ */
3446
+ function identity(value) {
3447
+ return value;
3448
+ }
3449
+
3450
+ /**
3451
+ * Creates a function that invokes `func` with the arguments of the created
3452
+ * function. If `func` is a property name, the created function returns the
3453
+ * property value for a given element. If `func` is an array or object, the
3454
+ * created function returns `true` for elements that contain the equivalent
3455
+ * source properties, otherwise it returns `false`.
3456
+ *
3457
+ * @static
3458
+ * @since 4.0.0
3459
+ * @memberOf _
3460
+ * @category Util
3461
+ * @param {*} [func=_.identity] The value to convert to a callback.
3462
+ * @returns {Function} Returns the callback.
3463
+ * @example
3464
+ *
3465
+ * var users = [
3466
+ * { 'user': 'barney', 'age': 36, 'active': true },
3467
+ * { 'user': 'fred', 'age': 40, 'active': false }
3468
+ * ];
3469
+ *
3470
+ * // The `_.matches` iteratee shorthand.
3471
+ * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));
3472
+ * // => [{ 'user': 'barney', 'age': 36, 'active': true }]
3473
+ *
3474
+ * // The `_.matchesProperty` iteratee shorthand.
3475
+ * _.filter(users, _.iteratee(['user', 'fred']));
3476
+ * // => [{ 'user': 'fred', 'age': 40 }]
3477
+ *
3478
+ * // The `_.property` iteratee shorthand.
3479
+ * _.map(users, _.iteratee('user'));
3480
+ * // => ['barney', 'fred']
3481
+ *
3482
+ * // Create custom iteratee shorthands.
3483
+ * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {
3484
+ * return !_.isRegExp(func) ? iteratee(func) : function(string) {
3485
+ * return func.test(string);
3486
+ * };
3487
+ * });
3488
+ *
3489
+ * _.filter(['abc', 'def'], /ef/);
3490
+ * // => ['def']
3491
+ */
3492
+ var iteratee = baseIteratee;
3493
+
3494
+ /**
3495
+ * Creates a function that performs a partial deep comparison between a given
3496
+ * object and `source`, returning `true` if the given object has equivalent
3497
+ * property values, else `false`.
3498
+ *
3499
+ * **Note:** The created function is equivalent to `_.isMatch` with `source`
3500
+ * partially applied.
3501
+ *
3502
+ * Partial comparisons will match empty array and empty object `source`
3503
+ * values against any array or object value, respectively. See `_.isEqual`
3504
+ * for a list of supported value comparisons.
3505
+ *
3506
+ * @static
3507
+ * @memberOf _
3508
+ * @since 3.0.0
3509
+ * @category Util
3510
+ * @param {Object} source The object of property values to match.
3511
+ * @returns {Function} Returns the new spec function.
3512
+ * @example
3513
+ *
3514
+ * var objects = [
3515
+ * { 'a': 1, 'b': 2, 'c': 3 },
3516
+ * { 'a': 4, 'b': 5, 'c': 6 }
3517
+ * ];
3518
+ *
3519
+ * _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));
3520
+ * // => [{ 'a': 4, 'b': 5, 'c': 6 }]
3521
+ */
3522
+ function matches(source) {
3523
+ return baseMatches(assign({}, source));
3524
+ }
3525
+
3526
+ /**
3527
+ * Adds all own enumerable string keyed function properties of a source
3528
+ * object to the destination object. If `object` is a function, then methods
3529
+ * are added to its prototype as well.
3530
+ *
3531
+ * **Note:** Use `_.runInContext` to create a pristine `lodash` function to
3532
+ * avoid conflicts caused by modifying the original.
3533
+ *
3534
+ * @static
3535
+ * @since 0.1.0
3536
+ * @memberOf _
3537
+ * @category Util
3538
+ * @param {Function|Object} [object=lodash] The destination object.
3539
+ * @param {Object} source The object of functions to add.
3540
+ * @param {Object} [options={}] The options object.
3541
+ * @param {boolean} [options.chain=true] Specify whether mixins are chainable.
3542
+ * @returns {Function|Object} Returns `object`.
3543
+ * @example
3544
+ *
3545
+ * function vowels(string) {
3546
+ * return _.filter(string, function(v) {
3547
+ * return /[aeiou]/i.test(v);
3548
+ * });
3549
+ * }
3550
+ *
3551
+ * _.mixin({ 'vowels': vowels });
3552
+ * _.vowels('fred');
3553
+ * // => ['e']
3554
+ *
3555
+ * _('fred').vowels().value();
3556
+ * // => ['e']
3557
+ *
3558
+ * _.mixin({ 'vowels': vowels }, { 'chain': false });
3559
+ * _('fred').vowels();
3560
+ * // => ['e']
3561
+ */
3562
+ function mixin(object, source, options) {
3563
+ var props = keys(source),
3564
+ methodNames = baseFunctions(source, props);
3565
+
3566
+ if (options == null &&
3567
+ !(isObject(source) && (methodNames.length || !props.length))) {
3568
+ options = source;
3569
+ source = object;
3570
+ object = this;
3571
+ methodNames = baseFunctions(source, keys(source));
3572
+ }
3573
+ var chain = !(isObject(options) && 'chain' in options) || !!options.chain,
3574
+ isFunc = isFunction(object);
3575
+
3576
+ baseEach(methodNames, function(methodName) {
3577
+ var func = source[methodName];
3578
+ object[methodName] = func;
3579
+ if (isFunc) {
3580
+ object.prototype[methodName] = function() {
3581
+ var chainAll = this.__chain__;
3582
+ if (chain || chainAll) {
3583
+ var result = object(this.__wrapped__),
3584
+ actions = result.__actions__ = copyArray(this.__actions__);
3585
+
3586
+ actions.push({ 'func': func, 'args': arguments, 'thisArg': object });
3587
+ result.__chain__ = chainAll;
3588
+ return result;
3589
+ }
3590
+ return func.apply(object, arrayPush([this.value()], arguments));
3591
+ };
3592
+ }
3593
+ });
3594
+
3595
+ return object;
3596
+ }
3597
+
3598
+ /**
3599
+ * Reverts the `_` variable to its previous value and returns a reference to
3600
+ * the `lodash` function.
3601
+ *
3602
+ * @static
3603
+ * @since 0.1.0
3604
+ * @memberOf _
3605
+ * @category Util
3606
+ * @returns {Function} Returns the `lodash` function.
3607
+ * @example
3608
+ *
3609
+ * var lodash = _.noConflict();
3610
+ */
3611
+ function noConflict() {
3612
+ if (root._ === this) {
3613
+ root._ = oldDash;
3614
+ }
3615
+ return this;
3616
+ }
3617
+
3618
+ /**
3619
+ * This method returns `undefined`.
3620
+ *
3621
+ * @static
3622
+ * @memberOf _
3623
+ * @since 2.3.0
3624
+ * @category Util
3625
+ * @example
3626
+ *
3627
+ * _.times(2, _.noop);
3628
+ * // => [undefined, undefined]
3629
+ */
3630
+ function noop() {
3631
+ // No operation performed.
3632
+ }
3633
+
3634
+ /**
3635
+ * Generates a unique ID. If `prefix` is given, the ID is appended to it.
3636
+ *
3637
+ * @static
3638
+ * @since 0.1.0
3639
+ * @memberOf _
3640
+ * @category Util
3641
+ * @param {string} [prefix=''] The value to prefix the ID with.
3642
+ * @returns {string} Returns the unique ID.
3643
+ * @example
3644
+ *
3645
+ * _.uniqueId('contact_');
3646
+ * // => 'contact_104'
3647
+ *
3648
+ * _.uniqueId();
3649
+ * // => '105'
3650
+ */
3651
+ function uniqueId(prefix) {
3652
+ var id = ++idCounter;
3653
+ return toString(prefix) + id;
3654
+ }
3655
+
3656
+ /*------------------------------------------------------------------------*/
3657
+
3658
+ /**
3659
+ * Computes the maximum value of `array`. If `array` is empty or falsey,
3660
+ * `undefined` is returned.
3661
+ *
3662
+ * @static
3663
+ * @since 0.1.0
3664
+ * @memberOf _
3665
+ * @category Math
3666
+ * @param {Array} array The array to iterate over.
3667
+ * @returns {*} Returns the maximum value.
3668
+ * @example
3669
+ *
3670
+ * _.max([4, 2, 8, 6]);
3671
+ * // => 8
3672
+ *
3673
+ * _.max([]);
3674
+ * // => undefined
3675
+ */
3676
+ function max(array) {
3677
+ return (array && array.length)
3678
+ ? baseExtremum(array, identity, baseGt)
3679
+ : undefined;
3680
+ }
3681
+
3682
+ /**
3683
+ * Computes the minimum value of `array`. If `array` is empty or falsey,
3684
+ * `undefined` is returned.
3685
+ *
3686
+ * @static
3687
+ * @since 0.1.0
3688
+ * @memberOf _
3689
+ * @category Math
3690
+ * @param {Array} array The array to iterate over.
3691
+ * @returns {*} Returns the minimum value.
3692
+ * @example
3693
+ *
3694
+ * _.min([4, 2, 8, 6]);
3695
+ * // => 2
3696
+ *
3697
+ * _.min([]);
3698
+ * // => undefined
3699
+ */
3700
+ function min(array) {
3701
+ return (array && array.length)
3702
+ ? baseExtremum(array, identity, baseLt)
3703
+ : undefined;
3704
+ }
3705
+
3706
+ /*------------------------------------------------------------------------*/
3707
+
3708
+ // Add methods that return wrapped values in chain sequences.
3709
+ lodash.assignIn = assignIn;
3710
+ lodash.before = before;
3711
+ lodash.bind = bind;
3712
+ lodash.chain = chain;
3713
+ lodash.compact = compact;
3714
+ lodash.concat = concat;
3715
+ lodash.create = create;
3716
+ lodash.defaults = defaults;
3717
+ lodash.defer = defer;
3718
+ lodash.delay = delay;
3719
+ lodash.filter = filter;
3720
+ lodash.flatten = flatten;
3721
+ lodash.flattenDeep = flattenDeep;
3722
+ lodash.iteratee = iteratee;
3723
+ lodash.keys = keys;
3724
+ lodash.map = map;
3725
+ lodash.matches = matches;
3726
+ lodash.mixin = mixin;
3727
+ lodash.negate = negate;
3728
+ lodash.once = once;
3729
+ lodash.pick = pick;
3730
+ lodash.slice = slice;
3731
+ lodash.sortBy = sortBy;
3732
+ lodash.tap = tap;
3733
+ lodash.thru = thru;
3734
+ lodash.toArray = toArray;
3735
+ lodash.values = values;
3736
+
3737
+ // Add aliases.
3738
+ lodash.extend = assignIn;
3739
+
3740
+ // Add methods to `lodash.prototype`.
3741
+ mixin(lodash, lodash);
3742
+
3743
+ /*------------------------------------------------------------------------*/
3744
+
3745
+ // Add methods that return unwrapped values in chain sequences.
3746
+ lodash.clone = clone;
3747
+ lodash.escape = escape;
3748
+ lodash.every = every;
3749
+ lodash.find = find;
3750
+ lodash.forEach = forEach;
3751
+ lodash.has = has;
3752
+ lodash.head = head;
3753
+ lodash.identity = identity;
3754
+ lodash.indexOf = indexOf;
3755
+ lodash.isArguments = isArguments;
3756
+ lodash.isArray = isArray;
3757
+ lodash.isBoolean = isBoolean;
3758
+ lodash.isDate = isDate;
3759
+ lodash.isEmpty = isEmpty;
3760
+ lodash.isEqual = isEqual;
3761
+ lodash.isFinite = isFinite;
3762
+ lodash.isFunction = isFunction;
3763
+ lodash.isNaN = isNaN;
3764
+ lodash.isNull = isNull;
3765
+ lodash.isNumber = isNumber;
3766
+ lodash.isObject = isObject;
3767
+ lodash.isRegExp = isRegExp;
3768
+ lodash.isString = isString;
3769
+ lodash.isUndefined = isUndefined;
3770
+ lodash.last = last;
3771
+ lodash.max = max;
3772
+ lodash.min = min;
3773
+ lodash.noConflict = noConflict;
3774
+ lodash.noop = noop;
3775
+ lodash.reduce = reduce;
3776
+ lodash.result = result;
3777
+ lodash.size = size;
3778
+ lodash.some = some;
3779
+ lodash.uniqueId = uniqueId;
3780
+
3781
+ // Add aliases.
3782
+ lodash.each = forEach;
3783
+ lodash.first = head;
3784
+
3785
+ mixin(lodash, (function() {
3786
+ var source = {};
3787
+ baseForOwn(lodash, function(func, methodName) {
3788
+ if (!hasOwnProperty.call(lodash.prototype, methodName)) {
3789
+ source[methodName] = func;
3790
+ }
3791
+ });
3792
+ return source;
3793
+ }()), { 'chain': false });
3794
+
3795
+ /*------------------------------------------------------------------------*/
3796
+
3797
+ /**
3798
+ * The semantic version number.
3799
+ *
3800
+ * @static
3801
+ * @memberOf _
3802
+ * @type {string}
3803
+ */
3804
+ lodash.VERSION = VERSION;
3805
+
3806
+ // Add `Array` methods to `lodash.prototype`.
3807
+ baseEach(['pop', 'join', 'replace', 'reverse', 'split', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {
3808
+ var func = (/^(?:replace|split)$/.test(methodName) ? String.prototype : arrayProto)[methodName],
3809
+ chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',
3810
+ retUnwrapped = /^(?:pop|join|replace|shift)$/.test(methodName);
3811
+
3812
+ lodash.prototype[methodName] = function() {
3813
+ var args = arguments;
3814
+ if (retUnwrapped && !this.__chain__) {
3815
+ var value = this.value();
3816
+ return func.apply(isArray(value) ? value : [], args);
3817
+ }
3818
+ return this[chainName](function(value) {
3819
+ return func.apply(isArray(value) ? value : [], args);
3820
+ });
3821
+ };
3822
+ });
3823
+
3824
+ // Add chain sequence methods to the `lodash` wrapper.
3825
+ lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
3826
+
3827
+ /*--------------------------------------------------------------------------*/
3828
+
3829
+ // Some AMD build optimizers, like r.js, check for condition patterns like:
3830
+ if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {
3831
+ // Expose Lodash on the global object to prevent errors when Lodash is
3832
+ // loaded by a script tag in the presence of an AMD loader.
3833
+ // See http://requirejs.org/docs/errors.html#mismatch for more details.
3834
+ // Use `_.noConflict` to remove Lodash from the global object.
3835
+ root._ = lodash;
3836
+
3837
+ // Define as an anonymous module so, through path mapping, it can be
3838
+ // referenced as the "underscore" module.
3839
+ define(function() {
3840
+ return lodash;
3841
+ });
3842
+ }
3843
+ // Check for `exports` after `define` in case a build optimizer adds it.
3844
+ else if (freeModule) {
3845
+ // Export for Node.js.
3846
+ (freeModule.exports = lodash)._ = lodash;
3847
+ // Export for CommonJS support.
3848
+ freeExports._ = lodash;
3849
+ }
3850
+ else {
3851
+ // Export to the global object.
3852
+ root._ = lodash;
3853
+ }
3854
+ }.call(this));