@codeperfect/eslint-plugin 2.4.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  2. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -1
  3. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +4 -2
  4. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -1
  5. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +2 -4
  6. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts.map +1 -1
  7. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.js +4 -134
  8. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.d.ts +14 -0
  9. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.d.ts.map +1 -0
  10. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-utilities.js +154 -0
  11. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts.map +1 -1
  12. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.js +10 -12
  13. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -1
  14. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +4 -11
  15. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.d.ts +14 -0
  16. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.d.ts.map +1 -0
  17. package/dist/domain/architecture/no-unused-exports/no-unused-exports-declaration-utilities.js +187 -0
  18. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.d.ts +26 -0
  19. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.d.ts.map +1 -0
  20. package/dist/domain/architecture/no-unused-exports/no-unused-exports-identifier-utilities.js +95 -0
  21. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.d.ts +32 -0
  22. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.d.ts.map +1 -0
  23. package/dist/domain/architecture/no-unused-exports/no-unused-exports-pattern-utilities.js +78 -0
  24. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.d.ts +18 -0
  25. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.d.ts.map +1 -0
  26. package/dist/domain/architecture/no-unused-exports/no-unused-exports-public-api-usage-utilities.js +45 -0
  27. package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.d.ts +34 -0
  28. package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.d.ts.map +1 -0
  29. package/dist/domain/architecture/no-unused-exports/no-unused-exports-record-utilities.js +44 -0
  30. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.d.ts +59 -0
  31. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.d.ts.map +1 -0
  32. package/dist/domain/architecture/no-unused-exports/no-unused-exports-symbol-utilities.js +133 -0
  33. package/dist/domain/architecture/no-unused-exports/no-unused-exports-usage-utilities.d.ts +28 -0
  34. package/dist/domain/architecture/no-unused-exports/no-unused-exports-usage-utilities.d.ts.map +1 -0
  35. package/dist/domain/architecture/no-unused-exports/no-unused-exports-usage-utilities.js +106 -0
  36. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts +21 -21
  37. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts.map +1 -1
  38. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.js +24 -587
  39. package/dist/domain/core/no-multiple-declarators/rule-utilities.d.ts +58 -0
  40. package/dist/domain/core/no-multiple-declarators/rule-utilities.d.ts.map +1 -0
  41. package/dist/domain/core/no-multiple-declarators/rule-utilities.js +204 -0
  42. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
  43. package/dist/domain/core/no-multiple-declarators/rule.js +9 -211
  44. package/dist/domain/core/no-multiple-declarators/types.js +2 -2
  45. package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts +57 -0
  46. package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts.map +1 -0
  47. package/dist/domain/core/prefer-interface-types/rule-utilities.js +105 -0
  48. package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
  49. package/dist/domain/core/prefer-interface-types/rule.js +2 -104
  50. package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.d.ts +25 -0
  51. package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.d.ts.map +1 -0
  52. package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.js +64 -0
  53. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts +2 -24
  54. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -1
  55. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +3 -65
  56. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +2 -2
  57. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +2 -2
  58. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
  59. package/dist/domain/docs/no-interface-member-docs/rule.js +3 -2
  60. package/dist/domain/docs/require-example-language/examples-collect.d.ts +15 -0
  61. package/dist/domain/docs/require-example-language/examples-collect.d.ts.map +1 -0
  62. package/dist/domain/docs/require-example-language/examples-collect.js +113 -0
  63. package/dist/domain/docs/require-example-language/examples.d.ts +24 -13
  64. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
  65. package/dist/domain/docs/require-example-language/examples.js +2 -111
  66. package/dist/domain/docs/require-example-language/fixes.js +4 -4
  67. package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
  68. package/dist/domain/docs/require-example-language/rule.js +9 -8
  69. package/dist/domain/docs/require-example-language/types.d.ts.map +1 -1
  70. package/dist/domain/docs/require-example-language/types.js +1 -1
  71. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
  72. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +8 -8
  73. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -1
  74. package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +10 -9
  75. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -1
  76. package/dist/domain/testing/aaa/analyzer.assertions.operands.js +2 -5
  77. package/dist/domain/testing/aaa/analyzer.classification.helpers.js +14 -16
  78. package/dist/domain/testing/aaa/analyzer.classification.traversal.js +6 -4
  79. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
  80. package/dist/domain/testing/aaa/analyzer.super.js +10 -8
  81. package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -1
  82. package/dist/domain/testing/assert-actual-expected-names/rule.js +21 -23
  83. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -1
  84. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +1 -1
  85. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -1
  86. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +2 -160
  87. package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.d.ts +41 -0
  88. package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.d.ts.map +1 -0
  89. package/dist/domain/testing/enforce-aaa-phase-purity/statement-purity-reporters.js +161 -0
  90. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -1
  91. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +2 -2
  92. package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.d.ts +81 -0
  93. package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.d.ts.map +1 -0
  94. package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.js +181 -0
  95. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
  96. package/dist/domain/testing/enforce-aaa-structure/rule.js +28 -217
  97. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts +29 -0
  98. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.d.ts.map +1 -0
  99. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-detection.js +200 -0
  100. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts +12 -0
  101. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.d.ts.map +1 -0
  102. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-names.js +151 -0
  103. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts +16 -0
  104. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.d.ts.map +1 -0
  105. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule-reporting.js +109 -0
  106. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts.map +1 -1
  107. package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.js +18 -450
  108. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts.map +1 -1
  109. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +7 -4
  110. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -1
  111. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +7 -4
  112. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +2 -2
  113. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.d.ts +18 -0
  114. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.d.ts.map +1 -0
  115. package/dist/domain/testing/prefer-vi-mocked-import/match-collisions.js +162 -0
  116. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -1
  117. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +5 -4
  118. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.d.ts +29 -0
  119. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.d.ts.map +1 -0
  120. package/dist/domain/testing/prefer-vi-mocked-import/match-seeds.js +100 -0
  121. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -1
  122. package/dist/domain/testing/prefer-vi-mocked-import/match.js +5 -246
  123. package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -1
  124. package/dist/domain/testing/prefer-vi-mocked-import/rule.js +18 -20
  125. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
  126. package/dist/domain/testing/require-act-result-capture/rule.js +47 -21
  127. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
  128. package/dist/domain/testing/require-test-companion/rule.js +2 -4
  129. package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -1
  130. package/dist/domain/testing/single-act-statement/rule.js +20 -22
  131. package/package.json +35 -38
@@ -20,7 +20,7 @@ const stripJsdocLine = (line) => line.replace(/^\s*\/?\**\s?/u, "").trim();
20
20
  * ```
21
21
  */
22
22
  const stripDefaultValue = (rawName) => {
23
- const [head = ""] = rawName.split("=");
23
+ const [head = ""] = rawName.split("=", 1);
24
24
  return head;
25
25
  };
26
26
  /**
@@ -98,4 +98,4 @@ const parseParameterTagLine = (line) => {
98
98
  };
99
99
  };
100
100
  export { parseParameterTagLine };
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXRhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3Mvbm8taW50ZXJmYWNlLW1lbWJlci1kb2NzL3BhcmFtZXRlci10YWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLDZEQUE2RDtBQUM3RCxNQUFNLG1CQUFtQixHQUFHLDZDQUE2QyxDQUFDO0FBRTFFOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBRTVDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQWUsRUFBVSxFQUFFO0lBQ3BELE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV2QyxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE9BQWUsRUFBVSxFQUFFLENBQ3pELGlCQUFpQixDQUFDLE9BQU8sQ0FBQztLQUN2QixPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztLQUNuQixPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztLQUNuQixPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRXpCOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE9BQWUsRUFBc0IsRUFBRTtJQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlDLE1BQU0sVUFBVSxHQUFHLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRW5ELE9BQU8sVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxDQUFDLFVBQWtCLEVBQW1DLEVBQUU7SUFDNUUsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV6QyxJQUFJLFFBQVEsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvQyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUV6RCxPQUFPLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkUsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQzVCLElBQWlCLEVBQ2UsRUFBRTtJQUNsQyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTdDLElBQUksVUFBVSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXpDLElBQUksTUFBTSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdEIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTztRQUNMLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtRQUN6QixRQUFRLEVBQUUsVUFBVTtRQUNwQixJQUFJO0tBQ0wsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb21tZW50TGluZSwgUGFyYW1ldGVyTWVtYmVyVGFnIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqIE1lbWJlciBwYXRoIGRldGFpbHMgZXh0cmFjdGVkIGZyb20gYSBwYXJhbWV0ZXIgdGFnLiAqL1xuaW50ZXJmYWNlIFBhcmFtZXRlck1lbWJlck5hbWUge1xuICAvKiogQmFzZW5hbWUgZmllbGQgdmFsdWUuICovXG4gIGJhc2VuYW1lOiBzdHJpbmc7XG5cbiAgLyoqIE1lbWJlclBhdGggZmllbGQgdmFsdWUuICovXG4gIG1lbWJlclBhdGg6IHN0cmluZztcbn1cblxuLyoqIEV4dHJhY3RzIHRoZSBwYXJhbWV0ZXIgbmFtZSBmcm9tIGFuIGBAcGFyYW1gIHRhZyBsaW5lLiAqL1xuY29uc3QgcGFyYW1ldGVyVGFnUGF0dGVybiA9IC9AcGFyYW1cXHMrKD86XFx7W159XSpcXH1cXHMrKT8oPzxuYW1lPlteXFxzLV0rKS91O1xuXG4vKipcbiAqIERlZmluZXMgc3RyaXBKc2RvY0xpbmUuXG4gKiBAcGFyYW0gbGluZSBJbnB1dCBsaW5lIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBzdHJpcEpzZG9jTGluZSgpO1xuICogYGBgXG4gKi9cbmNvbnN0IHN0cmlwSnNkb2NMaW5lID0gKGxpbmU6IHN0cmluZyk6IHN0cmluZyA9PlxuICBsaW5lLnJlcGxhY2UoL15cXHMqXFwvP1xcKipcXHM/L3UsIFwiXCIpLnRyaW0oKTtcblxuLyoqXG4gKiBEZWZpbmVzIHN0cmlwRGVmYXVsdFZhbHVlLlxuICogQHBhcmFtIHJhd05hbWUgSW5wdXQgcmF3TmFtZSB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogc3RyaXBEZWZhdWx0VmFsdWUoKTtcbiAqIGBgYFxuICovXG5jb25zdCBzdHJpcERlZmF1bHRWYWx1ZSA9IChyYXdOYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBbaGVhZCA9IFwiXCJdID0gcmF3TmFtZS5zcGxpdChcIj1cIik7XG5cbiAgcmV0dXJuIGhlYWQ7XG59O1xuXG4vKipcbiAqIE5vcm1hbGl6ZXMgbm9ybWFsaXplUGFyYW1ldGVyTmFtZS5cbiAqIEBwYXJhbSByYXdOYW1lIElucHV0IHJhd05hbWUgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIG5vcm1hbGl6ZVBhcmFtZXRlck5hbWUoKTtcbiAqIGBgYFxuICovXG5jb25zdCBub3JtYWxpemVQYXJhbWV0ZXJOYW1lID0gKHJhd05hbWU6IHN0cmluZyk6IHN0cmluZyA9PlxuICBzdHJpcERlZmF1bHRWYWx1ZShyYXdOYW1lKVxuICAgIC5yZXBsYWNlKC9eXFxbL3UsIFwiXCIpXG4gICAgLnJlcGxhY2UoL1xcXSQvdSwgXCJcIilcbiAgICAucmVwbGFjZSgvXFw/JC91LCBcIlwiKTtcblxuLyoqXG4gKiBHZXRzIGdldFBhcmFtZXRlck5hbWUuXG4gKiBAcGFyYW0gY29udGVudCBJbnB1dCBjb250ZW50IHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBnZXRQYXJhbWV0ZXJOYW1lKCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0UGFyYW1ldGVyTmFtZSA9IChjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAoIWNvbnRlbnQuc3RhcnRzV2l0aChcIkBwYXJhbVwiKSkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCBtYXRjaCA9IHBhcmFtZXRlclRhZ1BhdHRlcm4uZXhlYyhjb250ZW50KTtcbiAgY29uc3QgcmF3TmFtZSA9IG1hdGNoPy5ncm91cHM/LltcIm5hbWVcIl0gPz8gXCJcIjtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZVBhcmFtZXRlck5hbWUocmF3TmFtZSk7XG5cbiAgcmV0dXJuIG5vcm1hbGl6ZWQubGVuZ3RoID4gMCA/IG5vcm1hbGl6ZWQgOiB2b2lkIDA7XG59O1xuXG4vKipcbiAqIEV4dHJhY3RzIG1lbWJlciBwYXRoIGRldGFpbHMgZnJvbSBhIG5vcm1hbGl6ZWQgcGFyYW1ldGVyIG5hbWUuXG4gKiBAcGFyYW0gbm9ybWFsaXplZCBOb3JtYWxpemVkIHBhcmFtZXRlciBuYW1lLlxuICogQHJldHVybnMgTWVtYmVyIHBhdGggZGV0YWlscyB3aGVuIGF2YWlsYWJsZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBtZW1iZXIgPSBnZXRNZW1iZXJOYW1lKFwicHJvcHMudGl0bGVcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0TWVtYmVyTmFtZSA9IChub3JtYWxpemVkOiBzdHJpbmcpOiBQYXJhbWV0ZXJNZW1iZXJOYW1lIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgZG90SW5kZXggPSBub3JtYWxpemVkLmluZGV4T2YoXCIuXCIpO1xuXG4gIGlmIChkb3RJbmRleCA8PSAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IGJhc2VuYW1lID0gbm9ybWFsaXplZC5zbGljZSgwLCBkb3RJbmRleCk7XG4gIGNvbnN0IG1lbWJlclBhdGggPSBub3JtYWxpemVkLnNsaWNlKGRvdEluZGV4ICsgMSkudHJpbSgpO1xuXG4gIHJldHVybiBtZW1iZXJQYXRoLmxlbmd0aCA+IDAgPyB7IGJhc2VuYW1lLCBtZW1iZXJQYXRoIH0gOiB2b2lkIDA7XG59O1xuXG4vKipcbiAqIFBhcnNlcyBhIGBAcGFyYW1gIHRhZyBsaW5lIGludG8gYSBtZW1iZXIgdGFnIHdoZW4gYXBwbGljYWJsZS5cbiAqIEBwYXJhbSBsaW5lIENvbW1lbnQgbGluZSBtZXRhZGF0YS5cbiAqIEByZXR1cm5zIFBhcnNlZCBwYXJhbWV0ZXIgbWVtYmVyIHRhZyB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdGFnID0gcGFyc2VQYXJhbWV0ZXJUYWdMaW5lKGxpbmUpO1xuICogYGBgXG4gKi9cbmNvbnN0IHBhcnNlUGFyYW1ldGVyVGFnTGluZSA9IChcbiAgbGluZTogQ29tbWVudExpbmUsXG4pOiBQYXJhbWV0ZXJNZW1iZXJUYWcgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBjb250ZW50ID0gc3RyaXBKc2RvY0xpbmUobGluZS50ZXh0KTtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IGdldFBhcmFtZXRlck5hbWUoY29udGVudCk7XG5cbiAgaWYgKG5vcm1hbGl6ZWQgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCBtZW1iZXIgPSBnZXRNZW1iZXJOYW1lKG5vcm1hbGl6ZWQpO1xuXG4gIGlmIChtZW1iZXIgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJhc2VuYW1lOiBtZW1iZXIuYmFzZW5hbWUsXG4gICAgZnVsbE5hbWU6IG5vcm1hbGl6ZWQsXG4gICAgbGluZSxcbiAgfTtcbn07XG5cbmV4cG9ydCB7IHBhcnNlUGFyYW1ldGVyVGFnTGluZSB9O1xuIl19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXRhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3Mvbm8taW50ZXJmYWNlLW1lbWJlci1kb2NzL3BhcmFtZXRlci10YWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLDZEQUE2RDtBQUM3RCxNQUFNLG1CQUFtQixHQUFHLDZDQUE2QyxDQUFDO0FBRTFFOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBRTVDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQWUsRUFBVSxFQUFFO0lBQ3BELE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFMUMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxPQUFlLEVBQVUsRUFBRSxDQUN6RCxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7S0FDdkIsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7S0FDbkIsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7S0FDbkIsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUV6Qjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUFlLEVBQXNCLEVBQUU7SUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QyxNQUFNLFVBQVUsR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVuRCxPQUFPLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUFrQixFQUFtQyxFQUFFO0lBQzVFLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFekMsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0MsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFekQsT0FBTyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25FLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxDQUM1QixJQUFpQixFQUNlLEVBQUU7SUFDbEMsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU3QyxJQUFJLFVBQVUsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzFCLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV6QyxJQUFJLE1BQU0sS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU87UUFDTCxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7UUFDekIsUUFBUSxFQUFFLFVBQVU7UUFDcEIsSUFBSTtLQUNMLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tbWVudExpbmUsIFBhcmFtZXRlck1lbWJlclRhZyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKiBNZW1iZXIgcGF0aCBkZXRhaWxzIGV4dHJhY3RlZCBmcm9tIGEgcGFyYW1ldGVyIHRhZy4gKi9cbmludGVyZmFjZSBQYXJhbWV0ZXJNZW1iZXJOYW1lIHtcbiAgLyoqIEJhc2VuYW1lIGZpZWxkIHZhbHVlLiAqL1xuICBiYXNlbmFtZTogc3RyaW5nO1xuXG4gIC8qKiBNZW1iZXJQYXRoIGZpZWxkIHZhbHVlLiAqL1xuICBtZW1iZXJQYXRoOiBzdHJpbmc7XG59XG5cbi8qKiBFeHRyYWN0cyB0aGUgcGFyYW1ldGVyIG5hbWUgZnJvbSBhbiBgQHBhcmFtYCB0YWcgbGluZS4gKi9cbmNvbnN0IHBhcmFtZXRlclRhZ1BhdHRlcm4gPSAvQHBhcmFtXFxzKyg/Olxce1tefV0qXFx9XFxzKyk/KD88bmFtZT5bXlxccy1dKykvdTtcblxuLyoqXG4gKiBEZWZpbmVzIHN0cmlwSnNkb2NMaW5lLlxuICogQHBhcmFtIGxpbmUgSW5wdXQgbGluZSB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogc3RyaXBKc2RvY0xpbmUoKTtcbiAqIGBgYFxuICovXG5jb25zdCBzdHJpcEpzZG9jTGluZSA9IChsaW5lOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgbGluZS5yZXBsYWNlKC9eXFxzKlxcLz9cXCoqXFxzPy91LCBcIlwiKS50cmltKCk7XG5cbi8qKlxuICogRGVmaW5lcyBzdHJpcERlZmF1bHRWYWx1ZS5cbiAqIEBwYXJhbSByYXdOYW1lIElucHV0IHJhd05hbWUgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHN0cmlwRGVmYXVsdFZhbHVlKCk7XG4gKiBgYGBcbiAqL1xuY29uc3Qgc3RyaXBEZWZhdWx0VmFsdWUgPSAocmF3TmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgW2hlYWQgPSBcIlwiXSA9IHJhd05hbWUuc3BsaXQoXCI9XCIsIDEpO1xuXG4gIHJldHVybiBoZWFkO1xufTtcblxuLyoqXG4gKiBOb3JtYWxpemVzIG5vcm1hbGl6ZVBhcmFtZXRlck5hbWUuXG4gKiBAcGFyYW0gcmF3TmFtZSBJbnB1dCByYXdOYW1lIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBub3JtYWxpemVQYXJhbWV0ZXJOYW1lKCk7XG4gKiBgYGBcbiAqL1xuY29uc3Qgbm9ybWFsaXplUGFyYW1ldGVyTmFtZSA9IChyYXdOYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgc3RyaXBEZWZhdWx0VmFsdWUocmF3TmFtZSlcbiAgICAucmVwbGFjZSgvXlxcWy91LCBcIlwiKVxuICAgIC5yZXBsYWNlKC9cXF0kL3UsIFwiXCIpXG4gICAgLnJlcGxhY2UoL1xcPyQvdSwgXCJcIik7XG5cbi8qKlxuICogR2V0cyBnZXRQYXJhbWV0ZXJOYW1lLlxuICogQHBhcmFtIGNvbnRlbnQgSW5wdXQgY29udGVudCB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZ2V0UGFyYW1ldGVyTmFtZSgpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFBhcmFtZXRlck5hbWUgPSAoY29udGVudDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKCFjb250ZW50LnN0YXJ0c1dpdGgoXCJAcGFyYW1cIikpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgbWF0Y2ggPSBwYXJhbWV0ZXJUYWdQYXR0ZXJuLmV4ZWMoY29udGVudCk7XG4gIGNvbnN0IHJhd05hbWUgPSBtYXRjaD8uZ3JvdXBzPy5bXCJuYW1lXCJdID8/IFwiXCI7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVQYXJhbWV0ZXJOYW1lKHJhd05hbWUpO1xuXG4gIHJldHVybiBub3JtYWxpemVkLmxlbmd0aCA+IDAgPyBub3JtYWxpemVkIDogdm9pZCAwO1xufTtcblxuLyoqXG4gKiBFeHRyYWN0cyBtZW1iZXIgcGF0aCBkZXRhaWxzIGZyb20gYSBub3JtYWxpemVkIHBhcmFtZXRlciBuYW1lLlxuICogQHBhcmFtIG5vcm1hbGl6ZWQgTm9ybWFsaXplZCBwYXJhbWV0ZXIgbmFtZS5cbiAqIEByZXR1cm5zIE1lbWJlciBwYXRoIGRldGFpbHMgd2hlbiBhdmFpbGFibGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbWVtYmVyID0gZ2V0TWVtYmVyTmFtZShcInByb3BzLnRpdGxlXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldE1lbWJlck5hbWUgPSAobm9ybWFsaXplZDogc3RyaW5nKTogUGFyYW1ldGVyTWVtYmVyTmFtZSB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IGRvdEluZGV4ID0gbm9ybWFsaXplZC5pbmRleE9mKFwiLlwiKTtcblxuICBpZiAoZG90SW5kZXggPD0gMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCBiYXNlbmFtZSA9IG5vcm1hbGl6ZWQuc2xpY2UoMCwgZG90SW5kZXgpO1xuICBjb25zdCBtZW1iZXJQYXRoID0gbm9ybWFsaXplZC5zbGljZShkb3RJbmRleCArIDEpLnRyaW0oKTtcblxuICByZXR1cm4gbWVtYmVyUGF0aC5sZW5ndGggPiAwID8geyBiYXNlbmFtZSwgbWVtYmVyUGF0aCB9IDogdm9pZCAwO1xufTtcblxuLyoqXG4gKiBQYXJzZXMgYSBgQHBhcmFtYCB0YWcgbGluZSBpbnRvIGEgbWVtYmVyIHRhZyB3aGVuIGFwcGxpY2FibGUuXG4gKiBAcGFyYW0gbGluZSBDb21tZW50IGxpbmUgbWV0YWRhdGEuXG4gKiBAcmV0dXJucyBQYXJzZWQgcGFyYW1ldGVyIG1lbWJlciB0YWcgd2hlbiBwcmVzZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHRhZyA9IHBhcnNlUGFyYW1ldGVyVGFnTGluZShsaW5lKTtcbiAqIGBgYFxuICovXG5jb25zdCBwYXJzZVBhcmFtZXRlclRhZ0xpbmUgPSAoXG4gIGxpbmU6IENvbW1lbnRMaW5lLFxuKTogUGFyYW1ldGVyTWVtYmVyVGFnIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgY29udGVudCA9IHN0cmlwSnNkb2NMaW5lKGxpbmUudGV4dCk7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBnZXRQYXJhbWV0ZXJOYW1lKGNvbnRlbnQpO1xuXG4gIGlmIChub3JtYWxpemVkID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgbWVtYmVyID0gZ2V0TWVtYmVyTmFtZShub3JtYWxpemVkKTtcblxuICBpZiAobWVtYmVyID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBiYXNlbmFtZTogbWVtYmVyLmJhc2VuYW1lLFxuICAgIGZ1bGxOYW1lOiBub3JtYWxpemVkLFxuICAgIGxpbmUsXG4gIH07XG59O1xuXG5leHBvcnQgeyBwYXJzZVBhcmFtZXRlclRhZ0xpbmUgfTtcbiJdfQ==
@@ -49,7 +49,7 @@ const getParameterIdentifier = (node) => {
49
49
  }
50
50
  const identifier = resolved;
51
51
  const { name } = identifier;
52
- if (identifier.type !== "Identifier" || typeof name !== "string") {
52
+ if (typeof name !== "string" || identifier.type !== "Identifier") {
53
53
  return void 0;
54
54
  }
55
55
  return { ...identifier, name };
@@ -122,4 +122,4 @@ const getParameterTypeLookup = (node) => {
122
122
  */
123
123
  const isNamedTypeReference = (typeAnnotation) => typeAnnotation?.type === "TSTypeReference";
124
124
  export { getParameterTypeLookup, isNamedTypeReference };
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXV0aWxpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9uby1pbnRlcmZhY2UtbWVtYmVyLWRvY3MvcGFyYW1ldGVyLXV0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1REE7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQzVCLElBQW9CLEVBQ1ksRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDO0FBRXpFOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLElBQWEsRUFBVyxFQUFFO0lBQ3RELElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxJQUEwQixDQUFDO0lBRTdDLElBQUksU0FBUyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkMsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssbUJBQW1CLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hFLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sc0JBQXNCLEdBQUcsQ0FDN0IsSUFBYSxFQUNvQixFQUFFO0lBQ25DLE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTVDLElBQUksUUFBUSxLQUFLLElBQUksSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN0RCxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxRQUEwQixDQUFDO0lBQzlDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFFNUIsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLFlBQVksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNqRSxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLEVBQUUsR0FBRyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBYSxFQUE2QixFQUFFO0lBQ3BFLE1BQU0sVUFBVSxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhELElBQUksVUFBVSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFekQsT0FBTyxjQUFjLEtBQUssS0FBSyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFO1FBQzNCLENBQUMsQ0FBQztZQUNFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtZQUNyQixjQUFjO1NBQ2YsQ0FBQztBQUNSLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFhLEVBQWEsRUFBRTtJQUNqRCxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBd0IsQ0FBQztJQUUzQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDakUsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHNCQUFzQixHQUFHLENBQzdCLElBQWUsRUFDa0IsRUFBRTtJQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBOEIsQ0FBQztJQUVyRCxLQUFLLE1BQU0sU0FBUyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzVDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXpDLElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQzNCLGNBQThDLEVBQ3JDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsSUFBSSxLQUFLLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7IFR5cGVBbm5vdGF0aW9uTm9kZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGdW5jdGlvbkxpa2VOb2RlIHtcbiAgLyoqIFBhcmFtcyBoZWxwZXIgdmFsdWUuICovXG4gIHBhcmFtcz86IHVua25vd25bXTtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIElkZW50aWZpZXJOb2RlIHtcbiAgLyoqIE5hbWUgaGVscGVyIHZhbHVlLiAqL1xuICBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKiBUeXBlIGhlbHBlciB2YWx1ZS4gKi9cbiAgdHlwZT86IHN0cmluZztcblxuICAvKiogVHlwZUFubm90YXRpb24gaGVscGVyIHZhbHVlLiAqL1xuICB0eXBlQW5ub3RhdGlvbj86IHtcbiAgICAvKiogVHlwZUFubm90YXRpb24gaGVscGVyIHZhbHVlLiAqL1xuICAgIHR5cGVBbm5vdGF0aW9uPzogVHlwZUFubm90YXRpb25Ob2RlO1xuICB9O1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgTmFtZWRJZGVudGlmaWVyTm9kZSBleHRlbmRzIElkZW50aWZpZXJOb2RlIHtcbiAgLyoqIE5hbWUgZmllbGQgdmFsdWUuICovXG4gIG5hbWU6IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFBhcmFtZXRlckNvbnRhaW5lciB7XG4gIC8qKiBBcmd1bWVudCBoZWxwZXIgdmFsdWUuICovXG4gIGFyZ3VtZW50PzogdW5rbm93bjtcblxuICAvKiogTGVmdCBoZWxwZXIgdmFsdWUuICovXG4gIGxlZnQ/OiB1bmtub3duO1xuXG4gIC8qKiBQYXJhbWV0ZXIgaGVscGVyIHZhbHVlLiAqL1xuICBwYXJhbWV0ZXI/OiB1bmtub3duO1xuXG4gIC8qKiBUeXBlIGhlbHBlciB2YWx1ZS4gKi9cbiAgdHlwZT86IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFBhcmFtZXRlckluZm8ge1xuICAvKiogTmFtZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKiBUeXBlQW5ub3RhdGlvbiBoZWxwZXIgdmFsdWUuICovXG4gIHR5cGVBbm5vdGF0aW9uPzogVHlwZUFubm90YXRpb25Ob2RlO1xufVxuXG4vKipcbiAqIEdldHMgYSB0eXBlIGFubm90YXRpb24gbm9kZSBmcm9tIGFuIGlkZW50aWZpZXIuXG4gKiBAcGFyYW0gbm9kZSBJZGVudGlmaWVyIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRoZSB0eXBlIGFubm90YXRpb24gbm9kZSB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYW5ub3RhdGlvbiA9IGdldFR5cGVBbm5vdGF0aW9uTm9kZShpZGVudGlmaWVyKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRUeXBlQW5ub3RhdGlvbk5vZGUgPSAoXG4gIG5vZGU6IElkZW50aWZpZXJOb2RlLFxuKTogVHlwZUFubm90YXRpb25Ob2RlIHwgdW5kZWZpbmVkID0+IG5vZGUudHlwZUFubm90YXRpb24/LnR5cGVBbm5vdGF0aW9uO1xuXG4vKipcbiAqIERlZmluZXMgcmVzb2x2ZVBhcmFtZXRlck5vZGUuXG4gKiBAcGFyYW0gbm9kZSBJbnB1dCBub2RlIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXNvbHZlUGFyYW1ldGVyTm9kZSgpO1xuICogYGBgXG4gKi9cbmNvbnN0IHJlc29sdmVQYXJhbWV0ZXJOb2RlID0gKG5vZGU6IHVua25vd24pOiB1bmtub3duID0+IHtcbiAgaWYgKG5vZGUgPT09IG51bGwgfHwgdHlwZW9mIG5vZGUgIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lciA9IG5vZGUgYXMgUGFyYW1ldGVyQ29udGFpbmVyO1xuXG4gIGlmIChjb250YWluZXIuYXJndW1lbnQgIT09IHZvaWQgMCkge1xuICAgIHJldHVybiBjb250YWluZXIuYXJndW1lbnQ7XG4gIH1cblxuICBpZiAoY29udGFpbmVyLnBhcmFtZXRlciAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGNvbnRhaW5lci5wYXJhbWV0ZXI7XG4gIH1cblxuICBpZiAoY29udGFpbmVyLnR5cGUgPT09IFwiQXNzaWdubWVudFBhdHRlcm5cIiAmJiBjb250YWluZXIubGVmdCAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGNvbnRhaW5lci5sZWZ0O1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59O1xuXG4vKipcbiAqIEdldHMgdGhlIHBhcmFtZXRlciBpZGVudGlmaWVyIGZvciBhIHBhcmFtZXRlciBub2RlLlxuICogQHBhcmFtIG5vZGUgUGFyYW1ldGVyIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRoZSBpZGVudGlmaWVyIG5vZGUgd2hlbiBwcmVzZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGlkZW50aWZpZXIgPSBnZXRQYXJhbWV0ZXJJZGVudGlmaWVyKG5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFBhcmFtZXRlcklkZW50aWZpZXIgPSAoXG4gIG5vZGU6IHVua25vd24sXG4pOiBOYW1lZElkZW50aWZpZXJOb2RlIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlUGFyYW1ldGVyTm9kZShub2RlKTtcblxuICBpZiAocmVzb2x2ZWQgPT09IG51bGwgfHwgdHlwZW9mIHJlc29sdmVkICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IGlkZW50aWZpZXIgPSByZXNvbHZlZCBhcyBJZGVudGlmaWVyTm9kZTtcbiAgY29uc3QgeyBuYW1lIH0gPSBpZGVudGlmaWVyO1xuXG4gIGlmIChpZGVudGlmaWVyLnR5cGUgIT09IFwiSWRlbnRpZmllclwiIHx8IHR5cGVvZiBuYW1lICE9PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIHJldHVybiB7IC4uLmlkZW50aWZpZXIsIG5hbWUgfTtcbn07XG5cbi8qKlxuICogR2V0cyBwYXJhbWV0ZXIgaW5mbyBmb3IgdGhlIGdpdmVuIG5vZGUuXG4gKiBAcGFyYW0gbm9kZSBQYXJhbWV0ZXIgbm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgUGFyYW1ldGVyIGluZm8gd2hlbiBhdmFpbGFibGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaW5mbyA9IGdldFBhcmFtZXRlckluZm8obm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0UGFyYW1ldGVySW5mbyA9IChub2RlOiB1bmtub3duKTogUGFyYW1ldGVySW5mbyB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IGlkZW50aWZpZXIgPSBnZXRQYXJhbWV0ZXJJZGVudGlmaWVyKG5vZGUpO1xuXG4gIGlmIChpZGVudGlmaWVyID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgdHlwZUFubm90YXRpb24gPSBnZXRUeXBlQW5ub3RhdGlvbk5vZGUoaWRlbnRpZmllcik7XG5cbiAgcmV0dXJuIHR5cGVBbm5vdGF0aW9uID09PSB2b2lkIDBcbiAgICA/IHsgbmFtZTogaWRlbnRpZmllci5uYW1lIH1cbiAgICA6IHtcbiAgICAgICAgbmFtZTogaWRlbnRpZmllci5uYW1lLFxuICAgICAgICB0eXBlQW5ub3RhdGlvbixcbiAgICAgIH07XG59O1xuXG4vKipcbiAqIEdldHMgZ2V0UGFyYW1ldGVycy5cbiAqIEBwYXJhbSBub2RlIElucHV0IG5vZGUgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGdldFBhcmFtZXRlcnMoKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRQYXJhbWV0ZXJzID0gKG5vZGU6IHVua25vd24pOiB1bmtub3duW10gPT4ge1xuICBpZiAobm9kZSA9PT0gbnVsbCB8fCB0eXBlb2Ygbm9kZSAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHR5cGVkTm9kZSA9IG5vZGUgYXMgRnVuY3Rpb25MaWtlTm9kZTtcblxuICByZXR1cm4gQXJyYXkuaXNBcnJheSh0eXBlZE5vZGUucGFyYW1zKSA/IHR5cGVkTm9kZS5wYXJhbXMgOiBbXTtcbn07XG5cbi8qKlxuICogQnVpbGRzIGEgbG9va3VwIG9mIHBhcmFtZXRlciBuYW1lcyB0byB0eXBlIGFubm90YXRpb25zLlxuICogQHBhcmFtIG5vZGUgRnVuY3Rpb24tbGlrZSBub2RlLlxuICogQHJldHVybnMgTG9va3VwIG9mIHBhcmFtZXRlciBuYW1lcyB0byBhbm5vdGF0aW9ucy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsb29rdXAgPSBnZXRQYXJhbWV0ZXJUeXBlTG9va3VwKG5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFBhcmFtZXRlclR5cGVMb29rdXAgPSAoXG4gIG5vZGU6IFJ1bGUuTm9kZSxcbik6IE1hcDxzdHJpbmcsIFR5cGVBbm5vdGF0aW9uTm9kZT4gPT4ge1xuICBjb25zdCBsb29rdXAgPSBuZXcgTWFwPHN0cmluZywgVHlwZUFubm90YXRpb25Ob2RlPigpO1xuXG4gIGZvciAoY29uc3QgcGFyYW1ldGVyIG9mIGdldFBhcmFtZXRlcnMobm9kZSkpIHtcbiAgICBjb25zdCBpbmZvID0gZ2V0UGFyYW1ldGVySW5mbyhwYXJhbWV0ZXIpO1xuXG4gICAgaWYgKGluZm8gIT09IHZvaWQgMCAmJiBpbmZvLnR5cGVBbm5vdGF0aW9uICE9PSB2b2lkIDApIHtcbiAgICAgIGxvb2t1cC5zZXQoaW5mby5uYW1lLCBpbmZvLnR5cGVBbm5vdGF0aW9uKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbG9va3VwO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIHR5cGUgYW5ub3RhdGlvbiBpcyBhIG5hbWVkIHR5cGUgcmVmZXJlbmNlLlxuICogQHBhcmFtIHR5cGVBbm5vdGF0aW9uIFR5cGUgYW5ub3RhdGlvbiB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBhbm5vdGF0aW9uIGlzIGEgbmFtZWQgcmVmZXJlbmNlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG9rID0gaXNOYW1lZFR5cGVSZWZlcmVuY2UoYW5ub3RhdGlvbik7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNOYW1lZFR5cGVSZWZlcmVuY2UgPSAoXG4gIHR5cGVBbm5vdGF0aW9uOiBUeXBlQW5ub3RhdGlvbk5vZGUgfCB1bmRlZmluZWQsXG4pOiBib29sZWFuID0+IHR5cGVBbm5vdGF0aW9uPy50eXBlID09PSBcIlRTVHlwZVJlZmVyZW5jZVwiO1xuXG5leHBvcnQgeyBnZXRQYXJhbWV0ZXJUeXBlTG9va3VwLCBpc05hbWVkVHlwZVJlZmVyZW5jZSB9O1xuIl19
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXV0aWxpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9uby1pbnRlcmZhY2UtbWVtYmVyLWRvY3MvcGFyYW1ldGVyLXV0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1REE7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQzVCLElBQW9CLEVBQ1ksRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDO0FBRXpFOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLElBQWEsRUFBVyxFQUFFO0lBQ3RELElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxJQUEwQixDQUFDO0lBRTdDLElBQUksU0FBUyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkMsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssbUJBQW1CLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hFLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sc0JBQXNCLEdBQUcsQ0FDN0IsSUFBYSxFQUNvQixFQUFFO0lBQ25DLE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTVDLElBQUksUUFBUSxLQUFLLElBQUksSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN0RCxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxRQUEwQixDQUFDO0lBQzlDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFFNUIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxZQUFZLEVBQUUsQ0FBQztRQUNqRSxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLEVBQUUsR0FBRyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDakMsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBYSxFQUE2QixFQUFFO0lBQ3BFLE1BQU0sVUFBVSxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhELElBQUksVUFBVSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFekQsT0FBTyxjQUFjLEtBQUssS0FBSyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFO1FBQzNCLENBQUMsQ0FBQztZQUNFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtZQUNyQixjQUFjO1NBQ2YsQ0FBQztBQUNSLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFhLEVBQWEsRUFBRTtJQUNqRCxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBd0IsQ0FBQztJQUUzQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDakUsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHNCQUFzQixHQUFHLENBQzdCLElBQWUsRUFDa0IsRUFBRTtJQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBOEIsQ0FBQztJQUVyRCxLQUFLLE1BQU0sU0FBUyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzVDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXpDLElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQzNCLGNBQThDLEVBQ3JDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsSUFBSSxLQUFLLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7IFR5cGVBbm5vdGF0aW9uTm9kZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGdW5jdGlvbkxpa2VOb2RlIHtcbiAgLyoqIFBhcmFtcyBoZWxwZXIgdmFsdWUuICovXG4gIHBhcmFtcz86IHVua25vd25bXTtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIElkZW50aWZpZXJOb2RlIHtcbiAgLyoqIE5hbWUgaGVscGVyIHZhbHVlLiAqL1xuICBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKiBUeXBlIGhlbHBlciB2YWx1ZS4gKi9cbiAgdHlwZT86IHN0cmluZztcblxuICAvKiogVHlwZUFubm90YXRpb24gaGVscGVyIHZhbHVlLiAqL1xuICB0eXBlQW5ub3RhdGlvbj86IHtcbiAgICAvKiogVHlwZUFubm90YXRpb24gaGVscGVyIHZhbHVlLiAqL1xuICAgIHR5cGVBbm5vdGF0aW9uPzogVHlwZUFubm90YXRpb25Ob2RlO1xuICB9O1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgTmFtZWRJZGVudGlmaWVyTm9kZSBleHRlbmRzIElkZW50aWZpZXJOb2RlIHtcbiAgLyoqIE5hbWUgZmllbGQgdmFsdWUuICovXG4gIG5hbWU6IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFBhcmFtZXRlckNvbnRhaW5lciB7XG4gIC8qKiBBcmd1bWVudCBoZWxwZXIgdmFsdWUuICovXG4gIGFyZ3VtZW50PzogdW5rbm93bjtcblxuICAvKiogTGVmdCBoZWxwZXIgdmFsdWUuICovXG4gIGxlZnQ/OiB1bmtub3duO1xuXG4gIC8qKiBQYXJhbWV0ZXIgaGVscGVyIHZhbHVlLiAqL1xuICBwYXJhbWV0ZXI/OiB1bmtub3duO1xuXG4gIC8qKiBUeXBlIGhlbHBlciB2YWx1ZS4gKi9cbiAgdHlwZT86IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFBhcmFtZXRlckluZm8ge1xuICAvKiogTmFtZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKiBUeXBlQW5ub3RhdGlvbiBoZWxwZXIgdmFsdWUuICovXG4gIHR5cGVBbm5vdGF0aW9uPzogVHlwZUFubm90YXRpb25Ob2RlO1xufVxuXG4vKipcbiAqIEdldHMgYSB0eXBlIGFubm90YXRpb24gbm9kZSBmcm9tIGFuIGlkZW50aWZpZXIuXG4gKiBAcGFyYW0gbm9kZSBJZGVudGlmaWVyIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRoZSB0eXBlIGFubm90YXRpb24gbm9kZSB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYW5ub3RhdGlvbiA9IGdldFR5cGVBbm5vdGF0aW9uTm9kZShpZGVudGlmaWVyKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRUeXBlQW5ub3RhdGlvbk5vZGUgPSAoXG4gIG5vZGU6IElkZW50aWZpZXJOb2RlLFxuKTogVHlwZUFubm90YXRpb25Ob2RlIHwgdW5kZWZpbmVkID0+IG5vZGUudHlwZUFubm90YXRpb24/LnR5cGVBbm5vdGF0aW9uO1xuXG4vKipcbiAqIERlZmluZXMgcmVzb2x2ZVBhcmFtZXRlck5vZGUuXG4gKiBAcGFyYW0gbm9kZSBJbnB1dCBub2RlIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXNvbHZlUGFyYW1ldGVyTm9kZSgpO1xuICogYGBgXG4gKi9cbmNvbnN0IHJlc29sdmVQYXJhbWV0ZXJOb2RlID0gKG5vZGU6IHVua25vd24pOiB1bmtub3duID0+IHtcbiAgaWYgKG5vZGUgPT09IG51bGwgfHwgdHlwZW9mIG5vZGUgIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lciA9IG5vZGUgYXMgUGFyYW1ldGVyQ29udGFpbmVyO1xuXG4gIGlmIChjb250YWluZXIuYXJndW1lbnQgIT09IHZvaWQgMCkge1xuICAgIHJldHVybiBjb250YWluZXIuYXJndW1lbnQ7XG4gIH1cblxuICBpZiAoY29udGFpbmVyLnBhcmFtZXRlciAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGNvbnRhaW5lci5wYXJhbWV0ZXI7XG4gIH1cblxuICBpZiAoY29udGFpbmVyLnR5cGUgPT09IFwiQXNzaWdubWVudFBhdHRlcm5cIiAmJiBjb250YWluZXIubGVmdCAhPT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGNvbnRhaW5lci5sZWZ0O1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59O1xuXG4vKipcbiAqIEdldHMgdGhlIHBhcmFtZXRlciBpZGVudGlmaWVyIGZvciBhIHBhcmFtZXRlciBub2RlLlxuICogQHBhcmFtIG5vZGUgUGFyYW1ldGVyIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRoZSBpZGVudGlmaWVyIG5vZGUgd2hlbiBwcmVzZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGlkZW50aWZpZXIgPSBnZXRQYXJhbWV0ZXJJZGVudGlmaWVyKG5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFBhcmFtZXRlcklkZW50aWZpZXIgPSAoXG4gIG5vZGU6IHVua25vd24sXG4pOiBOYW1lZElkZW50aWZpZXJOb2RlIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlUGFyYW1ldGVyTm9kZShub2RlKTtcblxuICBpZiAocmVzb2x2ZWQgPT09IG51bGwgfHwgdHlwZW9mIHJlc29sdmVkICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IGlkZW50aWZpZXIgPSByZXNvbHZlZCBhcyBJZGVudGlmaWVyTm9kZTtcbiAgY29uc3QgeyBuYW1lIH0gPSBpZGVudGlmaWVyO1xuXG4gIGlmICh0eXBlb2YgbmFtZSAhPT0gXCJzdHJpbmdcIiB8fCBpZGVudGlmaWVyLnR5cGUgIT09IFwiSWRlbnRpZmllclwiKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIHJldHVybiB7IC4uLmlkZW50aWZpZXIsIG5hbWUgfTtcbn07XG5cbi8qKlxuICogR2V0cyBwYXJhbWV0ZXIgaW5mbyBmb3IgdGhlIGdpdmVuIG5vZGUuXG4gKiBAcGFyYW0gbm9kZSBQYXJhbWV0ZXIgbm9kZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgUGFyYW1ldGVyIGluZm8gd2hlbiBhdmFpbGFibGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaW5mbyA9IGdldFBhcmFtZXRlckluZm8obm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0UGFyYW1ldGVySW5mbyA9IChub2RlOiB1bmtub3duKTogUGFyYW1ldGVySW5mbyB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IGlkZW50aWZpZXIgPSBnZXRQYXJhbWV0ZXJJZGVudGlmaWVyKG5vZGUpO1xuXG4gIGlmIChpZGVudGlmaWVyID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgdHlwZUFubm90YXRpb24gPSBnZXRUeXBlQW5ub3RhdGlvbk5vZGUoaWRlbnRpZmllcik7XG5cbiAgcmV0dXJuIHR5cGVBbm5vdGF0aW9uID09PSB2b2lkIDBcbiAgICA/IHsgbmFtZTogaWRlbnRpZmllci5uYW1lIH1cbiAgICA6IHtcbiAgICAgICAgbmFtZTogaWRlbnRpZmllci5uYW1lLFxuICAgICAgICB0eXBlQW5ub3RhdGlvbixcbiAgICAgIH07XG59O1xuXG4vKipcbiAqIEdldHMgZ2V0UGFyYW1ldGVycy5cbiAqIEBwYXJhbSBub2RlIElucHV0IG5vZGUgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGdldFBhcmFtZXRlcnMoKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRQYXJhbWV0ZXJzID0gKG5vZGU6IHVua25vd24pOiB1bmtub3duW10gPT4ge1xuICBpZiAobm9kZSA9PT0gbnVsbCB8fCB0eXBlb2Ygbm9kZSAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHR5cGVkTm9kZSA9IG5vZGUgYXMgRnVuY3Rpb25MaWtlTm9kZTtcblxuICByZXR1cm4gQXJyYXkuaXNBcnJheSh0eXBlZE5vZGUucGFyYW1zKSA/IHR5cGVkTm9kZS5wYXJhbXMgOiBbXTtcbn07XG5cbi8qKlxuICogQnVpbGRzIGEgbG9va3VwIG9mIHBhcmFtZXRlciBuYW1lcyB0byB0eXBlIGFubm90YXRpb25zLlxuICogQHBhcmFtIG5vZGUgRnVuY3Rpb24tbGlrZSBub2RlLlxuICogQHJldHVybnMgTG9va3VwIG9mIHBhcmFtZXRlciBuYW1lcyB0byBhbm5vdGF0aW9ucy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsb29rdXAgPSBnZXRQYXJhbWV0ZXJUeXBlTG9va3VwKG5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGdldFBhcmFtZXRlclR5cGVMb29rdXAgPSAoXG4gIG5vZGU6IFJ1bGUuTm9kZSxcbik6IE1hcDxzdHJpbmcsIFR5cGVBbm5vdGF0aW9uTm9kZT4gPT4ge1xuICBjb25zdCBsb29rdXAgPSBuZXcgTWFwPHN0cmluZywgVHlwZUFubm90YXRpb25Ob2RlPigpO1xuXG4gIGZvciAoY29uc3QgcGFyYW1ldGVyIG9mIGdldFBhcmFtZXRlcnMobm9kZSkpIHtcbiAgICBjb25zdCBpbmZvID0gZ2V0UGFyYW1ldGVySW5mbyhwYXJhbWV0ZXIpO1xuXG4gICAgaWYgKGluZm8gIT09IHZvaWQgMCAmJiBpbmZvLnR5cGVBbm5vdGF0aW9uICE9PSB2b2lkIDApIHtcbiAgICAgIGxvb2t1cC5zZXQoaW5mby5uYW1lLCBpbmZvLnR5cGVBbm5vdGF0aW9uKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbG9va3VwO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIHR5cGUgYW5ub3RhdGlvbiBpcyBhIG5hbWVkIHR5cGUgcmVmZXJlbmNlLlxuICogQHBhcmFtIHR5cGVBbm5vdGF0aW9uIFR5cGUgYW5ub3RhdGlvbiB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBhbm5vdGF0aW9uIGlzIGEgbmFtZWQgcmVmZXJlbmNlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG9rID0gaXNOYW1lZFR5cGVSZWZlcmVuY2UoYW5ub3RhdGlvbik7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNOYW1lZFR5cGVSZWZlcmVuY2UgPSAoXG4gIHR5cGVBbm5vdGF0aW9uOiBUeXBlQW5ub3RhdGlvbk5vZGUgfCB1bmRlZmluZWQsXG4pOiBib29sZWFuID0+IHR5cGVBbm5vdGF0aW9uPy50eXBlID09PSBcIlRTVHlwZVJlZmVyZW5jZVwiO1xuXG5leHBvcnQgeyBnZXRQYXJhbWV0ZXJUeXBlTG9va3VwLCBpc05hbWVkVHlwZVJlZmVyZW5jZSB9O1xuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/no-interface-member-docs/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AA+PnC,+EAA+E;AAC/E,QAAA,MAAM,kCAAkC,EAAE,IAAI,CAAC,UAkC9C,CAAC;AAEF,OAAO,EAAE,kCAAkC,EAAE,CAAC"}
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/no-interface-member-docs/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AA2PnC,+EAA+E;AAC/E,QAAA,MAAM,kCAAkC,EAAE,IAAI,CAAC,UAkC9C,CAAC;AAEF,OAAO,EAAE,kCAAkC,EAAE,CAAC"}
@@ -1,4 +1,5 @@
1
- import { buildRemovalRange, getCommentLines, getCommentText, getJsdocComment, } from "./comment-utilities.js";
1
+ import { buildRemovalRange, getCommentLines } from "./comment-removal-ranges.js";
2
+ import { getCommentText, getJsdocComment } from "./comment-utilities.js";
2
3
  import { parseParameterTagLine } from "./parameter-tags.js";
3
4
  import { getParameterTypeLookup, isNamedTypeReference, } from "./parameter-utilities.js";
4
5
  /**
@@ -173,4 +174,4 @@ const noInterfaceMemberDocumentationRule = {
173
174
  },
174
175
  };
175
176
  export { noInterfaceMemberDocumentationRule };
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9uby1pbnRlcmZhY2UtbWVtYmVyLWRvY3MvcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixjQUFjLEVBQ2QsZUFBZSxHQUNoQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsb0JBQW9CLEdBQ3JCLE1BQU0sdUJBQXVCLENBQUM7QUFrRC9COzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FDMUIsR0FBbUMsRUFDbkMsY0FBK0MsRUFDcEIsRUFBRTtJQUM3QixJQUFJLEdBQUcsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXZELE9BQU8sb0JBQW9CLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxDQUN4QixXQUFtQixFQUNuQixjQUErQyxFQUN6QixFQUFFLENBQ3hCLGVBQWUsQ0FBQyxXQUFXLENBQUM7S0FDekIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUMxQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO0FBRS9EOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSx5QkFBeUIsR0FBRyxDQUNoQyxPQUF5QixFQUN6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O1lBQ2xCLEdBQUcsRUFBRSwyRkFBMkY7U0FDakc7UUFDRCxPQUFPLEVBQUUsTUFBTTtRQUNmLFFBQVEsRUFBRTtZQUNSLGtCQUFrQixFQUNoQiw0RkFBNEY7U0FDL0Y7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxTQUFTO0tBQ2hCO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1lbnQsIFBhcmFtZXRlck1lbWJlclRhZywgVHlwZUFubm90YXRpb25Ob2RlIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW1wb3J0IHtcbiAgYnVpbGRSZW1vdmFsUmFuZ2UsXG4gIGdldENvbW1lbnRMaW5lcyxcbiAgZ2V0Q29tbWVudFRleHQsXG4gIGdldEpzZG9jQ29tbWVudCxcbn0gZnJvbSBcIi4vY29tbWVudC11dGlsaXRpZXNcIjtcbmltcG9ydCB7IHBhcnNlUGFyYW1ldGVyVGFnTGluZSB9IGZyb20gXCIuL3BhcmFtZXRlci10YWdzXCI7XG5pbXBvcnQge1xuICBnZXRQYXJhbWV0ZXJUeXBlTG9va3VwLFxuICBpc05hbWVkVHlwZVJlZmVyZW5jZSxcbn0gZnJvbSBcIi4vcGFyYW1ldGVyLXV0aWxpdGllc1wiO1xuXG4vKiogSlNEb2MgZGF0YSBleHRyYWN0ZWQgZnJvbSBhIGZ1bmN0aW9uLWxpa2Ugbm9kZS4gKi9cbmludGVyZmFjZSBKc2RvY0RhdGEge1xuICAvKiogQ29tbWVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29tbWVudDogQ29tbWVudDtcblxuICAvKiogQ29tbWVudFN0YXJ0IGZpZWxkIHZhbHVlLiAqL1xuICBjb21tZW50U3RhcnQ6IG51bWJlcjtcblxuICAvKiogVGV4dCBmaWVsZCB2YWx1ZS4gKi9cbiAgdGV4dDogc3RyaW5nO1xufVxuXG4vKiogTWVtYmVyLXRhZyBjb250ZXh0IHJlc29sdmVkIGZvciByZXBvcnRpbmcuICovXG5pbnRlcmZhY2UgTWVtYmVyVGFnQ29udGV4dCB7XG4gIC8qKiBDb21tZW50IGZpZWxkIHZhbHVlLiAqL1xuICBjb21tZW50OiBDb21tZW50O1xuXG4gIC8qKiBDb21tZW50U3RhcnQgZmllbGQgdmFsdWUuICovXG4gIGNvbW1lbnRTdGFydDogbnVtYmVyO1xuXG4gIC8qKiBDb21tZW50VGV4dCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29tbWVudFRleHQ6IHN0cmluZztcblxuICAvKiogTWVtYmVyVGFncyBmaWVsZCB2YWx1ZS4gKi9cbiAgbWVtYmVyVGFnczogUGFyYW1ldGVyTWVtYmVyVGFnW107XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBSZXBvcnRNZW1iZXJEb2N1bWVudGF0aW9uQ29udGV4dCB7XG4gIC8qKiBDb21tZW50IGZpZWxkIHZhbHVlLiAqL1xuICBjb21tZW50OiBDb21tZW50O1xuXG4gIC8qKiBDb21tZW50U3RhcnQgZmllbGQgdmFsdWUuICovXG4gIGNvbW1lbnRTdGFydDogbnVtYmVyO1xuXG4gIC8qKiBDb21tZW50VGV4dCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29tbWVudFRleHQ6IHN0cmluZztcblxuICAvKiogTWVtYmVyVGFncyBmaWVsZCB2YWx1ZS4gKi9cbiAgbWVtYmVyVGFnczogUGFyYW1ldGVyTWVtYmVyVGFnW107XG5cbiAgLyoqIE5vZGUgZmllbGQgdmFsdWUuICovXG4gIG5vZGU6IFJ1bGUuTm9kZTtcblxuICAvKiogU291cmNlQ29kZSBmaWVsZCB2YWx1ZS4gKi9cbiAgc291cmNlQ29kZTogUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl07XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBwYXJhbWV0ZXIgbWVtYmVyIHRhZyBtYXRjaGVzIGEgbmFtZWQgdHlwZSByZWZlcmVuY2UuXG4gKiBAcGFyYW0gdGFnIFBhcnNlZCBwYXJhbWV0ZXIgbWVtYmVyIHRhZy5cbiAqIEBwYXJhbSBwYXJhbWV0ZXJUeXBlcyBQYXJhbWV0ZXIgdHlwZSBsb29rdXAuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIHRhZyBtYXRjaGVzIGEgbmFtZWQgdHlwZSByZWZlcmVuY2UuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb2sgPSBpc01hdGNoaW5nTWVtYmVyVGFnKHRhZywgcGFyYW1ldGVyVHlwZXMpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzTWF0Y2hpbmdNZW1iZXJUYWcgPSAoXG4gIHRhZzogUGFyYW1ldGVyTWVtYmVyVGFnIHwgdW5kZWZpbmVkLFxuICBwYXJhbWV0ZXJUeXBlczogTWFwPHN0cmluZywgVHlwZUFubm90YXRpb25Ob2RlPixcbik6IHRhZyBpcyBQYXJhbWV0ZXJNZW1iZXJUYWcgPT4ge1xuICBpZiAodGFnID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBwYXJhbWV0ZXJUeXBlID0gcGFyYW1ldGVyVHlwZXMuZ2V0KHRhZy5iYXNlbmFtZSk7XG5cbiAgcmV0dXJuIGlzTmFtZWRUeXBlUmVmZXJlbmNlKHBhcmFtZXRlclR5cGUpO1xufTtcblxuLyoqXG4gKiBDb2xsZWN0cyBtZW1iZXIgdGFncyBmcm9tIGEgSlNEb2MgY29tbWVudC5cbiAqIEBwYXJhbSBjb21tZW50VGV4dCBGdWxsIGNvbW1lbnQgdGV4dC5cbiAqIEBwYXJhbSBwYXJhbWV0ZXJUeXBlcyBQYXJhbWV0ZXIgdHlwZSBsb29rdXAuXG4gKiBAcmV0dXJucyBNZW1iZXIgdGFncyB0aGF0IG1hdGNoIG5hbWVkIHR5cGUgcmVmZXJlbmNlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB0YWdzID0gY29sbGVjdE1lbWJlclRhZ3MoY29tbWVudFRleHQsIHBhcmFtZXRlclR5cGVzKTtcbiAqIGBgYFxuICovXG5jb25zdCBjb2xsZWN0TWVtYmVyVGFncyA9IChcbiAgY29tbWVudFRleHQ6IHN0cmluZyxcbiAgcGFyYW1ldGVyVHlwZXM6IE1hcDxzdHJpbmcsIFR5cGVBbm5vdGF0aW9uTm9kZT4sXG4pOiBQYXJhbWV0ZXJNZW1iZXJUYWdbXSA9PlxuICBnZXRDb21tZW50TGluZXMoY29tbWVudFRleHQpXG4gICAgLm1hcCgobGluZSkgPT4gcGFyc2VQYXJhbWV0ZXJUYWdMaW5lKGxpbmUpKVxuICAgIC5maWx0ZXIoKHRhZykgPT4gaXNNYXRjaGluZ01lbWJlclRhZyh0YWcsIHBhcmFtZXRlclR5cGVzKSk7XG5cbi8qKlxuICogUmVwb3J0cyBpbnRlcmZhY2UgbWVtYmVyIGRvY3VtZW50YXRpb24gZW50cmllcyBmb3IgcmVtb3ZhbC5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gZGV0YWlscyBDb2xsZWN0ZWQgcnVsZSBkZXRhaWxzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydE1lbWJlckRvY3VtZW50YXRpb24oY29udGV4dCwgZGV0YWlscyk7XG4gKiBgYGBcbiAqL1xuY29uc3QgcmVwb3J0TWVtYmVyRG9jdW1lbnRhdGlvbiA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgZGV0YWlsczogUmVwb3J0TWVtYmVyRG9jdW1lbnRhdGlvbkNvbnRleHQsXG4pOiB2b2lkID0+IHtcbiAgY29uc3QgeyBjb21tZW50U3RhcnQsIGNvbW1lbnRUZXh0LCBtZW1iZXJUYWdzLCBub2RlIH0gPSBkZXRhaWxzO1xuXG4gIGZvciAoY29uc3QgdGFnIG9mIG1lbWJlclRhZ3MpIHtcbiAgICBjb25zdCByZW1vdmFsUmFuZ2UgPSBidWlsZFJlbW92YWxSYW5nZShjb21tZW50U3RhcnQsIGNvbW1lbnRUZXh0LCB0YWcubGluZSk7XG5cbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBkYXRhOiB7IHBhcmFtZXRlck5hbWU6IHRhZy5mdWxsTmFtZSB9LFxuICAgICAgZml4OiAoZml4ZXI6IFJ1bGUuUnVsZUZpeGVyKTogUnVsZS5GaXggPT4gZml4ZXIucmVtb3ZlUmFuZ2UocmVtb3ZhbFJhbmdlKSxcbiAgICAgIG1lc3NhZ2VJZDogXCJpbnRlcmZhY2VNZW1iZXJEb2NcIixcbiAgICAgIG5vZGUsXG4gICAgfSk7XG4gIH1cbn07XG5cbi8qKlxuICogR2V0cyBwYXJhbWV0ZXIgdHlwZSByZWZlcmVuY2VzIGZvciBhIG5vZGUuXG4gKiBAcGFyYW0gbm9kZSBGdW5jdGlvbi1saWtlIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFBhcmFtZXRlciB0eXBlIGxvb2t1cCB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbG9va3VwID0gZ2V0UGFyYW1ldGVyVHlwZXMobm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0UGFyYW1ldGVyVHlwZXMgPSAoXG4gIG5vZGU6IFJ1bGUuTm9kZSxcbik6IE1hcDxzdHJpbmcsIFR5cGVBbm5vdGF0aW9uTm9kZT4gfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBwYXJhbWV0ZXJUeXBlcyA9IGdldFBhcmFtZXRlclR5cGVMb29rdXAobm9kZSk7XG5cbiAgcmV0dXJuIHBhcmFtZXRlclR5cGVzLnNpemUgPiAwID8gcGFyYW1ldGVyVHlwZXMgOiB2b2lkIDA7XG59O1xuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBKU0RvYyBjb21tZW50IGRhdGEgZm9yIGEgbm9kZS5cbiAqIEBwYXJhbSBzb3VyY2VDb2RlIFNvdXJjZUNvZGUgd3JhcHBlci5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIEpTRG9jIGRhdGEgd2hlbiBhdmFpbGFibGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZGF0YSA9IGdldEpzZG9jRGF0YShzb3VyY2VDb2RlLCBub2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRKc2RvY0RhdGEgPSAoXG4gIHNvdXJjZUNvZGU6IFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdLFxuICBub2RlOiBSdWxlLk5vZGUsXG4pOiBKc2RvY0RhdGEgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBjb21tZW50ID0gZ2V0SnNkb2NDb21tZW50KHNvdXJjZUNvZGUsIG5vZGUpO1xuXG4gIGlmIChjb21tZW50ID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgY29tbWVudFN0YXJ0ID0gY29tbWVudC5yYW5nZT8uWzBdO1xuXG4gIGlmICh0eXBlb2YgY29tbWVudFN0YXJ0ICE9PSBcIm51bWJlclwiKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IHRleHQgPSBnZXRDb21tZW50VGV4dChzb3VyY2VDb2RlLCBjb21tZW50KTtcblxuICByZXR1cm4geyBjb21tZW50LCBjb21tZW50U3RhcnQsIHRleHQgfTtcbn07XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIG1lbWJlciB0YWcgY29udGV4dCBmb3IgYSBub2RlLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBleGVjdXRpb24gY29udGV4dC5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIE1lbWJlciB0YWcgY29udGV4dCB3aGVuIGF2YWlsYWJsZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb250ZXh0ID0gcmVzb2x2ZU1lbWJlclRhZ0NvbnRleHQoY29udGV4dCwgbm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgcmVzb2x2ZU1lbWJlclRhZ0NvbnRleHQgPSAoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIG5vZGU6IFJ1bGUuTm9kZSxcbik6IE1lbWJlclRhZ0NvbnRleHQgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBwYXJhbWV0ZXJUeXBlcyA9IGdldFBhcmFtZXRlclR5cGVzKG5vZGUpO1xuICBjb25zdCBqc2RvY0RhdGEgPSBnZXRKc2RvY0RhdGEoY29udGV4dC5zb3VyY2VDb2RlLCBub2RlKTtcblxuICBpZiAocGFyYW1ldGVyVHlwZXMgPT09IHZvaWQgMCB8fCBqc2RvY0RhdGEgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCBtZW1iZXJUYWdzID0gY29sbGVjdE1lbWJlclRhZ3MoanNkb2NEYXRhLnRleHQsIHBhcmFtZXRlclR5cGVzKTtcblxuICByZXR1cm4gbWVtYmVyVGFncy5sZW5ndGggPiAwXG4gICAgPyB7XG4gICAgICAgIGNvbW1lbnQ6IGpzZG9jRGF0YS5jb21tZW50LFxuICAgICAgICBjb21tZW50U3RhcnQ6IGpzZG9jRGF0YS5jb21tZW50U3RhcnQsXG4gICAgICAgIGNvbW1lbnRUZXh0OiBqc2RvY0RhdGEudGV4dCxcbiAgICAgICAgbWVtYmVyVGFncyxcbiAgICAgIH1cbiAgICA6IHZvaWQgMDtcbn07XG5cbi8qKiBIYW5kbGVzIGZ1bmN0aW9uLWxpa2Ugbm9kZXMgZm9yIHRoZSBuby1pbnRlcmZhY2UtbWVtYmVyLWRvY3MgcnVsZS4gKi9cbmludGVyZmFjZSBOb2RlVmFsdWUge1xuICAvKipcbiAgICogVmFsdWUgZmllbGQgZm9yIG1ldGhvZCBkZWZpbml0aW9uczsgZnVuY3Rpb24tbGlrZSBub2RlcyBoYXZlIG5vIHZhbHVlIGZpZWxkLCBzbyB0aGlzIGlzIG9wdGlvbmFsLlxuICAgKi9cbiAgdmFsdWU/OiBSdWxlLk5vZGU7XG59XG5cbi8qKlxuICogSGFuZGxlcyBmdW5jdGlvbi1saWtlIG5vZGVzIGZvciB0aGlzIHJ1bGUuXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGV4ZWN1dGlvbiBjb250ZXh0LlxuICogQHBhcmFtIG5vZGUgTm9kZSB0byBpbnNwZWN0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGhhbmRsZUZ1bmN0aW9uTGlrZShjb250ZXh0LCBub2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBoYW5kbGVGdW5jdGlvbkxpa2UgPSAoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIG5vZGU6IFJ1bGUuTm9kZSxcbik6IHZvaWQgPT4ge1xuICBjb25zdCBmdW5jdGlvbkxpa2VOb2RlID1cbiAgICBub2RlLnR5cGUgPT09IFwiTWV0aG9kRGVmaW5pdGlvblwiXG4gICAgICA/ICgobm9kZSBhcyB1bmtub3duIGFzIE5vZGVWYWx1ZSkudmFsdWUgPz8gbm9kZSlcbiAgICAgIDogbm9kZTtcblxuICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVNZW1iZXJUYWdDb250ZXh0KGNvbnRleHQsIGZ1bmN0aW9uTGlrZU5vZGUpO1xuXG4gIGlmIChyZXNvbHZlZCA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmVwb3J0TWVtYmVyRG9jdW1lbnRhdGlvbihjb250ZXh0LCB7XG4gICAgY29tbWVudDogcmVzb2x2ZWQuY29tbWVudCxcbiAgICBjb21tZW50U3RhcnQ6IHJlc29sdmVkLmNvbW1lbnRTdGFydCxcbiAgICBjb21tZW50VGV4dDogcmVzb2x2ZWQuY29tbWVudFRleHQsXG4gICAgbWVtYmVyVGFnczogcmVzb2x2ZWQubWVtYmVyVGFncyxcbiAgICBub2RlLFxuICAgIHNvdXJjZUNvZGU6IGNvbnRleHQuc291cmNlQ29kZSxcbiAgfSk7XG59O1xuXG4vKiogRVNMaW50IHJ1bGUgZGlzYWxsb3dpbmcgaW50ZXJmYWNlIG1lbWJlciBkb2N1bWVudGF0aW9uIGluIGBAcGFyYW1gIHRhZ3MuICovXG5jb25zdCBub0ludGVyZmFjZU1lbWJlckRvY3VtZW50YXRpb25SdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5SdWxlTGlzdGVuZXIge1xuICAgIGNvbnN0IGxpc3RlbmVyID0gKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQgPT4ge1xuICAgICAgaGFuZGxlRnVuY3Rpb25MaWtlKGNvbnRleHQsIG5vZGUpO1xuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb246IGxpc3RlbmVyLFxuICAgICAgRnVuY3Rpb25EZWNsYXJhdGlvbjogbGlzdGVuZXIsXG4gICAgICBGdW5jdGlvbkV4cHJlc3Npb246IGxpc3RlbmVyLFxuICAgICAgTWV0aG9kRGVmaW5pdGlvbjogbGlzdGVuZXIsXG4gICAgICBUU0Fic3RyYWN0TWV0aG9kRGVmaW5pdGlvbjogbGlzdGVuZXIsXG4gICAgICBUU0NhbGxTaWduYXR1cmVEZWNsYXJhdGlvbjogbGlzdGVuZXIsXG4gICAgICBUU0NvbnN0cnVjdFNpZ25hdHVyZURlY2xhcmF0aW9uOiBsaXN0ZW5lcixcbiAgICAgIFRTRGVjbGFyZUZ1bmN0aW9uOiBsaXN0ZW5lcixcbiAgICAgIFRTRnVuY3Rpb25UeXBlOiBsaXN0ZW5lcixcbiAgICAgIFRTTWV0aG9kU2lnbmF0dXJlOiBsaXN0ZW5lcixcbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiRGlzYWxsb3cgZG9jdW1lbnRpbmcgaW50ZXJmYWNlIG1lbWJlcnMgaW4gQHBhcmFtIHRhZ3M7IGRvY3VtZW50IHRoZW0gb24gdGhlIGludGVyZmFjZSBpbnN0ZWFkLlwiLFxuICAgICAgcmVjb21tZW5kZWQ6IGZhbHNlLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ2l0aHViLmNvbS9wYXJsb3RpL2VzbGludC1wbHVnaW4vYmxvYi9tYWluL2RvY3MvcnVsZXMvbm8taW50ZXJmYWNlLW1lbWJlci1kb2NzLm1kXCIsXG4gICAgfSxcbiAgICBmaXhhYmxlOiBcImNvZGVcIixcbiAgICBtZXNzYWdlczoge1xuICAgICAgaW50ZXJmYWNlTWVtYmVyRG9jOlxuICAgICAgICBcIkRvY3VtZW50IGludGVyZmFjZSBtZW1iZXJzIG9uIHRoZSBpbnRlcmZhY2UgaW5zdGVhZCBvZiB1c2luZyBAcGFyYW0gZm9yIHt7cGFyYW1ldGVyTmFtZX19LlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInByb2JsZW1cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUgfTtcbiJdfQ==
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9uby1pbnRlcmZhY2UtbWVtYmVyLWRvY3MvcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLG9CQUFvQixHQUNyQixNQUFNLHVCQUF1QixDQUFDO0FBa0QvQjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQzFCLEdBQW1DLEVBQ25DLGNBQStDLEVBQ3BCLEVBQUU7SUFDN0IsSUFBSSxHQUFHLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV2RCxPQUFPLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0saUJBQWlCLEdBQUcsQ0FDeEIsV0FBbUIsRUFDbkIsY0FBK0MsRUFDekIsRUFBRSxDQUN4QixlQUFlLENBQUMsV0FBVyxDQUFDO0tBQ3pCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDMUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztBQUUvRDs7Ozs7Ozs7R0FRRztBQUNILE1B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QUNULGdHQUFnRztZQUNsRyxXQUFXLEVBQUUsS0FBSztZQUNsQixHQUFHLEVBQUUsMkZBQTJGO1NBQ2pHO1FBQ0QsT0FBTyxFQUFFLE1BQU07UUFDZixRQUFRLEVBQUU7WUFDUixrQkFBa0IsRUFDaEIsNEZBQTRGO1NBQy9GO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsU0FBUztLQUNoQjtDQUNGLENBQUM7QUFFRixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHR5cGUgeyBDb21tZW50LCBQYXJhbWV0ZXJNZW1iZXJUYWcsIFR5cGVBbm5vdGF0aW9uTm9kZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmltcG9ydCB7IGJ1aWxkUmVtb3ZhbFJhbmdlLCBnZXRDb21tZW50TGluZXMgfSBmcm9tIFwiLi9jb21tZW50LXJlbW92YWwtcmFuZ2VzXCI7XG5pbXBvcnQgeyBnZXRDb21tZW50VGV4dCwgZ2V0SnNkb2NDb21tZW50IH0gZnJvbSBcIi4vY29tbWVudC11dGlsaXRpZXNcIjtcbmltcG9ydCB7IHBhcnNlUGFyYW1ldGVyVGFnTGluZSB9IGZyb20gXCIuL3BhcmFtZXRlci10YWdzXCI7XG5pbXBvcnQge1xuICBnZXRQYXJhbWV0ZXJUeXBlTG9va3VwLFxuICBpc05hbWVkVHlwZVJlZmVyZW5jZSxcbn0gZnJvbSBcIi4vcGFyYW1ldGVyLXV0aWxpdGllc1wiO1xuXG4vKiogSlNEb2MgZGF0YSBleHRyYWN0ZWQgZnJvbSBhIGZ1bmN0aW9uLWxpa2Ugbm9kZS4gKi9cbmludGVyZmFjZSBKc2RvY0RhdGEge1xuICAvKiogQ29tbWVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29tbWVudDogQ29tbWVudDtcblxuICAvKiogQ29tbWVudFN0YXJ0IGZpZWxkIHZhbHVlLiAqL1xuICBjb21tZW50U3RhcnQ6IG51bWJlcjtcblxuICAvKiogVGV4dCBmaWVsZCB2YWx1ZS4gKi9cbiAgdGV4dDogc3RyaW5nO1xufVxuXG4vKiogTWVtYmVyLXRhZyBjb250ZXh0IHJlc29sdmVkIGZvciByZXBvcnRpbmcuICovXG5pbnRlcmZhY2UgTWVtYmVyVGFnQ29udGV4dCB7XG4gIC8qKiBDb21tZW50IGZpZWxkIHZhbHVlLiAqL1xuICBjb21tZW50OiBDb21tZW50O1xuXG4gIC8qKiBDb21tZW50U3RhcnQgZmllbGQgdmFsdWUuICovXG4gIGNvbW1lbnRTdGFydDogbnVtYmVyO1xuXG4gIC8qKiBDb21tZW50VGV4dCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29tbWVudFRleHQ6IHN0cmluZztcblxuICAvKiogTWVtYmVyVGFncyBmaWVsZCB2YWx1ZS4gKi9cbiAgbWVtYmVyVGFnczogUGFyYW1ldGVyTWVtYmVyVGFnW107XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBSZXBvcnRNZW1iZXJEb2N1bWVudGF0aW9uQ29udGV4dCB7XG4gIC8qKiBDb21tZW50IGZpZWxkIHZhbHVlLiAqL1xuICBjb21tZW50OiBDb21tZW50O1xuXG4gIC8qKiBDb21tZW50U3RhcnQgZmllbGQgdmFsdWUuICovXG4gIGNvbW1lbnRTdGFydDogbnVtYmVyO1xuXG4gIC8qKiBDb21tZW50VGV4dCBmaWVsZCB2YWx1ZS4gKi9cbiAgY29tbWVudFRleHQ6IHN0cmluZztcblxuICAvKiogTWVtYmVyVGFncyBmaWVsZCB2YWx1ZS4gKi9cbiAgbWVtYmVyVGFnczogUGFyYW1ldGVyTWVtYmVyVGFnW107XG5cbiAgLyoqIE5vZGUgZmllbGQgdmFsdWUuICovXG4gIG5vZGU6IFJ1bGUuTm9kZTtcblxuICAvKiogU291cmNlQ29kZSBmaWVsZCB2YWx1ZS4gKi9cbiAgc291cmNlQ29kZTogUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl07XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBwYXJhbWV0ZXIgbWVtYmVyIHRhZyBtYXRjaGVzIGEgbmFtZWQgdHlwZSByZWZlcmVuY2UuXG4gKiBAcGFyYW0gdGFnIFBhcnNlZCBwYXJhbWV0ZXIgbWVtYmVyIHRhZy5cbiAqIEBwYXJhbSBwYXJhbWV0ZXJUeXBlcyBQYXJhbWV0ZXIgdHlwZSBsb29rdXAuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIHRhZyBtYXRjaGVzIGEgbmFtZWQgdHlwZSByZWZlcmVuY2UuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb2sgPSBpc01hdGNoaW5nTWVtYmVyVGFnKHRhZywgcGFyYW1ldGVyVHlwZXMpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzTWF0Y2hpbmdNZW1iZXJUYWcgPSAoXG4gIHRhZzogUGFyYW1ldGVyTWVtYmVyVGFnIHwgdW5kZWZpbmVkLFxuICBwYXJhbWV0ZXJUeXBlczogTWFwPHN0cmluZywgVHlwZUFubm90YXRpb25Ob2RlPixcbik6IHRhZyBpcyBQYXJhbWV0ZXJNZW1iZXJUYWcgPT4ge1xuICBpZiAodGFnID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBwYXJhbWV0ZXJUeXBlID0gcGFyYW1ldGVyVHlwZXMuZ2V0KHRhZy5iYXNlbmFtZSk7XG5cbiAgcmV0dXJuIGlzTmFtZWRUeXBlUmVmZXJlbmNlKHBhcmFtZXRlclR5cGUpO1xufTtcblxuLyoqXG4gKiBDb2xsZWN0cyBtZW1iZXIgdGFncyBmcm9tIGEgSlNEb2MgY29tbWVudC5cbiAqIEBwYXJhbSBjb21tZW50VGV4dCBGdWxsIGNvbW1lbnQgdGV4dC5cbiAqIEBwYXJhbSBwYXJhbWV0ZXJUeXBlcyBQYXJhbWV0ZXIgdHlwZSBsb29rdXAuXG4gKiBAcmV0dXJucyBNZW1iZXIgdGFncyB0aGF0IG1hdGNoIG5hbWVkIHR5cGUgcmVmZXJlbmNlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB0YWdzID0gY29sbGVjdE1lbWJlclRhZ3MoY29tbWVudFRleHQsIHBhcmFtZXRlclR5cGVzKTtcbiAqIGBgYFxuICovXG5jb25zdCBjb2xsZWN0TWVtYmVyVGFncyA9IChcbiAgY29tbWVudFRleHQ6IHN0cmluZyxcbiAgcGFyYW1ldGVyVHlwZXM6IE1hcDxzdHJpbmcsIFR5cGVBbm5vdGF0aW9uTm9kZT4sXG4pOiBQYXJhbWV0ZXJNZW1iZXJUYWdbXSA9PlxuICBnZXRDb21tZW50TGluZXMoY29tbWVudFRleHQpXG4gICAgLm1hcCgobGluZSkgPT4gcGFyc2VQYXJhbWV0ZXJUYWdMaW5lKGxpbmUpKVxuICAgIC5maWx0ZXIoKHRhZykgPT4gaXNNYXRjaGluZ01lbWJlclRhZyh0YWcsIHBhcmFtZXRlclR5cGVzKSk7XG5cbi8qKlxuICogUmVwb3J0cyBpbnRlcmZhY2UgbWVtYmVyIGRvY3VtZW50YXRpb24gZW50cmllcyBmb3IgcmVtb3ZhbC5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gZGV0YWlscyBDb2xsZWN0ZWQgcnVsZSBkZXRhaWxzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydE1lbWJlckRvY3VtZW50YXRpb24oY29udGV4dCwgZGV0YWlscyk7XG4gKiBgYGBcbiAqL1xuY29uc3QgcmVwb3J0TWVtYmVyRG9jdW1lbnRhdGlvbiA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgZGV0YWlsczogUmVwb3J0TWVtYmVyRG9jdW1lbnRhdGlvbkNvbnRleHQsXG4pOiB2b2lkID0+IHtcbiAgY29uc3QgeyBjb21tZW50U3RhcnQsIGNvbW1lbnRUZXh0LCBtZW1iZXJUYWdzLCBub2RlIH0gPSBkZXRhaWxzO1xuXG4gIGZvciAoY29uc3QgdGFnIG9mIG1lbWJlclRhZ3MpIHtcbiAgICBjb25zdCByZW1vdmFsUmFuZ2UgPSBidWlsZFJlbW92YWxSYW5nZShjb21tZW50U3RhcnQsIGNvbW1lbnRUZXh0LCB0YWcubGluZSk7XG5cbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBkYXRhOiB7IHBhcmFtZXRlck5hbWU6IHRhZy5mdWxsTmFtZSB9LFxuICAgICAgZml4OiAoZml4ZXI6IFJ1bGUuUnVsZUZpeGVyKTogUnVsZS5GaXggPT4gZml4ZXIucmVtb3ZlUmFuZ2UocmVtb3ZhbFJhbmdlKSxcbiAgICAgIG1lc3NhZ2VJZDogXCJpbnRlcmZhY2VNZW1iZXJEb2NcIixcbiAgICAgIG5vZGUsXG4gICAgfSk7XG4gIH1cbn07XG5cbi8qKlxuICogR2V0cyBwYXJhbWV0ZXIgdHlwZSByZWZlcmVuY2VzIGZvciBhIG5vZGUuXG4gKiBAcGFyYW0gbm9kZSBGdW5jdGlvbi1saWtlIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFBhcmFtZXRlciB0eXBlIGxvb2t1cCB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbG9va3VwID0gZ2V0UGFyYW1ldGVyVHlwZXMobm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0UGFyYW1ldGVyVHlwZXMgPSAoXG4gIG5vZGU6IFJ1bGUuTm9kZSxcbik6IE1hcDxzdHJpbmcsIFR5cGVBbm5vdGF0aW9uTm9kZT4gfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBwYXJhbWV0ZXJUeXBlcyA9IGdldFBhcmFtZXRlclR5cGVMb29rdXAobm9kZSk7XG5cbiAgcmV0dXJuIHBhcmFtZXRlclR5cGVzLnNpemUgPiAwID8gcGFyYW1ldGVyVHlwZXMgOiB2b2lkIDA7XG59O1xuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBKU0RvYyBjb21tZW50IGRhdGEgZm9yIGEgbm9kZS5cbiAqIEBwYXJhbSBzb3VyY2VDb2RlIFNvdXJjZUNvZGUgd3JhcHBlci5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIEpTRG9jIGRhdGEgd2hlbiBhdmFpbGFibGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZGF0YSA9IGdldEpzZG9jRGF0YShzb3VyY2VDb2RlLCBub2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRKc2RvY0RhdGEgPSAoXG4gIHNvdXJjZUNvZGU6IFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdLFxuICBub2RlOiBSdWxlLk5vZGUsXG4pOiBKc2RvY0RhdGEgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBjb21tZW50ID0gZ2V0SnNkb2NDb21tZW50KHNvdXJjZUNvZGUsIG5vZGUpO1xuXG4gIGlmIChjb21tZW50ID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgY29uc3QgY29tbWVudFN0YXJ0ID0gY29tbWVudC5yYW5nZT8uWzBdO1xuXG4gIGlmICh0eXBlb2YgY29tbWVudFN0YXJ0ICE9PSBcIm51bWJlclwiKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IHRleHQgPSBnZXRDb21tZW50VGV4dChzb3VyY2VDb2RlLCBjb21tZW50KTtcblxuICByZXR1cm4geyBjb21tZW50LCBjb21tZW50U3RhcnQsIHRleHQgfTtcbn07XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIG1lbWJlciB0YWcgY29udGV4dCBmb3IgYSBub2RlLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBleGVjdXRpb24gY29udGV4dC5cbiAqIEBwYXJhbSBub2RlIE5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIE1lbWJlciB0YWcgY29udGV4dCB3aGVuIGF2YWlsYWJsZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb250ZXh0ID0gcmVzb2x2ZU1lbWJlclRhZ0NvbnRleHQoY29udGV4dCwgbm9kZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgcmVzb2x2ZU1lbWJlclRhZ0NvbnRleHQgPSAoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIG5vZGU6IFJ1bGUuTm9kZSxcbik6IE1lbWJlclRhZ0NvbnRleHQgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBwYXJhbWV0ZXJUeXBlcyA9IGdldFBhcmFtZXRlclR5cGVzKG5vZGUpO1xuICBjb25zdCBqc2RvY0RhdGEgPSBnZXRKc2RvY0RhdGEoY29udGV4dC5zb3VyY2VDb2RlLCBub2RlKTtcblxuICBpZiAocGFyYW1ldGVyVHlwZXMgPT09IHZvaWQgMCB8fCBqc2RvY0RhdGEgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCBtZW1iZXJUYWdzID0gY29sbGVjdE1lbWJlclRhZ3MoanNkb2NEYXRhLnRleHQsIHBhcmFtZXRlclR5cGVzKTtcblxuICByZXR1cm4gbWVtYmVyVGFncy5sZW5ndGggPiAwXG4gICAgPyB7XG4gICAgICAgIGNvbW1lbnQ6IGpzZG9jRGF0YS5jb21tZW50LFxuICAgICAgICBjb21tZW50U3RhcnQ6IGpzZG9jRGF0YS5jb21tZW50U3RhcnQsXG4gICAgICAgIGNvbW1lbnRUZXh0OiBqc2RvY0RhdGEudGV4dCxcbiAgICAgICAgbWVtYmVyVGFncyxcbiAgICAgIH1cbiAgICA6IHZvaWQgMDtcbn07XG5cbi8qKiBIYW5kbGVzIGZ1bmN0aW9uLWxpa2Ugbm9kZXMgZm9yIHRoZSBuby1pbnRlcmZhY2UtbWVtYmVyLWRvY3MgcnVsZS4gKi9cbmludGVyZmFjZSBOb2RlVmFsdWUge1xuICAvKipcbiAgICogVmFsdWUgZmllbGQgZm9yIG1ldGhvZCBkZWZpbml0aW9uczsgZnVuY3Rpb24tbGlrZSBub2RlcyBoYXZlIG5vIHZhbHVlIGZpZWxkLCBzbyB0aGlzIGlzIG9wdGlvbmFsLlxuICAgKi9cbiAgdmFsdWU/OiBSdWxlLk5vZGU7XG59XG5cbi8qKlxuICogSGFuZGxlcyBmdW5jdGlvbi1saWtlIG5vZGVzIGZvciB0aGlzIHJ1bGUuXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGV4ZWN1dGlvbiBjb250ZXh0LlxuICogQHBhcmFtIG5vZGUgTm9kZSB0byBpbnNwZWN0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGhhbmRsZUZ1bmN0aW9uTGlrZShjb250ZXh0LCBub2RlKTtcbiAqIGBgYFxuICovXG5jb25zdCBoYW5kbGVGdW5jdGlvbkxpa2UgPSAoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIG5vZGU6IFJ1bGUuTm9kZSxcbik6IHZvaWQgPT4ge1xuICBjb25zdCBmdW5jdGlvbkxpa2VOb2RlID1cbiAgICBub2RlLnR5cGUgPT09IFwiTWV0aG9kRGVmaW5pdGlvblwiXG4gICAgICA/ICgobm9kZSBhcyB1bmtub3duIGFzIE5vZGVWYWx1ZSkudmFsdWUgPz8gbm9kZSlcbiAgICAgIDogbm9kZTtcblxuICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVNZW1iZXJUYWdDb250ZXh0KGNvbnRleHQsIGZ1bmN0aW9uTGlrZU5vZGUpO1xuXG4gIGlmIChyZXNvbHZlZCA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmVwb3J0TWVtYmVyRG9jdW1lbnRhdGlvbihjb250ZXh0LCB7XG4gICAgY29tbWVudDogcmVzb2x2ZWQuY29tbWVudCxcbiAgICBjb21tZW50U3RhcnQ6IHJlc29sdmVkLmNvbW1lbnRTdGFydCxcbiAgICBjb21tZW50VGV4dDogcmVzb2x2ZWQuY29tbWVudFRleHQsXG4gICAgbWVtYmVyVGFnczogcmVzb2x2ZWQubWVtYmVyVGFncyxcbiAgICBub2RlLFxuICAgIHNvdXJjZUNvZGU6IGNvbnRleHQuc291cmNlQ29kZSxcbiAgfSk7XG59O1xuXG4vKiogRVNMaW50IHJ1bGUgZGlzYWxsb3dpbmcgaW50ZXJmYWNlIG1lbWJlciBkb2N1bWVudGF0aW9uIGluIGBAcGFyYW1gIHRhZ3MuICovXG5jb25zdCBub0ludGVyZmFjZU1lbWJlckRvY3VtZW50YXRpb25SdWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5SdWxlTGlzdGVuZXIge1xuICAgIGNvbnN0IGxpc3RlbmVyID0gKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQgPT4ge1xuICAgICAgaGFuZGxlRnVuY3Rpb25MaWtlKGNvbnRleHQsIG5vZGUpO1xuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb246IGxpc3RlbmVyLFxuICAgICAgRnVuY3Rpb25EZWNsYXJhdGlvbjogbGlzdGVuZXIsXG4gICAgICBGdW5jdGlvbkV4cHJlc3Npb246IGxpc3RlbmVyLFxuICAgICAgTWV0aG9kRGVmaW5pdGlvbjogbGlzdGVuZXIsXG4gICAgICBUU0Fic3RyYWN0TWV0aG9kRGVmaW5pdGlvbjogbGlzdGVuZXIsXG4gICAgICBUU0NhbGxTaWduYXR1cmVEZWNsYXJhdGlvbjogbGlzdGVuZXIsXG4gICAgICBUU0NvbnN0cnVjdFNpZ25hdHVyZURlY2xhcmF0aW9uOiBsaXN0ZW5lcixcbiAgICAgIFRTRGVjbGFyZUZ1bmN0aW9uOiBsaXN0ZW5lcixcbiAgICAgIFRTRnVuY3Rpb25UeXBlOiBsaXN0ZW5lcixcbiAgICAgIFRTTWV0aG9kU2lnbmF0dXJlOiBsaXN0ZW5lcixcbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiRGlzYWxsb3cgZG9jdW1lbnRpbmcgaW50ZXJmYWNlIG1lbWJlcnMgaW4gQHBhcmFtIHRhZ3M7IGRvY3VtZW50IHRoZW0gb24gdGhlIGludGVyZmFjZSBpbnN0ZWFkLlwiLFxuICAgICAgcmVjb21tZW5kZWQ6IGZhbHNlLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZ2l0aHViLmNvbS9wYXJsb3RpL2VzbGludC1wbHVnaW4vYmxvYi9tYWluL2RvY3MvcnVsZXMvbm8taW50ZXJmYWNlLW1lbWJlci1kb2NzLm1kXCIsXG4gICAgfSxcbiAgICBmaXhhYmxlOiBcImNvZGVcIixcbiAgICBtZXNzYWdlczoge1xuICAgICAgaW50ZXJmYWNlTWVtYmVyRG9jOlxuICAgICAgICBcIkRvY3VtZW50IGludGVyZmFjZSBtZW1iZXJzIG9uIHRoZSBpbnRlcmZhY2UgaW5zdGVhZCBvZiB1c2luZyBAcGFyYW0gZm9yIHt7cGFyYW1ldGVyTmFtZX19LlwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiBcInByb2JsZW1cIixcbiAgfSxcbn07XG5cbmV4cG9ydCB7IG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUgfTtcbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import type { Example } from "./types.js";
2
+ /**
3
+ * Extracts all \@example entries from a JSDoc comment value.
4
+ * Uses a fence-aware parser so lines that start with `@` inside
5
+ * fenced blocks remain part of the same example.
6
+ * @param commentValue Raw comment value.
7
+ * @returns Extracted examples.
8
+ * @example
9
+ * ```typescript
10
+ * const examples = getExamples("* @example\n* ```typescript\n* ok\n* ```");
11
+ * ```
12
+ */
13
+ declare function getExamples(commentValue: string): Example[];
14
+ export { getExamples };
15
+ //# sourceMappingURL=examples-collect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"examples-collect.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/examples-collect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAyDvC;;;;;;;;;;GAUG;AACH,iBAAS,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,EAAE,CA8DpD;AA4BD,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,113 @@
1
+ import { getFenceLanguage } from "./example-utilities.js";
2
+ import { buildExampleFromParts } from "./examples.js";
3
+ /**
4
+ * Collects comment lines with their offsets.
5
+ * @param commentValue Raw comment value.
6
+ * @returns Parsed comment lines.
7
+ * @example
8
+ * ```typescript
9
+ * const lines = getCommentLines("* @example\n* value");
10
+ * ```
11
+ */
12
+ function getCommentLines(commentValue) {
13
+ const lines = [];
14
+ for (const match of commentValue.matchAll(/[^\r\n]*(?:\r?\n|$)/gu)) {
15
+ const value = match[0];
16
+ if (value.length === 0) {
17
+ continue;
18
+ }
19
+ lines.push({
20
+ startOffset: match.index,
21
+ text: value.replace(/\r?\n$/u, ""),
22
+ });
23
+ }
24
+ return lines;
25
+ }
26
+ /**
27
+ * Extracts all \@example entries from a JSDoc comment value.
28
+ * Uses a fence-aware parser so lines that start with `@` inside
29
+ * fenced blocks remain part of the same example.
30
+ * @param commentValue Raw comment value.
31
+ * @returns Extracted examples.
32
+ * @example
33
+ * ```typescript
34
+ * const examples = getExamples("* @example\n* ```typescript\n* ok\n* ```");
35
+ * ```
36
+ */
37
+ function getExamples(commentValue) {
38
+ const commentLines = getCommentLines(commentValue);
39
+ const examples = [];
40
+ let activeExample;
41
+ for (const line of commentLines) {
42
+ if (activeExample === void 0) {
43
+ if (!isExampleHeaderLine(line.text)) {
44
+ continue;
45
+ }
46
+ activeExample = {
47
+ bodyLines: [],
48
+ header: line.text,
49
+ inFence: false,
50
+ startOffset: line.startOffset,
51
+ };
52
+ continue;
53
+ }
54
+ if (!activeExample.inFence && isJSDocumentTagLine(line.text)) {
55
+ examples.push(buildExampleFromParts({
56
+ bodyLines: activeExample.bodyLines,
57
+ commentValue,
58
+ endOffset: line.startOffset,
59
+ header: activeExample.header,
60
+ startOffset: activeExample.startOffset,
61
+ }));
62
+ activeExample = isExampleHeaderLine(line.text)
63
+ ? {
64
+ bodyLines: [],
65
+ header: line.text,
66
+ inFence: false,
67
+ startOffset: line.startOffset,
68
+ }
69
+ : void 0;
70
+ continue;
71
+ }
72
+ activeExample.bodyLines.push(line.text);
73
+ if (getFenceLanguage(line.text) !== void 0) {
74
+ activeExample.inFence = !activeExample.inFence;
75
+ }
76
+ }
77
+ if (activeExample !== void 0) {
78
+ examples.push(buildExampleFromParts({
79
+ bodyLines: activeExample.bodyLines,
80
+ commentValue,
81
+ endOffset: commentValue.length,
82
+ header: activeExample.header,
83
+ startOffset: activeExample.startOffset,
84
+ }));
85
+ }
86
+ return examples;
87
+ }
88
+ /**
89
+ * Checks whether a line starts an \@example tag.
90
+ * @param line Line to inspect.
91
+ * @returns True when the line starts an \@example tag.
92
+ * @example
93
+ * ```typescript
94
+ * const isHeader = isExampleHeaderLine(" * @example");
95
+ * ```
96
+ */
97
+ function isExampleHeaderLine(line) {
98
+ return /^\s*\*?\s*@example\b/u.test(line);
99
+ }
100
+ /**
101
+ * Checks whether a line starts a JSDoc tag.
102
+ * @param line Line to inspect.
103
+ * @returns True when the line starts a JSDoc tag.
104
+ * @example
105
+ * ```typescript
106
+ * const isTag = isJSDocumentTagLine(" * @returns value");
107
+ * ```
108
+ */
109
+ function isJSDocumentTagLine(line) {
110
+ return /^\s*\*?\s*@\w+\b/u.test(line);
111
+ }
112
+ export { getExamples };
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZXMtY29sbGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vZG9jcy9yZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2UvZXhhbXBsZXMtY29sbGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUEwQm5EOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxlQUFlLENBQUMsWUFBb0I7SUFDM0MsTUFBTSxLQUFLLEdBQWtCLEVBQUUsQ0FBQztJQUVoQyxLQUFLLE1BQU0sS0FBSyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDO1FBQ25FLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkIsU0FBUztRQUNYLENBQUM7UUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ1QsV0FBVyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ3hCLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxTQUFTLFdBQVcsQ0FBQyxZQUFvQjtJQUN2QyxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkQsTUFBTSxRQUFRLEdBQWMsRUFBRSxDQUFDO0lBQy9CLElBQUksYUFBNkMsQ0FBQztJQUVsRCxLQUFLLE1BQU0sSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLElBQUksYUFBYSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNwQyxTQUFTO1lBQ1gsQ0FBQztZQUVELGFBQWEsR0FBRztnQkFDZCxTQUFTLEVBQUUsRUFBRTtnQkFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2pCLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVzthQUM5QixDQUFDO1lBQ0YsU0FBUztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM3RCxRQUFRLENBQUMsSUFBSSxDQUNYLHFCQUFxQixDQUFDO2dCQUNwQixTQUFTLEVBQUUsYUFBYSxDQUFDLFNBQVM7Z0JBQ2xDLFlBQVk7Z0JBQ1osU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUMzQixNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU07Z0JBQzVCLFdBQVcsRUFBRSxhQUFhLENBQUMsV0FBVzthQUN2QyxDQUFDLENBQ0gsQ0FBQztZQUVGLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUM1QyxDQUFDLENBQUM7b0JBQ0UsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNqQixPQUFPLEVBQUUsS0FBSztvQkFDZCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7aUJBQzlCO2dCQUNILENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNYLFNBQVM7UUFDWCxDQUFDO1FBRUQsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0MsYUFBYSxDQUFDLE9BQU8sR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLGFBQWEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzdCLFFBQVEsQ0FBQyxJQUFJLENBQ1gscUJBQXFCLENBQUM7WUFDcEIsU0FBUyxFQUFFLGFBQWEsQ0FBQyxTQUFTO1lBQ2xDLFlBQVk7WUFDWixTQUFTLEVBQUUsWUFBWSxDQUFDLE1BQU07WUFDOUIsTUFBTSxFQUFFLGFBQWEsQ0FBQyxNQUFNO1lBQzVCLFdBQVcsRUFBRSxhQUFhLENBQUMsV0FBVztTQUN2QyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLG1CQUFtQixDQUFDLElBQVk7SUFDdkMsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxJQUFZO0lBQ3ZDLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRCxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV4YW1wbGUgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5pbXBvcnQgeyBnZXRGZW5jZUxhbmd1YWdlIH0gZnJvbSBcIi4vZXhhbXBsZS11dGlsaXRpZXNcIjtcbmltcG9ydCB7IGJ1aWxkRXhhbXBsZUZyb21QYXJ0cyB9IGZyb20gXCIuL2V4YW1wbGVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBBY3RpdmVFeGFtcGxlU3RhdGUge1xuICAvKiogQm9keUxpbmVzIGZpZWxkIHZhbHVlLiAqL1xuICBib2R5TGluZXM6IHN0cmluZ1tdO1xuXG4gIC8qKiBIZWFkZXIgZmllbGQgdmFsdWUuICovXG4gIGhlYWRlcjogc3RyaW5nO1xuXG4gIC8qKiBJbkZlbmNlIGZpZWxkIHZhbHVlLiAqL1xuICBpbkZlbmNlOiBib29sZWFuO1xuXG4gIC8qKiBTdGFydE9mZnNldCBmaWVsZCB2YWx1ZS4gKi9cbiAgc3RhcnRPZmZzZXQ6IG51bWJlcjtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIENvbW1lbnRMaW5lIHtcbiAgLyoqIFN0YXJ0T2Zmc2V0IGZpZWxkIHZhbHVlLiAqL1xuICBzdGFydE9mZnNldDogbnVtYmVyO1xuXG4gIC8qKiBUZXh0IGZpZWxkIHZhbHVlLiAqL1xuICB0ZXh0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29sbGVjdHMgY29tbWVudCBsaW5lcyB3aXRoIHRoZWlyIG9mZnNldHMuXG4gKiBAcGFyYW0gY29tbWVudFZhbHVlIFJhdyBjb21tZW50IHZhbHVlLlxuICogQHJldHVybnMgUGFyc2VkIGNvbW1lbnQgbGluZXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGluZXMgPSBnZXRDb21tZW50TGluZXMoXCIqIEBleGFtcGxlXFxuKiB2YWx1ZVwiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRDb21tZW50TGluZXMoY29tbWVudFZhbHVlOiBzdHJpbmcpOiBDb21tZW50TGluZVtdIHtcbiAgY29uc3QgbGluZXM6IENvbW1lbnRMaW5lW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IG1hdGNoIG9mIGNvbW1lbnRWYWx1ZS5tYXRjaEFsbCgvW15cXHJcXG5dKig/Olxccj9cXG58JCkvZ3UpKSB7XG4gICAgY29uc3QgdmFsdWUgPSBtYXRjaFswXTtcblxuICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGxpbmVzLnB1c2goe1xuICAgICAgc3RhcnRPZmZzZXQ6IG1hdGNoLmluZGV4LFxuICAgICAgdGV4dDogdmFsdWUucmVwbGFjZSgvXFxyP1xcbiQvdSwgXCJcIiksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbGluZXM7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgYWxsIFxcQGV4YW1wbGUgZW50cmllcyBmcm9tIGEgSlNEb2MgY29tbWVudCB2YWx1ZS5cbiAqIFVzZXMgYSBmZW5jZS1hd2FyZSBwYXJzZXIgc28gbGluZXMgdGhhdCBzdGFydCB3aXRoIGBAYCBpbnNpZGVcbiAqIGZlbmNlZCBibG9ja3MgcmVtYWluIHBhcnQgb2YgdGhlIHNhbWUgZXhhbXBsZS5cbiAqIEBwYXJhbSBjb21tZW50VmFsdWUgUmF3IGNvbW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBFeHRyYWN0ZWQgZXhhbXBsZXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZXhhbXBsZXMgPSBnZXRFeGFtcGxlcyhcIiogQGV4YW1wbGVcXG4qIGBgYHR5cGVzY3JpcHRcXG4qIG9rXFxuKiBgYGBcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0RXhhbXBsZXMoY29tbWVudFZhbHVlOiBzdHJpbmcpOiBFeGFtcGxlW10ge1xuICBjb25zdCBjb21tZW50TGluZXMgPSBnZXRDb21tZW50TGluZXMoY29tbWVudFZhbHVlKTtcbiAgY29uc3QgZXhhbXBsZXM6IEV4YW1wbGVbXSA9IFtdO1xuICBsZXQgYWN0aXZlRXhhbXBsZTogQWN0aXZlRXhhbXBsZVN0YXRlIHwgdW5kZWZpbmVkO1xuXG4gIGZvciAoY29uc3QgbGluZSBvZiBjb21tZW50TGluZXMpIHtcbiAgICBpZiAoYWN0aXZlRXhhbXBsZSA9PT0gdm9pZCAwKSB7XG4gICAgICBpZiAoIWlzRXhhbXBsZUhlYWRlckxpbmUobGluZS50ZXh0KSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgYWN0aXZlRXhhbXBsZSA9IHtcbiAgICAgICAgYm9keUxpbmVzOiBbXSxcbiAgICAgICAgaGVhZGVyOiBsaW5lLnRleHQsXG4gICAgICAgIGluRmVuY2U6IGZhbHNlLFxuICAgICAgICBzdGFydE9mZnNldDogbGluZS5zdGFydE9mZnNldCxcbiAgICAgIH07XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoIWFjdGl2ZUV4YW1wbGUuaW5GZW5jZSAmJiBpc0pTRG9jdW1lbnRUYWdMaW5lKGxpbmUudGV4dCkpIHtcbiAgICAgIGV4YW1wbGVzLnB1c2goXG4gICAgICAgIGJ1aWxkRXhhbXBsZUZyb21QYXJ0cyh7XG4gICAgICAgICAgYm9keUxpbmVzOiBhY3RpdmVFeGFtcGxlLmJvZHlMaW5lcyxcbiAgICAgICAgICBjb21tZW50VmFsdWUsXG4gICAgICAgICAgZW5kT2Zmc2V0OiBsaW5lLnN0YXJ0T2Zmc2V0LFxuICAgICAgICAgIGhlYWRlcjogYWN0aXZlRXhhbXBsZS5oZWFkZXIsXG4gICAgICAgICAgc3RhcnRPZmZzZXQ6IGFjdGl2ZUV4YW1wbGUuc3RhcnRPZmZzZXQsXG4gICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgICAgYWN0aXZlRXhhbXBsZSA9IGlzRXhhbXBsZUhlYWRlckxpbmUobGluZS50ZXh0KVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGJvZHlMaW5lczogW10sXG4gICAgICAgICAgICBoZWFkZXI6IGxpbmUudGV4dCxcbiAgICAgICAgICAgIGluRmVuY2U6IGZhbHNlLFxuICAgICAgICAgICAgc3RhcnRPZmZzZXQ6IGxpbmUuc3RhcnRPZmZzZXQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHZvaWQgMDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGFjdGl2ZUV4YW1wbGUuYm9keUxpbmVzLnB1c2gobGluZS50ZXh0KTtcblxuICAgIGlmIChnZXRGZW5jZUxhbmd1YWdlKGxpbmUudGV4dCkgIT09IHZvaWQgMCkge1xuICAgICAgYWN0aXZlRXhhbXBsZS5pbkZlbmNlID0gIWFjdGl2ZUV4YW1wbGUuaW5GZW5jZTtcbiAgICB9XG4gIH1cblxuICBpZiAoYWN0aXZlRXhhbXBsZSAhPT0gdm9pZCAwKSB7XG4gICAgZXhhbXBsZXMucHVzaChcbiAgICAgIGJ1aWxkRXhhbXBsZUZyb21QYXJ0cyh7XG4gICAgICAgIGJvZHlMaW5lczogYWN0aXZlRXhhbXBsZS5ib2R5TGluZXMsXG4gICAgICAgIGNvbW1lbnRWYWx1ZSxcbiAgICAgICAgZW5kT2Zmc2V0OiBjb21tZW50VmFsdWUubGVuZ3RoLFxuICAgICAgICBoZWFkZXI6IGFjdGl2ZUV4YW1wbGUuaGVhZGVyLFxuICAgICAgICBzdGFydE9mZnNldDogYWN0aXZlRXhhbXBsZS5zdGFydE9mZnNldCxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gZXhhbXBsZXM7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBsaW5lIHN0YXJ0cyBhbiBcXEBleGFtcGxlIHRhZy5cbiAqIEBwYXJhbSBsaW5lIExpbmUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgbGluZSBzdGFydHMgYW4gXFxAZXhhbXBsZSB0YWcuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaXNIZWFkZXIgPSBpc0V4YW1wbGVIZWFkZXJMaW5lKFwiICogQGV4YW1wbGVcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNFeGFtcGxlSGVhZGVyTGluZShsaW5lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIC9eXFxzKlxcKj9cXHMqQGV4YW1wbGVcXGIvdS50ZXN0KGxpbmUpO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgbGluZSBzdGFydHMgYSBKU0RvYyB0YWcuXG4gKiBAcGFyYW0gbGluZSBMaW5lIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGxpbmUgc3RhcnRzIGEgSlNEb2MgdGFnLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGlzVGFnID0gaXNKU0RvY3VtZW50VGFnTGluZShcIiAqIEByZXR1cm5zIHZhbHVlXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzSlNEb2N1bWVudFRhZ0xpbmUobGluZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiAvXlxccypcXCo/XFxzKkBcXHcrXFxiL3UudGVzdChsaW5lKTtcbn1cblxuZXhwb3J0IHsgZ2V0RXhhbXBsZXMgfTtcbiJdfQ==
@@ -1,25 +1,36 @@
1
1
  import type { Example, Problem } from "./types.js";
2
+ /** Type definition for rule data. */
3
+ interface ExampleFromPartsContext {
4
+ /** BodyLines field value. */
5
+ bodyLines: string[];
6
+ /** CommentValue field value. */
7
+ commentValue: string;
8
+ /** EndOffset field value. */
9
+ endOffset: number;
10
+ /** Header field value. */
11
+ header: string;
12
+ /** StartOffset field value. */
13
+ startOffset: number;
14
+ }
2
15
  /**
3
- * Checks example content for required fences and language.
4
- * @param content Example content to inspect.
5
- * @returns Problem identifier when the content is invalid.
16
+ * Builds an Example from parsed header and body data.
17
+ * @param context Parsed example context.
18
+ * @returns Example metadata extracted from the parsed data.
6
19
  * @example
7
20
  * ```typescript
8
- * const problem = checkExampleContent("```typescript\nconst ok = true;\n```");
21
+ * const example = buildExampleFromParts(context);
9
22
  * ```
10
23
  */
11
- declare function checkExampleContent(content: string): Problem | undefined;
24
+ declare function buildExampleFromParts(context: ExampleFromPartsContext): Example;
12
25
  /**
13
- * Extracts all \@example entries from a JSDoc comment value.
14
- * Uses a fence-aware parser so lines that start with `@` inside
15
- * fenced blocks remain part of the same example.
16
- * @param commentValue Raw comment value.
17
- * @returns Extracted examples.
26
+ * Checks example content for required fences and language.
27
+ * @param content Example content to inspect.
28
+ * @returns Problem identifier when the content is invalid.
18
29
  * @example
19
30
  * ```typescript
20
- * const examples = getExamples("* @example\n* ```typescript\n* ok\n* ```");
31
+ * const problem = checkExampleContent("```typescript\nconst ok = true;\n```");
21
32
  * ```
22
33
  */
23
- declare function getExamples(commentValue: string): Example[];
24
- export { checkExampleContent, getExamples };
34
+ declare function checkExampleContent(content: string): Problem | undefined;
35
+ export { buildExampleFromParts, checkExampleContent };
25
36
  //# sourceMappingURL=examples.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/examples.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA4PhD;;;;;;;;GAQG;AACH,iBAAS,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAyBjE;AA8BD;;;;;;;;;;GAUG;AACH,iBAAS,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,EAAE,CA8DpD;AA4BD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/examples.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAmBhD,qCAAqC;AACrC,UAAU,uBAAuB;IAC/B,6BAA6B;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IAErB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAoKD;;;;;;;;GAQG;AACH,iBAAS,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAkBxE;AAED;;;;;;;;GAQG;AACH,iBAAS,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAyBjE;AAED,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -161,114 +161,5 @@ function checkExampleContent(content) {
161
161
  }
162
162
  return void 0;
163
163
  }
164
- /**
165
- * Collects comment lines with their offsets.
166
- * @param commentValue Raw comment value.
167
- * @returns Parsed comment lines.
168
- * @example
169
- * ```typescript
170
- * const lines = getCommentLines("* @example\n* value");
171
- * ```
172
- */
173
- function getCommentLines(commentValue) {
174
- const lines = [];
175
- for (const match of commentValue.matchAll(/[^\r\n]*(?:\r?\n|$)/gu)) {
176
- const value = match[0];
177
- if (value.length === 0) {
178
- continue;
179
- }
180
- lines.push({
181
- startOffset: match.index,
182
- text: value.replace(/\r?\n$/u, ""),
183
- });
184
- }
185
- return lines;
186
- }
187
- /**
188
- * Extracts all \@example entries from a JSDoc comment value.
189
- * Uses a fence-aware parser so lines that start with `@` inside
190
- * fenced blocks remain part of the same example.
191
- * @param commentValue Raw comment value.
192
- * @returns Extracted examples.
193
- * @example
194
- * ```typescript
195
- * const examples = getExamples("* @example\n* ```typescript\n* ok\n* ```");
196
- * ```
197
- */
198
- function getExamples(commentValue) {
199
- const commentLines = getCommentLines(commentValue);
200
- const examples = [];
201
- let activeExample;
202
- for (const line of commentLines) {
203
- if (activeExample === void 0) {
204
- if (!isExampleHeaderLine(line.text)) {
205
- continue;
206
- }
207
- activeExample = {
208
- bodyLines: [],
209
- header: line.text,
210
- inFence: false,
211
- startOffset: line.startOffset,
212
- };
213
- continue;
214
- }
215
- if (!activeExample.inFence && isJSDocumentTagLine(line.text)) {
216
- examples.push(buildExampleFromParts({
217
- bodyLines: activeExample.bodyLines,
218
- commentValue,
219
- endOffset: line.startOffset,
220
- header: activeExample.header,
221
- startOffset: activeExample.startOffset,
222
- }));
223
- activeExample = isExampleHeaderLine(line.text)
224
- ? {
225
- bodyLines: [],
226
- header: line.text,
227
- inFence: false,
228
- startOffset: line.startOffset,
229
- }
230
- : void 0;
231
- continue;
232
- }
233
- activeExample.bodyLines.push(line.text);
234
- if (getFenceLanguage(line.text) !== void 0) {
235
- activeExample.inFence = !activeExample.inFence;
236
- }
237
- }
238
- if (activeExample !== void 0) {
239
- examples.push(buildExampleFromParts({
240
- bodyLines: activeExample.bodyLines,
241
- commentValue,
242
- endOffset: commentValue.length,
243
- header: activeExample.header,
244
- startOffset: activeExample.startOffset,
245
- }));
246
- }
247
- return examples;
248
- }
249
- /**
250
- * Checks whether a line starts an \@example tag.
251
- * @param line Line to inspect.
252
- * @returns True when the line starts an \@example tag.
253
- * @example
254
- * ```typescript
255
- * const isHeader = isExampleHeaderLine(" * @example");
256
- * ```
257
- */
258
- function isExampleHeaderLine(line) {
259
- return /^\s*\*?\s*@example\b/u.test(line);
260
- }
261
- /**
262
- * Checks whether a line starts a JSDoc tag.
263
- * @param line Line to inspect.
264
- * @returns True when the line starts a JSDoc tag.
265
- * @example
266
- * ```typescript
267
- * const isTag = isJSDocumentTagLine(" * @returns value");
268
- * ```
269
- */
270
- function isJSDocumentTagLine(line) {
271
- return /^\s*\*?\s*@\w+\b/u.test(line);
272
- }
273
- export { checkExampleContent, getExamples };
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL2V4YW1wbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxTQUFTLEVBQ1QsY0FBYyxHQUNmLE1BQU0scUJBQXFCLENBQUM7QUF5RjdCOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFFBQWdCLEVBQWMsRUFBRTtJQUMzRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDN0QsQ0FBQztRQUVELE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixzQkFBc0IsRUFBRSxLQUFLO1lBQzdCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsZUFBZSxFQUFFLEtBQUs7WUFDdEIsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixzQkFBc0IsRUFBRSxLQUFLO1FBQzdCLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQjtRQUNuRSxPQUFPLEVBQUUsS0FBSztRQUNkLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sdUJBQXVCLEdBQUcsQ0FDOUIsS0FBaUIsRUFDakIsSUFBWSxFQUNBLEVBQUU7SUFDZCxNQUFNLFFBQVEsR0FB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QUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFeGFtcGxlLCBQcm9ibGVtIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW1wb3J0IHtcbiAgZ2V0RmVuY2VMYW5ndWFnZSxcbiAgZ2V0SW5saW5lQ29udGVudCxcbiAgZ2V0TGluZU1ldGEsXG4gIGdldFByZWZpeCxcbiAgaGFzTGluZUNvbnRlbnQsXG59IGZyb20gXCIuL2V4YW1wbGUtdXRpbGl0aWVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBBY3RpdmVFeGFtcGxlU3RhdGUge1xuICAvKiogQm9keUxpbmVzIGZpZWxkIHZhbHVlLiAqL1xuICBib2R5TGluZXM6IHN0cmluZ1tdO1xuXG4gIC8qKiBIZWFkZXIgZmllbGQgdmFsdWUuICovXG4gIGhlYWRlcjogc3RyaW5nO1xuXG4gIC8qKiBJbkZlbmNlIGZpZWxkIHZhbHVlLiAqL1xuICBpbkZlbmNlOiBib29sZWFuO1xuXG4gIC8qKiBTdGFydE9mZnNldCBmaWVsZCB2YWx1ZS4gKi9cbiAgc3RhcnRPZmZzZXQ6IG51bWJlcjtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIENvbW1lbnRMaW5lIHtcbiAgLyoqIFN0YXJ0T2Zmc2V0IGZpZWxkIHZhbHVlLiAqL1xuICBzdGFydE9mZnNldDogbnVtYmVyO1xuXG4gIC8qKiBUZXh0IGZpZWxkIHZhbHVlLiAqL1xuICB0ZXh0OiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBFeGFtcGxlQ29udGVudENvbnRleHQge1xuICAvKiogQm9keSBmaWVsZCB2YWx1ZS4gKi9cbiAgYm9keTogc3RyaW5nO1xuXG4gIC8qKiBIZWFkZXIgZmllbGQgdmFsdWUuICovXG4gIGhlYWRlcjogc3RyaW5nO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgRXhhbXBsZUZyb21QYXJ0c0NvbnRleHQge1xuICAvKiogQm9keUxpbmVzIGZpZWxkIHZhbHVlLiAqL1xuICBib2R5TGluZXM6IHN0cmluZ1tdO1xuXG4gIC8qKiBDb21tZW50VmFsdWUgZmllbGQgdmFsdWUuICovXG4gIGNvbW1lbnRWYWx1ZTogc3RyaW5nO1xuXG4gIC8qKiBFbmRPZmZzZXQgZmllbGQgdmFsdWUuICovXG4gIGVuZE9mZnNldDogbnVtYmVyO1xuXG4gIC8qKiBIZWFkZXIgZmllbGQgdmFsdWUuICovXG4gIGhlYWRlcjogc3RyaW5nO1xuXG4gIC8qKiBTdGFydE9mZnNldCBmaWVsZCB2YWx1ZS4gKi9cbiAgc3RhcnRPZmZzZXQ6IG51bWJlcjtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEZlbmNlQW5hbHlzaXMge1xuICAvKiogSGFzRW1wdHlGZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzRW1wdHlGZW5jZTogYm9vbGVhbjtcblxuICAvKiogSGFzT3V0c2lkZUZlbmNlQ29udGVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzT3V0c2lkZUZlbmNlQ29udGVudDogYm9vbGVhbjtcblxuICAvKiogTWlzc2luZ0xhbmd1YWdlIGZpZWxkIHZhbHVlLiAqL1xuICBtaXNzaW5nTGFuZ3VhZ2U6IGJvb2xlYW47XG5cbiAgLyoqIFNhd0ZlbmNlIGZpZWxkIHZhbHVlLiAqL1xuICBzYXdGZW5jZTogYm9vbGVhbjtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEZlbmNlU3RhdGUge1xuICAvKiogQ3VycmVudEZlbmNlSGFzQ29udGVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgY3VycmVudEZlbmNlSGFzQ29udGVudDogYm9vbGVhbjtcblxuICAvKiogSGFzRW1wdHlGZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzRW1wdHlGZW5jZTogYm9vbGVhbjtcblxuICAvKiogSGFzT3V0c2lkZUZlbmNlQ29udGVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzT3V0c2lkZUZlbmNlQ29udGVudDogYm9vbGVhbjtcblxuICAvKiogSW5GZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgaW5GZW5jZTogYm9vbGVhbjtcblxuICAvKiogTWlzc2luZ0xhbmd1YWdlIGZpZWxkIHZhbHVlLiAqL1xuICBtaXNzaW5nTGFuZ3VhZ2U6IGJvb2xlYW47XG5cbiAgLyoqIFNhd0ZlbmNlIGZpZWxkIHZhbHVlLiAqL1xuICBzYXdGZW5jZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBVcGRhdGVzIGZlbmNlIHN0YXRlIGJhc2VkIG9uIHRoZSBkZXRlY3RlZCBsYW5ndWFnZS5cbiAqIEBwYXJhbSBzdGF0ZSBDdXJyZW50IGZlbmNlIHRyYWNraW5nIHN0YXRlLlxuICogQHBhcmFtIGxhbmd1YWdlIEZlbmNlIGxhbmd1YWdlIHN0cmluZy5cbiAqIEByZXR1cm5zIFVwZGF0ZWQgZmVuY2UgdHJhY2tpbmcgc3RhdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmV4dCA9IHVwZGF0ZUZlbmNlU3RhdGUoc3RhdGUsIFwidHlwZXNjcmlwdFwiKTtcbiAqIGBgYFxuICovXG5jb25zdCB1cGRhdGVGZW5jZVN0YXRlID0gKHN0YXRlOiBGZW5jZVN0YXRlLCBsYW5ndWFnZTogc3RyaW5nKTogRmVuY2VTdGF0ZSA9PiB7XG4gIGlmICghc3RhdGUuaW5GZW5jZSkge1xuICAgIGlmIChsYW5ndWFnZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBtaXNzaW5nTGFuZ3VhZ2U6IHRydWUsIHNhd0ZlbmNlOiB0cnVlIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgY3VycmVudEZlbmNlSGFzQ29udGVudDogZmFsc2UsXG4gICAgICBpbkZlbmNlOiB0cnVlLFxuICAgICAgbWlzc2luZ0xhbmd1YWdlOiBmYWxzZSxcbiAgICAgIHNhd0ZlbmNlOiB0cnVlLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIGN1cnJlbnRGZW5jZUhhc0NvbnRlbnQ6IGZhbHNlLFxuICAgIGhhc0VtcHR5RmVuY2U6IHN0YXRlLmhhc0VtcHR5RmVuY2UgfHwgIXN0YXRlLmN1cnJlbnRGZW5jZUhhc0NvbnRlbnQsXG4gICAgaW5GZW5jZTogZmFsc2UsXG4gICAgbWlzc2luZ0xhbmd1YWdlOiBmYWxzZSxcbiAgICBzYXdGZW5jZTogdHJ1ZSxcbiAgfTtcbn07XG5cbi8qKlxuICogVXBkYXRlcyBmZW5jZSB0cmFja2luZyBmb3IgYSBzaW5nbGUgZXhhbXBsZSBsaW5lLlxuICogQHBhcmFtIHN0YXRlIEN1cnJlbnQgZmVuY2UgdHJhY2tpbmcgc3RhdGUuXG4gKiBAcGFyYW0gbGluZSBFeGFtcGxlIGxpbmUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFVwZGF0ZWQgZmVuY2UgdHJhY2tpbmcgc3RhdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmV4dCA9IHVwZGF0ZUZlbmNlU3RhdGVGb3JMaW5lKHN0YXRlLCBcIiAqIG9rXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IHVwZGF0ZUZlbmNlU3RhdGVGb3JMaW5lID0gKFxuICBzdGF0ZTogRmVuY2VTdGF0ZSxcbiAgbGluZTogc3RyaW5nLFxuKTogRmVuY2VTdGF0ZSA9PiB7XG4gIGNvbnN0IGxhbmd1YWdlID0gZ2V0RmVuY2VMYW5ndWFnZShsaW5lKTtcblxuICBpZiAobGFuZ3VhZ2UgIT09IHZvaWQgMCkge1xuICAgIHJldHVybiB1cGRhdGVGZW5jZVN0YXRlKHN0YXRlLCBsYW5ndWFnZSk7XG4gIH1cblxuICBpZiAoc3RhdGUuaW5GZW5jZSAmJiBoYXNMaW5lQ29udGVudChsaW5lKSkge1xuICAgIHJldHVybiB7IC4uLnN0YXRlLCBjdXJyZW50RmVuY2VIYXNDb250ZW50OiB0cnVlIH07XG4gIH1cblxuICBpZiAoIXN0YXRlLmluRmVuY2UgJiYgaGFzTGluZUNvbnRlbnQobGluZSkpIHtcbiAgICByZXR1cm4geyAuLi5zdGF0ZSwgaGFzT3V0c2lkZUZlbmNlQ29udGVudDogdHJ1ZSB9O1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlO1xufTtcblxuLyoqXG4gKiBBbmFseXplcyBmZW5jZWQgY29kZSBibG9ja3MgZm9yIG1pc3NpbmcgbGFuZ3VhZ2UgaWRlbnRpZmllcnMuXG4gKiBAcGFyYW0gY29udGVudCBFeGFtcGxlIGNvbnRlbnQgdG8gYW5hbHl6ZS5cbiAqIEByZXR1cm5zIEZlbmNlIGFuYWx5c2lzIHJlc3VsdHMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYW5hbHlzaXMgPSBhbmFseXplRmVuY2VDb250ZW50KFwiYGBgdHlwZXNjcmlwdFxcbmNvbnN0IHZhbHVlID0gMTtcXG5gYGBcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYW5hbHl6ZUZlbmNlQ29udGVudChjb250ZW50OiBzdHJpbmcpOiBGZW5jZUFuYWx5c2lzIHtcbiAgY29uc3QgbGluZXMgPSBjb250ZW50LnNwbGl0KC9cXHI/XFxuL3UpO1xuICBsZXQgc3RhdGU6IEZlbmNlU3RhdGUgPSB7XG4gICAgY3VycmVudEZlbmNlSGFzQ29udGVudDogZmFsc2UsXG4gICAgaGFzRW1wdHlGZW5jZTogZmFsc2UsXG4gICAgaGFzT3V0c2lkZUZlbmNlQ29udGVudDogZmFsc2UsXG4gICAgaW5GZW5jZTogZmFsc2UsXG4gICAgbWlzc2luZ0xhbmd1YWdlOiBmYWxzZSxcbiAgICBzYXdGZW5jZTogZmFsc2UsXG4gIH07XG5cbiAgZm9yIChjb25zdCBsaW5lIG9mIGxpbmVzKSB7XG4gICAgc3RhdGUgPSB1cGRhdGVGZW5jZVN0YXRlRm9yTGluZShzdGF0ZSwgbGluZSk7XG5cbiAgICBpZiAoc3RhdGUubWlzc2luZ0xhbmd1YWdlKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpZiAoc3RhdGUuaW5GZW5jZSAmJiAhc3RhdGUuY3VycmVudEZlbmNlSGFzQ29udGVudCkge1xuICAgIHN0YXRlID0geyAuLi5zdGF0ZSwgaGFzRW1wdHlGZW5jZTogdHJ1ZSB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBoYXNFbXB0eUZlbmNlOiBzdGF0ZS5oYXNFbXB0eUZlbmNlLFxuICAgIGhhc091dHNpZGVGZW5jZUNvbnRlbnQ6IHN0YXRlLmhhc091dHNpZGVGZW5jZUNvbnRlbnQsXG4gICAgbWlzc2luZ0xhbmd1YWdlOiBzdGF0ZS5taXNzaW5nTGFuZ3VhZ2UsXG4gICAgc2F3RmVuY2U6IHN0YXRlLnNhd0ZlbmNlLFxuICB9O1xufVxuXG4vKipcbiAqIEJ1aWxkcyBleGFtcGxlIGNvbnRlbnQgZnJvbSBhbiBpbmxpbmUgaGVhZGVyIGFuZCBib2R5IGxpbmVzLlxuICogQHBhcmFtIGNvbnRleHQgRXhhbXBsZSBoZWFkZXIgYW5kIGJvZHkgbGluZXMuXG4gKiBAcmV0dXJucyBDb21iaW5lZCBleGFtcGxlIGNvbnRlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29udGVudCA9IGJ1aWxkRXhhbXBsZUNvbnRlbnQoeyBib2R5OiBcIiogb2tcIiwgaGVhZGVyOiBcIiogQGV4YW1wbGVcIiB9KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBidWlsZEV4YW1wbGVDb250ZW50KGNvbnRleHQ6IEV4YW1wbGVDb250ZW50Q29udGV4dCk6IHN0cmluZyB7XG4gIGNvbnN0IHsgYm9keSwgaGVhZGVyIH0gPSBjb250ZXh0O1xuICBjb25zdCBpbmxpbmVDb250ZW50ID0gZ2V0SW5saW5lQ29udGVudChoZWFkZXIpO1xuXG4gIGlmIChpbmxpbmVDb250ZW50Lmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gYCR7aW5saW5lQ29udGVudH1cXG4ke2JvZHl9YDtcbiAgfVxuXG4gIHJldHVybiBib2R5O1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhbiBFeGFtcGxlIGZyb20gcGFyc2VkIGhlYWRlciBhbmQgYm9keSBkYXRhLlxuICogQHBhcmFtIGNvbnRleHQgUGFyc2VkIGV4YW1wbGUgY29udGV4dC5cbiAqIEByZXR1cm5zIEV4YW1wbGUgbWV0YWRhdGEgZXh0cmFjdGVkIGZyb20gdGhlIHBhcnNlZCBkYXRhLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGV4YW1wbGUgPSBidWlsZEV4YW1wbGVGcm9tUGFydHMoY29udGV4dCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYnVpbGRFeGFtcGxlRnJvbVBhcnRzKGNvbnRleHQ6IEV4YW1wbGVGcm9tUGFydHNDb250ZXh0KTogRXhhbXBsZSB7XG4gIGNvbnN0IHsgYm9keUxpbmVzLCBjb21tZW50VmFsdWUsIGVuZE9mZnNldCwgaGVhZGVyLCBzdGFydE9mZnNldCB9ID0gY29udGV4dDtcbiAgY29uc3QgY29udGVudCA9IGJ1aWxkRXhhbXBsZUNvbnRlbnQoeyBib2R5OiBib2R5TGluZXMuam9pbihcIlxcblwiKSwgaGVhZGVyIH0pO1xuICBjb25zdCBmdWxsID0gY29tbWVudFZhbHVlLnNsaWNlKHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQpO1xuICBjb25zdCBsaW5lTWV0YSA9IGdldExpbmVNZXRhKHtcbiAgICBjb21tZW50VmFsdWUsXG4gICAgZnVsbCxcbiAgICBzdGFydE9mZnNldCxcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBjb250ZW50OiBjb250ZW50LnRyaW0oKSxcbiAgICBlbmRJbmRleDogbGluZU1ldGEuZW5kSW5kZXgsXG4gICAgZW5kT2Zmc2V0LFxuICAgIGxpbmVJbmRleDogbGluZU1ldGEubGluZUluZGV4LFxuICAgIHByZWZpeDogZ2V0UHJlZml4KGhlYWRlciksXG4gICAgc3RhcnRPZmZzZXQsXG4gIH07XG59XG5cbi8qKlxuICogQ2hlY2tzIGV4YW1wbGUgY29udGVudCBmb3IgcmVxdWlyZWQgZmVuY2VzIGFuZCBsYW5ndWFnZS5cbiAqIEBwYXJhbSBjb250ZW50IEV4YW1wbGUgY29udGVudCB0byBpbnNwZWN0LlxuICogQHJldHVybnMgUHJvYmxlbSBpZGVudGlmaWVyIHdoZW4gdGhlIGNvbnRlbnQgaXMgaW52YWxpZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBwcm9ibGVtID0gY2hlY2tFeGFtcGxlQ29udGVudChcImBgYHR5cGVzY3JpcHRcXG5jb25zdCBvayA9IHRydWU7XFxuYGBgXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNoZWNrRXhhbXBsZUNvbnRlbnQoY29udGVudDogc3RyaW5nKTogUHJvYmxlbSB8IHVuZGVmaW5lZCB7XG4gIGlmIChjb250ZW50LnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gXCJlbXB0eUV4YW1wbGVcIjtcbiAgfVxuXG4gIGNvbnN0IHsgaGFzRW1wdHlGZW5jZSwgaGFzT3V0c2lkZUZlbmNlQ29udGVudCwgbWlzc2luZ0xhbmd1YWdlLCBzYXdGZW5jZSB9ID1cbiAgICBhbmFseXplRmVuY2VDb250ZW50KGNvbnRlbnQpO1xuXG4gIGlmIChtaXNzaW5nTGFuZ3VhZ2UpIHtcbiAgICByZXR1cm4gXCJtaXNzaW5nTGFuZ3VhZ2VcIjtcbiAgfVxuXG4gIGlmIChzYXdGZW5jZSAmJiBoYXNPdXRzaWRlRmVuY2VDb250ZW50KSB7XG4gICAgcmV0dXJuIFwiY29udGVudE91dHNpZGVGZW5jZVwiO1xuICB9XG5cbiAgaWYgKHNhd0ZlbmNlICYmIGhhc0VtcHR5RmVuY2UpIHtcbiAgICByZXR1cm4gXCJlbXB0eUV4YW1wbGVcIjtcbiAgfVxuXG4gIGlmICghc2F3RmVuY2UpIHtcbiAgICByZXR1cm4gXCJtaXNzaW5nRmVuY2VcIjtcbiAgfVxuXG4gIHJldHVybiB2b2lkIDA7XG59XG5cbi8qKlxuICogQ29sbGVjdHMgY29tbWVudCBsaW5lcyB3aXRoIHRoZWlyIG9mZnNldHMuXG4gKiBAcGFyYW0gY29tbWVudFZhbHVlIFJhdyBjb21tZW50IHZhbHVlLlxuICogQHJldHVybnMgUGFyc2VkIGNvbW1lbnQgbGluZXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGluZXMgPSBnZXRDb21tZW50TGluZXMoXCIqIEBleGFtcGxlXFxuKiB2YWx1ZVwiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXRDb21tZW50TGluZXMoY29tbWVudFZhbHVlOiBzdHJpbmcpOiBDb21tZW50TGluZVtdIHtcbiAgY29uc3QgbGluZXM6IENvbW1lbnRMaW5lW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IG1hdGNoIG9mIGNvbW1lbnRWYWx1ZS5tYXRjaEFsbCgvW15cXHJcXG5dKig/Olxccj9cXG58JCkvZ3UpKSB7XG4gICAgY29uc3QgdmFsdWUgPSBtYXRjaFswXTtcblxuICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGxpbmVzLnB1c2goe1xuICAgICAgc3RhcnRPZmZzZXQ6IG1hdGNoLmluZGV4LFxuICAgICAgdGV4dDogdmFsdWUucmVwbGFjZSgvXFxyP1xcbiQvdSwgXCJcIiksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbGluZXM7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgYWxsIFxcQGV4YW1wbGUgZW50cmllcyBmcm9tIGEgSlNEb2MgY29tbWVudCB2YWx1ZS5cbiAqIFVzZXMgYSBmZW5jZS1hd2FyZSBwYXJzZXIgc28gbGluZXMgdGhhdCBzdGFydCB3aXRoIGBAYCBpbnNpZGVcbiAqIGZlbmNlZCBibG9ja3MgcmVtYWluIHBhcnQgb2YgdGhlIHNhbWUgZXhhbXBsZS5cbiAqIEBwYXJhbSBjb21tZW50VmFsdWUgUmF3IGNvbW1lbnQgdmFsdWUuXG4gKiBAcmV0dXJucyBFeHRyYWN0ZWQgZXhhbXBsZXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZXhhbXBsZXMgPSBnZXRFeGFtcGxlcyhcIiogQGV4YW1wbGVcXG4qIGBgYHR5cGVzY3JpcHRcXG4qIG9rXFxuKiBgYGBcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0RXhhbXBsZXMoY29tbWVudFZhbHVlOiBzdHJpbmcpOiBFeGFtcGxlW10ge1xuICBjb25zdCBjb21tZW50TGluZXMgPSBnZXRDb21tZW50TGluZXMoY29tbWVudFZhbHVlKTtcbiAgY29uc3QgZXhhbXBsZXM6IEV4YW1wbGVbXSA9IFtdO1xuICBsZXQgYWN0aXZlRXhhbXBsZTogQWN0aXZlRXhhbXBsZVN0YXRlIHwgdW5kZWZpbmVkO1xuXG4gIGZvciAoY29uc3QgbGluZSBvZiBjb21tZW50TGluZXMpIHtcbiAgICBpZiAoYWN0aXZlRXhhbXBsZSA9PT0gdm9pZCAwKSB7XG4gICAgICBpZiAoIWlzRXhhbXBsZUhlYWRlckxpbmUobGluZS50ZXh0KSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgYWN0aXZlRXhhbXBsZSA9IHtcbiAgICAgICAgYm9keUxpbmVzOiBbXSxcbiAgICAgICAgaGVhZGVyOiBsaW5lLnRleHQsXG4gICAgICAgIGluRmVuY2U6IGZhbHNlLFxuICAgICAgICBzdGFydE9mZnNldDogbGluZS5zdGFydE9mZnNldCxcbiAgICAgIH07XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoIWFjdGl2ZUV4YW1wbGUuaW5GZW5jZSAmJiBpc0pTRG9jdW1lbnRUYWdMaW5lKGxpbmUudGV4dCkpIHtcbiAgICAgIGV4YW1wbGVzLnB1c2goXG4gICAgICAgIGJ1aWxkRXhhbXBsZUZyb21QYXJ0cyh7XG4gICAgICAgICAgYm9keUxpbmVzOiBhY3RpdmVFeGFtcGxlLmJvZHlMaW5lcyxcbiAgICAgICAgICBjb21tZW50VmFsdWUsXG4gICAgICAgICAgZW5kT2Zmc2V0OiBsaW5lLnN0YXJ0T2Zmc2V0LFxuICAgICAgICAgIGhlYWRlcjogYWN0aXZlRXhhbXBsZS5oZWFkZXIsXG4gICAgICAgICAgc3RhcnRPZmZzZXQ6IGFjdGl2ZUV4YW1wbGUuc3RhcnRPZmZzZXQsXG4gICAgICAgIH0pLFxuICAgICAgKTtcblxuICAgICAgYWN0aXZlRXhhbXBsZSA9IGlzRXhhbXBsZUhlYWRlckxpbmUobGluZS50ZXh0KVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGJvZHlMaW5lczogW10sXG4gICAgICAgICAgICBoZWFkZXI6IGxpbmUudGV4dCxcbiAgICAgICAgICAgIGluRmVuY2U6IGZhbHNlLFxuICAgICAgICAgICAgc3RhcnRPZmZzZXQ6IGxpbmUuc3RhcnRPZmZzZXQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHZvaWQgMDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGFjdGl2ZUV4YW1wbGUuYm9keUxpbmVzLnB1c2gobGluZS50ZXh0KTtcblxuICAgIGlmIChnZXRGZW5jZUxhbmd1YWdlKGxpbmUudGV4dCkgIT09IHZvaWQgMCkge1xuICAgICAgYWN0aXZlRXhhbXBsZS5pbkZlbmNlID0gIWFjdGl2ZUV4YW1wbGUuaW5GZW5jZTtcbiAgICB9XG4gIH1cblxuICBpZiAoYWN0aXZlRXhhbXBsZSAhPT0gdm9pZCAwKSB7XG4gICAgZXhhbXBsZXMucHVzaChcbiAgICAgIGJ1aWxkRXhhbXBsZUZyb21QYXJ0cyh7XG4gICAgICAgIGJvZHlMaW5lczogYWN0aXZlRXhhbXBsZS5ib2R5TGluZXMsXG4gICAgICAgIGNvbW1lbnRWYWx1ZSxcbiAgICAgICAgZW5kT2Zmc2V0OiBjb21tZW50VmFsdWUubGVuZ3RoLFxuICAgICAgICBoZWFkZXI6IGFjdGl2ZUV4YW1wbGUuaGVhZGVyLFxuICAgICAgICBzdGFydE9mZnNldDogYWN0aXZlRXhhbXBsZS5zdGFydE9mZnNldCxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gZXhhbXBsZXM7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBsaW5lIHN0YXJ0cyBhbiBcXEBleGFtcGxlIHRhZy5cbiAqIEBwYXJhbSBsaW5lIExpbmUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgbGluZSBzdGFydHMgYW4gXFxAZXhhbXBsZSB0YWcuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaXNIZWFkZXIgPSBpc0V4YW1wbGVIZWFkZXJMaW5lKFwiICogQGV4YW1wbGVcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaXNFeGFtcGxlSGVhZGVyTGluZShsaW5lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIC9eXFxzKlxcKj9cXHMqQGV4YW1wbGVcXGIvdS50ZXN0KGxpbmUpO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgbGluZSBzdGFydHMgYSBKU0RvYyB0YWcuXG4gKiBAcGFyYW0gbGluZSBMaW5lIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGxpbmUgc3RhcnRzIGEgSlNEb2MgdGFnLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGlzVGFnID0gaXNKU0RvY3VtZW50VGFnTGluZShcIiAqIEByZXR1cm5zIHZhbHVlXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzSlNEb2N1bWVudFRhZ0xpbmUobGluZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiAvXlxccypcXCo/XFxzKkBcXHcrXFxiL3UudGVzdChsaW5lKTtcbn1cblxuZXhwb3J0IHsgY2hlY2tFeGFtcGxlQ29udGVudCwgZ2V0RXhhbXBsZXMgfTtcbiJdfQ==
164
+ export { buildExampleFromParts, checkExampleContent };
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL2V4YW1wbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxTQUFTLEVBQ1QsY0FBYyxHQUNmLE1BQU0scUJBQXFCLENBQUM7QUFpRTdCOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFFBQWdCLEVBQWMsRUFBRTtJQUMzRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDN0QsQ0FBQztRQUVELE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixzQkFBc0IsRUFBRSxLQUFLO1lBQzdCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsZUFBZSxFQUFFLEtBQUs7WUFDdEIsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixzQkFBc0IsRUFBRSxLQUFLO1FBQzdCLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQjtRQUNuRSxPQUFPLEVBQUUsS0FBSztRQUNkLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sdUJBQXVCLEdBQUcsQ0FDOUIsS0FBaUIsRUFDakIsSUFBWSxFQUNBLEVBQUU7SUFDZCxNQUFNLFFBQVEsR0FB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QUFPLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRTtRQUN2QixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7UUFDM0IsU0FBUztRQUNULFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUztRQUM3QixNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUN6QixXQUFXO0tBQ1osQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsbUJBQW1CLENBQUMsT0FBZTtJQUMxQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEMsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU0sRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxHQUN4RSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUvQixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksUUFBUSxJQUFJLHNCQUFzQixFQUFFLENBQUM7UUFDdkMsT0FBTyxxQkFBcUIsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxRQUFRLElBQUksYUFBYSxFQUFFLENBQUM7UUFDOUIsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxDQUFDO0FBQ2hCLENBQUM7QUFFRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRXhhbXBsZSwgUHJvYmxlbSB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmltcG9ydCB7XG4gIGdldEZlbmNlTGFuZ3VhZ2UsXG4gIGdldElubGluZUNvbnRlbnQsXG4gIGdldExpbmVNZXRhLFxuICBnZXRQcmVmaXgsXG4gIGhhc0xpbmVDb250ZW50LFxufSBmcm9tIFwiLi9leGFtcGxlLXV0aWxpdGllc1wiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgRXhhbXBsZUNvbnRlbnRDb250ZXh0IHtcbiAgLyoqIEJvZHkgZmllbGQgdmFsdWUuICovXG4gIGJvZHk6IHN0cmluZztcblxuICAvKiogSGVhZGVyIGZpZWxkIHZhbHVlLiAqL1xuICBoZWFkZXI6IHN0cmluZztcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEV4YW1wbGVGcm9tUGFydHNDb250ZXh0IHtcbiAgLyoqIEJvZHlMaW5lcyBmaWVsZCB2YWx1ZS4gKi9cbiAgYm9keUxpbmVzOiBzdHJpbmdbXTtcblxuICAvKiogQ29tbWVudFZhbHVlIGZpZWxkIHZhbHVlLiAqL1xuICBjb21tZW50VmFsdWU6IHN0cmluZztcblxuICAvKiogRW5kT2Zmc2V0IGZpZWxkIHZhbHVlLiAqL1xuICBlbmRPZmZzZXQ6IG51bWJlcjtcblxuICAvKiogSGVhZGVyIGZpZWxkIHZhbHVlLiAqL1xuICBoZWFkZXI6IHN0cmluZztcblxuICAvKiogU3RhcnRPZmZzZXQgZmllbGQgdmFsdWUuICovXG4gIHN0YXJ0T2Zmc2V0OiBudW1iZXI7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGZW5jZUFuYWx5c2lzIHtcbiAgLyoqIEhhc0VtcHR5RmVuY2UgZmllbGQgdmFsdWUuICovXG4gIGhhc0VtcHR5RmVuY2U6IGJvb2xlYW47XG5cbiAgLyoqIEhhc091dHNpZGVGZW5jZUNvbnRlbnQgZmllbGQgdmFsdWUuICovXG4gIGhhc091dHNpZGVGZW5jZUNvbnRlbnQ6IGJvb2xlYW47XG5cbiAgLyoqIE1pc3NpbmdMYW5ndWFnZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbWlzc2luZ0xhbmd1YWdlOiBib29sZWFuO1xuXG4gIC8qKiBTYXdGZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgc2F3RmVuY2U6IGJvb2xlYW47XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGZW5jZVN0YXRlIHtcbiAgLyoqIEN1cnJlbnRGZW5jZUhhc0NvbnRlbnQgZmllbGQgdmFsdWUuICovXG4gIGN1cnJlbnRGZW5jZUhhc0NvbnRlbnQ6IGJvb2xlYW47XG5cbiAgLyoqIEhhc0VtcHR5RmVuY2UgZmllbGQgdmFsdWUuICovXG4gIGhhc0VtcHR5RmVuY2U6IGJvb2xlYW47XG5cbiAgLyoqIEhhc091dHNpZGVGZW5jZUNvbnRlbnQgZmllbGQgdmFsdWUuICovXG4gIGhhc091dHNpZGVGZW5jZUNvbnRlbnQ6IGJvb2xlYW47XG5cbiAgLyoqIEluRmVuY2UgZmllbGQgdmFsdWUuICovXG4gIGluRmVuY2U6IGJvb2xlYW47XG5cbiAgLyoqIE1pc3NpbmdMYW5ndWFnZSBmaWVsZCB2YWx1ZS4gKi9cbiAgbWlzc2luZ0xhbmd1YWdlOiBib29sZWFuO1xuXG4gIC8qKiBTYXdGZW5jZSBmaWVsZCB2YWx1ZS4gKi9cbiAgc2F3RmVuY2U6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVXBkYXRlcyBmZW5jZSBzdGF0ZSBiYXNlZCBvbiB0aGUgZGV0ZWN0ZWQgbGFuZ3VhZ2UuXG4gKiBAcGFyYW0gc3RhdGUgQ3VycmVudCBmZW5jZSB0cmFja2luZyBzdGF0ZS5cbiAqIEBwYXJhbSBsYW5ndWFnZSBGZW5jZSBsYW5ndWFnZSBzdHJpbmcuXG4gKiBAcmV0dXJucyBVcGRhdGVkIGZlbmNlIHRyYWNraW5nIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5leHQgPSB1cGRhdGVGZW5jZVN0YXRlKHN0YXRlLCBcInR5cGVzY3JpcHRcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgdXBkYXRlRmVuY2VTdGF0ZSA9IChzdGF0ZTogRmVuY2VTdGF0ZSwgbGFuZ3VhZ2U6IHN0cmluZyk6IEZlbmNlU3RhdGUgPT4ge1xuICBpZiAoIXN0YXRlLmluRmVuY2UpIHtcbiAgICBpZiAobGFuZ3VhZ2UubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4geyAuLi5zdGF0ZSwgbWlzc2luZ0xhbmd1YWdlOiB0cnVlLCBzYXdGZW5jZTogdHJ1ZSB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGN1cnJlbnRGZW5jZUhhc0NvbnRlbnQ6IGZhbHNlLFxuICAgICAgaW5GZW5jZTogdHJ1ZSxcbiAgICAgIG1pc3NpbmdMYW5ndWFnZTogZmFsc2UsXG4gICAgICBzYXdGZW5jZTogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBjdXJyZW50RmVuY2VIYXNDb250ZW50OiBmYWxzZSxcbiAgICBoYXNFbXB0eUZlbmNlOiBzdGF0ZS5oYXNFbXB0eUZlbmNlIHx8ICFzdGF0ZS5jdXJyZW50RmVuY2VIYXNDb250ZW50LFxuICAgIGluRmVuY2U6IGZhbHNlLFxuICAgIG1pc3NpbmdMYW5ndWFnZTogZmFsc2UsXG4gICAgc2F3RmVuY2U6IHRydWUsXG4gIH07XG59O1xuXG4vKipcbiAqIFVwZGF0ZXMgZmVuY2UgdHJhY2tpbmcgZm9yIGEgc2luZ2xlIGV4YW1wbGUgbGluZS5cbiAqIEBwYXJhbSBzdGF0ZSBDdXJyZW50IGZlbmNlIHRyYWNraW5nIHN0YXRlLlxuICogQHBhcmFtIGxpbmUgRXhhbXBsZSBsaW5lIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBVcGRhdGVkIGZlbmNlIHRyYWNraW5nIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5leHQgPSB1cGRhdGVGZW5jZVN0YXRlRm9yTGluZShzdGF0ZSwgXCIgKiBva1wiKTtcbiAqIGBgYFxuICovXG5jb25zdCB1cGRhdGVGZW5jZVN0YXRlRm9yTGluZSA9IChcbiAgc3RhdGU6IEZlbmNlU3RhdGUsXG4gIGxpbmU6IHN0cmluZyxcbik6IEZlbmNlU3RhdGUgPT4ge1xuICBjb25zdCBsYW5ndWFnZSA9IGdldEZlbmNlTGFuZ3VhZ2UobGluZSk7XG5cbiAgaWYgKGxhbmd1YWdlICE9PSB2b2lkIDApIHtcbiAgICByZXR1cm4gdXBkYXRlRmVuY2VTdGF0ZShzdGF0ZSwgbGFuZ3VhZ2UpO1xuICB9XG5cbiAgaWYgKHN0YXRlLmluRmVuY2UgJiYgaGFzTGluZUNvbnRlbnQobGluZSkpIHtcbiAgICByZXR1cm4geyAuLi5zdGF0ZSwgY3VycmVudEZlbmNlSGFzQ29udGVudDogdHJ1ZSB9O1xuICB9XG5cbiAgaWYgKCFzdGF0ZS5pbkZlbmNlICYmIGhhc0xpbmVDb250ZW50KGxpbmUpKSB7XG4gICAgcmV0dXJuIHsgLi4uc3RhdGUsIGhhc091dHNpZGVGZW5jZUNvbnRlbnQ6IHRydWUgfTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZTtcbn07XG5cbi8qKlxuICogQW5hbHl6ZXMgZmVuY2VkIGNvZGUgYmxvY2tzIGZvciBtaXNzaW5nIGxhbmd1YWdlIGlkZW50aWZpZXJzLlxuICogQHBhcmFtIGNvbnRlbnQgRXhhbXBsZSBjb250ZW50IHRvIGFuYWx5emUuXG4gKiBAcmV0dXJucyBGZW5jZSBhbmFseXNpcyByZXN1bHRzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFuYWx5c2lzID0gYW5hbHl6ZUZlbmNlQ29udGVudChcImBgYHR5cGVzY3JpcHRcXG5jb25zdCB2YWx1ZSA9IDE7XFxuYGBgXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGFuYWx5emVGZW5jZUNvbnRlbnQoY29udGVudDogc3RyaW5nKTogRmVuY2VBbmFseXNpcyB7XG4gIGNvbnN0IGxpbmVzID0gY29udGVudC5zcGxpdCgvXFxyP1xcbi91KTtcbiAgbGV0IHN0YXRlOiBGZW5jZVN0YXRlID0ge1xuICAgIGN1cnJlbnRGZW5jZUhhc0NvbnRlbnQ6IGZhbHNlLFxuICAgIGhhc0VtcHR5RmVuY2U6IGZhbHNlLFxuICAgIGhhc091dHNpZGVGZW5jZUNvbnRlbnQ6IGZhbHNlLFxuICAgIGluRmVuY2U6IGZhbHNlLFxuICAgIG1pc3NpbmdMYW5ndWFnZTogZmFsc2UsXG4gICAgc2F3RmVuY2U6IGZhbHNlLFxuICB9O1xuXG4gIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcykge1xuICAgIHN0YXRlID0gdXBkYXRlRmVuY2VTdGF0ZUZvckxpbmUoc3RhdGUsIGxpbmUpO1xuXG4gICAgaWYgKHN0YXRlLm1pc3NpbmdMYW5ndWFnZSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaWYgKHN0YXRlLmluRmVuY2UgJiYgIXN0YXRlLmN1cnJlbnRGZW5jZUhhc0NvbnRlbnQpIHtcbiAgICBzdGF0ZSA9IHsgLi4uc3RhdGUsIGhhc0VtcHR5RmVuY2U6IHRydWUgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaGFzRW1wdHlGZW5jZTogc3RhdGUuaGFzRW1wdHlGZW5jZSxcbiAgICBoYXNPdXRzaWRlRmVuY2VDb250ZW50OiBzdGF0ZS5oYXNPdXRzaWRlRmVuY2VDb250ZW50LFxuICAgIG1pc3NpbmdMYW5ndWFnZTogc3RhdGUubWlzc2luZ0xhbmd1YWdlLFxuICAgIHNhd0ZlbmNlOiBzdGF0ZS5zYXdGZW5jZSxcbiAgfTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgZXhhbXBsZSBjb250ZW50IGZyb20gYW4gaW5saW5lIGhlYWRlciBhbmQgYm9keSBsaW5lcy5cbiAqIEBwYXJhbSBjb250ZXh0IEV4YW1wbGUgaGVhZGVyIGFuZCBib2R5IGxpbmVzLlxuICogQHJldHVybnMgQ29tYmluZWQgZXhhbXBsZSBjb250ZW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNvbnRlbnQgPSBidWlsZEV4YW1wbGVDb250ZW50KHsgYm9keTogXCIqIG9rXCIsIGhlYWRlcjogXCIqIEBleGFtcGxlXCIgfSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYnVpbGRFeGFtcGxlQ29udGVudChjb250ZXh0OiBFeGFtcGxlQ29udGVudENvbnRleHQpOiBzdHJpbmcge1xuICBjb25zdCB7IGJvZHksIGhlYWRlciB9ID0gY29udGV4dDtcbiAgY29uc3QgaW5saW5lQ29udGVudCA9IGdldElubGluZUNvbnRlbnQoaGVhZGVyKTtcblxuICBpZiAoaW5saW5lQ29udGVudC5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIGAke2lubGluZUNvbnRlbnR9XFxuJHtib2R5fWA7XG4gIH1cblxuICByZXR1cm4gYm9keTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYW4gRXhhbXBsZSBmcm9tIHBhcnNlZCBoZWFkZXIgYW5kIGJvZHkgZGF0YS5cbiAqIEBwYXJhbSBjb250ZXh0IFBhcnNlZCBleGFtcGxlIGNvbnRleHQuXG4gKiBAcmV0dXJucyBFeGFtcGxlIG1ldGFkYXRhIGV4dHJhY3RlZCBmcm9tIHRoZSBwYXJzZWQgZGF0YS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBleGFtcGxlID0gYnVpbGRFeGFtcGxlRnJvbVBhcnRzKGNvbnRleHQpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkRXhhbXBsZUZyb21QYXJ0cyhjb250ZXh0OiBFeGFtcGxlRnJvbVBhcnRzQ29udGV4dCk6IEV4YW1wbGUge1xuICBjb25zdCB7IGJvZHlMaW5lcywgY29tbWVudFZhbHVlLCBlbmRPZmZzZXQsIGhlYWRlciwgc3RhcnRPZmZzZXQgfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGNvbnRlbnQgPSBidWlsZEV4YW1wbGVDb250ZW50KHsgYm9keTogYm9keUxpbmVzLmpvaW4oXCJcXG5cIiksIGhlYWRlciB9KTtcbiAgY29uc3QgZnVsbCA9IGNvbW1lbnRWYWx1ZS5zbGljZShzdGFydE9mZnNldCwgZW5kT2Zmc2V0KTtcbiAgY29uc3QgbGluZU1ldGEgPSBnZXRMaW5lTWV0YSh7XG4gICAgY29tbWVudFZhbHVlLFxuICAgIGZ1bGwsXG4gICAgc3RhcnRPZmZzZXQsXG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgY29udGVudDogY29udGVudC50cmltKCksXG4gICAgZW5kSW5kZXg6IGxpbmVNZXRhLmVuZEluZGV4LFxuICAgIGVuZE9mZnNldCxcbiAgICBsaW5lSW5kZXg6IGxpbmVNZXRhLmxpbmVJbmRleCxcbiAgICBwcmVmaXg6IGdldFByZWZpeChoZWFkZXIpLFxuICAgIHN0YXJ0T2Zmc2V0LFxuICB9O1xufVxuXG4vKipcbiAqIENoZWNrcyBleGFtcGxlIGNvbnRlbnQgZm9yIHJlcXVpcmVkIGZlbmNlcyBhbmQgbGFuZ3VhZ2UuXG4gKiBAcGFyYW0gY29udGVudCBFeGFtcGxlIGNvbnRlbnQgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFByb2JsZW0gaWRlbnRpZmllciB3aGVuIHRoZSBjb250ZW50IGlzIGludmFsaWQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcHJvYmxlbSA9IGNoZWNrRXhhbXBsZUNvbnRlbnQoXCJgYGB0eXBlc2NyaXB0XFxuY29uc3Qgb2sgPSB0cnVlO1xcbmBgYFwiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBjaGVja0V4YW1wbGVDb250ZW50KGNvbnRlbnQ6IHN0cmluZyk6IFByb2JsZW0gfCB1bmRlZmluZWQge1xuICBpZiAoY29udGVudC50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFwiZW1wdHlFeGFtcGxlXCI7XG4gIH1cblxuICBjb25zdCB7IGhhc0VtcHR5RmVuY2UsIGhhc091dHNpZGVGZW5jZUNvbnRlbnQsIG1pc3NpbmdMYW5ndWFnZSwgc2F3RmVuY2UgfSA9XG4gICAgYW5hbHl6ZUZlbmNlQ29udGVudChjb250ZW50KTtcblxuICBpZiAobWlzc2luZ0xhbmd1YWdlKSB7XG4gICAgcmV0dXJuIFwibWlzc2luZ0xhbmd1YWdlXCI7XG4gIH1cblxuICBpZiAoc2F3RmVuY2UgJiYgaGFzT3V0c2lkZUZlbmNlQ29udGVudCkge1xuICAgIHJldHVybiBcImNvbnRlbnRPdXRzaWRlRmVuY2VcIjtcbiAgfVxuXG4gIGlmIChzYXdGZW5jZSAmJiBoYXNFbXB0eUZlbmNlKSB7XG4gICAgcmV0dXJuIFwiZW1wdHlFeGFtcGxlXCI7XG4gIH1cblxuICBpZiAoIXNhd0ZlbmNlKSB7XG4gICAgcmV0dXJuIFwibWlzc2luZ0ZlbmNlXCI7XG4gIH1cblxuICByZXR1cm4gdm9pZCAwO1xufVxuXG5leHBvcnQgeyBidWlsZEV4YW1wbGVGcm9tUGFydHMsIGNoZWNrRXhhbXBsZUNvbnRlbnQgfTtcbiJdfQ==