highmark-markdown 1.2.71 → 1.2.73

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 (256) hide show
  1. package/lib/attributeNames.js +7 -7
  2. package/lib/constants.js +19 -19
  3. package/lib/example/constants.js +7 -7
  4. package/lib/example/customEventTypes.js +9 -9
  5. package/lib/example/importer.js +72 -28
  6. package/lib/example/indexOptions.js +3 -3
  7. package/lib/example/view/button/page.js +34 -135
  8. package/lib/example/view/button/tab/css.js +14 -114
  9. package/lib/example/view/button/tab/html.js +14 -114
  10. package/lib/example/view/button/tab/markdown.js +14 -114
  11. package/lib/example/view/button/tab/markdownStyle.js +14 -114
  12. package/lib/example/view/button/tab/plainText.js +14 -114
  13. package/lib/example/view/button/tab/preview.js +14 -114
  14. package/lib/example/view/button/tab.js +36 -136
  15. package/lib/example/view/div/container/css.js +15 -153
  16. package/lib/example/view/div/container/html.js +19 -157
  17. package/lib/example/view/div/container/markdown.js +38 -190
  18. package/lib/example/view/div/container/markdownStyle.js +39 -191
  19. package/lib/example/view/div/container/plainText.js +15 -153
  20. package/lib/example/view/div/container/preview.js +25 -177
  21. package/lib/example/view/div/container.js +20 -156
  22. package/lib/example/view/div/html.js +18 -173
  23. package/lib/example/view/div/pageButtons.js +63 -236
  24. package/lib/example/view/div/preview.js +58 -268
  25. package/lib/example/view/div/sizeable/left.js +13 -104
  26. package/lib/example/view/div/tabButtons/left.js +42 -161
  27. package/lib/example/view/div/tabButtons/right.js +75 -198
  28. package/lib/example/view/div/tabButtons.js +15 -172
  29. package/lib/example/view/textarea/css.js +29 -147
  30. package/lib/example/view/textarea/markdown.js +29 -145
  31. package/lib/example/view/textarea/markdownStyle.js +29 -145
  32. package/lib/example/view/textarea/parseTree/css.js +21 -132
  33. package/lib/example/view/textarea/parseTree/html.js +21 -132
  34. package/lib/example/view/textarea/parseTree/markdown.js +17 -129
  35. package/lib/example/view/textarea/parseTree/markdownStyle.js +17 -129
  36. package/lib/example/view/textarea/parseTree.js +20 -135
  37. package/lib/example/view/textarea/plainText.js +32 -153
  38. package/lib/example/view/textarea.js +16 -23
  39. package/lib/example/view/xmp.js +30 -187
  40. package/lib/example/view.js +281 -518
  41. package/lib/example.js +10 -10
  42. package/lib/index/item.js +25 -87
  43. package/lib/index/list.js +29 -62
  44. package/lib/index/match.js +23 -62
  45. package/lib/index.js +34 -34
  46. package/lib/letters.js +3 -3
  47. package/lib/map/className.js +6 -6
  48. package/lib/map/node/css.js +50 -42
  49. package/lib/map/node/html.js +108 -71
  50. package/lib/map/nonTerminalNode/markdown.js +49 -40
  51. package/lib/map/nonTerminalNode/markdownStyle.js +49 -40
  52. package/lib/map/tagName.js +6 -6
  53. package/lib/markdown/bnf.js +300 -3
  54. package/lib/markdown/entries.js +3 -3
  55. package/lib/markdown/lexer.js +23 -126
  56. package/lib/markdown/parser.js +18 -121
  57. package/lib/markdownStyle/bnf.js +80 -3
  58. package/lib/markdownStyle/entries.js +8 -8
  59. package/lib/markdownStyle/lexer.js +23 -126
  60. package/lib/markdownStyle/parser.js +18 -121
  61. package/lib/mixins/node.js +53 -53
  62. package/lib/mixins/token.js +13 -13
  63. package/lib/node/css/amount.js +16 -110
  64. package/lib/node/css/argument.js +8 -95
  65. package/lib/node/css/arguments.js +13 -127
  66. package/lib/node/css/class.js +13 -127
  67. package/lib/node/css/colour.js +16 -110
  68. package/lib/node/css/content.js +12 -103
  69. package/lib/node/css/declaration.js +19 -109
  70. package/lib/node/css/identifier.js +16 -110
  71. package/lib/node/css/name.js +13 -127
  72. package/lib/node/css/pseudoClass.js +13 -127
  73. package/lib/node/css/ruleName.js +43 -137
  74. package/lib/node/css/ruleSet.js +45 -139
  75. package/lib/node/css/selector.js +8 -95
  76. package/lib/node/css/selectors.js +19 -110
  77. package/lib/node/css/selectorsList.js +22 -115
  78. package/lib/node/css/string.js +16 -110
  79. package/lib/node/css/target.js +12 -103
  80. package/lib/node/css/topmost.js +70 -182
  81. package/lib/node/css/value.js +12 -126
  82. package/lib/node/css/values.js +16 -107
  83. package/lib/node/css/verbatim.js +35 -132
  84. package/lib/node/css.js +66 -275
  85. package/lib/node/html/anchor/contents.js +8 -92
  86. package/lib/node/html/anchor/footnote.js +8 -92
  87. package/lib/node/html/anchor/index.js +8 -92
  88. package/lib/node/html/anchor.js +38 -157
  89. package/lib/node/html/container.js +24 -154
  90. package/lib/node/html/directive/contents.js +8 -95
  91. package/lib/node/html/directive/footnotes.js +8 -95
  92. package/lib/node/html/directive/index.js +8 -95
  93. package/lib/node/html/directive/pageNumber.js +8 -95
  94. package/lib/node/html/directive.js +23 -123
  95. package/lib/node/html/division.js +127 -273
  96. package/lib/node/html/error.js +41 -179
  97. package/lib/node/html/footnote.js +40 -149
  98. package/lib/node/html/heading/index.js +61 -183
  99. package/lib/node/html/heading/primary.js +12 -112
  100. package/lib/node/html/heading/quaternary.js +12 -112
  101. package/lib/node/html/heading/secondary.js +12 -112
  102. package/lib/node/html/heading/tertiary.js +12 -112
  103. package/lib/node/html/heading.js +30 -147
  104. package/lib/node/html/image.js +76 -207
  105. package/lib/node/html/item/contents.js +20 -124
  106. package/lib/node/html/item/footnote.js +21 -125
  107. package/lib/node/html/item/index.js +39 -145
  108. package/lib/node/html/item/ordered.js +23 -133
  109. package/lib/node/html/item/unordered.js +10 -110
  110. package/lib/node/html/line/block.js +15 -119
  111. package/lib/node/html/line.js +89 -242
  112. package/lib/node/html/link/contents.js +36 -153
  113. package/lib/node/html/link/email.js +89 -243
  114. package/lib/node/html/link/footnote.js +94 -238
  115. package/lib/node/html/link/hyper.js +89 -243
  116. package/lib/node/html/link/index.js +67 -222
  117. package/lib/node/html/list/contents.js +20 -124
  118. package/lib/node/html/list/footnotes.js +40 -160
  119. package/lib/node/html/list/index.js +20 -124
  120. package/lib/node/html/list/ordered.js +10 -110
  121. package/lib/node/html/list/unordered.js +10 -110
  122. package/lib/node/html/listing/block.js +33 -177
  123. package/lib/node/html/listing/inline.js +35 -174
  124. package/lib/node/html/pageNumber.js +65 -216
  125. package/lib/node/html/paragraph.js +10 -110
  126. package/lib/node/html/reference.js +10 -110
  127. package/lib/node/html/table.js +10 -110
  128. package/lib/node/html/tableBody.js +10 -110
  129. package/lib/node/html/tableBodyCell.js +10 -110
  130. package/lib/node/html/tableBodyRow.js +10 -110
  131. package/lib/node/html/tableHead.js +10 -110
  132. package/lib/node/html/tableHeadCell.js +10 -110
  133. package/lib/node/html/tableHeadRow.js +10 -110
  134. package/lib/node/html/text/block.js +10 -110
  135. package/lib/node/html/text/comma.js +21 -128
  136. package/lib/node/html/text/emphasised.js +14 -118
  137. package/lib/node/html/text/index.js +28 -143
  138. package/lib/node/html/text/inline.js +34 -147
  139. package/lib/node/html/text/plain.js +10 -110
  140. package/lib/node/html/text/strong.js +14 -118
  141. package/lib/node/html/text/stronglyEmphasised.js +66 -208
  142. package/lib/node/html/text.js +24 -162
  143. package/lib/node/html/topmost.js +100 -240
  144. package/lib/node/html.js +256 -554
  145. package/lib/node/markdown/blockEnd.js +5 -89
  146. package/lib/node/markdown/blockStart.js +18 -113
  147. package/lib/node/markdown/className.js +12 -100
  148. package/lib/node/markdown/container.js +18 -113
  149. package/lib/node/markdown/directive/embed.js +39 -137
  150. package/lib/node/markdown/directive/include.js +39 -137
  151. package/lib/node/markdown/division.js +70 -216
  152. package/lib/node/markdown/document.js +44 -147
  153. package/lib/node/markdown/error.js +12 -100
  154. package/lib/node/markdown/footnote.js +12 -100
  155. package/lib/node/markdown/hyperlink.js +34 -131
  156. package/lib/node/markdown/image.js +12 -100
  157. package/lib/node/markdown/item/ordered.js +15 -103
  158. package/lib/node/markdown/link/email.js +34 -131
  159. package/lib/node/markdown/link/footnote.js +14 -102
  160. package/lib/node/markdown/listng/block.js +12 -100
  161. package/lib/node/markdown/listng/inline.js +18 -106
  162. package/lib/node/markdown/path.js +12 -100
  163. package/lib/node/markdown/reference.js +15 -103
  164. package/lib/node/markdown/subDivision.js +35 -126
  165. package/lib/node/markdown/text/block.js +5 -89
  166. package/lib/node/markdown/text/plain.js +5 -89
  167. package/lib/node/markdown/text.js +46 -134
  168. package/lib/node/markdown.js +34 -169
  169. package/lib/node/markdownStyle/amount.js +13 -101
  170. package/lib/node/markdownStyle/argument.js +5 -89
  171. package/lib/node/markdownStyle/arguments.js +5 -89
  172. package/lib/node/markdownStyle/colour.js +12 -100
  173. package/lib/node/markdownStyle/content.js +21 -109
  174. package/lib/node/markdownStyle/declaration.js +5 -89
  175. package/lib/node/markdownStyle/document.js +5 -89
  176. package/lib/node/markdownStyle/error.js +5 -89
  177. package/lib/node/markdownStyle/identifier.js +13 -101
  178. package/lib/node/markdownStyle/name.js +5 -89
  179. package/lib/node/markdownStyle/nonsense.js +5 -89
  180. package/lib/node/markdownStyle/pseudoClass.js +5 -89
  181. package/lib/node/markdownStyle/ruleName.js +12 -100
  182. package/lib/node/markdownStyle/ruleSet.js +5 -89
  183. package/lib/node/markdownStyle/selector.js +5 -89
  184. package/lib/node/markdownStyle/selectors.js +5 -89
  185. package/lib/node/markdownStyle/selectorsList.js +5 -89
  186. package/lib/node/markdownStyle/string.js +12 -100
  187. package/lib/node/markdownStyle/target.js +12 -100
  188. package/lib/node/markdownStyle/value.js +5 -89
  189. package/lib/node/markdownStyle/values.js +5 -89
  190. package/lib/node/markdownStyle/verbatim.js +5 -89
  191. package/lib/node/markdownStyle.js +16 -135
  192. package/lib/prepends.js +4 -4
  193. package/lib/queries/markdown.js +7 -7
  194. package/lib/queries/markdownStyle.js +7 -7
  195. package/lib/ruleNames/markdown.js +145 -145
  196. package/lib/ruleNames/markdownStyle.js +51 -51
  197. package/lib/style/defaultMarkdown.js +247 -3
  198. package/lib/style/font.js +54 -3
  199. package/lib/styleElement/markdown/default.js +17 -131
  200. package/lib/styleElement/markdown.js +30 -151
  201. package/lib/styleElement.js +30 -69
  202. package/lib/targets.js +3 -3
  203. package/lib/tokenTypes.js +39 -39
  204. package/lib/transform/css/ruleSet.js +15 -106
  205. package/lib/transform/css/selectors.js +17 -108
  206. package/lib/transform/css/selectorsList.js +28 -121
  207. package/lib/transform/css.js +35 -139
  208. package/lib/transform/html/anchor/index.js +11 -99
  209. package/lib/transform/html/division.js +18 -112
  210. package/lib/transform/html/footnote.js +25 -122
  211. package/lib/transform/html/heading/index.js +7 -91
  212. package/lib/transform/html/index.js +44 -139
  213. package/lib/transform/html/item/contents.js +23 -111
  214. package/lib/transform/html/item/footnote.js +11 -99
  215. package/lib/transform/html/item/index.js +11 -99
  216. package/lib/transform/html/line.js +10 -98
  217. package/lib/transform/html/link/contents.js +20 -111
  218. package/lib/transform/html/link/footnote.js +36 -140
  219. package/lib/transform/html/list/contents.js +37 -151
  220. package/lib/transform/html/list/footnotes.js +19 -110
  221. package/lib/transform/html/list/index.js +16 -100
  222. package/lib/transform/html/pageNumber.js +15 -106
  223. package/lib/transform/html.js +28 -132
  224. package/lib/transform/markdown/directive/embed.js +9 -120
  225. package/lib/transform/markdown/directive/ignore.js +6 -90
  226. package/lib/transform/markdown/directive/include.js +15 -129
  227. package/lib/transform/markdown/subDivision.js +6 -90
  228. package/lib/transform/markdown.js +7 -134
  229. package/lib/utilities/contents.js +74 -145
  230. package/lib/utilities/css.js +12 -16
  231. package/lib/utilities/dom.js +11 -11
  232. package/lib/utilities/entities.js +2 -2
  233. package/lib/utilities/entries.js +5 -5
  234. package/lib/utilities/grammar.js +57 -86
  235. package/lib/utilities/html.js +21 -25
  236. package/lib/utilities/index.js +76 -89
  237. package/lib/utilities/markdown.js +14 -17
  238. package/lib/utilities/markdownStyle.js +2 -2
  239. package/lib/utilities/object.js +16 -16
  240. package/lib/utilities/query.js +13 -14
  241. package/lib/utilities/string.js +2 -2
  242. package/package.json +5 -1
  243. package/.aiignore +0 -14
  244. package/.swcrc +0 -11
  245. package/bin/main.js +0 -15
  246. package/example.js +0 -72455
  247. package/font/Inconsolata-Bold.woff2 +0 -0
  248. package/font/Inconsolata-Regular.woff2 +0 -0
  249. package/font/STIXTwoMath-Regular.woff2 +0 -0
  250. package/font/STIXTwoText-Bold.woff2 +0 -0
  251. package/font/STIXTwoText-BoldItalic.woff2 +0 -0
  252. package/font/STIXTwoText-Italic.woff2 +0 -0
  253. package/font/STIXTwoText-Regular.woff2 +0 -0
  254. package/index.html +0 -56
  255. package/ttf/Inconsolata-Bold.ttf +0 -0
  256. package/ttf/Inconsolata-Regular.ttf +0 -0
@@ -8,44 +8,19 @@ Object.defineProperty(exports, "indexMapFromIndexDirectiveHTMLNodeAndDivisionHTM
8
8
  return indexMapFromIndexDirectiveHTMLNodeAndDivisionHTMLNodes;
9
9
  }
10
10
  });
11
- var _occamdom = require("occam-dom");
12
- var _necessary = require("necessary");
13
- var _match = /*#__PURE__*/ _interop_require_default(require("../index/match"));
14
- var _object = require("../utilities/object");
15
- var _constants = require("../constants");
16
- function _array_like_to_array(arr, len) {
17
- if (len == null || len > arr.length) len = arr.length;
18
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
19
- return arr2;
20
- }
21
- function _array_without_holes(arr) {
22
- if (Array.isArray(arr)) return _array_like_to_array(arr);
23
- }
11
+ const _occamdom = require("occam-dom");
12
+ const _necessary = require("necessary");
13
+ const _match = /*#__PURE__*/ _interop_require_default(require("../index/match"));
14
+ const _object = require("../utilities/object");
15
+ const _constants = require("../constants");
24
16
  function _interop_require_default(obj) {
25
17
  return obj && obj.__esModule ? obj : {
26
18
  default: obj
27
19
  };
28
20
  }
29
- function _iterable_to_array(iter) {
30
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
31
- }
32
- function _non_iterable_spread() {
33
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
34
- }
35
- function _to_consumable_array(arr) {
36
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
37
- }
38
- function _unsupported_iterable_to_array(o, minLen) {
39
- if (!o) return;
40
- if (typeof o === "string") return _array_like_to_array(o, minLen);
41
- var n = Object.prototype.toString.call(o).slice(8, -1);
42
- if (n === "Object" && o.constructor) n = o.constructor.name;
43
- if (n === "Map" || n === "Set") return Array.from(n);
44
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
45
- }
46
- var compress = _necessary.arrayUtilities.compress, isLessThan = _occamdom.nodeUtilities.isLessThan, isAncestorOf = _occamdom.nodeUtilities.isAncestorOf;
21
+ const { compress } = _necessary.arrayUtilities, { isLessThan, isAncestorOf } = _occamdom.nodeUtilities;
47
22
  function indexMapFromIndexDirectiveHTMLNodeAndDivisionHTMLNodes(indexDirectiveHTMLNode, divisionHTMLNodes, context) {
48
- var indexMap = createIndexMap(indexDirectiveHTMLNode, divisionHTMLNodes, context);
23
+ const indexMap = createIndexMap(indexDirectiveHTMLNode, divisionHTMLNodes, context);
49
24
  removeIgnoredWords(indexMap, context);
50
25
  adjustMixedPlurals(indexMap, context);
51
26
  adjustPluralPlurals(indexMap, context);
@@ -56,21 +31,21 @@ function indexMapFromIndexDirectiveHTMLNodeAndDivisionHTMLNodes(indexDirectiveHT
56
31
  return indexMap;
57
32
  }
58
33
  function createIndexMap(indexDirectiveHTMLNode, divisionHTMLNodes, context) {
59
- var indexMap = {};
60
- var _context_phrases = context.phrases, phrases = _context_phrases === void 0 ? [] : _context_phrases, indexMatches = phrases.map(function(phrase) {
61
- var indexMatch = _match.default.fromPhrase(phrase);
34
+ const indexMap = {};
35
+ const { phrases = [] } = context, indexMatches = phrases.map((phrase)=>{
36
+ const indexMatch = _match.default.fromPhrase(phrase);
62
37
  return indexMatch;
63
38
  });
64
- divisionHTMLNodes.forEach(function(divisionHTMLNode) {
65
- var divisionHTMLNodeLessThanIndexDirectiveHTMLNode = isLessThan(divisionHTMLNode, indexDirectiveHTMLNode);
39
+ divisionHTMLNodes.forEach((divisionHTMLNode)=>{
40
+ const divisionHTMLNodeLessThanIndexDirectiveHTMLNode = isLessThan(divisionHTMLNode, indexDirectiveHTMLNode);
66
41
  if (divisionHTMLNodeLessThanIndexDirectiveHTMLNode) {
67
- var divisionHTMLNodeAncestorOfIndexDirectiveHTMLNode = isAncestorOf(divisionHTMLNode, indexDirectiveHTMLNode);
42
+ const divisionHTMLNodeAncestorOfIndexDirectiveHTMLNode = isAncestorOf(divisionHTMLNode, indexDirectiveHTMLNode);
68
43
  if (!divisionHTMLNodeAncestorOfIndexDirectiveHTMLNode) {
69
- var pageNumber = divisionHTMLNode.pageNumber(context);
44
+ const pageNumber = divisionHTMLNode.pageNumber(context);
70
45
  if (pageNumber !== null) {
71
- var plainText = divisionHTMLNode.asPlainText(context), wordsOrPhrases = wordsOrPhrasesFromPlainTextAndIndexMatches(plainText, indexMatches);
72
- wordsOrPhrases.forEach(function(wordOrPhrase) {
73
- var pageNumbers = indexMap.hasOwnProperty(wordOrPhrase) ? indexMap[wordOrPhrase] : [];
46
+ const plainText = divisionHTMLNode.asPlainText(context), wordsOrPhrases = wordsOrPhrasesFromPlainTextAndIndexMatches(plainText, indexMatches);
47
+ wordsOrPhrases.forEach((wordOrPhrase)=>{
48
+ const pageNumbers = indexMap.hasOwnProperty(wordOrPhrase) ? indexMap[wordOrPhrase] : [];
74
49
  indexMap[wordOrPhrase] = pageNumbers;
75
50
  pageNumbers.push(pageNumber);
76
51
  });
@@ -81,53 +56,53 @@ function createIndexMap(indexDirectiveHTMLNode, divisionHTMLNodes, context) {
81
56
  return indexMap;
82
57
  }
83
58
  function wordsOrPhrasesFromPlainTextAndIndexMatches(plainText, indexMatches) {
84
- var wordsOrPhrases;
59
+ let wordsOrPhrases;
85
60
  plainText = preparePlainText(plainText); ///
86
- indexMatches.forEach(function(indexMatch) {
61
+ indexMatches.forEach((indexMatch)=>{
87
62
  plainText = indexMatch.replace(plainText);
88
63
  });
89
64
  wordsOrPhrases = plainText.split(_constants.SINGLE_SPACE);
90
- wordsOrPhrases = wordsOrPhrases.map(function(wordOrPhrase) {
65
+ wordsOrPhrases = wordsOrPhrases.map((wordOrPhrase)=>{
91
66
  wordOrPhrase = _match.default.revert(wordOrPhrase); ///
92
67
  return wordOrPhrase;
93
68
  });
94
69
  return wordsOrPhrases;
95
70
  }
96
71
  function compressPageNumbers(indexMap) {
97
- (0, _object.mapValues)(indexMap, function(wordOrPhrase, pageNumbers) {
98
- compress(pageNumbers, function(pageNumberA, pageNumberB) {
72
+ (0, _object.mapValues)(indexMap, (wordOrPhrase, pageNumbers)=>{
73
+ compress(pageNumbers, (pageNumberA, pageNumberB)=>{
99
74
  if (pageNumberA !== pageNumberB) {
100
75
  return true;
101
76
  }
102
77
  });
103
- pageNumbers.sort(function(pageNumberB, pageNumberA) {
78
+ pageNumbers.sort((pageNumberB, pageNumberA)=>{
104
79
  pageNumberA = Number(pageNumberA); ///
105
80
  pageNumberB = Number(pageNumberB); ///
106
- var difference = pageNumberB - pageNumberA;
81
+ const difference = pageNumberB - pageNumberA;
107
82
  return difference;
108
83
  });
109
84
  return pageNumbers;
110
85
  });
111
86
  }
112
87
  function removeIgnoredWords(indexMap, context) {
113
- var _context_ignoredWords = context.ignoredWords, ignoredWords = _context_ignoredWords === void 0 ? [] : _context_ignoredWords;
114
- ignoredWords.forEach(function(ignoredWord) {
88
+ const { ignoredWords = [] } = context;
89
+ ignoredWords.forEach((ignoredWord)=>{
115
90
  delete indexMap[ignoredWord];
116
91
  });
117
92
  }
118
93
  function adjustProperNouns(indexMap, context) {
119
- var _context_properNouns = context.properNouns, properNouns = _context_properNouns === void 0 ? [] : _context_properNouns, lowerCaseProperNouns = properNouns.map(function(properNoun) {
120
- var lowerCaseProperNoun = properNoun.toLowerCase();
94
+ const { properNouns = [] } = context, lowerCaseProperNouns = properNouns.map((properNoun)=>{
95
+ const lowerCaseProperNoun = properNoun.toLowerCase();
121
96
  return lowerCaseProperNoun;
122
97
  });
123
- (0, _object.mapKeys)(indexMap, function(wordOrPhrase) {
124
- var index = lowerCaseProperNouns.findIndex(function(lowerCaseProperName) {
98
+ (0, _object.mapKeys)(indexMap, (wordOrPhrase)=>{
99
+ const index = lowerCaseProperNouns.findIndex((lowerCaseProperName)=>{
125
100
  if (lowerCaseProperName === wordOrPhrase) {
126
101
  return true;
127
102
  }
128
103
  });
129
104
  if (index > -1) {
130
- var properNoun = properNouns[index];
105
+ const properNoun = properNouns[index];
131
106
  wordOrPhrase = properNoun; ///
132
107
  }
133
108
  return wordOrPhrase;
@@ -141,69 +116,81 @@ function preparePlainText(plainText) {
141
116
  return plainText;
142
117
  }
143
118
  function adjustAcronyms(indexMap, context) {
144
- var _context_acronyms = context.acronyms, acronyms = _context_acronyms === void 0 ? [] : _context_acronyms, lowerCaseAcronyms = acronyms.map(function(acronym) {
145
- var lowerCaseAcronym = acronym.toLowerCase();
119
+ const { acronyms = [] } = context, lowerCaseAcronyms = acronyms.map((acronym)=>{
120
+ const lowerCaseAcronym = acronym.toLowerCase();
146
121
  return lowerCaseAcronym;
147
122
  });
148
- (0, _object.mapKeys)(indexMap, function(wordOrPhrase) {
149
- var index = lowerCaseAcronyms.findIndex(function(lowerCaseProperName) {
123
+ (0, _object.mapKeys)(indexMap, (wordOrPhrase)=>{
124
+ const index = lowerCaseAcronyms.findIndex((lowerCaseProperName)=>{
150
125
  if (lowerCaseProperName === wordOrPhrase) {
151
126
  return true;
152
127
  }
153
128
  });
154
129
  if (index > -1) {
155
- var acronym = acronyms[index];
130
+ const acronym = acronyms[index];
156
131
  wordOrPhrase = acronym; ///
157
132
  }
158
133
  return wordOrPhrase;
159
134
  });
160
135
  }
161
136
  function adjustMixedPlurals(indexMap, context) {
162
- var _context_plurals = context.plurals, plurals = _context_plurals === void 0 ? [] : _context_plurals, mixedPlurals = reducePlurals(plurals, isMixed), pluralPlurals = mapPlurals(mixedPlurals, mixedToPlural), singularPlurals = mapPlurals(mixedPlurals, mixedToSingular);
163
- (0, _object.forEach)(indexMap, function(wordOrPhrase, pageNumbers) {
164
- var singularPluralsIncludesWordOrPhrase = singularPlurals.includes(wordOrPhrase);
137
+ const { plurals = [] } = context, mixedPlurals = reducePlurals(plurals, isMixed), pluralPlurals = mapPlurals(mixedPlurals, mixedToPlural), singularPlurals = mapPlurals(mixedPlurals, mixedToSingular);
138
+ (0, _object.forEach)(indexMap, (wordOrPhrase, pageNumbers)=>{
139
+ const singularPluralsIncludesWordOrPhrase = singularPlurals.includes(wordOrPhrase);
165
140
  if (singularPluralsIncludesWordOrPhrase) {
166
- var singularWordOrPhrase = wordOrPhrase, singularPageNumbers = pageNumbers, mixedWordOrPhrase = singularToMixed(singularWordOrPhrase), mixedPageNumbers = indexMap[mixedWordOrPhrase] || [];
167
- pageNumbers = _to_consumable_array(singularPageNumbers).concat(_to_consumable_array(mixedPageNumbers));
141
+ const singularWordOrPhrase = wordOrPhrase, singularPageNumbers = pageNumbers, mixedWordOrPhrase = singularToMixed(singularWordOrPhrase), mixedPageNumbers = indexMap[mixedWordOrPhrase] || [];
142
+ pageNumbers = [
143
+ ...singularPageNumbers,
144
+ ...mixedPageNumbers
145
+ ];
168
146
  delete indexMap[singularWordOrPhrase];
169
147
  indexMap[mixedWordOrPhrase] = pageNumbers;
170
148
  }
171
- var pluralPluralsIncludesWordOrPhrase = pluralPlurals.includes(wordOrPhrase);
149
+ const pluralPluralsIncludesWordOrPhrase = pluralPlurals.includes(wordOrPhrase);
172
150
  if (pluralPluralsIncludesWordOrPhrase) {
173
- var pluralWordOrPhrase = wordOrPhrase, pluralPageNumbers = pageNumbers, mixedWordOrPhrase1 = pluralToMixed(pluralWordOrPhrase), mixedPageNumbers1 = indexMap[mixedWordOrPhrase1] || [];
174
- pageNumbers = _to_consumable_array(pluralPageNumbers).concat(_to_consumable_array(mixedPageNumbers1));
151
+ const pluralWordOrPhrase = wordOrPhrase, pluralPageNumbers = pageNumbers, mixedWordOrPhrase = pluralToMixed(pluralWordOrPhrase), mixedPageNumbers = indexMap[mixedWordOrPhrase] || [];
152
+ pageNumbers = [
153
+ ...pluralPageNumbers,
154
+ ...mixedPageNumbers
155
+ ];
175
156
  delete indexMap[pluralWordOrPhrase];
176
- indexMap[mixedWordOrPhrase1] = pageNumbers;
157
+ indexMap[mixedWordOrPhrase] = pageNumbers;
177
158
  }
178
159
  });
179
160
  }
180
161
  function adjustPluralPlurals(indexMap, context) {
181
- var _context_plurals = context.plurals, plurals = _context_plurals === void 0 ? [] : _context_plurals, pluralPlurals = reducePlurals(plurals, isPlural), singularPlurals = mapPlurals(pluralPlurals, pluralToSingular);
182
- (0, _object.forEach)(indexMap, function(wordOrPhrase, pageNumbers) {
183
- var singularPluralsIncludesWordOrPhrase = singularPlurals.includes(wordOrPhrase);
162
+ const { plurals = [] } = context, pluralPlurals = reducePlurals(plurals, isPlural), singularPlurals = mapPlurals(pluralPlurals, pluralToSingular);
163
+ (0, _object.forEach)(indexMap, (wordOrPhrase, pageNumbers)=>{
164
+ const singularPluralsIncludesWordOrPhrase = singularPlurals.includes(wordOrPhrase);
184
165
  if (singularPluralsIncludesWordOrPhrase) {
185
- var singularWordOrPhrase = wordOrPhrase, singularPageNumbers = pageNumbers, pluralWordOrPhrase = singularToPlural(wordOrPhrase), pluralPageNumbers = indexMap[pluralWordOrPhrase] || [];
186
- pageNumbers = _to_consumable_array(singularPageNumbers).concat(_to_consumable_array(pluralPageNumbers));
166
+ const singularWordOrPhrase = wordOrPhrase, singularPageNumbers = pageNumbers, pluralWordOrPhrase = singularToPlural(wordOrPhrase), pluralPageNumbers = indexMap[pluralWordOrPhrase] || [];
167
+ pageNumbers = [
168
+ ...singularPageNumbers,
169
+ ...pluralPageNumbers
170
+ ];
187
171
  delete indexMap[singularWordOrPhrase];
188
172
  indexMap[pluralWordOrPhrase] = pageNumbers;
189
173
  }
190
174
  });
191
175
  }
192
176
  function adjustSingularPlurals(indexMap, context) {
193
- var _context_plurals = context.plurals, plurals = _context_plurals === void 0 ? [] : _context_plurals, singularPlurals = reducePlurals(plurals, isSingular), pluralPlurals = mapPlurals(singularPlurals, singularToPlural);
194
- (0, _object.forEach)(indexMap, function(wordOrPhrase, pageNumbers) {
195
- var pluralPluralsIncludesWordOrPhrase = pluralPlurals.includes(wordOrPhrase);
177
+ const { plurals = [] } = context, singularPlurals = reducePlurals(plurals, isSingular), pluralPlurals = mapPlurals(singularPlurals, singularToPlural);
178
+ (0, _object.forEach)(indexMap, (wordOrPhrase, pageNumbers)=>{
179
+ const pluralPluralsIncludesWordOrPhrase = pluralPlurals.includes(wordOrPhrase);
196
180
  if (pluralPluralsIncludesWordOrPhrase) {
197
- var singularWordOrPhrase = pluralToSingular(wordOrPhrase), singularPageNumbers = indexMap[singularWordOrPhrase] || [], pluralWordOrPhrase = wordOrPhrase, pluralPageNumbers = pageNumbers; ///
198
- pageNumbers = _to_consumable_array(singularPageNumbers).concat(_to_consumable_array(pluralPageNumbers));
181
+ const singularWordOrPhrase = pluralToSingular(wordOrPhrase), singularPageNumbers = indexMap[singularWordOrPhrase] || [], pluralWordOrPhrase = wordOrPhrase, pluralPageNumbers = pageNumbers; ///
182
+ pageNumbers = [
183
+ ...singularPageNumbers,
184
+ ...pluralPageNumbers
185
+ ];
199
186
  delete indexMap[pluralWordOrPhrase];
200
187
  indexMap[singularWordOrPhrase] = pageNumbers;
201
188
  }
202
189
  });
203
190
  }
204
191
  function reducePlurals(plurals, callback) {
205
- plurals = plurals.reduce(function(plurals, plural) {
206
- var result = callback(plural);
192
+ plurals = plurals.reduce((plurals, plural)=>{
193
+ const result = callback(plural);
207
194
  if (result) {
208
195
  plurals.push(plural);
209
196
  }
@@ -212,22 +199,22 @@ function reducePlurals(plurals, callback) {
212
199
  return plurals;
213
200
  }
214
201
  function mapPlurals(plurals, callback) {
215
- plurals = plurals.map(function(plural) {
202
+ plurals = plurals.map((plural)=>{
216
203
  plural = callback(plural);
217
204
  return plural;
218
205
  });
219
206
  return plurals;
220
207
  }
221
208
  function isSingular(text) {
222
- var indexMatches = /[^s)]$/.test(text), singular = indexMatches; ///
209
+ const indexMatches = /[^s)]$/.test(text), singular = indexMatches; ///
223
210
  return singular;
224
211
  }
225
212
  function isPlural(text) {
226
- var indexMatches = /(ies|s)$/.test(text), plural = indexMatches; ///
213
+ const indexMatches = /(ies|s)$/.test(text), plural = indexMatches; ///
227
214
  return plural;
228
215
  }
229
216
  function isMixed(text) {
230
- var indexMatches = /\(s\)$/.test(text), mixed = indexMatches; ///
217
+ const indexMatches = /\(s\)$/.test(text), mixed = indexMatches; ///
231
218
  return mixed;
232
219
  }
233
220
  function mixedToPlural(text) {
@@ -246,11 +233,11 @@ function mixedToSingular(text) {
246
233
  return text;
247
234
  }
248
235
  function singularToMixed(text) {
249
- text = "".concat(text, "(s)");
236
+ text = `${text}(s)`;
250
237
  return text;
251
238
  }
252
239
  function singularToPlural(text) {
253
- text = "".concat(text, "s") ///
240
+ text = `${text}s` ///
254
241
  .replace(/ys$/, _constants.IES_STRING);
255
242
  return text;
256
243
  }
@@ -260,4 +247,4 @@ function pluralToSingular(text) {
260
247
  return text;
261
248
  }
262
249
 
263
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tZG9tXCJcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgSW5kZXhNYXRjaCBmcm9tIFwiLi4vaW5kZXgvbWF0Y2hcIjtcblxuaW1wb3J0IHsgZm9yRWFjaCwgbWFwS2V5cywgbWFwVmFsdWVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9vYmplY3RcIjtcbmltcG9ydCB7IFlfU1RSSU5HLCBTX1NUUklORywgSUVTX1NUUklORywgRU1QVFlfU1RSSU5HLCBTSU5HTEVfU1BBQ0UsIFBBUkVOVEhFU0lTRURfU19TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgY29tcHJlc3MgfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyBpc0xlc3NUaGFuLCBpc0FuY2VzdG9yT2YgfSA9IG5vZGVVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleE1hcEZyb21JbmRleERpcmVjdGl2ZUhUTUxOb2RlQW5kRGl2aXNpb25IVE1MTm9kZXMoaW5kZXhEaXJlY3RpdmVIVE1MTm9kZSwgZGl2aXNpb25IVE1MTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXAgPSBjcmVhdGVJbmRleE1hcChpbmRleERpcmVjdGl2ZUhUTUxOb2RlLCBkaXZpc2lvbkhUTUxOb2RlcywgY29udGV4dCk7XG5cbiAgcmVtb3ZlSWdub3JlZFdvcmRzKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFBsdXJhbFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFNpbmd1bGFyUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgYWRqdXN0UHJvcGVyTm91bnMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluZGV4TWFwKGluZGV4RGlyZWN0aXZlSFRNTE5vZGUsIGRpdmlzaW9uSFRNTE5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWFwID0ge307XG5cbiAgY29uc3QgeyBwaHJhc2VzID0gW10gfSA9IGNvbnRleHQsXG4gICAgICAgIGluZGV4TWF0Y2hlcyA9IHBocmFzZXMubWFwKChwaHJhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCBpbmRleE1hdGNoID0gSW5kZXhNYXRjaC5mcm9tUGhyYXNlKHBocmFzZSk7XG5cbiAgICAgICAgICByZXR1cm4gaW5kZXhNYXRjaDtcbiAgICAgICAgfSk7XG5cbiAgZGl2aXNpb25IVE1MTm9kZXMuZm9yRWFjaCgoZGl2aXNpb25IVE1MTm9kZSkgPT4ge1xuICAgIGNvbnN0IGRpdmlzaW9uSFRNTE5vZGVMZXNzVGhhbkluZGV4RGlyZWN0aXZlSFRNTE5vZGUgPSBpc0xlc3NUaGFuKGRpdmlzaW9uSFRNTE5vZGUsIGluZGV4RGlyZWN0aXZlSFRNTE5vZGUpO1xuXG4gICAgaWYgKGRpdmlzaW9uSFRNTE5vZGVMZXNzVGhhbkluZGV4RGlyZWN0aXZlSFRNTE5vZGUpIHtcbiAgICAgIGNvbnN0IGRpdmlzaW9uSFRNTE5vZGVBbmNlc3Rvck9mSW5kZXhEaXJlY3RpdmVIVE1MTm9kZSA9IGlzQW5jZXN0b3JPZihkaXZpc2lvbkhUTUxOb2RlLCBpbmRleERpcmVjdGl2ZUhUTUxOb2RlKTtcblxuICAgICAgaWYgKCFkaXZpc2lvbkhUTUxOb2RlQW5jZXN0b3JPZkluZGV4RGlyZWN0aXZlSFRNTE5vZGUpIHtcbiAgICAgICAgY29uc3QgcGFnZU51bWJlciA9IGRpdmlzaW9uSFRNTE5vZGUucGFnZU51bWJlcihjb250ZXh0KTtcblxuICAgICAgICBpZiAocGFnZU51bWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHBsYWluVGV4dCA9IGRpdmlzaW9uSFRNTE5vZGUuYXNQbGFpblRleHQoY29udGV4dCksXG4gICAgICAgICAgICAgICAgd29yZHNPclBocmFzZXMgPSB3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMocGxhaW5UZXh0LCBpbmRleE1hdGNoZXMpO1xuXG4gICAgICAgICAgd29yZHNPclBocmFzZXMuZm9yRWFjaCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYWdlTnVtYmVycyA9IGluZGV4TWFwLmhhc093blByb3BlcnR5KHdvcmRPclBocmFzZSkgP1xuICAgICAgICAgICAgICAgICAgICBpbmRleE1hcFt3b3JkT3JQaHJhc2VdIDpcbiAgICAgICAgICAgICAgICAgICAgICBbXTtcblxuICAgICAgICAgICAgaW5kZXhNYXBbd29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuXG4gICAgICAgICAgICBwYWdlTnVtYmVycy5wdXNoKHBhZ2VOdW1iZXIpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIHdvcmRzT3JQaHJhc2VzRnJvbVBsYWluVGV4dEFuZEluZGV4TWF0Y2hlcyhwbGFpblRleHQsIGluZGV4TWF0Y2hlcykge1xuICBsZXQgd29yZHNPclBocmFzZXM7XG5cbiAgcGxhaW5UZXh0ID0gcHJlcGFyZVBsYWluVGV4dChwbGFpblRleHQpOyAgLy8vXG5cbiAgaW5kZXhNYXRjaGVzLmZvckVhY2goKGluZGV4TWF0Y2gpID0+IHtcbiAgICBwbGFpblRleHQgPSBpbmRleE1hdGNoLnJlcGxhY2UocGxhaW5UZXh0KTtcbiAgfSk7XG5cbiAgd29yZHNPclBocmFzZXMgPSBwbGFpblRleHQuc3BsaXQoU0lOR0xFX1NQQUNFKTtcblxuICB3b3Jkc09yUGhyYXNlcyA9IHdvcmRzT3JQaHJhc2VzLm1hcCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgd29yZE9yUGhyYXNlID0gSW5kZXhNYXRjaC5yZXZlcnQod29yZE9yUGhyYXNlKTsgIC8vL1xuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHdvcmRzT3JQaHJhc2VzO1xufVxuXG5mdW5jdGlvbiBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKSB7XG4gIG1hcFZhbHVlcyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICBjb21wcmVzcyhwYWdlTnVtYmVycywgKHBhZ2VOdW1iZXJBLCBwYWdlTnVtYmVyQikgPT4ge1xuICAgICAgaWYgKHBhZ2VOdW1iZXJBICE9PSBwYWdlTnVtYmVyQikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHBhZ2VOdW1iZXJzLnNvcnQoKHBhZ2VOdW1iZXJCLCBwYWdlTnVtYmVyQSkgPT4ge1xuICAgICAgcGFnZU51bWJlckEgPSBOdW1iZXIocGFnZU51bWJlckEpOyAgLy8vXG5cbiAgICAgIHBhZ2VOdW1iZXJCID0gTnVtYmVyKHBhZ2VOdW1iZXJCKTsgIC8vL1xuXG4gICAgICBjb25zdCBkaWZmZXJlbmNlID0gcGFnZU51bWJlckIgLSBwYWdlTnVtYmVyQTtcblxuICAgICAgcmV0dXJuIGRpZmZlcmVuY2U7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFnZU51bWJlcnM7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVJZ25vcmVkV29yZHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpZ25vcmVkV29yZHMgPSBbXSB9ID0gY29udGV4dDtcblxuICBpZ25vcmVkV29yZHMuZm9yRWFjaCgoaWdub3JlZFdvcmQpID0+IHtcbiAgICBkZWxldGUgaW5kZXhNYXBbaWdub3JlZFdvcmRdO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0UHJvcGVyTm91bnMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBwcm9wZXJOb3VucyA9IFtdIH0gPSBjb250ZXh0LFxuICAgICAgICBsb3dlckNhc2VQcm9wZXJOb3VucyA9IHByb3Blck5vdW5zLm1hcCgocHJvcGVyTm91bikgPT4ge1xuICAgICAgICAgIGNvbnN0IGxvd2VyQ2FzZVByb3Blck5vdW4gPSBwcm9wZXJOb3VuLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICByZXR1cm4gbG93ZXJDYXNlUHJvcGVyTm91bjtcbiAgICAgICAgfSk7XG5cbiAgbWFwS2V5cyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSkgPT4ge1xuICAgIGNvbnN0IGluZGV4ID0gbG93ZXJDYXNlUHJvcGVyTm91bnMuZmluZEluZGV4KChsb3dlckNhc2VQcm9wZXJOYW1lKSA9PiB7XG4gICAgICBpZiAobG93ZXJDYXNlUHJvcGVyTmFtZSA9PT0gd29yZE9yUGhyYXNlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIGNvbnN0IHByb3Blck5vdW4gPSBwcm9wZXJOb3Vuc1tpbmRleF07XG5cbiAgICAgIHdvcmRPclBocmFzZSA9IHByb3Blck5vdW47ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gd29yZE9yUGhyYXNlO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZVBsYWluVGV4dChwbGFpblRleHQpIHtcbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnRvTG93ZXJDYXNlKCk7ICAvLy9cblxuICBwbGFpblRleHQgPSBwbGFpblRleHQucmVwbGFjZSgvW15hLXowLTlcXC0gXS9nLCBTSU5HTEVfU1BBQ0UpO1xuXG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC5yZXBsYWNlKC9cXHMrL2csIFNJTkdMRV9TUEFDRSk7XG5cbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnJlcGxhY2UoL15cXHMrfFxccyskL2csIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIHBsYWluVGV4dDtcbn1cblxuZnVuY3Rpb24gYWRqdXN0QWNyb255bXMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBhY3JvbnltcyA9IFtdIH0gPSBjb250ZXh0LFxuICAgICAgICBsb3dlckNhc2VBY3JvbnltcyA9IGFjcm9ueW1zLm1hcCgoYWNyb255bSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGxvd2VyQ2FzZUFjcm9ueW0gPSBhY3JvbnltLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICByZXR1cm4gbG93ZXJDYXNlQWNyb255bTtcbiAgICAgICAgfSk7XG5cbiAgbWFwS2V5cyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSkgPT4ge1xuICAgIGNvbnN0IGluZGV4ID0gbG93ZXJDYXNlQWNyb255bXMuZmluZEluZGV4KChsb3dlckNhc2VQcm9wZXJOYW1lKSA9PiB7XG4gICAgICBpZiAobG93ZXJDYXNlUHJvcGVyTmFtZSA9PT0gd29yZE9yUGhyYXNlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIGNvbnN0IGFjcm9ueW0gPSBhY3Jvbnltc1tpbmRleF07XG5cbiAgICAgIHdvcmRPclBocmFzZSA9IGFjcm9ueW07ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gd29yZE9yUGhyYXNlO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0TWl4ZWRQbHVyYWxzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgcGx1cmFscyA9IFtdIH0gPSBjb250ZXh0LFxuICAgICAgICBtaXhlZFBsdXJhbHMgPSByZWR1Y2VQbHVyYWxzKHBsdXJhbHMsIGlzTWl4ZWQpLFxuICAgICAgICBwbHVyYWxQbHVyYWxzID0gbWFwUGx1cmFscyhtaXhlZFBsdXJhbHMsIG1peGVkVG9QbHVyYWwpLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSBtYXBQbHVyYWxzKG1peGVkUGx1cmFscywgbWl4ZWRUb1Npbmd1bGFyKTtcblxuICBmb3JFYWNoKGluZGV4TWFwLCAod29yZE9yUGhyYXNlLCBwYWdlTnVtYmVycykgPT4ge1xuICAgIGNvbnN0IHNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlID0gc2luZ3VsYXJQbHVyYWxzLmluY2x1ZGVzKHdvcmRPclBocmFzZSk7XG5cbiAgICBpZiAoc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UpIHtcbiAgICAgIGNvbnN0IHNpbmd1bGFyV29yZE9yUGhyYXNlID0gd29yZE9yUGhyYXNlLCAgLy8vXG4gICAgICAgICAgICBzaW5ndWxhclBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgIG1peGVkV29yZE9yUGhyYXNlID0gc2luZ3VsYXJUb01peGVkKHNpbmd1bGFyV29yZE9yUGhyYXNlKSxcbiAgICAgICAgICAgIG1peGVkUGFnZU51bWJlcnMgPSBpbmRleE1hcFttaXhlZFdvcmRPclBocmFzZV0gfHwgW107XG5cbiAgICAgIHBhZ2VOdW1iZXJzID0gW1xuICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzLFxuICAgICAgICAuLi5taXhlZFBhZ2VOdW1iZXJzXG4gICAgICBdO1xuXG4gICAgICBkZWxldGUgaW5kZXhNYXBbc2luZ3VsYXJXb3JkT3JQaHJhc2VdO1xuXG4gICAgICBpbmRleE1hcFttaXhlZFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG5cbiAgICBjb25zdCBwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBwbHVyYWxQbHVyYWxzLmluY2x1ZGVzKHdvcmRPclBocmFzZSk7XG5cbiAgICBpZiAocGx1cmFsUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlKSB7XG4gICAgICBjb25zdCBwbHVyYWxXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHBsdXJhbFBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgIG1peGVkV29yZE9yUGhyYXNlID0gcGx1cmFsVG9NaXhlZChwbHVyYWxXb3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgbWl4ZWRQYWdlTnVtYmVycyA9IGluZGV4TWFwW21peGVkV29yZE9yUGhyYXNlXSB8fCBbXTtcblxuICAgICAgcGFnZU51bWJlcnMgPSBbXG4gICAgICAgIC4uLnBsdXJhbFBhZ2VOdW1iZXJzLFxuICAgICAgICAuLi5taXhlZFBhZ2VOdW1iZXJzXG4gICAgICBdO1xuXG4gICAgICBkZWxldGUgaW5kZXhNYXBbcGx1cmFsV29yZE9yUGhyYXNlXTtcblxuICAgICAgaW5kZXhNYXBbbWl4ZWRXb3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0UGx1cmFsUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IHBsdXJhbHMgPSBbXSB9ID0gY29udGV4dCxcbiAgICAgICAgcGx1cmFsUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNQbHVyYWwpLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSBtYXBQbHVyYWxzKHBsdXJhbFBsdXJhbHMsIHBsdXJhbFRvU2luZ3VsYXIpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29uc3Qgc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgcGx1cmFsV29yZE9yUGhyYXNlID0gc2luZ3VsYXJUb1BsdXJhbCh3b3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgcGx1cmFsUGFnZU51bWJlcnMgPSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdIHx8IFtdO1xuXG4gICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgLi4uc2luZ3VsYXJQYWdlTnVtYmVycyxcbiAgICAgICAgLi4ucGx1cmFsUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV07XG5cbiAgICAgIGluZGV4TWFwW3BsdXJhbFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RTaW5ndWxhclBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBwbHVyYWxzID0gW10gfSA9IGNvbnRleHQsXG4gICAgICAgIHNpbmd1bGFyUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNTaW5ndWxhciksXG4gICAgICAgIHBsdXJhbFBsdXJhbHMgPSBtYXBQbHVyYWxzKHNpbmd1bGFyUGx1cmFscywgc2luZ3VsYXJUb1BsdXJhbCk7XG5cbiAgZm9yRWFjaChpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICAgIGNvbnN0IHBsdXJhbFBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSA9IHBsdXJhbFBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgICAgaWYgKHBsdXJhbFBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgICBjb25zdCBzaW5ndWxhcldvcmRPclBocmFzZSA9IHBsdXJhbFRvU2luZ3VsYXIod29yZE9yUGhyYXNlKSxcbiAgICAgICAgICAgICAgc2luZ3VsYXJQYWdlTnVtYmVycyA9IGluZGV4TWFwW3Npbmd1bGFyV29yZE9yUGhyYXNlXSB8fCBbXSxcbiAgICAgICAgICAgICAgcGx1cmFsV29yZE9yUGhyYXNlID0gd29yZE9yUGhyYXNlLCAgLy8vXG4gICAgICAgICAgICAgIHBsdXJhbFBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnM7ICAvLy9cblxuICAgICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzLFxuICAgICAgICAgIC4uLnBsdXJhbFBhZ2VOdW1iZXJzXG4gICAgICAgIF07XG5cbiAgICAgICAgZGVsZXRlIGluZGV4TWFwW3BsdXJhbFdvcmRPclBocmFzZV07XG5cbiAgICAgICAgaW5kZXhNYXBbc2luZ3VsYXJXb3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG4gICAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZWR1Y2VQbHVyYWxzKHBsdXJhbHMsIGNhbGxiYWNrKSB7XG4gIHBsdXJhbHMgPSBwbHVyYWxzLnJlZHVjZSgocGx1cmFscywgcGx1cmFsKSA9PiB7IC8vL1xuICAgIGNvbnN0IHJlc3VsdCA9IGNhbGxiYWNrKHBsdXJhbCk7XG5cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICBwbHVyYWxzLnB1c2gocGx1cmFsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGx1cmFscztcbiAgfSwgW10pO1xuXG4gIHJldHVybiBwbHVyYWxzO1xufVxuXG5mdW5jdGlvbiBtYXBQbHVyYWxzKHBsdXJhbHMsIGNhbGxiYWNrKSB7XG4gIHBsdXJhbHMgPSBwbHVyYWxzLm1hcCgocGx1cmFsKSA9PiB7IC8vL1xuICAgIHBsdXJhbCA9IGNhbGxiYWNrKHBsdXJhbCk7XG5cbiAgICByZXR1cm4gcGx1cmFsO1xuICB9KTtcblxuICByZXR1cm4gcGx1cmFscztcbn1cblxuZnVuY3Rpb24gaXNTaW5ndWxhcih0ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWF0Y2hlcyA9IC9bXnMpXSQvLnRlc3QodGV4dCksXG4gICAgICAgIHNpbmd1bGFyID0gaW5kZXhNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gc2luZ3VsYXI7XG59XG5cbmZ1bmN0aW9uIGlzUGx1cmFsKHRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXRjaGVzID0gLyhpZXN8cykkLy50ZXN0KHRleHQpLFxuICAgICAgICBwbHVyYWwgPSBpbmRleE1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBwbHVyYWw7XG59XG5cbmZ1bmN0aW9uIGlzTWl4ZWQodGV4dCkge1xuICBjb25zdCBpbmRleE1hdGNoZXMgPSAvXFwoc1xcKSQvLnRlc3QodGV4dCksXG4gICAgICAgIG1peGVkID0gaW5kZXhNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gbWl4ZWQ7XG59XG5cbmZ1bmN0aW9uIG1peGVkVG9QbHVyYWwodGV4dCkge1xuICB0ZXh0ID0gdGV4dCAvLy9cbiAgICAgICAgICAgLnJlcGxhY2UoL1xcKHNcXCkkLywgU19TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBwbHVyYWxUb01peGVkKHRleHQpIHtcbiAgdGV4dCA9IHRleHQgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC9zJC8sIFBBUkVOVEhFU0lTRURfU19TVFJJTkcpXG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmZ1bmN0aW9uIG1peGVkVG9TaW5ndWxhcih0ZXh0KSB7XG4gIHRleHQgPSB0ZXh0IC8vL1xuICAgICAgICAgIC5yZXBsYWNlKC9cXChzXFwpJC8sIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmZ1bmN0aW9uIHNpbmd1bGFyVG9NaXhlZCh0ZXh0KSB7XG4gIHRleHQgPSBgJHt0ZXh0fShzKWA7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmZ1bmN0aW9uIHNpbmd1bGFyVG9QbHVyYWwodGV4dCkge1xuICB0ZXh0ID0gYCR7dGV4dH1zYCAvLy9cbiAgICAgICAgICAgLnJlcGxhY2UoL3lzJC8sIElFU19TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBwbHVyYWxUb1Npbmd1bGFyKHRleHQpIHtcbiAgdGV4dCA9IHRleHQgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC9pZXMkLywgWV9TVFJJTkcpXG4gICAgICAgICAgIC5yZXBsYWNlKC9zJC8sIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG4iXSwibmFtZXMiOlsiaW5kZXhNYXBGcm9tSW5kZXhEaXJlY3RpdmVIVE1MTm9kZUFuZERpdmlzaW9uSFRNTE5vZGVzIiwiY29tcHJlc3MiLCJhcnJheVV0aWxpdGllcyIsImlzTGVzc1RoYW4iLCJub2RlVXRpbGl0aWVzIiwiaXNBbmNlc3Rvck9mIiwiaW5kZXhEaXJlY3RpdmVIVE1MTm9kZSIsImRpdmlzaW9uSFRNTE5vZGVzIiwiY29udGV4dCIsImluZGV4TWFwIiwiY3JlYXRlSW5kZXhNYXAiLCJyZW1vdmVJZ25vcmVkV29yZHMiLCJhZGp1c3RNaXhlZFBsdXJhbHMiLCJhZGp1c3RQbHVyYWxQbHVyYWxzIiwiYWRqdXN0U2luZ3VsYXJQbHVyYWxzIiwiYWRqdXN0UHJvcGVyTm91bnMiLCJhZGp1c3RBY3JvbnltcyIsImNvbXByZXNzUGFnZU51bWJlcnMiLCJwaHJhc2VzIiwiaW5kZXhNYXRjaGVzIiwibWFwIiwicGhyYXNlIiwiaW5kZXhNYXRjaCIsIkluZGV4TWF0Y2giLCJmcm9tUGhyYXNlIiwiZm9yRWFjaCIsImRpdmlzaW9uSFRNTE5vZGUiLCJkaXZpc2lvbkhUTUxOb2RlTGVzc1RoYW5JbmRleERpcmVjdGl2ZUhUTUxOb2RlIiwiZGl2aXNpb25IVE1MTm9kZUFuY2VzdG9yT2ZJbmRleERpcmVjdGl2ZUhUTUxOb2RlIiwicGFnZU51bWJlciIsInBsYWluVGV4dCIsImFzUGxhaW5UZXh0Iiwid29yZHNPclBocmFzZXMiLCJ3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMiLCJ3b3JkT3JQaHJhc2UiLCJwYWdlTnVtYmVycyIsImhhc093blByb3BlcnR5IiwicHVzaCIsInByZXBhcmVQbGFpblRleHQiLCJyZXBsYWNlIiwic3BsaXQiLCJTSU5HTEVfU1BBQ0UiLCJyZXZlcnQiLCJtYXBWYWx1ZXMiLCJwYWdlTnVtYmVyQSIsInBhZ2VOdW1iZXJCIiwic29ydCIsIk51bWJlciIsImRpZmZlcmVuY2UiLCJpZ25vcmVkV29yZHMiLCJpZ25vcmVkV29yZCIsInByb3Blck5vdW5zIiwibG93ZXJDYXNlUHJvcGVyTm91bnMiLCJwcm9wZXJOb3VuIiwibG93ZXJDYXNlUHJvcGVyTm91biIsInRvTG93ZXJDYXNlIiwibWFwS2V5cyIsImluZGV4IiwiZmluZEluZGV4IiwibG93ZXJDYXNlUHJvcGVyTmFtZSIsIkVNUFRZX1NUUklORyIsImFjcm9ueW1zIiwibG93ZXJDYXNlQWNyb255bXMiLCJhY3JvbnltIiwibG93ZXJDYXNlQWNyb255bSIsInBsdXJhbHMiLCJtaXhlZFBsdXJhbHMiLCJyZWR1Y2VQbHVyYWxzIiwiaXNNaXhlZCIsInBsdXJhbFBsdXJhbHMiLCJtYXBQbHVyYWxzIiwibWl4ZWRUb1BsdXJhbCIsInNpbmd1bGFyUGx1cmFscyIsIm1peGVkVG9TaW5ndWxhciIsInNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlIiwiaW5jbHVkZXMiLCJzaW5ndWxhcldvcmRPclBocmFzZSIsInNpbmd1bGFyUGFnZU51bWJlcnMiLCJtaXhlZFdvcmRPclBocmFzZSIsInNpbmd1bGFyVG9NaXhlZCIsIm1peGVkUGFnZU51bWJlcnMiLCJwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UiLCJwbHVyYWxXb3JkT3JQaHJhc2UiLCJwbHVyYWxQYWdlTnVtYmVycyIsInBsdXJhbFRvTWl4ZWQiLCJpc1BsdXJhbCIsInBsdXJhbFRvU2luZ3VsYXIiLCJzaW5ndWxhclRvUGx1cmFsIiwiaXNTaW5ndWxhciIsImNhbGxiYWNrIiwicmVkdWNlIiwicGx1cmFsIiwicmVzdWx0IiwidGV4dCIsInRlc3QiLCJzaW5ndWxhciIsIm1peGVkIiwiU19TVFJJTkciLCJQQVJFTlRIRVNJU0VEX1NfU1RSSU5HIiwiSUVTX1NUUklORyIsIllfU1RSSU5HIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhZ0JBOzs7ZUFBQUE7Ozt3QkFYYzt5QkFDQzs0REFFUjtzQkFFcUI7eUJBQ3VEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRW5HLElBQU0sQUFBRUMsV0FBYUMseUJBQWMsQ0FBM0JELFVBQ0FFLGFBQTZCQyx1QkFBYSxDQUExQ0QsWUFBWUUsZUFBaUJELHVCQUFhLENBQTlCQztBQUViLFNBQVNMLHVEQUF1RE0sc0JBQXNCLEVBQUVDLGlCQUFpQixFQUFFQyxPQUFPO0lBQ3ZILElBQU1DLFdBQVdDLGVBQWVKLHdCQUF3QkMsbUJBQW1CQztJQUUzRUcsbUJBQW1CRixVQUFVRDtJQUU3QkksbUJBQW1CSCxVQUFVRDtJQUU3Qkssb0JBQW9CSixVQUFVRDtJQUU5Qk0sc0JBQXNCTCxVQUFVRDtJQUVoQ08sa0JBQWtCTixVQUFVRDtJQUU1QlEsZUFBZVAsVUFBVUQ7SUFFekJTLG9CQUFvQlI7SUFFcEIsT0FBT0E7QUFDVDtBQUVBLFNBQVNDLGVBQWVKLHNCQUFzQixFQUFFQyxpQkFBaUIsRUFBRUMsT0FBTztJQUN4RSxJQUFNQyxXQUFXLENBQUM7SUFFbEIsdUJBQXlCRCxRQUFqQlUsU0FBQUEsd0NBQVUsRUFBRSxxQkFDZEMsZUFBZUQsUUFBUUUsR0FBRyxDQUFDLFNBQUNDO1FBQzFCLElBQU1DLGFBQWFDLGNBQVUsQ0FBQ0MsVUFBVSxDQUFDSDtRQUV6QyxPQUFPQztJQUNUO0lBRU5mLGtCQUFrQmtCLE9BQU8sQ0FBQyxTQUFDQztRQUN6QixJQUFNQyxpREFBaUR4QixXQUFXdUIsa0JBQWtCcEI7UUFFcEYsSUFBSXFCLGdEQUFnRDtZQUNsRCxJQUFNQyxtREFBbUR2QixhQUFhcUIsa0JBQWtCcEI7WUFFeEYsSUFBSSxDQUFDc0Isa0RBQWtEO2dCQUNyRCxJQUFNQyxhQUFhSCxpQkFBaUJHLFVBQVUsQ0FBQ3JCO2dCQUUvQyxJQUFJcUIsZUFBZSxNQUFNO29CQUN2QixJQUFNQyxZQUFZSixpQkFBaUJLLFdBQVcsQ0FBQ3ZCLFVBQ3pDd0IsaUJBQWlCQywyQ0FBMkNILFdBQVdYO29CQUU3RWEsZUFBZVAsT0FBTyxDQUFDLFNBQUNTO3dCQUN0QixJQUFNQyxjQUFjMUIsU0FBUzJCLGNBQWMsQ0FBQ0YsZ0JBQ3BDekIsUUFBUSxDQUFDeUIsYUFBYSxHQUNwQixFQUFFO3dCQUVaekIsUUFBUSxDQUFDeUIsYUFBYSxHQUFHQzt3QkFFekJBLFlBQVlFLElBQUksQ0FBQ1I7b0JBQ25CO2dCQUNGO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBT3BCO0FBQ1Q7QUFFQSxTQUFTd0IsMkNBQTJDSCxTQUFTLEVBQUVYLFlBQVk7SUFDekUsSUFBSWE7SUFFSkYsWUFBWVEsaUJBQWlCUixZQUFhLEdBQUc7SUFFN0NYLGFBQWFNLE9BQU8sQ0FBQyxTQUFDSDtRQUNwQlEsWUFBWVIsV0FBV2lCLE9BQU8sQ0FBQ1Q7SUFDakM7SUFFQUUsaUJBQWlCRixVQUFVVSxLQUFLLENBQUNDLHVCQUFZO0lBRTdDVCxpQkFBaUJBLGVBQWVaLEdBQUcsQ0FBQyxTQUFDYztRQUNuQ0EsZUFBZVgsY0FBVSxDQUFDbUIsTUFBTSxDQUFDUixlQUFnQixHQUFHO1FBRXBELE9BQU9BO0lBQ1Q7SUFFQSxPQUFPRjtBQUNUO0FBRUEsU0FBU2Ysb0JBQW9CUixRQUFRO0lBQ25Da0MsSUFBQUEsaUJBQVMsRUFBQ2xDLFVBQVUsU0FBQ3lCLGNBQWNDO1FBQ2pDbEMsU0FBU2tDLGFBQWEsU0FBQ1MsYUFBYUM7WUFDbEMsSUFBSUQsZ0JBQWdCQyxhQUFhO2dCQUMvQixPQUFPO1lBQ1Q7UUFDRjtRQUVBVixZQUFZVyxJQUFJLENBQUMsU0FBQ0QsYUFBYUQ7WUFDN0JBLGNBQWNHLE9BQU9ILGNBQWUsR0FBRztZQUV2Q0MsY0FBY0UsT0FBT0YsY0FBZSxHQUFHO1lBRXZDLElBQU1HLGFBQWFILGNBQWNEO1lBRWpDLE9BQU9JO1FBQ1Q7UUFFQSxPQUFPYjtJQUNUO0FBQ0Y7QUFFQSxTQUFTeEIsbUJBQW1CRixRQUFRLEVBQUVELE9BQU87SUFDM0MsNEJBQThCQSxRQUF0QnlDLGNBQUFBLGtEQUFlLEVBQUU7SUFFekJBLGFBQWF4QixPQUFPLENBQUMsU0FBQ3lCO1FBQ3BCLE9BQU96QyxRQUFRLENBQUN5QyxZQUFZO0lBQzlCO0FBQ0Y7QUFFQSxTQUFTbkMsa0JBQWtCTixRQUFRLEVBQUVELE9BQU87SUFDMUMsMkJBQTZCQSxRQUFyQjJDLGFBQUFBLGdEQUFjLEVBQUUseUJBQ2xCQyx1QkFBdUJELFlBQVkvQixHQUFHLENBQUMsU0FBQ2lDO1FBQ3RDLElBQU1DLHNCQUFzQkQsV0FBV0UsV0FBVztRQUVsRCxPQUFPRDtJQUNUO0lBRU5FLElBQUFBLGVBQU8sRUFBQy9DLFVBQVUsU0FBQ3lCO1FBQ2pCLElBQU11QixRQUFRTCxxQkFBcUJNLFNBQVMsQ0FBQyxTQUFDQztZQUM1QyxJQUFJQSx3QkFBd0J6QixjQUFjO2dCQUN4QyxPQUFPO1lBQ1Q7UUFDRjtRQUVBLElBQUl1QixRQUFRLENBQUMsR0FBRztZQUNkLElBQU1KLGFBQWFGLFdBQVcsQ0FBQ00sTUFBTTtZQUVyQ3ZCLGVBQWVtQixZQUFhLEdBQUc7UUFDakM7UUFFQSxPQUFPbkI7SUFDVDtBQUNGO0FBRUEsU0FBU0ksaUJBQWlCUixTQUFTO0lBQ2pDQSxZQUFZQSxVQUFVeUIsV0FBVyxJQUFLLEdBQUc7SUFFekN6QixZQUFZQSxVQUFVUyxPQUFPLENBQUMsaUJBQWlCRSx1QkFBWTtJQUUzRFgsWUFBWUEsVUFBVVMsT0FBTyxDQUFDLFFBQVFFLHVCQUFZO0lBRWxEWCxZQUFZQSxVQUFVUyxPQUFPLENBQUMsY0FBY3FCLHVCQUFZO0lBRXhELE9BQU85QjtBQUNUO0FBRUEsU0FBU2QsZUFBZVAsUUFBUSxFQUFFRCxPQUFPO0lBQ3ZDLHdCQUEwQkEsUUFBbEJxRCxVQUFBQSwwQ0FBVyxFQUFFLHNCQUNmQyxvQkFBb0JELFNBQVN6QyxHQUFHLENBQUMsU0FBQzJDO1FBQ2hDLElBQU1DLG1CQUFtQkQsUUFBUVIsV0FBVztRQUU1QyxPQUFPUztJQUNUO0lBRU5SLElBQUFBLGVBQU8sRUFBQy9DLFVBQVUsU0FBQ3lCO1FBQ2pCLElBQU11QixRQUFRSyxrQkFBa0JKLFNBQVMsQ0FBQyxTQUFDQztZQUN6QyxJQUFJQSx3QkFBd0J6QixjQUFjO2dCQUN4QyxPQUFPO1lBQ1Q7UUFDRjtRQUVBLElBQUl1QixRQUFRLENBQUMsR0FBRztZQUNkLElBQU1NLFVBQVVGLFFBQVEsQ0FBQ0osTUFBTTtZQUUvQnZCLGVBQWU2QixTQUFVLEdBQUc7UUFDOUI7UUFFQSxPQUFPN0I7SUFDVDtBQUNGO0FBRUEsU0FBU3RCLG1CQUFtQkgsUUFBUSxFQUFFRCxPQUFPO0lBQzNDLHVCQUF5QkEsUUFBakJ5RCxTQUFBQSx3Q0FBVSxFQUFFLHFCQUNkQyxlQUFlQyxjQUFjRixTQUFTRyxVQUN0Q0MsZ0JBQWdCQyxXQUFXSixjQUFjSyxnQkFDekNDLGtCQUFrQkYsV0FBV0osY0FBY087SUFFakRoRCxJQUFBQSxlQUFPLEVBQUNoQixVQUFVLFNBQUN5QixjQUFjQztRQUMvQixJQUFNdUMsc0NBQXNDRixnQkFBZ0JHLFFBQVEsQ0FBQ3pDO1FBRXJFLElBQUl3QyxxQ0FBcUM7WUFDdkMsSUFBTUUsdUJBQXVCMUMsY0FDdkIyQyxzQkFBc0IxQyxhQUN0QjJDLG9CQUFvQkMsZ0JBQWdCSCx1QkFDcENJLG1CQUFtQnZFLFFBQVEsQ0FBQ3FFLGtCQUFrQixJQUFJLEVBQUU7WUFFMUQzQyxjQUFjLEFBQ1oscUJBQUcwQyw0QkFDSCxxQkFBR0c7WUFHTCxPQUFPdkUsUUFBUSxDQUFDbUUscUJBQXFCO1lBRXJDbkUsUUFBUSxDQUFDcUUsa0JBQWtCLEdBQUczQztRQUNoQztRQUVBLElBQU04QyxvQ0FBb0NaLGNBQWNNLFFBQVEsQ0FBQ3pDO1FBRWpFLElBQUkrQyxtQ0FBbUM7WUFDckMsSUFBTUMscUJBQXFCaEQsY0FDckJpRCxvQkFBb0JoRCxhQUNwQjJDLHFCQUFvQk0sY0FBY0YscUJBQ2xDRixvQkFBbUJ2RSxRQUFRLENBQUNxRSxtQkFBa0IsSUFBSSxFQUFFO1lBRTFEM0MsY0FBYyxBQUNaLHFCQUFHZ0QsMEJBQ0gscUJBQUdIO1lBR0wsT0FBT3ZFLFFBQVEsQ0FBQ3lFLG1CQUFtQjtZQUVuQ3pFLFFBQVEsQ0FBQ3FFLG1CQUFrQixHQUFHM0M7UUFDaEM7SUFDRjtBQUNGO0FBRUEsU0FBU3RCLG9CQUFvQkosUUFBUSxFQUFFRCxPQUFPO0lBQzVDLHVCQUF5QkEsUUFBakJ5RCxTQUFBQSx3Q0FBVSxFQUFFLHFCQUNkSSxnQkFBZ0JGLGNBQWNGLFNBQVNvQixXQUN2Q2Isa0JBQWtCRixXQUFXRCxlQUFlaUI7SUFFbEQ3RCxJQUFBQSxlQUFPLEVBQUNoQixVQUFVLFNBQUN5QixjQUFjQztRQUMvQixJQUFNdUMsc0NBQXNDRixnQkFBZ0JHLFFBQVEsQ0FBQ3pDO1FBRXJFLElBQUl3QyxxQ0FBcUM7WUFDdkMsSUFBTUUsdUJBQXVCMUMsY0FDdkIyQyxzQkFBc0IxQyxhQUN0QitDLHFCQUFxQkssaUJBQWlCckQsZUFDdENpRCxvQkFBb0IxRSxRQUFRLENBQUN5RSxtQkFBbUIsSUFBSSxFQUFFO1lBRTVEL0MsY0FBYyxBQUNaLHFCQUFHMEMsNEJBQ0gscUJBQUdNO1lBR0wsT0FBTzFFLFFBQVEsQ0FBQ21FLHFCQUFxQjtZQUVyQ25FLFFBQVEsQ0FBQ3lFLG1CQUFtQixHQUFHL0M7UUFDakM7SUFDRjtBQUNGO0FBRUEsU0FBU3JCLHNCQUFzQkwsUUFBUSxFQUFFRCxPQUFPO0lBQzlDLHVCQUF5QkEsUUFBakJ5RCxTQUFBQSx3Q0FBVSxFQUFFLHFCQUNkTyxrQkFBa0JMLGNBQWNGLFNBQVN1QixhQUN6Q25CLGdCQUFnQkMsV0FBV0UsaUJBQWlCZTtJQUVsRDlELElBQUFBLGVBQU8sRUFBQ2hCLFVBQVUsU0FBQ3lCLGNBQWNDO1FBQzdCLElBQU04QyxvQ0FBb0NaLGNBQWNNLFFBQVEsQ0FBQ3pDO1FBRWpFLElBQUkrQyxtQ0FBbUM7WUFDckMsSUFBTUwsdUJBQXVCVSxpQkFBaUJwRCxlQUN4QzJDLHNCQUFzQnBFLFFBQVEsQ0FBQ21FLHFCQUFxQixJQUFJLEVBQUUsRUFDMURNLHFCQUFxQmhELGNBQ3JCaUQsb0JBQW9CaEQsYUFBYyxHQUFHO1lBRTNDQSxjQUFjLEFBQ1oscUJBQUcwQyw0QkFDSCxxQkFBR007WUFHTCxPQUFPMUUsUUFBUSxDQUFDeUUsbUJBQW1CO1lBRW5DekUsUUFBUSxDQUFDbUUscUJBQXFCLEdBQUd6QztRQUNuQztJQUNKO0FBQ0Y7QUFFQSxTQUFTZ0MsY0FBY0YsT0FBTyxFQUFFd0IsUUFBUTtJQUN0Q3hCLFVBQVVBLFFBQVF5QixNQUFNLENBQUMsU0FBQ3pCLFNBQVMwQjtRQUNqQyxJQUFNQyxTQUFTSCxTQUFTRTtRQUV4QixJQUFJQyxRQUFRO1lBQ1YzQixRQUFRNUIsSUFBSSxDQUFDc0Q7UUFDZjtRQUVBLE9BQU8xQjtJQUNULEdBQUcsRUFBRTtJQUVMLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTSyxXQUFXTCxPQUFPLEVBQUV3QixRQUFRO0lBQ25DeEIsVUFBVUEsUUFBUTdDLEdBQUcsQ0FBQyxTQUFDdUU7UUFDckJBLFNBQVNGLFNBQVNFO1FBRWxCLE9BQU9BO0lBQ1Q7SUFFQSxPQUFPMUI7QUFDVDtBQUVBLFNBQVN1QixXQUFXSyxJQUFJO0lBQ3RCLElBQU0xRSxlQUFlLFNBQVMyRSxJQUFJLENBQUNELE9BQzdCRSxXQUFXNUUsY0FBYyxHQUFHO0lBRWxDLE9BQU80RTtBQUNUO0FBRUEsU0FBU1YsU0FBU1EsSUFBSTtJQUNwQixJQUFNMUUsZUFBZSxXQUFXMkUsSUFBSSxDQUFDRCxPQUMvQkYsU0FBU3hFLGNBQWMsR0FBRztJQUVoQyxPQUFPd0U7QUFDVDtBQUVBLFNBQVN2QixRQUFReUIsSUFBSTtJQUNuQixJQUFNMUUsZUFBZSxTQUFTMkUsSUFBSSxDQUFDRCxPQUM3QkcsUUFBUTdFLGNBQWMsR0FBRztJQUUvQixPQUFPNkU7QUFDVDtBQUVBLFNBQVN6QixjQUFjc0IsSUFBSTtJQUN6QkEsT0FBT0EsS0FBSyxHQUFHO0tBQ0x0RCxPQUFPLENBQUMsVUFBVTBELG1CQUFRO0lBRXBDLE9BQU9KO0FBQ1Q7QUFFQSxTQUFTVCxjQUFjUyxJQUFJO0lBQ3pCQSxPQUFPQSxLQUFLLEdBQUc7S0FDTHRELE9BQU8sQ0FBQyxNQUFNMkQsaUNBQXNCO0lBRTlDLE9BQU9MO0FBQ1Q7QUFFQSxTQUFTcEIsZ0JBQWdCb0IsSUFBSTtJQUMzQkEsT0FBT0EsS0FBSyxHQUFHO0tBQ050RCxPQUFPLENBQUMsVUFBVXFCLHVCQUFZO0lBRXZDLE9BQU9pQztBQUNUO0FBRUEsU0FBU2QsZ0JBQWdCYyxJQUFJO0lBQzNCQSxPQUFPLEFBQUMsR0FBTyxPQUFMQSxNQUFLO0lBRWYsT0FBT0E7QUFDVDtBQUVBLFNBQVNOLGlCQUFpQk0sSUFBSTtJQUM1QkEsT0FBTyxBQUFDLEdBQU8sT0FBTEEsTUFBSyxLQUFHLEdBQUc7S0FDWHRELE9BQU8sQ0FBQyxPQUFPNEQscUJBQVU7SUFFbkMsT0FBT047QUFDVDtBQUVBLFNBQVNQLGlCQUFpQk8sSUFBSTtJQUM1QkEsT0FBT0EsS0FBSyxHQUFHO0tBQ0x0RCxPQUFPLENBQUMsUUFBUTZELG1CQUFRLEVBQ3hCN0QsT0FBTyxDQUFDLE1BQU1xQix1QkFBWTtJQUVwQyxPQUFPaUM7QUFDVCJ9
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tZG9tXCJcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgSW5kZXhNYXRjaCBmcm9tIFwiLi4vaW5kZXgvbWF0Y2hcIjtcblxuaW1wb3J0IHsgZm9yRWFjaCwgbWFwS2V5cywgbWFwVmFsdWVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9vYmplY3RcIjtcbmltcG9ydCB7IFlfU1RSSU5HLCBTX1NUUklORywgSUVTX1NUUklORywgRU1QVFlfU1RSSU5HLCBTSU5HTEVfU1BBQ0UsIFBBUkVOVEhFU0lTRURfU19TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgY29tcHJlc3MgfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyBpc0xlc3NUaGFuLCBpc0FuY2VzdG9yT2YgfSA9IG5vZGVVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleE1hcEZyb21JbmRleERpcmVjdGl2ZUhUTUxOb2RlQW5kRGl2aXNpb25IVE1MTm9kZXMoaW5kZXhEaXJlY3RpdmVIVE1MTm9kZSwgZGl2aXNpb25IVE1MTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXAgPSBjcmVhdGVJbmRleE1hcChpbmRleERpcmVjdGl2ZUhUTUxOb2RlLCBkaXZpc2lvbkhUTUxOb2RlcywgY29udGV4dCk7XG5cbiAgcmVtb3ZlSWdub3JlZFdvcmRzKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFBsdXJhbFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFNpbmd1bGFyUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgYWRqdXN0UHJvcGVyTm91bnMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluZGV4TWFwKGluZGV4RGlyZWN0aXZlSFRNTE5vZGUsIGRpdmlzaW9uSFRNTE5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWFwID0ge307XG5cbiAgY29uc3QgeyBwaHJhc2VzID0gW10gfSA9IGNvbnRleHQsXG4gICAgICAgIGluZGV4TWF0Y2hlcyA9IHBocmFzZXMubWFwKChwaHJhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCBpbmRleE1hdGNoID0gSW5kZXhNYXRjaC5mcm9tUGhyYXNlKHBocmFzZSk7XG5cbiAgICAgICAgICByZXR1cm4gaW5kZXhNYXRjaDtcbiAgICAgICAgfSk7XG5cbiAgZGl2aXNpb25IVE1MTm9kZXMuZm9yRWFjaCgoZGl2aXNpb25IVE1MTm9kZSkgPT4ge1xuICAgIGNvbnN0IGRpdmlzaW9uSFRNTE5vZGVMZXNzVGhhbkluZGV4RGlyZWN0aXZlSFRNTE5vZGUgPSBpc0xlc3NUaGFuKGRpdmlzaW9uSFRNTE5vZGUsIGluZGV4RGlyZWN0aXZlSFRNTE5vZGUpO1xuXG4gICAgaWYgKGRpdmlzaW9uSFRNTE5vZGVMZXNzVGhhbkluZGV4RGlyZWN0aXZlSFRNTE5vZGUpIHtcbiAgICAgIGNvbnN0IGRpdmlzaW9uSFRNTE5vZGVBbmNlc3Rvck9mSW5kZXhEaXJlY3RpdmVIVE1MTm9kZSA9IGlzQW5jZXN0b3JPZihkaXZpc2lvbkhUTUxOb2RlLCBpbmRleERpcmVjdGl2ZUhUTUxOb2RlKTtcblxuICAgICAgaWYgKCFkaXZpc2lvbkhUTUxOb2RlQW5jZXN0b3JPZkluZGV4RGlyZWN0aXZlSFRNTE5vZGUpIHtcbiAgICAgICAgY29uc3QgcGFnZU51bWJlciA9IGRpdmlzaW9uSFRNTE5vZGUucGFnZU51bWJlcihjb250ZXh0KTtcblxuICAgICAgICBpZiAocGFnZU51bWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHBsYWluVGV4dCA9IGRpdmlzaW9uSFRNTE5vZGUuYXNQbGFpblRleHQoY29udGV4dCksXG4gICAgICAgICAgICAgICAgd29yZHNPclBocmFzZXMgPSB3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMocGxhaW5UZXh0LCBpbmRleE1hdGNoZXMpO1xuXG4gICAgICAgICAgd29yZHNPclBocmFzZXMuZm9yRWFjaCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYWdlTnVtYmVycyA9IGluZGV4TWFwLmhhc093blByb3BlcnR5KHdvcmRPclBocmFzZSkgP1xuICAgICAgICAgICAgICAgICAgICBpbmRleE1hcFt3b3JkT3JQaHJhc2VdIDpcbiAgICAgICAgICAgICAgICAgICAgICBbXTtcblxuICAgICAgICAgICAgaW5kZXhNYXBbd29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuXG4gICAgICAgICAgICBwYWdlTnVtYmVycy5wdXNoKHBhZ2VOdW1iZXIpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIHdvcmRzT3JQaHJhc2VzRnJvbVBsYWluVGV4dEFuZEluZGV4TWF0Y2hlcyhwbGFpblRleHQsIGluZGV4TWF0Y2hlcykge1xuICBsZXQgd29yZHNPclBocmFzZXM7XG5cbiAgcGxhaW5UZXh0ID0gcHJlcGFyZVBsYWluVGV4dChwbGFpblRleHQpOyAgLy8vXG5cbiAgaW5kZXhNYXRjaGVzLmZvckVhY2goKGluZGV4TWF0Y2gpID0+IHtcbiAgICBwbGFpblRleHQgPSBpbmRleE1hdGNoLnJlcGxhY2UocGxhaW5UZXh0KTtcbiAgfSk7XG5cbiAgd29yZHNPclBocmFzZXMgPSBwbGFpblRleHQuc3BsaXQoU0lOR0xFX1NQQUNFKTtcblxuICB3b3Jkc09yUGhyYXNlcyA9IHdvcmRzT3JQaHJhc2VzLm1hcCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgd29yZE9yUGhyYXNlID0gSW5kZXhNYXRjaC5yZXZlcnQod29yZE9yUGhyYXNlKTsgIC8vL1xuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHdvcmRzT3JQaHJhc2VzO1xufVxuXG5mdW5jdGlvbiBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKSB7XG4gIG1hcFZhbHVlcyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICBjb21wcmVzcyhwYWdlTnVtYmVycywgKHBhZ2VOdW1iZXJBLCBwYWdlTnVtYmVyQikgPT4ge1xuICAgICAgaWYgKHBhZ2VOdW1iZXJBICE9PSBwYWdlTnVtYmVyQikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHBhZ2VOdW1iZXJzLnNvcnQoKHBhZ2VOdW1iZXJCLCBwYWdlTnVtYmVyQSkgPT4ge1xuICAgICAgcGFnZU51bWJlckEgPSBOdW1iZXIocGFnZU51bWJlckEpOyAgLy8vXG5cbiAgICAgIHBhZ2VOdW1iZXJCID0gTnVtYmVyKHBhZ2VOdW1iZXJCKTsgIC8vL1xuXG4gICAgICBjb25zdCBkaWZmZXJlbmNlID0gcGFnZU51bWJlckIgLSBwYWdlTnVtYmVyQTtcblxuICAgICAgcmV0dXJuIGRpZmZlcmVuY2U7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFnZU51bWJlcnM7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVJZ25vcmVkV29yZHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpZ25vcmVkV29yZHMgPSBbXSB9ID0gY29udGV4dDtcblxuICBpZ25vcmVkV29yZHMuZm9yRWFjaCgoaWdub3JlZFdvcmQpID0+IHtcbiAgICBkZWxldGUgaW5kZXhNYXBbaWdub3JlZFdvcmRdO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0UHJvcGVyTm91bnMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBwcm9wZXJOb3VucyA9IFtdIH0gPSBjb250ZXh0LFxuICAgICAgICBsb3dlckNhc2VQcm9wZXJOb3VucyA9IHByb3Blck5vdW5zLm1hcCgocHJvcGVyTm91bikgPT4ge1xuICAgICAgICAgIGNvbnN0IGxvd2VyQ2FzZVByb3Blck5vdW4gPSBwcm9wZXJOb3VuLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICByZXR1cm4gbG93ZXJDYXNlUHJvcGVyTm91bjtcbiAgICAgICAgfSk7XG5cbiAgbWFwS2V5cyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSkgPT4ge1xuICAgIGNvbnN0IGluZGV4ID0gbG93ZXJDYXNlUHJvcGVyTm91bnMuZmluZEluZGV4KChsb3dlckNhc2VQcm9wZXJOYW1lKSA9PiB7XG4gICAgICBpZiAobG93ZXJDYXNlUHJvcGVyTmFtZSA9PT0gd29yZE9yUGhyYXNlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIGNvbnN0IHByb3Blck5vdW4gPSBwcm9wZXJOb3Vuc1tpbmRleF07XG5cbiAgICAgIHdvcmRPclBocmFzZSA9IHByb3Blck5vdW47ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gd29yZE9yUGhyYXNlO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZVBsYWluVGV4dChwbGFpblRleHQpIHtcbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnRvTG93ZXJDYXNlKCk7ICAvLy9cblxuICBwbGFpblRleHQgPSBwbGFpblRleHQucmVwbGFjZSgvW15hLXowLTlcXC0gXS9nLCBTSU5HTEVfU1BBQ0UpO1xuXG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC5yZXBsYWNlKC9cXHMrL2csIFNJTkdMRV9TUEFDRSk7XG5cbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnJlcGxhY2UoL15cXHMrfFxccyskL2csIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIHBsYWluVGV4dDtcbn1cblxuZnVuY3Rpb24gYWRqdXN0QWNyb255bXMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBhY3JvbnltcyA9IFtdIH0gPSBjb250ZXh0LFxuICAgICAgICBsb3dlckNhc2VBY3JvbnltcyA9IGFjcm9ueW1zLm1hcCgoYWNyb255bSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGxvd2VyQ2FzZUFjcm9ueW0gPSBhY3JvbnltLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICByZXR1cm4gbG93ZXJDYXNlQWNyb255bTtcbiAgICAgICAgfSk7XG5cbiAgbWFwS2V5cyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSkgPT4ge1xuICAgIGNvbnN0IGluZGV4ID0gbG93ZXJDYXNlQWNyb255bXMuZmluZEluZGV4KChsb3dlckNhc2VQcm9wZXJOYW1lKSA9PiB7XG4gICAgICBpZiAobG93ZXJDYXNlUHJvcGVyTmFtZSA9PT0gd29yZE9yUGhyYXNlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIGNvbnN0IGFjcm9ueW0gPSBhY3Jvbnltc1tpbmRleF07XG5cbiAgICAgIHdvcmRPclBocmFzZSA9IGFjcm9ueW07ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gd29yZE9yUGhyYXNlO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0TWl4ZWRQbHVyYWxzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgcGx1cmFscyA9IFtdIH0gPSBjb250ZXh0LFxuICAgICAgICBtaXhlZFBsdXJhbHMgPSByZWR1Y2VQbHVyYWxzKHBsdXJhbHMsIGlzTWl4ZWQpLFxuICAgICAgICBwbHVyYWxQbHVyYWxzID0gbWFwUGx1cmFscyhtaXhlZFBsdXJhbHMsIG1peGVkVG9QbHVyYWwpLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSBtYXBQbHVyYWxzKG1peGVkUGx1cmFscywgbWl4ZWRUb1Npbmd1bGFyKTtcblxuICBmb3JFYWNoKGluZGV4TWFwLCAod29yZE9yUGhyYXNlLCBwYWdlTnVtYmVycykgPT4ge1xuICAgIGNvbnN0IHNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlID0gc2luZ3VsYXJQbHVyYWxzLmluY2x1ZGVzKHdvcmRPclBocmFzZSk7XG5cbiAgICBpZiAoc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UpIHtcbiAgICAgIGNvbnN0IHNpbmd1bGFyV29yZE9yUGhyYXNlID0gd29yZE9yUGhyYXNlLCAgLy8vXG4gICAgICAgICAgICBzaW5ndWxhclBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgIG1peGVkV29yZE9yUGhyYXNlID0gc2luZ3VsYXJUb01peGVkKHNpbmd1bGFyV29yZE9yUGhyYXNlKSxcbiAgICAgICAgICAgIG1peGVkUGFnZU51bWJlcnMgPSBpbmRleE1hcFttaXhlZFdvcmRPclBocmFzZV0gfHwgW107XG5cbiAgICAgIHBhZ2VOdW1iZXJzID0gW1xuICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzLFxuICAgICAgICAuLi5taXhlZFBhZ2VOdW1iZXJzXG4gICAgICBdO1xuXG4gICAgICBkZWxldGUgaW5kZXhNYXBbc2luZ3VsYXJXb3JkT3JQaHJhc2VdO1xuXG4gICAgICBpbmRleE1hcFttaXhlZFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG5cbiAgICBjb25zdCBwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBwbHVyYWxQbHVyYWxzLmluY2x1ZGVzKHdvcmRPclBocmFzZSk7XG5cbiAgICBpZiAocGx1cmFsUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlKSB7XG4gICAgICBjb25zdCBwbHVyYWxXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHBsdXJhbFBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgIG1peGVkV29yZE9yUGhyYXNlID0gcGx1cmFsVG9NaXhlZChwbHVyYWxXb3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgbWl4ZWRQYWdlTnVtYmVycyA9IGluZGV4TWFwW21peGVkV29yZE9yUGhyYXNlXSB8fCBbXTtcblxuICAgICAgcGFnZU51bWJlcnMgPSBbXG4gICAgICAgIC4uLnBsdXJhbFBhZ2VOdW1iZXJzLFxuICAgICAgICAuLi5taXhlZFBhZ2VOdW1iZXJzXG4gICAgICBdO1xuXG4gICAgICBkZWxldGUgaW5kZXhNYXBbcGx1cmFsV29yZE9yUGhyYXNlXTtcblxuICAgICAgaW5kZXhNYXBbbWl4ZWRXb3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0UGx1cmFsUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IHBsdXJhbHMgPSBbXSB9ID0gY29udGV4dCxcbiAgICAgICAgcGx1cmFsUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNQbHVyYWwpLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSBtYXBQbHVyYWxzKHBsdXJhbFBsdXJhbHMsIHBsdXJhbFRvU2luZ3VsYXIpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29uc3Qgc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgcGx1cmFsV29yZE9yUGhyYXNlID0gc2luZ3VsYXJUb1BsdXJhbCh3b3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgcGx1cmFsUGFnZU51bWJlcnMgPSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdIHx8IFtdO1xuXG4gICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgLi4uc2luZ3VsYXJQYWdlTnVtYmVycyxcbiAgICAgICAgLi4ucGx1cmFsUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV07XG5cbiAgICAgIGluZGV4TWFwW3BsdXJhbFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RTaW5ndWxhclBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBwbHVyYWxzID0gW10gfSA9IGNvbnRleHQsXG4gICAgICAgIHNpbmd1bGFyUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNTaW5ndWxhciksXG4gICAgICAgIHBsdXJhbFBsdXJhbHMgPSBtYXBQbHVyYWxzKHNpbmd1bGFyUGx1cmFscywgc2luZ3VsYXJUb1BsdXJhbCk7XG5cbiAgZm9yRWFjaChpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICAgIGNvbnN0IHBsdXJhbFBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSA9IHBsdXJhbFBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgICAgaWYgKHBsdXJhbFBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgICBjb25zdCBzaW5ndWxhcldvcmRPclBocmFzZSA9IHBsdXJhbFRvU2luZ3VsYXIod29yZE9yUGhyYXNlKSxcbiAgICAgICAgICAgICAgc2luZ3VsYXJQYWdlTnVtYmVycyA9IGluZGV4TWFwW3Npbmd1bGFyV29yZE9yUGhyYXNlXSB8fCBbXSxcbiAgICAgICAgICAgICAgcGx1cmFsV29yZE9yUGhyYXNlID0gd29yZE9yUGhyYXNlLCAgLy8vXG4gICAgICAgICAgICAgIHBsdXJhbFBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnM7ICAvLy9cblxuICAgICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzLFxuICAgICAgICAgIC4uLnBsdXJhbFBhZ2VOdW1iZXJzXG4gICAgICAgIF07XG5cbiAgICAgICAgZGVsZXRlIGluZGV4TWFwW3BsdXJhbFdvcmRPclBocmFzZV07XG5cbiAgICAgICAgaW5kZXhNYXBbc2luZ3VsYXJXb3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG4gICAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZWR1Y2VQbHVyYWxzKHBsdXJhbHMsIGNhbGxiYWNrKSB7XG4gIHBsdXJhbHMgPSBwbHVyYWxzLnJlZHVjZSgocGx1cmFscywgcGx1cmFsKSA9PiB7IC8vL1xuICAgIGNvbnN0IHJlc3VsdCA9IGNhbGxiYWNrKHBsdXJhbCk7XG5cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICBwbHVyYWxzLnB1c2gocGx1cmFsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGx1cmFscztcbiAgfSwgW10pO1xuXG4gIHJldHVybiBwbHVyYWxzO1xufVxuXG5mdW5jdGlvbiBtYXBQbHVyYWxzKHBsdXJhbHMsIGNhbGxiYWNrKSB7XG4gIHBsdXJhbHMgPSBwbHVyYWxzLm1hcCgocGx1cmFsKSA9PiB7IC8vL1xuICAgIHBsdXJhbCA9IGNhbGxiYWNrKHBsdXJhbCk7XG5cbiAgICByZXR1cm4gcGx1cmFsO1xuICB9KTtcblxuICByZXR1cm4gcGx1cmFscztcbn1cblxuZnVuY3Rpb24gaXNTaW5ndWxhcih0ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWF0Y2hlcyA9IC9bXnMpXSQvLnRlc3QodGV4dCksXG4gICAgICAgIHNpbmd1bGFyID0gaW5kZXhNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gc2luZ3VsYXI7XG59XG5cbmZ1bmN0aW9uIGlzUGx1cmFsKHRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXRjaGVzID0gLyhpZXN8cykkLy50ZXN0KHRleHQpLFxuICAgICAgICBwbHVyYWwgPSBpbmRleE1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBwbHVyYWw7XG59XG5cbmZ1bmN0aW9uIGlzTWl4ZWQodGV4dCkge1xuICBjb25zdCBpbmRleE1hdGNoZXMgPSAvXFwoc1xcKSQvLnRlc3QodGV4dCksXG4gICAgICAgIG1peGVkID0gaW5kZXhNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gbWl4ZWQ7XG59XG5cbmZ1bmN0aW9uIG1peGVkVG9QbHVyYWwodGV4dCkge1xuICB0ZXh0ID0gdGV4dCAvLy9cbiAgICAgICAgICAgLnJlcGxhY2UoL1xcKHNcXCkkLywgU19TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBwbHVyYWxUb01peGVkKHRleHQpIHtcbiAgdGV4dCA9IHRleHQgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC9zJC8sIFBBUkVOVEhFU0lTRURfU19TVFJJTkcpXG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmZ1bmN0aW9uIG1peGVkVG9TaW5ndWxhcih0ZXh0KSB7XG4gIHRleHQgPSB0ZXh0IC8vL1xuICAgICAgICAgIC5yZXBsYWNlKC9cXChzXFwpJC8sIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmZ1bmN0aW9uIHNpbmd1bGFyVG9NaXhlZCh0ZXh0KSB7XG4gIHRleHQgPSBgJHt0ZXh0fShzKWA7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmZ1bmN0aW9uIHNpbmd1bGFyVG9QbHVyYWwodGV4dCkge1xuICB0ZXh0ID0gYCR7dGV4dH1zYCAvLy9cbiAgICAgICAgICAgLnJlcGxhY2UoL3lzJC8sIElFU19TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBwbHVyYWxUb1Npbmd1bGFyKHRleHQpIHtcbiAgdGV4dCA9IHRleHQgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC9pZXMkLywgWV9TVFJJTkcpXG4gICAgICAgICAgIC5yZXBsYWNlKC9zJC8sIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG4iXSwibmFtZXMiOlsiaW5kZXhNYXBGcm9tSW5kZXhEaXJlY3RpdmVIVE1MTm9kZUFuZERpdmlzaW9uSFRNTE5vZGVzIiwiY29tcHJlc3MiLCJhcnJheVV0aWxpdGllcyIsImlzTGVzc1RoYW4iLCJpc0FuY2VzdG9yT2YiLCJub2RlVXRpbGl0aWVzIiwiaW5kZXhEaXJlY3RpdmVIVE1MTm9kZSIsImRpdmlzaW9uSFRNTE5vZGVzIiwiY29udGV4dCIsImluZGV4TWFwIiwiY3JlYXRlSW5kZXhNYXAiLCJyZW1vdmVJZ25vcmVkV29yZHMiLCJhZGp1c3RNaXhlZFBsdXJhbHMiLCJhZGp1c3RQbHVyYWxQbHVyYWxzIiwiYWRqdXN0U2luZ3VsYXJQbHVyYWxzIiwiYWRqdXN0UHJvcGVyTm91bnMiLCJhZGp1c3RBY3JvbnltcyIsImNvbXByZXNzUGFnZU51bWJlcnMiLCJwaHJhc2VzIiwiaW5kZXhNYXRjaGVzIiwibWFwIiwicGhyYXNlIiwiaW5kZXhNYXRjaCIsIkluZGV4TWF0Y2giLCJmcm9tUGhyYXNlIiwiZm9yRWFjaCIsImRpdmlzaW9uSFRNTE5vZGUiLCJkaXZpc2lvbkhUTUxOb2RlTGVzc1RoYW5JbmRleERpcmVjdGl2ZUhUTUxOb2RlIiwiZGl2aXNpb25IVE1MTm9kZUFuY2VzdG9yT2ZJbmRleERpcmVjdGl2ZUhUTUxOb2RlIiwicGFnZU51bWJlciIsInBsYWluVGV4dCIsImFzUGxhaW5UZXh0Iiwid29yZHNPclBocmFzZXMiLCJ3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMiLCJ3b3JkT3JQaHJhc2UiLCJwYWdlTnVtYmVycyIsImhhc093blByb3BlcnR5IiwicHVzaCIsInByZXBhcmVQbGFpblRleHQiLCJyZXBsYWNlIiwic3BsaXQiLCJTSU5HTEVfU1BBQ0UiLCJyZXZlcnQiLCJtYXBWYWx1ZXMiLCJwYWdlTnVtYmVyQSIsInBhZ2VOdW1iZXJCIiwic29ydCIsIk51bWJlciIsImRpZmZlcmVuY2UiLCJpZ25vcmVkV29yZHMiLCJpZ25vcmVkV29yZCIsInByb3Blck5vdW5zIiwibG93ZXJDYXNlUHJvcGVyTm91bnMiLCJwcm9wZXJOb3VuIiwibG93ZXJDYXNlUHJvcGVyTm91biIsInRvTG93ZXJDYXNlIiwibWFwS2V5cyIsImluZGV4IiwiZmluZEluZGV4IiwibG93ZXJDYXNlUHJvcGVyTmFtZSIsIkVNUFRZX1NUUklORyIsImFjcm9ueW1zIiwibG93ZXJDYXNlQWNyb255bXMiLCJhY3JvbnltIiwibG93ZXJDYXNlQWNyb255bSIsInBsdXJhbHMiLCJtaXhlZFBsdXJhbHMiLCJyZWR1Y2VQbHVyYWxzIiwiaXNNaXhlZCIsInBsdXJhbFBsdXJhbHMiLCJtYXBQbHVyYWxzIiwibWl4ZWRUb1BsdXJhbCIsInNpbmd1bGFyUGx1cmFscyIsIm1peGVkVG9TaW5ndWxhciIsInNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlIiwiaW5jbHVkZXMiLCJzaW5ndWxhcldvcmRPclBocmFzZSIsInNpbmd1bGFyUGFnZU51bWJlcnMiLCJtaXhlZFdvcmRPclBocmFzZSIsInNpbmd1bGFyVG9NaXhlZCIsIm1peGVkUGFnZU51bWJlcnMiLCJwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UiLCJwbHVyYWxXb3JkT3JQaHJhc2UiLCJwbHVyYWxQYWdlTnVtYmVycyIsInBsdXJhbFRvTWl4ZWQiLCJpc1BsdXJhbCIsInBsdXJhbFRvU2luZ3VsYXIiLCJzaW5ndWxhclRvUGx1cmFsIiwiaXNTaW5ndWxhciIsImNhbGxiYWNrIiwicmVkdWNlIiwicGx1cmFsIiwicmVzdWx0IiwidGV4dCIsInRlc3QiLCJzaW5ndWxhciIsIm1peGVkIiwiU19TVFJJTkciLCJQQVJFTlRIRVNJU0VEX1NfU1RSSU5HIiwiSUVTX1NUUklORyIsIllfU1RS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
@@ -28,37 +28,34 @@ _export(exports, {
28
28
  return subDivisionMarkdownNodesFromNode;
29
29
  }
30
30
  });
31
- var _occamquery = require("occam-query");
32
- var _query = require("../utilities/query");
33
- var subDivisionMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/subDivision"), ignoreDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/subDivision/directives/ignoreDirective"), subDivisionMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/division/subDivision"), embedDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/subDivision/directives/embedDirective"), includeDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/division/subDivision/directives/includeDirective");
31
+ const _occamquery = require("occam-query");
32
+ const _query = require("../utilities/query");
33
+ const subDivisionMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/subDivision"), ignoreDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/subDivision/directives/ignoreDirective"), subDivisionMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/division/subDivision"), embedDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/subDivision/directives/embedDirective"), includeDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/division/subDivision/directives/includeDirective");
34
34
  function subDivisionMarkdownNodeFromNode(node) {
35
- var subDivisionMarkdownNode = (0, _query.nodeFromNodeAndQuery)(node, subDivisionMarkdownNodeQuery);
35
+ const subDivisionMarkdownNode = (0, _query.nodeFromNodeAndQuery)(node, subDivisionMarkdownNodeQuery);
36
36
  return subDivisionMarkdownNode;
37
37
  }
38
38
  function ignoreDirectiveMarkdownNodeFromNode(node) {
39
- var ignoreDirectiveMarkdownNode = (0, _query.nodeFromNodeAndQuery)(node, ignoreDirectiveMarkdownNodeQuery);
39
+ const ignoreDirectiveMarkdownNode = (0, _query.nodeFromNodeAndQuery)(node, ignoreDirectiveMarkdownNodeQuery);
40
40
  return ignoreDirectiveMarkdownNode;
41
41
  }
42
- function subDivisionMarkdownNodesFromNode(node) {
43
- var subDivisionMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
42
+ function subDivisionMarkdownNodesFromNode(node, subDivisionMarkdownNodes = []) {
44
43
  (0, _query.nodesFromNodeAndQuery)(node, subDivisionMarkdownNodesQuery, subDivisionMarkdownNodes);
45
44
  return subDivisionMarkdownNodes;
46
45
  }
47
- function embedDirectiveMarkdownNodesFromNode(node) {
48
- var embedDirectiveMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
46
+ function embedDirectiveMarkdownNodesFromNode(node, embedDirectiveMarkdownNodes = []) {
49
47
  (0, _query.nodesFromNodeAndQuery)(node, embedDirectiveMarkdownNodesQuery, embedDirectiveMarkdownNodes);
50
48
  return embedDirectiveMarkdownNodes;
51
49
  }
52
- function includeDirectiveMarkdownNodesFromNode(node) {
53
- var includeDirectiveMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
50
+ function includeDirectiveMarkdownNodesFromNode(node, includeDirectiveMarkdownNodes = []) {
54
51
  (0, _query.nodesFromNodeAndQuery)(node, includeDirectiveMarkdownNodesQuery, includeDirectiveMarkdownNodes);
55
52
  return includeDirectiveMarkdownNodes;
56
53
  }
57
- var _default = {
58
- subDivisionMarkdownNodeFromNode: subDivisionMarkdownNodeFromNode,
59
- ignoreDirectiveMarkdownNodeFromNode: ignoreDirectiveMarkdownNodeFromNode,
60
- embedDirectiveMarkdownNodesFromNode: embedDirectiveMarkdownNodesFromNode,
61
- includeDirectiveMarkdownNodesFromNode: includeDirectiveMarkdownNodesFromNode
54
+ const _default = {
55
+ subDivisionMarkdownNodeFromNode,
56
+ ignoreDirectiveMarkdownNodeFromNode,
57
+ embedDirectiveMarkdownNodesFromNode,
58
+ includeDirectiveMarkdownNodesFromNode
62
59
  };
63
60
 
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWFya2Rvd24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmltcG9ydCB7IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5LCBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9kaXZpc2lvbi9zdWJEaXZpc2lvblwiKSxcbiAgICAgIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvZGl2aXNpb24vc3ViRGl2aXNpb24vZGlyZWN0aXZlcy9pZ25vcmVEaXJlY3RpdmVcIiksXG4gICAgICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL3N1YkRpdmlzaW9uXCIpLFxuICAgICAgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9zdWJEaXZpc2lvbi9kaXJlY3RpdmVzL2VtYmVkRGlyZWN0aXZlXCIpLFxuICAgICAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL3N1YkRpdmlzaW9uL2RpcmVjdGl2ZXMvaW5jbHVkZURpcmVjdGl2ZVwiKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzUXVlcnksIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSwgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZVxufTtcbiJdLCJuYW1lcyI6WyJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkiLCJRdWVyeSIsImZyb21FeHByZXNzaW9uU3RyaW5nIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNRdWVyeSIsImVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSIsIm5vZGUiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSIsIm5vZGVGcm9tTm9kZUFuZFF1ZXJ5IiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzIiwibm9kZXNGcm9tTm9kZUFuZFF1ZXJ5IiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQTBDQTtlQUFBOztRQVpnQkE7ZUFBQUE7O1FBWkFDO2VBQUFBOztRQWtCQUM7ZUFBQUE7O1FBeEJBQztlQUFBQTs7UUFZQUM7ZUFBQUE7OzswQkF0Qk07cUJBRXNDO0FBRTVELElBQU1DLCtCQUErQkMsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsMEJBQzFEQyxtQ0FBbUNGLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDLHFEQUM5REUsZ0NBQWdDSCxpQkFBSyxDQUFDQyxvQkFBb0IsQ0FBQywwQkFDM0RHLG1DQUFtQ0osaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsMkNBQzlESSxxQ0FBcUNMLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDO0FBRS9ELFNBQVNKLGdDQUFnQ1MsSUFBSTtJQUNsRCxJQUFNQywwQkFBMEJDLElBQUFBLDJCQUFvQixFQUFDRixNQUFNUDtJQUUzRCxPQUFPUTtBQUNUO0FBRU8sU0FBU1osb0NBQW9DVyxJQUFJO0lBQ3RELElBQU1HLDhCQUE4QkQsSUFBQUEsMkJBQW9CLEVBQUNGLE1BQU1KO0lBRS9ELE9BQU9PO0FBQ1Q7QUFFTyxTQUFTWCxpQ0FBaUNRLElBQUk7UUFBRUksMkJBQUFBLGlFQUEyQixFQUFFO0lBQ2xGQyxJQUFBQSw0QkFBcUIsRUFBQ0wsTUFBTUgsK0JBQStCTztJQUUzRCxPQUFPQTtBQUNUO0FBRU8sU0FBU2hCLG9DQUFvQ1ksSUFBSTtRQUFFTSw4QkFBQUEsaUVBQThCLEVBQUU7SUFDeEZELElBQUFBLDRCQUFxQixFQUFDTCxNQUFNRixrQ0FBa0NRO0lBRTlELE9BQU9BO0FBQ1Q7QUFFTyxTQUFTaEIsc0NBQXNDVSxJQUFJO1FBQUVPLGdDQUFBQSxpRUFBZ0MsRUFBRTtJQUM1RkYsSUFBQUEsNEJBQXFCLEVBQUNMLE1BQU1ELG9DQUFvQ1E7SUFFaEUsT0FBT0E7QUFDVDtJQUVBLFdBQWU7SUFDYmhCLGlDQUFBQTtJQUNBRixxQ0FBQUE7SUFDQUQscUNBQUFBO0lBQ0FFLHVDQUFBQTtBQUNGIn0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWFya2Rvd24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmltcG9ydCB7IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5LCBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9kaXZpc2lvbi9zdWJEaXZpc2lvblwiKSxcbiAgICAgIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvZGl2aXNpb24vc3ViRGl2aXNpb24vZGlyZWN0aXZlcy9pZ25vcmVEaXJlY3RpdmVcIiksXG4gICAgICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL3N1YkRpdmlzaW9uXCIpLFxuICAgICAgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9zdWJEaXZpc2lvbi9kaXJlY3RpdmVzL2VtYmVkRGlyZWN0aXZlXCIpLFxuICAgICAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL3N1YkRpdmlzaW9uL2RpcmVjdGl2ZXMvaW5jbHVkZURpcmVjdGl2ZVwiKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzUXVlcnksIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSwgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZVxufTtcbiJdLCJuYW1lcyI6WyJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkiLCJRdWVyeSIsImZyb21FeHByZXNzaW9uU3RyaW5nIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNRdWVyeSIsImVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSIsIm5vZGUiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSIsIm5vZGVGcm9tTm9kZUFuZFF1ZXJ5IiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzIiwibm9kZXNGcm9tTm9kZUFuZFF1ZXJ5IiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQTBDQTtlQUFBOztRQVpnQkE7ZUFBQUE7O1FBWkFDO2VBQUFBOztRQWtCQUM7ZUFBQUE7O1FBeEJBQztlQUFBQTs7UUFZQUM7ZUFBQUE7Ozs0QkF0Qk07dUJBRXNDO0FBRTVELE1BQU1DLCtCQUErQkMsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsMEJBQzFEQyxtQ0FBbUNGLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDLHFEQUM5REUsZ0NBQWdDSCxpQkFBSyxDQUFDQyxvQkFBb0IsQ0FBQywwQkFDM0RHLG1DQUFtQ0osaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsMkNBQzlESSxxQ0FBcUNMLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDO0FBRS9ELFNBQVNKLGdDQUFnQ1MsSUFBSTtJQUNsRCxNQUFNQywwQkFBMEJDLElBQUFBLDJCQUFvQixFQUFDRixNQUFNUDtJQUUzRCxPQUFPUTtBQUNUO0FBRU8sU0FBU1osb0NBQW9DVyxJQUFJO0lBQ3RELE1BQU1HLDhCQUE4QkQsSUFBQUEsMkJBQW9CLEVBQUNGLE1BQU1KO0lBRS9ELE9BQU9PO0FBQ1Q7QUFFTyxTQUFTWCxpQ0FBaUNRLElBQUksRUFBRUksMkJBQTJCLEVBQUU7SUFDbEZDLElBQUFBLDRCQUFxQixFQUFDTCxNQUFNSCwrQkFBK0JPO0lBRTNELE9BQU9BO0FBQ1Q7QUFFTyxTQUFTaEIsb0NBQW9DWSxJQUFJLEVBQUVNLDhCQUE4QixFQUFFO0lBQ3hGRCxJQUFBQSw0QkFBcUIsRUFBQ0wsTUFBTUYsa0NBQWtDUTtJQUU5RCxPQUFPQTtBQUNUO0FBRU8sU0FBU2hCLHNDQUFzQ1UsSUFBSSxFQUFFTyxnQ0FBZ0MsRUFBRTtJQUM1RkYsSUFBQUEsNEJBQXFCLEVBQUNMLE1BQU1ELG9DQUFvQ1E7SUFFaEUsT0FBT0E7QUFDVDtNQUVBLFdBQWU7SUFDYmhCO0lBQ0FGO0lBQ0FEO0lBQ0FFO0FBQ0YifQ==
@@ -8,6 +8,6 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
- var _default = {};
11
+ const _default = {};
12
12
 
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWFya2Rvd25TdHlsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQge307XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUFBOzs7SUFBQSxXQUFlLENBQUMifQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWFya2Rvd25TdHlsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQge307XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUFBOzs7TUFBQSxXQUFlLENBQUMifQ==
@@ -23,43 +23,43 @@ _export(exports, {
23
23
  }
24
24
  });
25
25
  function forEach(object, callback) {
26
- var keys = Object.keys(object);
27
- keys.forEach(function(key) {
28
- var value = object[key];
26
+ const keys = Object.keys(object);
27
+ keys.forEach((key)=>{
28
+ const value = object[key];
29
29
  callback(key, value);
30
30
  });
31
31
  }
32
32
  function filter(object, callback) {
33
- var keys = Object.keys(object);
34
- keys.forEach(function(key) {
35
- var value = object[key], result = callback(key, value);
33
+ const keys = Object.keys(object);
34
+ keys.forEach((key)=>{
35
+ const value = object[key], result = callback(key, value);
36
36
  if (!result) {
37
37
  delete object[key];
38
38
  }
39
39
  });
40
40
  }
41
41
  function mapKeys(object, callback) {
42
- var keys = Object.keys(object);
43
- var values = [];
44
- keys = keys.map(function(key) {
45
- var value = object[key];
42
+ let keys = Object.keys(object);
43
+ const values = [];
44
+ keys = keys.map((key)=>{
45
+ const value = object[key];
46
46
  delete object[key];
47
47
  key = callback(key, value); ///
48
48
  values.push(value);
49
49
  return key;
50
50
  });
51
- keys.forEach(function(key, index) {
52
- var value = values[index];
51
+ keys.forEach((key, index)=>{
52
+ const value = values[index];
53
53
  object[key] = value;
54
54
  });
55
55
  }
56
56
  function mapValues(object, callback) {
57
- var keys = Object.keys(object);
58
- keys.forEach(function(key) {
59
- var value = object[key];
57
+ const keys = Object.keys(object);
58
+ keys.forEach((key)=>{
59
+ let value = object[key];
60
60
  value = callback(key, value); ///
61
61
  object[key] = value;
62
62
  });
63
63
  }
64
64
 
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZm9yRWFjaChvYmplY3QsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBvYmplY3Rba2V5XTtcblxuICAgIGNhbGxiYWNrKGtleSwgdmFsdWUpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlcihvYmplY3QsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBvYmplY3Rba2V5XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhrZXksIHZhbHVlKTtcblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICBkZWxldGUgb2JqZWN0W2tleV07XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcEtleXMob2JqZWN0LCBjYWxsYmFjaykge1xuICBsZXQga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7XG5cbiAgY29uc3QgdmFsdWVzID0gW107XG5cbiAga2V5cyA9IGtleXMubWFwKChrZXkpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IG9iamVjdFtrZXldO1xuXG4gICAgZGVsZXRlIG9iamVjdFtrZXldO1xuXG4gICAga2V5ID0gY2FsbGJhY2soa2V5LCB2YWx1ZSk7IC8vL1xuXG4gICAgdmFsdWVzLnB1c2godmFsdWUpO1xuXG4gICAgcmV0dXJuIGtleTtcbiAgfSk7XG5cbiAga2V5cy5mb3JFYWNoKChrZXksIGluZGV4KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNbaW5kZXhdO1xuXG4gICAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBWYWx1ZXMob2JqZWN0LCBjYWxsYmFjaykge1xuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcblxuICBrZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGxldCB2YWx1ZSA9IG9iamVjdFtrZXldO1xuXG4gICAgdmFsdWUgPSBjYWxsYmFjayhrZXksIHZhbHVlKTsgLy8vXG5cbiAgICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICB9KTtcbn0iXSwibmFtZXMiOlsiZmlsdGVyIiwiZm9yRWFjaCIsIm1hcEtleXMiLCJtYXBWYWx1ZXMiLCJvYmplY3QiLCJjYWxsYmFjayIsImtleXMiLCJPYmplY3QiLCJrZXkiLCJ2YWx1ZSIsInJlc3VsdCIsInZhbHVlcyIsIm1hcCIsInB1c2giLCJpbmRleCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBWWdCQTtlQUFBQTs7UUFWQUM7ZUFBQUE7O1FBdUJBQztlQUFBQTs7UUF3QkFDO2VBQUFBOzs7QUEvQ1QsU0FBU0YsUUFBUUcsTUFBTSxFQUFFQyxRQUFRO0lBQ3RDLElBQU1DLE9BQU9DLE9BQU9ELElBQUksQ0FBQ0Y7SUFFekJFLEtBQUtMLE9BQU8sQ0FBQyxTQUFDTztRQUNaLElBQU1DLFFBQVFMLE1BQU0sQ0FBQ0ksSUFBSTtRQUV6QkgsU0FBU0csS0FBS0M7SUFDaEI7QUFDRjtBQUVPLFNBQVNULE9BQU9JLE1BQU0sRUFBRUMsUUFBUTtJQUNyQyxJQUFNQyxPQUFPQyxPQUFPRCxJQUFJLENBQUNGO0lBRXpCRSxLQUFLTCxPQUFPLENBQUMsU0FBQ087UUFDWixJQUFNQyxRQUFRTCxNQUFNLENBQUNJLElBQUksRUFDbkJFLFNBQVNMLFNBQVNHLEtBQUtDO1FBRTdCLElBQUksQ0FBQ0MsUUFBUTtZQUNYLE9BQU9OLE1BQU0sQ0FBQ0ksSUFBSTtRQUNwQjtJQUNGO0FBQ0Y7QUFFTyxTQUFTTixRQUFRRSxNQUFNLEVBQUVDLFFBQVE7SUFDdEMsSUFBSUMsT0FBT0MsT0FBT0QsSUFBSSxDQUFDRjtJQUV2QixJQUFNTyxTQUFTLEVBQUU7SUFFakJMLE9BQU9BLEtBQUtNLEdBQUcsQ0FBQyxTQUFDSjtRQUNmLElBQU1DLFFBQVFMLE1BQU0sQ0FBQ0ksSUFBSTtRQUV6QixPQUFPSixNQUFNLENBQUNJLElBQUk7UUFFbEJBLE1BQU1ILFNBQVNHLEtBQUtDLFFBQVEsR0FBRztRQUUvQkUsT0FBT0UsSUFBSSxDQUFDSjtRQUVaLE9BQU9EO0lBQ1Q7SUFFQUYsS0FBS0wsT0FBTyxDQUFDLFNBQUNPLEtBQUtNO1FBQ2pCLElBQU1MLFFBQVFFLE1BQU0sQ0FBQ0csTUFBTTtRQUUzQlYsTUFBTSxDQUFDSSxJQUFJLEdBQUdDO0lBQ2hCO0FBQ0Y7QUFFTyxTQUFTTixVQUFVQyxNQUFNLEVBQUVDLFFBQVE7SUFDeEMsSUFBTUMsT0FBT0MsT0FBT0QsSUFBSSxDQUFDRjtJQUV6QkUsS0FBS0wsT0FBTyxDQUFDLFNBQUNPO1FBQ1osSUFBSUMsUUFBUUwsTUFBTSxDQUFDSSxJQUFJO1FBRXZCQyxRQUFRSixTQUFTRyxLQUFLQyxRQUFRLEdBQUc7UUFFakNMLE1BQU0sQ0FBQ0ksSUFBSSxHQUFHQztJQUNoQjtBQUNGIn0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZm9yRWFjaChvYmplY3QsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBvYmplY3Rba2V5XTtcblxuICAgIGNhbGxiYWNrKGtleSwgdmFsdWUpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlcihvYmplY3QsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBvYmplY3Rba2V5XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhrZXksIHZhbHVlKTtcblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICBkZWxldGUgb2JqZWN0W2tleV07XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcEtleXMob2JqZWN0LCBjYWxsYmFjaykge1xuICBsZXQga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7XG5cbiAgY29uc3QgdmFsdWVzID0gW107XG5cbiAga2V5cyA9IGtleXMubWFwKChrZXkpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IG9iamVjdFtrZXldO1xuXG4gICAgZGVsZXRlIG9iamVjdFtrZXldO1xuXG4gICAga2V5ID0gY2FsbGJhY2soa2V5LCB2YWx1ZSk7IC8vL1xuXG4gICAgdmFsdWVzLnB1c2godmFsdWUpO1xuXG4gICAgcmV0dXJuIGtleTtcbiAgfSk7XG5cbiAga2V5cy5mb3JFYWNoKChrZXksIGluZGV4KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNbaW5kZXhdO1xuXG4gICAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBWYWx1ZXMob2JqZWN0LCBjYWxsYmFjaykge1xuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcblxuICBrZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGxldCB2YWx1ZSA9IG9iamVjdFtrZXldO1xuXG4gICAgdmFsdWUgPSBjYWxsYmFjayhrZXksIHZhbHVlKTsgLy8vXG5cbiAgICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICB9KTtcbn0iXSwibmFtZXMiOlsiZmlsdGVyIiwiZm9yRWFjaCIsIm1hcEtleXMiLCJtYXBWYWx1ZXMiLCJvYmplY3QiLCJjYWxsYmFjayIsImtleXMiLCJPYmplY3QiLCJrZXkiLCJ2YWx1ZSIsInJlc3VsdCIsInZhbHVlcyIsIm1hcCIsInB1c2giLCJpbmRleCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBWWdCQTtlQUFBQTs7UUFWQUM7ZUFBQUE7O1FBdUJBQztlQUFBQTs7UUF3QkFDO2VBQUFBOzs7QUEvQ1QsU0FBU0YsUUFBUUcsTUFBTSxFQUFFQyxRQUFRO0lBQ3RDLE1BQU1DLE9BQU9DLE9BQU9ELElBQUksQ0FBQ0Y7SUFFekJFLEtBQUtMLE9BQU8sQ0FBQyxDQUFDTztRQUNaLE1BQU1DLFFBQVFMLE1BQU0sQ0FBQ0ksSUFBSTtRQUV6QkgsU0FBU0csS0FBS0M7SUFDaEI7QUFDRjtBQUVPLFNBQVNULE9BQU9JLE1BQU0sRUFBRUMsUUFBUTtJQUNyQyxNQUFNQyxPQUFPQyxPQUFPRCxJQUFJLENBQUNGO0lBRXpCRSxLQUFLTCxPQUFPLENBQUMsQ0FBQ087UUFDWixNQUFNQyxRQUFRTCxNQUFNLENBQUNJLElBQUksRUFDbkJFLFNBQVNMLFNBQVNHLEtBQUtDO1FBRTdCLElBQUksQ0FBQ0MsUUFBUTtZQUNYLE9BQU9OLE1BQU0sQ0FBQ0ksSUFBSTtRQUNwQjtJQUNGO0FBQ0Y7QUFFTyxTQUFTTixRQUFRRSxNQUFNLEVBQUVDLFFBQVE7SUFDdEMsSUFBSUMsT0FBT0MsT0FBT0QsSUFBSSxDQUFDRjtJQUV2QixNQUFNTyxTQUFTLEVBQUU7SUFFakJMLE9BQU9BLEtBQUtNLEdBQUcsQ0FBQyxDQUFDSjtRQUNmLE1BQU1DLFFBQVFMLE1BQU0sQ0FBQ0ksSUFBSTtRQUV6QixPQUFPSixNQUFNLENBQUNJLElBQUk7UUFFbEJBLE1BQU1ILFNBQVNHLEtBQUtDLFFBQVEsR0FBRztRQUUvQkUsT0FBT0UsSUFBSSxDQUFDSjtRQUVaLE9BQU9EO0lBQ1Q7SUFFQUYsS0FBS0wsT0FBTyxDQUFDLENBQUNPLEtBQUtNO1FBQ2pCLE1BQU1MLFFBQVFFLE1BQU0sQ0FBQ0csTUFBTTtRQUUzQlYsTUFBTSxDQUFDSSxJQUFJLEdBQUdDO0lBQ2hCO0FBQ0Y7QUFFTyxTQUFTTixVQUFVQyxNQUFNLEVBQUVDLFFBQVE7SUFDeEMsTUFBTUMsT0FBT0MsT0FBT0QsSUFBSSxDQUFDRjtJQUV6QkUsS0FBS0wsT0FBTyxDQUFDLENBQUNPO1FBQ1osSUFBSUMsUUFBUUwsTUFBTSxDQUFDSSxJQUFJO1FBRXZCQyxRQUFRSixTQUFTRyxLQUFLQyxRQUFRLEdBQUc7UUFFakNMLE1BQU0sQ0FBQ0ksSUFBSSxHQUFHQztJQUNoQjtBQUNGIn0=