highmark-markdown 0.0.451 → 0.0.453

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/lib/constants.js CHANGED
@@ -30,14 +30,26 @@ _export(exports, {
30
30
  HYPHEN: function() {
31
31
  return HYPHEN;
32
32
  },
33
+ IES_STRING: function() {
34
+ return IES_STRING;
35
+ },
36
+ PARENTHESISED_S_STRING: function() {
37
+ return PARENTHESISED_S_STRING;
38
+ },
33
39
  SINGLE_SPACE: function() {
34
40
  return SINGLE_SPACE;
35
41
  },
36
42
  STYLE: function() {
37
43
  return STYLE;
38
44
  },
45
+ S_STRING: function() {
46
+ return S_STRING;
47
+ },
39
48
  UNDERSCORE: function() {
40
49
  return UNDERSCORE;
50
+ },
51
+ Y_STRING: function() {
52
+ return Y_STRING;
41
53
  }
42
54
  });
43
55
  var HEAD = "head";
@@ -45,10 +57,14 @@ var STYLE = "style";
45
57
  var COMMA = ",";
46
58
  var COLOUR = "color"; ///
47
59
  var HYPHEN = "-";
60
+ var Y_STRING = "y";
61
+ var S_STRING = "s";
62
+ var IES_STRING = "ies";
48
63
  var UNDERSCORE = "_";
49
64
  var GLOBAL_FLAG = "g";
50
65
  var EMPTY_STRING = "";
51
66
  var SINGLE_SPACE = " ";
52
67
  var CARRIAGE_RETURN = "\n";
68
+ var PARENTHESISED_S_STRING = "(s)";
53
69
 
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBIRUFEID0gXCJoZWFkXCI7XG5leHBvcnQgY29uc3QgU1RZTEUgPSBcInN0eWxlXCI7XG5leHBvcnQgY29uc3QgQ09NTUEgPSBcIixcIjtcbmV4cG9ydCBjb25zdCBDT0xPVVIgPSBcImNvbG9yXCI7ICAvLy9cbmV4cG9ydCBjb25zdCBIWVBIRU4gPSBcIi1cIjtcbmV4cG9ydCBjb25zdCBVTkRFUlNDT1JFID0gXCJfXCI7XG5leHBvcnQgY29uc3QgR0xPQkFMX0ZMQUcgPSBcImdcIjtcbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IFNJTkdMRV9TUEFDRSA9IFwiIFwiO1xuZXhwb3J0IGNvbnN0IENBUlJJQUdFX1JFVFVSTiA9IFwiXFxuXCI7XG4iXSwibmFtZXMiOlsiQ0FSUklBR0VfUkVUVVJOIiwiQ09MT1VSIiwiQ09NTUEiLCJFTVBUWV9TVFJJTkciLCJHTE9CQUxfRkxBRyIsIkhFQUQiLCJIWVBIRU4iLCJTSU5HTEVfU1BBQ0UiLCJTVFlMRSIsIlVOREVSU0NPUkUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVdhQSxlQUFlO2VBQWZBOztJQU5BQyxNQUFNO2VBQU5BOztJQURBQyxLQUFLO2VBQUxBOztJQUtBQyxZQUFZO2VBQVpBOztJQURBQyxXQUFXO2VBQVhBOztJQU5BQyxJQUFJO2VBQUpBOztJQUlBQyxNQUFNO2VBQU5BOztJQUlBQyxZQUFZO2VBQVpBOztJQVBBQyxLQUFLO2VBQUxBOztJQUlBQyxVQUFVO2VBQVZBOzs7QUFMTixJQUFNSixPQUFPO0FBQ2IsSUFBTUcsUUFBUTtBQUNkLElBQU1OLFFBQVE7QUFDZCxJQUFNRCxTQUFTLFNBQVUsR0FBRztBQUM1QixJQUFNSyxTQUFTO0FBQ2YsSUFBTUcsYUFBYTtBQUNuQixJQUFNTCxjQUFjO0FBQ3BCLElBQU1ELGVBQWU7QUFDckIsSUFBTUksZUFBZTtBQUNyQixJQUFNUCxrQkFBa0IifQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBIRUFEID0gXCJoZWFkXCI7XG5leHBvcnQgY29uc3QgU1RZTEUgPSBcInN0eWxlXCI7XG5leHBvcnQgY29uc3QgQ09NTUEgPSBcIixcIjtcbmV4cG9ydCBjb25zdCBDT0xPVVIgPSBcImNvbG9yXCI7ICAvLy9cbmV4cG9ydCBjb25zdCBIWVBIRU4gPSBcIi1cIjtcbmV4cG9ydCBjb25zdCBZX1NUUklORyA9IFwieVwiO1xuZXhwb3J0IGNvbnN0IFNfU1RSSU5HID0gXCJzXCI7XG5leHBvcnQgY29uc3QgSUVTX1NUUklORyA9IFwiaWVzXCI7XG5leHBvcnQgY29uc3QgVU5ERVJTQ09SRSA9IFwiX1wiO1xuZXhwb3J0IGNvbnN0IEdMT0JBTF9GTEFHID0gXCJnXCI7XG5leHBvcnQgY29uc3QgRU1QVFlfU1RSSU5HID0gXCJcIjtcbmV4cG9ydCBjb25zdCBTSU5HTEVfU1BBQ0UgPSBcIiBcIjtcbmV4cG9ydCBjb25zdCBDQVJSSUFHRV9SRVRVUk4gPSBcIlxcblwiO1xuZXhwb3J0IGNvbnN0IFBBUkVOVEhFU0lTRURfU19TVFJJTkcgPSBcIihzKVwiO1xuIl0sIm5hbWVzIjpbIkNBUlJJQUdFX1JFVFVSTiIsIkNPTE9VUiIsIkNPTU1BIiwiRU1QVFlfU1RSSU5HIiwiR0xPQkFMX0ZMQUciLCJIRUFEIiwiSFlQSEVOIiwiSUVTX1NUUklORyIsIlBBUkVOVEhFU0lTRURfU19TVFJJTkciLCJTSU5HTEVfU1BBQ0UiLCJTVFlMRSIsIlNfU1RSSU5HIiwiVU5ERVJTQ09SRSIsIllfU1RSSU5HIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFjYUEsZUFBZTtlQUFmQTs7SUFUQUMsTUFBTTtlQUFOQTs7SUFEQUMsS0FBSztlQUFMQTs7SUFRQUMsWUFBWTtlQUFaQTs7SUFEQUMsV0FBVztlQUFYQTs7SUFUQUMsSUFBSTtlQUFKQTs7SUFJQUMsTUFBTTtlQUFOQTs7SUFHQUMsVUFBVTtlQUFWQTs7SUFNQUMsc0JBQXNCO2VBQXRCQTs7SUFGQUMsWUFBWTtlQUFaQTs7SUFWQUMsS0FBSztlQUFMQTs7SUFLQUMsUUFBUTtlQUFSQTs7SUFFQUMsVUFBVTtlQUFWQTs7SUFIQUMsUUFBUTtlQUFSQTs7O0FBTE4sSUFBTVIsT0FBTztBQUNiLElBQU1LLFFBQVE7QUFDZCxJQUFNUixRQUFRO0FBQ2QsSUFBTUQsU0FBUyxTQUFVLEdBQUc7QUFDNUIsSUFBTUssU0FBUztBQUNmLElBQU1PLFdBQVc7QUFDakIsSUFBTUYsV0FBVztBQUNqQixJQUFNSixhQUFhO0FBQ25CLElBQU1LLGFBQWE7QUFDbkIsSUFBTVIsY0FBYztBQUNwQixJQUFNRCxlQUFlO0FBQ3JCLElBQU1NLGVBQWU7QUFDckIsSUFBTVQsa0JBQWtCO0FBQ3hCLElBQU1RLHlCQUF5QiJ9
@@ -49,8 +49,8 @@ function classNameFromFilePath(filePath) {
49
49
  }
50
50
  var INDEX_PATH = "index.md", CONTENT_PATH = "content.md", CONTENTS_PATH = "contents.md", HALF_TITLE_PATH = "half-title.md", FRONT_MATTER_PATH = "front-matter.md", INTRODUCTION_PATH = "introduction.md", GETTING_STARTED_PATH = "getting-started.md", INSTALLING_THE_CLI_PATH = "installing-the-cli.md", GETTING_TO_GRIPS_WITH_THE_IDE_PATH = "getting-to-grips-with-the-ide.md";
51
51
  var defaultContent = "@ignore\n\n@include ".concat(FRONT_MATTER_PATH, "\n@include ").concat(CONTENT_PATH, "\n@include ").concat(INDEX_PATH, "\n");
52
- var indexContent = "## Index\n\n@index", contentContent = "@ignore\n\n@include ".concat(INTRODUCTION_PATH, "\n@include ").concat(GETTING_STARTED_PATH), contentsContent = "## Contents\n\n@contents", halfTitleContent = "# Occam", frontMatterContent = "@ignore\n\n@include ".concat(HALF_TITLE_PATH, "\n@include ").concat(CONTENTS_PATH), introductionContent = "# Introduction\n \nCLI \n \nI have tried to make Occam[^occam] as useable as possible but there are limits.\nAt the end of the day it is an expert system and some of its parts, not least the verifier, need detailed explanation.\nIt is the purpose of this book is to provide these explanations.\n\nThis book also goes into considerable detail on the subject of Occam's approach to language, which largely boils down to its use of grammars.\nOccam has its own language, called Florence,[^florence] but it will also support controlled natural languages in the near future.\nIndeed, the verifier cannot distinguish between these languages at all.\nThis book explains how this is possible.\n\n@footnotes\n\n@pageNumber\n", gettingStartedContent = "# Getting started\n \nAnother short paragraph with a reference to a footnote[^occam].\n\n[^occam]: The word Occam is used somewhat nebulously here.\nIt is most often associated with Occam's IDE but in fact it encompasses a range of software and services.\nThis book explains these divers parts and there is a companion book, called The Foundations of Symbolic Reasoning, that covers the underlying theory.\n\n[^florence]: Occam was originally called Florence but the former seemed more apt.\n\n@footnotes\n\n@embed ".concat(INSTALLING_THE_CLI_PATH, "\n@embed ").concat(GETTING_TO_GRIPS_WITH_THE_IDE_PATH, "\n\n@pageNumber\n"), installingTheCLIContent = "## Installing the CLI\n", gettingToGripsWithTheIDEIContent = "## Getting to grips with the IDE\n \n* An unordered list to test...\n* ...the indexing.\n \n1. As well as an...\n2. ...ordered list.\n \n";
52
+ var indexContent = "## Index\n\n@index", contentContent = "@ignore\n\n@include ".concat(INTRODUCTION_PATH, "\n@include ").concat(GETTING_STARTED_PATH), contentsContent = "## Contents\n\n@contents", halfTitleContent = "# Occam", frontMatterContent = "@ignore\n\n@include ".concat(HALF_TITLE_PATH, "\n@include ").concat(CONTENTS_PATH), introductionContent = "# Introduction\n \nI have tried to make Occam[^occam] as useable as possible but there are limits.\nAt the end of the day it is an expert system and some of its parts, not least the verifier, need detailed explanation.\nIt is the purpose of this book is to provide these explanations.\n\nThis book also goes into considerable detail on the subject of Occam's approach to language, which largely boils down to its use of grammars.\nOccam has its own language, called Florence,[^florence] but it will also support controlled natural languages in the near future.\nIndeed, the verifier cannot distinguish between these languages at all.\nThis book explains how this is possible.\n\n@footnotes\n\n@pageNumber\n", gettingStartedContent = "# Getting started\n \nAnother short paragraph with a reference to a footnote[^occam].\n\n[^occam]: The word Occam is used somewhat nebulously here.\nIt is most often associated with Occam's IDE but in fact it encompasses a range of software and services.\nThis book explains these divers parts and there is a companion book, called The Foundations of Symbolic Reasoning, that covers the underlying theory.\n\n[^florence]: Occam was originally called Florence but the former seemed more apt.\n\n@footnotes\n\n@embed ".concat(INSTALLING_THE_CLI_PATH, "\n@embed ").concat(GETTING_TO_GRIPS_WITH_THE_IDE_PATH, "\n\n@pageNumber\n"), installingTheCLIContent = "## Installing the CLI\n", gettingToGripsWithTheIDEIContent = "## Getting to grips with the IDE\n \n* An unordered list to test...\n* ...the indexing.\n \n1. As well as an...\n2. ...ordered list.\n \n";
53
53
  var _obj;
54
54
  var contentMap = (_obj = {}, _define_property(_obj, INDEX_PATH, indexContent), _define_property(_obj, CONTENT_PATH, contentContent), _define_property(_obj, CONTENTS_PATH, contentsContent), _define_property(_obj, HALF_TITLE_PATH, halfTitleContent), _define_property(_obj, FRONT_MATTER_PATH, frontMatterContent), _define_property(_obj, INTRODUCTION_PATH, introductionContent), _define_property(_obj, GETTING_STARTED_PATH, gettingStartedContent), _define_property(_obj, INSTALLING_THE_CLI_PATH, installingTheCLIContent), _define_property(_obj, GETTING_TO_GRIPS_WITH_THE_IDE_PATH, gettingToGripsWithTheIDEIContent), _obj);
55
55
 
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL2ltcG9ydGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBNYXJrZG93bkxleGVyLCBNYXJrZG93blBhcnNlciB9IGZyb20gXCIuLi9pbmRleFwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgbWFya2Rvd25MZXhlciA9IE1hcmtkb3duTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duUGFyc2VyID0gTWFya2Rvd25QYXJzZXIuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaW1wb3J0ZXIoZmlsZVBhdGgsIGNvbnRleHQpIHtcbiAgY29uc3QgY29udGVudCA9IGNvbnRlbnRNYXBbZmlsZVBhdGhdIHx8IG51bGw7XG5cbiAgaWYgKGNvbnRlbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGFydE9mQ29udGVudCA9IHRydWUsXG4gICAgICAgICAgc3RhcnRSdWxlID0gbWFya2Rvd25QYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgICAgdG9rZW5zID0gbWFya2Rvd25MZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgICBub2RlID0gbWFya2Rvd25QYXJzZXIucGFyc2UodG9rZW5zLCBzdGFydFJ1bGUsIHN0YXJ0T2ZDb250ZW50KSxcbiAgICAgICAgICBpbXBvcnRlZE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgaW1wb3J0ZWRUb2tlbnMgPSB0b2tlbnMsXG4gICAgICAgICAgaW1wb3J0ZWRDbGFzc05hbWUgPSBjbGFzc05hbWVGcm9tRmlsZVBhdGgoZmlsZVBhdGgpO1xuXG4gICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgICBpbXBvcnRlZE5vZGUsXG4gICAgICBpbXBvcnRlZFRva2VucyxcbiAgICAgIGltcG9ydGVkQ2xhc3NOYW1lXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xhc3NOYW1lRnJvbUZpbGVQYXRoKGZpbGVQYXRoKSB7XG4gIGNvbnN0IGNsYXNzTmFtZSA9IGZpbGVQYXRoLnJlcGxhY2UoL1xcLm1kLywgRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gY2xhc3NOYW1lO1xufVxuXG5jb25zdCBJTkRFWF9QQVRIID0gXCJpbmRleC5tZFwiLFxuICAgICAgQ09OVEVOVF9QQVRIID0gXCJjb250ZW50Lm1kXCIsXG4gICAgICBDT05URU5UU19QQVRIID0gXCJjb250ZW50cy5tZFwiLFxuICAgICAgSEFMRl9USVRMRV9QQVRIID0gXCJoYWxmLXRpdGxlLm1kXCIsXG4gICAgICBGUk9OVF9NQVRURVJfUEFUSCA9IFwiZnJvbnQtbWF0dGVyLm1kXCIsXG4gICAgICBJTlRST0RVQ1RJT05fUEFUSCA9IFwiaW50cm9kdWN0aW9uLm1kXCIsXG4gICAgICBHRVRUSU5HX1NUQVJURURfUEFUSCA9IFwiZ2V0dGluZy1zdGFydGVkLm1kXCIsXG4gICAgICBJTlNUQUxMSU5HX1RIRV9DTElfUEFUSCA9IFwiaW5zdGFsbGluZy10aGUtY2xpLm1kXCIsXG4gICAgICBHRVRUSU5HX1RPX0dSSVBTX1dJVEhfVEhFX0lERV9QQVRIID0gXCJnZXR0aW5nLXRvLWdyaXBzLXdpdGgtdGhlLWlkZS5tZFwiO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdENvbnRlbnQgPSBgQGlnbm9yZVxuXG5AaW5jbHVkZSAke0ZST05UX01BVFRFUl9QQVRIfVxuQGluY2x1ZGUgJHtDT05URU5UX1BBVEh9XG5AaW5jbHVkZSAke0lOREVYX1BBVEh9XG5gO1xuXG5jb25zdCBpbmRleENvbnRlbnQgPSBgIyMgSW5kZXhcblxuQGluZGV4YCxcblxuICAgICAgY29udGVudENvbnRlbnQgPSBgQGlnbm9yZVxuXG5AaW5jbHVkZSAke0lOVFJPRFVDVElPTl9QQVRIfVxuQGluY2x1ZGUgJHtHRVRUSU5HX1NUQVJURURfUEFUSH1gLFxuXG4gICAgICBjb250ZW50c0NvbnRlbnQgPSBgIyMgQ29udGVudHNcblxuQGNvbnRlbnRzYCxcblxuICAgICAgaGFsZlRpdGxlQ29udGVudCA9IGAjIE9jY2FtYCxcblxuICAgICAgZnJvbnRNYXR0ZXJDb250ZW50ID0gYEBpZ25vcmVcblxuQGluY2x1ZGUgJHtIQUxGX1RJVExFX1BBVEh9XG5AaW5jbHVkZSAke0NPTlRFTlRTX1BBVEh9YCxcblxuICAgICAgaW50cm9kdWN0aW9uQ29udGVudCA9IGAjIEludHJvZHVjdGlvblxuICAgICAgXG5DTEkgICAgICBcbiAgICAgIFxuSSBoYXZlIHRyaWVkIHRvIG1ha2UgT2NjYW1bXm9jY2FtXSBhcyB1c2VhYmxlIGFzIHBvc3NpYmxlIGJ1dCB0aGVyZSBhcmUgbGltaXRzLlxuQXQgdGhlIGVuZCBvZiB0aGUgZGF5IGl0IGlzIGFuIGV4cGVydCBzeXN0ZW0gYW5kIHNvbWUgb2YgaXRzIHBhcnRzLCBub3QgbGVhc3QgdGhlIHZlcmlmaWVyLCBuZWVkIGRldGFpbGVkIGV4cGxhbmF0aW9uLlxuSXQgaXMgdGhlIHB1cnBvc2Ugb2YgdGhpcyBib29rIGlzIHRvIHByb3ZpZGUgdGhlc2UgZXhwbGFuYXRpb25zLlxuXG5UaGlzIGJvb2sgYWxzbyBnb2VzIGludG8gY29uc2lkZXJhYmxlIGRldGFpbCBvbiB0aGUgc3ViamVjdCBvZiBPY2NhbSdzIGFwcHJvYWNoIHRvIGxhbmd1YWdlLCB3aGljaCBsYXJnZWx5IGJvaWxzIGRvd24gdG8gaXRzIHVzZSBvZiBncmFtbWFycy5cbk9jY2FtIGhhcyBpdHMgb3duIGxhbmd1YWdlLCBjYWxsZWQgRmxvcmVuY2UsW15mbG9yZW5jZV0gYnV0IGl0IHdpbGwgYWxzbyBzdXBwb3J0IGNvbnRyb2xsZWQgbmF0dXJhbCBsYW5ndWFnZXMgaW4gdGhlIG5lYXIgZnV0dXJlLlxuSW5kZWVkLCB0aGUgdmVyaWZpZXIgY2Fubm90IGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgbGFuZ3VhZ2VzIGF0IGFsbC5cblRoaXMgYm9vayBleHBsYWlucyBob3cgdGhpcyBpcyBwb3NzaWJsZS5cblxuQGZvb3Rub3Rlc1xuXG5AcGFnZU51bWJlclxuYCxcblxuICAgICAgZ2V0dGluZ1N0YXJ0ZWRDb250ZW50ID0gYCMgR2V0dGluZyBzdGFydGVkXG4gICAgICBcbkFub3RoZXIgc2hvcnQgcGFyYWdyYXBoIHdpdGggYSByZWZlcmVuY2UgdG8gYSBmb290bm90ZVteb2NjYW1dLlxuXG5bXm9jY2FtXTogVGhlIHdvcmQgT2NjYW0gaXMgdXNlZCBzb21ld2hhdCBuZWJ1bG91c2x5IGhlcmUuXG5JdCBpcyBtb3N0IG9mdGVuIGFzc29jaWF0ZWQgd2l0aCBPY2NhbSdzIElERSBidXQgaW4gZmFjdCBpdCBlbmNvbXBhc3NlcyBhIHJhbmdlIG9mIHNvZnR3YXJlIGFuZCBzZXJ2aWNlcy5cblRoaXMgYm9vayBleHBsYWlucyB0aGVzZSBkaXZlcnMgcGFydHMgYW5kIHRoZXJlIGlzIGEgY29tcGFuaW9uIGJvb2ssIGNhbGxlZCBUaGUgRm91bmRhdGlvbnMgb2YgU3ltYm9saWMgUmVhc29uaW5nLCB0aGF0IGNvdmVycyB0aGUgdW5kZXJseWluZyB0aGVvcnkuXG5cblteZmxvcmVuY2VdOiBPY2NhbSB3YXMgb3JpZ2luYWxseSBjYWxsZWQgRmxvcmVuY2UgYnV0IHRoZSBmb3JtZXIgc2VlbWVkIG1vcmUgYXB0LlxuXG5AZm9vdG5vdGVzXG5cbkBlbWJlZCAke0lOU1RBTExJTkdfVEhFX0NMSV9QQVRIfVxuQGVtYmVkICR7R0VUVElOR19UT19HUklQU19XSVRIX1RIRV9JREVfUEFUSH1cblxuQHBhZ2VOdW1iZXJcbmAsXG5cbiAgICAgIGluc3RhbGxpbmdUaGVDTElDb250ZW50ID0gYCMjIEluc3RhbGxpbmcgdGhlIENMSVxuYCxcblxuICAgICAgZ2V0dGluZ1RvR3JpcHNXaXRoVGhlSURFSUNvbnRlbnQgPSBgIyMgR2V0dGluZyB0byBncmlwcyB3aXRoIHRoZSBJREVcbiAgICAgICAgICAgIFxuKiBBbiB1bm9yZGVyZWQgbGlzdCB0byB0ZXN0Li4uXG4qIC4uLnRoZSBpbmRleGluZy5cbiAgICAgIFxuMS4gQXMgd2VsbCBhcyBhbi4uLlxuMi4gLi4ub3JkZXJlZCBsaXN0LlxuICAgICAgXG5gO1xuXG5jb25zdCBjb250ZW50TWFwID0ge1xuXG4gIFtJTkRFWF9QQVRIXTogaW5kZXhDb250ZW50LFxuICBbQ09OVEVOVF9QQVRIXTogY29udGVudENvbnRlbnQsXG4gIFtDT05URU5UU19QQVRIXTogY29udGVudHNDb250ZW50LFxuICBbSEFMRl9USVRMRV9QQVRIXTogaGFsZlRpdGxlQ29udGVudCxcbiAgW0ZST05UX01BVFRFUl9QQVRIXTogZnJvbnRNYXR0ZXJDb250ZW50LFxuICBbSU5UUk9EVUNUSU9OX1BBVEhdOiBpbnRyb2R1Y3Rpb25Db250ZW50LFxuICBbR0VUVElOR19TVEFSVEVEX1BBVEhdOiBnZXR0aW5nU3RhcnRlZENvbnRlbnQsXG4gIFtJTlNUQUxMSU5HX1RIRV9DTElfUEFUSF06IGluc3RhbGxpbmdUaGVDTElDb250ZW50LFxuICBbR0VUVElOR19UT19HUklQU19XSVRIX1RIRV9JREVfUEFUSF06IGdldHRpbmdUb0dyaXBzV2l0aFRoZUlERUlDb250ZW50XG5cbn07XG4iXSwibmFtZXMiOlsiaW1wb3J0ZXIiLCJkZWZhdWx0Q29udGVudCIsIm1hcmtkb3duTGV4ZXIiLCJNYXJrZG93bkxleGVyIiwiZnJvbU5vdGhpbmciLCJtYXJrZG93blBhcnNlciIsIk1hcmtkb3duUGFyc2VyIiwiZmlsZVBhdGgiLCJjb250ZXh0IiwiY29udGVudCIsImNvbnRlbnRNYXAiLCJzdGFydE9mQ29udGVudCIsInN0YXJ0UnVsZSIsImdldFN0YXJ0UnVsZSIsInRva2VucyIsInRva2VuaXNlIiwibm9kZSIsInBhcnNlIiwiaW1wb3J0ZWROb2RlIiwiaW1wb3J0ZWRUb2tlbnMiLCJpbXBvcnRlZENsYXNzTmFtZSIsImNsYXNzTmFtZUZyb21GaWxlUGF0aCIsIk9iamVjdCIsImFzc2lnbiIsImNsYXNzTmFtZSIsInJlcGxhY2UiLCJFTVBUWV9TVFJJTkciLCJJTkRFWF9QQVRIIiwiQ09OVEVOVF9QQVRIIiwiQ09OVEVOVFNfUEFUSCIsIkhBTEZfVElUTEVfUEFUSCIsIkZST05UX01BVFRFUl9QQVRIIiwiSU5UUk9EVUNUSU9OX1BBVEgiLCJHRVRUSU5HX1NUQVJURURfUEFUSCIsIklOU1RBTExJTkdfVEhFX0NMSV9QQVRIIiwiR0VUVElOR19UT19HUklQU19XSVRIX1RIRV9JREVfUEFUSCIsImluZGV4Q29udGVudCIsImNvbnRlbnRDb250ZW50IiwiY29udGVudHNDb250ZW50IiwiaGFsZlRpdGxlQ29udGVudCIsImZyb250TWF0dGVyQ29udGVudCIsImludHJvZHVjdGlvbkNvbnRlbnQiLCJnZXR0aW5nU3RhcnRlZENvbnRlbnQiLCJpbnN0YWxsaW5nVGhlQ0xJQ29udGVudCIsImdldHRpbmdUb0dyaXBzV2l0aFRoZUlERUlDb250ZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFTQSxPQWtCQztlQWxCdUJBOztJQW9DWEMsY0FBYztlQUFkQTs7O3FCQTNDaUM7eUJBRWpCOzs7Ozs7Ozs7Ozs7OztBQUU3QixJQUFNQyxnQkFBZ0JDLG9CQUFhLENBQUNDLFdBQVcsSUFDekNDLGlCQUFpQkMscUJBQWMsQ0FBQ0YsV0FBVztBQUVsQyxTQUFTSixTQUFTTyxRQUFRLEVBQUVDLE9BQU87SUFDaEQsSUFBTUMsVUFBVUMsVUFBVSxDQUFDSCxTQUFTLElBQUk7SUFFeEMsSUFBSUUsWUFBWSxNQUFNO1FBQ3BCLElBQU1FLGlCQUFpQixNQUNqQkMsWUFBWVAsZUFBZVEsWUFBWSxJQUN2Q0MsU0FBU1osY0FBY2EsUUFBUSxDQUFDTixVQUNoQ08sT0FBT1gsZUFBZVksS0FBSyxDQUFDSCxRQUFRRixXQUFXRCxpQkFDL0NPLGVBQWVGLE1BQ2ZHLGlCQUFpQkwsUUFDakJNLG9CQUFvQkMsc0JBQXNCZDtRQUVoRGUsT0FBT0MsTUFBTSxDQUFDZixTQUFTO1lBQ3JCVSxjQUFBQTtZQUNBQyxnQkFBQUE7WUFDQUMsbUJBQUFBO1FBQ0Y7SUFDRjtBQUNGO0FBRUEsU0FBU0Msc0JBQXNCZCxRQUFRO0lBQ3JDLElBQU1pQixZQUFZakIsU0FBU2tCLE9BQU8sQ0FBQyxRQUFRQyx1QkFBWTtJQUV2RCxPQUFPRjtBQUNUO0FBRUEsSUFBTUcsYUFBYSxZQUNiQyxlQUFlLGNBQ2ZDLGdCQUFnQixlQUNoQkMsa0JBQWtCLGlCQUNsQkMsb0JBQW9CLG1CQUNwQkMsb0JBQW9CLG1CQUNwQkMsdUJBQXVCLHNCQUN2QkMsMEJBQTBCLHlCQUMxQkMscUNBQXFDO0FBRXBDLElBQU1sQyxpQkFBaUIsQUFBQyx1QkFHcEIyQixPQURBRyxtQkFBa0IsZUFFbEJKLE9BREFDLGNBQWEsZUFDRixPQUFYRCxZQUFXO0FBR3RCLElBQU1TLGVBQWdCLHNCQUloQkMsaUJBQWlCLEFBQUMsdUJBR2JKLE9BREFELG1CQUFrQixlQUNHLE9BQXJCQyx1QkFFTEssa0JBQW1CLDRCQUluQkMsbUJBQW9CLFdBRXBCQyxxQkFBcUIsQUFBQyx1QkFHakJYLE9BREFDLGlCQUFnQixlQUNGLE9BQWRELGdCQUVMWSxzQkFBdUIsOHRCQWtCdkJDLHdCQUF3QixBQUFDLDJnQkFhdEJQLE9BREFELHlCQUF3QixhQUNXLE9BQW5DQyxvQ0FBbUMsc0JBS3RDUSwwQkFBMkIsMkJBRzNCQyxtQ0FBb0M7SUFVdkI7QUFBbkIsSUFBTWxDLGNBQWEsV0FFakIsaUJBRmlCLE1BRWhCaUIsWUFBYVMsZUFDZCxpQkFIaUIsTUFHaEJSLGNBQWVTLGlCQUNoQixpQkFKaUIsTUFJaEJSLGVBQWdCUyxrQkFDakIsaUJBTGlCLE1BS2hCUixpQkFBa0JTLG1CQUNuQixpQkFOaUIsTUFNaEJSLG1CQUFvQlMscUJBQ3JCLGlCQVBpQixNQU9oQlIsbUJBQW9CUyxzQkFDckIsaUJBUmlCLE1BUWhCUixzQkFBdUJTLHdCQUN4QixpQkFUaUIsTUFTaEJSLHlCQUEwQlMsMEJBQzNCLGlCQVZpQixNQVVoQlIsb0NBQXFDUyxtQ0FWckIifQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL2ltcG9ydGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBNYXJrZG93bkxleGVyLCBNYXJrZG93blBhcnNlciB9IGZyb20gXCIuLi9pbmRleFwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY29uc3QgbWFya2Rvd25MZXhlciA9IE1hcmtkb3duTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duUGFyc2VyID0gTWFya2Rvd25QYXJzZXIuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaW1wb3J0ZXIoZmlsZVBhdGgsIGNvbnRleHQpIHtcbiAgY29uc3QgY29udGVudCA9IGNvbnRlbnRNYXBbZmlsZVBhdGhdIHx8IG51bGw7XG5cbiAgaWYgKGNvbnRlbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGFydE9mQ29udGVudCA9IHRydWUsXG4gICAgICAgICAgc3RhcnRSdWxlID0gbWFya2Rvd25QYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgICAgdG9rZW5zID0gbWFya2Rvd25MZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgICBub2RlID0gbWFya2Rvd25QYXJzZXIucGFyc2UodG9rZW5zLCBzdGFydFJ1bGUsIHN0YXJ0T2ZDb250ZW50KSxcbiAgICAgICAgICBpbXBvcnRlZE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgaW1wb3J0ZWRUb2tlbnMgPSB0b2tlbnMsXG4gICAgICAgICAgaW1wb3J0ZWRDbGFzc05hbWUgPSBjbGFzc05hbWVGcm9tRmlsZVBhdGgoZmlsZVBhdGgpO1xuXG4gICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgICBpbXBvcnRlZE5vZGUsXG4gICAgICBpbXBvcnRlZFRva2VucyxcbiAgICAgIGltcG9ydGVkQ2xhc3NOYW1lXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xhc3NOYW1lRnJvbUZpbGVQYXRoKGZpbGVQYXRoKSB7XG4gIGNvbnN0IGNsYXNzTmFtZSA9IGZpbGVQYXRoLnJlcGxhY2UoL1xcLm1kLywgRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gY2xhc3NOYW1lO1xufVxuXG5jb25zdCBJTkRFWF9QQVRIID0gXCJpbmRleC5tZFwiLFxuICAgICAgQ09OVEVOVF9QQVRIID0gXCJjb250ZW50Lm1kXCIsXG4gICAgICBDT05URU5UU19QQVRIID0gXCJjb250ZW50cy5tZFwiLFxuICAgICAgSEFMRl9USVRMRV9QQVRIID0gXCJoYWxmLXRpdGxlLm1kXCIsXG4gICAgICBGUk9OVF9NQVRURVJfUEFUSCA9IFwiZnJvbnQtbWF0dGVyLm1kXCIsXG4gICAgICBJTlRST0RVQ1RJT05fUEFUSCA9IFwiaW50cm9kdWN0aW9uLm1kXCIsXG4gICAgICBHRVRUSU5HX1NUQVJURURfUEFUSCA9IFwiZ2V0dGluZy1zdGFydGVkLm1kXCIsXG4gICAgICBJTlNUQUxMSU5HX1RIRV9DTElfUEFUSCA9IFwiaW5zdGFsbGluZy10aGUtY2xpLm1kXCIsXG4gICAgICBHRVRUSU5HX1RPX0dSSVBTX1dJVEhfVEhFX0lERV9QQVRIID0gXCJnZXR0aW5nLXRvLWdyaXBzLXdpdGgtdGhlLWlkZS5tZFwiO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdENvbnRlbnQgPSBgQGlnbm9yZVxuXG5AaW5jbHVkZSAke0ZST05UX01BVFRFUl9QQVRIfVxuQGluY2x1ZGUgJHtDT05URU5UX1BBVEh9XG5AaW5jbHVkZSAke0lOREVYX1BBVEh9XG5gO1xuXG5jb25zdCBpbmRleENvbnRlbnQgPSBgIyMgSW5kZXhcblxuQGluZGV4YCxcblxuICAgICAgY29udGVudENvbnRlbnQgPSBgQGlnbm9yZVxuXG5AaW5jbHVkZSAke0lOVFJPRFVDVElPTl9QQVRIfVxuQGluY2x1ZGUgJHtHRVRUSU5HX1NUQVJURURfUEFUSH1gLFxuXG4gICAgICBjb250ZW50c0NvbnRlbnQgPSBgIyMgQ29udGVudHNcblxuQGNvbnRlbnRzYCxcblxuICAgICAgaGFsZlRpdGxlQ29udGVudCA9IGAjIE9jY2FtYCxcblxuICAgICAgZnJvbnRNYXR0ZXJDb250ZW50ID0gYEBpZ25vcmVcblxuQGluY2x1ZGUgJHtIQUxGX1RJVExFX1BBVEh9XG5AaW5jbHVkZSAke0NPTlRFTlRTX1BBVEh9YCxcblxuICAgICAgaW50cm9kdWN0aW9uQ29udGVudCA9IGAjIEludHJvZHVjdGlvblxuICAgICAgXG5JIGhhdmUgdHJpZWQgdG8gbWFrZSBPY2NhbVteb2NjYW1dIGFzIHVzZWFibGUgYXMgcG9zc2libGUgYnV0IHRoZXJlIGFyZSBsaW1pdHMuXG5BdCB0aGUgZW5kIG9mIHRoZSBkYXkgaXQgaXMgYW4gZXhwZXJ0IHN5c3RlbSBhbmQgc29tZSBvZiBpdHMgcGFydHMsIG5vdCBsZWFzdCB0aGUgdmVyaWZpZXIsIG5lZWQgZGV0YWlsZWQgZXhwbGFuYXRpb24uXG5JdCBpcyB0aGUgcHVycG9zZSBvZiB0aGlzIGJvb2sgaXMgdG8gcHJvdmlkZSB0aGVzZSBleHBsYW5hdGlvbnMuXG5cblRoaXMgYm9vayBhbHNvIGdvZXMgaW50byBjb25zaWRlcmFibGUgZGV0YWlsIG9uIHRoZSBzdWJqZWN0IG9mIE9jY2FtJ3MgYXBwcm9hY2ggdG8gbGFuZ3VhZ2UsIHdoaWNoIGxhcmdlbHkgYm9pbHMgZG93biB0byBpdHMgdXNlIG9mIGdyYW1tYXJzLlxuT2NjYW0gaGFzIGl0cyBvd24gbGFuZ3VhZ2UsIGNhbGxlZCBGbG9yZW5jZSxbXmZsb3JlbmNlXSBidXQgaXQgd2lsbCBhbHNvIHN1cHBvcnQgY29udHJvbGxlZCBuYXR1cmFsIGxhbmd1YWdlcyBpbiB0aGUgbmVhciBmdXR1cmUuXG5JbmRlZWQsIHRoZSB2ZXJpZmllciBjYW5ub3QgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGVzZSBsYW5ndWFnZXMgYXQgYWxsLlxuVGhpcyBib29rIGV4cGxhaW5zIGhvdyB0aGlzIGlzIHBvc3NpYmxlLlxuXG5AZm9vdG5vdGVzXG5cbkBwYWdlTnVtYmVyXG5gLFxuXG4gICAgICBnZXR0aW5nU3RhcnRlZENvbnRlbnQgPSBgIyBHZXR0aW5nIHN0YXJ0ZWRcbiAgICAgIFxuQW5vdGhlciBzaG9ydCBwYXJhZ3JhcGggd2l0aCBhIHJlZmVyZW5jZSB0byBhIGZvb3Rub3RlW15vY2NhbV0uXG5cblteb2NjYW1dOiBUaGUgd29yZCBPY2NhbSBpcyB1c2VkIHNvbWV3aGF0IG5lYnVsb3VzbHkgaGVyZS5cbkl0IGlzIG1vc3Qgb2Z0ZW4gYXNzb2NpYXRlZCB3aXRoIE9jY2FtJ3MgSURFIGJ1dCBpbiBmYWN0IGl0IGVuY29tcGFzc2VzIGEgcmFuZ2Ugb2Ygc29mdHdhcmUgYW5kIHNlcnZpY2VzLlxuVGhpcyBib29rIGV4cGxhaW5zIHRoZXNlIGRpdmVycyBwYXJ0cyBhbmQgdGhlcmUgaXMgYSBjb21wYW5pb24gYm9vaywgY2FsbGVkIFRoZSBGb3VuZGF0aW9ucyBvZiBTeW1ib2xpYyBSZWFzb25pbmcsIHRoYXQgY292ZXJzIHRoZSB1bmRlcmx5aW5nIHRoZW9yeS5cblxuW15mbG9yZW5jZV06IE9jY2FtIHdhcyBvcmlnaW5hbGx5IGNhbGxlZCBGbG9yZW5jZSBidXQgdGhlIGZvcm1lciBzZWVtZWQgbW9yZSBhcHQuXG5cbkBmb290bm90ZXNcblxuQGVtYmVkICR7SU5TVEFMTElOR19USEVfQ0xJX1BBVEh9XG5AZW1iZWQgJHtHRVRUSU5HX1RPX0dSSVBTX1dJVEhfVEhFX0lERV9QQVRIfVxuXG5AcGFnZU51bWJlclxuYCxcblxuICAgICAgaW5zdGFsbGluZ1RoZUNMSUNvbnRlbnQgPSBgIyMgSW5zdGFsbGluZyB0aGUgQ0xJXG5gLFxuXG4gICAgICBnZXR0aW5nVG9Hcmlwc1dpdGhUaGVJREVJQ29udGVudCA9IGAjIyBHZXR0aW5nIHRvIGdyaXBzIHdpdGggdGhlIElERVxuICAgICAgICAgICAgXG4qIEFuIHVub3JkZXJlZCBsaXN0IHRvIHRlc3QuLi5cbiogLi4udGhlIGluZGV4aW5nLlxuICAgICAgXG4xLiBBcyB3ZWxsIGFzIGFuLi4uXG4yLiAuLi5vcmRlcmVkIGxpc3QuXG4gICAgICBcbmA7XG5cbmNvbnN0IGNvbnRlbnRNYXAgPSB7XG5cbiAgW0lOREVYX1BBVEhdOiBpbmRleENvbnRlbnQsXG4gIFtDT05URU5UX1BBVEhdOiBjb250ZW50Q29udGVudCxcbiAgW0NPTlRFTlRTX1BBVEhdOiBjb250ZW50c0NvbnRlbnQsXG4gIFtIQUxGX1RJVExFX1BBVEhdOiBoYWxmVGl0bGVDb250ZW50LFxuICBbRlJPTlRfTUFUVEVSX1BBVEhdOiBmcm9udE1hdHRlckNvbnRlbnQsXG4gIFtJTlRST0RVQ1RJT05fUEFUSF06IGludHJvZHVjdGlvbkNvbnRlbnQsXG4gIFtHRVRUSU5HX1NUQVJURURfUEFUSF06IGdldHRpbmdTdGFydGVkQ29udGVudCxcbiAgW0lOU1RBTExJTkdfVEhFX0NMSV9QQVRIXTogaW5zdGFsbGluZ1RoZUNMSUNvbnRlbnQsXG4gIFtHRVRUSU5HX1RPX0dSSVBTX1dJVEhfVEhFX0lERV9QQVRIXTogZ2V0dGluZ1RvR3JpcHNXaXRoVGhlSURFSUNvbnRlbnRcblxufTtcbiJdLCJuYW1lcyI6WyJpbXBvcnRlciIsImRlZmF1bHRDb250ZW50IiwibWFya2Rvd25MZXhlciIsIk1hcmtkb3duTGV4ZXIiLCJmcm9tTm90aGluZyIsIm1hcmtkb3duUGFyc2VyIiwiTWFya2Rvd25QYXJzZXIiLCJmaWxlUGF0aCIsImNvbnRleHQiLCJjb250ZW50IiwiY29udGVudE1hcCIsInN0YXJ0T2ZDb250ZW50Iiwic3RhcnRSdWxlIiwiZ2V0U3RhcnRSdWxlIiwidG9rZW5zIiwidG9rZW5pc2UiLCJub2RlIiwicGFyc2UiLCJpbXBvcnRlZE5vZGUiLCJpbXBvcnRlZFRva2VucyIsImltcG9ydGVkQ2xhc3NOYW1lIiwiY2xhc3NOYW1lRnJvbUZpbGVQYXRoIiwiT2JqZWN0IiwiYXNzaWduIiwiY2xhc3NOYW1lIiwicmVwbGFjZSIsIkVNUFRZX1NUUklORyIsIklOREVYX1BBVEgiLCJDT05URU5UX1BBVEgiLCJDT05URU5UU19QQVRIIiwiSEFMRl9USVRMRV9QQVRIIiwiRlJPTlRfTUFUVEVSX1BBVEgiLCJJTlRST0RVQ1RJT05fUEFUSCIsIkdFVFRJTkdfU1RBUlRFRF9QQVRIIiwiSU5TVEFMTElOR19USEVfQ0xJX1BBVEgiLCJHRVRUSU5HX1RPX0dSSVBTX1dJVEhfVEhFX0lERV9QQVRIIiwiaW5kZXhDb250ZW50IiwiY29udGVudENvbnRlbnQiLCJjb250ZW50c0NvbnRlbnQiLCJoYWxmVGl0bGVDb250ZW50IiwiZnJvbnRNYXR0ZXJDb250ZW50IiwiaW50cm9kdWN0aW9uQ29udGVudCIsImdldHRpbmdTdGFydGVkQ29udGVudCIsImluc3RhbGxpbmdUaGVDTElDb250ZW50IiwiZ2V0dGluZ1RvR3JpcHNXaXRoVGhlSURFSUNvbnRlbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVNBLE9Ba0JDO2VBbEJ1QkE7O0lBb0NYQyxjQUFjO2VBQWRBOzs7cUJBM0NpQzt5QkFFakI7Ozs7Ozs7Ozs7Ozs7O0FBRTdCLElBQU1DLGdCQUFnQkMsb0JBQWEsQ0FBQ0MsV0FBVyxJQUN6Q0MsaUJBQWlCQyxxQkFBYyxDQUFDRixXQUFXO0FBRWxDLFNBQVNKLFNBQVNPLFFBQVEsRUFBRUMsT0FBTztJQUNoRCxJQUFNQyxVQUFVQyxVQUFVLENBQUNILFNBQVMsSUFBSTtJQUV4QyxJQUFJRSxZQUFZLE1BQU07UUFDcEIsSUFBTUUsaUJBQWlCLE1BQ2pCQyxZQUFZUCxlQUFlUSxZQUFZLElBQ3ZDQyxTQUFTWixjQUFjYSxRQUFRLENBQUNOLFVBQ2hDTyxPQUFPWCxlQUFlWSxLQUFLLENBQUNILFFBQVFGLFdBQVdELGlCQUMvQ08sZUFBZUYsTUFDZkcsaUJBQWlCTCxRQUNqQk0sb0JBQW9CQyxzQkFBc0JkO1FBRWhEZSxPQUFPQyxNQUFNLENBQUNmLFNBQVM7WUFDckJVLGNBQUFBO1lBQ0FDLGdCQUFBQTtZQUNBQyxtQkFBQUE7UUFDRjtJQUNGO0FBQ0Y7QUFFQSxTQUFTQyxzQkFBc0JkLFFBQVE7SUFDckMsSUFBTWlCLFlBQVlqQixTQUFTa0IsT0FBTyxDQUFDLFFBQVFDLHVCQUFZO0lBRXZELE9BQU9GO0FBQ1Q7QUFFQSxJQUFNRyxhQUFhLFlBQ2JDLGVBQWUsY0FDZkMsZ0JBQWdCLGVBQ2hCQyxrQkFBa0IsaUJBQ2xCQyxvQkFBb0IsbUJBQ3BCQyxvQkFBb0IsbUJBQ3BCQyx1QkFBdUIsc0JBQ3ZCQywwQkFBMEIseUJBQzFCQyxxQ0FBcUM7QUFFcEMsSUFBTWxDLGlCQUFpQixBQUFDLHVCQUdwQjJCLE9BREFHLG1CQUFrQixlQUVsQkosT0FEQUMsY0FBYSxlQUNGLE9BQVhELFlBQVc7QUFHdEIsSUFBTVMsZUFBZ0Isc0JBSWhCQyxpQkFBaUIsQUFBQyx1QkFHYkosT0FEQUQsbUJBQWtCLGVBQ0csT0FBckJDLHVCQUVMSyxrQkFBbUIsNEJBSW5CQyxtQkFBb0IsV0FFcEJDLHFCQUFxQixBQUFDLHVCQUdqQlgsT0FEQUMsaUJBQWdCLGVBQ0YsT0FBZEQsZ0JBRUxZLHNCQUF1Qiwyc0JBZ0J2QkMsd0JBQXdCLEFBQUMsMmdCQWF0QlAsT0FEQUQseUJBQXdCLGFBQ1csT0FBbkNDLG9DQUFtQyxzQkFLdENRLDBCQUEyQiwyQkFHM0JDLG1DQUFvQztJQVV2QjtBQUFuQixJQUFNbEMsY0FBYSxXQUVqQixpQkFGaUIsTUFFaEJpQixZQUFhUyxlQUNkLGlCQUhpQixNQUdoQlIsY0FBZVMsaUJBQ2hCLGlCQUppQixNQUloQlIsZUFBZ0JTLGtCQUNqQixpQkFMaUIsTUFLaEJSLGlCQUFrQlMsbUJBQ25CLGlCQU5pQixNQU1oQlIsbUJBQW9CUyxxQkFDckIsaUJBUGlCLE1BT2hCUixtQkFBb0JTLHNCQUNyQixpQkFSaUIsTUFRaEJSLHNCQUF1QlMsd0JBQ3hCLGlCQVRpQixNQVNoQlIseUJBQTBCUywwQkFDM0IsaUJBVmlCLE1BVWhCUixvQ0FBcUNTLG1DQVZyQiJ9
@@ -17,7 +17,7 @@ var indexOptions = {
17
17
  "language(s)"
18
18
  ],
19
19
  "acronyms": [
20
- "CLI"
20
+ "C"
21
21
  ],
22
22
  "properNouns": [
23
23
  "Occam"
@@ -140,4 +140,4 @@ var indexOptions = {
140
140
  };
141
141
  var _default = indexOptions;
142
142
 
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL2luZGV4T3B0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgaW5kZXhPcHRpb25zID0ge1xuICBcInBocmFzZXNcIjogW1xuICAgIFwic3ltYm9saWMgcmVhc29uaW5nXCJcbiAgXSxcbiAgXCJwbHVyYWxzXCI6IFtcbiAgICBcImdyYW1tYXJcIixcbiAgICBcImxhbmd1YWdlKHMpXCJcbiAgXSxcbiAgXCJhY3Jvbnltc1wiOiBbXG4gICAgXCJDTElcIixcbiAgXSxcbiAgXCJwcm9wZXJOb3Vuc1wiOiBbXG4gICAgXCJPY2NhbVwiXG4gIF0sXG4gIFwiaWdub3JlZFdvcmRzXCI6IFtcbiAgICBcImFcIixcbiAgICBcImFsbFwiLFxuICAgIFwiYWxzb1wiLFxuICAgIFwiYW5cIixcbiAgICBcImFuZFwiLFxuICAgIFwiYW5vdGhlclwiLFxuICAgIFwiYXBwcm9hY2hcIixcbiAgICBcImFwdFwiLFxuICAgIFwiYXJlXCIsXG4gICAgXCJhc1wiLFxuICAgIFwiYXNzb2NpYXRlZFwiLFxuICAgIFwiYXRcIixcbiAgICBcImJldHdlZW5cIixcbiAgICBcImJvaWxzXCIsXG4gICAgXCJib29rXCIsXG4gICAgXCJidXRcIixcbiAgICBcImNhbGxlZFwiLFxuICAgIFwiY2Fubm90XCIsXG4gICAgXCJjb21wYW5pb25cIixcbiAgICBcImNvbnNpZGVyYWJsZVwiLFxuICAgIFwiY29udGVudHNcIixcbiAgICBcImNvbnRyb2xsZWRcIixcbiAgICBcImNvdmVyc1wiLFxuICAgIFwiZGF5XCIsXG4gICAgXCJkZXRhaWxcIixcbiAgICBcImRldGFpbGVkXCIsXG4gICAgXCJkaXN0aW5ndWlzaFwiLFxuICAgIFwiZGl2ZXJzXCIsXG4gICAgXCJkb3duXCIsXG4gICAgXCJlbmNvbXBhc3Nlc1wiLFxuICAgIFwiZW5kXCIsXG4gICAgXCJleHBlcnRcIixcbiAgICBcImV4cGxhaW5zXCIsXG4gICAgXCJleHBsYW5hdGlvblwiLFxuICAgIFwiZXhwbGFuYXRpb25zXCIsXG4gICAgXCJmYWN0XCIsXG4gICAgXCJmbG9yZW5jZVwiLFxuICAgIFwiZm9vdG5vdGVcIixcbiAgICBcImZvcm1lclwiLFxuICAgIFwiZm91bmRhdGlvbnNcIixcbiAgICBcImZ1dHVyZVwiLFxuICAgIFwiZ2V0dGluZ1wiLFxuICAgIFwiZ29lc1wiLFxuICAgIFwiZ3JpcHNcIixcbiAgICBcImhhc1wiLFxuICAgIFwiaGF2ZVwiLFxuICAgIFwiaGVyZVwiLFxuICAgIFwiaG93XCIsXG4gICAgXCJpXCIsXG4gICAgXCJpZGVcIixcbiAgICBcImluXCIsXG4gICAgXCJpbmRlZWRcIixcbiAgICBcImluZGV4XCIsXG4gICAgXCJpbmRleGluZ1wiLFxuICAgIFwiaW50b1wiLFxuICAgIFwiaW50cm9kdWN0aW9uXCIsXG4gICAgXCJpc1wiLFxuICAgIFwiaXRcIixcbiAgICBcIml0c1wiLFxuICAgIFwibGFyZ2VseVwiLFxuICAgIFwibGVhc3RcIixcbiAgICBcImxpbWl0c1wiLFxuICAgIFwibGlzdFwiLFxuICAgIFwibWFrZVwiLFxuICAgIFwibW9yZVwiLFxuICAgIFwibW9zdFwiLFxuICAgIFwibmF0dXJhbFwiLFxuICAgIFwibmVhclwiLFxuICAgIFwibmVidWxvdXNseVwiLFxuICAgIFwibmVlZFwiLFxuICAgIFwibm90XCIsXG4gICAgXCJvZlwiLFxuICAgIFwib2Z0ZW5cIixcbiAgICBcIm9uXCIsXG4gICAgXCJvcmRlcmVkXCIsXG4gICAgXCJvcmlnaW5hbGx5XCIsXG4gICAgXCJvd25cIixcbiAgICBcInBhcmFncmFwaFwiLFxuICAgIFwicGFydHNcIixcbiAgICBcInBvc3NpYmxlXCIsXG4gICAgXCJwcm92aWRlXCIsXG4gICAgXCJwdXJwb3NlXCIsXG4gICAgXCJyYW5nZVwiLFxuICAgIFwicmVmZXJlbmNlXCIsXG4gICAgXCJzXCIsXG4gICAgXCJzZWVtZWRcIixcbiAgICBcInNlcnZpY2VzXCIsXG4gICAgXCJzaG9ydFwiLFxuICAgIFwic29tZVwiLFxuICAgIFwic29tZXdoYXRcIixcbiAgICBcInN0YXJ0ZWRcIixcbiAgICBcInN1YmplY3RcIixcbiAgICBcInN1cHBvcnRcIixcbiAgICBcInN5c3RlbVwiLFxuICAgIFwidGVzdFwiLFxuICAgIFwidGhhdFwiLFxuICAgIFwidGhlXCIsXG4gICAgXCJ0aGVyZVwiLFxuICAgIFwidGhlc2VcIixcbiAgICBcInRoaXNcIixcbiAgICBcInRvXCIsXG4gICAgXCJ0cmllZFwiLFxuICAgIFwidW5kZXJseWluZ1wiLFxuICAgIFwidW5vcmRlcmVkXCIsXG4gICAgXCJ1c2VcIixcbiAgICBcInVzZWFibGVcIixcbiAgICBcInVzZWRcIixcbiAgICBcIndhc1wiLFxuICAgIFwid2VsbFwiLFxuICAgIFwid2hpY2hcIixcbiAgICBcIndpbGxcIixcbiAgICBcIndpdGhcIixcbiAgICBcIndvcmRcIlxuICBdXG59O1xuXG5leHBvcnQgZGVmYXVsdCBpbmRleE9wdGlvbnM7XG4iXSwibmFtZXMiOlsiaW5kZXhPcHRpb25zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFxSUE7OztlQUFBOzs7QUFuSUEsSUFBTUEsZUFBZTtJQUNuQixXQUFXO1FBQ1Q7S0FDRDtJQUNELFdBQVc7UUFDVDtRQUNBO0tBQ0Q7SUFDRCxZQUFZO1FBQ1Y7S0FDRDtJQUNELGVBQWU7UUFDYjtLQUNEO0lBQ0QsZ0JBQWdCO1FBQ2Q7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtLQUNEO0FBQ0g7SUFFQSxXQUFlQSJ9
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL2luZGV4T3B0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgaW5kZXhPcHRpb25zID0ge1xuICBcInBocmFzZXNcIjogW1xuICAgIFwic3ltYm9saWMgcmVhc29uaW5nXCJcbiAgXSxcbiAgXCJwbHVyYWxzXCI6IFtcbiAgICBcImdyYW1tYXJcIixcbiAgICBcImxhbmd1YWdlKHMpXCJcbiAgXSxcbiAgXCJhY3Jvbnltc1wiOiBbXG4gICAgXCJDXCIsXG4gIF0sXG4gIFwicHJvcGVyTm91bnNcIjogW1xuICAgIFwiT2NjYW1cIlxuICBdLFxuICBcImlnbm9yZWRXb3Jkc1wiOiBbXG4gICAgXCJhXCIsXG4gICAgXCJhbGxcIixcbiAgICBcImFsc29cIixcbiAgICBcImFuXCIsXG4gICAgXCJhbmRcIixcbiAgICBcImFub3RoZXJcIixcbiAgICBcImFwcHJvYWNoXCIsXG4gICAgXCJhcHRcIixcbiAgICBcImFyZVwiLFxuICAgIFwiYXNcIixcbiAgICBcImFzc29jaWF0ZWRcIixcbiAgICBcImF0XCIsXG4gICAgXCJiZXR3ZWVuXCIsXG4gICAgXCJib2lsc1wiLFxuICAgIFwiYm9va1wiLFxuICAgIFwiYnV0XCIsXG4gICAgXCJjYWxsZWRcIixcbiAgICBcImNhbm5vdFwiLFxuICAgIFwiY29tcGFuaW9uXCIsXG4gICAgXCJjb25zaWRlcmFibGVcIixcbiAgICBcImNvbnRlbnRzXCIsXG4gICAgXCJjb250cm9sbGVkXCIsXG4gICAgXCJjb3ZlcnNcIixcbiAgICBcImRheVwiLFxuICAgIFwiZGV0YWlsXCIsXG4gICAgXCJkZXRhaWxlZFwiLFxuICAgIFwiZGlzdGluZ3Vpc2hcIixcbiAgICBcImRpdmVyc1wiLFxuICAgIFwiZG93blwiLFxuICAgIFwiZW5jb21wYXNzZXNcIixcbiAgICBcImVuZFwiLFxuICAgIFwiZXhwZXJ0XCIsXG4gICAgXCJleHBsYWluc1wiLFxuICAgIFwiZXhwbGFuYXRpb25cIixcbiAgICBcImV4cGxhbmF0aW9uc1wiLFxuICAgIFwiZmFjdFwiLFxuICAgIFwiZmxvcmVuY2VcIixcbiAgICBcImZvb3Rub3RlXCIsXG4gICAgXCJmb3JtZXJcIixcbiAgICBcImZvdW5kYXRpb25zXCIsXG4gICAgXCJmdXR1cmVcIixcbiAgICBcImdldHRpbmdcIixcbiAgICBcImdvZXNcIixcbiAgICBcImdyaXBzXCIsXG4gICAgXCJoYXNcIixcbiAgICBcImhhdmVcIixcbiAgICBcImhlcmVcIixcbiAgICBcImhvd1wiLFxuICAgIFwiaVwiLFxuICAgIFwiaWRlXCIsXG4gICAgXCJpblwiLFxuICAgIFwiaW5kZWVkXCIsXG4gICAgXCJpbmRleFwiLFxuICAgIFwiaW5kZXhpbmdcIixcbiAgICBcImludG9cIixcbiAgICBcImludHJvZHVjdGlvblwiLFxuICAgIFwiaXNcIixcbiAgICBcIml0XCIsXG4gICAgXCJpdHNcIixcbiAgICBcImxhcmdlbHlcIixcbiAgICBcImxlYXN0XCIsXG4gICAgXCJsaW1pdHNcIixcbiAgICBcImxpc3RcIixcbiAgICBcIm1ha2VcIixcbiAgICBcIm1vcmVcIixcbiAgICBcIm1vc3RcIixcbiAgICBcIm5hdHVyYWxcIixcbiAgICBcIm5lYXJcIixcbiAgICBcIm5lYnVsb3VzbHlcIixcbiAgICBcIm5lZWRcIixcbiAgICBcIm5vdFwiLFxuICAgIFwib2ZcIixcbiAgICBcIm9mdGVuXCIsXG4gICAgXCJvblwiLFxuICAgIFwib3JkZXJlZFwiLFxuICAgIFwib3JpZ2luYWxseVwiLFxuICAgIFwib3duXCIsXG4gICAgXCJwYXJhZ3JhcGhcIixcbiAgICBcInBhcnRzXCIsXG4gICAgXCJwb3NzaWJsZVwiLFxuICAgIFwicHJvdmlkZVwiLFxuICAgIFwicHVycG9zZVwiLFxuICAgIFwicmFuZ2VcIixcbiAgICBcInJlZmVyZW5jZVwiLFxuICAgIFwic1wiLFxuICAgIFwic2VlbWVkXCIsXG4gICAgXCJzZXJ2aWNlc1wiLFxuICAgIFwic2hvcnRcIixcbiAgICBcInNvbWVcIixcbiAgICBcInNvbWV3aGF0XCIsXG4gICAgXCJzdGFydGVkXCIsXG4gICAgXCJzdWJqZWN0XCIsXG4gICAgXCJzdXBwb3J0XCIsXG4gICAgXCJzeXN0ZW1cIixcbiAgICBcInRlc3RcIixcbiAgICBcInRoYXRcIixcbiAgICBcInRoZVwiLFxuICAgIFwidGhlcmVcIixcbiAgICBcInRoZXNlXCIsXG4gICAgXCJ0aGlzXCIsXG4gICAgXCJ0b1wiLFxuICAgIFwidHJpZWRcIixcbiAgICBcInVuZGVybHlpbmdcIixcbiAgICBcInVub3JkZXJlZFwiLFxuICAgIFwidXNlXCIsXG4gICAgXCJ1c2VhYmxlXCIsXG4gICAgXCJ1c2VkXCIsXG4gICAgXCJ3YXNcIixcbiAgICBcIndlbGxcIixcbiAgICBcIndoaWNoXCIsXG4gICAgXCJ3aWxsXCIsXG4gICAgXCJ3aXRoXCIsXG4gICAgXCJ3b3JkXCJcbiAgXVxufTtcblxuZXhwb3J0IGRlZmF1bHQgaW5kZXhPcHRpb25zO1xuIl0sIm5hbWVzIjpbImluZGV4T3B0aW9ucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBcUlBOzs7ZUFBQTs7O0FBbklBLElBQU1BLGVBQWU7SUFDbkIsV0FBVztRQUNUO0tBQ0Q7SUFDRCxXQUFXO1FBQ1Q7UUFDQTtLQUNEO0lBQ0QsWUFBWTtRQUNWO0tBQ0Q7SUFDRCxlQUFlO1FBQ2I7S0FDRDtJQUNELGdCQUFnQjtRQUNkO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7S0FDRDtBQUNIO0lBRUEsV0FBZUEifQ==
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "indexMapFromDivisionMarkdownNodes", {
10
10
  });
11
11
  var _necessary = require("necessary");
12
12
  var _match = /*#__PURE__*/ _interop_require_default(require("../index/match"));
13
- var _constants = require("../constants");
14
13
  var _object = require("../utilities/object");
14
+ var _constants = require("../constants");
15
15
  function _array_like_to_array(arr, len) {
16
16
  if (len == null || len > arr.length) len = arr.length;
17
17
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -46,11 +46,11 @@ var compress = _necessary.arrayUtilities.compress;
46
46
  function indexMapFromDivisionMarkdownNodes(divisionMarkdownNodes, context) {
47
47
  var indexMap = createIndexMap(divisionMarkdownNodes, context);
48
48
  removeIgnoredWords(indexMap, context);
49
- adjustProperNouns(indexMap, context);
50
- adjustAcronyms(indexMap, context);
51
49
  adjustMixedPlurals(indexMap, context);
52
50
  adjustPluralPlurals(indexMap, context);
53
51
  adjustSingularPlurals(indexMap, context);
52
+ adjustProperNouns(indexMap, context);
53
+ adjustAcronyms(indexMap, context);
54
54
  compressPageNumbers(indexMap);
55
55
  return indexMap;
56
56
  }
@@ -132,7 +132,7 @@ function adjustProperNouns(indexMap, context) {
132
132
  }
133
133
  function preparePlainText(plainText) {
134
134
  plainText = plainText.toLowerCase(); ///
135
- plainText = plainText.replace(/[^a-z ]/g, _constants.SINGLE_SPACE);
135
+ plainText = plainText.replace(/[^a-z0-9 ]/g, _constants.SINGLE_SPACE);
136
136
  plainText = plainText.replace(/\s+/g, _constants.SINGLE_SPACE);
137
137
  plainText = plainText.replace(/^\s+|\s+$/g, _constants.EMPTY_STRING);
138
138
  return plainText;
@@ -157,95 +157,105 @@ function adjustAcronyms(indexMap, context) {
157
157
  });
158
158
  }
159
159
  function adjustMixedPlurals(indexMap, context) {
160
- var indexOptions = context.indexOptions, plurals = indexOptions.plurals, mixedPlurals = mixedPluralsFromPlurals(plurals);
160
+ var indexOptions = context.indexOptions, plurals = indexOptions.plurals, mixedPlurals = reducePlurals(plurals, isMixed), pluralPlurals = mapPlurals(mixedPlurals, mixedToPlural), singularPlurals = mapPlurals(mixedPlurals, mixedToSingular);
161
161
  (0, _object.forEach)(indexMap, function(wordOrPhrase, pageNumbers) {
162
- var entryPlural = isPlural(wordOrPhrase);
163
- if (entryPlural) {
164
- var singularEntry = wordOrPhrase.replace(/s$/, _constants.EMPTY_STRING), mixedEntry = "".concat(singularEntry, "(s)"), mixedPluralsIncludesMixedEntry = mixedPlurals.includes(mixedEntry), entryMixedPlural = mixedPluralsIncludesMixedEntry; ///
165
- if (entryMixedPlural) {
166
- var pluralPageNumbers = pageNumbers, singularPageNumbers = indexMap[singularEntry] || [];
167
- pageNumbers = _to_consumable_array(pluralPageNumbers).concat(_to_consumable_array(singularPageNumbers));
168
- delete indexMap[wordOrPhrase];
169
- delete indexMap[singularEntry];
170
- indexMap[mixedEntry] = pageNumbers;
171
- }
162
+ var singularPluralsIncludesWordOrPhrase = singularPlurals.includes(wordOrPhrase);
163
+ if (singularPluralsIncludesWordOrPhrase) {
164
+ var singularWordOrPhrase = wordOrPhrase, singularPageNumbers = pageNumbers, mixedWordOrPhrase = singularToMixed(singularWordOrPhrase), mixedPageNumbers = indexMap[mixedWordOrPhrase] || [];
165
+ pageNumbers = _to_consumable_array(singularPageNumbers).concat(_to_consumable_array(mixedPageNumbers));
166
+ delete indexMap[singularWordOrPhrase];
167
+ indexMap[mixedWordOrPhrase] = pageNumbers;
168
+ }
169
+ var pluralPluralsIncludesWordOrPhrase = pluralPlurals.includes(wordOrPhrase);
170
+ if (pluralPluralsIncludesWordOrPhrase) {
171
+ var pluralWordOrPhrase = wordOrPhrase, pluralPageNumbers = pageNumbers, mixedWordOrPhrase1 = pluralToMixed(pluralWordOrPhrase), mixedPageNumbers1 = indexMap[mixedWordOrPhrase1] || [];
172
+ pageNumbers = _to_consumable_array(pluralPageNumbers).concat(_to_consumable_array(mixedPageNumbers1));
173
+ delete indexMap[pluralWordOrPhrase];
174
+ indexMap[mixedWordOrPhrase1] = pageNumbers;
172
175
  }
173
176
  });
174
177
  }
175
178
  function adjustPluralPlurals(indexMap, context) {
176
- var indexOptions = context.indexOptions, plurals = indexOptions.plurals, pluralPlurals = pluralPluralsFromPlurals(plurals);
179
+ var indexOptions = context.indexOptions, plurals = indexOptions.plurals, pluralPlurals = reducePlurals(plurals, isPlural), singularPlurals = mapPlurals(pluralPlurals, pluralToSingular);
177
180
  (0, _object.forEach)(indexMap, function(wordOrPhrase, pageNumbers) {
178
- var entryPlural = isPlural(wordOrPhrase);
179
- if (entryPlural) {
180
- var singularEntry = wordOrPhrase.replace(/s$/, _constants.EMPTY_STRING), pluralPluralsIncludesEntry = pluralPlurals.includes(wordOrPhrase), entryPluralPlural = pluralPluralsIncludesEntry; ///
181
- if (entryPluralPlural) {
182
- var pluralPageNumbers = pageNumbers, singularPageNumbers = indexMap[singularEntry] || [];
183
- pageNumbers = _to_consumable_array(pluralPageNumbers).concat(_to_consumable_array(singularPageNumbers));
184
- delete indexMap[singularEntry];
185
- indexMap[wordOrPhrase] = pageNumbers;
186
- }
181
+ var singularPluralsIncludesWordOrPhrase = singularPlurals.includes(wordOrPhrase);
182
+ if (singularPluralsIncludesWordOrPhrase) {
183
+ var singularWordOrPhrase = wordOrPhrase, singularPageNumbers = pageNumbers, pluralWordOrPhrase = singularToPlural(wordOrPhrase), pluralPageNumbers = indexMap[pluralWordOrPhrase] || [];
184
+ pageNumbers = _to_consumable_array(singularPageNumbers).concat(_to_consumable_array(pluralPageNumbers));
185
+ delete indexMap[singularWordOrPhrase];
186
+ indexMap[pluralWordOrPhrase] = pageNumbers;
187
187
  }
188
188
  });
189
189
  }
190
190
  function adjustSingularPlurals(indexMap, context) {
191
- var indexOptions = context.indexOptions, plurals = indexOptions.plurals, singularPlurals = singularPluralsFromPlurals(plurals);
191
+ var indexOptions = context.indexOptions, plurals = indexOptions.plurals, singularPlurals = reducePlurals(plurals, isSingular), pluralPlurals = mapPlurals(singularPlurals, singularToPlural);
192
192
  (0, _object.forEach)(indexMap, function(wordOrPhrase, pageNumbers) {
193
- var entryPlural = isPlural(wordOrPhrase);
194
- if (entryPlural) {
195
- var singularEntry = wordOrPhrase.replace(/s$/, _constants.EMPTY_STRING), singularPluralsIncludesSingularEntry = singularPlurals.includes(singularEntry), entrySingularPlural = singularPluralsIncludesSingularEntry; ///
196
- if (entrySingularPlural) {
197
- var pluralPageNumbers = pageNumbers, singularPageNumbers = indexMap[singularEntry] || [];
198
- pageNumbers = _to_consumable_array(pluralPageNumbers).concat(_to_consumable_array(singularPageNumbers));
199
- delete indexMap[wordOrPhrase];
200
- indexMap[singularEntry] = pageNumbers;
201
- }
193
+ var pluralPluralsIncludesWordOrPhrase = pluralPlurals.includes(wordOrPhrase);
194
+ if (pluralPluralsIncludesWordOrPhrase) {
195
+ var singularWordOrPhrase = pluralToSingular(wordOrPhrase), singularPageNumbers = indexMap[singularWordOrPhrase] || [], pluralWordOrPhrase = wordOrPhrase, pluralPageNumbers = pageNumbers; ///
196
+ pageNumbers = _to_consumable_array(singularPageNumbers).concat(_to_consumable_array(pluralPageNumbers));
197
+ delete indexMap[pluralWordOrPhrase];
198
+ indexMap[singularWordOrPhrase] = pageNumbers;
202
199
  }
203
200
  });
204
201
  }
205
- function singularPluralsFromPlurals(plurals) {
206
- var singularPlurals = plurals.reduce(function(singularPlurals, plural) {
207
- var pluralSingular = isSingular(plural);
208
- if (pluralSingular) {
209
- var singularPlural = plural; ///
210
- singularPlurals.push(singularPlural);
211
- }
212
- return singularPlurals;
213
- }, []);
214
- return singularPlurals;
215
- }
216
- function pluralPluralsFromPlurals(plurals) {
217
- var pluralPlurals = plurals.reduce(function(pluralPlurals, plural) {
218
- var pluralPlural = isPlural(plural);
219
- if (pluralPlural) {
220
- var pluralPlural1 = plural; ///
221
- pluralPlurals.push(pluralPlural1);
202
+ function reducePlurals(plurals, callback) {
203
+ plurals = plurals.reduce(function(plurals, plural) {
204
+ var result = callback(plural);
205
+ if (result) {
206
+ plurals.push(plural);
222
207
  }
223
- return pluralPlurals;
208
+ return plurals;
224
209
  }, []);
225
- return pluralPlurals;
226
- }
227
- function mixedPluralsFromPlurals(plurals) {
228
- var mixedPlurals = plurals.reduce(function(mixedPlurals, plural) {
229
- var pluralMixed = isMixed(plural);
230
- if (pluralMixed) {
231
- var mixedPlural = plural; ///
232
- mixedPlurals.push(mixedPlural);
233
- }
234
- return mixedPlurals;
235
- }, []);
236
- return mixedPlurals;
210
+ return plurals;
211
+ }
212
+ function mapPlurals(plurals, callback) {
213
+ plurals = plurals.map(function(plural) {
214
+ plural = callback(plural);
215
+ return plural;
216
+ });
217
+ return plurals;
237
218
  }
238
219
  function isSingular(text) {
239
- var indexMatches = /[^s)]$/.test(text), pluralSingular = indexMatches; ///
240
- return pluralSingular;
220
+ var indexMatches = /[^s)]$/.test(text), singular = indexMatches; ///
221
+ return singular;
241
222
  }
242
223
  function isPlural(text) {
243
- var indexMatches = /s$/.test(text), plural = indexMatches; ///
224
+ var indexMatches = /(ies|s)$/.test(text), plural = indexMatches; ///
244
225
  return plural;
245
226
  }
246
227
  function isMixed(text) {
247
- var indexMatches = /\(s\)$/.test(text), plural = indexMatches; ///
248
- return plural;
228
+ var indexMatches = /\(s\)$/.test(text), mixed = indexMatches; ///
229
+ return mixed;
230
+ }
231
+ function mixedToPlural(text) {
232
+ text = text ///
233
+ .replace(/\(s\)$/, _constants.S_STRING);
234
+ return text;
235
+ }
236
+ function pluralToMixed(text) {
237
+ text = text ///
238
+ .replace(/s$/, _constants.PARENTHESISED_S_STRING);
239
+ return text;
240
+ }
241
+ function mixedToSingular(text) {
242
+ text = text ///
243
+ .replace(/\(s\)$/, _constants.EMPTY_STRING);
244
+ return text;
245
+ }
246
+ function singularToMixed(text) {
247
+ text = "".concat(text, "(s)");
248
+ return text;
249
+ }
250
+ function singularToPlural(text) {
251
+ text = "".concat(text, "s") ///
252
+ .replace(/ys$/, _constants.IES_STRING);
253
+ return text;
254
+ }
255
+ function pluralToSingular(text) {
256
+ text = text ///
257
+ .replace(/ies$/, _constants.Y_STRING).replace(/s$/, _constants.EMPTY_STRING);
258
+ return text;
249
259
  }
250
260
 
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgSW5kZXhNYXRjaCBmcm9tIFwiLi4vaW5kZXgvbWF0Y2hcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HLCBTSU5HTEVfU1BBQ0UgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBmb3JFYWNoLCBtYXBLZXlzLCBtYXBWYWx1ZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL29iamVjdFwiO1xuXG5jb25zdCB7IGNvbXByZXNzIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGluZGV4TWFwRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlcyhkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXAgPSBjcmVhdGVJbmRleE1hcChkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpO1xuXG4gIHJlbW92ZUlnbm9yZWRXb3JkcyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgYWRqdXN0UHJvcGVyTm91bnMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFBsdXJhbFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFNpbmd1bGFyUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgY29tcHJlc3NQYWdlTnVtYmVycyhpbmRleE1hcCk7XG5cbiAgcmV0dXJuIGluZGV4TWFwO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVJbmRleE1hcChkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXAgPSB7fTtcblxuICBjb25zdCB7IGluZGV4T3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBwaHJhc2VzIH0gPSBpbmRleE9wdGlvbnMsXG4gICAgICAgIGluZGV4TWF0Y2hlcyA9IHBocmFzZXMubWFwKChwaHJhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCBpbmRleE1hdGNoID0gSW5kZXhNYXRjaC5mcm9tUGhyYXNlKHBocmFzZSk7XG5cbiAgICAgICAgICByZXR1cm4gaW5kZXhNYXRjaDtcbiAgICAgICAgfSk7XG5cbiAgZGl2aXNpb25NYXJrZG93bk5vZGVzLmZvckVhY2goKGRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgY29uc3QgcGFnZU51bWJlciA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmdldFBhZ2VOdW1iZXIoKTtcblxuICAgIGlmIChwYWdlTnVtYmVyICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwbGFpblRleHQgPSBkaXZpc2lvbk1hcmtkb3duTm9kZS5hc1BsYWluVGV4dChjb250ZXh0KSxcbiAgICAgICAgICAgIHdvcmRzT3JQaHJhc2VzID0gd29yZHNPclBocmFzZXNGcm9tUGxhaW5UZXh0QW5kSW5kZXhNYXRjaGVzKHBsYWluVGV4dCwgaW5kZXhNYXRjaGVzKTtcblxuICAgICAgd29yZHNPclBocmFzZXMuZm9yRWFjaCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgICAgIGxldCBwYWdlTnVtYmVycyA9IGluZGV4TWFwW3dvcmRPclBocmFzZV0gfHwgbnVsbDtcblxuICAgICAgICBpZiAocGFnZU51bWJlcnMgPT09IG51bGwpIHtcbiAgICAgICAgICBwYWdlTnVtYmVycyA9IFtdO1xuXG4gICAgICAgICAgaW5kZXhNYXBbd29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFnZU51bWJlcnMucHVzaChwYWdlTnVtYmVyKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGluZGV4TWFwO1xufVxuXG5mdW5jdGlvbiB3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMocGxhaW5UZXh0LCBpbmRleE1hdGNoZXMpIHtcbiAgbGV0IHdvcmRzT3JQaHJhc2VzO1xuXG4gIHBsYWluVGV4dCA9IHByZXBhcmVQbGFpblRleHQocGxhaW5UZXh0KTsgIC8vL1xuXG4gIGluZGV4TWF0Y2hlcy5mb3JFYWNoKChpbmRleE1hdGNoKSA9PiB7XG4gICAgcGxhaW5UZXh0ID0gaW5kZXhNYXRjaC5yZXBsYWNlKHBsYWluVGV4dCk7XG4gIH0pO1xuXG4gIHdvcmRzT3JQaHJhc2VzID0gcGxhaW5UZXh0LnNwbGl0KFNJTkdMRV9TUEFDRSk7XG5cbiAgd29yZHNPclBocmFzZXMgPSB3b3Jkc09yUGhyYXNlcy5tYXAoKHdvcmRPclBocmFzZSkgPT4ge1xuICAgIHdvcmRPclBocmFzZSA9IEluZGV4TWF0Y2gucmV2ZXJ0KHdvcmRPclBocmFzZSk7ICAvLy9cblxuICAgIHJldHVybiB3b3JkT3JQaHJhc2U7XG4gIH0pO1xuXG4gIHJldHVybiB3b3Jkc09yUGhyYXNlcztcbn1cblxuZnVuY3Rpb24gY29tcHJlc3NQYWdlTnVtYmVycyhpbmRleE1hcCkge1xuICBtYXBWYWx1ZXMoaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29tcHJlc3MocGFnZU51bWJlcnMsIChwYWdlTnVtYmVyQSwgcGFnZU51bWJlckIpID0+IHtcbiAgICAgIGlmIChwYWdlTnVtYmVyQSA9PT0gcGFnZU51bWJlckIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBwYWdlTnVtYmVycy5zb3J0KChwYWdlTnVtYmVyQiwgcGFnZU51bWJlckEpID0+IHtcbiAgICAgIHBhZ2VOdW1iZXJBID0gTnVtYmVyKHBhZ2VOdW1iZXJBKTsgIC8vL1xuXG4gICAgICBwYWdlTnVtYmVyQiA9IE51bWJlcihwYWdlTnVtYmVyQik7ICAvLy9cblxuICAgICAgY29uc3QgZGlmZmVyZW5jZSA9IHBhZ2VOdW1iZXJCIC0gcGFnZU51bWJlckE7XG5cbiAgICAgIHJldHVybiBkaWZmZXJlbmNlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhZ2VOdW1iZXJzO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlSWdub3JlZFdvcmRzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IGlnbm9yZWRXb3JkcyB9ID0gaW5kZXhPcHRpb25zO1xuXG4gIGlnbm9yZWRXb3Jkcy5mb3JFYWNoKChpZ25vcmVkV29yZCkgPT4ge1xuICAgIGRlbGV0ZSBpbmRleE1hcFtpZ25vcmVkV29yZF07XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RQcm9wZXJOb3VucyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IGluZGV4T3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBwcm9wZXJOb3VucyB9ID0gaW5kZXhPcHRpb25zO1xuXG4gIGNvbnN0IGxvd2VyQ2FzZVByb3Blck5vdW5zID0gcHJvcGVyTm91bnMubWFwKChwcm9wZXJOb3VuKSA9PiB7XG4gICAgY29uc3QgbG93ZXJDYXNlUHJvcGVyTm91biA9IHByb3Blck5vdW4udG9Mb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBsb3dlckNhc2VQcm9wZXJOb3VuO1xuICB9KTtcblxuICBtYXBLZXlzKGluZGV4TWFwLCAod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgY29uc3QgaW5kZXggPSBsb3dlckNhc2VQcm9wZXJOb3Vucy5maW5kSW5kZXgoKGxvd2VyQ2FzZVByb3Blck5tYWUpID0+IHtcbiAgICAgIGlmIChsb3dlckNhc2VQcm9wZXJObWFlID09PSB3b3JkT3JQaHJhc2UpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgY29uc3QgcHJvcGVyTm91biA9IHByb3Blck5vdW5zW2luZGV4XTtcblxuICAgICAgd29yZE9yUGhyYXNlID0gcHJvcGVyTm91bjsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiB3b3JkT3JQaHJhc2U7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBwcmVwYXJlUGxhaW5UZXh0KHBsYWluVGV4dCkge1xuICBwbGFpblRleHQgPSBwbGFpblRleHQudG9Mb3dlckNhc2UoKTsgIC8vL1xuXG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC5yZXBsYWNlKC9bXmEteiBdL2csIFNJTkdMRV9TUEFDRSk7XG5cbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnJlcGxhY2UoL1xccysvZywgU0lOR0xFX1NQQUNFKTtcblxuICBwbGFpblRleHQgPSBwbGFpblRleHQucmVwbGFjZSgvXlxccyt8XFxzKyQvZywgRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gcGxhaW5UZXh0O1xufVxuXG5mdW5jdGlvbiBhZGp1c3RBY3JvbnltcyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IGluZGV4T3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBhY3JvbnltcyB9ID0gaW5kZXhPcHRpb25zO1xuXG4gIGNvbnN0IGxvd2VyQ2FzZUFjcm9ueW1zID0gYWNyb255bXMubWFwKChhY3JvbnltKSA9PiB7XG4gICAgY29uc3QgbG93ZXJDYXNlQWNyb255bSA9IGFjcm9ueW0udG9Mb3dlckNhc2UoKTtcblxuICAgIHJldHVybiBsb3dlckNhc2VBY3JvbnltO1xuICB9KTtcblxuICBtYXBLZXlzKGluZGV4TWFwLCAod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgY29uc3QgaW5kZXggPSBsb3dlckNhc2VBY3Jvbnltcy5maW5kSW5kZXgoKGxvd2VyQ2FzZVByb3Blck5tYWUpID0+IHtcbiAgICAgIGlmIChsb3dlckNhc2VQcm9wZXJObWFlID09PSB3b3JkT3JQaHJhc2UpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgY29uc3QgYWNyb255bSA9IGFjcm9ueW1zW2luZGV4XTtcblxuICAgICAgd29yZE9yUGhyYXNlID0gYWNyb255bTsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiB3b3JkT3JQaHJhc2U7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgcGx1cmFscyB9ID0gaW5kZXhPcHRpb25zLFxuICAgICAgICBtaXhlZFBsdXJhbHMgPSBtaXhlZFBsdXJhbHNGcm9tUGx1cmFscyhwbHVyYWxzKTtcblxuICBmb3JFYWNoKGluZGV4TWFwLCAod29yZE9yUGhyYXNlLCBwYWdlTnVtYmVycykgPT4ge1xuICAgIGNvbnN0IGVudHJ5UGx1cmFsID0gaXNQbHVyYWwod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChlbnRyeVBsdXJhbCkge1xuICAgICAgY29uc3Qgc2luZ3VsYXJFbnRyeSA9IHdvcmRPclBocmFzZS5yZXBsYWNlKC9zJC8sIEVNUFRZX1NUUklORyksXG4gICAgICAgICAgICBtaXhlZEVudHJ5ID0gYCR7c2luZ3VsYXJFbnRyeX0ocylgLFxuICAgICAgICAgICAgbWl4ZWRQbHVyYWxzSW5jbHVkZXNNaXhlZEVudHJ5ID0gbWl4ZWRQbHVyYWxzLmluY2x1ZGVzKG1peGVkRW50cnkpLFxuICAgICAgICAgICAgZW50cnlNaXhlZFBsdXJhbCA9IG1peGVkUGx1cmFsc0luY2x1ZGVzTWl4ZWRFbnRyeTsgLy8vXG5cbiAgICAgIGlmIChlbnRyeU1peGVkUGx1cmFsKSB7XG4gICAgICAgIGNvbnN0IHBsdXJhbFBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgICAgc2luZ3VsYXJQYWdlTnVtYmVycyA9IGluZGV4TWFwW3Npbmd1bGFyRW50cnldIHx8IFtdO1xuXG4gICAgICAgIHBhZ2VOdW1iZXJzID0gWyAvLy9cbiAgICAgICAgICAuLi5wbHVyYWxQYWdlTnVtYmVycyxcbiAgICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzXG4gICAgICAgIF07XG5cbiAgICAgICAgZGVsZXRlIGluZGV4TWFwW3dvcmRPclBocmFzZV07XG4gICAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhckVudHJ5XTtcblxuICAgICAgICBpbmRleE1hcFttaXhlZEVudHJ5XSA9IHBhZ2VOdW1iZXJzO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkanVzdFBsdXJhbFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgcGx1cmFscyB9ID0gaW5kZXhPcHRpb25zLFxuICAgICAgICBwbHVyYWxQbHVyYWxzID0gcGx1cmFsUGx1cmFsc0Zyb21QbHVyYWxzKHBsdXJhbHMpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29uc3QgZW50cnlQbHVyYWwgPSBpc1BsdXJhbCh3b3JkT3JQaHJhc2UpO1xuXG4gICAgaWYgKGVudHJ5UGx1cmFsKSB7XG4gICAgICBjb25zdCBzaW5ndWxhckVudHJ5ID0gd29yZE9yUGhyYXNlLnJlcGxhY2UoL3MkLywgRU1QVFlfU1RSSU5HKSxcbiAgICAgICAgICAgIHBsdXJhbFBsdXJhbHNJbmNsdWRlc0VudHJ5ID0gcGx1cmFsUGx1cmFscy5pbmNsdWRlcyh3b3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgZW50cnlQbHVyYWxQbHVyYWwgPSBwbHVyYWxQbHVyYWxzSW5jbHVkZXNFbnRyeTsgLy8vXG5cbiAgICAgIGlmIChlbnRyeVBsdXJhbFBsdXJhbCkge1xuICAgICAgICBjb25zdCBwbHVyYWxQYWdlTnVtYmVycyA9IHBhZ2VOdW1iZXJzLCAgLy8vXG4gICAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBpbmRleE1hcFtzaW5ndWxhckVudHJ5XSB8fCBbXTtcblxuICAgICAgICBwYWdlTnVtYmVycyA9IFsgLy8vXG4gICAgICAgICAgLi4ucGx1cmFsUGFnZU51bWJlcnMsXG4gICAgICAgICAgLi4uc2luZ3VsYXJQYWdlTnVtYmVyc1xuICAgICAgICBdO1xuXG4gICAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhckVudHJ5XTtcblxuICAgICAgICBpbmRleE1hcFt3b3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0U2luZ3VsYXJQbHVyYWxzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHBsdXJhbHMgfSA9IGluZGV4T3B0aW9ucyxcbiAgICAgICAgc2luZ3VsYXJQbHVyYWxzID0gc2luZ3VsYXJQbHVyYWxzRnJvbVBsdXJhbHMocGx1cmFscyk7XG5cbiAgZm9yRWFjaChpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICBjb25zdCBlbnRyeVBsdXJhbCA9IGlzUGx1cmFsKHdvcmRPclBocmFzZSk7XG5cbiAgICBpZiAoZW50cnlQbHVyYWwpIHtcbiAgICAgIGNvbnN0IHNpbmd1bGFyRW50cnkgPSB3b3JkT3JQaHJhc2UucmVwbGFjZSgvcyQvLCBFTVBUWV9TVFJJTkcpLFxuICAgICAgICAgICAgc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNTaW5ndWxhckVudHJ5ID0gc2luZ3VsYXJQbHVyYWxzLmluY2x1ZGVzKHNpbmd1bGFyRW50cnkpLFxuICAgICAgICAgICAgZW50cnlTaW5ndWxhclBsdXJhbCA9IHNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzU2luZ3VsYXJFbnRyeTsgLy8vXG5cbiAgICAgIGlmIChlbnRyeVNpbmd1bGFyUGx1cmFsKSB7XG4gICAgICAgIGNvbnN0IHBsdXJhbFBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgICAgc2luZ3VsYXJQYWdlTnVtYmVycyA9IGluZGV4TWFwW3Npbmd1bGFyRW50cnldIHx8IFtdO1xuXG4gICAgICAgIHBhZ2VOdW1iZXJzID0gWyAvLy9cbiAgICAgICAgICAuLi5wbHVyYWxQYWdlTnVtYmVycyxcbiAgICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzXG4gICAgICAgIF07XG5cbiAgICAgICAgZGVsZXRlIGluZGV4TWFwW3dvcmRPclBocmFzZV07XG5cbiAgICAgICAgaW5kZXhNYXBbc2luZ3VsYXJFbnRyeV0gPSBwYWdlTnVtYmVycztcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBzaW5ndWxhclBsdXJhbHNGcm9tUGx1cmFscyhwbHVyYWxzKSB7XG4gIGNvbnN0IHNpbmd1bGFyUGx1cmFscyA9IHBsdXJhbHMucmVkdWNlKChzaW5ndWxhclBsdXJhbHMsIHBsdXJhbCkgPT4ge1xuICAgIGNvbnN0IHBsdXJhbFNpbmd1bGFyID0gaXNTaW5ndWxhcihwbHVyYWwpO1xuXG4gICAgaWYgKHBsdXJhbFNpbmd1bGFyKSB7XG4gICAgICBjb25zdCBzaW5ndWxhclBsdXJhbCA9IHBsdXJhbDsgIC8vL1xuXG4gICAgICBzaW5ndWxhclBsdXJhbHMucHVzaChzaW5ndWxhclBsdXJhbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNpbmd1bGFyUGx1cmFscztcbiAgfSwgW10pO1xuXG4gIHJldHVybiBzaW5ndWxhclBsdXJhbHM7XG59XG5cbmZ1bmN0aW9uIHBsdXJhbFBsdXJhbHNGcm9tUGx1cmFscyhwbHVyYWxzKSB7XG4gIGNvbnN0IHBsdXJhbFBsdXJhbHMgPSBwbHVyYWxzLnJlZHVjZSgocGx1cmFsUGx1cmFscywgcGx1cmFsKSA9PiB7XG4gICAgY29uc3QgcGx1cmFsUGx1cmFsID0gaXNQbHVyYWwocGx1cmFsKTtcblxuICAgIGlmIChwbHVyYWxQbHVyYWwpIHtcbiAgICAgIGNvbnN0IHBsdXJhbFBsdXJhbCA9IHBsdXJhbDsgIC8vL1xuXG4gICAgICBwbHVyYWxQbHVyYWxzLnB1c2gocGx1cmFsUGx1cmFsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGx1cmFsUGx1cmFscztcbiAgfSwgW10pO1xuXG4gIHJldHVybiBwbHVyYWxQbHVyYWxzO1xufVxuXG5mdW5jdGlvbiBtaXhlZFBsdXJhbHNGcm9tUGx1cmFscyhwbHVyYWxzKSB7XG4gIGNvbnN0IG1peGVkUGx1cmFscyA9IHBsdXJhbHMucmVkdWNlKChtaXhlZFBsdXJhbHMsIHBsdXJhbCkgPT4ge1xuICAgIGNvbnN0IHBsdXJhbE1peGVkID0gaXNNaXhlZChwbHVyYWwpO1xuXG4gICAgaWYgKHBsdXJhbE1peGVkKSB7XG4gICAgICBjb25zdCBtaXhlZFBsdXJhbCA9IHBsdXJhbDsgIC8vL1xuXG4gICAgICBtaXhlZFBsdXJhbHMucHVzaChtaXhlZFBsdXJhbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1peGVkUGx1cmFscztcbiAgfSwgW10pO1xuXG4gIHJldHVybiBtaXhlZFBsdXJhbHM7XG59XG5cbmZ1bmN0aW9uIGlzU2luZ3VsYXIodGV4dCkge1xuICBjb25zdCBpbmRleE1hdGNoZXMgPSAvW15zKV0kLy50ZXN0KHRleHQpLFxuICAgICAgICBwbHVyYWxTaW5ndWxhciA9IGluZGV4TWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIHBsdXJhbFNpbmd1bGFyO1xufVxuXG5mdW5jdGlvbiBpc1BsdXJhbCh0ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWF0Y2hlcyA9IC9zJC8udGVzdCh0ZXh0KSxcbiAgICAgICAgcGx1cmFsID0gaW5kZXhNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gcGx1cmFsO1xufVxuXG5mdW5jdGlvbiBpc01peGVkKHRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXRjaGVzID0gL1xcKHNcXCkkLy50ZXN0KHRleHQpLFxuICAgICAgICBwbHVyYWwgPSBpbmRleE1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBwbHVyYWw7XG59XG4iXSwibmFtZXMiOlsiaW5kZXhNYXBGcm9tRGl2aXNpb25NYXJrZG93bk5vZGVzIiwiY29tcHJlc3MiLCJhcnJheVV0aWxpdGllcyIsImRpdmlzaW9uTWFya2Rvd25Ob2RlcyIsImNvbnRleHQiLCJpbmRleE1hcCIsImNyZWF0ZUluZGV4TWFwIiwicmVtb3ZlSWdub3JlZFdvcmRzIiwiYWRqdXN0UHJvcGVyTm91bnMiLCJhZGp1c3RBY3JvbnltcyIsImFkanVzdE1peGVkUGx1cmFscyIsImFkanVzdFBsdXJhbFBsdXJhbHMiLCJhZGp1c3RTaW5ndWxhclBsdXJhbHMiLCJjb21wcmVzc1BhZ2VOdW1iZXJzIiwiaW5kZXhPcHRpb25zIiwicGhyYXNlcyIsImluZGV4TWF0Y2hlcyIsIm1hcCIsInBocmFzZSIsImluZGV4TWF0Y2giLCJJbmRleE1hdGNoIiwiZnJvbVBocmFzZSIsImZvckVhY2giLCJkaXZpc2lvbk1hcmtkb3duTm9kZSIsInBhZ2VOdW1iZXIiLCJnZXRQYWdlTnVtYmVyIiwicGxhaW5UZXh0IiwiYXNQbGFpblRleHQiLCJ3b3Jkc09yUGhyYXNlcyIsIndvcmRzT3JQaHJhc2VzRnJvbVBsYWluVGV4dEFuZEluZGV4TWF0Y2hlcyIsIndvcmRPclBocmFzZSIsInBhZ2VOdW1iZXJzIiwicHVzaCIsInByZXBhcmVQbGFpblRleHQiLCJyZXBsYWNlIiwic3BsaXQiLCJTSU5HTEVfU1BBQ0UiLCJyZXZlcnQiLCJtYXBWYWx1ZXMiLCJwYWdlTnVtYmVyQSIsInBhZ2VOdW1iZXJCIiwic29ydCIsIk51bWJlciIsImRpZmZlcmVuY2UiLCJpZ25vcmVkV29yZHMiLCJpZ25vcmVkV29yZCIsInByb3Blck5vdW5zIiwibG93ZXJDYXNlUHJvcGVyTm91bnMiLCJwcm9wZXJOb3VuIiwibG93ZXJDYXNlUHJvcGVyTm91biIsInRvTG93ZXJDYXNlIiwibWFwS2V5cyIsImluZGV4IiwiZmluZEluZGV4IiwibG93ZXJDYXNlUHJvcGVyTm1hZSIsIkVNUFRZX1NUUklORyIsImFjcm9ueW1zIiwibG93ZXJDYXNlQWNyb255bXMiLCJhY3JvbnltIiwibG93ZXJDYXNlQWNyb255bSIsInBsdXJhbHMiLCJtaXhlZFBsdXJhbHMiLCJtaXhlZFBsdXJhbHNGcm9tUGx1cmFscyIsImVudHJ5UGx1cmFsIiwiaXNQbHVyYWwiLCJzaW5ndWxhckVudHJ5IiwibWl4ZWRFbnRyeSIsIm1peGVkUGx1cmFsc0luY2x1ZGVzTWl4ZWRFbnRyeSIsImluY2x1ZGVzIiwiZW50cnlNaXhlZFBsdXJhbCIsInBsdXJhbFBhZ2VOdW1iZXJzIiwic2luZ3VsYXJQYWdlTnVtYmVycyIsInBsdXJhbFBsdXJhbHMiLCJwbHVyYWxQbHVyYWxzRnJvbVBsdXJhbHMiLCJwbHVyYWxQbHVyYWxzSW5jbHVkZXNFbnRyeSIsImVudHJ5UGx1cmFsUGx1cmFsIiwic2luZ3VsYXJQbHVyYWxzIiwic2luZ3VsYXJQbHVyYWxzRnJvbVBsdXJhbHMiLCJzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1Npbmd1bGFyRW50cnkiLCJlbnRyeVNpbmd1bGFyUGx1cmFsIiwicmVkdWNlIiwicGx1cmFsIiwicGx1cmFsU2luZ3VsYXIiLCJpc1Npbmd1bGFyIiwic2luZ3VsYXJQbHVyYWwiLCJwbHVyYWxQbHVyYWwiLCJwbHVyYWxNaXhlZCIsImlzTWl4ZWQiLCJtaXhlZFBsdXJhbCIsInRleHQiLCJ0ZXN0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXZ0JBOzs7ZUFBQUE7Ozt5QkFUZTs0REFFUjt5QkFFb0I7c0JBQ0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUMsSUFBTSxBQUFFQyxXQUFhQyx5QkFBYyxDQUEzQkQ7QUFFRCxTQUFTRCxrQ0FBa0NHLHFCQUFxQixFQUFFQyxPQUFPO0lBQzlFLElBQU1DLFdBQVdDLGVBQWVILHVCQUF1QkM7SUFFdkRHLG1CQUFtQkYsVUFBVUQ7SUFFN0JJLGtCQUFrQkgsVUFBVUQ7SUFFNUJLLGVBQWVKLFVBQVVEO0lBRXpCTSxtQkFBbUJMLFVBQVVEO0lBRTdCTyxvQkFBb0JOLFVBQVVEO0lBRTlCUSxzQkFBc0JQLFVBQVVEO0lBRWhDUyxv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
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgSW5kZXhNYXRjaCBmcm9tIFwiLi4vaW5kZXgvbWF0Y2hcIjtcblxuaW1wb3J0IHsgZm9yRWFjaCwgbWFwS2V5cywgbWFwVmFsdWVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9vYmplY3RcIjtcbmltcG9ydCB7IFlfU1RSSU5HLCBTX1NUUklORywgSUVTX1NUUklORywgRU1QVFlfU1RSSU5HLCBTSU5HTEVfU1BBQ0UsIFBBUkVOVEhFU0lTRURfU19TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgY29tcHJlc3MgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5kZXhNYXBGcm9tRGl2aXNpb25NYXJrZG93bk5vZGVzKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICBjb25zdCBpbmRleE1hcCA9IGNyZWF0ZUluZGV4TWFwKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCk7XG5cbiAgcmVtb3ZlSWdub3JlZFdvcmRzKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFBsdXJhbFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFNpbmd1bGFyUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgYWRqdXN0UHJvcGVyTm91bnMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluZGV4TWFwKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICBjb25zdCBpbmRleE1hcCA9IHt9O1xuXG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHBocmFzZXMgfSA9IGluZGV4T3B0aW9ucyxcbiAgICAgICAgaW5kZXhNYXRjaGVzID0gcGhyYXNlcy5tYXAoKHBocmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGluZGV4TWF0Y2ggPSBJbmRleE1hdGNoLmZyb21QaHJhc2UocGhyYXNlKTtcblxuICAgICAgICAgIHJldHVybiBpbmRleE1hdGNoO1xuICAgICAgICB9KTtcblxuICBkaXZpc2lvbk1hcmtkb3duTm9kZXMuZm9yRWFjaCgoZGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgICBjb25zdCBwYWdlTnVtYmVyID0gZGl2aXNpb25NYXJrZG93bk5vZGUuZ2V0UGFnZU51bWJlcigpO1xuXG4gICAgaWYgKHBhZ2VOdW1iZXIgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHBsYWluVGV4dCA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlLmFzUGxhaW5UZXh0KGNvbnRleHQpLFxuICAgICAgICAgICAgd29yZHNPclBocmFzZXMgPSB3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMocGxhaW5UZXh0LCBpbmRleE1hdGNoZXMpO1xuXG4gICAgICB3b3Jkc09yUGhyYXNlcy5mb3JFYWNoKCh3b3JkT3JQaHJhc2UpID0+IHtcbiAgICAgICAgbGV0IHBhZ2VOdW1iZXJzID0gaW5kZXhNYXBbd29yZE9yUGhyYXNlXSB8fCBudWxsO1xuXG4gICAgICAgIGlmIChwYWdlTnVtYmVycyA9PT0gbnVsbCkge1xuICAgICAgICAgIHBhZ2VOdW1iZXJzID0gW107XG5cbiAgICAgICAgICBpbmRleE1hcFt3b3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG4gICAgICAgIH1cblxuICAgICAgICBwYWdlTnVtYmVycy5wdXNoKHBhZ2VOdW1iZXIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIHdvcmRzT3JQaHJhc2VzRnJvbVBsYWluVGV4dEFuZEluZGV4TWF0Y2hlcyhwbGFpblRleHQsIGluZGV4TWF0Y2hlcykge1xuICBsZXQgd29yZHNPclBocmFzZXM7XG5cbiAgcGxhaW5UZXh0ID0gcHJlcGFyZVBsYWluVGV4dChwbGFpblRleHQpOyAgLy8vXG5cbiAgaW5kZXhNYXRjaGVzLmZvckVhY2goKGluZGV4TWF0Y2gpID0+IHtcbiAgICBwbGFpblRleHQgPSBpbmRleE1hdGNoLnJlcGxhY2UocGxhaW5UZXh0KTtcbiAgfSk7XG5cbiAgd29yZHNPclBocmFzZXMgPSBwbGFpblRleHQuc3BsaXQoU0lOR0xFX1NQQUNFKTtcblxuICB3b3Jkc09yUGhyYXNlcyA9IHdvcmRzT3JQaHJhc2VzLm1hcCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgd29yZE9yUGhyYXNlID0gSW5kZXhNYXRjaC5yZXZlcnQod29yZE9yUGhyYXNlKTsgIC8vL1xuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHdvcmRzT3JQaHJhc2VzO1xufVxuXG5mdW5jdGlvbiBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKSB7XG4gIG1hcFZhbHVlcyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICBjb21wcmVzcyhwYWdlTnVtYmVycywgKHBhZ2VOdW1iZXJBLCBwYWdlTnVtYmVyQikgPT4ge1xuICAgICAgaWYgKHBhZ2VOdW1iZXJBID09PSBwYWdlTnVtYmVyQikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHBhZ2VOdW1iZXJzLnNvcnQoKHBhZ2VOdW1iZXJCLCBwYWdlTnVtYmVyQSkgPT4ge1xuICAgICAgcGFnZU51bWJlckEgPSBOdW1iZXIocGFnZU51bWJlckEpOyAgLy8vXG5cbiAgICAgIHBhZ2VOdW1iZXJCID0gTnVtYmVyKHBhZ2VOdW1iZXJCKTsgIC8vL1xuXG4gICAgICBjb25zdCBkaWZmZXJlbmNlID0gcGFnZU51bWJlckIgLSBwYWdlTnVtYmVyQTtcblxuICAgICAgcmV0dXJuIGRpZmZlcmVuY2U7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFnZU51bWJlcnM7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVJZ25vcmVkV29yZHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgaWdub3JlZFdvcmRzIH0gPSBpbmRleE9wdGlvbnM7XG5cbiAgaWdub3JlZFdvcmRzLmZvckVhY2goKGlnbm9yZWRXb3JkKSA9PiB7XG4gICAgZGVsZXRlIGluZGV4TWFwW2lnbm9yZWRXb3JkXTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkanVzdFByb3Blck5vdW5zKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHByb3Blck5vdW5zIH0gPSBpbmRleE9wdGlvbnM7XG5cbiAgY29uc3QgbG93ZXJDYXNlUHJvcGVyTm91bnMgPSBwcm9wZXJOb3Vucy5tYXAoKHByb3Blck5vdW4pID0+IHtcbiAgICBjb25zdCBsb3dlckNhc2VQcm9wZXJOb3VuID0gcHJvcGVyTm91bi50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGxvd2VyQ2FzZVByb3Blck5vdW47XG4gIH0pO1xuXG4gIG1hcEtleXMoaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UpID0+IHtcbiAgICBjb25zdCBpbmRleCA9IGxvd2VyQ2FzZVByb3Blck5vdW5zLmZpbmRJbmRleCgobG93ZXJDYXNlUHJvcGVyTm1hZSkgPT4ge1xuICAgICAgaWYgKGxvd2VyQ2FzZVByb3Blck5tYWUgPT09IHdvcmRPclBocmFzZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb25zdCBwcm9wZXJOb3VuID0gcHJvcGVyTm91bnNbaW5kZXhdO1xuXG4gICAgICB3b3JkT3JQaHJhc2UgPSBwcm9wZXJOb3VuOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHByZXBhcmVQbGFpblRleHQocGxhaW5UZXh0KSB7XG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC50b0xvd2VyQ2FzZSgpOyAgLy8vXG5cbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnJlcGxhY2UoL1teYS16MC05IF0vZywgU0lOR0xFX1NQQUNFKTtcblxuICBwbGFpblRleHQgPSBwbGFpblRleHQucmVwbGFjZSgvXFxzKy9nLCBTSU5HTEVfU1BBQ0UpO1xuXG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBwbGFpblRleHQ7XG59XG5cbmZ1bmN0aW9uIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IGFjcm9ueW1zIH0gPSBpbmRleE9wdGlvbnM7XG5cbiAgY29uc3QgbG93ZXJDYXNlQWNyb255bXMgPSBhY3Jvbnltcy5tYXAoKGFjcm9ueW0pID0+IHtcbiAgICBjb25zdCBsb3dlckNhc2VBY3JvbnltID0gYWNyb255bS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGxvd2VyQ2FzZUFjcm9ueW07XG4gIH0pO1xuXG4gIG1hcEtleXMoaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UpID0+IHtcbiAgICBjb25zdCBpbmRleCA9IGxvd2VyQ2FzZUFjcm9ueW1zLmZpbmRJbmRleCgobG93ZXJDYXNlUHJvcGVyTm1hZSkgPT4ge1xuICAgICAgaWYgKGxvd2VyQ2FzZVByb3Blck5tYWUgPT09IHdvcmRPclBocmFzZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb25zdCBhY3JvbnltID0gYWNyb255bXNbaW5kZXhdO1xuXG4gICAgICB3b3JkT3JQaHJhc2UgPSBhY3JvbnltOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkanVzdE1peGVkUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IGluZGV4T3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBwbHVyYWxzIH0gPSBpbmRleE9wdGlvbnMsXG4gICAgICAgIG1peGVkUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNNaXhlZCksXG4gICAgICAgIHBsdXJhbFBsdXJhbHMgPSBtYXBQbHVyYWxzKG1peGVkUGx1cmFscywgbWl4ZWRUb1BsdXJhbCksXG4gICAgICAgIHNpbmd1bGFyUGx1cmFscyA9IG1hcFBsdXJhbHMobWl4ZWRQbHVyYWxzLCBtaXhlZFRvU2luZ3VsYXIpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29uc3Qgc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgbWl4ZWRXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclRvTWl4ZWQoc2luZ3VsYXJXb3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgbWl4ZWRQYWdlTnVtYmVycyA9IGluZGV4TWFwW21peGVkV29yZE9yUGhyYXNlXSB8fCBbXTtcblxuICAgICAgcGFnZU51bWJlcnMgPSBbXG4gICAgICAgIC4uLnNpbmd1bGFyUGFnZU51bWJlcnMsXG4gICAgICAgIC4uLm1peGVkUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV07XG5cbiAgICAgIGluZGV4TWFwW21peGVkV29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuICAgIH1cblxuICAgIGNvbnN0IHBsdXJhbFBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSA9IHBsdXJhbFBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UpIHtcbiAgICAgIGNvbnN0IHBsdXJhbFdvcmRPclBocmFzZSA9IHdvcmRPclBocmFzZSwgIC8vL1xuICAgICAgICAgICAgcGx1cmFsUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgbWl4ZWRXb3JkT3JQaHJhc2UgPSBwbHVyYWxUb01peGVkKHBsdXJhbFdvcmRPclBocmFzZSksXG4gICAgICAgICAgICBtaXhlZFBhZ2VOdW1iZXJzID0gaW5kZXhNYXBbbWl4ZWRXb3JkT3JQaHJhc2VdIHx8IFtdO1xuXG4gICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgLi4ucGx1cmFsUGFnZU51bWJlcnMsXG4gICAgICAgIC4uLm1peGVkUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdO1xuXG4gICAgICBpbmRleE1hcFttaXhlZFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RQbHVyYWxQbHVyYWxzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgaW5kZXhPcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IHBsdXJhbHMgfSA9IGluZGV4T3B0aW9ucyxcbiAgICAgICAgcGx1cmFsUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNQbHVyYWwpLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSBtYXBQbHVyYWxzKHBsdXJhbFBsdXJhbHMsIHBsdXJhbFRvU2luZ3VsYXIpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29uc3Qgc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgcGx1cmFsV29yZE9yUGhyYXNlID0gc2luZ3VsYXJUb1BsdXJhbCh3b3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgcGx1cmFsUGFnZU51bWJlcnMgPSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdIHx8IFtdO1xuXG4gICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgLi4uc2luZ3VsYXJQYWdlTnVtYmVycyxcbiAgICAgICAgLi4ucGx1cmFsUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV07XG5cbiAgICAgIGluZGV4TWFwW3BsdXJhbFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RTaW5ndWxhclBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpbmRleE9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgcGx1cmFscyB9ID0gaW5kZXhPcHRpb25zLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSByZWR1Y2VQbHVyYWxzKHBsdXJhbHMsIGlzU2luZ3VsYXIpLFxuICAgICAgICBwbHVyYWxQbHVyYWxzID0gbWFwUGx1cmFscyhzaW5ndWxhclBsdXJhbHMsIHNpbmd1bGFyVG9QbHVyYWwpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgICBjb25zdCBwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBwbHVyYWxQbHVyYWxzLmluY2x1ZGVzKHdvcmRPclBocmFzZSk7XG5cbiAgICAgIGlmIChwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UpIHtcbiAgICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSBwbHVyYWxUb1Npbmd1bGFyKHdvcmRPclBocmFzZSksXG4gICAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV0gfHwgW10sXG4gICAgICAgICAgICAgIHBsdXJhbFdvcmRPclBocmFzZSA9IHdvcmRPclBocmFzZSwgIC8vL1xuICAgICAgICAgICAgICBwbHVyYWxQYWdlTnVtYmVycyA9IHBhZ2VOdW1iZXJzOyAgLy8vXG5cbiAgICAgICAgcGFnZU51bWJlcnMgPSBbXG4gICAgICAgICAgLi4uc2luZ3VsYXJQYWdlTnVtYmVycyxcbiAgICAgICAgICAuLi5wbHVyYWxQYWdlTnVtYmVyc1xuICAgICAgICBdO1xuXG4gICAgICAgIGRlbGV0ZSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdO1xuXG4gICAgICAgIGluZGV4TWFwW3Npbmd1bGFyV29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuICAgICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVkdWNlUGx1cmFscyhwbHVyYWxzLCBjYWxsYmFjaykge1xuICBwbHVyYWxzID0gcGx1cmFscy5yZWR1Y2UoKHBsdXJhbHMsIHBsdXJhbCkgPT4geyAvLy9cbiAgICBjb25zdCByZXN1bHQgPSBjYWxsYmFjayhwbHVyYWwpO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgcGx1cmFscy5wdXNoKHBsdXJhbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBsdXJhbHM7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gcGx1cmFscztcbn1cblxuZnVuY3Rpb24gbWFwUGx1cmFscyhwbHVyYWxzLCBjYWxsYmFjaykge1xuICBwbHVyYWxzID0gcGx1cmFscy5tYXAoKHBsdXJhbCkgPT4geyAvLy9cbiAgICBwbHVyYWwgPSBjYWxsYmFjayhwbHVyYWwpO1xuXG4gICAgcmV0dXJuIHBsdXJhbDtcbiAgfSk7XG5cbiAgcmV0dXJuIHBsdXJhbHM7XG59XG5cbmZ1bmN0aW9uIGlzU2luZ3VsYXIodGV4dCkge1xuICBjb25zdCBpbmRleE1hdGNoZXMgPSAvW15zKV0kLy50ZXN0KHRleHQpLFxuICAgICAgICBzaW5ndWxhciA9IGluZGV4TWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIHNpbmd1bGFyO1xufVxuXG5mdW5jdGlvbiBpc1BsdXJhbCh0ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWF0Y2hlcyA9IC8oaWVzfHMpJC8udGVzdCh0ZXh0KSxcbiAgICAgICAgcGx1cmFsID0gaW5kZXhNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gcGx1cmFsO1xufVxuXG5mdW5jdGlvbiBpc01peGVkKHRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXRjaGVzID0gL1xcKHNcXCkkLy50ZXN0KHRleHQpLFxuICAgICAgICBtaXhlZCA9IGluZGV4TWF0Y2hlczsgLy8vXG5cbiAgcmV0dXJuIG1peGVkO1xufVxuXG5mdW5jdGlvbiBtaXhlZFRvUGx1cmFsKHRleHQpIHtcbiAgdGV4dCA9IHRleHQgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC9cXChzXFwpJC8sIFNfU1RSSU5HKTtcblxuICByZXR1cm4gdGV4dDtcbn1cblxuZnVuY3Rpb24gcGx1cmFsVG9NaXhlZCh0ZXh0KSB7XG4gIHRleHQgPSB0ZXh0IC8vL1xuICAgICAgICAgICAucmVwbGFjZSgvcyQvLCBQQVJFTlRIRVNJU0VEX1NfU1RSSU5HKVxuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBtaXhlZFRvU2luZ3VsYXIodGV4dCkge1xuICB0ZXh0ID0gdGV4dCAvLy9cbiAgICAgICAgICAucmVwbGFjZSgvXFwoc1xcKSQvLCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBzaW5ndWxhclRvTWl4ZWQodGV4dCkge1xuICB0ZXh0ID0gYCR7dGV4dH0ocylgO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBzaW5ndWxhclRvUGx1cmFsKHRleHQpIHtcbiAgdGV4dCA9IGAke3RleHR9c2AgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC95cyQvLCBJRVNfU1RSSU5HKTtcblxuICByZXR1cm4gdGV4dDtcbn1cblxuZnVuY3Rpb24gcGx1cmFsVG9TaW5ndWxhcih0ZXh0KSB7XG4gIHRleHQgPSB0ZXh0IC8vL1xuICAgICAgICAgICAucmVwbGFjZSgvaWVzJC8sIFlfU1RSSU5HKVxuICAgICAgICAgICAucmVwbGFjZSgvcyQvLCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuIl0sIm5hbWVzIjpbImluZGV4TWFwRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlcyIsImNvbXByZXNzIiwiYXJyYXlVdGlsaXRpZXMiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJjb250ZXh0IiwiaW5kZXhNYXAiLCJjcmVhdGVJbmRleE1hcCIsInJlbW92ZUlnbm9yZWRXb3JkcyIsImFkanVzdE1peGVkUGx1cmFscyIsImFkanVzdFBsdXJhbFBsdXJhbHMiLCJhZGp1c3RTaW5ndWxhclBsdXJhbHMiLCJhZGp1c3RQcm9wZXJOb3VucyIsImFkanVzdEFjcm9ueW1zIiwiY29tcHJlc3NQYWdlTnVtYmVycyIsImluZGV4T3B0aW9ucyIsInBocmFzZXMiLCJpbmRleE1hdGNoZXMiLCJtYXAiLCJwaHJhc2UiLCJpbmRleE1hdGNoIiwiSW5kZXhNYXRjaCIsImZyb21QaHJhc2UiLCJmb3JFYWNoIiwiZGl2aXNpb25NYXJrZG93bk5vZGUiLCJwYWdlTnVtYmVyIiwiZ2V0UGFnZU51bWJlciIsInBsYWluVGV4dCIsImFzUGxhaW5UZXh0Iiwid29yZHNPclBocmFzZXMiLCJ3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMiLCJ3b3JkT3JQaHJhc2UiLCJwYWdlTnVtYmVycyIsInB1c2giLCJwcmVwYXJlUGxhaW5UZXh0IiwicmVwbGFjZSIsInNwbGl0IiwiU0lOR0xFX1NQQUNFIiwicmV2ZXJ0IiwibWFwVmFsdWVzIiwicGFnZU51bWJlckEiLCJwYWdlTnVtYmVyQiIsInNvcnQiLCJOdW1iZXIiLCJkaWZmZXJlbmNlIiwiaWdub3JlZFdvcmRzIiwiaWdub3JlZFdvcmQiLCJwcm9wZXJOb3VucyIsImxvd2VyQ2FzZVByb3Blck5vdW5zIiwicHJvcGVyTm91biIsImxvd2VyQ2FzZVByb3Blck5vdW4iLCJ0b0xvd2VyQ2FzZSIsIm1hcEtleXMiLCJpbmRleCIsImZpbmRJbmRleCIsImxvd2VyQ2FzZVByb3Blck5tYWUiLCJFTVBUWV9TVFJJTkciLCJhY3JvbnltcyIsImxvd2VyQ2FzZUFjcm9ueW1zIiwiYWNyb255bSIsImxvd2VyQ2FzZUFjcm9ueW0iLCJwbHVyYWxzIiwibWl4ZWRQbHVyYWxzIiwicmVkdWNlUGx1cmFscyIsImlzTWl4ZWQiLCJwbHVyYWxQbHVyYWxzIiwibWFwUGx1cmFscyIsIm1peGVkVG9QbHVyYWwiLCJzaW5ndWxhclBsdXJhbHMiLCJtaXhlZFRvU2luZ3VsYXIiLCJzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSIsImluY2x1ZGVzIiwic2luZ3VsYXJXb3JkT3JQaHJhc2UiLCJzaW5ndWxhclBhZ2VOdW1iZXJzIiwibWl4ZWRXb3JkT3JQaHJhc2UiLCJzaW5ndWxhclRvTWl4ZWQiLCJtaXhlZFBhZ2VOdW1iZXJzIiwicGx1cmFsUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlIiwicGx1cmFsV29yZE9yUGhyYXNlIiwicGx1cmFsUGFnZU51bWJlcnMiLCJwbHVyYWxUb01peGVkIiwiaXNQbHVyYWwiLCJwbHVyYWxUb1Npbmd1bGFyIiwic2luZ3VsYXJUb1BsdXJhbCIsImlzU2luZ3VsYXIiLCJjYWxsYmFjayIsInJlZHVjZSIsInBsdXJhbCIsInJlc3VsdCIsInRleHQiLCJ0ZXN0Iiwic2luZ3VsYXIiLCJtaXhlZCIsIlNfU1RSSU5HIiwiUEFSRU5USEVTSVNFRF9TX1NUUklORyIsIklFU19TVFJJTkciLCJZX1NUUklORyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV2dCQTs7O2VBQUFBOzs7eUJBVGU7NERBRVI7c0JBRXFCO3lCQUN1RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuRyxJQUFNLEFBQUVDLFdBQWFDLHlCQUFjLENBQTNCRDtBQUVELFNBQVNELGtDQUFrQ0cscUJBQXFCLEVBQUVDLE9BQU87SUFDOUUsSUFBTUMsV0FBV0MsZUFBZUgsdUJBQXVCQztJQUV2REcsbUJBQW1CRixVQUFVRDtJQUU3QkksbUJBQW1CSCxVQUFVRDtJQUU3Qkssb0JBQW9CSixVQUFVRDtJQUU5Qk0sc0JBQXNCTCxVQUFVRDtJQUVoQ08sa0JBQWtCTixVQUFVRDtJQUU1QlEsZUFBZVAsVUFBVUQ7SUFFekJTLG9CQUFvQlI7SUFFcEIsT0FBT0E7QUFDVDtBQUVBLFNBQVNDLGVBQWVILHFCQUFxQixFQUFFQyxPQUFPO0lBQ3BELElBQU1DLFdBQVcsQ0FBQztJQUVsQixJQUFNLEFBQUVTLGVBQWlCVixRQUFqQlUsY0FDRixBQUFFQyxVQUFZRCxhQUFaQyxTQUNGQyxlQUFlRCxRQUFRRSxHQUFHLENBQUMsU0FBQ0M7UUFDMUIsSUFBTUMsYUFBYUMsY0FBVSxD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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "highmark-markdown",
3
3
  "author": "James Smith",
4
- "version": "0.0.451",
4
+ "version": "0.0.453",
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,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "necessary": "^14.0.1",
14
- "occam-grammars": "^1.0.667",
14
+ "occam-grammars": "^1.0.670",
15
15
  "occam-lexers": "^22.0.44",
16
16
  "occam-parsers": "^22.0.72",
17
17
  "occam-query": "^3.1.174"
package/src/constants.js CHANGED
@@ -5,8 +5,12 @@ export const STYLE = "style";
5
5
  export const COMMA = ",";
6
6
  export const COLOUR = "color"; ///
7
7
  export const HYPHEN = "-";
8
+ export const Y_STRING = "y";
9
+ export const S_STRING = "s";
10
+ export const IES_STRING = "ies";
8
11
  export const UNDERSCORE = "_";
9
12
  export const GLOBAL_FLAG = "g";
10
13
  export const EMPTY_STRING = "";
11
14
  export const SINGLE_SPACE = " ";
12
15
  export const CARRIAGE_RETURN = "\n";
16
+ export const PARENTHESISED_S_STRING = "(s)";
@@ -72,8 +72,6 @@ const indexContent = `## Index
72
72
 
73
73
  introductionContent = `# Introduction
74
74
 
75
- CLI
76
-
77
75
  I have tried to make Occam[^occam] as useable as possible but there are limits.
78
76
  At the end of the day it is an expert system and some of its parts, not least the verifier, need detailed explanation.
79
77
  It is the purpose of this book is to provide these explanations.
@@ -9,7 +9,7 @@ const indexOptions = {
9
9
  "language(s)"
10
10
  ],
11
11
  "acronyms": [
12
- "CLI",
12
+ "C",
13
13
  ],
14
14
  "properNouns": [
15
15
  "Occam"