obsidian-dev-utils 55.4.0 → 55.4.1

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 (187) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/lib/cjs/abort-controller.cjs +3 -1
  3. package/dist/lib/cjs/array.cjs +3 -1
  4. package/dist/lib/cjs/async-events.cjs +3 -1
  5. package/dist/lib/cjs/async.cjs +3 -1
  6. package/dist/lib/cjs/blob.cjs +3 -1
  7. package/dist/lib/cjs/codemirror/index.cjs +3 -1
  8. package/dist/lib/cjs/codemirror/state-field-spec.cjs +3 -1
  9. package/dist/lib/cjs/css-class.cjs +3 -1
  10. package/dist/lib/cjs/debug-controller.cjs +3 -1
  11. package/dist/lib/cjs/debug.cjs +3 -1
  12. package/dist/lib/cjs/enum.cjs +3 -1
  13. package/dist/lib/cjs/error.cjs +3 -1
  14. package/dist/lib/cjs/function.cjs +3 -1
  15. package/dist/lib/cjs/html-element.cjs +3 -1
  16. package/dist/lib/cjs/index.cjs +3 -1
  17. package/dist/lib/cjs/library.cjs +4 -2
  18. package/dist/lib/cjs/object-utils.cjs +3 -1
  19. package/dist/lib/cjs/obsidian/app.cjs +3 -1
  20. package/dist/lib/cjs/obsidian/async-with-notice.cjs +3 -1
  21. package/dist/lib/cjs/obsidian/attachment-path.cjs +3 -1
  22. package/dist/lib/cjs/obsidian/backlink.cjs +3 -1
  23. package/dist/lib/cjs/obsidian/callout.cjs +3 -1
  24. package/dist/lib/cjs/obsidian/code-block-markdown-information.cjs +3 -1
  25. package/dist/lib/cjs/obsidian/commands/abstract-file-command-base.cjs +3 -1
  26. package/dist/lib/cjs/obsidian/commands/command-base.cjs +3 -1
  27. package/dist/lib/cjs/obsidian/commands/editor-command-base.cjs +3 -1
  28. package/dist/lib/cjs/obsidian/commands/file-command-base.cjs +3 -1
  29. package/dist/lib/cjs/obsidian/commands/folder-command-base.cjs +3 -1
  30. package/dist/lib/cjs/obsidian/commands/index.cjs +3 -1
  31. package/dist/lib/cjs/obsidian/commands/non-editor-command-base.cjs +3 -1
  32. package/dist/lib/cjs/obsidian/components/all-windows-event-handler.cjs +3 -1
  33. package/dist/lib/cjs/obsidian/components/async-events-component.cjs +3 -1
  34. package/dist/lib/cjs/obsidian/components/index.cjs +3 -1
  35. package/dist/lib/cjs/obsidian/components/setting-components/checkbox-component.cjs +3 -1
  36. package/dist/lib/cjs/obsidian/components/setting-components/code-highlighter-component.cjs +3 -1
  37. package/dist/lib/cjs/obsidian/components/setting-components/date-component.cjs +3 -1
  38. package/dist/lib/cjs/obsidian/components/setting-components/date-time-component.cjs +3 -1
  39. package/dist/lib/cjs/obsidian/components/setting-components/email-component.cjs +3 -1
  40. package/dist/lib/cjs/obsidian/components/setting-components/file-component.cjs +3 -1
  41. package/dist/lib/cjs/obsidian/components/setting-components/index.cjs +3 -1
  42. package/dist/lib/cjs/obsidian/components/setting-components/month-component.cjs +3 -1
  43. package/dist/lib/cjs/obsidian/components/setting-components/multiple-dropdown-component.cjs +3 -1
  44. package/dist/lib/cjs/obsidian/components/setting-components/multiple-email-component.cjs +3 -1
  45. package/dist/lib/cjs/obsidian/components/setting-components/multiple-file-component.cjs +3 -1
  46. package/dist/lib/cjs/obsidian/components/setting-components/multiple-text-component.cjs +3 -1
  47. package/dist/lib/cjs/obsidian/components/setting-components/number-component.cjs +3 -1
  48. package/dist/lib/cjs/obsidian/components/setting-components/password-component.cjs +3 -1
  49. package/dist/lib/cjs/obsidian/components/setting-components/setting-component-wrapper.cjs +3 -1
  50. package/dist/lib/cjs/obsidian/components/setting-components/telephone-component.cjs +3 -1
  51. package/dist/lib/cjs/obsidian/components/setting-components/text-based-component.cjs +3 -1
  52. package/dist/lib/cjs/obsidian/components/setting-components/time-component.cjs +3 -1
  53. package/dist/lib/cjs/obsidian/components/setting-components/tri-state-checkbox-component.cjs +3 -1
  54. package/dist/lib/cjs/obsidian/components/setting-components/typed-dropdown-component.cjs +3 -1
  55. package/dist/lib/cjs/obsidian/components/setting-components/typed-multiple-dropdown-component.cjs +3 -1
  56. package/dist/lib/cjs/obsidian/components/setting-components/typed-range-text-component.cjs +3 -1
  57. package/dist/lib/cjs/obsidian/components/setting-components/typed-text-component.cjs +3 -1
  58. package/dist/lib/cjs/obsidian/components/setting-components/url-component.cjs +3 -1
  59. package/dist/lib/cjs/obsidian/components/setting-components/validator-component.cjs +3 -1
  60. package/dist/lib/cjs/obsidian/components/setting-components/value-component-with-change-tracking.cjs +3 -1
  61. package/dist/lib/cjs/obsidian/components/setting-components/week-component.cjs +3 -1
  62. package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.cjs +3 -1
  63. package/dist/lib/cjs/obsidian/constructors/index.cjs +3 -1
  64. package/dist/lib/cjs/obsidian/dataview-link.cjs +3 -1
  65. package/dist/lib/cjs/obsidian/dataview.cjs +3 -1
  66. package/dist/lib/cjs/obsidian/editor.cjs +3 -1
  67. package/dist/lib/cjs/obsidian/file-change.cjs +3 -1
  68. package/dist/lib/cjs/obsidian/file-manager.cjs +3 -1
  69. package/dist/lib/cjs/obsidian/file-system.cjs +3 -1
  70. package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.cjs +3 -1
  71. package/dist/lib/cjs/obsidian/frontmatter.cjs +3 -1
  72. package/dist/lib/cjs/obsidian/i18n/custom-type-options-base.cjs +3 -1
  73. package/dist/lib/cjs/obsidian/i18n/default-translations-base.cjs +3 -1
  74. package/dist/lib/cjs/obsidian/i18n/i18n.cjs +3 -1
  75. package/dist/lib/cjs/obsidian/i18n/index.cjs +3 -1
  76. package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +3 -1
  77. package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +3 -1
  78. package/dist/lib/cjs/obsidian/i18n/locales/translations-map.cjs +3 -1
  79. package/dist/lib/cjs/obsidian/index.cjs +3 -1
  80. package/dist/lib/cjs/obsidian/is-in-obsidian.cjs +3 -1
  81. package/dist/lib/cjs/obsidian/link.cjs +3 -1
  82. package/dist/lib/cjs/obsidian/logger.cjs +3 -1
  83. package/dist/lib/cjs/obsidian/loop.cjs +3 -1
  84. package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +3 -1
  85. package/dist/lib/cjs/obsidian/markdown-view.cjs +3 -1
  86. package/dist/lib/cjs/obsidian/markdown.cjs +3 -1
  87. package/dist/lib/cjs/obsidian/metadata-cache.cjs +3 -1
  88. package/dist/lib/cjs/obsidian/modals/alert.cjs +3 -1
  89. package/dist/lib/cjs/obsidian/modals/confirm.cjs +3 -1
  90. package/dist/lib/cjs/obsidian/modals/index.cjs +3 -1
  91. package/dist/lib/cjs/obsidian/modals/modal-base.cjs +3 -1
  92. package/dist/lib/cjs/obsidian/modals/prompt.cjs +3 -1
  93. package/dist/lib/cjs/obsidian/modals/select-item.cjs +3 -1
  94. package/dist/lib/cjs/obsidian/monkey-around.cjs +3 -1
  95. package/dist/lib/cjs/obsidian/obsidian-settings.cjs +3 -1
  96. package/dist/lib/cjs/obsidian/pdf.cjs +3 -1
  97. package/dist/lib/cjs/obsidian/plugin/index.cjs +3 -1
  98. package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +3 -1
  99. package/dist/lib/cjs/obsidian/plugin/path-settings.cjs +3 -1
  100. package/dist/lib/cjs/obsidian/plugin/plugin-base.cjs +3 -1
  101. package/dist/lib/cjs/obsidian/plugin/plugin-context.cjs +3 -1
  102. package/dist/lib/cjs/obsidian/plugin/plugin-id.cjs +3 -1
  103. package/dist/lib/cjs/obsidian/plugin/plugin-settings-manager-base.cjs +3 -1
  104. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab-base.cjs +3 -1
  105. package/dist/lib/cjs/obsidian/plugin/plugin-settings-wrapper.cjs +3 -1
  106. package/dist/lib/cjs/obsidian/plugin/plugin-types-base.cjs +3 -1
  107. package/dist/lib/cjs/obsidian/plugin/plugin.cjs +3 -1
  108. package/dist/lib/cjs/obsidian/queue.cjs +3 -1
  109. package/dist/lib/cjs/obsidian/react/app-context.cjs +3 -1
  110. package/dist/lib/cjs/obsidian/react/index.cjs +3 -1
  111. package/dist/lib/cjs/obsidian/reference.cjs +3 -1
  112. package/dist/lib/cjs/obsidian/rename-delete-handler.cjs +3 -1
  113. package/dist/lib/cjs/obsidian/resource-url.cjs +3 -1
  114. package/dist/lib/cjs/obsidian/setting-ex.cjs +3 -1
  115. package/dist/lib/cjs/obsidian/setting-group-ex.cjs +3 -1
  116. package/dist/lib/cjs/obsidian/validation.cjs +3 -1
  117. package/dist/lib/cjs/obsidian/vault-delete.cjs +3 -1
  118. package/dist/lib/cjs/obsidian/vault.cjs +3 -1
  119. package/dist/lib/cjs/obsidian/workspace.cjs +3 -1
  120. package/dist/lib/cjs/path.cjs +3 -1
  121. package/dist/lib/cjs/reg-exp.cjs +3 -1
  122. package/dist/lib/cjs/script-utils/build.cjs +3 -1
  123. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.cjs +3 -1
  124. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +3 -1
  125. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +3 -1
  126. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +3 -1
  127. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.cjs +3 -1
  128. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +3 -1
  129. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/index.cjs +3 -1
  130. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +3 -1
  131. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.cjs +3 -1
  132. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.cjs +3 -1
  133. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +3 -1
  134. package/dist/lib/cjs/script-utils/bundlers/esbuild.cjs +3 -1
  135. package/dist/lib/cjs/script-utils/bundlers/index.cjs +3 -1
  136. package/dist/lib/cjs/script-utils/cli-utils.cjs +3 -1
  137. package/dist/lib/cjs/script-utils/code-generator.cjs +3 -1
  138. package/dist/lib/cjs/script-utils/commitlint-config.cjs +3 -1
  139. package/dist/lib/cjs/script-utils/exec.cjs +3 -1
  140. package/dist/lib/cjs/script-utils/formatters/dprint.cjs +3 -1
  141. package/dist/lib/cjs/script-utils/formatters/index.cjs +3 -1
  142. package/dist/lib/cjs/script-utils/fs.cjs +3 -1
  143. package/dist/lib/cjs/script-utils/index.cjs +3 -1
  144. package/dist/lib/cjs/script-utils/json.cjs +3 -1
  145. package/dist/lib/cjs/script-utils/linters/cspell.cjs +3 -1
  146. package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +4 -10
  147. package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +3 -1
  148. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +3 -1
  149. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.cjs +3 -1
  150. package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +3 -1
  151. package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.cjs +3 -1
  152. package/dist/lib/cjs/script-utils/linters/eslint.cjs +3 -1
  153. package/dist/lib/cjs/script-utils/linters/index.cjs +3 -1
  154. package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.cjs +3 -1
  155. package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +3 -1
  156. package/dist/lib/cjs/script-utils/nano-staged-config.cjs +3 -1
  157. package/dist/lib/cjs/script-utils/npm-publish.cjs +3 -1
  158. package/dist/lib/cjs/script-utils/npm-run.cjs +3 -1
  159. package/dist/lib/cjs/script-utils/npm.cjs +3 -1
  160. package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +3 -1
  161. package/dist/lib/cjs/script-utils/root.cjs +3 -1
  162. package/dist/lib/cjs/script-utils/test-runners/index.cjs +3 -1
  163. package/dist/lib/cjs/script-utils/test-runners/vitest.cjs +3 -1
  164. package/dist/lib/cjs/script-utils/version.cjs +3 -1
  165. package/dist/lib/cjs/strict-proxy.cjs +3 -1
  166. package/dist/lib/cjs/string.cjs +3 -1
  167. package/dist/lib/cjs/transformers/date-transformer.cjs +3 -1
  168. package/dist/lib/cjs/transformers/duration-transformer.cjs +3 -1
  169. package/dist/lib/cjs/transformers/group-transformer.cjs +3 -1
  170. package/dist/lib/cjs/transformers/index.cjs +3 -1
  171. package/dist/lib/cjs/transformers/map-transformer.cjs +3 -1
  172. package/dist/lib/cjs/transformers/set-transformer.cjs +3 -1
  173. package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +3 -1
  174. package/dist/lib/cjs/transformers/transformer.cjs +3 -1
  175. package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +3 -1
  176. package/dist/lib/cjs/transformers/typed-transformer.cjs +3 -1
  177. package/dist/lib/cjs/two-way-map.cjs +3 -1
  178. package/dist/lib/cjs/type-guards.cjs +3 -1
  179. package/dist/lib/cjs/type.cjs +3 -1
  180. package/dist/lib/cjs/url.cjs +3 -1
  181. package/dist/lib/cjs/value-provider.cjs +3 -1
  182. package/dist/lib/esm/debug.mjs +1 -1
  183. package/dist/lib/esm/html-element.mjs +1 -1
  184. package/dist/lib/esm/library.mjs +1 -1
  185. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.mjs +1 -1
  186. package/dist/lib/esm/script-utils/linters/eslint-config.mjs +2 -10
  187. package/package.json +1 -1
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -359,4 +361,4 @@ function isSuitableCodeBlock(match, language, sourceLf, isInCallout) {
359
361
  removeCodeBlock,
360
362
  replaceCodeBlock
361
363
  });
362
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHByb2Nlc3NpbmcgY29kZSBibG9ja3MgaW4gT2JzaWRpYW4uXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIERlZXBseSBjb3VwbGVkIHRvIE9ic2lkaWFuIHJ1bnRpbWU7IHJlcXVpcmVzIHJ1bm5pbmcgdmF1bHQgZm9yIG1lYW5pbmdmdWwgdGVzdGluZy4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQsXG4gIE1hcmtkb3duU2VjdGlvbkluZm9ybWF0aW9uXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnLi4vdmFsdWUtcHJvdmlkZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBDb2RlQmxvY2tNYXJrZG93bkluZm9ybWF0aW9uIH0gZnJvbSAnLi9jb2RlLWJsb2NrLW1hcmtkb3duLWluZm9ybWF0aW9uLnRzJztcbmltcG9ydCB0eXBlIHsgQ29udGVudEFyZ3MgfSBmcm9tICcuL3ZhdWx0LnRzJztcblxuaW1wb3J0IHsgYWJvcnRTaWduYWxBbnkgfSBmcm9tICcuLi9hYm9ydC1jb250cm9sbGVyLnRzJztcbmltcG9ydCB7IHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jIH0gZnJvbSAnLi4vYXN5bmMudHMnO1xuaW1wb3J0IHtcbiAgZW5zdXJlTGZFbmRpbmdzLFxuICBnZXRMZk5vcm1hbGl6ZWRPZmZzZXRUb09yaWdpbmFsT2Zmc2V0TWFwcGVyLFxuICBoYXNTaW5nbGVPY2N1cnJlbmNlLFxuICBpbmRlbnQsXG4gIHVuaW5kZW50XG59IGZyb20gJy4uL3N0cmluZy50cyc7XG5pbXBvcnQgeyBhc3NlcnROb25OdWxsYWJsZSB9IGZyb20gJy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IHJlc29sdmVWYWx1ZSB9IGZyb20gJy4uL3ZhbHVlLXByb3ZpZGVyLnRzJztcbmltcG9ydCB7IGdldEZpbGVPck51bGwgfSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcbmltcG9ydCB7XG4gIGludm9rZVdpdGhGaWxlU3lzdGVtTG9jayxcbiAgcHJvY2VzcyxcbiAgc2F2ZU5vdGVcbn0gZnJvbSAnLi92YXVsdC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGdldENvZGVCbG9ja01hcmtkb3duSW5mb30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29kZUJsb2NrTWFya2Rvd25JbmZvUGFyYW1zIHtcbiAgLyoqXG4gICAqIEFuIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBBIHtAbGluayBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0fSBvYmplY3QuXG4gICAqL1xuICByZWFkb25seSBjdHg6IE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQ7XG5cbiAgLyoqXG4gICAqIEEge0BsaW5rIEhUTUxFbGVtZW50fSByZXByZXNlbnRpbmcgdGhlIGNvZGUgYmxvY2suXG4gICAqL1xuICByZWFkb25seSBlbDogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIEEgc291cmNlIG9mIHRoZSBjb2RlIGJsb2NrLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGluc2VydEFmdGVyQ29kZUJsb2NrfSAvIHtAbGluayBpbnNlcnRCZWZvcmVDb2RlQmxvY2t9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEluc2VydENvZGVCbG9ja1BhcmFtcyBleHRlbmRzIEdldENvZGVCbG9ja01hcmtkb3duSW5mb1BhcmFtcyB7XG4gIC8qKlxuICAgKiBBIG51bWJlciBvZiBsaW5lcyB0byBvZmZzZXQgdGhlIGluc2VydGlvbiBieS4gRGVmYXVsdCBpcyBgMGAuXG4gICAqL1xuICByZWFkb25seSBsaW5lT2Zmc2V0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHByZXNlcnZlIHRoZSBsaW5lIHByZWZpeCBvZiB0aGUgY29kZSBibG9jay4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkUHJlc2VydmVMaW5lUHJlZml4PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSB0ZXh0IHRvIGluc2VydCBhZnRlciB0aGUgY29kZSBibG9jay5cbiAgICovXG4gIHJlYWRvbmx5IHRleHQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgcmVtb3ZlQ29kZUJsb2NrfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVDb2RlQmxvY2tQYXJhbXMgZXh0ZW5kcyBHZXRDb2RlQmxvY2tNYXJrZG93bkluZm9QYXJhbXMge1xuICAvKipcbiAgICogV2hldGhlciB0byBrZWVwIHRoZSBnYXAgYWZ0ZXIgcmVtb3ZpbmcgdGhlIGNvZGUgYmxvY2suIERlZmF1bHQgaXMgYGZhbHNlYC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEtlZXBHYXA/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayByZXBsYWNlQ29kZUJsb2NrfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXBsYWNlQ29kZUJsb2NrUGFyYW1zIGV4dGVuZHMgR2V0Q29kZUJsb2NrTWFya2Rvd25JbmZvUGFyYW1zIHtcbiAgLyoqXG4gICAqIEFuIGFib3J0IHNpZ25hbCB0byBjb250cm9sIHRoZSBleGVjdXRpb24gb2YgdGhlIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbDtcblxuICAvKipcbiAgICogUHJvdmlkZXMgYSBuZXcgY29kZSBibG9jay5cbiAgICovXG4gIHJlYWRvbmx5IGNvZGVCbG9ja1Byb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyPHN0cmluZywgQ29udGVudEFyZ3M+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGtlZXAgdGhlIGdhcCB3aGVuIHRoZSBuZXcgY29kZSBibG9jayBpcyBlbXB0eS4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkS2VlcEdhcFdoZW5FbXB0eT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcHJlc2VydmUgdGhlIGxpbmUgcHJlZml4IG9mIHRoZSBjb2RlIGJsb2NrLiBEZWZhdWx0IGlzIGBmYWxzZWAuXG4gICAqL1xuICByZWFkb25seSBzaG91bGRQcmVzZXJ2ZUxpbmVQcmVmaXg/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ3JlYXRlTWFya2Rvd25JbmZvRnJvbU1hdGNoUGFyYW1zIHtcbiAgcmVhZG9ubHkgYXBwcm94aW1hdGVTZWN0aW9uSW5mbzogTWFya2Rvd25TZWN0aW9uSW5mb3JtYXRpb247XG4gIHJlYWRvbmx5IGxpbmVzQmVmb3JlU2VjdGlvbkNvdW50OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1hdGNoOiBSZWdFeHBNYXRjaEFycmF5O1xuICByZWFkb25seSBub3RlQ29udGVudDogc3RyaW5nO1xuICByZWFkb25seSBwb3RlbnRpYWxDb2RlQmxvY2tUZXh0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNvdXJjZUxpbmVzQ291bnQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgdGV4dExpbmVPZmZzZXRzOiBSZWFkb25seU1hcDxudW1iZXIsIG51bWJlcj47XG59XG5cbi8qKlxuICogR2V0cyB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSBjb2RlIGJsb2NrIGluIGEgTWFya2Rvd24gc2VjdGlvbi5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIFRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29kZSBibG9jayBpbiB0aGUgTWFya2Rvd24gc2VjdGlvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldENvZGVCbG9ja01hcmtkb3duSW5mbyhwYXJhbXM6IEdldENvZGVCbG9ja01hcmtkb3duSW5mb1BhcmFtcyk6IFByb21pc2U8Q29kZUJsb2NrTWFya2Rvd25JbmZvcm1hdGlvbiB8IG51bGw+IHtcbiAgY29uc3QgeyBhcHAsIGN0eCwgZWwsIHNvdXJjZSB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IHNvdXJjZUZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgY3R4LnNvdXJjZVBhdGgpO1xuICBhc3NlcnROb25OdWxsYWJsZShzb3VyY2VGaWxlLCBgU291cmNlIGZpbGUgJHtjdHguc291cmNlUGF0aH0gbm90IGZvdW5kLmApO1xuXG4gIGF3YWl0IHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jKCk7XG4gIGF3YWl0IHNhdmVOb3RlKGFwcCwgc291cmNlRmlsZSk7XG5cbiAgbGV0IG1hcmtkb3duSW5mbzogQ29kZUJsb2NrTWFya2Rvd25JbmZvcm1hdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGF3YWl0IGludm9rZVdpdGhGaWxlU3lzdGVtTG9jayhhcHAsIHNvdXJjZUZpbGUsIChub3RlQ29udGVudCkgPT4ge1xuICAgIGNvbnN0IG5vdGVDb250ZW50TGYgPSBlbnN1cmVMZkVuZGluZ3Mobm90ZUNvbnRlbnQpO1xuXG4gICAgY29uc3QgYXBwcm94aW1hdGVTZWN0aW9uSW5mbzogTWFya2Rvd25TZWN0aW9uSW5mb3JtYXRpb24gPSB7XG4gICAgICBsaW5lRW5kOiBub3RlQ29udGVudExmLnNwbGl0KCdcXG4nKS5sZW5ndGggLSAxLFxuICAgICAgbGluZVN0YXJ0OiAwLFxuICAgICAgdGV4dDogbm90ZUNvbnRlbnRMZlxuICAgIH07XG5cbiAgICBhcHByb3hpbWF0ZVNlY3Rpb25JbmZvLnRleHQgPSBlbnN1cmVMZkVuZGluZ3MoYXBwcm94aW1hdGVTZWN0aW9uSW5mby50ZXh0KTtcbiAgICBjb25zdCBzb3VyY2VMZiA9IGVuc3VyZUxmRW5kaW5ncyhzb3VyY2UpO1xuXG4gICAgaWYgKCFoYXNTaW5nbGVPY2N1cnJlbmNlKG5vdGVDb250ZW50TGYsIGFwcHJveGltYXRlU2VjdGlvbkluZm8udGV4dCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWN0aW9uT2Zmc2V0ID0gbm90ZUNvbnRlbnRMZi5pbmRleE9mKGFwcHJveGltYXRlU2VjdGlvbkluZm8udGV4dCk7XG4gICAgY29uc3QgbGluZXNCZWZvcmVTZWN0aW9uQ291bnQgPSBub3RlQ29udGVudExmLnNsaWNlKDAsIHNlY3Rpb25PZmZzZXQpLnNwbGl0KCdcXG4nKS5sZW5ndGggLSAxO1xuXG4gICAgY29uc3QgaXNJbkNhbGxvdXQgPSAhIWVsLnBhcmVudEVsZW1lbnQ/LmNsYXNzTGlzdC5jb250YWlucygnY2FsbG91dC1jb250ZW50Jyk7XG5cbiAgICBjb25zdCBsYW5ndWFnZSA9IGdldExhbmd1YWdlRnJvbUVsZW1lbnQoZWwpO1xuICAgIGNvbnN0IHNvdXJjZUxpbmVzID0gc291cmNlTGYuc3BsaXQoJ1xcbicpO1xuXG4gICAgY29uc3QgdGV4dExpbmVzID0gYXBwcm94aW1hdGVTZWN0aW9uSW5mby50ZXh0LnNwbGl0KCdcXG4nKTtcbiAgICBjb25zdCB0ZXh0TGluZU9mZnNldHMgPSBuZXcgTWFwPG51bWJlciwgbnVtYmVyPigpO1xuICAgIHRleHRMaW5lT2Zmc2V0cy5zZXQobGluZXNCZWZvcmVTZWN0aW9uQ291bnQsIHNlY3Rpb25PZmZzZXQpO1xuXG4gICAgbGV0IGxhc3RUZXh0TGluZU9mZnNldCA9IHNlY3Rpb25PZmZzZXQ7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXh0TGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHRleHRMaW5lID0gdGV4dExpbmVzW2ldID8/ICcnO1xuICAgICAgY29uc3QgbGluZU9mZnNldCA9IGxhc3RUZXh0TGluZU9mZnNldCArIHRleHRMaW5lLmxlbmd0aCArIDE7XG4gICAgICB0ZXh0TGluZU9mZnNldHMuc2V0KGxpbmVzQmVmb3JlU2VjdGlvbkNvdW50ICsgaSArIDEsIGxpbmVPZmZzZXQpO1xuICAgICAgbGFzdFRleHRMaW5lT2Zmc2V0ID0gbGluZU9mZnNldDtcbiAgICB9XG5cbiAgICBjb25zdCBwb3RlbnRpYWxDb2RlQmxvY2tUZXh0TGluZXMgPSB0ZXh0TGluZXMubWFwKChsaW5lLCBpbmRleCkgPT5cbiAgICAgIGFwcHJveGltYXRlU2VjdGlvbkluZm8ubGluZVN0YXJ0IDw9IGluZGV4ICYmIGluZGV4IDw9IGFwcHJveGltYXRlU2VjdGlvbkluZm8ubGluZUVuZCA/IGxpbmUgOiAnJ1xuICAgICk7XG4gICAgY29uc3QgcG90ZW50aWFsQ29kZUJsb2NrVGV4dCA9IHBvdGVudGlhbENvZGVCbG9ja1RleHRMaW5lcy5qb2luKCdcXG4nKTtcblxuICAgIGNvbnN0IFJFR19FWFAgPVxuICAgICAgLyg/PD1efFxcbikoPzxMaW5lUHJlZml4PiB7MCwzfSg/Oj4gezEsM30pKikoPzxDb2RlQmxvY2tTdGFydERlbGltaXRlcj4oPzxDb2RlQmxvY2tTdGFydERlbGltaXRlckNoYXI+W2B+XSkoPzpcXGs8Q29kZUJsb2NrU3RhcnREZWxpbWl0ZXJDaGFyPnsyLH0pKSg/PENvZGVCbG9ja0xhbmd1YWdlPlxcUyopKD86WyBcXHRdKD88Q29kZUJsb2NrQXJncz4uKj8pKT8oPzpcXG4oPzxDb2RlQmxvY2tDb250ZW50Pig/Olxcbj9cXGs8TGluZVByZWZpeD4uKikrPykpP1xcblxcazxMaW5lUHJlZml4Pig/PENvZGVCbG9ja0VuZERlbGltaXRlcj5cXGs8Q29kZUJsb2NrU3RhcnREZWxpbWl0ZXI+XFxrPENvZGVCbG9ja1N0YXJ0RGVsaW1pdGVyQ2hhcj4qKVsgXFx0XSooPz1cXG58JCkvZztcblxuICAgIGZvciAoY29uc3QgbWF0Y2ggb2YgcG90ZW50aWFsQ29kZUJsb2NrVGV4dC5tYXRjaEFsbChSRUdfRVhQKSkge1xuICAgICAgaWYgKCFpc1N1aXRhYmxlQ29kZUJsb2NrKG1hdGNoLCBsYW5ndWFnZSwgc291cmNlTGYsIGlzSW5DYWxsb3V0KSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1hcmtkb3duSW5mbykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG1hcmtkb3duSW5mbyA9IGNyZWF0ZU1hcmtkb3duSW5mb0Zyb21NYXRjaCh7XG4gICAgICAgIGFwcHJveGltYXRlU2VjdGlvbkluZm8sXG4gICAgICAgIGxpbmVzQmVmb3JlU2VjdGlvbkNvdW50LFxuICAgICAgICBtYXRjaCxcbiAgICAgICAgbm90ZUNvbnRlbnQsXG4gICAgICAgIHBvdGVudGlhbENvZGVCbG9ja1RleHQsXG4gICAgICAgIHNvdXJjZUxpbmVzQ291bnQ6IHNvdXJjZUxpbmVzLmxlbmd0aCxcbiAgICAgICAgdGV4dExpbmVPZmZzZXRzXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoIW1hcmtkb3duSW5mbykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChub3RlQ29udGVudExmID09PSBub3RlQ29udGVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxmT2Zmc2V0TWFwcGVyID0gZ2V0TGZOb3JtYWxpemVkT2Zmc2V0VG9PcmlnaW5hbE9mZnNldE1hcHBlcihub3RlQ29udGVudCk7XG4gICAgbWFya2Rvd25JbmZvLnBvc2l0aW9uSW5Ob3RlLnN0YXJ0Lm9mZnNldCA9IGxmT2Zmc2V0TWFwcGVyKG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5zdGFydC5vZmZzZXQpO1xuICAgIG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5lbmQub2Zmc2V0ID0gbGZPZmZzZXRNYXBwZXIobWFya2Rvd25JbmZvLnBvc2l0aW9uSW5Ob3RlLmVuZC5vZmZzZXQpO1xuICB9KTtcblxuICByZXR1cm4gbWFya2Rvd25JbmZvO1xufVxuXG4vKipcbiAqIEluc2VydHMgdGV4dCBhZnRlciB0aGUgY29kZSBibG9jay5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluc2VydEFmdGVyQ29kZUJsb2NrKHBhcmFtczogSW5zZXJ0Q29kZUJsb2NrUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgYXBwLCBjdHgsIGxpbmVPZmZzZXQgPSAwLCB0ZXh0IH0gPSBwYXJhbXM7XG5cbiAgYXdhaXQgcHJvY2VzcyhhcHAsIGN0eC5zb3VyY2VQYXRoLCBhc3luYyAoeyBjb250ZW50IH0pID0+IHtcbiAgICBjb25zdCBtYXJrZG93bkluZm8gPSBhd2FpdCBnZXRDb2RlQmxvY2tNYXJrZG93bkluZm8ocGFyYW1zKTtcbiAgICBhc3NlcnROb25OdWxsYWJsZShtYXJrZG93bkluZm8sICdDb3VsZCBub3QgdW5pcXVlbHkgaWRlbnRpZnkgdGhlIGNvZGUgYmxvY2suJyk7XG5cbiAgICBpZiAoY29udGVudCAhPT0gbWFya2Rvd25JbmZvLm5vdGVDb250ZW50KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBpbnNlcnRMaW5lSW5kZXggPSBtYXJrZG93bkluZm8ucG9zaXRpb25Jbk5vdGUuZW5kLmxpbmUgKyBsaW5lT2Zmc2V0ICsgMTtcbiAgICByZXR1cm4gaW5zZXJ0VGV4dChjb250ZW50LCBpbnNlcnRMaW5lSW5kZXgsIHRleHQsIHBhcmFtcy5zaG91bGRQcmVzZXJ2ZUxpbmVQcmVmaXgpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBJbnNlcnRzIHRleHQgYmVmb3JlIHRoZSBjb2RlIGJsb2NrLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW5zZXJ0QmVmb3JlQ29kZUJsb2NrKHBhcmFtczogSW5zZXJ0Q29kZUJsb2NrUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgYXBwLCBjdHgsIGxpbmVPZmZzZXQgPSAwLCB0ZXh0IH0gPSBwYXJhbXM7XG5cbiAgYXdhaXQgcHJvY2VzcyhhcHAsIGN0eC5zb3VyY2VQYXRoLCBhc3luYyAoeyBjb250ZW50IH0pID0+IHtcbiAgICBjb25zdCBtYXJrZG93bkluZm8gPSBhd2FpdCBnZXRDb2RlQmxvY2tNYXJrZG93bkluZm8ocGFyYW1zKTtcbiAgICBpZiAoIW1hcmtkb3duSW5mbykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgdW5pcXVlbHkgaWRlbnRpZnkgdGhlIGNvZGUgYmxvY2suJyk7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRlbnQgIT09IG1hcmtkb3duSW5mby5ub3RlQ29udGVudCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgaW5zZXJ0TGluZUluZGV4ID0gbWFya2Rvd25JbmZvLnBvc2l0aW9uSW5Ob3RlLnN0YXJ0LmxpbmUgLSBsaW5lT2Zmc2V0O1xuICAgIHJldHVybiBpbnNlcnRUZXh0KGNvbnRlbnQsIGluc2VydExpbmVJbmRleCwgdGV4dCwgcGFyYW1zLnNob3VsZFByZXNlcnZlTGluZVByZWZpeCk7XG4gIH0pO1xufVxuXG4vKipcbiAqIFJlbW92ZXMgdGhlIGNvZGUgYmxvY2suXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW1vdmVDb2RlQmxvY2socGFyYW1zOiBSZW1vdmVDb2RlQmxvY2tQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgcmVwbGFjZUNvZGVCbG9jayh7XG4gICAgLi4ucGFyYW1zLFxuICAgIGNvZGVCbG9ja1Byb3ZpZGVyOiAnJyxcbiAgICBzaG91bGRLZWVwR2FwV2hlbkVtcHR5OiBwYXJhbXMuc2hvdWxkS2VlcEdhcCA/PyBmYWxzZVxuICB9KTtcbn1cblxuLyoqXG4gKiBSZXBsYWNlcyB0aGUgY29kZSBibG9jay5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlcGxhY2VDb2RlQmxvY2socGFyYW1zOiBSZXBsYWNlQ29kZUJsb2NrUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgYXBwLCBjb2RlQmxvY2tQcm92aWRlciwgY3R4IH0gPSBwYXJhbXM7XG4gIHBhcmFtcy5hYm9ydFNpZ25hbD8udGhyb3dJZkFib3J0ZWQoKTtcblxuICBhd2FpdCBwcm9jZXNzKGFwcCwgY3R4LnNvdXJjZVBhdGgsIGFzeW5jICh7IGFib3J0U2lnbmFsLCBjb250ZW50IH0pID0+IHtcbiAgICBhYm9ydFNpZ25hbCA9IGFib3J0U2lnbmFsQW55KGFib3J0U2lnbmFsLCBwYXJhbXMuYWJvcnRTaWduYWwpO1xuICAgIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gICAgY29uc3QgbWFya2Rvd25JbmZvID0gYXdhaXQgZ2V0Q29kZUJsb2NrTWFya2Rvd25JbmZvKHBhcmFtcyk7XG4gICAgaWYgKCFtYXJrZG93bkluZm8pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBjb2RlIGJsb2NrLicpO1xuICAgIH1cblxuICAgIGlmIChjb250ZW50ICE9PSBtYXJrZG93bkluZm8ubm90ZUNvbnRlbnQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBvbGRDb2RlQmxvY2sgPSBjb250ZW50LnNsaWNlKG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5zdGFydC5vZmZzZXQsIG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5lbmQub2Zmc2V0KTtcbiAgICBpZiAocGFyYW1zLnNob3VsZFByZXNlcnZlTGluZVByZWZpeCkge1xuICAgICAgb2xkQ29kZUJsb2NrID0gdW5pbmRlbnQob2xkQ29kZUJsb2NrLCBtYXJrZG93bkluZm8ubGluZVByZWZpeCk7XG4gICAgfVxuXG4gICAgbGV0IG5ld0NvZGVCbG9jayA9IGF3YWl0IHJlc29sdmVWYWx1ZShjb2RlQmxvY2tQcm92aWRlciwgeyBhYm9ydFNpZ25hbCwgY29udGVudDogb2xkQ29kZUJsb2NrIH0pO1xuICAgIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gICAgaWYgKChuZXdDb2RlQmxvY2sgfHwgcGFyYW1zLnNob3VsZEtlZXBHYXBXaGVuRW1wdHkpICYmIHBhcmFtcy5zaG91bGRQcmVzZXJ2ZUxpbmVQcmVmaXgpIHtcbiAgICAgIG5ld0NvZGVCbG9jayA9IGluZGVudChuZXdDb2RlQmxvY2ssIG1hcmtkb3duSW5mby5saW5lUHJlZml4KTtcbiAgICB9XG5cbiAgICBjb25zdCB0ZXh0QmVmb3JlQ29kZUJsb2NrID0gY29udGVudC5zbGljZSgwLCBtYXJrZG93bkluZm8ucG9zaXRpb25Jbk5vdGUuc3RhcnQub2Zmc2V0KTtcbiAgICBjb25zdCB0ZXh0QWZ0ZXJDb2RlQmxvY2sgPSBjb250ZW50LnNsaWNlKG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5lbmQub2Zmc2V0KTtcblxuICAgIGlmIChuZXdDb2RlQmxvY2sgfHwgcGFyYW1zLnNob3VsZEtlZXBHYXBXaGVuRW1wdHkpIHtcbiAgICAgIHJldHVybiBgJHt0ZXh0QmVmb3JlQ29kZUJsb2NrfSR7bmV3Q29kZUJsb2NrfSR7dGV4dEFmdGVyQ29kZUJsb2NrfWA7XG4gICAgfVxuXG4gICAgaWYgKCF0ZXh0QmVmb3JlQ29kZUJsb2NrICYmICF0ZXh0QWZ0ZXJDb2RlQmxvY2spIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBpZiAodGV4dEJlZm9yZUNvZGVCbG9jaykge1xuICAgICAgcmV0dXJuIGAke3RleHRCZWZvcmVDb2RlQmxvY2suc2xpY2UoMCwgLTEpfSR7dGV4dEFmdGVyQ29kZUJsb2NrfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3RleHRCZWZvcmVDb2RlQmxvY2t9JHt0ZXh0QWZ0ZXJDb2RlQmxvY2suc2xpY2UoMSl9YDtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZU1hcmtkb3duSW5mb0Zyb21NYXRjaChwYXJhbXM6IENyZWF0ZU1hcmtkb3duSW5mb0Zyb21NYXRjaFBhcmFtcyk6IENvZGVCbG9ja01hcmtkb3duSW5mb3JtYXRpb24ge1xuICBjb25zdCB7XG4gICAgYXBwcm94aW1hdGVTZWN0aW9uSW5mbyxcbiAgICBsaW5lc0JlZm9yZVNlY3Rpb25Db3VudCxcbiAgICBtYXRjaCxcbiAgICBub3RlQ29udGVudCxcbiAgICBwb3RlbnRpYWxDb2RlQmxvY2tUZXh0LFxuICAgIHNvdXJjZUxpbmVzQ291bnQsXG4gICAgdGV4dExpbmVPZmZzZXRzXG4gIH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgbGluZVByZWZpeCA9IG1hdGNoLmdyb3Vwcz8uWydMaW5lUHJlZml4J10gPz8gJyc7XG4gIGNvbnN0IGNvZGVCbG9ja1N0YXJ0RGVsaW1pdGVyID0gbWF0Y2guZ3JvdXBzPy5bJ0NvZGVCbG9ja1N0YXJ0RGVsaW1pdGVyJ10gPz8gJyc7XG4gIGNvbnN0IGNvZGVCbG9ja0VuZERlbGltaXRlciA9IG1hdGNoLmdyb3Vwcz8uWydDb2RlQmxvY2tFbmREZWxpbWl0ZXInXSA/PyAnJztcbiAgY29uc3QgY29kZUJsb2NrQXJnc1N0ciA9IG1hdGNoLmdyb3Vwcz8uWydDb2RlQmxvY2tBcmdzJ10gPz8gJyc7XG4gIGNvbnN0IGxhbmd1YWdlID0gbWF0Y2guZ3JvdXBzPy5bJ0NvZGVCbG9ja0xhbmd1YWdlJ10gPz8gJyc7XG5cbiAgY29uc3QgcHJldmlvdXNUZXh0ID0gcG90ZW50aWFsQ29kZUJsb2NrVGV4dC5zbGljZSgwLCBtYXRjaC5pbmRleCk7XG4gIGNvbnN0IHByZXZpb3VzVGV4dExpbmVzQ291bnQgPSBwcmV2aW91c1RleHQuc3BsaXQoJ1xcbicpLmxlbmd0aCAtIDE7XG5cbiAgY29uc3Qgc3RhcnRMaW5lID0gbGluZXNCZWZvcmVTZWN0aW9uQ291bnQgKyBwcmV2aW91c1RleHRMaW5lc0NvdW50O1xuICBjb25zdCBlbmRMaW5lID0gc3RhcnRMaW5lICsgc291cmNlTGluZXNDb3VudCArIDE7XG5cbiAgcmV0dXJuIHtcbiAgICBhcmdzOiBjb2RlQmxvY2tBcmdzU3RyLnNwbGl0KC9cXHMrLykuZmlsdGVyKEJvb2xlYW4pLFxuICAgIGVuZERlbGltaXRlcjogY29kZUJsb2NrRW5kRGVsaW1pdGVyLFxuICAgIGxhbmd1YWdlLFxuICAgIGxpbmVQcmVmaXgsXG4gICAgbm90ZUNvbnRlbnQsXG4gICAgcG9zaXRpb25Jbk5vdGU6IHtcbiAgICAgIGVuZDoge1xuICAgICAgICBjb2w6ICh0ZXh0TGluZU9mZnNldHMuZ2V0KGVuZExpbmUgKyAxKSA/PyAwKSAtICh0ZXh0TGluZU9mZnNldHMuZ2V0KGVuZExpbmUpID8/IDApIC0gMSxcbiAgICAgICAgbGluZTogZW5kTGluZSxcbiAgICAgICAgb2Zmc2V0OiAodGV4dExpbmVPZmZzZXRzLmdldChlbmRMaW5lICsgMSkgPz8gMCkgLSAxXG4gICAgICB9LFxuICAgICAgc3RhcnQ6IHtcbiAgICAgICAgY29sOiAwLFxuICAgICAgICBsaW5lOiBzdGFydExpbmUsXG4gICAgICAgIG9mZnNldDogdGV4dExpbmVPZmZzZXRzLmdldChzdGFydExpbmUpID8/IDBcbiAgICAgIH1cbiAgICB9LFxuICAgIHJhd0FyZ3NTdHI6IGNvZGVCbG9ja0FyZ3NTdHIsXG4gICAgc2VjdGlvbkluZm86IHtcbiAgICAgIGxpbmVFbmQ6IHByZXZpb3VzVGV4dExpbmVzQ291bnQgKyBzb3VyY2VMaW5lc0NvdW50ICsgMSxcbiAgICAgIGxpbmVTdGFydDogcHJldmlvdXNUZXh0TGluZXNDb3VudCxcbiAgICAgIHRleHQ6IGFwcHJveGltYXRlU2VjdGlvbkluZm8udGV4dFxuICAgIH0sXG4gICAgc3RhcnREZWxpbWl0ZXI6IGNvZGVCbG9ja1N0YXJ0RGVsaW1pdGVyXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldExhbmd1YWdlRnJvbUVsZW1lbnQoZWw6IEhUTUxFbGVtZW50KTogc3RyaW5nIHtcbiAgY29uc3QgQkxPQ0tfTEFOR1VBR0VfUFJFRklYID0gJ2Jsb2NrLWxhbmd1YWdlLSc7XG4gIHJldHVybiBBcnJheS5mcm9tKGVsLmNsYXNzTGlzdCkuZmluZCgoY2xzKSA9PiBjbHMuc3RhcnRzV2l0aChCTE9DS19MQU5HVUFHRV9QUkVGSVgpKT8uc2xpY2UoQkxPQ0tfTEFOR1VBR0VfUFJFRklYLmxlbmd0aCkgPz8gJyc7XG59XG5cbmZ1bmN0aW9uIGluc2VydFRleHQoY29udGVudDogc3RyaW5nLCBpbnNlcnRMaW5lSW5kZXg6IG51bWJlciwgdGV4dDogc3RyaW5nLCBzaG91bGRQcmVzZXJ2ZUxpbmVQcmVmaXg/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgY29uc3QgbGluZXMgPSBjb250ZW50LnNwbGl0KCdcXG4nKTtcbiAgY29uc3QgbmV3TGluZXMgPSBsaW5lcy5zbGljZSgpO1xuICBjb25zdCB0ZXh0TGluZXMgPSB0ZXh0LnNwbGl0KCdcXG4nKTtcblxuICBpZiAoaW5zZXJ0TGluZUluZGV4IDwgMCkge1xuICAgIGluc2VydExpbmVJbmRleCA9IDA7XG4gIH1cbiAgaWYgKGluc2VydExpbmVJbmRleCA+IGxpbmVzLmxlbmd0aCkge1xuICAgIGluc2VydExpbmVJbmRleCA9IGxpbmVzLmxlbmd0aDtcbiAgfVxuXG4gIGNvbnN0IFBSRUZJWF9MSU5FX1JFR19FWFAgPSAvXiB7MCwzfSg/Oj4gezEsM30pKi9nO1xuICBjb25zdCBtYXRjaCA9IChsaW5lc1tpbnNlcnRMaW5lSW5kZXhdID8/ICcnKS5tYXRjaChQUkVGSVhfTElORV9SRUdfRVhQKTtcbiAgY29uc3QgbGluZVByZWZpeCA9IG1hdGNoPy5bMF0gPz8gJyc7XG4gIG5ld0xpbmVzLnNwbGljZShpbnNlcnRMaW5lSW5kZXgsIDAsIC4uLihzaG91bGRQcmVzZXJ2ZUxpbmVQcmVmaXggPyB0ZXh0TGluZXMubWFwKChsaW5lKSA9PiBpbmRlbnQobGluZSwgbGluZVByZWZpeCkpIDogdGV4dExpbmVzKSk7XG4gIHJldHVybiBuZXdMaW5lcy5qb2luKCdcXG4nKTtcbn1cblxuZnVuY3Rpb24gaXNTdWl0YWJsZUNvZGVCbG9jayhcbiAgbWF0Y2g6IFJlZ0V4cE1hdGNoQXJyYXksXG4gIGxhbmd1YWdlOiBzdHJpbmcsXG4gIHNvdXJjZUxmOiBzdHJpbmcsXG4gIGlzSW5DYWxsb3V0OiBib29sZWFuXG4pOiBib29sZWFuIHtcbiAgY29uc3QgY29kZUJsb2NrTGFuZ3VhZ2UgPSBtYXRjaC5ncm91cHM/LlsnQ29kZUJsb2NrTGFuZ3VhZ2UnXSA/PyAnJztcbiAgaWYgKGNvZGVCbG9ja0xhbmd1YWdlICE9PSBsYW5ndWFnZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGxpbmVQcmVmaXggPSBtYXRjaC5ncm91cHM/LlsnTGluZVByZWZpeCddID8/ICcnO1xuXG4gIGlmIChpc0luQ2FsbG91dCAmJiAhbGluZVByZWZpeC5pbmNsdWRlcygnPiAnKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGNvZGVCbG9ja0NvbnRlbnQgPSBtYXRjaC5ncm91cHM/LlsnQ29kZUJsb2NrQ29udGVudCddID8/ICcnO1xuICBjb25zdCBjbGVhbkNvZGVCbG9ja0NvbnRlbnQgPSBjb2RlQmxvY2tDb250ZW50LnNwbGl0KCdcXG4nKS5tYXAoKGxpbmUpID0+IGxpbmUuc2xpY2UobGluZVByZWZpeC5sZW5ndGgpKS5qb2luKCdcXG4nKTtcblxuICByZXR1cm4gY2xlYW5Db2RlQmxvY2tDb250ZW50ID09PSBzb3VyY2VMZjtcbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FB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QUEsTUFDckQsV0FBVztBQUFBLE1BQ1gsTUFBTSx1QkFBdUI7QUFBQSxJQUMvQjtBQUFBLElBQ0EsZ0JBQWdCO0FBQUEsRUFDbEI7QUFDRjtBQUVBLFNBQVMsdUJBQXVCLElBQXlCO0FBQ3ZELFFBQU0sd0JBQXdCO0FBQzlCLFNBQU8sTUFBTSxLQUFLLEdBQUcsU0FBUyxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksV0FBVyxxQkFBcUIsQ0FBQyxHQUFHLE1BQU0sc0JBQXNCLE1BQU0sS0FBSztBQUMvSDtBQUVBLFNBQVMsV0FBVyxTQUFpQixpQkFBeUIsTUFBYywwQkFBNEM7QUFDdEgsUUFBTSxRQUFRLFFBQVEsTUFBTSxJQUFJO0FBQ2hDLFFBQU0sV0FBVyxNQUFNLE1BQU07QUFDN0IsUUFBTSxZQUFZLEtBQUssTUFBTSxJQUFJO0FBRWpDLE1BQUksa0JBQWtCLEdBQUc7QUFDdkIsc0JBQWtCO0FBQUEsRUFDcEI7QUFDQSxNQUFJLGtCQUFrQixNQUFNLFFBQVE7QUFDbEMsc0JBQWtCLE1BQU07QUFBQSxFQUMxQjtBQUVBLFFBQU0sc0JBQXNCO0FBQzVCLFFBQU0sU0FBUyxNQUFNLGVBQWUsS0FBSyxJQUFJLE1BQU0sbUJBQW1CO0FBQ3RFLFFBQU0sYUFBYSxRQUFRLENBQUMsS0FBSztBQUNqQyxXQUFTLE9BQU8saUJBQWlCLEdBQUcsR0FBSSwyQkFBMkIsVUFBVSxJQUFJLENBQUMsYUFBUyxzQkFBTyxNQUFNLFVBQVUsQ0FBQyxJQUFJLFNBQVU7QUFDakksU0FBTyxTQUFTLEtBQUssSUFBSTtBQUMzQjtBQUVBLFNBQVMsb0JBQ1AsT0FDQSxVQUNBLFVBQ0EsYUFDUztBQUNULFFBQU0sb0JBQW9CLE1BQU0sU0FBUyxtQkFBbUIsS0FBSztBQUNqRSxNQUFJLHNCQUFzQixVQUFVO0FBQ2xDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxhQUFhLE1BQU0sU0FBUyxZQUFZLEtBQUs7QUFFbkQsTUFBSSxlQUFlLENBQUMsV0FBVyxTQUFTLElBQUksR0FBRztBQUM3QyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sbUJBQW1CLE1BQU0sU0FBUyxrQkFBa0IsS0FBSztBQUMvRCxRQUFNLHdCQUF3QixpQkFBaUIsTUFBTSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLFdBQVcsTUFBTSxDQUFDLEVBQUUsS0FBSyxJQUFJO0FBRWpILFNBQU8sMEJBQTBCO0FBQ25DOyIsCiAgIm5hbWVzIjogW10KfQo=
364
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHByb2Nlc3NpbmcgY29kZSBibG9ja3MgaW4gT2JzaWRpYW4uXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIERlZXBseSBjb3VwbGVkIHRvIE9ic2lkaWFuIHJ1bnRpbWU7IHJlcXVpcmVzIHJ1bm5pbmcgdmF1bHQgZm9yIG1lYW5pbmdmdWwgdGVzdGluZy4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQsXG4gIE1hcmtkb3duU2VjdGlvbkluZm9ybWF0aW9uXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnLi4vdmFsdWUtcHJvdmlkZXIudHMnO1xuaW1wb3J0IHR5cGUgeyBDb2RlQmxvY2tNYXJrZG93bkluZm9ybWF0aW9uIH0gZnJvbSAnLi9jb2RlLWJsb2NrLW1hcmtkb3duLWluZm9ybWF0aW9uLnRzJztcbmltcG9ydCB0eXBlIHsgQ29udGVudEFyZ3MgfSBmcm9tICcuL3ZhdWx0LnRzJztcblxuaW1wb3J0IHsgYWJvcnRTaWduYWxBbnkgfSBmcm9tICcuLi9hYm9ydC1jb250cm9sbGVyLnRzJztcbmltcG9ydCB7IHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jIH0gZnJvbSAnLi4vYXN5bmMudHMnO1xuaW1wb3J0IHtcbiAgZW5zdXJlTGZFbmRpbmdzLFxuICBnZXRMZk5vcm1hbGl6ZWRPZmZzZXRUb09yaWdpbmFsT2Zmc2V0TWFwcGVyLFxuICBoYXNTaW5nbGVPY2N1cnJlbmNlLFxuICBpbmRlbnQsXG4gIHVuaW5kZW50XG59IGZyb20gJy4uL3N0cmluZy50cyc7XG5pbXBvcnQgeyBhc3NlcnROb25OdWxsYWJsZSB9IGZyb20gJy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IHJlc29sdmVWYWx1ZSB9IGZyb20gJy4uL3ZhbHVlLXByb3ZpZGVyLnRzJztcbmltcG9ydCB7IGdldEZpbGVPck51bGwgfSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcbmltcG9ydCB7XG4gIGludm9rZVdpdGhGaWxlU3lzdGVtTG9jayxcbiAgcHJvY2VzcyxcbiAgc2F2ZU5vdGVcbn0gZnJvbSAnLi92YXVsdC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGdldENvZGVCbG9ja01hcmtkb3duSW5mb30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29kZUJsb2NrTWFya2Rvd25JbmZvUGFyYW1zIHtcbiAgLyoqXG4gICAqIEFuIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBBIHtAbGluayBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0fSBvYmplY3QuXG4gICAqL1xuICByZWFkb25seSBjdHg6IE1hcmtkb3duUG9zdFByb2Nlc3NvckNvbnRleHQ7XG5cbiAgLyoqXG4gICAqIEEge0BsaW5rIEhUTUxFbGVtZW50fSByZXByZXNlbnRpbmcgdGhlIGNvZGUgYmxvY2suXG4gICAqL1xuICByZWFkb25seSBlbDogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIEEgc291cmNlIG9mIHRoZSBjb2RlIGJsb2NrLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGluc2VydEFmdGVyQ29kZUJsb2NrfSAvIHtAbGluayBpbnNlcnRCZWZvcmVDb2RlQmxvY2t9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEluc2VydENvZGVCbG9ja1BhcmFtcyBleHRlbmRzIEdldENvZGVCbG9ja01hcmtkb3duSW5mb1BhcmFtcyB7XG4gIC8qKlxuICAgKiBBIG51bWJlciBvZiBsaW5lcyB0byBvZmZzZXQgdGhlIGluc2VydGlvbiBieS4gRGVmYXVsdCBpcyBgMGAuXG4gICAqL1xuICByZWFkb25seSBsaW5lT2Zmc2V0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHByZXNlcnZlIHRoZSBsaW5lIHByZWZpeCBvZiB0aGUgY29kZSBibG9jay4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkUHJlc2VydmVMaW5lUHJlZml4PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSB0ZXh0IHRvIGluc2VydCBhZnRlciB0aGUgY29kZSBibG9jay5cbiAgICovXG4gIHJlYWRvbmx5IHRleHQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgcmVtb3ZlQ29kZUJsb2NrfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVDb2RlQmxvY2tQYXJhbXMgZXh0ZW5kcyBHZXRDb2RlQmxvY2tNYXJrZG93bkluZm9QYXJhbXMge1xuICAvKipcbiAgICogV2hldGhlciB0byBrZWVwIHRoZSBnYXAgYWZ0ZXIgcmVtb3ZpbmcgdGhlIGNvZGUgYmxvY2suIERlZmF1bHQgaXMgYGZhbHNlYC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEtlZXBHYXA/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayByZXBsYWNlQ29kZUJsb2NrfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXBsYWNlQ29kZUJsb2NrUGFyYW1zIGV4dGVuZHMgR2V0Q29kZUJsb2NrTWFya2Rvd25JbmZvUGFyYW1zIHtcbiAgLyoqXG4gICAqIEFuIGFib3J0IHNpZ25hbCB0byBjb250cm9sIHRoZSBleGVjdXRpb24gb2YgdGhlIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbDtcblxuICAvKipcbiAgICogUHJvdmlkZXMgYSBuZXcgY29kZSBibG9jay5cbiAgICovXG4gIHJlYWRvbmx5IGNvZGVCbG9ja1Byb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyPHN0cmluZywgQ29udGVudEFyZ3M+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGtlZXAgdGhlIGdhcCB3aGVuIHRoZSBuZXcgY29kZSBibG9jayBpcyBlbXB0eS4gRGVmYXVsdCBpcyBgZmFsc2VgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkS2VlcEdhcFdoZW5FbXB0eT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcHJlc2VydmUgdGhlIGxpbmUgcHJlZml4IG9mIHRoZSBjb2RlIGJsb2NrLiBEZWZhdWx0IGlzIGBmYWxzZWAuXG4gICAqL1xuICByZWFkb25seSBzaG91bGRQcmVzZXJ2ZUxpbmVQcmVmaXg/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ3JlYXRlTWFya2Rvd25JbmZvRnJvbU1hdGNoUGFyYW1zIHtcbiAgcmVhZG9ubHkgYXBwcm94aW1hdGVTZWN0aW9uSW5mbzogTWFya2Rvd25TZWN0aW9uSW5mb3JtYXRpb247XG4gIHJlYWRvbmx5IGxpbmVzQmVmb3JlU2VjdGlvbkNvdW50OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1hdGNoOiBSZWdFeHBNYXRjaEFycmF5O1xuICByZWFkb25seSBub3RlQ29udGVudDogc3RyaW5nO1xuICByZWFkb25seSBwb3RlbnRpYWxDb2RlQmxvY2tUZXh0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNvdXJjZUxpbmVzQ291bnQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgdGV4dExpbmVPZmZzZXRzOiBSZWFkb25seU1hcDxudW1iZXIsIG51bWJlcj47XG59XG5cbi8qKlxuICogR2V0cyB0aGUgaW5mb3JtYXRpb24gYWJvdXQgYSBjb2RlIGJsb2NrIGluIGEgTWFya2Rvd24gc2VjdGlvbi5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIFRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29kZSBibG9jayBpbiB0aGUgTWFya2Rvd24gc2VjdGlvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldENvZGVCbG9ja01hcmtkb3duSW5mbyhwYXJhbXM6IEdldENvZGVCbG9ja01hcmtkb3duSW5mb1BhcmFtcyk6IFByb21pc2U8Q29kZUJsb2NrTWFya2Rvd25JbmZvcm1hdGlvbiB8IG51bGw+IHtcbiAgY29uc3QgeyBhcHAsIGN0eCwgZWwsIHNvdXJjZSB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IHNvdXJjZUZpbGUgPSBnZXRGaWxlT3JOdWxsKGFwcCwgY3R4LnNvdXJjZVBhdGgpO1xuICBhc3NlcnROb25OdWxsYWJsZShzb3VyY2VGaWxlLCBgU291cmNlIGZpbGUgJHtjdHguc291cmNlUGF0aH0gbm90IGZvdW5kLmApO1xuXG4gIGF3YWl0IHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jKCk7XG4gIGF3YWl0IHNhdmVOb3RlKGFwcCwgc291cmNlRmlsZSk7XG5cbiAgbGV0IG1hcmtkb3duSW5mbzogQ29kZUJsb2NrTWFya2Rvd25JbmZvcm1hdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGF3YWl0IGludm9rZVdpdGhGaWxlU3lzdGVtTG9jayhhcHAsIHNvdXJjZUZpbGUsIChub3RlQ29udGVudCkgPT4ge1xuICAgIGNvbnN0IG5vdGVDb250ZW50TGYgPSBlbnN1cmVMZkVuZGluZ3Mobm90ZUNvbnRlbnQpO1xuXG4gICAgY29uc3QgYXBwcm94aW1hdGVTZWN0aW9uSW5mbzogTWFya2Rvd25TZWN0aW9uSW5mb3JtYXRpb24gPSB7XG4gICAgICBsaW5lRW5kOiBub3RlQ29udGVudExmLnNwbGl0KCdcXG4nKS5sZW5ndGggLSAxLFxuICAgICAgbGluZVN0YXJ0OiAwLFxuICAgICAgdGV4dDogbm90ZUNvbnRlbnRMZlxuICAgIH07XG5cbiAgICBhcHByb3hpbWF0ZVNlY3Rpb25JbmZvLnRleHQgPSBlbnN1cmVMZkVuZGluZ3MoYXBwcm94aW1hdGVTZWN0aW9uSW5mby50ZXh0KTtcbiAgICBjb25zdCBzb3VyY2VMZiA9IGVuc3VyZUxmRW5kaW5ncyhzb3VyY2UpO1xuXG4gICAgaWYgKCFoYXNTaW5nbGVPY2N1cnJlbmNlKG5vdGVDb250ZW50TGYsIGFwcHJveGltYXRlU2VjdGlvbkluZm8udGV4dCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWN0aW9uT2Zmc2V0ID0gbm90ZUNvbnRlbnRMZi5pbmRleE9mKGFwcHJveGltYXRlU2VjdGlvbkluZm8udGV4dCk7XG4gICAgY29uc3QgbGluZXNCZWZvcmVTZWN0aW9uQ291bnQgPSBub3RlQ29udGVudExmLnNsaWNlKDAsIHNlY3Rpb25PZmZzZXQpLnNwbGl0KCdcXG4nKS5sZW5ndGggLSAxO1xuXG4gICAgY29uc3QgaXNJbkNhbGxvdXQgPSAhIWVsLnBhcmVudEVsZW1lbnQ/LmNsYXNzTGlzdC5jb250YWlucygnY2FsbG91dC1jb250ZW50Jyk7XG5cbiAgICBjb25zdCBsYW5ndWFnZSA9IGdldExhbmd1YWdlRnJvbUVsZW1lbnQoZWwpO1xuICAgIGNvbnN0IHNvdXJjZUxpbmVzID0gc291cmNlTGYuc3BsaXQoJ1xcbicpO1xuXG4gICAgY29uc3QgdGV4dExpbmVzID0gYXBwcm94aW1hdGVTZWN0aW9uSW5mby50ZXh0LnNwbGl0KCdcXG4nKTtcbiAgICBjb25zdCB0ZXh0TGluZU9mZnNldHMgPSBuZXcgTWFwPG51bWJlciwgbnVtYmVyPigpO1xuICAgIHRleHRMaW5lT2Zmc2V0cy5zZXQobGluZXNCZWZvcmVTZWN0aW9uQ291bnQsIHNlY3Rpb25PZmZzZXQpO1xuXG4gICAgbGV0IGxhc3RUZXh0TGluZU9mZnNldCA9IHNlY3Rpb25PZmZzZXQ7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXh0TGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHRleHRMaW5lID0gdGV4dExpbmVzW2ldID8/ICcnO1xuICAgICAgY29uc3QgbGluZU9mZnNldCA9IGxhc3RUZXh0TGluZU9mZnNldCArIHRleHRMaW5lLmxlbmd0aCArIDE7XG4gICAgICB0ZXh0TGluZU9mZnNldHMuc2V0KGxpbmVzQmVmb3JlU2VjdGlvbkNvdW50ICsgaSArIDEsIGxpbmVPZmZzZXQpO1xuICAgICAgbGFzdFRleHRMaW5lT2Zmc2V0ID0gbGluZU9mZnNldDtcbiAgICB9XG5cbiAgICBjb25zdCBwb3RlbnRpYWxDb2RlQmxvY2tUZXh0TGluZXMgPSB0ZXh0TGluZXMubWFwKChsaW5lLCBpbmRleCkgPT5cbiAgICAgIGFwcHJveGltYXRlU2VjdGlvbkluZm8ubGluZVN0YXJ0IDw9IGluZGV4ICYmIGluZGV4IDw9IGFwcHJveGltYXRlU2VjdGlvbkluZm8ubGluZUVuZCA/IGxpbmUgOiAnJ1xuICAgICk7XG4gICAgY29uc3QgcG90ZW50aWFsQ29kZUJsb2NrVGV4dCA9IHBvdGVudGlhbENvZGVCbG9ja1RleHRMaW5lcy5qb2luKCdcXG4nKTtcblxuICAgIGNvbnN0IFJFR19FWFAgPVxuICAgICAgLyg/PD1efFxcbikoPzxMaW5lUHJlZml4PiB7MCwzfSg/Oj4gezEsM30pKikoPzxDb2RlQmxvY2tTdGFydERlbGltaXRlcj4oPzxDb2RlQmxvY2tTdGFydERlbGltaXRlckNoYXI+W2B+XSkoPzpcXGs8Q29kZUJsb2NrU3RhcnREZWxpbWl0ZXJDaGFyPnsyLH0pKSg/PENvZGVCbG9ja0xhbmd1YWdlPlxcUyopKD86WyBcXHRdKD88Q29kZUJsb2NrQXJncz4uKj8pKT8oPzpcXG4oPzxDb2RlQmxvY2tDb250ZW50Pig/Olxcbj9cXGs8TGluZVByZWZpeD4uKikrPykpP1xcblxcazxMaW5lUHJlZml4Pig/PENvZGVCbG9ja0VuZERlbGltaXRlcj5cXGs8Q29kZUJsb2NrU3RhcnREZWxpbWl0ZXI+XFxrPENvZGVCbG9ja1N0YXJ0RGVsaW1pdGVyQ2hhcj4qKVsgXFx0XSooPz1cXG58JCkvZztcblxuICAgIGZvciAoY29uc3QgbWF0Y2ggb2YgcG90ZW50aWFsQ29kZUJsb2NrVGV4dC5tYXRjaEFsbChSRUdfRVhQKSkge1xuICAgICAgaWYgKCFpc1N1aXRhYmxlQ29kZUJsb2NrKG1hdGNoLCBsYW5ndWFnZSwgc291cmNlTGYsIGlzSW5DYWxsb3V0KSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1hcmtkb3duSW5mbykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG1hcmtkb3duSW5mbyA9IGNyZWF0ZU1hcmtkb3duSW5mb0Zyb21NYXRjaCh7XG4gICAgICAgIGFwcHJveGltYXRlU2VjdGlvbkluZm8sXG4gICAgICAgIGxpbmVzQmVmb3JlU2VjdGlvbkNvdW50LFxuICAgICAgICBtYXRjaCxcbiAgICAgICAgbm90ZUNvbnRlbnQsXG4gICAgICAgIHBvdGVudGlhbENvZGVCbG9ja1RleHQsXG4gICAgICAgIHNvdXJjZUxpbmVzQ291bnQ6IHNvdXJjZUxpbmVzLmxlbmd0aCxcbiAgICAgICAgdGV4dExpbmVPZmZzZXRzXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoIW1hcmtkb3duSW5mbykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChub3RlQ29udGVudExmID09PSBub3RlQ29udGVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxmT2Zmc2V0TWFwcGVyID0gZ2V0TGZOb3JtYWxpemVkT2Zmc2V0VG9PcmlnaW5hbE9mZnNldE1hcHBlcihub3RlQ29udGVudCk7XG4gICAgbWFya2Rvd25JbmZvLnBvc2l0aW9uSW5Ob3RlLnN0YXJ0Lm9mZnNldCA9IGxmT2Zmc2V0TWFwcGVyKG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5zdGFydC5vZmZzZXQpO1xuICAgIG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5lbmQub2Zmc2V0ID0gbGZPZmZzZXRNYXBwZXIobWFya2Rvd25JbmZvLnBvc2l0aW9uSW5Ob3RlLmVuZC5vZmZzZXQpO1xuICB9KTtcblxuICByZXR1cm4gbWFya2Rvd25JbmZvO1xufVxuXG4vKipcbiAqIEluc2VydHMgdGV4dCBhZnRlciB0aGUgY29kZSBibG9jay5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluc2VydEFmdGVyQ29kZUJsb2NrKHBhcmFtczogSW5zZXJ0Q29kZUJsb2NrUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgYXBwLCBjdHgsIGxpbmVPZmZzZXQgPSAwLCB0ZXh0IH0gPSBwYXJhbXM7XG5cbiAgYXdhaXQgcHJvY2VzcyhhcHAsIGN0eC5zb3VyY2VQYXRoLCBhc3luYyAoeyBjb250ZW50IH0pID0+IHtcbiAgICBjb25zdCBtYXJrZG93bkluZm8gPSBhd2FpdCBnZXRDb2RlQmxvY2tNYXJrZG93bkluZm8ocGFyYW1zKTtcbiAgICBhc3NlcnROb25OdWxsYWJsZShtYXJrZG93bkluZm8sICdDb3VsZCBub3QgdW5pcXVlbHkgaWRlbnRpZnkgdGhlIGNvZGUgYmxvY2suJyk7XG5cbiAgICBpZiAoY29udGVudCAhPT0gbWFya2Rvd25JbmZvLm5vdGVDb250ZW50KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBpbnNlcnRMaW5lSW5kZXggPSBtYXJrZG93bkluZm8ucG9zaXRpb25Jbk5vdGUuZW5kLmxpbmUgKyBsaW5lT2Zmc2V0ICsgMTtcbiAgICByZXR1cm4gaW5zZXJ0VGV4dChjb250ZW50LCBpbnNlcnRMaW5lSW5kZXgsIHRleHQsIHBhcmFtcy5zaG91bGRQcmVzZXJ2ZUxpbmVQcmVmaXgpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBJbnNlcnRzIHRleHQgYmVmb3JlIHRoZSBjb2RlIGJsb2NrLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW5zZXJ0QmVmb3JlQ29kZUJsb2NrKHBhcmFtczogSW5zZXJ0Q29kZUJsb2NrUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgYXBwLCBjdHgsIGxpbmVPZmZzZXQgPSAwLCB0ZXh0IH0gPSBwYXJhbXM7XG5cbiAgYXdhaXQgcHJvY2VzcyhhcHAsIGN0eC5zb3VyY2VQYXRoLCBhc3luYyAoeyBjb250ZW50IH0pID0+IHtcbiAgICBjb25zdCBtYXJrZG93bkluZm8gPSBhd2FpdCBnZXRDb2RlQmxvY2tNYXJrZG93bkluZm8ocGFyYW1zKTtcbiAgICBpZiAoIW1hcmtkb3duSW5mbykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgdW5pcXVlbHkgaWRlbnRpZnkgdGhlIGNvZGUgYmxvY2suJyk7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRlbnQgIT09IG1hcmtkb3duSW5mby5ub3RlQ29udGVudCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgaW5zZXJ0TGluZUluZGV4ID0gbWFya2Rvd25JbmZvLnBvc2l0aW9uSW5Ob3RlLnN0YXJ0LmxpbmUgLSBsaW5lT2Zmc2V0O1xuICAgIHJldHVybiBpbnNlcnRUZXh0KGNvbnRlbnQsIGluc2VydExpbmVJbmRleCwgdGV4dCwgcGFyYW1zLnNob3VsZFByZXNlcnZlTGluZVByZWZpeCk7XG4gIH0pO1xufVxuXG4vKipcbiAqIFJlbW92ZXMgdGhlIGNvZGUgYmxvY2suXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW1vdmVDb2RlQmxvY2socGFyYW1zOiBSZW1vdmVDb2RlQmxvY2tQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgcmVwbGFjZUNvZGVCbG9jayh7XG4gICAgLi4ucGFyYW1zLFxuICAgIGNvZGVCbG9ja1Byb3ZpZGVyOiAnJyxcbiAgICBzaG91bGRLZWVwR2FwV2hlbkVtcHR5OiBwYXJhbXMuc2hvdWxkS2VlcEdhcCA/PyBmYWxzZVxuICB9KTtcbn1cblxuLyoqXG4gKiBSZXBsYWNlcyB0aGUgY29kZSBibG9jay5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlcGxhY2VDb2RlQmxvY2socGFyYW1zOiBSZXBsYWNlQ29kZUJsb2NrUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgYXBwLCBjb2RlQmxvY2tQcm92aWRlciwgY3R4IH0gPSBwYXJhbXM7XG4gIHBhcmFtcy5hYm9ydFNpZ25hbD8udGhyb3dJZkFib3J0ZWQoKTtcblxuICBhd2FpdCBwcm9jZXNzKGFwcCwgY3R4LnNvdXJjZVBhdGgsIGFzeW5jICh7IGFib3J0U2lnbmFsLCBjb250ZW50IH0pID0+IHtcbiAgICBhYm9ydFNpZ25hbCA9IGFib3J0U2lnbmFsQW55KGFib3J0U2lnbmFsLCBwYXJhbXMuYWJvcnRTaWduYWwpO1xuICAgIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gICAgY29uc3QgbWFya2Rvd25JbmZvID0gYXdhaXQgZ2V0Q29kZUJsb2NrTWFya2Rvd25JbmZvKHBhcmFtcyk7XG4gICAgaWYgKCFtYXJrZG93bkluZm8pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBjb2RlIGJsb2NrLicpO1xuICAgIH1cblxuICAgIGlmIChjb250ZW50ICE9PSBtYXJrZG93bkluZm8ubm90ZUNvbnRlbnQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGxldCBvbGRDb2RlQmxvY2sgPSBjb250ZW50LnNsaWNlKG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5zdGFydC5vZmZzZXQsIG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5lbmQub2Zmc2V0KTtcbiAgICBpZiAocGFyYW1zLnNob3VsZFByZXNlcnZlTGluZVByZWZpeCkge1xuICAgICAgb2xkQ29kZUJsb2NrID0gdW5pbmRlbnQob2xkQ29kZUJsb2NrLCBtYXJrZG93bkluZm8ubGluZVByZWZpeCk7XG4gICAgfVxuXG4gICAgbGV0IG5ld0NvZGVCbG9jayA9IGF3YWl0IHJlc29sdmVWYWx1ZShjb2RlQmxvY2tQcm92aWRlciwgeyBhYm9ydFNpZ25hbCwgY29udGVudDogb2xkQ29kZUJsb2NrIH0pO1xuICAgIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gICAgaWYgKChuZXdDb2RlQmxvY2sgfHwgcGFyYW1zLnNob3VsZEtlZXBHYXBXaGVuRW1wdHkpICYmIHBhcmFtcy5zaG91bGRQcmVzZXJ2ZUxpbmVQcmVmaXgpIHtcbiAgICAgIG5ld0NvZGVCbG9jayA9IGluZGVudChuZXdDb2RlQmxvY2ssIG1hcmtkb3duSW5mby5saW5lUHJlZml4KTtcbiAgICB9XG5cbiAgICBjb25zdCB0ZXh0QmVmb3JlQ29kZUJsb2NrID0gY29udGVudC5zbGljZSgwLCBtYXJrZG93bkluZm8ucG9zaXRpb25Jbk5vdGUuc3RhcnQub2Zmc2V0KTtcbiAgICBjb25zdCB0ZXh0QWZ0ZXJDb2RlQmxvY2sgPSBjb250ZW50LnNsaWNlKG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5lbmQub2Zmc2V0KTtcblxuICAgIGlmIChuZXdDb2RlQmxvY2sgfHwgcGFyYW1zLnNob3VsZEtlZXBHYXBXaGVuRW1wdHkpIHtcbiAgICAgIHJldHVybiBgJHt0ZXh0QmVmb3JlQ29kZUJsb2NrfSR7bmV3Q29kZUJsb2NrfSR7dGV4dEFmdGVyQ29kZUJsb2NrfWA7XG4gICAgfVxuXG4gICAgaWYgKCF0ZXh0QmVmb3JlQ29kZUJsb2NrICYmICF0ZXh0QWZ0ZXJDb2RlQmxvY2spIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBpZiAodGV4dEJlZm9yZUNvZGVCbG9jaykge1xuICAgICAgcmV0dXJuIGAke3RleHRCZWZvcmVDb2RlQmxvY2suc2xpY2UoMCwgLTEpfSR7dGV4dEFmdGVyQ29kZUJsb2NrfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3RleHRCZWZvcmVDb2RlQmxvY2t9JHt0ZXh0QWZ0ZXJDb2RlQmxvY2suc2xpY2UoMSl9YDtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZU1hcmtkb3duSW5mb0Zyb21NYXRjaChwYXJhbXM6IENyZWF0ZU1hcmtkb3duSW5mb0Zyb21NYXRjaFBhcmFtcyk6IENvZGVCbG9ja01hcmtkb3duSW5mb3JtYXRpb24ge1xuICBjb25zdCB7XG4gICAgYXBwcm94aW1hdGVTZWN0aW9uSW5mbyxcbiAgICBsaW5lc0JlZm9yZVNlY3Rpb25Db3VudCxcbiAgICBtYXRjaCxcbiAgICBub3RlQ29udGVudCxcbiAgICBwb3RlbnRpYWxDb2RlQmxvY2tUZXh0LFxuICAgIHNvdXJjZUxpbmVzQ291bnQsXG4gICAgdGV4dExpbmVPZmZzZXRzXG4gIH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgbGluZVByZWZpeCA9IG1hdGNoLmdyb3Vwcz8uWydMaW5lUHJlZml4J10gPz8gJyc7XG4gIGNvbnN0IGNvZGVCbG9ja1N0YXJ0RGVsaW1pdGVyID0gbWF0Y2guZ3JvdXBzPy5bJ0NvZGVCbG9ja1N0YXJ0RGVsaW1pdGVyJ10gPz8gJyc7XG4gIGNvbnN0IGNvZGVCbG9ja0VuZERlbGltaXRlciA9IG1hdGNoLmdyb3Vwcz8uWydDb2RlQmxvY2tFbmREZWxpbWl0ZXInXSA/PyAnJztcbiAgY29uc3QgY29kZUJsb2NrQXJnc1N0ciA9IG1hdGNoLmdyb3Vwcz8uWydDb2RlQmxvY2tBcmdzJ10gPz8gJyc7XG4gIGNvbnN0IGxhbmd1YWdlID0gbWF0Y2guZ3JvdXBzPy5bJ0NvZGVCbG9ja0xhbmd1YWdlJ10gPz8gJyc7XG5cbiAgY29uc3QgcHJldmlvdXNUZXh0ID0gcG90ZW50aWFsQ29kZUJsb2NrVGV4dC5zbGljZSgwLCBtYXRjaC5pbmRleCk7XG4gIGNvbnN0IHByZXZpb3VzVGV4dExpbmVzQ291bnQgPSBwcmV2aW91c1RleHQuc3BsaXQoJ1xcbicpLmxlbmd0aCAtIDE7XG5cbiAgY29uc3Qgc3RhcnRMaW5lID0gbGluZXNCZWZvcmVTZWN0aW9uQ291bnQgKyBwcmV2aW91c1RleHRMaW5lc0NvdW50O1xuICBjb25zdCBlbmRMaW5lID0gc3RhcnRMaW5lICsgc291cmNlTGluZXNDb3VudCArIDE7XG5cbiAgcmV0dXJuIHtcbiAgICBhcmdzOiBjb2RlQmxvY2tBcmdzU3RyLnNwbGl0KC9cXHMrLykuZmlsdGVyKEJvb2xlYW4pLFxuICAgIGVuZERlbGltaXRlcjogY29kZUJsb2NrRW5kRGVsaW1pdGVyLFxuICAgIGxhbmd1YWdlLFxuICAgIGxpbmVQcmVmaXgsXG4gICAgbm90ZUNvbnRlbnQsXG4gICAgcG9zaXRpb25Jbk5vdGU6IHtcbiAgICAgIGVuZDoge1xuICAgICAgICBjb2w6ICh0ZXh0TGluZU9mZnNldHMuZ2V0KGVuZExpbmUgKyAxKSA/PyAwKSAtICh0ZXh0TGluZU9mZnNldHMuZ2V0KGVuZExpbmUpID8/IDApIC0gMSxcbiAgICAgICAgbGluZTogZW5kTGluZSxcbiAgICAgICAgb2Zmc2V0OiAodGV4dExpbmVPZmZzZXRzLmdldChlbmRMaW5lICsgMSkgPz8gMCkgLSAxXG4gICAgICB9LFxuICAgICAgc3RhcnQ6IHtcbiAgICAgICAgY29sOiAwLFxuICAgICAgICBsaW5lOiBzdGFydExpbmUsXG4gICAgICAgIG9mZnNldDogdGV4dExpbmVPZmZzZXRzLmdldChzdGFydExpbmUpID8/IDBcbiAgICAgIH1cbiAgICB9LFxuICAgIHJhd0FyZ3NTdHI6IGNvZGVCbG9ja0FyZ3NTdHIsXG4gICAgc2VjdGlvbkluZm86IHtcbiAgICAgIGxpbmVFbmQ6IHByZXZpb3VzVGV4dExpbmVzQ291bnQgKyBzb3VyY2VMaW5lc0NvdW50ICsgMSxcbiAgICAgIGxpbmVTdGFydDogcHJldmlvdXNUZXh0TGluZXNDb3VudCxcbiAgICAgIHRleHQ6IGFwcHJveGltYXRlU2VjdGlvbkluZm8udGV4dFxuICAgIH0sXG4gICAgc3RhcnREZWxpbWl0ZXI6IGNvZGVCbG9ja1N0YXJ0RGVsaW1pdGVyXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldExhbmd1YWdlRnJvbUVsZW1lbnQoZWw6IEhUTUxFbGVtZW50KTogc3RyaW5nIHtcbiAgY29uc3QgQkxPQ0tfTEFOR1VBR0VfUFJFRklYID0gJ2Jsb2NrLWxhbmd1YWdlLSc7XG4gIHJldHVybiBBcnJheS5mcm9tKGVsLmNsYXNzTGlzdCkuZmluZCgoY2xzKSA9PiBjbHMuc3RhcnRzV2l0aChCTE9DS19MQU5HVUFHRV9QUkVGSVgpKT8uc2xpY2UoQkxPQ0tfTEFOR1VBR0VfUFJFRklYLmxlbmd0aCkgPz8gJyc7XG59XG5cbmZ1bmN0aW9uIGluc2VydFRleHQoY29udGVudDogc3RyaW5nLCBpbnNlcnRMaW5lSW5kZXg6IG51bWJlciwgdGV4dDogc3RyaW5nLCBzaG91bGRQcmVzZXJ2ZUxpbmVQcmVmaXg/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgY29uc3QgbGluZXMgPSBjb250ZW50LnNwbGl0KCdcXG4nKTtcbiAgY29uc3QgbmV3TGluZXMgPSBsaW5lcy5zbGljZSgpO1xuICBjb25zdCB0ZXh0TGluZXMgPSB0ZXh0LnNwbGl0KCdcXG4nKTtcblxuICBpZiAoaW5zZXJ0TGluZUluZGV4IDwgMCkge1xuICAgIGluc2VydExpbmVJbmRleCA9IDA7XG4gIH1cbiAgaWYgKGluc2VydExpbmVJbmRleCA+IGxpbmVzLmxlbmd0aCkge1xuICAgIGluc2VydExpbmVJbmRleCA9IGxpbmVzLmxlbmd0aDtcbiAgfVxuXG4gIGNvbnN0IFBSRUZJWF9MSU5FX1JFR19FWFAgPSAvXiB7MCwzfSg/Oj4gezEsM30pKi9nO1xuICBjb25zdCBtYXRjaCA9IChsaW5lc1tpbnNlcnRMaW5lSW5kZXhdID8/ICcnKS5tYXRjaChQUkVGSVhfTElORV9SRUdfRVhQKTtcbiAgY29uc3QgbGluZVByZWZpeCA9IG1hdGNoPy5bMF0gPz8gJyc7XG4gIG5ld0xpbmVzLnNwbGljZShpbnNlcnRMaW5lSW5kZXgsIDAsIC4uLihzaG91bGRQcmVzZXJ2ZUxpbmVQcmVmaXggPyB0ZXh0TGluZXMubWFwKChsaW5lKSA9PiBpbmRlbnQobGluZSwgbGluZVByZWZpeCkpIDogdGV4dExpbmVzKSk7XG4gIHJldHVybiBuZXdMaW5lcy5qb2luKCdcXG4nKTtcbn1cblxuZnVuY3Rpb24gaXNTdWl0YWJsZUNvZGVCbG9jayhcbiAgbWF0Y2g6IFJlZ0V4cE1hdGNoQXJyYXksXG4gIGxhbmd1YWdlOiBzdHJpbmcsXG4gIHNvdXJjZUxmOiBzdHJpbmcsXG4gIGlzSW5DYWxsb3V0OiBib29sZWFuXG4pOiBib29sZWFuIHtcbiAgY29uc3QgY29kZUJsb2NrTGFuZ3VhZ2UgPSBtYXRjaC5ncm91cHM/LlsnQ29kZUJsb2NrTGFuZ3VhZ2UnXSA/PyAnJztcbiAgaWYgKGNvZGVCbG9ja0xhbmd1YWdlICE9PSBsYW5ndWFnZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGxpbmVQcmVmaXggPSBtYXRjaC5ncm91cHM/LlsnTGluZVByZWZpeCddID8/ICcnO1xuXG4gIGlmIChpc0luQ2FsbG91dCAmJiAhbGluZVByZWZpeC5pbmNsdWRlcygnPiAnKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGNvZGVCbG9ja0NvbnRlbnQgPSBtYXRjaC5ncm91cHM/LlsnQ29kZUJsb2NrQ29udGVudCddID8/ICcnO1xuICBjb25zdCBjbGVhbkNvZGVCbG9ja0NvbnRlbnQgPSBjb2RlQmxvY2tDb250ZW50LnNwbGl0KCdcXG4nKS5tYXAoKGxpbmUpID0+IGxpbmUuc2xpY2UobGluZVByZWZpeC5sZW5ndGgpKS5qb2luKCdcXG4nKTtcblxuICByZXR1cm4gY2xlYW5Db2RlQmxvY2tDb250ZW50ID09PSBzb3VyY2VMZjtcbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7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QUFBQSxNQUNyRCxXQUFXO0FBQUEsTUFDWCxNQUFNLHVCQUF1QjtBQUFBLElBQy9CO0FBQUEsSUFDQSxnQkFBZ0I7QUFBQSxFQUNsQjtBQUNGO0FBRUEsU0FBUyx1QkFBdUIsSUFBeUI7QUFDdkQsUUFBTSx3QkFBd0I7QUFDOUIsU0FBTyxNQUFNLEtBQUssR0FBRyxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsSUFBSSxXQUFXLHFCQUFxQixDQUFDLEdBQUcsTUFBTSxzQkFBc0IsTUFBTSxLQUFLO0FBQy9IO0FBRUEsU0FBUyxXQUFXLFNBQWlCLGlCQUF5QixNQUFjLDBCQUE0QztBQUN0SCxRQUFNLFFBQVEsUUFBUSxNQUFNLElBQUk7QUFDaEMsUUFBTSxXQUFXLE1BQU0sTUFBTTtBQUM3QixRQUFNLFlBQVksS0FBSyxNQUFNLElBQUk7QUFFakMsTUFBSSxrQkFBa0IsR0FBRztBQUN2QixzQkFBa0I7QUFBQSxFQUNwQjtBQUNBLE1BQUksa0JBQWtCLE1BQU0sUUFBUTtBQUNsQyxzQkFBa0IsTUFBTTtBQUFBLEVBQzFCO0FBRUEsUUFBTSxzQkFBc0I7QUFDNUIsUUFBTSxTQUFTLE1BQU0sZUFBZSxLQUFLLElBQUksTUFBTSxtQkFBbUI7QUFDdEUsUUFBTSxhQUFhLFFBQVEsQ0FBQyxLQUFLO0FBQ2pDLFdBQVMsT0FBTyxpQkFBaUIsR0FBRyxHQUFJLDJCQUEyQixVQUFVLElBQUksQ0FBQyxhQUFTLHNCQUFPLE1BQU0sVUFBVSxDQUFDLElBQUksU0FBVTtBQUNqSSxTQUFPLFNBQVMsS0FBSyxJQUFJO0FBQzNCO0FBRUEsU0FBUyxvQkFDUCxPQUNBLFVBQ0EsVUFDQSxhQUNTO0FBQ1QsUUFBTSxvQkFBb0IsTUFBTSxTQUFTLG1CQUFtQixLQUFLO0FBQ2pFLE1BQUksc0JBQXNCLFVBQVU7QUFDbEMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGFBQWEsTUFBTSxTQUFTLFlBQVksS0FBSztBQUVuRCxNQUFJLGVBQWUsQ0FBQyxXQUFXLFNBQVMsSUFBSSxHQUFHO0FBQzdDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxtQkFBbUIsTUFBTSxTQUFTLGtCQUFrQixLQUFLO0FBQy9ELFFBQU0sd0JBQXdCLGlCQUFpQixNQUFNLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxLQUFLLE1BQU0sV0FBVyxNQUFNLENBQUMsRUFBRSxLQUFLLElBQUk7QUFFakgsU0FBTywwQkFBMEI7QUFDbkM7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -137,4 +139,4 @@ function getFullContentHtml(view) {
137
139
  0 && (module.exports = {
138
140
  getFullContentHtml
139
141
  });
140
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21hcmtkb3duLXZpZXcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBVdGlsaXRpZXMgZm9yIHdvcmtpbmcgd2l0aCBNYXJrZG93blZpZXdcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IE1hcmtkb3duVmlldyB9IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBHZXQgdGhlIGZ1bGwgSFRNTCBjb250ZW50IG9mIHRoZSBjdXJyZW50IE1hcmtkb3duVmlld1xuICpcbiAqIEBwYXJhbSB2aWV3IC0gVGhlIE1hcmtkb3duVmlldyB0byBnZXQgdGhlIEhUTUwgZnJvbVxuICogQHJldHVybnMgVGhlIGZ1bGwgSFRNTCBvZiB0aGUgTWFya2Rvd25WaWV3XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGdWxsQ29udGVudEh0bWwodmlldzogTWFya2Rvd25WaWV3KTogc3RyaW5nIHtcbiAgY29uc3QgY29kZU1pcnJvciA9IHZpZXcuZWRpdG9yLmNtO1xuICBjb2RlTWlycm9yLnZpZXdTdGF0ZS5wcmludGluZyA9IHRydWU7XG4gIGNvZGVNaXJyb3IubWVhc3VyZSgpO1xuICBjb25zdCBodG1sID0gdmlldy5jb250ZW50RWwuaW5uZXJIVE1MO1xuICBjb2RlTWlycm9yLnZpZXdTdGF0ZS5wcmludGluZyA9IGZhbHNlO1xuICBjb2RlTWlycm9yLm1lYXN1cmUoKTtcbiAgcmV0dXJuIGh0bWw7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNPLFNBQVMsbUJBQW1CLE1BQTRCO0FBQzdELFFBQU0sYUFBYSxLQUFLLE9BQU87QUFDL0IsYUFBVyxVQUFVLFdBQVc7QUFDaEMsYUFBVyxRQUFRO0FBQ25CLFFBQU0sT0FBTyxLQUFLLFVBQVU7QUFDNUIsYUFBVyxVQUFVLFdBQVc7QUFDaEMsYUFBVyxRQUFRO0FBQ25CLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
142
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21hcmtkb3duLXZpZXcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBVdGlsaXRpZXMgZm9yIHdvcmtpbmcgd2l0aCBNYXJrZG93blZpZXdcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IE1hcmtkb3duVmlldyB9IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBHZXQgdGhlIGZ1bGwgSFRNTCBjb250ZW50IG9mIHRoZSBjdXJyZW50IE1hcmtkb3duVmlld1xuICpcbiAqIEBwYXJhbSB2aWV3IC0gVGhlIE1hcmtkb3duVmlldyB0byBnZXQgdGhlIEhUTUwgZnJvbVxuICogQHJldHVybnMgVGhlIGZ1bGwgSFRNTCBvZiB0aGUgTWFya2Rvd25WaWV3XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGdWxsQ29udGVudEh0bWwodmlldzogTWFya2Rvd25WaWV3KTogc3RyaW5nIHtcbiAgY29uc3QgY29kZU1pcnJvciA9IHZpZXcuZWRpdG9yLmNtO1xuICBjb2RlTWlycm9yLnZpZXdTdGF0ZS5wcmludGluZyA9IHRydWU7XG4gIGNvZGVNaXJyb3IubWVhc3VyZSgpO1xuICBjb25zdCBodG1sID0gdmlldy5jb250ZW50RWwuaW5uZXJIVE1MO1xuICBjb2RlTWlycm9yLnZpZXdTdGF0ZS5wcmludGluZyA9IGZhbHNlO1xuICBjb2RlTWlycm9yLm1lYXN1cmUoKTtcbiAgcmV0dXJuIGh0bWw7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY08sU0FBUyxtQkFBbUIsTUFBNEI7QUFDN0QsUUFBTSxhQUFhLEtBQUssT0FBTztBQUMvQixhQUFXLFVBQVUsV0FBVztBQUNoQyxhQUFXLFFBQVE7QUFDbkIsUUFBTSxPQUFPLEtBQUssVUFBVTtBQUM1QixhQUFXLFVBQVUsV0FBVztBQUNoQyxhQUFXLFFBQVE7QUFDbkIsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -250,4 +252,4 @@ async function renderInternalLink(app, pathOrAbstractFile, displayText) {
250
252
  renderExternalLink,
251
253
  renderInternalLink
252
254
  });
253
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21hcmtkb3duLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHByb2Nlc3NpbmcgTWFya2Rvd24gY29udGVudCBpbiBPYnNpZGlhbi5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gRGVlcGx5IGNvdXBsZWQgdG8gT2JzaWRpYW4gcnVudGltZTsgcmVxdWlyZXMgcnVubmluZyB2YXVsdCBmb3IgbWVhbmluZ2Z1bCB0ZXN0aW5nLiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHtcbiAgRG9tRXZlbnRzSGFuZGxlcnMsXG4gIERvbUV2ZW50c0hhbmRsZXJzSW5mbyxcbiAgRW1iZWRDcmVhdG9yXG59IGZyb20gJ29ic2lkaWFuLXR5cGluZ3MnO1xuaW1wb3J0IHR5cGUgeyBFeHRyYWN0Q29uc3RydWN0b3IgfSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSG92ZXJQb3BvdmVyLFxuICBNYXJrZG93blByZXZpZXdSZW5kZXJlcixcbiAgTWFya2Rvd25SZW5kZXJlclxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBJbnRlcm5hbFBsdWdpbk5hbWUgfSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB0eXBlIHsgUGF0aE9yQWJzdHJhY3RGaWxlIH0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5cbmltcG9ydCB7IGdldFpJbmRleCB9IGZyb20gJy4uL2h0bWwtZWxlbWVudC50cyc7XG5pbXBvcnQgeyBnZXREb21FdmVudHNIYW5kbGVyc0NvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3RvcnMvZ2V0RG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQge1xuICBnZXRBYnN0cmFjdEZpbGVPck51bGwsXG4gIGdldFBhdGgsXG4gIGlzRm9sZGVyXG59IGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuaW1wb3J0IHsgaW52b2tlV2l0aFBhdGNoQXN5bmMgfSBmcm9tICcuL21vbmtleS1hcm91bmQudHMnO1xuXG50eXBlIERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IgPSBFeHRyYWN0Q29uc3RydWN0b3I8RG9tRXZlbnRzSGFuZGxlcnM+O1xuXG5sZXQgZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcjogRG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvciB8IG51bGwgPSBudWxsO1xuXG4vKipcbiAqIFRoZSBwYXJhbXMgZm9yIHRoZSBmdWxsIHJlbmRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdWxsUmVuZGVyUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIENvbXBvbmVudCBpbnN0YW5jZSB0byB1c2UgZm9yIHRoZSByZW5kZXIuXG4gICAqL1xuICByZWFkb25seSBjb21wb25lbnQ/OiBDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBIVE1MRWxlbWVudCB0byByZW5kZXIgdG8uXG4gICAqL1xuICByZWFkb25seSBlbDogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBNYXJrZG93biBzdHJpbmcgdG8gcmVuZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgbWFya2Rvd246IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byByZWdpc3RlciBsaW5rIGhhbmRsZXJzIGZvciB0aGUgcmVuZGVyZWQgZWxlbWVudC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFJlZ2lzdGVyTGlua0hhbmRsZXJzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBwYXRoIHRvIHJlc29sdmUgcmVsYXRpdmUgbGlua3MuXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VQYXRoPzogc3RyaW5nO1xufVxuXG5jbGFzcyBGaXhlZFpJbmRleERvbUV2ZW50c0hhbmRsZXJzSW5mbyBpbXBsZW1lbnRzIERvbUV2ZW50c0hhbmRsZXJzSW5mbyB7XG4gIHB1YmxpYyBnZXQgaG92ZXJQb3BvdmVyKCk6IEhvdmVyUG9wb3ZlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9ob3ZlclBvcG92ZXI7XG4gIH1cblxuICBwdWJsaWMgc2V0IGhvdmVyUG9wb3Zlcihob3ZlclBvcG92ZXI6IEhvdmVyUG9wb3ZlciB8IG51bGwpIHtcbiAgICB0aGlzLl9ob3ZlclBvcG92ZXIgPSBob3ZlclBvcG92ZXI7XG4gICAgaWYgKGhvdmVyUG9wb3ZlciAmJiB0aGlzLnpJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBob3ZlclBvcG92ZXIuaG92ZXJFbC5zZXRDc3NTdHlsZXMoe1xuICAgICAgICB6SW5kZXg6IFN0cmluZyh0aGlzLnpJbmRleClcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hvdmVyUG9wb3ZlcjogSG92ZXJQb3BvdmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSB6SW5kZXg/OiBudW1iZXI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBhcHA6IEFwcCwgcHVibGljIHJlYWRvbmx5IHBhdGg6IHN0cmluZywgZWw6IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKGVsLmlzQ29ubmVjdGVkKSB7XG4gICAgICB0aGlzLnVwZGF0ZVpJbmRleChlbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLm9uTm9kZUluc2VydGVkKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVaSW5kZXgoZWwpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVaSW5kZXgoZWw6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy56SW5kZXggPSBnZXRaSW5kZXgoZWwpICsgMTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgbWFya2Rvd24gYW5kIGVtYmVkcy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdWxsIHJlbmRlci5cbiAqIEByZXR1cm5zIFRoZSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmdWxsIHJlbmRlciBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZ1bGxSZW5kZXIocGFyYW1zOiBGdWxsUmVuZGVyUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHNvdXJjZVBhdGggPSBwYXJhbXMuc291cmNlUGF0aCA/PyAnLyc7XG4gIGxldCBzaG91bGRVbmxvYWRDb21wb25lbnQgPSBmYWxzZTtcbiAgbGV0IGNvbXBvbmVudDogQ29tcG9uZW50O1xuICBpZiAocGFyYW1zLmNvbXBvbmVudCkge1xuICAgIGNvbXBvbmVudCA9IHBhcmFtcy5jb21wb25lbnQ7XG4gIH0gZWxzZSB7XG4gICAgY29tcG9uZW50ID0gbmV3IENvbXBvbmVudCgpO1xuICAgIGNvbXBvbmVudC5sb2FkKCk7XG4gICAgc2hvdWxkVW5sb2FkQ29tcG9uZW50ID0gdHJ1ZTtcbiAgfVxuICBhd2FpdCBpbnZva2VXaXRoUGF0Y2hBc3luYyhwYXJhbXMuYXBwLmVtYmVkUmVnaXN0cnkuZW1iZWRCeUV4dGVuc2lvbiwge1xuICAgIG1kOiAobmV4dDogRW1iZWRDcmVhdG9yKTogRW1iZWRDcmVhdG9yID0+IChjb250ZXh0LCBmaWxlLCBzdWJwYXRoKSA9PiB7XG4gICAgICBjb250ZXh0LmRpc3BsYXlNb2RlID0gZmFsc2U7XG4gICAgICByZXR1cm4gbmV4dChjb250ZXh0LCBmaWxlLCBzdWJwYXRoKTtcbiAgICB9XG4gIH0sIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBNYXJrZG93blJlbmRlcmVyLnJlbmRlcihwYXJhbXMuYXBwLCBwYXJhbXMubWFya2Rvd24sIHBhcmFtcy5lbCwgc291cmNlUGF0aCwgY29tcG9uZW50KTtcbiAgfSk7XG5cbiAgaWYgKHNob3VsZFVubG9hZENvbXBvbmVudCkge1xuICAgIGNvbXBvbmVudC51bmxvYWQoKTtcbiAgfVxuXG4gIGlmIChwYXJhbXMuc2hvdWxkUmVnaXN0ZXJMaW5rSGFuZGxlcnMpIHtcbiAgICBhd2FpdCByZWdpc3RlckxpbmtIYW5kbGVycyhwYXJhbXMuYXBwLCBwYXJhbXMuZWwsIHBhcmFtcy5zb3VyY2VQYXRoKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnZlcnRzIE1hcmtkb3duIHRvIEhUTUwuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gbWFya2Rvd24gLSBUaGUgTWFya2Rvd24gc3RyaW5nIHRvIGNvbnZlcnQuXG4gKiBAcGFyYW0gc291cmNlUGF0aCAtIChvcHRpb25hbCkgVGhlIHNvdXJjZSBwYXRoIHRvIHJlc29sdmUgcmVsYXRpdmUgbGlua3MuXG4gKiBAcmV0dXJucyBUaGUgSFRNTCBzdHJpbmcuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtYXJrZG93blRvSHRtbChhcHA6IEFwcCwgbWFya2Rvd246IHN0cmluZywgc291cmNlUGF0aD86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IGNvbXBvbmVudCA9IG5ldyBDb21wb25lbnQoKTtcbiAgY29tcG9uZW50LmxvYWQoKTtcbiAgY29uc3QgcmVuZGVyRGl2ID0gY3JlYXRlRGl2KCk7XG4gIGF3YWl0IE1hcmtkb3duUmVuZGVyZXIucmVuZGVyKGFwcCwgbWFya2Rvd24sIHJlbmRlckRpdiwgc291cmNlUGF0aCA/PyAnJywgY29tcG9uZW50KTtcbiAgY29uc3QgaHRtbCA9IHJlbmRlckRpdi5pbm5lckhUTUw7XG4gIGNvbXBvbmVudC51bmxvYWQoKTtcbiAgcmV0dXJuIGh0bWw7XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIGxpbmsgaGFuZGxlcnMgZm9yIHRoZSBnaXZlbiBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGVsIC0gVGhlIEhUTUxFbGVtZW50IHRvIHJlZ2lzdGVyIGxpbmsgaGFuZGxlcnMgZm9yLlxuICogQHBhcmFtIHNvdXJjZVBhdGggLSBUaGUgc291cmNlIHBhdGggdG8gcmVzb2x2ZSByZWxhdGl2ZSBsaW5rcyBmcm9tLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVnaXN0ZXJMaW5rSGFuZGxlcnMoYXBwOiBBcHAsIGVsOiBIVE1MRWxlbWVudCwgc291cmNlUGF0aD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVxdWlyZS1hdG9taWMtdXBkYXRlcyAtLSBObyByYWNlIGNvbmRpdGlvbi5cbiAgZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvciA/Pz0gYXdhaXQgZ2V0RG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcihhcHApO1xuICBNYXJrZG93blByZXZpZXdSZW5kZXJlci5yZWdpc3RlckRvbUV2ZW50cyhcbiAgICBlbCxcbiAgICBuZXcgZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcihuZXcgRml4ZWRaSW5kZXhEb21FdmVudHNIYW5kbGVyc0luZm8oYXBwLCBzb3VyY2VQYXRoID8/ICcnLCBlbCkpXG4gICk7XG59XG5cbi8qKlxuICogUmVuZGVycyBhbiBleHRlcm5hbCBsaW5rLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHVybCAtIFRoZSBVUkwgdG8gcmVuZGVyIHRoZSBleHRlcm5hbCBsaW5rIGZvci5cbiAqIEBwYXJhbSBkaXNwbGF5VGV4dCAtIFRoZSB0ZXh0IHRvIGRpc3BsYXkgZm9yIHRoZSBleHRlcm5hbCBsaW5rLlxuICogQHJldHVybnMgVGhlIEhUTUxBbmNob3JFbGVtZW50IGNvbnRhaW5pbmcgdGhlIHJlbmRlcmVkIGV4dGVybmFsIGxpbmsuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW5kZXJFeHRlcm5hbExpbmsoYXBwOiBBcHAsIHVybDogc3RyaW5nLCBkaXNwbGF5VGV4dD86IHN0cmluZyk6IFByb21pc2U8SFRNTEFuY2hvckVsZW1lbnQ+IHtcbiAgZGlzcGxheVRleHQgPz89IHVybDtcbiAgY29uc3Qgd3JhcHBlckVsID0gY3JlYXRlU3BhbigpO1xuICBhd2FpdCBmdWxsUmVuZGVyKHtcbiAgICBhcHAsXG4gICAgZWw6IHdyYXBwZXJFbCxcbiAgICBtYXJrZG93bjogYFske2Rpc3BsYXlUZXh0fV0oJHt1cmx9KWBcbiAgfSk7XG4gIGNvbnN0IGFFbCA9IHdyYXBwZXJFbC5maW5kKCdhJykgYXMgSFRNTEFuY2hvckVsZW1lbnQ7XG4gIGF3YWl0IHJlZ2lzdGVyTGlua0hhbmRsZXJzKGFwcCwgYUVsKTtcbiAgcmV0dXJuIGFFbDtcbn1cblxuLyoqXG4gKiBSZW5kZXJzIGFuIGludGVybmFsIGxpbmsuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yQWJzdHJhY3RGaWxlIC0gVGhlIHBhdGggb3IgYWJzdHJhY3QgZmlsZSB0byByZW5kZXIgdGhlIGludGVybmFsIGxpbmsgZm9yLlxuICogQHBhcmFtIGRpc3BsYXlUZXh0IC0gVGhlIHRleHQgdG8gZGlzcGxheSBmb3IgdGhlIGludGVybmFsIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUgSFRNTEFuY2hvckVsZW1lbnQgY29udGFpbmluZyB0aGUgcmVuZGVyZWQgaW50ZXJuYWwgbGluay5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmRlckludGVybmFsTGluayhhcHA6IEFwcCwgcGF0aE9yQWJzdHJhY3RGaWxlOiBQYXRoT3JBYnN0cmFjdEZpbGUsIGRpc3BsYXlUZXh0Pzogc3RyaW5nKTogUHJvbWlzZTxIVE1MQW5jaG9yRWxlbWVudD4ge1xuICBjb25zdCBhYnN0cmFjdEZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoYXBwLCBwYXRoT3JBYnN0cmFjdEZpbGUpO1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChhcHAsIHBhdGhPckFic3RyYWN0RmlsZSk7XG4gIGRpc3BsYXlUZXh0ID8/PSBwYXRoO1xuICBpZiAoaXNGb2xkZXIoYWJzdHJhY3RGaWxlKSkge1xuICAgIHJldHVybiBjcmVhdGVFbCgnYScsIHsgdGV4dDogZGlzcGxheVRleHQgfSwgKGFFbCkgPT4ge1xuICAgICAgYUVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2dCkgPT4ge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYXBwLmludGVybmFsUGx1Z2lucy5nZXRFbmFibGVkUGx1Z2luQnlJZChJbnRlcm5hbFBsdWdpbk5hbWUuRmlsZUV4cGxvcmVyKT8ucmV2ZWFsSW5Gb2xkZXIoYWJzdHJhY3RGaWxlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgY29uc3Qgd3JhcHBlckVsID0gY3JlYXRlU3BhbigpO1xuICBhd2FpdCBmdWxsUmVuZGVyKHtcbiAgICBhcHAsXG4gICAgZWw6IHdyYXBwZXJFbCxcbiAgICBtYXJrZG93bjogYFtbJHtwYXRofXwke2Rpc3BsYXlUZXh0fV1dYFxuICB9KTtcbiAgY29uc3QgYUVsID0gd3JhcHBlckVsLmZpbmQoJ2EnKSBhcyBIVE1MQW5jaG9yRWxlbWVudDtcbiAgYXdhaXQgcmVnaXN0ZXJMaW5rSGFuZGxlcnMoYXBwLCBhRWwpO1xuICByZXR1cm4gYUVsO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
255
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21hcmtkb3duLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHByb2Nlc3NpbmcgTWFya2Rvd24gY29udGVudCBpbiBPYnNpZGlhbi5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gRGVlcGx5IGNvdXBsZWQgdG8gT2JzaWRpYW4gcnVudGltZTsgcmVxdWlyZXMgcnVubmluZyB2YXVsdCBmb3IgbWVhbmluZ2Z1bCB0ZXN0aW5nLiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHtcbiAgRG9tRXZlbnRzSGFuZGxlcnMsXG4gIERvbUV2ZW50c0hhbmRsZXJzSW5mbyxcbiAgRW1iZWRDcmVhdG9yXG59IGZyb20gJ29ic2lkaWFuLXR5cGluZ3MnO1xuaW1wb3J0IHR5cGUgeyBFeHRyYWN0Q29uc3RydWN0b3IgfSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSG92ZXJQb3BvdmVyLFxuICBNYXJrZG93blByZXZpZXdSZW5kZXJlcixcbiAgTWFya2Rvd25SZW5kZXJlclxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBJbnRlcm5hbFBsdWdpbk5hbWUgfSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB0eXBlIHsgUGF0aE9yQWJzdHJhY3RGaWxlIH0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5cbmltcG9ydCB7IGdldFpJbmRleCB9IGZyb20gJy4uL2h0bWwtZWxlbWVudC50cyc7XG5pbXBvcnQgeyBnZXREb21FdmVudHNIYW5kbGVyc0NvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3RvcnMvZ2V0RG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3Rvci50cyc7XG5pbXBvcnQge1xuICBnZXRBYnN0cmFjdEZpbGVPck51bGwsXG4gIGdldFBhdGgsXG4gIGlzRm9sZGVyXG59IGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuaW1wb3J0IHsgaW52b2tlV2l0aFBhdGNoQXN5bmMgfSBmcm9tICcuL21vbmtleS1hcm91bmQudHMnO1xuXG50eXBlIERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IgPSBFeHRyYWN0Q29uc3RydWN0b3I8RG9tRXZlbnRzSGFuZGxlcnM+O1xuXG5sZXQgZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcjogRG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvciB8IG51bGwgPSBudWxsO1xuXG4vKipcbiAqIFRoZSBwYXJhbXMgZm9yIHRoZSBmdWxsIHJlbmRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdWxsUmVuZGVyUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIENvbXBvbmVudCBpbnN0YW5jZSB0byB1c2UgZm9yIHRoZSByZW5kZXIuXG4gICAqL1xuICByZWFkb25seSBjb21wb25lbnQ/OiBDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBIVE1MRWxlbWVudCB0byByZW5kZXIgdG8uXG4gICAqL1xuICByZWFkb25seSBlbDogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBNYXJrZG93biBzdHJpbmcgdG8gcmVuZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgbWFya2Rvd246IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byByZWdpc3RlciBsaW5rIGhhbmRsZXJzIGZvciB0aGUgcmVuZGVyZWQgZWxlbWVudC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFJlZ2lzdGVyTGlua0hhbmRsZXJzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBwYXRoIHRvIHJlc29sdmUgcmVsYXRpdmUgbGlua3MuXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VQYXRoPzogc3RyaW5nO1xufVxuXG5jbGFzcyBGaXhlZFpJbmRleERvbUV2ZW50c0hhbmRsZXJzSW5mbyBpbXBsZW1lbnRzIERvbUV2ZW50c0hhbmRsZXJzSW5mbyB7XG4gIHB1YmxpYyBnZXQgaG92ZXJQb3BvdmVyKCk6IEhvdmVyUG9wb3ZlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9ob3ZlclBvcG92ZXI7XG4gIH1cblxuICBwdWJsaWMgc2V0IGhvdmVyUG9wb3Zlcihob3ZlclBvcG92ZXI6IEhvdmVyUG9wb3ZlciB8IG51bGwpIHtcbiAgICB0aGlzLl9ob3ZlclBvcG92ZXIgPSBob3ZlclBvcG92ZXI7XG4gICAgaWYgKGhvdmVyUG9wb3ZlciAmJiB0aGlzLnpJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBob3ZlclBvcG92ZXIuaG92ZXJFbC5zZXRDc3NTdHlsZXMoe1xuICAgICAgICB6SW5kZXg6IFN0cmluZyh0aGlzLnpJbmRleClcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hvdmVyUG9wb3ZlcjogSG92ZXJQb3BvdmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSB6SW5kZXg/OiBudW1iZXI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBhcHA6IEFwcCwgcHVibGljIHJlYWRvbmx5IHBhdGg6IHN0cmluZywgZWw6IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKGVsLmlzQ29ubmVjdGVkKSB7XG4gICAgICB0aGlzLnVwZGF0ZVpJbmRleChlbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLm9uTm9kZUluc2VydGVkKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVaSW5kZXgoZWwpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVaSW5kZXgoZWw6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy56SW5kZXggPSBnZXRaSW5kZXgoZWwpICsgMTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgbWFya2Rvd24gYW5kIGVtYmVkcy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdWxsIHJlbmRlci5cbiAqIEByZXR1cm5zIFRoZSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmdWxsIHJlbmRlciBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZ1bGxSZW5kZXIocGFyYW1zOiBGdWxsUmVuZGVyUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHNvdXJjZVBhdGggPSBwYXJhbXMuc291cmNlUGF0aCA/PyAnLyc7XG4gIGxldCBzaG91bGRVbmxvYWRDb21wb25lbnQgPSBmYWxzZTtcbiAgbGV0IGNvbXBvbmVudDogQ29tcG9uZW50O1xuICBpZiAocGFyYW1zLmNvbXBvbmVudCkge1xuICAgIGNvbXBvbmVudCA9IHBhcmFtcy5jb21wb25lbnQ7XG4gIH0gZWxzZSB7XG4gICAgY29tcG9uZW50ID0gbmV3IENvbXBvbmVudCgpO1xuICAgIGNvbXBvbmVudC5sb2FkKCk7XG4gICAgc2hvdWxkVW5sb2FkQ29tcG9uZW50ID0gdHJ1ZTtcbiAgfVxuICBhd2FpdCBpbnZva2VXaXRoUGF0Y2hBc3luYyhwYXJhbXMuYXBwLmVtYmVkUmVnaXN0cnkuZW1iZWRCeUV4dGVuc2lvbiwge1xuICAgIG1kOiAobmV4dDogRW1iZWRDcmVhdG9yKTogRW1iZWRDcmVhdG9yID0+IChjb250ZXh0LCBmaWxlLCBzdWJwYXRoKSA9PiB7XG4gICAgICBjb250ZXh0LmRpc3BsYXlNb2RlID0gZmFsc2U7XG4gICAgICByZXR1cm4gbmV4dChjb250ZXh0LCBmaWxlLCBzdWJwYXRoKTtcbiAgICB9XG4gIH0sIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBNYXJrZG93blJlbmRlcmVyLnJlbmRlcihwYXJhbXMuYXBwLCBwYXJhbXMubWFya2Rvd24sIHBhcmFtcy5lbCwgc291cmNlUGF0aCwgY29tcG9uZW50KTtcbiAgfSk7XG5cbiAgaWYgKHNob3VsZFVubG9hZENvbXBvbmVudCkge1xuICAgIGNvbXBvbmVudC51bmxvYWQoKTtcbiAgfVxuXG4gIGlmIChwYXJhbXMuc2hvdWxkUmVnaXN0ZXJMaW5rSGFuZGxlcnMpIHtcbiAgICBhd2FpdCByZWdpc3RlckxpbmtIYW5kbGVycyhwYXJhbXMuYXBwLCBwYXJhbXMuZWwsIHBhcmFtcy5zb3VyY2VQYXRoKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnZlcnRzIE1hcmtkb3duIHRvIEhUTUwuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gbWFya2Rvd24gLSBUaGUgTWFya2Rvd24gc3RyaW5nIHRvIGNvbnZlcnQuXG4gKiBAcGFyYW0gc291cmNlUGF0aCAtIChvcHRpb25hbCkgVGhlIHNvdXJjZSBwYXRoIHRvIHJlc29sdmUgcmVsYXRpdmUgbGlua3MuXG4gKiBAcmV0dXJucyBUaGUgSFRNTCBzdHJpbmcuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtYXJrZG93blRvSHRtbChhcHA6IEFwcCwgbWFya2Rvd246IHN0cmluZywgc291cmNlUGF0aD86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IGNvbXBvbmVudCA9IG5ldyBDb21wb25lbnQoKTtcbiAgY29tcG9uZW50LmxvYWQoKTtcbiAgY29uc3QgcmVuZGVyRGl2ID0gY3JlYXRlRGl2KCk7XG4gIGF3YWl0IE1hcmtkb3duUmVuZGVyZXIucmVuZGVyKGFwcCwgbWFya2Rvd24sIHJlbmRlckRpdiwgc291cmNlUGF0aCA/PyAnJywgY29tcG9uZW50KTtcbiAgY29uc3QgaHRtbCA9IHJlbmRlckRpdi5pbm5lckhUTUw7XG4gIGNvbXBvbmVudC51bmxvYWQoKTtcbiAgcmV0dXJuIGh0bWw7XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIGxpbmsgaGFuZGxlcnMgZm9yIHRoZSBnaXZlbiBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGVsIC0gVGhlIEhUTUxFbGVtZW50IHRvIHJlZ2lzdGVyIGxpbmsgaGFuZGxlcnMgZm9yLlxuICogQHBhcmFtIHNvdXJjZVBhdGggLSBUaGUgc291cmNlIHBhdGggdG8gcmVzb2x2ZSByZWxhdGl2ZSBsaW5rcyBmcm9tLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVnaXN0ZXJMaW5rSGFuZGxlcnMoYXBwOiBBcHAsIGVsOiBIVE1MRWxlbWVudCwgc291cmNlUGF0aD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVxdWlyZS1hdG9taWMtdXBkYXRlcyAtLSBObyByYWNlIGNvbmRpdGlvbi5cbiAgZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvciA/Pz0gYXdhaXQgZ2V0RG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcihhcHApO1xuICBNYXJrZG93blByZXZpZXdSZW5kZXJlci5yZWdpc3RlckRvbUV2ZW50cyhcbiAgICBlbCxcbiAgICBuZXcgZG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvcihuZXcgRml4ZWRaSW5kZXhEb21FdmVudHNIYW5kbGVyc0luZm8oYXBwLCBzb3VyY2VQYXRoID8/ICcnLCBlbCkpXG4gICk7XG59XG5cbi8qKlxuICogUmVuZGVycyBhbiBleHRlcm5hbCBsaW5rLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHVybCAtIFRoZSBVUkwgdG8gcmVuZGVyIHRoZSBleHRlcm5hbCBsaW5rIGZvci5cbiAqIEBwYXJhbSBkaXNwbGF5VGV4dCAtIFRoZSB0ZXh0IHRvIGRpc3BsYXkgZm9yIHRoZSBleHRlcm5hbCBsaW5rLlxuICogQHJldHVybnMgVGhlIEhUTUxBbmNob3JFbGVtZW50IGNvbnRhaW5pbmcgdGhlIHJlbmRlcmVkIGV4dGVybmFsIGxpbmsuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZW5kZXJFeHRlcm5hbExpbmsoYXBwOiBBcHAsIHVybDogc3RyaW5nLCBkaXNwbGF5VGV4dD86IHN0cmluZyk6IFByb21pc2U8SFRNTEFuY2hvckVsZW1lbnQ+IHtcbiAgZGlzcGxheVRleHQgPz89IHVybDtcbiAgY29uc3Qgd3JhcHBlckVsID0gY3JlYXRlU3BhbigpO1xuICBhd2FpdCBmdWxsUmVuZGVyKHtcbiAgICBhcHAsXG4gICAgZWw6IHdyYXBwZXJFbCxcbiAgICBtYXJrZG93bjogYFske2Rpc3BsYXlUZXh0fV0oJHt1cmx9KWBcbiAgfSk7XG4gIGNvbnN0IGFFbCA9IHdyYXBwZXJFbC5maW5kKCdhJykgYXMgSFRNTEFuY2hvckVsZW1lbnQ7XG4gIGF3YWl0IHJlZ2lzdGVyTGlua0hhbmRsZXJzKGFwcCwgYUVsKTtcbiAgcmV0dXJuIGFFbDtcbn1cblxuLyoqXG4gKiBSZW5kZXJzIGFuIGludGVybmFsIGxpbmsuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yQWJzdHJhY3RGaWxlIC0gVGhlIHBhdGggb3IgYWJzdHJhY3QgZmlsZSB0byByZW5kZXIgdGhlIGludGVybmFsIGxpbmsgZm9yLlxuICogQHBhcmFtIGRpc3BsYXlUZXh0IC0gVGhlIHRleHQgdG8gZGlzcGxheSBmb3IgdGhlIGludGVybmFsIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUgSFRNTEFuY2hvckVsZW1lbnQgY29udGFpbmluZyB0aGUgcmVuZGVyZWQgaW50ZXJuYWwgbGluay5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmRlckludGVybmFsTGluayhhcHA6IEFwcCwgcGF0aE9yQWJzdHJhY3RGaWxlOiBQYXRoT3JBYnN0cmFjdEZpbGUsIGRpc3BsYXlUZXh0Pzogc3RyaW5nKTogUHJvbWlzZTxIVE1MQW5jaG9yRWxlbWVudD4ge1xuICBjb25zdCBhYnN0cmFjdEZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoYXBwLCBwYXRoT3JBYnN0cmFjdEZpbGUpO1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChhcHAsIHBhdGhPckFic3RyYWN0RmlsZSk7XG4gIGRpc3BsYXlUZXh0ID8/PSBwYXRoO1xuICBpZiAoaXNGb2xkZXIoYWJzdHJhY3RGaWxlKSkge1xuICAgIHJldHVybiBjcmVhdGVFbCgnYScsIHsgdGV4dDogZGlzcGxheVRleHQgfSwgKGFFbCkgPT4ge1xuICAgICAgYUVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2dCkgPT4ge1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYXBwLmludGVybmFsUGx1Z2lucy5nZXRFbmFibGVkUGx1Z2luQnlJZChJbnRlcm5hbFBsdWdpbk5hbWUuRmlsZUV4cGxvcmVyKT8ucmV2ZWFsSW5Gb2xkZXIoYWJzdHJhY3RGaWxlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgY29uc3Qgd3JhcHBlckVsID0gY3JlYXRlU3BhbigpO1xuICBhd2FpdCBmdWxsUmVuZGVyKHtcbiAgICBhcHAsXG4gICAgZWw6IHdyYXBwZXJFbCxcbiAgICBtYXJrZG93bjogYFtbJHtwYXRofXwke2Rpc3BsYXlUZXh0fV1dYFxuICB9KTtcbiAgY29uc3QgYUVsID0gd3JhcHBlckVsLmZpbmQoJ2EnKSBhcyBIVE1MQW5jaG9yRWxlbWVudDtcbiAgYXdhaXQgcmVnaXN0ZXJMaW5rSGFuZGxlcnMoYXBwLCBhRWwpO1xuICByZXR1cm4gYUVsO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -364,4 +366,4 @@ function getRegisteredFilesCounts(app) {
364
366
  unregisterFileCacheForNonExistingFile,
365
367
  unregisterFiles
366
368
  });
367
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21ldGFkYXRhLWNhY2hlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCB0aGUgbWV0YWRhdGEgY2FjaGUgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIENhY2hlZE1ldGFkYXRhLFxuICBSZWZlcmVuY2UsXG4gIFRBYnN0cmFjdEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBDdXN0b21BcnJheURpY3QgfSBmcm9tICdvYnNpZGlhbi10eXBpbmdzJztcblxuaW1wb3J0IHtcbiAgQ3VzdG9tQXJyYXlEaWN0SW1wbCxcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZSxcbiAgaXNSZWZlcmVuY2VDYWNoZSxcbiAgcGFyZW50Rm9sZGVyUGF0aFxufSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB0eXBlIHsgUmV0cnlPcHRpb25zIH0gZnJvbSAnLi4vYXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBQYXRoT3JGaWxlIH0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5pbXBvcnQgdHlwZSB7IENvbWJpbmVkRnJvbnRtYXR0ZXIgfSBmcm9tICcuL2Zyb250bWF0dGVyLnRzJztcblxuaW1wb3J0IHsgZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZSB9IGZyb20gJy4uL29iamVjdC11dGlscy50cyc7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IGdldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZSB9IGZyb20gJy4vYXBwLnRzJztcbmltcG9ydCB7IHJldHJ5V2l0aFRpbWVvdXROb3RpY2UgfSBmcm9tICcuL2FzeW5jLXdpdGgtbm90aWNlLnRzJztcbmltcG9ydCB7XG4gIGdldEZpbGUsXG4gIGdldEZpbGVPck51bGwsXG4gIGdldEZvbGRlcixcbiAgZ2V0UGF0aCxcbiAgaXNGaWxlXG59IGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuaW1wb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzLFxuICB0b0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHNcbn0gZnJvbSAnLi9mcm9udG1hdHRlci1saW5rLWNhY2hlLXdpdGgtb2Zmc2V0cy50cyc7XG5pbXBvcnQgeyBwYXJzZUZyb250bWF0dGVyIH0gZnJvbSAnLi9mcm9udG1hdHRlci50cyc7XG5pbXBvcnQgeyB0IH0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuaW1wb3J0IHsgc29ydFJlZmVyZW5jZXMgfSBmcm9tICcuL3JlZmVyZW5jZS50cyc7XG5pbXBvcnQge1xuICByZWFkU2FmZSxcbiAgc2F2ZU5vdGVcbn0gZnJvbSAnLi92YXVsdC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGdldEJhY2tsaW5rc0ZvckZpbGVTYWZlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRCYWNrbGlua3NGb3JGaWxlU2FmZU9wdGlvbnMgZXh0ZW5kcyBSZXRyeU9wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IGEgdGltZW91dCBub3RpY2UuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkU2hvd1RpbWVvdXROb3RpY2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgZm9yIHRoZSBnZXRCYWNrbGlua3NGb3JGaWxlIG1ldGhvZCB0aGF0IHByb3ZpZGVzIGEgc2FmZSBvdmVybG9hZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRCYWNrbGlua3NGb3JGaWxlU2FmZVdyYXBwZXIge1xuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBiYWNrbGlua3MgZm9yIGEgZmlsZSBzYWZlbHkuXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSBvYmplY3QuXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgZGljdGlvbmFyeSBvZiBiYWNrbGlua3MuXG4gICAqL1xuICBzYWZlKHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+Pjtcbn1cblxuLyoqXG4gKiBFbnN1cmVzIHRoYXQgdGhlIG1ldGFkYXRhIGNhY2hlIGlzIHJlYWR5IGZvciBhbGwgZmlsZXMuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG1ldGFkYXRhIGNhY2hlIGlzIHJlYWR5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5zdXJlTWV0YWRhdGFDYWNoZVJlYWR5KGFwcDogQXBwKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgYXBwLm1ldGFkYXRhQ2FjaGUub25DbGVhbkNhY2hlKHJlc29sdmUpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYWxsIGxpbmtzIGZyb20gdGhlIHByb3ZpZGVkIGNhY2hlLlxuICpcbiAqIEBwYXJhbSBjYWNoZSAtIFRoZSBjYWNoZWQgbWV0YWRhdGEuXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiByZWZlcmVuY2UgY2FjaGVzIHJlcHJlc2VudGluZyB0aGUgbGlua3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxMaW5rcyhjYWNoZTogQ2FjaGVkTWV0YWRhdGEpOiBSZWZlcmVuY2VbXSB7XG4gIGxldCBsaW5rczogUmVmZXJlbmNlW10gPSBbXTtcblxuICBpZiAoY2FjaGUubGlua3MpIHtcbiAgICBsaW5rcy5wdXNoKC4uLmNhY2hlLmxpbmtzKTtcbiAgfVxuXG4gIGlmIChjYWNoZS5lbWJlZHMpIHtcbiAgICBsaW5rcy5wdXNoKC4uLmNhY2hlLmVtYmVkcyk7XG4gIH1cblxuICBpZiAoY2FjaGUuZnJvbnRtYXR0ZXJMaW5rcykge1xuICAgIGxpbmtzLnB1c2goLi4uY2FjaGUuZnJvbnRtYXR0ZXJMaW5rcyk7XG4gIH1cblxuICBzb3J0UmVmZXJlbmNlcyhsaW5rcyk7XG5cbiAgLy8gQlVHOiBodHRwczovL2ZvcnVtLm9ic2lkaWFuLm1kL3QvYnVnLWR1cGxpY2F0ZWQtbGlua3MtaW4tbWV0YWRhdGFjYWNoZS1pbnNpZGUtZm9vdG5vdGVzLzg1NTUxXG4gIGxpbmtzID0gbGlua3MuZmlsdGVyKChsaW5rLCBpbmRleCkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgcHJldmlvdXNMaW5rID0gZW5zdXJlTm9uTnVsbGFibGUobGlua3NbaW5kZXggLSAxXSk7XG5cbiAgICBpZiAoaXNSZWZlcmVuY2VDYWNoZShsaW5rKSAmJiBpc1JlZmVyZW5jZUNhY2hlKHByZXZpb3VzTGluaykpIHtcbiAgICAgIHJldHVybiBsaW5rLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCAhPT0gcHJldmlvdXNMaW5rLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldDtcbiAgICB9XG5cbiAgICBpZiAoaXNGcm9udG1hdHRlckxpbmtDYWNoZShsaW5rKSAmJiBpc0Zyb250bWF0dGVyTGlua0NhY2hlKHByZXZpb3VzTGluaykpIHtcbiAgICAgIGNvbnN0IGxpbmtTdGFydE9mZnNldCA9IGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyhsaW5rKSA/IGxpbmsuc3RhcnRPZmZzZXQgOiAwO1xuICAgICAgY29uc3QgcHJldmlvdXNMaW5rU3RhcnRPZmZzZXQgPSBpc0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMocHJldmlvdXNMaW5rKSA/IHByZXZpb3VzTGluay5zdGFydE9mZnNldCA6IDA7XG4gICAgICByZXR1cm4gbGluay5rZXkgIT09IHByZXZpb3VzTGluay5rZXkgfHwgaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzKGxpbmspICE9PSBpc0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMocHJldmlvdXNMaW5rKVxuICAgICAgICB8fCBsaW5rU3RhcnRPZmZzZXQgIT09IHByZXZpb3VzTGlua1N0YXJ0T2Zmc2V0O1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9KTtcblxuICByZXR1cm4gbGlua3M7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBiYWNrbGlua3MgZm9yIGEgZmlsZSBvciBwYXRoLlxuICogTk9URTogVGhlIGZpbGUgbWF5IGJlIG5vbi1leGlzdGVudC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIG9iamVjdC5cbiAqIEByZXR1cm5zIFRoZSBiYWNrbGlua3MgZm9yIHRoZSBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFja2xpbmtzRm9yRmlsZU9yUGF0aChhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+IHtcbiAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlLCB0cnVlKTtcbiAgcmV0dXJuIHRlbXBSZWdpc3RlckZpbGVzQW5kUnVuKGFwcCwgW2ZpbGVdLCAoKSA9PiBhcHAubWV0YWRhdGFDYWNoZS5nZXRCYWNrbGlua3NGb3JGaWxlKGZpbGUpKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGJhY2tsaW5rcyBmb3IgYSBmaWxlIHNhZmVseS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gT3RoZXIgb3B0aW9ucy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgZGljdGlvbmFyeSBvZiBiYWNrbGlua3MuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShcbiAgYXBwOiBBcHAsXG4gIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsXG4gIG9wdGlvbnM6IEdldEJhY2tsaW5rc0ZvckZpbGVTYWZlT3B0aW9ucyA9IHt9XG4pOiBQcm9taXNlPEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+PiB7XG4gIGNvbnN0IHNhZmVPdmVybG9hZCA9IChhcHAubWV0YWRhdGFDYWNoZS5nZXRCYWNrbGlua3NGb3JGaWxlIGFzIFBhcnRpYWw8R2V0QmFja2xpbmtzRm9yRmlsZVNhZmVXcmFwcGVyPikuc2FmZTtcbiAgaWYgKHNhZmVPdmVybG9hZCkge1xuICAgIHJldHVybiBzYWZlT3ZlcmxvYWQocGF0aE9yRmlsZSk7XG4gIH1cbiAgbGV0IGJhY2tsaW5rczogQ3VzdG9tQXJyYXlEaWN0PFJlZmVyZW5jZT4gPSBuZXcgQ3VzdG9tQXJyYXlEaWN0SW1wbDxSZWZlcmVuY2U+KCk7XG4gIGF3YWl0IHJldHJ5V2l0aFRpbWVvdXROb3RpY2Uoe1xuICAgIGFzeW5jIG9wZXJhdGlvbkZuKGFib3J0U2lnbmFsKSB7XG4gICAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICAgICAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgICAgIGF3YWl0IGVuc3VyZU1ldGFkYXRhQ2FjaGVSZWFkeShhcHApO1xuICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgICAgIGJhY2tsaW5rcyA9IGdldEJhY2tsaW5rc0ZvckZpbGVPclBhdGgoYXBwLCBmaWxlKTtcbiAgICAgIGZvciAoY29uc3Qgbm90ZVBhdGggb2YgYmFja2xpbmtzLmtleXMoKSkge1xuICAgICAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICAgICAgICBjb25zdCBub3RlID0gZ2V0RmlsZU9yTnVsbChhcHAsIG5vdGVQYXRoKTtcbiAgICAgICAgaWYgKCFub3RlKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgc2F2ZU5vdGUoYXBwLCBub3RlKTtcbiAgICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcblxuICAgICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZFNhZmUoYXBwLCBub3RlKTtcbiAgICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgICAgICAgaWYgKCFjb250ZW50KSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZyb250bWF0dGVyID0gcGFyc2VGcm9udG1hdHRlcihjb250ZW50KTtcbiAgICAgICAgY29uc3QgbGlua3MgPSBiYWNrbGlua3MuZ2V0KG5vdGVQYXRoKTtcbiAgICAgICAgaWYgKCFsaW5rcykge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgbGluayBvZiBsaW5rcykge1xuICAgICAgICAgIGxldCBhY3R1YWxMaW5rOiBzdHJpbmc7XG4gICAgICAgICAgaWYgKGlzUmVmZXJlbmNlQ2FjaGUobGluaykpIHtcbiAgICAgICAgICAgIGFjdHVhbExpbmsgPSBjb250ZW50LnNsaWNlKGxpbmsucG9zaXRpb24uc3RhcnQub2Zmc2V0LCBsaW5rLnBvc2l0aW9uLmVuZC5vZmZzZXQpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaXNGcm9udG1hdHRlckxpbmtDYWNoZShsaW5rKSkge1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydHlWYWx1ZSA9IGdldE5lc3RlZFByb3BlcnR5VmFsdWUoZnJvbnRtYXR0ZXIsIGxpbmsua2V5KTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcGVydHlWYWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBsaW5rV2l0aE9mZnNldHMgPSB0b0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMobGluayk7XG4gICAgICAgICAgICBhY3R1YWxMaW5rID0gcHJvcGVydHlWYWx1ZS5zbGljZShsaW5rV2l0aE9mZnNldHMuc3RhcnRPZmZzZXQsIGxpbmtXaXRoT2Zmc2V0cy5lbmRPZmZzZXQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGFjdHVhbExpbmsgIT09IGxpbmsub3JpZ2luYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBvcGVyYXRpb25OYW1lOiB0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMubWV0YWRhdGFDYWNoZS5nZXRCYWNrbGlua3NGb3JGaWxlUGF0aCwgeyBmaWxlUGF0aDogZ2V0UGF0aChhcHAsIHBhdGhPckZpbGUpIH0pLFxuICAgIHJldHJ5T3B0aW9uczogb3B0aW9ucyxcbiAgICBzaG91bGRTaG93VGltZW91dE5vdGljZTogb3B0aW9ucy5zaG91bGRTaG93VGltZW91dE5vdGljZSA/PyB0cnVlXG4gIH0pO1xuXG4gIHJldHVybiBiYWNrbGlua3M7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBjYWNoZWQgbWV0YWRhdGEgZm9yIGEgZ2l2ZW4gZmlsZSBvciBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGVPclBhdGggLSBUaGUgZmlsZSBvciBwYXRoIHRvIHJldHJpZXZlIHRoZSBtZXRhZGF0YSBmb3IuXG4gKiBAcmV0dXJucyBUaGUgY2FjaGVkIG1ldGFkYXRhIGZvciB0aGUgZmlsZSwgb3IgYG51bGxgIGlmIGl0IGRvZXNuJ3QgZXhpc3QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRDYWNoZVNhZmUoYXBwOiBBcHAsIGZpbGVPclBhdGg6IFBhdGhPckZpbGUpOiBQcm9taXNlPENhY2hlZE1ldGFkYXRhIHwgbnVsbD4ge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZU9yTnVsbChhcHAsIGZpbGVPclBhdGgpO1xuXG4gIHRyeSB7XG4gICAgaWYgKCFmaWxlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoZmlsZS5kZWxldGVkKSB7XG4gICAgICByZXR1cm4gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0RmlsZUNhY2hlKGZpbGUpO1xuICAgIH1cblxuICAgIGF3YWl0IHNhdmVOb3RlKGFwcCwgZmlsZSk7XG5cbiAgICBjb25zdCBmaWxlQ2FjaGVFbnRyeSA9IGFwcC5tZXRhZGF0YUNhY2hlLmZpbGVDYWNoZVtmaWxlLnBhdGhdO1xuICAgIGNvbnN0IGlzVXBUb0RhdGUgPSBmaWxlQ2FjaGVFbnRyeT8ubXRpbWUgPT09IGZpbGUuc3RhdC5tdGltZVxuICAgICAgJiYgZmlsZUNhY2hlRW50cnkuc2l6ZSA9PT0gZmlsZS5zdGF0LnNpemVcbiAgICAgICYmIGFwcC5tZXRhZGF0YUNhY2hlLm1ldGFkYXRhQ2FjaGVbZmlsZUNhY2hlRW50cnkuaGFzaF07XG4gICAgaWYgKCFpc1VwVG9EYXRlKSB7XG4gICAgICBhd2FpdCBhcHAubWV0YWRhdGFDYWNoZS5jb21wdXRlRmlsZU1ldGFkYXRhQXN5bmMoZmlsZSk7XG4gICAgICBhd2FpdCBlbnN1cmVNZXRhZGF0YUNhY2hlUmVhZHkoYXBwKTtcbiAgICB9XG4gICAgcmV0dXJuIGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpbGVDYWNoZShmaWxlKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBpZiAoIWZpbGUgfHwgZmlsZS5kZWxldGVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgZnJvbnQgbWF0dGVyIGZyb20gdGhlIG1ldGFkYXRhIGNhY2hlIHNhZmVseS5cbiAqXG4gKiBAdHlwZVBhcmFtIEN1c3RvbUZyb250bWF0dGVyIC0gVGhlIHR5cGUgb2YgY3VzdG9tIGZyb250IG1hdHRlci5cbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIHJldHJpZXZlIHRoZSBmcm9udCBtYXR0ZXIgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBjb21iaW5lZCBmcm9udCBtYXR0ZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRGcm9udG1hdHRlclNhZmU8Q3VzdG9tRnJvbnRtYXR0ZXIgPSB1bmtub3duPihhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8Q29tYmluZWRGcm9udG1hdHRlcjxDdXN0b21Gcm9udG1hdHRlcj4+IHtcbiAgY29uc3QgY2FjaGUgPSBhd2FpdCBnZXRDYWNoZVNhZmUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgcmV0dXJuIChjYWNoZT8uZnJvbnRtYXR0ZXIgPz8ge30pIGFzIENvbWJpbmVkRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+O1xufVxuXG4vKipcbiAqIFBhcnNlcyB0aGUgbWV0YWRhdGEgZm9yIGEgZ2l2ZW4gc3RyaW5nLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gcGFyc2UgdGhlIG1ldGFkYXRhIGZvci5cbiAqIEByZXR1cm5zIFRoZSBwYXJzZWQgbWV0YWRhdGEuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwYXJzZU1ldGFkYXRhKGFwcDogQXBwLCBzdHI6IHN0cmluZyk6IFByb21pc2U8Q2FjaGVkTWV0YWRhdGE+IHtcbiAgY29uc3QgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpO1xuICBjb25zdCBidWZmZXIgPSBlbmNvZGVyLmVuY29kZShzdHIpLmJ1ZmZlcjtcbiAgcmV0dXJuIGF3YWl0IGFwcC5tZXRhZGF0YUNhY2hlLmNvbXB1dGVNZXRhZGF0YUFzeW5jKGJ1ZmZlcikgPz8ge307XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIHRoZSBmaWxlIGNhY2hlIGZvciBhIG5vbi1leGlzdGluZyBmaWxlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIHJlZ2lzdGVyIHRoZSBmaWxlIGNhY2hlIGZvci5cbiAqIEBwYXJhbSBjYWNoZSAtIFRoZSBmaWxlIGNhY2hlIHRvIHJlZ2lzdGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJGaWxlQ2FjaGVGb3JOb25FeGlzdGluZ0ZpbGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIGNhY2hlOiBDYWNoZWRNZXRhZGF0YSk6IHZvaWQge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUsIHRydWUpO1xuICBpZiAoIWZpbGUuZGVsZXRlZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignRmlsZSBpcyBleGlzdGluZycpO1xuICB9XG5cbiAgYXBwLm1ldGFkYXRhQ2FjaGUuZmlsZUNhY2hlW2ZpbGUucGF0aF0gPSB7XG4gICAgaGFzaDogZmlsZS5wYXRoLFxuICAgIG10aW1lOiAwLFxuICAgIHNpemU6IDBcbiAgfTtcblxuICBhcHAubWV0YWRhdGFDYWNoZS5tZXRhZGF0YUNhY2hlW2ZpbGUucGF0aF0gPSBjYWNoZTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgZmlsZXMgaW4gdGhlIE9ic2lkaWFuIGFwcC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBmaWxlcyAtIFRoZSBmaWxlcyB0byByZWdpc3Rlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRmlsZXMoYXBwOiBBcHAsIGZpbGVzOiBUQWJzdHJhY3RGaWxlW10pOiB2b2lkIHtcbiAgY29uc3QgcmVnaXN0ZXJlZEZpbGVzQ291bnRzID0gZ2V0UmVnaXN0ZXJlZEZpbGVzQ291bnRzKGFwcCk7XG5cbiAgZm9yIChsZXQgZmlsZSBvZiBmaWxlcykge1xuICAgIHdoaWxlIChmaWxlLmRlbGV0ZWQpIHtcbiAgICAgIGxldCBjb3VudCA9IHJlZ2lzdGVyZWRGaWxlc0NvdW50cy5nZXQoZmlsZS5wYXRoKSA/PyAwO1xuICAgICAgY291bnQrKztcbiAgICAgIHJlZ2lzdGVyZWRGaWxlc0NvdW50cy5zZXQoZmlsZS5wYXRoLCBjb3VudCk7XG5cbiAgICAgIGFwcC52YXVsdC5maWxlTWFwW2ZpbGUucGF0aF0gPSBmaWxlO1xuXG4gICAgICBpZiAoaXNGaWxlKGZpbGUpKSB7XG4gICAgICAgIGFwcC5tZXRhZGF0YUNhY2hlLnVuaXF1ZUZpbGVMb29rdXAuYWRkKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLCBmaWxlKTtcbiAgICAgIH1cblxuICAgICAgZmlsZSA9IGdldEZvbGRlcihhcHAsIHBhcmVudEZvbGRlclBhdGgoZmlsZS5wYXRoKSwgdHJ1ZSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVGVtcG9yYXJpbHkgcmVnaXN0ZXJzIGZpbGVzIGFuZCBydW5zIGEgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBmaWxlcyAtIFRoZSBmaWxlcyB0byB0ZW1wb3JhcmlseSByZWdpc3Rlci5cbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBydW4uXG4gKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlbXBSZWdpc3RlckZpbGVzQW5kUnVuPFQ+KGFwcDogQXBwLCBmaWxlczogVEFic3RyYWN0RmlsZVtdLCBmbjogKCkgPT4gVCk6IFQge1xuICB0cnkge1xuICAgIHJlZ2lzdGVyRmlsZXMoYXBwLCBmaWxlcyk7XG4gICAgcmV0dXJuIGZuKCk7XG4gIH0gZmluYWxseSB7XG4gICAgdW5yZWdpc3RlckZpbGVzKGFwcCwgZmlsZXMpO1xuICB9XG59XG5cbi8qKlxuICogVGVtcG9yYXJpbHkgcmVnaXN0ZXJzIGZpbGVzIGFuZCBydW5zIGFuIGFzeW5jIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uLlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZmlsZXMgLSBUaGUgZmlsZXMgdG8gdGVtcG9yYXJpbHkgcmVnaXN0ZXIuXG4gKiBAcGFyYW0gZm4gLSBUaGUgZnVuY3Rpb24gdG8gcnVuLlxuICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZW1wUmVnaXN0ZXJGaWxlc0FuZFJ1bkFzeW5jPFQ+KGFwcDogQXBwLCBmaWxlczogVEFic3RyYWN0RmlsZVtdLCBmbjogKCkgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VD4ge1xuICB0cnkge1xuICAgIHJlZ2lzdGVyRmlsZXMoYXBwLCBmaWxlcyk7XG4gICAgcmV0dXJuIGF3YWl0IGZuKCk7XG4gIH0gZmluYWxseSB7XG4gICAgdW5yZWdpc3RlckZpbGVzKGFwcCwgZmlsZXMpO1xuICB9XG59XG5cbi8qKlxuICogVW5yZWdpc3RlcnMgdGhlIGZpbGUgY2FjaGUgZm9yIGEgbm9uLWV4aXN0aW5nIGZpbGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gdW5yZWdpc3RlciB0aGUgZmlsZSBjYWNoZSBmb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bnJlZ2lzdGVyRmlsZUNhY2hlRm9yTm9uRXhpc3RpbmdGaWxlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogdm9pZCB7XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSwgdHJ1ZSk7XG4gIGlmICghZmlsZS5kZWxldGVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGaWxlIGlzIGV4aXN0aW5nJyk7XG4gIH1cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1keW5hbWljLWRlbGV0ZSAtLSBXZSBoYXZlIG5vIG90aGVyIHdheSB0byBkZWxldGUgdGhlIHByb3BlcnR5LlxuICBkZWxldGUgYXBwLm1ldGFkYXRhQ2FjaGUuZmlsZUNhY2hlW2ZpbGUucGF0aF07XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHluYW1pYy1kZWxldGUgLS0gV2UgaGF2ZSBubyBvdGhlciB3YXkgdG8gZGVsZXRlIHRoZSBwcm9wZXJ0eS5cbiAgZGVsZXRlIGFwcC5tZXRhZGF0YUNhY2hlLm1ldGFkYXRhQ2FjaGVbZmlsZS5wYXRoXTtcbn1cblxuLyoqXG4gKiBVbnJlZ2lzdGVycyBmaWxlcyBmcm9tIHRoZSBPYnNpZGlhbiBhcHAuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZmlsZXMgLSBUaGUgZmlsZXMgdG8gdW5yZWdpc3Rlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVucmVnaXN0ZXJGaWxlcyhhcHA6IEFwcCwgZmlsZXM6IFRBYnN0cmFjdEZpbGVbXSk6IHZvaWQge1xuICBjb25zdCByZWdpc3RlcmVkRmlsZXNDb3VudHMgPSBnZXRSZWdpc3RlcmVkRmlsZXNDb3VudHMoYXBwKTtcblxuICBmb3IgKGxldCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgd2hpbGUgKGZpbGUuZGVsZXRlZCkge1xuICAgICAgbGV0IGNvdW50ID0gcmVnaXN0ZXJlZEZpbGVzQ291bnRzLmdldChmaWxlLnBhdGgpID8/IDE7XG4gICAgICBjb3VudC0tO1xuICAgICAgcmVnaXN0ZXJlZEZpbGVzQ291bnRzLnNldChmaWxlLnBhdGgsIGNvdW50KTtcbiAgICAgIGlmIChjb3VudCA9PT0gMCkge1xuICAgICAgICByZWdpc3RlcmVkRmlsZXNDb3VudHMuZGVsZXRlKGZpbGUucGF0aCk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHluYW1pYy1kZWxldGUgLS0gV2UgaGF2ZSBubyBvdGhlciB3YXkgdG8gZGVsZXRlIHRoZSBwcm9wZXJ0eS5cbiAgICAgICAgZGVsZXRlIGFwcC52YXVsdC5maWxlTWFwW2ZpbGUucGF0aF07XG5cbiAgICAgICAgaWYgKGlzRmlsZShmaWxlKSkge1xuICAgICAgICAgIGFwcC5tZXRhZGF0YUNhY2hlLnVuaXF1ZUZpbGVMb29rdXAucmVtb3ZlKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLCBmaWxlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmaWxlID0gZ2V0Rm9sZGVyKGFwcCwgcGFyZW50Rm9sZGVyUGF0aChmaWxlLnBhdGgpLCB0cnVlKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0UmVnaXN0ZXJlZEZpbGVzQ291bnRzKGFwcDogQXBwKTogTWFwPHN0cmluZywgbnVtYmVyPiB7XG4gIHJldHVybiBnZXRPYnNpZGlhbkRldlV0aWxzU3RhdGUoYXBwLCAncmVnaXN0ZXJlZEZpbGVzQ291bnRzJywg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
369
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21ldGFkYXRhLWNhY2hlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHdvcmtpbmcgd2l0aCB0aGUgbWV0YWRhdGEgY2FjaGUgaW4gT2JzaWRpYW4uXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIENhY2hlZE1ldGFkYXRhLFxuICBSZWZlcmVuY2UsXG4gIFRBYnN0cmFjdEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBDdXN0b21BcnJheURpY3QgfSBmcm9tICdvYnNpZGlhbi10eXBpbmdzJztcblxuaW1wb3J0IHtcbiAgQ3VzdG9tQXJyYXlEaWN0SW1wbCxcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZSxcbiAgaXNSZWZlcmVuY2VDYWNoZSxcbiAgcGFyZW50Rm9sZGVyUGF0aFxufSBmcm9tICdvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9ucyc7XG5cbmltcG9ydCB0eXBlIHsgUmV0cnlPcHRpb25zIH0gZnJvbSAnLi4vYXN5bmMudHMnO1xuaW1wb3J0IHR5cGUgeyBQYXRoT3JGaWxlIH0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5pbXBvcnQgdHlwZSB7IENvbWJpbmVkRnJvbnRtYXR0ZXIgfSBmcm9tICcuL2Zyb250bWF0dGVyLnRzJztcblxuaW1wb3J0IHsgZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZSB9IGZyb20gJy4uL29iamVjdC11dGlscy50cyc7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IGdldE9ic2lkaWFuRGV2VXRpbHNTdGF0ZSB9IGZyb20gJy4vYXBwLnRzJztcbmltcG9ydCB7IHJldHJ5V2l0aFRpbWVvdXROb3RpY2UgfSBmcm9tICcuL2FzeW5jLXdpdGgtbm90aWNlLnRzJztcbmltcG9ydCB7XG4gIGdldEZpbGUsXG4gIGdldEZpbGVPck51bGwsXG4gIGdldEZvbGRlcixcbiAgZ2V0UGF0aCxcbiAgaXNGaWxlXG59IGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuaW1wb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzLFxuICB0b0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHNcbn0gZnJvbSAnLi9mcm9udG1hdHRlci1saW5rLWNhY2hlLXdpdGgtb2Zmc2V0cy50cyc7XG5pbXBvcnQgeyBwYXJzZUZyb250bWF0dGVyIH0gZnJvbSAnLi9mcm9udG1hdHRlci50cyc7XG5pbXBvcnQgeyB0IH0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuaW1wb3J0IHsgc29ydFJlZmVyZW5jZXMgfSBmcm9tICcuL3JlZmVyZW5jZS50cyc7XG5pbXBvcnQge1xuICByZWFkU2FmZSxcbiAgc2F2ZU5vdGVcbn0gZnJvbSAnLi92YXVsdC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGdldEJhY2tsaW5rc0ZvckZpbGVTYWZlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRCYWNrbGlua3NGb3JGaWxlU2FmZU9wdGlvbnMgZXh0ZW5kcyBSZXRyeU9wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IGEgdGltZW91dCBub3RpY2UuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkU2hvd1RpbWVvdXROb3RpY2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgZm9yIHRoZSBnZXRCYWNrbGlua3NGb3JGaWxlIG1ldGhvZCB0aGF0IHByb3ZpZGVzIGEgc2FmZSBvdmVybG9hZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRCYWNrbGlua3NGb3JGaWxlU2FmZVdyYXBwZXIge1xuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBiYWNrbGlua3MgZm9yIGEgZmlsZSBzYWZlbHkuXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSBvYmplY3QuXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgZGljdGlvbmFyeSBvZiBiYWNrbGlua3MuXG4gICAqL1xuICBzYWZlKHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+Pjtcbn1cblxuLyoqXG4gKiBFbnN1cmVzIHRoYXQgdGhlIG1ldGFkYXRhIGNhY2hlIGlzIHJlYWR5IGZvciBhbGwgZmlsZXMuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG1ldGFkYXRhIGNhY2hlIGlzIHJlYWR5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5zdXJlTWV0YWRhdGFDYWNoZVJlYWR5KGFwcDogQXBwKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgYXBwLm1ldGFkYXRhQ2FjaGUub25DbGVhbkNhY2hlKHJlc29sdmUpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYWxsIGxpbmtzIGZyb20gdGhlIHByb3ZpZGVkIGNhY2hlLlxuICpcbiAqIEBwYXJhbSBjYWNoZSAtIFRoZSBjYWNoZWQgbWV0YWRhdGEuXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiByZWZlcmVuY2UgY2FjaGVzIHJlcHJlc2VudGluZyB0aGUgbGlua3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxMaW5rcyhjYWNoZTogQ2FjaGVkTWV0YWRhdGEpOiBSZWZlcmVuY2VbXSB7XG4gIGxldCBsaW5rczogUmVmZXJlbmNlW10gPSBbXTtcblxuICBpZiAoY2FjaGUubGlua3MpIHtcbiAgICBsaW5rcy5wdXNoKC4uLmNhY2hlLmxpbmtzKTtcbiAgfVxuXG4gIGlmIChjYWNoZS5lbWJlZHMpIHtcbiAgICBsaW5rcy5wdXNoKC4uLmNhY2hlLmVtYmVkcyk7XG4gIH1cblxuICBpZiAoY2FjaGUuZnJvbnRtYXR0ZXJMaW5rcykge1xuICAgIGxpbmtzLnB1c2goLi4uY2FjaGUuZnJvbnRtYXR0ZXJMaW5rcyk7XG4gIH1cblxuICBzb3J0UmVmZXJlbmNlcyhsaW5rcyk7XG5cbiAgLy8gQlVHOiBodHRwczovL2ZvcnVtLm9ic2lkaWFuLm1kL3QvYnVnLWR1cGxpY2F0ZWQtbGlua3MtaW4tbWV0YWRhdGFjYWNoZS1pbnNpZGUtZm9vdG5vdGVzLzg1NTUxXG4gIGxpbmtzID0gbGlua3MuZmlsdGVyKChsaW5rLCBpbmRleCkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgcHJldmlvdXNMaW5rID0gZW5zdXJlTm9uTnVsbGFibGUobGlua3NbaW5kZXggLSAxXSk7XG5cbiAgICBpZiAoaXNSZWZlcmVuY2VDYWNoZShsaW5rKSAmJiBpc1JlZmVyZW5jZUNhY2hlKHByZXZpb3VzTGluaykpIHtcbiAgICAgIHJldHVybiBsaW5rLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCAhPT0gcHJldmlvdXNMaW5rLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldDtcbiAgICB9XG5cbiAgICBpZiAoaXNGcm9udG1hdHRlckxpbmtDYWNoZShsaW5rKSAmJiBpc0Zyb250bWF0dGVyTGlua0NhY2hlKHByZXZpb3VzTGluaykpIHtcbiAgICAgIGNvbnN0IGxpbmtTdGFydE9mZnNldCA9IGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGVXaXRoT2Zmc2V0cyhsaW5rKSA/IGxpbmsuc3RhcnRPZmZzZXQgOiAwO1xuICAgICAgY29uc3QgcHJldmlvdXNMaW5rU3RhcnRPZmZzZXQgPSBpc0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMocHJldmlvdXNMaW5rKSA/IHByZXZpb3VzTGluay5zdGFydE9mZnNldCA6IDA7XG4gICAgICByZXR1cm4gbGluay5rZXkgIT09IHByZXZpb3VzTGluay5rZXkgfHwgaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzKGxpbmspICE9PSBpc0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMocHJldmlvdXNMaW5rKVxuICAgICAgICB8fCBsaW5rU3RhcnRPZmZzZXQgIT09IHByZXZpb3VzTGlua1N0YXJ0T2Zmc2V0O1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9KTtcblxuICByZXR1cm4gbGlua3M7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBiYWNrbGlua3MgZm9yIGEgZmlsZSBvciBwYXRoLlxuICogTk9URTogVGhlIGZpbGUgbWF5IGJlIG5vbi1leGlzdGVudC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIG9iamVjdC5cbiAqIEByZXR1cm5zIFRoZSBiYWNrbGlua3MgZm9yIHRoZSBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFja2xpbmtzRm9yRmlsZU9yUGF0aChhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+IHtcbiAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlLCB0cnVlKTtcbiAgcmV0dXJuIHRlbXBSZWdpc3RlckZpbGVzQW5kUnVuKGFwcCwgW2ZpbGVdLCAoKSA9PiBhcHAubWV0YWRhdGFDYWNoZS5nZXRCYWNrbGlua3NGb3JGaWxlKGZpbGUpKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGJhY2tsaW5rcyBmb3IgYSBmaWxlIHNhZmVseS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIG9iamVjdC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gT3RoZXIgb3B0aW9ucy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgZGljdGlvbmFyeSBvZiBiYWNrbGlua3MuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShcbiAgYXBwOiBBcHAsXG4gIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsXG4gIG9wdGlvbnM6IEdldEJhY2tsaW5rc0ZvckZpbGVTYWZlT3B0aW9ucyA9IHt9XG4pOiBQcm9taXNlPEN1c3RvbUFycmF5RGljdDxSZWZlcmVuY2U+PiB7XG4gIGNvbnN0IHNhZmVPdmVybG9hZCA9IChhcHAubWV0YWRhdGFDYWNoZS5nZXRCYWNrbGlua3NGb3JGaWxlIGFzIFBhcnRpYWw8R2V0QmFja2xpbmtzRm9yRmlsZVNhZmVXcmFwcGVyPikuc2FmZTtcbiAgaWYgKHNhZmVPdmVybG9hZCkge1xuICAgIHJldHVybiBzYWZlT3ZlcmxvYWQocGF0aE9yRmlsZSk7XG4gIH1cbiAgbGV0IGJhY2tsaW5rczogQ3VzdG9tQXJyYXlEaWN0PFJlZmVyZW5jZT4gPSBuZXcgQ3VzdG9tQXJyYXlEaWN0SW1wbDxSZWZlcmVuY2U+KCk7XG4gIGF3YWl0IHJldHJ5V2l0aFRpbWVvdXROb3RpY2Uoe1xuICAgIGFzeW5jIG9wZXJhdGlvbkZuKGFib3J0U2lnbmFsKSB7XG4gICAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICAgICAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgICAgIGF3YWl0IGVuc3VyZU1ldGFkYXRhQ2FjaGVSZWFkeShhcHApO1xuICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgICAgIGJhY2tsaW5rcyA9IGdldEJhY2tsaW5rc0ZvckZpbGVPclBhdGgoYXBwLCBmaWxlKTtcbiAgICAgIGZvciAoY29uc3Qgbm90ZVBhdGggb2YgYmFja2xpbmtzLmtleXMoKSkge1xuICAgICAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICAgICAgICBjb25zdCBub3RlID0gZ2V0RmlsZU9yTnVsbChhcHAsIG5vdGVQYXRoKTtcbiAgICAgICAgaWYgKCFub3RlKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgc2F2ZU5vdGUoYXBwLCBub3RlKTtcbiAgICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcblxuICAgICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZFNhZmUoYXBwLCBub3RlKTtcbiAgICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgICAgICAgaWYgKCFjb250ZW50KSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZyb250bWF0dGVyID0gcGFyc2VGcm9udG1hdHRlcihjb250ZW50KTtcbiAgICAgICAgY29uc3QgbGlua3MgPSBiYWNrbGlua3MuZ2V0KG5vdGVQYXRoKTtcbiAgICAgICAgaWYgKCFsaW5rcykge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgbGluayBvZiBsaW5rcykge1xuICAgICAgICAgIGxldCBhY3R1YWxMaW5rOiBzdHJpbmc7XG4gICAgICAgICAgaWYgKGlzUmVmZXJlbmNlQ2FjaGUobGluaykpIHtcbiAgICAgICAgICAgIGFjdHVhbExpbmsgPSBjb250ZW50LnNsaWNlKGxpbmsucG9zaXRpb24uc3RhcnQub2Zmc2V0LCBsaW5rLnBvc2l0aW9uLmVuZC5vZmZzZXQpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaXNGcm9udG1hdHRlckxpbmtDYWNoZShsaW5rKSkge1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydHlWYWx1ZSA9IGdldE5lc3RlZFByb3BlcnR5VmFsdWUoZnJvbnRtYXR0ZXIsIGxpbmsua2V5KTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcGVydHlWYWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBsaW5rV2l0aE9mZnNldHMgPSB0b0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHMobGluayk7XG4gICAgICAgICAgICBhY3R1YWxMaW5rID0gcHJvcGVydHlWYWx1ZS5zbGljZShsaW5rV2l0aE9mZnNldHMuc3RhcnRPZmZzZXQsIGxpbmtXaXRoT2Zmc2V0cy5lbmRPZmZzZXQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGFjdHVhbExpbmsgIT09IGxpbmsub3JpZ2luYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBvcGVyYXRpb25OYW1lOiB0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMubWV0YWRhdGFDYWNoZS5nZXRCYWNrbGlua3NGb3JGaWxlUGF0aCwgeyBmaWxlUGF0aDogZ2V0UGF0aChhcHAsIHBhdGhPckZpbGUpIH0pLFxuICAgIHJldHJ5T3B0aW9uczogb3B0aW9ucyxcbiAgICBzaG91bGRTaG93VGltZW91dE5vdGljZTogb3B0aW9ucy5zaG91bGRTaG93VGltZW91dE5vdGljZSA/PyB0cnVlXG4gIH0pO1xuXG4gIHJldHVybiBiYWNrbGlua3M7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBjYWNoZWQgbWV0YWRhdGEgZm9yIGEgZ2l2ZW4gZmlsZSBvciBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGVPclBhdGggLSBUaGUgZmlsZSBvciBwYXRoIHRvIHJldHJpZXZlIHRoZSBtZXRhZGF0YSBmb3IuXG4gKiBAcmV0dXJucyBUaGUgY2FjaGVkIG1ldGFkYXRhIGZvciB0aGUgZmlsZSwgb3IgYG51bGxgIGlmIGl0IGRvZXNuJ3QgZXhpc3QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRDYWNoZVNhZmUoYXBwOiBBcHAsIGZpbGVPclBhdGg6IFBhdGhPckZpbGUpOiBQcm9taXNlPENhY2hlZE1ldGFkYXRhIHwgbnVsbD4ge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZU9yTnVsbChhcHAsIGZpbGVPclBhdGgpO1xuXG4gIHRyeSB7XG4gICAgaWYgKCFmaWxlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoZmlsZS5kZWxldGVkKSB7XG4gICAgICByZXR1cm4gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0RmlsZUNhY2hlKGZpbGUpO1xuICAgIH1cblxuICAgIGF3YWl0IHNhdmVOb3RlKGFwcCwgZmlsZSk7XG5cbiAgICBjb25zdCBmaWxlQ2FjaGVFbnRyeSA9IGFwcC5tZXRhZGF0YUNhY2hlLmZpbGVDYWNoZVtmaWxlLnBhdGhdO1xuICAgIGNvbnN0IGlzVXBUb0RhdGUgPSBmaWxlQ2FjaGVFbnRyeT8ubXRpbWUgPT09IGZpbGUuc3RhdC5tdGltZVxuICAgICAgJiYgZmlsZUNhY2hlRW50cnkuc2l6ZSA9PT0gZmlsZS5zdGF0LnNpemVcbiAgICAgICYmIGFwcC5tZXRhZGF0YUNhY2hlLm1ldGFkYXRhQ2FjaGVbZmlsZUNhY2hlRW50cnkuaGFzaF07XG4gICAgaWYgKCFpc1VwVG9EYXRlKSB7XG4gICAgICBhd2FpdCBhcHAubWV0YWRhdGFDYWNoZS5jb21wdXRlRmlsZU1ldGFkYXRhQXN5bmMoZmlsZSk7XG4gICAgICBhd2FpdCBlbnN1cmVNZXRhZGF0YUNhY2hlUmVhZHkoYXBwKTtcbiAgICB9XG4gICAgcmV0dXJuIGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpbGVDYWNoZShmaWxlKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBpZiAoIWZpbGUgfHwgZmlsZS5kZWxldGVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgZnJvbnQgbWF0dGVyIGZyb20gdGhlIG1ldGFkYXRhIGNhY2hlIHNhZmVseS5cbiAqXG4gKiBAdHlwZVBhcmFtIEN1c3RvbUZyb250bWF0dGVyIC0gVGhlIHR5cGUgb2YgY3VzdG9tIGZyb250IG1hdHRlci5cbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIHJldHJpZXZlIHRoZSBmcm9udCBtYXR0ZXIgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBjb21iaW5lZCBmcm9udCBtYXR0ZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRGcm9udG1hdHRlclNhZmU8Q3VzdG9tRnJvbnRtYXR0ZXIgPSB1bmtub3duPihhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8Q29tYmluZWRGcm9udG1hdHRlcjxDdXN0b21Gcm9udG1hdHRlcj4+IHtcbiAgY29uc3QgY2FjaGUgPSBhd2FpdCBnZXRDYWNoZVNhZmUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgcmV0dXJuIChjYWNoZT8uZnJvbnRtYXR0ZXIgPz8ge30pIGFzIENvbWJpbmVkRnJvbnRtYXR0ZXI8Q3VzdG9tRnJvbnRtYXR0ZXI+O1xufVxuXG4vKipcbiAqIFBhcnNlcyB0aGUgbWV0YWRhdGEgZm9yIGEgZ2l2ZW4gc3RyaW5nLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHN0ciAtIFRoZSBzdHJpbmcgdG8gcGFyc2UgdGhlIG1ldGFkYXRhIGZvci5cbiAqIEByZXR1cm5zIFRoZSBwYXJzZWQgbWV0YWRhdGEuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwYXJzZU1ldGFkYXRhKGFwcDogQXBwLCBzdHI6IHN0cmluZyk6IFByb21pc2U8Q2FjaGVkTWV0YWRhdGE+IHtcbiAgY29uc3QgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpO1xuICBjb25zdCBidWZmZXIgPSBlbmNvZGVyLmVuY29kZShzdHIpLmJ1ZmZlcjtcbiAgcmV0dXJuIGF3YWl0IGFwcC5tZXRhZGF0YUNhY2hlLmNvbXB1dGVNZXRhZGF0YUFzeW5jKGJ1ZmZlcikgPz8ge307XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIHRoZSBmaWxlIGNhY2hlIGZvciBhIG5vbi1leGlzdGluZyBmaWxlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIHRvIHJlZ2lzdGVyIHRoZSBmaWxlIGNhY2hlIGZvci5cbiAqIEBwYXJhbSBjYWNoZSAtIFRoZSBmaWxlIGNhY2hlIHRvIHJlZ2lzdGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJGaWxlQ2FjaGVGb3JOb25FeGlzdGluZ0ZpbGUoYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUsIGNhY2hlOiBDYWNoZWRNZXRhZGF0YSk6IHZvaWQge1xuICBjb25zdCBmaWxlID0gZ2V0RmlsZShhcHAsIHBhdGhPckZpbGUsIHRydWUpO1xuICBpZiAoIWZpbGUuZGVsZXRlZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignRmlsZSBpcyBleGlzdGluZycpO1xuICB9XG5cbiAgYXBwLm1ldGFkYXRhQ2FjaGUuZmlsZUNhY2hlW2ZpbGUucGF0aF0gPSB7XG4gICAgaGFzaDogZmlsZS5wYXRoLFxuICAgIG10aW1lOiAwLFxuICAgIHNpemU6IDBcbiAgfTtcblxuICBhcHAubWV0YWRhdGFDYWNoZS5tZXRhZGF0YUNhY2hlW2ZpbGUucGF0aF0gPSBjYWNoZTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgZmlsZXMgaW4gdGhlIE9ic2lkaWFuIGFwcC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBmaWxlcyAtIFRoZSBmaWxlcyB0byByZWdpc3Rlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRmlsZXMoYXBwOiBBcHAsIGZpbGVzOiBUQWJzdHJhY3RGaWxlW10pOiB2b2lkIHtcbiAgY29uc3QgcmVnaXN0ZXJlZEZpbGVzQ291bnRzID0gZ2V0UmVnaXN0ZXJlZEZpbGVzQ291bnRzKGFwcCk7XG5cbiAgZm9yIChsZXQgZmlsZSBvZiBmaWxlcykge1xuICAgIHdoaWxlIChmaWxlLmRlbGV0ZWQpIHtcbiAgICAgIGxldCBjb3VudCA9IHJlZ2lzdGVyZWRGaWxlc0NvdW50cy5nZXQoZmlsZS5wYXRoKSA/PyAwO1xuICAgICAgY291bnQrKztcbiAgICAgIHJlZ2lzdGVyZWRGaWxlc0NvdW50cy5zZXQoZmlsZS5wYXRoLCBjb3VudCk7XG5cbiAgICAgIGFwcC52YXVsdC5maWxlTWFwW2ZpbGUucGF0aF0gPSBmaWxlO1xuXG4gICAgICBpZiAoaXNGaWxlKGZpbGUpKSB7XG4gICAgICAgIGFwcC5tZXRhZGF0YUNhY2hlLnVuaXF1ZUZpbGVMb29rdXAuYWRkKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLCBmaWxlKTtcbiAgICAgIH1cblxuICAgICAgZmlsZSA9IGdldEZvbGRlcihhcHAsIHBhcmVudEZvbGRlclBhdGgoZmlsZS5wYXRoKSwgdHJ1ZSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVGVtcG9yYXJpbHkgcmVnaXN0ZXJzIGZpbGVzIGFuZCBydW5zIGEgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBmaWxlcyAtIFRoZSBmaWxlcyB0byB0ZW1wb3JhcmlseSByZWdpc3Rlci5cbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBydW4uXG4gKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRlbXBSZWdpc3RlckZpbGVzQW5kUnVuPFQ+KGFwcDogQXBwLCBmaWxlczogVEFic3RyYWN0RmlsZVtdLCBmbjogKCkgPT4gVCk6IFQge1xuICB0cnkge1xuICAgIHJlZ2lzdGVyRmlsZXMoYXBwLCBmaWxlcyk7XG4gICAgcmV0dXJuIGZuKCk7XG4gIH0gZmluYWxseSB7XG4gICAgdW5yZWdpc3RlckZpbGVzKGFwcCwgZmlsZXMpO1xuICB9XG59XG5cbi8qKlxuICogVGVtcG9yYXJpbHkgcmVnaXN0ZXJzIGZpbGVzIGFuZCBydW5zIGFuIGFzeW5jIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uLlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZmlsZXMgLSBUaGUgZmlsZXMgdG8gdGVtcG9yYXJpbHkgcmVnaXN0ZXIuXG4gKiBAcGFyYW0gZm4gLSBUaGUgZnVuY3Rpb24gdG8gcnVuLlxuICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZW1wUmVnaXN0ZXJGaWxlc0FuZFJ1bkFzeW5jPFQ+KGFwcDogQXBwLCBmaWxlczogVEFic3RyYWN0RmlsZVtdLCBmbjogKCkgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VD4ge1xuICB0cnkge1xuICAgIHJlZ2lzdGVyRmlsZXMoYXBwLCBmaWxlcyk7XG4gICAgcmV0dXJuIGF3YWl0IGZuKCk7XG4gIH0gZmluYWxseSB7XG4gICAgdW5yZWdpc3RlckZpbGVzKGFwcCwgZmlsZXMpO1xuICB9XG59XG5cbi8qKlxuICogVW5yZWdpc3RlcnMgdGhlIGZpbGUgY2FjaGUgZm9yIGEgbm9uLWV4aXN0aW5nIGZpbGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gdW5yZWdpc3RlciB0aGUgZmlsZSBjYWNoZSBmb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bnJlZ2lzdGVyRmlsZUNhY2hlRm9yTm9uRXhpc3RpbmdGaWxlKGFwcDogQXBwLCBwYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogdm9pZCB7XG4gIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGFwcCwgcGF0aE9yRmlsZSwgdHJ1ZSk7XG4gIGlmICghZmlsZS5kZWxldGVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGaWxlIGlzIGV4aXN0aW5nJyk7XG4gIH1cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1keW5hbWljLWRlbGV0ZSAtLSBXZSBoYXZlIG5vIG90aGVyIHdheSB0byBkZWxldGUgdGhlIHByb3BlcnR5LlxuICBkZWxldGUgYXBwLm1ldGFkYXRhQ2FjaGUuZmlsZUNhY2hlW2ZpbGUucGF0aF07XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHluYW1pYy1kZWxldGUgLS0gV2UgaGF2ZSBubyBvdGhlciB3YXkgdG8gZGVsZXRlIHRoZSBwcm9wZXJ0eS5cbiAgZGVsZXRlIGFwcC5tZXRhZGF0YUNhY2hlLm1ldGFkYXRhQ2FjaGVbZmlsZS5wYXRoXTtcbn1cblxuLyoqXG4gKiBVbnJlZ2lzdGVycyBmaWxlcyBmcm9tIHRoZSBPYnNpZGlhbiBhcHAuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZmlsZXMgLSBUaGUgZmlsZXMgdG8gdW5yZWdpc3Rlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVucmVnaXN0ZXJGaWxlcyhhcHA6IEFwcCwgZmlsZXM6IFRBYnN0cmFjdEZpbGVbXSk6IHZvaWQge1xuICBjb25zdCByZWdpc3RlcmVkRmlsZXNDb3VudHMgPSBnZXRSZWdpc3RlcmVkRmlsZXNDb3VudHMoYXBwKTtcblxuICBmb3IgKGxldCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgd2hpbGUgKGZpbGUuZGVsZXRlZCkge1xuICAgICAgbGV0IGNvdW50ID0gcmVnaXN0ZXJlZEZpbGVzQ291bnRzLmdldChmaWxlLnBhdGgpID8/IDE7XG4gICAgICBjb3VudC0tO1xuICAgICAgcmVnaXN0ZXJlZEZpbGVzQ291bnRzLnNldChmaWxlLnBhdGgsIGNvdW50KTtcbiAgICAgIGlmIChjb3VudCA9PT0gMCkge1xuICAgICAgICByZWdpc3RlcmVkRmlsZXNDb3VudHMuZGVsZXRlKGZpbGUucGF0aCk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHluYW1pYy1kZWxldGUgLS0gV2UgaGF2ZSBubyBvdGhlciB3YXkgdG8gZGVsZXRlIHRoZSBwcm9wZXJ0eS5cbiAgICAgICAgZGVsZXRlIGFwcC52YXVsdC5maWxlTWFwW2ZpbGUucGF0aF07XG5cbiAgICAgICAgaWYgKGlzRmlsZShmaWxlKSkge1xuICAgICAgICAgIGFwcC5tZXRhZGF0YUNhY2hlLnVuaXF1ZUZpbGVMb29rdXAucmVtb3ZlKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLCBmaWxlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmaWxlID0gZ2V0Rm9sZGVyKGFwcCwgcGFyZW50Rm9sZGVyUGF0aChmaWxlLnBhdGgpLCB0cnVlKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0UmVnaXN0ZXJlZEZpbGVzQ291bnRzKGFwcDogQXBwKTogTWFwPHN0cmluZywgbnVtYmVyPiB7XG4gIHJldHVybiBnZXRPYnNpZGlhbkRldlV0aWxzU3RhdGUoYXBwLCAncmVnaXN0ZXJlZEZpbGVzQ291bnRzJywg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
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -163,4 +165,4 @@ async function alert(params) {
163
165
  0 && (module.exports = {
164
166
  alert
165
167
  });
166
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9hbGVydC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgYWxlcnQgbW9kYWxzIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgd2l0aCBhIG1lc3NhZ2UgaW4gT2JzaWRpYW4uIFRoZSBtb2RhbCBpbmNsdWRlcyBhbiBcIk9LXCIgYnV0dG9uIHRvIGNsb3NlIGl0LlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyB0IH0gZnJvbSAnaTE4bmV4dCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzZVJlc29sdmUgfSBmcm9tICcuLi8uLi9hc3luYy50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vY3NzLWNsYXNzLnRzJztcbmltcG9ydCB7XG4gIE1vZGFsQmFzZSxcbiAgc2hvd01vZGFsXG59IGZyb20gJy4vbW9kYWwtYmFzZS50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGFsZXJ0fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGVydFBhcmFtcyB7XG4gIC8qKlxuICAgKiBBbiBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIG1vZGFsLlxuICAgKi9cbiAgcmVhZG9ubHkgY3NzQ2xhc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbWVzc2FnZSB0byBkaXNwbGF5IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgdGV4dCBmb3IgdGhlIFwiT0tcIiBidXR0b24uXG4gICAqL1xuICByZWFkb25seSBva0J1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgdGl0bGUgb2YgdGhlIG1vZGFsLlxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU/OiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xufVxuXG5jbGFzcyBBbGVydE1vZGFsIGV4dGVuZHMgTW9kYWxCYXNlPHZvaWQsIEFsZXJ0UGFyYW1zPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyYW1zOiBSZXF1aXJlZDxBbGVydFBhcmFtcz47XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmFtczogQWxlcnRQYXJhbXMsIHJlc29sdmU6IFByb21pc2VSZXNvbHZlPHZvaWQ+KSB7XG4gICAgc3VwZXIocGFyYW1zLCByZXNvbHZlLCBDc3NDbGFzcy5BbGVydE1vZGFsKTtcbiAgICBjb25zdCBERUZBVUxUX09QVElPTlM6IFJlcXVpcmVkPEFsZXJ0UGFyYW1zPiA9IHtcbiAgICAgIGFwcDogcGFyYW1zLmFwcCxcbiAgICAgIGNzc0NsYXNzOiAnJyxcbiAgICAgIG1lc3NhZ2U6IHBhcmFtcy5tZXNzYWdlLFxuICAgICAgb2tCdXR0b25UZXh0OiB0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMuYnV0dG9ucy5vayksXG4gICAgICB0aXRsZTogJydcbiAgICB9O1xuICAgIHRoaXMucGFyYW1zID0geyAuLi5ERUZBVUxUX09QVElPTlMsIC4uLnBhcmFtcyB9O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgc3VwZXIub25DbG9zZSgpO1xuICAgIHRoaXMucmVzb2x2ZSgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uT3BlbigpOiB2b2lkIHtcbiAgICBzdXBlci5vbk9wZW4oKTtcbiAgICB0aGlzLnRpdGxlRWwuc2V0VGV4dCh0aGlzLnBhcmFtcy50aXRsZSk7XG4gICAgdGhpcy5jb250ZW50RWwuY3JlYXRlRWwoJ3AnLCB7IHRleHQ6IHRoaXMucGFyYW1zLm1lc3NhZ2UgfSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMucGFyYW1zLm9rQnV0dG9uVGV4dCk7XG4gICAgb2tCdXR0b24uc2V0Q3RhKCk7XG4gICAgb2tCdXR0b24ub25DbGljayh0aGlzLmNsb3NlLmJpbmQodGhpcykpO1xuICAgIG9rQnV0dG9uLnNldENsYXNzKENzc0NsYXNzLk9rQnV0dG9uKTtcbiAgfVxufVxuXG4vKipcbiAqIERpc3BsYXlzIGFuIGFsZXJ0IG1vZGFsIGluIE9ic2lkaWFuIHdpdGggYSBzcGVjaWZpZWQgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBhbGVydCBtb2RhbC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbW9kYWwgaXMgY2xvc2VkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWxlcnQocGFyYW1zOiBBbGVydFBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBzaG93TW9kYWwoKHJlc29sdmUpID0+IG5ldyBBbGVydE1vZGFsKHBhcmFtcywgcmVzb2x2ZSkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQSxxQkFBa0I7QUFDbEIsc0JBQWdDO0FBSWhDLHVCQUF5QjtBQUN6Qix3QkFHTztBQWdDUCxNQUFNLG1CQUFtQiw0QkFBNkI7QUFBQSxFQUNuQztBQUFBLEVBRVYsWUFBWSxRQUFxQixTQUErQjtBQUNyRSxVQUFNLFFBQVEsU0FBUywwQkFBUyxVQUFVO0FBQzFDLFVBQU0sa0JBQXlDO0FBQUEsTUFDN0MsS0FBSyxPQUFPO0FBQUEsTUFDWixVQUFVO0FBQUEsTUFDVixTQUFTLE9BQU87QUFBQSxNQUNoQixrQkFBYyxrQkFBRSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsUUFBUSxFQUFFO0FBQUEsTUFDcEQsT0FBTztBQUFBLElBQ1Q7QUFDQSxTQUFLLFNBQVMsRUFBRSxHQUFHLGlCQUFpQixHQUFHLE9BQU87QUFBQSxFQUNoRDtBQUFBLEVBRWdCLFVBQWdCO0FBQzlCLFVBQU0sUUFBUTtBQUNkLFNBQUssUUFBUTtBQUFBLEVBQ2Y7QUFBQSxFQUVnQixTQUFlO0FBQzdCLFVBQU0sT0FBTztBQUNiLFNBQUssUUFBUSxRQUFRLEtBQUssT0FBTyxLQUFLO0FBQ3RDLFNBQUssVUFBVSxTQUFTLEtBQUssRUFBRSxNQUFNLEtBQUssT0FBTyxRQUFRLENBQUM7QUFDMUQsVUFBTSxXQUFXLElBQUksZ0NBQWdCLEtBQUssU0FBUztBQUNuRCxhQUFTLGNBQWMsS0FBSyxPQUFPLFlBQVk7QUFDL0MsYUFBUyxPQUFPO0FBQ2hCLGFBQVMsUUFBUSxLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDdEMsYUFBUyxTQUFTLDBCQUFTLFFBQVE7QUFBQSxFQUNyQztBQUNGO0FBUUEsZUFBc0IsTUFBTSxRQUFvQztBQUM5RCxZQUFNLDZCQUFVLENBQUMsWUFBWSxJQUFJLFdBQVcsUUFBUSxPQUFPLENBQUM7QUFDOUQ7IiwKICAibmFtZXMiOiBbXQp9Cg==
168
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9hbGVydC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgYWxlcnQgbW9kYWxzIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgd2l0aCBhIG1lc3NhZ2UgaW4gT2JzaWRpYW4uIFRoZSBtb2RhbCBpbmNsdWRlcyBhbiBcIk9LXCIgYnV0dG9uIHRvIGNsb3NlIGl0LlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyB0IH0gZnJvbSAnaTE4bmV4dCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzZVJlc29sdmUgfSBmcm9tICcuLi8uLi9hc3luYy50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vY3NzLWNsYXNzLnRzJztcbmltcG9ydCB7XG4gIE1vZGFsQmFzZSxcbiAgc2hvd01vZGFsXG59IGZyb20gJy4vbW9kYWwtYmFzZS50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGFsZXJ0fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGVydFBhcmFtcyB7XG4gIC8qKlxuICAgKiBBbiBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIG1vZGFsLlxuICAgKi9cbiAgcmVhZG9ubHkgY3NzQ2xhc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbWVzc2FnZSB0byBkaXNwbGF5IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgdGV4dCBmb3IgdGhlIFwiT0tcIiBidXR0b24uXG4gICAqL1xuICByZWFkb25seSBva0J1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgdGl0bGUgb2YgdGhlIG1vZGFsLlxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU/OiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xufVxuXG5jbGFzcyBBbGVydE1vZGFsIGV4dGVuZHMgTW9kYWxCYXNlPHZvaWQsIEFsZXJ0UGFyYW1zPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyYW1zOiBSZXF1aXJlZDxBbGVydFBhcmFtcz47XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmFtczogQWxlcnRQYXJhbXMsIHJlc29sdmU6IFByb21pc2VSZXNvbHZlPHZvaWQ+KSB7XG4gICAgc3VwZXIocGFyYW1zLCByZXNvbHZlLCBDc3NDbGFzcy5BbGVydE1vZGFsKTtcbiAgICBjb25zdCBERUZBVUxUX09QVElPTlM6IFJlcXVpcmVkPEFsZXJ0UGFyYW1zPiA9IHtcbiAgICAgIGFwcDogcGFyYW1zLmFwcCxcbiAgICAgIGNzc0NsYXNzOiAnJyxcbiAgICAgIG1lc3NhZ2U6IHBhcmFtcy5tZXNzYWdlLFxuICAgICAgb2tCdXR0b25UZXh0OiB0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMuYnV0dG9ucy5vayksXG4gICAgICB0aXRsZTogJydcbiAgICB9O1xuICAgIHRoaXMucGFyYW1zID0geyAuLi5ERUZBVUxUX09QVElPTlMsIC4uLnBhcmFtcyB9O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgc3VwZXIub25DbG9zZSgpO1xuICAgIHRoaXMucmVzb2x2ZSgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uT3BlbigpOiB2b2lkIHtcbiAgICBzdXBlci5vbk9wZW4oKTtcbiAgICB0aGlzLnRpdGxlRWwuc2V0VGV4dCh0aGlzLnBhcmFtcy50aXRsZSk7XG4gICAgdGhpcy5jb250ZW50RWwuY3JlYXRlRWwoJ3AnLCB7IHRleHQ6IHRoaXMucGFyYW1zLm1lc3NhZ2UgfSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMucGFyYW1zLm9rQnV0dG9uVGV4dCk7XG4gICAgb2tCdXR0b24uc2V0Q3RhKCk7XG4gICAgb2tCdXR0b24ub25DbGljayh0aGlzLmNsb3NlLmJpbmQodGhpcykpO1xuICAgIG9rQnV0dG9uLnNldENsYXNzKENzc0NsYXNzLk9rQnV0dG9uKTtcbiAgfVxufVxuXG4vKipcbiAqIERpc3BsYXlzIGFuIGFsZXJ0IG1vZGFsIGluIE9ic2lkaWFuIHdpdGggYSBzcGVjaWZpZWQgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBhbGVydCBtb2RhbC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbW9kYWwgaXMgY2xvc2VkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWxlcnQocGFyYW1zOiBBbGVydFBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBzaG93TW9kYWwoKHJlc29sdmUpID0+IG5ldyBBbGVydE1vZGFsKHBhcmFtcywgcmVzb2x2ZSkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLHFCQUFrQjtBQUNsQixzQkFBZ0M7QUFJaEMsdUJBQXlCO0FBQ3pCLHdCQUdPO0FBZ0NQLE1BQU0sbUJBQW1CLDRCQUE2QjtBQUFBLEVBQ25DO0FBQUEsRUFFVixZQUFZLFFBQXFCLFNBQStCO0FBQ3JFLFVBQU0sUUFBUSxTQUFTLDBCQUFTLFVBQVU7QUFDMUMsVUFBTSxrQkFBeUM7QUFBQSxNQUM3QyxLQUFLLE9BQU87QUFBQSxNQUNaLFVBQVU7QUFBQSxNQUNWLFNBQVMsT0FBTztBQUFBLE1BQ2hCLGtCQUFjLGtCQUFFLENBQUMsTUFBTSxFQUFFLGlCQUFpQixRQUFRLEVBQUU7QUFBQSxNQUNwRCxPQUFPO0FBQUEsSUFDVDtBQUNBLFNBQUssU0FBUyxFQUFFLEdBQUcsaUJBQWlCLEdBQUcsT0FBTztBQUFBLEVBQ2hEO0FBQUEsRUFFZ0IsVUFBZ0I7QUFDOUIsVUFBTSxRQUFRO0FBQ2QsU0FBSyxRQUFRO0FBQUEsRUFDZjtBQUFBLEVBRWdCLFNBQWU7QUFDN0IsVUFBTSxPQUFPO0FBQ2IsU0FBSyxRQUFRLFFBQVEsS0FBSyxPQUFPLEtBQUs7QUFDdEMsU0FBSyxVQUFVLFNBQVMsS0FBSyxFQUFFLE1BQU0sS0FBSyxPQUFPLFFBQVEsQ0FBQztBQUMxRCxVQUFNLFdBQVcsSUFBSSxnQ0FBZ0IsS0FBSyxTQUFTO0FBQ25ELGFBQVMsY0FBYyxLQUFLLE9BQU8sWUFBWTtBQUMvQyxhQUFTLE9BQU87QUFDaEIsYUFBUyxRQUFRLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQztBQUN0QyxhQUFTLFNBQVMsMEJBQVMsUUFBUTtBQUFBLEVBQ3JDO0FBQ0Y7QUFRQSxlQUFzQixNQUFNLFFBQW9DO0FBQzlELFlBQU0sNkJBQVUsQ0FBQyxZQUFZLElBQUksV0FBVyxRQUFRLE9BQU8sQ0FBQztBQUM5RDsiLAogICJuYW1lcyI6IFtdCn0K
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -172,4 +174,4 @@ async function confirm(params) {
172
174
  0 && (module.exports = {
173
175
  confirm
174
176
  });
175
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9jb25maXJtLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVXRpbGl0eSBmb3IgZGlzcGxheWluZyBjb25maXJtIG1vZGFscyBpbiBPYnNpZGlhbi5cbiAqXG4gKiBUaGlzIG1vZHVsZSBleHBvcnRzIGEgZnVuY3Rpb24gdG8gZGlzcGxheSBhIG1vZGFsIHdpdGggYSBtZXNzYWdlIGluIE9ic2lkaWFuLiBUaGUgbW9kYWwgaW5jbHVkZXMgXCJPS1wiIGFuZCBcIkNhbmNlbFwiIGJ1dHRvbnMgdG8gY29uZmlybSBvciBjYW5jZWwgdGhlIGFjdGlvbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2VSZXNvbHZlIH0gZnJvbSAnLi4vLi4vYXN5bmMudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyB0IH0gZnJvbSAnLi4vaTE4bi9pMThuLnRzJztcbmltcG9ydCB7XG4gIE1vZGFsQmFzZSxcbiAgc2hvd01vZGFsXG59IGZyb20gJy4vbW9kYWwtYmFzZS50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGNvbmZpcm19LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1QYXJhbXMge1xuICAvKipcbiAgICogQW4gT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIEEgdGV4dCBmb3IgdGhlIFwiQ2FuY2VsXCIgYnV0dG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuY2VsQnV0dG9uVGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIG1vZGFsLlxuICAgKi9cbiAgcmVhZG9ubHkgY3NzQ2xhc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbWVzc2FnZSB0byBkaXNwbGF5IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgdGV4dCBmb3IgdGhlIFwiT0tcIiBidXR0b24uXG4gICAqL1xuICByZWFkb25seSBva0J1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgdGl0bGUgb2YgdGhlIG1vZGFsLlxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU/OiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xufVxuXG5jbGFzcyBDb25maXJtTW9kYWwgZXh0ZW5kcyBNb2RhbEJhc2U8Ym9vbGVhbiwgQ29uZmlybVBhcmFtcz4ge1xuICBwcml2YXRlIGlzQ29uZmlybWVkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyYW1zOiBSZXF1aXJlZDxDb25maXJtUGFyYW1zPjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBDb25maXJtUGFyYW1zLCByZXNvbHZlOiBQcm9taXNlUmVzb2x2ZTxib29sZWFuPikge1xuICAgIHN1cGVyKHBhcmFtcywgcmVzb2x2ZSwgQ3NzQ2xhc3MuQ29uZmlybU1vZGFsKTtcbiAgICBjb25zdCBERUZBVUxUX09QVElPTlM6IFJlcXVpcmVkPENvbmZpcm1QYXJhbXM+ID0ge1xuICAgICAgYXBwOiBwYXJhbXMuYXBwLFxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogdCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLmJ1dHRvbnMuY2FuY2VsKSxcbiAgICAgIGNzc0NsYXNzOiAnJyxcbiAgICAgIG1lc3NhZ2U6IHBhcmFtcy5tZXNzYWdlLFxuICAgICAgb2tCdXR0b25UZXh0OiB0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMuYnV0dG9ucy5vayksXG4gICAgICB0aXRsZTogJydcbiAgICB9O1xuICAgIHRoaXMucGFyYW1zID0geyAuLi5ERUZBVUxUX09QVElPTlMsIC4uLnBhcmFtcyB9O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgc3VwZXIub25DbG9zZSgpO1xuICAgIHRoaXMucmVzb2x2ZSh0aGlzLmlzQ29uZmlybWVkKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbk9wZW4oKTogdm9pZCB7XG4gICAgc3VwZXIub25PcGVuKCk7XG4gICAgdGhpcy50aXRsZUVsLnNldFRleHQodGhpcy5wYXJhbXMudGl0bGUpO1xuICAgIHRoaXMuY29udGVudEVsLmNyZWF0ZUVsKCdwJywgeyB0ZXh0OiB0aGlzLnBhcmFtcy5tZXNzYWdlIH0pO1xuICAgIGNvbnN0IG9rQnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgb2tCdXR0b24uc2V0QnV0dG9uVGV4dCh0aGlzLnBhcmFtcy5va0J1dHRvblRleHQpO1xuICAgIG9rQnV0dG9uLnNldEN0YSgpO1xuICAgIG9rQnV0dG9uLm9uQ2xpY2soKCkgPT4ge1xuICAgICAgdGhpcy5pc0NvbmZpcm1lZCA9IHRydWU7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSk7XG4gICAgb2tCdXR0b24uc2V0Q2xhc3MoQ3NzQ2xhc3MuT2tCdXR0b24pO1xuXG4gICAgY29uc3QgY2FuY2VsQnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgY2FuY2VsQnV0dG9uLnNldEJ1dHRvblRleHQodGhpcy5wYXJhbXMuY2FuY2VsQnV0dG9uVGV4dCk7XG4gICAgY2FuY2VsQnV0dG9uLm9uQ2xpY2sodGhpcy5jbG9zZS5iaW5kKHRoaXMpKTtcbiAgICBjYW5jZWxCdXR0b24uc2V0Q2xhc3MoQ3NzQ2xhc3MuQ2FuY2VsQnV0dG9uKTtcbiAgfVxufVxuXG4vKipcbiAqIERpc3BsYXlzIGFuIGNvbmZpcm0gbW9kYWwgaW4gT2JzaWRpYW4gd2l0aCBhIHNwZWNpZmllZCBtZXNzYWdlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGNvbmZpcm0gbW9kYWwuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgXCJPS1wiIGJ1dHRvbiB3YXMgY2xpY2tlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbmZpcm0ocGFyYW1zOiBDb25maXJtUGFyYW1zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHJldHVybiBhd2FpdCBzaG93TW9kYWw8Ym9vbGVhbj4oKHJlc29sdmUpID0+IG5ldyBDb25maXJtTW9kYWwocGFyYW1zLCByZXNvbHZlKSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLHNCQUFnQztBQUloQyx1QkFBeUI7QUFDekIsa0JBQWtCO0FBQ2xCLHdCQUdPO0FBcUNQLE1BQU0scUJBQXFCLDRCQUFrQztBQUFBLEVBQ25ELGNBQWM7QUFBQSxFQUNMO0FBQUEsRUFFVixZQUFZLFFBQXVCLFNBQWtDO0FBQzFFLFVBQU0sUUFBUSxTQUFTLDBCQUFTLFlBQVk7QUFDNUMsVUFBTSxrQkFBMkM7QUFBQSxNQUMvQyxLQUFLLE9BQU87QUFBQSxNQUNaLHNCQUFrQixlQUFFLENBQUMsTUFBTSxFQUFFLGlCQUFpQixRQUFRLE1BQU07QUFBQSxNQUM1RCxVQUFVO0FBQUEsTUFDVixTQUFTLE9BQU87QUFBQSxNQUNoQixrQkFBYyxlQUFFLENBQUMsTUFBTSxFQUFFLGlCQUFpQixRQUFRLEVBQUU7QUFBQSxNQUNwRCxPQUFPO0FBQUEsSUFDVDtBQUNBLFNBQUssU0FBUyxFQUFFLEdBQUcsaUJBQWlCLEdBQUcsT0FBTztBQUFBLEVBQ2hEO0FBQUEsRUFFZ0IsVUFBZ0I7QUFDOUIsVUFBTSxRQUFRO0FBQ2QsU0FBSyxRQUFRLEtBQUssV0FBVztBQUFBLEVBQy9CO0FBQUEsRUFFZ0IsU0FBZTtBQUM3QixVQUFNLE9BQU87QUFDYixTQUFLLFFBQVEsUUFBUSxLQUFLLE9BQU8sS0FBSztBQUN0QyxTQUFLLFVBQVUsU0FBUyxLQUFLLEVBQUUsTUFBTSxLQUFLLE9BQU8sUUFBUSxDQUFDO0FBQzFELFVBQU0sV0FBVyxJQUFJLGdDQUFnQixLQUFLLFNBQVM7QUFDbkQsYUFBUyxjQUFjLEtBQUssT0FBTyxZQUFZO0FBQy9DLGFBQVMsT0FBTztBQUNoQixhQUFTLFFBQVEsTUFBTTtBQUNyQixXQUFLLGNBQWM7QUFDbkIsV0FBSyxNQUFNO0FBQUEsSUFDYixDQUFDO0FBQ0QsYUFBUyxTQUFTLDBCQUFTLFFBQVE7QUFFbkMsVUFBTSxlQUFlLElBQUksZ0NBQWdCLEtBQUssU0FBUztBQUN2RCxpQkFBYSxjQUFjLEtBQUssT0FBTyxnQkFBZ0I7QUFDdkQsaUJBQWEsUUFBUSxLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDMUMsaUJBQWEsU0FBUywwQkFBUyxZQUFZO0FBQUEsRUFDN0M7QUFDRjtBQVFBLGVBQXNCLFFBQVEsUUFBeUM7QUFDckUsU0FBTyxVQUFNLDZCQUFtQixDQUFDLFlBQVksSUFBSSxhQUFhLFFBQVEsT0FBTyxDQUFDO0FBQ2hGOyIsCiAgIm5hbWVzIjogW10KfQo=
177
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9jb25maXJtLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVXRpbGl0eSBmb3IgZGlzcGxheWluZyBjb25maXJtIG1vZGFscyBpbiBPYnNpZGlhbi5cbiAqXG4gKiBUaGlzIG1vZHVsZSBleHBvcnRzIGEgZnVuY3Rpb24gdG8gZGlzcGxheSBhIG1vZGFsIHdpdGggYSBtZXNzYWdlIGluIE9ic2lkaWFuLiBUaGUgbW9kYWwgaW5jbHVkZXMgXCJPS1wiIGFuZCBcIkNhbmNlbFwiIGJ1dHRvbnMgdG8gY29uZmlybSBvciBjYW5jZWwgdGhlIGFjdGlvbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2VSZXNvbHZlIH0gZnJvbSAnLi4vLi4vYXN5bmMudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyB0IH0gZnJvbSAnLi4vaTE4bi9pMThuLnRzJztcbmltcG9ydCB7XG4gIE1vZGFsQmFzZSxcbiAgc2hvd01vZGFsXG59IGZyb20gJy4vbW9kYWwtYmFzZS50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGNvbmZpcm19LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1QYXJhbXMge1xuICAvKipcbiAgICogQW4gT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIEEgdGV4dCBmb3IgdGhlIFwiQ2FuY2VsXCIgYnV0dG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuY2VsQnV0dG9uVGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIG1vZGFsLlxuICAgKi9cbiAgcmVhZG9ubHkgY3NzQ2xhc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbWVzc2FnZSB0byBkaXNwbGF5IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgdGV4dCBmb3IgdGhlIFwiT0tcIiBidXR0b24uXG4gICAqL1xuICByZWFkb25seSBva0J1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgdGl0bGUgb2YgdGhlIG1vZGFsLlxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU/OiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xufVxuXG5jbGFzcyBDb25maXJtTW9kYWwgZXh0ZW5kcyBNb2RhbEJhc2U8Ym9vbGVhbiwgQ29uZmlybVBhcmFtcz4ge1xuICBwcml2YXRlIGlzQ29uZmlybWVkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyYW1zOiBSZXF1aXJlZDxDb25maXJtUGFyYW1zPjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBDb25maXJtUGFyYW1zLCByZXNvbHZlOiBQcm9taXNlUmVzb2x2ZTxib29sZWFuPikge1xuICAgIHN1cGVyKHBhcmFtcywgcmVzb2x2ZSwgQ3NzQ2xhc3MuQ29uZmlybU1vZGFsKTtcbiAgICBjb25zdCBERUZBVUxUX09QVElPTlM6IFJlcXVpcmVkPENvbmZpcm1QYXJhbXM+ID0ge1xuICAgICAgYXBwOiBwYXJhbXMuYXBwLFxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogdCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLmJ1dHRvbnMuY2FuY2VsKSxcbiAgICAgIGNzc0NsYXNzOiAnJyxcbiAgICAgIG1lc3NhZ2U6IHBhcmFtcy5tZXNzYWdlLFxuICAgICAgb2tCdXR0b25UZXh0OiB0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMuYnV0dG9ucy5vayksXG4gICAgICB0aXRsZTogJydcbiAgICB9O1xuICAgIHRoaXMucGFyYW1zID0geyAuLi5ERUZBVUxUX09QVElPTlMsIC4uLnBhcmFtcyB9O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgc3VwZXIub25DbG9zZSgpO1xuICAgIHRoaXMucmVzb2x2ZSh0aGlzLmlzQ29uZmlybWVkKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbk9wZW4oKTogdm9pZCB7XG4gICAgc3VwZXIub25PcGVuKCk7XG4gICAgdGhpcy50aXRsZUVsLnNldFRleHQodGhpcy5wYXJhbXMudGl0bGUpO1xuICAgIHRoaXMuY29udGVudEVsLmNyZWF0ZUVsKCdwJywgeyB0ZXh0OiB0aGlzLnBhcmFtcy5tZXNzYWdlIH0pO1xuICAgIGNvbnN0IG9rQnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgb2tCdXR0b24uc2V0QnV0dG9uVGV4dCh0aGlzLnBhcmFtcy5va0J1dHRvblRleHQpO1xuICAgIG9rQnV0dG9uLnNldEN0YSgpO1xuICAgIG9rQnV0dG9uLm9uQ2xpY2soKCkgPT4ge1xuICAgICAgdGhpcy5pc0NvbmZpcm1lZCA9IHRydWU7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSk7XG4gICAgb2tCdXR0b24uc2V0Q2xhc3MoQ3NzQ2xhc3MuT2tCdXR0b24pO1xuXG4gICAgY29uc3QgY2FuY2VsQnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgY2FuY2VsQnV0dG9uLnNldEJ1dHRvblRleHQodGhpcy5wYXJhbXMuY2FuY2VsQnV0dG9uVGV4dCk7XG4gICAgY2FuY2VsQnV0dG9uLm9uQ2xpY2sodGhpcy5jbG9zZS5iaW5kKHRoaXMpKTtcbiAgICBjYW5jZWxCdXR0b24uc2V0Q2xhc3MoQ3NzQ2xhc3MuQ2FuY2VsQnV0dG9uKTtcbiAgfVxufVxuXG4vKipcbiAqIERpc3BsYXlzIGFuIGNvbmZpcm0gbW9kYWwgaW4gT2JzaWRpYW4gd2l0aCBhIHNwZWNpZmllZCBtZXNzYWdlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGNvbmZpcm0gbW9kYWwuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgXCJPS1wiIGJ1dHRvbiB3YXMgY2xpY2tlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbmZpcm0ocGFyYW1zOiBDb25maXJtUGFyYW1zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHJldHVybiBhd2FpdCBzaG93TW9kYWw8Ym9vbGVhbj4oKHJlc29sdmUpID0+IG5ldyBDb25maXJtTW9kYWwocGFyYW1zLCByZXNvbHZlKSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUEsc0JBQWdDO0FBSWhDLHVCQUF5QjtBQUN6QixrQkFBa0I7QUFDbEIsd0JBR087QUFxQ1AsTUFBTSxxQkFBcUIsNEJBQWtDO0FBQUEsRUFDbkQsY0FBYztBQUFBLEVBQ0w7QUFBQSxFQUVWLFlBQVksUUFBdUIsU0FBa0M7QUFDMUUsVUFBTSxRQUFRLFNBQVMsMEJBQVMsWUFBWTtBQUM1QyxVQUFNLGtCQUEyQztBQUFBLE1BQy9DLEtBQUssT0FBTztBQUFBLE1BQ1osc0JBQWtCLGVBQUUsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLFFBQVEsTUFBTTtBQUFBLE1BQzVELFVBQVU7QUFBQSxNQUNWLFNBQVMsT0FBTztBQUFBLE1BQ2hCLGtCQUFjLGVBQUUsQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLFFBQVEsRUFBRTtBQUFBLE1BQ3BELE9BQU87QUFBQSxJQUNUO0FBQ0EsU0FBSyxTQUFTLEVBQUUsR0FBRyxpQkFBaUIsR0FBRyxPQUFPO0FBQUEsRUFDaEQ7QUFBQSxFQUVnQixVQUFnQjtBQUM5QixVQUFNLFFBQVE7QUFDZCxTQUFLLFFBQVEsS0FBSyxXQUFXO0FBQUEsRUFDL0I7QUFBQSxFQUVnQixTQUFlO0FBQzdCLFVBQU0sT0FBTztBQUNiLFNBQUssUUFBUSxRQUFRLEtBQUssT0FBTyxLQUFLO0FBQ3RDLFNBQUssVUFBVSxTQUFTLEtBQUssRUFBRSxNQUFNLEtBQUssT0FBTyxRQUFRLENBQUM7QUFDMUQsVUFBTSxXQUFXLElBQUksZ0NBQWdCLEtBQUssU0FBUztBQUNuRCxhQUFTLGNBQWMsS0FBSyxPQUFPLFlBQVk7QUFDL0MsYUFBUyxPQUFPO0FBQ2hCLGFBQVMsUUFBUSxNQUFNO0FBQ3JCLFdBQUssY0FBYztBQUNuQixXQUFLLE1BQU07QUFBQSxJQUNiLENBQUM7QUFDRCxhQUFTLFNBQVMsMEJBQVMsUUFBUTtBQUVuQyxVQUFNLGVBQWUsSUFBSSxnQ0FBZ0IsS0FBSyxTQUFTO0FBQ3ZELGlCQUFhLGNBQWMsS0FBSyxPQUFPLGdCQUFnQjtBQUN2RCxpQkFBYSxRQUFRLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQztBQUMxQyxpQkFBYSxTQUFTLDBCQUFTLFlBQVk7QUFBQSxFQUM3QztBQUNGO0FBUUEsZUFBc0IsUUFBUSxRQUF5QztBQUNyRSxTQUFPLFVBQU0sNkJBQW1CLENBQUMsWUFBWSxJQUFJLGFBQWEsUUFBUSxPQUFPLENBQUM7QUFDaEY7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -151,4 +153,4 @@ var select_item = __toESM(__extractDefault(require('./select-item.cjs')), 1);
151
153
  prompt,
152
154
  select_item
153
155
  });
154
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzIGFsZXJ0IGZyb20gJy4vYWxlcnQudHMnO1xuZXhwb3J0ICogYXMgY29uZmlybSBmcm9tICcuL2NvbmZpcm0udHMnO1xuZXhwb3J0ICogYXMgbW9kYWxfYmFzZSBmcm9tICcuL21vZGFsLWJhc2UudHMnO1xuZXhwb3J0ICogYXMgcHJvbXB0IGZyb20gJy4vcHJvbXB0LnRzJztcbmV4cG9ydCAqIGFzIHNlbGVjdF9pdGVtIGZyb20gJy4vc2VsZWN0LWl0ZW0udHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQSxZQUF1QjtBQUN2QixjQUF5QjtBQUN6QixpQkFBNEI7QUFDNUIsYUFBd0I7QUFDeEIsa0JBQTZCOyIsCiAgIm5hbWVzIjogW10KfQo=
156
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzIGFsZXJ0IGZyb20gJy4vYWxlcnQudHMnO1xuZXhwb3J0ICogYXMgY29uZmlybSBmcm9tICcuL2NvbmZpcm0udHMnO1xuZXhwb3J0ICogYXMgbW9kYWxfYmFzZSBmcm9tICcuL21vZGFsLWJhc2UudHMnO1xuZXhwb3J0ICogYXMgcHJvbXB0IGZyb20gJy4vcHJvbXB0LnRzJztcbmV4cG9ydCAqIGFzIHNlbGVjdF9pdGVtIGZyb20gJy4vc2VsZWN0LWl0ZW0udHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBLFlBQXVCO0FBQ3ZCLGNBQXlCO0FBQ3pCLGlCQUE0QjtBQUM1QixhQUF3QjtBQUN4QixrQkFBNkI7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -156,4 +158,4 @@ async function showModal(modalCreator) {
156
158
  ModalBase,
157
159
  showModal
158
160
  });
159
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9tb2RhbC1iYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGJhc2UgY2xhc3MgZm9yIGRpc3BsYXlpbmcgbW9kYWxzIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBQcm9taXNlUmVzb2x2ZSB9IGZyb20gJy4uLy4uL2FzeW5jLnRzJztcblxuaW1wb3J0IHsgYWRkUGx1Z2luQ3NzQ2xhc3NlcyB9IGZyb20gJy4uL3BsdWdpbi9wbHVnaW4tY29udGV4dC50cyc7XG5cbi8qKlxuICogQmFzZSBvcHRpb25zIGZvciBhIG1vZGFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsUGFyYW1zQmFzZSB7XG4gIC8qKlxuICAgKiBBbiBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIG1vZGFsLlxuICAgKi9cbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBiYXNlIGNsYXNzIGZvciBkaXNwbGF5aW5nIG1vZGFscyBpbiBPYnNpZGlhbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1vZGFsQmFzZTxWYWx1ZSwgT3B0aW9ucyBleHRlbmRzIE1vZGFsUGFyYW1zQmFzZT4gZXh0ZW5kcyBNb2RhbCB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IG1vZGFsLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zLlxuICAgKiBAcGFyYW0gcmVzb2x2ZSAtIFRoZSByZXNvbHZlIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0gbW9kYWxDc3NDbGFzcyAtIFRoZSBtb2RhbCBDU1MgY2xhc3MuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogT3B0aW9ucywgcHJvdGVjdGVkIHJlc29sdmU6IFByb21pc2VSZXNvbHZlPFZhbHVlPiwgbW9kYWxDc3NDbGFzczogc3RyaW5nKSB7XG4gICAgc3VwZXIob3B0aW9ucy5hcHApO1xuICAgIGFkZFBsdWdpbkNzc0NsYXNzZXModGhpcy5jb250YWluZXJFbCwgbW9kYWxDc3NDbGFzcyk7XG4gICAgaWYgKG9wdGlvbnMuY3NzQ2xhc3MpIHtcbiAgICAgIHRoaXMuY29udGFpbmVyRWwuYWRkQ2xhc3Mob3B0aW9ucy5jc3NDbGFzcyk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBtb2RhbCBpbiBPYnNpZGlhbi5cbiAqXG4gKiBAcGFyYW0gbW9kYWxDcmVhdG9yIC0gQSBmdW5jdGlvbiB0aGF0IGNyZWF0ZXMgYSBtb2RhbC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbW9kYWwgaXMgY2xvc2VkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2hvd01vZGFsPFQ+KG1vZGFsQ3JlYXRvcjogKHJlc29sdmU6IFByb21pc2VSZXNvbHZlPFQ+KSA9PiBNb2RhbCk6IFByb21pc2U8VD4ge1xuICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2U8VD4oKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBtb2RhbCA9IG1vZGFsQ3JlYXRvcihyZXNvbHZlKTtcbiAgICBtb2RhbC5vcGVuKCk7XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLHNCQUFzQjtBQUl0Qiw0QkFBb0M7QUFvQjdCLE1BQWUsa0JBQTBELHNCQUFNO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVE3RSxZQUFZLFNBQTRCLFNBQWdDLGVBQXVCO0FBQ3BHLFVBQU0sUUFBUSxHQUFHO0FBRDRCO0FBRTdDLG1EQUFvQixLQUFLLGFBQWEsYUFBYTtBQUNuRCxRQUFJLFFBQVEsVUFBVTtBQUNwQixXQUFLLFlBQVksU0FBUyxRQUFRLFFBQVE7QUFBQSxJQUM1QztBQUFBLEVBQ0Y7QUFBQSxFQU4rQztBQU9qRDtBQVFBLGVBQXNCLFVBQWEsY0FBaUU7QUFDbEcsU0FBTyxNQUFNLElBQUksUUFBVyxDQUFDLFlBQVk7QUFDdkMsVUFBTSxRQUFRLGFBQWEsT0FBTztBQUNsQyxVQUFNLEtBQUs7QUFBQSxFQUNiLENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFtdCn0K
161
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9tb2RhbC1iYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGJhc2UgY2xhc3MgZm9yIGRpc3BsYXlpbmcgbW9kYWxzIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBQcm9taXNlUmVzb2x2ZSB9IGZyb20gJy4uLy4uL2FzeW5jLnRzJztcblxuaW1wb3J0IHsgYWRkUGx1Z2luQ3NzQ2xhc3NlcyB9IGZyb20gJy4uL3BsdWdpbi9wbHVnaW4tY29udGV4dC50cyc7XG5cbi8qKlxuICogQmFzZSBvcHRpb25zIGZvciBhIG1vZGFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsUGFyYW1zQmFzZSB7XG4gIC8qKlxuICAgKiBBbiBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgdG8gYXBwbHkgdG8gdGhlIG1vZGFsLlxuICAgKi9cbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBiYXNlIGNsYXNzIGZvciBkaXNwbGF5aW5nIG1vZGFscyBpbiBPYnNpZGlhbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1vZGFsQmFzZTxWYWx1ZSwgT3B0aW9ucyBleHRlbmRzIE1vZGFsUGFyYW1zQmFzZT4gZXh0ZW5kcyBNb2RhbCB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IG1vZGFsLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zLlxuICAgKiBAcGFyYW0gcmVzb2x2ZSAtIFRoZSByZXNvbHZlIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0gbW9kYWxDc3NDbGFzcyAtIFRoZSBtb2RhbCBDU1MgY2xhc3MuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogT3B0aW9ucywgcHJvdGVjdGVkIHJlc29sdmU6IFByb21pc2VSZXNvbHZlPFZhbHVlPiwgbW9kYWxDc3NDbGFzczogc3RyaW5nKSB7XG4gICAgc3VwZXIob3B0aW9ucy5hcHApO1xuICAgIGFkZFBsdWdpbkNzc0NsYXNzZXModGhpcy5jb250YWluZXJFbCwgbW9kYWxDc3NDbGFzcyk7XG4gICAgaWYgKG9wdGlvbnMuY3NzQ2xhc3MpIHtcbiAgICAgIHRoaXMuY29udGFpbmVyRWwuYWRkQ2xhc3Mob3B0aW9ucy5jc3NDbGFzcyk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBtb2RhbCBpbiBPYnNpZGlhbi5cbiAqXG4gKiBAcGFyYW0gbW9kYWxDcmVhdG9yIC0gQSBmdW5jdGlvbiB0aGF0IGNyZWF0ZXMgYSBtb2RhbC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbW9kYWwgaXMgY2xvc2VkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2hvd01vZGFsPFQ+KG1vZGFsQ3JlYXRvcjogKHJlc29sdmU6IFByb21pc2VSZXNvbHZlPFQ+KSA9PiBNb2RhbCk6IFByb21pc2U8VD4ge1xuICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2U8VD4oKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBtb2RhbCA9IG1vZGFsQ3JlYXRvcihyZXNvbHZlKTtcbiAgICBtb2RhbC5vcGVuKCk7XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEsc0JBQXNCO0FBSXRCLDRCQUFvQztBQW9CN0IsTUFBZSxrQkFBMEQsc0JBQU07QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUTdFLFlBQVksU0FBNEIsU0FBZ0MsZUFBdUI7QUFDcEcsVUFBTSxRQUFRLEdBQUc7QUFENEI7QUFFN0MsbURBQW9CLEtBQUssYUFBYSxhQUFhO0FBQ25ELFFBQUksUUFBUSxVQUFVO0FBQ3BCLFdBQUssWUFBWSxTQUFTLFFBQVEsUUFBUTtBQUFBLElBQzVDO0FBQUEsRUFDRjtBQUFBLEVBTitDO0FBT2pEO0FBUUEsZUFBc0IsVUFBYSxjQUFpRTtBQUNsRyxTQUFPLE1BQU0sSUFBSSxRQUFXLENBQUMsWUFBWTtBQUN2QyxVQUFNLFFBQVEsYUFBYSxPQUFPO0FBQ2xDLFVBQU0sS0FBSztBQUFBLEVBQ2IsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -86,6 +86,7 @@ if you want to view the source, please visit the github repository of this plugi
86
86
  // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
87
87
  if (globalThis?.app?.isMobile) {
88
88
  if (id === 'process' || id === 'node:process') {
89
+ // eslint-disable-next-line no-console -- Valid usage.
89
90
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
90
91
  return globalThis.process;
91
92
  }
@@ -96,6 +97,7 @@ if you want to view the source, please visit the github repository of this plugi
96
97
  }
97
98
  }
98
99
 
100
+ // eslint-disable-next-line no-console -- Valid usage.
99
101
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
100
102
  return {};
101
103
  }
@@ -207,4 +209,4 @@ async function prompt(params) {
207
209
  0 && (module.exports = {
208
210
  prompt
209
211
  });
210
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9wcm9tcHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgdGhhdCBwcm9tcHRzIHRoZSB1c2VyIGZvciBpbnB1dC4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHtcbiAgQnV0dG9uQ29tcG9uZW50LFxuICBUZXh0Q29tcG9uZW50XG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBQcm9taXNlUmVzb2x2ZSB9IGZyb20gJy4uLy4uL2FzeW5jLnRzJztcbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICcuLi8uLi90eXBlLnRzJztcblxuaW1wb3J0IHtcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBpbnZva2VBc3luY1NhZmVseVxufSBmcm9tICcuLi8uLi9hc3luYy50cyc7XG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb24udHMnO1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQge1xuICBNb2RhbEJhc2UsXG4gIHNob3dNb2RhbFxufSBmcm9tICcuL21vZGFsLWJhc2UudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBwcm9tcHR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb21wdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBBbiBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogQSB0ZXh0IGZvciB0aGUgXCJDYW5jZWxcIiBidXR0b24uXG4gICAqL1xuICByZWFkb25seSBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRlZmF1bHQgdmFsdWUgdG8gcHJlLWZpbGwgdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHRleHQgZm9yIHRoZSBcIk9LXCIgYnV0dG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb2tCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dCBmaWVsZC5cbiAgICovXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHRpdGxlIG9mIHRoZSBtb2RhbC5cbiAgICovXG4gIHJlYWRvbmx5IHRpdGxlPzogRG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZztcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byB2YWxpZGF0ZSB0aGUgaW5wdXQgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBpbnB1dCB2YWx1ZSB0byB2YWxpZGF0ZS5cbiAgICogQHJldHVybnMgYW4gZXJyb3IgbWVzc2FnZSBpZiB0aGUgdmFsdWUgaXMgaW52YWxpZCwgb3IgYG51bGxgIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZC5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlVmFsaWRhdG9yPzogKHZhbHVlOiBzdHJpbmcpID0+IFByb21pc2FibGU8TWF5YmVSZXR1cm48c3RyaW5nPj47XG59XG5cbmNsYXNzIFByb21wdE1vZGFsIGV4dGVuZHMgTW9kYWxCYXNlPG51bGwgfCBzdHJpbmcsIFByb21wdFBhcmFtcz4ge1xuICBwcml2YXRlIGlzT2tDbGlja2VkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyYW1zOiBSZXF1aXJlZDxQcm9tcHRQYXJhbXM+O1xuICBwcml2YXRlIHZhbHVlOiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmFtczogUHJvbXB0UGFyYW1zLCByZXNvbHZlOiBQcm9taXNlUmVzb2x2ZTxudWxsIHwgc3RyaW5nPikge1xuICAgIHN1cGVyKHBhcmFtcywgcmVzb2x2ZSwgQ3NzQ2xhc3MuUHJvbXB0TW9kYWwpO1xuICAgIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogUmVxdWlyZWQ8UHJvbXB0UGFyYW1zPiA9IHtcbiAgICAgIGFwcDogcGFyYW1zLmFwcCxcbiAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5idXR0b25zLmNhbmNlbCksXG4gICAgICBkZWZhdWx0VmFsdWU6ICcnLFxuICAgICAgb2tCdXR0b25UZXh0OiB0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMuYnV0dG9ucy5vayksXG4gICAgICBwbGFjZWhvbGRlcjogJycsXG4gICAgICB0aXRsZTogJycsXG4gICAgICB2YWx1ZVZhbGlkYXRvcjogbm9vcFxuICAgIH07XG4gICAgdGhpcy5wYXJhbXMgPSB7IC4uLkRFRkFVTFRfT1BUSU9OUywgLi4ucGFyYW1zIH07XG4gICAgdGhpcy52YWx1ZSA9IHBhcmFtcy5kZWZhdWx0VmFsdWUgPz8gJyc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICBzdXBlci5vbkNsb3NlKCk7XG4gICAgdGhpcy5yZXNvbHZlKHRoaXMuaXNPa0NsaWNrZWQgPyB0aGlzLnZhbHVlIDogbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHN1cGVyLm9uT3BlbigpO1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMucGFyYW1zLnRpdGxlKTtcbiAgICBjb25zdCB0ZXh0Q29tcG9uZW50ID0gbmV3IFRleHRDb21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNvbnN0IGlucHV0RWwgPSB0ZXh0Q29tcG9uZW50LmlucHV0RWw7XG5cbiAgICBjb25zdCB2YWxpZGF0ZSA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGF3YWl0IHRoaXMucGFyYW1zLnZhbHVlVmFsaWRhdG9yKGlucHV0RWwudmFsdWUpIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIGlucHV0RWwuc2V0Q3VzdG9tVmFsaWRpdHkoZXJyb3JNZXNzYWdlID8/ICcnKTtcbiAgICAgIGlucHV0RWwucmVwb3J0VmFsaWRpdHkoKTtcbiAgICB9O1xuXG4gICAgdGV4dENvbXBvbmVudC5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwuc2VsZWN0KCk7XG4gICAgdGV4dENvbXBvbmVudC5zZXRQbGFjZWhvbGRlcih0aGlzLnBhcmFtcy5wbGFjZWhvbGRlcik7XG4gICAgaW5wdXRFbC5hZGRDbGFzcyhDc3NDbGFzcy5UZXh0Qm94KTtcbiAgICB0ZXh0Q29tcG9uZW50Lm9uQ2hhbmdlKChuZXdWYWx1ZSkgPT4ge1xuICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIH0pO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICB0aGlzLmhhbmRsZU9rKGV2ZW50LCB0ZXh0Q29tcG9uZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGNvbnZlcnRBc3luY1RvU3luYyh2YWxpZGF0ZSkpO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCBjb252ZXJ0QXN5bmNUb1N5bmModmFsaWRhdGUpKTtcbiAgICBpbnZva2VBc3luY1NhZmVseSh2YWxpZGF0ZSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMucGFyYW1zLm9rQnV0dG9uVGV4dCk7XG4gICAgb2tCdXR0b24uc2V0Q3RhKCk7XG4gICAgb2tCdXR0b24ub25DbGljaygoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlT2soZXZlbnQsIHRleHRDb21wb25lbnQpO1xuICAgIH0pO1xuICAgIG9rQnV0dG9uLnNldENsYXNzKENzc0NsYXNzLk9rQnV0dG9uKTtcbiAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBjYW5jZWxCdXR0b24uc2V0QnV0dG9uVGV4dCh0aGlzLnBhcmFtcy5jYW5jZWxCdXR0b25UZXh0KTtcbiAgICBjYW5jZWxCdXR0b24ub25DbGljayh0aGlzLmNsb3NlLmJpbmQodGhpcykpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRDbGFzcyhDc3NDbGFzcy5DYW5jZWxCdXR0b24pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVPayhldmVudDogRXZlbnQsIHRleHRDb21wb25lbnQ6IFRleHRDb21wb25lbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGV4dENvbXBvbmVudC5pbnB1dEVsLmNoZWNrVmFsaWRpdHkoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNPa0NsaWNrZWQgPSB0cnVlO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxufVxuXG4vKipcbiAqIERpc3BsYXlzIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuIHRvIGdldCB1c2VyIGlucHV0LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHByb21wdCBtb2RhbC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgdXNlciBpbnB1dCBvciBgbnVsbGAgaWYgdGhlIHByb21wdCB3YXMgY2FuY2VsbGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvbXB0KHBhcmFtczogUHJvbXB0UGFyYW1zKTogUHJvbWlzZTxudWxsIHwgc3RyaW5nPiB7XG4gIHJldHVybiBhd2FpdCBzaG93TW9kYWw8bnVsbCB8IHN0cmluZz4oKHJlc29sdmUpID0+IG5ldyBQcm9tcHRNb2RhbChwYXJhbXMsIHJlc29sdmUpKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0Esc0JBR087QUFLUCxtQkFHTztBQUNQLHVCQUF5QjtBQUN6QixzQkFBcUI7QUFDckIsa0JBQWtCO0FBQ2xCLHdCQUdPO0FBNkNQLE1BQU0sb0JBQW9CLDRCQUF1QztBQUFBLEVBQ3ZELGNBQWM7QUFBQSxFQUNMO0FBQUEsRUFDVDtBQUFBLEVBRUQsWUFBWSxRQUFzQixTQUF3QztBQUMvRSxVQUFNLFFBQVEsU0FBUywwQkFBUyxXQUFXO0FBQzNDLFVBQU0sa0JBQTBDO0FBQUEsTUFDOUMsS0FBSyxPQUFPO0FBQUEsTUFDWixzQkFBa0IsZUFBRSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsUUFBUSxNQUFNO0FBQUEsTUFDNUQsY0FBYztBQUFBLE1BQ2Qsa0JBQWMsZUFBRSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsUUFBUSxFQUFFO0FBQUEsTUFDcEQsYUFBYTtBQUFBLE1BQ2IsT0FBTztBQUFBLE1BQ1AsZ0JBQWdCO0FBQUEsSUFDbEI7QUFDQSxTQUFLLFNBQVMsRUFBRSxHQUFHLGlCQUFpQixHQUFHLE9BQU87QUFDOUMsU0FBSyxRQUFRLE9BQU8sZ0JBQWdCO0FBQUEsRUFDdEM7QUFBQSxFQUVnQixVQUFnQjtBQUM5QixVQUFNLFFBQVE7QUFDZCxTQUFLLFFBQVEsS0FBSyxjQUFjLEtBQUssUUFBUSxJQUFJO0FBQUEsRUFDbkQ7QUFBQSxFQUVnQixTQUFlO0FBQzdCLFVBQU0sT0FBTztBQUNiLFNBQUssUUFBUSxRQUFRLEtBQUssT0FBTyxLQUFLO0FBQ3RDLFVBQU0sZ0JBQWdCLElBQUksOEJBQWMsS0FBSyxTQUFTO0FBQ3RELFVBQU0sVUFBVSxjQUFjO0FBRTlCLFVBQU0sV0FBVyxZQUEyQjtBQUMxQyxZQUFNLGVBQWUsTUFBTSxLQUFLLE9BQU8sZUFBZSxRQUFRLEtBQUs7QUFDbkUsY0FBUSxrQkFBa0IsZ0JBQWdCLEVBQUU7QUFDNUMsY0FBUSxlQUFlO0FBQUEsSUFDekI7QUFFQSxrQkFBYyxTQUFTLEtBQUssS0FBSztBQUNqQyxrQkFBYyxRQUFRLE9BQU87QUFDN0Isa0JBQWMsZUFBZSxLQUFLLE9BQU8sV0FBVztBQUNwRCxZQUFRLFNBQVMsMEJBQVMsT0FBTztBQUNqQyxrQkFBYyxTQUFTLENBQUMsYUFBYTtBQUNuQyxXQUFLLFFBQVE7QUFBQSxJQUNmLENBQUM7QUFDRCxZQUFRLGlCQUFpQixXQUFXLENBQUMsVUFBeUI7QUFDNUQsVUFBSSxNQUFNLFFBQVEsU0FBUztBQUN6QixhQUFLLFNBQVMsT0FBTyxhQUFhO0FBQUEsTUFDcEMsV0FBVyxNQUFNLFFBQVEsVUFBVTtBQUNqQyxhQUFLLE1BQU07QUFBQSxNQUNiO0FBQUEsSUFDRixDQUFDO0FBQ0QsWUFBUSxpQkFBaUIsYUFBUyxpQ0FBbUIsUUFBUSxDQUFDO0FBQzlELFlBQVEsaUJBQWlCLGFBQVMsaUNBQW1CLFFBQVEsQ0FBQztBQUM5RCx3Q0FBa0IsUUFBUTtBQUMxQixVQUFNLFdBQVcsSUFBSSxnQ0FBZ0IsS0FBSyxTQUFTO0FBQ25ELGFBQVMsY0FBYyxLQUFLLE9BQU8sWUFBWTtBQUMvQyxhQUFTLE9BQU87QUFDaEIsYUFBUyxRQUFRLENBQUMsVUFBVTtBQUMxQixXQUFLLFNBQVMsT0FBTyxhQUFhO0FBQUEsSUFDcEMsQ0FBQztBQUNELGFBQVMsU0FBUywwQkFBUyxRQUFRO0FBQ25DLFVBQU0sZUFBZSxJQUFJLGdDQUFnQixLQUFLLFNBQVM7QUFDdkQsaUJBQWEsY0FBYyxLQUFLLE9BQU8sZ0JBQWdCO0FBQ3ZELGlCQUFhLFFBQVEsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDO0FBQzFDLGlCQUFhLFNBQVMsMEJBQVMsWUFBWTtBQUFBLEVBQzdDO0FBQUEsRUFFUSxTQUFTLE9BQWMsZUFBb0M7QUFDakUsVUFBTSxlQUFlO0FBQ3JCLFFBQUksQ0FBQyxjQUFjLFFBQVEsY0FBYyxHQUFHO0FBQzFDO0FBQUEsSUFDRjtBQUVBLFNBQUssY0FBYztBQUNuQixTQUFLLE1BQU07QUFBQSxFQUNiO0FBQ0Y7QUFRQSxlQUFzQixPQUFPLFFBQThDO0FBQ3pFLFNBQU8sVUFBTSw2QkFBeUIsQ0FBQyxZQUFZLElBQUksWUFBWSxRQUFRLE9BQU8sQ0FBQztBQUNyRjsiLAogICJuYW1lcyI6IFtdCn0K
212
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9wcm9tcHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgdGhhdCBwcm9tcHRzIHRoZSB1c2VyIGZvciBpbnB1dC4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHtcbiAgQnV0dG9uQ29tcG9uZW50LFxuICBUZXh0Q29tcG9uZW50XG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBQcm9taXNlUmVzb2x2ZSB9IGZyb20gJy4uLy4uL2FzeW5jLnRzJztcbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICcuLi8uLi90eXBlLnRzJztcblxuaW1wb3J0IHtcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBpbnZva2VBc3luY1NhZmVseVxufSBmcm9tICcuLi8uLi9hc3luYy50cyc7XG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb24udHMnO1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQge1xuICBNb2RhbEJhc2UsXG4gIHNob3dNb2RhbFxufSBmcm9tICcuL21vZGFsLWJhc2UudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBwcm9tcHR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb21wdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBBbiBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogQSB0ZXh0IGZvciB0aGUgXCJDYW5jZWxcIiBidXR0b24uXG4gICAqL1xuICByZWFkb25seSBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRlZmF1bHQgdmFsdWUgdG8gcHJlLWZpbGwgdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHRleHQgZm9yIHRoZSBcIk9LXCIgYnV0dG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb2tCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dCBmaWVsZC5cbiAgICovXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHRpdGxlIG9mIHRoZSBtb2RhbC5cbiAgICovXG4gIHJlYWRvbmx5IHRpdGxlPzogRG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZztcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byB2YWxpZGF0ZSB0aGUgaW5wdXQgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBpbnB1dCB2YWx1ZSB0byB2YWxpZGF0ZS5cbiAgICogQHJldHVybnMgYW4gZXJyb3IgbWVzc2FnZSBpZiB0aGUgdmFsdWUgaXMgaW52YWxpZCwgb3IgYG51bGxgIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZC5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlVmFsaWRhdG9yPzogKHZhbHVlOiBzdHJpbmcpID0+IFByb21pc2FibGU8TWF5YmVSZXR1cm48c3RyaW5nPj47XG59XG5cbmNsYXNzIFByb21wdE1vZGFsIGV4dGVuZHMgTW9kYWxCYXNlPG51bGwgfCBzdHJpbmcsIFByb21wdFBhcmFtcz4ge1xuICBwcml2YXRlIGlzT2tDbGlja2VkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyYW1zOiBSZXF1aXJlZDxQcm9tcHRQYXJhbXM+O1xuICBwcml2YXRlIHZhbHVlOiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmFtczogUHJvbXB0UGFyYW1zLCByZXNvbHZlOiBQcm9taXNlUmVzb2x2ZTxudWxsIHwgc3RyaW5nPikge1xuICAgIHN1cGVyKHBhcmFtcywgcmVzb2x2ZSwgQ3NzQ2xhc3MuUHJvbXB0TW9kYWwpO1xuICAgIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogUmVxdWlyZWQ8UHJvbXB0UGFyYW1zPiA9IHtcbiAgICAgIGFwcDogcGFyYW1zLmFwcCxcbiAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5idXR0b25zLmNhbmNlbCksXG4gICAgICBkZWZhdWx0VmFsdWU6ICcnLFxuICAgICAgb2tCdXR0b25UZXh0OiB0KCgkKSA9PiAkLm9ic2lkaWFuRGV2VXRpbHMuYnV0dG9ucy5vayksXG4gICAgICBwbGFjZWhvbGRlcjogJycsXG4gICAgICB0aXRsZTogJycsXG4gICAgICB2YWx1ZVZhbGlkYXRvcjogbm9vcFxuICAgIH07XG4gICAgdGhpcy5wYXJhbXMgPSB7IC4uLkRFRkFVTFRfT1BUSU9OUywgLi4ucGFyYW1zIH07XG4gICAgdGhpcy52YWx1ZSA9IHBhcmFtcy5kZWZhdWx0VmFsdWUgPz8gJyc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICBzdXBlci5vbkNsb3NlKCk7XG4gICAgdGhpcy5yZXNvbHZlKHRoaXMuaXNPa0NsaWNrZWQgPyB0aGlzLnZhbHVlIDogbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHN1cGVyLm9uT3BlbigpO1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMucGFyYW1zLnRpdGxlKTtcbiAgICBjb25zdCB0ZXh0Q29tcG9uZW50ID0gbmV3IFRleHRDb21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNvbnN0IGlucHV0RWwgPSB0ZXh0Q29tcG9uZW50LmlucHV0RWw7XG5cbiAgICBjb25zdCB2YWxpZGF0ZSA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGF3YWl0IHRoaXMucGFyYW1zLnZhbHVlVmFsaWRhdG9yKGlucHV0RWwudmFsdWUpIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIGlucHV0RWwuc2V0Q3VzdG9tVmFsaWRpdHkoZXJyb3JNZXNzYWdlID8/ICcnKTtcbiAgICAgIGlucHV0RWwucmVwb3J0VmFsaWRpdHkoKTtcbiAgICB9O1xuXG4gICAgdGV4dENvbXBvbmVudC5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwuc2VsZWN0KCk7XG4gICAgdGV4dENvbXBvbmVudC5zZXRQbGFjZWhvbGRlcih0aGlzLnBhcmFtcy5wbGFjZWhvbGRlcik7XG4gICAgaW5wdXRFbC5hZGRDbGFzcyhDc3NDbGFzcy5UZXh0Qm94KTtcbiAgICB0ZXh0Q29tcG9uZW50Lm9uQ2hhbmdlKChuZXdWYWx1ZSkgPT4ge1xuICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIH0pO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICB0aGlzLmhhbmRsZU9rKGV2ZW50LCB0ZXh0Q29tcG9uZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGNvbnZlcnRBc3luY1RvU3luYyh2YWxpZGF0ZSkpO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCBjb252ZXJ0QXN5bmNUb1N5bmModmFsaWRhdGUpKTtcbiAgICBpbnZva2VBc3luY1NhZmVseSh2YWxpZGF0ZSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMucGFyYW1zLm9rQnV0dG9uVGV4dCk7XG4gICAgb2tCdXR0b24uc2V0Q3RhKCk7XG4gICAgb2tCdXR0b24ub25DbGljaygoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlT2soZXZlbnQsIHRleHRDb21wb25lbnQpO1xuICAgIH0pO1xuICAgIG9rQnV0dG9uLnNldENsYXNzKENzc0NsYXNzLk9rQnV0dG9uKTtcbiAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBjYW5jZWxCdXR0b24uc2V0QnV0dG9uVGV4dCh0aGlzLnBhcmFtcy5jYW5jZWxCdXR0b25UZXh0KTtcbiAgICBjYW5jZWxCdXR0b24ub25DbGljayh0aGlzLmNsb3NlLmJpbmQodGhpcykpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRDbGFzcyhDc3NDbGFzcy5DYW5jZWxCdXR0b24pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVPayhldmVudDogRXZlbnQsIHRleHRDb21wb25lbnQ6IFRleHRDb21wb25lbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGV4dENvbXBvbmVudC5pbnB1dEVsLmNoZWNrVmFsaWRpdHkoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNPa0NsaWNrZWQgPSB0cnVlO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxufVxuXG4vKipcbiAqIERpc3BsYXlzIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuIHRvIGdldCB1c2VyIGlucHV0LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHByb21wdCBtb2RhbC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgdXNlciBpbnB1dCBvciBgbnVsbGAgaWYgdGhlIHByb21wdCB3YXMgY2FuY2VsbGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvbXB0KHBhcmFtczogUHJvbXB0UGFyYW1zKTogUHJvbWlzZTxudWxsIHwgc3RyaW5nPiB7XG4gIHJldHVybiBhd2FpdCBzaG93TW9kYWw8bnVsbCB8IHN0cmluZz4oKHJlc29sdmUpID0+IG5ldyBQcm9tcHRNb2RhbChwYXJhbXMsIHJlc29sdmUpKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxzQkFHTztBQUtQLG1CQUdPO0FBQ1AsdUJBQXlCO0FBQ3pCLHNCQUFxQjtBQUNyQixrQkFBa0I7QUFDbEIsd0JBR087QUE2Q1AsTUFBTSxvQkFBb0IsNEJBQXVDO0FBQUEsRUFDdkQsY0FBYztBQUFBLEVBQ0w7QUFBQSxFQUNUO0FBQUEsRUFFRCxZQUFZLFFBQXNCLFNBQXdDO0FBQy9FLFVBQU0sUUFBUSxTQUFTLDBCQUFTLFdBQVc7QUFDM0MsVUFBTSxrQkFBMEM7QUFBQSxNQUM5QyxLQUFLLE9BQU87QUFBQSxNQUNaLHNCQUFrQixlQUFFLENBQUMsTUFBTSxFQUFFLGlCQUFpQixRQUFRLE1BQU07QUFBQSxNQUM1RCxjQUFjO0FBQUEsTUFDZCxrQkFBYyxlQUFFLENBQUMsTUFBTSxFQUFFLGlCQUFpQixRQUFRLEVBQUU7QUFBQSxNQUNwRCxhQUFhO0FBQUEsTUFDYixPQUFPO0FBQUEsTUFDUCxnQkFBZ0I7QUFBQSxJQUNsQjtBQUNBLFNBQUssU0FBUyxFQUFFLEdBQUcsaUJBQWlCLEdBQUcsT0FBTztBQUM5QyxTQUFLLFFBQVEsT0FBTyxnQkFBZ0I7QUFBQSxFQUN0QztBQUFBLEVBRWdCLFVBQWdCO0FBQzlCLFVBQU0sUUFBUTtBQUNkLFNBQUssUUFBUSxLQUFLLGNBQWMsS0FBSyxRQUFRLElBQUk7QUFBQSxFQUNuRDtBQUFBLEVBRWdCLFNBQWU7QUFDN0IsVUFBTSxPQUFPO0FBQ2IsU0FBSyxRQUFRLFFBQVEsS0FBSyxPQUFPLEtBQUs7QUFDdEMsVUFBTSxnQkFBZ0IsSUFBSSw4QkFBYyxLQUFLLFNBQVM7QUFDdEQsVUFBTSxVQUFVLGNBQWM7QUFFOUIsVUFBTSxXQUFXLFlBQTJCO0FBQzFDLFlBQU0sZUFBZSxNQUFNLEtBQUssT0FBTyxlQUFlLFFBQVEsS0FBSztBQUNuRSxjQUFRLGtCQUFrQixnQkFBZ0IsRUFBRTtBQUM1QyxjQUFRLGVBQWU7QUFBQSxJQUN6QjtBQUVBLGtCQUFjLFNBQVMsS0FBSyxLQUFLO0FBQ2pDLGtCQUFjLFFBQVEsT0FBTztBQUM3QixrQkFBYyxlQUFlLEtBQUssT0FBTyxXQUFXO0FBQ3BELFlBQVEsU0FBUywwQkFBUyxPQUFPO0FBQ2pDLGtCQUFjLFNBQVMsQ0FBQyxhQUFhO0FBQ25DLFdBQUssUUFBUTtBQUFBLElBQ2YsQ0FBQztBQUNELFlBQVEsaUJBQWlCLFdBQVcsQ0FBQyxVQUF5QjtBQUM1RCxVQUFJLE1BQU0sUUFBUSxTQUFTO0FBQ3pCLGFBQUssU0FBUyxPQUFPLGFBQWE7QUFBQSxNQUNwQyxXQUFXLE1BQU0sUUFBUSxVQUFVO0FBQ2pDLGFBQUssTUFBTTtBQUFBLE1BQ2I7QUFBQSxJQUNGLENBQUM7QUFDRCxZQUFRLGlCQUFpQixhQUFTLGlDQUFtQixRQUFRLENBQUM7QUFDOUQsWUFBUSxpQkFBaUIsYUFBUyxpQ0FBbUIsUUFBUSxDQUFDO0FBQzlELHdDQUFrQixRQUFRO0FBQzFCLFVBQU0sV0FBVyxJQUFJLGdDQUFnQixLQUFLLFNBQVM7QUFDbkQsYUFBUyxjQUFjLEtBQUssT0FBTyxZQUFZO0FBQy9DLGFBQVMsT0FBTztBQUNoQixhQUFTLFFBQVEsQ0FBQyxVQUFVO0FBQzFCLFdBQUssU0FBUyxPQUFPLGFBQWE7QUFBQSxJQUNwQyxDQUFDO0FBQ0QsYUFBUyxTQUFTLDBCQUFTLFFBQVE7QUFDbkMsVUFBTSxlQUFlLElBQUksZ0NBQWdCLEtBQUssU0FBUztBQUN2RCxpQkFBYSxjQUFjLEtBQUssT0FBTyxnQkFBZ0I7QUFDdkQsaUJBQWEsUUFBUSxLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDMUMsaUJBQWEsU0FBUywwQkFBUyxZQUFZO0FBQUEsRUFDN0M7QUFBQSxFQUVRLFNBQVMsT0FBYyxlQUFvQztBQUNqRSxVQUFNLGVBQWU7QUFDckIsUUFBSSxDQUFDLGNBQWMsUUFBUSxjQUFjLEdBQUc7QUFDMUM7QUFBQSxJQUNGO0FBRUEsU0FBSyxjQUFjO0FBQ25CLFNBQUssTUFBTTtBQUFBLEVBQ2I7QUFDRjtBQVFBLGVBQXNCLE9BQU8sUUFBOEM7QUFDekUsU0FBTyxVQUFNLDZCQUF5QixDQUFDLFlBQVksSUFBSSxZQUFZLFFBQVEsT0FBTyxDQUFDO0FBQ3JGOyIsCiAgIm5hbWVzIjogW10KfQo=