obsidian-dev-utils 88.8.0 → 89.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/demo-vault-helper/main.js +20 -23
- package/dist/integration-test-plugin/main.js +2218 -1734
- package/dist/lib/cjs/__merged.cjs +57 -35
- package/dist/lib/cjs/__merged.d.cts +12 -10
- package/dist/lib/cjs/abort-controller.cjs +15 -22
- package/dist/lib/cjs/array.cjs +27 -26
- package/dist/lib/cjs/array.d.cts +25 -7
- package/dist/lib/cjs/async-events.cjs +87 -91
- package/dist/lib/cjs/async-events.d.cts +50 -50
- package/dist/lib/cjs/async.cjs +80 -80
- package/dist/lib/cjs/async.d.cts +23 -23
- package/dist/lib/cjs/beeper.cjs +11 -15
- package/dist/lib/cjs/blob.cjs +14 -25
- package/dist/lib/cjs/codemirror/index.cjs +11 -15
- package/dist/lib/cjs/codemirror/state-field-spec.cjs +11 -15
- package/dist/lib/cjs/debug-controller.cjs +11 -15
- package/dist/lib/cjs/debug.cjs +24 -32
- package/dist/lib/cjs/debug.d.cts +1 -1
- package/dist/lib/cjs/disposable.cjs +59 -43
- package/dist/lib/cjs/disposable.d.cts +27 -8
- package/dist/lib/cjs/enum.cjs +11 -15
- package/dist/lib/cjs/error.cjs +28 -33
- package/dist/lib/cjs/function.cjs +30 -34
- package/dist/lib/cjs/function.d.cts +26 -26
- package/dist/lib/cjs/generated-during-build.cjs +12 -16
- package/dist/lib/cjs/html-element.cjs +84 -89
- package/dist/lib/cjs/html-element.d.cts +15 -15
- package/dist/lib/cjs/index.cjs +11 -15
- package/dist/lib/cjs/integration-test-setup.cjs +11 -15
- package/dist/lib/cjs/integration-test-vitest-global-setup.cjs +11 -15
- package/dist/lib/cjs/jest-setup.cjs +11 -15
- package/dist/lib/cjs/library.cjs +11 -15
- package/dist/lib/cjs/object-utils.cjs +120 -117
- package/dist/lib/cjs/object-utils.d.cts +27 -27
- package/dist/lib/cjs/obsidian/@types/dataview/data-model/value.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/expression/field.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/expression/functions.d.cts +4 -4
- package/dist/lib/cjs/obsidian/active-file-provider.cjs +11 -15
- package/dist/lib/cjs/obsidian/app.cjs +11 -15
- package/dist/lib/cjs/obsidian/async-with-notice.cjs +28 -32
- package/dist/lib/cjs/obsidian/async-with-notice.d.cts +2 -2
- package/dist/lib/cjs/obsidian/attachment-path.cjs +20 -24
- package/dist/lib/cjs/obsidian/attachment-path.d.cts +5 -5
- package/dist/lib/cjs/obsidian/backlink.cjs +12 -16
- package/dist/lib/cjs/obsidian/bases-view-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/callout.cjs +27 -26
- package/dist/lib/cjs/obsidian/callout.d.cts +9 -3
- package/dist/lib/cjs/obsidian/canvas.cjs +13 -16
- package/dist/lib/cjs/obsidian/case-insensitive-file-index.cjs +18 -20
- package/dist/lib/cjs/obsidian/code-block-markdown-information.cjs +11 -15
- package/dist/lib/cjs/obsidian/code-block-markdown-information.d.cts +2 -2
- package/dist/lib/cjs/obsidian/code-block-reg-exp.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +18 -16
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.d.cts +5 -0
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +56 -31
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.d.cts +42 -8
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +10 -0
- package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.cjs +26 -30
- package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.d.cts +8 -8
- package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.cjs +12 -16
- package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.cjs +12 -16
- package/dist/lib/cjs/obsidian/command-handlers/global-command-handler.cjs +13 -17
- package/dist/lib/cjs/obsidian/command-handlers/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/open-demo-vault-command-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/open-settings-command-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/unlock-active-note-command-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/community-plugins.cjs +28 -25
- package/dist/lib/cjs/obsidian/community-plugins.d.cts +19 -5
- package/dist/lib/cjs/obsidian/components/abort-signal-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/all-windows-event-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/all-windows-event-component.d.cts +4 -4
- package/dist/lib/cjs/obsidian/components/async-error-handler-component.cjs +13 -16
- package/dist/lib/cjs/obsidian/components/async-events-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/case-insensitive-file-index-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/component-ex.cjs +26 -28
- package/dist/lib/cjs/obsidian/components/component-ex.d.cts +3 -3
- package/dist/lib/cjs/obsidian/components/console-debug-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/components/console-debug-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/components/disposable-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/embed-extensions-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/generate-markdown-link-default-params-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/index.cjs +14 -15
- package/dist/lib/cjs/obsidian/components/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/components/layout-ready-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/menu-event-registrar-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/monkey-around-component.cjs +29 -33
- package/dist/lib/cjs/obsidian/components/monkey-around-component.d.cts +55 -55
- package/dist/lib/cjs/obsidian/components/notebook-navigator-menu-event-registrar-component.cjs +297 -0
- package/dist/lib/cjs/obsidian/components/notebook-navigator-menu-event-registrar-component.d.cts +139 -0
- package/dist/lib/cjs/obsidian/components/plugin-context-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/plugin-notice-component.cjs +28 -31
- package/dist/lib/cjs/obsidian/components/plugin-settings-component.cjs +26 -30
- package/dist/lib/cjs/obsidian/components/plugin-settings-component.d.cts +8 -8
- package/dist/lib/cjs/obsidian/components/plugin-settings-tab-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/pointer-position-component.cjs +13 -17
- package/dist/lib/cjs/obsidian/components/registry-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.cjs +72 -62
- package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.d.cts +12 -1
- package/dist/lib/cjs/obsidian/components/syntax-highlighting-component.cjs +16 -20
- package/dist/lib/cjs/obsidian/components/syntax-highlighting-component.d.cts +8 -8
- package/dist/lib/cjs/obsidian/constructors/get-dom-events-handlers-constructor.cjs +14 -18
- package/dist/lib/cjs/obsidian/constructors/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/css-class.cjs +11 -15
- package/dist/lib/cjs/obsidian/data-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/dataview-link.cjs +13 -17
- package/dist/lib/cjs/obsidian/dataview.cjs +35 -41
- package/dist/lib/cjs/obsidian/dataview.d.cts +2 -2
- package/dist/lib/cjs/obsidian/demo-vault-helper.cjs +13 -17
- package/dist/lib/cjs/obsidian/desktop-demo-vault-opener.cjs +22 -26
- package/dist/lib/cjs/obsidian/desktop-trusted-input.cjs +23 -21
- package/dist/lib/cjs/obsidian/editor-extension-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/editor-suggest-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/editor.cjs +17 -19
- package/dist/lib/cjs/obsidian/events.cjs +12 -16
- package/dist/lib/cjs/obsidian/events.d.cts +2 -2
- package/dist/lib/cjs/obsidian/extensions-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/file-change.cjs +76 -80
- package/dist/lib/cjs/obsidian/file-change.d.cts +3 -3
- package/dist/lib/cjs/obsidian/file-manager.cjs +33 -22
- package/dist/lib/cjs/obsidian/file-manager.d.cts +20 -1
- package/dist/lib/cjs/obsidian/file-system.cjs +15 -19
- package/dist/lib/cjs/obsidian/file-system.d.cts +3 -3
- package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.cjs +11 -15
- package/dist/lib/cjs/obsidian/frontmatter.cjs +15 -19
- package/dist/lib/cjs/obsidian/hover-link-source-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/html-element.cjs +13 -17
- package/dist/lib/cjs/obsidian/html-element.d.cts +2 -2
- package/dist/lib/cjs/obsidian/i18n/custom-type-options.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/default-translations.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/i18n.cjs +13 -16
- package/dist/lib/cjs/obsidian/i18n/i18n.d.cts +7 -0
- package/dist/lib/cjs/obsidian/i18n/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/locales/translations-map.cjs +11 -15
- package/dist/lib/cjs/obsidian/index.cjs +14 -15
- package/dist/lib/cjs/obsidian/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/is-in-obsidian.cjs +11 -15
- package/dist/lib/cjs/obsidian/link-update-progress.cjs +11 -15
- package/dist/lib/cjs/obsidian/link.cjs +91 -81
- package/dist/lib/cjs/obsidian/link.d.cts +22 -22
- package/dist/lib/cjs/obsidian/logger.cjs +21 -25
- package/dist/lib/cjs/obsidian/logger.d.cts +5 -5
- package/dist/lib/cjs/obsidian/loop.cjs +14 -18
- package/dist/lib/cjs/obsidian/loop.d.cts +1 -1
- package/dist/lib/cjs/obsidian/markdown-code-block-processor-registrar.cjs +12 -16
- package/dist/lib/cjs/obsidian/markdown-code-block-processor-registrar.d.cts +3 -3
- package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +35 -40
- package/dist/lib/cjs/obsidian/markdown-code-block-processor.d.cts +3 -3
- package/dist/lib/cjs/obsidian/markdown-post-processor-registrar.cjs +12 -16
- package/dist/lib/cjs/obsidian/markdown-post-processor-registrar.d.cts +3 -3
- package/dist/lib/cjs/obsidian/markdown-view.cjs +11 -15
- package/dist/lib/cjs/obsidian/markdown.cjs +22 -24
- package/dist/lib/cjs/obsidian/menu-event-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/menu-event-registrar.d.cts +1 -1
- package/dist/lib/cjs/obsidian/metadata-cache.cjs +16 -20
- package/dist/lib/cjs/obsidian/metadata-cache.d.cts +2 -2
- package/dist/lib/cjs/obsidian/modals/alert.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/confirm.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/minimizable-modal.cjs +28 -32
- package/dist/lib/cjs/obsidian/modals/modal.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/prompt.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/select-item.cjs +16 -20
- package/dist/lib/cjs/obsidian/modals/select-item.d.cts +1 -1
- package/dist/lib/cjs/obsidian/modals/select-option.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/suggest-modal-command-builder.cjs +26 -28
- package/dist/lib/cjs/obsidian/modals/suggest-modal-command-builder.d.cts +5 -5
- package/dist/lib/cjs/obsidian/notebook-navigator.cjs +155 -0
- package/dist/lib/cjs/obsidian/notebook-navigator.d.cts +132 -0
- package/dist/lib/cjs/obsidian/obsidian-protocol-handler-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/obsidian-settings.cjs +11 -15
- package/dist/lib/cjs/obsidian/parse-link.cjs +61 -62
- package/dist/lib/cjs/obsidian/parse-link.d.cts +4 -4
- package/dist/lib/cjs/obsidian/path-settings.cjs +27 -25
- package/dist/lib/cjs/obsidian/pdf.cjs +13 -17
- package/dist/lib/cjs/obsidian/pdf.d.cts +2 -2
- package/dist/lib/cjs/obsidian/plugin/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +11 -15
- package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.d.cts +156 -52
- package/dist/lib/cjs/obsidian/plugin/plugin-context.cjs +17 -21
- package/dist/lib/cjs/obsidian/plugin/plugin-context.d.cts +2 -2
- package/dist/lib/cjs/obsidian/plugin/plugin-event-source.cjs +20 -24
- package/dist/lib/cjs/obsidian/plugin/plugin-event-source.d.cts +11 -9
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +29 -33
- package/dist/lib/cjs/obsidian/plugin/plugin.cjs +33 -16
- package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +11 -1
- package/dist/lib/cjs/obsidian/plugin-cli-handler-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/popovers/field-popover.cjs +11 -15
- package/dist/lib/cjs/obsidian/popovers/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/popovers/popover-anchor.cjs +14 -18
- package/dist/lib/cjs/obsidian/popovers/popover-anchor.d.cts +2 -2
- package/dist/lib/cjs/obsidian/popovers/popover.cjs +19 -23
- package/dist/lib/cjs/obsidian/queue.cjs +16 -20
- package/dist/lib/cjs/obsidian/queue.d.cts +2 -2
- package/dist/lib/cjs/obsidian/react/app-context.cjs +11 -15
- package/dist/lib/cjs/obsidian/react/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/reference.cjs +11 -15
- package/dist/lib/cjs/obsidian/resource-lock.cjs +157 -78
- package/dist/lib/cjs/obsidian/resource-lock.d.cts +5 -0
- package/dist/lib/cjs/obsidian/resource-url.cjs +12 -16
- package/dist/lib/cjs/obsidian/ribbon-icon-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/ribbon-icon-registrar.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/checkbox-component.cjs +18 -22
- package/dist/lib/cjs/obsidian/setting-components/checkbox-component.d.cts +5 -5
- package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.cjs +28 -31
- package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/date-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/date-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/date-time-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/date-time-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/email-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/email-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/file-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/setting-components/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/setting-components/month-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/month-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.cjs +17 -21
- package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/multiple-email-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/multiple-email-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/multiple-file-component.cjs +12 -16
- package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.cjs +15 -19
- package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/number-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/number-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/password-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/password-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/setting-component-wrapper.cjs +16 -20
- package/dist/lib/cjs/obsidian/setting-components/setting-component-wrapper.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/telephone-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/telephone-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/text-based-component.cjs +16 -20
- package/dist/lib/cjs/obsidian/setting-components/text-based-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/time-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/time-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.cjs +15 -19
- package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.cjs +16 -20
- package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.cjs +18 -22
- package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/typed-range-text-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/setting-components/typed-text-component.cjs +16 -19
- package/dist/lib/cjs/obsidian/setting-components/typed-text-component.d.cts +4 -4
- package/dist/lib/cjs/obsidian/setting-components/url-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/url-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/validator-component.cjs +45 -49
- package/dist/lib/cjs/obsidian/setting-components/validator-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/value-component-with-change-tracking.cjs +11 -15
- package/dist/lib/cjs/obsidian/setting-components/week-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/week-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-ex.cjs +76 -80
- package/dist/lib/cjs/obsidian/setting-ex.d.cts +42 -42
- package/dist/lib/cjs/obsidian/setting-group-ex.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-group-ex.d.cts +2 -2
- package/dist/lib/cjs/obsidian/status-bar-item-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/validation.cjs +11 -15
- package/dist/lib/cjs/obsidian/vault-delete.cjs +23 -20
- package/dist/lib/cjs/obsidian/vault-delete.d.cts +16 -2
- package/dist/lib/cjs/obsidian/vault-transaction.cjs +17 -18
- package/dist/lib/cjs/obsidian/vault.cjs +81 -63
- package/dist/lib/cjs/obsidian/vault.d.cts +32 -11
- package/dist/lib/cjs/obsidian/view-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/workspace.cjs +12 -16
- package/dist/lib/cjs/obsidian-dev-utils-state.cjs +11 -15
- package/dist/lib/cjs/path.cjs +18 -22
- package/dist/lib/cjs/path.d.cts +1 -1
- package/dist/lib/cjs/reg-exp.cjs +38 -35
- package/dist/lib/cjs/reg-exp.d.cts +4 -4
- package/dist/lib/cjs/script-utils/build.cjs +21 -25
- package/dist/lib/cjs/script-utils/build.d.cts +1 -1
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.cjs +24 -28
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +36 -34
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +20 -24
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.cjs +13 -17
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +16 -20
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +6 -2
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.cjs +32 -36
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/check-project-types.cjs +13 -17
- package/dist/lib/cjs/script-utils/check-project-types.d.cts +12 -4
- package/dist/lib/cjs/script-utils/cli-utils.cjs +39 -47
- package/dist/lib/cjs/script-utils/cli-utils.d.cts +6 -6
- package/dist/lib/cjs/script-utils/code-generator.cjs +11 -15
- package/dist/lib/cjs/script-utils/commitlint-config.cjs +11 -15
- package/dist/lib/cjs/script-utils/demo-vault-coverage.cjs +22 -23
- package/dist/lib/cjs/script-utils/demo-vault.cjs +11 -15
- package/dist/lib/cjs/script-utils/env-toggle.cjs +13 -17
- package/dist/lib/cjs/script-utils/exec.cjs +40 -44
- package/dist/lib/cjs/script-utils/exec.d.cts +4 -4
- package/dist/lib/cjs/script-utils/formatters/dprint.cjs +12 -16
- package/dist/lib/cjs/script-utils/formatters/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/fs.cjs +13 -17
- package/dist/lib/cjs/script-utils/git.cjs +11 -15
- package/dist/lib/cjs/script-utils/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/json.cjs +15 -19
- package/dist/lib/cjs/script-utils/json.d.cts +2 -2
- package/dist/lib/cjs/script-utils/linters/cspell.cjs +12 -16
- package/dist/lib/cjs/script-utils/linters/eslint-agnostic-core-boundary.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +402 -16
- package/dist/lib/cjs/script-utils/linters/eslint-no-restricted-syntax.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +27 -31
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-unused-params-members.cjs +27 -31
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-unused-params-members.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.cjs +21 -25
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint-rules/params-options-name-match.cjs +109 -113
- package/dist/lib/cjs/script-utils/linters/eslint-rules/params-options-name-match.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.cjs +13 -17
- package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/readonly-params-options-result-members.cjs +21 -25
- package/dist/lib/cjs/script-utils/linters/eslint-rules/readonly-params-options-result-members.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.cjs +51 -55
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.d.cts +9 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.cjs +25 -27
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.d.cts +6 -2
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-super-call.cjs +33 -37
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-super-call.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint.cjs +14 -18
- package/dist/lib/cjs/script-utils/linters/index.cjs +14 -15
- package/dist/lib/cjs/script-utils/linters/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.cjs +18 -17
- package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.d.cts +2 -2
- package/dist/lib/cjs/script-utils/linters/markdownlint-ignores.cjs +138 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint-ignores.d.cts +35 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +20 -23
- package/dist/lib/cjs/script-utils/linters/over-exposure.cjs +18 -22
- package/dist/lib/cjs/script-utils/linters/over-exposure.d.cts +54 -18
- package/dist/lib/cjs/script-utils/nano-staged-config.cjs +11 -15
- package/dist/lib/cjs/script-utils/npm-publish.cjs +11 -15
- package/dist/lib/cjs/script-utils/npm-run.cjs +20 -17
- package/dist/lib/cjs/script-utils/npm-run.d.cts +16 -2
- package/dist/lib/cjs/script-utils/npm.cjs +21 -25
- package/dist/lib/cjs/script-utils/npm.d.cts +11 -11
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +11 -15
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.d.cts +165 -55
- package/dist/lib/cjs/script-utils/root.cjs +11 -15
- package/dist/lib/cjs/script-utils/test-runners/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/test-runners/integration-test-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/test-runners/vitest-config.cjs +12 -15
- package/dist/lib/cjs/script-utils/test-runners/vitest.cjs +11 -15
- package/dist/lib/cjs/script-utils/validate-declarations.cjs +11 -15
- package/dist/lib/cjs/script-utils/version.cjs +62 -63
- package/dist/lib/cjs/script-utils/version.d.cts +21 -21
- package/dist/lib/cjs/script-utils/warnings-as-errors.cjs +11 -15
- package/dist/lib/cjs/setup.cjs +11 -15
- package/dist/lib/cjs/setup.d.cts +1 -1
- package/dist/lib/cjs/strict-proxy.cjs +30 -34
- package/dist/lib/cjs/strict-proxy.d.cts +2 -2
- package/dist/lib/cjs/string.cjs +90 -93
- package/dist/lib/cjs/string.d.cts +60 -60
- package/dist/lib/cjs/transformers/date-transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/duration-transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/group-transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/index.cjs +11 -15
- package/dist/lib/cjs/transformers/map-transformer.cjs +12 -16
- package/dist/lib/cjs/transformers/set-transformer.cjs +12 -16
- package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +12 -16
- package/dist/lib/cjs/transformers/typed-transformer.cjs +11 -15
- package/dist/lib/cjs/two-way-map.cjs +11 -15
- package/dist/lib/cjs/type-guards.cjs +16 -20
- package/dist/lib/cjs/type-guards.d.cts +6 -6
- package/dist/lib/cjs/type.cjs +13 -17
- package/dist/lib/cjs/type.d.cts +2 -2
- package/dist/lib/cjs/url.cjs +18 -22
- package/dist/lib/cjs/url.d.cts +4 -4
- package/dist/lib/cjs/value-provider.cjs +15 -19
- package/dist/lib/cjs/value-provider.d.cts +6 -6
- package/dist/lib/cjs/value-wrapper.cjs +11 -15
- package/dist/lib/cjs/vitest-setup.cjs +11 -15
- package/dist/lib/esm/__merged.d.mts +12 -10
- package/dist/lib/esm/__merged.mjs +51 -23
- package/dist/lib/esm/abort-controller.mjs +5 -8
- package/dist/lib/esm/array.d.mts +25 -7
- package/dist/lib/esm/array.mjs +16 -12
- package/dist/lib/esm/async-events.d.mts +50 -50
- package/dist/lib/esm/async-events.mjs +81 -78
- package/dist/lib/esm/async.d.mts +23 -23
- package/dist/lib/esm/async.mjs +70 -66
- package/dist/lib/esm/blob.mjs +4 -11
- package/dist/lib/esm/debug.d.mts +1 -1
- package/dist/lib/esm/debug.mjs +14 -18
- package/dist/lib/esm/disposable.d.mts +27 -8
- package/dist/lib/esm/disposable.mjs +47 -29
- package/dist/lib/esm/error.mjs +18 -19
- package/dist/lib/esm/function.d.mts +26 -26
- package/dist/lib/esm/function.mjs +20 -20
- package/dist/lib/esm/generated-during-build.mjs +1 -1
- package/dist/lib/esm/html-element.d.mts +15 -15
- package/dist/lib/esm/html-element.mjs +74 -75
- package/dist/lib/esm/object-utils.d.mts +27 -27
- package/dist/lib/esm/object-utils.mjs +109 -102
- package/dist/lib/esm/obsidian/@types/dataview/data-model/value.d.mts +1 -1
- package/dist/lib/esm/obsidian/@types/dataview/expression/field.d.mts +1 -1
- package/dist/lib/esm/obsidian/@types/dataview/expression/functions.d.mts +4 -4
- package/dist/lib/esm/obsidian/app.mjs +1 -1
- package/dist/lib/esm/obsidian/async-with-notice.d.mts +2 -2
- package/dist/lib/esm/obsidian/async-with-notice.mjs +18 -18
- package/dist/lib/esm/obsidian/attachment-path.d.mts +5 -5
- package/dist/lib/esm/obsidian/attachment-path.mjs +10 -10
- package/dist/lib/esm/obsidian/backlink.mjs +2 -2
- package/dist/lib/esm/obsidian/callout.d.mts +9 -3
- package/dist/lib/esm/obsidian/callout.mjs +17 -12
- package/dist/lib/esm/obsidian/canvas.mjs +3 -2
- package/dist/lib/esm/obsidian/case-insensitive-file-index.mjs +8 -6
- package/dist/lib/esm/obsidian/code-block-markdown-information.d.mts +2 -2
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.d.mts +5 -0
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +8 -2
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.d.mts +42 -8
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +46 -17
- package/dist/lib/esm/obsidian/command-handlers/command-handler.d.mts +10 -0
- package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +1 -1
- package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.d.mts +8 -8
- package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.mjs +16 -16
- package/dist/lib/esm/obsidian/command-handlers/file-command-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/global-command-handler.mjs +3 -3
- package/dist/lib/esm/obsidian/community-plugins.d.mts +19 -5
- package/dist/lib/esm/obsidian/community-plugins.mjs +17 -11
- package/dist/lib/esm/obsidian/components/all-windows-event-component.d.mts +4 -4
- package/dist/lib/esm/obsidian/components/all-windows-event-component.mjs +1 -1
- package/dist/lib/esm/obsidian/components/async-error-handler-component.mjs +3 -2
- package/dist/lib/esm/obsidian/components/component-ex.d.mts +3 -3
- package/dist/lib/esm/obsidian/components/component-ex.mjs +16 -14
- package/dist/lib/esm/obsidian/components/console-debug-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/components/console-debug-component.mjs +4 -4
- package/dist/lib/esm/obsidian/components/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/components/index.mjs +3 -1
- package/dist/lib/esm/obsidian/components/menu-event-registrar-component.mjs +5 -5
- package/dist/lib/esm/obsidian/components/monkey-around-component.d.mts +55 -55
- package/dist/lib/esm/obsidian/components/monkey-around-component.mjs +19 -19
- package/dist/lib/esm/obsidian/components/notebook-navigator-menu-event-registrar-component.d.mts +139 -0
- package/dist/lib/esm/obsidian/components/notebook-navigator-menu-event-registrar-component.mjs +196 -0
- package/dist/lib/esm/obsidian/components/plugin-notice-component.mjs +18 -17
- package/dist/lib/esm/obsidian/components/plugin-settings-component.d.mts +8 -8
- package/dist/lib/esm/obsidian/components/plugin-settings-component.mjs +18 -18
- package/dist/lib/esm/obsidian/components/pointer-position-component.mjs +3 -3
- package/dist/lib/esm/obsidian/components/rename-delete-handler-component.d.mts +12 -1
- package/dist/lib/esm/obsidian/components/rename-delete-handler-component.mjs +62 -48
- package/dist/lib/esm/obsidian/components/syntax-highlighting-component.d.mts +8 -8
- package/dist/lib/esm/obsidian/components/syntax-highlighting-component.mjs +6 -6
- package/dist/lib/esm/obsidian/constructors/get-dom-events-handlers-constructor.mjs +4 -4
- package/dist/lib/esm/obsidian/data-handler.mjs +1 -1
- package/dist/lib/esm/obsidian/dataview-link.mjs +3 -3
- package/dist/lib/esm/obsidian/dataview.d.mts +2 -2
- package/dist/lib/esm/obsidian/dataview.mjs +25 -27
- package/dist/lib/esm/obsidian/demo-vault-helper.mjs +4 -3
- package/dist/lib/esm/obsidian/desktop-demo-vault-opener.mjs +12 -12
- package/dist/lib/esm/obsidian/desktop-trusted-input.mjs +13 -7
- package/dist/lib/esm/obsidian/editor.mjs +7 -5
- package/dist/lib/esm/obsidian/events.d.mts +2 -2
- package/dist/lib/esm/obsidian/events.mjs +2 -2
- package/dist/lib/esm/obsidian/file-change.d.mts +3 -3
- package/dist/lib/esm/obsidian/file-change.mjs +67 -67
- package/dist/lib/esm/obsidian/file-manager.d.mts +20 -1
- package/dist/lib/esm/obsidian/file-manager.mjs +22 -8
- package/dist/lib/esm/obsidian/file-system.d.mts +3 -3
- package/dist/lib/esm/obsidian/file-system.mjs +4 -4
- package/dist/lib/esm/obsidian/frontmatter.mjs +5 -5
- package/dist/lib/esm/obsidian/html-element.d.mts +2 -2
- package/dist/lib/esm/obsidian/html-element.mjs +3 -3
- package/dist/lib/esm/obsidian/i18n/i18n.d.mts +7 -0
- package/dist/lib/esm/obsidian/i18n/i18n.mjs +3 -2
- package/dist/lib/esm/obsidian/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/index.mjs +3 -1
- package/dist/lib/esm/obsidian/link.d.mts +22 -22
- package/dist/lib/esm/obsidian/link.mjs +76 -62
- package/dist/lib/esm/obsidian/logger.d.mts +5 -5
- package/dist/lib/esm/obsidian/logger.mjs +11 -11
- package/dist/lib/esm/obsidian/loop.d.mts +1 -1
- package/dist/lib/esm/obsidian/loop.mjs +4 -4
- package/dist/lib/esm/obsidian/markdown-code-block-processor-registrar.d.mts +3 -3
- package/dist/lib/esm/obsidian/markdown-code-block-processor-registrar.mjs +2 -2
- package/dist/lib/esm/obsidian/markdown-code-block-processor.d.mts +3 -3
- package/dist/lib/esm/obsidian/markdown-code-block-processor.mjs +25 -26
- package/dist/lib/esm/obsidian/markdown-post-processor-registrar.d.mts +3 -3
- package/dist/lib/esm/obsidian/markdown-post-processor-registrar.mjs +2 -2
- package/dist/lib/esm/obsidian/markdown.mjs +12 -10
- package/dist/lib/esm/obsidian/menu-event-registrar.d.mts +1 -1
- package/dist/lib/esm/obsidian/metadata-cache.d.mts +2 -2
- package/dist/lib/esm/obsidian/metadata-cache.mjs +6 -6
- package/dist/lib/esm/obsidian/modals/confirm.mjs +1 -1
- package/dist/lib/esm/obsidian/modals/minimizable-modal.mjs +18 -18
- package/dist/lib/esm/obsidian/modals/select-item.d.mts +1 -1
- package/dist/lib/esm/obsidian/modals/select-item.mjs +6 -6
- package/dist/lib/esm/obsidian/modals/suggest-modal-command-builder.d.mts +5 -5
- package/dist/lib/esm/obsidian/modals/suggest-modal-command-builder.mjs +16 -14
- package/dist/lib/esm/obsidian/notebook-navigator.d.mts +132 -0
- package/dist/lib/esm/obsidian/notebook-navigator.mjs +49 -0
- package/dist/lib/esm/obsidian/parse-link.d.mts +4 -4
- package/dist/lib/esm/obsidian/parse-link.mjs +51 -48
- package/dist/lib/esm/obsidian/path-settings.mjs +17 -11
- package/dist/lib/esm/obsidian/pdf.d.mts +2 -2
- package/dist/lib/esm/obsidian/pdf.mjs +3 -3
- package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.d.mts +156 -52
- package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.mjs +1 -1
- package/dist/lib/esm/obsidian/plugin/plugin-context.d.mts +2 -2
- package/dist/lib/esm/obsidian/plugin/plugin-context.mjs +7 -7
- package/dist/lib/esm/obsidian/plugin/plugin-event-source.d.mts +11 -9
- package/dist/lib/esm/obsidian/plugin/plugin-event-source.mjs +10 -10
- package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +20 -20
- package/dist/lib/esm/obsidian/plugin/plugin.d.mts +11 -1
- package/dist/lib/esm/obsidian/plugin/plugin.mjs +23 -2
- package/dist/lib/esm/obsidian/popovers/popover-anchor.d.mts +2 -2
- package/dist/lib/esm/obsidian/popovers/popover-anchor.mjs +4 -4
- package/dist/lib/esm/obsidian/popovers/popover.mjs +9 -9
- package/dist/lib/esm/obsidian/queue.d.mts +2 -2
- package/dist/lib/esm/obsidian/queue.mjs +6 -6
- package/dist/lib/esm/obsidian/resource-lock.d.mts +5 -0
- package/dist/lib/esm/obsidian/resource-lock.mjs +147 -64
- package/dist/lib/esm/obsidian/resource-url.mjs +2 -2
- package/dist/lib/esm/obsidian/ribbon-icon-registrar.d.mts +2 -2
- package/dist/lib/esm/obsidian/ribbon-icon-registrar.mjs +1 -1
- package/dist/lib/esm/obsidian/setting-components/checkbox-component.d.mts +5 -5
- package/dist/lib/esm/obsidian/setting-components/checkbox-component.mjs +8 -8
- package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.mjs +18 -17
- package/dist/lib/esm/obsidian/setting-components/date-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/date-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/date-time-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/date-time-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/email-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/email-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/month-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/month-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.mjs +7 -7
- package/dist/lib/esm/obsidian/setting-components/multiple-email-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/multiple-email-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/multiple-file-component.mjs +2 -2
- package/dist/lib/esm/obsidian/setting-components/multiple-text-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/multiple-text-component.mjs +5 -5
- package/dist/lib/esm/obsidian/setting-components/number-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/number-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/password-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/password-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/setting-component-wrapper.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/setting-component-wrapper.mjs +6 -6
- package/dist/lib/esm/obsidian/setting-components/telephone-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/telephone-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/text-based-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/text-based-component.mjs +6 -6
- package/dist/lib/esm/obsidian/setting-components/time-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/time-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.mjs +5 -5
- package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.mjs +6 -6
- package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.mjs +8 -8
- package/dist/lib/esm/obsidian/setting-components/typed-text-component.d.mts +4 -4
- package/dist/lib/esm/obsidian/setting-components/typed-text-component.mjs +6 -5
- package/dist/lib/esm/obsidian/setting-components/url-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/url-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/validator-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/validator-component.mjs +35 -35
- package/dist/lib/esm/obsidian/setting-components/week-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/week-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-ex.d.mts +42 -42
- package/dist/lib/esm/obsidian/setting-ex.mjs +66 -66
- package/dist/lib/esm/obsidian/setting-group-ex.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-group-ex.mjs +4 -4
- package/dist/lib/esm/obsidian/vault-delete.d.mts +16 -2
- package/dist/lib/esm/obsidian/vault-delete.mjs +12 -6
- package/dist/lib/esm/obsidian/vault-transaction.mjs +8 -4
- package/dist/lib/esm/obsidian/vault.d.mts +32 -11
- package/dist/lib/esm/obsidian/vault.mjs +67 -47
- package/dist/lib/esm/obsidian/view-registrar.mjs +1 -1
- package/dist/lib/esm/obsidian/workspace.mjs +2 -2
- package/dist/lib/esm/path.d.mts +1 -1
- package/dist/lib/esm/path.mjs +7 -7
- package/dist/lib/esm/reg-exp.d.mts +4 -4
- package/dist/lib/esm/reg-exp.mjs +28 -21
- package/dist/lib/esm/script-utils/build.d.mts +1 -1
- package/dist/lib/esm/script-utils/build.mjs +15 -12
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.mjs +14 -14
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +26 -20
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.mjs +10 -10
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-esm-plugin.mjs +3 -3
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +6 -6
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +6 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +1 -1
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.mjs +20 -20
- package/dist/lib/esm/script-utils/check-project-types.d.mts +12 -4
- package/dist/lib/esm/script-utils/check-project-types.mjs +3 -3
- package/dist/lib/esm/script-utils/cli-utils.d.mts +6 -6
- package/dist/lib/esm/script-utils/cli-utils.mjs +29 -33
- package/dist/lib/esm/script-utils/demo-vault-coverage.mjs +12 -9
- package/dist/lib/esm/script-utils/env-toggle.mjs +3 -3
- package/dist/lib/esm/script-utils/exec.d.mts +4 -4
- package/dist/lib/esm/script-utils/exec.mjs +32 -32
- package/dist/lib/esm/script-utils/formatters/dprint.mjs +2 -2
- package/dist/lib/esm/script-utils/fs.mjs +3 -3
- package/dist/lib/esm/script-utils/json.d.mts +2 -2
- package/dist/lib/esm/script-utils/json.mjs +5 -5
- package/dist/lib/esm/script-utils/linters/cspell.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/eslint-config.mjs +392 -2
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +17 -17
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-unused-params-members.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-unused-params-members.mjs +17 -17
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.mjs +11 -11
- package/dist/lib/esm/script-utils/linters/eslint-rules/params-options-name-match.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/params-options-name-match.mjs +99 -99
- package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.mjs +3 -3
- package/dist/lib/esm/script-utils/linters/eslint-rules/readonly-params-options-result-members.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/readonly-params-options-result-members.mjs +11 -11
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.d.mts +9 -3
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.mjs +41 -41
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.d.mts +6 -2
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.mjs +15 -13
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-super-call.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-super-call.mjs +23 -23
- package/dist/lib/esm/script-utils/linters/eslint.mjs +4 -4
- package/dist/lib/esm/script-utils/linters/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/index.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.d.mts +2 -2
- package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.mjs +8 -3
- package/dist/lib/esm/script-utils/linters/markdownlint-ignores.d.mts +35 -0
- package/dist/lib/esm/script-utils/linters/markdownlint-ignores.mjs +33 -0
- package/dist/lib/esm/script-utils/linters/markdownlint.mjs +13 -9
- package/dist/lib/esm/script-utils/linters/over-exposure.d.mts +54 -18
- package/dist/lib/esm/script-utils/linters/over-exposure.mjs +8 -8
- package/dist/lib/esm/script-utils/npm-run.d.mts +16 -2
- package/dist/lib/esm/script-utils/npm-run.mjs +9 -3
- package/dist/lib/esm/script-utils/npm.d.mts +11 -11
- package/dist/lib/esm/script-utils/npm.mjs +11 -11
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.d.mts +165 -55
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +1 -1
- package/dist/lib/esm/script-utils/test-runners/vitest-config.mjs +2 -1
- package/dist/lib/esm/script-utils/validate-declarations.mjs +1 -1
- package/dist/lib/esm/script-utils/version.d.mts +21 -21
- package/dist/lib/esm/script-utils/version.mjs +48 -45
- package/dist/lib/esm/setup.d.mts +1 -1
- package/dist/lib/esm/setup.mjs +1 -1
- package/dist/lib/esm/strict-proxy.d.mts +2 -2
- package/dist/lib/esm/strict-proxy.mjs +20 -20
- package/dist/lib/esm/string.d.mts +60 -60
- package/dist/lib/esm/string.mjs +80 -79
- package/dist/lib/esm/transformers/map-transformer.mjs +2 -2
- package/dist/lib/esm/transformers/set-transformer.mjs +2 -2
- package/dist/lib/esm/transformers/two-way-map-transformer.mjs +2 -2
- package/dist/lib/esm/type-guards.d.mts +6 -6
- package/dist/lib/esm/type-guards.mjs +6 -6
- package/dist/lib/esm/type.d.mts +2 -2
- package/dist/lib/esm/type.mjs +3 -3
- package/dist/lib/esm/url.d.mts +4 -4
- package/dist/lib/esm/url.mjs +8 -8
- package/dist/lib/esm/value-provider.d.mts +6 -6
- package/dist/lib/esm/value-provider.mjs +5 -5
- package/obsidian/components/notebook-navigator-menu-event-registrar-component/package.json +6 -0
- package/obsidian/notebook-navigator/package.json +6 -0
- package/package.json +17 -33
- package/script-utils/linters/markdownlint-ignores/package.json +6 -0
package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs
CHANGED
|
@@ -36,9 +36,11 @@ import {
|
|
|
36
36
|
join,
|
|
37
37
|
toPosixPath
|
|
38
38
|
} from "../../../path.mjs";
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
const moduleState = {
|
|
40
|
+
devInstanceTransportPromise: void 0,
|
|
41
|
+
isDevInstanceCleanupRegistered: false,
|
|
42
|
+
isDevInstanceDisposed: false
|
|
43
|
+
};
|
|
42
44
|
function copyToObsidianPluginsFolderPlugin(params) {
|
|
43
45
|
const {
|
|
44
46
|
distFolder,
|
|
@@ -74,12 +76,12 @@ function copyToObsidianPluginsFolderPlugin(params) {
|
|
|
74
76
|
};
|
|
75
77
|
}
|
|
76
78
|
async function getOrLaunchDevInstance(vaultPath) {
|
|
77
|
-
devInstanceTransportPromise ??= launchDevInstance(vaultPath);
|
|
79
|
+
moduleState.devInstanceTransportPromise ??= launchDevInstance(vaultPath);
|
|
78
80
|
try {
|
|
79
|
-
return await devInstanceTransportPromise;
|
|
80
|
-
} catch (
|
|
81
|
-
devInstanceTransportPromise = void 0;
|
|
82
|
-
throw
|
|
81
|
+
return await moduleState.devInstanceTransportPromise;
|
|
82
|
+
} catch (error) {
|
|
83
|
+
moduleState.devInstanceTransportPromise = void 0;
|
|
84
|
+
throw error;
|
|
83
85
|
}
|
|
84
86
|
}
|
|
85
87
|
async function installAndEnableHotReload(params) {
|
|
@@ -90,21 +92,25 @@ async function installAndEnableHotReload(params) {
|
|
|
90
92
|
const vaultPath = dirname(obsidianConfigFolder);
|
|
91
93
|
const transport = await getOrLaunchDevInstance(vaultPath);
|
|
92
94
|
await evalInObsidian({
|
|
95
|
+
// eslint-disable-next-line unicorn/name-replacements -- `args` is declared by `obsidian-integration-testing`; renaming it here would not match the API.
|
|
93
96
|
args: { pluginName },
|
|
94
|
-
// eslint-disable-next-line no-shadow -- No actual shadowing as the function is executed externally
|
|
97
|
+
// eslint-disable-next-line no-shadow, unicorn/name-replacements -- No actual shadowing as the function is executed externally, and `fn` is declared by `obsidian-integration-testing`.
|
|
95
98
|
async fn({ app, obsidianModule, pluginName: pluginName2 }) {
|
|
96
99
|
const HOT_RELOAD_PLUGIN_ID = "hot-reload";
|
|
97
100
|
const COMMUNITY_PLUGINS_REGISTRY_URL = "https://raw.githubusercontent.com/obsidianmd/obsidian-releases/HEAD/community-plugins.json";
|
|
98
101
|
const { requestUrl } = obsidianModule;
|
|
99
|
-
if (!app.plugins.manifests
|
|
100
|
-
const
|
|
102
|
+
if (!Object.hasOwn(app.plugins.manifests, HOT_RELOAD_PLUGIN_ID)) {
|
|
103
|
+
const registryResponse = await requestUrl(COMMUNITY_PLUGINS_REGISTRY_URL);
|
|
104
|
+
const registryEntries = registryResponse.json;
|
|
101
105
|
const entry = registryEntries.find((candidate) => candidate.id === HOT_RELOAD_PLUGIN_ID);
|
|
102
106
|
if (!entry) {
|
|
103
107
|
throw new Error(`Plugin '${HOT_RELOAD_PLUGIN_ID}' was not found in the Obsidian community plugins registry.`);
|
|
104
108
|
}
|
|
105
|
-
const
|
|
109
|
+
const latestReleaseResponse = await requestUrl(`https://api.github.com/repos/${entry.repo}/releases/latest`);
|
|
110
|
+
const latestRelease = latestReleaseResponse.json;
|
|
106
111
|
const version = latestRelease.tag_name;
|
|
107
|
-
const
|
|
112
|
+
const manifestResponse = await requestUrl(`https://github.com/${entry.repo}/releases/download/${version}/manifest.json`);
|
|
113
|
+
const manifest = manifestResponse.json;
|
|
108
114
|
await app.plugins.installPlugin(entry.repo, version, manifest);
|
|
109
115
|
}
|
|
110
116
|
if (!app.plugins.enabledPlugins.has(HOT_RELOAD_PLUGIN_ID)) {
|
|
@@ -121,18 +127,18 @@ async function launchDevInstance(vaultPath) {
|
|
|
121
127
|
const transport = await createTransportFromOptions();
|
|
122
128
|
try {
|
|
123
129
|
await transport.registerVault(vaultPath);
|
|
124
|
-
} catch (
|
|
130
|
+
} catch (error) {
|
|
125
131
|
transport.disposeSync?.();
|
|
126
|
-
throw
|
|
132
|
+
throw error;
|
|
127
133
|
}
|
|
128
134
|
registerDevInstanceCleanup(transport);
|
|
129
135
|
return transport;
|
|
130
136
|
}
|
|
131
137
|
function registerDevInstanceCleanup(transport) {
|
|
132
|
-
if (isDevInstanceCleanupRegistered) {
|
|
138
|
+
if (moduleState.isDevInstanceCleanupRegistered) {
|
|
133
139
|
return;
|
|
134
140
|
}
|
|
135
|
-
isDevInstanceCleanupRegistered = true;
|
|
141
|
+
moduleState.isDevInstanceCleanupRegistered = true;
|
|
136
142
|
process.on("exit", disposeDevInstance);
|
|
137
143
|
for (const signal of ["SIGHUP", "SIGINT", "SIGTERM"]) {
|
|
138
144
|
process.once(signal, () => {
|
|
@@ -141,14 +147,14 @@ function registerDevInstanceCleanup(transport) {
|
|
|
141
147
|
});
|
|
142
148
|
}
|
|
143
149
|
function disposeDevInstance() {
|
|
144
|
-
if (isDevInstanceDisposed) {
|
|
150
|
+
if (moduleState.isDevInstanceDisposed) {
|
|
145
151
|
return;
|
|
146
152
|
}
|
|
147
|
-
isDevInstanceDisposed = true;
|
|
153
|
+
moduleState.isDevInstanceDisposed = true;
|
|
148
154
|
transport.disposeSync?.();
|
|
149
155
|
}
|
|
150
156
|
}
|
|
151
157
|
export {
|
|
152
158
|
copyToObsidianPluginsFolderPlugin
|
|
153
159
|
};
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvY29weS10by1vYnNpZGlhbi1wbHVnaW5zLWZvbGRlci1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgYXV0b21hdGljYWxseSBjb3BpZXMgdGhlIGJ1aWxkIG91dHB1dFxuICogdG8gdGhlIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyIGR1cmluZyBkZXZlbG9wbWVudC4gVGhpcyBwbHVnaW4gaGVscHMgc3RyZWFtbGluZVxuICogdGhlIGRldmVsb3BtZW50IHdvcmtmbG93IGJ5IGVuc3VyaW5nIHRoYXQgdGhlIGxhdGVzdCBidWlsZCBpcyBhbHdheXMgYXZhaWxhYmxlXG4gKiBpbiB0aGUgY29ycmVjdCBPYnNpZGlhbiBmb2xkZXIgZm9yIHRlc3RpbmcgYW5kIHVzZS5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gZXNidWlsZCBwbHVnaW4gdGhhdCBjb3BpZXMgYnVpbGQgb3V0cHV0IHRvIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyOyByZXF1aXJlcyBhIGxpdmUgZXNidWlsZCBjb250ZXh0LiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5NYW5pZmVzdCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgT2JzaWRpYW5UcmFuc3BvcnQgfSBmcm9tICdvYnNpZGlhbi1pbnRlZ3JhdGlvbi10ZXN0aW5nJztcblxuaW1wb3J0IHtcbiAgY3AsXG4gIG1rZGlyXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHByb2Nlc3MgZnJvbSAnbm9kZTpwcm9jZXNzJztcbmltcG9ydCB7XG4gIGNyZWF0ZVRyYW5zcG9ydEZyb21PcHRpb25zLFxuICBldmFsSW5PYnNpZGlhblxufSBmcm9tICdvYnNpZGlhbi1pbnRlZ3JhdGlvbi10ZXN0aW5nJztcblxuaW1wb3J0IHsgZ2V0TGliRGVidWdnZXIgfSBmcm9tICcuLi8uLi8uLi9kZWJ1Zy50cyc7XG5pbXBvcnQge1xuICBkaXJuYW1lLFxuICBqb2luLFxuICB0b1Bvc2l4UGF0aFxufSBmcm9tICcuLi8uLi8uLi9wYXRoLnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgY29weVRvT2JzaWRpYW5QbHVnaW5zRm9sZGVyUGx1Z2lufS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb3B5VG9PYnNpZGlhblBsdWdpbnNGb2xkZXJQbHVnaW5QYXJhbXMge1xuICAvKipcbiAgICogVGhlIGZvbGRlciB3aGVyZSB0aGUgYnVpbHQgZmlsZXMgYXJlIGxvY2F0ZWQuXG4gICAqL1xuICByZWFkb25seSBkaXN0Rm9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGJ1aWxkIGlzIGEgcHJvZHVjdGlvbiBidWlsZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzUHJvZHVjdGlvbkJ1aWxkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyIG9mIHRoZSBPYnNpZGlhbiBjb25maWd1cmF0aW9uLiBJZiBub3QgcHJvdmlkZWQsIHRoZSBwbHVnaW4gd2lsbCBub3QgY29weSBmaWxlcy5cbiAgICovXG4gIHJlYWRvbmx5IG9ic2lkaWFuQ29uZmlnRm9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBPYnNpZGlhbiBwbHVnaW4uXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBzaW5nbGUgZW50cnkgaW4gT2JzaWRpYW4ncyBjb21tdW5pdHkgcGx1Z2lucyByZWdpc3RyeSAoYGNvbW11bml0eS1wbHVnaW5zLmpzb25gKS5cbiAqL1xuaW50ZXJmYWNlIENvbW11bml0eVBsdWdpblJlZ2lzdHJ5RW50cnkge1xuICAvKipcbiAgICogVGhlIHBsdWdpbiBpZC5cbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBgb3duZXIvbmFtZWAgR2l0SHViIHJlcG9zaXRvcnkgdGhlIHBsdWdpbiBpcyBwdWJsaXNoZWQgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgc3Vic2V0IG9mIGEgR2l0SHViIHJlbGVhc2Ugd2UgcmVhZC5cbiAqL1xuaW50ZXJmYWNlIEdpdEh1YlJlbGVhc2Uge1xuICAvKipcbiAgICogVGhlIHJlbGVhc2UgdGFnLCBhIGJhcmUgdmVyc2lvbiBzdWNoIGFzIGAxLjIuM2AuXG4gICAqL1xuICByZWFkb25seSB0YWdfbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBpbnN0YWxsQW5kRW5hYmxlSG90UmVsb2FkfS5cbiAqL1xuaW50ZXJmYWNlIEluc3RhbGxBbmRFbmFibGVIb3RSZWxvYWRQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGZvbGRlciBvZiB0aGUgT2JzaWRpYW4gY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9ic2lkaWFuQ29uZmlnRm9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBidWlsdCBPYnNpZGlhbiBwbHVnaW4gdG8gZW5hYmxlIG9uY2UgSG90UmVsb2FkIGlzIGluIHBsYWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xufVxuXG4vLyBUaGUgYG5wbSBydW4gZGV2YC1vd25lZCBPYnNpZGlhbiBpbnN0YW5jZTogbGF1bmNoZWQgb24gdGhlIGZpcnN0IHJlYnVpbGQgYW5kIHJldXNlZCBhY3Jvc3MgcmVidWlsZHMuXG4vLyBJdCBpcyBjbG9zZWQgd2hlbiB0aGUgYG5wbSBydW4gZGV2YCBwcm9jZXNzIHRlcm1pbmF0ZXMgKHNlZSBgcmVnaXN0ZXJEZXZJbnN0YW5jZUNsZWFudXBgKS5cbmxldCBkZXZJbnN0YW5jZVRyYW5zcG9ydFByb21pc2U6IFByb21pc2U8T2JzaWRpYW5UcmFuc3BvcnQ+IHwgdW5kZWZpbmVkO1xubGV0IGlzRGV2SW5zdGFuY2VDbGVhbnVwUmVnaXN0ZXJlZCA9IGZhbHNlO1xubGV0IGlzRGV2SW5zdGFuY2VEaXNwb3NlZCA9IGZhbHNlO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBjb3BpZXMgdGhlIGJ1aWxkIG91dHB1dCB0byB0aGUgT2JzaWRpYW4gcGx1Z2lucyBmb2xkZXIuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbihwYXJhbXM6IENvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpblBhcmFtcyk6IFBsdWdpbiB7XG4gIGNvbnN0IHtcbiAgICBkaXN0Rm9sZGVyLFxuICAgIGlzUHJvZHVjdGlvbkJ1aWxkLFxuICAgIHBsdWdpbk5hbWVcbiAgfSA9IHBhcmFtcztcbiAgbGV0IHtcbiAgICBvYnNpZGlhbkNvbmZpZ0ZvbGRlclxuICB9ID0gcGFyYW1zO1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdjb3B5LXRvLW9ic2lkaWFuLXBsdWdpbnMtZm9sZGVyJyxcbiAgICBzZXR1cChidWlsZCk6IHZvaWQge1xuICAgICAgYnVpbGQub25FbmQoYXN5bmMgKCkgPT4ge1xuICAgICAgICBpZiAoaXNQcm9kdWN0aW9uQnVpbGQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW9ic2lkaWFuQ29uZmlnRm9sZGVyKSB7XG4gICAgICAgICAgZ2V0TGliRGVidWdnZXIoJ2NvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbicpKFxuICAgICAgICAgICAgJ05vIE9ic2lkaWFuIGNvbmZpZyBmb2xkZXIgY29uZmlndXJlZC4gYE9CU0lESUFOX0NPTkZJR19GT0xERVJgIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQgaW4gc3lzdGVtIG9yIGluIGAuZW52YCBmaWxlLiBUaGUgY29tcGlsZWQgcGx1Z2luIHdpbGwgbm90IGJlIGNvcGllZCBpbnRvIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyLidcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIG9ic2lkaWFuQ29uZmlnRm9sZGVyID0gdG9Qb3NpeFBhdGgob2JzaWRpYW5Db25maWdGb2xkZXIpO1xuXG4gICAgICAgIGNvbnN0IHBsdWdpbkZvbGRlciA9IGpvaW4ob2JzaWRpYW5Db25maWdGb2xkZXIsICdwbHVnaW5zJywgcGx1Z2luTmFtZSk7XG4gICAgICAgIGF3YWl0IG1rZGlyKHBsdWdpbkZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgICAgIGF3YWl0IGNwKGRpc3RGb2xkZXIsIHBsdWdpbkZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICAgICAgYXdhaXQgaW5zdGFsbEFuZEVuYWJsZUhvdFJlbG9hZCh7XG4gICAgICAgICAgb2JzaWRpYW5Db25maWdGb2xkZXIsXG4gICAgICAgICAgcGx1Z2luTmFtZVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBgbnBtIHJ1biBkZXZgLW93bmVkIE9ic2lkaWFuIGluc3RhbmNlIGZvciB0aGUgZ2l2ZW4gdmF1bHQsIGxhdW5jaGluZyBpdCBvbiBmaXJzdCB1c2UgYW5kXG4gKiByZXVzaW5nIGl0IG9uIHN1YnNlcXVlbnQgcmVidWlsZHMuXG4gKlxuICogQHBhcmFtIHZhdWx0UGF0aCAtIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSB2YXVsdCBmb2xkZXIgdG8gb3Blbi5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHJlc29sdmluZyB0byB0aGUgb3duZWQge0BsaW5rIE9ic2lkaWFuVHJhbnNwb3J0fS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0T3JMYXVuY2hEZXZJbnN0YW5jZSh2YXVsdFBhdGg6IHN0cmluZyk6IFByb21pc2U8T2JzaWRpYW5UcmFuc3BvcnQ+IHtcbiAgZGV2SW5zdGFuY2VUcmFuc3BvcnRQcm9taXNlID8/PSBsYXVuY2hEZXZJbnN0YW5jZSh2YXVsdFBhdGgpO1xuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCBkZXZJbnN0YW5jZVRyYW5zcG9ydFByb21pc2U7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBDbGVhciB0aGUgY2FjaGUgc28gYSBsYXRlciByZWJ1aWxkIHJldHJpZXMgdGhlIGxhdW5jaC5cbiAgICBkZXZJbnN0YW5jZVRyYW5zcG9ydFByb21pc2UgPSB1bmRlZmluZWQ7XG4gICAgdGhyb3cgZTtcbiAgfVxufVxuXG4vKipcbiAqIEluc3RhbGxzIHRoZSBIb3RSZWxvYWQgcGx1Z2luIGZyb20gdGhlIG9mZmljaWFsIGNvbW11bml0eSBzdG9yZSAoaWYgbm90IGFscmVhZHkgaW5zdGFsbGVkKSwgZW5hYmxlcyBpdFxuICogKGlmIG5vdCBhbHJlYWR5IGVuYWJsZWQpLCBhbmQgZW5hYmxlcyB0aGUgZnJlc2hseS1idWlsdCBwbHVnaW4gXHUyMDE0IGFsbCB0aHJvdWdoIHRoZSBgbnBtIHJ1biBkZXZgLW93bmVkXG4gKiBPYnNpZGlhbiBpbnN0YW5jZSwgc28gSG90UmVsb2FkIHRoZW4gYXV0by1yZWZyZXNoZXMgdGhlIGRlcGxveWVkIHBsdWdpbiBvbiBldmVyeSByZWJ1aWxkLlxuICpcbiAqIFRoZSBpbnN0YWxsIGdvZXMgdGhyb3VnaCBPYnNpZGlhbidzIG93biBgaW5zdGFsbFBsdWdpbmAgKHRoZSBjb21tdW5pdHktc3RvcmUgbWVjaGFuaXNtKSwgYW5kIGV2ZXJ5IHN0ZXBcbiAqIHJ1bnMgYWdhaW5zdCB0aGUgb3duZWQgaW5zdGFuY2Ugb3ZlciBDRFA7IGFueSBmYWlsdXJlIHN1cmZhY2VzICh0aGUgZGV2IGJ1aWxkIHJlcG9ydHMgaXQpIHJhdGhlciB0aGFuXG4gKiBiZWluZyBzaWxlbnRseSBzd2FsbG93ZWQuXG4gKlxuICogVGhlIGluc3RhbGwtaWYtbWlzc2luZyAvIGVuYWJsZS1pZi1kaXNhYmxlZCBsb2dpYyBiZWxvdyBpbnRlbnRpb25hbGx5IG1pcnJvcnMgdGhlIHB1YmxpY1xuICogYGluc3RhbGxDb21tdW5pdHlQbHVnaW5gIC8gYGVuYWJsZUNvbW11bml0eVBsdWdpbmAgaGVscGVycyBpbiBgc3JjL29ic2lkaWFuL2NvbW11bml0eS1wbHVnaW5zLnRzYC4gSXRcbiAqIGNhbm5vdCBpbXBvcnQgYW5kIGNhbGwgdGhlbTogdGhlIGBmbmAgaXMgc2VyaWFsaXplZCAoYHRvU3RyaW5nKClgKSBhbmQgZXhlY3V0ZWQgaW4gdGhlIHJlbmRlcmVyLCBhbmRcbiAqIHRoaXMgYnVpbGQtb3duZWQgT2JzaWRpYW4gaW5zdGFuY2UgaXMgYmFyZSBcdTIwMTQgaXQgaGFzIG5vIGRldi11dGlscyBgbGliYCBwcm92aWRlciB3aXJlZCAodGhhdCByZXNvbHZlciBpc1xuICogcmVnaXN0ZXJlZCBvbmx5IGluIHRoZSBpbnRlZ3JhdGlvbi10ZXN0IHNldHVwLCB3aG9zZSBmaXh0dXJlIHB1Ymxpc2hlcyB0aGUgbWVyZ2VkIHN1cmZhY2Ugb24gYHdpbmRvd2ApLFxuICogc28gdGhlIGNsb3N1cmUgaGFzIG5vIGFjY2VzcyB0byB0aGUgbGlicmFyeSBzdXJmYWNlIGFuZCBtdXN0IGlubGluZSB0aGUgZXF1aXZhbGVudCBzdGVwcy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBJbnN0YWxsQW5kRW5hYmxlSG90UmVsb2FkUGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSBIb3RSZWxvYWQgYW5kIHRoZSBidWlsdCBwbHVnaW4gYXJlIGluc3RhbGxlZCBhbmQgZW5hYmxlZC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gaW5zdGFsbEFuZEVuYWJsZUhvdFJlbG9hZChwYXJhbXM6IEluc3RhbGxBbmRFbmFibGVIb3RSZWxvYWRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIG9ic2lkaWFuQ29uZmlnRm9sZGVyLFxuICAgIHBsdWdpbk5hbWVcbiAgfSA9IHBhcmFtcztcbiAgY29uc3QgdmF1bHRQYXRoID0gZGlybmFtZShvYnNpZGlhbkNvbmZpZ0ZvbGRlcik7XG4gIGNvbnN0IHRyYW5zcG9ydCA9IGF3YWl0IGdldE9yTGF1bmNoRGV2SW5zdGFuY2UodmF1bHRQYXRoKTtcbiAgYXdhaXQgZXZhbEluT2JzaWRpYW4oe1xuICAgIGFyZ3M6IHsgcGx1Z2luTmFtZSB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zaGFkb3cgLS0gTm8gYWN0dWFsIHNoYWRvd2luZyBhcyB0aGUgZnVuY3Rpb24gaXMgZXhlY3V0ZWQgZXh0ZXJuYWxseS5cbiAgICBhc3luYyBmbih7IGFwcCwgb2JzaWRpYW5Nb2R1bGUsIHBsdWdpbk5hbWUgfSkge1xuICAgICAgY29uc3QgSE9UX1JFTE9BRF9QTFVHSU5fSUQgPSAnaG90LXJlbG9hZCc7XG4gICAgICBjb25zdCBDT01NVU5JVFlfUExVR0lOU19SRUdJU1RSWV9VUkwgPSAnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL29ic2lkaWFubWQvb2JzaWRpYW4tcmVsZWFzZXMvSEVBRC9jb21tdW5pdHktcGx1Z2lucy5qc29uJztcbiAgICAgIGNvbnN0IHsgcmVxdWVzdFVybCB9ID0gb2JzaWRpYW5Nb2R1bGU7XG5cbiAgICAgIGlmICghYXBwLnBsdWdpbnMubWFuaWZlc3RzW0hPVF9SRUxPQURfUExVR0lOX0lEXSkge1xuICAgICAgICBjb25zdCByZWdpc3RyeUVudHJpZXMgPSAoYXdhaXQgcmVxdWVzdFVybChDT01NVU5JVFlfUExVR0lOU19SRUdJU1RSWV9VUkwpKS5qc29uIGFzIENvbW11bml0eVBsdWdpblJlZ2lzdHJ5RW50cnlbXTtcbiAgICAgICAgY29uc3QgZW50cnkgPSByZWdpc3RyeUVudHJpZXMuZmluZCgoY2FuZGlkYXRlKSA9PiBjYW5kaWRhdGUuaWQgPT09IEhPVF9SRUxPQURfUExVR0lOX0lEKTtcbiAgICAgICAgaWYgKCFlbnRyeSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUGx1Z2luICcke0hPVF9SRUxPQURfUExVR0lOX0lEfScgd2FzIG5vdCBmb3VuZCBpbiB0aGUgT2JzaWRpYW4gY29tbXVuaXR5IHBsdWdpbnMgcmVnaXN0cnkuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYXRlc3RSZWxlYXNlID0gKGF3YWl0IHJlcXVlc3RVcmwoYGh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvJHtlbnRyeS5yZXBvfS9yZWxlYXNlcy9sYXRlc3RgKSkuanNvbiBhcyBHaXRIdWJSZWxlYXNlO1xuICAgICAgICBjb25zdCB2ZXJzaW9uID0gbGF0ZXN0UmVsZWFzZS50YWdfbmFtZTtcbiAgICAgICAgY29uc3QgbWFuaWZlc3QgPSAoYXdhaXQgcmVxdWVzdFVybChgaHR0cHM6Ly9naXRodWIuY29tLyR7ZW50cnkucmVwb30vcmVsZWFzZXMvZG93bmxvYWQvJHt2ZXJzaW9ufS9tYW5pZmVzdC5qc29uYCkpLmpzb24gYXMgUGx1Z2luTWFuaWZlc3Q7XG4gICAgICAgIGF3YWl0IGFwcC5wbHVnaW5zLmluc3RhbGxQbHVnaW4oZW50cnkucmVwbywgdmVyc2lvbiwgbWFuaWZlc3QpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWFwcC5wbHVnaW5zLmVuYWJsZWRQbHVnaW5zLmhhcyhIT1RfUkVMT0FEX1BMVUdJTl9JRCkpIHtcbiAgICAgICAgYXdhaXQgYXBwLnBsdWdpbnMuZW5hYmxlUGx1Z2luQW5kU2F2ZShIT1RfUkVMT0FEX1BMVUdJTl9JRCk7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGFwcC5wbHVnaW5zLmVuYWJsZVBsdWdpbkFuZFNhdmUocGx1Z2luTmFtZSk7XG4gICAgfSxcbiAgICBzaG91bGRTa2lwUHJlZmxpZ2h0Q2hlY2tzOiB0cnVlLFxuICAgIHRyYW5zcG9ydCxcbiAgICB2YXVsdFBhdGhcbiAgfSk7XG59XG5cbi8qKlxuICogTGF1bmNoZXMgYSBmcmVzaCBvd25lZCBPYnNpZGlhbiBpbnN0YW5jZSAoaXNvbGF0ZWQgdXNlci1kYXRhIGRpcikgYW5kIG9wZW5zIHRoZSBnaXZlbiB2YXVsdC5cbiAqXG4gKiBAcGFyYW0gdmF1bHRQYXRoIC0gVGhlIGFic29sdXRlIHBhdGggdG8gdGhlIHZhdWx0IGZvbGRlciB0byBvcGVuLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gcmVzb2x2aW5nIHRvIHRoZSBsYXVuY2hlZCB7QGxpbmsgT2JzaWRpYW5UcmFuc3BvcnR9LlxuICovXG5hc3luYyBmdW5jdGlvbiBsYXVuY2hEZXZJbnN0YW5jZSh2YXVsdFBhdGg6IHN0cmluZyk6IFByb21pc2U8T2JzaWRpYW5UcmFuc3BvcnQ+IHtcbiAgY29uc3QgdHJhbnNwb3J0ID0gYXdhaXQgY3JlYXRlVHJhbnNwb3J0RnJvbU9wdGlvbnMoKTtcbiAgdHJ5IHtcbiAgICBhd2FpdCB0cmFuc3BvcnQucmVnaXN0ZXJWYXVsdCh2YXVsdFBhdGgpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdHJhbnNwb3J0LmRpc3Bvc2VTeW5jPy4oKTtcbiAgICB0aHJvdyBlO1xuICB9XG4gIHJlZ2lzdGVyRGV2SW5zdGFuY2VDbGVhbnVwKHRyYW5zcG9ydCk7XG4gIHJldHVybiB0cmFuc3BvcnQ7XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIHByb2Nlc3MtZXhpdCBhbmQgc2lnbmFsIGhhbmRsZXJzIChvbmNlKSB0aGF0IHN5bmNocm9ub3VzbHkgY2xvc2UgdGhlIG93bmVkIE9ic2lkaWFuXG4gKiBpbnN0YW5jZSB3aGVuIHRoZSBgbnBtIHJ1biBkZXZgIHByb2Nlc3MgdGVybWluYXRlcy5cbiAqXG4gKiBAcGFyYW0gdHJhbnNwb3J0IC0gVGhlIG93bmVkIHRyYW5zcG9ydCB0byBkaXNwb3NlIG9uIHNodXRkb3duLlxuICovXG5mdW5jdGlvbiByZWdpc3RlckRldkluc3RhbmNlQ2xlYW51cCh0cmFuc3BvcnQ6IE9ic2lkaWFuVHJhbnNwb3J0KTogdm9pZCB7XG4gIGlmIChpc0Rldkluc3RhbmNlQ2xlYW51cFJlZ2lzdGVyZWQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaXNEZXZJbnN0YW5jZUNsZWFudXBSZWdpc3RlcmVkID0gdHJ1ZTtcblxuICAvLyBgZXhpdGAgY292ZXJzIGFueSBgcHJvY2Vzcy5leGl0KClgLCBidXQgYSBkZWZhdWx0IEN0cmwrQyB0ZXJtaW5hdGVzIFdJVEhPVVQgZmlyaW5nIGBleGl0YCwgc28gdGhlIHNpZ25hbCBoYW5kbGVycyBndWFyYW50ZWUgdGhlIG93bmVkIE9ic2lkaWFuIGlzIGtpbGxlZCBvbiBzaHV0ZG93bi5cbiAgcHJvY2Vzcy5vbignZXhpdCcsIGRpc3Bvc2VEZXZJbnN0YW5jZSk7XG4gIGZvciAoY29uc3Qgc2lnbmFsIG9mIFsnU0lHSFVQJywgJ1NJR0lOVCcsICdTSUdURVJNJ10gYXMgY29uc3QpIHtcbiAgICBwcm9jZXNzLm9uY2Uoc2lnbmFsLCAoKSA9PiB7XG4gICAgICBkaXNwb3NlRGV2SW5zdGFuY2UoKTtcbiAgICAgIHByb2Nlc3MuZXhpdCgpO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gZGlzcG9zZURldkluc3RhbmNlKCk6IHZvaWQge1xuICAgIGlmIChpc0Rldkluc3RhbmNlRGlzcG9zZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaXNEZXZJbnN0YW5jZURpc3Bvc2VkID0gdHJ1ZTtcbiAgICB0cmFuc3BvcnQuZGlzcG9zZVN5bmM/LigpO1xuICB9XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsT0FBTyxhQUFhO0FBQ3BCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBRVAsU0FBUyxzQkFBc0I7QUFDL0I7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBcUVQLElBQUk7QUFDSixJQUFJLGlDQUFpQztBQUNyQyxJQUFJLHdCQUF3QjtBQVFyQixTQUFTLGtDQUFrQyxRQUF5RDtBQUN6RyxRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osTUFBSTtBQUFBLElBQ0Y7QUFBQSxFQUNGLElBQUk7QUFDSixTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxNQUFNLFlBQVk7QUFDdEIsWUFBSSxtQkFBbUI7QUFDckI7QUFBQSxRQUNGO0FBRUEsWUFBSSxDQUFDLHNCQUFzQjtBQUN6Qix5QkFBZSxtQ0FBbUM7QUFBQSxZQUNoRDtBQUFBLFVBQ0Y7QUFDQTtBQUFBLFFBQ0Y7QUFFQSwrQkFBdUIsWUFBWSxvQkFBb0I7QUFFdkQsY0FBTSxlQUFlLEtBQUssc0JBQXNCLFdBQVcsVUFBVTtBQUNyRSxjQUFNLE1BQU0sY0FBYyxFQUFFLFdBQVcsS0FBSyxDQUFDO0FBQzdDLGNBQU0sR0FBRyxZQUFZLGNBQWMsRUFBRSxXQUFXLEtBQUssQ0FBQztBQUV0RCxjQUFNLDBCQUEwQjtBQUFBLFVBQzlCO0FBQUEsVUFDQTtBQUFBLFFBQ0YsQ0FBQztBQUFBLE1BQ0gsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQ0Y7QUFTQSxlQUFlLHVCQUF1QixXQUErQztBQUNuRixrQ0FBZ0Msa0JBQWtCLFNBQVM7QUFDM0QsTUFBSTtBQUNGLFdBQU8sTUFBTTtBQUFBLEVBQ2YsU0FBUyxHQUFHO0FBRVYsa0NBQThCO0FBQzlCLFVBQU07QUFBQSxFQUNSO0FBQ0Y7QUFxQkEsZUFBZSwwQkFBMEIsUUFBd0Q7QUFDL0YsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osUUFBTSxZQUFZLFFBQVEsb0JBQW9CO0FBQzlDLFFBQU0sWUFBWSxNQUFNLHVCQUF1QixTQUFTO0FBQ3hELFFBQU0sZUFBZTtBQUFBLElBQ25CLE1BQU0sRUFBRSxXQUFXO0FBQUE7QUFBQSxJQUVuQixNQUFNLEdBQUcsRUFBRSxLQUFLLGdCQUFnQixZQUFBQSxZQUFXLEdBQUc7QUFDNUMsWUFBTSx1QkFBdUI7QUFDN0IsWUFBTSxpQ0FBaUM7QUFDdkMsWUFBTSxFQUFFLFdBQVcsSUFBSTtBQUV2QixVQUFJLENBQUMsSUFBSSxRQUFRLFVBQVUsb0JBQW9CLEdBQUc7QUFDaEQsY0FBTSxtQkFBbUIsTUFBTSxXQUFXLDhCQUE4QixHQUFHO0FBQzNFLGNBQU0sUUFBUSxnQkFBZ0IsS0FBSyxDQUFDLGNBQWMsVUFBVSxPQUFPLG9CQUFvQjtBQUN2RixZQUFJLENBQUMsT0FBTztBQUNWLGdCQUFNLElBQUksTUFBTSxXQUFXLG9CQUFvQiw2REFBNkQ7QUFBQSxRQUM5RztBQUVBLGNBQU0saUJBQWlCLE1BQU0sV0FBVyxnQ0FBZ0MsTUFBTSxJQUFJLGtCQUFrQixHQUFHO0FBQ3ZHLGNBQU0sVUFBVSxjQUFjO0FBQzlCLGNBQU0sWUFBWSxNQUFNLFdBQVcsc0JBQXNCLE1BQU0sSUFBSSxzQkFBc0IsT0FBTyxnQkFBZ0IsR0FBRztBQUNuSCxjQUFNLElBQUksUUFBUSxjQUFjLE1BQU0sTUFBTSxTQUFTLFFBQVE7QUFBQSxNQUMvRDtBQUVBLFVBQUksQ0FBQyxJQUFJLFFBQVEsZUFBZSxJQUFJLG9CQUFvQixHQUFHO0FBQ3pELGNBQU0sSUFBSSxRQUFRLG9CQUFvQixvQkFBb0I7QUFBQSxNQUM1RDtBQUVBLFlBQU0sSUFBSSxRQUFRLG9CQUFvQkEsV0FBVTtBQUFBLElBQ2xEO0FBQUEsSUFDQSwyQkFBMkI7QUFBQSxJQUMzQjtBQUFBLElBQ0E7QUFBQSxFQUNGLENBQUM7QUFDSDtBQVFBLGVBQWUsa0JBQWtCLFdBQStDO0FBQzlFLFFBQU0sWUFBWSxNQUFNLDJCQUEyQjtBQUNuRCxNQUFJO0FBQ0YsVUFBTSxVQUFVLGNBQWMsU0FBUztBQUFBLEVBQ3pDLFNBQVMsR0FBRztBQUNWLGNBQVUsY0FBYztBQUN4QixVQUFNO0FBQUEsRUFDUjtBQUNBLDZCQUEyQixTQUFTO0FBQ3BDLFNBQU87QUFDVDtBQVFBLFNBQVMsMkJBQTJCLFdBQW9DO0FBQ3RFLE1BQUksZ0NBQWdDO0FBQ2xDO0FBQUEsRUFDRjtBQUNBLG1DQUFpQztBQUdqQyxVQUFRLEdBQUcsUUFBUSxrQkFBa0I7QUFDckMsYUFBVyxVQUFVLENBQUMsVUFBVSxVQUFVLFNBQVMsR0FBWTtBQUM3RCxZQUFRLEtBQUssUUFBUSxNQUFNO0FBQ3pCLHlCQUFtQjtBQUNuQixjQUFRLEtBQUs7QUFBQSxJQUNmLENBQUM7QUFBQSxFQUNIO0FBRUEsV0FBUyxxQkFBMkI7QUFDbEMsUUFBSSx1QkFBdUI7QUFDekI7QUFBQSxJQUNGO0FBQ0EsNEJBQXdCO0FBQ3hCLGNBQVUsY0FBYztBQUFBLEVBQzFCO0FBQ0Y7IiwKICAibmFtZXMiOiBbInBsdWdpbk5hbWUiXQp9Cg==
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvY29weS10by1vYnNpZGlhbi1wbHVnaW5zLWZvbGRlci1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgYXV0b21hdGljYWxseSBjb3BpZXMgdGhlIGJ1aWxkIG91dHB1dFxuICogdG8gdGhlIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyIGR1cmluZyBkZXZlbG9wbWVudC4gVGhpcyBwbHVnaW4gaGVscHMgc3RyZWFtbGluZVxuICogdGhlIGRldmVsb3BtZW50IHdvcmtmbG93IGJ5IGVuc3VyaW5nIHRoYXQgdGhlIGxhdGVzdCBidWlsZCBpcyBhbHdheXMgYXZhaWxhYmxlXG4gKiBpbiB0aGUgY29ycmVjdCBPYnNpZGlhbiBmb2xkZXIgZm9yIHRlc3RpbmcgYW5kIHVzZS5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gZXNidWlsZCBwbHVnaW4gdGhhdCBjb3BpZXMgYnVpbGQgb3V0cHV0IHRvIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyOyByZXF1aXJlcyBhIGxpdmUgZXNidWlsZCBjb250ZXh0LiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5NYW5pZmVzdCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgT2JzaWRpYW5UcmFuc3BvcnQgfSBmcm9tICdvYnNpZGlhbi1pbnRlZ3JhdGlvbi10ZXN0aW5nJztcblxuaW1wb3J0IHtcbiAgY3AsXG4gIG1rZGlyXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHByb2Nlc3MgZnJvbSAnbm9kZTpwcm9jZXNzJztcbmltcG9ydCB7XG4gIGNyZWF0ZVRyYW5zcG9ydEZyb21PcHRpb25zLFxuICBldmFsSW5PYnNpZGlhblxufSBmcm9tICdvYnNpZGlhbi1pbnRlZ3JhdGlvbi10ZXN0aW5nJztcblxuaW1wb3J0IHsgZ2V0TGliRGVidWdnZXIgfSBmcm9tICcuLi8uLi8uLi9kZWJ1Zy50cyc7XG5pbXBvcnQge1xuICBkaXJuYW1lLFxuICBqb2luLFxuICB0b1Bvc2l4UGF0aFxufSBmcm9tICcuLi8uLi8uLi9wYXRoLnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgY29weVRvT2JzaWRpYW5QbHVnaW5zRm9sZGVyUGx1Z2lufS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb3B5VG9PYnNpZGlhblBsdWdpbnNGb2xkZXJQbHVnaW5QYXJhbXMge1xuICAvKipcbiAgICogVGhlIGZvbGRlciB3aGVyZSB0aGUgYnVpbHQgZmlsZXMgYXJlIGxvY2F0ZWQuXG4gICAqL1xuICByZWFkb25seSBkaXN0Rm9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGJ1aWxkIGlzIGEgcHJvZHVjdGlvbiBidWlsZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzUHJvZHVjdGlvbkJ1aWxkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyIG9mIHRoZSBPYnNpZGlhbiBjb25maWd1cmF0aW9uLiBJZiBub3QgcHJvdmlkZWQsIHRoZSBwbHVnaW4gd2lsbCBub3QgY29weSBmaWxlcy5cbiAgICovXG4gIHJlYWRvbmx5IG9ic2lkaWFuQ29uZmlnRm9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBPYnNpZGlhbiBwbHVnaW4uXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBzaW5nbGUgZW50cnkgaW4gT2JzaWRpYW4ncyBjb21tdW5pdHkgcGx1Z2lucyByZWdpc3RyeSAoYGNvbW11bml0eS1wbHVnaW5zLmpzb25gKS5cbiAqL1xuaW50ZXJmYWNlIENvbW11bml0eVBsdWdpblJlZ2lzdHJ5RW50cnkge1xuICAvKipcbiAgICogVGhlIHBsdWdpbiBpZC5cbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBgb3duZXIvbmFtZWAgR2l0SHViIHJlcG9zaXRvcnkgdGhlIHBsdWdpbiBpcyBwdWJsaXNoZWQgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgc3Vic2V0IG9mIGEgR2l0SHViIHJlbGVhc2Ugd2UgcmVhZC5cbiAqL1xuaW50ZXJmYWNlIEdpdEh1YlJlbGVhc2Uge1xuICAvKipcbiAgICogVGhlIHJlbGVhc2UgdGFnLCBhIGJhcmUgdmVyc2lvbiBzdWNoIGFzIGAxLjIuM2AuXG4gICAqL1xuICByZWFkb25seSB0YWdfbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBpbnN0YWxsQW5kRW5hYmxlSG90UmVsb2FkfS5cbiAqL1xuaW50ZXJmYWNlIEluc3RhbGxBbmRFbmFibGVIb3RSZWxvYWRQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGZvbGRlciBvZiB0aGUgT2JzaWRpYW4gY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9ic2lkaWFuQ29uZmlnRm9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBidWlsdCBPYnNpZGlhbiBwbHVnaW4gdG8gZW5hYmxlIG9uY2UgSG90UmVsb2FkIGlzIGluIHBsYWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xufVxuXG4vLyBUaGUgYG5wbSBydW4gZGV2YC1vd25lZCBPYnNpZGlhbiBpbnN0YW5jZTogbGF1bmNoZWQgb24gdGhlIGZpcnN0IHJlYnVpbGQgYW5kIHJldXNlZCBhY3Jvc3MgcmVidWlsZHMuXG4vLyBJdCBpcyBjbG9zZWQgd2hlbiB0aGUgYG5wbSBydW4gZGV2YCBwcm9jZXNzIHRlcm1pbmF0ZXMgKHNlZSBgcmVnaXN0ZXJEZXZJbnN0YW5jZUNsZWFudXBgKS5cbi8qKlxuTW9kdWxlLWxldmVsIG11dGFibGUgc3RhdGUsIGhlbGQgaW4gb25lIG9iamVjdCBzbyBlYWNoIG11dGF0aW9uIG5hbWVzIGl0IGV4cGxpY2l0bHkuXG4gKi9cbmludGVyZmFjZSBNb2R1bGVTdGF0ZSB7XG4gIGRldkluc3RhbmNlVHJhbnNwb3J0UHJvbWlzZTogUHJvbWlzZTxPYnNpZGlhblRyYW5zcG9ydD4gfCB1bmRlZmluZWQ7XG4gIGlzRGV2SW5zdGFuY2VDbGVhbnVwUmVnaXN0ZXJlZDogYm9vbGVhbjtcbiAgaXNEZXZJbnN0YW5jZURpc3Bvc2VkOiBib29sZWFuO1xufVxuXG5jb25zdCBtb2R1bGVTdGF0ZTogTW9kdWxlU3RhdGUgPSB7XG4gIGRldkluc3RhbmNlVHJhbnNwb3J0UHJvbWlzZTogdW5kZWZpbmVkLFxuICBpc0Rldkluc3RhbmNlQ2xlYW51cFJlZ2lzdGVyZWQ6IGZhbHNlLFxuICBpc0Rldkluc3RhbmNlRGlzcG9zZWQ6IGZhbHNlXG59O1xuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgY29waWVzIHRoZSBidWlsZCBvdXRwdXQgdG8gdGhlIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bmN0aW9uLlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb3B5VG9PYnNpZGlhblBsdWdpbnNGb2xkZXJQbHVnaW4ocGFyYW1zOiBDb3B5VG9PYnNpZGlhblBsdWdpbnNGb2xkZXJQbHVnaW5QYXJhbXMpOiBQbHVnaW4ge1xuICBjb25zdCB7XG4gICAgZGlzdEZvbGRlcixcbiAgICBpc1Byb2R1Y3Rpb25CdWlsZCxcbiAgICBwbHVnaW5OYW1lXG4gIH0gPSBwYXJhbXM7XG4gIGxldCB7XG4gICAgb2JzaWRpYW5Db25maWdGb2xkZXJcbiAgfSA9IHBhcmFtcztcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnY29weS10by1vYnNpZGlhbi1wbHVnaW5zLWZvbGRlcicsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uRW5kKGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKGlzUHJvZHVjdGlvbkJ1aWxkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFvYnNpZGlhbkNvbmZpZ0ZvbGRlcikge1xuICAgICAgICAgIGdldExpYkRlYnVnZ2VyKCdjb3B5VG9PYnNpZGlhblBsdWdpbnNGb2xkZXJQbHVnaW4nKShcbiAgICAgICAgICAgICdObyBPYnNpZGlhbiBjb25maWcgZm9sZGVyIGNvbmZpZ3VyZWQuIGBPQlNJRElBTl9DT05GSUdfRk9MREVSYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0IGluIHN5c3RlbSBvciBpbiBgLmVudmAgZmlsZS4gVGhlIGNvbXBpbGVkIHBsdWdpbiB3aWxsIG5vdCBiZSBjb3BpZWQgaW50byBPYnNpZGlhbiBwbHVnaW5zIGZvbGRlci4nXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBvYnNpZGlhbkNvbmZpZ0ZvbGRlciA9IHRvUG9zaXhQYXRoKG9ic2lkaWFuQ29uZmlnRm9sZGVyKTtcblxuICAgICAgICBjb25zdCBwbHVnaW5Gb2xkZXIgPSBqb2luKG9ic2lkaWFuQ29uZmlnRm9sZGVyLCAncGx1Z2lucycsIHBsdWdpbk5hbWUpO1xuICAgICAgICBhd2FpdCBta2RpcihwbHVnaW5Gb2xkZXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgICBhd2FpdCBjcChkaXN0Rm9sZGVyLCBwbHVnaW5Gb2xkZXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgICAgIGF3YWl0IGluc3RhbGxBbmRFbmFibGVIb3RSZWxvYWQoe1xuICAgICAgICAgIG9ic2lkaWFuQ29uZmlnRm9sZGVyLFxuICAgICAgICAgIHBsdWdpbk5hbWVcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYG5wbSBydW4gZGV2YC1vd25lZCBPYnNpZGlhbiBpbnN0YW5jZSBmb3IgdGhlIGdpdmVuIHZhdWx0LCBsYXVuY2hpbmcgaXQgb24gZmlyc3QgdXNlIGFuZFxuICogcmV1c2luZyBpdCBvbiBzdWJzZXF1ZW50IHJlYnVpbGRzLlxuICpcbiAqIEBwYXJhbSB2YXVsdFBhdGggLSBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgdmF1bHQgZm9sZGVyIHRvIG9wZW4uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSByZXNvbHZpbmcgdG8gdGhlIG93bmVkIHtAbGluayBPYnNpZGlhblRyYW5zcG9ydH0uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldE9yTGF1bmNoRGV2SW5zdGFuY2UodmF1bHRQYXRoOiBzdHJpbmcpOiBQcm9taXNlPE9ic2lkaWFuVHJhbnNwb3J0PiB7XG4gIG1vZHVsZVN0YXRlLmRldkluc3RhbmNlVHJhbnNwb3J0UHJvbWlzZSA/Pz0gbGF1bmNoRGV2SW5zdGFuY2UodmF1bHRQYXRoKTtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgbW9kdWxlU3RhdGUuZGV2SW5zdGFuY2VUcmFuc3BvcnRQcm9taXNlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIENsZWFyIHRoZSBjYWNoZSBzbyBhIGxhdGVyIHJlYnVpbGQgcmV0cmllcyB0aGUgbGF1bmNoLlxuICAgIG1vZHVsZVN0YXRlLmRldkluc3RhbmNlVHJhbnNwb3J0UHJvbWlzZSA9IHVuZGVmaW5lZDtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuXG4vKipcbiAqIEluc3RhbGxzIHRoZSBIb3RSZWxvYWQgcGx1Z2luIGZyb20gdGhlIG9mZmljaWFsIGNvbW11bml0eSBzdG9yZSAoaWYgbm90IGFscmVhZHkgaW5zdGFsbGVkKSwgZW5hYmxlcyBpdFxuICogKGlmIG5vdCBhbHJlYWR5IGVuYWJsZWQpLCBhbmQgZW5hYmxlcyB0aGUgZnJlc2hseS1idWlsdCBwbHVnaW4gXHUyMDE0IGFsbCB0aHJvdWdoIHRoZSBgbnBtIHJ1biBkZXZgLW93bmVkXG4gKiBPYnNpZGlhbiBpbnN0YW5jZSwgc28gSG90UmVsb2FkIHRoZW4gYXV0by1yZWZyZXNoZXMgdGhlIGRlcGxveWVkIHBsdWdpbiBvbiBldmVyeSByZWJ1aWxkLlxuICpcbiAqIFRoZSBpbnN0YWxsIGdvZXMgdGhyb3VnaCBPYnNpZGlhbidzIG93biBgaW5zdGFsbFBsdWdpbmAgKHRoZSBjb21tdW5pdHktc3RvcmUgbWVjaGFuaXNtKSwgYW5kIGV2ZXJ5IHN0ZXBcbiAqIHJ1bnMgYWdhaW5zdCB0aGUgb3duZWQgaW5zdGFuY2Ugb3ZlciBDRFA7IGFueSBmYWlsdXJlIHN1cmZhY2VzICh0aGUgZGV2IGJ1aWxkIHJlcG9ydHMgaXQpIHJhdGhlciB0aGFuXG4gKiBiZWluZyBzaWxlbnRseSBzd2FsbG93ZWQuXG4gKlxuICogVGhlIGluc3RhbGwtaWYtbWlzc2luZyAvIGVuYWJsZS1pZi1kaXNhYmxlZCBsb2dpYyBiZWxvdyBpbnRlbnRpb25hbGx5IG1pcnJvcnMgdGhlIHB1YmxpY1xuICogYGluc3RhbGxDb21tdW5pdHlQbHVnaW5gIC8gYGVuYWJsZUNvbW11bml0eVBsdWdpbmAgaGVscGVycyBpbiBgc3JjL29ic2lkaWFuL2NvbW11bml0eS1wbHVnaW5zLnRzYC4gSXRcbiAqIGNhbm5vdCBpbXBvcnQgYW5kIGNhbGwgdGhlbTogdGhlIGBmbmAgaXMgc2VyaWFsaXplZCAoYHRvU3RyaW5nKClgKSBhbmQgZXhlY3V0ZWQgaW4gdGhlIHJlbmRlcmVyLCBhbmRcbiAqIHRoaXMgYnVpbGQtb3duZWQgT2JzaWRpYW4gaW5zdGFuY2UgaXMgYmFyZSBcdTIwMTQgaXQgaGFzIG5vIGRldi11dGlscyBgbGliYCBwcm92aWRlciB3aXJlZCAodGhhdCByZXNvbHZlciBpc1xuICogcmVnaXN0ZXJlZCBvbmx5IGluIHRoZSBpbnRlZ3JhdGlvbi10ZXN0IHNldHVwLCB3aG9zZSBmaXh0dXJlIHB1Ymxpc2hlcyB0aGUgbWVyZ2VkIHN1cmZhY2Ugb24gYHdpbmRvd2ApLFxuICogc28gdGhlIGNsb3N1cmUgaGFzIG5vIGFjY2VzcyB0byB0aGUgbGlicmFyeSBzdXJmYWNlIGFuZCBtdXN0IGlubGluZSB0aGUgZXF1aXZhbGVudCBzdGVwcy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBJbnN0YWxsQW5kRW5hYmxlSG90UmVsb2FkUGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSBIb3RSZWxvYWQgYW5kIHRoZSBidWlsdCBwbHVnaW4gYXJlIGluc3RhbGxlZCBhbmQgZW5hYmxlZC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gaW5zdGFsbEFuZEVuYWJsZUhvdFJlbG9hZChwYXJhbXM6IEluc3RhbGxBbmRFbmFibGVIb3RSZWxvYWRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qge1xuICAgIG9ic2lkaWFuQ29uZmlnRm9sZGVyLFxuICAgIHBsdWdpbk5hbWVcbiAgfSA9IHBhcmFtcztcbiAgY29uc3QgdmF1bHRQYXRoID0gZGlybmFtZShvYnNpZGlhbkNvbmZpZ0ZvbGRlcik7XG4gIGNvbnN0IHRyYW5zcG9ydCA9IGF3YWl0IGdldE9yTGF1bmNoRGV2SW5zdGFuY2UodmF1bHRQYXRoKTtcbiAgYXdhaXQgZXZhbEluT2JzaWRpYW4oe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL25hbWUtcmVwbGFjZW1lbnRzIC0tIGBhcmdzYCBpcyBkZWNsYXJlZCBieSBgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2A7IHJlbmFtaW5nIGl0IGhlcmUgd291bGQgbm90IG1hdGNoIHRoZSBBUEkuXG4gICAgYXJnczogeyBwbHVnaW5OYW1lIH0sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNoYWRvdywgdW5pY29ybi9uYW1lLXJlcGxhY2VtZW50cyAtLSBObyBhY3R1YWwgc2hhZG93aW5nIGFzIHRoZSBmdW5jdGlvbiBpcyBleGVjdXRlZCBleHRlcm5hbGx5LCBhbmQgYGZuYCBpcyBkZWNsYXJlZCBieSBgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2AuXG4gICAgYXN5bmMgZm4oeyBhcHAsIG9ic2lkaWFuTW9kdWxlLCBwbHVnaW5OYW1lIH0pIHtcbiAgICAgIGNvbnN0IEhPVF9SRUxPQURfUExVR0lOX0lEID0gJ2hvdC1yZWxvYWQnO1xuICAgICAgY29uc3QgQ09NTVVOSVRZX1BMVUdJTlNfUkVHSVNUUllfVVJMID0gJ2h0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9vYnNpZGlhbm1kL29ic2lkaWFuLXJlbGVhc2VzL0hFQUQvY29tbXVuaXR5LXBsdWdpbnMuanNvbic7XG4gICAgICBjb25zdCB7IHJlcXVlc3RVcmwgfSA9IG9ic2lkaWFuTW9kdWxlO1xuXG4gICAgICBpZiAoIU9iamVjdC5oYXNPd24oYXBwLnBsdWdpbnMubWFuaWZlc3RzLCBIT1RfUkVMT0FEX1BMVUdJTl9JRCkpIHtcbiAgICAgICAgY29uc3QgcmVnaXN0cnlSZXNwb25zZSA9IGF3YWl0IHJlcXVlc3RVcmwoQ09NTVVOSVRZX1BMVUdJTlNfUkVHSVNUUllfVVJMKTtcbiAgICAgICAgY29uc3QgcmVnaXN0cnlFbnRyaWVzID0gcmVnaXN0cnlSZXNwb25zZS5qc29uIGFzIENvbW11bml0eVBsdWdpblJlZ2lzdHJ5RW50cnlbXTtcbiAgICAgICAgY29uc3QgZW50cnkgPSByZWdpc3RyeUVudHJpZXMuZmluZCgoY2FuZGlkYXRlKSA9PiBjYW5kaWRhdGUuaWQgPT09IEhPVF9SRUxPQURfUExVR0lOX0lEKTtcbiAgICAgICAgaWYgKCFlbnRyeSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUGx1Z2luICcke0hPVF9SRUxPQURfUExVR0lOX0lEfScgd2FzIG5vdCBmb3VuZCBpbiB0aGUgT2JzaWRpYW4gY29tbXVuaXR5IHBsdWdpbnMgcmVnaXN0cnkuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYXRlc3RSZWxlYXNlUmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0VXJsKGBodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zLyR7ZW50cnkucmVwb30vcmVsZWFzZXMvbGF0ZXN0YCk7XG4gICAgICAgIGNvbnN0IGxhdGVzdFJlbGVhc2UgPSBsYXRlc3RSZWxlYXNlUmVzcG9uc2UuanNvbiBhcyBHaXRIdWJSZWxlYXNlO1xuICAgICAgICBjb25zdCB2ZXJzaW9uID0gbGF0ZXN0UmVsZWFzZS50YWdfbmFtZTtcbiAgICAgICAgY29uc3QgbWFuaWZlc3RSZXNwb25zZSA9IGF3YWl0IHJlcXVlc3RVcmwoYGh0dHBzOi8vZ2l0aHViLmNvbS8ke2VudHJ5LnJlcG99L3JlbGVhc2VzL2Rvd25sb2FkLyR7dmVyc2lvbn0vbWFuaWZlc3QuanNvbmApO1xuICAgICAgICBjb25zdCBtYW5pZmVzdCA9IG1hbmlmZXN0UmVzcG9uc2UuanNvbiBhcyBQbHVnaW5NYW5pZmVzdDtcbiAgICAgICAgYXdhaXQgYXBwLnBsdWdpbnMuaW5zdGFsbFBsdWdpbihlbnRyeS5yZXBvLCB2ZXJzaW9uLCBtYW5pZmVzdCk7XG4gICAgICB9XG5cbiAgICAgIGlmICghYXBwLnBsdWdpbnMuZW5hYmxlZFBsdWdpbnMuaGFzKEhPVF9SRUxPQURfUExVR0lOX0lEKSkge1xuICAgICAgICBhd2FpdCBhcHAucGx1Z2lucy5lbmFibGVQbHVnaW5BbmRTYXZlKEhPVF9SRUxPQURfUExVR0lOX0lEKTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgYXBwLnBsdWdpbnMuZW5hYmxlUGx1Z2luQW5kU2F2ZShwbHVnaW5OYW1lKTtcbiAgICB9LFxuICAgIHNob3VsZFNraXBQcmVmbGlnaHRDaGVja3M6IHRydWUsXG4gICAgdHJhbnNwb3J0LFxuICAgIHZhdWx0UGF0aFxuICB9KTtcbn1cblxuLyoqXG4gKiBMYXVuY2hlcyBhIGZyZXNoIG93bmVkIE9ic2lkaWFuIGluc3RhbmNlIChpc29sYXRlZCB1c2VyLWRhdGEgZGlyKSBhbmQgb3BlbnMgdGhlIGdpdmVuIHZhdWx0LlxuICpcbiAqIEBwYXJhbSB2YXVsdFBhdGggLSBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgdmF1bHQgZm9sZGVyIHRvIG9wZW4uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSByZXNvbHZpbmcgdG8gdGhlIGxhdW5jaGVkIHtAbGluayBPYnNpZGlhblRyYW5zcG9ydH0uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGxhdW5jaERldkluc3RhbmNlKHZhdWx0UGF0aDogc3RyaW5nKTogUHJvbWlzZTxPYnNpZGlhblRyYW5zcG9ydD4ge1xuICBjb25zdCB0cmFuc3BvcnQgPSBhd2FpdCBjcmVhdGVUcmFuc3BvcnRGcm9tT3B0aW9ucygpO1xuICB0cnkge1xuICAgIGF3YWl0IHRyYW5zcG9ydC5yZWdpc3RlclZhdWx0KHZhdWx0UGF0aCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgdHJhbnNwb3J0LmRpc3Bvc2VTeW5jPy4oKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxuICByZWdpc3RlckRldkluc3RhbmNlQ2xlYW51cCh0cmFuc3BvcnQpO1xuICByZXR1cm4gdHJhbnNwb3J0O1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBwcm9jZXNzLWV4aXQgYW5kIHNpZ25hbCBoYW5kbGVycyAob25jZSkgdGhhdCBzeW5jaHJvbm91c2x5IGNsb3NlIHRoZSBvd25lZCBPYnNpZGlhblxuICogaW5zdGFuY2Ugd2hlbiB0aGUgYG5wbSBydW4gZGV2YCBwcm9jZXNzIHRlcm1pbmF0ZXMuXG4gKlxuICogQHBhcmFtIHRyYW5zcG9ydCAtIFRoZSBvd25lZCB0cmFuc3BvcnQgdG8gZGlzcG9zZSBvbiBzaHV0ZG93bi5cbiAqL1xuZnVuY3Rpb24gcmVnaXN0ZXJEZXZJbnN0YW5jZUNsZWFudXAodHJhbnNwb3J0OiBPYnNpZGlhblRyYW5zcG9ydCk6IHZvaWQge1xuICBpZiAobW9kdWxlU3RhdGUuaXNEZXZJbnN0YW5jZUNsZWFudXBSZWdpc3RlcmVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIG1vZHVsZVN0YXRlLmlzRGV2SW5zdGFuY2VDbGVhbnVwUmVnaXN0ZXJlZCA9IHRydWU7XG5cbiAgLy8gYGV4aXRgIGNvdmVycyBhbnkgYHByb2Nlc3MuZXhpdCgpYCwgYnV0IGEgZGVmYXVsdCBDdHJsK0MgdGVybWluYXRlcyBXSVRIT1VUIGZpcmluZyBgZXhpdGAsIHNvIHRoZSBzaWduYWwgaGFuZGxlcnMgZ3VhcmFudGVlIHRoZSBvd25lZCBPYnNpZGlhbiBpcyBraWxsZWQgb24gc2h1dGRvd24uXG4gIHByb2Nlc3Mub24oJ2V4aXQnLCBkaXNwb3NlRGV2SW5zdGFuY2UpO1xuICBmb3IgKGNvbnN0IHNpZ25hbCBvZiBbJ1NJR0hVUCcsICdTSUdJTlQnLCAnU0lHVEVSTSddIGFzIGNvbnN0KSB7XG4gICAgcHJvY2Vzcy5vbmNlKHNpZ25hbCwgKCkgPT4ge1xuICAgICAgZGlzcG9zZURldkluc3RhbmNlKCk7XG4gICAgICBwcm9jZXNzLmV4aXQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGRpc3Bvc2VEZXZJbnN0YW5jZSgpOiB2b2lkIHtcbiAgICBpZiAobW9kdWxlU3RhdGUuaXNEZXZJbnN0YW5jZURpc3Bvc2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIG1vZHVsZVN0YXRlLmlzRGV2SW5zdGFuY2VEaXNwb3NlZCA9IHRydWU7XG4gICAgdHJhbnNwb3J0LmRpc3Bvc2VTeW5jPy4oKTtcbiAgfVxufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLE9BQU8sYUFBYTtBQUNwQjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUVQLFNBQVMsc0JBQXNCO0FBQy9CO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEs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
|
|
@@ -67,11 +67,11 @@ async function getDependenciesToBundle() {
|
|
|
67
67
|
};
|
|
68
68
|
const buildContext = await context(buildOptions);
|
|
69
69
|
await invokeEsbuild(buildContext, true);
|
|
70
|
-
return
|
|
70
|
+
return [...dependenciesToBundle].sort();
|
|
71
71
|
}
|
|
72
72
|
async function getDependenciesToSkip() {
|
|
73
73
|
const packageJson = await readPackageJson(getFolderName(import.meta.url));
|
|
74
|
-
const dependenciesToSkip = /* @__PURE__ */ new Set([...builtinModules, ...Object.keys(packageJson.dependencies ?? {}).filter(canSkipFromBundling)]);
|
|
74
|
+
const dependenciesToSkip = /* @__PURE__ */ new Set([...builtinModules, ...Object.keys(packageJson.dependencies ?? {}).filter((dependency) => canSkipFromBundling(dependency))]);
|
|
75
75
|
return dependenciesToSkip;
|
|
76
76
|
}
|
|
77
77
|
function canSkipFromBundling(moduleName) {
|
|
@@ -96,17 +96,17 @@ function extractDependenciesToBundlePlugin(params) {
|
|
|
96
96
|
return {
|
|
97
97
|
name: "test",
|
|
98
98
|
setup(build) {
|
|
99
|
-
build.onResolve({ filter: /^[^./]/ }, (
|
|
100
|
-
if (
|
|
99
|
+
build.onResolve({ filter: /^[^./]/ }, ($arguments) => {
|
|
100
|
+
if (!$arguments.importer.endsWith(ObsidianDevUtilsRepoPaths.DtsExtension)) {
|
|
101
101
|
const moduleName = trimStart({
|
|
102
|
-
|
|
103
|
-
|
|
102
|
+
$string: ensureNonNullable($arguments.path.split("/", 1)[0], "Wrong path"),
|
|
103
|
+
prefix: "node:"
|
|
104
104
|
});
|
|
105
|
-
if (!dependenciesToSkip.has(
|
|
106
|
-
dependenciesToBundle.add(
|
|
105
|
+
if (!dependenciesToSkip.has($arguments.path) && !dependenciesToSkip.has(moduleName)) {
|
|
106
|
+
dependenciesToBundle.add($arguments.path);
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
return { external: true, path:
|
|
109
|
+
return { external: true, path: $arguments.path };
|
|
110
110
|
});
|
|
111
111
|
}
|
|
112
112
|
};
|
|
@@ -115,4 +115,4 @@ export {
|
|
|
115
115
|
getDependenciesToBundle,
|
|
116
116
|
getDependenciesToSkip
|
|
117
117
|
};
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvZGVwZW5kZW5jeS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdGllcyBmb3IgbWFuYWdpbmcgZGVwZW5kZW5jaWVzIGR1cmluZyB0aGUgZXNidWlsZCBwcm9jZXNzLlxuICogSXQgaW5jbHVkZXMgZnVuY3Rpb25zIHRvIGRldGVybWluZSB3aGljaCBkZXBlbmRlbmNpZXMgc2hvdWxkIGJlIHNraXBwZWQgYW5kIHdoaWNoXG4gKiBzaG91bGQgYmUgYnVuZGxlZCwgYXMgd2VsbCBhcyBhbiBlc2J1aWxkIHBsdWdpbiBmb3IgZXh0cmFjdGluZyBkZXBlbmRlbmNpZXMgdG8gYnVuZGxlLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBlc2J1aWxkIHBsdWdpbiB0aGF0IHJlc29sdmVzIGRlcGVuZGVuY2llcyBhdCBidWlsZCB0aW1lOyByZXF1aXJlcyBhIGxpdmUgZXNidWlsZCBjb250ZXh0LiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEJ1aWxkT3B0aW9ucyxcbiAgUGx1Z2luXG59IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBjb250ZXh0IH0gZnJvbSAnZXNidWlsZCc7XG5pbXBvcnQge1xuICBidWlsdGluTW9kdWxlcyxcbiAgY3JlYXRlUmVxdWlyZVxufSBmcm9tICdub2RlOm1vZHVsZSc7XG5cbmltcG9ydCB7XG4gIGdldEZvbGRlck5hbWUsXG4gIGpvaW5cbn0gZnJvbSAnLi4vLi4vLi4vcGF0aC50cyc7XG5pbXBvcnQgeyB0cmltU3RhcnQgfSBmcm9tICcuLi8uLi8uLi9zdHJpbmcudHMnO1xuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICcuLi8uLi8uLi90eXBlLWd1YXJkcy50cyc7XG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICcuLi8uLi9ucG0udHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocyB9IGZyb20gJy4uLy4uL29ic2lkaWFuLWRldi11dGlscy1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7XG4gIGJhbm5lcixcbiAgaW52b2tlRXNidWlsZFxufSBmcm9tICcuL29ic2lkaWFuLXBsdWdpbi1idWlsZGVyLnRzJztcbmltcG9ydCB7IHByZXByb2Nlc3NQbHVnaW4gfSBmcm9tICcuL3ByZXByb2Nlc3MtcGx1Z2luLnRzJztcblxuY29uc3QgZXNtUmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKTtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgZXh0cmFjdERlcGVuZGVuY2llc1RvQnVuZGxlUGx1Z2lufS5cbiAqL1xuaW50ZXJmYWNlIEV4dHJhY3REZXBlbmRlbmNpZXNUb0J1bmRsZVBsdWdpblBhcmFtcyB7XG4gIC8qKlxuICAgKiBBIHNldCB3aGVyZSB0aGUgbmFtZXMgb2YgZGVwZW5kZW5jaWVzIHRvIGJlIGJ1bmRsZWQgd2lsbCBiZSBhZGRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRlcGVuZGVuY2llc1RvQnVuZGxlOiBTZXQ8c3RyaW5nPjtcblxuICAvKipcbiAgICogQSBzZXQgb2YgZGVwZW5kZW5jeSBuYW1lcyB0aGF0IHNob3VsZCBiZSBza2lwcGVkIGR1cmluZyBidW5kbGluZy5cbiAgICovXG4gIHJlYWRvbmx5IGRlcGVuZGVuY2llc1RvU2tpcDogU2V0PHN0cmluZz47XG59XG5cbmludGVyZmFjZSBNb2R1bGVXaXRoRGVmYXVsdEV4cG9ydCB7XG4gIGRlZmF1bHQ6IHVua25vd247XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGljaCBkZXBlbmRlbmNpZXMgc2hvdWxkIGJlIGJ1bmRsZWQgYnkgZXNidWlsZC5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGFuIGFycmF5IG9mIGRlcGVuZGVuY3kgbmFtZXMgdG8gYnVuZGxlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGVwZW5kZW5jaWVzVG9CdW5kbGUoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICBjb25zdCBkZXBlbmRlbmNpZXNUb1NraXAgPSBhd2FpdCBnZXREZXBlbmRlbmNpZXNUb1NraXAoKTtcbiAgY29uc3QgZGVwZW5kZW5jaWVzVG9CdW5kbGUgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBjb25zdCBidWlsZE9wdGlvbnM6IEJ1aWxkT3B0aW9ucyA9IHtcbiAgICBiYW5uZXI6IHtcbiAgICAgIGpzOiBiYW5uZXJcbiAgICB9LFxuICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICBlbnRyeVBvaW50czogW2pvaW4oT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5TcmMsIE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuQW55UGF0aCwgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5BbnlUcyldLFxuICAgIGZvcm1hdDogJ2NqcycsXG4gICAgbG9nTGV2ZWw6ICdpbmZvJyxcbiAgICBvdXRkaXI6ICdub3RoaW5nLXdpbGwtYmUtd3JpdHRlbi1vbi1kaXNrLXNvLXRoaXMtZG9lcy1ub3QtbWF0dGVyJyxcbiAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgIHBsdWdpbnM6IFtcbiAgICAgIHByZXByb2Nlc3NQbHVnaW4oKSxcbiAgICAgIGV4dHJhY3REZXBlbmRlbmNpZXNUb0J1bmRsZVBsdWdpbih7XG4gICAgICAgIGRlcGVuZGVuY2llc1RvQnVuZGxlLFxuICAgICAgICBkZXBlbmRlbmNpZXNUb1NraXBcbiAgICAgIH0pXG4gICAgXSxcbiAgICBzb3VyY2VtYXA6ICdpbmxpbmUnLFxuICAgIHRhcmdldDogJ0VTMjAyMicsXG4gICAgdHJlZVNoYWtpbmc6IHRydWUsXG4gICAgd3JpdGU6IGZhbHNlXG4gIH07XG5cbiAgY29uc3QgYnVpbGRDb250ZXh0ID0gYXdhaXQgY29udGV4dChidWlsZE9wdGlvbnMpO1xuICBhd2FpdCBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dCwgdHJ1ZSk7XG4gIHJldHVybiBbLi4uZGVwZW5kZW5jaWVzVG9CdW5kbGVdLnNvcnQoKTtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGxpc3Qgb2YgZGVwZW5kZW5jaWVzIHRoYXQgc2hvdWxkIGJlIHNraXBwZWQgZHVyaW5nIHRoZSBidW5kbGluZyBwcm9jZXNzLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYSB7QGxpbmsgU2V0fSBvZiBkZXBlbmRlbmN5IG5hbWVzIHRvIHNraXAuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREZXBlbmRlbmNpZXNUb1NraXAoKTogUHJvbWlzZTxTZXQ8c3RyaW5nPj4ge1xuICBjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHJlYWRQYWNrYWdlSnNvbihnZXRGb2xkZXJOYW1lKGltcG9ydC5tZXRhLnVybCkpO1xuICBjb25zdCBkZXBlbmRlbmNpZXNUb1NraXAgPSBuZXcgU2V0PHN0cmluZz4oWy4uLmJ1aWx0aW5Nb2R1bGVzLCAuLi5PYmplY3Qua2V5cyhwYWNrYWdlSnNvbi5kZXBlbmRlbmNpZXMgPz8ge30pLmZpbHRlcigoZGVwZW5kZW5jeSkgPT4gY2FuU2tpcEZyb21CdW5kbGluZyhkZXBlbmRlbmN5KSldKTtcbiAgcmV0dXJuIGRlcGVuZGVuY2llc1RvU2tpcDtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBtb2R1bGUgY2FuIGJlIHNraXBwZWQgZnJvbSBidW5kbGluZy5cbiAqXG4gKiBAcGFyYW0gbW9kdWxlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUuXG4gKiBAcmV0dXJucyBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBtb2R1bGUgY2FuIGJlIHNraXBwZWQgZnJvbSBidW5kbGluZy5cbiAqL1xuZnVuY3Rpb24gY2FuU2tpcEZyb21CdW5kbGluZyhtb2R1bGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKG1vZHVsZU5hbWUuc3RhcnRzV2l0aCgnQHR5cGVzLycpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAobW9kdWxlTmFtZS5zdGFydHNXaXRoKCdvYnNpZGlhbicpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAobW9kdWxlTmFtZSA9PT0gJ2VzYnVpbGQnKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IG1vZHVsZSA9IGVzbVJlcXVpcmUobW9kdWxlTmFtZSkgYXMgTW9kdWxlV2l0aERlZmF1bHRFeHBvcnQ7XG4gICAgcmV0dXJuICFtb2R1bGUuZGVmYXVsdDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IGlkZW50aWZpZXMgd2hpY2ggZGVwZW5kZW5jaWVzIHNob3VsZCBiZSBidW5kbGVkLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHBsdWdpbi5cbiAqIEByZXR1cm5zIEFuIGVzYnVpbGQgYFBsdWdpbmAgb2JqZWN0IHRoYXQgZXh0cmFjdHMgZGVwZW5kZW5jaWVzIHRvIGJ1bmRsZS5cbiAqL1xuZnVuY3Rpb24gZXh0cmFjdERlcGVuZGVuY2llc1RvQnVuZGxlUGx1Z2luKHBhcmFtczogRXh0cmFjdERlcGVuZGVuY2llc1RvQnVuZGxlUGx1Z2luUGFyYW1zKTogUGx1Z2luIHtcbiAgY29uc3QgeyBkZXBlbmRlbmNpZXNUb0J1bmRsZSwgZGVwZW5kZW5jaWVzVG9Ta2lwIH0gPSBwYXJhbXM7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3Rlc3QnLFxuICAgIHNldHVwKGJ1aWxkKTogdm9pZCB7XG4gICAgICBidWlsZC5vblJlc29sdmUoeyBmaWx0ZXI6IC9eW14uL10vIH0sICgkYXJndW1lbnRzKSA9PiB7XG4gICAgICAgIGlmICghJGFyZ3VtZW50cy5pbXBvcnRlci5lbmRzV2l0aChPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkR0c0V4dGVuc2lvbikpIHtcbiAgICAgICAgICBjb25zdCBtb2R1bGVOYW1lID0gdHJpbVN0YXJ0KHtcbiAgICAgICAgICAgICRzdHJpbmc6IGVuc3VyZU5vbk51bGxhYmxlKCRhcmd1bWVudHMucGF0aC5zcGxpdCgnLycsIDEpWzBdLCAnV3JvbmcgcGF0aCcpLFxuICAgICAgICAgICAgcHJlZml4OiAnbm9kZTonXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKCFkZXBlbmRlbmNpZXNUb1NraXAuaGFzKCRhcmd1bWVudHMucGF0aCkgJiYgIWRlcGVuZGVuY2llc1RvU2tpcC5oYXMobW9kdWxlTmFtZSkpIHtcbiAgICAgICAgICAgIGRlcGVuZGVuY2llc1RvQnVuZGxlLmFkZCgkYXJndW1lbnRzLnBhdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBleHRlcm5hbDogdHJ1ZSwgcGF0aDogJGFyZ3VtZW50cy5wYXRoIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLFNBQVMsZUFBZTtBQUN4QjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUVQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxpQkFBaUI7QUFDMUIsU0FBUyx5QkFBeUI7QUFDbEMsU0FBUyx1QkFBdUI7QUFDaEMsU0FBUyxpQ0FBaUM7QUFDMUM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLHdCQUF3QjtBQUVqQyxNQUFNLGFBQWEsY0FBYyxZQUFZLEdBQUc7QUEwQmhELGVBQXNCLDBCQUE2QztBQUNqRSxRQUFNLHFCQUFxQixNQUFNLHNCQUFzQjtBQUN2RCxRQUFNLHVCQUF1QixvQkFBSSxJQUFZO0FBRTdDLFFBQU0sZUFBNkI7QUFBQSxJQUNqQyxRQUFRO0FBQUEsTUFDTixJQUFJO0FBQUEsSUFDTjtBQUFBLElBQ0EsUUFBUTtBQUFBLElBQ1IsYUFBYSxDQUFDLEtBQUssMEJBQTBCLEtBQUssMEJBQTBCLFNBQVMsMEJBQTBCLEtBQUssQ0FBQztBQUFBLElBQ3JILFFBQVE7QUFBQSxJQUNSLFVBQVU7QUFBQSxJQUNWLFFBQVE7QUFBQSxJQUNSLFVBQVU7QUFBQSxJQUNWLFNBQVM7QUFBQSxNQUNQLGlCQUFpQjtBQUFBLE1BQ2pCLGtDQUFrQztBQUFBLFFBQ2hDO0FBQUEsUUFDQTtBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFBQSxJQUNBLFdBQVc7QUFBQSxJQUNYLFFBQVE7QUFBQSxJQUNSLGFBQWE7QUFBQSxJQUNiLE9BQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxlQUFlLE1BQU0sUUFBUSxZQUFZO0FBQy9DLFFBQU0sY0FBYyxjQUFjLElBQUk7QUFDdEMsU0FBTyxDQUFDLEdBQUcsb0JBQW9CLEVBQUUsS0FBSztBQUN4QztBQU9BLGVBQXNCLHdCQUE4QztBQUNsRSxRQUFNLGNBQWMsTUFBTSxnQkFBZ0IsY0FBYyxZQUFZLEdBQUcsQ0FBQztBQUN4RSxRQUFNLHFCQUFxQixvQkFBSSxJQUFZLENBQUMsR0FBRyxnQkFBZ0IsR0FBRyxPQUFPLEtBQUssWUFBWSxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLGVBQWUsb0JBQW9CLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDdEssU0FBTztBQUNUO0FBUUEsU0FBUyxvQkFBb0IsWUFBNkI7QUFDeEQsTUFBSSxXQUFXLFdBQVcsU0FBUyxHQUFHO0FBQ3BDLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxXQUFXLFdBQVcsVUFBVSxHQUFHO0FBQ3JDLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxlQUFlLFdBQVc7QUFDNUIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJO0FBQ0YsVUFBTSxTQUFTLFdBQVcsVUFBVTtBQUNwQyxXQUFPLENBQUMsT0FBTztBQUFBLEVBQ2pCLFFBQVE7QUFDTixXQUFPO0FBQUEsRUFDVDtBQUNGO0FBUUEsU0FBUyxrQ0FBa0MsUUFBeUQ7QUFDbEcsUUFBTSxFQUFFLHNCQUFzQixtQkFBbUIsSUFBSTtBQUNyRCxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxVQUFVLEVBQUUsUUFBUSxTQUFTLEdBQUcsQ0FBQyxlQUFlO0FBQ3BELFlBQUksQ0FBQyxXQUFXLFNBQVMsU0FBUywwQkFBMEIsWUFBWSxHQUFHO0FBQ3pFLGdCQUFNLGFBQWEsVUFBVTtBQUFBLFlBQzNCLFNBQVMsa0JBQWtCLFdBQVcsS0FBSyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZO0FBQUEsWUFDekUsUUFBUTtBQUFBLFVBQ1YsQ0FBQztBQUNELGNBQUksQ0FBQyxtQkFBbUIsSUFBSSxXQUFXLElBQUksS0FBSyxDQUFDLG1CQUFtQixJQUFJLFVBQVUsR0FBRztBQUNuRixpQ0FBcUIsSUFBSSxXQUFXLElBQUk7QUFBQSxVQUMxQztBQUFBLFFBQ0Y7QUFDQSxlQUFPLEVBQUUsVUFBVSxNQUFNLE1BQU0sV0FBVyxLQUFLO0FBQUEsTUFDakQsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -29,9 +29,9 @@ function fixEsmPlugin() {
|
|
|
29
29
|
build.onEnd((result) => {
|
|
30
30
|
for (const file of result.outputFiles ?? []) {
|
|
31
31
|
const newText = replaceAll({
|
|
32
|
+
$string: file.text,
|
|
32
33
|
replacer: "$1(__extractDefault($2), 1);",
|
|
33
|
-
searchValue: /(?<Caller>__toESM\d*)\((?<Module>.+), 1\);/g
|
|
34
|
-
str: file.text
|
|
34
|
+
searchValue: /(?<Caller>__toESM\d*)\((?<Module>.+), 1\);/g
|
|
35
35
|
});
|
|
36
36
|
file.contents = new TextEncoder().encode(newText);
|
|
37
37
|
}
|
|
@@ -42,4 +42,4 @@ function fixEsmPlugin() {
|
|
|
42
42
|
export {
|
|
43
43
|
fixEsmPlugin
|
|
44
44
|
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvZml4LWVzbS1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGEgY3VzdG9tIGVzYnVpbGQgcGx1Z2luIHRoYXQgZml4ZXMgdGhlIGByZXF1aXJlYCBzdGF0ZW1lbnQgZm9yIEVTTSBtb2R1bGVzLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBlc2J1aWxkIHBsdWdpbiB0aGF0IHBhdGNoZXMgcmVxdWlyZSBjYWxscyBmb3IgRVNNIGNvbXBhdGliaWxpdHk7IHJlcXVpcmVzIGEgbGl2ZSBlc2J1aWxkIGNvbnRleHQuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IHJlcGxhY2VBbGwgfSBmcm9tICcuLi8uLi8uLi9zdHJpbmcudHMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBmaXhlcyB0aGUgYHJlcXVpcmVgIHN0YXRlbWVudCBmb3IgRVNNIG1vZHVsZXMuXG4gKlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBmaXhlcyB0aGUgYHJlcXVpcmVgIHN0YXRlbWVudCBmb3IgRVNNIG1vZHVsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXhFc21QbHVnaW4oKTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnZml4LWVzbScsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uRW5kKChyZXN1bHQpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIHJlc3VsdC5vdXRwdXRGaWxlcyA/
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvZml4LWVzbS1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGEgY3VzdG9tIGVzYnVpbGQgcGx1Z2luIHRoYXQgZml4ZXMgdGhlIGByZXF1aXJlYCBzdGF0ZW1lbnQgZm9yIEVTTSBtb2R1bGVzLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBlc2J1aWxkIHBsdWdpbiB0aGF0IHBhdGNoZXMgcmVxdWlyZSBjYWxscyBmb3IgRVNNIGNvbXBhdGliaWxpdHk7IHJlcXVpcmVzIGEgbGl2ZSBlc2J1aWxkIGNvbnRleHQuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IHJlcGxhY2VBbGwgfSBmcm9tICcuLi8uLi8uLi9zdHJpbmcudHMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBmaXhlcyB0aGUgYHJlcXVpcmVgIHN0YXRlbWVudCBmb3IgRVNNIG1vZHVsZXMuXG4gKlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBmaXhlcyB0aGUgYHJlcXVpcmVgIHN0YXRlbWVudCBmb3IgRVNNIG1vZHVsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXhFc21QbHVnaW4oKTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnZml4LWVzbScsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uRW5kKChyZXN1bHQpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIHJlc3VsdC5vdXRwdXRGaWxlcyA/PyBbXSkge1xuICAgICAgICAgIGNvbnN0IG5ld1RleHQgPSByZXBsYWNlQWxsKHtcbiAgICAgICAgICAgICRzdHJpbmc6IGZpbGUudGV4dCxcbiAgICAgICAgICAgIHJlcGxhY2VyOiAnJDEoX19leHRyYWN0RGVmYXVsdCgkMiksIDEpOycsXG4gICAgICAgICAgICBzZWFyY2hWYWx1ZTogLyg/PENhbGxlcj5fX3RvRVNNXFxkKilcXCgoPzxNb2R1bGU+LispLCAxXFwpOy9nXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZmlsZS5jb250ZW50cyA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShuZXdUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVQSxTQUFTLGtCQUFrQjtBQU9wQixTQUFTLGVBQXVCO0FBQ3JDLFNBQU87QUFBQSxJQUNMLE1BQU07QUFBQSxJQUNOLE1BQU0sT0FBYTtBQUNqQixZQUFNLE1BQU0sQ0FBQyxXQUFXO0FBQ3RCLG1CQUFXLFFBQVEsT0FBTyxlQUFlLENBQUMsR0FBRztBQUMzQyxnQkFBTSxVQUFVLFdBQVc7QUFBQSxZQUN6QixTQUFTLEtBQUs7QUFBQSxZQUNkLFVBQVU7QUFBQSxZQUNWLGFBQWE7QUFBQSxVQUNmLENBQUM7QUFDRCxlQUFLLFdBQVcsSUFBSSxZQUFZLEVBQUUsT0FBTyxPQUFPO0FBQUEsUUFDbEQ7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -47,13 +47,13 @@ function fixSourceMapsPlugin(params) {
|
|
|
47
47
|
}
|
|
48
48
|
const content = await readFile(distPath, "utf-8");
|
|
49
49
|
const newContent = replaceAll({
|
|
50
|
-
|
|
50
|
+
$string: content,
|
|
51
|
+
replacer: ({ capturedGroupArguments: [prefix = "", sourceMapBase64 = "", suffix = ""] }) => `${prefix + fixSourceMap({
|
|
51
52
|
pluginName,
|
|
52
53
|
sourceMapBase64
|
|
53
54
|
}) + suffix.trim()}
|
|
54
55
|
/* nosourcemap */`,
|
|
55
|
-
searchValue: /(?<Prefix>\n(?:\/\/|\/\*)# sourceMappingURL=data:application\/json;base64,)(?<SourceMapBase64>.+?)(?<Suffix>$|\n| \*\/)(?:.|\n)*/g
|
|
56
|
-
str: content
|
|
56
|
+
searchValue: /(?<Prefix>\n(?:\/\/|\/\*)# sourceMappingURL=data:application\/json;base64,)(?<SourceMapBase64>.+?)(?<Suffix>$|\n| \*\/)(?:.|\n)*/g
|
|
57
57
|
});
|
|
58
58
|
if (content !== newContent) {
|
|
59
59
|
await writeFile(distPath, newContent);
|
|
@@ -66,9 +66,9 @@ function fixSourceMapsPlugin(params) {
|
|
|
66
66
|
function convertPathToObsidianUrl(params) {
|
|
67
67
|
const { path, pluginName } = params;
|
|
68
68
|
const convertedPath = replaceAll({
|
|
69
|
+
$string: toPosixPath(path),
|
|
69
70
|
replacer: "",
|
|
70
|
-
searchValue: /^(?:\.\.\/)+/g
|
|
71
|
-
str: toPosixPath(path)
|
|
71
|
+
searchValue: /^(?:\.\.\/)+/g
|
|
72
72
|
});
|
|
73
73
|
return `app://obsidian.md/plugin:${pluginName}/${convertedPath}`;
|
|
74
74
|
}
|
|
@@ -87,4 +87,4 @@ function fixSourceMap(params) {
|
|
|
87
87
|
export {
|
|
88
88
|
fixSourceMapsPlugin
|
|
89
89
|
};
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvZml4LXNvdXJjZS1tYXBzLXBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBmaXhlcyBzb3VyY2UgbWFwcyBnZW5lcmF0ZWQgZHVyaW5nIGRldmVsb3BtZW50LlxuICogSXQgYWRqdXN0cyB0aGUgcGF0aHMgaW4gdGhlIHNvdXJjZSBtYXBzIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBPYnNpZGlhbidzIGludGVybmFsIFVSTCBzY2hlbWUuXG4gKiBBIHBsdWdpbiBpcyBvbmx5IGFjdGl2ZSBkdXJpbmcgZGV2ZWxvcG1lbnQgYnVpbGRzLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBlc2J1aWxkIHBsdWdpbiB0aGF0IHJld3JpdGVzIHNvdXJjZSBtYXBzIGZvciBPYnNpZGlhbiBVUkwgc2NoZW1lOyByZXF1aXJlcyBhIGxpdmUgZXNidWlsZCBjb250ZXh0LiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICByZWFkRmlsZSxcbiAgd3JpdGVGaWxlXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuXG5pbXBvcnQgeyB0b1Bvc2l4UGF0aCB9IGZyb20gJy4uLy4uLy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJy4uLy4uLy4uL3N0cmluZy50cyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGZpeFNvdXJjZU1hcHNQbHVnaW59LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpeFNvdXJjZU1hcHNQbHVnaW5QYXJhbXMge1xuICAvKipcbiAgICogVGhlIHBhdGhzIHRvIHRoZSBvdXRwdXQgZmlsZXMgY29udGFpbmluZyB0aGUgc291cmNlIG1hcHMuXG4gICAqL1xuICByZWFkb25seSBkaXN0UGF0aHM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBidWlsZCBpcyBhIHByb2R1Y3Rpb24gYnVpbGQuIFRoZSBwbHVnaW4gb25seSBydW5zIGluIG5vbi1wcm9kdWN0aW9uIGJ1aWxkcy5cbiAgICovXG4gIHJlYWRvbmx5IGlzUHJvZHVjdGlvbkJ1aWxkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgT2JzaWRpYW4gcGx1Z2luLCB1c2VkIHRvIGNvbnN0cnVjdCB0aGUgT2JzaWRpYW4tc3BlY2lmaWMgVVJMcy5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgY29udmVydFBhdGhUb09ic2lkaWFuVXJsfS5cbiAqL1xuaW50ZXJmYWNlIENvbnZlcnRQYXRoVG9PYnNpZGlhblVybFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luYWwgZmlsZSBwYXRoLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgT2JzaWRpYW4gcGx1Z2luLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBmaXhTb3VyY2VNYXB9LlxuICovXG5pbnRlcmZhY2UgRml4U291cmNlTWFwUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBPYnNpZGlhbiBwbHVnaW4sIHVzZWQgdG8gY29uc3RydWN0IHRoZSBPYnNpZGlhbi1zcGVjaWZpYyBVUkxzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYmFzZTY0LWVuY29kZWQgc291cmNlIG1hcCBjb250ZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlTWFwQmFzZTY0OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBTb3VyY2VNYXAge1xuICBzb3VyY2VzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgZml4ZXMgc291cmNlIG1hcHMgYnkgYWRqdXN0aW5nIHRoZSBwYXRocyB0byBiZSBjb21wYXRpYmxlXG4gKiB3aXRoIE9ic2lkaWFuJ3MgaW50ZXJuYWwgVVJMIHNjaGVtZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIEFuIGVzYnVpbGQgYFBsdWdpbmAgb2JqZWN0IHRoYXQgZml4ZXMgc291cmNlIG1hcHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXhTb3VyY2VNYXBzUGx1Z2luKHBhcmFtczogRml4U291cmNlTWFwc1BsdWdpblBhcmFtcyk6IFBsdWdpbiB7XG4gIGNvbnN0IHtcbiAgICBkaXN0UGF0aHMsXG4gICAgaXNQcm9kdWN0aW9uQnVpbGQsXG4gICAgcGx1Z2luTmFtZVxuICB9ID0gcGFyYW1zO1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdmaXgtc291cmNlLW1hcHMnLFxuICAgIHNldHVwKGJ1aWxkKTogdm9pZCB7XG4gICAgICBidWlsZC5vbkVuZChhc3luYyAoKSA9PiB7XG4gICAgICAgIGlmIChpc1Byb2R1Y3Rpb25CdWlsZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgZGlzdFBhdGggb2YgZGlzdFBhdGhzKSB7XG4gICAgICAgICAgaWYgKCFleGlzdHNTeW5jKGRpc3RQYXRoKSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgY29udGVudCA9IGF3YWl0IHJlYWRGaWxlKGRpc3RQYXRoLCAndXRmLTgnKTtcbiAgICAgICAgICBjb25zdCBuZXdDb250ZW50ID0gcmVwbGFjZUFsbCh7XG4gICAgICAgICAgICAkc3RyaW5nOiBjb250ZW50LFxuICAgICAgICAgICAgcmVwbGFjZXI6ICh7IGNhcHR1cmVkR3JvdXBBcmd1bWVudHM6IFtwcmVmaXggPSAnJywgc291cmNlTWFwQmFzZTY0ID0gJycsIHN1ZmZpeCA9ICcnXSB9KSA9PlxuICAgICAgICAgICAgICBgJHtcbiAgICAgICAgICAgICAgICBwcmVmaXggKyBmaXhTb3VyY2VNYXAoe1xuICAgICAgICAgICAgICAgICAgcGx1Z2luTmFtZSxcbiAgICAgICAgICAgICAgICAgIHNvdXJjZU1hcEJhc2U2NFxuICAgICAgICAgICAgICAgIH0pICsgc3VmZml4LnRyaW0oKVxuICAgICAgICAgICAgICB9XFxuLyogbm9zb3VyY2VtYXAgKi9gLFxuICAgICAgICAgICAgc2VhcmNoVmFsdWU6IC8oPzxQcmVmaXg+XFxuKD86XFwvXFwvfFxcL1xcKikjIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvblxcL2pzb247YmFzZTY0LCkoPzxTb3VyY2VNYXBCYXNlNjQ+Lis/KSg/PFN1ZmZpeD4kfFxcbnwgXFwqXFwvKSg/Oi58XFxuKSovZ1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKGNvbnRlbnQgIT09IG5ld0NvbnRlbnQpIHtcbiAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShkaXN0UGF0aCwgbmV3Q29udGVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBnaXZlbiBmaWxlIHBhdGggdG8gYW4gT2JzaWRpYW4tc3BlY2lmaWMgVVJMLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGNvbnZlcnNpb24uXG4gKiBAcmV0dXJucyBUaGUgY29udmVydGVkIHBhdGggYXMgYW4gT2JzaWRpYW4tc3BlY2lmaWMgVVJMLlxuICovXG5mdW5jdGlvbiBjb252ZXJ0UGF0aFRvT2JzaWRpYW5VcmwocGFyYW1zOiBDb252ZXJ0UGF0aFRvT2JzaWRpYW5VcmxQYXJhbXMpOiBzdHJpbmcge1xuICBjb25zdCB7IHBhdGgsIHBsdWdpbk5hbWUgfSA9IHBhcmFtcztcbiAgY29uc3QgY29udmVydGVkUGF0aCA9IHJlcGxhY2VBbGwoe1xuICAgICRzdHJpbmc6IHRvUG9zaXhQYXRoKHBhdGgpLFxuICAgIHJlcGxhY2VyOiAnJyxcbiAgICBzZWFyY2hWYWx1ZTogL14oPzpcXC5cXC5cXC8pKy9nXG4gIH0pO1xuICByZXR1cm4gYGFwcDovL29ic2lkaWFuLm1kL3BsdWdpbjoke3BsdWdpbk5hbWV9LyR7Y29udmVydGVkUGF0aH1gO1xufVxuXG4vKipcbiAqIEFkanVzdHMgdGhlIHBhdGhzIGluIHRoZSBiYXNlNjQtZW5jb2RlZCBzb3VyY2UgbWFwIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBPYnNpZGlhbidzIFVSTCBzY2hlbWUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciBhZGp1c3RpbmcgdGhlIHNvdXJjZSBtYXAuXG4gKiBAcmV0dXJucyBBIGJhc2U2NC1lbmNvZGVkIHN0cmluZyB3aXRoIHRoZSBhZGp1c3RlZCBzb3VyY2UgbWFwLlxuICovXG5mdW5jdGlvbiBmaXhTb3VyY2VNYXAocGFyYW1zOiBGaXhTb3VyY2VNYXBQYXJhbXMpOiBzdHJpbmcge1xuICBjb25zdCB7IHBsdWdpbk5hbWUsIHNvdXJjZU1hcEJhc2U2NCB9ID0gcGFyYW1zO1xuICBjb25zdCBzb3VyY2VNYXBKc29uID0gQnVmZmVyLmZyb20oc291cmNlTWFwQmFzZTY0LCAnYmFzZTY0JykudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gIGNvbnN0IHNvdXJjZU1hcCA9IEpTT04ucGFyc2Uoc291cmNlTWFwSnNvbikgYXMgUGFydGlhbDxTb3VyY2VNYXA+O1xuICBzb3VyY2VNYXAuc291cmNlcyA9IChzb3VyY2VNYXAuc291cmNlcyA/PyBbXSkubWFwKChwYXRoKSA9PlxuICAgIGNvbnZlcnRQYXRoVG9PYnNpZGlhblVybCh7XG4gICAgICBwYXRoLFxuICAgICAgcGx1Z2luTmFtZVxuICAgIH0pXG4gICk7XG4gIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKS50b1N0cmluZygnYmFzZTY0Jyk7XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlBLFNBQVMsa0JBQWtCO0FBQzNCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBRVAsU0FBUyxtQkFBbUI7QUFDNUIsU0FBUyxrQkFBa0I7QUErRHBCLFNBQVMsb0JBQW9CLFFBQTJDO0FBQzdFLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFDSixTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxNQUFNLFlBQVk7QUFDdEIsWUFBSSxtQkFBbUI7QUFDckI7QUFBQSxRQUNGO0FBRUEsbUJBQVcsWUFBWSxXQUFXO0FBQ2hDLGNBQUksQ0FBQyxXQUFXLFFBQVEsR0FBRztBQUN6QjtBQUFBLFVBQ0Y7QUFFQSxnQkFBTSxVQUFVLE1BQU0sU0FBUyxVQUFVLE9BQU87QUFDaEQsZ0JBQU0sYUFBYSxXQUFXO0FBQUEsWUFDNUIsU0FBUztBQUFBLFlBQ1QsVUFBVSxDQUFDLEVBQUUsd0JBQXdCLENBQUMsU0FBUyxJQUFJLGtCQUFrQixJQUFJLFNBQVMsRUFBRSxFQUFFLE1BQ3BGLEdBQ0UsU0FBUyxhQUFhO0FBQUEsY0FDcEI7QUFBQSxjQUNBO0FBQUEsWUFDRixDQUFDLElBQUksT0FBTyxLQUFLLENBQ25CO0FBQUE7QUFBQSxZQUNGLGFBQWE7QUFBQSxVQUNmLENBQUM7QUFFRCxjQUFJLFlBQVksWUFBWTtBQUMxQixrQkFBTSxVQUFVLFVBQVUsVUFBVTtBQUFBLFVBQ3RDO0FBQUEsUUFDRjtBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQ0Y7QUFRQSxTQUFTLHlCQUF5QixRQUFnRDtBQUNoRixRQUFNLEVBQUUsTUFBTSxXQUFXLElBQUk7QUFDN0IsUUFBTSxnQkFBZ0IsV0FBVztBQUFBLElBQy9CLFNBQVMsWUFBWSxJQUFJO0FBQUEsSUFDekIsVUFBVTtBQUFBLElBQ1YsYUFBYTtBQUFBLEVBQ2YsQ0FBQztBQUNELFNBQU8sNEJBQTRCLFVBQVUsSUFBSSxhQUFhO0FBQ2hFO0FBUUEsU0FBUyxhQUFhLFFBQW9DO0FBQ3hELFFBQU0sRUFBRSxZQUFZLGdCQUFnQixJQUFJO0FBQ3hDLFFBQU0sZ0JBQWdCLE9BQU8sS0FBSyxpQkFBaUIsUUFBUSxFQUFFLFNBQVMsT0FBTztBQUM3RSxRQUFNLFlBQVksS0FBSyxNQUFNLGFBQWE7QUFDMUMsWUFBVSxXQUFXLFVBQVUsV0FBVyxDQUFDLEdBQUc7QUFBQSxJQUFJLENBQUMsU0FDakQseUJBQXlCO0FBQUEsTUFDdkI7QUFBQSxNQUNBO0FBQUEsSUFDRixDQUFDO0FBQUEsRUFDSDtBQUNBLFNBQU8sT0FBTyxLQUFLLEtBQUssVUFBVSxTQUFTLENBQUMsRUFBRSxTQUFTLFFBQVE7QUFDakU7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -12,9 +12,13 @@ import { CliTaskResult } from '../../cli-utils.mjs';
|
|
|
12
12
|
* Enumeration representing the build modes.
|
|
13
13
|
*/
|
|
14
14
|
export declare enum BuildMode {
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
Development mode for building the plugin
|
|
17
|
+
*/
|
|
16
18
|
Development = 0,
|
|
17
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
Production mode for building the plugin
|
|
21
|
+
*/
|
|
18
22
|
Production = 1
|
|
19
23
|
}
|
|
20
24
|
/**
|
|
@@ -202,4 +202,4 @@ export {
|
|
|
202
202
|
dev,
|
|
203
203
|
invokeEsbuild
|
|
204
204
|
};
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvb2JzaWRpYW4tcGx1Z2luLWJ1aWxkZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIGJ1aWxkIGFuZCBidW5kbGUgYW4gT2JzaWRpYW4gcGx1Z2luIHVzaW5nIGVzYnVpbGQuXG4gKiBJdCBpbmNsdWRlcyBmdW5jdGlvbnMgdG8gaGFuZGxlIHRoZSBidWlsZCBwcm9jZXNzIGJhc2VkIG9uIGRpZmZlcmVudCBidWlsZCBtb2RlcyAoZGV2ZWxvcG1lbnQgb3IgcHJvZHVjdGlvbiksXG4gKiBhbmQgaXQgc2V0cyB1cCB2YXJpb3VzIGVzYnVpbGQgcGx1Z2lucyB0byBwcmVwcm9jZXNzLCBsaW50LCBmaXggc291cmNlIG1hcHMsIGFuZCBjb3B5IGZpbGVzIHRvIHRoZSBPYnNpZGlhbiBwbHVnaW5zIGZvbGRlci5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gZXNidWlsZC1iYXNlZCBidWlsZCBwaXBlbGluZSB3aXRoIHNhc3Mvc3ZlbHRlIHBsdWdpbnMgYW5kIGZpbGUgd2F0Y2hlcnM7IHJlcXVpcmVzIGEgbGl2ZSBlc2J1aWxkIGNvbnRleHQuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQnVpbGRDb250ZXh0LFxuICBCdWlsZE9wdGlvbnMgYXMgRXNidWlsZE9wdGlvbnMsXG4gIFBsdWdpblxufSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHsgY29udGV4dCB9IGZyb20gJ2VzYnVpbGQnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLXJlbmFtZS1kZWZhdWx0IC0tIFdlIG5lZWQgYSB0ZW1wIHZhcmlhYmxlIHRvIGFwcGx5IGBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AoKWAgZml4IGJlbG93LlxuaW1wb3J0IHNhc3NQbHVnaW5fIGZyb20gJ2VzYnVpbGQtc2Fzcy1wbHVnaW4nO1xuaW1wb3J0IHtcbiAgZXhpc3RzU3luYyxcbiAgd2F0Y2hcbn0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBjcCxcbiAgbWtkaXIsXG4gIHJtLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBidWlsdGluTW9kdWxlcyB9IGZyb20gJ25vZGU6bW9kdWxlJztcbmltcG9ydCBwcm9jZXNzLCB7IGxvYWRFbnZGaWxlIH0gZnJvbSAnbm9kZTpwcm9jZXNzJztcblxuaW1wb3J0IHsgaW52b2tlQXN5bmNTYWZlbHkgfSBmcm9tICcuLi8uLi8uLi9hc3luYy50cyc7XG5pbXBvcnQgeyBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AgfSBmcm9tICcuLi8uLi8uLi9vYmplY3QtdXRpbHMudHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMgfSBmcm9tICcuLi8uLi8uLi9vYnNpZGlhbi9wbHVnaW4vb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMudHMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJy4uLy4uLy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICcuLi8uLi8uLi90eXBlLWd1YXJkcy50cyc7XG5pbXBvcnQgeyBDbGlUYXNrUmVzdWx0IH0gZnJvbSAnLi4vLi4vY2xpLXV0aWxzLnRzJztcbmltcG9ydCB7IG5wbVJ1biB9IGZyb20gJy4uLy4uL25wbS1ydW4udHMnO1xuaW1wb3J0IHsgcmVhZFBhY2thZ2VKc29uIH0gZnJvbSAnLi4vLi4vbnBtLnRzJztcbmltcG9ydCB7IHJlc29sdmVQYXRoRnJvbVJvb3QgfSBmcm9tICcuLi8uLi9yb290LnRzJztcbmltcG9ydCB7IGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbiB9IGZyb20gJy4vY29weS10by1vYnNpZGlhbi1wbHVnaW5zLWZvbGRlci1wbHVnaW4udHMnO1xuaW1wb3J0IHsgY3VzdG9tRXNidWlsZE9wdGlvbnNQbHVnaW4gfSBmcm9tICcuL2N1c3RvbS1lc2J1aWxkLW9wdGlvbnMtcGx1Z2luLnRzJztcbmltcG9ydCB7IGZpeEVzbVBsdWdpbiB9IGZyb20gJy4vZml4LWVzbS1wbHVnaW4udHMnO1xuaW1wb3J0IHsgZml4U291cmNlTWFwc1BsdWdpbiB9IGZyb20gJy4vZml4LXNvdXJjZS1tYXBzLXBsdWdpbi50cyc7XG5pbXBvcnQgeyBwcmVwcm9jZXNzUGx1Z2luIH0gZnJvbSAnLi9wcmVwcm9jZXNzLXBsdWdpbi50cyc7XG5pbXBvcnQgeyByZW5hbWVDc3NQbHVnaW4gfSBmcm9tICcuL3JlbmFtZS1jc3MtcGx1Z2luLnRzJztcbmltcG9ydCB7IHN2ZWx0ZVdyYXBwZXJQbHVnaW4gfSBmcm9tICcuL3N2ZWx0ZS13cmFwcGVyLXBsdWdpbi50cyc7XG5cbmNvbnN0IHNhc3NQbHVnaW4gPSBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3Aoc2Fzc1BsdWdpbl8pO1xuXG4vKipcbiAqIERlYm91bmNlIHdpbmRvdyBmb3IgcmVzdGFydGluZyBhIGRldmVsb3BtZW50IGJ1aWxkIGFmdGVyIGBub2RlX21vZHVsZXNgIGNoYW5nZXMuIEEgcmVpbnN0YWxsIG9yIGFcbiAqIGRlcGVuZGVuY3kgcmVidWlsZCB0b3VjaGVzIG1hbnkgZmlsZXMgaW4gcXVpY2sgc3VjY2Vzc2lvbiwgc28gd2Ugd2FpdCBmb3IgdGhlIGNodXJuIHRvIHNldHRsZVxuICogYmVmb3JlIHJlc3RhcnRpbmcgb25jZS5cbiAqL1xuY29uc3QgTk9ERV9NT0RVTEVTX1JFU1RBUlRfREVCT1VOQ0VfSU5fTUlMTElTRUNPTkRTID0gMTAwMDtcblxuLyoqXG4gKiBFbnVtZXJhdGlvbiByZXByZXNlbnRpbmcgdGhlIGJ1aWxkIG1vZGVzLlxuICovXG5leHBvcnQgZW51bSBCdWlsZE1vZGUge1xuICAvKiogRGV2ZWxvcG1lbnQgbW9kZSBmb3IgYnVpbGRpbmcgdGhlIHBsdWdpbiAqL1xuICBEZXZlbG9wbWVudCxcbiAgLyoqIFByb2R1Y3Rpb24gbW9kZSBmb3IgYnVpbGRpbmcgdGhlIHBsdWdpbiAqL1xuICBQcm9kdWN0aW9uXG59XG5cbi8qKlxuICogQmFubmVyIHRleHQgdG8gYmUgaW5jbHVkZWQgYXQgdGhlIHRvcCBvZiB0aGUgZ2VuZXJhdGVkIGZpbGVzLlxuICovXG5leHBvcnQgY29uc3QgYmFubmVyID0gYC8qXG5USElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBFU0JVSUxEXG5pZiB5b3Ugd2FudCB0byB2aWV3IHRoZSBzb3VyY2UsIHBsZWFzZSB2aXNpdCB0aGUgZ2l0aHViIHJlcG9zaXRvcnkgb2YgdGhpcyBwbHVnaW5cbiovXG5gO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBidWlsZE9ic2lkaWFuUGx1Z2lufS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWlsZE9ic2lkaWFuUGx1Z2luUGFyYW1zIHtcbiAgLyoqXG4gICAqIEN1c3RvbSBlc2J1aWxkIHBsdWdpbnMgdG8gYmUgdXNlZCBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBjdXN0b21Fc2J1aWxkUGx1Z2lucz86IFBsdWdpbltdO1xuXG4gIC8qKlxuICAgKiBDdXN0b21pemVzIHRoZSBgZXNidWlsZGAgb3B0aW9ucy5cbiAgICovXG4gIGN1c3RvbWl6ZUVzYnVpbGRPcHRpb25zPyhvcHRpb25zOiBFc2J1aWxkT3B0aW9ucyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEEgYnVpbGQgbW9kZSwgZWl0aGVyIGBEZXZlbG9wbWVudGAgb3IgYFByb2R1Y3Rpb25gXG4gICAqL1xuICByZWFkb25seSBtb2RlOiBCdWlsZE1vZGU7XG5cbiAgLyoqXG4gICAqIEEgZm9sZGVyIGZvciBPYnNpZGlhbiBjb25maWd1cmF0aW9uLiBEZWZhdWx0cyB0byB0aGUgYE9CU0lESUFOX0NPTkZJR19GT0xERVJgIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgb2JzaWRpYW5Db25maWdGb2xkZXI/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQnVpbGQgcGFyYW1ldGVycyB3aXRob3V0IHRoZSBtb2RlIGZpZWxkLCBmb3IgdXNlIHdpdGgge0BsaW5rIGJ1aWxkfSBhbmQge0BsaW5rIGRldn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEN1c3RvbSBlc2J1aWxkIHBsdWdpbnMgdG8gYmUgdXNlZCBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBjdXN0b21Fc2J1aWxkUGx1Z2lucz86IFBsdWdpbltdO1xuXG4gIC8qKlxuICAgKiBDdXN0b21pemVzIHRoZSBgZXNidWlsZGAgb3B0aW9ucy5cbiAgICovXG4gIGN1c3RvbWl6ZUVzYnVpbGRPcHRpb25zPyhvcHRpb25zOiBFc2J1aWxkT3B0aW9ucyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEEgZm9sZGVyIGZvciBPYnNpZGlhbiBjb25maWd1cmF0aW9uLiBEZWZhdWx0cyB0byB0aGUgYE9CU0lESUFOX0NPTkZJR19GT0xERVJgIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgb2JzaWRpYW5Db25maWdGb2xkZXI/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBPYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYge1xuICBPQlNJRElBTl9DT05GSUdfRk9MREVSOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBPYnNpZGlhbiBwbHVnaW4gaW4gcHJvZHVjdGlvbiBtb2RlIHVzaW5nIGVzYnVpbGQuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25hbCBidWlsZCBwYXJhbWV0ZXJzIChtb2RlIGlzIHNldCB0byBQcm9kdWN0aW9uIGF1dG9tYXRpY2FsbHkpLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBidWlsZCBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM/OiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYnVpbGRPYnNpZGlhblBsdWdpbih7IC4uLm9wdGlvbnMsIG1vZGU6IEJ1aWxkTW9kZS5Qcm9kdWN0aW9uIH0pO1xuICByZXN1bHQudGhyb3dPbkZhaWx1cmUoKTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIE9ic2lkaWFuIHBsdWdpbiBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIG1vZGUgYW5kIGNvbmZpZ3VyYXRpb24gZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgYnVpbGRpbmcgdGhlIHBsdWdpbi5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBidWlsZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkT2JzaWRpYW5QbHVnaW4ocGFyYW1zOiBCdWlsZE9ic2lkaWFuUGx1Z2luUGFyYW1zKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIGF3YWl0IG5wbVJ1bignYnVpbGQ6Y29tcGlsZScpO1xuICBjb25zdCBlbnZQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdCh7IHBhdGg6ICcuZW52JyB9KTtcbiAgaWYgKGVudlBhdGggJiYgZXhpc3RzU3luYyhlbnZQYXRoKSkge1xuICAgIGxvYWRFbnZGaWxlKGVudlBhdGgpO1xuICB9XG4gIGNvbnN0IG9ic2lkaWFuUGx1Z2luQnVpbGRlckVudiA9IHByb2Nlc3MuZW52IGFzIFBhcnRpYWw8T2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52PjtcblxuICBjb25zdCBvYnNpZGlhbkNvbmZpZ0ZvbGRlciA9IHBhcmFtcy5vYnNpZGlhbkNvbmZpZ0ZvbGRlciA/PyBvYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYuT0JTSURJQU5fQ09ORklHX0ZPTERFUiA/PyAnJztcbiAgY29uc3QgaXNQcm9kdWN0aW9uQnVpbGQgPSBwYXJhbXMubW9kZSA9PT0gQnVpbGRNb2RlLlByb2R1Y3Rpb247XG5cbiAgY29uc3QgZGlzdEZvbGRlciA9IGVuc3VyZU5vbk51bGxhYmxlKFxuICAgIHJlc29sdmVQYXRoRnJvbVJvb3QoeyBwYXRoOiBpc1Byb2R1Y3Rpb25CdWlsZCA/IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCA6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3REZXYgfSksXG4gICAgJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGRpc3QgZm9sZGVyJ1xuICApO1xuXG4gIGlmIChleGlzdHNTeW5jKGRpc3RGb2xkZXIpKSB7XG4gICAgYXdhaXQgcm0oZGlzdEZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH1cbiAgYXdhaXQgbWtkaXIoZGlzdEZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgY29uc3QgZGlzdEZpbGVOYW1lcyA9IFtcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYW5pZmVzdEpzb25cbiAgXTtcbiAgaWYgKCFpc1Byb2R1Y3Rpb25CdWlsZCkge1xuICAgIGF3YWl0IHdyaXRlRmlsZShqb2luKGRpc3RGb2xkZXIsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkhvdFJlbG9hZCksICcnLCAndXRmLTgnKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgZmlsZU5hbWUgb2YgZGlzdEZpbGVOYW1lcykge1xuICAgIGNvbnN0IGxvY2FsRmlsZSA9IGVuc3VyZU5vbk51bGxhYmxlKHJlc29sdmVQYXRoRnJvbVJvb3QoeyBwYXRoOiBmaWxlTmFtZSB9KSwgYENvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGxvY2FsIGZpbGUgZm9yICR7ZmlsZU5hbWV9YCk7XG4gICAgY29uc3QgZGlzdEZpbGUgPSBqb2luKGRpc3RGb2xkZXIsIGZpbGVOYW1lKTtcblxuICAgIGlmIChleGlzdHNTeW5jKGxvY2FsRmlsZSkpIHtcbiAgICAgIGF3YWl0IGNwKGxvY2FsRmlsZSwgZGlzdEZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRpc3RQYXRoID0gam9pbihkaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnMpO1xuICBjb25zdCBjc3NQYXRoID0gam9pbihkaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TdHlsZXNDc3MpO1xuXG4gIGNvbnN0IHBhY2thZ2VKc29uID0gYXdhaXQgcmVhZFBhY2thZ2VKc29uKCk7XG4gIGNvbnN0IHBsdWdpbk5hbWUgPSBwYWNrYWdlSnNvbi5uYW1lID8/ICcodW5rbm93biknO1xuXG4gIGNvbnN0IGJ1aWxkT3B0aW9uczogRXNidWlsZE9wdGlvbnMgPSB7XG4gICAgYmFubmVyOiB7XG4gICAgICBqczogYmFubmVyXG4gICAgfSxcbiAgICBidW5kbGU6IHRydWUsXG4gICAgY29uZGl0aW9uczogWydicm93c2VyJ10sXG4gICAgZW50cnlQb2ludHM6IFtcbiAgICAgIGVuc3VyZU5vbk51bGxhYmxlKFxuICAgICAgICByZXNvbHZlUGF0aEZyb21Sb290KHsgcGF0aDogam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1haW5UcykgfSksXG4gICAgICAgICdDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBlbnRyeSBwb2ludCBmb3IgdGhlIHBsdWdpbidcbiAgICAgIClcbiAgICBdLFxuICAgIGV4dGVybmFsOiBbXG4gICAgICAnb2JzaWRpYW4nLFxuICAgICAgJ2VsZWN0cm9uJyxcbiAgICAgICdAY29kZW1pcnJvci9hdXRvY29tcGxldGUnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2NvbGxhYicsXG4gICAgICAnQGNvZGVtaXJyb3IvY29tbWFuZHMnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2xhbmd1YWdlJyxcbiAgICAgICdAY29kZW1pcnJvci9saW50JyxcbiAgICAgICdAY29kZW1pcnJvci9zZWFyY2gnLFxuICAgICAgJ0Bjb2RlbWlycm9yL3N0YXRlJyxcbiAgICAgICdAY29kZW1pcnJvci92aWV3JyxcbiAgICAgICdAbGV6ZXIvY29tbW9uJyxcbiAgICAgICdAbGV6ZXIvaGlnaGxpZ2h0JyxcbiAgICAgICdAbGV6ZXIvbHInLFxuICAgICAgJ2VzYnVpbGQnLFxuICAgICAgJ2VzbGludCcsXG4gICAgICAuLi5idWlsdGluTW9kdWxlc1xuICAgIF0sXG4gICAgZm9ybWF0OiAnY2pzJyxcbiAgICBrZWVwTmFtZXM6IHRydWUsXG4gICAgbG9nTGV2ZWw6ICdpbmZvJyxcbiAgICBtaW5pZnk6IGlzUHJvZHVjdGlvbkJ1aWxkLFxuICAgIG91dGZpbGU6IGRpc3RQYXRoLFxuICAgIHBsYXRmb3JtOiAnbm9kZScsXG4gICAgcGx1Z2luczogW1xuICAgICAgY3VzdG9tRXNidWlsZE9wdGlvbnNQbHVnaW4ocGFyYW1zLmN1c3RvbWl6ZUVzYnVpbGRPcHRpb25zPy5iaW5kKHBhcmFtcykpLFxuICAgICAgc3ZlbHRlV3JhcHBlclBsdWdpbihpc1Byb2R1Y3Rpb25CdWlsZCksXG4gICAgICBzYXNzUGx1Z2luKHtcbiAgICAgICAgc291cmNlTWFwOiAhaXNQcm9kdWN0aW9uQnVpbGRcbiAgICAgIH0pLFxuICAgICAgcmVuYW1lQ3NzUGx1Z2luKGRpc3RGb2xkZXIpLFxuICAgICAgcHJlcHJvY2Vzc1BsdWdpbigpLFxuICAgICAgZml4RXNtUGx1Z2luKCksXG4gICAgICBmaXhTb3VyY2VNYXBzUGx1Z2luKHsgZGlzdFBhdGhzOiBbZGlzdFBhdGgsIGNzc1BhdGhdLCBpc1Byb2R1Y3Rpb25CdWlsZCwgcGx1Z2luTmFtZSB9KSxcbiAgICAgIC4uLnBhcmFtcy5jdXN0b21Fc2J1aWxkUGx1Z2lucyA/PyBbXSxcbiAgICAgIGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbih7IGRpc3RGb2xkZXIsIGlzUHJvZHVjdGlvbkJ1aWxkLCBvYnNpZGlhbkNvbmZpZ0ZvbGRlciwgcGx1Z2luTmFtZSB9KVxuICAgIF0sXG4gICAgc291cmNlbWFwOiBpc1Byb2R1Y3Rpb25CdWlsZCA/IGZhbHNlIDogJ2lubGluZScsXG4gICAgdGFyZ2V0OiAnRVMyMDIyJyxcbiAgICB0cmVlU2hha2luZzogdHJ1ZVxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQ29udGV4dCA9IGF3YWl0IGNvbnRleHQoYnVpbGRPcHRpb25zKTtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaW52b2tlRXNidWlsZChidWlsZENvbnRleHQsIGlzUHJvZHVjdGlvbkJ1aWxkKTtcbiAgaWYgKCFpc1Byb2R1Y3Rpb25CdWlsZCkge1xuICAgIHdhdGNoTm9kZU1vZHVsZXNBbmRSZXN0YXJ0KHBhcmFtcywgYnVpbGRDb250ZXh0KTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgT2JzaWRpYW4gcGx1Z2luIGluIGRldmVsb3BtZW50IG1vZGUgdXNpbmcgZXNidWlsZCB3aXRoIHdhdGNoLlxuICpcbiAqIEluIGFkZGl0aW9uIHRvIGVzYnVpbGQncyBvd24gc291cmNlLWdyYXBoIHdhdGNoLCB0aGUgZGV2ZWxvcG1lbnQgYnVpbGQgYWxzbyB3YXRjaGVzIHRoZSBwbHVnaW4nc1xuICogYG5vZGVfbW9kdWxlc2AgZm9sZGVyIGFuZCByZXN0YXJ0cyB0aGUgd2hvbGUgYnVpbGQgKGluY2x1ZGluZyB0aGUgdHlwZS1jaGVjaykgd2hlbiBpdCBjaGFuZ2VzLCBzbyBhXG4gKiBkZXBlbmRlbmN5IHJlaW5zdGFsbCBvciByZWJ1aWxkIGlzIHBpY2tlZCB1cC5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbmFsIGJ1aWxkIHBhcmFtZXRlcnMgKG1vZGUgaXMgc2V0IHRvIERldmVsb3BtZW50IGF1dG9tYXRpY2FsbHkpLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIHtAbGluayBDbGlUYXNrUmVzdWx0fSBpbmRpY2F0aW5nIHRoZSBidWlsZCByZXN1bHQuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcGFyYW1zLW9wdGlvbnMtbmFtZS1tYXRjaCAtLSBJbnRlbnRpb25hbGx5IHNoYXJlcyBCdWlsZE9wdGlvbnMgd2l0aCBidWlsZCgpLlxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRldihvcHRpb25zPzogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIHJldHVybiBhd2FpdCBidWlsZE9ic2lkaWFuUGx1Z2luKHsgLi4ub3B0aW9ucywgbW9kZTogQnVpbGRNb2RlLkRldmVsb3BtZW50IH0pO1xufVxuXG4vKipcbiAqIEludm9rZXMgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCB0aGUgcHJvdmlkZWQgYnVpbGQgY29udGV4dC5cbiAqXG4gKiBAcGFyYW0gYnVpbGRDb250ZXh0IC0gVGhlIGJ1aWxkIGNvbnRleHQgZ2VuZXJhdGVkIGJ5IGVzYnVpbGQuXG4gKiBAcGFyYW0gaXNQcm9kdWN0aW9uQnVpbGQgLSBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBidWlsZCBpcyBhIHByb2R1Y3Rpb24gYnVpbGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IGluZGljYXRpbmcgdGhlIHN1Y2Nlc3Mgb3IgZmFpbHVyZSBvZiB0aGUgYnVpbGQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dDogQnVpbGRDb250ZXh0LCBpc1Byb2R1Y3Rpb25CdWlsZDogYm9vbGVhbik6IFByb21pc2U8Q2xpVGFza1Jlc3VsdD4ge1xuICBpZiAoaXNQcm9kdWN0aW9uQnVpbGQpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBidWlsZENvbnRleHQucmVidWlsZCgpO1xuICAgIGNvbnN0IGlzU3VjY2VzcyA9IHJlc3VsdC5lcnJvcnMubGVuZ3RoID09PSAwICYmIHJlc3VsdC53YXJuaW5ncy5sZW5ndGggPT09IDA7XG4gICAgcmV0dXJuIENsaVRhc2tSZXN1bHQuU3VjY2Vzcyhpc1N1Y2Nlc3MpO1xuICB9XG4gIGF3YWl0IGJ1aWxkQ29udGV4dC53YXRjaCgpO1xuICByZXR1cm4gQ2xpVGFza1Jlc3VsdC5Eb05vdEV4aXQoKTtcbn1cblxuLyoqXG4gKiBXYXRjaGVzIHRoZSBwbHVnaW4ncyBgbm9kZV9tb2R1bGVzYCBmb2xkZXIgYW5kIHJlc3RhcnRzIHRoZSBkZXZlbG9wbWVudCBidWlsZCB3aGVuIGl0IGNoYW5nZXMuXG4gKlxuICogVGhlIGVzYnVpbGQgd2F0Y2hlciBvbmx5IHRyYWNrcyBmaWxlcyBpbiBpdHMgYnVpbGQgZ3JhcGggYW5kIG9ubHkgZXZlciByZS1idW5kbGVzIFx1MjAxNCBpdCBuZXZlclxuICogcmUtcnVucyB0aGUgYGJ1aWxkOmNvbXBpbGVgIHR5cGUtY2hlY2ssIGFuZCBpdCBpZ25vcmVzIGBub2RlX21vZHVsZXNgIGNoYW5nZXMgb3V0c2lkZSB0aGUgZ3JhcGhcbiAqIChhIHJlaW5zdGFsbCwgb3IgYSBkZXBlbmRlbmN5IGZpbGUgbm90IGN1cnJlbnRseSBpbXBvcnRlZCkuIE9uIGFueSAoZGVib3VuY2VkKSBjaGFuZ2UgYW55d2hlcmUgaW5cbiAqIHRoZSBgbm9kZV9tb2R1bGVzYCB0cmVlLCB0aGUgY3VycmVudCBidWlsZCBjb250ZXh0IGlzIGRpc3Bvc2VkIGFuZCB0aGUgd2hvbGUgZGV2ZWxvcG1lbnQgYnVpbGQgaXNcbiAqIHJlc3RhcnRlZCwgcmUtcnVubmluZyB0aGUgZnVsbCBwaXBlbGluZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdGhlIGJ1aWxkIHdhcyBzdGFydGVkIHdpdGgsIHVzZWQgdG8gcmVzdGFydCBpdC5cbiAqIEBwYXJhbSBidWlsZENvbnRleHQgLSBUaGUgZXNidWlsZCBjb250ZXh0IHRvIGRpc3Bvc2UgYmVmb3JlIHJlc3RhcnRpbmcuXG4gKi9cbmZ1bmN0aW9uIHdhdGNoTm9kZU1vZHVsZXNBbmRSZXN0YXJ0KHBhcmFtczogQnVpbGRPYnNpZGlhblBsdWdpblBhcmFtcywgYnVpbGRDb250ZXh0OiBCdWlsZENvbnRleHQpOiB2b2lkIHtcbiAgY29uc3Qgbm9kZU1vZHVsZXNQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdCh7IHBhdGg6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk5vZGVNb2R1bGVzIH0pO1xuICBpZiAoIW5vZGVNb2R1bGVzUGF0aCB8fCAhZXhpc3RzU3luYyhub2RlTW9kdWxlc1BhdGgpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbGV0IHJlc3RhcnRUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IHVuZGVmaW5lZDtcbiAgY29uc3Qgd2F0Y2hlciA9IHdhdGNoKG5vZGVNb2R1bGVzUGF0aCwgeyByZWN1cnNpdmU6IHRydWUgfSwgKCkgPT4ge1xuICAgIGlmIChyZXN0YXJ0VGltZW91dCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvcHJlZmVyLXdpbmRvdy10aW1lcnMgLS0gTm9kZSBidWlsZC10b29sIGNvbnRleHQ7IGB3aW5kb3dgIGlzIG5vdCBhdmFpbGFibGUuXG4gICAgICBjbGVhclRpbWVvdXQocmVzdGFydFRpbWVvdXQpO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9wcmVmZXItd2luZG93LXRpbWVycyAtLSBOb2RlIGJ1aWxkLXRvb2wgY29udGV4dDsgYHdpbmRvd2AgaXMgbm90IGF2YWlsYWJsZS5cbiAgICByZXN0YXJ0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaW52b2tlQXN5bmNTYWZlbHkocmVzdGFydCk7XG4gICAgfSwgTk9ERV9NT0RVTEVTX1JFU1RBUlRfREVCT1VOQ0VfSU5fTUlMTElTRUNPTkRTKTtcbiAgfSk7XG5cbiAgYXN5bmMgZnVuY3Rpb24gcmVzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zb2xlLndhcm4oJ0RldGVjdGVkIGNoYW5nZXMgaW4gbm9kZV9tb2R1bGVzLiBSZXN0YXJ0aW5nIHRoZSBidWlsZC4uLicpO1xuICAgIHdhdGNoZXIuY2xvc2UoKTtcbiAgICBhd2FpdCBidWlsZENvbnRleHQuZGlzcG9zZSgpO1xuICAgIGF3YWl0IGJ1aWxkT2JzaWRpYW5QbHVnaW4ocGFyYW1zKTtcbiAgfVxufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsU0FBUyxlQUFlO0FBRXhCLE9BQU8saUJBQWlCO0FBQ3hCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsc0JBQXNCO0FBQy9CLE9BQU8sV0FBVyxtQkFBbUI7QUFFckMsU0FBUyx5QkFBeUI7QUFDbEMsU0FBUyxtQ0FBbUM7QUFDNUMsU0FBUywrQkFBK0I7QUFDeEMsU0FBUyxZQUFZO0FBQ3JCLFNBQVMseUJBQXlCO0FBQ2xDLFNBQVMscUJBQXFCO0FBQzlCLFNBQVMsY0FBYztBQUN2QixTQUFTLHVCQUF1QjtBQUNoQyxTQUFTLDJCQUEyQjtBQUNwQyxTQUFTLHlDQUF5QztBQUNsRCxTQUFTLGtDQUFrQztBQUMzQyxTQUFTLG9CQUFvQjtBQUM3QixTQUFTLDJCQUEyQjtBQUNwQyxTQUFTLHdCQUF3QjtBQUNqQyxTQUFTLHVCQUF1QjtBQUNoQyxTQUFTLDJCQUEyQjtBQUVwQyxNQUFNLGFBQWEsNEJBQTRCLFdBQVc7QUFPMUQsTUFBTSxnREFBZ0Q7QUFLL0MsSUFBSyxZQUFMLGtCQUFLQSxlQUFMO0FBRUwsRUFBQUEsc0JBQUE7QUFFQSxFQUFBQSxzQkFBQTtBQUpVLFNBQUFBO0FBQUEsR0FBQTtBQVVMLE1BQU0sU0FBUztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNkR0QixlQUFzQixNQUFN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
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9idW5kbGVycy9lc2J1aWxkLWltcGwvb2JzaWRpYW4tcGx1Z2luLWJ1aWxkZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIGJ1aWxkIGFuZCBidW5kbGUgYW4gT2JzaWRpYW4gcGx1Z2luIHVzaW5nIGVzYnVpbGQuXG4gKiBJdCBpbmNsdWRlcyBmdW5jdGlvbnMgdG8gaGFuZGxlIHRoZSBidWlsZCBwcm9jZXNzIGJhc2VkIG9uIGRpZmZlcmVudCBidWlsZCBtb2RlcyAoZGV2ZWxvcG1lbnQgb3IgcHJvZHVjdGlvbiksXG4gKiBhbmQgaXQgc2V0cyB1cCB2YXJpb3VzIGVzYnVpbGQgcGx1Z2lucyB0byBwcmVwcm9jZXNzLCBsaW50LCBmaXggc291cmNlIG1hcHMsIGFuZCBjb3B5IGZpbGVzIHRvIHRoZSBPYnNpZGlhbiBwbHVnaW5zIGZvbGRlci5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gZXNidWlsZC1iYXNlZCBidWlsZCBwaXBlbGluZSB3aXRoIHNhc3Mvc3ZlbHRlIHBsdWdpbnMgYW5kIGZpbGUgd2F0Y2hlcnM7IHJlcXVpcmVzIGEgbGl2ZSBlc2J1aWxkIGNvbnRleHQuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQnVpbGRDb250ZXh0LFxuICBCdWlsZE9wdGlvbnMgYXMgRXNidWlsZE9wdGlvbnMsXG4gIFBsdWdpblxufSBmcm9tICdlc2J1aWxkJztcblxuaW1wb3J0IHsgY29udGV4dCB9IGZyb20gJ2VzYnVpbGQnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLXJlbmFtZS1kZWZhdWx0IC0tIFdlIG5lZWQgYSB0ZW1wIHZhcmlhYmxlIHRvIGFwcGx5IGBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AoKWAgZml4IGJlbG93LlxuaW1wb3J0IHNhc3NQbHVnaW5fIGZyb20gJ2VzYnVpbGQtc2Fzcy1wbHVnaW4nO1xuaW1wb3J0IHtcbiAgZXhpc3RzU3luYyxcbiAgd2F0Y2hcbn0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBjcCxcbiAgbWtkaXIsXG4gIHJtLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBidWlsdGluTW9kdWxlcyB9IGZyb20gJ25vZGU6bW9kdWxlJztcbmltcG9ydCBwcm9jZXNzLCB7IGxvYWRFbnZGaWxlIH0gZnJvbSAnbm9kZTpwcm9jZXNzJztcblxuaW1wb3J0IHsgaW52b2tlQXN5bmNTYWZlbHkgfSBmcm9tICcuLi8uLi8uLi9hc3luYy50cyc7XG5pbXBvcnQgeyBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AgfSBmcm9tICcuLi8uLi8uLi9vYmplY3QtdXRpbHMudHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMgfSBmcm9tICcuLi8uLi8uLi9vYnNpZGlhbi9wbHVnaW4vb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMudHMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJy4uLy4uLy4uL3BhdGgudHMnO1xuaW1wb3J0IHsgZW5zdXJlTm9uTnVsbGFibGUgfSBmcm9tICcuLi8uLi8uLi90eXBlLWd1YXJkcy50cyc7XG5pbXBvcnQgeyBDbGlUYXNrUmVzdWx0IH0gZnJvbSAnLi4vLi4vY2xpLXV0aWxzLnRzJztcbmltcG9ydCB7IG5wbVJ1biB9IGZyb20gJy4uLy4uL25wbS1ydW4udHMnO1xuaW1wb3J0IHsgcmVhZFBhY2thZ2VKc29uIH0gZnJvbSAnLi4vLi4vbnBtLnRzJztcbmltcG9ydCB7IHJlc29sdmVQYXRoRnJvbVJvb3QgfSBmcm9tICcuLi8uLi9yb290LnRzJztcbmltcG9ydCB7IGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbiB9IGZyb20gJy4vY29weS10by1vYnNpZGlhbi1wbHVnaW5zLWZvbGRlci1wbHVnaW4udHMnO1xuaW1wb3J0IHsgY3VzdG9tRXNidWlsZE9wdGlvbnNQbHVnaW4gfSBmcm9tICcuL2N1c3RvbS1lc2J1aWxkLW9wdGlvbnMtcGx1Z2luLnRzJztcbmltcG9ydCB7IGZpeEVzbVBsdWdpbiB9IGZyb20gJy4vZml4LWVzbS1wbHVnaW4udHMnO1xuaW1wb3J0IHsgZml4U291cmNlTWFwc1BsdWdpbiB9IGZyb20gJy4vZml4LXNvdXJjZS1tYXBzLXBsdWdpbi50cyc7XG5pbXBvcnQgeyBwcmVwcm9jZXNzUGx1Z2luIH0gZnJvbSAnLi9wcmVwcm9jZXNzLXBsdWdpbi50cyc7XG5pbXBvcnQgeyByZW5hbWVDc3NQbHVnaW4gfSBmcm9tICcuL3JlbmFtZS1jc3MtcGx1Z2luLnRzJztcbmltcG9ydCB7IHN2ZWx0ZVdyYXBwZXJQbHVnaW4gfSBmcm9tICcuL3N2ZWx0ZS13cmFwcGVyLXBsdWdpbi50cyc7XG5cbmNvbnN0IHNhc3NQbHVnaW4gPSBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3Aoc2Fzc1BsdWdpbl8pO1xuXG4vKipcbiAqIERlYm91bmNlIHdpbmRvdyBmb3IgcmVzdGFydGluZyBhIGRldmVsb3BtZW50IGJ1aWxkIGFmdGVyIGBub2RlX21vZHVsZXNgIGNoYW5nZXMuIEEgcmVpbnN0YWxsIG9yIGFcbiAqIGRlcGVuZGVuY3kgcmVidWlsZCB0b3VjaGVzIG1hbnkgZmlsZXMgaW4gcXVpY2sgc3VjY2Vzc2lvbiwgc28gd2Ugd2FpdCBmb3IgdGhlIGNodXJuIHRvIHNldHRsZVxuICogYmVmb3JlIHJlc3RhcnRpbmcgb25jZS5cbiAqL1xuY29uc3QgTk9ERV9NT0RVTEVTX1JFU1RBUlRfREVCT1VOQ0VfSU5fTUlMTElTRUNPTkRTID0gMTAwMDtcblxuLyoqXG4gKiBFbnVtZXJhdGlvbiByZXByZXNlbnRpbmcgdGhlIGJ1aWxkIG1vZGVzLlxuICovXG5leHBvcnQgZW51bSBCdWlsZE1vZGUge1xuICAvKipcbiAgRGV2ZWxvcG1lbnQgbW9kZSBmb3IgYnVpbGRpbmcgdGhlIHBsdWdpblxuICAgKi9cbiAgRGV2ZWxvcG1lbnQsXG4gIC8qKlxuICBQcm9kdWN0aW9uIG1vZGUgZm9yIGJ1aWxkaW5nIHRoZSBwbHVnaW5cbiAgICovXG4gIFByb2R1Y3Rpb25cbn1cblxuLyoqXG4gKiBCYW5uZXIgdGV4dCB0byBiZSBpbmNsdWRlZCBhdCB0aGUgdG9wIG9mIHRoZSBnZW5lcmF0ZWQgZmlsZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBiYW5uZXIgPSBgLypcblRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEVTQlVJTERcbmlmIHlvdSB3YW50IHRvIHZpZXcgdGhlIHNvdXJjZSwgcGxlYXNlIHZpc2l0IHRoZSBnaXRodWIgcmVwb3NpdG9yeSBvZiB0aGlzIHBsdWdpblxuKi9cbmA7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGJ1aWxkT2JzaWRpYW5QbHVnaW59LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkT2JzaWRpYW5QbHVnaW5QYXJhbXMge1xuICAvKipcbiAgICogQ3VzdG9tIGVzYnVpbGQgcGx1Z2lucyB0byBiZSB1c2VkIGR1cmluZyB0aGUgYnVpbGQgcHJvY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbUVzYnVpbGRQbHVnaW5zPzogUGx1Z2luW107XG5cbiAgLyoqXG4gICAqIEN1c3RvbWl6ZXMgdGhlIGBlc2J1aWxkYCBvcHRpb25zLlxuICAgKi9cbiAgY3VzdG9taXplRXNidWlsZE9wdGlvbnM/KG9wdGlvbnM6IEVzYnVpbGRPcHRpb25zKTogdm9pZDtcblxuICAvKipcbiAgICogQSBidWlsZCBtb2RlLCBlaXRoZXIgYERldmVsb3BtZW50YCBvciBgUHJvZHVjdGlvbmBcbiAgICovXG4gIHJlYWRvbmx5IG1vZGU6IEJ1aWxkTW9kZTtcblxuICAvKipcbiAgICogQSBmb2xkZXIgZm9yIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24uIERlZmF1bHRzIHRvIHRoZSBgT0JTSURJQU5fQ09ORklHX0ZPTERFUmAgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhbkNvbmZpZ0ZvbGRlcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBCdWlsZCBwYXJhbWV0ZXJzIHdpdGhvdXQgdGhlIG1vZGUgZmllbGQsIGZvciB1c2Ugd2l0aCB7QGxpbmsgYnVpbGR9IGFuZCB7QGxpbmsgZGV2fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWlsZE9wdGlvbnMge1xuICAvKipcbiAgICogQ3VzdG9tIGVzYnVpbGQgcGx1Z2lucyB0byBiZSB1c2VkIGR1cmluZyB0aGUgYnVpbGQgcHJvY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbUVzYnVpbGRQbHVnaW5zPzogUGx1Z2luW107XG5cbiAgLyoqXG4gICAqIEN1c3RvbWl6ZXMgdGhlIGBlc2J1aWxkYCBvcHRpb25zLlxuICAgKi9cbiAgY3VzdG9taXplRXNidWlsZE9wdGlvbnM/KG9wdGlvbnM6IEVzYnVpbGRPcHRpb25zKTogdm9pZDtcblxuICAvKipcbiAgICogQSBmb2xkZXIgZm9yIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24uIERlZmF1bHRzIHRvIHRoZSBgT0JTSURJQU5fQ09ORklHX0ZPTERFUmAgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhbkNvbmZpZ0ZvbGRlcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE9ic2lkaWFuUGx1Z2luQnVpbGRlckVudiB7XG4gIE9CU0lESUFOX0NPTkZJR19GT0xERVI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIE9ic2lkaWFuIHBsdWdpbiBpbiBwcm9kdWN0aW9uIG1vZGUgdXNpbmcgZXNidWlsZC5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbmFsIGJ1aWxkIHBhcmFtZXRlcnMgKG1vZGUgaXMgc2V0IHRvIFByb2R1Y3Rpb24gYXV0b21hdGljYWxseSkuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGJ1aWxkIGlzIGNvbXBsZXRlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGQob3B0aW9ucz86IEJ1aWxkT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBidWlsZE9ic2lkaWFuUGx1Z2luKHsgLi4ub3B0aW9ucywgbW9kZTogQnVpbGRNb2RlLlByb2R1Y3Rpb24gfSk7XG4gIHJlc3VsdC50aHJvd09uRmFpbHVyZSgpO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgT2JzaWRpYW4gcGx1Z2luIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgbW9kZSBhbmQgY29uZmlndXJhdGlvbiBmb2xkZXIuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciBidWlsZGluZyB0aGUgcGx1Z2luLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIHtAbGluayBDbGlUYXNrUmVzdWx0fSBpbmRpY2F0aW5nIHRoZSBzdWNjZXNzIG9yIGZhaWx1cmUgb2YgdGhlIGJ1aWxkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRPYnNpZGlhblBsdWdpbihwYXJhbXM6IEJ1aWxkT2JzaWRpYW5QbHVnaW5QYXJhbXMpOiBQcm9taXNlPENsaVRhc2tSZXN1bHQ+IHtcbiAgYXdhaXQgbnBtUnVuKCdidWlsZDpjb21waWxlJyk7XG4gIGNvbnN0IGVudlBhdGggPSByZXNvbHZlUGF0aEZyb21Sb290KHsgcGF0aDogJy5lbnYnIH0pO1xuICBpZiAoZW52UGF0aCAmJiBleGlzdHNTeW5jKGVudlBhdGgpKSB7XG4gICAgbG9hZEVudkZpbGUoZW52UGF0aCk7XG4gIH1cbiAgY29uc3Qgb2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52ID0gcHJvY2Vzcy5lbnYgYXMgUGFydGlhbDxPYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnY+O1xuXG4gIGNvbnN0IG9ic2lkaWFuQ29uZmlnRm9sZGVyID0gcGFyYW1zLm9ic2lkaWFuQ29uZmlnRm9sZGVyID8/IG9ic2lkaWFuUGx1Z2luQnVpbGRlckVudi5PQlNJRElBTl9DT05GSUdfRk9MREVSID8/ICcnO1xuICBjb25zdCBpc1Byb2R1Y3Rpb25CdWlsZCA9IHBhcmFtcy5tb2RlID09PSBCdWlsZE1vZGUuUHJvZHVjdGlvbjtcblxuICBjb25zdCBkaXN0Rm9sZGVyID0gZW5zdXJlTm9uTnVsbGFibGUoXG4gICAgcmVzb2x2ZVBhdGhGcm9tUm9vdCh7IHBhdGg6IGlzUHJvZHVjdGlvbkJ1aWxkID8gT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRGlzdEJ1aWxkIDogT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRGlzdERldiB9KSxcbiAgICAnQ291bGQgbm90IGRldGVybWluZSB0aGUgZGlzdCBmb2xkZXInXG4gICk7XG5cbiAgaWYgKGV4aXN0c1N5bmMoZGlzdEZvbGRlcikpIHtcbiAgICBhd2FpdCBybShkaXN0Rm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgfVxuICBhd2FpdCBta2RpcihkaXN0Rm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBjb25zdCBkaXN0RmlsZU5hbWVzID0gW1xuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvblxuICBdO1xuICBpZiAoIWlzUHJvZHVjdGlvbkJ1aWxkKSB7XG4gICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4oZGlzdEZvbGRlciwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuSG90UmVsb2FkKSwgJycsICd1dGYtOCcpO1xuICB9XG5cbiAgZm9yIChjb25zdCBmaWxlTmFtZSBvZiBkaXN0RmlsZU5hbWVzKSB7XG4gICAgY29uc3QgbG9jYWxGaWxlID0gZW5zdXJlTm9uTnVsbGFibGUocmVzb2x2ZVBhdGhGcm9tUm9vdCh7IHBhdGg6IGZpbGVOYW1lIH0pLCBgQ291bGQgbm90IGRldGVybWluZSB0aGUgbG9jYWwgZmlsZSBmb3IgJHtmaWxlTmFtZX1gKTtcbiAgICBjb25zdCBkaXN0RmlsZSA9IGpvaW4oZGlzdEZvbGRlciwgZmlsZU5hbWUpO1xuXG4gICAgaWYgKGV4aXN0c1N5bmMobG9jYWxGaWxlKSkge1xuICAgICAgYXdhaXQgY3AobG9jYWxGaWxlLCBkaXN0RmlsZSk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZGlzdFBhdGggPSBqb2luKGRpc3RGb2xkZXIsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1haW5Kcyk7XG4gIGNvbnN0IGNzc1BhdGggPSBqb2luKGRpc3RGb2xkZXIsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlN0eWxlc0Nzcyk7XG5cbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24oKTtcbiAgY29uc3QgcGx1Z2luTmFtZSA9IHBhY2thZ2VKc29uLm5hbWUgPz8gJyh1bmtub3duKSc7XG5cbiAgY29uc3QgYnVpbGRPcHRpb25zOiBFc2J1aWxkT3B0aW9ucyA9IHtcbiAgICBiYW5uZXI6IHtcbiAgICAgIGpzOiBiYW5uZXJcbiAgICB9LFxuICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICBjb25kaXRpb25zOiBbJ2Jyb3dzZXInXSxcbiAgICBlbnRyeVBvaW50czogW1xuICAgICAgZW5zdXJlTm9uTnVsbGFibGUoXG4gICAgICAgIHJlc29sdmVQYXRoRnJvbVJvb3QoeyBwYXRoOiBqb2luKE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlNyYywgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTWFpblRzKSB9KSxcbiAgICAgICAgJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGVudHJ5IHBvaW50IGZvciB0aGUgcGx1Z2luJ1xuICAgICAgKVxuICAgIF0sXG4gICAgZXh0ZXJuYWw6IFtcbiAgICAgICdvYnNpZGlhbicsXG4gICAgICAnZWxlY3Ryb24nLFxuICAgICAgJ0Bjb2RlbWlycm9yL2F1dG9jb21wbGV0ZScsXG4gICAgICAnQGNvZGVtaXJyb3IvY29sbGFiJyxcbiAgICAgICdAY29kZW1pcnJvci9jb21tYW5kcycsXG4gICAgICAnQGNvZGVtaXJyb3IvbGFuZ3VhZ2UnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2xpbnQnLFxuICAgICAgJ0Bjb2RlbWlycm9yL3NlYXJjaCcsXG4gICAgICAnQGNvZGVtaXJyb3Ivc3RhdGUnLFxuICAgICAgJ0Bjb2RlbWlycm9yL3ZpZXcnLFxuICAgICAgJ0BsZXplci9jb21tb24nLFxuICAgICAgJ0BsZXplci9oaWdobGlnaHQnLFxuICAgICAgJ0BsZXplci9scicsXG4gICAgICAnZXNidWlsZCcsXG4gICAgICAnZXNsaW50JyxcbiAgICAgIC4uLmJ1aWx0aW5Nb2R1bGVzXG4gICAgXSxcbiAgICBmb3JtYXQ6ICdjanMnLFxuICAgIGtlZXBOYW1lczogdHJ1ZSxcbiAgICBsb2dMZXZlbDogJ2luZm8nLFxuICAgIG1pbmlmeTogaXNQcm9kdWN0aW9uQnVpbGQsXG4gICAgb3V0ZmlsZTogZGlzdFBhdGgsXG4gICAgcGxhdGZvcm06ICdub2RlJyxcbiAgICBwbHVnaW5zOiBbXG4gICAgICBjdXN0b21Fc2J1aWxkT3B0aW9uc1BsdWdpbihwYXJhbXMuY3VzdG9taXplRXNidWlsZE9wdGlvbnM/LmJpbmQocGFyYW1zKSksXG4gICAgICBzdmVsdGVXcmFwcGVyUGx1Z2luKGlzUHJvZHVjdGlvbkJ1aWxkKSxcbiAgICAgIHNhc3NQbHVnaW4oe1xuICAgICAgICBzb3VyY2VNYXA6ICFpc1Byb2R1Y3Rpb25CdWlsZFxuICAgICAgfSksXG4gICAgICByZW5hbWVDc3NQbHVnaW4oZGlzdEZvbGRlciksXG4gICAgICBwcmVwcm9jZXNzUGx1Z2luKCksXG4gICAgICBmaXhFc21QbHVnaW4oKSxcbiAgICAgIGZpeFNvdXJjZU1hcHNQbHVnaW4oeyBkaXN0UGF0aHM6IFtkaXN0UGF0aCwgY3NzUGF0aF0sIGlzUHJvZHVjdGlvbkJ1aWxkLCBwbHVnaW5OYW1lIH0pLFxuICAgICAgLi4ucGFyYW1zLmN1c3RvbUVzYnVpbGRQbHVnaW5zID8/IFtdLFxuICAgICAgY29weVRvT2JzaWRpYW5QbHVnaW5zRm9sZGVyUGx1Z2luKHsgZGlzdEZvbGRlciwgaXNQcm9kdWN0aW9uQnVpbGQsIG9ic2lkaWFuQ29uZmlnRm9sZGVyLCBwbHVnaW5OYW1lIH0pXG4gICAgXSxcbiAgICBzb3VyY2VtYXA6IGlzUHJvZHVjdGlvbkJ1aWxkID8gZmFsc2UgOiAnaW5saW5lJyxcbiAgICB0YXJnZXQ6ICdFUzIwMjInLFxuICAgIHRyZWVTaGFraW5nOiB0cnVlXG4gIH07XG5cbiAgY29uc3QgYnVpbGRDb250ZXh0ID0gYXdhaXQgY29udGV4dChidWlsZE9wdGlvbnMpO1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dCwgaXNQcm9kdWN0aW9uQnVpbGQpO1xuICBpZiAoIWlzUHJvZHVjdGlvbkJ1aWxkKSB7XG4gICAgd2F0Y2hOb2RlTW9kdWxlc0FuZFJlc3RhcnQocGFyYW1zLCBidWlsZENvbnRleHQpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBPYnNpZGlhbiBwbHVnaW4gaW4gZGV2ZWxvcG1lbnQgbW9kZSB1c2luZyBlc2J1aWxkIHdpdGggd2F0Y2guXG4gKlxuICogSW4gYWRkaXRpb24gdG8gZXNidWlsZCdzIG93biBzb3VyY2UtZ3JhcGggd2F0Y2gsIHRoZSBkZXZlbG9wbWVudCBidWlsZCBhbHNvIHdhdGNoZXMgdGhlIHBsdWdpbidzXG4gKiBgbm9kZV9tb2R1bGVzYCBmb2xkZXIgYW5kIHJlc3RhcnRzIHRoZSB3aG9sZSBidWlsZCAoaW5jbHVkaW5nIHRoZSB0eXBlLWNoZWNrKSB3aGVuIGl0IGNoYW5nZXMsIHNvIGFcbiAqIGRlcGVuZGVuY3kgcmVpbnN0YWxsIG9yIHJlYnVpbGQgaXMgcGlja2VkIHVwLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9uYWwgYnVpbGQgcGFyYW1ldGVycyAobW9kZSBpcyBzZXQgdG8gRGV2ZWxvcG1lbnQgYXV0b21hdGljYWxseSkuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IGluZGljYXRpbmcgdGhlIGJ1aWxkIHJlc3VsdC5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9wYXJhbXMtb3B0aW9ucy1uYW1lLW1hdGNoIC0tIEludGVudGlvbmFsbHkgc2hhcmVzIEJ1aWxkT3B0aW9ucyB3aXRoIGJ1aWxkKCkuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGV2KG9wdGlvbnM/OiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPENsaVRhc2tSZXN1bHQ+IHtcbiAgcmV0dXJuIGF3YWl0IGJ1aWxkT2JzaWRpYW5QbHVnaW4oeyAuLi5vcHRpb25zLCBtb2RlOiBCdWlsZE1vZGUuRGV2ZWxvcG1lbnQgfSk7XG59XG5cbi8qKlxuICogSW52b2tlcyB0aGUgYnVpbGQgcHJvY2VzcyB3aXRoIHRoZSBwcm92aWRlZCBidWlsZCBjb250ZXh0LlxuICpcbiAqIEBwYXJhbSBidWlsZENvbnRleHQgLSBUaGUgYnVpbGQgY29udGV4dCBnZW5lcmF0ZWQgYnkgZXNidWlsZC5cbiAqIEBwYXJhbSBpc1Byb2R1Y3Rpb25CdWlsZCAtIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGJ1aWxkIGlzIGEgcHJvZHVjdGlvbiBidWlsZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBidWlsZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGludm9rZUVzYnVpbGQoYnVpbGRDb250ZXh0OiBCdWlsZENvbnRleHQsIGlzUHJvZHVjdGlvbkJ1aWxkOiBib29sZWFuKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIGlmIChpc1Byb2R1Y3Rpb25CdWlsZCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJ1aWxkQ29udGV4dC5yZWJ1aWxkKCk7XG4gICAgY29uc3QgaXNTdWNjZXNzID0gcmVzdWx0LmVycm9ycy5sZW5ndGggPT09IDAgJiYgcmVzdWx0Lndhcm5pbmdzLmxlbmd0aCA9PT0gMDtcbiAgICByZXR1cm4gQ2xpVGFza1Jlc3VsdC5TdWNjZXNzKGlzU3VjY2Vzcyk7XG4gIH1cbiAgYXdhaXQgYnVpbGRDb250ZXh0LndhdGNoKCk7XG4gIHJldHVybiBDbGlUYXNrUmVzdWx0LkRvTm90RXhpdCgpO1xufVxuXG4vKipcbiAqIFdhdGNoZXMgdGhlIHBsdWdpbidzIGBub2RlX21vZHVsZXNgIGZvbGRlciBhbmQgcmVzdGFydHMgdGhlIGRldmVsb3BtZW50IGJ1aWxkIHdoZW4gaXQgY2hhbmdlcy5cbiAqXG4gKiBUaGUgZXNidWlsZCB3YXRjaGVyIG9ubHkgdHJhY2tzIGZpbGVzIGluIGl0cyBidWlsZCBncmFwaCBhbmQgb25seSBldmVyIHJlLWJ1bmRsZXMgXHUyMDE0IGl0IG5ldmVyXG4gKiByZS1ydW5zIHRoZSBgYnVpbGQ6Y29tcGlsZWAgdHlwZS1jaGVjaywgYW5kIGl0IGlnbm9yZXMgYG5vZGVfbW9kdWxlc2AgY2hhbmdlcyBvdXRzaWRlIHRoZSBncmFwaFxuICogKGEgcmVpbnN0YWxsLCBvciBhIGRlcGVuZGVuY3kgZmlsZSBub3QgY3VycmVudGx5IGltcG9ydGVkKS4gT24gYW55IChkZWJvdW5jZWQpIGNoYW5nZSBhbnl3aGVyZSBpblxuICogdGhlIGBub2RlX21vZHVsZXNgIHRyZWUsIHRoZSBjdXJyZW50IGJ1aWxkIGNvbnRleHQgaXMgZGlzcG9zZWQgYW5kIHRoZSB3aG9sZSBkZXZlbG9wbWVudCBidWlsZCBpc1xuICogcmVzdGFydGVkLCByZS1ydW5uaW5nIHRoZSBmdWxsIHBpcGVsaW5lLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyB0aGUgYnVpbGQgd2FzIHN0YXJ0ZWQgd2l0aCwgdXNlZCB0byByZXN0YXJ0IGl0LlxuICogQHBhcmFtIGJ1aWxkQ29udGV4dCAtIFRoZSBlc2J1aWxkIGNvbnRleHQgdG8gZGlzcG9zZSBiZWZvcmUgcmVzdGFydGluZy5cbiAqL1xuZnVuY3Rpb24gd2F0Y2hOb2RlTW9kdWxlc0FuZFJlc3RhcnQocGFyYW1zOiBCdWlsZE9ic2lkaWFuUGx1Z2luUGFyYW1zLCBidWlsZENvbnRleHQ6IEJ1aWxkQ29udGV4dCk6IHZvaWQge1xuICBjb25zdCBub2RlTW9kdWxlc1BhdGggPSByZXNvbHZlUGF0aEZyb21Sb290KHsgcGF0aDogT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuTm9kZU1vZHVsZXMgfSk7XG4gIGlmICghbm9kZU1vZHVsZXNQYXRoIHx8ICFleGlzdHNTeW5jKG5vZGVNb2R1bGVzUGF0aCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBsZXQgcmVzdGFydFRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkO1xuICBjb25zdCB3YXRjaGVyID0gd2F0Y2gobm9kZU1vZHVsZXNQYXRoLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9LCAoKSA9PiB7XG4gICAgaWYgKHJlc3RhcnRUaW1lb3V0KSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9wcmVmZXItd2luZG93LXRpbWVycyAtLSBOb2RlIGJ1aWxkLXRvb2wgY29udGV4dDsgYHdpbmRvd2AgaXMgbm90IGF2YWlsYWJsZS5cbiAgICAgIGNsZWFyVGltZW91dChyZXN0YXJ0VGltZW91dCk7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbm1kL3ByZWZlci13aW5kb3ctdGltZXJzIC0tIE5vZGUgYnVpbGQtdG9vbCBjb250ZXh0OyBgd2luZG93YCBpcyBub3QgYXZhaWxhYmxlLlxuICAgIHJlc3RhcnRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpbnZva2VBc3luY1NhZmVseShyZXN0YXJ0KTtcbiAgICB9LCBOT0RFX01PRFVMRVNfUkVTVEFSVF9ERUJPVU5DRV9JTl9NSUxMSVNFQ09ORFMpO1xuICB9KTtcblxuICBhc3luYyBmdW5jdGlvbiByZXN0YXJ0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnNvbGUud2FybignRGV0ZWN0ZWQgY2hhbmdlcyBpbiBub2RlX21vZHVsZXMuIFJlc3RhcnRpbmcgdGhlIGJ1aWxkLi4uJyk7XG4gICAgd2F0Y2hlci5jbG9zZSgpO1xuICAgIGF3YWl0IGJ1aWxkQ29udGV4dC5kaXNwb3NlKCk7XG4gICAgYXdhaXQgYnVpbGRPYnNpZGlhblBsdWdpbihwYXJhbXMpO1xuICB9XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQSxTQUFTLGVBQWU7QUFFeEIsT0FBTyxpQkFBaUI7QUFDeEI7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxzQkFBc0I7QUFDL0IsT0FBTyxXQUFXLG1CQUFtQjtBQUVyQyxTQUFTLHlCQUF5QjtBQUNsQyxTQUFTLG1DQUFtQztBQUM1QyxTQUFTLCtCQUErQjtBQUN4QyxTQUFTLFlBQVk7QUFDckIsU0FBUyx5QkFBeUI7QUFDbEMsU0FBUyxxQkFBcUI7QUFDOUIsU0FBUyxjQUFjO0FBQ3ZCLFNBQVMsdUJBQXVCO0FBQ2hDLFNBQVMsMkJBQTJCO0FBQ3BDLFNBQVMseUNBQXlDO0FBQ2xELFNBQVMsa0NBQWtDO0FBQzNDLFNBQVMsb0JBQW9CO0FBQzdCLFNBQVMsMkJBQTJCO0FBQ3BDLFNBQVMsd0JBQXdCO0FBQ2pDLFNBQVMsdUJBQXVCO0FBQ2hDLFNBQVMsMkJBQTJCO0FBRXBDLE1BQU0sYUFBYSw0QkFBNEIsV0FBVztBQU8xRCxNQUFNLGdEQUFnRDtBQUsvQyxJQUFLLFlBQUwsa0JBQUtBLGVBQUw7QUFJTCxFQUFBQSxzQkFBQTtBQUlBLEVBQUFBLHNCQUFBO0FBUlUsU0FBQUE7QUFBQSxHQUFBO0FBY0wsTUFBTSxTQUFTO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE2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
|