highmark-markdown 1.0.173 → 1.0.174
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.
- package/README.md +1 -1
- package/example.js +14061 -13787
- package/lib/example/importer.js +5 -5
- package/lib/example/view/div/container/markdown.js +3 -3
- package/lib/example/view/div/preview.js +5 -1
- package/lib/example/view/textarea/parseTree/{markdown/outer.js → html.js} +17 -17
- package/lib/example/view/textarea/parseTree/markdown.js +49 -2
- package/lib/example/view/textarea/plainText.js +7 -2
- package/lib/example/view/xmp.js +7 -2
- package/lib/example/view.js +67 -104
- package/lib/index/match.js +6 -6
- package/lib/index.js +27 -15
- package/lib/map/className.js +60 -0
- package/lib/map/node/html.js +85 -0
- package/lib/map/node/markdown.js +73 -0
- package/lib/map/tagName.js +60 -0
- package/lib/markdown/bnf.js +2 -2
- package/lib/markdown/parser.js +10 -9
- package/lib/markdownStyle/entries.js +3 -3
- package/lib/mixins/node.js +24 -23
- package/lib/node/html/anchor.js +55 -11
- package/lib/node/html/blockLine.js +75 -9
- package/lib/node/html/division.js +135 -0
- package/lib/node/html/error.js +195 -0
- package/lib/node/html/{blockListingEnd.js → footnote.js} +20 -14
- package/lib/node/html/heading/index.js +128 -0
- package/lib/node/html/heading/primary.js +129 -0
- package/lib/node/{markdown/directive.js → html/heading/quaternary.js} +21 -21
- package/lib/node/html/heading/secondary.js +129 -0
- package/lib/node/html/heading/tertiary.js +129 -0
- package/lib/node/html/image.js +214 -0
- package/lib/node/html/indexList.js +128 -0
- package/lib/node/html/item/contents.js +128 -0
- package/lib/node/html/item/footnotes.js +128 -0
- package/lib/node/{markdown/indexItem.js → html/item/index.js} +36 -15
- package/lib/node/html/item/ordered.js +17 -2
- package/lib/node/html/item/unordered.js +128 -0
- package/lib/node/html/line.js +174 -0
- package/lib/node/html/{contentsLink.js → link/contents.js} +19 -4
- package/lib/node/html/link/email.js +229 -0
- package/lib/node/html/link/footnote.js +137 -0
- package/lib/node/html/link/hyper.js +229 -0
- package/lib/node/html/link/index.js +202 -0
- package/lib/node/html/list/contents.js +128 -0
- package/lib/node/html/list/footnotes.js +144 -0
- package/lib/node/html/list/ordered.js +128 -0
- package/lib/node/html/list/unordered.js +128 -0
- package/lib/node/html/{blockListing.js → listing/block.js} +18 -9
- package/lib/node/html/listing/inline.js +189 -0
- package/lib/node/html/pageNumber.js +170 -0
- package/lib/node/html/{className.js → paragraph.js} +26 -18
- package/lib/node/{markdown/nonsense.js → html/table.js} +22 -15
- package/lib/node/{markdown/blockListingEnd.js → html/tableBody.js} +22 -15
- package/lib/node/html/tableBodyCell.js +128 -0
- package/lib/node/html/tableBodyRow.js +128 -0
- package/lib/node/html/{blockListingStart.js → tableHead.js} +26 -18
- package/lib/node/html/tableHeadCell.js +128 -0
- package/lib/node/html/tableHeadRow.js +128 -0
- package/lib/node/html/text/block.js +128 -0
- package/lib/node/html/text/emphasised.js +128 -0
- package/lib/node/html/text/inline.js +196 -0
- package/lib/node/html/text/plain.js +128 -0
- package/lib/node/html/text/strong.js +128 -0
- package/lib/node/html/text/stronglyEmphasised.js +212 -0
- package/lib/node/html/text.js +141 -0
- package/lib/node/html/topmost.js +57 -10
- package/lib/node/html.js +130 -40
- package/lib/node/markdown/anchor.js +6 -22
- package/lib/node/markdown/{table.js → blockEnd.js} +10 -10
- package/lib/node/markdown/blockListing.js +4 -31
- package/lib/node/markdown/{blockListingStart.js → blockStart.js} +10 -24
- package/lib/node/markdown/className.js +2 -2
- package/lib/node/markdown/contentsItem.js +4 -4
- package/lib/node/markdown/contentsList.js +2 -10
- package/lib/node/markdown/directive/embee.js +13 -13
- package/lib/node/markdown/directive/include.js +13 -13
- package/lib/node/markdown/directive/pageNumber.js +13 -29
- package/lib/node/markdown/division.js +205 -254
- package/lib/node/markdown/emailLink.js +36 -98
- package/lib/node/markdown/emphasisedText.js +3 -54
- package/lib/node/markdown/error.js +9 -53
- package/lib/node/markdown/footnote.js +1 -15
- package/lib/node/markdown/footnoteLink.js +9 -32
- package/lib/node/markdown/footnotesList.js +1 -16
- package/lib/node/markdown/heading/primary.js +1 -2
- package/lib/node/markdown/heading/quaternary.js +1 -2
- package/lib/node/markdown/heading/secondary.js +1 -2
- package/lib/node/markdown/heading/tertiary.js +1 -2
- package/lib/node/markdown/heading.js +1 -13
- package/lib/node/markdown/hyperlink.js +44 -108
- package/lib/node/markdown/image.js +2 -63
- package/lib/node/markdown/indexLink.js +13 -87
- package/lib/node/markdown/indexList.js +2 -10
- package/lib/node/markdown/inlineListing.js +22 -56
- package/lib/node/markdown/inlineText.js +3 -21
- package/lib/node/markdown/item/ordered.js +6 -6
- package/lib/node/markdown/line.js +1 -74
- package/lib/node/markdown/path.js +7 -7
- package/lib/node/markdown/strongText.js +3 -54
- package/lib/node/markdown/stronglyEmphasisedText.js +3 -78
- package/lib/node/markdown/{tableCellDivider.js → text/block.js} +12 -12
- package/lib/node/markdown/{tableBody.js → text/plain.js} +12 -12
- package/lib/node/markdown/text.js +154 -0
- package/lib/node/markdown/topmost.js +191 -0
- package/lib/node/markdown.js +6 -229
- package/lib/queries.js +4 -45
- package/lib/ruleNames.js +34 -21
- package/lib/style/selector.js +11 -7
- package/lib/transform/contentsItem.js +134 -0
- package/lib/transform/contentsLink.js +115 -0
- package/lib/transform/contentsList.js +194 -0
- package/lib/{replacement/subDivision.js → transform/division.js} +33 -38
- package/lib/{replacement → transform}/embedDirective.js +14 -19
- package/lib/{replacement → transform}/footnote.js +18 -23
- package/lib/transform/footnotesItem.js +123 -0
- package/lib/transform/footnotesList.js +173 -0
- package/lib/{replacement → transform}/includeDirective.js +13 -18
- package/lib/transform/index.js +166 -0
- package/lib/{replacement → transform}/indexAnchor.js +13 -13
- package/lib/{replacement → transform}/indexHeading.js +13 -18
- package/lib/{replacement → transform}/indexItem.js +13 -18
- package/lib/transform/indexList.js +121 -0
- package/lib/{replacement → transform}/line.js +13 -18
- package/lib/{replacement → transform}/subDivision/contentsDirective.js +14 -14
- package/lib/transform/subDivision/embedDirectives.js +147 -0
- package/lib/{replacement → transform}/subDivision/footnote.js +14 -14
- package/lib/{replacement → transform}/subDivision/footnotesDirective.js +14 -14
- package/lib/transform/subDivision/includeDirectives.js +142 -0
- package/lib/{replacement → transform}/subDivision/indexDirective.js +14 -14
- package/lib/{replacement → transform}/subDivision/pageNumberDirective.js +14 -14
- package/lib/utilities/content.js +1 -61
- package/lib/utilities/entities.js +17 -0
- package/lib/utilities/entries.js +6 -6
- package/lib/utilities/html.js +67 -9
- package/lib/utilities/markdown.js +45 -0
- package/lib/utilities/parser.js +8 -2
- package/lib/utilities/query.js +2 -22
- package/package.json +2 -2
- package/src/example/importer.js +2 -4
- package/src/example/view/div/container/markdown.js +2 -2
- package/src/example/view/div/preview.js +6 -0
- package/src/example/view/textarea/parseTree/html.js +28 -0
- package/src/example/view/textarea/parseTree/markdown.js +19 -1
- package/src/example/view/textarea/plainText.js +9 -1
- package/src/example/view/xmp.js +9 -1
- package/src/example/view.js +84 -91
- package/src/index/match.js +6 -6
- package/src/index.js +6 -3
- package/src/map/className.js +16 -0
- package/src/map/node/html.js +136 -0
- package/src/map/node/markdown.js +125 -0
- package/src/map/tagName.js +16 -0
- package/src/markdown/bnf.js +85 -64
- package/src/markdown/parser.js +3 -1
- package/src/markdownStyle/entries.js +3 -3
- package/src/mixins/node.js +29 -34
- package/src/node/html/anchor.js +26 -5
- package/src/node/html/blockLine.js +58 -7
- package/src/node/html/division.js +15 -0
- package/src/node/html/error.js +64 -0
- package/src/node/html/footnote.js +17 -0
- package/src/node/html/heading/index.js +13 -0
- package/src/node/html/heading/primary.js +15 -0
- package/src/node/html/heading/quaternary.js +15 -0
- package/src/node/html/heading/secondary.js +15 -0
- package/src/node/html/heading/tertiary.js +15 -0
- package/src/node/html/image.js +107 -0
- package/src/node/html/indexList.js +13 -0
- package/src/node/html/item/contents.js +13 -0
- package/src/node/html/item/footnotes.js +13 -0
- package/src/node/{markdown/indexItem.js → html/item/index.js} +9 -3
- package/src/node/html/item/ordered.js +5 -1
- package/src/node/html/item/unordered.js +13 -0
- package/src/node/html/line.js +64 -0
- package/src/node/html/{contentsLink.js → link/contents.js} +7 -3
- package/src/node/html/link/email.js +96 -0
- package/src/node/html/link/footnote.js +33 -0
- package/src/node/html/link/hyper.js +96 -0
- package/src/node/html/link/index.js +72 -0
- package/src/node/html/list/contents.js +13 -0
- package/src/node/html/list/footnotes.js +27 -0
- package/src/node/html/list/ordered.js +13 -0
- package/src/node/html/list/unordered.js +13 -0
- package/src/node/html/{blockListing.js → listing/block.js} +5 -8
- package/src/node/html/listing/inline.js +61 -0
- package/src/node/html/pageNumber.js +46 -0
- package/src/node/html/paragraph.js +13 -0
- package/src/node/html/table.js +13 -0
- package/src/node/html/tableBody.js +13 -0
- package/src/node/html/tableBodyCell.js +13 -0
- package/src/node/html/tableBodyRow.js +13 -0
- package/src/node/html/tableHead.js +13 -0
- package/src/node/html/tableHeadCell.js +13 -0
- package/src/node/html/tableHeadRow.js +13 -0
- package/src/node/html/text/block.js +13 -0
- package/src/node/html/text/emphasised.js +13 -0
- package/src/node/html/text/inline.js +57 -0
- package/src/node/html/text/plain.js +13 -0
- package/src/node/html/text/strong.js +13 -0
- package/src/node/html/text/stronglyEmphasised.js +98 -0
- package/src/node/html/text.js +34 -0
- package/src/node/html/topmost.js +57 -8
- package/src/node/html.js +136 -53
- package/src/node/markdown/anchor.js +5 -25
- package/src/node/markdown/{table.js → blockEnd.js} +2 -2
- package/src/node/markdown/blockListing.js +4 -10
- package/src/node/markdown/{blockListingStart.js → blockStart.js} +4 -6
- package/src/node/markdown/className.js +2 -2
- package/src/node/markdown/contentsItem.js +4 -4
- package/src/node/markdown/contentsList.js +0 -6
- package/src/node/markdown/directive/embee.js +10 -10
- package/src/node/markdown/directive/include.js +10 -10
- package/src/node/markdown/directive/pageNumber.js +10 -29
- package/src/node/markdown/division.js +203 -260
- package/src/node/markdown/emailLink.js +41 -87
- package/src/node/markdown/emphasisedText.js +1 -40
- package/src/node/markdown/error.js +9 -40
- package/src/node/markdown/footnote.js +0 -12
- package/src/node/markdown/footnoteLink.js +8 -31
- package/src/node/markdown/footnotesList.js +0 -13
- package/src/node/markdown/heading/primary.js +0 -2
- package/src/node/markdown/heading/quaternary.js +0 -2
- package/src/node/markdown/heading/secondary.js +0 -2
- package/src/node/markdown/heading/tertiary.js +0 -2
- package/src/node/markdown/heading.js +0 -14
- package/src/node/markdown/hyperlink.js +41 -91
- package/src/node/markdown/image.js +1 -82
- package/src/node/markdown/indexLink.js +10 -69
- package/src/node/markdown/indexList.js +0 -6
- package/src/node/markdown/inlineListing.js +20 -40
- package/src/node/markdown/inlineText.js +1 -21
- package/src/node/markdown/item/ordered.js +3 -3
- package/src/node/markdown/line.js +0 -61
- package/src/node/markdown/path.js +5 -5
- package/src/node/markdown/strongText.js +1 -40
- package/src/node/markdown/stronglyEmphasisedText.js +1 -74
- package/src/node/markdown/text/block.js +7 -0
- package/src/node/markdown/text/plain.js +7 -0
- package/src/node/markdown/text.js +80 -0
- package/src/node/markdown/topmost.js +91 -0
- package/src/node/markdown.js +1 -200
- package/src/queries.js +6 -86
- package/src/ruleNames.js +16 -12
- package/src/style/selector.js +16 -10
- package/src/transform/contentsItem.js +55 -0
- package/src/{replacement → transform}/contentsLink.js +10 -9
- package/src/{replacement → transform}/contentsList.js +26 -26
- package/src/transform/division.js +41 -0
- package/src/{replacement → transform}/embedDirective.js +4 -4
- package/src/{replacement → transform}/footnote.js +7 -7
- package/src/transform/footnotesItem.js +25 -0
- package/src/transform/footnotesList.js +79 -0
- package/src/{replacement → transform}/includeDirective.js +4 -4
- package/src/transform/index.js +90 -0
- package/src/{replacement → transform}/indexAnchor.js +5 -4
- package/src/{replacement → transform}/indexHeading.js +4 -4
- package/src/{replacement → transform}/indexItem.js +4 -4
- package/src/transform/indexList.js +33 -0
- package/src/{replacement → transform}/line.js +4 -4
- package/src/transform/subDivision/contentsDirective.js +20 -0
- package/src/transform/subDivision/embedDirectives.js +52 -0
- package/src/{replacement → transform}/subDivision/footnote.js +5 -5
- package/src/transform/subDivision/footnotesDirective.js +20 -0
- package/src/transform/subDivision/includeDirectives.js +48 -0
- package/src/transform/subDivision/indexDirective.js +20 -0
- package/src/transform/subDivision/pageNumberDirective.js +20 -0
- package/src/utilities/content.js +0 -95
- package/src/utilities/entities.js +11 -0
- package/src/utilities/entries.js +3 -3
- package/src/utilities/html.js +69 -6
- package/src/utilities/markdown.js +32 -0
- package/src/utilities/parser.js +3 -2
- package/src/utilities/query.js +8 -28
- package/lib/classFromOuterNode.js +0 -30
- package/lib/elementMap.js +0 -218
- package/lib/example/view/textarea/parseTree/markdown/inner.js +0 -179
- package/lib/mixins/content.js +0 -21
- package/lib/mixins/element.js +0 -32
- package/lib/node/html/comma.js +0 -127
- package/lib/node/html/directive/pageNumber.js +0 -178
- package/lib/node/markdown/blockLine.js +0 -207
- package/lib/node/markdown/comma.js +0 -123
- package/lib/node/markdown/directive/contents.js +0 -107
- package/lib/node/markdown/directive/footnotes.js +0 -107
- package/lib/node/markdown/directive/ignore.js +0 -107
- package/lib/node/markdown/directive/index.js +0 -107
- package/lib/node/markdown/directives.js +0 -125
- package/lib/node/markdown/emptyTableCell.js +0 -122
- package/lib/node/markdown/endOfLine.js +0 -151
- package/lib/node/markdown/indexHeading.js +0 -107
- package/lib/node/markdown/item/unordered.js +0 -107
- package/lib/node/markdown/item.js +0 -107
- package/lib/node/markdown/orderedList.js +0 -107
- package/lib/node/markdown/plainText.js +0 -115
- package/lib/node/markdown/subDivision.js +0 -161
- package/lib/node/markdown/tableBodyCell.js +0 -128
- package/lib/node/markdown/tableBodyRow.js +0 -107
- package/lib/node/markdown/tableCell.js +0 -118
- package/lib/node/markdown/tableDivider.js +0 -107
- package/lib/node/markdown/tableHead.js +0 -107
- package/lib/node/markdown/tableHeadCell.js +0 -128
- package/lib/node/markdown/tableHeadRow.js +0 -107
- package/lib/node/markdown/unorderedList.js +0 -107
- package/lib/node/markdown/verticalSpace.js +0 -151
- package/lib/nodeMap.js +0 -98
- package/lib/replacement/contentsItem.js +0 -134
- package/lib/replacement/contentsLink.js +0 -115
- package/lib/replacement/contentsList.js +0 -194
- package/lib/replacement/footnotesItem.js +0 -123
- package/lib/replacement/footnotesList.js +0 -173
- package/lib/replacement/index.js +0 -166
- package/lib/replacement/indexList.js +0 -121
- package/lib/replacement/subDivision/embedDirectives.js +0 -143
- package/lib/replacement/subDivision/includeDirectives.js +0 -175
- package/lib/replacement.js +0 -262
- package/lib/ruleNameToClassMap.js +0 -44
- package/lib/utilities/childNodes.js +0 -127
- package/lib/utilities/processing.js +0 -106
- package/lib/utilities/replacement.js +0 -195
- package/src/classFromOuterNode.js +0 -20
- package/src/elementMap.js +0 -322
- package/src/example/view/textarea/parseTree/markdown/inner.js +0 -36
- package/src/example/view/textarea/parseTree/markdown/outer.js +0 -27
- package/src/mixins/content.js +0 -16
- package/src/mixins/element.js +0 -29
- package/src/node/html/blockListingEnd.js +0 -11
- package/src/node/html/blockListingStart.js +0 -11
- package/src/node/html/className.js +0 -11
- package/src/node/html/comma.js +0 -18
- package/src/node/html/directive/pageNumber.js +0 -55
- package/src/node/markdown/blockLine.js +0 -90
- package/src/node/markdown/blockListingEnd.js +0 -9
- package/src/node/markdown/comma.js +0 -23
- package/src/node/markdown/directive/contents.js +0 -7
- package/src/node/markdown/directive/footnotes.js +0 -7
- package/src/node/markdown/directive/ignore.js +0 -7
- package/src/node/markdown/directive/index.js +0 -7
- package/src/node/markdown/directive.js +0 -15
- package/src/node/markdown/directives.js +0 -25
- package/src/node/markdown/emptyTableCell.js +0 -19
- package/src/node/markdown/endOfLine.js +0 -39
- package/src/node/markdown/indexHeading.js +0 -7
- package/src/node/markdown/item/unordered.js +0 -7
- package/src/node/markdown/item.js +0 -7
- package/src/node/markdown/nonsense.js +0 -9
- package/src/node/markdown/orderedList.js +0 -7
- package/src/node/markdown/plainText.js +0 -13
- package/src/node/markdown/subDivision.js +0 -64
- package/src/node/markdown/tableBody.js +0 -7
- package/src/node/markdown/tableBodyCell.js +0 -29
- package/src/node/markdown/tableBodyRow.js +0 -7
- package/src/node/markdown/tableCell.js +0 -19
- package/src/node/markdown/tableCellDivider.js +0 -7
- package/src/node/markdown/tableDivider.js +0 -7
- package/src/node/markdown/tableHead.js +0 -7
- package/src/node/markdown/tableHeadCell.js +0 -29
- package/src/node/markdown/tableHeadRow.js +0 -7
- package/src/node/markdown/unorderedList.js +0 -7
- package/src/node/markdown/verticalSpace.js +0 -39
- package/src/nodeMap.js +0 -200
- package/src/replacement/contentsItem.js +0 -54
- package/src/replacement/footnotesItem.js +0 -24
- package/src/replacement/footnotesList.js +0 -78
- package/src/replacement/index.js +0 -89
- package/src/replacement/indexList.js +0 -32
- package/src/replacement/subDivision/contentsDirective.js +0 -20
- package/src/replacement/subDivision/embedDirectives.js +0 -52
- package/src/replacement/subDivision/footnotesDirective.js +0 -20
- package/src/replacement/subDivision/includeDirectives.js +0 -58
- package/src/replacement/subDivision/indexDirective.js +0 -20
- package/src/replacement/subDivision/pageNumberDirective.js +0 -20
- package/src/replacement/subDivision.js +0 -41
- package/src/replacement.js +0 -185
- package/src/ruleNameToClassMap.js +0 -38
- package/src/utilities/childNodes.js +0 -178
- package/src/utilities/processing.js +0 -122
- package/src/utilities/replacement.js +0 -169
|
@@ -10,28 +10,21 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _necessary = require("necessary");
|
|
12
12
|
var _markdown = /*#__PURE__*/ _interop_require_default(require("../../node/markdown"));
|
|
13
|
-
var _index = /*#__PURE__*/ _interop_require_default(require("../../
|
|
14
|
-
var _footnote = /*#__PURE__*/ _interop_require_default(require("../../
|
|
15
|
-
var _indexAnchor = /*#__PURE__*/ _interop_require_default(require("../../
|
|
16
|
-
var _contentsList = /*#__PURE__*/ _interop_require_default(require("../../
|
|
17
|
-
var _footnotesList = /*#__PURE__*/ _interop_require_default(require("../../
|
|
18
|
-
var _footnote1 = /*#__PURE__*/ _interop_require_default(require("../../
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var
|
|
22
|
-
var
|
|
23
|
-
var
|
|
13
|
+
var _index = /*#__PURE__*/ _interop_require_default(require("../../transform/index"));
|
|
14
|
+
var _footnote = /*#__PURE__*/ _interop_require_default(require("../../transform/footnote"));
|
|
15
|
+
var _indexAnchor = /*#__PURE__*/ _interop_require_default(require("../../transform/indexAnchor"));
|
|
16
|
+
var _contentsList = /*#__PURE__*/ _interop_require_default(require("../../transform/contentsList"));
|
|
17
|
+
var _footnotesList = /*#__PURE__*/ _interop_require_default(require("../../transform/footnotesList"));
|
|
18
|
+
var _footnote1 = /*#__PURE__*/ _interop_require_default(require("../../transform/subDivision/footnote"));
|
|
19
|
+
var _embedDirectives = /*#__PURE__*/ _interop_require_default(require("../../transform/subDivision/embedDirectives"));
|
|
20
|
+
var _includeDirectives = /*#__PURE__*/ _interop_require_default(require("../../transform/subDivision/includeDirectives"));
|
|
21
|
+
var _indexDirective = /*#__PURE__*/ _interop_require_default(require("../../transform/subDivision/indexDirective"));
|
|
22
|
+
var _contentsDirective = /*#__PURE__*/ _interop_require_default(require("../../transform/subDivision/contentsDirective"));
|
|
23
|
+
var _footnotesDirective = /*#__PURE__*/ _interop_require_default(require("../../transform/subDivision/footnotesDirective"));
|
|
24
|
+
var _pageNumberDirective = /*#__PURE__*/ _interop_require_default(require("../../transform/subDivision/pageNumberDirective"));
|
|
24
25
|
var _ruleNames = require("../../ruleNames");
|
|
25
26
|
var _footnotes = require("../../utilities/footnotes");
|
|
26
27
|
var _query = require("../../utilities/query");
|
|
27
|
-
function _array_like_to_array(arr, len) {
|
|
28
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
29
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
30
|
-
return arr2;
|
|
31
|
-
}
|
|
32
|
-
function _array_without_holes(arr) {
|
|
33
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
34
|
-
}
|
|
35
28
|
function _assert_this_initialized(self) {
|
|
36
29
|
if (self === void 0) {
|
|
37
30
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -101,12 +94,6 @@ function _interop_require_default(obj) {
|
|
|
101
94
|
default: obj
|
|
102
95
|
};
|
|
103
96
|
}
|
|
104
|
-
function _iterable_to_array(iter) {
|
|
105
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
106
|
-
}
|
|
107
|
-
function _non_iterable_spread() {
|
|
108
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
109
|
-
}
|
|
110
97
|
function _possible_constructor_return(self, call) {
|
|
111
98
|
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
112
99
|
return call;
|
|
@@ -127,21 +114,10 @@ function _super_prop_base(object, property) {
|
|
|
127
114
|
}
|
|
128
115
|
return object;
|
|
129
116
|
}
|
|
130
|
-
function _to_consumable_array(arr) {
|
|
131
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
132
|
-
}
|
|
133
117
|
function _type_of(obj) {
|
|
134
118
|
"@swc/helpers - typeof";
|
|
135
119
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
136
120
|
}
|
|
137
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
138
|
-
if (!o) return;
|
|
139
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
140
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
141
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
142
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
143
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
144
|
-
}
|
|
145
121
|
function _is_native_reflect_construct() {
|
|
146
122
|
try {
|
|
147
123
|
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
@@ -153,37 +129,30 @@ function _is_native_reflect_construct() {
|
|
|
153
129
|
var clear = _necessary.arrayUtilities.clear, filter = _necessary.arrayUtilities.filter;
|
|
154
130
|
var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
155
131
|
_inherits(DivisionMarkdownNode, MarkdownNode);
|
|
156
|
-
function DivisionMarkdownNode(
|
|
132
|
+
function DivisionMarkdownNode() {
|
|
157
133
|
_class_call_check(this, DivisionMarkdownNode);
|
|
158
|
-
|
|
159
|
-
_this = _call_super(this, DivisionMarkdownNode, [
|
|
160
|
-
ruleName,
|
|
161
|
-
childNodes,
|
|
162
|
-
precedence,
|
|
163
|
-
opacity,
|
|
164
|
-
domElement
|
|
165
|
-
]);
|
|
166
|
-
_this.divisionClassName = divisionClassName;
|
|
167
|
-
return _this;
|
|
134
|
+
return _call_super(this, DivisionMarkdownNode, arguments);
|
|
168
135
|
}
|
|
169
136
|
_create_class(DivisionMarkdownNode, [
|
|
170
137
|
{
|
|
171
|
-
key: "
|
|
172
|
-
value: function
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
key: "setDivisionClassName",
|
|
178
|
-
value: function setDivisionClassName(divisionClassName) {
|
|
179
|
-
this.divisionClassName = divisionClassName;
|
|
138
|
+
key: "resolveIncludes",
|
|
139
|
+
value: function resolveIncludes(context) {
|
|
140
|
+
var divisionMarkdownNode = this, includeDirectivesDivisionTransform = _includeDirectives.default.fromDivisionMarkdownNode(divisionMarkdownNode, context);
|
|
141
|
+
if (includeDirectivesDivisionTransform !== null) {
|
|
142
|
+
includeDirectivesDivisionTransform.removeDivisionMarkdownNode(divisionMarkdownNode, context);
|
|
143
|
+
}
|
|
180
144
|
}
|
|
181
145
|
},
|
|
182
146
|
{
|
|
183
|
-
key: "
|
|
184
|
-
value: function
|
|
185
|
-
var divisionMarkdownNode =
|
|
186
|
-
|
|
147
|
+
key: "resolveEmbeddings",
|
|
148
|
+
value: function resolveEmbeddings(divisionMarkdownNode, context) {
|
|
149
|
+
var divisionMarkdownNode = this, embedDirectivesDivisionTransform = _embedDirectives.default.fromDivisionMarkdownNode(divisionMarkdownNode, context);
|
|
150
|
+
if (embedDirectivesDivisionTransform !== null) {
|
|
151
|
+
var subDivisionMarkdownNodes = embedDirectivesDivisionTransform.replaceDivisionMarkdownNode(divisionMarkdownNode, context);
|
|
152
|
+
subDivisionMarkdownNodes.forEach(function(subDivisionMarkdownNode) {
|
|
153
|
+
subDivisionMarkdownNode.resolveEmbeddings(divisionMarkdownNode, context);
|
|
154
|
+
});
|
|
155
|
+
}
|
|
187
156
|
}
|
|
188
157
|
},
|
|
189
158
|
{
|
|
@@ -201,162 +170,169 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
201
170
|
}
|
|
202
171
|
},
|
|
203
172
|
{
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
173
|
+
// getPageNumber() {
|
|
174
|
+
// let pageNumber = null;
|
|
175
|
+
//
|
|
176
|
+
// const pageNumberDirectiveMarkdownNode = this.findPageNumberDirectiveMarkdownNode();
|
|
177
|
+
//
|
|
178
|
+
// if (pageNumberDirectiveMarkdownNode !== null) {
|
|
179
|
+
// pageNumber = pageNumberDirectiveMarkdownNode.getPageNumber();
|
|
180
|
+
// }
|
|
181
|
+
//
|
|
182
|
+
// return pageNumber;
|
|
183
|
+
// }
|
|
184
|
+
//
|
|
185
|
+
// setPageNumber(pageNumber) {
|
|
186
|
+
// const pageNumberDirectiveMarkdownNode = this.findPageNumberDirectiveMarkdownNode();
|
|
187
|
+
//
|
|
188
|
+
// if (pageNumberDirectiveMarkdownNode !== null) {
|
|
189
|
+
// pageNumberDirectiveMarkdownNode.setPageNumber(pageNumber);
|
|
190
|
+
// }
|
|
191
|
+
// }
|
|
192
|
+
//
|
|
193
|
+
// paginate(markdownNodes, context) {
|
|
194
|
+
// const footnotesDirectiveDivisionTransform = this.removeDivisionMarkdownNode(FootnotesDirectiveDivisionTransform, context),
|
|
195
|
+
// pageNumberDirectiveDivisionTransform = this.removeDivisionMarkdownNode(PageNumberDirectiveDivisionTransform, context),
|
|
196
|
+
// subDivisionTransforms = [
|
|
197
|
+
// footnotesDirectiveDivisionTransform,
|
|
198
|
+
// pageNumberDirectiveDivisionTransform
|
|
199
|
+
// ];
|
|
200
|
+
//
|
|
201
|
+
// filter(subDivisionTransforms, (subDivisionTransform) => {
|
|
202
|
+
// if (subDivisionTransform !== null) {
|
|
203
|
+
// return true;
|
|
204
|
+
// }
|
|
205
|
+
// });
|
|
206
|
+
//
|
|
207
|
+
// const { linesPerPage } = context,
|
|
208
|
+
// paginatedChildNodes = [];
|
|
209
|
+
//
|
|
210
|
+
// let { pageNumber } = context,
|
|
211
|
+
// totalLines = 0;
|
|
212
|
+
//
|
|
213
|
+
// this.forEachChildNode((childNode) => {
|
|
214
|
+
// const lines = childNode.lines(context);
|
|
215
|
+
//
|
|
216
|
+
// if ((totalLines + lines) > linesPerPage) {
|
|
217
|
+
// paginateDivisionMarkdownNode(paginatedChildNodes, subDivisionTransforms, this.divisionClassName, markdownNodes, pageNumber, context);
|
|
218
|
+
//
|
|
219
|
+
// pageNumber++;
|
|
220
|
+
//
|
|
221
|
+
// totalLines = 0;
|
|
222
|
+
//
|
|
223
|
+
// clear(paginatedChildNodes);
|
|
224
|
+
// }
|
|
225
|
+
//
|
|
226
|
+
// const paginatedChildNode = childNode; ///
|
|
227
|
+
//
|
|
228
|
+
// paginatedChildNodes.push(paginatedChildNode);
|
|
229
|
+
//
|
|
230
|
+
// totalLines += lines;
|
|
231
|
+
// });
|
|
232
|
+
//
|
|
233
|
+
// if (totalLines > 0) {
|
|
234
|
+
// paginateDivisionMarkdownNode(paginatedChildNodes, subDivisionTransforms, this.divisionClassName, markdownNodes, pageNumber, context);
|
|
235
|
+
//
|
|
236
|
+
// pageNumber++;
|
|
237
|
+
// }
|
|
238
|
+
//
|
|
239
|
+
// Object.assign(context, {
|
|
240
|
+
// pageNumber
|
|
241
|
+
// });
|
|
242
|
+
// }
|
|
243
|
+
//
|
|
244
|
+
// createIndex(divisionMarkdownNodes, context) {
|
|
245
|
+
// let indexCreated = false;
|
|
246
|
+
//
|
|
247
|
+
// const indexDirectiveDivisionTransform = this.findDivisionTransform(IndexDirectiveDivisionTransform, context);
|
|
248
|
+
//
|
|
249
|
+
// if (indexDirectiveDivisionTransform !== null) {
|
|
250
|
+
// const divisionMarkdownNode = this, ///
|
|
251
|
+
// indexTransform = IndexTransform.fromDivisionMarkdownNodesAndDivisionMarkdownNode(divisionMarkdownNodes, divisionMarkdownNode, context);
|
|
252
|
+
//
|
|
253
|
+
// if (indexTransform !== null) {
|
|
254
|
+
// indexTransform.replaceIndexDirectiveSubdivisionTransform(indexDirectiveDivisionTransform, divisionMarkdownNode, context);
|
|
255
|
+
//
|
|
256
|
+
// indexCreated = true;
|
|
257
|
+
// }
|
|
258
|
+
// }
|
|
259
|
+
//
|
|
260
|
+
// return indexCreated;
|
|
261
|
+
// }
|
|
262
|
+
//
|
|
263
|
+
// createContents(divisionMarkdownNodes, context) {
|
|
264
|
+
// let contentsCreated = false;
|
|
265
|
+
//
|
|
266
|
+
// const contentsDirectiveDivisionTransform = this.findDivisionTransform(ContentsDirectiveDivisionTransform, context);
|
|
267
|
+
//
|
|
268
|
+
// if (contentsDirectiveDivisionTransform !== null) {
|
|
269
|
+
// const divisionMarkdownNode = this, ///
|
|
270
|
+
// contentsListTransform = ContentsListTransform.fromDivisionMarkdownNodesAndDivisionMarkdownNode(divisionMarkdownNodes, divisionMarkdownNode, context);
|
|
271
|
+
//
|
|
272
|
+
// if (contentsListTransform !== null) {
|
|
273
|
+
// contentsListTransform.replaceContentsDirectiveSubdivisionTransform(contentsDirectiveDivisionTransform, divisionMarkdownNode, context);
|
|
274
|
+
//
|
|
275
|
+
// contentsCreated = true;
|
|
276
|
+
// }
|
|
277
|
+
// }
|
|
278
|
+
//
|
|
279
|
+
// return contentsCreated;
|
|
280
|
+
// }
|
|
281
|
+
//
|
|
282
|
+
// createFootnotes(footnoteTransformMap, context) {
|
|
283
|
+
// const footnotesDirectiveDivisionTransform = this.findDivisionTransform(FootnotesDirectiveDivisionTransform, context);
|
|
284
|
+
//
|
|
285
|
+
// if (footnotesDirectiveDivisionTransform !== null) {
|
|
286
|
+
// const divisionMarkdownNode = this, ///
|
|
287
|
+
// footnotesListDivisionTransform = FootnotesListTransform.fromDivisionMarkdownNodeAndFootnoteTransformMap(divisionMarkdownNode, footnoteTransformMap, context);
|
|
288
|
+
//
|
|
289
|
+
// if (footnotesListDivisionTransform !== null) {
|
|
290
|
+
// footnotesListDivisionTransform.replaceFootnotesDirectiveDivisionTransform(footnotesDirectiveDivisionTransform, divisionMarkdownNode, context);
|
|
291
|
+
// }
|
|
292
|
+
//
|
|
293
|
+
// renumberFootnoteLinkMarkdownNodes(divisionMarkdownNode, footnoteTransformMap, context);
|
|
294
|
+
// }
|
|
295
|
+
// }
|
|
296
|
+
//
|
|
297
|
+
// prepareFootnotes(footnoteTransformMap, context) {
|
|
298
|
+
// const footnoteDivisionTransforms = this.removeDivisionMarkdownNodes(FootnoteDivisionTransform, context);
|
|
299
|
+
//
|
|
300
|
+
// footnoteDivisionTransforms.forEach((footnoteDivisionTransform) => {
|
|
301
|
+
// const footnoteTransform = FootnoteTransform.fromFootnoteDivisionTransform(footnoteDivisionTransform),
|
|
302
|
+
// identifier = footnoteDivisionTransform.identifier(context);
|
|
303
|
+
//
|
|
304
|
+
// footnoteTransformMap[identifier] = footnoteTransform;
|
|
305
|
+
// });
|
|
306
|
+
// }
|
|
307
|
+
key: "findDivisionTransform",
|
|
308
|
+
value: function findDivisionTransform(DivisionTransform, context) {
|
|
309
|
+
var subDivisionTransform = null;
|
|
310
|
+
var subDivisionMarkdownNodes = this.findDivisionMarkdownNodes();
|
|
335
311
|
subDivisionMarkdownNodes.some(function(subDivisionMarkdownNode) {
|
|
336
|
-
|
|
337
|
-
if (
|
|
312
|
+
subDivisionTransform = DivisionTransform.fromDivisionMarkdownNode(subDivisionMarkdownNode, context);
|
|
313
|
+
if (subDivisionTransform !== null) {
|
|
338
314
|
return true;
|
|
339
315
|
}
|
|
340
316
|
});
|
|
341
|
-
return
|
|
317
|
+
return subDivisionTransform;
|
|
342
318
|
}
|
|
343
319
|
},
|
|
344
320
|
{
|
|
345
|
-
key: "
|
|
346
|
-
value: function
|
|
347
|
-
var subDivisionMarkdownNodes = this.
|
|
348
|
-
var
|
|
349
|
-
if (
|
|
350
|
-
|
|
321
|
+
key: "findDivisionTransforms",
|
|
322
|
+
value: function findDivisionTransforms(DivisionTransform, context) {
|
|
323
|
+
var subDivisionMarkdownNodes = this.findDivisionMarkdownNodes(), subDivisionTransforms = subDivisionMarkdownNodes.reduce(function(subDivisionTransforms, subDivisionMarkdownNode) {
|
|
324
|
+
var subDivisionTransform = DivisionTransform.fromDivisionMarkdownNode(subDivisionMarkdownNode, context);
|
|
325
|
+
if (subDivisionTransform !== null) {
|
|
326
|
+
subDivisionTransforms.push(subDivisionTransform);
|
|
351
327
|
}
|
|
352
|
-
return
|
|
328
|
+
return subDivisionTransforms;
|
|
353
329
|
}, []);
|
|
354
|
-
return
|
|
330
|
+
return subDivisionTransforms;
|
|
355
331
|
}
|
|
356
332
|
},
|
|
357
333
|
{
|
|
358
|
-
key: "
|
|
359
|
-
value: function
|
|
334
|
+
key: "findDivisionMarkdownNodes",
|
|
335
|
+
value: function findDivisionMarkdownNodes() {
|
|
360
336
|
var node = this, subDivisionMarkdownNodes = (0, _query.subDivisionMarkdownNodesFromNode)(node);
|
|
361
337
|
return subDivisionMarkdownNodes;
|
|
362
338
|
}
|
|
@@ -365,7 +341,7 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
365
341
|
key: "findPageNumberDirectiveMarkdownNode",
|
|
366
342
|
value: function findPageNumberDirectiveMarkdownNode() {
|
|
367
343
|
var pageNumberDirectiveMarkdownNode = null;
|
|
368
|
-
var subDivisionMarkdownNodes = this.
|
|
344
|
+
var subDivisionMarkdownNodes = this.findDivisionMarkdownNodes();
|
|
369
345
|
subDivisionMarkdownNodes.some(function(subDivisionMarkdownNode) {
|
|
370
346
|
var node = subDivisionMarkdownNode; ///
|
|
371
347
|
pageNumberDirectiveMarkdownNode = (0, _query.pageNumberDirectiveMarkdownNodeFromNode)(node);
|
|
@@ -377,47 +353,35 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
377
353
|
}
|
|
378
354
|
},
|
|
379
355
|
{
|
|
380
|
-
key: "
|
|
381
|
-
value: function
|
|
382
|
-
var divisionMarkdownNode = this,
|
|
383
|
-
if (
|
|
384
|
-
|
|
356
|
+
key: "removeDivisionMarkdownNode",
|
|
357
|
+
value: function removeDivisionMarkdownNode(DivisionTransform, context) {
|
|
358
|
+
var divisionMarkdownNode = this, subDivisionTransform = this.findDivisionTransform(DivisionTransform, context);
|
|
359
|
+
if (subDivisionTransform !== null) {
|
|
360
|
+
subDivisionTransform.removeFromDivisionMarkdownNode(divisionMarkdownNode, context);
|
|
385
361
|
}
|
|
386
|
-
return
|
|
362
|
+
return subDivisionTransform;
|
|
387
363
|
}
|
|
388
364
|
},
|
|
389
365
|
{
|
|
390
|
-
key: "
|
|
391
|
-
value: function
|
|
392
|
-
var divisionMarkdownNode = this,
|
|
393
|
-
|
|
394
|
-
|
|
366
|
+
key: "removeDivisionMarkdownNodes",
|
|
367
|
+
value: function removeDivisionMarkdownNodes(DivisionTransform, context) {
|
|
368
|
+
var divisionMarkdownNode = this, subDivisionTransforms = this.findDivisionTransforms(DivisionTransform, context);
|
|
369
|
+
subDivisionTransforms.forEach(function(subDivisionTransform) {
|
|
370
|
+
subDivisionTransform.removeFromDivisionMarkdownNode(divisionMarkdownNode, context);
|
|
395
371
|
});
|
|
396
|
-
return
|
|
372
|
+
return subDivisionTransforms;
|
|
397
373
|
}
|
|
398
374
|
},
|
|
399
375
|
{
|
|
400
|
-
key: "
|
|
401
|
-
value: function
|
|
402
|
-
var
|
|
403
|
-
|
|
404
|
-
var
|
|
405
|
-
|
|
376
|
+
key: "createFootnotesListTransform",
|
|
377
|
+
value: function createFootnotesListTransform(footnoteTransformMap, context) {
|
|
378
|
+
var footnoteDivisionTransforms = this.findDivisionTransforms(_footnote1.default, context);
|
|
379
|
+
footnoteDivisionTransforms.forEach(function(footnoteDivisionTransform) {
|
|
380
|
+
var footnoteTransform = _footnote.default.fromFootnoteDivisionTransform(footnoteDivisionTransform), identifier = footnoteDivisionTransform.identifier(context);
|
|
381
|
+
footnoteTransformMap[identifier] = footnoteTransform;
|
|
406
382
|
});
|
|
407
|
-
var divisionMarkdownNode = this,
|
|
408
|
-
return
|
|
409
|
-
}
|
|
410
|
-
},
|
|
411
|
-
{
|
|
412
|
-
key: "asHTML",
|
|
413
|
-
value: function asHTML(context) {
|
|
414
|
-
var html = null;
|
|
415
|
-
var indent = _constants.EMPTY_STRING, childNodesHTML = this.childNodesAsHTML(indent, context);
|
|
416
|
-
if (childNodesHTML !== null) {
|
|
417
|
-
var startingTag = this.startingTag(context), closingTag = this.closingTag(context);
|
|
418
|
-
html = "".concat(indent).concat(startingTag, "\n").concat(childNodesHTML).concat(indent).concat(closingTag, "\n");
|
|
419
|
-
}
|
|
420
|
-
return html;
|
|
383
|
+
var divisionMarkdownNode = this, footnotesListDivisionTransform = _footnotesList.default.fromDivisionMarkdownNodeAndFootnoteTransformMap(divisionMarkdownNode, footnoteTransformMap, context);
|
|
384
|
+
return footnotesListDivisionTransform;
|
|
421
385
|
}
|
|
422
386
|
},
|
|
423
387
|
{
|
|
@@ -430,28 +394,15 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
430
394
|
{
|
|
431
395
|
key: "fromRuleNameChildNodesAndOpacity",
|
|
432
396
|
value: function fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) {
|
|
433
|
-
|
|
434
|
-
return divisionMarkdownNode;
|
|
435
|
-
}
|
|
436
|
-
},
|
|
437
|
-
{
|
|
438
|
-
key: "fromPaginatedChildNodesSubDivisionReplacementsAndDivisionClassName",
|
|
439
|
-
value: function fromPaginatedChildNodesSubDivisionReplacementsAndDivisionClassName(paginatedChildNodes, subDivisionReplacements, divisionClassName, context) {
|
|
440
|
-
var ruleName = _ruleNames.DIVISION_RULE_NAME, childNodes = _to_consumable_array(paginatedChildNodes), opacity = null, divisionMarkdownNode = DivisionMarkdownNode.fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity);
|
|
441
|
-
divisionMarkdownNode.setDivisionClassName(divisionClassName);
|
|
442
|
-
subDivisionReplacements.forEach(function(subDivisionReplacement) {
|
|
443
|
-
subDivisionReplacement = subDivisionReplacement.clone(); ///
|
|
444
|
-
subDivisionReplacement.appendToDivisionMarkdownNode(divisionMarkdownNode, context);
|
|
445
|
-
});
|
|
446
|
-
return divisionMarkdownNode;
|
|
397
|
+
return _markdown.default.fromRuleNameChildNodesAndOpacity(DivisionMarkdownNode, ruleName, childNodes, opacity);
|
|
447
398
|
}
|
|
448
399
|
}
|
|
449
400
|
]);
|
|
450
401
|
return DivisionMarkdownNode;
|
|
451
402
|
}(_markdown.default);
|
|
452
|
-
function paginateDivisionMarkdownNode(paginatedChildNodes,
|
|
403
|
+
function paginateDivisionMarkdownNode(paginatedChildNodes, subDivisionTransforms, divisionClassName, markdownNodes, pageNumber, context) {
|
|
453
404
|
var markdownNode;
|
|
454
|
-
var
|
|
405
|
+
var indexAnchorTransform = _indexAnchor.default.fromPageNumber(pageNumber, context), divisionMarkdownNode = DivisionMarkdownNode.fromPaginatedChildNodesDivisionTransformsAndDivisionClassName(paginatedChildNodes, subDivisionTransforms, divisionClassName, context), anchorMarkdownNode = indexAnchorTransform.getAnchorMarkdownNode();
|
|
455
406
|
divisionMarkdownNode.setPageNumber(pageNumber);
|
|
456
407
|
markdownNode = anchorMarkdownNode; ///
|
|
457
408
|
markdownNodes.push(markdownNode);
|
|
@@ -459,4 +410,4 @@ function paginateDivisionMarkdownNode(paginatedChildNodes, subDivisionReplacemen
|
|
|
459
410
|
markdownNodes.push(markdownNode);
|
|
460
411
|
}
|
|
461
412
|
|
|
462
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL2RpdmlzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IE1hcmtkb3duTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9tYXJrZG93blwiO1xuaW1wb3J0IEluZGV4UmVwbGFjZW1lbnQgZnJvbSBcIi4uLy4uL3JlcGxhY2VtZW50L2luZGV4XCI7XG5pbXBvcnQgRm9vdG5vdGVSZXBsYWNlbWVudCBmcm9tIFwiLi4vLi4vcmVwbGFjZW1lbnQvZm9vdG5vdGVcIjtcbmltcG9ydCBJbmRleEFuY2hvclJlcGxhY2VtZW50IGZyb20gXCIuLi8uLi9yZXBsYWNlbWVudC9pbmRleEFuY2hvclwiO1xuaW1wb3J0IENvbnRlbnRzTGlzdFJlcGxhY2VtZW50IGZyb20gXCIuLi8uLi9yZXBsYWNlbWVudC9jb250ZW50c0xpc3RcIjtcbmltcG9ydCBGb290bm90ZXNMaXN0UmVwbGFjZW1lbnQgZnJvbSBcIi4uLy4uL3JlcGxhY2VtZW50L2Zvb3Rub3Rlc0xpc3RcIjtcbmltcG9ydCBGb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgZnJvbSBcIi4uLy4uL3JlcGxhY2VtZW50L3N1YkRpdmlzaW9uL2Zvb3Rub3RlXCI7XG5pbXBvcnQgSW5kZXhEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50IGZyb20gXCIuLi8uLi9yZXBsYWNlbWVudC9zdWJEaXZpc2lvbi9pbmRleERpcmVjdGl2ZVwiO1xuaW1wb3J0IENvbnRlbnRzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCBmcm9tIFwiLi4vLi4vcmVwbGFjZW1lbnQvc3ViRGl2aXNpb24vY29udGVudHNEaXJlY3RpdmVcIjtcbmltcG9ydCBGb290bm90ZXNEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50IGZyb20gXCIuLi8uLi9yZXBsYWNlbWVudC9zdWJEaXZpc2lvbi9mb290bm90ZXNEaXJlY3RpdmVcIjtcbmltcG9ydCBQYWdlTnVtYmVyRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCBmcm9tIFwiLi4vLi4vcmVwbGFjZW1lbnQvc3ViRGl2aXNpb24vcGFnZU51bWJlckRpcmVjdGl2ZVwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBESVZJU0lPTl9SVUxFX05BTUUgfSBmcm9tIFwiLi4vLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyByZW51bWJlckZvb3Rub3RlTGlua01hcmtkb3duTm9kZXMgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2Zvb3Rub3Rlc1wiO1xuaW1wb3J0IHsgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUsIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLCBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHsgY2xlYXIsIGZpbHRlciB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERpdmlzaW9uTWFya2Rvd25Ob2RlIGV4dGVuZHMgTWFya2Rvd25Ob2RlIHtcbiAgY29uc3RydWN0b3IocnVsZU5hbWUsIGNoaWxkTm9kZXMsIHByZWNlZGVuY2UsIG9wYWNpdHksIGRvbUVsZW1lbnQsIGRpdmlzaW9uQ2xhc3NOYW1lKSB7XG4gICAgc3VwZXIocnVsZU5hbWUsIGNoaWxkTm9kZXMsIHByZWNlZGVuY2UsIG9wYWNpdHksIGRvbUVsZW1lbnQpO1xuXG4gICAgdGhpcy5kaXZpc2lvbkNsYXNzTmFtZSA9IGRpdmlzaW9uQ2xhc3NOYW1lO1xuICB9XG5cbiAgZ2V0RGl2aXNpb25DbGFzc05hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGl2aXNpb25DbGFzc05hbWU7XG4gIH1cblxuICBzZXREaXZpc2lvbkNsYXNzTmFtZShkaXZpc2lvbkNsYXNzTmFtZSkge1xuICAgIHRoaXMuZGl2aXNpb25DbGFzc05hbWUgPSBkaXZpc2lvbkNsYXNzTmFtZTtcbiAgfVxuXG4gIGlzRGl2aXNpb25NYXJrZG93bk5vZGUoKSB7XG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0cnVlO1xuXG4gICAgcmV0dXJuIGRpdmlzaW9uTWFya2Rvd25Ob2RlO1xuICB9XG5cbiAgY2xhc3NOYW1lKGNvbnRleHQpIHtcbiAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lOyAvLy9cblxuICAgIHJldHVybiBjbGFzc05hbWU7XG4gIH1cblxuICBpc0lnbm9yZWQoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBpZ25vcmVkID0gKGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gaWdub3JlZDtcbiAgfVxuXG4gIGdldFBhZ2VOdW1iZXIoKSB7XG4gICAgbGV0IHBhZ2VOdW1iZXIgPSBudWxsO1xuXG4gICAgY29uc3QgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IHRoaXMuZmluZFBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUoKTtcblxuICAgIGlmIChwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlICE9PSBudWxsKSB7XG4gICAgICBwYWdlTnVtYmVyID0gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZS5nZXRQYWdlTnVtYmVyKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhZ2VOdW1iZXI7XG4gIH1cblxuICBzZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpIHtcbiAgICBjb25zdCBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gdGhpcy5maW5kUGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSgpO1xuXG4gICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgIT09IG51bGwpIHtcbiAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKTtcbiAgICB9XG4gIH1cblxuICBwYWdpbmF0ZShtYXJrZG93bk5vZGVzLCBjb250ZXh0KSB7XG4gICAgY29uc3QgZm9vdG5vdGVzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCA9IHRoaXMucmVtb3ZlU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoRm9vdG5vdGVzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCwgY29udGV4dCksXG4gICAgICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPSB0aGlzLnJlbW92ZVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKFBhZ2VOdW1iZXJEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBjb250ZXh0KSxcbiAgICAgICAgICBzdWJEaXZpc2lvblJlcGxhY2VtZW50cyA9IFtcbiAgICAgICAgICAgIGZvb3Rub3Rlc0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsXG4gICAgICAgICAgICBwYWdlTnVtYmVyRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudFxuICAgICAgICAgIF07XG5cbiAgICBmaWx0ZXIoc3ViRGl2aXNpb25SZXBsYWNlbWVudHMsIChzdWJEaXZpc2lvblJlcGxhY2VtZW50KSA9PiB7XG4gICAgICBpZiAoc3ViRGl2aXNpb25SZXBsYWNlbWVudCAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IHsgbGluZXNQZXJQYWdlIH0gPSBjb250ZXh0LFxuICAgICAgICAgIHBhZ2luYXRlZENoaWxkTm9kZXMgPSBbXTtcblxuICAgIGxldCB7IHBhZ2VOdW1iZXIgfSA9IGNvbnRleHQsXG4gICAgICAgIHRvdGFsTGluZXMgPSAwO1xuXG4gICAgdGhpcy5mb3JFYWNoQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGxpbmVzID0gY2hpbGROb2RlLmxpbmVzKGNvbnRleHQpO1xuXG4gICAgICBpZiAoKHRvdGFsTGluZXMgKyBsaW5lcykgPiBsaW5lc1BlclBhZ2UpIHtcbiAgICAgICAgcGFnaW5hdGVEaXZpc2lvbk1hcmtkb3duTm9kZShwYWdpbmF0ZWRDaGlsZE5vZGVzLCBzdWJEaXZpc2lvblJlcGxhY2VtZW50cywgdGhpcy5kaXZpc2lvbkNsYXNzTmFtZSwgbWFya2Rvd25Ob2RlcywgcGFnZU51bWJlciwgY29udGV4dCk7XG5cbiAgICAgICAgcGFnZU51bWJlcisrO1xuXG4gICAgICAgIHRvdGFsTGluZXMgPSAwO1xuXG4gICAgICAgIGNsZWFyKHBhZ2luYXRlZENoaWxkTm9kZXMpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwYWdpbmF0ZWRDaGlsZE5vZGUgPSBjaGlsZE5vZGU7ICAvLy9cblxuICAgICAgcGFnaW5hdGVkQ2hpbGROb2Rlcy5wdXNoKHBhZ2luYXRlZENoaWxkTm9kZSk7XG5cbiAgICAgIHRvdGFsTGluZXMgKz0gbGluZXM7XG4gICAgfSk7XG5cbiAgICBpZiAodG90YWxMaW5lcyA+IDApIHtcbiAgICAgIHBhZ2luYXRlRGl2aXNpb25NYXJrZG93bk5vZGUocGFnaW5hdGVkQ2hpbGROb2Rlcywgc3ViRGl2aXNpb25SZXBsYWNlbWVudHMsIHRoaXMuZGl2aXNpb25DbGFzc05hbWUsIG1hcmtkb3duTm9kZXMsIHBhZ2VOdW1iZXIsIGNvbnRleHQpO1xuXG4gICAgICBwYWdlTnVtYmVyKys7XG4gICAgfVxuXG4gICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgICBwYWdlTnVtYmVyXG4gICAgfSk7XG4gIH1cblxuICBjcmVhdGVJbmRleChkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpIHtcbiAgICBsZXQgaW5kZXhDcmVhdGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBpbmRleERpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPSB0aGlzLmZpbmRTdWJEaXZpc2lvblJlcGxhY2VtZW50KEluZGV4RGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCwgY29udGV4dCk7XG5cbiAgICBpZiAoaW5kZXhEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICAgIGluZGV4UmVwbGFjZW1lbnQgPSBJbmRleFJlcGxhY2VtZW50LmZyb21EaXZpc2lvbk1hcmtkb3duTm9kZXNBbmREaXZpc2lvbk1hcmtkb3duTm9kZShkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgaWYgKGluZGV4UmVwbGFjZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgaW5kZXhSZXBsYWNlbWVudC5yZXBsYWNlSW5kZXhEaXJlY3RpdmVTdWJkaXZpc2lvblJlcGxhY2VtZW50KGluZGV4RGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCwgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIGluZGV4Q3JlYXRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZGV4Q3JlYXRlZDtcbiAgfVxuXG4gIGNyZWF0ZUNvbnRlbnRzKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICAgIGxldCBjb250ZW50c0NyZWF0ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IGNvbnRlbnRzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCA9IHRoaXMuZmluZFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQoQ29udGVudHNEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBjb250ZXh0KTtcblxuICAgIGlmIChjb250ZW50c0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgICAgY29udGVudHNMaXN0UmVwbGFjZW1lbnQgPSBDb250ZW50c0xpc3RSZXBsYWNlbWVudC5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGVzQW5kRGl2aXNpb25NYXJrZG93bk5vZGUoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIGlmIChjb250ZW50c0xpc3RSZXBsYWNlbWVudCAhPT0gbnVsbCkge1xuICAgICAgICBjb250ZW50c0xpc3RSZXBsYWNlbWVudC5yZXBsYWNlQ29udGVudHNEaXJlY3RpdmVTdWJkaXZpc2lvblJlcGxhY2VtZW50KGNvbnRlbnRzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCwgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIGNvbnRlbnRzQ3JlYXRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnRlbnRzQ3JlYXRlZDtcbiAgfVxuXG4gIGNyZWF0ZUZvb3Rub3Rlcyhmb290bm90ZVJlcGxhY2VtZW50TWFwLCBjb250ZXh0KSB7XG4gICAgY29uc3QgZm9vdG5vdGVzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCA9IHRoaXMuZmluZFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQoRm9vdG5vdGVzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCwgY29udGV4dCk7XG5cbiAgICBpZiAoZm9vdG5vdGVzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgICBmb290bm90ZXNMaXN0U3ViRGl2aXNpb25SZXBsYWNlbWVudCA9IEZvb3Rub3Rlc0xpc3RSZXBsYWNlbWVudC5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGVBbmRGb290bm90ZVJlcGxhY2VtZW50TWFwKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBmb290bm90ZVJlcGxhY2VtZW50TWFwLCBjb250ZXh0KTtcblxuICAgICAgaWYgKGZvb3Rub3Rlc0xpc3RTdWJEaXZpc2lvblJlcGxhY2VtZW50ICE9PSBudWxsKSB7XG4gICAgICAgIGZvb3Rub3Rlc0xpc3RTdWJEaXZpc2lvblJlcGxhY2VtZW50LnJlcGxhY2VGb290bm90ZXNEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50KGZvb3Rub3Rlc0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICAgIH1cblxuICAgICAgcmVudW1iZXJGb290bm90ZUxpbmtNYXJrZG93bk5vZGVzKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBmb290bm90ZVJlcGxhY2VtZW50TWFwLCBjb250ZXh0KTtcbiAgICB9XG4gIH1cblxuICBwcmVwYXJlRm9vdG5vdGVzKGZvb3Rub3RlUmVwbGFjZW1lbnRNYXAsIGNvbnRleHQpIHtcbiAgICBjb25zdCBmb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzID0gdGhpcy5yZW1vdmVTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMoRm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBjb250ZXh0KTtcblxuICAgIGZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudHMuZm9yRWFjaCgoZm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50KSA9PiB7XG4gICAgICBjb25zdCBmb290bm90ZVJlcGxhY2VtZW50ID0gRm9vdG5vdGVSZXBsYWNlbWVudC5mcm9tRm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50KGZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudCksXG4gICAgICAgICAgICBpZGVudGlmaWVyID0gZm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50LmlkZW50aWZpZXIoY29udGV4dCk7XG5cbiAgICAgIGZvb3Rub3RlUmVwbGFjZW1lbnRNYXBbaWRlbnRpZmllcl0gPSBmb290bm90ZVJlcGxhY2VtZW50O1xuICAgIH0pO1xuICB9XG5cbiAgcmVzb2x2ZUluY2x1ZGVzKGNvbnRleHQpIHtcbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcblxuICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5mb3JFYWNoKChzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGUucmVzb2x2ZUluY2x1ZGVzKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlc29sdmVFbWJlZGRpbmdzKGNvbnRleHQpIHtcbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcblxuICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5mb3JFYWNoKChzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGUucmVzb2x2ZUVtYmVkZGluZ3MoZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAgIH0pO1xuICB9XG5cbiAgZmluZFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQoU3ViRGl2aXNpb25SZXBsYWNlbWVudCwgY29udGV4dCkge1xuICAgIGxldCBzdWJEaXZpc2lvblJlcGxhY2VtZW50ID0gbnVsbDtcblxuICAgIGNvbnN0IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IHRoaXMuZmluZFN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcygpO1xuXG4gICAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzLnNvbWUoKHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICBzdWJEaXZpc2lvblJlcGxhY2VtZW50ID0gU3ViRGl2aXNpb25SZXBsYWNlbWVudC5mcm9tU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoc3ViRGl2aXNpb25SZXBsYWNlbWVudCAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzdWJEaXZpc2lvblJlcGxhY2VtZW50O1xuICB9XG5cbiAgZmluZFN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzKFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGNvbnRleHQpIHtcbiAgICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMoKSxcbiAgICAgICAgICBzdWJEaXZpc2lvblJlcGxhY2VtZW50cyA9IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5yZWR1Y2UoKHN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzLCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3ViRGl2aXNpb25SZXBsYWNlbWVudCA9IFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQuZnJvbVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgICAgICAgaWYgKHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgc3ViRGl2aXNpb25SZXBsYWNlbWVudHMucHVzaChzdWJEaXZpc2lvblJlcGxhY2VtZW50KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzO1xuICAgICAgICAgIH0sIFtdKTtcblxuICAgIHJldHVybiBzdWJEaXZpc2lvblJlcGxhY2VtZW50cztcbiAgfVxuXG4gIGZpbmRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlKTtcblxuICAgIHJldHVybiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXM7XG4gIH1cblxuICBmaW5kUGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSgpIHtcbiAgICBsZXQgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IG51bGw7XG5cbiAgICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcblxuICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5zb21lKChzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlOyAvLy9cblxuICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKTtcblxuICAgICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbiAgfVxuXG4gIHJlbW92ZVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGNvbnRleHQpIHtcbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvL1xuICAgICAgICAgIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPSB0aGlzLmZpbmRTdWJEaXZpc2lvblJlcGxhY2VtZW50KFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGNvbnRleHQpO1xuXG4gICAgaWYgKHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQucmVtb3ZlRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25SZXBsYWNlbWVudDtcbiAgfVxuXG4gIHJlbW92ZVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyhTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBjb250ZXh0KSB7XG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy9cbiAgICAgICAgICBzdWJEaXZpc2lvblJlcGxhY2VtZW50cyA9IHRoaXMuZmluZFN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzKFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQsIGNvbnRleHQpO1xuXG4gICAgc3ViRGl2aXNpb25SZXBsYWNlbWVudHMuZm9yRWFjaCgoc3ViRGl2aXNpb25SZXBsYWNlbWVudCkgPT4ge1xuICAgICAgc3ViRGl2aXNpb25SZXBsYWNlbWVudC5yZW1vdmVGcm9tRGl2aXNpb25NYXJrZG93bk5vZGUoZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzO1xuICB9XG5cbiAgY3JlYXRlRm9vdG5vdGVzTGlzdFJlcGxhY2VtZW50KGZvb3Rub3RlUmVwbGFjZW1lbnRNYXAsIGNvbnRleHQpIHtcbiAgICBjb25zdCBmb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzID0gdGhpcy5maW5kU3ViRGl2aXNpb25SZXBsYWNlbWVudHMoRm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50LCBjb250ZXh0KTtcblxuICAgIGZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudHMuZm9yRWFjaCgoZm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50KSA9PiB7XG4gICAgICBjb25zdCBmb290bm90ZVJlcGxhY2VtZW50ID0gRm9vdG5vdGVSZXBsYWNlbWVudC5mcm9tRm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50KGZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudCksXG4gICAgICAgICAgICBpZGVudGlmaWVyID0gZm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50LmlkZW50aWZpZXIoY29udGV4dCk7XG5cbiAgICAgIGZvb3Rub3RlUmVwbGFjZW1lbnRNYXBbaWRlbnRpZmllcl0gPSBmb290bm90ZVJlcGxhY2VtZW50O1xuICAgIH0pO1xuXG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgZm9vdG5vdGVzTGlzdFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQgPSBGb290bm90ZXNMaXN0UmVwbGFjZW1lbnQuZnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlQW5kRm9vdG5vdGVSZXBsYWNlbWVudE1hcChkaXZpc2lvbk1hcmtkb3duTm9kZSwgZm9vdG5vdGVSZXBsYWNlbWVudE1hcCwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZm9vdG5vdGVzTGlzdFN1YkRpdmlzaW9uUmVwbGFjZW1lbnQ7XG4gIH1cblxuICBhc0hUTUwoY29udGV4dCkge1xuICAgIGxldCBodG1sID0gbnVsbDtcblxuICAgIGNvbnN0IGluZGVudCA9IEVNUFRZX1NUUklORyxcbiAgICAgICAgICBjaGlsZE5vZGVzSFRNTCA9IHRoaXMuY2hpbGROb2Rlc0FzSFRNTChpbmRlbnQsIGNvbnRleHQpO1xuXG4gICAgaWYgKGNoaWxkTm9kZXNIVE1MICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGFydGluZ1RhZyA9IHRoaXMuc3RhcnRpbmdUYWcoY29udGV4dCksXG4gICAgICAgICAgICBjbG9zaW5nVGFnID0gdGhpcy5jbG9zaW5nVGFnKGNvbnRleHQpO1xuXG4gICAgICBodG1sID0gYCR7aW5kZW50fSR7c3RhcnRpbmdUYWd9XG4ke2NoaWxkTm9kZXNIVE1MfSR7aW5kZW50fSR7Y2xvc2luZ1RhZ31cbmA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWw7XG4gIH1cblxuICBjbG9uZSgpIHsgcmV0dXJuIHN1cGVyLmNsb25lKHRoaXMuZGl2aXNpb25DbGFzc05hbWUpOyB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5KSB7XG4gICAgY29uc3QgZGl2aXNpb25DbGFzc05hbWUgPSBudWxsLFxuICAgICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gTWFya2Rvd25Ob2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KERpdmlzaW9uTWFya2Rvd25Ob2RlLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgZGl2aXNpb25DbGFzc05hbWUpO1xuXG4gICAgcmV0dXJuIGRpdmlzaW9uTWFya2Rvd25Ob2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21QYWdpbmF0ZWRDaGlsZE5vZGVzU3ViRGl2aXNpb25SZXBsYWNlbWVudHNBbmREaXZpc2lvbkNsYXNzTmFtZShwYWdpbmF0ZWRDaGlsZE5vZGVzLCBzdWJEaXZpc2lvblJlcGxhY2VtZW50cywgZGl2aXNpb25DbGFzc05hbWUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IERJVklTSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgICBjaGlsZE5vZGVzID0gW1xuICAgICAgICAgICAgLi4ucGFnaW5hdGVkQ2hpbGROb2Rlc1xuICAgICAgICAgIF0sXG4gICAgICAgICAgb3BhY2l0eSA9IG51bGwsXG4gICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBEaXZpc2lvbk1hcmtkb3duTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eShydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSk7XG5cbiAgICBkaXZpc2lvbk1hcmtkb3duTm9kZS5zZXREaXZpc2lvbkNsYXNzTmFtZShkaXZpc2lvbkNsYXNzTmFtZSk7XG5cbiAgICBzdWJEaXZpc2lvblJlcGxhY2VtZW50cy5mb3JFYWNoKChzdWJEaXZpc2lvblJlcGxhY2VtZW50KSA9PiB7XG4gICAgICBzdWJEaXZpc2lvblJlcGxhY2VtZW50ID0gc3ViRGl2aXNpb25SZXBsYWNlbWVudC5jbG9uZSgpOyAgLy8vXG5cbiAgICAgIHN1YkRpdmlzaW9uUmVwbGFjZW1lbnQuYXBwZW5kVG9EaXZpc2lvbk1hcmtkb3duTm9kZShkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGl2aXNpb25NYXJrZG93bk5vZGU7XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFnaW5hdGVEaXZpc2lvbk1hcmtkb3duTm9kZShwYWdpbmF0ZWRDaGlsZE5vZGVzLCBzdWJEaXZpc2lvblJlcGxhY2VtZW50cywgZGl2aXNpb25DbGFzc05hbWUsIG1hcmtkb3duTm9kZXMsIHBhZ2VOdW1iZXIsIGNvbnRleHQpIHtcbiAgbGV0IG1hcmtkb3duTm9kZTtcblxuICBjb25zdCBpbmRleEFuY2hvclJlcGxhY2VtZW50ID0gSW5kZXhBbmNob3JSZXBsYWNlbWVudC5mcm9tUGFnZU51bWJlcihwYWdlTnVtYmVyLCBjb250ZXh0KSxcbiAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBEaXZpc2lvbk1hcmtkb3duTm9kZS5mcm9tUGFnaW5hdGVkQ2hpbGROb2Rlc1N1YkRpdmlzaW9uUmVwbGFjZW1lbnRzQW5kRGl2aXNpb25DbGFzc05hbWUocGFnaW5hdGVkQ2hpbGROb2Rlcywgc3ViRGl2aXNpb25SZXBsYWNlbWVudHMsIGRpdmlzaW9uQ2xhc3NOYW1lLCBjb250ZXh0KSxcbiAgICAgICAgYW5jaG9yTWFya2Rvd25Ob2RlID0gaW5kZXhBbmNob3JSZXBsYWNlbWVudC5nZXRBbmNob3JNYXJrZG93bk5vZGUoKTtcblxuICBkaXZpc2lvbk1hcmtkb3duTm9kZS5zZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpO1xuXG4gIG1hcmtkb3duTm9kZSA9IGFuY2hvck1hcmtkb3duTm9kZTsgIC8vL1xuXG4gIG1hcmtkb3duTm9kZXMucHVzaChtYXJrZG93bk5vZGUpO1xuXG4gIG1hcmtkb3duTm9kZSA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlOyAvLy9cblxuICBtYXJrZG93bk5vZGVzLnB1c2gobWFya2Rvd25Ob2RlKTtcbn0iXSwibmFtZXMiOlsiRGl2aXNpb25NYXJrZG93bk5vZGUiLCJjbGVhciIsImFycmF5VXRpbGl0aWVzIiwiZmlsdGVyIiwicnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwicHJlY2VkZW5jZSIsIm9wYWNpdHkiLCJkb21FbGVtZW50IiwiZGl2aXNpb25DbGFzc05hbWUiLCJnZXREaXZpc2lvbkNsYXNzTmFtZSIsInNldERpdmlzaW9uQ2xhc3NOYW1lIiwiaXNEaXZpc2lvbk1hcmtkb3duTm9kZSIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiY2xhc3NOYW1lIiwiY29udGV4dCIsImlzSWdub3JlZCIsIm5vZGUiLCJpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSIsImlnbm9yZWQiLCJnZXRQYWdlTnVtYmVyIiwicGFnZU51bWJlciIsInBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJmaW5kUGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSIsInNldFBhZ2VOdW1iZXIiLCJwYWdpbmF0ZSIsIm1hcmtkb3duTm9kZXMiLCJmb290bm90ZXNEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50IiwicmVtb3ZlU3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJGb290bm90ZXNEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50IiwicGFnZU51bWJlckRpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQiLCJQYWdlTnVtYmVyRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsInN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzIiwic3ViRGl2aXNpb25SZXBsYWNlbWVudCIsImxpbmVzUGVyUGFnZSIsInBhZ2luYXRlZENoaWxkTm9kZXMiLCJ0b3RhbExpbmVzIiwiZm9yRWFjaENoaWxkTm9kZSIsImNoaWxkTm9kZSIsImxpbmVzIiwicGFnaW5hdGVEaXZpc2lvbk1hcmtkb3duTm9kZSIsInBhZ2luYXRlZENoaWxkTm9kZSIsInB1c2giLCJPYmplY3QiLCJhc3NpZ24iLCJjcmVhdGVJbmRleCIsImRpdmlzaW9uTWFya2Rvd25Ob2RlcyIsImluZGV4Q3JlYXRlZCIsImluZGV4RGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsImZpbmRTdWJEaXZpc2lvblJlcGxhY2VtZW50IiwiSW5kZXhEaXJlY3RpdmVTdWJEaXZpc2lvblJlcGxhY2VtZW50IiwiaW5kZXhSZXBsYWNlbWVudCIsIkluZGV4UmVwbGFjZW1lbnQiLCJmcm9tRGl2aXNpb25NYXJrZG93bk5vZGVzQW5kRGl2aXNpb25NYXJrZG93bk5vZGUiLCJyZXBsYWNlSW5kZXhEaXJlY3RpdmVTdWJkaXZpc2lvblJlcGxhY2VtZW50IiwiY3JlYXRlQ29udGVudHMiLCJjb250ZW50c0NyZWF0ZWQiLCJjb250ZW50c0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQiLCJDb250ZW50c0RpcmVjdGl2ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnQiLCJjb250ZW50c0xpc3RSZXBsYWNlbWVudCIsIkNvbnRlbnRzTGlzdFJlcGxhY2VtZW50IiwicmVwbGFjZUNvbnRlbnRzRGlyZWN0aXZlU3ViZGl2aXNpb25SZXBsYWNlbWVudCIsImNyZWF0ZUZvb3Rub3RlcyIsImZvb3Rub3RlUmVwbGFjZW1lbnRNYXAiLCJmb290bm90ZXNMaXN0U3ViRGl2aXNpb25SZXBsYWNlbWVudCIsIkZvb3Rub3Rlc0xpc3RSZXBsYWNlbWVudCIsImZyb21EaXZpc2lvbk1hcmtkb3duTm9kZUFuZEZvb3Rub3RlUmVwbGFjZW1lbnRNYXAiLCJyZXBsYWNlRm9vdG5vdGVzRGlyZWN0aXZlU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsInJlbnVtYmVyRm9vdG5vdGVMaW5rTWFya2Rvd25Ob2RlcyIsInByZXBhcmVGb290bm90ZXMiLCJmb290bm90ZVN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzIiwicmVtb3ZlU3ViRGl2aXNpb25NYXJrZG93bk5vZGVzIiwiRm9vdG5vdGVTdWJEaXZpc2lvblJlcGxhY2VtZW50IiwiZm9yRWFjaCIsImZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsImZvb3Rub3RlUmVwbGFjZW1lbnQiLCJGb290bm90ZVJlcGxhY2VtZW50IiwiZnJvbUZvb3Rub3RlU3ViRGl2aXNpb25SZXBsYWNlbWVudCIsImlkZW50aWZpZXIiLCJyZXNvbHZlSW5jbHVkZXMiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJmaW5kU3ViRGl2aXNpb25NYXJrZG93bk5vZGVzIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJyZXNvbHZlRW1iZWRkaW5ncyIsIlN1YkRpdmlzaW9uUmVwbGFjZW1lbnQiLCJzb21lIiwiZnJvbVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiZmluZFN1YkRpdmlzaW9uUmVwbGFjZW1lbnRzIiwicmVkdWNlIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJyZW1vdmVGcm9tRGl2aXNpb25NYXJrZG93bk5vZGUiLCJjcmVhdGVGb290bm90ZXNMaXN0UmVwbGFjZW1lbnQiLCJhc0hUTUwiLCJodG1sIiwiaW5kZW50IiwiRU1QVFlfU1RSSU5HIiwiY2hpbGROb2Rlc0hUTUwiLCJjaGlsZE5vZGVzQXNIVE1MIiwic3RhcnRpbmdUYWciLCJjbG9zaW5nVGFnIiwiY2xvbmUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eSIsIk1hcmtkb3duTm9kZSIsImZyb21QYWdpbmF0ZWRDaGlsZE5vZGVzU3ViRGl2aXNpb25SZXBsYWNlbWVudHNBbmREaXZpc2lvbkNsYXNzTmFtZSIsIkRJVklTSU9OX1JVTEVfTkFNRSIsImFwcGVuZFRvRGl2aXNpb25NYXJrZG93bk5vZGUiLCJtYXJrZG93bk5vZGUiLCJpbmRleEFuY2hvclJlcGxhY2VtZW50IiwiSW5kZXhBbmNob3JSZXBsYWNlbWVudCIsImZyb21QYWdlTnVtYmVyIiwiYW5jaG9yTWFya2Rvd25Ob2RlIiwiZ2V0QW5jaG9yTWFya2Rvd25Ob2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQXVCcUJBOzs7eUJBckJVOytEQUVOOzREQUNJOytEQUNHO2tFQUNHO21FQUNDO29FQUNDO2dFQUNNO3FFQUNNO3dFQUNHO3lFQUNDOzBFQUNDO3lCQUV6Qjt5QkFDTTt5QkFDZTtxQkFDNkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0gsSUFBUUMsUUFBa0JDLHlCQUFjLENBQWhDRCxPQUFPRSxTQUFXRCx5QkFBYyxDQUF6QkM7QUFFQSxJQUFBLEFBQU1ILHFDQUFOO2NBQU1BO2FBQUFBLHFCQUNQSSxRQUFRLEVBQUVDLFVBQVUsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsaUJBQWlCO2dDQURqRVQ7O2dCQUVqQixrQkFGaUJBO1lBRVhJO1lBQVVDO1lBQVlDO1lBQVlDO1lBQVNDOztRQUVqRCxNQUFLQyxpQkFBaUIs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
|
|
413
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL2RpdmlzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IE1hcmtkb3duTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9tYXJrZG93blwiO1xuaW1wb3J0IEluZGV4VHJhbnNmb3JtIGZyb20gXCIuLi8uLi90cmFuc2Zvcm0vaW5kZXhcIjtcbmltcG9ydCBGb290bm90ZVRyYW5zZm9ybSBmcm9tIFwiLi4vLi4vdHJhbnNmb3JtL2Zvb3Rub3RlXCI7XG5pbXBvcnQgSW5kZXhBbmNob3JUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9pbmRleEFuY2hvclwiO1xuaW1wb3J0IENvbnRlbnRzTGlzdFRyYW5zZm9ybSBmcm9tIFwiLi4vLi4vdHJhbnNmb3JtL2NvbnRlbnRzTGlzdFwiO1xuaW1wb3J0IEZvb3Rub3Rlc0xpc3RUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9mb290bm90ZXNMaXN0XCI7XG5pbXBvcnQgRm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybSBmcm9tIFwiLi4vLi4vdHJhbnNmb3JtL3N1YkRpdmlzaW9uL2Zvb3Rub3RlXCI7XG5pbXBvcnQgRW1iZWREaXJlY3RpdmVzRGl2aXNpb25UcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9zdWJEaXZpc2lvbi9lbWJlZERpcmVjdGl2ZXNcIjtcbmltcG9ydCBJbmNsdWRlRGlyZWN0aXZlc0RpdmlzaW9uVHJhbnNmb3JtIGZyb20gXCIuLi8uLi90cmFuc2Zvcm0vc3ViRGl2aXNpb24vaW5jbHVkZURpcmVjdGl2ZXNcIjtcbmltcG9ydCBJbmRleERpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtIGZyb20gXCIuLi8uLi90cmFuc2Zvcm0vc3ViRGl2aXNpb24vaW5kZXhEaXJlY3RpdmVcIjtcbmltcG9ydCBDb250ZW50c0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtIGZyb20gXCIuLi8uLi90cmFuc2Zvcm0vc3ViRGl2aXNpb24vY29udGVudHNEaXJlY3RpdmVcIjtcbmltcG9ydCBGb290bm90ZXNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSBmcm9tIFwiLi4vLi4vdHJhbnNmb3JtL3N1YkRpdmlzaW9uL2Zvb3Rub3Rlc0RpcmVjdGl2ZVwiO1xuaW1wb3J0IFBhZ2VOdW1iZXJEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSBmcm9tIFwiLi4vLi4vdHJhbnNmb3JtL3N1YkRpdmlzaW9uL3BhZ2VOdW1iZXJEaXJlY3RpdmVcIjtcblxuaW1wb3J0IHsgRElWSVNJT05fUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuaW1wb3J0IHsgcmVudW1iZXJGb290bm90ZUxpbmtNYXJrZG93bk5vZGVzIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9mb290bm90ZXNcIjtcbmltcG9ydCB7IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLCBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSwgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB7IGNsZWFyLCBmaWx0ZXIgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEaXZpc2lvbk1hcmtkb3duTm9kZSBleHRlbmRzIE1hcmtkb3duTm9kZSB7XG4gIHJlc29sdmVJbmNsdWRlcyhjb250ZXh0KSB7XG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAvLy9cbiAgICAgICAgICBpbmNsdWRlRGlyZWN0aXZlc0RpdmlzaW9uVHJhbnNmb3JtID0gSW5jbHVkZURpcmVjdGl2ZXNEaXZpc2lvblRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGUoZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgaWYgKGluY2x1ZGVEaXJlY3RpdmVzRGl2aXNpb25UcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgICAgIGluY2x1ZGVEaXJlY3RpdmVzRGl2aXNpb25UcmFuc2Zvcm0ucmVtb3ZlRGl2aXNpb25NYXJrZG93bk5vZGUoZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHJlc29sdmVFbWJlZGRpbmdzKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAvLy9cbiAgICAgICAgICBlbWJlZERpcmVjdGl2ZXNEaXZpc2lvblRyYW5zZm9ybSA9IEVtYmVkRGlyZWN0aXZlc0RpdmlzaW9uVHJhbnNmb3JtLmZyb21EaXZpc2lvbk1hcmtkb3duTm9kZShkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICBpZiAoZW1iZWREaXJlY3RpdmVzRGl2aXNpb25UcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IGVtYmVkRGlyZWN0aXZlc0RpdmlzaW9uVHJhbnNmb3JtLnJlcGxhY2VEaXZpc2lvbk1hcmtkb3duTm9kZShkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5mb3JFYWNoKChzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZS5yZXNvbHZlRW1iZWRkaW5ncyhkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjbGFzc05hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMuZGl2aXNpb25DbGFzc05hbWU7IC8vL1xuXG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIGlzSWdub3JlZCgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpLFxuICAgICAgICAgIGlnbm9yZWQgPSAoaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlICE9PSBudWxsKTtcblxuICAgIHJldHVybiBpZ25vcmVkO1xuICB9XG5cbiAgLy8gZ2V0UGFnZU51bWJlcigpIHtcbiAgLy8gICBsZXQgcGFnZU51bWJlciA9IG51bGw7XG4gIC8vXG4gIC8vICAgY29uc3QgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IHRoaXMuZmluZFBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUoKTtcbiAgLy9cbiAgLy8gICBpZiAocGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSAhPT0gbnVsbCkge1xuICAvLyAgICAgcGFnZU51bWJlciA9IHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUuZ2V0UGFnZU51bWJlcigpO1xuICAvLyAgIH1cbiAgLy9cbiAgLy8gICByZXR1cm4gcGFnZU51bWJlcjtcbiAgLy8gfVxuICAvL1xuICAvLyBzZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpIHtcbiAgLy8gICBjb25zdCBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gdGhpcy5maW5kUGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSgpO1xuICAvL1xuICAvLyAgIGlmIChwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlICE9PSBudWxsKSB7XG4gIC8vICAgICBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlLnNldFBhZ2VOdW1iZXIocGFnZU51bWJlcik7XG4gIC8vICAgfVxuICAvLyB9XG4gIC8vXG4gIC8vIHBhZ2luYXRlKG1hcmtkb3duTm9kZXMsIGNvbnRleHQpIHtcbiAgLy8gICBjb25zdCBmb290bm90ZXNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSA9IHRoaXMucmVtb3ZlRGl2aXNpb25NYXJrZG93bk5vZGUoRm9vdG5vdGVzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpLFxuICAvLyAgICAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSA9IHRoaXMucmVtb3ZlRGl2aXNpb25NYXJrZG93bk5vZGUoUGFnZU51bWJlckRpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KSxcbiAgLy8gICAgICAgICBzdWJEaXZpc2lvblRyYW5zZm9ybXMgPSBbXG4gIC8vICAgICAgICAgICBmb290bm90ZXNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSxcbiAgLy8gICAgICAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybVxuICAvLyAgICAgICAgIF07XG4gIC8vXG4gIC8vICAgZmlsdGVyKHN1YkRpdmlzaW9uVHJhbnNmb3JtcywgKHN1YkRpdmlzaW9uVHJhbnNmb3JtKSA9PiB7XG4gIC8vICAgICBpZiAoc3ViRGl2aXNpb25UcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgLy8gICAgICAgcmV0dXJuIHRydWU7XG4gIC8vICAgICB9XG4gIC8vICAgfSk7XG4gIC8vXG4gIC8vICAgY29uc3QgeyBsaW5lc1BlclBhZ2UgfSA9IGNvbnRleHQsXG4gIC8vICAgICAgICAgcGFnaW5hdGVkQ2hpbGROb2RlcyA9IFtdO1xuICAvL1xuICAvLyAgIGxldCB7IHBhZ2VOdW1iZXIgfSA9IGNvbnRleHQsXG4gIC8vICAgICAgIHRvdGFsTGluZXMgPSAwO1xuICAvL1xuICAvLyAgIHRoaXMuZm9yRWFjaENoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gIC8vICAgICBjb25zdCBsaW5lcyA9IGNoaWxkTm9kZS5saW5lcyhjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgIGlmICgodG90YWxMaW5lcyArIGxpbmVzKSA+IGxpbmVzUGVyUGFnZSkge1xuICAvLyAgICAgICBwYWdpbmF0ZURpdmlzaW9uTWFya2Rvd25Ob2RlKHBhZ2luYXRlZENoaWxkTm9kZXMsIHN1YkRpdmlzaW9uVHJhbnNmb3JtcywgdGhpcy5kaXZpc2lvbkNsYXNzTmFtZSwgbWFya2Rvd25Ob2RlcywgcGFnZU51bWJlciwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgICAgIHBhZ2VOdW1iZXIrKztcbiAgLy9cbiAgLy8gICAgICAgdG90YWxMaW5lcyA9IDA7XG4gIC8vXG4gIC8vICAgICAgIGNsZWFyKHBhZ2luYXRlZENoaWxkTm9kZXMpO1xuICAvLyAgICAgfVxuICAvL1xuICAvLyAgICAgY29uc3QgcGFnaW5hdGVkQ2hpbGROb2RlID0gY2hpbGROb2RlOyAgLy8vXG4gIC8vXG4gIC8vICAgICBwYWdpbmF0ZWRDaGlsZE5vZGVzLnB1c2gocGFnaW5hdGVkQ2hpbGROb2RlKTtcbiAgLy9cbiAgLy8gICAgIHRvdGFsTGluZXMgKz0gbGluZXM7XG4gIC8vICAgfSk7XG4gIC8vXG4gIC8vICAgaWYgKHRvdGFsTGluZXMgPiAwKSB7XG4gIC8vICAgICBwYWdpbmF0ZURpdmlzaW9uTWFya2Rvd25Ob2RlKHBhZ2luYXRlZENoaWxkTm9kZXMsIHN1YkRpdmlzaW9uVHJhbnNmb3JtcywgdGhpcy5kaXZpc2lvbkNsYXNzTmFtZSwgbWFya2Rvd25Ob2RlcywgcGFnZU51bWJlciwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgICBwYWdlTnVtYmVyKys7XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAvLyAgICAgcGFnZU51bWJlclxuICAvLyAgIH0pO1xuICAvLyB9XG4gIC8vXG4gIC8vIGNyZWF0ZUluZGV4KGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICAvLyAgIGxldCBpbmRleENyZWF0ZWQgPSBmYWxzZTtcbiAgLy9cbiAgLy8gICBjb25zdCBpbmRleERpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtID0gdGhpcy5maW5kRGl2aXNpb25UcmFuc2Zvcm0oSW5kZXhEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgaWYgKGluZGV4RGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgLy8gICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpcywgIC8vL1xuICAvLyAgICAgICAgICAgaW5kZXhUcmFuc2Zvcm0gPSBJbmRleFRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGVzQW5kRGl2aXNpb25NYXJrZG93bk5vZGUoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgICBpZiAoaW5kZXhUcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgLy8gICAgICAgaW5kZXhUcmFuc2Zvcm0ucmVwbGFjZUluZGV4RGlyZWN0aXZlU3ViZGl2aXNpb25UcmFuc2Zvcm0oaW5kZXhEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSwgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgICBpbmRleENyZWF0ZWQgPSB0cnVlO1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy9cbiAgLy8gICByZXR1cm4gaW5kZXhDcmVhdGVkO1xuICAvLyB9XG4gIC8vXG4gIC8vIGNyZWF0ZUNvbnRlbnRzKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICAvLyAgIGxldCBjb250ZW50c0NyZWF0ZWQgPSBmYWxzZTtcbiAgLy9cbiAgLy8gICBjb25zdCBjb250ZW50c0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtID0gdGhpcy5maW5kRGl2aXNpb25UcmFuc2Zvcm0oQ29udGVudHNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgaWYgKGNvbnRlbnRzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgLy8gICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpcywgIC8vL1xuICAvLyAgICAgICAgICAgY29udGVudHNMaXN0VHJhbnNmb3JtID0gQ29udGVudHNMaXN0VHJhbnNmb3JtLmZyb21EaXZpc2lvbk1hcmtkb3duTm9kZXNBbmREaXZpc2lvbk1hcmtkb3duTm9kZShkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgIGlmIChjb250ZW50c0xpc3RUcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgLy8gICAgICAgY29udGVudHNMaXN0VHJhbnNmb3JtLnJlcGxhY2VDb250ZW50c0RpcmVjdGl2ZVN1YmRpdmlzaW9uVHJhbnNmb3JtKGNvbnRlbnRzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgICAgY29udGVudHNDcmVhdGVkID0gdHJ1ZTtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgcmV0dXJuIGNvbnRlbnRzQ3JlYXRlZDtcbiAgLy8gfVxuICAvL1xuICAvLyBjcmVhdGVGb290bm90ZXMoZm9vdG5vdGVUcmFuc2Zvcm1NYXAsIGNvbnRleHQpIHtcbiAgLy8gICBjb25zdCBmb290bm90ZXNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSA9IHRoaXMuZmluZERpdmlzaW9uVHJhbnNmb3JtKEZvb3Rub3Rlc0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICBpZiAoZm9vdG5vdGVzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgLy8gICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpcywgIC8vL1xuICAvLyAgICAgICAgICAgZm9vdG5vdGVzTGlzdERpdmlzaW9uVHJhbnNmb3JtID0gRm9vdG5vdGVzTGlzdFRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGVBbmRGb290bm90ZVRyYW5zZm9ybU1hcChkaXZpc2lvbk1hcmtkb3duTm9kZSwgZm9vdG5vdGVUcmFuc2Zvcm1NYXAsIGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgaWYgKGZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgICBmb290bm90ZXNMaXN0RGl2aXNpb25UcmFuc2Zvcm0ucmVwbGFjZUZvb3Rub3Rlc0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtKGZvb3Rub3Rlc0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLCBkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gIC8vICAgICB9XG4gIC8vXG4gIC8vICAgICByZW51bWJlckZvb3Rub3RlTGlua01hcmtkb3duTm9kZXMoZGl2aXNpb25NYXJrZG93bk5vZGUsIGZvb3Rub3RlVHJhbnNmb3JtTWFwLCBjb250ZXh0KTtcbiAgLy8gICB9XG4gIC8vIH1cbiAgLy9cbiAgLy8gcHJlcGFyZUZvb3Rub3Rlcyhmb290bm90ZVRyYW5zZm9ybU1hcCwgY29udGV4dCkge1xuICAvLyAgIGNvbnN0IGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm1zID0gdGhpcy5yZW1vdmVEaXZpc2lvbk1hcmtkb3duTm9kZXMoRm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybXMuZm9yRWFjaCgoZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybSkgPT4ge1xuICAvLyAgICAgY29uc3QgZm9vdG5vdGVUcmFuc2Zvcm0gPSBGb290bm90ZVRyYW5zZm9ybS5mcm9tRm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybShmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtKSxcbiAgLy8gICAgICAgICAgIGlkZW50aWZpZXIgPSBmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtLmlkZW50aWZpZXIoY29udGV4dCk7XG4gIC8vXG4gIC8vICAgICBmb290bm90ZVRyYW5zZm9ybU1hcFtpZGVudGlmaWVyXSA9IGZvb3Rub3RlVHJhbnNmb3JtO1xuICAvLyAgIH0pO1xuICAvLyB9XG5cbiAgZmluZERpdmlzaW9uVHJhbnNmb3JtKERpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KSB7XG4gICAgbGV0IHN1YkRpdmlzaW9uVHJhbnNmb3JtID0gbnVsbDtcblxuICAgIGNvbnN0IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IHRoaXMuZmluZERpdmlzaW9uTWFya2Rvd25Ob2RlcygpO1xuXG4gICAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzLnNvbWUoKHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICBzdWJEaXZpc2lvblRyYW5zZm9ybSA9IERpdmlzaW9uVHJhbnNmb3JtLmZyb21EaXZpc2lvbk1hcmtkb3duTm9kZShzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIGlmIChzdWJEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzdWJEaXZpc2lvblRyYW5zZm9ybTtcbiAgfVxuXG4gIGZpbmREaXZpc2lvblRyYW5zZm9ybXMoRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpIHtcbiAgICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmREaXZpc2lvbk1hcmtkb3duTm9kZXMoKSxcbiAgICAgICAgICBzdWJEaXZpc2lvblRyYW5zZm9ybXMgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMucmVkdWNlKChzdWJEaXZpc2lvblRyYW5zZm9ybXMsIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdWJEaXZpc2lvblRyYW5zZm9ybSA9IERpdmlzaW9uVHJhbnNmb3JtLmZyb21EaXZpc2lvbk1hcmtkb3duTm9kZShzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChzdWJEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBzdWJEaXZpc2lvblRyYW5zZm9ybXMucHVzaChzdWJEaXZpc2lvblRyYW5zZm9ybSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBzdWJEaXZpc2lvblRyYW5zZm9ybXM7XG4gICAgICAgICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIHN1YkRpdmlzaW9uVHJhbnNmb3JtcztcbiAgfVxuXG4gIGZpbmREaXZpc2lvbk1hcmtkb3duTm9kZXMoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlKTtcblxuICAgIHJldHVybiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXM7XG4gIH1cblxuICBmaW5kUGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSgpIHtcbiAgICBsZXQgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IG51bGw7XG5cbiAgICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmREaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcblxuICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5zb21lKChzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlOyAvLy9cblxuICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKTtcblxuICAgICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbiAgfVxuXG4gIHJlbW92ZURpdmlzaW9uTWFya2Rvd25Ob2RlKERpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KSB7XG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy9cbiAgICAgICAgICBzdWJEaXZpc2lvblRyYW5zZm9ybSA9IHRoaXMuZmluZERpdmlzaW9uVHJhbnNmb3JtKERpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KTtcblxuICAgIGlmIChzdWJEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAgICAgc3ViRGl2aXNpb25UcmFuc2Zvcm0ucmVtb3ZlRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25UcmFuc2Zvcm07XG4gIH1cblxuICByZW1vdmVEaXZpc2lvbk1hcmtkb3duTm9kZXMoRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpIHtcbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvL1xuICAgICAgICAgIHN1YkRpdmlzaW9uVHJhbnNmb3JtcyA9IHRoaXMuZmluZERpdmlzaW9uVHJhbnNmb3JtcyhEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCk7XG5cbiAgICBzdWJEaXZpc2lvblRyYW5zZm9ybXMuZm9yRWFjaCgoc3ViRGl2aXNpb25UcmFuc2Zvcm0pID0+IHtcbiAgICAgIHN1YkRpdmlzaW9uVHJhbnNmb3JtLnJlbW92ZUZyb21EaXZpc2lvbk1hcmtkb3duTm9kZShkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25UcmFuc2Zvcm1zO1xuICB9XG5cbiAgY3JlYXRlRm9vdG5vdGVzTGlzdFRyYW5zZm9ybShmb290bm90ZVRyYW5zZm9ybU1hcCwgY29udGV4dCkge1xuICAgIGNvbnN0IGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm1zID0gdGhpcy5maW5kRGl2aXNpb25UcmFuc2Zvcm1zKEZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpO1xuXG4gICAgZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybXMuZm9yRWFjaCgoZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybSkgPT4ge1xuICAgICAgY29uc3QgZm9vdG5vdGVUcmFuc2Zvcm0gPSBGb290bm90ZVRyYW5zZm9ybS5mcm9tRm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybShmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtKSxcbiAgICAgICAgICAgIGlkZW50aWZpZXIgPSBmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtLmlkZW50aWZpZXIoY29udGV4dCk7XG5cbiAgICAgIGZvb3Rub3RlVHJhbnNmb3JtTWFwW2lkZW50aWZpZXJdID0gZm9vdG5vdGVUcmFuc2Zvcm07XG4gICAgfSk7XG5cbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBmb290bm90ZXNMaXN0RGl2aXNpb25UcmFuc2Zvcm0gPSBGb290bm90ZXNMaXN0VHJhbnNmb3JtLmZyb21EaXZpc2lvbk1hcmtkb3duTm9kZUFuZEZvb3Rub3RlVHJhbnNmb3JtTWFwKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBmb290bm90ZVRyYW5zZm9ybU1hcCwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZm9vdG5vdGVzTGlzdERpdmlzaW9uVHJhbnNmb3JtO1xuICB9XG5cbiAgY2xvbmUoKSB7IHJldHVybiBzdXBlci5jbG9uZSh0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lKTsgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eShydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSkgeyByZXR1cm4gTWFya2Rvd25Ob2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KERpdmlzaW9uTWFya2Rvd25Ob2RlLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSk7IH1cbn1cblxuZnVuY3Rpb24gcGFnaW5hdGVEaXZpc2lvbk1hcmtkb3duTm9kZShwYWdpbmF0ZWRDaGlsZE5vZGVzLCBzdWJEaXZpc2lvblRyYW5zZm9ybXMsIGRpdmlzaW9uQ2xhc3NOYW1lLCBtYXJrZG93bk5vZGVzLCBwYWdlTnVtYmVyLCBjb250ZXh0KSB7XG4gIGxldCBtYXJrZG93bk5vZGU7XG5cbiAgY29uc3QgaW5kZXhBbmNob3JUcmFuc2Zvcm0gPSBJbmRleEFuY2hvclRyYW5zZm9ybS5mcm9tUGFnZU51bWJlcihwYWdlTnVtYmVyLCBjb250ZXh0KSxcbiAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBEaXZpc2lvbk1hcmtkb3duTm9kZS5mcm9tUGFnaW5hdGVkQ2hpbGROb2Rlc0RpdmlzaW9uVHJhbnNmb3Jtc0FuZERpdmlzaW9uQ2xhc3NOYW1lKHBhZ2luYXRlZENoaWxkTm9kZXMsIHN1YkRpdmlzaW9uVHJhbnNmb3JtcywgZGl2aXNpb25DbGFzc05hbWUsIGNvbnRleHQpLFxuICAgICAgICBhbmNob3JNYXJrZG93bk5vZGUgPSBpbmRleEFuY2hvclRyYW5zZm9ybS5nZXRBbmNob3JNYXJrZG93bk5vZGUoKTtcblxuICBkaXZpc2lvbk1hcmtkb3duTm9kZS5zZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpO1xuXG4gIG1hcmtkb3duTm9kZSA9IGFuY2hvck1hcmtkb3duTm9kZTsgIC8vL1xuXG4gIG1hcmtkb3duTm9kZXMucHVzaChtYXJrZG93bk5vZGUpO1xuXG4gIG1hcmtkb3duTm9kZSA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlOyAvLy9cblxuICBtYXJrZG93bk5vZGVzLnB1c2gobWFya2Rvd25Ob2RlKTtcbn0iXSwibmFtZXMiOlsiRGl2aXNpb25NYXJrZG93bk5vZGUiLCJjbGVhciIsImFycmF5VXRpbGl0aWVzIiwiZmlsdGVyIiwicmVzb2x2ZUluY2x1ZGVzIiwiY29udGV4dCIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiaW5jbHVkZURpcmVjdGl2ZXNEaXZpc2lvblRyYW5zZm9ybSIsIkluY2x1ZGVEaXJlY3RpdmVzRGl2aXNpb25UcmFuc2Zvcm0iLCJmcm9tRGl2aXNpb25NYXJrZG93bk5vZGUiLCJyZW1vdmVEaXZpc2lvbk1hcmtkb3duTm9kZSIsInJlc29sdmVFbWJlZGRpbmdzIiwiZW1iZWREaXJlY3RpdmVzRGl2aXNpb25UcmFuc2Zvcm0iLCJFbWJlZERpcmVjdGl2ZXNEaXZpc2lvblRyYW5zZm9ybSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyIsInJlcGxhY2VEaXZpc2lvbk1hcmtkb3duTm9kZSIsImZvckVhY2giLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSIsImNsYXNzTmFtZSIsImRpdmlzaW9uQ2xhc3NOYW1lIiwiaXNJZ25vcmVkIiwibm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiaWdub3JlZCIsImZpbmREaXZpc2lvblRyYW5zZm9ybSIsIkRpdmlzaW9uVHJhbnNmb3JtIiwic3ViRGl2aXNpb25UcmFuc2Zvcm0iLCJmaW5kRGl2aXNpb25NYXJrZG93bk5vZGVzIiwic29tZSIsImZpbmREaXZpc2lvblRyYW5zZm9ybXMiLCJzdWJEaXZpc2lvblRyYW5zZm9ybXMiLCJyZWR1Y2UiLCJwdXNoIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJmaW5kUGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSIsInBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJyZW1vdmVGcm9tRGl2aXNpb25NYXJrZG93bk5vZGUiLCJyZW1vdmVEaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJjcmVhdGVGb290bm90ZXNMaXN0VHJhbnNmb3JtIiwiZm9vdG5vdGVUcmFuc2Zvcm1NYXAiLCJmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtcyIsIkZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0iLCJmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtIiwiZm9vdG5vdGVUcmFuc2Zvcm0iLCJGb290bm90ZVRyYW5zZm9ybSIsImZyb21Gb290bm90ZURpdmlzaW9uVHJhbnNmb3JtIiwiaWRlbnRpZmllciIsImZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybSIsIkZvb3Rub3Rlc0xpc3RUcmFuc2Zvcm0iLCJmcm9tRGl2aXNpb25NYXJrZG93bk5vZGVBbmRGb290bm90ZVRyYW5zZm9ybU1hcCIsImNsb25lIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkiLCJydWxlTmFtZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwiTWFya2Rvd25Ob2RlIiwicGFnaW5hdGVEaXZpc2lvbk1hcmtkb3duTm9kZSIsInBhZ2luYXRlZENoaWxkTm9kZXMiLCJtYXJrZG93bk5vZGVzIiwicGFnZU51bWJlciIsIm1hcmtkb3duTm9kZSIsImluZGV4QW5jaG9yVHJhbnNmb3JtIiwiSW5kZXhBbmNob3JUcmFuc2Zvcm0iLCJmcm9tUGFnZU51bWJlciIsImZyb21QYWdpbmF0ZWRDaGlsZE5vZGVzRGl2aXNpb25UcmFuc2Zvcm1zQW5kRGl2aXNpb25DbGFzc05hbWUiLCJhbmNob3JNYXJrZG93bk5vZGUiLCJnZXRBbmNob3JNYXJrZG93bk5vZGUiLCJzZXRQYWdlTnVtYmVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQXdCcUJBOzs7eUJBdEJVOytEQUVOOzREQUNFOytEQUNHO2tFQUNHO21FQUNDO29FQUNDO2dFQUNHO3NFQUNPO3dFQUNFO3FFQUNIO3dFQUNHO3lFQUNDOzBFQUNDO3lCQUVkO3lCQUNlO3FCQUM2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|