highmark-markdown 1.0.183 → 1.0.185

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 (266) hide show
  1. package/example.js +10243 -6411
  2. package/lib/constants.js +9 -1
  3. package/lib/defaultMarkdownStyle.js +2 -2
  4. package/lib/example/importer.js +3 -3
  5. package/lib/example/indexOptions.js +1 -98
  6. package/lib/example/view/div/container/markdown.js +2 -2
  7. package/lib/example/view/div/container/markdownStyle.js +2 -2
  8. package/lib/example/view/div/container.js +2 -2
  9. package/lib/example/view/div/pageButtons.js +7 -4
  10. package/lib/example/view/div/preview.js +1 -5
  11. package/lib/example/view/div/sizeable/left.js +2 -2
  12. package/lib/example/view/div/tabButtons/right.js +5 -5
  13. package/lib/example/view/textarea/markdown.js +2 -2
  14. package/lib/example/view/textarea/markdownStyle.js +2 -2
  15. package/lib/example/view/textarea/parseTree/html.js +2 -2
  16. package/lib/example/view/textarea/plainText.js +1 -5
  17. package/lib/example/view/xmp.js +1 -5
  18. package/lib/example/view.js +51 -48
  19. package/lib/index/list.js +4 -4
  20. package/lib/index.js +2 -2
  21. package/lib/map/node/html.js +13 -7
  22. package/lib/map/node/markdown.js +5 -24
  23. package/lib/markdown/bnf.js +2 -2
  24. package/lib/node/html/anchor.js +49 -64
  25. package/lib/node/html/blockLine.js +23 -4
  26. package/lib/node/{markdown/paragraph.js → html/directive/contents.js} +20 -14
  27. package/lib/node/{markdown/strongText.js → html/directive/footnotes.js} +20 -14
  28. package/lib/node/{markdown/emphasisedText.js → html/directive/index.js} +20 -14
  29. package/lib/node/{markdown/inlineText.js → html/directive/pageNumber.js} +20 -14
  30. package/lib/node/html/division.js +118 -7
  31. package/lib/node/html/footnote.js +4 -10
  32. package/lib/node/html/heading/index.js +71 -10
  33. package/lib/node/html/heading/primary.js +8 -7
  34. package/lib/node/html/heading/quaternary.js +8 -7
  35. package/lib/node/html/heading/secondary.js +8 -7
  36. package/lib/node/html/heading/tertiary.js +8 -7
  37. package/lib/node/html/heading.js +165 -0
  38. package/lib/node/html/image.js +7 -6
  39. package/lib/node/html/item/contents.js +22 -8
  40. package/lib/node/html/item/footnote.js +144 -0
  41. package/lib/node/html/item/index.js +27 -43
  42. package/lib/node/html/line.js +55 -2
  43. package/lib/node/html/link/contents.js +34 -14
  44. package/lib/node/html/link/email.js +32 -8
  45. package/lib/node/html/link/footnote.js +95 -5
  46. package/lib/node/html/link/hyper.js +32 -8
  47. package/lib/node/html/link/index.js +66 -35
  48. package/lib/node/html/list/contents.js +22 -8
  49. package/lib/node/html/list/footnotes.js +39 -12
  50. package/lib/node/html/list/index.js +22 -8
  51. package/lib/node/html/pageNumber.js +70 -23
  52. package/lib/node/html/{item/footnotes.js → reference.js} +14 -14
  53. package/lib/node/{markdown/heading/primary.js → html/text/comma.js} +38 -28
  54. package/lib/node/html/text/index.js +146 -0
  55. package/lib/node/html/text/stronglyEmphasised.js +15 -8
  56. package/lib/node/html/text.js +43 -5
  57. package/lib/node/html/topmost.js +67 -1
  58. package/lib/node/html.js +77 -4
  59. package/lib/node/markdown/directive/{embee.js → embed.js} +1 -1
  60. package/lib/node/markdown/division.js +13 -22
  61. package/lib/node/markdown/link/footnote.js +5 -102
  62. package/lib/node/markdown/subDivision.js +2 -2
  63. package/lib/node/markdown/text/block.js +1 -1
  64. package/lib/node/markdown/text.js +25 -29
  65. package/lib/ruleNames.js +87 -81
  66. package/lib/style/selector.js +4 -4
  67. package/lib/{node/markdown/heading/tertiary.js → transform/html/directive/contents.js} +23 -28
  68. package/lib/{node/markdown/stronglyEmphasisedText.js → transform/html/directive/footnotes.js} +15 -14
  69. package/lib/{node/markdown/line.js → transform/html/directive/index.js} +19 -18
  70. package/lib/transform/html/directive/pageNumber.js +108 -0
  71. package/lib/transform/html/division.js +130 -0
  72. package/lib/transform/html/footnote.js +159 -0
  73. package/lib/transform/html/heading/index.js +109 -0
  74. package/lib/transform/html/index.js +159 -0
  75. package/lib/transform/{indexAnchor.js → html/indexAnchor.js} +20 -20
  76. package/lib/transform/html/item/contents.js +130 -0
  77. package/lib/transform/html/item/footnote.js +117 -0
  78. package/lib/transform/html/item/index.js +117 -0
  79. package/lib/transform/html/line.js +123 -0
  80. package/lib/transform/html/link/contents.js +130 -0
  81. package/lib/transform/html/link/footnote.js +158 -0
  82. package/lib/transform/html/link/nestedFootnote.js +108 -0
  83. package/lib/transform/html/list/contents.js +180 -0
  84. package/lib/transform/html/list/footnotes.js +117 -0
  85. package/lib/transform/html/list/index.js +118 -0
  86. package/lib/transform/html/pageNumber.js +117 -0
  87. package/lib/transform/html.js +168 -0
  88. package/lib/transform/markdown/directive/embed.js +14 -9
  89. package/lib/transform/markdown/directive/ignore.js +12 -38
  90. package/lib/transform/markdown/directive/include.js +11 -6
  91. package/lib/transform/markdown/subDivision.js +18 -50
  92. package/lib/transform/markdown.js +148 -0
  93. package/lib/utilities/contents.js +16 -16
  94. package/lib/utilities/division.js +247 -0
  95. package/lib/utilities/footnotes.js +8 -8
  96. package/lib/utilities/html.js +37 -79
  97. package/lib/utilities/index.js +23 -16
  98. package/lib/utilities/markdown.js +2 -10
  99. package/lib/utilities/string.js +16 -10
  100. package/lib/utilities/whitespace.js +33 -0
  101. package/package.json +6 -6
  102. package/src/constants.js +2 -0
  103. package/src/defaultMarkdownStyle.js +6 -9
  104. package/src/example/importer.js +11 -5
  105. package/src/example/indexOptions.js +0 -97
  106. package/src/example/view/div/container/markdown.js +1 -1
  107. package/src/example/view/div/container/markdownStyle.js +1 -1
  108. package/src/example/view/div/container.js +1 -1
  109. package/src/example/view/div/pageButtons.js +8 -2
  110. package/src/example/view/div/preview.js +0 -6
  111. package/src/example/view/div/sizeable/left.js +1 -1
  112. package/src/example/view/div/tabButtons/right.js +3 -3
  113. package/src/example/view/textarea/markdown.js +1 -0
  114. package/src/example/view/textarea/markdownStyle.js +1 -0
  115. package/src/example/view/textarea/parseTree/html.js +1 -1
  116. package/src/example/view/textarea/plainText.js +0 -6
  117. package/src/example/view/xmp.js +0 -6
  118. package/src/example/view.js +75 -74
  119. package/src/index/list.js +3 -3
  120. package/src/index.js +1 -1
  121. package/src/map/node/html.js +29 -11
  122. package/src/map/node/markdown.js +8 -65
  123. package/src/markdown/bnf.js +112 -149
  124. package/src/node/html/anchor.js +34 -43
  125. package/src/node/html/blockLine.js +33 -4
  126. package/src/node/html/directive/contents.js +9 -0
  127. package/src/node/html/directive/footnotes.js +9 -0
  128. package/src/node/html/directive/index.js +9 -0
  129. package/src/node/html/directive/pageNumber.js +9 -0
  130. package/src/node/html/division.js +154 -4
  131. package/src/node/html/footnote.js +1 -7
  132. package/src/node/html/heading/index.js +78 -2
  133. package/src/node/html/heading/primary.js +6 -4
  134. package/src/node/html/heading/quaternary.js +6 -4
  135. package/src/node/html/heading/secondary.js +6 -4
  136. package/src/node/html/heading/tertiary.js +6 -4
  137. package/src/node/html/heading.js +59 -0
  138. package/src/node/html/image.js +8 -5
  139. package/src/node/html/item/contents.js +25 -2
  140. package/src/node/html/item/footnote.js +39 -0
  141. package/src/node/html/item/index.js +35 -16
  142. package/src/node/html/line.js +41 -2
  143. package/src/node/html/link/contents.js +32 -5
  144. package/src/node/html/link/email.js +51 -17
  145. package/src/node/html/link/footnote.js +98 -2
  146. package/src/node/html/link/hyper.js +51 -17
  147. package/src/node/html/link/index.js +63 -30
  148. package/src/node/html/list/contents.js +25 -2
  149. package/src/node/html/list/footnotes.js +34 -2
  150. package/src/node/html/list/index.js +25 -2
  151. package/src/node/html/pageNumber.js +60 -16
  152. package/src/node/html/reference.js +13 -0
  153. package/src/node/html/text/comma.js +29 -0
  154. package/src/node/html/text/index.js +43 -0
  155. package/src/node/html/text/stronglyEmphasised.js +22 -11
  156. package/src/node/html/text.js +3 -3
  157. package/src/node/html/topmost.js +93 -1
  158. package/src/node/html.js +34 -6
  159. package/src/node/markdown/division.js +11 -227
  160. package/src/node/markdown/link/footnote.js +6 -82
  161. package/src/node/markdown/subDivision.js +1 -1
  162. package/src/node/markdown/text/block.js +1 -1
  163. package/src/node/markdown/text.js +38 -39
  164. package/src/ruleNames.js +11 -8
  165. package/src/style/selector.js +3 -4
  166. package/src/transform/html/directive/contents.js +19 -0
  167. package/src/transform/html/directive/footnotes.js +12 -0
  168. package/src/transform/html/directive/index.js +19 -0
  169. package/src/transform/html/directive/pageNumber.js +12 -0
  170. package/src/transform/html/division.js +33 -0
  171. package/src/transform/html/footnote.js +66 -0
  172. package/src/transform/html/heading/index.js +14 -0
  173. package/src/transform/html/index.js +77 -0
  174. package/src/transform/html/indexAnchor.js +24 -0
  175. package/src/transform/html/item/contents.js +48 -0
  176. package/src/transform/html/item/footnote.js +21 -0
  177. package/src/transform/html/item/index.js +21 -0
  178. package/src/transform/html/line.js +27 -0
  179. package/src/transform/html/link/contents.js +40 -0
  180. package/src/transform/html/link/footnote.js +58 -0
  181. package/src/transform/html/link/nestedFootnote.js +12 -0
  182. package/src/transform/html/list/contents.js +86 -0
  183. package/src/transform/html/list/footnotes.js +20 -0
  184. package/src/transform/html/list/index.js +27 -0
  185. package/src/transform/html/pageNumber.js +20 -0
  186. package/src/transform/html.js +78 -0
  187. package/src/transform/markdown/directive/embed.js +6 -7
  188. package/src/transform/markdown/directive/ignore.js +3 -9
  189. package/src/transform/markdown/directive/include.js +3 -3
  190. package/src/transform/markdown/subDivision.js +5 -17
  191. package/src/transform/markdown.js +9 -0
  192. package/src/utilities/contents.js +12 -12
  193. package/src/utilities/division.js +256 -0
  194. package/src/utilities/footnotes.js +5 -5
  195. package/src/utilities/html.js +39 -86
  196. package/src/utilities/index.js +26 -16
  197. package/src/utilities/markdown.js +0 -8
  198. package/src/utilities/string.js +5 -3
  199. package/src/utilities/whitespace.js +21 -0
  200. package/lib/node/markdown/anchor.js +0 -171
  201. package/lib/node/markdown/contentsItem.js +0 -112
  202. package/lib/node/markdown/directive/pageNumber.js +0 -163
  203. package/lib/node/markdown/heading/quaternary.js +0 -121
  204. package/lib/node/markdown/heading/secondary.js +0 -121
  205. package/lib/node/markdown/heading.js +0 -140
  206. package/lib/node/markdown/item/footnotes.js +0 -120
  207. package/lib/node/markdown/link/contents.js +0 -156
  208. package/lib/node/markdown/link/index.js +0 -117
  209. package/lib/node/markdown/list/contents.js +0 -112
  210. package/lib/node/markdown/list/footnotes.js +0 -165
  211. package/lib/node/markdown/list/index.js +0 -112
  212. package/lib/transform/contentsDirective.js +0 -112
  213. package/lib/transform/contentsItem.js +0 -134
  214. package/lib/transform/contentsLink.js +0 -115
  215. package/lib/transform/contentsList.js +0 -193
  216. package/lib/transform/footnote.js +0 -181
  217. package/lib/transform/footnoteIdentifier.js +0 -120
  218. package/lib/transform/footnotesDirective.js +0 -112
  219. package/lib/transform/footnotesItem.js +0 -123
  220. package/lib/transform/footnotesList.js +0 -172
  221. package/lib/transform/index.js +0 -166
  222. package/lib/transform/indexDirective.js +0 -112
  223. package/lib/transform/indexHeading.js +0 -104
  224. package/lib/transform/indexItem.js +0 -113
  225. package/lib/transform/indexList.js +0 -121
  226. package/lib/transform/line.js +0 -111
  227. package/lib/transform/pageNumberDirective.js +0 -112
  228. package/src/node/html/item/footnotes.js +0 -13
  229. package/src/node/markdown/anchor.js +0 -45
  230. package/src/node/markdown/contentsItem.js +0 -21
  231. package/src/node/markdown/directive/pageNumber.js +0 -34
  232. package/src/node/markdown/emphasisedText.js +0 -7
  233. package/src/node/markdown/heading/primary.js +0 -9
  234. package/src/node/markdown/heading/quaternary.js +0 -9
  235. package/src/node/markdown/heading/secondary.js +0 -9
  236. package/src/node/markdown/heading/tertiary.js +0 -9
  237. package/src/node/markdown/heading.js +0 -47
  238. package/src/node/markdown/inlineText.js +0 -7
  239. package/src/node/markdown/item/footnotes.js +0 -39
  240. package/src/node/markdown/line.js +0 -17
  241. package/src/node/markdown/link/contents.js +0 -31
  242. package/src/node/markdown/link/index.js +0 -18
  243. package/src/node/markdown/list/contents.js +0 -21
  244. package/src/node/markdown/list/footnotes.js +0 -45
  245. package/src/node/markdown/list/index.js +0 -21
  246. package/src/node/markdown/paragraph.js +0 -7
  247. package/src/node/markdown/strongText.js +0 -7
  248. package/src/node/markdown/stronglyEmphasisedText.js +0 -7
  249. package/src/transform/contentsDirective.js +0 -18
  250. package/src/transform/contentsItem.js +0 -55
  251. package/src/transform/contentsLink.js +0 -28
  252. package/src/transform/contentsList.js +0 -110
  253. package/src/transform/footnote.js +0 -51
  254. package/src/transform/footnoteIdentifier.js +0 -27
  255. package/src/transform/footnotesDirective.js +0 -18
  256. package/src/transform/footnotesItem.js +0 -25
  257. package/src/transform/footnotesList.js +0 -77
  258. package/src/transform/index.js +0 -90
  259. package/src/transform/indexAnchor.js +0 -27
  260. package/src/transform/indexDirective.js +0 -18
  261. package/src/transform/indexHeading.js +0 -18
  262. package/src/transform/indexItem.js +0 -29
  263. package/src/transform/indexList.js +0 -33
  264. package/src/transform/line.js +0 -19
  265. package/src/transform/pageNumberDirective.js +0 -18
  266. /package/src/node/markdown/directive/{embee.js → embed.js} +0 -0
@@ -13,82 +13,13 @@ _export(exports, {
13
13
  return contentsDirectiveHTMLNodeFromNode;
14
14
  },
15
15
  default: function() {
16
- return _default // export function postProcess(divisionHTMLNodes, context) {
17
- // const footnoteReplacementMap = prepareFootnotes(divisionHTMLNodes, context),
18
- // markdownNodes = paginate(divisionHTMLNodes, context);
19
- //
20
- // divisionHTMLNodes = divisionHTMLNodesFromHTMLNodes(markdownNodes); ///
21
- //
22
- // createFootnotes(divisionHTMLNodes, footnoteReplacementMap, context);
23
- //
24
- // createContents(divisionHTMLNodes, context);
25
- //
26
- // createIndex(divisionHTMLNodes, context);
27
- // }
28
- //
29
- // function paginate(divisionHTMLNodes, context) {
30
- // const pageNumber = 1,
31
- // markdownNOdes = [];
32
- //
33
- // Object.assign(context, {
34
- // pageNumber
35
- // });
36
- //
37
- // divisionHTMLNodes.forEach((divisionHTMLNode) => {
38
- // divisionHTMLNode.paginate(markdownNOdes, context);
39
- // });
40
- //
41
- // delete context.pageNumber;
42
- //
43
- // return markdownNOdes;
44
- // }
45
- //
46
- // function createIndex(divisionHTMLNodes, context) {
47
- // divisionHTMLNodes.some((divisionHTMLNode) => {
48
- // const indexCreated = divisionHTMLNode.createIndex(divisionHTMLNodes, context);
49
- //
50
- // if (indexCreated) {
51
- // return true;
52
- // }
53
- // });
54
- // }
55
- //
56
- // function createContents(divisionHTMLNodes, context) {
57
- // divisionHTMLNodes.some((divisionHTMLNode) => {
58
- // const contentsCreated = divisionHTMLNode.createContents(divisionHTMLNodes, context);
59
- //
60
- // if (contentsCreated) {
61
- // return true;
62
- // }
63
- // });
64
- // }
65
- //
66
- // function createFootnotes(divisionHTMLNodes, footnoteReplacementMap, context) {
67
- // divisionHTMLNodes.forEach((divisionHTMLNode) => {
68
- // divisionHTMLNode.createFootnotes(footnoteReplacementMap, context);
69
- // });
70
- // }
71
- //
72
- // function prepareFootnotes(divisionHTMLNodes, context) {
73
- // const footnoteReplacementMap = {};
74
- //
75
- // divisionHTMLNodes.forEach((divisionHTMLNode) => {
76
- // divisionHTMLNode.prepareFootnotes(footnoteReplacementMap, context);
77
- // });
78
- //
79
- // return footnoteReplacementMap;
80
- // }
81
- //
82
- // export default {
83
- // postProcess
84
- // }
85
- ;
16
+ return _default;
86
17
  },
87
18
  divisionHTMLNodesFromNode: function() {
88
19
  return divisionHTMLNodesFromNode;
89
20
  },
90
- footnoteHTMLNodeFromNode: function() {
91
- return footnoteHTMLNodeFromNode;
21
+ footnoteHTMLNodesFromNode: function() {
22
+ return footnoteHTMLNodesFromNode;
92
23
  },
93
24
  footnoteLinkHTMLNodesFromNode: function() {
94
25
  return footnoteLinkHTMLNodesFromNode;
@@ -102,16 +33,25 @@ _export(exports, {
102
33
  headingHTMLNodesFromNode: function() {
103
34
  return headingHTMLNodesFromNode;
104
35
  },
36
+ htmlNodesFromNode: function() {
37
+ return htmlNodesFromNode;
38
+ },
39
+ indexDirectiveHTMLNodeFromNode: function() {
40
+ return indexDirectiveHTMLNodeFromNode;
41
+ },
42
+ nestedFootnoteLinkHTMLNodesFromNode: function() {
43
+ return nestedFootnoteLinkHTMLNodesFromNode;
44
+ },
105
45
  pageNumberDirectiveHTMLNodeFromNode: function() {
106
46
  return pageNumberDirectiveHTMLNodeFromNode;
107
47
  }
108
48
  });
109
49
  var _occamquery = require("occam-query");
110
50
  var _query = require("../utilities/query");
111
- var footnoteHTMLNodeQuery = _occamquery.Query.fromExpressionString("/division/footnote"), ignoreDirectiveHTMLNodeQuery = _occamquery.Query.fromExpressionString("/division/subDivision/directives/ignoreDirective"), contentsDirectiveHTMLNodeQuery = _occamquery.Query.fromExpressionString("/division/subDivision/directives/contentsDirective"), footnotesDirectiveHTMLNodeQuery = _occamquery.Query.fromExpressionString("/division/subDivision/directives/footnotesDirective"), pageNumberDirectiveHTMLNodeQuery = _occamquery.Query.fromExpressionString("//directives/pageNumber"), headingHTMLNodesQuery = _occamquery.Query.fromExpressionString("/division/primaryHeading|secondaryHeading|tertiaryHeading|quaternaryHeading"), divisionHTMLNodesQuery = _occamquery.Query.fromExpressionString("/html/division"), footnotesHTMLNodesQuery = _occamquery.Query.fromExpressionString("//footnote|footnoteLink|footnotesDirective"), footnoteLinkHTMLNodesQuery = _occamquery.Query.fromExpressionString("//footnoteLink");
112
- function footnoteHTMLNodeFromNode(node) {
113
- var footnoteHTMLNode = (0, _query.nodeFromNodeAndQuery)(node, footnoteHTMLNodeQuery);
114
- return footnoteHTMLNode;
51
+ var indexDirectiveHTMLNodeQuery = _occamquery.Query.fromExpressionString("//indexDirective"), contentsDirectiveHTMLNodeQuery = _occamquery.Query.fromExpressionString("//contentsDirective"), footnotesDirectiveHTMLNodeQuery = _occamquery.Query.fromExpressionString("/division/footnotesDirective"), pageNumberDirectiveHTMLNodeQuery = _occamquery.Query.fromExpressionString("//pageNumberDirective"), htmlNodesQuery = _occamquery.Query.fromExpressionString("/division/*"), headingHTMLNodesQuery = _occamquery.Query.fromExpressionString("//primaryHeading|secondaryHeading|tertiaryHeading|tertiaryHeading"), divisionHTMLNodesQuery = _occamquery.Query.fromExpressionString("/html/division"), footnoteHTMLNodesQuery = _occamquery.Query.fromExpressionString("/division/footnote"), footnotesHTMLNodesQuery = _occamquery.Query.fromExpressionString("//footnote"), footnoteLinkHTMLNodesQuery = _occamquery.Query.fromExpressionString("//footnoteLink"), nestedFootnoteLinkHTMLNodesQuery = _occamquery.Query.fromExpressionString("//footnote//footnoteLink");
52
+ function indexDirectiveHTMLNodeFromNode(node) {
53
+ var indexDirectiveHTMLNode = (0, _query.nodeFromNodeAndQuery)(node, indexDirectiveHTMLNodeQuery);
54
+ return indexDirectiveHTMLNode;
115
55
  }
116
56
  function contentsDirectiveHTMLNodeFromNode(node) {
117
57
  var contentsDirectiveHTMLNode = (0, _query.nodeFromNodeAndQuery)(node, contentsDirectiveHTMLNodeQuery);
@@ -125,6 +65,11 @@ function pageNumberDirectiveHTMLNodeFromNode(node) {
125
65
  var pageNumberDirectiveHTMLNode = (0, _query.nodeFromNodeAndQuery)(node, pageNumberDirectiveHTMLNodeQuery);
126
66
  return pageNumberDirectiveHTMLNode;
127
67
  }
68
+ function htmlNodesFromNode(node) {
69
+ var htmlNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
70
+ (0, _query.nodesFromNodeAndQuery)(node, htmlNodesQuery, htmlNodes);
71
+ return htmlNodes;
72
+ }
128
73
  function headingHTMLNodesFromNode(node) {
129
74
  var headingHTMLNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
130
75
  (0, _query.nodesFromNodeAndQuery)(node, headingHTMLNodesQuery, headingHTMLNodes);
@@ -135,6 +80,11 @@ function divisionHTMLNodesFromNode(node) {
135
80
  (0, _query.nodesFromNodeAndQuery)(node, divisionHTMLNodesQuery, divisionHTMLNodes);
136
81
  return divisionHTMLNodes;
137
82
  }
83
+ function footnoteHTMLNodesFromNode(node) {
84
+ var footnoteHTMLNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
85
+ (0, _query.nodesFromNodeAndQuery)(node, footnoteHTMLNodesQuery, footnoteHTMLNodes);
86
+ return footnoteHTMLNodes;
87
+ }
138
88
  function footnotesHTMLNodesFromNode(node) {
139
89
  var footnotesHTMLNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
140
90
  (0, _query.nodesFromNodeAndQuery)(node, footnotesHTMLNodesQuery, footnotesHTMLNodes);
@@ -145,15 +95,23 @@ function footnoteLinkHTMLNodesFromNode(node) {
145
95
  (0, _query.nodesFromNodeAndQuery)(node, footnoteLinkHTMLNodesQuery, linkHTMLNodes);
146
96
  return linkHTMLNodes;
147
97
  }
98
+ function nestedFootnoteLinkHTMLNodesFromNode(node) {
99
+ var nestedFootnoteLinkHTMLNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
100
+ (0, _query.nodesFromNodeAndQuery)(node, nestedFootnoteLinkHTMLNodesQuery, nestedFootnoteLinkHTMLNodes);
101
+ return nestedFootnoteLinkHTMLNodes;
102
+ }
148
103
  var _default = {
149
- footnoteHTMLNodeFromNode: footnoteHTMLNodeFromNode,
104
+ indexDirectiveHTMLNodeFromNode: indexDirectiveHTMLNodeFromNode,
150
105
  contentsDirectiveHTMLNodeFromNode: contentsDirectiveHTMLNodeFromNode,
151
106
  footnotesDirectiveHTMLNodeFromNode: footnotesDirectiveHTMLNodeFromNode,
152
107
  pageNumberDirectiveHTMLNodeFromNode: pageNumberDirectiveHTMLNodeFromNode,
108
+ htmlNodesFromNode: htmlNodesFromNode,
153
109
  headingHTMLNodesFromNode: headingHTMLNodesFromNode,
154
110
  divisionHTMLNodesFromNode: divisionHTMLNodesFromNode,
111
+ footnoteHTMLNodesFromNode: footnoteHTMLNodesFromNode,
155
112
  footnotesHTMLNodesFromNode: footnotesHTMLNodesFromNode,
156
- footnoteLinkHTMLNodesFromNode: footnoteLinkHTMLNodesFromNode
113
+ footnoteLinkHTMLNodesFromNode: footnoteLinkHTMLNodesFromNode,
114
+ nestedFootnoteLinkHTMLNodesFromNode: nestedFootnoteLinkHTMLNodesFromNode
157
115
  };
158
116
 
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaHRtbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgUXVlcnkgfSBmcm9tIFwib2NjYW0tcXVlcnlcIjtcblxuaW1wb3J0IHsgbm9kZUZyb21Ob2RlQW5kUXVlcnksIG5vZGVzRnJvbU5vZGVBbmRRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZm9vdG5vdGVIVE1MTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvZGl2aXNpb24vZm9vdG5vdGVcIiksXG4gICAgICBpZ25vcmVEaXJlY3RpdmVIVE1MTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvZGl2aXNpb24vc3ViRGl2aXNpb24vZGlyZWN0aXZlcy9pZ25vcmVEaXJlY3RpdmVcIiksXG4gICAgICBjb250ZW50c0RpcmVjdGl2ZUhUTUxOb2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9kaXZpc2lvbi9zdWJEaXZpc2lvbi9kaXJlY3RpdmVzL2NvbnRlbnRzRGlyZWN0aXZlXCIpLFxuICAgICAgZm9vdG5vdGVzRGlyZWN0aXZlSFRNTE5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL3N1YkRpdmlzaW9uL2RpcmVjdGl2ZXMvZm9vdG5vdGVzRGlyZWN0aXZlXCIpLFxuICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZUhUTUxOb2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi8vZGlyZWN0aXZlcy9wYWdlTnVtYmVyXCIpLCAgLy8vXG4gICAgICBoZWFkaW5nSFRNTE5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9kaXZpc2lvbi9wcmltYXJ5SGVhZGluZ3xzZWNvbmRhcnlIZWFkaW5nfHRlcnRpYXJ5SGVhZGluZ3xxdWF0ZXJuYXJ5SGVhZGluZ1wiKSwgIC8vL1xuICAgICAgZGl2aXNpb25IVE1MTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2h0bWwvZGl2aXNpb25cIiksICAvLy9cbiAgICAgIGZvb3Rub3Rlc0hUTUxOb2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvL2Zvb3Rub3RlfGZvb3Rub3RlTGlua3xmb290bm90ZXNEaXJlY3RpdmVcIiksIC8vL1xuICAgICAgZm9vdG5vdGVMaW5rSFRNTE5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi8vZm9vdG5vdGVMaW5rXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gZm9vdG5vdGVIVE1MTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgZm9vdG5vdGVIVE1MTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGZvb3Rub3RlSFRNTE5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGZvb3Rub3RlSFRNTE5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250ZW50c0RpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBjb250ZW50c0RpcmVjdGl2ZUhUTUxOb2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgY29udGVudHNEaXJlY3RpdmVIVE1MTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gY29udGVudHNEaXJlY3RpdmVIVE1MTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBmb290bm90ZXNEaXJlY3RpdmVIVE1MTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlUXVlcnkpO1xuXG4gIHJldHVybiBmb290bm90ZXNEaXJlY3RpdmVIVE1MTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgcGFnZU51bWJlckRpcmVjdGl2ZUhUTUxOb2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgcGFnZU51bWJlckRpcmVjdGl2ZUhUTUxOb2RlUXVlcnkpO1xuXG4gIHJldHVybiBwYWdlTnVtYmVyRGlyZWN0aXZlSFRNTE5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoZWFkaW5nSFRNTE5vZGVzRnJvbU5vZGUobm9kZSwgaGVhZGluZ0hUTUxOb2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBoZWFkaW5nSFRNTE5vZGVzUXVlcnksIGhlYWRpbmdIVE1MTm9kZXMpO1xuXG4gIHJldHVybiBoZWFkaW5nSFRNTE5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGl2aXNpb25IVE1MTm9kZXNGcm9tTm9kZShub2RlLCBkaXZpc2lvbkhUTUxOb2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBkaXZpc2lvbkhUTUxOb2Rlc1F1ZXJ5LCBkaXZpc2lvbkhUTUxOb2Rlcyk7XG5cbiAgcmV0dXJuIGRpdmlzaW9uSFRNTE5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9vdG5vdGVzSFRNTE5vZGVzRnJvbU5vZGUobm9kZSwgZm9vdG5vdGVzSFRNTE5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGZvb3Rub3Rlc0hUTUxOb2Rlc1F1ZXJ5LCBmb290bm90ZXNIVE1MTm9kZXMpO1xuXG4gIHJldHVybiBmb290bm90ZXNIVE1MTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb290bm90ZUxpbmtIVE1MTm9kZXNGcm9tTm9kZShub2RlLCBsaW5rSFRNTE5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGZvb3Rub3RlTGlua0hUTUxOb2Rlc1F1ZXJ5LCBsaW5rSFRNTE5vZGVzKTtcblxuICByZXR1cm4gbGlua0hUTUxOb2Rlcztcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBmb290bm90ZUhUTUxOb2RlRnJvbU5vZGUsXG4gIGNvbnRlbnRzRGlyZWN0aXZlSFRNTE5vZGVGcm9tTm9kZSxcbiAgZm9vdG5vdGVzRGlyZWN0aXZlSFRNTE5vZGVGcm9tTm9kZSxcbiAgcGFnZU51bWJlckRpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUsXG4gIGhlYWRpbmdIVE1MTm9kZXNGcm9tTm9kZSxcbiAgZGl2aXNpb25IVE1MTm9kZXNGcm9tTm9kZSxcbiAgZm9vdG5vdGVzSFRNTE5vZGVzRnJvbU5vZGUsXG4gIGZvb3Rub3RlTGlua0hUTUxOb2Rlc0Zyb21Ob2RlXG59O1xuXG4vLyBleHBvcnQgZnVuY3Rpb24gcG9zdFByb2Nlc3MoZGl2aXNpb25IVE1MTm9kZXMsIGNvbnRleHQpIHtcbi8vICAgY29uc3QgZm9vdG5vdGVSZXBsYWNlbWVudE1hcCA9IHByZXBhcmVGb290bm90ZXMoZGl2aXNpb25IVE1MTm9kZXMsIGNvbnRleHQpLFxuLy8gICAgICAgICBtYXJrZG93bk5vZGVzID0gcGFnaW5hdGUoZGl2aXNpb25IVE1MTm9kZXMsIGNvbnRleHQpO1xuLy9cbi8vICAgZGl2aXNpb25IVE1MTm9kZXMgPSBkaXZpc2lvbkhUTUxOb2Rlc0Zyb21IVE1MTm9kZXMobWFya2Rvd25Ob2Rlcyk7ICAvLy9cbi8vXG4vLyAgIGNyZWF0ZUZvb3Rub3RlcyhkaXZpc2lvbkhUTUxOb2RlcywgZm9vdG5vdGVSZXBsYWNlbWVudE1hcCwgY29udGV4dCk7XG4vL1xuLy8gICBjcmVhdGVDb250ZW50cyhkaXZpc2lvbkhUTUxOb2RlcywgY29udGV4dCk7XG4vL1xuLy8gICBjcmVhdGVJbmRleChkaXZpc2lvbkhUTUxOb2RlcywgY29udGV4dCk7XG4vLyB9XG4vL1xuLy8gZnVuY3Rpb24gcGFnaW5hdGUoZGl2aXNpb25IVE1MTm9kZXMsIGNvbnRleHQpIHtcbi8vICAgY29uc3QgcGFnZU51bWJlciA9IDEsXG4vLyAgICAgICAgIG1hcmtkb3duTk9kZXMgPSBbXTtcbi8vXG4vLyAgIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuLy8gICAgIHBhZ2VOdW1iZXJcbi8vICAgfSk7XG4vL1xuLy8gICBkaXZpc2lvbkhUTUxOb2Rlcy5mb3JFYWNoKChkaXZpc2lvbkhUTUxOb2RlKSA9PiB7XG4vLyAgICAgZGl2aXNpb25IVE1MTm9kZS5wYWdpbmF0ZShtYXJrZG93bk5PZGVzLCBjb250ZXh0KTtcbi8vICAgfSk7XG4vL1xuLy8gICBkZWxldGUgY29udGV4dC5wYWdlTnVtYmVyO1xuLy9cbi8vICAgcmV0dXJuIG1hcmtkb3duTk9kZXM7XG4vLyB9XG4vL1xuLy8gZnVuY3Rpb24gY3JlYXRlSW5kZXgoZGl2aXNpb25IVE1MTm9kZXMsIGNvbnRleHQpIHtcbi8vICAgZGl2aXNpb25IVE1MTm9kZXMuc29tZSgoZGl2aXNpb25IVE1MTm9kZSkgPT4ge1xuLy8gICAgIGNvbnN0IGluZGV4Q3JlYXRlZCA9IGRpdmlzaW9uSFRNTE5vZGUuY3JlYXRlSW5kZXgoZGl2aXNpb25IVE1MTm9kZXMsIGNvbnRleHQpO1xuLy9cbi8vICAgICBpZiAoaW5kZXhDcmVhdGVkKSB7XG4vLyAgICAgICByZXR1cm4gdHJ1ZTtcbi8vICAgICB9XG4vLyAgIH0pO1xuLy8gfVxuLy9cbi8vIGZ1bmN0aW9uIGNyZWF0ZUNvbnRlbnRzKGRpdmlzaW9uSFRNTE5vZGVzLCBjb250ZXh0KSB7XG4vLyAgIGRpdmlzaW9uSFRNTE5vZGVzLnNvbWUoKGRpdmlzaW9uSFRNTE5vZGUpID0+IHtcbi8vICAgICBjb25zdCBjb250ZW50c0NyZWF0ZWQgPSBkaXZpc2lvbkhUTUxOb2RlLmNyZWF0ZUNvbnRlbnRzKGRpdmlzaW9uSFRNTE5vZGVzLCBjb250ZXh0KTtcbi8vXG4vLyAgICAgaWYgKGNvbnRlbnRzQ3JlYXRlZCkge1xuLy8gICAgICAgcmV0dXJuIHRydWU7XG4vLyAgICAgfVxuLy8gICB9KTtcbi8vIH1cbi8vXG4vLyBmdW5jdGlvbiBjcmVhdGVGb290bm90ZXMoZGl2aXNpb25IVE1MTm9kZXMsIGZvb3Rub3RlUmVwbGFjZW1lbnRNYXAsIGNvbnRleHQpIHtcbi8vICAgZGl2aXNpb25IVE1MTm9kZXMuZm9yRWFjaCgoZGl2aXNpb25IVE1MTm9kZSkgPT4ge1xuLy8gICAgIGRpdmlzaW9uSFRNTE5vZGUuY3JlYXRlRm9vdG5vdGVzKGZvb3Rub3RlUmVwbGFjZW1lbnRNYXAsIGNvbnRleHQpO1xuLy8gICB9KTtcbi8vIH1cbi8vXG4vLyBmdW5jdGlvbiBwcmVwYXJlRm9vdG5vdGVzKGRpdmlzaW9uSFRNTE5vZGVzLCBjb250ZXh0KSB7XG4vLyAgIGNvbnN0IGZvb3Rub3RlUmVwbGFjZW1lbnRNYXAgPSB7fTtcbi8vXG4vLyAgIGRpdmlzaW9uSFRNTE5vZGVzLmZvckVhY2goKGRpdmlzaW9uSFRNTE5vZGUpID0+IHtcbi8vICAgICBkaXZpc2lvbkhUTUxOb2RlLnByZXBhcmVGb290bm90ZXMoZm9vdG5vdGVSZXBsYWNlbWVudE1hcCwgY29udGV4dCk7XG4vLyAgIH0pO1xuLy9cbi8vICAgcmV0dXJuIGZvb3Rub3RlUmVwbGFjZW1lbnRNYXA7XG4vLyB9XG4vL1xuLy8gZXhwb3J0IGRlZmF1bHQge1xuLy8gICBwb3N0UHJvY2Vzc1xuLy8gfSJdLCJuYW1lcyI6WyJjb250ZW50c0RpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUiLCJkaXZpc2lvbkhUTUxOb2Rlc0Zyb21Ob2RlIiwiZm9vdG5vdGVIVE1MTm9kZUZyb21Ob2RlIiwiZm9vdG5vdGVMaW5rSFRNTE5vZGVzRnJvbU5vZGUiLCJmb290bm90ZXNEaXJlY3RpdmVIVE1MTm9kZUZyb21Ob2RlIiwiZm9vdG5vdGVzSFRNTE5vZGVzRnJvbU5vZGUiLCJoZWFkaW5nSFRNTE5vZGVzRnJvbU5vZGUiLCJwYWdlTnVtYmVyRGlyZWN0aXZlSFRNTE5vZGVGcm9tTm9kZSIsImZvb3Rub3RlSFRNTE5vZGVRdWVyeSIsIlF1ZXJ5IiwiZnJvbUV4cHJlc3Npb25TdHJpbmciLCJpZ25vcmVEaXJlY3RpdmVIVE1MTm9kZVF1ZXJ5IiwiY29udGVudHNEaXJlY3RpdmVIVE1MTm9kZVF1ZXJ5IiwiZm9vdG5vdGVzRGlyZWN0aXZlSFRNTE5vZGVRdWVyeSIsInBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZVF1ZXJ5IiwiaGVhZGluZ0hUTUxOb2Rlc1F1ZXJ5IiwiZGl2aXNpb25IVE1MTm9kZXNRdWVyeSIsImZvb3Rub3Rlc0hUTUxOb2Rlc1F1ZXJ5IiwiZm9vdG5vdGVMaW5rSFRNTE5vZGVzUXVlcnkiLCJub2RlIiwiZm9vdG5vdGVIVE1MTm9kZSIsIm5vZGVGcm9tTm9kZUFuZFF1ZXJ5IiwiY29udGVudHNEaXJlY3RpdmVIVE1MTm9kZSIsImZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlIiwicGFnZU51bWJlckRpcmVjdGl2ZUhUTUxOb2RlIiwiaGVhZGluZ0hUTUxOb2RlcyIsIm5vZGVzRnJvbU5vZGVBbmRRdWVyeSIsImRpdmlzaW9uSFRNTE5vZGVzIiwiZm9vdG5vdGVzSFRNTE5vZGVzIiwibGlua0hUTUxOb2RlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBc0JnQkEsaUNBQWlDO2VBQWpDQTs7SUEwQ2hCLE9BU0U7ZUFURixTQVdBLDREQUE0RDtTQUM1RCxpRkFBaUY7U0FDakYsZ0VBQWdFO1NBQ2hFLEVBQUU7U0FDRiw0RUFBNEU7U0FDNUUsRUFBRTtTQUNGLHlFQUF5RTtTQUN6RSxFQUFFO1NBQ0YsZ0RBQWdEO1NBQ2hELEVBQUU7U0FDRiw2Q0FBNkM7U0FDN0MsSUFBSTtTQUNKLEVBQUU7U0FDRixrREFBa0Q7U0FDbEQsMEJBQTBCO1NBQzFCLDhCQUE4QjtTQUM5QixFQUFFO1NBQ0YsNkJBQTZCO1NBQzdCLGlCQUFpQjtTQUNqQixRQUFRO1NBQ1IsRUFBRTtTQUNGLHNEQUFzRDtTQUN0RCx5REFBeUQ7U0FDekQsUUFBUTtTQUNSLEVBQUU7U0FDRiwrQkFBK0I7U0FDL0IsRUFBRTtTQUNGLDBCQUEwQjtTQUMxQixJQUFJO1NBQ0osRUFBRTtTQUNGLHFEQUFxRDtTQUNyRCxtREFBbUQ7U0FDbkQscUZBQXFGO1NBQ3JGLEVBQUU7U0FDRiww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
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaHRtbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgUXVlcnkgfSBmcm9tIFwib2NjYW0tcXVlcnlcIjtcblxuaW1wb3J0IHsgbm9kZUZyb21Ob2RlQW5kUXVlcnksIG5vZGVzRnJvbU5vZGVBbmRRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgaW5kZXhEaXJlY3RpdmVIVE1MTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvL2luZGV4RGlyZWN0aXZlXCIpLFxuICAgICAgY29udGVudHNEaXJlY3RpdmVIVE1MTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvL2NvbnRlbnRzRGlyZWN0aXZlXCIpLFxuICAgICAgZm9vdG5vdGVzRGlyZWN0aXZlSFRNTE5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL2Zvb3Rub3Rlc0RpcmVjdGl2ZVwiKSxcbiAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvL3BhZ2VOdW1iZXJEaXJlY3RpdmVcIiksXG4gICAgICBodG1sTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uLypcIiksXG4gICAgICBoZWFkaW5nSFRNTE5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi8vcHJpbWFyeUhlYWRpbmd8c2Vjb25kYXJ5SGVhZGluZ3x0ZXJ0aWFyeUhlYWRpbmd8dGVydGlhcnlIZWFkaW5nXCIpLFxuICAgICAgZGl2aXNpb25IVE1MTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2h0bWwvZGl2aXNpb25cIiksXG4gICAgICBmb290bm90ZUhUTUxOb2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvZGl2aXNpb24vZm9vdG5vdGVcIiksXG4gICAgICBmb290bm90ZXNIVE1MTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiLy9mb290bm90ZVwiKSxcbiAgICAgIGZvb3Rub3RlTGlua0hUTUxOb2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvL2Zvb3Rub3RlTGlua1wiKSxcbiAgICAgIG5lc3RlZEZvb3Rub3RlTGlua0hUTUxOb2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvL2Zvb3Rub3RlLy9mb290bm90ZUxpbmtcIik7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleERpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBpbmRleERpcmVjdGl2ZUhUTUxOb2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgaW5kZXhEaXJlY3RpdmVIVE1MTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gaW5kZXhEaXJlY3RpdmVIVE1MTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRzRGlyZWN0aXZlSFRNTE5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGNvbnRlbnRzRGlyZWN0aXZlSFRNTE5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBjb250ZW50c0RpcmVjdGl2ZUhUTUxOb2RlUXVlcnkpO1xuXG4gIHJldHVybiBjb250ZW50c0RpcmVjdGl2ZUhUTUxOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9vdG5vdGVzRGlyZWN0aXZlSFRNTE5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgZm9vdG5vdGVzRGlyZWN0aXZlSFRNTE5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFnZU51bWJlckRpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBwYWdlTnVtYmVyRGlyZWN0aXZlSFRNTE5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBwYWdlTnVtYmVyRGlyZWN0aXZlSFRNTE5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIHBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh0bWxOb2Rlc0Zyb21Ob2RlKG5vZGUsIGh0bWxOb2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBodG1sTm9kZXNRdWVyeSwgaHRtbE5vZGVzKTtcblxuICByZXR1cm4gaHRtbE5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGVhZGluZ0hUTUxOb2Rlc0Zyb21Ob2RlKG5vZGUsIGhlYWRpbmdIVE1MTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgaGVhZGluZ0hUTUxOb2Rlc1F1ZXJ5LCBoZWFkaW5nSFRNTE5vZGVzKTtcblxuICByZXR1cm4gaGVhZGluZ0hUTUxOb2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpdmlzaW9uSFRNTE5vZGVzRnJvbU5vZGUobm9kZSwgZGl2aXNpb25IVE1MTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgZGl2aXNpb25IVE1MTm9kZXNRdWVyeSwgZGl2aXNpb25IVE1MTm9kZXMpO1xuXG4gIHJldHVybiBkaXZpc2lvbkhUTUxOb2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvb3Rub3RlSFRNTE5vZGVzRnJvbU5vZGUobm9kZSwgZm9vdG5vdGVIVE1MTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgZm9vdG5vdGVIVE1MTm9kZXNRdWVyeSwgZm9vdG5vdGVIVE1MTm9kZXMpO1xuXG4gIHJldHVybiBmb290bm90ZUhUTUxOb2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvb3Rub3Rlc0hUTUxOb2Rlc0Zyb21Ob2RlKG5vZGUsIGZvb3Rub3Rlc0hUTUxOb2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBmb290bm90ZXNIVE1MTm9kZXNRdWVyeSwgZm9vdG5vdGVzSFRNTE5vZGVzKTtcblxuICByZXR1cm4gZm9vdG5vdGVzSFRNTE5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9vdG5vdGVMaW5rSFRNTE5vZGVzRnJvbU5vZGUobm9kZSwgbGlua0hUTUxOb2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBmb290bm90ZUxpbmtIVE1MTm9kZXNRdWVyeSwgbGlua0hUTUxOb2Rlcyk7XG5cbiAgcmV0dXJuIGxpbmtIVE1MTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXN0ZWRGb290bm90ZUxpbmtIVE1MTm9kZXNGcm9tTm9kZShub2RlLCBuZXN0ZWRGb290bm90ZUxpbmtIVE1MTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgbmVzdGVkRm9vdG5vdGVMaW5rSFRNTE5vZGVzUXVlcnksIG5lc3RlZEZvb3Rub3RlTGlua0hUTUxOb2Rlcyk7XG5cbiAgcmV0dXJuIG5lc3RlZEZvb3Rub3RlTGlua0hUTUxOb2Rlcztcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBpbmRleERpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUsXG4gIGNvbnRlbnRzRGlyZWN0aXZlSFRNTE5vZGVGcm9tTm9kZSxcbiAgZm9vdG5vdGVzRGlyZWN0aXZlSFRNTE5vZGVGcm9tTm9kZSxcbiAgcGFnZU51bWJlckRpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUsXG4gIGh0bWxOb2Rlc0Zyb21Ob2RlLFxuICBoZWFkaW5nSFRNTE5vZGVzRnJvbU5vZGUsXG4gIGRpdmlzaW9uSFRNTE5vZGVzRnJvbU5vZGUsXG4gIGZvb3Rub3RlSFRNTE5vZGVzRnJvbU5vZGUsXG4gIGZvb3Rub3Rlc0hUTUxOb2Rlc0Zyb21Ob2RlLFxuICBmb290bm90ZUxpbmtIVE1MTm9kZXNGcm9tTm9kZSxcbiAgbmVzdGVkRm9vdG5vdGVMaW5rSFRNTE5vZGVzRnJvbU5vZGVcbn07XG4iXSwibmFtZXMiOlsiY29udGVudHNEaXJlY3RpdmVIVE1MTm9kZUZyb21Ob2RlIiwiZGl2aXNpb25IVE1MTm9kZXNGcm9tTm9kZSIsImZvb3Rub3RlSFRNTE5vZGVzRnJvbU5vZGUiLCJmb290bm90ZUxpbmtIVE1MTm9kZXNGcm9tTm9kZSIsImZvb3Rub3Rlc0RpcmVjdGl2ZUhUTUxOb2RlRnJvbU5vZGUiLCJmb290bm90ZXNIVE1MTm9kZXNGcm9tTm9kZSIsImhlYWRpbmdIVE1MTm9kZXNGcm9tTm9kZSIsImh0bWxOb2Rlc0Zyb21Ob2RlIiwiaW5kZXhEaXJlY3RpdmVIVE1MTm9kZUZyb21Ob2RlIiwibmVzdGVkRm9vdG5vdGVMaW5rSFRNTE5vZGVzRnJvbU5vZGUiLCJwYWdlTnVtYmVyRGlyZWN0aXZlSFRNTE5vZGVGcm9tTm9kZSIsImluZGV4RGlyZWN0aXZlSFRNTE5vZGVRdWVyeSIsIlF1ZXJ5IiwiZnJvbUV4cHJlc3Npb25TdHJpbmciLCJjb250ZW50c0RpcmVjdGl2ZUhUTUxOb2RlUXVlcnkiLCJmb290bm90ZXNEaXJlY3RpdmVIVE1MTm9kZVF1ZXJ5IiwicGFnZU51bWJlckRpcmVjdGl2ZUhUTUxOb2RlUXVlcnkiLCJodG1sTm9kZXNRdWVyeSIsImhlYWRpbmdIVE1MTm9kZXNRdWVyeSIsImRpdmlzaW9uSFRNTE5vZGVzUXVlcnkiLCJmb290bm90ZUhUTUxOb2Rlc1F1ZXJ5IiwiZm9vdG5vdGVzSFRNTE5vZGVzUXVlcnkiLCJmb290bm90ZUxpbmtIVE1MTm9kZXNRdWVyeSIsIm5lc3RlZEZvb3Rub3RlTGlua0hUTUxOb2Rlc1F1ZXJ5Iiwibm9kZSIsImluZGV4RGlyZWN0aXZlSFRNTE5vZGUiLCJub2RlRnJvbU5vZGVBbmRRdWVyeSIsImNvbnRlbnRzRGlyZWN0aXZlSFRNTE5vZGUiLCJmb290bm90ZXNEaXJlY3RpdmVIVE1MTm9kZSIsInBhZ2VOdW1iZXJEaXJlY3RpdmVIVE1MTm9kZSIsImh0bWxOb2RlcyIsIm5vZGVzRnJvbU5vZGVBbmRRdWVyeSIsImhlYWRpbmdIVE1MTm9kZXMiLCJkaXZpc2lvbkhUTUxOb2RlcyIsImZvb3Rub3RlSFRNTE5vZGVzIiwiZm9vdG5vdGVzSFRNTE5vZGVzIiwibGlua0hUTUxOb2RlcyIsIm5lc3RlZEZvb3Rub3RlTGlua0hUTUxOb2RlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBd0JnQkEsaUNBQWlDO2VBQWpDQTs7SUE0RGhCLE9BWUU7ZUFaRjs7SUE5QmdCQyx5QkFBeUI7ZUFBekJBOztJQU1BQyx5QkFBeUI7ZUFBekJBOztJQVlBQyw2QkFBNkI7ZUFBN0JBOztJQTFDQUMsa0NBQWtDO2VBQWxDQTs7SUFvQ0FDLDBCQUEwQjtlQUExQkE7O0lBbEJBQyx3QkFBd0I7ZUFBeEJBOztJQU5BQyxpQkFBaUI7ZUFBakJBOztJQXhCQUMsOEJBQThCO2VBQTlCQTs7SUE0REFDLG1DQUFtQztlQUFuQ0E7O0lBMUNBQyxtQ0FBbUM7ZUFBbkNBOzs7MEJBbENNO3FCQUVzQztBQUU1RCxJQUFNQyw4QkFBOEJDLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDLHFCQUN6REMsaUNBQWlDRixpQkFBSyxDQUFDQyxvQkFBb0IsQ0FBQyx3QkFDNURFLGtDQUFrQ0gsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsaUNBQzdERyxtQ0FBbUNKLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDLDBCQUM5REksaUJBQWlCTCxpQkFBSyxDQUFDQyxvQkFBb0IsQ0FBQyxnQkFDNUNLLHdCQUF3Qk4saUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsc0VBQ25ETSx5QkFBeUJQLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDLG1CQUNwRE8seUJBQXlCUixpQkFBSyxDQUFDQyxvQkFBb0IsQ0FBQyx1QkFDcERRLDBCQUEwQlQsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsZUFDckRTLDZCQUE2QlYsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsbUJBQ3hEVSxtQ0FBbUNYLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDO0FBRTdELFNBQVNMLCtCQUErQmdCLElBQUk7SUFDakQsSUFBTUMseUJBQXlCQyxJQUFBQSwyQkFBb0IsRUFBQ0YsTUFBTWI7SUFFMUQsT0FBT2M7QUFDVDtBQUVPLFNBQVN6QixrQ0FBa0N3QixJQUFJO0lBQ3BELElBQU1HLDRCQUE0QkQsSUFBQUEsMkJBQW9CLEVBQUNGLE1BQU1WO0lBRTdELE9BQU9hO0FBQ1Q7QUFFTyxTQUFTdkIsbUNBQW1Db0IsSUFBSTtJQUNyRCxJQUFNSSw2QkFBNkJGLElBQUFBLDJCQUFvQixFQUFDRixNQUFNVDtJQUU5RCxPQUFPYTtBQUNUO0FBRU8sU0FBU2xCLG9DQUFvQ2MsSUFBSTtJQUN0RCxJQUFNSyw4QkFBOEJILElBQUFBLDJCQUFvQixFQUFDRixNQUFNUjtJQUUvRCxPQUFPYTtBQUNUO0FBRU8sU0FBU3RCLGtCQUFrQmlCLElBQUk7UUFBRU0sWUFBQUEsaUVBQVksRUFBRTtJQUNwREMsSUFBQUEsNEJBQXFCLEVBQUNQLE1BQU1QLGdCQUFnQmE7SUFFNUMsT0FBT0E7QUFDVDtBQUVPLFNBQVN4Qix5QkFBeUJrQixJQUFJO1FBQUVRLG1CQUFBQSxpRUFBbUIsRUFBRTtJQUNsRUQsSUFBQUEsNEJBQXFCLEVBQUNQLE1BQU1OLHVCQUF1QmM7SUFFbkQsT0FBT0E7QUFDVDtBQUVPLFNBQVMvQiwwQkFBMEJ1QixJQUFJO1FBQUVTLG9CQUFBQSxpRUFBb0IsRUFBRTtJQUNwRUYsSUFBQUEsNEJBQXFCLEVBQUNQLE1BQU1MLHdCQUF3QmM7SUFFcEQsT0FBT0E7QUFDVDtBQUVPLFNBQVMvQiwwQkFBMEJzQixJQUFJO1FBQUVVLG9CQUFBQSxpRUFBb0IsRUFBRTtJQUNwRUgsSUFBQUEsNEJBQXFCLEVBQUNQLE1BQU1KLHdCQUF3QmM7SUFFcEQsT0FBT0E7QUFDVDtBQUVPLFNBQVM3QiwyQkFBMkJtQixJQUFJO1FBQUVXLHFCQUFBQSxpRUFBcUIsRUFBRTtJQUN0RUosSUFBQUEsNEJBQXFCLEVBQUNQLE1BQU1ILHlCQUF5QmM7SUFFckQsT0FBT0E7QUFDVDtBQUVPLFNBQVNoQyw4QkFBOEJxQixJQUFJO1FBQUVZLGdCQUFBQSxpRUFBZ0IsRUFBRTtJQUNwRUwsSUFBQUEsNEJBQXFCLEVBQUNQLE1BQU1GLDRCQUE0QmM7SUFFeEQsT0FBT0E7QUFDVDtBQUVPLFNBQVMzQixvQ0FBb0NlLElBQUk7UUFBRWEsOEJBQUFBLGlFQUE4QixFQUFFO0lBQ3hGTixJQUFBQSw0QkFBcUIsRUFBQ1AsTUFBTUQsa0NBQWtDYztJQUU5RCxPQUFPQTtBQUNUO0lBRUEsV0FBZTtJQUNiN0IsZ0NBQUFBO0lBQ0FSLG1DQUFBQTtJQUNBSSxvQ0FBQUE7SUFDQU0scUNBQUFBO0lBQ0FILG1CQUFBQTtJQUNBRCwwQkFBQUE7SUFDQUwsMkJBQUFBO0lBQ0FDLDJCQUFBQTtJQUNBRyw0QkFBQUE7SUFDQUYsK0JBQUFBO0lBQ0FNLHFDQUFBQTtBQUNGIn0=
@@ -2,12 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "indexMapFromDivisionMarkdownNodes", {
5
+ Object.defineProperty(exports, "indexMapFromIndexDirectiveHTMLNodeAndDivisionHTMLNodes", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return indexMapFromDivisionMarkdownNodes;
8
+ return indexMapFromIndexDirectiveHTMLNodeAndDivisionHTMLNodes;
9
9
  }
10
10
  });
11
+ var _occamdom = require("occam-dom");
11
12
  var _necessary = require("necessary");
12
13
  var _match = /*#__PURE__*/ _interop_require_default(require("../index/match"));
13
14
  var _object = require("../utilities/object");
@@ -42,9 +43,9 @@ function _unsupported_iterable_to_array(o, minLen) {
42
43
  if (n === "Map" || n === "Set") return Array.from(n);
43
44
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
44
45
  }
45
- var compress = _necessary.arrayUtilities.compress;
46
- function indexMapFromDivisionMarkdownNodes(divisionMarkdownNodes, context) {
47
- var indexMap = createIndexMap(divisionMarkdownNodes, context);
46
+ var compress = _necessary.arrayUtilities.compress, isLessThan = _occamdom.nodeUtilities.isLessThan, isAncestorOf = _occamdom.nodeUtilities.isAncestorOf;
47
+ function indexMapFromIndexDirectiveHTMLNodeAndDivisionHTMLNodes(indexDirectiveHTMLNode, divisionHTMLNodes, context) {
48
+ var indexMap = createIndexMap(indexDirectiveHTMLNode, divisionHTMLNodes, context);
48
49
  removeIgnoredWords(indexMap, context);
49
50
  adjustMixedPlurals(indexMap, context);
50
51
  adjustPluralPlurals(indexMap, context);
@@ -54,21 +55,27 @@ function indexMapFromDivisionMarkdownNodes(divisionMarkdownNodes, context) {
54
55
  compressPageNumbers(indexMap);
55
56
  return indexMap;
56
57
  }
57
- function createIndexMap(divisionMarkdownNodes, context) {
58
+ function createIndexMap(indexDirectiveHTMLNode, divisionHTMLNodes, context) {
58
59
  var indexMap = {};
59
60
  var indexOptions = context.indexOptions, phrases = indexOptions.phrases, indexMatches = phrases.map(function(phrase) {
60
61
  var indexMatch = _match.default.fromPhrase(phrase);
61
62
  return indexMatch;
62
63
  });
63
- divisionMarkdownNodes.forEach(function(divisionMarkdownNode) {
64
- var pageNumber = divisionMarkdownNode.getPageNumber();
65
- if (pageNumber !== null) {
66
- var plainText = divisionMarkdownNode.asPlainText(context), wordsOrPhrases = wordsOrPhrasesFromPlainTextAndIndexMatches(plainText, indexMatches);
67
- wordsOrPhrases.forEach(function(wordOrPhrase) {
68
- var pageNumbers = indexMap.hasOwnProperty(wordOrPhrase) ? indexMap[wordOrPhrase] : [];
69
- indexMap[wordOrPhrase] = pageNumbers;
70
- pageNumbers.push(pageNumber);
71
- });
64
+ divisionHTMLNodes.forEach(function(divisionHTMLNode) {
65
+ var divisionHTMLNodeLessThanIndexDirectiveHTMLNode = isLessThan(divisionHTMLNode, indexDirectiveHTMLNode);
66
+ if (divisionHTMLNodeLessThanIndexDirectiveHTMLNode) {
67
+ var divisionHTMLNodeAncestorOfIndexDirectiveHTMLNode = isAncestorOf(divisionHTMLNode, indexDirectiveHTMLNode);
68
+ if (!divisionHTMLNodeAncestorOfIndexDirectiveHTMLNode) {
69
+ var pageNumber = divisionHTMLNode.pageNumber();
70
+ 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] : [];
74
+ indexMap[wordOrPhrase] = pageNumbers;
75
+ pageNumbers.push(pageNumber);
76
+ });
77
+ }
78
+ }
72
79
  }
73
80
  });
74
81
  return indexMap;
@@ -255,4 +262,4 @@ function pluralToSingular(text) {
255
262
  return text;
256
263
  }
257
264
 
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgSW5kZXhNYXRjaCBmcm9tIFwiLi4vaW5kZXgvbWF0Y2hcIjtcblxuaW1wb3J0IHsgZm9yRWFjaCwgbWFwS2V5cywgbWFwVmFsdWVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9vYmplY3RcIjtcbmltcG9ydCB7IFlfU1RSSU5HLCBTX1NUUklORywgSUVTX1NUUklORywgRU1QVFlfU1RSSU5HLCBTSU5HTEVfU1BBQ0UsIFBBUkVOVEhFU0lTRURfU19TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgY29tcHJlc3MgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5kZXhNYXBGcm9tRGl2aXNpb25NYXJrZG93bk5vZGVzKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICBjb25zdCBpbmRleE1hcCA9IGNyZWF0ZUluZGV4TWFwKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCk7XG5cbiAgcmVtb3ZlSWdub3JlZFdvcmRzKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFBsdXJhbFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFNpbmd1bGFyUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgYWRqdXN0UHJvcGVyTm91bnMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluZGV4TWFwKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICBjb25zdCBpbmRleE1hcCA9IHt9O1xuXG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHBocmFzZXMgfSA9IGluZGV4T3B0aW9ucyxcbiAgICAgICAgaW5kZXhNYXRjaGVzID0gcGhyYXNlcy5tYXAoKHBocmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGluZGV4TWF0Y2ggPSBJbmRleE1hdGNoLmZyb21QaHJhc2UocGhyYXNlKTtcblxuICAgICAgICAgIHJldHVybiBpbmRleE1hdGNoO1xuICAgICAgICB9KTtcblxuICBkaXZpc2lvbk1hcmtkb3duTm9kZXMuZm9yRWFjaCgoZGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgICBjb25zdCBwYWdlTnVtYmVyID0gZGl2aXNpb25NYXJrZG93bk5vZGUuZ2V0UGFnZU51bWJlcigpO1xuXG4gICAgaWYgKHBhZ2VOdW1iZXIgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHBsYWluVGV4dCA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmFzUGxhaW5UZXh0KGNvbnRleHQpLFxuICAgICAgICAgICAgd29yZHNPclBocmFzZXMgPSB3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMocGxhaW5UZXh0LCBpbmRleE1hdGNoZXMpO1xuXG4gICAgICB3b3Jkc09yUGhyYXNlcy5mb3JFYWNoKCh3b3JkT3JQaHJhc2UpID0+IHtcbiAgICAgICAgY29uc3QgcGFnZU51bWJlcnMgPSBpbmRleE1hcC5oYXNPd25Qcm9wZXJ0eSh3b3JkT3JQaHJhc2UpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4TWFwW3dvcmRPclBocmFzZV0gOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXTtcblxuICAgICAgICBpbmRleE1hcFt3b3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG5cbiAgICAgICAgcGFnZU51bWJlcnMucHVzaChwYWdlTnVtYmVyKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGluZGV4TWFwO1xufVxuXG5mdW5jdGlvbiB3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMocGxhaW5UZXh0LCBpbmRleE1hdGNoZXMpIHtcbiAgbGV0IHdvcmRzT3JQaHJhc2VzO1xuXG4gIHBsYWluVGV4dCA9IHByZXBhcmVQbGFpblRleHQocGxhaW5UZXh0KTsgIC8vL1xuXG4gIGluZGV4TWF0Y2hlcy5mb3JFYWNoKChpbmRleE1hdGNoKSA9PiB7XG4gICAgcGxhaW5UZXh0ID0gaW5kZXhNYXRjaC5yZXBsYWNlKHBsYWluVGV4dCk7XG4gIH0pO1xuXG4gIHdvcmRzT3JQaHJhc2VzID0gcGxhaW5UZXh0LnNwbGl0KFNJTkdMRV9TUEFDRSk7XG5cbiAgd29yZHNPclBocmFzZXMgPSB3b3Jkc09yUGhyYXNlcy5tYXAoKHdvcmRPclBocmFzZSkgPT4ge1xuICAgIHdvcmRPclBocmFzZSA9IEluZGV4TWF0Y2gucmV2ZXJ0KHdvcmRPclBocmFzZSk7ICAvLy9cblxuICAgIHJldHVybiB3b3JkT3JQaHJhc2U7XG4gIH0pO1xuXG4gIHJldHVybiB3b3Jkc09yUGhyYXNlcztcbn1cblxuZnVuY3Rpb24gY29tcHJlc3NQYWdlTnVtYmVycyhpbmRleE1hcCkge1xuICBtYXBWYWx1ZXMoaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29tcHJlc3MocGFnZU51bWJlcnMsIChwYWdlTnVtYmVyQSwgcGFnZU51bWJlckIpID0+IHtcbiAgICAgIGlmIChwYWdlTnVtYmVyQSA9PT0gcGFnZU51bWJlckIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBwYWdlTnVtYmVycy5zb3J0KChwYWdlTnVtYmVyQiwgcGFnZU51bWJlckEpID0+IHtcbiAgICAgIHBhZ2VOdW1iZXJBID0gTnVtYmVyKHBhZ2VOdW1iZXJBKTsgIC8vL1xuXG4gICAgICBwYWdlTnVtYmVyQiA9IE51bWJlcihwYWdlTnVtYmVyQik7ICAvLy9cblxuICAgICAgY29uc3QgZGlmZmVyZW5jZSA9IHBhZ2VOdW1iZXJCIC0gcGFnZU51bWJlckE7XG5cbiAgICAgIHJldHVybiBkaWZmZXJlbmNlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhZ2VOdW1iZXJzO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlSWdub3JlZFdvcmRzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IGlnbm9yZWRXb3JkcyB9ID0gaW5kZXhPcHRpb25zO1xuXG4gIGlnbm9yZWRXb3Jkcy5mb3JFYWNoKChpZ25vcmVkV29yZCkgPT4ge1xuICAgIGRlbGV0ZSBpbmRleE1hcFtpZ25vcmVkV29yZF07XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RQcm9wZXJOb3VucyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IGluZGV4T3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBwcm9wZXJOb3VucyB9ID0gaW5kZXhPcHRpb25zO1xuXG4gIGNvbnN0IGxvd2VyQ2FzZVByb3Blck5vdW5zID0gcHJvcGVyTm91bnMubWFwKChwcm9wZXJOb3VuKSA9PiB7XG4gICAgY29uc3QgbG93ZXJDYXNlUHJvcGVyTm91biA9IHByb3Blck5vdW4udG9Mb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBsb3dlckNhc2VQcm9wZXJOb3VuO1xuICB9KTtcblxuICBtYXBLZXlzKGluZGV4TWFwLCAod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgY29uc3QgaW5kZXggPSBsb3dlckNhc2VQcm9wZXJOb3Vucy5maW5kSW5kZXgoKGxvd2VyQ2FzZVByb3Blck5hbWUpID0+IHtcbiAgICAgIGlmIChsb3dlckNhc2VQcm9wZXJOYW1lID09PSB3b3JkT3JQaHJhc2UpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgY29uc3QgcHJvcGVyTm91biA9IHByb3Blck5vdW5zW2luZGV4XTtcblxuICAgICAgd29yZE9yUGhyYXNlID0gcHJvcGVyTm91bjsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiB3b3JkT3JQaHJhc2U7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlUGxhaW5UZXh0KHBsYWluVGV4dCkge1xuICBwbGFpblRleHQgPSBwbGFpblRleHQudG9Mb3dlckNhc2UoKTsgIC8vL1xuXG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC5yZXBsYWNlKC9bXmEtejAtOVxcLSBdL2csIFNJTkdMRV9TUEFDRSk7XG5cbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnJlcGxhY2UoL1xccysvZywgU0lOR0xFX1NQQUNFKTtcblxuICBwbGFpblRleHQgPSBwbGFpblRleHQucmVwbGFjZSgvXlxccyt8XFxzKyQvZywgRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gcGxhaW5UZXh0O1xufVxuXG5mdW5jdGlvbiBhZGp1c3RBY3JvbnltcyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IGluZGV4T3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBhY3JvbnltcyB9ID0gaW5kZXhPcHRpb25zO1xuXG4gIGNvbnN0IGxvd2VyQ2FzZUFjcm9ueW1zID0gYWNyb255bXMubWFwKChhY3JvbnltKSA9PiB7XG4gICAgY29uc3QgbG93ZXJDYXNlQWNyb255bSA9IGFjcm9ueW0udG9Mb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBsb3dlckNhc2VBY3JvbnltO1xuICB9KTtcblxuICBtYXBLZXlzKGluZGV4TWFwLCAod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgY29uc3QgaW5kZXggPSBsb3dlckNhc2VBY3Jvbnltcy5maW5kSW5kZXgoKGxvd2VyQ2FzZVByb3Blck5hbWUpID0+IHtcbiAgICAgIGlmIChsb3dlckNhc2VQcm9wZXJOYW1lID09PSB3b3JkT3JQaHJhc2UpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgY29uc3QgYWNyb255bSA9IGFjcm9ueW1zW2luZGV4XTtcblxuICAgICAgd29yZE9yUGhyYXNlID0gYWNyb255bTsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiB3b3JkT3JQaHJhc2U7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgcGx1cmFscyB9ID0gaW5kZXhPcHRpb25zLFxuICAgICAgICBtaXhlZFBsdXJhbHMgPSByZWR1Y2VQbHVyYWxzKHBsdXJhbHMsIGlzTWl4ZWQpLFxuICAgICAgICBwbHVyYWxQbHVyYWxzID0gbWFwUGx1cmFscyhtaXhlZFBsdXJhbHMsIG1peGVkVG9QbHVyYWwpLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSBtYXBQbHVyYWxzKG1peGVkUGx1cmFscywgbWl4ZWRUb1Npbmd1bGFyKTtcblxuICBmb3JFYWNoKGluZGV4TWFwLCAod29yZE9yUGhyYXNlLCBwYWdlTnVtYmVycykgPT4ge1xuICAgIGNvbnN0IHNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlID0gc2luZ3VsYXJQbHVyYWxzLmluY2x1ZGVzKHdvcmRPclBocmFzZSk7XG5cbiAgICBpZiAoc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UpIHtcbiAgICAgIGNvbnN0IHNpbmd1bGFyV29yZE9yUGhyYXNlID0gd29yZE9yUGhyYXNlLCAgLy8vXG4gICAgICAgICAgICBzaW5ndWxhclBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgIG1peGVkV29yZE9yUGhyYXNlID0gc2luZ3VsYXJUb01peGVkKHNpbmd1bGFyV29yZE9yUGhyYXNlKSxcbiAgICAgICAgICAgIG1peGVkUGFnZU51bWJlcnMgPSBpbmRleE1hcFttaXhlZFdvcmRPclBocmFzZV0gfHwgW107XG5cbiAgICAgIHBhZ2VOdW1iZXJzID0gW1xuICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzLFxuICAgICAgICAuLi5taXhlZFBhZ2VOdW1iZXJzXG4gICAgICBdO1xuXG4gICAgICBkZWxldGUgaW5kZXhNYXBbc2luZ3VsYXJXb3JkT3JQaHJhc2VdO1xuXG4gICAgICBpbmRleE1hcFttaXhlZFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG5cbiAgICBjb25zdCBwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBwbHVyYWxQbHVyYWxzLmluY2x1ZGVzKHdvcmRPclBocmFzZSk7XG5cbiAgICBpZiAocGx1cmFsUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlKSB7XG4gICAgICBjb25zdCBwbHVyYWxXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHBsdXJhbFBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgIG1peGVkV29yZE9yUGhyYXNlID0gcGx1cmFsVG9NaXhlZChwbHVyYWxXb3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgbWl4ZWRQYWdlTnVtYmVycyA9IGluZGV4TWFwW21peGVkV29yZE9yUGhyYXNlXSB8fCBbXTtcblxuICAgICAgcGFnZU51bWJlcnMgPSBbXG4gICAgICAgIC4uLnBsdXJhbFBhZ2VOdW1iZXJzLFxuICAgICAgICAuLi5taXhlZFBhZ2VOdW1iZXJzXG4gICAgICBdO1xuXG4gICAgICBkZWxldGUgaW5kZXhNYXBbcGx1cmFsV29yZE9yUGhyYXNlXTtcblxuICAgICAgaW5kZXhNYXBbbWl4ZWRXb3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0UGx1cmFsUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IGluZGV4T3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBwbHVyYWxzIH0gPSBpbmRleE9wdGlvbnMsXG4gICAgICAgIHBsdXJhbFBsdXJhbHMgPSByZWR1Y2VQbHVyYWxzKHBsdXJhbHMsIGlzUGx1cmFsKSxcbiAgICAgICAgc2luZ3VsYXJQbHVyYWxzID0gbWFwUGx1cmFscyhwbHVyYWxQbHVyYWxzLCBwbHVyYWxUb1Npbmd1bGFyKTtcblxuICBmb3JFYWNoKGluZGV4TWFwLCAod29yZE9yUGhyYXNlLCBwYWdlTnVtYmVycykgPT4ge1xuICAgIGNvbnN0IHNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlID0gc2luZ3VsYXJQbHVyYWxzLmluY2x1ZGVzKHdvcmRPclBocmFzZSk7XG5cbiAgICBpZiAoc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UpIHtcbiAgICAgIGNvbnN0IHNpbmd1bGFyV29yZE9yUGhyYXNlID0gd29yZE9yUGhyYXNlLCAgLy8vXG4gICAgICAgICAgICBzaW5ndWxhclBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgIHBsdXJhbFdvcmRPclBocmFzZSA9IHNpbmd1bGFyVG9QbHVyYWwod29yZE9yUGhyYXNlKSxcbiAgICAgICAgICAgIHBsdXJhbFBhZ2VOdW1iZXJzID0gaW5kZXhNYXBbcGx1cmFsV29yZE9yUGhyYXNlXSB8fCBbXTtcblxuICAgICAgcGFnZU51bWJlcnMgPSBbXG4gICAgICAgIC4uLnNpbmd1bGFyUGFnZU51bWJlcnMsXG4gICAgICAgIC4uLnBsdXJhbFBhZ2VOdW1iZXJzXG4gICAgICBdO1xuXG4gICAgICBkZWxldGUgaW5kZXhNYXBbc2luZ3VsYXJXb3JkT3JQaHJhc2VdO1xuXG4gICAgICBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0U2luZ3VsYXJQbHVyYWxzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHBsdXJhbHMgfSA9IGluZGV4T3B0aW9ucyxcbiAgICAgICAgc2luZ3VsYXJQbHVyYWxzID0gcmVkdWNlUGx1cmFscyhwbHVyYWxzLCBpc1Npbmd1bGFyKSxcbiAgICAgICAgcGx1cmFsUGx1cmFscyA9IG1hcFBsdXJhbHMoc2luZ3VsYXJQbHVyYWxzLCBzaW5ndWxhclRvUGx1cmFsKTtcblxuICBmb3JFYWNoKGluZGV4TWFwLCAod29yZE9yUGhyYXNlLCBwYWdlTnVtYmVycykgPT4ge1xuICAgICAgY29uc3QgcGx1cmFsUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlID0gcGx1cmFsUGx1cmFscy5pbmNsdWRlcyh3b3JkT3JQaHJhc2UpO1xuXG4gICAgICBpZiAocGx1cmFsUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlKSB7XG4gICAgICAgIGNvbnN0IHNpbmd1bGFyV29yZE9yUGhyYXNlID0gcGx1cmFsVG9TaW5ndWxhcih3b3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgICBzaW5ndWxhclBhZ2VOdW1iZXJzID0gaW5kZXhNYXBbc2luZ3VsYXJXb3JkT3JQaHJhc2VdIHx8IFtdLFxuICAgICAgICAgICAgICBwbHVyYWxXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgICAgcGx1cmFsUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVyczsgIC8vL1xuXG4gICAgICAgIHBhZ2VOdW1iZXJzID0gW1xuICAgICAgICAgIC4uLnNpbmd1bGFyUGFnZU51bWJlcnMsXG4gICAgICAgICAgLi4ucGx1cmFsUGFnZU51bWJlcnNcbiAgICAgICAgXTtcblxuICAgICAgICBkZWxldGUgaW5kZXhNYXBbcGx1cmFsV29yZE9yUGhyYXNlXTtcblxuICAgICAgICBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlZHVjZVBsdXJhbHMocGx1cmFscywgY2FsbGJhY2spIHtcbiAgcGx1cmFscyA9IHBsdXJhbHMucmVkdWNlKChwbHVyYWxzLCBwbHVyYWwpID0+IHsgLy8vXG4gICAgY29uc3QgcmVzdWx0ID0gY2FsbGJhY2socGx1cmFsKTtcblxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHBsdXJhbHMucHVzaChwbHVyYWwpO1xuICAgIH1cblxuICAgIHJldHVybiBwbHVyYWxzO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIHBsdXJhbHM7XG59XG5cbmZ1bmN0aW9uIG1hcFBsdXJhbHMocGx1cmFscywgY2FsbGJhY2spIHtcbiAgcGx1cmFscyA9IHBsdXJhbHMubWFwKChwbHVyYWwpID0+IHsgLy8vXG4gICAgcGx1cmFsID0gY2FsbGJhY2socGx1cmFsKTtcblxuICAgIHJldHVybiBwbHVyYWw7XG4gIH0pO1xuXG4gIHJldHVybiBwbHVyYWxzO1xufVxuXG5mdW5jdGlvbiBpc1Npbmd1bGFyKHRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXRjaGVzID0gL1tecyldJC8udGVzdCh0ZXh0KSxcbiAgICAgICAgc2luZ3VsYXIgPSBpbmRleE1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBzaW5ndWxhcjtcbn1cblxuZnVuY3Rpb24gaXNQbHVyYWwodGV4dCkge1xuICBjb25zdCBpbmRleE1hdGNoZXMgPSAvKGllc3xzKSQvLnRlc3QodGV4dCksXG4gICAgICAgIHBsdXJhbCA9IGluZGV4TWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIHBsdXJhbDtcbn1cblxuZnVuY3Rpb24gaXNNaXhlZCh0ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWF0Y2hlcyA9IC9cXChzXFwpJC8udGVzdCh0ZXh0KSxcbiAgICAgICAgbWl4ZWQgPSBpbmRleE1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBtaXhlZDtcbn1cblxuZnVuY3Rpb24gbWl4ZWRUb1BsdXJhbCh0ZXh0KSB7XG4gIHRleHQgPSB0ZXh0IC8vL1xuICAgICAgICAgICAucmVwbGFjZSgvXFwoc1xcKSQvLCBTX1NUUklORyk7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmZ1bmN0aW9uIHBsdXJhbFRvTWl4ZWQodGV4dCkge1xuICB0ZXh0ID0gdGV4dCAvLy9cbiAgICAgICAgICAgLnJlcGxhY2UoL3MkLywgUEFSRU5USEVTSVNFRF9TX1NUUklORylcblxuICByZXR1cm4gdGV4dDtcbn1cblxuZnVuY3Rpb24gbWl4ZWRUb1Npbmd1bGFyKHRleHQpIHtcbiAgdGV4dCA9IHRleHQgLy8vXG4gICAgICAgICAgLnJlcGxhY2UoL1xcKHNcXCkkLywgRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gdGV4dDtcbn1cblxuZnVuY3Rpb24gc2luZ3VsYXJUb01peGVkKHRleHQpIHtcbiAgdGV4dCA9IGAke3RleHR9KHMpYDtcblxuICByZXR1cm4gdGV4dDtcbn1cblxuZnVuY3Rpb24gc2luZ3VsYXJUb1BsdXJhbCh0ZXh0KSB7XG4gIHRleHQgPSBgJHt0ZXh0fXNgIC8vL1xuICAgICAgICAgICAucmVwbGFjZSgveXMkLywgSUVTX1NUUklORyk7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmZ1bmN0aW9uIHBsdXJhbFRvU2luZ3VsYXIodGV4dCkge1xuICB0ZXh0ID0gdGV4dCAvLy9cbiAgICAgICAgICAgLnJlcGxhY2UoL2llcyQvLCBZX1NUUklORylcbiAgICAgICAgICAgLnJlcGxhY2UoL3MkLywgRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gdGV4dDtcbn1cbiJdLCJuYW1lcyI6WyJpbmRleE1hcEZyb21EaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJjb21wcmVzcyIsImFycmF5VXRpbGl0aWVzIiwiZGl2aXNpb25NYXJrZG93bk5vZGVzIiwiY29udGV4dCIsImluZGV4TWFwIiwiY3JlYXRlSW5kZXhNYXAiLCJyZW1vdmVJZ25vcmVkV29yZHMiLCJhZGp1c3RNaXhlZFBsdXJhbHMiLCJhZGp1c3RQbHVyYWxQbHVyYWxzIiwiYWRqdXN0U2luZ3VsYXJQbHVyYWxzIiwiYWRqdXN0UHJvcGVyTm91bnMiLCJhZGp1c3RBY3JvbnltcyIsImNvbXByZXNzUGFnZU51bWJlcnMiLCJpbmRleE9wdGlvbnMiLCJwaHJhc2VzIiwiaW5kZXhNYXRjaGVzIiwibWFwIiwicGhyYXNlIiwiaW5kZXhNYXRjaCIsIkluZGV4TWF0Y2giLCJmcm9tUGhyYXNlIiwiZm9yRWFjaCIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwicGFnZU51bWJlciIsImdldFBhZ2VOdW1iZXIiLCJwbGFpblRleHQiLCJhc1BsYWluVGV4dCIsIndvcmRzT3JQaHJhc2VzIiwid29yZHNPclBocmFzZXNGcm9tUGxhaW5UZXh0QW5kSW5kZXhNYXRjaGVzIiwid29yZE9yUGhyYXNlIiwicGFnZU51bWJlcnMiLCJoYXNPd25Qcm9wZXJ0eSIsInB1c2giLCJwcmVwYXJlUGxhaW5UZXh0IiwicmVwbGFjZSIsInNwbGl0IiwiU0lOR0xFX1NQQUNFIiwicmV2ZXJ0IiwibWFwVmFsdWVzIiwicGFnZU51bWJlckEiLCJwYWdlTnVtYmVyQiIsInNvcnQiLCJOdW1iZXIiLCJkaWZmZXJlbmNlIiwiaWdub3JlZFdvcmRzIiwiaWdub3JlZFdvcmQiLCJwcm9wZXJOb3VucyIsImxvd2VyQ2FzZVByb3Blck5vdW5zIiwicHJvcGVyTm91biIsImxvd2VyQ2FzZVByb3Blck5vdW4iLCJ0b0xvd2VyQ2FzZSIsIm1hcEtleXMiLCJpbmRleCIsImZpbmRJbmRleCIsImxvd2VyQ2FzZVByb3Blck5hbWUiLCJFTVBUWV9TVFJJTkciLCJhY3JvbnltcyIsImxvd2VyQ2FzZUFjcm9ueW1zIiwiYWNyb255bSIsImxvd2VyQ2FzZUFjcm9ueW0iLCJwbHVyYWxzIiwibWl4ZWRQbHVyYWxzIiwicmVkdWNlUGx1cmFscyIsImlzTWl4ZWQiLCJwbHVyYWxQbHVyYWxzIiwibWFwUGx1cmFscyIsIm1peGVkVG9QbHVyYWwiLCJzaW5ndWxhclBsdXJhbHMiLCJtaXhlZFRvU2luZ3VsYXIiLCJzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSIsImluY2x1ZGVzIiwic2luZ3VsYXJXb3JkT3JQaHJhc2UiLCJzaW5ndWxhclBhZ2VOdW1iZXJzIiwibWl4ZWRXb3JkT3JQaHJhc2UiLCJzaW5ndWxhclRvTWl4ZWQiLCJtaXhlZFBhZ2VOdW1iZXJzIiwicGx1cmFsUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlIiwicGx1cmFsV29yZE9yUGhyYXNlIiwicGx1cmFsUGFnZU51bWJlcnMiLCJwbHVyYWxUb01peGVkIiwiaXNQbHVyYWwiLCJwbHVyYWxUb1Npbmd1bGFyIiwic2luZ3VsYXJUb1BsdXJhbCIsImlzU2luZ3VsYXIiLCJjYWxsYmFjayIsInJlZHVjZSIsInBsdXJhbCIsInJlc3VsdCIsInRleHQiLCJ0ZXN0Iiwic2luZ3VsYXIiLCJtaXhlZCIsIlNfU1RSSU5HIiwiUEFSRU5USEVTSVNFRF9TX1NUUklORyIsIklFU19TVFJJTkciLCJZX1NUUklORyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV2dCQTs7O2VBQUFBOzs7eUJBVGU7NERBRVI7c0JBRXFCO3lCQUN1RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuRyxJQUFNLEFBQUVDLFdBQWFDLHlCQUFjLENBQTNCRDtBQUVELFNBQVNELGtDQUFrQ0cscUJBQXFCLEVBQUVDLE9BQU87SUFDOUUsSUFBTUMsV0FBV0MsZUFBZUgsdUJBQXVCQztJQUV2REcsbUJBQW1CRixVQUFVRDtJQUU3QkksbUJBQW1CSCxVQUFVRDtJQUU3Qkssb0JBQW9CSixVQUFVRDtJQUU5Qk0sc0JBQXNCTCxVQUFVRDtJQUVoQ08sa0JBQWtCTixVQUFVRDtJQUU1QlEsZUFBZVAsVUFBVUQ7SUFFekJTLG9CQUFvQlI7SUFFcEIsT0FBT0E7QUFDVDtBQUVBLFNBQVNDLGVBQWVILHFCQUFxQixFQUFFQyxPQUFPO0lBQ3BELElBQU1DLFdBQVcsQ0FBQztJQUVsQixJQUFNLEFBQUVTLGVBQWlCVixRQUFqQlUsY0FDRixBQUFFQyxVQUFZRCxhQUFaQyxTQUNGQyxlQUFlRCxRQUFR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
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tZG9tXCJcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgSW5kZXhNYXRjaCBmcm9tIFwiLi4vaW5kZXgvbWF0Y2hcIjtcblxuaW1wb3J0IHsgZm9yRWFjaCwgbWFwS2V5cywgbWFwVmFsdWVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9vYmplY3RcIjtcbmltcG9ydCB7IFlfU1RSSU5HLCBTX1NUUklORywgSUVTX1NUUklORywgRU1QVFlfU1RSSU5HLCBTSU5HTEVfU1BBQ0UsIFBBUkVOVEhFU0lTRURfU19TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgY29tcHJlc3MgfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyBpc0xlc3NUaGFuLCBpc0FuY2VzdG9yT2YgfSA9IG5vZGVVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleE1hcEZyb21JbmRleERpcmVjdGl2ZUhUTUxOb2RlQW5kRGl2aXNpb25IVE1MTm9kZXMoaW5kZXhEaXJlY3RpdmVIVE1MTm9kZSwgZGl2aXNpb25IVE1MTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXAgPSBjcmVhdGVJbmRleE1hcChpbmRleERpcmVjdGl2ZUhUTUxOb2RlLCBkaXZpc2lvbkhUTUxOb2RlcywgY29udGV4dCk7XG5cbiAgcmVtb3ZlSWdub3JlZFdvcmRzKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFBsdXJhbFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFNpbmd1bGFyUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgYWRqdXN0UHJvcGVyTm91bnMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluZGV4TWFwKGluZGV4RGlyZWN0aXZlSFRNTE5vZGUsIGRpdmlzaW9uSFRNTE5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWFwID0ge307XG5cbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgcGhyYXNlcyB9ID0gaW5kZXhPcHRpb25zLFxuICAgICAgICBpbmRleE1hdGNoZXMgPSBwaHJhc2VzLm1hcCgocGhyYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgaW5kZXhNYXRjaCA9IEluZGV4TWF0Y2guZnJvbVBocmFzZShwaHJhc2UpO1xuXG4gICAgICAgICAgcmV0dXJuIGluZGV4TWF0Y2g7XG4gICAgICAgIH0pO1xuXG4gIGRpdmlzaW9uSFRNTE5vZGVzLmZvckVhY2goKGRpdmlzaW9uSFRNTE5vZGUpID0+IHtcbiAgICBjb25zdCBkaXZpc2lvbkhUTUxOb2RlTGVzc1RoYW5JbmRleERpcmVjdGl2ZUhUTUxOb2RlID0gaXNMZXNzVGhhbihkaXZpc2lvbkhUTUxOb2RlLCBpbmRleERpcmVjdGl2ZUhUTUxOb2RlKTtcblxuICAgIGlmIChkaXZpc2lvbkhUTUxOb2RlTGVzc1RoYW5JbmRleERpcmVjdGl2ZUhUTUxOb2RlKSB7XG4gICAgICBjb25zdCBkaXZpc2lvbkhUTUxOb2RlQW5jZXN0b3JPZkluZGV4RGlyZWN0aXZlSFRNTE5vZGUgPSBpc0FuY2VzdG9yT2YoZGl2aXNpb25IVE1MTm9kZSwgaW5kZXhEaXJlY3RpdmVIVE1MTm9kZSk7XG5cbiAgICAgIGlmICghZGl2aXNpb25IVE1MTm9kZUFuY2VzdG9yT2ZJbmRleERpcmVjdGl2ZUhUTUxOb2RlKSB7XG4gICAgICAgIGNvbnN0IHBhZ2VOdW1iZXIgPSBkaXZpc2lvbkhUTUxOb2RlLnBhZ2VOdW1iZXIoKTtcblxuICAgICAgICBpZiAocGFnZU51bWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHBsYWluVGV4dCA9IGRpdmlzaW9uSFRNTE5vZGUuYXNQbGFpblRleHQoY29udGV4dCksXG4gICAgICAgICAgICAgICAgd29yZHNPclBocmFzZXMgPSB3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMocGxhaW5UZXh0LCBpbmRleE1hdGNoZXMpO1xuXG4gICAgICAgICAgd29yZHNPclBocmFzZXMuZm9yRWFjaCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYWdlTnVtYmVycyA9IGluZGV4TWFwLmhhc093blByb3BlcnR5KHdvcmRPclBocmFzZSkgP1xuICAgICAgICAgICAgICAgICAgICBpbmRleE1hcFt3b3JkT3JQaHJhc2VdIDpcbiAgICAgICAgICAgICAgICAgICAgICBbXTtcblxuICAgICAgICAgICAgaW5kZXhNYXBbd29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuXG4gICAgICAgICAgICBwYWdlTnVtYmVycy5wdXNoKHBhZ2VOdW1iZXIpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIHdvcmRzT3JQaHJhc2VzRnJvbVBsYWluVGV4dEFuZEluZGV4TWF0Y2hlcyhwbGFpblRleHQsIGluZGV4TWF0Y2hlcykge1xuICBsZXQgd29yZHNPclBocmFzZXM7XG5cbiAgcGxhaW5UZXh0ID0gcHJlcGFyZVBsYWluVGV4dChwbGFpblRleHQpOyAgLy8vXG5cbiAgaW5kZXhNYXRjaGVzLmZvckVhY2goKGluZGV4TWF0Y2gpID0+IHtcbiAgICBwbGFpblRleHQgPSBpbmRleE1hdGNoLnJlcGxhY2UocGxhaW5UZXh0KTtcbiAgfSk7XG5cbiAgd29yZHNPclBocmFzZXMgPSBwbGFpblRleHQuc3BsaXQoU0lOR0xFX1NQQUNFKTtcblxuICB3b3Jkc09yUGhyYXNlcyA9IHdvcmRzT3JQaHJhc2VzLm1hcCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgd29yZE9yUGhyYXNlID0gSW5kZXhNYXRjaC5yZXZlcnQod29yZE9yUGhyYXNlKTsgIC8vL1xuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHdvcmRzT3JQaHJhc2VzO1xufVxuXG5mdW5jdGlvbiBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKSB7XG4gIG1hcFZhbHVlcyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICBjb21wcmVzcyhwYWdlTnVtYmVycywgKHBhZ2VOdW1iZXJBLCBwYWdlTnVtYmVyQikgPT4ge1xuICAgICAgaWYgKHBhZ2VOdW1iZXJBID09PSBwYWdlTnVtYmVyQikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHBhZ2VOdW1iZXJzLnNvcnQoKHBhZ2VOdW1iZXJCLCBwYWdlTnVtYmVyQSkgPT4ge1xuICAgICAgcGFnZU51bWJlckEgPSBOdW1iZXIocGFnZU51bWJlckEpOyAgLy8vXG5cbiAgICAgIHBhZ2VOdW1iZXJCID0gTnVtYmVyKHBhZ2VOdW1iZXJCKTsgIC8vL1xuXG4gICAgICBjb25zdCBkaWZmZXJlbmNlID0gcGFnZU51bWJlckIgLSBwYWdlTnVtYmVyQTtcblxuICAgICAgcmV0dXJuIGRpZmZlcmVuY2U7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFnZU51bWJlcnM7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVJZ25vcmVkV29yZHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgaWdub3JlZFdvcmRzIH0gPSBpbmRleE9wdGlvbnM7XG5cbiAgaWdub3JlZFdvcmRzLmZvckVhY2goKGlnbm9yZWRXb3JkKSA9PiB7XG4gICAgZGVsZXRlIGluZGV4TWFwW2lnbm9yZWRXb3JkXTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkanVzdFByb3Blck5vdW5zKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHByb3Blck5vdW5zIH0gPSBpbmRleE9wdGlvbnM7XG5cbiAgY29uc3QgbG93ZXJDYXNlUHJvcGVyTm91bnMgPSBwcm9wZXJOb3Vucy5tYXAoKHByb3Blck5vdW4pID0+IHtcbiAgICBjb25zdCBsb3dlckNhc2VQcm9wZXJOb3VuID0gcHJvcGVyTm91bi50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGxvd2VyQ2FzZVByb3Blck5vdW47XG4gIH0pO1xuXG4gIG1hcEtleXMoaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UpID0+IHtcbiAgICBjb25zdCBpbmRleCA9IGxvd2VyQ2FzZVByb3Blck5vdW5zLmZpbmRJbmRleCgobG93ZXJDYXNlUHJvcGVyTmFtZSkgPT4ge1xuICAgICAgaWYgKGxvd2VyQ2FzZVByb3Blck5hbWUgPT09IHdvcmRPclBocmFzZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb25zdCBwcm9wZXJOb3VuID0gcHJvcGVyTm91bnNbaW5kZXhdO1xuXG4gICAgICB3b3JkT3JQaHJhc2UgPSBwcm9wZXJOb3VuOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHByZXBhcmVQbGFpblRleHQocGxhaW5UZXh0KSB7XG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC50b0xvd2VyQ2FzZSgpOyAgLy8vXG5cbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnJlcGxhY2UoL1teYS16MC05XFwtIF0vZywgU0lOR0xFX1NQQUNFKTtcblxuICBwbGFpblRleHQgPSBwbGFpblRleHQucmVwbGFjZSgvXFxzKy9nLCBTSU5HTEVfU1BBQ0UpO1xuXG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBwbGFpblRleHQ7XG59XG5cbmZ1bmN0aW9uIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IGFjcm9ueW1zIH0gPSBpbmRleE9wdGlvbnM7XG5cbiAgY29uc3QgbG93ZXJDYXNlQWNyb255bXMgPSBhY3Jvbnltcy5tYXAoKGFjcm9ueW0pID0+IHtcbiAgICBjb25zdCBsb3dlckNhc2VBY3JvbnltID0gYWNyb255bS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGxvd2VyQ2FzZUFjcm9ueW07XG4gIH0pO1xuXG4gIG1hcEtleXMoaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UpID0+IHtcbiAgICBjb25zdCBpbmRleCA9IGxvd2VyQ2FzZUFjcm9ueW1zLmZpbmRJbmRleCgobG93ZXJDYXNlUHJvcGVyTmFtZSkgPT4ge1xuICAgICAgaWYgKGxvd2VyQ2FzZVByb3Blck5hbWUgPT09IHdvcmRPclBocmFzZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb25zdCBhY3JvbnltID0gYWNyb255bXNbaW5kZXhdO1xuXG4gICAgICB3b3JkT3JQaHJhc2UgPSBhY3JvbnltOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkanVzdE1peGVkUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IGluZGV4T3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBwbHVyYWxzIH0gPSBpbmRleE9wdGlvbnMsXG4gICAgICAgIG1peGVkUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNNaXhlZCksXG4gICAgICAgIHBsdXJhbFBsdXJhbHMgPSBtYXBQbHVyYWxzKG1peGVkUGx1cmFscywgbWl4ZWRUb1BsdXJhbCksXG4gICAgICAgIHNpbmd1bGFyUGx1cmFscyA9IG1hcFBsdXJhbHMobWl4ZWRQbHVyYWxzLCBtaXhlZFRvU2luZ3VsYXIpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29uc3Qgc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgbWl4ZWRXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclRvTWl4ZWQoc2luZ3VsYXJXb3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgbWl4ZWRQYWdlTnVtYmVycyA9IGluZGV4TWFwW21peGVkV29yZE9yUGhyYXNlXSB8fCBbXTtcblxuICAgICAgcGFnZU51bWJlcnMgPSBbXG4gICAgICAgIC4uLnNpbmd1bGFyUGFnZU51bWJlcnMsXG4gICAgICAgIC4uLm1peGVkUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV07XG5cbiAgICAgIGluZGV4TWFwW21peGVkV29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuICAgIH1cblxuICAgIGNvbnN0IHBsdXJhbFBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSA9IHBsdXJhbFBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UpIHtcbiAgICAgIGNvbnN0IHBsdXJhbFdvcmRPclBocmFzZSA9IHdvcmRPclBocmFzZSwgIC8vL1xuICAgICAgICAgICAgcGx1cmFsUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgbWl4ZWRXb3JkT3JQaHJhc2UgPSBwbHVyYWxUb01peGVkKHBsdXJhbFdvcmRPclBocmFzZSksXG4gICAgICAgICAgICBtaXhlZFBhZ2VOdW1iZXJzID0gaW5kZXhNYXBbbWl4ZWRXb3JkT3JQaHJhc2VdIHx8IFtdO1xuXG4gICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgLi4ucGx1cmFsUGFnZU51bWJlcnMsXG4gICAgICAgIC4uLm1peGVkUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdO1xuXG4gICAgICBpbmRleE1hcFttaXhlZFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RQbHVyYWxQbHVyYWxzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHBsdXJhbHMgfSA9IGluZGV4T3B0aW9ucyxcbiAgICAgICAgcGx1cmFsUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNQbHVyYWwpLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSBtYXBQbHVyYWxzKHBsdXJhbFBsdXJhbHMsIHBsdXJhbFRvU2luZ3VsYXIpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29uc3Qgc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgcGx1cmFsV29yZE9yUGhyYXNlID0gc2luZ3VsYXJUb1BsdXJhbCh3b3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgcGx1cmFsUGFnZU51bWJlcnMgPSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdIHx8IFtdO1xuXG4gICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgLi4uc2luZ3VsYXJQYWdlTnVtYmVycyxcbiAgICAgICAgLi4ucGx1cmFsUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV07XG5cbiAgICAgIGluZGV4TWFwW3BsdXJhbFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RTaW5ndWxhclBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgcGx1cmFscyB9ID0gaW5kZXhPcHRpb25zLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSByZWR1Y2VQbHVyYWxzKHBsdXJhbHMsIGlzU2luZ3VsYXIpLFxuICAgICAgICBwbHVyYWxQbHVyYWxzID0gbWFwUGx1cmFscyhzaW5ndWxhclBsdXJhbHMsIHNpbmd1bGFyVG9QbHVyYWwpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgICBjb25zdCBwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBwbHVyYWxQbHVyYWxzLmluY2x1ZGVzKHdvcmRPclBocmFzZSk7XG5cbiAgICAgIGlmIChwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UpIHtcbiAgICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSBwbHVyYWxUb1Npbmd1bGFyKHdvcmRPclBocmFzZSksXG4gICAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV0gfHwgW10sXG4gICAgICAgICAgICAgIHBsdXJhbFdvcmRPclBocmFzZSA9IHdvcmRPclBocmFzZSwgIC8vL1xuICAgICAgICAgICAgICBwbHVyYWxQYWdlTnVtYmVycyA9IHBhZ2VOdW1iZXJzOyAgLy8vXG5cbiAgICAgICAgcGFnZU51bWJlcnMgPSBbXG4gICAgICAgICAgLi4uc2luZ3VsYXJQYWdlTnVtYmVycyxcbiAgICAgICAgICAuLi5wbHVyYWxQYWdlTnVtYmVyc1xuICAgICAgICBdO1xuXG4gICAgICAgIGRlbGV0ZSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdO1xuXG4gICAgICAgIGluZGV4TWFwW3Npbmd1bGFyV29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuICAgICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVkdWNlUGx1cmFscyhwbHVyYWxzLCBjYWxsYmFjaykge1xuICBwbHVyYWxzID0gcGx1cmFscy5yZWR1Y2UoKHBsdXJhbHMsIHBsdXJhbCkgPT4geyAvLy9cbiAgICBjb25zdCByZXN1bHQgPSBjYWxsYmFjayhwbHVyYWwpO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgcGx1cmFscy5wdXNoKHBsdXJhbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBsdXJhbHM7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gcGx1cmFscztcbn1cblxuZnVuY3Rpb24gbWFwUGx1cmFscyhwbHVyYWxzLCBjYWxsYmFjaykge1xuICBwbHVyYWxzID0gcGx1cmFscy5tYXAoKHBsdXJhbCkgPT4geyAvLy9cbiAgICBwbHVyYWwgPSBjYWxsYmFjayhwbHVyYWwpO1xuXG4gICAgcmV0dXJuIHBsdXJhbDtcbiAgfSk7XG5cbiAgcmV0dXJuIHBsdXJhbHM7XG59XG5cbmZ1bmN0aW9uIGlzU2luZ3VsYXIodGV4dCkge1xuICBjb25zdCBpbmRleE1hdGNoZXMgPSAvW15zKV0kLy50ZXN0KHRleHQpLFxuICAgICAgICBzaW5ndWxhciA9IGluZGV4TWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIHNpbmd1bGFyO1xufVxuXG5mdW5jdGlvbiBpc1BsdXJhbCh0ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWF0Y2hlcyA9IC8oaWVzfHMpJC8udGVzdCh0ZXh0KSxcbiAgICAgICAgcGx1cmFsID0gaW5kZXhNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gcGx1cmFsO1xufVxuXG5mdW5jdGlvbiBpc01peGVkKHRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXRjaGVzID0gL1xcKHNcXCkkLy50ZXN0KHRleHQpLFxuICAgICAgICBtaXhlZCA9IGluZGV4TWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIG1peGVkO1xufVxuXG5mdW5jdGlvbiBtaXhlZFRvUGx1cmFsKHRleHQpIHtcbiAgdGV4dCA9IHRleHQgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC9cXChzXFwpJC8sIFNfU1RSSU5HKTtcblxuICByZXR1cm4gdGV4dDtcbn1cblxuZnVuY3Rpb24gcGx1cmFsVG9NaXhlZCh0ZXh0KSB7XG4gIHRleHQgPSB0ZXh0IC8vL1xuICAgICAgICAgICAucmVwbGFjZSgvcyQvLCBQQVJFTlRIRVNJU0VEX1NfU1RSSU5HKVxuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBtaXhlZFRvU2luZ3VsYXIodGV4dCkge1xuICB0ZXh0ID0gdGV4dCAvLy9cbiAgICAgICAgICAucmVwbGFjZSgvXFwoc1xcKSQvLCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBzaW5ndWxhclRvTWl4ZWQodGV4dCkge1xuICB0ZXh0ID0gYCR7dGV4dH0ocylgO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBzaW5ndWxhclRvUGx1cmFsKHRleHQpIHtcbiAgdGV4dCA9IGAke3RleHR9c2AgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC95cyQvLCBJRVNfU1RSSU5HKTtcblxuICByZXR1cm4gdGV4dDtcbn1cblxuZnVuY3Rpb24gcGx1cmFsVG9TaW5ndWxhcih0ZXh0KSB7XG4gIHRleHQgPSB0ZXh0IC8vL1xuICAgICAgICAgICAucmVwbGFjZSgvaWVzJC8sIFlfU1RSSU5HKVxuICAgICAgICAgICAucmVwbGFjZSgvcyQvLCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuIl0sIm5hbWVzIjpbImluZGV4TWFwRnJvbUluZGV4RGlyZWN0aXZlSFRNTE5vZGVBbmREaXZpc2lvbkhUTUxOb2RlcyIsImNvbXByZXNzIiwiYXJyYXlVdGlsaXRpZXMiLCJpc0xlc3NUaGFuIiwibm9kZVV0aWxpdGllcyIsImlzQW5jZXN0b3JPZiIsImluZGV4RGlyZWN0aXZlSFRNTE5vZGUiLCJkaXZpc2lvbkhUTUxOb2RlcyIsImNvbnRleHQiLCJpbmRleE1hcCIsImNyZWF0ZUluZGV4TWFwIiwicmVtb3ZlSWdub3JlZFdvcmRzIiwiYWRqdXN0TWl4ZWRQbHVyYWxzIiwiYWRqdXN0UGx1cmFsUGx1cmFscyIsImFkanVzdFNpbmd1bGFyUGx1cmFscyIsImFkanVzdFByb3Blck5vdW5zIiwiYWRqdXN0QWNyb255bXMiLCJjb21wcmVzc1BhZ2VOdW1iZXJzIiwiaW5kZXhPcHRpb25zIiwicGhyYXNlcyIsImluZGV4TWF0Y2hlcyIsIm1hcCIsInBocmFzZSIsImluZGV4TWF0Y2giLCJJbmRleE1hdGNoIiwiZnJvbVBocmFzZSIsImZvckVhY2giLCJkaXZpc2lvbkhUTUxOb2RlIiwiZGl2aXNpb25IVE1MTm9kZUxlc3NUaGFuSW5kZXhEaXJlY3RpdmVIVE1MTm9kZSIsImRpdmlzaW9uSFRNTE5vZGVBbmNlc3Rvck9mSW5kZXhEaXJlY3RpdmVIVE1MTm9kZSIsInBhZ2VOdW1iZXIiLCJwbGFpblRleHQiLCJhc1BsYWluVGV4dCIsIndvcmRzT3JQaHJhc2VzIiwid29yZHNPclBocmFzZXNGcm9tUGxhaW5UZXh0QW5kSW5kZXhNYXRjaGVzIiwid29yZE9yUGhyYXNlIiwicGFnZU51bWJlcnMiLCJoYXNPd25Qcm9wZXJ0eSIsInB1c2giLCJwcmVwYXJlUGxhaW5UZXh0IiwicmVwbGFjZSIsInNwbGl0IiwiU0lOR0xFX1NQQUNFIiwicmV2ZXJ0IiwibWFwVmFsdWVzIiwicGFnZU51bWJlckEiLCJwYWdlTnVtYmVyQiIsInNvcnQiLCJOdW1iZXIiLCJkaWZmZXJlbmNlIiwiaWdub3JlZFdvcmRzIiwiaWdub3JlZFdvcmQiLCJwcm9wZXJOb3VucyIsImxvd2VyQ2FzZVByb3Blck5vdW5zIiwicHJvcGVyTm91biIsImxvd2VyQ2FzZVByb3Blck5vdW4iLCJ0b0xvd2VyQ2FzZSIsIm1hcEtleXMiLCJpbmRleCIsImZpbmRJbmRleCIsImxvd2VyQ2FzZVByb3Blck5hbWUiLCJFTVBUWV9TVFJJTkciLCJhY3JvbnltcyIsImxvd2VyQ2FzZUFjcm9ueW1zIiwiYWNyb255bSIsImxvd2VyQ2FzZUFjcm9ueW0iLCJwbHVyYWxzIiwibWl4ZWRQbHVyYWxzIiwicmVkdWNlUGx1cmFscyIsImlzTWl4ZWQiLCJwbHVyYWxQbHVyYWxzIiwibWFwUGx1cmFscyIsIm1peGVkVG9QbHVyYWwiLCJzaW5ndWxhclBsdXJhbHMiLCJtaXhlZFRvU2luZ3VsYXIiLCJzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSIsImluY2x1ZGVzIiwic2luZ3VsYXJXb3JkT3JQaHJhc2UiLCJzaW5ndWxhclBhZ2VOdW1iZXJzIiwibWl4ZWRXb3JkT3JQaHJhc2UiLCJzaW5ndWxhclRvTWl4ZWQiLCJtaXhlZFBhZ2VOdW1iZXJzIiwicGx1cmFsUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlIiwicGx1cmFsV29yZE9yUGhyYXNlIiwicGx1cmFsUGFnZU51bWJlcnMiLCJwbHVyYWxUb01peGVkIiwiaXNQbHVyYWwiLCJwbHVyYWxUb1Npbmd1bGFyIiwic2luZ3VsYXJUb1BsdXJhbCIsImlzU2luZ3VsYXIiLCJjYWxsYmFjayIsInJlZHVjZSIsInBsdXJhbCIsInJlc3VsdCIsInRleHQiLCJ0ZXN0Iiwic2luZ3VsYXIiLCJtaXhlZCIsIlNfU1RSSU5HIiwiUEFSRU5USEVTSVNFRF9TX1NUUklORyIsIklFU19TVFJJTkciLCJZX1NUUklORyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBYWdCQTs7O2VBQUFBOzs7d0JBWGM7eUJBQ0M7NERBRVI7c0JBRXFCO3lCQUN1RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuRyxJQUFNLEFBQUVDLFdBQWFDLHlCQUFjLENBQTNCRCxVQUNBRSxhQUE2QkMsdUJBQWEsQ0FBMUNELFlBQVlFLGVBQWlCRCx1QkFBYSxDQUE5QkM7QUFFYixTQUFTTCx1REFBdURNLHNCQUFzQixFQUFFQyxpQkFBaUIsRUFBRUMsT0FBTztJQUN2SCxJQUFNQyxXQUFXQyxlQUFlSix3QkFBd0JDLG1CQUFtQkM7SUFFM0VHLG1CQUFtQkYsVUFBVUQ7SUFFN0JJLG1CQUFtQkgsVUFBVUQ7SUFFN0JLLG9CQUFvQkosVUFBVUQ7SUFFOUJNLHNCQUFzQkwsVUFBVUQ7SUFFaENPLGtCQUFrQk4sVUFBVUQ7SUFFNUJRLGVBQWVQLFVBQVVEO0lBRXpCUyxvQkFBb0JSO0lBRXBCLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTQyxlQUFlSixzQkFBc0IsRUFBRUMsaUJBQWlCLEVBQUVDLE9BQU87SUFDeEUsSUFBTUMsV0FBVyxDQUFDO0lBRWxCLElBQU0sQUFBRVMsZUFBaUJWLFFBQWpCVSxjQUNGLEFBQUVDLFVBQVlELGFBQVpDLFNBQ0ZDLGVBQWVELFFBQVFFLEdBQUcsQ0FBQyxTQUFDQztRQUMxQixJQUFNQyxhQUFhQyxjQUFVLENBQUNDLFVBQVUsQ0FBQ0g7UUFFekMsT0FBT0M7SUFDVDtJQUVOaEIsa0JBQWtCbUIsT0FBTyxDQUFDLFNBQUNDO1FBQ3pCLElBQU1DLGlEQUFpRHpCLFdBQVd3QixrQkFBa0JyQjtRQUVwRixJQUFJc0IsZ0RBQWdEO1lBQ2xELElBQU1DLG1EQUFtRHhCLGFBQWFzQixrQkFBa0JyQjtZQUV4RixJQUFJLENBQUN1QixrREFBa0Q7Z0JBQ3JELElBQU1DLGFBQWFILGlCQUFpQkcsVUFBVTtnQkFFOUMsSUFBSUEsZUFBZSxNQUFNO29CQUN2QixJQUFNQyxZQUFZSixpQkFBaUJLLFdBQVcsQ0FBQ3hCLFVBQ3pDeUIsaUJBQWlCQywyQ0FBMkNILFdBQVdYO29CQUU3RWEsZUFBZVAsT0FBTyxDQUFDLFNBQUNTO3dCQUN0QixJQUFNQyxjQUFjM0IsU0FBUzRCLGNBQWMsQ0FBQ0YsZ0JBQ3BDMUIsUUFBUSxDQUFDMEIsYUFBYSxHQUNwQixFQUFFO3dCQUVaMUIsUUFBUSxDQUFDMEIsYUFBYSxHQUFHQzt3QkFFekJBLFlBQVlFLElBQUksQ0FBQ1I7b0JBQ25CO2dCQUNGO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBT3JCO0FBQ1Q7QUFFQSxTQUFTeUIsMkNBQTJDSCxTQUFTLEVBQUVYLFlBQVk7SUFDekUsSUFBSWE7SUFFSkYsWUFBWVEsaUJBQWlCUixZQUFhLEdBQUc7SUFFN0NYLGFBQWFNLE9BQU8sQ0FBQyxTQUFDSDtRQUNwQlEsWUFBWVIsV0FBV2lCLE9BQU8sQ0FBQ1Q7SUFDakM7SUFFQUUsaUJBQWlCRixVQUFVVSxLQUFLLENBQUNDLHVCQUFZO0lBRTdDVCxpQkFBaUJBLGVBQWVaLEdBQUcsQ0FBQyxTQUFDYztRQUNuQ0EsZUFBZVgsY0FBVSxDQUFDbUIsTUFBTSxDQUFDUixlQUFnQixHQUFHO1FBRXBELE9BQU9BO0lBQ1Q7SUFFQSxPQUFPRjtBQUNUO0FBRUEsU0FBU2hCLG9CQUFvQlIsUUFBUTtJQUNuQ21DLElBQUFBLGlCQUFTLEVBQUNuQyxVQUFVLFNBQUMwQixjQUFjQztRQUNqQ25DLFNBQVNtQyxhQUFhLFNBQUNTLGFBQWFDO1lBQ2xDLElBQUlELGdCQUFnQkMsYUFBYTtnQkFDL0IsT0FBTztZQUNUO1FBQ0Y7UUFFQVYsWUFBWVcsSUFBSSxDQUFDLFNBQUNELGFBQWFEO1lBQzdCQSxjQUFjRyxPQUFPSCxjQUFlLEdBQUc7WUFFdkNDLGNBQWNFLE9BQU9GLGNBQWUsR0FBRztZQUV2QyxJQUFNRyxhQUFhSCxjQUFjRDtZQUVqQyxPQUFPSTtRQUNUO1FBRUEsT0FBT2I7SUFDVDtBQUNGO0FBRUEsU0FBU3pCLG1CQUFtQkYsUUFBUSxFQUFFRCxPQUFPO0lBQzNDLElBQU0sQUFBRVUsZUFBaUJWLFFBQWpCVSxjQUNGLEFBQUVnQyxlQUFpQmhDLGFBQWpCZ0M7SUFFUkEsYUFBYXhCLE9BQU8sQ0FBQyxTQUFDeUI7UUFDcEIsT0FBTzFDLFFBQVEsQ0FBQzBDLFlBQVk7SUFDOUI7QUFDRjtBQUVBLFNBQVNwQyxrQkFBa0JOLFFBQVEsRUFBRUQsT0FBTztJQUMxQyxJQUFNLEFBQUVVLGVBQWlCVixRQUFqQlUsY0FDRixBQUFFa0MsY0FBZ0JsQyxhQUFoQmtDO0lBRVIsSUFBTUMsdUJBQXVCRCxZQUFZL0IsR0FBRyxDQUFDLFNBQUNpQztRQUM1QyxJQUFNQyxzQkFBc0JELFdBQVdFLFdBQVc7UUFFbEQsT0FBT0Q7SUFDVDtJQUVBRSxJQUFBQSxlQUFPLEVBQUNoRCxVQUFVLFNBQUMwQjtRQUNqQixJQUFNdUIsUUFBUUwscUJBQXFCTSxTQUFTLENBQUMsU0FBQ0M7WUFDNUMsSUFBSUEsd0JBQXdCekIsY0FBYztnQkFDeEMsT0FBTztZQUNUO1FBQ0Y7UUFFQSxJQUFJdUIsUUFBUSxDQUFDLEdBQUc7WUFDZCxJQUFNSixhQUFhRixXQUFXLENBQUNNLE1BQU07WUFFckN2QixlQUFlbUIsWUFBYSxHQUFHO1FBQ2pDO1FBRUEsT0FBT25CO0lBQ1Q7QUFDRjtBQUVBLFNBQVNJLGlCQUFpQlIsU0FBUztJQUNqQ0EsWUFBWUEsVUFBVXlCLFdBQVcsSUFBSyxHQUFHO0lBRXpDekIsWUFBWUEsVUFBVVMsT0FBTyxDQUFDLGlCQUFpQkUsdUJBQVk7SUFFM0RYLFlBQVlBLFVBQVVTLE9BQU8sQ0FBQyxRQUFRRSx1QkFBWTtJQUVsRFgsWUFBWUEsVUFBVVMsT0FBTyxDQUFDLGNBQWNxQix1QkFBWTtJQUV4RCxPQUFPOUI7QUFDVDtBQUVBLFNBQVNmLGVBQWVQLFFBQVEsRUFBRUQsT0FBTztJQUN2QyxJQUFNLEFBQUVVLGVBQWlCVixRQUFqQlUsY0FDRixBQUFFNEMsV0FBYTVDLGFBQWI0QztJQUVSLElBQU1DLG9CQUFvQkQsU0FBU3pDLEdBQUcsQ0FBQyxTQUFDMkM7UUFDdEMsSUFBTUMsbUJBQW1CRCxRQUFRUixXQUFXO1FBRTVDLE9BQU9TO0lBQ1Q7SUFFQVIsSUFBQUEsZUFBTyxFQUFDaEQsVUFBVSxTQUFDMEI7UUFDakIsSUFBTXVCLFFBQVFLLGtCQUFrQkosU0FBUyxDQUFDLFNBQUNDO1lBQ3pDLElBQUlBLHdCQUF3QnpCLGNBQWM7Z0JBQ3hDLE9BQU87WUFDVDtRQUNGO1FBRUEsSUFBSXVCLFFBQVEsQ0FBQyxHQUFHO1lBQ2QsSUFBTU0sVUFBVUYsUUFBUSxDQUFDSixNQUFNO1lBRS9CdkIsZUFBZTZCLFNBQVUsR0FBRztRQUM5QjtRQUVBLE9BQU83QjtJQUNUO0FBQ0Y7QUFFQSxTQUFTdkIsbUJBQW1CSCxRQUFRLEVBQUVELE9BQU87SUFDM0MsSUFBTSxBQUFFVSxlQUFpQlYsUUFBakJVLGNBQ0YsQUFBRWdELFVBQVloRCxhQUFaZ0QsU0FDRkMsZUFBZUMsY0FBY0YsU0FBU0csVUFDdENDLGdCQUFnQkMsV0FBV0osY0FBY0ssZ0JBQ3pDQyxrQkFBa0JGLFdBQVdKLGNBQWNPO0lBRWpEaEQsSUFBQUEsZUFBTyxFQUFDakIsVUFBVSxTQUFDMEIsY0FBY0M7UUFDL0IsSUFBTXVDLHNDQUFzQ0YsZ0JBQWdCRyxRQUFRLENBQUN6QztRQUVyRSxJQUFJd0MscUNBQXFDO1lBQ3ZDLElBQU1FLHVCQUF1QjFDLGNBQ3ZCMkMsc0JBQXNCMUMsYUFDdEIyQyxvQkFBb0JDLGdCQUFnQkgsdUJBQ3BDSSxtQkFBbUJ4RSxRQUFRLENBQUNzRSxrQkFBa0IsSUFBSSxFQUFFO1lBRTFEM0MsY0FBYyxBQUNaLHFCQUFHMEMsNEJBQ0gscUJBQUdHO1lBR0wsT0FBT3hFLFFBQVEsQ0FBQ29FLHFCQUFxQjtZQUVyQ3BFLFFBQVEsQ0FBQ3NFLGtCQUFrQixHQUFHM0M7UUFDaEM7UUFFQSxJQUFNOEMsb0NBQW9DWixjQUFjTSxRQUFRLENBQUN6QztRQUVqRSxJQUFJK0MsbUNBQW1DO1lBQ3JDLElBQU1DLHFCQUFxQmhELGNBQ3JCaUQsb0JBQW9CaEQsYUFDcEIyQyxxQkFBb0JNLGNBQWNGLHFCQUNsQ0Ysb0JBQW1CeEUsUUFBUSxDQUFDc0UsbUJBQWtCLElBQUksRUFBRTtZQUUxRDNDLGNBQWMsQUFDWixxQkFBR2dELDBCQUNILHFCQUFHSDtZQUdMLE9BQU94RSxRQUFRLENBQUMwRSxtQkFBbUI7WUFFbkMxRSxRQUFRLENBQUNzRSxtQkFBa0IsR0FBRzNDO1FBQ2hDO0lBQ0Y7QUFDRjtBQUVBLFNBQVN2QixvQkFBb0JKLFFBQVEsRUFBRUQsT0FBTztJQUM1QyxJQUFNLEFBQUVVLGVBQWlCVixRQUFqQlUsY0FDRixBQUFFZ0QsVUFBWWhELGFBQVpnRCxTQUNGSSxnQkFBZ0JGLGNBQWNGLFNBQVNvQixXQUN2Q2Isa0JBQWtCRixXQUFXRCxlQUFlaUI7SUFFbEQ3RCxJQUFBQSxlQUFPLEVBQUNqQixVQUFVLFNBQUMwQixjQUFjQztRQUMvQixJQUFNdUMsc0NBQXNDRixnQkFBZ0JHLFFBQVEsQ0FBQ3pDO1FBRXJFLElBQUl3QyxxQ0FBcUM7WUFDdkMsSUFBTUUsdUJBQXVCMUMsY0FDdkIyQyxzQkFBc0IxQyxhQUN0QitDLHFCQUFxQkssaUJBQWlCckQsZUFDdENpRCxvQkFBb0IzRSxRQUFRLENBQUMwRSxtQkFBbUIsSUFBSSxFQUFFO1lBRTVEL0MsY0FBYyxBQUNaLHFCQUFHMEMsNEJBQ0gscUJBQUdNO1lBR0wsT0FBTzNFLFFBQVEsQ0FBQ29FLHFCQUFxQjtZQUVyQ3BFLFFBQVEsQ0FBQzBFLG1CQUFtQixHQUFHL0M7UUFDakM7SUFDRjtBQUNGO0FBRUEsU0FBU3RCLHNCQUFzQkwsUUFBUSxFQUFFRCxPQUFPO0lBQzlDLElBQU0sQUFBRVUsZUFBaUJWLFFBQWpCVSxjQUNGLEFBQUVnRCxVQUFZaEQsYUFBWmdELFNBQ0ZPLGtCQUFrQkwsY0FBY0YsU0FBU3VCLGFBQ3pDbkIsZ0JBQWdCQyxXQUFXRSxpQkFBaUJlO0lBRWxEOUQsSUFBQUEsZUFBTyxFQUFDakIsVUFBVSxTQUFDMEIsY0FBY0M7UUFDN0IsSUFBTThDLG9DQUFvQ1osY0FBY00sUUFBUSxDQUFDekM7UUFFakUsSUFBSStDLG1DQUFtQztZQUNyQyxJQUFNTCx1QkFBdUJVLGlCQUFpQnBELGVBQ3hDMkMsc0JBQXNCckUsUUFBUSxDQUFDb0UscUJBQXFCLElBQUksRUFBRSxFQUMxRE0scUJBQXFCaEQsY0FDckJpRCxvQkFBb0JoRCxhQUFjLEdBQUc7WUFFM0NBLGNBQWMsQUFDWixxQkFBRzBDLDRCQUNILHFCQUFHTTtZQUdMLE9BQU8zRSxRQUFRLENBQUMwRSxtQkFBbUI7WUFFbkMxRSxRQUFRLENBQUNvRSxxQkFBcUIsR0FBR3pDO1FBQ25DO0lBQ0o7QUFDRjtBQUVBLFNBQVNnQyxjQUFjRixPQUFPLEVBQUV3QixRQUFRO0lBQ3RDeEIsVUFBVUEsUUFBUXlCLE1BQU0sQ0FBQyxTQUFDekIsU0FBUzBCO1FBQ2pDLElBQU1DLFNBQVNILFNBQVNFO1FBRXhCLElBQUlDLFFBQVE7WUFDVjNCLFFBQVE1QixJQUFJLENBQUNzRDtRQUNmO1FBRUEsT0FBTzFCO0lBQ1QsR0FBRyxFQUFFO0lBRUwsT0FBT0E7QUFDVDtBQUVBLFNBQVNLLFdBQVdMLE9BQU8sRUFBRXdCLFFBQVE7SUFDbkN4QixVQUFVQSxRQUFRN0MsR0FBRyxDQUFDLFNBQUN1RTtRQUNyQkEsU0FBU0YsU0FBU0U7UUFFbEIsT0FBT0E7SUFDVDtJQUVBLE9BQU8xQjtBQUNUO0FBRUEsU0FBU3VCLFdBQVdLLElBQUk7SUFDdEIsSUFBTTFFLGVBQWUsU0FBUzJFLElBQUksQ0FBQ0QsT0FDN0JFLFdBQVc1RSxjQUFjLEdBQUc7SUFFbEMsT0FBTzRFO0FBQ1Q7QUFFQSxTQUFTVixTQUFTUSxJQUFJO0lBQ3BCLElBQU0xRSxlQUFlLFdBQVcyRSxJQUFJLENBQUNELE9BQy9CRixTQUFTeEUsY0FBYyxHQUFHO0lBRWhDLE9BQU93RTtBQUNUO0FBRUEsU0FBU3ZCLFFBQVF5QixJQUFJO0lBQ25CLElBQU0xRSxlQUFlLFNBQVMyRSxJQUFJLENBQUNELE9BQzdCRyxRQUFRN0UsY0FBYyxHQUFHO0lBRS9CLE9BQU82RTtBQUNUO0FBRUEsU0FBU3pCLGNBQWNzQixJQUFJO0lBQ3pCQSxPQUFPQSxLQUFLLEdBQUc7S0FDTHRELE9BQU8sQ0FBQyxVQUFVMEQsbUJBQVE7SUFFcEMsT0FBT0o7QUFDVDtBQUVBLFNBQVNULGNBQWNTLElBQUk7SUFDekJBLE9BQU9BLEtBQUssR0FBRztLQUNMdEQsT0FBTyxDQUFDLE1BQU0yRCxpQ0FBc0I7SUFFOUMsT0FBT0w7QUFDVDtBQUVBLFNBQVNwQixnQkFBZ0JvQixJQUFJO0lBQzNCQSxPQUFPQSxLQUFLLEdBQUc7S0FDTnRELE9BQU8sQ0FBQyxVQUFVcUIsdUJBQVk7SUFFdkMsT0FBT2lDO0FBQ1Q7QUFFQSxTQUFTZCxnQkFBZ0JjLElBQUk7SUFDM0JBLE9BQU8sQUFBQyxHQUFPLE9BQUxBLE1BQUs7SUFFZixPQUFPQTtBQUNUO0FBRUEsU0FBU04saUJBQWlCTSxJQUFJO0lBQzVCQSxPQUFPLEFBQUMsR0FBTyxPQUFMQSxNQUFLLEtBQUcsR0FBRztLQUNYdEQsT0FBTyxDQUFDLE9BQU80RCxxQkFBVTtJQUVuQyxPQUFPTjtBQUNUO0FBRUEsU0FBU1AsaUJBQWlCTyxJQUFJO0lBQzVCQSxPQUFPQSxLQUFLLEdBQUc7S0FDTHRELE9BQU8sQ0FBQyxRQUFRNkQsbUJBQVEsRUFDeEI3RCxPQUFPLENBQUMsTUFBTXFCLHVCQUFZO0lBRXBDLE9BQU9pQztBQUNUIn0=
@@ -27,9 +27,6 @@ _export(exports, {
27
27
  includeDirectiveMarkdownNodesFromNode: function() {
28
28
  return includeDirectiveMarkdownNodesFromNode;
29
29
  },
30
- indexDirectiveMarkdownNodeFromNode: function() {
31
- return indexDirectiveMarkdownNodeFromNode;
32
- },
33
30
  subDivisionMarkdownNodeFromNode: function() {
34
31
  return subDivisionMarkdownNodeFromNode;
35
32
  },
@@ -39,7 +36,7 @@ _export(exports, {
39
36
  });
40
37
  var _occamquery = require("occam-query");
41
38
  var _query = require("../utilities/query");
42
- var divisionMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/markdown/division"), subDivisionMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/subDivision"), indexDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/subDivision/directives/indexDirective"), ignoreDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/subDivision/directives/ignoreDirective"), divisionMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/markdown/division"), subDivisionMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/division/subDivision"), embedDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/subDivision/directives/embedDirective"), includeDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/division/subDivision/directives/includeDirective");
39
+ var divisionMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/markdown/division"), subDivisionMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/subDivision"), ignoreDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/subDivision/directives/ignoreDirective"), divisionMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/markdown/division"), subDivisionMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/division/subDivision"), embedDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/subDivision/directives/embedDirective"), includeDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/division/subDivision/directives/includeDirective");
43
40
  function divisionMarkdownNodeFromNode(node) {
44
41
  var divisionMarkdownNode = (0, _query.nodeFromNodeAndQuery)(node, divisionMarkdownNodeQuery);
45
42
  return divisionMarkdownNode;
@@ -48,10 +45,6 @@ function subDivisionMarkdownNodeFromNode(node) {
48
45
  var subDivisionMarkdownNode = (0, _query.nodeFromNodeAndQuery)(node, subDivisionMarkdownNodeQuery);
49
46
  return subDivisionMarkdownNode;
50
47
  }
51
- function indexDirectiveMarkdownNodeFromNode(node) {
52
- var indexDirectiveMarkdownNode = (0, _query.nodeFromNodeAndQuery)(node, indexDirectiveMarkdownNodeQuery);
53
- return indexDirectiveMarkdownNode;
54
- }
55
48
  function ignoreDirectiveMarkdownNodeFromNode(node) {
56
49
  var ignoreDirectiveMarkdownNode = (0, _query.nodeFromNodeAndQuery)(node, ignoreDirectiveMarkdownNodeQuery);
57
50
  return ignoreDirectiveMarkdownNode;
@@ -79,11 +72,10 @@ function includeDirectiveMarkdownNodesFromNode(node) {
79
72
  var _default = {
80
73
  divisionMarkdownNodeFromNode: divisionMarkdownNodeFromNode,
81
74
  subDivisionMarkdownNodeFromNode: subDivisionMarkdownNodeFromNode,
82
- indexDirectiveMarkdownNodeFromNode: indexDirectiveMarkdownNodeFromNode,
83
75
  ignoreDirectiveMarkdownNodeFromNode: ignoreDirectiveMarkdownNodeFromNode,
84
76
  divisionMarkdownNodesFromNode: divisionMarkdownNodesFromNode,
85
77
  embedDirectiveMarkdownNodesFromNode: embedDirectiveMarkdownNodesFromNode,
86
78
  includeDirectiveMarkdownNodesFromNode: includeDirectiveMarkdownNodesFromNode
87
79
  };
88
80
 
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWFya2Rvd24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmltcG9ydCB7IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5LCBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9tYXJrZG93bi9kaXZpc2lvblwiKSxcbiAgICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9kaXZpc2lvbi9zdWJEaXZpc2lvblwiKSxcbiAgICAgIGluZGV4RGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9kaXZpc2lvbi9zdWJEaXZpc2lvbi9kaXJlY3RpdmVzL2luZGV4RGlyZWN0aXZlXCIpLFxuICAgICAgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9kaXZpc2lvbi9zdWJEaXZpc2lvbi9kaXJlY3RpdmVzL2lnbm9yZURpcmVjdGl2ZVwiKSxcbiAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvbWFya2Rvd24vZGl2aXNpb25cIiksXG4gICAgICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL3N1YkRpdmlzaW9uXCIpLFxuICAgICAgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9zdWJEaXZpc2lvbi9kaXJlY3RpdmVzL2VtYmVkRGlyZWN0aXZlXCIpLFxuICAgICAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL3N1YkRpdmlzaW9uL2RpcmVjdGl2ZXMvaW5jbHVkZURpcmVjdGl2ZVwiKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRpdmlzaW9uTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBkaXZpc2lvbk1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluZGV4RGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBpbmRleERpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGluZGV4RGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBpbmRleERpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBkaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgZGl2aXNpb25NYXJrZG93bk5vZGVzUXVlcnksIGRpdmlzaW9uTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGRpdmlzaW9uTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNRdWVyeSwgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnksIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZGl2aXNpb25NYXJrZG93bk5vZGVGcm9tTm9kZSxcbiAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVGcm9tTm9kZSxcbiAgaW5kZXhEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSxcbiAgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZVxufTtcbiJdLCJuYW1lcyI6WyJkaXZpc2lvbk1hcmtkb3duTm9kZUZyb21Ob2RlIiwiZGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImluZGV4RGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZUZyb21Ob2RlIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJkaXZpc2lvbk1hcmtkb3duTm9kZVF1ZXJ5IiwiUXVlcnkiLCJmcm9tRXhwcmVzc2lvblN0cmluZyIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkiLCJpbmRleERpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5IiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXNRdWVyeSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkiLCJpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5Iiwibm9kZSIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwibm9kZUZyb21Ob2RlQW5kUXVlcnkiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSIsImluZGV4RGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwiZGl2aXNpb25NYXJrZG93bk5vZGVzIiwibm9kZXNGcm9tTm9kZUFuZFF1ZXJ5Iiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQStEQSxPQVFFO2VBUkY7O0lBaERnQkEsNEJBQTRCO2VBQTVCQTs7SUF3QkFDLDZCQUE2QjtlQUE3QkE7O0lBWUFDLG1DQUFtQztlQUFuQ0E7O0lBbEJBQyxtQ0FBbUM7ZUFBbkNBOztJQXdCQUMscUNBQXFDO2VBQXJDQTs7SUE5QkFDLGtDQUFrQztlQUFsQ0E7O0lBTkFDLCtCQUErQjtlQUEvQkE7O0lBd0JBQyxnQ0FBZ0M7ZUFBaENBOzs7MEJBM0NNO3FCQUVzQztBQUU1RCxJQUFNQyw0QkFBNEJDLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDLHVCQUN2REMsK0JBQStCRixpQkFBSyxDQUFDQyxvQkFBb0IsQ0FBQywwQkFDMURFLGtDQUFrQ0gsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsb0RBQzdERyxtQ0FBbUNKLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDLHFEQUM5REksNkJBQTZCTCxpQkFBSyxDQUFDQyxvQkFBb0IsQ0FBQyx1QkFDeERLLGdDQUFnQ04saUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsMEJBQzNETSxtQ0FBbUNQLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDLDJDQUM5RE8scUNBQXFDUixpQkFBSyxDQUFDQyxvQkFBb0IsQ0FBQztBQUUvRCxTQUFTViw2QkFBNkJrQixJQUFJO0lBQy9DLElBQU1DLHVCQUF1QkMsSUFBQUEsMkJBQW9CLEVBQUNGLE1BQU1WO0lBRXhELE9BQU9XO0FBQ1Q7QUFFTyxTQUFTYixnQ0FBZ0NZLElBQUk7SUFDbEQsSUFBTUcsMEJBQTBCRCxJQUFBQSwyQkFBb0IsRUFBQ0YsTUFBTVA7SUFFM0QsT0FBT1U7QUFDVDtBQUVPLFNBQVNoQixtQ0FBbUNhLElBQUk7SUFDckQsSUFBTUksNkJBQTZCRixJQUFBQSwyQkFBb0IsRUFBQ0YsTUFBTU47SUFFOUQsT0FBT1U7QUFDVDtBQUVPLFNBQVNuQixvQ0FBb0NlLElBQUk7SUFDdEQsSUFBTUssOEJBQThCSCxJQUFBQSwyQkFBb0IsRUFBQ0YsTUFBTUw7SUFFL0QsT0FBT1U7QUFDVDtBQUVPLFNBQVN0Qiw4QkFBOEJpQixJQUFJO1FBQUVNLHdCQUFBQSxpRUFBd0IsRUFBRTtJQUM1RUMsSUFBQUEsNEJBQXFCLEVBQUNQLE1BQU1KLDRCQUE0QlU7SUFFeEQsT0FBT0E7QUFDVDtBQUVPLFNBQVNqQixpQ0FBaUNXLElBQUk7UUFBRVEsMkJBQUFBLGlFQUEyQixFQUFFO0lBQ2xGRCxJQUFBQSw0QkFBcUIsRUFBQ1AsTUFBTUgsK0JBQStCVztJQUUzRCxPQUFPQTtBQUNUO0FBRU8sU0FBU3hCLG9DQUFvQ2dCLElBQUk7UUFBRVMsOEJBQUFBLGlFQUE4QixFQUFFO0lBQ3hGRixJQUFBQSw0QkFBcUIsRUFBQ1AsTUFBTUYsa0NBQWtDVztJQUU5RCxPQUFPQTtBQUNUO0FBRU8sU0FBU3ZCLHNDQUFzQ2MsSUFBSTtRQUFFVSxnQ0FBQUEsaUVBQWdDLEVBQUU7SUFDNUZILElBQUFBLDRCQUFxQixFQUFDUCxNQUFNRCxvQ0FBb0NXO0lBRWhFLE9BQU9BO0FBQ1Q7SUFFQSxXQUFlO0lBQ2I1Qiw4QkFBQUE7SUFDQU0saUNBQUFBO0lBQ0FELG9DQUFBQTtJQUNBRixxQ0FBQUE7SUFDQUYsK0JBQUFBO0lBQ0FDLHFDQUFBQTtJQUNBRSx1Q0FBQUE7QUFDRiJ9
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWFya2Rvd24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmltcG9ydCB7IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5LCBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9tYXJrZG93bi9kaXZpc2lvblwiKSxcbiAgICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9kaXZpc2lvbi9zdWJEaXZpc2lvblwiKSxcbiAgICAgIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvZGl2aXNpb24vc3ViRGl2aXNpb24vZGlyZWN0aXZlcy9pZ25vcmVEaXJlY3RpdmVcIiksXG4gICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL21hcmtkb3duL2RpdmlzaW9uXCIpLFxuICAgICAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9kaXZpc2lvbi9zdWJEaXZpc2lvblwiKSxcbiAgICAgIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvc3ViRGl2aXNpb24vZGlyZWN0aXZlcy9lbWJlZERpcmVjdGl2ZVwiKSxcbiAgICAgIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9kaXZpc2lvbi9zdWJEaXZpc2lvbi9kaXJlY3RpdmVzL2luY2x1ZGVEaXJlY3RpdmVcIik7XG5cbmV4cG9ydCBmdW5jdGlvbiBkaXZpc2lvbk1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBkaXZpc2lvbk1hcmtkb3duTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gZGl2aXNpb25NYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3Qgc3ViRGl2aXNpb25NYXJrZG93bk5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gc3ViRGl2aXNpb25NYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgZGl2aXNpb25NYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGRpdmlzaW9uTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBkaXZpc2lvbk1hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBkaXZpc2lvbk1hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzUXVlcnksIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSwgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGRpdmlzaW9uTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBkaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUsXG4gIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGVcbn07XG4iXSwibmFtZXMiOlsiZGl2aXNpb25NYXJrZG93bk5vZGVGcm9tTm9kZSIsImRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSIsImluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZUZyb21Ob2RlIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJkaXZpc2lvbk1hcmtkb3duTm9kZVF1ZXJ5IiwiUXVlcnkiLCJmcm9tRXhwcmVzc2lvblN0cmluZyIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkiLCJpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSIsImRpdmlzaW9uTWFya2Rvd25Ob2Rlc1F1ZXJ5Iiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzUXVlcnkiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSIsImluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkiLCJub2RlIiwiZGl2aXNpb25NYXJrZG93bk5vZGUiLCJub2RlRnJvbU5vZGVBbmRRdWVyeSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwiZGl2aXNpb25NYXJrZG93bk5vZGVzIiwibm9kZXNGcm9tTm9kZUFuZFF1ZXJ5Iiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXdEQSxPQU9FO2VBUEY7O0lBMUNnQkEsNEJBQTRCO2VBQTVCQTs7SUFrQkFDLDZCQUE2QjtlQUE3QkE7O0lBWUFDLG1DQUFtQztlQUFuQ0E7O0lBbEJBQyxtQ0FBbUM7ZUFBbkNBOztJQXdCQUMscUNBQXFDO2VBQXJDQTs7SUE5QkFDLCtCQUErQjtlQUEvQkE7O0lBa0JBQyxnQ0FBZ0M7ZUFBaENBOzs7MEJBcENNO3FCQUVzQztBQUU1RCxJQUFNQyw0QkFBNEJDLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDLHVCQUN2REMsK0JBQStCRixpQkFBSyxDQUFDQyxvQkFBb0IsQ0FBQywwQkFDMURFLG1DQUFtQ0gsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMscURBQzlERyw2QkFBNkJKLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDLHVCQUN4REksZ0NBQWdDTCxpQkFBSyxDQUFDQyxvQkFBb0IsQ0FBQywwQkFDM0RLLG1DQUFtQ04saUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsMkNBQzlETSxxQ0FBcUNQLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDO0FBRS9ELFNBQVNULDZCQUE2QmdCLElBQUk7SUFDL0MsSUFBTUMsdUJBQXVCQyxJQUFBQSwyQkFBb0IsRUFBQ0YsTUFBTVQ7SUFFeEQsT0FBT1U7QUFDVDtBQUVPLFNBQVNaLGdDQUFnQ1csSUFBSTtJQUNsRCxJQUFNRywwQkFBMEJELElBQUFBLDJCQUFvQixFQUFDRixNQUFNTjtJQUUzRCxPQUFPUztBQUNUO0FBRU8sU0FBU2hCLG9DQUFvQ2EsSUFBSTtJQUN0RCxJQUFNSSw4QkFBOEJGLElBQUFBLDJCQUFvQixFQUFDRixNQUFNTDtJQUUvRCxPQUFPUztBQUNUO0FBRU8sU0FBU25CLDhCQUE4QmUsSUFBSTtRQUFFSyx3QkFBQUEsaUVBQXdCLEVBQUU7SUFDNUVDLElBQUFBLDRCQUFxQixFQUFDTixNQUFNSiw0QkFBNEJTO0lBRXhELE9BQU9BO0FBQ1Q7QUFFTyxTQUFTZixpQ0FBaUNVLElBQUk7UUFBRU8sMkJBQUFBLGlFQUEyQixFQUFFO0lBQ2xGRCxJQUFBQSw0QkFBcUIsRUFBQ04sTUFBTUgsK0JBQStCVTtJQUUzRCxPQUFPQTtBQUNUO0FBRU8sU0FBU3JCLG9DQUFvQ2MsSUFBSTtRQUFFUSw4QkFBQUEsaUVBQThCLEVBQUU7SUFDeEZGLElBQUFBLDRCQUFxQixFQUFDTixNQUFNRixrQ0FBa0NVO0lBRTlELE9BQU9BO0FBQ1Q7QUFFTyxTQUFTcEIsc0NBQXNDWSxJQUFJO1FBQUVTLGdDQUFBQSxpRUFBZ0MsRUFBRTtJQUM1RkgsSUFBQUEsNEJBQXFCLEVBQUNOLE1BQU1ELG9DQUFvQ1U7SUFFaEUsT0FBT0E7QUFDVDtJQUVBLFdBQWU7SUFDYnpCLDhCQUFBQTtJQUNBSyxpQ0FBQUE7SUFDQUYscUNBQUFBO0lBQ0FGLCtCQUFBQTtJQUNBQyxxQ0FBQUE7SUFDQUUsdUNBQUFBO0FBQ0YifQ==
@@ -12,11 +12,14 @@ _export(exports, {
12
12
  removeBackticks: function() {
13
13
  return removeBackticks;
14
14
  },
15
- removeNonAlphabeticAndSpaceCharacters: function() {
16
- return removeNonAlphabeticAndSpaceCharacters;
15
+ removeLeadingWhitespace: function() {
16
+ return removeLeadingWhitespace;
17
17
  },
18
- removedLeadingWhitespace: function() {
19
- return removedLeadingWhitespace;
18
+ removeNonAlphabeticCharacters: function() {
19
+ return removeNonAlphabeticCharacters;
20
+ },
21
+ removeTrailingWhitespace: function() {
22
+ return removeTrailingWhitespace;
20
23
  },
21
24
  replaceSpacesWithHyphens: function() {
22
25
  return replaceSpacesWithHyphens;
@@ -26,14 +29,17 @@ var _constants = require("../constants");
26
29
  function removeBackticks(string) {
27
30
  return string.replace(/^`|`$/g, _constants.EMPTY_STRING);
28
31
  }
32
+ function removeLeadingWhitespace(string) {
33
+ return string.replace(/^[\n ]+/, _constants.EMPTY_STRING);
34
+ }
35
+ function removeTrailingWhitespace(string) {
36
+ return string.replace(/[\n ]+$/, _constants.EMPTY_STRING);
37
+ }
29
38
  function replaceSpacesWithHyphens(string) {
30
39
  return string.replace(/ +/g, _constants.HYPHEN);
31
40
  }
32
- function removedLeadingWhitespace(string) {
33
- return string.replace(/^ +/, _constants.EMPTY_STRING);
34
- }
35
- function removeNonAlphabeticAndSpaceCharacters(string) {
36
- return string.replace(/[^a-z ]/g, _constants.EMPTY_STRING);
41
+ function removeNonAlphabeticCharacters(string) {
42
+ return string.replace(/[^a-z\-]/g, _constants.EMPTY_STRING);
37
43
  }
38
44
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBIWVBIRU4sIEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUJhY2t0aWNrcyhzdHJpbmcpIHsgcmV0dXJuIHN0cmluZy5yZXBsYWNlKC9eYHxgJC9nLCBFTVBUWV9TVFJJTkcpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlU3BhY2VzV2l0aEh5cGhlbnMoc3RyaW5nKSB7IHJldHVybiBzdHJpbmcucmVwbGFjZSgvICsvZywgSFlQSEVOKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlZExlYWRpbmdXaGl0ZXNwYWNlKHN0cmluZykgeyByZXR1cm4gc3RyaW5nLnJlcGxhY2UoL14gKy8sIEVNUFRZX1NUUklORykgfVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlTm9uQWxwaGFiZXRpY0FuZFNwYWNlQ2hhcmFjdGVycyhzdHJpbmcpIHsgcmV0dXJuIHN0cmluZy5yZXBsYWNlKC9bXmEteiBdL2csIEVNUFRZX1NUUklORyk7IH1cbiJdLCJuYW1lcyI6WyJyZW1vdmVCYWNrdGlja3MiLCJyZW1vdmVOb25BbHBoYWJldGljQW5kU3BhY2VDaGFyYWN0ZXJzIiwicmVtb3ZlZExlYWRpbmdXaGl0ZXNwYWNlIiwicmVwbGFjZVNwYWNlc1dpdGhIeXBoZW5zIiwic3RyaW5nIiwicmVwbGFjZSIsIkVNUFRZX1NUUklORyIsIkhZUEhFTiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBSWdCQSxlQUFlO2VBQWZBOztJQU1BQyxxQ0FBcUM7ZUFBckNBOztJQUZBQyx3QkFBd0I7ZUFBeEJBOztJQUZBQyx3QkFBd0I7ZUFBeEJBOzs7eUJBSnFCO0FBRTlCLFNBQVNILGdCQUFnQkksTUFBTTtJQUFJLE9BQU9BLE9BQU9DLE9BQU8sQ0FBQyxVQUFVQyx1QkFBWTtBQUFHO0FBRWxGLFNBQVNILHlCQUF5QkMsTUFBTTtJQUFJLE9BQU9BLE9BQU9DLE9BQU8sQ0FBQyxPQUFPRSxpQkFBTTtBQUFHO0FBRWxGLFNBQVNMLHlCQUF5QkUsTUFBTTtJQUFJLE9BQU9BLE9BQU9DLE9BQU8sQ0FBQyxPQUFPQyx1QkFBWTtBQUFFO0FBRXZGLFNBQVNMLHNDQUFzQ0csTUFBTTtJQUFJLE9BQU9BLE9BQU9DLE9BQU8sQ0FBQyxZQUFZQyx1QkFBWTtBQUFHIn0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBIWVBIRU4sIEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUJhY2t0aWNrcyhzdHJpbmcpIHsgcmV0dXJuIHN0cmluZy5yZXBsYWNlKC9eYHxgJC9nLCBFTVBUWV9TVFJJTkcpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVMZWFkaW5nV2hpdGVzcGFjZShzdHJpbmcpIHsgcmV0dXJuIHN0cmluZy5yZXBsYWNlKC9eW1xcbiBdKy8sIEVNUFRZX1NUUklORykgfVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlVHJhaWxpbmdXaGl0ZXNwYWNlKHN0cmluZykgeyByZXR1cm4gc3RyaW5nLnJlcGxhY2UoL1tcXG4gXSskLywgRU1QVFlfU1RSSU5HKSB9XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlU3BhY2VzV2l0aEh5cGhlbnMoc3RyaW5nKSB7IHJldHVybiBzdHJpbmcucmVwbGFjZSgvICsvZywgSFlQSEVOKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlTm9uQWxwaGFiZXRpY0NoYXJhY3RlcnMoc3RyaW5nKSB7IHJldHVybiBzdHJpbmcucmVwbGFjZSgvW15hLXpcXC1dL2csIEVNUFRZX1NUUklORyk7IH1cbiJdLCJuYW1lcyI6WyJyZW1vdmVCYWNrdGlja3MiLCJyZW1vdmVMZWFkaW5nV2hpdGVzcGFjZSIsInJlbW92ZU5vbkFscGhhYmV0aWNDaGFyYWN0ZXJzIiwicmVtb3ZlVHJhaWxpbmdXaGl0ZXNwYWNlIiwicmVwbGFjZVNwYWNlc1dpdGhIeXBoZW5zIiwic3RyaW5nIiwicmVwbGFjZSIsIkVNUFRZX1NUUklORyIsIkhZUEhFTiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBSWdCQSxlQUFlO2VBQWZBOztJQUVBQyx1QkFBdUI7ZUFBdkJBOztJQU1BQyw2QkFBNkI7ZUFBN0JBOztJQUpBQyx3QkFBd0I7ZUFBeEJBOztJQUVBQyx3QkFBd0I7ZUFBeEJBOzs7eUJBUnFCO0FBRTlCLFNBQVNKLGdCQUFnQkssTUFBTTtJQUFJLE9BQU9BLE9BQU9DLE9BQU8sQ0FBQyxVQUFVQyx1QkFBWTtBQUFHO0FBRWxGLFNBQVNOLHdCQUF3QkksTUFBTTtJQUFJLE9BQU9BLE9BQU9DLE9BQU8sQ0FBQyxXQUFXQyx1QkFBWTtBQUFFO0FBRTFGLFNBQVNKLHlCQUF5QkUsTUFBTTtJQUFJLE9BQU9BLE9BQU9DLE9BQU8sQ0FBQyxXQUFXQyx1QkFBWTtBQUFFO0FBRTNGLFNBQVNILHlCQUF5QkMsTUFBTTtJQUFJLE9BQU9BLE9BQU9DLE9BQU8sQ0FBQyxPQUFPRSxpQkFBTTtBQUFHO0FBRWxGLFNBQVNOLDhCQUE4QkcsTUFBTTtJQUFJLE9BQU9BLE9BQU9DLE9BQU8sQ0FBQyxhQUFhQyx1QkFBWTtBQUFHIn0=
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ assignIndexes: function() {
13
+ return assignIndexes;
14
+ },
15
+ deleteIndexes: function() {
16
+ return deleteIndexes;
17
+ }
18
+ });
19
+ function assignIndexes(node, context) {
20
+ var tokens = context.tokens, outerNode = node.getOuterNode(), firstSignificantTokenIndex = outerNode.getFirstSignificantTokenIndex(tokens), lastSignificantTokenIndex = outerNode.getLastSignificantTokenIndex(tokens), whitespaceTokenIndexes = [];
21
+ Object.assign(context, {
22
+ firstSignificantTokenIndex: firstSignificantTokenIndex,
23
+ lastSignificantTokenIndex: lastSignificantTokenIndex,
24
+ whitespaceTokenIndexes: whitespaceTokenIndexes
25
+ });
26
+ }
27
+ function deleteIndexes(context) {
28
+ delete context.firstSignificantTokenIndex;
29
+ delete context.lastSignificantTokenIndex;
30
+ delete context.whitespaceTokenIndexes;
31
+ }
32
+
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvd2hpdGVzcGFjZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbkluZGV4ZXMobm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IHRva2VucyB9ID0gY29udGV4dCxcbiAgICAgICAgb3V0ZXJOb2RlID0gbm9kZS5nZXRPdXRlck5vZGUoKSxcbiAgICAgICAgZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSBvdXRlck5vZGUuZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgodG9rZW5zKSxcbiAgICAgICAgbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IG91dGVyTm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIHdoaXRlc3BhY2VUb2tlbkluZGV4ZXMgPSBbXTtcblxuICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCxcbiAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4LFxuICAgIHdoaXRlc3BhY2VUb2tlbkluZGV4ZXNcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVJbmRleGVzKGNvbnRleHQpIHtcbiAgZGVsZXRlIGNvbnRleHQuZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXg7XG4gIGRlbGV0ZSBjb250ZXh0Lmxhc3RTaWduaWZpY2FudFRva2VuSW5kZXg7XG4gIGRlbGV0ZSBjb250ZXh0LndoaXRlc3BhY2VUb2tlbkluZGV4ZXM7XG59Il0sIm5hbWVzIjpbImFzc2lnbkluZGV4ZXMiLCJkZWxldGVJbmRleGVzIiwibm9kZSIsImNvbnRleHQiLCJ0b2tlbnMiLCJvdXRlck5vZGUiLCJnZXRPdXRlck5vZGUiLCJmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwibGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImdldExhc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJ3aGl0ZXNwYWNlVG9rZW5JbmRleGVzIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFZ0JBLGFBQWE7ZUFBYkE7O0lBY0FDLGFBQWE7ZUFBYkE7OztBQWRULFNBQVNELGNBQWNFLElBQUksRUFBRUMsT0FBTztJQUN6QyxJQUFNLEFBQUVDLFNBQVdELFFBQVhDLFFBQ0ZDLFlBQVlILEtBQUtJLFlBQVksSUFDN0JDLDZCQUE2QkYsVUFBVUcsNkJBQTZCLENBQUNKLFNBQ3JFSyw0QkFBNEJKLFVBQVVLLDRCQUE0QixDQUFDTixTQUNuRU8seUJBQXlCLEVBQUU7SUFFakNDLE9BQU9DLE1BQU0sQ0FBQ1YsU0FBUztRQUNyQkksNEJBQUFBO1FBQ0FFLDJCQUFBQTtRQUNBRSx3QkFBQUE7SUFDRjtBQUNGO0FBRU8sU0FBU1YsY0FBY0UsT0FBTztJQUNuQyxPQUFPQSxRQUFRSSwwQkFBMEI7SUFDekMsT0FBT0osUUFBUU0seUJBQXlCO0lBQ3hDLE9BQU9OLFFBQVFRLHNCQUFzQjtBQUN2QyJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "highmark-markdown",
3
3
  "author": "James Smith",
4
- "version": "1.0.183",
4
+ "version": "1.0.185",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/highmark-markdown",
7
7
  "description": "Highmark's Markdown and Markdown Style languages.",
@@ -11,16 +11,16 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "necessary": "^14.3.2",
14
- "occam-dom": "^5.2.15",
14
+ "occam-dom": "^5.2.27",
15
15
  "occam-lexers": "^23.0.47",
16
- "occam-parsers": "^23.0.129",
17
- "occam-query": "^4.1.83"
16
+ "occam-parsers": "^23.0.133",
17
+ "occam-query": "^4.1.86"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@swc/core": "^1.5.6",
21
21
  "easy": "^23.0.1",
22
- "easy-layout": "^6.0.238",
23
- "easy-with-style": "^3.0.480",
22
+ "easy-layout": "^6.0.239",
23
+ "easy-with-style": "^3.0.482",
24
24
  "esbuild": "^0.9.2",
25
25
  "express": "^4.17.1",
26
26
  "juxtapose": "^4.0.117",
package/src/constants.js CHANGED
@@ -17,3 +17,5 @@ export const SINGLE_SPACE = " ";
17
17
  export const DOUBLE_SPACE = " ";
18
18
  export const CARRIAGE_RETURN = "\n";
19
19
  export const PARENTHESISED_S_STRING = "(s)";
20
+ export const DEFAULT_MAXIMUM_PAGE_LINES = 40;
21
+ export const DEFAULT_MAXIMUM_LINE_CHARACTERS = 70;
@@ -88,7 +88,9 @@ quaternaryHeading {
88
88
  }
89
89
  }
90
90
 
91
- paragraph {
91
+ paragraph,
92
+ orderedItem,
93
+ unorderedItem {
92
94
  text-align: justify;
93
95
  }
94
96
 
@@ -113,8 +115,8 @@ inlineListing {
113
115
  footnoteLink {
114
116
  cursor: pointer;
115
117
  font-size: 9pt;
116
- line-height: 13pt;
117
118
  margin-left: 3pt;
119
+ line-height: 13pt;
118
120
  vertical-align: super;
119
121
  }
120
122
 
@@ -168,16 +170,11 @@ footnotesList {
168
170
  padding-top: 13pt;
169
171
  }
170
172
 
171
- footnotesItem {
173
+ footnoteItem {
172
174
  font-size: 11pt;
175
+ text-align: justify;
173
176
  line-height: 17pt;
174
177
  margin-left: 13pt;
175
-
176
- paragraph {
177
- margin: 0;
178
- font-size: 11pt;
179
- line-height: 17pt;
180
- }
181
178
  }
182
179
 
183
180
  indexList {