@mnaoumov/obsidian-lib 7.0.0 → 8.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/components/incremental-file-index-component/package.json +6 -0
- package/dist/lib/cjs/__merged.cjs +20 -6
- package/dist/lib/cjs/__merged.d.cts +2 -0
- package/dist/lib/cjs/active-file-provider.cjs +6 -6
- package/dist/lib/cjs/active-file-provider.d.cts +1 -1
- package/dist/lib/cjs/app.cjs +5 -5
- package/dist/lib/cjs/async-with-notice.cjs +5 -5
- package/dist/lib/cjs/attachment-path.cjs +6 -6
- package/dist/lib/cjs/attachment-unit-folder.cjs +5 -5
- package/dist/lib/cjs/backlink-index.cjs +13 -19
- package/dist/lib/cjs/backlink-index.d.cts +1 -1
- package/dist/lib/cjs/backlink.cjs +5 -5
- package/dist/lib/cjs/bases-view-registrar.cjs +6 -6
- package/dist/lib/cjs/bases-view-registrar.d.cts +1 -1
- package/dist/lib/cjs/callout.cjs +5 -5
- package/dist/lib/cjs/canvas.cjs +5 -5
- package/dist/lib/cjs/case-insensitive-file-index.cjs +5 -5
- package/dist/lib/cjs/code-block-markdown-information.cjs +6 -6
- package/dist/lib/cjs/code-block-markdown-information.d.cts +9 -9
- package/dist/lib/cjs/code-block-reg-exp.cjs +5 -5
- package/dist/lib/cjs/codemirror/index.cjs +5 -5
- package/dist/lib/cjs/codemirror/state-field-spec.cjs +6 -6
- package/dist/lib/cjs/codemirror/state-field-spec.d.cts +6 -6
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +5 -5
- package/dist/lib/cjs/command-handlers/command-handler-component.cjs +5 -5
- package/dist/lib/cjs/command-handlers/command-handler.cjs +5 -5
- package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +5 -5
- package/dist/lib/cjs/command-handlers/file-command-handler.cjs +5 -5
- package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +5 -5
- package/dist/lib/cjs/command-handlers/global-command-handler.cjs +5 -5
- package/dist/lib/cjs/command-handlers/index.cjs +5 -5
- package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +5 -5
- package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +5 -5
- package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +5 -5
- package/dist/lib/cjs/command-registrar.cjs +6 -6
- package/dist/lib/cjs/command-registrar.d.cts +2 -2
- package/dist/lib/cjs/community-plugins.cjs +6 -6
- package/dist/lib/cjs/components/abort-signal-component.cjs +5 -5
- package/dist/lib/cjs/components/all-windows-event-component.cjs +5 -5
- package/dist/lib/cjs/components/async-error-handler-component.cjs +5 -5
- package/dist/lib/cjs/components/async-events-component.cjs +5 -5
- package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +5 -5
- package/dist/lib/cjs/components/component-ex.cjs +5 -5
- package/dist/lib/cjs/components/console-debug-component.cjs +5 -5
- package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +5 -5
- package/dist/lib/cjs/components/disposable-component.cjs +5 -5
- package/dist/lib/cjs/components/embed-extensions-component.cjs +5 -5
- package/dist/lib/cjs/components/file-explorer-root-menu-component.cjs +13 -16
- package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +5 -5
- package/dist/lib/cjs/components/incremental-file-index-component.cjs +340 -0
- package/dist/lib/cjs/components/incremental-file-index-component.d.cts +152 -0
- package/dist/lib/cjs/components/index.cjs +9 -6
- package/dist/lib/cjs/components/index.d.cts +1 -0
- package/dist/lib/cjs/components/layout-ready-component.cjs +5 -5
- package/dist/lib/cjs/components/menu-event-registrar-component.cjs +5 -5
- package/dist/lib/cjs/components/monkey-around-component.cjs +5 -5
- package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +5 -5
- package/dist/lib/cjs/components/plugin-context-component.cjs +5 -5
- package/dist/lib/cjs/components/plugin-gate-component.cjs +5 -5
- package/dist/lib/cjs/components/plugin-notice-component.cjs +6 -6
- package/dist/lib/cjs/components/plugin-notice-component.d.cts +3 -3
- package/dist/lib/cjs/components/plugin-settings-component.cjs +6 -6
- package/dist/lib/cjs/components/plugin-settings-component.d.cts +5 -5
- package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +5 -5
- package/dist/lib/cjs/components/plugin-suggestion-component.cjs +5 -5
- package/dist/lib/cjs/components/pointer-position-component.cjs +5 -5
- package/dist/lib/cjs/components/registry-component.cjs +5 -5
- package/dist/lib/cjs/components/release-notes-component.cjs +5 -5
- package/dist/lib/cjs/components/rename-delete-handler-component.cjs +6 -6
- package/dist/lib/cjs/components/rename-delete-handler-component.d.cts +10 -10
- package/dist/lib/cjs/components/rmdir-guard-component.cjs +5 -5
- package/dist/lib/cjs/components/settings-migration-component.cjs +5 -5
- package/dist/lib/cjs/components/syntax-highlighting-component.cjs +5 -5
- package/dist/lib/cjs/components/templates-language-component.cjs +5 -5
- package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +5 -5
- package/dist/lib/cjs/constructors/index.cjs +5 -5
- package/dist/lib/cjs/css-class.cjs +5 -5
- package/dist/lib/cjs/data-handler.cjs +6 -6
- package/dist/lib/cjs/data-handler.d.cts +2 -2
- package/dist/lib/cjs/data-stores/data-store-replica.cjs +5 -5
- package/dist/lib/cjs/data-stores/data-store-seeds.cjs +6 -6
- package/dist/lib/cjs/data-stores/data-store-transport.cjs +5 -5
- package/dist/lib/cjs/data-stores/index.cjs +5 -5
- package/dist/lib/cjs/data-stores/local-data-store.cjs +5 -5
- package/dist/lib/cjs/data-stores/shared-data-store.cjs +6 -6
- package/dist/lib/cjs/dataview-link.cjs +5 -5
- package/dist/lib/cjs/dataview.cjs +12 -12
- package/dist/lib/cjs/dataview.d.cts +6 -6
- package/dist/lib/cjs/debug.cjs +5 -5
- package/dist/lib/cjs/demo-vault-helper-settings.cjs +5 -5
- package/dist/lib/cjs/demo-vault-helper.cjs +5 -5
- package/dist/lib/cjs/demo-vault-naming.cjs +5 -5
- package/dist/lib/cjs/desktop-demo-vault-opener.cjs +5 -5
- package/dist/lib/cjs/desktop-trusted-input.cjs +6 -6
- package/dist/lib/cjs/desktop-trusted-input.d.cts +1 -1
- package/dist/lib/cjs/editor-extension-registrar.cjs +6 -6
- package/dist/lib/cjs/editor-extension-registrar.d.cts +1 -1
- package/dist/lib/cjs/editor-suggest-registrar.cjs +6 -6
- package/dist/lib/cjs/editor-suggest-registrar.d.cts +1 -1
- package/dist/lib/cjs/editor.cjs +5 -5
- package/dist/lib/cjs/events.cjs +5 -5
- package/dist/lib/cjs/extensions-registrar.cjs +6 -6
- package/dist/lib/cjs/extensions-registrar.d.cts +1 -1
- package/dist/lib/cjs/file-change.cjs +6 -6
- package/dist/lib/cjs/file-change.d.cts +3 -3
- package/dist/lib/cjs/file-explorer.cjs +5 -5
- package/dist/lib/cjs/file-manager.cjs +5 -5
- package/dist/lib/cjs/file-system.cjs +5 -5
- package/dist/lib/cjs/folder-note.cjs +6 -6
- package/dist/lib/cjs/folder-note.d.cts +1 -1
- package/dist/lib/cjs/frontmatter-formatting.cjs +5 -5
- package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +6 -6
- package/dist/lib/cjs/frontmatter-link-cache-with-offsets.d.cts +2 -2
- package/dist/lib/cjs/frontmatter.cjs +6 -6
- package/dist/lib/cjs/frontmatter.d.cts +7 -7
- package/dist/lib/cjs/generated-during-build.cjs +7 -7
- package/dist/lib/cjs/hover-link-source-registrar.cjs +6 -6
- package/dist/lib/cjs/hover-link-source-registrar.d.cts +1 -1
- package/dist/lib/cjs/html-element.cjs +5 -5
- package/dist/lib/cjs/i18n/custom-type-options.cjs +6 -6
- package/dist/lib/cjs/i18n/custom-type-options.d.cts +4 -4
- package/dist/lib/cjs/i18n/default-translations.cjs +5 -5
- package/dist/lib/cjs/i18n/i18n.cjs +5 -5
- package/dist/lib/cjs/i18n/index.cjs +5 -5
- package/dist/lib/cjs/i18n/locales/en.cjs +5 -5
- package/dist/lib/cjs/i18n/locales/index.cjs +5 -5
- package/dist/lib/cjs/i18n/locales/translations-map.cjs +5 -5
- package/dist/lib/cjs/index.cjs +9 -6
- package/dist/lib/cjs/index.d.cts +1 -0
- package/dist/lib/cjs/is-in-obsidian.cjs +5 -5
- package/dist/lib/cjs/library-styles.cjs +5 -5
- package/dist/lib/cjs/library.cjs +5 -5
- package/dist/lib/cjs/link-name.cjs +5 -5
- package/dist/lib/cjs/link-update-progress.cjs +5 -5
- package/dist/lib/cjs/link.cjs +7 -7
- package/dist/lib/cjs/link.d.cts +2 -2
- package/dist/lib/cjs/logger.cjs +5 -5
- package/dist/lib/cjs/loop.cjs +5 -5
- package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +6 -6
- package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +1 -1
- package/dist/lib/cjs/markdown-code-block-processor.cjs +5 -5
- package/dist/lib/cjs/markdown-post-processor-registrar.cjs +6 -6
- package/dist/lib/cjs/markdown-post-processor-registrar.d.cts +1 -1
- package/dist/lib/cjs/markdown-view.cjs +5 -5
- package/dist/lib/cjs/markdown.cjs +5 -5
- package/dist/lib/cjs/menu-event-registrar.cjs +6 -6
- package/dist/lib/cjs/menu-event-registrar.d.cts +4 -4
- package/dist/lib/cjs/metadata-cache.cjs +6 -6
- package/dist/lib/cjs/mobile-trusted-input.cjs +6 -6
- package/dist/lib/cjs/modals/alert.cjs +5 -5
- package/dist/lib/cjs/modals/confirm.cjs +5 -5
- package/dist/lib/cjs/modals/index.cjs +5 -5
- package/dist/lib/cjs/modals/minimizable-modal.cjs +6 -6
- package/dist/lib/cjs/modals/modal-command-builder.cjs +6 -6
- package/dist/lib/cjs/modals/modal-command-builder.d.cts +12 -12
- package/dist/lib/cjs/modals/modal.cjs +5 -5
- package/dist/lib/cjs/modals/prompt.cjs +14 -14
- package/dist/lib/cjs/modals/select-item.cjs +5 -5
- package/dist/lib/cjs/modals/select-option.cjs +5 -5
- package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +5 -5
- package/dist/lib/cjs/note-priority.cjs +5 -5
- package/dist/lib/cjs/notebook-navigator.cjs +6 -6
- package/dist/lib/cjs/notebook-navigator.d.cts +3 -3
- package/dist/lib/cjs/obsidian-lib-state.cjs +6 -6
- package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +6 -6
- package/dist/lib/cjs/obsidian-protocol-handler-registrar.d.cts +1 -1
- package/dist/lib/cjs/obsidian-settings.cjs +5 -5
- package/dist/lib/cjs/obsidian-word-characters.cjs +231 -0
- package/dist/lib/cjs/obsidian-word-characters.d.cts +59 -0
- package/dist/lib/cjs/parse-link.cjs +6 -6
- package/dist/lib/cjs/parse-link.d.cts +2 -2
- package/dist/lib/cjs/path-settings.cjs +6 -6
- package/dist/lib/cjs/pdf.cjs +5 -5
- package/dist/lib/cjs/plugin/index.cjs +5 -5
- package/dist/lib/cjs/plugin/plugin-api.cjs +6 -6
- package/dist/lib/cjs/plugin/plugin-api.d.cts +2 -2
- package/dist/lib/cjs/plugin/plugin-context.cjs +6 -6
- package/dist/lib/cjs/plugin/plugin-event-source.cjs +6 -6
- package/dist/lib/cjs/plugin/plugin-event-source.d.cts +1 -1
- package/dist/lib/cjs/plugin/plugin-install-state.cjs +5 -5
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +5 -5
- package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +6 -6
- package/dist/lib/cjs/plugin/plugin-settings-tab.d.cts +3 -3
- package/dist/lib/cjs/plugin/plugin.cjs +6 -6
- package/dist/lib/cjs/plugin/settings-migration-api.cjs +6 -6
- package/dist/lib/cjs/plugin/settings-migration-api.d.cts +1 -1
- package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +6 -6
- package/dist/lib/cjs/plugin-cli-handler-registrar.d.cts +1 -1
- package/dist/lib/cjs/popovers/field-popover.cjs +5 -5
- package/dist/lib/cjs/popovers/index.cjs +5 -5
- package/dist/lib/cjs/popovers/popover-anchor.cjs +5 -5
- package/dist/lib/cjs/popovers/popover.cjs +5 -5
- package/dist/lib/cjs/property-entry.cjs +5 -5
- package/dist/lib/cjs/queue.cjs +6 -6
- package/dist/lib/cjs/react/app-context.cjs +5 -5
- package/dist/lib/cjs/react/index.cjs +5 -5
- package/dist/lib/cjs/reference.cjs +6 -6
- package/dist/lib/cjs/reference.d.cts +6 -6
- package/dist/lib/cjs/resource-lock.cjs +6 -6
- package/dist/lib/cjs/resource-url.cjs +5 -5
- package/dist/lib/cjs/ribbon-icon-registrar.cjs +6 -6
- package/dist/lib/cjs/ribbon-icon-registrar.d.cts +1 -1
- package/dist/lib/cjs/setting-components/checkbox-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/date-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/date-time-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/email-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/file-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/index.cjs +5 -5
- package/dist/lib/cjs/setting-components/month-component.cjs +6 -6
- package/dist/lib/cjs/setting-components/month-component.d.cts +2 -2
- package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/multiple-email-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/multiple-file-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/multiple-text-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/number-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/password-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +5 -5
- package/dist/lib/cjs/setting-components/telephone-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/text-based-component.cjs +6 -6
- package/dist/lib/cjs/setting-components/text-based-component.d.cts +3 -3
- package/dist/lib/cjs/setting-components/time-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/typed-text-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/url-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/validator-component.cjs +5 -5
- package/dist/lib/cjs/setting-components/value-component-with-change-tracking.cjs +6 -6
- package/dist/lib/cjs/setting-components/week-component.cjs +6 -6
- package/dist/lib/cjs/setting-components/week-component.d.cts +2 -2
- package/dist/lib/cjs/setting-ex.cjs +5 -5
- package/dist/lib/cjs/setting-group-ex.cjs +5 -5
- package/dist/lib/cjs/status-bar-item-registrar.cjs +6 -6
- package/dist/lib/cjs/status-bar-item-registrar.d.cts +1 -1
- package/dist/lib/cjs/templater.cjs +6 -6
- package/dist/lib/cjs/templater.d.cts +9 -9
- package/dist/lib/cjs/transformers/duration-transformer.cjs +5 -5
- package/dist/lib/cjs/transformers/index.cjs +5 -5
- package/dist/lib/cjs/trusted-input.cjs +5 -5
- package/dist/lib/cjs/validation.cjs +6 -6
- package/dist/lib/cjs/validation.d.cts +1 -1
- package/dist/lib/cjs/vault-delete.cjs +5 -5
- package/dist/lib/cjs/vault-transaction.cjs +6 -6
- package/dist/lib/cjs/vault.cjs +5 -5
- package/dist/lib/cjs/view-registrar.cjs +6 -6
- package/dist/lib/cjs/view-registrar.d.cts +1 -1
- package/dist/lib/cjs/workspace.cjs +5 -5
- package/dist/lib/esm/__merged.d.mts +2 -0
- package/dist/lib/esm/__merged.mjs +15 -1
- package/dist/lib/esm/active-file-provider.d.mts +1 -1
- package/dist/lib/esm/active-file-provider.mjs +1 -1
- package/dist/lib/esm/attachment-path.mjs +1 -1
- package/dist/lib/esm/backlink-index.d.mts +1 -1
- package/dist/lib/esm/backlink-index.mjs +8 -14
- package/dist/lib/esm/bases-view-registrar.d.mts +1 -1
- package/dist/lib/esm/bases-view-registrar.mjs +1 -1
- package/dist/lib/esm/code-block-markdown-information.d.mts +9 -9
- package/dist/lib/esm/codemirror/state-field-spec.d.mts +6 -6
- package/dist/lib/esm/command-registrar.d.mts +2 -2
- package/dist/lib/esm/command-registrar.mjs +1 -1
- package/dist/lib/esm/community-plugins.mjs +1 -1
- package/dist/lib/esm/components/file-explorer-root-menu-component.mjs +8 -11
- package/dist/lib/esm/components/incremental-file-index-component.d.mts +152 -0
- package/dist/lib/esm/components/incremental-file-index-component.mjs +260 -0
- package/dist/lib/esm/components/index.d.mts +1 -0
- package/dist/lib/esm/components/index.mjs +3 -1
- package/dist/lib/esm/components/plugin-notice-component.d.mts +3 -3
- package/dist/lib/esm/components/plugin-notice-component.mjs +1 -1
- package/dist/lib/esm/components/plugin-settings-component.d.mts +5 -5
- package/dist/lib/esm/components/plugin-settings-component.mjs +1 -1
- package/dist/lib/esm/components/rename-delete-handler-component.d.mts +10 -10
- package/dist/lib/esm/components/rename-delete-handler-component.mjs +1 -1
- package/dist/lib/esm/data-handler.d.mts +2 -2
- package/dist/lib/esm/data-handler.mjs +1 -1
- package/dist/lib/esm/data-stores/data-store-seeds.mjs +1 -1
- package/dist/lib/esm/data-stores/shared-data-store.mjs +1 -1
- package/dist/lib/esm/dataview.d.mts +6 -6
- package/dist/lib/esm/dataview.mjs +7 -7
- package/dist/lib/esm/desktop-trusted-input.d.mts +1 -1
- package/dist/lib/esm/desktop-trusted-input.mjs +1 -1
- package/dist/lib/esm/editor-extension-registrar.d.mts +1 -1
- package/dist/lib/esm/editor-extension-registrar.mjs +1 -1
- package/dist/lib/esm/editor-suggest-registrar.d.mts +1 -1
- package/dist/lib/esm/editor-suggest-registrar.mjs +1 -1
- package/dist/lib/esm/extensions-registrar.d.mts +1 -1
- package/dist/lib/esm/extensions-registrar.mjs +1 -1
- package/dist/lib/esm/file-change.d.mts +3 -3
- package/dist/lib/esm/file-change.mjs +1 -1
- package/dist/lib/esm/folder-note.d.mts +1 -1
- package/dist/lib/esm/folder-note.mjs +1 -1
- package/dist/lib/esm/frontmatter-link-cache-with-offsets.d.mts +2 -2
- package/dist/lib/esm/frontmatter-link-cache-with-offsets.mjs +1 -1
- package/dist/lib/esm/frontmatter.d.mts +7 -7
- package/dist/lib/esm/frontmatter.mjs +1 -1
- package/dist/lib/esm/generated-during-build.mjs +2 -2
- package/dist/lib/esm/hover-link-source-registrar.d.mts +1 -1
- package/dist/lib/esm/hover-link-source-registrar.mjs +1 -1
- package/dist/lib/esm/i18n/custom-type-options.d.mts +4 -4
- package/dist/lib/esm/i18n/custom-type-options.mjs +1 -1
- package/dist/lib/esm/index.d.mts +1 -0
- package/dist/lib/esm/index.mjs +3 -1
- package/dist/lib/esm/link.d.mts +2 -2
- package/dist/lib/esm/link.mjs +2 -2
- package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +1 -1
- package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +1 -1
- package/dist/lib/esm/markdown-post-processor-registrar.d.mts +1 -1
- package/dist/lib/esm/markdown-post-processor-registrar.mjs +1 -1
- package/dist/lib/esm/menu-event-registrar.d.mts +4 -4
- package/dist/lib/esm/metadata-cache.mjs +1 -1
- package/dist/lib/esm/mobile-trusted-input.mjs +1 -1
- package/dist/lib/esm/modals/minimizable-modal.mjs +1 -1
- package/dist/lib/esm/modals/modal-command-builder.d.mts +12 -12
- package/dist/lib/esm/modals/modal-command-builder.mjs +1 -1
- package/dist/lib/esm/modals/prompt.mjs +9 -9
- package/dist/lib/esm/notebook-navigator.d.mts +3 -3
- package/dist/lib/esm/notebook-navigator.mjs +1 -1
- package/dist/lib/esm/obsidian-lib-state.mjs +1 -1
- package/dist/lib/esm/obsidian-protocol-handler-registrar.d.mts +1 -1
- package/dist/lib/esm/obsidian-protocol-handler-registrar.mjs +1 -1
- package/dist/lib/esm/obsidian-word-characters.d.mts +59 -0
- package/dist/lib/esm/obsidian-word-characters.mjs +139 -0
- package/dist/lib/esm/parse-link.d.mts +2 -2
- package/dist/lib/esm/parse-link.mjs +1 -1
- package/dist/lib/esm/path-settings.mjs +1 -1
- package/dist/lib/esm/plugin/plugin-api.d.mts +2 -2
- package/dist/lib/esm/plugin/plugin-api.mjs +1 -1
- package/dist/lib/esm/plugin/plugin-context.mjs +1 -1
- package/dist/lib/esm/plugin/plugin-event-source.d.mts +1 -1
- package/dist/lib/esm/plugin/plugin-event-source.mjs +1 -1
- package/dist/lib/esm/plugin/plugin-settings-tab.d.mts +3 -3
- package/dist/lib/esm/plugin/plugin-settings-tab.mjs +1 -1
- package/dist/lib/esm/plugin/plugin.mjs +1 -1
- package/dist/lib/esm/plugin/settings-migration-api.d.mts +1 -1
- package/dist/lib/esm/plugin/settings-migration-api.mjs +1 -1
- package/dist/lib/esm/plugin-cli-handler-registrar.d.mts +1 -1
- package/dist/lib/esm/plugin-cli-handler-registrar.mjs +1 -1
- package/dist/lib/esm/queue.mjs +1 -1
- package/dist/lib/esm/reference.d.mts +6 -6
- package/dist/lib/esm/reference.mjs +1 -1
- package/dist/lib/esm/resource-lock.mjs +1 -1
- package/dist/lib/esm/ribbon-icon-registrar.d.mts +1 -1
- package/dist/lib/esm/ribbon-icon-registrar.mjs +1 -1
- package/dist/lib/esm/setting-components/month-component.d.mts +2 -2
- package/dist/lib/esm/setting-components/month-component.mjs +1 -1
- package/dist/lib/esm/setting-components/text-based-component.d.mts +3 -3
- package/dist/lib/esm/setting-components/text-based-component.mjs +1 -1
- package/dist/lib/esm/setting-components/week-component.d.mts +2 -2
- package/dist/lib/esm/setting-components/week-component.mjs +1 -1
- package/dist/lib/esm/status-bar-item-registrar.d.mts +1 -1
- package/dist/lib/esm/status-bar-item-registrar.mjs +1 -1
- package/dist/lib/esm/templater.d.mts +9 -9
- package/dist/lib/esm/templater.mjs +1 -1
- package/dist/lib/esm/validation.d.mts +1 -1
- package/dist/lib/esm/validation.mjs +1 -1
- package/dist/lib/esm/vault-transaction.mjs +1 -1
- package/dist/lib/esm/view-registrar.d.mts +1 -1
- package/dist/lib/esm/view-registrar.mjs +1 -1
- package/dist/styles.css +2 -2
- package/package.json +6 -3
|
@@ -25,4 +25,4 @@ export {
|
|
|
25
25
|
NOTEBOOK_NAVIGATOR_PLUGIN_ID,
|
|
26
26
|
resolveNotebookNavigatorApi
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL25vdGVib29rLW5hdmlnYXRvci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBzbGljZSBvZiBgTm90ZWJvb2sgTmF2aWdhdG9yYCdzIHB1YmxpYyBBUEkgdGhpcyBsaWJyYXJ5IHRhbGtzIHRvLCBhbmQgdGhlIHJ1bnRpbWUgbmFycm93aW5nIHRoYXRcbiAqIGdldHMgaG9sZCBvZiBpdC5cbiAqXG4gKiAqKmBOb3RlYm9vayBOYXZpZ2F0b3JgIGRyYXdzIGl0cyBvd24gZmlsZSB0cmVlLCBzbyBpdCBuZXZlciByYWlzZXMgT2JzaWRpYW4ncyBgZmlsZS1tZW51YCAvXG4gKiBgZmlsZXMtbWVudWAgd29ya3NwYWNlIGV2ZW50cyoqIFx1MjAxNCB3aGljaCBpcyB3aHkgYSBwbHVnaW4ncyBjb250ZXh0LW1lbnUgaXRlbXMgc2ltcGx5IGRpc2FwcGVhciBmb3JcbiAqIGFueW9uZSBicm93c2luZyB0aHJvdWdoIGl0LiBXaGF0IGl0IG9mZmVycyBpbnN0ZWFkIGlzIGEgZG9jdW1lbnRlZCBleHRlbnNpb24gQVBJXG4gKiAoYGRvY3MvYXBpLXJlZmVyZW5jZS5tZGAgKyBgc3JjL2FwaS9wdWJsaWMvbm90ZWJvb2stbmF2aWdhdG9yLmQudHNgIGluIGBqb2hhbnNhbi9ub3RlYm9vay1uYXZpZ2F0b3JgLFxuICogQVBJIDIuMC4wKSwgcmVhY2hhYmxlIGF0IHJ1bnRpbWUgYXMgYGFwcC5wbHVnaW5zLmdldFBsdWdpbignbm90ZWJvb2stbmF2aWdhdG9yJykuYXBpYC5cbiAqXG4gKiBUaGUgdHlwZXMgYmVsb3cgYXJlIERFQ0xBUkVEIEhFUkUgcmF0aGVyIHRoYW4gaW1wb3J0ZWQ6IGBOb3RlYm9vayBOYXZpZ2F0b3JgIHNoaXBzIGl0cyBgLmQudHNgIGZvclxuICogZG93bmxvYWQsIG5vdCBhcyBhbiBucG0gcGFja2FnZSwgYW5kIGRlcGVuZGluZyBvbiBpdCB3b3VsZCB0dXJuIGFuIG9wdGlvbmFsIGludGVncmF0aW9uIGludG8gYVxuICogYnVpbGQtdGltZSBkZXBlbmRlbmN5LiBUaGV5IGFyZSBkZWxpYmVyYXRlbHkgdGhlIG5hcnJvd2VzdCBzaGFwZSB0aGlzIGxpYnJhcnkgdXNlcyBcdTIwMTQgdGhlIEFQSSBhbHNvXG4gKiBjYXJyaWVzIGBtZXRhZGF0YWAsIGBuYXZpZ2F0aW9uYCwgYHNlbGVjdGlvbmAsIGB0YWdDb2xsZWN0aW9uc2AsIGBwcm9wZXJ0eU5vZGVzYCBhbmQgYW4gZXZlbnQgYnVzLFxuICogbm9uZSBvZiB3aGljaCBhcHBseSB0byBhIGZpbGUvZm9sZGVyIGNvbW1hbmQgc3VyZmFjZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFwcCxcbiAgTWVudUl0ZW0sXG4gIFRGaWxlLFxuICBURm9sZGVyXG59IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBgTm90ZWJvb2sgTmF2aWdhdG9yYCdzIHB1YmxpYyBBUEkgb2JqZWN0LCBuYXJyb3dlZCB0byB3aGF0IHRoaXMgbGlicmFyeSB1c2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGVib29rTmF2aWdhdG9yQXBpIHtcbiAgLyoqXG4gICAqIFRoZSBtZW51LWV4dGVuc2lvbiBuYW1lc3BhY2UuXG4gICAqL1xuICByZWFkb25seSBtZW51czogTm90ZWJvb2tOYXZpZ2F0b3JNZW51cztcbn1cblxuLyoqXG4gKiBXaGF0IGBtZW51cy5yZWdpc3RlckZpbGVNZW51YCBoYW5kcyBhIHN1YnNjcmliZXIgd2hlbiBhIEZJTEUgaXMgcmlnaHQtY2xpY2tlZC5cbiAqXG4gKiBUaGVyZSBpcyBubyBgTWVudWAgaGVyZSBcdTIwMTQgYW4gaXRlbSBpcyBjb250cmlidXRlZCB0aHJvdWdoIGBhZGRJdGVtYCBhbG9uZSwgd2hpY2ggaXMgd2h5IHRoZVxuICogZmlsZS9maWxlcyBtZW51IGhhbmRsZXJzIGNhbm5vdCBzaW1wbHkgYmUgZm9yd2FyZGVkIHRvIGl0IGFuZCBoYXZlIHRvIGJlIGJyaWRnZWQgKHNlZVxuICogYGNvbXBvbmVudHMvbm90ZWJvb2stbmF2aWdhdG9yLW1lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudC50c2ApLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGVib29rTmF2aWdhdG9yRmlsZU1lbnVDb250ZXh0IGV4dGVuZHMgTm90ZWJvb2tOYXZpZ2F0b3JNZW51Q29udGV4dCB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0aGF0IHdhcyByaWdodC1jbGlja2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZTogVEZpbGU7XG5cbiAgLyoqXG4gICAqIFdoYXQgdGhlIHRyZWUgaGFkIHNlbGVjdGVkIHdoZW4gdGhlIG1lbnUgd2FzIHJhaXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNlbGVjdGlvbjogTm90ZWJvb2tOYXZpZ2F0b3JGaWxlTWVudVNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBUaGUgc2VsZWN0aW9uIGEgZmlsZSBtZW51IHdhcyByYWlzZWQgb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90ZWJvb2tOYXZpZ2F0b3JGaWxlTWVudVNlbGVjdGlvbiB7XG4gIC8qKlxuICAgKiBFdmVyeSBzZWxlY3RlZCBmaWxlLCB3aGljaCBmb3IgYHNpbmdsZWAgaXMganVzdCB0aGUgcmlnaHQtY2xpY2tlZCBvbmUuXG4gICAqL1xuICByZWFkb25seSBmaWxlczogcmVhZG9ubHkgVEZpbGVbXTtcblxuICAvKipcbiAgICogV2hldGhlciBvbmUgZmlsZSBvciBzZXZlcmFsIGFyZSBzZWxlY3RlZC5cbiAgICovXG4gIHJlYWRvbmx5IG1vZGU6IE5vdGVib29rTmF2aWdhdG9yRmlsZU1lbnVTZWxlY3Rpb25Nb2RlO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgYSBmaWxlIG1lbnUgY292ZXJzIG9uZSBmaWxlIG9yIGEgbXVsdGktc2VsZWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBOb3RlYm9va05hdmlnYXRvckZpbGVNZW51U2VsZWN0aW9uTW9kZSA9ICdtdWx0aXBsZScgfCAnc2luZ2xlJztcblxuLyoqXG4gKiBXaGF0IGBtZW51cy5yZWdpc3RlckZvbGRlck1lbnVgIGhhbmRzIGEgc3Vic2NyaWJlciB3aGVuIGEgRk9MREVSIGlzIHJpZ2h0LWNsaWNrZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90ZWJvb2tOYXZpZ2F0b3JGb2xkZXJNZW51Q29udGV4dCBleHRlbmRzIE5vdGVib29rTmF2aWdhdG9yTWVudUNvbnRleHQge1xuICAvKipcbiAgICogVGhlIGZvbGRlciB0aGF0IHdhcyByaWdodC1jbGlja2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgZm9sZGVyOiBURm9sZGVyO1xufVxuXG4vKipcbiAqIFdoYXQgZXZlcnkgYE5vdGVib29rIE5hdmlnYXRvcmAgbWVudSBjb250ZXh0IGhhcyBpbiBjb21tb246IGEgd2F5IHRvIGFkZCBhbiBpdGVtLCBhbmQgbm90aGluZyBlbHNlLlxuICpcbiAqIFRoZSBhYnNlbmNlIG9mIGEgYE1lbnVgIGlzIHRoZSB3aG9sZSBzaGFwZSBvZiB0aGUgaW50ZWdyYXRpb24gcHJvYmxlbSBcdTIwMTQgY29tbWFuZCBoYW5kbGVycyB3cml0ZSBpbnRvXG4gKiBhIGBNZW51YCwgc28gc29tZXRoaW5nIGhhcyB0byBzaXQgYmV0d2VlbiB0aGVtIGFuZCB0aGlzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGVib29rTmF2aWdhdG9yTWVudUNvbnRleHQge1xuICAvKipcbiAgICogQWRkcyBhbiBpdGVtIHRvIHRoZSBtZW51IGBOb3RlYm9vayBOYXZpZ2F0b3JgIGlzIGJ1aWxkaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBSZWNlaXZlcyB0aGUgY3JlYXRlZCBpdGVtLCB0byBiZSBjb25maWd1cmVkIGluIHBsYWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRkSXRlbTogKGNhbGxiYWNrOiAoaXRlbTogTWVudUl0ZW0pID0+IHZvaWQpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogVW5yZWdpc3RlcnMgYSBtZW51IGV4dGVuc2lvbi4gYE5vdGVib29rIE5hdmlnYXRvcmAgcmV0dXJucyBhIGJhcmUgZnVuY3Rpb24gcmF0aGVyIHRoYW4gYSBkaXNwb3NhYmxlLFxuICogc28gaXQgaXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBicmlkZ2luZyBjb21wb25lbnQncyBgcmVnaXN0ZXJgLlxuICovXG5leHBvcnQgdHlwZSBOb3RlYm9va05hdmlnYXRvck1lbnVEaXNwb3NlID0gKCkgPT4gdm9pZDtcblxuLyoqXG4gKiBUaGUgYG1lbnVzYCBuYW1lc3BhY2Ugb2YgYE5vdGVib29rIE5hdmlnYXRvcmAncyBBUEkuXG4gKlxuICogT25seSB0aGUgZmlsZSBhbmQgZm9sZGVyIHJlZ2lzdHJhcnMgYXJlIGRlY2xhcmVkOiB0aGUgdGFnIGFuZCBwcm9wZXJ0eSByZWdpc3RyYXJzIGV4dGVuZCBtZW51c1xuICogcmFpc2VkIG9uIHRoaW5ncyBhIGZpbGUvZm9sZGVyIGNvbW1hbmQgaGFuZGxlciBoYXMgbm8gY291bnRlcnBhcnQgZm9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vdGVib29rTmF2aWdhdG9yTWVudXMge1xuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgY29udHJpYnV0b3IgdG8gdGhlIGZpbGUgY29udGV4dCBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBJbnZva2VkIHdoaWxlIHRoZSBtZW51IGlzIGJlaW5nIGJ1aWx0LlxuICAgKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgdW5yZWdpc3RlcnMgdGhlIGNvbnRyaWJ1dG9yLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaXN0ZXJGaWxlTWVudTogKGNhbGxiYWNrOiAoY29udGV4dDogTm90ZWJvb2tOYXZpZ2F0b3JGaWxlTWVudUNvbnRleHQpID0+IHZvaWQpID0+IE5vdGVib29rTmF2aWdhdG9yTWVudURpc3Bvc2U7XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGNvbnRyaWJ1dG9yIHRvIHRoZSBmb2xkZXIgY29udGV4dCBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBJbnZva2VkIHdoaWxlIHRoZSBtZW51IGlzIGJlaW5nIGJ1aWx0LlxuICAgKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgdW5yZWdpc3RlcnMgdGhlIGNvbnRyaWJ1dG9yLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaXN0ZXJGb2xkZXJNZW51OiAoY2FsbGJhY2s6IChjb250ZXh0OiBOb3RlYm9va05hdmlnYXRvckZvbGRlck1lbnVDb250ZXh0KSA9PiB2b2lkKSA9PiBOb3RlYm9va05hdmlnYXRvck1lbnVEaXNwb3NlO1xufVxuXG4vKipcbiAqIFRoZSBgc291cmNlYCBoYW5kZWQgdG8gdGhlIG1lbnUgZXZlbnQgaGFuZGxlcnMgZm9yIGEgYE5vdGVib29rIE5hdmlnYXRvcmAgbWVudS5cbiAqXG4gKiBPYnNpZGlhbidzIG93biBGaWxlIEV4cGxvcmVyIHNlbmRzIGBmaWxlLWV4cGxvcmVyLWNvbnRleHQtbWVudWA7IG5vdGhpbmcgaW4gdGhpcyBsaWJyYXJ5IGdhdGVzIG9uXG4gKiB0aGUgdmFsdWUsIGJ1dCB0aGUgaGFuZGxlcnMgYXJlIGNvbnRyYWN0ZWQgdG8gcmVjZWl2ZSBvbmUsIGFuZCBhIGRpc3RpbmN0IHN0cmluZyBpcyB3aGF0IG1ha2VzIGFcbiAqIGhhbmRsZXIgYWJsZSB0byB0ZWxsIHRoZSB0d28gc3VyZmFjZXMgYXBhcnQuXG4gKi9cbmV4cG9ydCBjb25zdCBOT1RFQk9PS19OQVZJR0FUT1JfTUVOVV9TT1VSQ0UgPSAnbm90ZWJvb2stbmF2aWdhdG9yLWNvbnRleHQtbWVudSc7XG5cbi8qKlxuICogYE5vdGVib29rIE5hdmlnYXRvcmAncyBwbHVnaW4gaWQsIGFzIGl0cyBtYW5pZmVzdCBkZWNsYXJlcyBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IE5PVEVCT09LX05BVklHQVRPUl9QTFVHSU5fSUQgPSAnbm90ZWJvb2stbmF2aWdhdG9yJztcblxuLyoqXG4gKiBHZXRzIGBOb3RlYm9vayBOYXZpZ2F0b3JgJ3MgQVBJLCB3aGVuIGl0IGlzIGluc3RhbGxlZCwgZW5hYmxlZCBhbmQgbmV3IGVub3VnaC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHJldHVybnMgVGhlIEFQSSwgb3IgYG51bGxgIHdoZW4gYE5vdGVib29rIE5hdmlnYXRvcmAgaXMgbm90IHRoZXJlIHRvIHRhbGsgdG8uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlTm90ZWJvb2tOYXZpZ2F0b3JBcGkoYXBwOiBBcHApOiBOb3RlYm9va05hdmlnYXRvckFwaSB8IG51bGwge1xuICBjb25zdCBwbHVnaW4gPSBhcHAucGx1Z2lucy5nZXRQbHVnaW4oTk9URUJPT0tfTkFWSUdBVE9SX1BMVUdJTl9JRCk7XG4gIGlmICghcGx1Z2luIHx8ICEoJ2FwaScgaW4gcGx1Z2luKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgYXBpOiB1bmtub3duID0gcGx1Z2luLmFwaTtcbiAgcmV0dXJuIGlzTm90ZWJvb2tOYXZpZ2F0b3JBcGkoYXBpKSA/IGFwaSA6IG51bGw7XG59XG5cbi8qKlxuICogQ2hlY2tzIHRoYXQgYSB2YWx1ZSBpcyBgTm90ZWJvb2sgTmF2aWdhdG9yYCdzIEFQSSwgYnkgdGhlIG1lbWJlcnMgdGhpcyBsaWJyYXJ5IGFjdHVhbGx5IGNhbGxzLlxuICpcbiAqIEEgcHJlZGljYXRlIHJhdGhlciB0aGFuIGEgY2FzdCBvbiBwdXJwb3NlOiBgYXBpYCBpcyBub3QgcGFydCBvZiBPYnNpZGlhbidzIGBQbHVnaW5gIHR5cGUsIHNvIHRoZVxuICogdmFsdWUgYXJyaXZlcyBhcyBgdW5rbm93bmAgYW5kIHRoZSBvbmx5IGhvbmVzdCB3YXkgdG8gdHlwZSBpdCBpcyB0byBWRVJJRlkgaXQuIEEgYE5vdGVib29rIE5hdmlnYXRvcmBcbiAqIG9sZCBlbm91Z2ggdG8gcHJlZGF0ZSB0aGUgbWVudXMgbmFtZXNwYWNlLCBvciBhIGZ1dHVyZSBvbmUgdGhhdCByZW5hbWVzIGl0LCB0aGVyZWZvcmUgcmVhZHMgYXNcbiAqIFwibm8gQVBJXCIgYW5kIHRoZSBpbnRlZ3JhdGlvbiBzdGF5cyBkb3JtYW50IGluc3RlYWQgb2YgdGhyb3dpbmcgYXQgbWVudSB0aW1lLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBjYW5kaWRhdGUgYGFwaWAgb2JqZWN0LlxuICogQHJldHVybnMgV2hldGhlciBpdCBjYXJyaWVzIGJvdGggbWVudSByZWdpc3RyYXJzLlxuICovXG5mdW5jdGlvbiBpc05vdGVib29rTmF2aWdhdG9yQXBpKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgTm90ZWJvb2tOYXZpZ2F0b3JBcGkge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0JyB8fCB2YWx1ZSA9PT0gbnVsbCB8fCAhKCdtZW51cycgaW4gdmFsdWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgbWVudXM6IHVua25vd24gPSB2YWx1ZS5tZW51cztcbiAgcmV0dXJuIHR5cGVvZiBtZW51cyA9PT0gJ29iamVjdCcgJiYgbWVudXMgIT09IG51bGxcbiAgICAmJiAncmVnaXN0ZXJGaWxlTWVudScgaW4gbWVudXMgJiYgdHlwZW9mIG1lbnVzLnJlZ2lzdGVyRmlsZU1lbnUgPT09ICdmdW5jdGlvbidcbiAgICAmJiAncmVnaXN0ZXJGb2xkZXJNZW51JyBpbiBtZW51cyAmJiB0eXBlb2YgbWVudXMucmVnaXN0ZXJGb2xkZXJNZW51ID09PSAnZnVuY3Rpb24nO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUF5SU8sTUFBTSxpQ0FBaUM7QUFLdkMsTUFBTSwrQkFBK0I7QUFRckMsU0FBUyw0QkFBNEIsS0FBdUM7QUFDakYsUUFBTSxTQUFTLElBQUksUUFBUSxVQUFVLDRCQUE0QjtBQUNqRSxNQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsU0FBUztBQUNqQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sTUFBZSxPQUFPO0FBQzVCLFNBQU8sdUJBQXVCLEdBQUcsSUFBSSxNQUFNO0FBQzdDO0FBYUEsU0FBUyx1QkFBdUIsT0FBK0M7QUFDN0UsTUFBSSxPQUFPLFVBQVUsWUFBWSxVQUFVLFFBQVEsRUFBRSxXQUFXLFFBQVE7QUFDdEUsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLFFBQWlCLE1BQU07QUFDN0IsU0FBTyxPQUFPLFVBQVUsWUFBWSxVQUFVLFFBQ3pDLHNCQUFzQixTQUFTLE9BQU8sTUFBTSxxQkFBcUIsY0FDakUsd0JBQXdCLFNBQVMsT0FBTyxNQUFNLHVCQUF1QjtBQUM1RTsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -56,4 +56,4 @@ export {
|
|
|
56
56
|
getObsidianLibState,
|
|
57
57
|
resetObsidianLibState
|
|
58
58
|
};
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vYnNpZGlhbi1saWItc3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFByb3ZpZGVzIGFjY2VzcyB0byB0aGUgcHJvY2Vzcy13aWRlIHNoYXJlZC1zdGF0ZSBiYWcgb24gdGhlIGBfX29ic2lkaWFuTGliYCBnbG9iYWwuIE5ldyBnZW5lcmljIHN0YXRlIGJlbG9uZ3MgaW5cbiAqIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZXNjcmlwdC1saWItc3RhdGVgICh0aGUgYFN5bWJvbC5mb3IoJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9zdGF0ZScpYCBzbG90KS5cbiAqXG4gKiBUaGUgYmFnIGlzIHN0b3JlZCBvbiBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuTGliYCwgaS5lLiBvbiB0aGUgZ2xvYmFsIG9iamVjdCBvZiB0aGUgcmVhbG0gaW5cbiAqIHdoaWNoIHRoaXMgbGlicmFyeSBpcyBsb2FkZWQuIEJlY2F1c2UgYSBmdW5jdGlvbidzIGBnbG9iYWxUaGlzYCByZXNvbHZlcyB0byBpdHMgZGVmaW5pbmdcbiAqIHJlYWxtIChub3QgdGhlIGNhbGxlcidzKSwgZXZlcnkgY29uc3VtZXIgdGhhdCBidW5kbGVzIHRoZSBsaWJyYXJ5IGluIHRoZSBtYWluIE9ic2lkaWFuIHJlbmRlcmVyXG4gKiBzaGFyZXMgdGhlIHNhbWUgYmFnLCByZWdhcmRsZXNzIG9mIHdoaWNoIHdpbmRvdyBpcyBjdXJyZW50bHkgYWN0aXZlLCBzbyBjYWxsZXJzIG5ldmVyIG5lZWQgdG8gcGFzcyBhbiBgQXBwYFxuICogaW5zdGFuY2UuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljT2JqZWN0IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcblxuaW1wb3J0IHsgVmFsdWVXcmFwcGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3ZhbHVlLXdyYXBwZXInO1xuXG5pbnRlcmZhY2UgT2JzaWRpYW5MaWJXcmFwcGVyIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHR5cGVzY3JpcHQtZGV2LXRvb2xraXQvcmVhZG9ubHktaW50ZXJmYWNlLW1lbWJlcnMgLS0gSW5pdGlhbGl6YXRpb24gYW5kIHRlc3QgaXNvbGF0aW9uIHJlcGxhY2UgdGhlIHJlYWxtIHNoYXJlZC1zdGF0ZSBiYWcuXG4gIF9fb2JzaWRpYW5MaWI6IEdlbmVyaWNPYmplY3Q7XG59XG5cbmNvbnN0IE9CU0lESUFOX0xJQl9HTE9CQUxfTkFNRSA9ICdfX29ic2lkaWFuTGliJztcblxuLyoqXG4gKiBSZXRyaWV2ZXMgb3IgY3JlYXRlcyBhIHNoYXJlZC1zdGF0ZSB7QGxpbmsgVmFsdWVXcmFwcGVyfSBmb3IgYSBnaXZlbiBrZXkgb24gYGdsb2JhbFRoaXMuX19vYnNpZGlhbkxpYmAuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHNoYXJlZCBzdGF0ZSB2YWx1ZS5cbiAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IHRvIHN0b3JlIG9yIHJldHJpZXZlIHRoZSBzaGFyZWQgc3RhdGUgdW5kZXIuXG4gKiBAcGFyYW0gZGVmYXVsdFZhbHVlIC0gVGhlIGRlZmF1bHQgdmFsdWUgdG8gdXNlIGlmIHRoZSBzaGFyZWQgc3RhdGUgZG9lcyBub3QgZXhpc3QgeWV0LlxuICogQHJldHVybnMgVGhlIHtAbGluayBWYWx1ZVdyYXBwZXJ9IHRoYXQgc3RvcmVzIHRoZSBzaGFyZWQgc3RhdGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPYnNpZGlhbkxpYlN0YXRlPFQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFQpOiBWYWx1ZVdyYXBwZXI8VD4ge1xuICByZXR1cm4gKGdldE9ic2lkaWFuTGliQmFnKClba2V5XSA/Pz0gVmFsdWVXcmFwcGVyLm9mKGRlZmF1bHRWYWx1ZSkpIGFzIFZhbHVlV3JhcHBlcjxUPjtcbn1cblxuLyoqXG4gKiBDbGVhcnMgdGhlIHNoYXJlZC1zdGF0ZSBiYWcgb24gYGdsb2JhbFRoaXMuX19vYnNpZGlhbkxpYmAuXG4gKlxuICogSW50ZW5kZWQgZm9yIHRlc3QgaXNvbGF0aW9uOiBjYWxsIGl0IGJlZm9yZSBlYWNoIHRlc3Qgc28gYWNjdW11bGF0ZWQgc3RhdGUgKHF1ZXVlcyxcbiAqIHJlZ2lzdGVyZWQgaGFuZGxlcnMsIGV0Yy4pIGRvZXMgbm90IGxlYWsgYmV0d2VlbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc2V0T2JzaWRpYW5MaWJTdGF0ZSgpOiB2b2lkIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvbm8tZ2xvYmFsLXRoaXMgLS0gVGhlIHNoYXJlZCBzdGF0ZSBpbnRlbnRpb25hbGx5IGxpdmVzIG9uIHRoZSByZWFsbSBnbG9iYWwuXG4gIChnbG9iYWxUaGlzIGFzIFBhcnRpYWw8T2JzaWRpYW5MaWJXcmFwcGVyPikuX19vYnNpZGlhbkxpYiA9IHt9O1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGJhZywgY3JlYXRpbmcgaXQgYXMgYSBwbGFpbiBkYXRhIHByb3BlcnR5IHdoZW4gdGhpcyByZWFsbSBoYXMgbm9uZS5cbiAqXG4gKiBBIGNvcHkgb2xkZXIgdGhhbiBgNi4wLjBgIGtlcHQgaXRzIHN0YXRlIHVuZGVyIGFub3RoZXIgZ2xvYmFsIGFuZCBpbnN0YWxsZWQgYF9fb2JzaWRpYW5MaWJgIGFzIGFuIGFjY2Vzc29yIG9udG9cbiAqIGl0LiBBZG9wdGluZyB0aGF0IGFjY2Vzc29yIHdvdWxkIG1ha2Ugd2hldGhlciB0aGlzIGNvcHkgc2hhcmVzIHN0YXRlIHdpdGggb2xkZXIgb25lcyBkZXBlbmQgb24gd2hpY2ggcGx1Z2luIGxvYWRlZFxuICogZmlyc3QsIHNvIGl0IGlzIHJlcGxhY2VkIGJ5IHRoaXMgY29weSdzIG93biBiYWcuIFRoZSBvbGRlciBjb3BpZXMga2VlcCByZWFkaW5nIHRoZWlyIG93biBnbG9iYWwsIHVudG91Y2hlZC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgc2hhcmVkLXN0YXRlIGJhZy5cbiAqL1xuZnVuY3Rpb24gZ2V0T2JzaWRpYW5MaWJCYWcoKTogR2VuZXJpY09iamVjdCB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbm1kL25vLWdsb2JhbC10aGlzIC0tIFRoZSBzaGFyZWQgc3RhdGUgaW50ZW50aW9uYWxseSBsaXZlcyBvbiB0aGUgcmVhbG0gZ2xvYmFsLlxuICBjb25zdCB3cmFwcGVyID0gZ2xvYmFsVGhpcyBhcyBQYXJ0aWFsPE9ic2lkaWFuTGliV3JhcHBlcj47XG4gIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdyYXBwZXIsIE9CU0lESUFOX0xJQl9HTE9CQUxfTkFNRSk7XG4gIGlmIChkZXNjcmlwdG9yICYmICEoJ3ZhbHVlJyBpbiBkZXNjcmlwdG9yKSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3cmFwcGVyLCBPQlNJRElBTl9MSUJfR0xPQkFMX05BTUUsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICB2YWx1ZToge30sXG4gICAgICB3cml0YWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9XG5cbiAgd3JhcHBlci5fX29ic2lkaWFuTGliID8/PSB7fTtcbiAgcmV0dXJuIHdyYXBwZXIuX19vYnNpZGlhbkxpYjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlQSxTQUFTLG9CQUFvQjtBQU83QixNQUFNLDJCQUEyQjtBQVUxQixTQUFTLG9CQUF1QixLQUFhLGNBQWtDO0FBQ3BGLFNBQVEsa0JBQWtCLEVBQUUsR0FBRyxNQUFNLGFBQWEsR0FBRyxZQUFZO0FBQ25FO0FBUU8sU0FBUyx3QkFBOEI7QUFFNUMsRUFBQyxXQUEyQyxnQkFBZ0IsQ0FBQztBQUMvRDtBQVdBLFNBQVMsb0JBQW1DO0FBRTFDLFFBQU0sVUFBVTtBQUNoQixRQUFNLGFBQWEsT0FBTyx5QkFBeUIsU0FBUyx3QkFBd0I7QUFDcEYsTUFBSSxjQUFjLEVBQUUsV0FBVyxhQUFhO0FBQzFDLFdBQU8sZUFBZSxTQUFTLDBCQUEwQjtBQUFBLE1BQ3ZELGNBQWM7QUFBQSxNQUNkLFlBQVk7QUFBQSxNQUNaLE9BQU8sQ0FBQztBQUFBLE1BQ1IsVUFBVTtBQUFBLElBQ1osQ0FBQztBQUFBLEVBQ0g7QUFFQSxVQUFRLGtCQUFrQixDQUFDO0FBQzNCLFNBQU8sUUFBUTtBQUNqQjsiLCJuYW1lcyI6W119
|
|
@@ -15,7 +15,7 @@ export interface ObsidianProtocolHandlerRegistrar {
|
|
|
15
15
|
*
|
|
16
16
|
* @param params - The parameters for the Obsidian protocol handler registration.
|
|
17
17
|
*/
|
|
18
|
-
registerObsidianProtocolHandler: (params: ObsidianProtocolHandlerRegistrarRegisterObsidianProtocolHandlerParams) => void;
|
|
18
|
+
readonly registerObsidianProtocolHandler: (params: ObsidianProtocolHandlerRegistrarRegisterObsidianProtocolHandlerParams) => void;
|
|
19
19
|
}
|
|
20
20
|
interface ObsidianProtocolHandlerRegistrarRegisterObsidianProtocolHandlerParams {
|
|
21
21
|
/**
|
|
@@ -56,4 +56,4 @@ class PluginObsidianProtocolHandlerRegistrar {
|
|
|
56
56
|
export {
|
|
57
57
|
PluginObsidianProtocolHandlerRegistrar
|
|
58
58
|
};
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vYnNpZGlhbi1wcm90b2NvbC1oYW5kbGVyLXJlZ2lzdHJhci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlciByZWdpc3RyYXJzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgT2JzaWRpYW5Qcm90b2NvbERhdGEsXG4gIFBsdWdpblxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBub3JtYWxpemVQcm9taXNhYmxlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jJztcblxuLyoqXG4gKiBBIHJlZ2lzdHJhciBmb3IgT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXIge1xuICAvKipcbiAgICogUmVnaXN0ZXJzIGFuIE9ic2lkaWFuIHByb3RvY29sIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIE9ic2lkaWFuIHByb3RvY29sIGhhbmRsZXIgcmVnaXN0cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlcjogKHBhcmFtczogT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXJSZWdpc3Rlck9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUGFyYW1zKSA9PiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXJSZWdpc3Rlck9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gdG8gcmVnaXN0ZXIgdGhlIGhhbmRsZXIgZm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBoYW5kbGVyIHRvIHJlZ2lzdGVyLlxuICAgKlxuICAgKiBAcGFyYW0gb2JzaWRpYW5Qcm90b2NvbERhdGEgLSBUaGUgZGF0YSBwYXNzZWQgdG8gdGhlIGhhbmRsZXIuXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIGhhbmRsZXIuXG4gICAqL1xuICByZWFkb25seSBoYW5kbGVyOiAob2JzaWRpYW5Qcm90b2NvbERhdGE6IE9ic2lkaWFuUHJvdG9jb2xEYXRhKSA9PiBQcm9taXNhYmxlPHZvaWQ+O1xufVxuXG50eXBlIFBsdWdpbk9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyUmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlclBhcmFtcyA9IE9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyUmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlclBhcmFtcztcblxuLyoqXG4gKiBPYnNpZGlhbiBwcm90b2NvbCBoYW5kbGVyIHJlZ2lzdHJhciBpbiBhbiBPYnNpZGlhbiBwbHVnaW4uXG4gKi9cbmV4cG9ydCBjbGFzcyBQbHVnaW5PYnNpZGlhblByb3RvY29sSGFuZGxlclJlZ2lzdHJhciBpbXBsZW1lbnRzIE9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBwbHVnaW4gaW5zdGFuY2UgdGhlIHByb3RvY29sIGhhbmRsZXJzIGFyZSByZWdpc3RlcmVkIHdpdGguXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGx1Z2luOiBQbHVnaW47XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIHtAbGluayBQbHVnaW5PYnNpZGlhblByb3RvY29sSGFuZGxlclJlZ2lzdHJhcn0gY2xhc3MuXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRvIHJlZ2lzdGVyIHRoZSBwcm90b2NvbCBoYW5kbGVyIHdpdGguXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGx1Z2luOiBQbHVnaW4pIHtcbiAgICB0aGlzLnBsdWdpbiA9IHBsdWdpbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYW4gT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlci5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlciByZWdpc3RyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlcihwYXJhbXM6IFBsdWdpbk9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyUmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlclBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2luLnJlZ2lzdGVyT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXIocGFyYW1zLmFjdGlvbiwgKG9ic2lkaWFuUHJvdG9jb2xEYXRhKSA9PiBub3JtYWxpemVQcm9taXNhYmxlKHBhcmFtcy5oYW5kbGVyKG9ic2lkaWFuUHJvdG9jb2xEYXRhKSkpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBWUEsU0FBUywyQkFBMkI7QUFrQzdCLE1BQU0sdUNBQW1GO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJM0U7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPWixZQUFZLFFBQWdCO0FBQ2pDLFNBQUssU0FBUztBQUFBLEVBQ2hCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sZ0NBQWdDLFFBQTJGO0FBQ2hJLFNBQUssT0FBTyxnQ0FBZ0MsT0FBTyxRQUFRLENBQUMseUJBQXlCLG9CQUFvQixPQUFPLFFBQVEsb0JBQW9CLENBQUMsQ0FBQztBQUFBLEVBQ2hKO0FBQ0Y7IiwibmFtZXMiOltdfQ==
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/// <reference path="./library-references.d.mts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* How Obsidian decides where a name may match as an unlinked mention, restated so the index can find the same
|
|
6
|
+
* matches without running a regular expression per name over every note.
|
|
7
|
+
*
|
|
8
|
+
* Obsidian 1.14.4 builds one `RegExp(source, 'gi')` per name of the target note. A name whose first character is
|
|
9
|
+
* a WORD character must be preceded by a non-word character or the start of the file, and one whose last
|
|
10
|
+
* character is a word character must not be followed by one. The word characters are a fixed table of Unicode
|
|
11
|
+
* letters and digits, copied below. This is not a Unicode letter classification: for example, a name such as
|
|
12
|
+
* 東京 has no word character at all and matches inside any run of text. There is no `u` flag, so case is folded
|
|
13
|
+
* the way a non-Unicode `i` regex folds it, one UTF-16
|
|
14
|
+
* code unit at a time, and diacritics are not folded at all.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Canonicalizes text for Obsidian Search and unlinked mentions' non-Unicode ignore-case regex matching.
|
|
18
|
+
*
|
|
19
|
+
* Preserves UTF-16 length, lone surrogates and accents. This is not Unicode or locale case folding:
|
|
20
|
+
* Greek final sigma folds to sigma's uppercase, but Kelvin sign, long s and dotless i do not fold to ASCII.
|
|
21
|
+
* Verified against core Search's `gmi` expressions in Obsidian 1.14.5 and 1.15.0.
|
|
22
|
+
*
|
|
23
|
+
* @param text - The literal text, not a regular expression source.
|
|
24
|
+
* @returns Its ECMAScript non-Unicode ignore-case canonical form.
|
|
25
|
+
*/
|
|
26
|
+
export declare function canonicalizeObsidianText(text: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Builds the regular expression Obsidian matches a name with, one per name, exactly as its own `recomputeUnlinked`
|
|
29
|
+
* builds it. Group 1 is the name itself.
|
|
30
|
+
*
|
|
31
|
+
* @param name - A basename or an alias.
|
|
32
|
+
* @returns The expression, global and case-insensitive.
|
|
33
|
+
*/
|
|
34
|
+
export declare function createObsidianMentionRegExp(name: string): RegExp;
|
|
35
|
+
/**
|
|
36
|
+
* Splits a name into the canonical word tokens the index keys it by.
|
|
37
|
+
*
|
|
38
|
+
* @param name - A basename or an alias.
|
|
39
|
+
* @returns The tokens, or `null` when the name cannot be indexed: it has no word character, or it holds a
|
|
40
|
+
* character whose case folding crosses between word and non-word characters.
|
|
41
|
+
*/
|
|
42
|
+
export declare function getObsidianNameTokens(name: string): null | string[];
|
|
43
|
+
/**
|
|
44
|
+
* Whether a UTF-16 code unit is one of Obsidian's word characters.
|
|
45
|
+
*
|
|
46
|
+
* @param charCode - The code unit; `NaN`, as `charCodeAt` returns past the end, is not one.
|
|
47
|
+
* @returns Whether it is.
|
|
48
|
+
*/
|
|
49
|
+
export declare function isObsidianWordCharacter(charCode: number): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Splits text into its maximal runs of word characters, each folded to its canonical case.
|
|
52
|
+
*
|
|
53
|
+
* Every match Obsidian finds for an indexable name covers whole runs of this split, in order and with nothing
|
|
54
|
+
* between them, which is what lets the index find candidates without the regular expression.
|
|
55
|
+
*
|
|
56
|
+
* @param text - The text.
|
|
57
|
+
* @returns The canonical tokens, in order.
|
|
58
|
+
*/
|
|
59
|
+
export declare function tokenizeObsidianWords(text: string): string[];
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
(function () {
|
|
6
|
+
function ensureBrowserProcess() {
|
|
7
|
+
const browserProcess = {
|
|
8
|
+
browser: true,
|
|
9
|
+
cwd() {
|
|
10
|
+
return "/";
|
|
11
|
+
},
|
|
12
|
+
env: {},
|
|
13
|
+
platform: "android"
|
|
14
|
+
};
|
|
15
|
+
const existingProcess = globalThis.process;
|
|
16
|
+
if (!existingProcess) {
|
|
17
|
+
globalThis.process = browserProcess;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (existingProcess.versions?.node) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const existingProcessRecord = existingProcess;
|
|
24
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
25
|
+
existingProcessRecord[key] ??= value;
|
|
26
|
+
}
|
|
27
|
+
existingProcessRecord["browser"] = true;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
ensureBrowserProcess();
|
|
31
|
+
})();
|
|
32
|
+
|
|
33
|
+
import { escapeRegExp } from "@mnaoumov/typescript-lib/reg-exp";
|
|
34
|
+
const WORD_LETTERS_SOURCE = /A-Za-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source;
|
|
35
|
+
const WORD_DIGITS_SOURCE = /0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source;
|
|
36
|
+
const WORD_CHARACTERS_SOURCE = WORD_LETTERS_SOURCE + WORD_DIGITS_SOURCE;
|
|
37
|
+
const CODE_UNIT_COUNT = 65536;
|
|
38
|
+
const ASCII_LIMIT = 128;
|
|
39
|
+
const characterTablesHolder = { value: null };
|
|
40
|
+
function canonicalizeObsidianText(text) {
|
|
41
|
+
return canonicalizeRun(text, 0, text.length, getCharacterTables());
|
|
42
|
+
}
|
|
43
|
+
function createObsidianMentionRegExp(name) {
|
|
44
|
+
const isFirstWord = isObsidianWordCharacter(name.charCodeAt(0));
|
|
45
|
+
const isLastWord = isObsidianWordCharacter(name.charCodeAt(name.length - 1));
|
|
46
|
+
const prefix = isFirstWord ? `(?:^|[^${WORD_CHARACTERS_SOURCE}])` : "";
|
|
47
|
+
const suffix = isLastWord ? `(?![${WORD_CHARACTERS_SOURCE}])` : "()";
|
|
48
|
+
return new RegExp(`${prefix}(${escapeRegExp(name)})${suffix}`, "gi");
|
|
49
|
+
}
|
|
50
|
+
function getObsidianNameTokens(name) {
|
|
51
|
+
const tables = getCharacterTables();
|
|
52
|
+
for (let index = 0; index < name.length; index++) {
|
|
53
|
+
if (tables.ambiguityFlags[name.charCodeAt(index)] === 1) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const tokens = tokenizeObsidianWords(name);
|
|
58
|
+
return tokens.length === 0 ? null : tokens;
|
|
59
|
+
}
|
|
60
|
+
function isObsidianWordCharacter(charCode) {
|
|
61
|
+
return getCharacterTables().wordFlags[charCode] === 1;
|
|
62
|
+
}
|
|
63
|
+
function tokenizeObsidianWords(text) {
|
|
64
|
+
const tables = getCharacterTables();
|
|
65
|
+
const tokens = [];
|
|
66
|
+
let tokenStart = -1;
|
|
67
|
+
let hasIrregularCase = false;
|
|
68
|
+
for (let index = 0; index <= text.length; index++) {
|
|
69
|
+
const charCode = text.charCodeAt(index);
|
|
70
|
+
if (tables.wordFlags[charCode] === 1) {
|
|
71
|
+
if (tokenStart === -1) {
|
|
72
|
+
tokenStart = index;
|
|
73
|
+
hasIrregularCase = false;
|
|
74
|
+
}
|
|
75
|
+
if (tables.irregularCaseFlags[charCode] === 1) {
|
|
76
|
+
hasIrregularCase = true;
|
|
77
|
+
}
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
if (tokenStart === -1) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
tokens.push(hasIrregularCase ? canonicalizeRun(text, tokenStart, index, tables) : text.slice(tokenStart, index).toUpperCase());
|
|
84
|
+
tokenStart = -1;
|
|
85
|
+
}
|
|
86
|
+
return tokens;
|
|
87
|
+
}
|
|
88
|
+
function buildCharacterTables() {
|
|
89
|
+
const wordRegExp = new RegExp(`[${WORD_CHARACTERS_SOURCE}]`);
|
|
90
|
+
const canonicalCharacters = [];
|
|
91
|
+
const irregularCaseFlags = new Uint8Array(CODE_UNIT_COUNT);
|
|
92
|
+
const wordFlags = new Uint8Array(CODE_UNIT_COUNT);
|
|
93
|
+
const foldedFromWordFlags = new Uint8Array(CODE_UNIT_COUNT);
|
|
94
|
+
const foldedFromNonWordFlags = new Uint8Array(CODE_UNIT_COUNT);
|
|
95
|
+
for (let charCode = 0; charCode < CODE_UNIT_COUNT; charCode++) {
|
|
96
|
+
const character = String.fromCharCode(charCode);
|
|
97
|
+
const canonicalCharCode = canonicalize(charCode, character);
|
|
98
|
+
const canonicalCharacter = String.fromCharCode(canonicalCharCode);
|
|
99
|
+
canonicalCharacters.push(canonicalCharacter);
|
|
100
|
+
irregularCaseFlags[charCode] = character.toUpperCase() === canonicalCharacter ? 0 : 1;
|
|
101
|
+
const isObsidianWordCharacterValue = wordRegExp.test(character);
|
|
102
|
+
wordFlags[charCode] = isObsidianWordCharacterValue ? 1 : 0;
|
|
103
|
+
(isObsidianWordCharacterValue ? foldedFromWordFlags : foldedFromNonWordFlags)[canonicalCharCode] = 1;
|
|
104
|
+
}
|
|
105
|
+
const canonical = canonicalCharacters.join("");
|
|
106
|
+
const ambiguityFlags = new Uint8Array(CODE_UNIT_COUNT);
|
|
107
|
+
for (let charCode = 0; charCode < CODE_UNIT_COUNT; charCode++) {
|
|
108
|
+
const canonicalCharCode = canonical.charCodeAt(charCode);
|
|
109
|
+
ambiguityFlags[charCode] = foldedFromWordFlags[canonicalCharCode] === 1 && foldedFromNonWordFlags[canonicalCharCode] === 1 ? 1 : 0;
|
|
110
|
+
}
|
|
111
|
+
return { ambiguityFlags, canonical, irregularCaseFlags, wordFlags };
|
|
112
|
+
}
|
|
113
|
+
function canonicalize(charCode, character) {
|
|
114
|
+
const upperCase = character.toUpperCase();
|
|
115
|
+
if (upperCase.length !== 1) {
|
|
116
|
+
return charCode;
|
|
117
|
+
}
|
|
118
|
+
const upperCharCode = upperCase.charCodeAt(0);
|
|
119
|
+
return charCode >= ASCII_LIMIT && upperCharCode < ASCII_LIMIT ? charCode : upperCharCode;
|
|
120
|
+
}
|
|
121
|
+
function canonicalizeRun(text, start, end, tables) {
|
|
122
|
+
const characters = [];
|
|
123
|
+
for (let index = start; index < end; index++) {
|
|
124
|
+
characters.push(tables.canonical.charAt(text.charCodeAt(index)));
|
|
125
|
+
}
|
|
126
|
+
return characters.join("");
|
|
127
|
+
}
|
|
128
|
+
function getCharacterTables() {
|
|
129
|
+
characterTablesHolder.value ??= buildCharacterTables();
|
|
130
|
+
return characterTablesHolder.value;
|
|
131
|
+
}
|
|
132
|
+
export {
|
|
133
|
+
canonicalizeObsidianText,
|
|
134
|
+
createObsidianMentionRegExp,
|
|
135
|
+
getObsidianNameTokens,
|
|
136
|
+
isObsidianWordCharacter,
|
|
137
|
+
tokenizeObsidianWords
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vYnNpZGlhbi13b3JkLWNoYXJhY3RlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEhvdyBPYnNpZGlhbiBkZWNpZGVzIHdoZXJlIGEgbmFtZSBtYXkgbWF0Y2ggYXMgYW4gdW5saW5rZWQgbWVudGlvbiwgcmVzdGF0ZWQgc28gdGhlIGluZGV4IGNhbiBmaW5kIHRoZSBzYW1lXG4gKiBtYXRjaGVzIHdpdGhvdXQgcnVubmluZyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBwZXIgbmFtZSBvdmVyIGV2ZXJ5IG5vdGUuXG4gKlxuICogT2JzaWRpYW4gMS4xNC40IGJ1aWxkcyBvbmUgYFJlZ0V4cChzb3VyY2UsICdnaScpYCBwZXIgbmFtZSBvZiB0aGUgdGFyZ2V0IG5vdGUuIEEgbmFtZSB3aG9zZSBmaXJzdCBjaGFyYWN0ZXIgaXNcbiAqIGEgV09SRCBjaGFyYWN0ZXIgbXVzdCBiZSBwcmVjZWRlZCBieSBhIG5vbi13b3JkIGNoYXJhY3RlciBvciB0aGUgc3RhcnQgb2YgdGhlIGZpbGUsIGFuZCBvbmUgd2hvc2UgbGFzdFxuICogY2hhcmFjdGVyIGlzIGEgd29yZCBjaGFyYWN0ZXIgbXVzdCBub3QgYmUgZm9sbG93ZWQgYnkgb25lLiBUaGUgd29yZCBjaGFyYWN0ZXJzIGFyZSBhIGZpeGVkIHRhYmxlIG9mIFVuaWNvZGVcbiAqIGxldHRlcnMgYW5kIGRpZ2l0cywgY29waWVkIGJlbG93LiBUaGlzIGlzIG5vdCBhIFVuaWNvZGUgbGV0dGVyIGNsYXNzaWZpY2F0aW9uOiBmb3IgZXhhbXBsZSwgYSBuYW1lIHN1Y2ggYXNcbiAqIOadseS6rCBoYXMgbm8gd29yZCBjaGFyYWN0ZXIgYXQgYWxsIGFuZCBtYXRjaGVzIGluc2lkZSBhbnkgcnVuIG9mIHRleHQuIFRoZXJlIGlzIG5vIGB1YCBmbGFnLCBzbyBjYXNlIGlzIGZvbGRlZFxuICogdGhlIHdheSBhIG5vbi1Vbmljb2RlIGBpYCByZWdleCBmb2xkcyBpdCwgb25lIFVURi0xNlxuICogY29kZSB1bml0IGF0IGEgdGltZSwgYW5kIGRpYWNyaXRpY3MgYXJlIG5vdCBmb2xkZWQgYXQgYWxsLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIHVuaWNvcm4vcHJlZmVyLWNvZGUtcG9pbnQgLS0gT2JzaWRpYW4ncyByZWdleCBoYXMgbm8gYHVgIGZsYWcsIHNvIGl0IHJlYWRzIFVURi0xNiBjb2RlIHVuaXRzLCBhbmQgc28gbXVzdCBldmVyeSB0YWJsZSBoZXJlLiAqL1xuXG5pbXBvcnQgeyBlc2NhcGVSZWdFeHAgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcmVnLWV4cCc7XG5cbi8vIENvcGllZCBmcm9tIE9ic2lkaWFuIDEuMTQuNCdzIGBhcHAuanNgOiB0aGUgbGV0dGVycywgdGhlbiB0aGUgZGlnaXRzLCBvZiBpdHMgd29yZC1jaGFyYWN0ZXIgY2xhc3MuXG4vKiBlc2xpbnQtZGlzYWJsZSB1bmljb3JuL3ByZWZlci11bmljb2RlLWNvZGUtcG9pbnQtZXNjYXBlcyAtLSBDb3BpZWQgdmVyYmF0aW0sIGFuZCByZWFkIHdpdGhvdXQgdGhlIGB1YCBmbGFnLCB3aGVyZSBgXFx1ey4uLn1gIG1lYW5zIHNvbWV0aGluZyBlbHNlLiAqL1xuY29uc3QgV09SRF9MRVRURVJTX1NPVVJDRSA9XG4gIC9BLVphLXpcXHUwMEFBXFx1MDBCNVxcdTAwQkFcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyQzFcXHUwMkM2LVxcdTAyRDFcXHUwMkUwLVxcdTAyRTRcXHUwMkVDXFx1MDJFRVxcdTAzNzAtXFx1MDM3NFxcdTAzNzZcXHUwMzc3XFx1MDM3QS1cXHUwMzdEXFx1MDM3RlxcdTAzODZcXHUwMzg4LVxcdTAzOEFcXHUwMzhDXFx1MDM4RS1cXHUwM0ExXFx1MDNBMy1cXHUwM0Y1XFx1MDNGNy1cXHUwNDgxXFx1MDQ4QS1cXHUwNTJGXFx1MDUzMS1cXHUwNTU2XFx1MDU1OVxcdTA1NjEtXFx1MDU4N1xcdTA1RDAtXFx1MDVFQVxcdTA1RjAtXFx1MDVGMlxcdTA2MjAtXFx1MDY0QVxcdTA2NkVcXHUwNjZGXFx1MDY3MS1cXHUwNkQzXFx1MDZENVxcdTA2RTVcXHUwNkU2XFx1MDZFRVxcdTA2RUZcXHUwNkZBLVxcdTA2RkNcXHUwNkZGXFx1MDcxMFxcdTA3MTItXFx1MDcyRlxcdTA3NEQtXFx1MDdBNVxcdTA3QjFcXHUwN0NBLVxcdTA3RUFcXHUwN0Y0XFx1MDdGNVxcdTA3RkFcXHUwODAwLVxcdTA4MTVcXHUwODFBXFx1MDgyNFxcdTA4MjhcXHUwODQwLVxcdTA4NThcXHUwOEEwLVxcdTA4QjRcXHUwOTA0LVxcdTA5MzlcXHUwOTNEXFx1MDk1MFxcdTA5NTgtXFx1MDk2MVxcdTA5NzEtXFx1MDk4MFxcdTA5ODUtXFx1MDk4Q1xcdTA5OEZcXHUwOTkwXFx1MDk5My1cXHUwOUE4XFx1MDlBQS1cXHUwOUIwXFx1MDlCMlxcdTA5QjYtXFx1MDlCOVxcdTA5QkRcXHUwOUNFXFx1MDlEQ1xcdTA5RERcXHUwOURGLVxcdTA5RTFcXHUwOUYwXFx1MDlGMVxcdTBBMDUtXFx1MEEwQVxcdTBBMEZcXHUwQTEwXFx1MEExMy1cXHUwQTI4XFx1MEEyQS1cXHUwQTMwXFx1MEEzMlxcdTBBMzNcXHUwQTM1XFx1MEEzNlxcdTBBMzhcXHUwQTM5XFx1MEE1OS1cXHUwQTVDXFx1MEE1RVxcdTBBNzItXFx1MEE3NFxcdTBBODUtXFx1MEE4RFxcdTBBOEYtXFx1MEE5MVxcdTBBOTMtXFx1MEFBOFxcdTBBQUEtXFx1MEFCMFxcdTBBQjJcXHUwQUIzXFx1MEFCNS1cXHUwQUI5XFx1MEFCRFxcdTBBRDBcXHUwQUUwXFx1MEFFMVxcdTBBRjlcXHUwQjA1LVxcdTBCMENcXHUwQjBGXFx1MEIxMFxcdTBCMTMtXFx1MEIyOFxcdTBCMkEtXFx1MEIzMFxcdTBCMzJcXHUwQjMzXFx1MEIzNS1cXHUwQjM5XFx1MEIzRFxcdTBCNUNcXHUwQjVEXFx1MEI1Ri1cXHUwQjYxXFx1MEI3MVxcdTBCODNcXHUwQjg1LVxcdTBCOEFcXHUwQjhFLVxcdTBCOTBcXHUwQjkyLVxcdTBCOTVcXHUwQjk5XFx1MEI5QVxcdTBCOUNcXHUwQjlFXFx1MEI5RlxcdTBCQTNcXHUwQkE0XFx1MEJBOC1cXHUwQkFBXFx1MEJBRS1cXHUwQkI5XFx1MEJEMFxcdTBDMDUtXFx1MEMwQ1xcdTBDMEUtXFx1MEMxMFxcdTBDMTItXFx1MEMyOFxcdTBDMkEtXFx1MEMzOVxcdTBDM0RcXHUwQzU4LVxcdTBDNUFcXHUwQzYwXFx1MEM2MVxcdTBDODUtXFx1MEM4Q1xcdTBDOEUtXFx1MEM5MFxcdTBDOTItXFx1MENBOFxcdTBDQUEtXFx1MENCM1xcdTBDQjUtXFx1MENCOVxcdTBDQkRcXHUwQ0RFXFx1MENFMFxcdTBDRTFcXHUwQ0YxXFx1MENGMlxcdTBEMDUtXFx1MEQwQ1xcdTBEMEUtXFx1MEQxMFxcdTBEMTItXFx1MEQzQVxcdTBEM0RcXHUwRDRFXFx1MEQ1Ri1cXHUwRDYxXFx1MEQ3QS1cXHUwRDdGXFx1MEQ4NS1cXHUwRDk2XFx1MEQ5QS1cXHUwREIxXFx1MERCMy1cXHUwREJCXFx1MERCRFxcdTBEQzAtXFx1MERDNlxcdTBFMDEtXFx1MEUzMFxcdTBFMzJcXHUwRTMzXFx1MEU0MC1cXHUwRTQ2XFx1MEU4MVxcdTBFODJcXHUwRTg0XFx1MEU4N1xcdTBFODhcXHUwRThBXFx1MEU4RFxcdTBFOTQtXFx1MEU5N1xcdTBFOTktXFx1MEU5RlxcdTBFQTEtXFx1MEVBM1xcdTBFQTVcXHUwRUE3XFx1MEVBQVxcdTBFQUJcXHUwRUFELVxcdTBFQjBcXHUwRUIyXFx1MEVCM1xcdTBFQkRcXHUwRUMwLVxcdTBFQzRcXHUwRUM2XFx1MEVEQy1cXHUwRURGXFx1MTAwMC1cXHUxMDJBXFx1MTAzRlxcdTEwNTAtXFx1MTA1NVxcdTEwNUEtXFx1MTA1RFxcdTEwNjFcXHUxMDY1XFx1MTA2NlxcdTEwNkUtXFx1MTA3MFxcdTEwNzUtXFx1MTA4MVxcdTEwOEVcXHUxMEEwLVxcdTEwQzVcXHUxMEM3XFx1MTBDRFxcdTEwRDAtXFx1MTBGQVxcdTEwRkMtXFx1MTI0OFxcdTEyNEEtXFx1MTI0RFxcdTEyNTAtXFx1MTI1NlxcdTEyNThcXHUxMjVBLVxcdTEyNURcXHUxMjYwLVxcdTEyODhcXHUxMjhBLVxcdTEyOERcXHUxMjkwLVxcdTEyQjBcXHUxMkIyLVxcdTEyQjVcXHUxMkI4LVxcdTEyQkVcXHUxMkMwXFx1MTJDMi1cXHUxMkM1XFx1MTJDOC1cXHUxMkQ2XFx1MTJEOC1cXHUxMzEwXFx1MTMxMi1cXHUxMzE1XFx1MTMxOC1cXHUxMzVBXFx1MTM4MC1cXHUxMzhGXFx1MTNBMC1cXHUxM0Y1XFx1MTNGOC1cXHUxM0ZEXFx1MTQwMS1cXHUxNjZDXFx1MTY2Ri1cXHUxNjdGXFx1MTY4MS1cXHUxNjlBXFx1MTZBMC1cXHUxNkVBXFx1MTZGMS1cXHUxNkY4XFx1MTcwMC1cXHUxNzBDXFx1MTcwRS1cXHUxNzExXFx1MTcyMC1cXHUxNzMxXFx1MTc0MC1cXHUxNzUxXFx1MTc2MC1cXHUxNzZDXFx1MTc2RS1cXHUxNzcwXFx1MTc4MC1cXHUxN0IzXFx1MTdEN1xcdTE3RENcXHUxODIwLVxcdTE4NzdcXHUxODgwLVxcdTE4QThcXHUxOEFBXFx1MThCMC1cXHUxOEY1XFx1MTkwMC1cXHUxOTFFXFx1MTk1MC1cXHUxOTZEXFx1MTk3MC1cXHUxOTc0XFx1MTk4MC1cXHUxOUFCXFx1MTlCMC1cXHUxOUM5XFx1MUEwMC1cXHUxQTE2XFx1MUEyMC1cXHUxQTU0XFx1MUFBN1xcdTFCMDUtXFx1MUIzM1xcdTFCNDUtXFx1MUI0QlxcdTFCODMtXFx1MUJBMFxcdTFCQUVcXHUxQkFGXFx1MUJCQS1cXHUxQkU1XFx1MUMwMC1cXHUxQzIzXFx1MUM0RC1cXHUxQzRGXFx1MUM1QS1cXHUxQzdEXFx1MUNFOS1cXHUxQ0VDXFx1MUNFRS1cXHUxQ0YxXFx1MUNGNVxcdTFDRjZcXHUxRDAwLVxcdTFEQkZcXHUxRTAwLVxcdTFGMTVcXHUxRjE4LVxcdTFGMURcXHUxRjIwLVxcdTFGNDVcXHUxRjQ4LVxcdTFGNERcXHUxRjUwLVxcdTFGNTdcXHUxRjU5XFx1MUY1QlxcdTFGNURcXHUxRjVGLVxcdTFGN0RcXHUxRjgwLVxcdTFGQjRcXHUxRkI2LVxcdTFGQkNcXHUxRkJFXFx1MUZDMi1cXHUxRkM0XFx1MUZDNi1cXHUxRkNDXFx1MUZEMC1cXHUxRkQzXFx1MUZENi1cXHUxRkRCXFx1MUZFMC1cXHUxRkVDXFx1MUZGMi1cXHUxRkY0XFx1MUZGNi1cXHUxRkZDXFx1MjA3MVxcdTIwN0ZcXHUyMDkwLVxcdTIwOUNcXHUyMTAyXFx1MjEwN1xcdTIxMEEtXFx1MjExM1xcdTIxMTVcXHUyMTE5LVxcdTIxMURcXHUyMTI0XFx1MjEyNlxcdTIxMjhcXHUyMTJBLVxcdTIxMkRcXHUyMTJGLVxcdTIxMzlcXHUyMTNDLVxcdTIxM0ZcXHUyMTQ1LVxcdTIxNDlcXHUyMTRFXFx1MjE4M1xcdTIxODRcXHUyQzAwLVxcdTJDMkVcXHUyQzMwLVxcdTJDNUVcXHUyQzYwLVxcdTJDRTRcXHUyQ0VCLVxcdTJDRUVcXHUyQ0YyXFx1MkNGM1xcdTJEMDAtXFx1MkQyNVxcdTJEMjdcXHUyRDJEXFx1MkQzMC1cXHUyRDY3XFx1MkQ2RlxcdTJEODAtXFx1MkQ5NlxcdTJEQTAtXFx1MkRBNlxcdTJEQTgtXFx1MkRBRVxcdTJEQjAtXFx1MkRCNlxcdTJEQjgtXFx1MkRCRVxcdTJEQzAtXFx1MkRDNlxcdTJEQzgtXFx1MkRDRVxcdTJERDAtXFx1MkRENlxcdTJERDgtXFx1MkRERVxcdTJFMkZcXHUzMDA1XFx1MzAwNlxcdTMwMzEtXFx1MzAzNVxcdTMwM0JcXHUzMDNDXFx1MzEwNS1cXHUzMTJEXFx1MzEzMS1cXHUzMThFXFx1MzFBMC1cXHUzMUJBXFx1MzFGMC1cXHUzMUZGXFx1MzQwMC1cXHU0REI1XFx1QTAwMC1cXHVBNDhDXFx1QTREMC1cXHVBNEZEXFx1QTUwMC1cXHVBNjBDXFx1QTYxMC1cXHVBNjFGXFx1QTYyQVxcdUE2MkJcXHVBNjQwLVxcdUE2NkVcXHVBNjdGLVxcdUE2OURcXHVBNkEwLVxcdUE2RTVcXHVBNzE3LVxcdUE3MUZcXHVBNzIyLVxcdUE3ODhcXHVBNzhCLVxcdUE3QURcXHVBN0IwLVxcdUE3QjdcXHVBN0Y3LVxcdUE4MDFcXHVBODAzLVxcdUE4MDVcXHVBODA3LVxcdUE4MEFcXHVBODBDLVxcdUE4MjJcXHVBODQwLVxcdUE4NzNcXHVBODgyLVxcdUE4QjNcXHVBOEYyLVxcdUE4RjdcXHVBOEZCXFx1QThGRFxcdUE5MEEtXFx1QTkyNVxcdUE5MzAtXFx1QTk0NlxcdUE5ODQtXFx1QTlCMlxcdUE5Q0ZcXHVBOUUwLVxcdUE5RTRcXHVBOUU2LVxcdUE5RUZcXHVBOUZBLVxcdUE5RkVcXHVBQTAwLVxcdUFBMjhcXHVBQTQwLVxcdUFBNDJcXHVBQTQ0LVxcdUFBNEJcXHVBQTYwLVxcdUFBNzZcXHVBQTdBXFx1QUE3RS1cXHVBQUFGXFx1QUFCMVxcdUFBQjVcXHVBQUI2XFx1QUFCOS1cXHVBQUJEXFx1QUFDMFxcdUFBQzJcXHVBQURCLVxcdUFBRERcXHVBQUUwLVxcdUFBRUFcXHVBQUYyLVxcdUFBRjRcXHVBQjAxLVxcdUFCMDZcXHVBQjA5LVxcdUFCMEVcXHVBQjExLVxcdUFCMTZcXHVBQjIwLVxcdUFCMjZcXHVBQjI4LVxcdUFCMkVcXHVBQjMwLVxcdUFCNUFcXHVBQjVDLVxcdUFCNjVcXHVBQjcwLVxcdUFCRTJcXHVEN0NCLVxcdUQ3RkJcXHVGOTAwLVxcdUZBNkRcXHVGQTcwLVxcdUZBRDlcXHVGQjAwLVxcdUZCMDZcXHVGQjEzLVxcdUZCMTdcXHVGQjFEXFx1RkIxRi1cXHVGQjI4XFx1RkIyQS1cXHVGQjM2XFx1RkIzOC1cXHVGQjNDXFx1RkIzRVxcdUZCNDBcXHVGQjQxXFx1RkI0M1xcdUZCNDRcXHVGQjQ2LVxcdUZCQjFcXHVGQkQzLVxcdUZEM0RcXHVGRDUwLVxcdUZEOEZcXHVGRDkyLVxcdUZEQzdcXHVGREYwLVxcdUZERkJcXHVGRTcwLVxcdUZFNzRcXHVGRTc2LVxcdUZFRkNcXHVGRjIxLVxcdUZGM0FcXHVGRjQxLVxcdUZGNUFcXHVGRjY2LVxcdUZGQkVcXHVGRkMyLVxcdUZGQzdcXHVGRkNBLVxcdUZGQ0ZcXHVGRkQyLVxcdUZGRDdcXHVGRkRBLVxcdUZGREMvXG4gICAgLnNvdXJjZTtcbmNvbnN0IFdPUkRfRElHSVRTX1NPVVJDRSA9IC8wLTlcXHUwNjYwLVxcdTA2NjlcXHUwNkYwLVxcdTA2RjlcXHUwN0MwLVxcdTA3QzlcXHUwOTY2LVxcdTA5NkZcXHUwOUU2LVxcdTA5RUZcXHUwQTY2LVxcdTBBNkZcXHUwQUU2LVxcdTBBRUZcXHUwQjY2LVxcdTBCNkZcXHUwQkU2LVxcdTBCRUZcXHUwQzY2LVxcdTBDNkZcXHUwQ0U2LVxcdTBDRUZcXHUwRDY2LVxcdTBENkZcXHUwREU2LVxcdTBERUZcXHUwRTUwLVxcdTBFNTlcXHUwRUQwLVxcdTBFRDlcXHUwRjIwLVxcdTBGMjlcXHUxMDQwLVxcdTEwNDlcXHUxMDkwLVxcdTEwOTlcXHUxN0UwLVxcdTE3RTlcXHUxODEwLVxcdTE4MTlcXHUxOTQ2LVxcdTE5NEZcXHUxOUQwLVxcdTE5RDlcXHUxQTgwLVxcdTFBODlcXHUxQTkwLVxcdTFBOTlcXHUxQjUwLVxcdTFCNTlcXHUxQkIwLVxcdTFCQjlcXHUxQzQwLVxcdTFDNDlcXHUxQzUwLVxcdTFDNTlcXHVBNjIwLVxcdUE2MjlcXHVBOEQwLVxcdUE4RDlcXHVBOTAwLVxcdUE5MDlcXHVBOUQwLVxcdUE5RDlcXHVBOUYwLVxcdUE5RjlcXHVBQTUwLVxcdUFBNTlcXHVBQkYwLVxcdUFCRjlcXHVGRjEwLVxcdUZGMTkvLnNvdXJjZTtcbi8qIGVzbGludC1lbmFibGUgdW5pY29ybi9wcmVmZXItdW5pY29kZS1jb2RlLXBvaW50LWVzY2FwZXMgLS0gRW5kIG9mIHRoZSBjb3BpZWQgY2xhc3MuICovXG5jb25zdCBXT1JEX0NIQVJBQ1RFUlNfU09VUkNFID0gV09SRF9MRVRURVJTX1NPVVJDRSArIFdPUkRfRElHSVRTX1NPVVJDRTtcblxuY29uc3QgQ09ERV9VTklUX0NPVU5UID0gMHgxXzAwXzAwO1xuY29uc3QgQVNDSUlfTElNSVQgPSAweDgwO1xuXG5pbnRlcmZhY2UgQ2hhcmFjdGVyVGFibGVzIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBjb2RlIHVuaXQgc2hhcmVzIGl0cyBjYW5vbmljYWwgZm9ybSB3aXRoIGFub3RoZXIgY29kZSB1bml0IG9mIHRoZSBPVEhFUiB3b3JkLW5lc3MuIEEgbmFtZSBob2xkaW5nXG4gICAqIG9uZSBjYW5ub3QgYmUgc3BsaXQgaW50byB0b2tlbnMgdGhlIHdheSB0aGUgdGV4dCBpdCBtYXRjaGVzIGlzIHNwbGl0LCBzbyBpdCBpcyBuZXZlciBpbmRleGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYW1iaWd1aXR5RmxhZ3M6IFVpbnQ4QXJyYXk7XG5cbiAgLyoqXG4gICAqIEVhY2ggY29kZSB1bml0J3MgY2Fub25pY2FsIGZvcm0gdW5kZXIgYSBub24tVW5pY29kZSBgaWAgcmVnZXg6IHRoZSBjaGFyYWN0ZXIgYXQgdGhlIGNvZGUgdW5pdCdzIGluZGV4LlxuICAgKi9cbiAgcmVhZG9ubHkgY2Fub25pY2FsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBjb2RlIHVuaXQncyBjYW5vbmljYWwgZm9ybSBpcyBOT1Qgd2hhdCBgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZWAgbWFrZXMgb2YgaXQ6IGDDn2AsIHdob3NlIHVwcGVyXG4gICAqIGNhc2UgaXMgdHdvIGNvZGUgdW5pdHMsIG9yIGDEsWAsIHdoaWNoIHRoZSByZWdleCByZWZ1c2VzIHRvIGZvbGQgdG8gYW4gQVNDSUkgYElgLiBBIHJ1biBmcmVlIG9mIHRoZW0gaXMgZm9sZGVkIGJ5XG4gICAqIG9uZSBgdG9VcHBlckNhc2VgIGNhbGwuXG4gICAqL1xuICByZWFkb25seSBpcnJlZ3VsYXJDYXNlRmxhZ3M6IFVpbnQ4QXJyYXk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBjb2RlIHVuaXQgaXMgb25lIG9mIE9ic2lkaWFuJ3Mgd29yZCBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgd29yZEZsYWdzOiBVaW50OEFycmF5O1xufVxuXG5pbnRlcmZhY2UgQ2hhcmFjdGVyVGFibGVzSG9sZGVyIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHR5cGVzY3JpcHQtZGV2LXRvb2xraXQvcmVhZG9ubHktaW50ZXJmYWNlLW1lbWJlcnMgLS0gVGhlIGNoYXJhY3RlciB0YWJsZXMgYXJlIGNhY2hlZCBoZXJlIG9uIGZpcnN0IHVzZS5cbiAgdmFsdWU6IENoYXJhY3RlclRhYmxlcyB8IG51bGw7XG59XG5cbi8vIEEgaG9sZGVyIHJhdGhlciB0aGFuIGEgdmFyaWFibGUsIHNvIGJ1aWxkaW5nIHRoZSB0YWJsZXMgb24gZmlyc3QgdXNlIG11dGF0ZXMgaXQgaW5zdGVhZCBvZiByZWFzc2lnbmluZyBpdC5cbmNvbnN0IGNoYXJhY3RlclRhYmxlc0hvbGRlcjogQ2hhcmFjdGVyVGFibGVzSG9sZGVyID0geyB2YWx1ZTogbnVsbCB9O1xuXG4vKipcbiAqIENhbm9uaWNhbGl6ZXMgdGV4dCBmb3IgT2JzaWRpYW4gU2VhcmNoIGFuZCB1bmxpbmtlZCBtZW50aW9ucycgbm9uLVVuaWNvZGUgaWdub3JlLWNhc2UgcmVnZXggbWF0Y2hpbmcuXG4gKlxuICogUHJlc2VydmVzIFVURi0xNiBsZW5ndGgsIGxvbmUgc3Vycm9nYXRlcyBhbmQgYWNjZW50cy4gVGhpcyBpcyBub3QgVW5pY29kZSBvciBsb2NhbGUgY2FzZSBmb2xkaW5nOlxuICogR3JlZWsgZmluYWwgc2lnbWEgZm9sZHMgdG8gc2lnbWEncyB1cHBlcmNhc2UsIGJ1dCBLZWx2aW4gc2lnbiwgbG9uZyBzIGFuZCBkb3RsZXNzIGkgZG8gbm90IGZvbGQgdG8gQVNDSUkuXG4gKiBWZXJpZmllZCBhZ2FpbnN0IGNvcmUgU2VhcmNoJ3MgYGdtaWAgZXhwcmVzc2lvbnMgaW4gT2JzaWRpYW4gMS4xNC41IGFuZCAxLjE1LjAuXG4gKlxuICogQHBhcmFtIHRleHQgLSBUaGUgbGl0ZXJhbCB0ZXh0LCBub3QgYSByZWd1bGFyIGV4cHJlc3Npb24gc291cmNlLlxuICogQHJldHVybnMgSXRzIEVDTUFTY3JpcHQgbm9uLVVuaWNvZGUgaWdub3JlLWNhc2UgY2Fub25pY2FsIGZvcm0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYW5vbmljYWxpemVPYnNpZGlhblRleHQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGNhbm9uaWNhbGl6ZVJ1bih0ZXh0LCAwLCB0ZXh0Lmxlbmd0aCwgZ2V0Q2hhcmFjdGVyVGFibGVzKCkpO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgcmVndWxhciBleHByZXNzaW9uIE9ic2lkaWFuIG1hdGNoZXMgYSBuYW1lIHdpdGgsIG9uZSBwZXIgbmFtZSwgZXhhY3RseSBhcyBpdHMgb3duIGByZWNvbXB1dGVVbmxpbmtlZGBcbiAqIGJ1aWxkcyBpdC4gR3JvdXAgMSBpcyB0aGUgbmFtZSBpdHNlbGYuXG4gKlxuICogQHBhcmFtIG5hbWUgLSBBIGJhc2VuYW1lIG9yIGFuIGFsaWFzLlxuICogQHJldHVybnMgVGhlIGV4cHJlc3Npb24sIGdsb2JhbCBhbmQgY2FzZS1pbnNlbnNpdGl2ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU9ic2lkaWFuTWVudGlvblJlZ0V4cChuYW1lOiBzdHJpbmcpOiBSZWdFeHAge1xuICBjb25zdCBpc0ZpcnN0V29yZCA9IGlzT2JzaWRpYW5Xb3JkQ2hhcmFjdGVyKG5hbWUuY2hhckNvZGVBdCgwKSk7XG4gIGNvbnN0IGlzTGFzdFdvcmQgPSBpc09ic2lkaWFuV29yZENoYXJhY3RlcihuYW1lLmNoYXJDb2RlQXQobmFtZS5sZW5ndGggLSAxKSk7XG4gIGNvbnN0IHByZWZpeCA9IGlzRmlyc3RXb3JkID8gYCg/Ol58W14ke1dPUkRfQ0hBUkFDVEVSU19TT1VSQ0V9XSlgIDogJyc7XG4gIGNvbnN0IHN1ZmZpeCA9IGlzTGFzdFdvcmQgPyBgKD8hWyR7V09SRF9DSEFSQUNURVJTX1NPVVJDRX1dKWAgOiAnKCknO1xuICByZXR1cm4gbmV3IFJlZ0V4cChgJHtwcmVmaXh9KCR7ZXNjYXBlUmVnRXhwKG5hbWUpfSkke3N1ZmZpeH1gLCAnZ2knKTtcbn1cblxuLyoqXG4gKiBTcGxpdHMgYSBuYW1lIGludG8gdGhlIGNhbm9uaWNhbCB3b3JkIHRva2VucyB0aGUgaW5kZXgga2V5cyBpdCBieS5cbiAqXG4gKiBAcGFyYW0gbmFtZSAtIEEgYmFzZW5hbWUgb3IgYW4gYWxpYXMuXG4gKiBAcmV0dXJucyBUaGUgdG9rZW5zLCBvciBgbnVsbGAgd2hlbiB0aGUgbmFtZSBjYW5ub3QgYmUgaW5kZXhlZDogaXQgaGFzIG5vIHdvcmQgY2hhcmFjdGVyLCBvciBpdCBob2xkcyBhXG4gKiAgIGNoYXJhY3RlciB3aG9zZSBjYXNlIGZvbGRpbmcgY3Jvc3NlcyBiZXR3ZWVuIHdvcmQgYW5kIG5vbi13b3JkIGNoYXJhY3RlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPYnNpZGlhbk5hbWVUb2tlbnMobmFtZTogc3RyaW5nKTogbnVsbCB8IHN0cmluZ1tdIHtcbiAgY29uc3QgdGFibGVzID0gZ2V0Q2hhcmFjdGVyVGFibGVzKCk7XG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBuYW1lLmxlbmd0aDsgaW5kZXgrKykge1xuICAgIGlmICh0YWJsZXMuYW1iaWd1aXR5RmxhZ3NbbmFtZS5jaGFyQ29kZUF0KGluZGV4KV0gPT09IDEpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHRva2VucyA9IHRva2VuaXplT2JzaWRpYW5Xb3JkcyhuYW1lKTtcbiAgcmV0dXJuIHRva2Vucy5sZW5ndGggPT09IDAgPyBudWxsIDogdG9rZW5zO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgYSBVVEYtMTYgY29kZSB1bml0IGlzIG9uZSBvZiBPYnNpZGlhbidzIHdvcmQgY2hhcmFjdGVycy5cbiAqXG4gKiBAcGFyYW0gY2hhckNvZGUgLSBUaGUgY29kZSB1bml0OyBgTmFOYCwgYXMgYGNoYXJDb2RlQXRgIHJldHVybnMgcGFzdCB0aGUgZW5kLCBpcyBub3Qgb25lLlxuICogQHJldHVybnMgV2hldGhlciBpdCBpcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JzaWRpYW5Xb3JkQ2hhcmFjdGVyKGNoYXJDb2RlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgcmV0dXJuIGdldENoYXJhY3RlclRhYmxlcygpLndvcmRGbGFnc1tjaGFyQ29kZV0gPT09IDE7XG59XG5cbi8qKlxuICogU3BsaXRzIHRleHQgaW50byBpdHMgbWF4aW1hbCBydW5zIG9mIHdvcmQgY2hhcmFjdGVycywgZWFjaCBmb2xkZWQgdG8gaXRzIGNhbm9uaWNhbCBjYXNlLlxuICpcbiAqIEV2ZXJ5IG1hdGNoIE9ic2lkaWFuIGZpbmRzIGZvciBhbiBpbmRleGFibGUgbmFtZSBjb3ZlcnMgd2hvbGUgcnVucyBvZiB0aGlzIHNwbGl0LCBpbiBvcmRlciBhbmQgd2l0aCBub3RoaW5nXG4gKiBiZXR3ZWVuIHRoZW0sIHdoaWNoIGlzIHdoYXQgbGV0cyB0aGUgaW5kZXggZmluZCBjYW5kaWRhdGVzIHdpdGhvdXQgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqXG4gKiBAcGFyYW0gdGV4dCAtIFRoZSB0ZXh0LlxuICogQHJldHVybnMgVGhlIGNhbm9uaWNhbCB0b2tlbnMsIGluIG9yZGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5pemVPYnNpZGlhbldvcmRzKHRleHQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgY29uc3QgdGFibGVzID0gZ2V0Q2hhcmFjdGVyVGFibGVzKCk7XG4gIGNvbnN0IHRva2Vuczogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHRva2VuU3RhcnQgPSAtMTtcbiAgbGV0IGhhc0lycmVndWxhckNhc2UgPSBmYWxzZTtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDw9IHRleHQubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgY2hhckNvZGUgPSB0ZXh0LmNoYXJDb2RlQXQoaW5kZXgpO1xuICAgIGlmICh0YWJsZXMud29yZEZsYWdzW2NoYXJDb2RlXSA9PT0gMSkge1xuICAgICAgaWYgKHRva2VuU3RhcnQgPT09IC0xKSB7XG4gICAgICAgIHRva2VuU3RhcnQgPSBpbmRleDtcbiAgICAgICAgaGFzSXJyZWd1bGFyQ2FzZSA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGFibGVzLmlycmVndWxhckNhc2VGbGFnc1tjaGFyQ29kZV0gPT09IDEpIHtcbiAgICAgICAgaGFzSXJyZWd1bGFyQ2FzZSA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmICh0b2tlblN0YXJ0ID09PSAtMSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgdG9rZW5zLnB1c2goaGFzSXJyZWd1bGFyQ2FzZSA/IGNhbm9uaWNhbGl6ZVJ1bih0ZXh0LCB0b2tlblN0YXJ0LCBpbmRleCwgdGFibGVzKSA6IHRleHQuc2xpY2UodG9rZW5TdGFydCwgaW5kZXgpLnRvVXBwZXJDYXNlKCkpO1xuICAgIHRva2VuU3RhcnQgPSAtMTtcbiAgfVxuXG4gIHJldHVybiB0b2tlbnM7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkQ2hhcmFjdGVyVGFibGVzKCk6IENoYXJhY3RlclRhYmxlcyB7XG4gIGNvbnN0IHdvcmRSZWdFeHAgPSBuZXcgUmVnRXhwKGBbJHtXT1JEX0NIQVJBQ1RFUlNfU09VUkNFfV1gKTtcbiAgY29uc3QgY2Fub25pY2FsQ2hhcmFjdGVyczogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgaXJyZWd1bGFyQ2FzZUZsYWdzID0gbmV3IFVpbnQ4QXJyYXkoQ09ERV9VTklUX0NPVU5UKTtcbiAgY29uc3Qgd29yZEZsYWdzID0gbmV3IFVpbnQ4QXJyYXkoQ09ERV9VTklUX0NPVU5UKTtcbiAgLy8gUGVyIGNhbm9uaWNhbCBmb3JtOiB3aGV0aGVyIGEgd29yZCBjaGFyYWN0ZXIgZm9sZHMgdG8gaXQsIGFuZCB3aGV0aGVyIGEgbm9uLXdvcmQgY2hhcmFjdGVyIGRvZXMuXG4gIGNvbnN0IGZvbGRlZEZyb21Xb3JkRmxhZ3MgPSBuZXcgVWludDhBcnJheShDT0RFX1VOSVRfQ09VTlQpO1xuICBjb25zdCBmb2xkZWRGcm9tTm9uV29yZEZsYWdzID0gbmV3IFVpbnQ4QXJyYXkoQ09ERV9VTklUX0NPVU5UKTtcblxuICBmb3IgKGxldCBjaGFyQ29kZSA9IDA7IGNoYXJDb2RlIDwgQ09ERV9VTklUX0NPVU5UOyBjaGFyQ29kZSsrKSB7XG4gICAgY29uc3QgY2hhcmFjdGVyID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSk7XG4gICAgY29uc3QgY2Fub25pY2FsQ2hhckNvZGUgPSBjYW5vbmljYWxpemUoY2hhckNvZGUsIGNoYXJhY3Rlcik7XG4gICAgY29uc3QgY2Fub25pY2FsQ2hhcmFjdGVyID0gU3RyaW5nLmZyb21DaGFyQ29kZShjYW5vbmljYWxDaGFyQ29kZSk7XG4gICAgY2Fub25pY2FsQ2hhcmFjdGVycy5wdXNoKGNhbm9uaWNhbENoYXJhY3Rlcik7XG4gICAgaXJyZWd1bGFyQ2FzZUZsYWdzW2NoYXJDb2RlXSA9IGNoYXJhY3Rlci50b1VwcGVyQ2FzZSgpID09PSBjYW5vbmljYWxDaGFyYWN0ZXIgPyAwIDogMTtcbiAgICBjb25zdCBpc09ic2lkaWFuV29yZENoYXJhY3RlclZhbHVlID0gd29yZFJlZ0V4cC50ZXN0KGNoYXJhY3Rlcik7XG4gICAgd29yZEZsYWdzW2NoYXJDb2RlXSA9IGlzT2JzaWRpYW5Xb3JkQ2hhcmFjdGVyVmFsdWUgPyAxIDogMDtcbiAgICAoaXNPYnNpZGlhbldvcmRDaGFyYWN0ZXJWYWx1ZSA/IGZvbGRlZEZyb21Xb3JkRmxhZ3MgOiBmb2xkZWRGcm9tTm9uV29yZEZsYWdzKVtjYW5vbmljYWxDaGFyQ29kZV0gPSAxO1xuICB9XG5cbiAgY29uc3QgY2Fub25pY2FsID0gY2Fub25pY2FsQ2hhcmFjdGVycy5qb2luKCcnKTtcbiAgY29uc3QgYW1iaWd1aXR5RmxhZ3MgPSBuZXcgVWludDhBcnJheShDT0RFX1VOSVRfQ09VTlQpO1xuICBmb3IgKGxldCBjaGFyQ29kZSA9IDA7IGNoYXJDb2RlIDwgQ09ERV9VTklUX0NPVU5UOyBjaGFyQ29kZSsrKSB7XG4gICAgY29uc3QgY2Fub25pY2FsQ2hhckNvZGUgPSBjYW5vbmljYWwuY2hhckNvZGVBdChjaGFyQ29kZSk7XG4gICAgYW1iaWd1aXR5RmxhZ3NbY2hhckNvZGVdID0gZm9sZGVkRnJvbVdvcmRGbGFnc1tjYW5vbmljYWxDaGFyQ29kZV0gPT09IDEgJiYgZm9sZGVkRnJvbU5vbldvcmRGbGFnc1tjYW5vbmljYWxDaGFyQ29kZV0gPT09IDEgPyAxIDogMDtcbiAgfVxuXG4gIHJldHVybiB7IGFtYmlndWl0eUZsYWdzLCBjYW5vbmljYWwsIGlycmVndWxhckNhc2VGbGFncywgd29yZEZsYWdzIH07XG59XG5cbi8qXG4gKiBFQ01BU2NyaXB0J3MgYENhbm9uaWNhbGl6ZWAgZm9yIGEgcmVndWxhciBleHByZXNzaW9uIHdpdGggYGlgIGFuZCB3aXRob3V0IGB1YDogdGhlIGNvZGUgdW5pdCdzIHVwcGVyIGNhc2UsIHVubGVzc1xuICogdGhhdCBpcyBsb25nZXIgdGhhbiBvbmUgY29kZSB1bml0LCBvciB3b3VsZCB0dXJuIGEgbm9uLUFTQ0lJIGNvZGUgdW5pdCBpbnRvIGFuIEFTQ0lJIG9uZS5cbiAqL1xuZnVuY3Rpb24gY2Fub25pY2FsaXplKGNoYXJDb2RlOiBudW1iZXIsIGNoYXJhY3Rlcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgY29uc3QgdXBwZXJDYXNlID0gY2hhcmFjdGVyLnRvVXBwZXJDYXNlKCk7XG4gIGlmICh1cHBlckNhc2UubGVuZ3RoICE9PSAxKSB7XG4gICAgcmV0dXJuIGNoYXJDb2RlO1xuICB9XG5cbiAgY29uc3QgdXBwZXJDaGFyQ29kZSA9IHVwcGVyQ2FzZS5jaGFyQ29kZUF0KDApO1xuICByZXR1cm4gY2hhckNvZGUgPj0gQVNDSUlfTElNSVQgJiYgdXBwZXJDaGFyQ29kZSA8IEFTQ0lJX0xJTUlUID8gY2hhckNvZGUgOiB1cHBlckNoYXJDb2RlO1xufVxuXG5mdW5jdGlvbiBjYW5vbmljYWxpemVSdW4odGV4dDogc3RyaW5nLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciwgdGFibGVzOiBDaGFyYWN0ZXJUYWJsZXMpOiBzdHJpbmcge1xuICBjb25zdCBjaGFyYWN0ZXJzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGxldCBpbmRleCA9IHN0YXJ0OyBpbmRleCA8IGVuZDsgaW5kZXgrKykge1xuICAgIGNoYXJhY3RlcnMucHVzaCh0YWJsZXMuY2Fub25pY2FsLmNoYXJBdCh0ZXh0LmNoYXJDb2RlQXQoaW5kZXgpKSk7XG4gIH1cblxuICByZXR1cm4gY2hhcmFjdGVycy5qb2luKCcnKTtcbn1cblxuZnVuY3Rpb24gZ2V0Q2hhcmFjdGVyVGFibGVzKCk6IENoYXJhY3RlclRhYmxlcyB7XG4gIGNoYXJhY3RlclRhYmxlc0hvbGRlci52YWx1ZSA/Pz0gYnVpbGRDaGFyYWN0ZXJUYWJsZXMoKTtcbiAgcmV0dXJuIGNoYXJhY3RlclRhYmxlc0hvbGRlci52YWx1ZTtcbn1cblxuLyogZXNsaW50LWVuYWJsZSB1bmljb3JuL3ByZWZlci1jb2RlLXBvaW50IC0tIEVuZCBvZiB0aGUgZmlsZS4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQkEsU0FBUyxvQkFBb0I7QUFJN0IsTUFBTSxzQkFDSiw2Z0lBQ0c7QUFDTCxNQUFNLHFCQUFxQiwwZEFBMGQ7QUFFcmYsTUFBTSx5QkFBeUIsc0JBQXNCO0FBRXJELE1BQU0sa0JBQWtCO0FBQ3hCLE1BQU0sY0FBYztBQWlDcEIsTUFBTSx3QkFBK0MsRUFBRSxPQUFPLEtBQUs7QUFZNUQsU0FBUyx5QkFBeUIsTUFBc0I7QUFDN0QsU0FBTyxnQkFBZ0IsTUFBTSxHQUFHLEtBQUssUUFBUSxtQkFBbUIsQ0FBQztBQUNuRTtBQVNPLFNBQVMsNEJBQTRCLE1BQXNCO0FBQ2hFLFFBQU0sY0FBYyx3QkFBd0IsS0FBSyxXQUFXLENBQUMsQ0FBQztBQUM5RCxRQUFNLGFBQWEsd0JBQXdCLEtBQUssV0FBVyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0FBQzNFLFFBQU0sU0FBUyxjQUFjLFVBQVUsc0JBQXNCLE9BQU87QUFDcEUsUUFBTSxTQUFTLGFBQWEsT0FBTyxzQkFBc0IsT0FBTztBQUNoRSxTQUFPLElBQUksT0FBTyxHQUFHLE1BQU0sSUFBSSxhQUFhLElBQUksQ0FBQyxJQUFJLE1BQU0sSUFBSSxJQUFJO0FBQ3JFO0FBU08sU0FBUyxzQkFBc0IsTUFBK0I7QUFDbkUsUUFBTSxTQUFTLG1CQUFtQjtBQUNsQyxXQUFTLFFBQVEsR0FBRyxRQUFRLEtBQUssUUFBUSxTQUFTO0FBQ2hELFFBQUksT0FBTyxlQUFlLEtBQUssV0FBVyxLQUFLLENBQUMsTUFBTSxHQUFHO0FBQ3ZELGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFFBQU0sU0FBUyxzQkFBc0IsSUFBSTtBQUN6QyxTQUFPLE9BQU8sV0FBVyxJQUFJLE9BQU87QUFDdEM7QUFRTyxTQUFTLHdCQUF3QixVQUEyQjtBQUNqRSxTQUFPLG1CQUFtQixFQUFFLFVBQVUsUUFBUSxNQUFNO0FBQ3REO0FBV08sU0FBUyxzQkFBc0IsTUFBd0I7QUFDNUQsUUFBTSxTQUFTLG1CQUFtQjtBQUNsQyxRQUFNLFNBQW1CLENBQUM7QUFDMUIsTUFBSSxhQUFhO0FBQ2pCLE1BQUksbUJBQW1CO0FBRXZCLFdBQVMsUUFBUSxHQUFHLFNBQVMsS0FBSyxRQUFRLFNBQVM7QUFDakQsVUFBTSxXQUFXLEtBQUssV0FBVyxLQUFLO0FBQ3RDLFFBQUksT0FBTyxVQUFVLFFBQVEsTUFBTSxHQUFHO0FBQ3BDLFVBQUksZUFBZSxJQUFJO0FBQ3JCLHFCQUFhO0FBQ2IsMkJBQW1CO0FBQUEsTUFDckI7QUFFQSxVQUFJLE9BQU8sbUJBQW1CLFFBQVEsTUFBTSxHQUFHO0FBQzdDLDJCQUFtQjtBQUFBLE1BQ3JCO0FBRUE7QUFBQSxJQUNGO0FBRUEsUUFBSSxlQUFlLElBQUk7QUFDckI7QUFBQSxJQUNGO0FBRUEsV0FBTyxLQUFLLG1CQUFtQixnQkFBZ0IsTUFBTSxZQUFZLE9BQU8sTUFBTSxJQUFJLEtBQUssTUFBTSxZQUFZLEtBQUssRUFBRSxZQUFZLENBQUM7QUFDN0gsaUJBQWE7QUFBQSxFQUNmO0FBRUEsU0FBTztBQUNUO0FBRUEsU0FBUyx1QkFBd0M7QUFDL0MsUUFBTSxhQUFhLElBQUksT0FBTyxJQUFJLHNCQUFzQixHQUFHO0FBQzNELFFBQU0sc0JBQWdDLENBQUM7QUFDdkMsUUFBTSxxQkFBcUIsSUFBSSxXQUFXLGVBQWU7QUFDekQsUUFBTSxZQUFZLElBQUksV0FBVyxlQUFlO0FBRWhELFFBQU0sc0JBQXNCLElBQUksV0FBVyxlQUFlO0FBQzFELFFBQU0seUJBQXlCLElBQUksV0FBVyxlQUFlO0FBRTdELFdBQVMsV0FBVyxHQUFHLFdBQVcsaUJBQWlCLFlBQVk7QUFDN0QsVUFBTSxZQUFZLE9BQU8sYUFBYSxRQUFRO0FBQzlDLFVBQU0sb0JBQW9CLGFBQWEsVUFBVSxTQUFTO0FBQzFELFVBQU0scUJBQXFCLE9BQU8sYUFBYSxpQkFBaUI7QUFDaEUsd0JBQW9CLEtBQUssa0JBQWtCO0FBQzNDLHVCQUFtQixRQUFRLElBQUksVUFBVSxZQUFZLE1BQU0scUJBQXFCLElBQUk7QUFDcEYsVUFBTSwrQkFBK0IsV0FBVyxLQUFLLFNBQVM7QUFDOUQsY0FBVSxRQUFRLElBQUksK0JBQStCLElBQUk7QUFDekQsS0FBQywrQkFBK0Isc0JBQXNCLHdCQUF3QixpQkFBaUIsSUFBSTtBQUFBLEVBQ3JHO0FBRUEsUUFBTSxZQUFZLG9CQUFvQixLQUFLLEVBQUU7QUFDN0MsUUFBTSxpQkFBaUIsSUFBSSxXQUFXLGVBQWU7QUFDckQsV0FBUyxXQUFXLEdBQUcsV0FBVyxpQkFBaUIsWUFBWTtBQUM3RCxVQUFNLG9CQUFvQixVQUFVLFdBQVcsUUFBUTtBQUN2RCxtQkFBZSxRQUFRLElBQUksb0JBQW9CLGlCQUFpQixNQUFNLEtBQUssdUJBQXVCLGlCQUFpQixNQUFNLElBQUksSUFBSTtBQUFBLEVBQ25JO0FBRUEsU0FBTyxFQUFFLGdCQUFnQixXQUFXLG9CQUFvQixVQUFVO0FBQ3BFO0FBTUEsU0FBUyxhQUFhLFVBQWtCLFdBQTJCO0FBQ2pFLFFBQU0sWUFBWSxVQUFVLFlBQVk7QUFDeEMsTUFBSSxVQUFVLFdBQVcsR0FBRztBQUMxQixXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sZ0JBQWdCLFVBQVUsV0FBVyxDQUFDO0FBQzVDLFNBQU8sWUFBWSxlQUFlLGdCQUFnQixjQUFjLFdBQVc7QUFDN0U7QUFFQSxTQUFTLGdCQUFnQixNQUFjLE9BQWUsS0FBYSxRQUFpQztBQUNsRyxRQUFNLGFBQXVCLENBQUM7QUFDOUIsV0FBUyxRQUFRLE9BQU8sUUFBUSxLQUFLLFNBQVM7QUFDNUMsZUFBVyxLQUFLLE9BQU8sVUFBVSxPQUFPLEtBQUssV0FBVyxLQUFLLENBQUMsQ0FBQztBQUFBLEVBQ2pFO0FBRUEsU0FBTyxXQUFXLEtBQUssRUFBRTtBQUMzQjtBQUVBLFNBQVMscUJBQXNDO0FBQzdDLHdCQUFzQixVQUFVLHFCQUFxQjtBQUNyRCxTQUFPLHNCQUFzQjtBQUMvQjsiLCJuYW1lcyI6W119
|
|
@@ -44,11 +44,11 @@ export interface ParseLinkFrontmatterReferenceWithOffsets extends ParseLinkFront
|
|
|
44
44
|
/**
|
|
45
45
|
* An end offset of the link in the frontmatter value.
|
|
46
46
|
*/
|
|
47
|
-
endOffset: number;
|
|
47
|
+
readonly endOffset: number;
|
|
48
48
|
/**
|
|
49
49
|
* A start offset of the link in the frontmatter value.
|
|
50
50
|
*/
|
|
51
|
-
startOffset: number;
|
|
51
|
+
readonly startOffset: number;
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
54
54
|
* Options for {@link parseLink}. The same as {@link ParseLinksOptions}.
|