@mnaoumov/obsidian-lib 3.3.0 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/cjs/@types/i18next.d.cts +1 -1
- package/dist/lib/cjs/@types/obsidian-integration-testing.d.cts +3 -3
- package/dist/lib/cjs/@types/original-fs.d.cts +2 -1
- package/dist/lib/cjs/__merged.cjs +2 -21
- package/dist/lib/cjs/__merged.d.cts +1 -1
- package/dist/lib/cjs/active-file-provider.cjs +1 -47
- package/dist/lib/cjs/active-file-provider.d.cts +1 -1
- package/dist/lib/cjs/app.cjs +1 -47
- package/dist/lib/cjs/app.d.cts +1 -1
- package/dist/lib/cjs/async-with-notice.cjs +2 -21
- package/dist/lib/cjs/async-with-notice.d.cts +2 -1
- package/dist/lib/cjs/attachment-path.cjs +2 -21
- package/dist/lib/cjs/attachment-path.d.cts +1 -1
- package/dist/lib/cjs/attachment-unit-folder.cjs +2 -21
- package/dist/lib/cjs/attachment-unit-folder.d.cts +1 -1
- package/dist/lib/cjs/backlink-index.cjs +2 -21
- package/dist/lib/cjs/backlink-index.d.cts +1 -1
- package/dist/lib/cjs/backlink.cjs +2 -21
- package/dist/lib/cjs/backlink.d.cts +1 -1
- package/dist/lib/cjs/bases-view-registrar.cjs +2 -21
- package/dist/lib/cjs/bases-view-registrar.d.cts +1 -1
- package/dist/lib/cjs/callout.cjs +2 -21
- package/dist/lib/cjs/callout.d.cts +2 -1
- package/dist/lib/cjs/canvas.cjs +2 -21
- package/dist/lib/cjs/canvas.d.cts +1 -1
- package/dist/lib/cjs/case-insensitive-file-index.cjs +2 -21
- package/dist/lib/cjs/case-insensitive-file-index.d.cts +1 -1
- package/dist/lib/cjs/code-block-markdown-information.cjs +1 -47
- package/dist/lib/cjs/code-block-markdown-information.d.cts +1 -1
- package/dist/lib/cjs/code-block-reg-exp.cjs +1 -47
- package/dist/lib/cjs/code-block-reg-exp.d.cts +1 -1
- package/dist/lib/cjs/codemirror/index.cjs +2 -48
- package/dist/lib/cjs/codemirror/index.d.cts +1 -1
- package/dist/lib/cjs/codemirror/state-field-spec.cjs +1 -47
- package/dist/lib/cjs/codemirror/state-field-spec.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +2 -21
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/command-handler-component.cjs +2 -21
- package/dist/lib/cjs/command-handlers/command-handler-component.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/command-handler.cjs +2 -21
- package/dist/lib/cjs/command-handlers/command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +2 -21
- package/dist/lib/cjs/command-handlers/editor-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/file-command-handler.cjs +5 -24
- package/dist/lib/cjs/command-handlers/file-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +5 -24
- package/dist/lib/cjs/command-handlers/folder-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/global-command-handler.cjs +3 -22
- package/dist/lib/cjs/command-handlers/global-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/index.cjs +11 -57
- package/dist/lib/cjs/command-handlers/index.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +2 -21
- package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +1 -47
- package/dist/lib/cjs/command-handlers/open-settings-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +1 -47
- package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.d.cts +1 -1
- package/dist/lib/cjs/command-registrar.cjs +1 -47
- package/dist/lib/cjs/command-registrar.d.cts +1 -1
- package/dist/lib/cjs/community-plugins.cjs +2 -21
- package/dist/lib/cjs/community-plugins.d.cts +1 -1
- package/dist/lib/cjs/components/abort-signal-component.cjs +2 -21
- package/dist/lib/cjs/components/abort-signal-component.d.cts +2 -1
- package/dist/lib/cjs/components/all-windows-event-component.cjs +1 -47
- package/dist/lib/cjs/components/all-windows-event-component.d.cts +2 -1
- package/dist/lib/cjs/components/async-error-handler-component.cjs +2 -21
- package/dist/lib/cjs/components/async-error-handler-component.d.cts +1 -1
- package/dist/lib/cjs/components/async-events-component.cjs +2 -21
- package/dist/lib/cjs/components/async-events-component.d.cts +1 -1
- package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +1 -47
- package/dist/lib/cjs/components/case-insensitive-file-index-component.d.cts +1 -1
- package/dist/lib/cjs/components/component-ex.cjs +3 -16
- package/dist/lib/cjs/components/component-ex.d.cts +1 -1
- package/dist/lib/cjs/components/console-debug-component.cjs +2 -21
- package/dist/lib/cjs/components/console-debug-component.d.cts +1 -1
- package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +2 -21
- package/dist/lib/cjs/components/core-plugin-toggle-component.d.cts +1 -1
- package/dist/lib/cjs/components/disposable-component.cjs +3 -16
- package/dist/lib/cjs/components/disposable-component.d.cts +1 -1
- package/dist/lib/cjs/components/embed-extensions-component.cjs +1 -47
- package/dist/lib/cjs/components/embed-extensions-component.d.cts +1 -1
- package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +1 -47
- package/dist/lib/cjs/components/generate-markdown-link-default-params-component.d.cts +1 -1
- package/dist/lib/cjs/components/index.cjs +30 -76
- package/dist/lib/cjs/components/index.d.cts +1 -1
- package/dist/lib/cjs/components/layout-ready-component.cjs +2 -21
- package/dist/lib/cjs/components/layout-ready-component.d.cts +1 -1
- package/dist/lib/cjs/components/menu-event-registrar-component.cjs +1 -47
- package/dist/lib/cjs/components/menu-event-registrar-component.d.cts +1 -1
- package/dist/lib/cjs/components/monkey-around-component.cjs +2 -21
- package/dist/lib/cjs/components/monkey-around-component.d.cts +1 -1
- package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +2 -21
- package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.d.cts +1 -1
- package/dist/lib/cjs/components/plugin-context-component.cjs +2 -21
- package/dist/lib/cjs/components/plugin-context-component.d.cts +1 -1
- package/dist/lib/cjs/components/plugin-gate-component.cjs +2 -21
- package/dist/lib/cjs/components/plugin-gate-component.d.cts +2 -1
- package/dist/lib/cjs/components/plugin-notice-component.cjs +3 -16
- package/dist/lib/cjs/components/plugin-notice-component.d.cts +2 -1
- package/dist/lib/cjs/components/plugin-settings-component.cjs +2 -21
- package/dist/lib/cjs/components/plugin-settings-component.d.cts +1 -1
- package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +2 -21
- package/dist/lib/cjs/components/plugin-settings-tab-component.d.cts +1 -1
- package/dist/lib/cjs/components/plugin-suggestion-component.cjs +2 -21
- package/dist/lib/cjs/components/plugin-suggestion-component.d.cts +2 -1
- package/dist/lib/cjs/components/pointer-position-component.cjs +1 -47
- package/dist/lib/cjs/components/pointer-position-component.d.cts +1 -1
- package/dist/lib/cjs/components/registry-component.cjs +2 -21
- package/dist/lib/cjs/components/registry-component.d.cts +1 -1
- package/dist/lib/cjs/components/release-notes-component.cjs +2 -21
- package/dist/lib/cjs/components/release-notes-component.d.cts +2 -1
- package/dist/lib/cjs/components/rename-delete-handler-component.cjs +3 -16
- package/dist/lib/cjs/components/rename-delete-handler-component.d.cts +1 -1
- package/dist/lib/cjs/components/rmdir-guard-component.cjs +1 -47
- package/dist/lib/cjs/components/rmdir-guard-component.d.cts +1 -1
- package/dist/lib/cjs/components/settings-migration-component.cjs +2 -21
- package/dist/lib/cjs/components/settings-migration-component.d.cts +1 -1
- package/dist/lib/cjs/components/syntax-highlighting-component.cjs +2 -21
- package/dist/lib/cjs/components/syntax-highlighting-component.d.cts +1 -1
- package/dist/lib/cjs/components/templates-language-component.cjs +3 -49
- package/dist/lib/cjs/components/templates-language-component.d.cts +1 -1
- package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +3 -16
- package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.d.cts +1 -1
- package/dist/lib/cjs/constructors/index.cjs +2 -48
- package/dist/lib/cjs/constructors/index.d.cts +1 -1
- package/dist/lib/cjs/css-class.cjs +1 -47
- package/dist/lib/cjs/css-class.d.cts +1 -1
- package/dist/lib/cjs/data-handler.cjs +1 -47
- package/dist/lib/cjs/data-handler.d.cts +1 -1
- package/dist/lib/cjs/dataview-link.cjs +2 -21
- package/dist/lib/cjs/dataview-link.d.cts +1 -1
- package/dist/lib/cjs/dataview.cjs +2 -21
- package/dist/lib/cjs/dataview.d.cts +2 -1
- package/dist/lib/cjs/debug.cjs +2 -21
- package/dist/lib/cjs/debug.d.cts +1 -1
- package/dist/lib/cjs/demo-vault-helper-settings.cjs +1 -47
- package/dist/lib/cjs/demo-vault-helper-settings.d.cts +1 -1
- package/dist/lib/cjs/demo-vault-helper.cjs +2 -21
- package/dist/lib/cjs/demo-vault-helper.d.cts +1 -1
- package/dist/lib/cjs/demo-vault-naming.cjs +1 -47
- package/dist/lib/cjs/demo-vault-naming.d.cts +1 -1
- package/dist/lib/cjs/desktop-demo-vault-opener.cjs +3 -16
- package/dist/lib/cjs/desktop-demo-vault-opener.d.cts +1 -1
- package/dist/lib/cjs/desktop-trusted-input.cjs +2 -21
- package/dist/lib/cjs/desktop-trusted-input.d.cts +2 -1
- package/dist/lib/cjs/editor-extension-registrar.cjs +2 -21
- package/dist/lib/cjs/editor-extension-registrar.d.cts +1 -1
- package/dist/lib/cjs/editor-suggest-registrar.cjs +2 -21
- package/dist/lib/cjs/editor-suggest-registrar.d.cts +1 -1
- package/dist/lib/cjs/editor.cjs +2 -21
- package/dist/lib/cjs/editor.d.cts +1 -1
- package/dist/lib/cjs/events.cjs +2 -21
- package/dist/lib/cjs/events.d.cts +1 -1
- package/dist/lib/cjs/extensions-registrar.cjs +2 -21
- package/dist/lib/cjs/extensions-registrar.d.cts +1 -1
- package/dist/lib/cjs/file-change.cjs +2 -21
- package/dist/lib/cjs/file-change.d.cts +2 -1
- package/dist/lib/cjs/file-explorer.cjs +2 -21
- package/dist/lib/cjs/file-explorer.d.cts +1 -1
- package/dist/lib/cjs/file-manager.cjs +2 -21
- package/dist/lib/cjs/file-manager.d.cts +2 -1
- package/dist/lib/cjs/file-system.cjs +2 -21
- package/dist/lib/cjs/file-system.d.cts +1 -1
- package/dist/lib/cjs/folder-note.cjs +2 -21
- package/dist/lib/cjs/folder-note.d.cts +1 -1
- package/dist/lib/cjs/frontmatter-formatting.cjs +2 -21
- package/dist/lib/cjs/frontmatter-formatting.d.cts +1 -1
- package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +2 -21
- package/dist/lib/cjs/frontmatter-link-cache-with-offsets.d.cts +1 -1
- package/dist/lib/cjs/frontmatter.cjs +2 -21
- package/dist/lib/cjs/frontmatter.d.cts +1 -1
- package/dist/lib/cjs/generated-during-build.cjs +2 -48
- package/dist/lib/cjs/generated-during-build.d.cts +1 -1
- package/dist/lib/cjs/hover-link-source-registrar.cjs +2 -21
- package/dist/lib/cjs/hover-link-source-registrar.d.cts +1 -1
- package/dist/lib/cjs/html-element.cjs +1 -47
- package/dist/lib/cjs/html-element.d.cts +2 -1
- package/dist/lib/cjs/i18n/custom-type-options.cjs +1 -47
- package/dist/lib/cjs/i18n/custom-type-options.d.cts +1 -1
- package/dist/lib/cjs/i18n/default-translations.cjs +1 -47
- package/dist/lib/cjs/i18n/default-translations.d.cts +1 -1
- package/dist/lib/cjs/i18n/i18n.cjs +3 -22
- package/dist/lib/cjs/i18n/i18n.d.cts +1 -1
- package/dist/lib/cjs/i18n/index.cjs +5 -51
- package/dist/lib/cjs/i18n/index.d.cts +1 -1
- package/dist/lib/cjs/i18n/locales/en.cjs +1 -47
- package/dist/lib/cjs/i18n/locales/en.d.cts +1 -1
- package/dist/lib/cjs/i18n/locales/index.cjs +3 -49
- package/dist/lib/cjs/i18n/locales/index.d.cts +1 -1
- package/dist/lib/cjs/i18n/locales/translations-map.cjs +1 -47
- package/dist/lib/cjs/i18n/locales/translations-map.d.cts +1 -1
- package/dist/lib/cjs/index.cjs +96 -142
- package/dist/lib/cjs/index.d.cts +1 -1
- package/dist/lib/cjs/is-in-obsidian.cjs +1 -47
- package/dist/lib/cjs/is-in-obsidian.d.cts +1 -1
- package/dist/lib/cjs/library-references.d.cts +2 -0
- package/dist/lib/cjs/library-styles.cjs +2 -21
- package/dist/lib/cjs/library-styles.d.cts +2 -1
- package/dist/lib/cjs/library.cjs +1 -47
- package/dist/lib/cjs/link-name.cjs +1 -47
- package/dist/lib/cjs/link-name.d.cts +1 -1
- package/dist/lib/cjs/link-update-progress.cjs +1 -47
- package/dist/lib/cjs/link-update-progress.d.cts +1 -1
- package/dist/lib/cjs/link.cjs +3 -16
- package/dist/lib/cjs/link.d.cts +2 -1
- package/dist/lib/cjs/logger.cjs +2 -21
- package/dist/lib/cjs/logger.d.cts +2 -1
- package/dist/lib/cjs/loop.cjs +3 -16
- package/dist/lib/cjs/loop.d.cts +2 -1
- package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +2 -21
- package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +2 -1
- package/dist/lib/cjs/markdown-code-block-processor.cjs +2 -21
- package/dist/lib/cjs/markdown-code-block-processor.d.cts +2 -1
- package/dist/lib/cjs/markdown-post-processor-registrar.cjs +2 -21
- package/dist/lib/cjs/markdown-post-processor-registrar.d.cts +2 -1
- package/dist/lib/cjs/markdown-view.cjs +1 -47
- package/dist/lib/cjs/markdown-view.d.cts +1 -1
- package/dist/lib/cjs/markdown.cjs +3 -16
- package/dist/lib/cjs/markdown.d.cts +2 -1
- package/dist/lib/cjs/menu-event-registrar.cjs +1 -47
- package/dist/lib/cjs/menu-event-registrar.d.cts +1 -1
- package/dist/lib/cjs/metadata-cache.cjs +3 -16
- package/dist/lib/cjs/metadata-cache.d.cts +1 -1
- package/dist/lib/cjs/mobile-trusted-input.cjs +1 -47
- package/dist/lib/cjs/mobile-trusted-input.d.cts +1 -1
- package/dist/lib/cjs/modals/alert.cjs +2 -21
- package/dist/lib/cjs/modals/alert.d.cts +2 -1
- package/dist/lib/cjs/modals/confirm.cjs +2 -21
- package/dist/lib/cjs/modals/confirm.d.cts +2 -1
- package/dist/lib/cjs/modals/index.cjs +10 -56
- package/dist/lib/cjs/modals/index.d.cts +1 -1
- package/dist/lib/cjs/modals/minimizable-modal.cjs +2 -21
- package/dist/lib/cjs/modals/minimizable-modal.d.cts +1 -1
- package/dist/lib/cjs/modals/modal-command-builder.cjs +2 -21
- package/dist/lib/cjs/modals/modal-command-builder.d.cts +2 -1
- package/dist/lib/cjs/modals/modal.cjs +2 -21
- package/dist/lib/cjs/modals/modal.d.cts +1 -1
- package/dist/lib/cjs/modals/prompt.cjs +2 -21
- package/dist/lib/cjs/modals/prompt.d.cts +2 -1
- package/dist/lib/cjs/modals/select-item.cjs +2 -21
- package/dist/lib/cjs/modals/select-item.d.cts +1 -1
- package/dist/lib/cjs/modals/select-option.cjs +2 -21
- package/dist/lib/cjs/modals/select-option.d.cts +2 -1
- package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +1 -47
- package/dist/lib/cjs/modals/suggest-modal-command-builder.d.cts +1 -1
- package/dist/lib/cjs/note-priority.cjs +2 -21
- package/dist/lib/cjs/note-priority.d.cts +1 -1
- package/dist/lib/cjs/notebook-navigator.cjs +1 -47
- package/dist/lib/cjs/notebook-navigator.d.cts +1 -1
- package/dist/lib/cjs/obsidian-dev-utils-state.cjs +2 -21
- package/dist/lib/cjs/obsidian-dev-utils-state.d.cts +1 -1
- package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +2 -21
- package/dist/lib/cjs/obsidian-protocol-handler-registrar.d.cts +1 -1
- package/dist/lib/cjs/obsidian-settings.cjs +2 -21
- package/dist/lib/cjs/obsidian-settings.d.cts +1 -1
- package/dist/lib/cjs/parse-link.cjs +3 -22
- package/dist/lib/cjs/parse-link.d.cts +1 -1
- package/dist/lib/cjs/path-settings.cjs +2 -21
- package/dist/lib/cjs/path-settings.d.cts +1 -1
- package/dist/lib/cjs/pdf.cjs +2 -21
- package/dist/lib/cjs/pdf.d.cts +2 -1
- package/dist/lib/cjs/plugin/index.cjs +10 -56
- package/dist/lib/cjs/plugin/index.d.cts +1 -1
- package/dist/lib/cjs/plugin/plugin-api-schema.cjs +2 -21
- package/dist/lib/cjs/plugin/plugin-api-schema.d.cts +1 -1
- package/dist/lib/cjs/plugin/plugin-api.cjs +2 -21
- package/dist/lib/cjs/plugin/plugin-api.d.cts +1 -1
- package/dist/lib/cjs/plugin/plugin-context.cjs +2 -21
- package/dist/lib/cjs/plugin/plugin-context.d.cts +2 -1
- package/dist/lib/cjs/plugin/plugin-event-source.cjs +1 -47
- package/dist/lib/cjs/plugin/plugin-event-source.d.cts +1 -1
- package/dist/lib/cjs/plugin/plugin-install-state.cjs +1 -47
- package/dist/lib/cjs/plugin/plugin-install-state.d.cts +1 -1
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +1 -47
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.d.cts +1 -1
- package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +2 -21
- package/dist/lib/cjs/plugin/plugin-settings-tab.d.cts +2 -1
- package/dist/lib/cjs/plugin/plugin.cjs +2 -21
- package/dist/lib/cjs/plugin/plugin.d.cts +1 -1
- package/dist/lib/cjs/plugin/settings-migration-api.cjs +2 -21
- package/dist/lib/cjs/plugin/settings-migration-api.d.cts +1 -1
- package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +2 -21
- package/dist/lib/cjs/plugin-cli-handler-registrar.d.cts +1 -1
- package/dist/lib/cjs/popovers/field-popover.cjs +2 -21
- package/dist/lib/cjs/popovers/field-popover.d.cts +1 -1
- package/dist/lib/cjs/popovers/index.cjs +4 -50
- package/dist/lib/cjs/popovers/index.d.cts +1 -1
- package/dist/lib/cjs/popovers/popover-anchor.cjs +2 -21
- package/dist/lib/cjs/popovers/popover-anchor.d.cts +2 -1
- package/dist/lib/cjs/popovers/popover.cjs +2 -21
- package/dist/lib/cjs/popovers/popover.d.cts +2 -1
- package/dist/lib/cjs/property-entry.cjs +1 -47
- package/dist/lib/cjs/property-entry.d.cts +1 -1
- package/dist/lib/cjs/queue.cjs +2 -21
- package/dist/lib/cjs/queue.d.cts +2 -1
- package/dist/lib/cjs/react/app-context.cjs +2 -21
- package/dist/lib/cjs/react/app-context.d.cts +1 -1
- package/dist/lib/cjs/react/index.cjs +2 -48
- package/dist/lib/cjs/react/index.d.cts +1 -1
- package/dist/lib/cjs/reference.cjs +2 -21
- package/dist/lib/cjs/reference.d.cts +1 -1
- package/dist/lib/cjs/resource-lock.cjs +2 -21
- package/dist/lib/cjs/resource-lock.d.cts +2 -1
- package/dist/lib/cjs/resource-url.cjs +2 -21
- package/dist/lib/cjs/resource-url.d.cts +1 -1
- package/dist/lib/cjs/ribbon-icon-registrar.cjs +2 -21
- package/dist/lib/cjs/ribbon-icon-registrar.d.cts +2 -1
- package/dist/lib/cjs/setting-components/checkbox-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/checkbox-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/code-highlighter-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/date-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/date-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/date-time-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/date-time-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/email-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/email-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/file-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/file-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/index.cjs +27 -73
- package/dist/lib/cjs/setting-components/index.d.cts +1 -1
- package/dist/lib/cjs/setting-components/month-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/month-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/multiple-dropdown-component.d.cts +3 -1
- package/dist/lib/cjs/setting-components/multiple-email-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/multiple-email-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/multiple-file-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/multiple-file-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/multiple-text-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/multiple-text-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/number-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/number-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/password-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/password-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +2 -21
- package/dist/lib/cjs/setting-components/setting-component-wrapper.d.cts +2 -1
- package/dist/lib/cjs/setting-components/telephone-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/telephone-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/text-based-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/text-based-component.d.cts +1 -1
- package/dist/lib/cjs/setting-components/time-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/time-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/tri-state-checkbox-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/typed-dropdown-component.d.cts +3 -1
- package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.d.cts +3 -1
- package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/typed-range-text-component.d.cts +1 -1
- package/dist/lib/cjs/setting-components/typed-text-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/typed-text-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/url-component.cjs +1 -47
- package/dist/lib/cjs/setting-components/url-component.d.cts +2 -1
- package/dist/lib/cjs/setting-components/validator-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/validator-component.d.cts +1 -1
- package/dist/lib/cjs/setting-components/value-component-with-change-tracking.cjs +1 -47
- package/dist/lib/cjs/setting-components/value-component-with-change-tracking.d.cts +1 -1
- package/dist/lib/cjs/setting-components/week-component.cjs +2 -21
- package/dist/lib/cjs/setting-components/week-component.d.cts +2 -1
- package/dist/lib/cjs/setting-ex.cjs +2 -21
- package/dist/lib/cjs/setting-ex.d.cts +2 -1
- package/dist/lib/cjs/setting-group-ex.cjs +2 -21
- package/dist/lib/cjs/setting-group-ex.d.cts +2 -1
- package/dist/lib/cjs/status-bar-item-registrar.cjs +2 -21
- package/dist/lib/cjs/status-bar-item-registrar.d.cts +2 -1
- package/dist/lib/cjs/templater.cjs +1 -47
- package/dist/lib/cjs/templater.d.cts +1 -1
- package/dist/lib/cjs/transformers/duration-transformer.cjs +2 -21
- package/dist/lib/cjs/transformers/duration-transformer.d.cts +1 -1
- package/dist/lib/cjs/transformers/index.cjs +2 -48
- package/dist/lib/cjs/transformers/index.d.cts +1 -1
- package/dist/lib/cjs/trusted-input.cjs +2 -21
- package/dist/lib/cjs/trusted-input.d.cts +1 -1
- package/dist/lib/cjs/validation.cjs +2 -21
- package/dist/lib/cjs/validation.d.cts +1 -1
- package/dist/lib/cjs/vault-delete.cjs +2 -21
- package/dist/lib/cjs/vault-delete.d.cts +1 -1
- package/dist/lib/cjs/vault-transaction.cjs +3 -16
- package/dist/lib/cjs/vault-transaction.d.cts +1 -1
- package/dist/lib/cjs/vault.cjs +3 -16
- package/dist/lib/cjs/vault.d.cts +1 -1
- package/dist/lib/cjs/view-registrar.cjs +2 -21
- package/dist/lib/cjs/view-registrar.d.cts +1 -1
- package/dist/lib/cjs/workspace.cjs +2 -21
- package/dist/lib/cjs/workspace.d.cts +2 -1
- package/dist/lib/esm/@types/i18next.d.mts +1 -1
- package/dist/lib/esm/@types/obsidian-integration-testing.d.mts +3 -3
- package/dist/lib/esm/@types/original-fs.d.mts +2 -1
- package/dist/lib/esm/__merged.d.mts +1 -1
- package/dist/lib/esm/__merged.mjs +2 -11
- package/dist/lib/esm/active-file-provider.d.mts +1 -1
- package/dist/lib/esm/active-file-provider.mjs +1 -37
- package/dist/lib/esm/app.d.mts +1 -1
- package/dist/lib/esm/app.mjs +1 -37
- package/dist/lib/esm/async-with-notice.d.mts +2 -1
- package/dist/lib/esm/async-with-notice.mjs +2 -11
- package/dist/lib/esm/attachment-path.d.mts +1 -1
- package/dist/lib/esm/attachment-path.mjs +2 -11
- package/dist/lib/esm/attachment-unit-folder.d.mts +1 -1
- package/dist/lib/esm/attachment-unit-folder.mjs +2 -11
- package/dist/lib/esm/backlink-index.d.mts +1 -1
- package/dist/lib/esm/backlink-index.mjs +2 -11
- package/dist/lib/esm/backlink.d.mts +1 -1
- package/dist/lib/esm/backlink.mjs +2 -11
- package/dist/lib/esm/bases-view-registrar.d.mts +1 -1
- package/dist/lib/esm/bases-view-registrar.mjs +2 -11
- package/dist/lib/esm/callout.d.mts +2 -1
- package/dist/lib/esm/callout.mjs +2 -11
- package/dist/lib/esm/canvas.d.mts +1 -1
- package/dist/lib/esm/canvas.mjs +2 -11
- package/dist/lib/esm/case-insensitive-file-index.d.mts +1 -1
- package/dist/lib/esm/case-insensitive-file-index.mjs +2 -11
- package/dist/lib/esm/code-block-markdown-information.d.mts +1 -1
- package/dist/lib/esm/code-block-markdown-information.mjs +0 -36
- package/dist/lib/esm/code-block-reg-exp.d.mts +1 -1
- package/dist/lib/esm/code-block-reg-exp.mjs +1 -37
- package/dist/lib/esm/codemirror/index.d.mts +1 -1
- package/dist/lib/esm/codemirror/index.mjs +1 -37
- package/dist/lib/esm/codemirror/state-field-spec.d.mts +1 -1
- package/dist/lib/esm/codemirror/state-field-spec.mjs +0 -36
- package/dist/lib/esm/command-handlers/abstract-file-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/abstract-file-command-handler.mjs +2 -11
- package/dist/lib/esm/command-handlers/command-handler-component.d.mts +1 -1
- package/dist/lib/esm/command-handlers/command-handler-component.mjs +2 -11
- package/dist/lib/esm/command-handlers/command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/command-handler.mjs +2 -11
- package/dist/lib/esm/command-handlers/editor-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/editor-command-handler.mjs +2 -11
- package/dist/lib/esm/command-handlers/file-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/file-command-handler.mjs +5 -14
- package/dist/lib/esm/command-handlers/folder-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/folder-command-handler.mjs +5 -14
- package/dist/lib/esm/command-handlers/global-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/global-command-handler.mjs +3 -12
- package/dist/lib/esm/command-handlers/index.d.mts +1 -1
- package/dist/lib/esm/command-handlers/index.mjs +1 -37
- package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.mjs +2 -11
- package/dist/lib/esm/command-handlers/open-settings-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/open-settings-command-handler.mjs +1 -37
- package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.d.mts +1 -1
- package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.mjs +1 -37
- package/dist/lib/esm/command-registrar.d.mts +1 -1
- package/dist/lib/esm/command-registrar.mjs +1 -37
- package/dist/lib/esm/community-plugins.d.mts +1 -1
- package/dist/lib/esm/community-plugins.mjs +2 -11
- package/dist/lib/esm/components/abort-signal-component.d.mts +2 -1
- package/dist/lib/esm/components/abort-signal-component.mjs +2 -11
- package/dist/lib/esm/components/all-windows-event-component.d.mts +2 -1
- package/dist/lib/esm/components/all-windows-event-component.mjs +1 -37
- package/dist/lib/esm/components/async-error-handler-component.d.mts +1 -1
- package/dist/lib/esm/components/async-error-handler-component.mjs +2 -11
- package/dist/lib/esm/components/async-events-component.d.mts +1 -1
- package/dist/lib/esm/components/async-events-component.mjs +2 -11
- package/dist/lib/esm/components/case-insensitive-file-index-component.d.mts +1 -1
- package/dist/lib/esm/components/case-insensitive-file-index-component.mjs +1 -37
- package/dist/lib/esm/components/component-ex.d.mts +1 -1
- package/dist/lib/esm/components/component-ex.mjs +3 -6
- package/dist/lib/esm/components/console-debug-component.d.mts +1 -1
- package/dist/lib/esm/components/console-debug-component.mjs +2 -11
- package/dist/lib/esm/components/core-plugin-toggle-component.d.mts +1 -1
- package/dist/lib/esm/components/core-plugin-toggle-component.mjs +2 -11
- package/dist/lib/esm/components/disposable-component.d.mts +1 -1
- package/dist/lib/esm/components/disposable-component.mjs +3 -6
- package/dist/lib/esm/components/embed-extensions-component.d.mts +1 -1
- package/dist/lib/esm/components/embed-extensions-component.mjs +1 -37
- package/dist/lib/esm/components/generate-markdown-link-default-params-component.d.mts +1 -1
- package/dist/lib/esm/components/generate-markdown-link-default-params-component.mjs +1 -37
- package/dist/lib/esm/components/index.d.mts +1 -1
- package/dist/lib/esm/components/index.mjs +1 -37
- package/dist/lib/esm/components/layout-ready-component.d.mts +1 -1
- package/dist/lib/esm/components/layout-ready-component.mjs +2 -11
- package/dist/lib/esm/components/menu-event-registrar-component.d.mts +1 -1
- package/dist/lib/esm/components/menu-event-registrar-component.mjs +1 -37
- package/dist/lib/esm/components/monkey-around-component.d.mts +1 -1
- package/dist/lib/esm/components/monkey-around-component.mjs +2 -11
- package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.d.mts +1 -1
- package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.mjs +2 -11
- package/dist/lib/esm/components/plugin-context-component.d.mts +1 -1
- package/dist/lib/esm/components/plugin-context-component.mjs +2 -11
- package/dist/lib/esm/components/plugin-gate-component.d.mts +2 -1
- package/dist/lib/esm/components/plugin-gate-component.mjs +2 -11
- package/dist/lib/esm/components/plugin-notice-component.d.mts +2 -1
- package/dist/lib/esm/components/plugin-notice-component.mjs +3 -6
- package/dist/lib/esm/components/plugin-settings-component.d.mts +1 -1
- package/dist/lib/esm/components/plugin-settings-component.mjs +2 -11
- package/dist/lib/esm/components/plugin-settings-tab-component.d.mts +1 -1
- package/dist/lib/esm/components/plugin-settings-tab-component.mjs +2 -11
- package/dist/lib/esm/components/plugin-suggestion-component.d.mts +2 -1
- package/dist/lib/esm/components/plugin-suggestion-component.mjs +2 -11
- package/dist/lib/esm/components/pointer-position-component.d.mts +1 -1
- package/dist/lib/esm/components/pointer-position-component.mjs +1 -37
- package/dist/lib/esm/components/registry-component.d.mts +1 -1
- package/dist/lib/esm/components/registry-component.mjs +2 -11
- package/dist/lib/esm/components/release-notes-component.d.mts +2 -1
- package/dist/lib/esm/components/release-notes-component.mjs +2 -11
- package/dist/lib/esm/components/rename-delete-handler-component.d.mts +1 -1
- package/dist/lib/esm/components/rename-delete-handler-component.mjs +3 -6
- package/dist/lib/esm/components/rmdir-guard-component.d.mts +1 -1
- package/dist/lib/esm/components/rmdir-guard-component.mjs +1 -37
- package/dist/lib/esm/components/settings-migration-component.d.mts +1 -1
- package/dist/lib/esm/components/settings-migration-component.mjs +2 -11
- package/dist/lib/esm/components/syntax-highlighting-component.d.mts +1 -1
- package/dist/lib/esm/components/syntax-highlighting-component.mjs +2 -11
- package/dist/lib/esm/components/templates-language-component.d.mts +1 -1
- package/dist/lib/esm/components/templates-language-component.mjs +3 -39
- package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.d.mts +1 -1
- package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.mjs +3 -6
- package/dist/lib/esm/constructors/index.d.mts +1 -1
- package/dist/lib/esm/constructors/index.mjs +1 -37
- package/dist/lib/esm/css-class.d.mts +1 -1
- package/dist/lib/esm/css-class.mjs +1 -37
- package/dist/lib/esm/data-handler.d.mts +1 -1
- package/dist/lib/esm/data-handler.mjs +1 -37
- package/dist/lib/esm/dataview-link.d.mts +1 -1
- package/dist/lib/esm/dataview-link.mjs +2 -11
- package/dist/lib/esm/dataview.d.mts +2 -1
- package/dist/lib/esm/dataview.mjs +2 -11
- package/dist/lib/esm/debug.d.mts +1 -1
- package/dist/lib/esm/debug.mjs +2 -11
- package/dist/lib/esm/demo-vault-helper-settings.d.mts +1 -1
- package/dist/lib/esm/demo-vault-helper-settings.mjs +0 -36
- package/dist/lib/esm/demo-vault-helper.d.mts +1 -1
- package/dist/lib/esm/demo-vault-helper.mjs +2 -11
- package/dist/lib/esm/demo-vault-naming.d.mts +1 -1
- package/dist/lib/esm/demo-vault-naming.mjs +1 -37
- package/dist/lib/esm/desktop-demo-vault-opener.d.mts +1 -1
- package/dist/lib/esm/desktop-demo-vault-opener.mjs +3 -6
- package/dist/lib/esm/desktop-trusted-input.d.mts +2 -1
- package/dist/lib/esm/desktop-trusted-input.mjs +2 -11
- package/dist/lib/esm/editor-extension-registrar.d.mts +1 -1
- package/dist/lib/esm/editor-extension-registrar.mjs +2 -11
- package/dist/lib/esm/editor-suggest-registrar.d.mts +1 -1
- package/dist/lib/esm/editor-suggest-registrar.mjs +2 -11
- package/dist/lib/esm/editor.d.mts +1 -1
- package/dist/lib/esm/editor.mjs +2 -11
- package/dist/lib/esm/events.d.mts +1 -1
- package/dist/lib/esm/events.mjs +2 -11
- package/dist/lib/esm/extensions-registrar.d.mts +1 -1
- package/dist/lib/esm/extensions-registrar.mjs +2 -11
- package/dist/lib/esm/file-change.d.mts +2 -1
- package/dist/lib/esm/file-change.mjs +2 -11
- package/dist/lib/esm/file-explorer.d.mts +1 -1
- package/dist/lib/esm/file-explorer.mjs +2 -11
- package/dist/lib/esm/file-manager.d.mts +2 -1
- package/dist/lib/esm/file-manager.mjs +2 -11
- package/dist/lib/esm/file-system.d.mts +1 -1
- package/dist/lib/esm/file-system.mjs +2 -11
- package/dist/lib/esm/folder-note.d.mts +1 -1
- package/dist/lib/esm/folder-note.mjs +2 -11
- package/dist/lib/esm/frontmatter-formatting.d.mts +1 -1
- package/dist/lib/esm/frontmatter-formatting.mjs +2 -11
- package/dist/lib/esm/frontmatter-link-cache-with-offsets.d.mts +1 -1
- package/dist/lib/esm/frontmatter-link-cache-with-offsets.mjs +2 -11
- package/dist/lib/esm/frontmatter.d.mts +1 -1
- package/dist/lib/esm/frontmatter.mjs +2 -11
- package/dist/lib/esm/generated-during-build.d.mts +1 -1
- package/dist/lib/esm/generated-during-build.mjs +2 -38
- package/dist/lib/esm/hover-link-source-registrar.d.mts +1 -1
- package/dist/lib/esm/hover-link-source-registrar.mjs +2 -11
- package/dist/lib/esm/html-element.d.mts +2 -1
- package/dist/lib/esm/html-element.mjs +1 -37
- package/dist/lib/esm/i18n/custom-type-options.d.mts +1 -1
- package/dist/lib/esm/i18n/custom-type-options.mjs +1 -37
- package/dist/lib/esm/i18n/default-translations.d.mts +1 -1
- package/dist/lib/esm/i18n/default-translations.mjs +1 -37
- package/dist/lib/esm/i18n/i18n.d.mts +1 -1
- package/dist/lib/esm/i18n/i18n.mjs +2 -11
- package/dist/lib/esm/i18n/index.d.mts +1 -1
- package/dist/lib/esm/i18n/index.mjs +1 -37
- package/dist/lib/esm/i18n/locales/en.d.mts +1 -1
- package/dist/lib/esm/i18n/locales/en.mjs +1 -37
- package/dist/lib/esm/i18n/locales/index.d.mts +1 -1
- package/dist/lib/esm/i18n/locales/index.mjs +1 -37
- package/dist/lib/esm/i18n/locales/translations-map.d.mts +1 -1
- package/dist/lib/esm/i18n/locales/translations-map.mjs +1 -37
- package/dist/lib/esm/index.d.mts +1 -1
- package/dist/lib/esm/index.mjs +1 -37
- package/dist/lib/esm/is-in-obsidian.d.mts +1 -1
- package/dist/lib/esm/is-in-obsidian.mjs +1 -37
- package/dist/lib/esm/library-references.d.mts +2 -0
- package/dist/lib/esm/library-styles.d.mts +2 -1
- package/dist/lib/esm/library-styles.mjs +2 -11
- package/dist/lib/esm/library.mjs +1 -37
- package/dist/lib/esm/link-name.d.mts +1 -1
- package/dist/lib/esm/link-name.mjs +1 -37
- package/dist/lib/esm/link-update-progress.d.mts +1 -1
- package/dist/lib/esm/link-update-progress.mjs +0 -36
- package/dist/lib/esm/link.d.mts +2 -1
- package/dist/lib/esm/link.mjs +3 -6
- package/dist/lib/esm/logger.d.mts +2 -1
- package/dist/lib/esm/logger.mjs +2 -11
- package/dist/lib/esm/loop.d.mts +2 -1
- package/dist/lib/esm/loop.mjs +3 -6
- package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +2 -1
- package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +2 -11
- package/dist/lib/esm/markdown-code-block-processor.d.mts +2 -1
- package/dist/lib/esm/markdown-code-block-processor.mjs +2 -11
- package/dist/lib/esm/markdown-post-processor-registrar.d.mts +2 -1
- package/dist/lib/esm/markdown-post-processor-registrar.mjs +2 -11
- package/dist/lib/esm/markdown-view.d.mts +1 -1
- package/dist/lib/esm/markdown-view.mjs +1 -37
- package/dist/lib/esm/markdown.d.mts +2 -1
- package/dist/lib/esm/markdown.mjs +3 -6
- package/dist/lib/esm/menu-event-registrar.d.mts +1 -1
- package/dist/lib/esm/menu-event-registrar.mjs +0 -36
- package/dist/lib/esm/metadata-cache.d.mts +1 -1
- package/dist/lib/esm/metadata-cache.mjs +3 -6
- package/dist/lib/esm/mobile-trusted-input.d.mts +1 -1
- package/dist/lib/esm/mobile-trusted-input.mjs +1 -37
- package/dist/lib/esm/modals/alert.d.mts +2 -1
- package/dist/lib/esm/modals/alert.mjs +2 -11
- package/dist/lib/esm/modals/confirm.d.mts +2 -1
- package/dist/lib/esm/modals/confirm.mjs +2 -11
- package/dist/lib/esm/modals/index.d.mts +1 -1
- package/dist/lib/esm/modals/index.mjs +1 -37
- package/dist/lib/esm/modals/minimizable-modal.d.mts +1 -1
- package/dist/lib/esm/modals/minimizable-modal.mjs +2 -11
- package/dist/lib/esm/modals/modal-command-builder.d.mts +2 -1
- package/dist/lib/esm/modals/modal-command-builder.mjs +2 -11
- package/dist/lib/esm/modals/modal.d.mts +1 -1
- package/dist/lib/esm/modals/modal.mjs +2 -11
- package/dist/lib/esm/modals/prompt.d.mts +2 -1
- package/dist/lib/esm/modals/prompt.mjs +2 -11
- package/dist/lib/esm/modals/select-item.d.mts +1 -1
- package/dist/lib/esm/modals/select-item.mjs +2 -11
- package/dist/lib/esm/modals/select-option.d.mts +2 -1
- package/dist/lib/esm/modals/select-option.mjs +2 -11
- package/dist/lib/esm/modals/suggest-modal-command-builder.d.mts +1 -1
- package/dist/lib/esm/modals/suggest-modal-command-builder.mjs +1 -37
- package/dist/lib/esm/note-priority.d.mts +1 -1
- package/dist/lib/esm/note-priority.mjs +2 -11
- package/dist/lib/esm/notebook-navigator.d.mts +1 -1
- package/dist/lib/esm/notebook-navigator.mjs +1 -37
- package/dist/lib/esm/obsidian-dev-utils-state.d.mts +1 -1
- package/dist/lib/esm/obsidian-dev-utils-state.mjs +2 -11
- package/dist/lib/esm/obsidian-protocol-handler-registrar.d.mts +1 -1
- package/dist/lib/esm/obsidian-protocol-handler-registrar.mjs +2 -11
- package/dist/lib/esm/obsidian-settings.d.mts +1 -1
- package/dist/lib/esm/obsidian-settings.mjs +2 -11
- package/dist/lib/esm/parse-link.d.mts +1 -1
- package/dist/lib/esm/parse-link.mjs +2 -11
- package/dist/lib/esm/path-settings.d.mts +1 -1
- package/dist/lib/esm/path-settings.mjs +2 -11
- package/dist/lib/esm/pdf.d.mts +2 -1
- package/dist/lib/esm/pdf.mjs +2 -11
- package/dist/lib/esm/plugin/index.d.mts +1 -1
- package/dist/lib/esm/plugin/index.mjs +1 -37
- package/dist/lib/esm/plugin/plugin-api-schema.d.mts +1 -1
- package/dist/lib/esm/plugin/plugin-api-schema.mjs +2 -11
- package/dist/lib/esm/plugin/plugin-api.d.mts +1 -1
- package/dist/lib/esm/plugin/plugin-api.mjs +2 -11
- package/dist/lib/esm/plugin/plugin-context.d.mts +2 -1
- package/dist/lib/esm/plugin/plugin-context.mjs +2 -11
- package/dist/lib/esm/plugin/plugin-event-source.d.mts +1 -1
- package/dist/lib/esm/plugin/plugin-event-source.mjs +1 -37
- package/dist/lib/esm/plugin/plugin-install-state.d.mts +1 -1
- package/dist/lib/esm/plugin/plugin-install-state.mjs +1 -37
- package/dist/lib/esm/plugin/plugin-lifecycle-events.d.mts +1 -1
- package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +1 -37
- package/dist/lib/esm/plugin/plugin-settings-tab.d.mts +2 -1
- package/dist/lib/esm/plugin/plugin-settings-tab.mjs +2 -11
- package/dist/lib/esm/plugin/plugin.d.mts +1 -1
- package/dist/lib/esm/plugin/plugin.mjs +2 -11
- package/dist/lib/esm/plugin/settings-migration-api.d.mts +1 -1
- package/dist/lib/esm/plugin/settings-migration-api.mjs +2 -11
- package/dist/lib/esm/plugin-cli-handler-registrar.d.mts +1 -1
- package/dist/lib/esm/plugin-cli-handler-registrar.mjs +2 -11
- package/dist/lib/esm/popovers/field-popover.d.mts +1 -1
- package/dist/lib/esm/popovers/field-popover.mjs +2 -11
- package/dist/lib/esm/popovers/index.d.mts +1 -1
- package/dist/lib/esm/popovers/index.mjs +1 -37
- package/dist/lib/esm/popovers/popover-anchor.d.mts +2 -1
- package/dist/lib/esm/popovers/popover-anchor.mjs +2 -11
- package/dist/lib/esm/popovers/popover.d.mts +2 -1
- package/dist/lib/esm/popovers/popover.mjs +2 -11
- package/dist/lib/esm/property-entry.d.mts +1 -1
- package/dist/lib/esm/property-entry.mjs +1 -37
- package/dist/lib/esm/queue.d.mts +2 -1
- package/dist/lib/esm/queue.mjs +2 -11
- package/dist/lib/esm/react/app-context.d.mts +1 -1
- package/dist/lib/esm/react/app-context.mjs +2 -11
- package/dist/lib/esm/react/index.d.mts +1 -1
- package/dist/lib/esm/react/index.mjs +1 -37
- package/dist/lib/esm/reference.d.mts +1 -1
- package/dist/lib/esm/reference.mjs +2 -11
- package/dist/lib/esm/resource-lock.d.mts +2 -1
- package/dist/lib/esm/resource-lock.mjs +2 -11
- package/dist/lib/esm/resource-url.d.mts +1 -1
- package/dist/lib/esm/resource-url.mjs +2 -11
- package/dist/lib/esm/ribbon-icon-registrar.d.mts +2 -1
- package/dist/lib/esm/ribbon-icon-registrar.mjs +2 -11
- package/dist/lib/esm/setting-components/checkbox-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/checkbox-component.mjs +2 -11
- package/dist/lib/esm/setting-components/code-highlighter-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/code-highlighter-component.mjs +2 -11
- package/dist/lib/esm/setting-components/date-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/date-component.mjs +2 -11
- package/dist/lib/esm/setting-components/date-time-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/date-time-component.mjs +2 -11
- package/dist/lib/esm/setting-components/email-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/email-component.mjs +1 -37
- package/dist/lib/esm/setting-components/file-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/file-component.mjs +1 -37
- package/dist/lib/esm/setting-components/index.d.mts +1 -1
- package/dist/lib/esm/setting-components/index.mjs +1 -37
- package/dist/lib/esm/setting-components/month-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/month-component.mjs +2 -11
- package/dist/lib/esm/setting-components/multiple-dropdown-component.d.mts +3 -1
- package/dist/lib/esm/setting-components/multiple-dropdown-component.mjs +2 -11
- package/dist/lib/esm/setting-components/multiple-email-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/multiple-email-component.mjs +1 -37
- package/dist/lib/esm/setting-components/multiple-file-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/multiple-file-component.mjs +2 -11
- package/dist/lib/esm/setting-components/multiple-text-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/multiple-text-component.mjs +2 -11
- package/dist/lib/esm/setting-components/number-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/number-component.mjs +1 -37
- package/dist/lib/esm/setting-components/password-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/password-component.mjs +1 -37
- package/dist/lib/esm/setting-components/setting-component-wrapper.d.mts +2 -1
- package/dist/lib/esm/setting-components/setting-component-wrapper.mjs +2 -11
- package/dist/lib/esm/setting-components/telephone-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/telephone-component.mjs +1 -37
- package/dist/lib/esm/setting-components/text-based-component.d.mts +1 -1
- package/dist/lib/esm/setting-components/text-based-component.mjs +2 -11
- package/dist/lib/esm/setting-components/time-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/time-component.mjs +2 -11
- package/dist/lib/esm/setting-components/tri-state-checkbox-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/tri-state-checkbox-component.mjs +2 -11
- package/dist/lib/esm/setting-components/typed-dropdown-component.d.mts +3 -1
- package/dist/lib/esm/setting-components/typed-dropdown-component.mjs +2 -11
- package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.d.mts +3 -1
- package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.mjs +2 -11
- package/dist/lib/esm/setting-components/typed-range-text-component.d.mts +1 -1
- package/dist/lib/esm/setting-components/typed-range-text-component.mjs +1 -37
- package/dist/lib/esm/setting-components/typed-text-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/typed-text-component.mjs +2 -11
- package/dist/lib/esm/setting-components/url-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/url-component.mjs +1 -37
- package/dist/lib/esm/setting-components/validator-component.d.mts +1 -1
- package/dist/lib/esm/setting-components/validator-component.mjs +2 -11
- package/dist/lib/esm/setting-components/value-component-with-change-tracking.d.mts +1 -1
- package/dist/lib/esm/setting-components/value-component-with-change-tracking.mjs +0 -36
- package/dist/lib/esm/setting-components/week-component.d.mts +2 -1
- package/dist/lib/esm/setting-components/week-component.mjs +2 -11
- package/dist/lib/esm/setting-ex.d.mts +2 -1
- package/dist/lib/esm/setting-ex.mjs +2 -11
- package/dist/lib/esm/setting-group-ex.d.mts +2 -1
- package/dist/lib/esm/setting-group-ex.mjs +2 -11
- package/dist/lib/esm/status-bar-item-registrar.d.mts +2 -1
- package/dist/lib/esm/status-bar-item-registrar.mjs +2 -11
- package/dist/lib/esm/templater.d.mts +1 -1
- package/dist/lib/esm/templater.mjs +1 -37
- package/dist/lib/esm/transformers/duration-transformer.d.mts +1 -1
- package/dist/lib/esm/transformers/duration-transformer.mjs +2 -11
- package/dist/lib/esm/transformers/index.d.mts +1 -1
- package/dist/lib/esm/transformers/index.mjs +1 -37
- package/dist/lib/esm/trusted-input.d.mts +1 -1
- package/dist/lib/esm/trusted-input.mjs +2 -11
- package/dist/lib/esm/validation.d.mts +1 -1
- package/dist/lib/esm/validation.mjs +2 -11
- package/dist/lib/esm/vault-delete.d.mts +1 -1
- package/dist/lib/esm/vault-delete.mjs +2 -11
- package/dist/lib/esm/vault-transaction.d.mts +1 -1
- package/dist/lib/esm/vault-transaction.mjs +3 -6
- package/dist/lib/esm/vault.d.mts +1 -1
- package/dist/lib/esm/vault.mjs +3 -6
- package/dist/lib/esm/view-registrar.d.mts +1 -1
- package/dist/lib/esm/view-registrar.mjs +2 -11
- package/dist/lib/esm/workspace.d.mts +2 -1
- package/dist/lib/esm/workspace.mjs +2 -11
- package/package.json +15 -4
|
@@ -2,13 +2,7 @@
|
|
|
2
2
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
5
|
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
10
|
-
}
|
|
11
|
-
|
|
12
6
|
function ensureBrowserProcess() {
|
|
13
7
|
const browserProcess = {
|
|
14
8
|
browser: true,
|
|
@@ -33,20 +27,7 @@ function ensureBrowserProcess() {
|
|
|
33
27
|
existingProcessRecord["browser"] = true;
|
|
34
28
|
}
|
|
35
29
|
|
|
36
|
-
|
|
37
|
-
return $unknown;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
(function initCjs() {
|
|
41
|
-
const globalThisRecord = globalThis;
|
|
42
|
-
ensureDisposeSymbols();
|
|
43
|
-
globalThisRecord["__name"] ??= keepName;
|
|
44
|
-
globalThisRecord["__extractDefault"] ??= extractDefault;
|
|
45
|
-
ensureBrowserProcess();
|
|
46
|
-
function extractDefault(module) {
|
|
47
|
-
return module && module.__esModule && "default" in module ? module.default : module;
|
|
48
|
-
}
|
|
49
|
-
})();
|
|
30
|
+
ensureBrowserProcess();
|
|
50
31
|
})();
|
|
51
32
|
(function patchObsidianRequire() {
|
|
52
33
|
const originalRequire = require;
|
|
@@ -159,7 +140,7 @@ var import_type_guards = require('@mnaoumov/typescript-lib/type-guards');
|
|
|
159
140
|
var import_url = require('@mnaoumov/typescript-lib/url');
|
|
160
141
|
var import_implementations = require('@obsidian-typings/obsidian-public-latest/implementations');
|
|
161
142
|
var import_remark = require('remark');
|
|
162
|
-
var import_remark_parse = __toESM(
|
|
143
|
+
var import_remark_parse = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('remark-parse')), 1);
|
|
163
144
|
var import_remark_wiki_link = require('remark-wiki-link');
|
|
164
145
|
var import_unist_util_visit = require('unist-util-visit');
|
|
165
146
|
const SPECIAL_MARKDOWN_LINK_SYMBOLS_REGEX = /[\\[\]<>_*~=`$]/g;
|
|
@@ -535,4 +516,4 @@ function trimWwwAutolinkLiteralEnd(literal) {
|
|
|
535
516
|
toParseLinkReference,
|
|
536
517
|
unescapeAlias
|
|
537
518
|
});
|
|
538
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BhcnNlLWxpbmsudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXRpZXMgZm9yIHBhcnNpbmcgbWFya2Rvd24gYW5kIHdpa2kgbGlua3MgaW50byBzdHJ1Y3R1cmVkIGRhdGEsIGFuZCBmb3JcbiAqIGVzY2FwaW5nLCB1bmVzY2FwaW5nLCBhbmQgZW5jb2RpbmcgbGluayBjb21wb25lbnRzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlLWd1YXJkcyc7XG5pbXBvcnQgdHlwZSB7IExpbmsgfSBmcm9tICdtZGFzdCc7XG5pbXBvcnQgdHlwZSB7XG4gIEZyb250bWF0dGVyTGlua0NhY2hlLFxuICBMb2MsXG4gIFJlZmVyZW5jZSxcbiAgUmVmZXJlbmNlQ2FjaGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBOb2RlIH0gZnJvbSAndW5pc3QnO1xuXG5pbXBvcnQgeyBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXMgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvb2JqZWN0LXV0aWxzJztcbmltcG9ydCB7IGdldE1hbmRhdG9yeU5hbWVkR3JvdXAgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcmVnLWV4cCc7XG5pbXBvcnQgeyByZXBsYWNlQWxsIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0cmluZyc7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlLWd1YXJkcyc7XG5pbXBvcnQge1xuICBlbmNvZGVVcmwsXG4gIGlzRmlsZVVybCxcbiAgaXNVcmxcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3VybCc7XG5pbXBvcnQgeyBpc0Zyb250bWF0dGVyTGlua0NhY2hlIH0gZnJvbSAnQG9ic2lkaWFuLXR5cGluZ3Mvb2JzaWRpYW4tcHVibGljLWxhdGVzdC9pbXBsZW1lbnRhdGlvbnMnO1xuaW1wb3J0IHsgcmVtYXJrIH0gZnJvbSAncmVtYXJrJztcbmltcG9ydCByZW1hcmtQYXJzZSBmcm9tICdyZW1hcmstcGFyc2UnO1xuaW1wb3J0IHsgd2lraUxpbmtQbHVnaW4gfSBmcm9tICdyZW1hcmstd2lraS1saW5rJztcbmltcG9ydCB7IHZpc2l0IH0gZnJvbSAndW5pc3QtdXRpbC12aXNpdCc7XG5cbi8qKlxuICogUmVndWxhciBleHByZXNzaW9uIGZvciBzcGVjaWFsIG1hcmtkb3duIGxpbmsgc3ltYm9scy5cbiAqL1xuY29uc3QgU1BFQ0lBTF9NQVJLRE9XTl9MSU5LX1NZTUJPTFNfUkVHRVggPSAvW1xcXFxbXFxdPD5fKn49YCRdL2c7XG5cbmNvbnN0IFdJS0lMSU5LX0RJVklERVIgPSAnfCc7XG5cbi8qKlxuICogTWF0Y2hlcyBhIGNhbmRpZGF0ZSBHRk0gZXh0ZW5kZWQgYHd3dy5gIGF1dG9saW5rIGxpdGVyYWw6IGB3d3cuYCBhdCB0aGUgc3RhcnQgb2YgdGhlIHRleHQgb3IgYWZ0ZXJcbiAqIHdoaXRlc3BhY2UsIGAqYCwgYF9gLCBgfmAsIGAoYCBvciBgPGAsIHJ1bm5pbmcgdXAgdG8gdGhlIG5leHQgd2hpdGVzcGFjZSwgYDxgIG9yIGA+YC4gR0ZNIGl0c2VsZlxuICoga2VlcHMgYSBjbG9zaW5nIGA+YCBpbiB0aGUgbGl0ZXJhbCAoT2JzaWRpYW4gcmVuZGVycyBgPHd3dy5leGFtcGxlLmNvbT5gIHdpdGggYW4gaHJlZiBlbmRpbmcgaW5cbiAqIGAlM0VgKTsgc3RvcHBpbmcgYmVmb3JlIGl0IGlzIGRlbGliZXJhdGUsIHNvIHRoZSBicmFja2V0cyBjYW4gYmUgcmVwb3J0ZWQgYXJvdW5kIHRoZSBsaXRlcmFsIGluc3RlYWQuXG4gKlxuICogVGhlIHByZWNlZGluZyBjaGFyYWN0ZXIgaXMgY29uc3VtZWQgYW5kIHRoZSBsaXRlcmFsIGNhcHR1cmVkIGFzIGBMaXRlcmFsYCwgYmVjYXVzZSBhIGxvb2tiZWhpbmQgaXMgYVxuICogc3ludGF4IGVycm9yIG9uIGlPUyBiZWZvcmUgMTYuNCwgYmVsb3cgdGhlIGlPUyAxNSBPYnNpZGlhbiBtb2JpbGUgc3RpbGwgc3VwcG9ydHMuIENvbnN1bWluZyBpdCBsb3NlcyBub1xuICogY2FuZGlkYXRlOiBhIG1hdGNoIGVuZHMgYmVmb3JlIHdoaXRlc3BhY2UsIGA8YCwgYD5gIG9yIHRoZSBlbmQsIHNvIHRoZSBjaGFyYWN0ZXIgYSBmb2xsb3dpbmcgY2FuZGlkYXRlXG4gKiBuZWVkcyBpcyBuZXZlciBwYXJ0IG9mIHRoZSBwcmV2aW91cyBtYXRjaC5cbiAqL1xuY29uc3QgV1dXX0FVVE9MSU5LX0xJVEVSQUxfQ0FORElEQVRFX1JFR19FWFAgPSAvKD86XnxbXFxzKCo8X35dKSg/PExpdGVyYWw+d3d3XFwuW15cXHM8Pl0qKS9nO1xuXG4vKipcbiAqIE1hdGNoZXMgdGhlIGRvbWFpbiBvZiBhIEdGTSBleHRlbmRlZCBgd3d3LmAgYXV0b2xpbmsgbGl0ZXJhbDogc2VnbWVudHMgb2YgbGV0dGVycywgZGlnaXRzLFxuICogdW5kZXJzY29yZXMgYW5kIGh5cGhlbnMgc2VwYXJhdGVkIGJ5IHBlcmlvZHMuXG4gKi9cbmNvbnN0IFdXV19BVVRPTElOS19MSVRFUkFMX0RPTUFJTl9SRUdfRVhQID0gL153d3coPzpcXC5bXFxwe0x9XFxwe059Xy1dKykrL3U7XG5cbi8qKlxuICogVGhlIGNoYXJhY3RlcnMgR0ZNIGRyb3BzIGZyb20gdGhlIGVuZCBvZiBhbiBleHRlbmRlZCBhdXRvbGluay5cbiAqL1xuY29uc3QgV1dXX0FVVE9MSU5LX0xJVEVSQUxfVFJBSUxJTkdfUFVOQ1RVQVRJT04gPSBuZXcgU2V0KFsnXycsICcsJywgJzonLCAnIScsICc/JywgJy4nLCAnKicsICd+J10pO1xuXG4vKipcbiAqIE1hdGNoZXMgYW4gZW50aXR5IHJlZmVyZW5jZSBhdCB0aGUgZW5kIG9mIGFuIGV4dGVuZGVkIGF1dG9saW5rLCB3aGljaCBHRk0gZHJvcHMuXG4gKi9cbmNvbnN0IFRSQUlMSU5HX0VOVElUWV9SRUZFUkVOQ0VfUkVHX0VYUCA9IC8mW1xcZEEtWmEtel0rOyQvO1xuXG4vKipcbiAqIFRoZSBzY2hlbWUgT2JzaWRpYW4gb3BlbnMgYSBHRk0gZXh0ZW5kZWQgYHd3dy5gIGF1dG9saW5rIGxpdGVyYWwgd2l0aC5cbiAqL1xuY29uc3QgV1dXX0FVVE9MSU5LX0xJVEVSQUxfU0NIRU1FID0gJ2h0dHA6Ly8nO1xuXG4vKipcbiAqIFRoZSByZXN1bHQgb2YgcGFyc2luZyB0aGUgbGlua3MgZnJvbSBhIG5vdGUncyBmcm9udG1hdHRlciB2aWEge0BsaW5rIHBhcnNlRnJvbnRtYXR0ZXJMaW5rc30uIEludGVybmFsXG4gKiBzaW5nbGUtbGluayBmcm9udG1hdHRlciB2YWx1ZXMgYXJlIG9taXR0ZWQsIGFzIE9ic2lkaWFuIG5hdGl2ZWx5IGNhY2hlcyB0aGVtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlRnJvbnRtYXR0ZXJMaW5rc1Jlc3VsdCB7XG4gIC8qKlxuICAgKiBUaGUgZXh0ZXJuYWwgbGlua3MgcGFyc2VkIGZyb20gc2luZ2xlLWxpbmsgKHNpbmdsZS12YWx1ZSkgZnJvbnRtYXR0ZXIgdmFsdWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZnJvbnRtYXR0ZXJFeHRlcm5hbExpbmtzOiBQYXJzZUxpbmtGcm9udG1hdHRlclJlZmVyZW5jZVtdO1xuXG4gIC8qKlxuICAgKiBUaGUgZXh0ZXJuYWwgbGlua3MgcGFyc2VkIGZyb20gbXVsdGktbGluayAobXVsdGktdmFsdWUpIGZyb250bWF0dGVyIHZhbHVlcy5cbiAgICovXG4gIHJlYWRvbmx5IG11bHRpVmFsdWVGcm9udG1hdHRlckV4dGVybmFsTGlua3M6IFBhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlV2l0aE9mZnNldHNbXTtcblxuICAvKipcbiAgICogVGhlIGludGVybmFsIGxpbmtzIHBhcnNlZCBmcm9tIG11bHRpLWxpbmsgKG11bHRpLXZhbHVlKSBmcm9udG1hdHRlciB2YWx1ZXMuXG4gICAqL1xuICByZWFkb25seSBtdWx0aVZhbHVlRnJvbnRtYXR0ZXJMaW5rczogUGFyc2VMaW5rRnJvbnRtYXR0ZXJSZWZlcmVuY2VXaXRoT2Zmc2V0c1tdO1xufVxuXG4vKipcbiAqIEEge0BsaW5rIEZyb250bWF0dGVyTGlua0NhY2hlfSBmb3IgYSBsaW5rIHBhcnNlZCBmcm9tIGEgc2luZ2xlLWxpbmsgZnJvbnRtYXR0ZXIgdmFsdWUgdmlhXG4gKiB7QGxpbmsgcGFyc2VMaW5rc30uIEl0IGNhcnJpZXMgdGhlIGZ1bGwge0BsaW5rIFBhcnNlTGlua1Jlc3VsdH0gc28gY29uc3VtZXJzIGNhbiBpbnNwZWN0IHRoZSBwYXJzZVxuICogZGV0YWlscyB3aXRob3V0IHJlLXBhcnNpbmcgdGhlIGxpbmsuIFVzZSB0aGlzIHdoZW4gdGhlIHdob2xlIGZyb250bWF0dGVyIHZhbHVlIGlzIGEgc2luZ2xlIGxpbmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VMaW5rRnJvbnRtYXR0ZXJSZWZlcmVuY2UgZXh0ZW5kcyBGcm9udG1hdHRlckxpbmtDYWNoZSB7XG4gIC8qKlxuICAgKiBUaGUgcmVzdWx0IG9mIHBhcnNpbmcgdGhlIGxpbmsuXG4gICAqL1xuICByZWFkb25seSBwYXJzZUxpbmtSZXN1bHQ6IFBhcnNlTGlua1Jlc3VsdDtcbn1cblxuLyoqXG4gKiBBIHtAbGluayBQYXJzZUxpbmtGcm9udG1hdHRlclJlZmVyZW5jZX0gZm9yIGEgbGluayBwYXJzZWQgZnJvbSBhIG11bHRpLWxpbmsgZnJvbnRtYXR0ZXIgdmFsdWUgdmlhXG4gKiB7QGxpbmsgcGFyc2VMaW5rc30sIGFkZGl0aW9uYWxseSBjYXJyeWluZyB0aGUgb2Zmc2V0cyBvZiB0aGUgbGluayB3aXRoaW4gdGhlIGZyb250bWF0dGVyIHZhbHVlLiBVc2VcbiAqIHRoaXMgd2hlbiB0aGUgZnJvbnRtYXR0ZXIgdmFsdWUgaG9sZHMgbXVsdGlwbGUgbGlua3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VMaW5rRnJvbnRtYXR0ZXJSZWZlcmVuY2VXaXRoT2Zmc2V0cyBleHRlbmRzIFBhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlIHtcbiAgLyoqXG4gICAqIEFuIGVuZCBvZmZzZXQgb2YgdGhlIGxpbmsgaW4gdGhlIGZyb250bWF0dGVyIHZhbHVlLlxuICAgKi9cbiAgZW5kT2Zmc2V0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEEgc3RhcnQgb2Zmc2V0IG9mIHRoZSBsaW5rIGluIHRoZSBmcm9udG1hdHRlciB2YWx1ZS5cbiAgICovXG4gIHN0YXJ0T2Zmc2V0OiBudW1iZXI7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIHBhcnNlTGlua30uIFRoZSBzYW1lIGFzIHtAbGluayBQYXJzZUxpbmtzT3B0aW9uc30uXG4gKi9cbmV4cG9ydCB0eXBlIFBhcnNlTGlua09wdGlvbnMgPSBQYXJzZUxpbmtzT3B0aW9ucztcblxuLyoqXG4gKiBBIHtAbGluayBSZWZlcmVuY2VDYWNoZX0gZm9yIGEgbGluayBwYXJzZWQgZnJvbSBjb250ZW50IHZpYSB7QGxpbmsgcGFyc2VMaW5rc30uIEl0IGNhcnJpZXMgdGhlIGZ1bGxcbiAqIHtAbGluayBQYXJzZUxpbmtSZXN1bHR9IHNvIGNvbnN1bWVycyBjYW4gaW5zcGVjdCB0aGUgcGFyc2UgZGV0YWlscyB3aXRob3V0IHJlLXBhcnNpbmcgdGhlIGxpbmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VMaW5rUmVmZXJlbmNlIGV4dGVuZHMgUmVmZXJlbmNlQ2FjaGUge1xuICAvKipcbiAgICogVGhlIHJlc3VsdCBvZiBwYXJzaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFyc2VMaW5rUmVzdWx0OiBQYXJzZUxpbmtSZXN1bHQ7XG59XG5cbi8qKlxuICogQSByZXN1bHQgb2YgcGFyc2luZyBhIGxpbmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VMaW5rUmVzdWx0IHtcbiAgLyoqXG4gICAqIEFuIGFsaWFzIG9mIHRoZSBsaW5rLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBcbiAgICogW1xcKmFsaWFzXFwqXShsaW5rLm1kKSAtPiBcXCphbGlhc1xcKlxuICAgKiBgYGBcbiAgICovXG4gIHJlYWRvbmx5IGFsaWFzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBlbmNvZGVkIFVSTCBvZiB0aGUgbGluay5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgXG4gICAqIFthbGlhc10oPGxpbmsgd2l0aCBzcGFjZS5tZD4pIC0+IGxpbmslMjB3aXRoJTIwc3BhY2UubWRcbiAgICogYGBgXG4gICAqL1xuICByZWFkb25seSBlbmNvZGVkVXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBlbmQgb2Zmc2V0IG9mIHRoZSBsaW5rIGluIHRoZSBvcmlnaW5hbCB0ZXh0LlxuICAgKi9cbiAgcmVhZG9ubHkgZW5kT2Zmc2V0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBoYXMgYW5nbGUgYnJhY2tldHMuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYFxuICAgKiBbYWxpYXNdKDxsaW5rLm1kPikgLT4gdHJ1ZVxuICAgKiBbYWxpYXNdKGxpbmsubWQpIC0+IGZhbHNlXG4gICAqIGBgYFxuICAgKi9cbiAgcmVhZG9ubHkgaGFzQW5nbGVCcmFja2V0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBpcyBhbiBlbWJlZCBsaW5rLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBcbiAgICogIVtbYWxpYXNdXSAtPiB0cnVlXG4gICAqIFtbYWxpYXNdXSAtPiBmYWxzZVxuICAgKiBgYGBcbiAgICovXG4gIHJlYWRvbmx5IGlzRW1iZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBpcyBleHRlcm5hbC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgXG4gICAqIFthbGlhc10oaHR0cHM6Ly9leGFtcGxlLmNvbSkgLT4gdHJ1ZVxuICAgKiBbYWxpYXNdKGZpbGUubWQpIC0+IGZhbHNlXG4gICAqIGBgYFxuICAgKi9cbiAgcmVhZG9ubHkgaXNFeHRlcm5hbDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIGlzIGEgYGZpbGU6Ly9gIFVSTC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgXG4gICAqIFthbGlhc10oZmlsZTovLy9DOi94LnR4dCkgLT4gdHJ1ZVxuICAgKiBbYWxpYXNdKGh0dHBzOi8vZXhhbXBsZS5jb20pIC0+IGZhbHNlXG4gICAqIGBgYFxuICAgKi9cbiAgcmVhZG9ubHkgaXNGaWxlVXJsOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgaXMgYSB3aWtpbGluay5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgXG4gICAqIFtbYWxpYXNdXSAtPiB0cnVlXG4gICAqIFthbGlhc10obGluay5tZCkgLT4gZmFsc2VcbiAgICogYGBgXG4gICAqL1xuICByZWFkb25seSBpc1dpa2lsaW5rOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIHJhdyBsaW5rIHRleHQuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYFxuICAgKiBbYWxpYXNdKGxpbmsubWQpIC0+IFthbGlhc10obGluay5tZClcbiAgICogYGBgXG4gICAqL1xuICByZWFkb25seSByYXc6IHN0cmluZztcblxuICAvKipcbiAgICogQSBzdGFydCBvZmZzZXQgb2YgdGhlIGxpbmsgaW4gdGhlIG9yaWdpbmFsIHRleHQuXG4gICAqL1xuICByZWFkb25seSBzdGFydE9mZnNldDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBIHRpdGxlIG9mIHRoZSBsaW5rLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBcbiAgICogW2FsaWFzXShsaW5rLm1kIFwidGl0bGVcIikgLT4gdGl0bGVcbiAgICogYGBgXG4gICAqL1xuICByZWFkb25seSB0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogQW4gdW5lc2NhcGVkIGFsaWFzIG9mIHRoZSBsaW5rLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBcbiAgICogW1xcKmFsaWFzXFwqXShsaW5rLm1kKSAtPiAqYWxpYXMqXG4gICAqIGBgYFxuICAgKi9cbiAgcmVhZG9ubHkgdW5lc2NhcGVkQWxpYXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFuIFVSTCBvZiB0aGUgbGluay5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgXG4gICAqIFthbGlhc10obGluayUyMHdpdGglMjBzcGFjZS5tZCkgLT4gbGluayB3aXRoIHNwYWNlLm1kXG4gICAqIGBgYFxuICAgKi9cbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIHBhcnNlTGlua3N9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlTGlua3NPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVjb2duaXplIEdGTSBleHRlbmRlZCBgd3d3LmAgYXV0b2xpbmsgbGl0ZXJhbHMgKGB3d3cuZXhhbXBsZS5jb21gLCBhbHNvIGluc2lkZVxuICAgKiBgPC4uLj5gKSBhcyBleHRlcm5hbCBsaW5rcywgYXMgT2JzaWRpYW4gZG9lcyBpbiBhIG5vdGUncyBib2R5LiBPYnNpZGlhbiBkb2VzIG5vdCBsaW5rIHRoZW0gaW5cbiAgICogZnJvbnRtYXR0ZXIgdmFsdWVzLCBzbyB7QGxpbmsgcGFyc2VGcm9udG1hdHRlckxpbmtzfSB0dXJucyB0aGlzIG9mZi5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkUmVjb2duaXplV3d3QXV0b2xpbmtMaXRlcmFscz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgdG9QYXJzZUxpbmtSZWZlcmVuY2V9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvUGFyc2VMaW5rUmVmZXJlbmNlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IHRoZSBwYXJzZWQgbGluaydzIG9mZnNldHMgaW5kZXggaW50by4gVXNlZCB0byBjb21wdXRlIHRoZSBsaW5lIGFuZCBjb2x1bW4uXG4gICAqL1xuICByZWFkb25seSBjb250ZW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJzZWQgbGluayB0byB3cmFwLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFyc2VMaW5rUmVzdWx0OiBQYXJzZUxpbmtSZXN1bHQ7XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgRnJvbnRtYXR0ZXJMaW5rc1BhcnNlci5jYXRlZ29yaXplfS5cbiAqL1xuaW50ZXJmYWNlIENhdGVnb3JpemVGcm9udG1hdHRlckxpbmtQYXJhbXMge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgd2hvbGUgZnJvbnRtYXR0ZXIgdmFsdWUgaXMgYSBzaW5nbGUgbGluay5cbiAgICovXG4gIHJlYWRvbmx5IGlzU2luZ2xlTGluazogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGtleSBwYXRoIG9mIHRoZSBmcm9udG1hdHRlciB2YWx1ZS5cbiAgICovXG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyc2VkIGxpbmsuXG4gICAqL1xuICByZWFkb25seSBwYXJzZUxpbmtSZXN1bHQ6IFBhcnNlTGlua1Jlc3VsdDtcblxuICAvKipcbiAgICogVGhlIGZyb250bWF0dGVyIHZhbHVlIHRoZSBsaW5rIHdhcyBwYXJzZWQgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgZGVjb2RlVXJsU2FmZWx5fS5cbiAqL1xuaW50ZXJmYWNlIERlY29kZVVybFNhZmVseVBhcmFtcyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBsaW5rIHVzZXMgYW5nbGUgYnJhY2tldHMuXG4gICAqL1xuICByZWFkb25seSBoYXNBbmdsZUJyYWNrZXRzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBsaW5rIGlzIGV4dGVybmFsLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNFeHRlcm5hbDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBVUkwgdG8gZGVjb2RlLlxuICAgKi9cbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgZXh0cmFjdEFsaWFzfS5cbiAqL1xuaW50ZXJmYWNlIEV4dHJhY3RBbGlhc1BhcmFtcyB7XG4gIC8qKlxuICAgKiBBIHN0cmluZyB0byBleHRyYWN0IHRoZSBhbGlhcyBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgJHN0cmluZzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBlbmQgb2Zmc2V0IG9mIHRoZSBhbGlhcyBpbiB0aGUgc3RyaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxpYXNFbmRPZmZzZXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQSBzdGFydCBvZmZzZXQgb2YgdGhlIGFsaWFzIGluIHRoZSBzdHJpbmcuXG4gICAqL1xuICByZWFkb25seSBhbGlhc1N0YXJ0T2Zmc2V0OiBudW1iZXI7XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgZXh0cmFjdFRleHRMaW5rc30uXG4gKi9cbmludGVyZmFjZSBFeHRyYWN0VGV4dExpbmtzUGFyYW1zIHtcbiAgLyoqXG4gICAqIEEgc3RyaW5nIHRvIGV4dHJhY3QgdGhlIHRleHQgbGlua3MgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5ICRzdHJpbmc6IHN0cmluZztcblxuICAvKipcbiAgICogQW4gZW5kIG9mZnNldCBvZiB0aGUgdGV4dCBwYXJ0IGluIHRoZSBzdHJpbmcuXG4gICAqL1xuICByZWFkb25seSBlbmRPZmZzZXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZWNvZ25pemUgR0ZNIGV4dGVuZGVkIGB3d3cuYCBhdXRvbGluayBsaXRlcmFscy5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFJlY29nbml6ZVd3d0F1dG9saW5rTGl0ZXJhbHM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgc3RhcnQgb2Zmc2V0IG9mIHRoZSB0ZXh0IHBhcnQgaW4gdGhlIHN0cmluZy5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXJ0T2Zmc2V0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBwYXJzZWQgbGlua3MgdG8gYXBwZW5kIHRoZSBleHRyYWN0ZWQgdGV4dCBsaW5rcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IHRleHRMaW5rczogUGFyc2VMaW5rUmVzdWx0W107XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgaGFzQW5nbGVCcmFja2V0c0luTGlua30uXG4gKi9cbmludGVyZmFjZSBIYXNBbmdsZUJyYWNrZXRzSW5MaW5rUGFyYW1zIHtcbiAgLyoqXG4gICAqIEEgcmF3IGxpbmsgdGV4dC5cbiAgICovXG4gIHJlYWRvbmx5IHJhdzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHJhdyBVUkwgb2YgdGhlIGxpbmsuXG4gICAqL1xuICByZWFkb25seSByYXdVcmw6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFdpa2lMaW5rTm9kZSBleHRlbmRzIE5vZGUge1xuICBkYXRhOiBXaWtpTGlua05vZGVEYXRhO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgV2lraUxpbmtOb2RlRGF0YSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgYWxpYXM6IHN0cmluZztcbn1cblxuY2xhc3MgRnJvbnRtYXR0ZXJMaW5rc1BhcnNlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZnJvbnRtYXR0ZXJFeHRlcm5hbExpbmtzOiBQYXJzZUxpbmtGcm9udG1hdHRlclJlZmVyZW5jZVtdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgbXVsdGlWYWx1ZUZyb250bWF0dGVyRXh0ZXJuYWxMaW5rczogUGFyc2VMaW5rRnJvbnRtYXR0ZXJSZWZlcmVuY2VXaXRoT2Zmc2V0c1tdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgbXVsdGlWYWx1ZUZyb250bWF0dGVyTGlua3M6IFBhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlV2l0aE9mZnNldHNbXSA9IFtdO1xuXG4gIHB1YmxpYyBwYXJzZShmcm9udG1hdHRlcjogdW5rbm93bik6IFBhcnNlRnJvbnRtYXR0ZXJMaW5rc1Jlc3VsdCB7XG4gICAgdGhpcy5wYXJzZVZhbHVlKGZyb250bWF0dGVyLCAnJyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZyb250bWF0dGVyRXh0ZXJuYWxMaW5rczogdGhpcy5mcm9udG1hdHRlckV4dGVybmFsTGlua3MsXG4gICAgICBtdWx0aVZhbHVlRnJvbnRtYXR0ZXJFeHRlcm5hbExpbmtzOiB0aGlzLm11bHRpVmFsdWVGcm9udG1hdHRlckV4dGVybmFsTGlua3MsXG4gICAgICBtdWx0aVZhbHVlRnJvbnRtYXR0ZXJMaW5rczogdGhpcy5tdWx0aVZhbHVlRnJvbnRtYXR0ZXJMaW5rc1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNhdGVnb3JpemUocGFyYW1zOiBDYXRlZ29yaXplRnJvbnRtYXR0ZXJMaW5rUGFyYW1zKTogdm9pZCB7XG4gICAgY29uc3QgeyBpc1NpbmdsZUxpbmssIGtleSwgcGFyc2VMaW5rUmVzdWx0LCB2YWx1ZSB9ID0gcGFyYW1zO1xuICAgIGlmICghcGFyc2VMaW5rUmVzdWx0LmlzRXh0ZXJuYWwgJiYgaXNTaW5nbGVMaW5rKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVmZXJlbmNlOiBQYXJzZUxpbmtGcm9udG1hdHRlclJlZmVyZW5jZSA9IHtcbiAgICAgIGRpc3BsYXlUZXh0OiBwYXJzZUxpbmtSZXN1bHQuYWxpYXMgPz8gcGFyc2VMaW5rUmVzdWx0LnVybCxcbiAgICAgIGtleSxcbiAgICAgIGxpbms6IHBhcnNlTGlua1Jlc3VsdC51cmwsXG4gICAgICBvcmlnaW5hbDogdmFsdWUsXG4gICAgICBwYXJzZUxpbmtSZXN1bHRcbiAgICB9O1xuXG4gICAgaWYgKGlzU2luZ2xlTGluaykge1xuICAgICAgdGhpcy5mcm9udG1hdHRlckV4dGVybmFsTGlua3MucHVzaChyZWZlcmVuY2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJlZmVyZW5jZVdpdGhPZmZzZXRzOiBQYXJzZUxpbmtGcm9udG1hdHRlclJlZmVyZW5jZVdpdGhPZmZzZXRzID0ge1xuICAgICAgLi4ucmVmZXJlbmNlLFxuICAgICAgZW5kT2Zmc2V0OiBwYXJzZUxpbmtSZXN1bHQuZW5kT2Zmc2V0LFxuICAgICAgc3RhcnRPZmZzZXQ6IHBhcnNlTGlua1Jlc3VsdC5zdGFydE9mZnNldFxuICAgIH07XG5cbiAgICBpZiAocGFyc2VMaW5rUmVzdWx0LmlzRXh0ZXJuYWwpIHtcbiAgICAgIHRoaXMubXVsdGlWYWx1ZUZyb250bWF0dGVyRXh0ZXJuYWxMaW5rcy5wdXNoKHJlZmVyZW5jZVdpdGhPZmZzZXRzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tdWx0aVZhbHVlRnJvbnRtYXR0ZXJMaW5rcy5wdXNoKHJlZmVyZW5jZVdpdGhPZmZzZXRzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBhcnNlVmFsdWUodmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIE9ic2lkaWFuIGxpbmtzIGEgc2NoZW1lLWxlc3MgYHd3dy5gIGxpdGVyYWwgaW4gdGhlIGJvZHkgb25seSwgbmV2ZXIgaW4gYSBmcm9udG1hdHRlciB2YWx1ZS5cbiAgICAgIGNvbnN0IHBhcnNlTGlua1Jlc3VsdHMgPSBwYXJzZUxpbmtzKHZhbHVlLCB7IHNob3VsZFJlY29nbml6ZVd3d0F1dG9saW5rTGl0ZXJhbHM6IGZhbHNlIH0pO1xuICAgICAgY29uc3QgaXNTaW5nbGVMaW5rID0gcGFyc2VMaW5rUmVzdWx0c1swXT8ucmF3ID09PSB2YWx1ZTtcbiAgICAgIGZvciAoY29uc3QgcGFyc2VMaW5rUmVzdWx0IG9mIHBhcnNlTGlua1Jlc3VsdHMpIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yaXplKHsgaXNTaW5nbGVMaW5rLCBrZXksIHBhcnNlTGlua1Jlc3VsdCwgdmFsdWUgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFtjaGlsZEtleSwgY2hpbGRWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModmFsdWUgYXMgR2VuZXJpY09iamVjdCkpIHtcbiAgICAgIHRoaXMucGFyc2VWYWx1ZShjaGlsZFZhbHVlLCBrZXkgPyBgJHtrZXl9LiR7Y2hpbGRLZXl9YCA6IGNoaWxkS2V5KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBFc2NhcGVzIHRoZSBhbGlhcyBvZiBhIG1hcmtkb3duIGxpbmsuXG4gKlxuICogQHBhcmFtIGFsaWFzIC0gQW4gYWxpYXMgb2YgYSBtYXJrZG93biBsaW5rLlxuICogQHJldHVybnMgQW4gZXNjYXBlZCBhbGlhcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGVzY2FwZUFsaWFzKCcqKmFsaWFzKionKSAvLyAnXFxcXCpcXFxcKmFsaWFzXFxcXCpcXFxcKidcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlQWxpYXMoYWxpYXM6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiByZXBsYWNlQWxsKHtcbiAgICAkc3RyaW5nOiBhbGlhcyxcbiAgICByZXBsYWNlcjogU3RyaW5nLnJhd2BcXCQmYCxcbiAgICBzZWFyY2hWYWx1ZTogU1BFQ0lBTF9NQVJLRE9XTl9MSU5LX1NZTUJPTFNfUkVHRVhcbiAgfSk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgcmVmZXJlbmNlIGlzIGEge0BsaW5rIFBhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlfS5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgcmVmZXJlbmNlIGlzIGEge0BsaW5rIFBhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlfSwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1BhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIFBhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlIHtcbiAgcmV0dXJuIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUocmVmZXJlbmNlKSAmJiAncGFyc2VMaW5rUmVzdWx0JyBpbiByZWZlcmVuY2U7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgcmVmZXJlbmNlIGlzIGEge0BsaW5rIFBhcnNlTGlua1JlZmVyZW5jZX0uXG4gKlxuICogQHBhcmFtIHJlZmVyZW5jZSAtIFRoZSByZWZlcmVuY2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHJlZmVyZW5jZSBpcyBhIHtAbGluayBQYXJzZUxpbmtSZWZlcmVuY2V9LCBvdGhlcndpc2UgYGZhbHNlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUGFyc2VMaW5rUmVmZXJlbmNlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIFBhcnNlTGlua1JlZmVyZW5jZSB7XG4gIHJldHVybiAncGFyc2VMaW5rUmVzdWx0JyBpbiByZWZlcmVuY2U7XG59XG5cbi8qKlxuICogUGFyc2VzIHRoZSBsaW5rcyBmcm9tIGEgbm90ZSdzIGZyb250bWF0dGVyLiBFYWNoIHN0cmluZyB2YWx1ZSBpcyBwYXJzZWQgdmlhIHtAbGluayBwYXJzZUxpbmtzfTogYSB2YWx1ZVxuICogdGhhdCBpcyBhIHNpbmdsZSBsaW5rIHlpZWxkcyBhbiBlbnRyeSB3aXRob3V0IG9mZnNldHMsIGFuZCBhIHZhbHVlIHRoYXQgaG9sZHMgbXVsdGlwbGUgbGlua3MgeWllbGRzXG4gKiBvZmZzZXQtY2FycnlpbmcgZW50cmllcy4gSW50ZXJuYWwgc2luZ2xlLWxpbmsgdmFsdWVzIGFyZSBvbWl0dGVkLCBhcyBPYnNpZGlhbiBuYXRpdmVseSBjYWNoZXMgdGhlbS5cbiAqXG4gKiBAcGFyYW0gZnJvbnRtYXR0ZXIgLSBUaGUgZnJvbnRtYXR0ZXIgdG8gcGFyc2UgKGEgdmFsdWUsIG9iamVjdCwgb3IgYXJyYXkpLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBmcm9udG1hdHRlciBsaW5rcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRnJvbnRtYXR0ZXJMaW5rcyhmcm9udG1hdHRlcjogdW5rbm93bik6IFBhcnNlRnJvbnRtYXR0ZXJMaW5rc1Jlc3VsdCB7XG4gIHJldHVybiBuZXcgRnJvbnRtYXR0ZXJMaW5rc1BhcnNlcigpLnBhcnNlKGZyb250bWF0dGVyKTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBsaW5rIGludG8gaXRzIGNvbXBvbmVudHMuXG4gKlxuICogQHBhcmFtICRzdHJpbmcgLSBUaGUgbGluayB0byBwYXJzZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcnNlIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgcGFyc2VkIGxpbmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUxpbmsoJHN0cmluZzogc3RyaW5nLCBvcHRpb25zPzogUGFyc2VMaW5rT3B0aW9ucyk6IG51bGwgfCBQYXJzZUxpbmtSZXN1bHQge1xuICBjb25zdCBsaW5rcyA9IHBhcnNlTGlua3MoJHN0cmluZywgb3B0aW9ucyk7XG4gIHJldHVybiBsaW5rc1swXT8ucmF3ID09PSAkc3RyaW5nID8gbGlua3NbMF0gOiBudWxsO1xufVxuXG4vKipcbiAqIFBhcnNlcyBhbGwgbGlua3MgaW4gYSBzdHJpbmcuXG4gKlxuICogQmVzaWRlcyBtYXJrZG93biBsaW5rcywgd2lraWxpbmtzIGFuZCBhdXRvbGlua3MsIHRoZSBwbGFpbiB0ZXh0IGJldHdlZW4gdGhlbSBpcyBzY2FubmVkIGZvciBiYXJlXG4gKiBVUkxzIHdpdGggYSBzY2hlbWUgKGBodHRwczovL2V4YW1wbGUuY29tYCkgYW5kLCB1bmxlc3MgdHVybmVkIG9mZiB0aHJvdWdoXG4gKiB7QGxpbmsgUGFyc2VMaW5rc09wdGlvbnMuc2hvdWxkUmVjb2duaXplV3d3QXV0b2xpbmtMaXRlcmFsc30sIGZvciBHRk0gZXh0ZW5kZWQgYHd3dy5gIGF1dG9saW5rXG4gKiBsaXRlcmFscyAoYHd3dy5leGFtcGxlLmNvbWApLiBTdWNoIGEgbGl0ZXJhbCBpcyByZXBvcnRlZCBhcyBhbiBleHRlcm5hbCBsaW5rIHdob3NlIGB1cmxgIGNhcnJpZXMgdGhlXG4gKiBgaHR0cDovL2Agc2NoZW1lIE9ic2lkaWFuIG9wZW5zIGl0IHdpdGgsIHNvIGEgbGluayByZWJ1aWx0IGZyb20gaXQgc3RheXMgZXh0ZXJuYWw6IGEgc2NoZW1lLWxlc3NcbiAqIGBbYWxpYXNdKHd3dy5leGFtcGxlLmNvbSlgIGlzIGFuIGludGVybmFsIGxpbmsgaW4gT2JzaWRpYW4uIEEgbGl0ZXJhbCB3cmFwcGVkIGluIGA8Li4uPmAgcmVwb3J0cyB0aGVcbiAqIGJyYWNrZXRzIGFzIHBhcnQgb2YgYHJhd2AsIHNvIHJlcGxhY2luZyBgcmF3YCBsZWF2ZXMgbm8gc3RyYXkgYnJhY2tldCBiZWhpbmQuXG4gKlxuICogQHBhcmFtICRzdHJpbmcgLSBUaGUgc3RyaW5nIHRvIHBhcnNlIHRoZSBsaW5rcyBpbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcnNlIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgcGFyc2VkIGxpbmtzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMaW5rcygkc3RyaW5nOiBzdHJpbmcsIG9wdGlvbnM/OiBQYXJzZUxpbmtzT3B0aW9ucyk6IFBhcnNlTGlua1Jlc3VsdFtdIHtcbiAgY29uc3Qgc2hvdWxkUmVjb2duaXplV3d3QXV0b2xpbmtMaXRlcmFscyA9IG9wdGlvbnM/LnNob3VsZFJlY29nbml6ZVd3d0F1dG9saW5rTGl0ZXJhbHMgPz8gdHJ1ZTtcbiAgY29uc3QgZW1iZWRTeW1ib2xPZmZzZXRzID0gbmV3IFNldDxudW1iZXI+KCk7XG5cbiAgY29uc3QgRU1CRURfTElOS19QUkVGSVggPSAnIVsnO1xuICBjb25zdCBOT19FTUJFRF9MSU5LX1BSRUZJWCA9ICdAWyc7XG4gIGNvbnN0IERVTU1ZX0NIQVJBQ1RFUiA9ICdAJztcblxuICBjb25zdCBFTUJFRF9JTlNJREVfTElOS19SRUdfRVhQID0gL1xcWyg/PExpbmtBbGlhcz4hXFxbLio/XFxdXFwoLis/XFwpKVxcXVxcKCg/PExpbms+Lis/KVxcKS9nO1xuICBjb25zdCBub0luc2lkZUVtYmVkc0xpbmtzU3RyaW5nID0gcmVwbGFjZUFsbCh7XG4gICAgJHN0cmluZyxcbiAgICByZXBsYWNlcjogKHsgY2FwdHVyZWRHcm91cEFyZ3VtZW50czogW2xpbmtBbGlhcyA9ICcnLCBsaW5rID0gJyddIH0pID0+IHtcbiAgICAgIGNvbnN0IGR1bW15QWxpYXMgPSBEVU1NWV9DSEFSQUNURVIucmVwZWF0KGxpbmtBbGlhcy5sZW5ndGgpO1xuICAgICAgcmV0dXJuIGBbJHtkdW1teUFsaWFzfV0oJHtsaW5rfSlgO1xuICAgIH0sXG4gICAgc2VhcmNoVmFsdWU6IEVNQkVEX0lOU0lERV9MSU5LX1JFR19FWFBcbiAgfSk7XG5cbiAgY29uc3Qgbm9FbWJlZFN0cmluZyA9IHJlcGxhY2VBbGwoe1xuICAgICRzdHJpbmc6IG5vSW5zaWRlRW1iZWRzTGlua3NTdHJpbmcsXG4gICAgcmVwbGFjZXI6ICgkYXJndW1lbnRzKSA9PiB7XG4gICAgICBlbWJlZFN5bWJvbE9mZnNldHMuYWRkKCRhcmd1bWVudHMub2Zmc2V0KTtcbiAgICAgIHJldHVybiBOT19FTUJFRF9MSU5LX1BSRUZJWDtcbiAgICB9LFxuICAgIHNlYXJjaFZhbHVlOiBFTUJFRF9MSU5LX1BSRUZJWFxuICB9KTtcblxuICBjb25zdCBwcm9jZXNzb3IgPSByZW1hcmsoKS51c2UocmVtYXJrUGFyc2UpLnVzZSh3aWtpTGlua1BsdWdpbiwgeyBhbGlhc0RpdmlkZXI6IFdJS0lMSU5LX0RJVklERVIgfSk7XG4gIGNvbnN0IHJvb3QgPSBwcm9jZXNzb3IucGFyc2Uobm9FbWJlZFN0cmluZyk7XG5cbiAgY29uc3QgbGlua3M6IFBhcnNlTGlua1Jlc3VsdFtdID0gW107XG4gIGNvbnN0IHRleHRMaW5rczogUGFyc2VMaW5rUmVzdWx0W10gPSBbXTtcblxuICB2aXNpdChyb290LCAobm9kZTogTm9kZSkgPT4ge1xuICAgIGxldCBsaW5rOiBQYXJzZUxpbmtSZXN1bHQ7XG4gICAgc3dpdGNoIChub2RlLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2xpbmsnOiB7XG4gICAgICAgIGxpbmsgPSBwYXJzZUxpbmtOb2RlKG5vZGUgYXMgTGluaywgJHN0cmluZyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnd2lraUxpbmsnOiB7XG4gICAgICAgIGxpbmsgPSBwYXJzZVdpa2lsaW5rTm9kZShub2RlIGFzIFdpa2lMaW5rTm9kZSwgJHN0cmluZyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGVtYmVkU3ltYm9sT2Zmc2V0cy5oYXMobGluay5zdGFydE9mZnNldCAtIDEpKSB7XG4gICAgICBsaW5rID0ge1xuICAgICAgICAuLi5saW5rLFxuICAgICAgICBpc0VtYmVkOiB0cnVlLFxuICAgICAgICByYXc6IGAhJHtsaW5rLnJhd31gLFxuICAgICAgICBzdGFydE9mZnNldDogbGluay5zdGFydE9mZnNldCAtIDFcbiAgICAgIH07XG4gICAgfVxuICAgIGxpbmtzLnB1c2gobGluayk7XG4gIH0pO1xuXG4gIGxpbmtzLnNvcnQoKGEsIGIpID0+IGEuc3RhcnRPZmZzZXQgLSBiLnN0YXJ0T2Zmc2V0KTtcblxuICBsZXQgdGV4dFN0YXJ0T2Zmc2V0ID0gMDtcblxuICBmb3IgKGNvbnN0IGxpbmsgb2YgbGlua3MpIHtcbiAgICBleHRyYWN0VGV4dExpbmtzKHtcbiAgICAgICRzdHJpbmcsXG4gICAgICBlbmRPZmZzZXQ6IGxpbmsuc3RhcnRPZmZzZXQgLSAxLFxuICAgICAgc2hvdWxkUmVjb2duaXplV3d3QXV0b2xpbmtMaXRlcmFscyxcbiAgICAgIHN0YXJ0T2Zmc2V0OiB0ZXh0U3RhcnRPZmZzZXQsXG4gICAgICB0ZXh0TGlua3NcbiAgICB9KTtcbiAgICB0ZXh0U3RhcnRPZmZzZXQgPSBsaW5rLmVuZE9mZnNldCArIDE7XG4gIH1cblxuICBleHRyYWN0VGV4dExpbmtzKHtcbiAgICAkc3RyaW5nLFxuICAgIGVuZE9mZnNldDogJHN0cmluZy5sZW5ndGggLSAxLFxuICAgIHNob3VsZFJlY29nbml6ZVd3d0F1dG9saW5rTGl0ZXJhbHMsXG4gICAgc3RhcnRPZmZzZXQ6IHRleHRTdGFydE9mZnNldCxcbiAgICB0ZXh0TGlua3NcbiAgfSk7XG5cbiAgbGlua3MucHVzaCguLi50ZXh0TGlua3MpO1xuICBsaW5rcy5zb3J0KChhLCBiKSA9PiBhLnN0YXJ0T2Zmc2V0IC0gYi5zdGFydE9mZnNldCk7XG5cbiAgcmV0dXJuIGxpbmtzO1xufVxuXG4vKipcbiAqIFdyYXBzIGEge0BsaW5rIFBhcnNlTGlua1Jlc3VsdH0gaW50byBhIHtAbGluayBQYXJzZUxpbmtSZWZlcmVuY2V9IHNvIGl0IGNhbiBmbG93IHRocm91Z2ggdGhlXG4gKiByZWZlcmVuY2UtYmFzZWQgZmlsZS1jaGFuZ2UgcGlwZWxpbmUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB3cmFwcGluZyB0aGUgcGFyc2VkIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUge0BsaW5rIFBhcnNlTGlua1JlZmVyZW5jZX0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1BhcnNlTGlua1JlZmVyZW5jZShwYXJhbXM6IFRvUGFyc2VMaW5rUmVmZXJlbmNlUGFyYW1zKTogUGFyc2VMaW5rUmVmZXJlbmNlIHtcbiAgY29uc3QgeyBjb250ZW50LCBwYXJzZUxpbmtSZXN1bHQgfSA9IHBhcmFtcztcbiAgcmV0dXJuIHtcbiAgICAuLi4ocGFyc2VMaW5rUmVzdWx0LmFsaWFzICE9PSB1bmRlZmluZWQgJiYgeyBkaXNwbGF5VGV4dDogcGFyc2VMaW5rUmVzdWx0LmFsaWFzIH0pLFxuICAgIGxpbms6IHBhcnNlTGlua1Jlc3VsdC51cmwsXG4gICAgb3JpZ2luYWw6IHBhcnNlTGlua1Jlc3VsdC5yYXcsXG4gICAgcGFyc2VMaW5rUmVzdWx0LFxuICAgIHBvc2l0aW9uOiB7XG4gICAgICBlbmQ6IG9mZnNldFRvTG9jKGNvbnRlbnQsIHBhcnNlTGlua1Jlc3VsdC5lbmRPZmZzZXQpLFxuICAgICAgc3RhcnQ6IG9mZnNldFRvTG9jKGNvbnRlbnQsIHBhcnNlTGlua1Jlc3VsdC5zdGFydE9mZnNldClcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogVW5lc2NhcGVzIHRoZSBhbGlhcyBvZiBhIG1hcmtkb3duIGxpbmsuXG4gKlxuICogQHBhcmFtIGVzY2FwZWRBbGlhcyAtIEFuIGVzY2FwZWQgYWxpYXMuXG4gKiBAcmV0dXJucyBBbiB1bmVzY2FwZWQgYWxpYXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiB1bmVzY2FwZUFsaWFzKCdcXFxcKlxcXFwqYWxpYXNcXFxcKlxcXFwqJykgLy8gJyoqYWxpYXMqKidcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdW5lc2NhcGVBbGlhcyhlc2NhcGVkQWxpYXM6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiByZXBsYWNlQWxsKHtcbiAgICAkc3RyaW5nOiBlc2NhcGVkQWxpYXMsXG4gICAgcmVwbGFjZXI6ICh7IGNhcHR1cmVkR3JvdXBBcmd1bWVudHM6IFtiYWNrc2xhc2hlcyA9ICcnLCBzcGVjaWFsQ2hhciA9ICcnXSB9KSA9PiB7XG4gICAgICBjb25zdCBFU0NBUEVEX0JBQ0tTTEFTSF9MRU5HVEggPSAyO1xuICAgICAgY29uc3QgYmFja3NsYXNoQ291bnQgPSBiYWNrc2xhc2hlcy5sZW5ndGg7XG4gICAgICBjb25zdCBrZWVwQ291bnQgPSBNYXRoLmZsb29yKGJhY2tzbGFzaENvdW50IC8gRVNDQVBFRF9CQUNLU0xBU0hfTEVOR1RIKTtcbiAgICAgIHJldHVybiAnXFxcXCcucmVwZWF0KGtlZXBDb3VudCkgKyBzcGVjaWFsQ2hhcjtcbiAgICB9LFxuICAgIHNlYXJjaFZhbHVlOiAvKD88QmFja3NsYXNoZXM+XFxcXCspKD88U3BlY2lhbENoYXJhY3Rlcj5bIVwiIyQlJicoKSorLC0uLzo7PD0+P0BbXFxcXFxcXV5fYHt8fX5dKS9nXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjb3VudE9jY3VycmVuY2VzKCRzdHJpbmc6IHN0cmluZywgY2hhcmFjdGVyOiBzdHJpbmcpOiBudW1iZXIge1xuICByZXR1cm4gJHN0cmluZy5zcGxpdChjaGFyYWN0ZXIpLmxlbmd0aCAtIDE7XG59XG5cbmZ1bmN0aW9uIGRlY29kZVVybFNhZmVseShwYXJhbXM6IERlY29kZVVybFNhZmVseVBhcmFtcyk6IHN0cmluZyB7XG4gIGNvbnN0IHsgaGFzQW5nbGVCcmFja2V0cywgaXNFeHRlcm5hbCwgdXJsIH0gPSBwYXJhbXM7XG4gIC8vIGBmaWxlOi8vYCBVUkxzIGFyZSBleHRlcm5hbCwgYnV0IHRoZWlyIHBlcmNlbnQtZW5jb2RpbmcgaXMgcHVyZWx5IGNvc21ldGljLCBzbyBkZWNvZGUgdGhlbSBsaWtlXG4gIC8vIGludGVybmFsIGxpbmtzLiBFdmVyeSBvdGhlciBleHRlcm5hbCBVUkwgaXMgbGVmdCB1bnRvdWNoZWQgKGl0cyBlbmNvZGluZyBtYXkgYmUgc2lnbmlmaWNhbnQpLlxuICBpZiAoKGlzRXh0ZXJuYWwgfHwgaGFzQW5nbGVCcmFja2V0cykgJiYgIWlzRmlsZVVybCh1cmwpKSB7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh1cmwpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBkZWNvZGUgVVJMICR7dXJsfWAsIGVycm9yKTtcbiAgICByZXR1cm4gdXJsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RBbGlhcyhwYXJhbXM6IEV4dHJhY3RBbGlhc1BhcmFtcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHsgJHN0cmluZywgYWxpYXNFbmRPZmZzZXQsIGFsaWFzU3RhcnRPZmZzZXQgfSA9IHBhcmFtcztcbiAgcmV0dXJuIGFsaWFzU3RhcnRPZmZzZXQgPCBhbGlhc0VuZE9mZnNldFxuICAgID8gJHN0cmluZy5zbGljZShhbGlhc1N0YXJ0T2Zmc2V0LCBhbGlhc0VuZE9mZnNldClcbiAgICA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFRleHRMaW5rcyhwYXJhbXM6IEV4dHJhY3RUZXh0TGlua3NQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyAkc3RyaW5nLCBlbmRPZmZzZXQsIHNob3VsZFJlY29nbml6ZVd3d0F1dG9saW5rTGl0ZXJhbHMsIHN0YXJ0T2Zmc2V0LCB0ZXh0TGlua3MgfSA9IHBhcmFtcztcbiAgaWYgKHN0YXJ0T2Zmc2V0ID4gZW5kT2Zmc2V0KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgdGV4dFBhcnQgPSAkc3RyaW5nLnNsaWNlKHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQgKyAxKTtcbiAgY29uc3Qgc2NoZW1lTGlua3M6IFBhcnNlTGlua1Jlc3VsdFtdID0gW107XG4gIHJlcGxhY2VBbGwoe1xuICAgICRzdHJpbmc6IHRleHRQYXJ0LFxuICAgIHJlcGxhY2VyOiAoeyBjYXB0dXJlZEdyb3VwQXJndW1lbnRzOiBbcmF3VXJsID0gJyddLCBvZmZzZXQgfSkgPT4ge1xuICAgICAgaWYgKCFpc1VybChyYXdVcmwpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gRGVjb2RlIGJhcmUgYGZpbGU6Ly9gIFVSTHMgbGlrZSB0aGUgYnJhY2tldGVkIHBhdGggKGBwYXJzZUxpbmtOb2RlYCkgZG9lcy5cbiAgICAgIC8vIE9mZnNldHMgYW5kIGByYXdgIHN0YXkgYmFzZWQgb24gdGhlIG9yaWdpbmFsIChwb3NzaWJseSBwZXJjZW50LWVuY29kZWQpIHRleHQuXG4gICAgICBjb25zdCB1cmwgPSBkZWNvZGVVcmxTYWZlbHkoe1xuICAgICAgICBoYXNBbmdsZUJyYWNrZXRzOiBmYWxzZSxcbiAgICAgICAgaXNFeHRlcm5hbDogdHJ1ZSxcbiAgICAgICAgdXJsOiByYXdVcmxcbiAgICAgIH0pO1xuICAgICAgc2NoZW1lTGlua3MucHVzaCh7XG4gICAgICAgIGVuY29kZWRVcmw6IGVuY29kZVVybCh1cmwpLFxuICAgICAgICBlbmRPZmZzZXQ6IHN0YXJ0T2Zmc2V0ICsgb2Zmc2V0ICsgcmF3VXJsLmxlbmd0aCxcbiAgICAgICAgaGFzQW5nbGVCcmFja2V0czogZmFsc2UsXG4gICAgICAgIGlzRW1iZWQ6IGZhbHNlLFxuICAgICAgICBpc0V4dGVybmFsOiB0cnVlLFxuICAgICAgICBpc0ZpbGVVcmw6IGlzRmlsZVVybCh1cmwpLFxuICAgICAgICBpc1dpa2lsaW5rOiBmYWxzZSxcbiAgICAgICAgcmF3OiByYXdVcmwsXG4gICAgICAgIHN0YXJ0T2Zmc2V0OiBzdGFydE9mZnNldCArIG9mZnNldCxcbiAgICAgICAgdXJsXG4gICAgICB9KTtcbiAgICB9LFxuICAgIHNlYXJjaFZhbHVlOiAvKD88VXJsPlxcUyspL2dcbiAgfSk7XG4gIHRleHRMaW5rcy5wdXNoKC4uLnNjaGVtZUxpbmtzKTtcblxuICBpZiAoIXNob3VsZFJlY29nbml6ZVd3d0F1dG9saW5rTGl0ZXJhbHMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBmb3IgKGNvbnN0IG1hdGNoIG9mIHRleHRQYXJ0Lm1hdGNoQWxsKFdXV19BVVRPTElOS19MSVRFUkFMX0NBTkRJREFURV9SRUdfRVhQKSkge1xuICAgIGNvbnN0IGNhbmRpZGF0ZSA9IGdldE1hbmRhdG9yeU5hbWVkR3JvdXAobWF0Y2gsICdMaXRlcmFsJyk7XG4gICAgY29uc3QgbGl0ZXJhbCA9IHRyaW1Xd3dBdXRvbGlua0xpdGVyYWwoY2FuZGlkYXRlKTtcbiAgICBpZiAoIWlzVmFsaWRXd3dBdXRvbGlua0xpdGVyYWwobGl0ZXJhbCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGxpdGVyYWxTdGFydE9mZnNldCA9IHN0YXJ0T2Zmc2V0ICsgbWF0Y2guaW5kZXggKyBtYXRjaFswXS5sZW5ndGggLSBjYW5kaWRhdGUubGVuZ3RoO1xuICAgIGNvbnN0IGxpdGVyYWxFbmRPZmZzZXQgPSBsaXRlcmFsU3RhcnRPZmZzZXQgKyBsaXRlcmFsLmxlbmd0aDtcbiAgICBpZiAoc2NoZW1lTGlua3Muc29tZSgobGluaykgPT4gbGluay5zdGFydE9mZnNldCA8IGxpdGVyYWxFbmRPZmZzZXQgJiYgbGl0ZXJhbFN0YXJ0T2Zmc2V0IDwgbGluay5lbmRPZmZzZXQpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBoYXNBbmdsZUJyYWNrZXRzID0gJHN0cmluZ1tsaXRlcmFsU3RhcnRPZmZzZXQgLSAxXSA9PT0gJzwnICYmICRzdHJpbmdbbGl0ZXJhbEVuZE9mZnNldF0gPT09ICc+JztcbiAgICBjb25zdCBsaW5rU3RhcnRPZmZzZXQgPSBoYXNBbmdsZUJyYWNrZXRzID8gbGl0ZXJhbFN0YXJ0T2Zmc2V0IC0gMSA6IGxpdGVyYWxTdGFydE9mZnNldDtcbiAgICBjb25zdCBsaW5rRW5kT2Zmc2V0ID0gaGFzQW5nbGVCcmFja2V0cyA/IGxpdGVyYWxFbmRPZmZzZXQgKyAxIDogbGl0ZXJhbEVuZE9mZnNldDtcbiAgICBjb25zdCB1cmwgPSBXV1dfQVVUT0xJTktfTElURVJBTF9TQ0hFTUUgKyBsaXRlcmFsO1xuICAgIHRleHRMaW5rcy5wdXNoKHtcbiAgICAgIGVuY29kZWRVcmw6IGVuY29kZVVybCh1cmwpLFxuICAgICAgZW5kT2Zmc2V0OiBsaW5rRW5kT2Zmc2V0LFxuICAgICAgaGFzQW5nbGVCcmFja2V0cyxcbiAgICAgIGlzRW1iZWQ6IGZhbHNlLFxuICAgICAgaXNFeHRlcm5hbDogdHJ1ZSxcbiAgICAgIGlzRmlsZVVybDogZmFsc2UsXG4gICAgICBpc1dpa2lsaW5rOiBmYWxzZSxcbiAgICAgIHJhdzogJHN0cmluZy5zbGljZShsaW5rU3RhcnRPZmZzZXQsIGxpbmtFbmRPZmZzZXQpLFxuICAgICAgc3RhcnRPZmZzZXQ6IGxpbmtTdGFydE9mZnNldCxcbiAgICAgIHVybFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFJhd0xpbmsobm9kZTogTm9kZSwgJHN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcG9zID0gZW5zdXJlTm9uTnVsbGFibGUobm9kZS5wb3NpdGlvbik7XG4gIHJldHVybiAkc3RyaW5nLnNsaWNlKHBvcy5zdGFydC5vZmZzZXQsIHBvcy5lbmQub2Zmc2V0KTtcbn1cblxuZnVuY3Rpb24gaGFzQW5nbGVCcmFja2V0c0luTGluayhwYXJhbXM6IEhhc0FuZ2xlQnJhY2tldHNJbkxpbmtQYXJhbXMpOiBib29sZWFuIHtcbiAgY29uc3QgeyByYXcsIHJhd1VybCB9ID0gcGFyYW1zO1xuICBjb25zdCBPUEVOX0FOR0xFX0JSQUNLRVQgPSAnPCc7XG4gIHJldHVybiByYXcuc3RhcnRzV2l0aChPUEVOX0FOR0xFX0JSQUNLRVQpIHx8IHJhd1VybC5zdGFydHNXaXRoKE9QRU5fQU5HTEVfQlJBQ0tFVCk7XG59XG5cbmZ1bmN0aW9uIGlzVmFsaWRXd3dBdXRvbGlua0xpdGVyYWwobGl0ZXJhbDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IGRvbWFpbiA9IFdXV19BVVRPTElOS19MSVRFUkFMX0RPTUFJTl9SRUdfRVhQLmV4ZWMobGl0ZXJhbCk/LlswXTtcbiAgaWYgKGRvbWFpbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gR0ZNOiBubyB1bmRlcnNjb3JlIGluIHRoZSBsYXN0IHR3byBzZWdtZW50cyBvZiB0aGUgZG9tYWluLlxuICBjb25zdCBMQVNUX1NFR01FTlRTX0NPVU5UID0gMjtcbiAgcmV0dXJuIGRvbWFpbi5zcGxpdCgnLicpLnNsaWNlKC1MQVNUX1NFR01FTlRTX0NPVU5UKS5ldmVyeSgoc2VnbWVudCkgPT4gIXNlZ21lbnQuaW5jbHVkZXMoJ18nKSk7XG59XG5cbmZ1bmN0aW9uIG9mZnNldFRvTG9jKGNvbnRlbnQ6IHN0cmluZywgb2Zmc2V0OiBudW1iZXIpOiBMb2Mge1xuICBjb25zdCBwcmVjZWRpbmdDb250ZW50ID0gY29udGVudC5zbGljZSgwLCBvZmZzZXQpO1xuICBjb25zdCBsaW5lID0gKHByZWNlZGluZ0NvbnRlbnQubWF0Y2goL1xcbi9nKSA/PyBbXSkubGVuZ3RoO1xuICBjb25zdCBsYXN0TmV3bGluZU9mZnNldCA9IHByZWNlZGluZ0NvbnRlbnQubGFzdEluZGV4T2YoJ1xcbicpO1xuICByZXR1cm4ge1xuICAgIGNvbDogb2Zmc2V0IC0gKGxhc3ROZXdsaW5lT2Zmc2V0ICsgMSksXG4gICAgbGluZSxcbiAgICBvZmZzZXRcbiAgfTtcbn1cblxuZnVuY3Rpb24gcGFyc2VMaW5rTm9kZShub2RlOiBMaW5rLCAkc3RyaW5nOiBzdHJpbmcpOiBQYXJzZUxpbmtSZXN1bHQge1xuICBjb25zdCBMSU5LX0FMSUFTX1NVRkZJWCA9ICddKCc7XG4gIGNvbnN0IExJTktfU1VGRklYID0gJyknO1xuICBjb25zdCByYXcgPSBnZXRSYXdMaW5rKG5vZGUsICRzdHJpbmcpO1xuICBjb25zdCBwb3NpdGlvbiA9IGVuc3VyZU5vbk51bGxhYmxlKG5vZGUucG9zaXRpb24pO1xuICBjb25zdCBub2RlRW5kT2Zmc2V0ID0gZW5zdXJlTm9uTnVsbGFibGUocG9zaXRpb24uZW5kLm9mZnNldCk7XG4gIGNvbnN0IG5vZGVTdGFydE9mZnNldCA9IGVuc3VyZU5vbk51bGxhYmxlKHBvc2l0aW9uLnN0YXJ0Lm9mZnNldCk7XG4gIC8vIEFuIGVtcHR5IGxhYmVsIChgW10oLi4uKWApIGhhcyBubyBjaGlsZHJlbiwgc28gaXQgc3RhcnRzIGFuZCBlbmRzIGp1c3QgYWZ0ZXIgdGhlIG5vZGUncyBvd24gYFtgLiBBbiBlbWJlZCdzIGAhYCBpcyBvdXRzaWRlIHRoZSBub2RlLCBzaW5jZSBgcGFyc2VMaW5rc2AgbWFza3MgaXQgYmVmb3JlIHBhcnNpbmcuXG4gIGNvbnN0IGVtcHR5QWxpYXNPZmZzZXQgPSBub2RlU3RhcnRPZmZzZXQgKyAxO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9iZXR0ZXItZG9tLXRyYXZlcnNpbmcgLS0gYG5vZGVgIGlzIGFuIG1kYXN0IG5vZGUsIG5vdCBhIERPTSBub2RlLiBJdCBoYXMgbm8gYGZpcnN0RWxlbWVudENoaWxkYDsgdGhlIHJ1bGUgbWF0Y2hlcyB0aGUgYC5jaGlsZHJlblswXWAgc2hhcGUgd2l0aG91dCBjaGVja2luZyB3aGF0IGl0IGlzIG9uLlxuICBjb25zdCBhbGlhc05vZGVTdGFydE9mZnNldCA9IG5vZGUuY2hpbGRyZW5bMF0/LnBvc2l0aW9uPy5zdGFydC5vZmZzZXQgPz8gZW1wdHlBbGlhc09mZnNldDtcbiAgY29uc3QgYWxpYXNOb2RlRW5kT2Zmc2V0ID0gbm9kZS5jaGlsZHJlbi5hdCgtMSk/LnBvc2l0aW9uPy5lbmQub2Zmc2V0ID8/IGVtcHR5QWxpYXNPZmZzZXQ7XG4gIGNvbnN0IHJhd1VybCA9ICRzdHJpbmcuc2xpY2UoYWxpYXNOb2RlRW5kT2Zmc2V0ICsgTElOS19BTElBU19TVUZGSVgubGVuZ3RoLCBub2RlRW5kT2Zmc2V0IC0gTElOS19TVUZGSVgubGVuZ3RoKTtcbiAgY29uc3QgaGFzQW5nbGVCcmFja2V0cyA9IGhhc0FuZ2xlQnJhY2tldHNJbkxpbmsoe1xuICAgIHJhdyxcbiAgICByYXdVcmxcbiAgfSk7XG4gIGNvbnN0IGlzRXh0ZXJuYWwgPSBpc1VybChub2RlLnVybCk7XG4gIGNvbnN0IHVybCA9IGRlY29kZVVybFNhZmVseSh7XG4gICAgaGFzQW5nbGVCcmFja2V0cyxcbiAgICBpc0V4dGVybmFsLFxuICAgIHVybDogbm9kZS51cmxcbiAgfSk7XG4gIGNvbnN0IGFsaWFzID0gZXh0cmFjdEFsaWFzKHtcbiAgICAkc3RyaW5nLFxuICAgIGFsaWFzRW5kT2Zmc2V0OiBhbGlhc05vZGVFbmRPZmZzZXQsXG4gICAgYWxpYXNTdGFydE9mZnNldDogYWxpYXNOb2RlU3RhcnRPZmZzZXRcbiAgfSk7XG4gIHJldHVybiBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8UGFyc2VMaW5rUmVzdWx0Pih7XG4gICAgYWxpYXMsXG4gICAgZW5jb2RlZFVybDogaXNFeHRlcm5hbCA/IGVuY29kZVVybCh1cmwpIDogdW5kZWZpbmVkLFxuICAgIGVuZE9mZnNldDogbm9kZUVuZE9mZnNldCxcbiAgICBoYXNBbmdsZUJyYWNrZXRzLFxuICAgIGlzRW1iZWQ6IGZhbHNlLFxuICAgIGlzRXh0ZXJuYWwsXG4gICAgaXNGaWxlVXJsOiBpc0ZpbGVVcmwodXJsKSxcbiAgICBpc1dpa2lsaW5rOiBmYWxzZSxcbiAgICByYXcsXG4gICAgc3RhcnRPZmZzZXQ6IG5vZGVTdGFydE9mZnNldCxcbiAgICB0aXRsZTogbm9kZS50aXRsZSA/PyB1bmRlZmluZWQsXG4gICAgdW5lc2NhcGVkQWxpYXM6IGFsaWFzID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiB1bmVzY2FwZUFsaWFzKGFsaWFzKSxcbiAgICB1cmxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlV2lraWxpbmtOb2RlKG5vZGU6IFdpa2lMaW5rTm9kZSwgJHN0cmluZzogc3RyaW5nKTogUGFyc2VMaW5rUmVzdWx0IHtcbiAgY29uc3QgcG9zaXRpb24gPSBlbnN1cmVOb25OdWxsYWJsZShub2RlLnBvc2l0aW9uKTtcbiAgcmV0dXJuIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxQYXJzZUxpbmtSZXN1bHQ+KHtcbiAgICBhbGlhczogJHN0cmluZy5pbmNsdWRlcyhXSUtJTElOS19ESVZJREVSKSA/IG5vZGUuZGF0YS5hbGlhcyA6IHVuZGVmaW5lZCxcbiAgICBlbmRPZmZzZXQ6IGVuc3VyZU5vbk51bGxhYmxlKHBvc2l0aW9uLmVuZC5vZmZzZXQpLFxuICAgIGlzRW1iZWQ6IGZhbHNlLFxuICAgIGlzRXh0ZXJuYWw6IGZhbHNlLFxuICAgIGlzRmlsZVVybDogZmFsc2UsXG4gICAgaXNXaWtpbGluazogdHJ1ZSxcbiAgICByYXc6IGdldFJhd0xpbmsobm9kZSwgJHN0cmluZyksXG4gICAgc3RhcnRPZmZzZXQ6IGVuc3VyZU5vbk51bGxhYmxlKHBvc2l0aW9uLnN0YXJ0Lm9mZnNldCksXG4gICAgdXJsOiBub2RlLnZhbHVlXG4gIH0pO1xufVxuXG5mdW5jdGlvbiB0cmltV3d3QXV0b2xpbmtMaXRlcmFsKGxpdGVyYWw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHRyaW1tZWQgPSB0cmltV3d3QXV0b2xpbmtMaXRlcmFsRW5kKGxpdGVyYWwpO1xuICByZXR1cm4gdHJpbW1lZCA9PT0gbGl0ZXJhbCA/IGxpdGVyYWwgOiB0cmltV3d3QXV0b2xpbmtMaXRlcmFsKHRyaW1tZWQpO1xufVxuXG5mdW5jdGlvbiB0cmltV3d3QXV0b2xpbmtMaXRlcmFsRW5kKGxpdGVyYWw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGxhc3RDaGFyYWN0ZXIgPSBsaXRlcmFsLnNsaWNlKC0xKTtcbiAgaWYgKFdXV19BVVRPTElOS19MSVRFUkFMX1RSQUlMSU5HX1BVTkNUVUFUSU9OLmhhcyhsYXN0Q2hhcmFjdGVyKSkge1xuICAgIHJldHVybiBsaXRlcmFsLnNsaWNlKDAsIC0xKTtcbiAgfVxuXG4gIC8vIEdGTTogYSBjbG9zaW5nIHBhcmVudGhlc2lzIHdpdGggbm8gb3BlbmluZyBvbmUgdG8gbWF0Y2ggaXMgbm90IHBhcnQgb2YgdGhlIGxpdGVyYWwuXG4gIHJldHVybiBsYXN0Q2hhcmFjdGVyID09PSAnKScgJiYgY291bnRPY2N1cnJlbmNlcyhsaXRlcmFsLCAnKScpID4gY291bnRPY2N1cnJlbmNlcyhsaXRlcmFsLCAnKCcpXG4gICAgPyBsaXRlcmFsLnNsaWNlKDAsIC0xKVxuICAgIDogbGl0ZXJhbC5yZXBsYWNlKFRSQUlMSU5HX0VOVElUWV9SRUZFUkVOQ0VfUkVHX0VYUCwgJycpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWlCQSwwQkFBNEM7QUFDNUMscUJBQXVDO0FBQ3ZDLG9CQUEyQjtBQUMzQix5QkFBa0M7QUFDbEMsaUJBSU87QUFDUCw2QkFBdUM7QUFDdkMsb0JBQXVCO0FBQ3ZCLDBCQUF3QjtBQUN4Qiw4QkFBK0I7QUFDL0IsOEJBQXNCO0FBS3RCLE1BQU0sc0NBQXNDO0FBRTVDLE1BQU0sbUJBQW1CO0FBYXpCLE1BQU0seUNBQXlDO0FBTS9DLE1BQU0sc0NBQXNDO0FBSzVDLE1BQU0sNENBQTRDLG9CQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEdBQUcsQ0FBQztBQUtsRyxNQUFNLG9DQUFvQztBQUsxQyxNQUFNLDhCQUE4QjtBQTBWcEMsTUFBTSx1QkFBdUI7QUFBQSxFQUNWLDJCQUE0RCxDQUFDO0FBQUEsRUFDN0QscUNBQWlGLENBQUM7QUFBQSxFQUNsRiw2QkFBeUUsQ0FBQztBQUFBLEVBRXBGLE1BQU0sYUFBbUQ7QUFDOUQsU0FBSyxXQUFXLGFBQWEsRUFBRTtBQUMvQixXQUFPO0FBQUEsTUFDTCwwQkFBMEIsS0FBSztBQUFBLE1BQy9CLG9DQUFvQyxLQUFLO0FBQUEsTUFDekMsNEJBQTRCLEtBQUs7QUFBQSxJQUNuQztBQUFBLEVBQ0Y7QUFBQSxFQUVRLFdBQVcsUUFB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
|
|
519
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJzZS1saW5rLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXRpZXMgZm9yIHBhcnNpbmcgbWFya2Rvd24gYW5kIHdpa2kgbGlua3MgaW50byBzdHJ1Y3R1cmVkIGRhdGEsIGFuZCBmb3JcbiAqIGVzY2FwaW5nLCB1bmVzY2FwaW5nLCBhbmQgZW5jb2RpbmcgbGluayBjb21wb25lbnRzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlLWd1YXJkcyc7XG5pbXBvcnQgdHlwZSB7IExpbmsgfSBmcm9tICdtZGFzdCc7XG5pbXBvcnQgdHlwZSB7XG4gIEZyb250bWF0dGVyTGlua0NhY2hlLFxuICBMb2MsXG4gIFJlZmVyZW5jZSxcbiAgUmVmZXJlbmNlQ2FjaGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBOb2RlIH0gZnJvbSAndW5pc3QnO1xuXG5pbXBvcnQgeyBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXMgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvb2JqZWN0LXV0aWxzJztcbmltcG9ydCB7IGdldE1hbmRhdG9yeU5hbWVkR3JvdXAgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcmVnLWV4cCc7XG5pbXBvcnQgeyByZXBsYWNlQWxsIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0cmluZyc7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlLWd1YXJkcyc7XG5pbXBvcnQge1xuICBlbmNvZGVVcmwsXG4gIGlzRmlsZVVybCxcbiAgaXNVcmxcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3VybCc7XG5pbXBvcnQgeyBpc0Zyb250bWF0dGVyTGlua0NhY2hlIH0gZnJvbSAnQG9ic2lkaWFuLXR5cGluZ3Mvb2JzaWRpYW4tcHVibGljLWxhdGVzdC9pbXBsZW1lbnRhdGlvbnMnO1xuaW1wb3J0IHsgcmVtYXJrIH0gZnJvbSAncmVtYXJrJztcbmltcG9ydCByZW1hcmtQYXJzZSBmcm9tICdyZW1hcmstcGFyc2UnO1xuaW1wb3J0IHsgd2lraUxpbmtQbHVnaW4gfSBmcm9tICdyZW1hcmstd2lraS1saW5rJztcbmltcG9ydCB7IHZpc2l0IH0gZnJvbSAndW5pc3QtdXRpbC12aXNpdCc7XG5cbi8qKlxuICogUmVndWxhciBleHByZXNzaW9uIGZvciBzcGVjaWFsIG1hcmtkb3duIGxpbmsgc3ltYm9scy5cbiAqL1xuY29uc3QgU1BFQ0lBTF9NQVJLRE9XTl9MSU5LX1NZTUJPTFNfUkVHRVggPSAvW1xcXFxbXFxdPD5fKn49YCRdL2c7XG5cbmNvbnN0IFdJS0lMSU5LX0RJVklERVIgPSAnfCc7XG5cbi8qKlxuICogTWF0Y2hlcyBhIGNhbmRpZGF0ZSBHRk0gZXh0ZW5kZWQgYHd3dy5gIGF1dG9saW5rIGxpdGVyYWw6IGB3d3cuYCBhdCB0aGUgc3RhcnQgb2YgdGhlIHRleHQgb3IgYWZ0ZXJcbiAqIHdoaXRlc3BhY2UsIGAqYCwgYF9gLCBgfmAsIGAoYCBvciBgPGAsIHJ1bm5pbmcgdXAgdG8gdGhlIG5leHQgd2hpdGVzcGFjZSwgYDxgIG9yIGA+YC4gR0ZNIGl0c2VsZlxuICoga2VlcHMgYSBjbG9zaW5nIGA+YCBpbiB0aGUgbGl0ZXJhbCAoT2JzaWRpYW4gcmVuZGVycyBgPHd3dy5leGFtcGxlLmNvbT5gIHdpdGggYW4gaHJlZiBlbmRpbmcgaW5cbiAqIGAlM0VgKTsgc3RvcHBpbmcgYmVmb3JlIGl0IGlzIGRlbGliZXJhdGUsIHNvIHRoZSBicmFja2V0cyBjYW4gYmUgcmVwb3J0ZWQgYXJvdW5kIHRoZSBsaXRlcmFsIGluc3RlYWQuXG4gKlxuICogVGhlIHByZWNlZGluZyBjaGFyYWN0ZXIgaXMgY29uc3VtZWQgYW5kIHRoZSBsaXRlcmFsIGNhcHR1cmVkIGFzIGBMaXRlcmFsYCwgYmVjYXVzZSBhIGxvb2tiZWhpbmQgaXMgYVxuICogc3ludGF4IGVycm9yIG9uIGlPUyBiZWZvcmUgMTYuNCwgYmVsb3cgdGhlIGlPUyAxNSBPYnNpZGlhbiBtb2JpbGUgc3RpbGwgc3VwcG9ydHMuIENvbnN1bWluZyBpdCBsb3NlcyBub1xuICogY2FuZGlkYXRlOiBhIG1hdGNoIGVuZHMgYmVmb3JlIHdoaXRlc3BhY2UsIGA8YCwgYD5gIG9yIHRoZSBlbmQsIHNvIHRoZSBjaGFyYWN0ZXIgYSBmb2xsb3dpbmcgY2FuZGlkYXRlXG4gKiBuZWVkcyBpcyBuZXZlciBwYXJ0IG9mIHRoZSBwcmV2aW91cyBtYXRjaC5cbiAqL1xuY29uc3QgV1dXX0FVVE9MSU5LX0xJVEVSQUxfQ0FORElEQVRFX1JFR19FWFAgPSAvKD86XnxbXFxzKCo8X35dKSg/PExpdGVyYWw+d3d3XFwuW15cXHM8Pl0qKS9nO1xuXG4vKipcbiAqIE1hdGNoZXMgdGhlIGRvbWFpbiBvZiBhIEdGTSBleHRlbmRlZCBgd3d3LmAgYXV0b2xpbmsgbGl0ZXJhbDogc2VnbWVudHMgb2YgbGV0dGVycywgZGlnaXRzLFxuICogdW5kZXJzY29yZXMgYW5kIGh5cGhlbnMgc2VwYXJhdGVkIGJ5IHBlcmlvZHMuXG4gKi9cbmNvbnN0IFdXV19BVVRPTElOS19MSVRFUkFMX0RPTUFJTl9SRUdfRVhQID0gL153d3coPzpcXC5bXFxwe0x9XFxwe059Xy1dKykrL3U7XG5cbi8qKlxuICogVGhlIGNoYXJhY3RlcnMgR0ZNIGRyb3BzIGZyb20gdGhlIGVuZCBvZiBhbiBleHRlbmRlZCBhdXRvbGluay5cbiAqL1xuY29uc3QgV1dXX0FVVE9MSU5LX0xJVEVSQUxfVFJBSUxJTkdfUFVOQ1RVQVRJT04gPSBuZXcgU2V0KFsnXycsICcsJywgJzonLCAnIScsICc/JywgJy4nLCAnKicsICd+J10pO1xuXG4vKipcbiAqIE1hdGNoZXMgYW4gZW50aXR5IHJlZmVyZW5jZSBhdCB0aGUgZW5kIG9mIGFuIGV4dGVuZGVkIGF1dG9saW5rLCB3aGljaCBHRk0gZHJvcHMuXG4gKi9cbmNvbnN0IFRSQUlMSU5HX0VOVElUWV9SRUZFUkVOQ0VfUkVHX0VYUCA9IC8mW1xcZEEtWmEtel0rOyQvO1xuXG4vKipcbiAqIFRoZSBzY2hlbWUgT2JzaWRpYW4gb3BlbnMgYSBHRk0gZXh0ZW5kZWQgYHd3dy5gIGF1dG9saW5rIGxpdGVyYWwgd2l0aC5cbiAqL1xuY29uc3QgV1dXX0FVVE9MSU5LX0xJVEVSQUxfU0NIRU1FID0gJ2h0dHA6Ly8nO1xuXG4vKipcbiAqIFRoZSByZXN1bHQgb2YgcGFyc2luZyB0aGUgbGlua3MgZnJvbSBhIG5vdGUncyBmcm9udG1hdHRlciB2aWEge0BsaW5rIHBhcnNlRnJvbnRtYXR0ZXJMaW5rc30uIEludGVybmFsXG4gKiBzaW5nbGUtbGluayBmcm9udG1hdHRlciB2YWx1ZXMgYXJlIG9taXR0ZWQsIGFzIE9ic2lkaWFuIG5hdGl2ZWx5IGNhY2hlcyB0aGVtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlRnJvbnRtYXR0ZXJMaW5rc1Jlc3VsdCB7XG4gIC8qKlxuICAgKiBUaGUgZXh0ZXJuYWwgbGlua3MgcGFyc2VkIGZyb20gc2luZ2xlLWxpbmsgKHNpbmdsZS12YWx1ZSkgZnJvbnRtYXR0ZXIgdmFsdWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZnJvbnRtYXR0ZXJFeHRlcm5hbExpbmtzOiBQYXJzZUxpbmtGcm9udG1hdHRlclJlZmVyZW5jZVtdO1xuXG4gIC8qKlxuICAgKiBUaGUgZXh0ZXJuYWwgbGlua3MgcGFyc2VkIGZyb20gbXVsdGktbGluayAobXVsdGktdmFsdWUpIGZyb250bWF0dGVyIHZhbHVlcy5cbiAgICovXG4gIHJlYWRvbmx5IG11bHRpVmFsdWVGcm9udG1hdHRlckV4dGVybmFsTGlua3M6IFBhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlV2l0aE9mZnNldHNbXTtcblxuICAvKipcbiAgICogVGhlIGludGVybmFsIGxpbmtzIHBhcnNlZCBmcm9tIG11bHRpLWxpbmsgKG11bHRpLXZhbHVlKSBmcm9udG1hdHRlciB2YWx1ZXMuXG4gICAqL1xuICByZWFkb25seSBtdWx0aVZhbHVlRnJvbnRtYXR0ZXJMaW5rczogUGFyc2VMaW5rRnJvbnRtYXR0ZXJSZWZlcmVuY2VXaXRoT2Zmc2V0c1tdO1xufVxuXG4vKipcbiAqIEEge0BsaW5rIEZyb250bWF0dGVyTGlua0NhY2hlfSBmb3IgYSBsaW5rIHBhcnNlZCBmcm9tIGEgc2luZ2xlLWxpbmsgZnJvbnRtYXR0ZXIgdmFsdWUgdmlhXG4gKiB7QGxpbmsgcGFyc2VMaW5rc30uIEl0IGNhcnJpZXMgdGhlIGZ1bGwge0BsaW5rIFBhcnNlTGlua1Jlc3VsdH0gc28gY29uc3VtZXJzIGNhbiBpbnNwZWN0IHRoZSBwYXJzZVxuICogZGV0YWlscyB3aXRob3V0IHJlLXBhcnNpbmcgdGhlIGxpbmsuIFVzZSB0aGlzIHdoZW4gdGhlIHdob2xlIGZyb250bWF0dGVyIHZhbHVlIGlzIGEgc2luZ2xlIGxpbmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VMaW5rRnJvbnRtYXR0ZXJSZWZlcmVuY2UgZXh0ZW5kcyBGcm9udG1hdHRlckxpbmtDYWNoZSB7XG4gIC8qKlxuICAgKiBUaGUgcmVzdWx0IG9mIHBhcnNpbmcgdGhlIGxpbmsuXG4gICAqL1xuICByZWFkb25seSBwYXJzZUxpbmtSZXN1bHQ6IFBhcnNlTGlua1Jlc3VsdDtcbn1cblxuLyoqXG4gKiBBIHtAbGluayBQYXJzZUxpbmtGcm9udG1hdHRlclJlZmVyZW5jZX0gZm9yIGEgbGluayBwYXJzZWQgZnJvbSBhIG11bHRpLWxpbmsgZnJvbnRtYXR0ZXIgdmFsdWUgdmlhXG4gKiB7QGxpbmsgcGFyc2VMaW5rc30sIGFkZGl0aW9uYWxseSBjYXJyeWluZyB0aGUgb2Zmc2V0cyBvZiB0aGUgbGluayB3aXRoaW4gdGhlIGZyb250bWF0dGVyIHZhbHVlLiBVc2VcbiAqIHRoaXMgd2hlbiB0aGUgZnJvbnRtYXR0ZXIgdmFsdWUgaG9sZHMgbXVsdGlwbGUgbGlua3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VMaW5rRnJvbnRtYXR0ZXJSZWZlcmVuY2VXaXRoT2Zmc2V0cyBleHRlbmRzIFBhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlIHtcbiAgLyoqXG4gICAqIEFuIGVuZCBvZmZzZXQgb2YgdGhlIGxpbmsgaW4gdGhlIGZyb250bWF0dGVyIHZhbHVlLlxuICAgKi9cbiAgZW5kT2Zmc2V0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEEgc3RhcnQgb2Zmc2V0IG9mIHRoZSBsaW5rIGluIHRoZSBmcm9udG1hdHRlciB2YWx1ZS5cbiAgICovXG4gIHN0YXJ0T2Zmc2V0OiBudW1iZXI7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIHBhcnNlTGlua30uIFRoZSBzYW1lIGFzIHtAbGluayBQYXJzZUxpbmtzT3B0aW9uc30uXG4gKi9cbmV4cG9ydCB0eXBlIFBhcnNlTGlua09wdGlvbnMgPSBQYXJzZUxpbmtzT3B0aW9ucztcblxuLyoqXG4gKiBBIHtAbGluayBSZWZlcmVuY2VDYWNoZX0gZm9yIGEgbGluayBwYXJzZWQgZnJvbSBjb250ZW50IHZpYSB7QGxpbmsgcGFyc2VMaW5rc30uIEl0IGNhcnJpZXMgdGhlIGZ1bGxcbiAqIHtAbGluayBQYXJzZUxpbmtSZXN1bHR9IHNvIGNvbnN1bWVycyBjYW4gaW5zcGVjdCB0aGUgcGFyc2UgZGV0YWlscyB3aXRob3V0IHJlLXBhcnNpbmcgdGhlIGxpbmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VMaW5rUmVmZXJlbmNlIGV4dGVuZHMgUmVmZXJlbmNlQ2FjaGUge1xuICAvKipcbiAgICogVGhlIHJlc3VsdCBvZiBwYXJzaW5nIHRoZSBsaW5rLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFyc2VMaW5rUmVzdWx0OiBQYXJzZUxpbmtSZXN1bHQ7XG59XG5cbi8qKlxuICogQSByZXN1bHQgb2YgcGFyc2luZyBhIGxpbmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VMaW5rUmVzdWx0IHtcbiAgLyoqXG4gICAqIEFuIGFsaWFzIG9mIHRoZSBsaW5rLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBcbiAgICogW1xcKmFsaWFzXFwqXShsaW5rLm1kKSAtPiBcXCphbGlhc1xcKlxuICAgKiBgYGBcbiAgICovXG4gIHJlYWRvbmx5IGFsaWFzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBlbmNvZGVkIFVSTCBvZiB0aGUgbGluay5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgXG4gICAqIFthbGlhc10oPGxpbmsgd2l0aCBzcGFjZS5tZD4pIC0+IGxpbmslMjB3aXRoJTIwc3BhY2UubWRcbiAgICogYGBgXG4gICAqL1xuICByZWFkb25seSBlbmNvZGVkVXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBlbmQgb2Zmc2V0IG9mIHRoZSBsaW5rIGluIHRoZSBvcmlnaW5hbCB0ZXh0LlxuICAgKi9cbiAgcmVhZG9ubHkgZW5kT2Zmc2V0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBoYXMgYW5nbGUgYnJhY2tldHMuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYFxuICAgKiBbYWxpYXNdKDxsaW5rLm1kPikgLT4gdHJ1ZVxuICAgKiBbYWxpYXNdKGxpbmsubWQpIC0+IGZhbHNlXG4gICAqIGBgYFxuICAgKi9cbiAgcmVhZG9ubHkgaGFzQW5nbGVCcmFja2V0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBpcyBhbiBlbWJlZCBsaW5rLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBcbiAgICogIVtbYWxpYXNdXSAtPiB0cnVlXG4gICAqIFtbYWxpYXNdXSAtPiBmYWxzZVxuICAgKiBgYGBcbiAgICovXG4gIHJlYWRvbmx5IGlzRW1iZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgbGluayBpcyBleHRlcm5hbC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgXG4gICAqIFthbGlhc10oaHR0cHM6Ly9leGFtcGxlLmNvbSkgLT4gdHJ1ZVxuICAgKiBbYWxpYXNdKGZpbGUubWQpIC0+IGZhbHNlXG4gICAqIGBgYFxuICAgKi9cbiAgcmVhZG9ubHkgaXNFeHRlcm5hbDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBsaW5rIGlzIGEgYGZpbGU6Ly9gIFVSTC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgXG4gICAqIFthbGlhc10oZmlsZTovLy9DOi94LnR4dCkgLT4gdHJ1ZVxuICAgKiBbYWxpYXNdKGh0dHBzOi8vZXhhbXBsZS5jb20pIC0+IGZhbHNlXG4gICAqIGBgYFxuICAgKi9cbiAgcmVhZG9ubHkgaXNGaWxlVXJsOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGxpbmsgaXMgYSB3aWtpbGluay5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgXG4gICAqIFtbYWxpYXNdXSAtPiB0cnVlXG4gICAqIFthbGlhc10obGluay5tZCkgLT4gZmFsc2VcbiAgICogYGBgXG4gICAqL1xuICByZWFkb25seSBpc1dpa2lsaW5rOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIHJhdyBsaW5rIHRleHQuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYFxuICAgKiBbYWxpYXNdKGxpbmsubWQpIC0+IFthbGlhc10obGluay5tZClcbiAgICogYGBgXG4gICAqL1xuICByZWFkb25seSByYXc6IHN0cmluZztcblxuICAvKipcbiAgICogQSBzdGFydCBvZmZzZXQgb2YgdGhlIGxpbmsgaW4gdGhlIG9yaWdpbmFsIHRleHQuXG4gICAqL1xuICByZWFkb25seSBzdGFydE9mZnNldDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBIHRpdGxlIG9mIHRoZSBsaW5rLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBcbiAgICogW2FsaWFzXShsaW5rLm1kIFwidGl0bGVcIikgLT4gdGl0bGVcbiAgICogYGBgXG4gICAqL1xuICByZWFkb25seSB0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogQW4gdW5lc2NhcGVkIGFsaWFzIG9mIHRoZSBsaW5rLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBcbiAgICogW1xcKmFsaWFzXFwqXShsaW5rLm1kKSAtPiAqYWxpYXMqXG4gICAqIGBgYFxuICAgKi9cbiAgcmVhZG9ubHkgdW5lc2NhcGVkQWxpYXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFuIFVSTCBvZiB0aGUgbGluay5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgXG4gICAqIFthbGlhc10obGluayUyMHdpdGglMjBzcGFjZS5tZCkgLT4gbGluayB3aXRoIHNwYWNlLm1kXG4gICAqIGBgYFxuICAgKi9cbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIHBhcnNlTGlua3N9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlTGlua3NPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVjb2duaXplIEdGTSBleHRlbmRlZCBgd3d3LmAgYXV0b2xpbmsgbGl0ZXJhbHMgKGB3d3cuZXhhbXBsZS5jb21gLCBhbHNvIGluc2lkZVxuICAgKiBgPC4uLj5gKSBhcyBleHRlcm5hbCBsaW5rcywgYXMgT2JzaWRpYW4gZG9lcyBpbiBhIG5vdGUncyBib2R5LiBPYnNpZGlhbiBkb2VzIG5vdCBsaW5rIHRoZW0gaW5cbiAgICogZnJvbnRtYXR0ZXIgdmFsdWVzLCBzbyB7QGxpbmsgcGFyc2VGcm9udG1hdHRlckxpbmtzfSB0dXJucyB0aGlzIG9mZi5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkUmVjb2duaXplV3d3QXV0b2xpbmtMaXRlcmFscz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgdG9QYXJzZUxpbmtSZWZlcmVuY2V9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvUGFyc2VMaW5rUmVmZXJlbmNlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IHRoZSBwYXJzZWQgbGluaydzIG9mZnNldHMgaW5kZXggaW50by4gVXNlZCB0byBjb21wdXRlIHRoZSBsaW5lIGFuZCBjb2x1bW4uXG4gICAqL1xuICByZWFkb25seSBjb250ZW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJzZWQgbGluayB0byB3cmFwLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFyc2VMaW5rUmVzdWx0OiBQYXJzZUxpbmtSZXN1bHQ7XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgRnJvbnRtYXR0ZXJMaW5rc1BhcnNlci5jYXRlZ29yaXplfS5cbiAqL1xuaW50ZXJmYWNlIENhdGVnb3JpemVGcm9udG1hdHRlckxpbmtQYXJhbXMge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgd2hvbGUgZnJvbnRtYXR0ZXIgdmFsdWUgaXMgYSBzaW5nbGUgbGluay5cbiAgICovXG4gIHJlYWRvbmx5IGlzU2luZ2xlTGluazogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGtleSBwYXRoIG9mIHRoZSBmcm9udG1hdHRlciB2YWx1ZS5cbiAgICovXG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyc2VkIGxpbmsuXG4gICAqL1xuICByZWFkb25seSBwYXJzZUxpbmtSZXN1bHQ6IFBhcnNlTGlua1Jlc3VsdDtcblxuICAvKipcbiAgICogVGhlIGZyb250bWF0dGVyIHZhbHVlIHRoZSBsaW5rIHdhcyBwYXJzZWQgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgZGVjb2RlVXJsU2FmZWx5fS5cbiAqL1xuaW50ZXJmYWNlIERlY29kZVVybFNhZmVseVBhcmFtcyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBsaW5rIHVzZXMgYW5nbGUgYnJhY2tldHMuXG4gICAqL1xuICByZWFkb25seSBoYXNBbmdsZUJyYWNrZXRzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBsaW5rIGlzIGV4dGVybmFsLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNFeHRlcm5hbDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBVUkwgdG8gZGVjb2RlLlxuICAgKi9cbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgZXh0cmFjdEFsaWFzfS5cbiAqL1xuaW50ZXJmYWNlIEV4dHJhY3RBbGlhc1BhcmFtcyB7XG4gIC8qKlxuICAgKiBBIHN0cmluZyB0byBleHRyYWN0IHRoZSBhbGlhcyBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgJHN0cmluZzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBlbmQgb2Zmc2V0IG9mIHRoZSBhbGlhcyBpbiB0aGUgc3RyaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxpYXNFbmRPZmZzZXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQSBzdGFydCBvZmZzZXQgb2YgdGhlIGFsaWFzIGluIHRoZSBzdHJpbmcuXG4gICAqL1xuICByZWFkb25seSBhbGlhc1N0YXJ0T2Zmc2V0OiBudW1iZXI7XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgZXh0cmFjdFRleHRMaW5rc30uXG4gKi9cbmludGVyZmFjZSBFeHRyYWN0VGV4dExpbmtzUGFyYW1zIHtcbiAgLyoqXG4gICAqIEEgc3RyaW5nIHRvIGV4dHJhY3QgdGhlIHRleHQgbGlua3MgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5ICRzdHJpbmc6IHN0cmluZztcblxuICAvKipcbiAgICogQW4gZW5kIG9mZnNldCBvZiB0aGUgdGV4dCBwYXJ0IGluIHRoZSBzdHJpbmcuXG4gICAqL1xuICByZWFkb25seSBlbmRPZmZzZXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZWNvZ25pemUgR0ZNIGV4dGVuZGVkIGB3d3cuYCBhdXRvbGluayBsaXRlcmFscy5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFJlY29nbml6ZVd3d0F1dG9saW5rTGl0ZXJhbHM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgc3RhcnQgb2Zmc2V0IG9mIHRoZSB0ZXh0IHBhcnQgaW4gdGhlIHN0cmluZy5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXJ0T2Zmc2V0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBwYXJzZWQgbGlua3MgdG8gYXBwZW5kIHRoZSBleHRyYWN0ZWQgdGV4dCBsaW5rcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IHRleHRMaW5rczogUGFyc2VMaW5rUmVzdWx0W107XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgaGFzQW5nbGVCcmFja2V0c0luTGlua30uXG4gKi9cbmludGVyZmFjZSBIYXNBbmdsZUJyYWNrZXRzSW5MaW5rUGFyYW1zIHtcbiAgLyoqXG4gICAqIEEgcmF3IGxpbmsgdGV4dC5cbiAgICovXG4gIHJlYWRvbmx5IHJhdzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHJhdyBVUkwgb2YgdGhlIGxpbmsuXG4gICAqL1xuICByZWFkb25seSByYXdVcmw6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFdpa2lMaW5rTm9kZSBleHRlbmRzIE5vZGUge1xuICBkYXRhOiBXaWtpTGlua05vZGVEYXRhO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgV2lraUxpbmtOb2RlRGF0YSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgYWxpYXM6IHN0cmluZztcbn1cblxuY2xhc3MgRnJvbnRtYXR0ZXJMaW5rc1BhcnNlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZnJvbnRtYXR0ZXJFeHRlcm5hbExpbmtzOiBQYXJzZUxpbmtGcm9udG1hdHRlclJlZmVyZW5jZVtdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgbXVsdGlWYWx1ZUZyb250bWF0dGVyRXh0ZXJuYWxMaW5rczogUGFyc2VMaW5rRnJvbnRtYXR0ZXJSZWZlcmVuY2VXaXRoT2Zmc2V0c1tdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgbXVsdGlWYWx1ZUZyb250bWF0dGVyTGlua3M6IFBhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlV2l0aE9mZnNldHNbXSA9IFtdO1xuXG4gIHB1YmxpYyBwYXJzZShmcm9udG1hdHRlcjogdW5rbm93bik6IFBhcnNlRnJvbnRtYXR0ZXJMaW5rc1Jlc3VsdCB7XG4gICAgdGhpcy5wYXJzZVZhbHVlKGZyb250bWF0dGVyLCAnJyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZyb250bWF0dGVyRXh0ZXJuYWxMaW5rczogdGhpcy5mcm9udG1hdHRlckV4dGVybmFsTGlua3MsXG4gICAgICBtdWx0aVZhbHVlRnJvbnRtYXR0ZXJFeHRlcm5hbExpbmtzOiB0aGlzLm11bHRpVmFsdWVGcm9udG1hdHRlckV4dGVybmFsTGlua3MsXG4gICAgICBtdWx0aVZhbHVlRnJvbnRtYXR0ZXJMaW5rczogdGhpcy5tdWx0aVZhbHVlRnJvbnRtYXR0ZXJMaW5rc1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNhdGVnb3JpemUocGFyYW1zOiBDYXRlZ29yaXplRnJvbnRtYXR0ZXJMaW5rUGFyYW1zKTogdm9pZCB7XG4gICAgY29uc3QgeyBpc1NpbmdsZUxpbmssIGtleSwgcGFyc2VMaW5rUmVzdWx0LCB2YWx1ZSB9ID0gcGFyYW1zO1xuICAgIGlmICghcGFyc2VMaW5rUmVzdWx0LmlzRXh0ZXJuYWwgJiYgaXNTaW5nbGVMaW5rKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVmZXJlbmNlOiBQYXJzZUxpbmtGcm9udG1hdHRlclJlZmVyZW5jZSA9IHtcbiAgICAgIGRpc3BsYXlUZXh0OiBwYXJzZUxpbmtSZXN1bHQuYWxpYXMgPz8gcGFyc2VMaW5rUmVzdWx0LnVybCxcbiAgICAgIGtleSxcbiAgICAgIGxpbms6IHBhcnNlTGlua1Jlc3VsdC51cmwsXG4gICAgICBvcmlnaW5hbDogdmFsdWUsXG4gICAgICBwYXJzZUxpbmtSZXN1bHRcbiAgICB9O1xuXG4gICAgaWYgKGlzU2luZ2xlTGluaykge1xuICAgICAgdGhpcy5mcm9udG1hdHRlckV4dGVybmFsTGlua3MucHVzaChyZWZlcmVuY2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJlZmVyZW5jZVdpdGhPZmZzZXRzOiBQYXJzZUxpbmtGcm9udG1hdHRlclJlZmVyZW5jZVdpdGhPZmZzZXRzID0ge1xuICAgICAgLi4ucmVmZXJlbmNlLFxuICAgICAgZW5kT2Zmc2V0OiBwYXJzZUxpbmtSZXN1bHQuZW5kT2Zmc2V0LFxuICAgICAgc3RhcnRPZmZzZXQ6IHBhcnNlTGlua1Jlc3VsdC5zdGFydE9mZnNldFxuICAgIH07XG5cbiAgICBpZiAocGFyc2VMaW5rUmVzdWx0LmlzRXh0ZXJuYWwpIHtcbiAgICAgIHRoaXMubXVsdGlWYWx1ZUZyb250bWF0dGVyRXh0ZXJuYWxMaW5rcy5wdXNoKHJlZmVyZW5jZVdpdGhPZmZzZXRzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tdWx0aVZhbHVlRnJvbnRtYXR0ZXJMaW5rcy5wdXNoKHJlZmVyZW5jZVdpdGhPZmZzZXRzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBhcnNlVmFsdWUodmFsdWU6IHVua25vd24sIGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIE9ic2lkaWFuIGxpbmtzIGEgc2NoZW1lLWxlc3MgYHd3dy5gIGxpdGVyYWwgaW4gdGhlIGJvZHkgb25seSwgbmV2ZXIgaW4gYSBmcm9udG1hdHRlciB2YWx1ZS5cbiAgICAgIGNvbnN0IHBhcnNlTGlua1Jlc3VsdHMgPSBwYXJzZUxpbmtzKHZhbHVlLCB7IHNob3VsZFJlY29nbml6ZVd3d0F1dG9saW5rTGl0ZXJhbHM6IGZhbHNlIH0pO1xuICAgICAgY29uc3QgaXNTaW5nbGVMaW5rID0gcGFyc2VMaW5rUmVzdWx0c1swXT8ucmF3ID09PSB2YWx1ZTtcbiAgICAgIGZvciAoY29uc3QgcGFyc2VMaW5rUmVzdWx0IG9mIHBhcnNlTGlua1Jlc3VsdHMpIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yaXplKHsgaXNTaW5nbGVMaW5rLCBrZXksIHBhcnNlTGlua1Jlc3VsdCwgdmFsdWUgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFtjaGlsZEtleSwgY2hpbGRWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModmFsdWUgYXMgR2VuZXJpY09iamVjdCkpIHtcbiAgICAgIHRoaXMucGFyc2VWYWx1ZShjaGlsZFZhbHVlLCBrZXkgPyBgJHtrZXl9LiR7Y2hpbGRLZXl9YCA6IGNoaWxkS2V5KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBFc2NhcGVzIHRoZSBhbGlhcyBvZiBhIG1hcmtkb3duIGxpbmsuXG4gKlxuICogQHBhcmFtIGFsaWFzIC0gQW4gYWxpYXMgb2YgYSBtYXJrZG93biBsaW5rLlxuICogQHJldHVybnMgQW4gZXNjYXBlZCBhbGlhcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGVzY2FwZUFsaWFzKCcqKmFsaWFzKionKSAvLyAnXFxcXCpcXFxcKmFsaWFzXFxcXCpcXFxcKidcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlQWxpYXMoYWxpYXM6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiByZXBsYWNlQWxsKHtcbiAgICAkc3RyaW5nOiBhbGlhcyxcbiAgICByZXBsYWNlcjogU3RyaW5nLnJhd2BcXCQmYCxcbiAgICBzZWFyY2hWYWx1ZTogU1BFQ0lBTF9NQVJLRE9XTl9MSU5LX1NZTUJPTFNfUkVHRVhcbiAgfSk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgcmVmZXJlbmNlIGlzIGEge0BsaW5rIFBhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlfS5cbiAqXG4gKiBAcGFyYW0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgcmVmZXJlbmNlIGlzIGEge0BsaW5rIFBhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlfSwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1BhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIFBhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlIHtcbiAgcmV0dXJuIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUocmVmZXJlbmNlKSAmJiAncGFyc2VMaW5rUmVzdWx0JyBpbiByZWZlcmVuY2U7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgcmVmZXJlbmNlIGlzIGEge0BsaW5rIFBhcnNlTGlua1JlZmVyZW5jZX0uXG4gKlxuICogQHBhcmFtIHJlZmVyZW5jZSAtIFRoZSByZWZlcmVuY2UgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHJlZmVyZW5jZSBpcyBhIHtAbGluayBQYXJzZUxpbmtSZWZlcmVuY2V9LCBvdGhlcndpc2UgYGZhbHNlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUGFyc2VMaW5rUmVmZXJlbmNlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIFBhcnNlTGlua1JlZmVyZW5jZSB7XG4gIHJldHVybiAncGFyc2VMaW5rUmVzdWx0JyBpbiByZWZlcmVuY2U7XG59XG5cbi8qKlxuICogUGFyc2VzIHRoZSBsaW5rcyBmcm9tIGEgbm90ZSdzIGZyb250bWF0dGVyLiBFYWNoIHN0cmluZyB2YWx1ZSBpcyBwYXJzZWQgdmlhIHtAbGluayBwYXJzZUxpbmtzfTogYSB2YWx1ZVxuICogdGhhdCBpcyBhIHNpbmdsZSBsaW5rIHlpZWxkcyBhbiBlbnRyeSB3aXRob3V0IG9mZnNldHMsIGFuZCBhIHZhbHVlIHRoYXQgaG9sZHMgbXVsdGlwbGUgbGlua3MgeWllbGRzXG4gKiBvZmZzZXQtY2FycnlpbmcgZW50cmllcy4gSW50ZXJuYWwgc2luZ2xlLWxpbmsgdmFsdWVzIGFyZSBvbWl0dGVkLCBhcyBPYnNpZGlhbiBuYXRpdmVseSBjYWNoZXMgdGhlbS5cbiAqXG4gKiBAcGFyYW0gZnJvbnRtYXR0ZXIgLSBUaGUgZnJvbnRtYXR0ZXIgdG8gcGFyc2UgKGEgdmFsdWUsIG9iamVjdCwgb3IgYXJyYXkpLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBmcm9udG1hdHRlciBsaW5rcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRnJvbnRtYXR0ZXJMaW5rcyhmcm9udG1hdHRlcjogdW5rbm93bik6IFBhcnNlRnJvbnRtYXR0ZXJMaW5rc1Jlc3VsdCB7XG4gIHJldHVybiBuZXcgRnJvbnRtYXR0ZXJMaW5rc1BhcnNlcigpLnBhcnNlKGZyb250bWF0dGVyKTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBsaW5rIGludG8gaXRzIGNvbXBvbmVudHMuXG4gKlxuICogQHBhcmFtICRzdHJpbmcgLSBUaGUgbGluayB0byBwYXJzZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcnNlIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgcGFyc2VkIGxpbmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUxpbmsoJHN0cmluZzogc3RyaW5nLCBvcHRpb25zPzogUGFyc2VMaW5rT3B0aW9ucyk6IG51bGwgfCBQYXJzZUxpbmtSZXN1bHQge1xuICBjb25zdCBsaW5rcyA9IHBhcnNlTGlua3MoJHN0cmluZywgb3B0aW9ucyk7XG4gIHJldHVybiBsaW5rc1swXT8ucmF3ID09PSAkc3RyaW5nID8gbGlua3NbMF0gOiBudWxsO1xufVxuXG4vKipcbiAqIFBhcnNlcyBhbGwgbGlua3MgaW4gYSBzdHJpbmcuXG4gKlxuICogQmVzaWRlcyBtYXJrZG93biBsaW5rcywgd2lraWxpbmtzIGFuZCBhdXRvbGlua3MsIHRoZSBwbGFpbiB0ZXh0IGJldHdlZW4gdGhlbSBpcyBzY2FubmVkIGZvciBiYXJlXG4gKiBVUkxzIHdpdGggYSBzY2hlbWUgKGBodHRwczovL2V4YW1wbGUuY29tYCkgYW5kLCB1bmxlc3MgdHVybmVkIG9mZiB0aHJvdWdoXG4gKiB7QGxpbmsgUGFyc2VMaW5rc09wdGlvbnMuc2hvdWxkUmVjb2duaXplV3d3QXV0b2xpbmtMaXRlcmFsc30sIGZvciBHRk0gZXh0ZW5kZWQgYHd3dy5gIGF1dG9saW5rXG4gKiBsaXRlcmFscyAoYHd3dy5leGFtcGxlLmNvbWApLiBTdWNoIGEgbGl0ZXJhbCBpcyByZXBvcnRlZCBhcyBhbiBleHRlcm5hbCBsaW5rIHdob3NlIGB1cmxgIGNhcnJpZXMgdGhlXG4gKiBgaHR0cDovL2Agc2NoZW1lIE9ic2lkaWFuIG9wZW5zIGl0IHdpdGgsIHNvIGEgbGluayByZWJ1aWx0IGZyb20gaXQgc3RheXMgZXh0ZXJuYWw6IGEgc2NoZW1lLWxlc3NcbiAqIGBbYWxpYXNdKHd3dy5leGFtcGxlLmNvbSlgIGlzIGFuIGludGVybmFsIGxpbmsgaW4gT2JzaWRpYW4uIEEgbGl0ZXJhbCB3cmFwcGVkIGluIGA8Li4uPmAgcmVwb3J0cyB0aGVcbiAqIGJyYWNrZXRzIGFzIHBhcnQgb2YgYHJhd2AsIHNvIHJlcGxhY2luZyBgcmF3YCBsZWF2ZXMgbm8gc3RyYXkgYnJhY2tldCBiZWhpbmQuXG4gKlxuICogQHBhcmFtICRzdHJpbmcgLSBUaGUgc3RyaW5nIHRvIHBhcnNlIHRoZSBsaW5rcyBpbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcnNlIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgcGFyc2VkIGxpbmtzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMaW5rcygkc3RyaW5nOiBzdHJpbmcsIG9wdGlvbnM/OiBQYXJzZUxpbmtzT3B0aW9ucyk6IFBhcnNlTGlua1Jlc3VsdFtdIHtcbiAgY29uc3Qgc2hvdWxkUmVjb2duaXplV3d3QXV0b2xpbmtMaXRlcmFscyA9IG9wdGlvbnM/LnNob3VsZFJlY29nbml6ZVd3d0F1dG9saW5rTGl0ZXJhbHMgPz8gdHJ1ZTtcbiAgY29uc3QgZW1iZWRTeW1ib2xPZmZzZXRzID0gbmV3IFNldDxudW1iZXI+KCk7XG5cbiAgY29uc3QgRU1CRURfTElOS19QUkVGSVggPSAnIVsnO1xuICBjb25zdCBOT19FTUJFRF9MSU5LX1BSRUZJWCA9ICdAWyc7XG4gIGNvbnN0IERVTU1ZX0NIQVJBQ1RFUiA9ICdAJztcblxuICBjb25zdCBFTUJFRF9JTlNJREVfTElOS19SRUdfRVhQID0gL1xcWyg/PExpbmtBbGlhcz4hXFxbLio/XFxdXFwoLis/XFwpKVxcXVxcKCg/PExpbms+Lis/KVxcKS9nO1xuICBjb25zdCBub0luc2lkZUVtYmVkc0xpbmtzU3RyaW5nID0gcmVwbGFjZUFsbCh7XG4gICAgJHN0cmluZyxcbiAgICByZXBsYWNlcjogKHsgY2FwdHVyZWRHcm91cEFyZ3VtZW50czogW2xpbmtBbGlhcyA9ICcnLCBsaW5rID0gJyddIH0pID0+IHtcbiAgICAgIGNvbnN0IGR1bW15QWxpYXMgPSBEVU1NWV9DSEFSQUNURVIucmVwZWF0KGxpbmtBbGlhcy5sZW5ndGgpO1xuICAgICAgcmV0dXJuIGBbJHtkdW1teUFsaWFzfV0oJHtsaW5rfSlgO1xuICAgIH0sXG4gICAgc2VhcmNoVmFsdWU6IEVNQkVEX0lOU0lERV9MSU5LX1JFR19FWFBcbiAgfSk7XG5cbiAgY29uc3Qgbm9FbWJlZFN0cmluZyA9IHJlcGxhY2VBbGwoe1xuICAgICRzdHJpbmc6IG5vSW5zaWRlRW1iZWRzTGlua3NTdHJpbmcsXG4gICAgcmVwbGFjZXI6ICgkYXJndW1lbnRzKSA9PiB7XG4gICAgICBlbWJlZFN5bWJvbE9mZnNldHMuYWRkKCRhcmd1bWVudHMub2Zmc2V0KTtcbiAgICAgIHJldHVybiBOT19FTUJFRF9MSU5LX1BSRUZJWDtcbiAgICB9LFxuICAgIHNlYXJjaFZhbHVlOiBFTUJFRF9MSU5LX1BSRUZJWFxuICB9KTtcblxuICBjb25zdCBwcm9jZXNzb3IgPSByZW1hcmsoKS51c2UocmVtYXJrUGFyc2UpLnVzZSh3aWtpTGlua1BsdWdpbiwgeyBhbGlhc0RpdmlkZXI6IFdJS0lMSU5LX0RJVklERVIgfSk7XG4gIGNvbnN0IHJvb3QgPSBwcm9jZXNzb3IucGFyc2Uobm9FbWJlZFN0cmluZyk7XG5cbiAgY29uc3QgbGlua3M6IFBhcnNlTGlua1Jlc3VsdFtdID0gW107XG4gIGNvbnN0IHRleHRMaW5rczogUGFyc2VMaW5rUmVzdWx0W10gPSBbXTtcblxuICB2aXNpdChyb290LCAobm9kZTogTm9kZSkgPT4ge1xuICAgIGxldCBsaW5rOiBQYXJzZUxpbmtSZXN1bHQ7XG4gICAgc3dpdGNoIChub2RlLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2xpbmsnOiB7XG4gICAgICAgIGxpbmsgPSBwYXJzZUxpbmtOb2RlKG5vZGUgYXMgTGluaywgJHN0cmluZyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnd2lraUxpbmsnOiB7XG4gICAgICAgIGxpbmsgPSBwYXJzZVdpa2lsaW5rTm9kZShub2RlIGFzIFdpa2lMaW5rTm9kZSwgJHN0cmluZyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGVtYmVkU3ltYm9sT2Zmc2V0cy5oYXMobGluay5zdGFydE9mZnNldCAtIDEpKSB7XG4gICAgICBsaW5rID0ge1xuICAgICAgICAuLi5saW5rLFxuICAgICAgICBpc0VtYmVkOiB0cnVlLFxuICAgICAgICByYXc6IGAhJHtsaW5rLnJhd31gLFxuICAgICAgICBzdGFydE9mZnNldDogbGluay5zdGFydE9mZnNldCAtIDFcbiAgICAgIH07XG4gICAgfVxuICAgIGxpbmtzLnB1c2gobGluayk7XG4gIH0pO1xuXG4gIGxpbmtzLnNvcnQoKGEsIGIpID0+IGEuc3RhcnRPZmZzZXQgLSBiLnN0YXJ0T2Zmc2V0KTtcblxuICBsZXQgdGV4dFN0YXJ0T2Zmc2V0ID0gMDtcblxuICBmb3IgKGNvbnN0IGxpbmsgb2YgbGlua3MpIHtcbiAgICBleHRyYWN0VGV4dExpbmtzKHtcbiAgICAgICRzdHJpbmcsXG4gICAgICBlbmRPZmZzZXQ6IGxpbmsuc3RhcnRPZmZzZXQgLSAxLFxuICAgICAgc2hvdWxkUmVjb2duaXplV3d3QXV0b2xpbmtMaXRlcmFscyxcbiAgICAgIHN0YXJ0T2Zmc2V0OiB0ZXh0U3RhcnRPZmZzZXQsXG4gICAgICB0ZXh0TGlua3NcbiAgICB9KTtcbiAgICB0ZXh0U3RhcnRPZmZzZXQgPSBsaW5rLmVuZE9mZnNldCArIDE7XG4gIH1cblxuICBleHRyYWN0VGV4dExpbmtzKHtcbiAgICAkc3RyaW5nLFxuICAgIGVuZE9mZnNldDogJHN0cmluZy5sZW5ndGggLSAxLFxuICAgIHNob3VsZFJlY29nbml6ZVd3d0F1dG9saW5rTGl0ZXJhbHMsXG4gICAgc3RhcnRPZmZzZXQ6IHRleHRTdGFydE9mZnNldCxcbiAgICB0ZXh0TGlua3NcbiAgfSk7XG5cbiAgbGlua3MucHVzaCguLi50ZXh0TGlua3MpO1xuICBsaW5rcy5zb3J0KChhLCBiKSA9PiBhLnN0YXJ0T2Zmc2V0IC0gYi5zdGFydE9mZnNldCk7XG5cbiAgcmV0dXJuIGxpbmtzO1xufVxuXG4vKipcbiAqIFdyYXBzIGEge0BsaW5rIFBhcnNlTGlua1Jlc3VsdH0gaW50byBhIHtAbGluayBQYXJzZUxpbmtSZWZlcmVuY2V9IHNvIGl0IGNhbiBmbG93IHRocm91Z2ggdGhlXG4gKiByZWZlcmVuY2UtYmFzZWQgZmlsZS1jaGFuZ2UgcGlwZWxpbmUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB3cmFwcGluZyB0aGUgcGFyc2VkIGxpbmsuXG4gKiBAcmV0dXJucyBUaGUge0BsaW5rIFBhcnNlTGlua1JlZmVyZW5jZX0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1BhcnNlTGlua1JlZmVyZW5jZShwYXJhbXM6IFRvUGFyc2VMaW5rUmVmZXJlbmNlUGFyYW1zKTogUGFyc2VMaW5rUmVmZXJlbmNlIHtcbiAgY29uc3QgeyBjb250ZW50LCBwYXJzZUxpbmtSZXN1bHQgfSA9IHBhcmFtcztcbiAgcmV0dXJuIHtcbiAgICAuLi4ocGFyc2VMaW5rUmVzdWx0LmFsaWFzICE9PSB1bmRlZmluZWQgJiYgeyBkaXNwbGF5VGV4dDogcGFyc2VMaW5rUmVzdWx0LmFsaWFzIH0pLFxuICAgIGxpbms6IHBhcnNlTGlua1Jlc3VsdC51cmwsXG4gICAgb3JpZ2luYWw6IHBhcnNlTGlua1Jlc3VsdC5yYXcsXG4gICAgcGFyc2VMaW5rUmVzdWx0LFxuICAgIHBvc2l0aW9uOiB7XG4gICAgICBlbmQ6IG9mZnNldFRvTG9jKGNvbnRlbnQsIHBhcnNlTGlua1Jlc3VsdC5lbmRPZmZzZXQpLFxuICAgICAgc3RhcnQ6IG9mZnNldFRvTG9jKGNvbnRlbnQsIHBhcnNlTGlua1Jlc3VsdC5zdGFydE9mZnNldClcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogVW5lc2NhcGVzIHRoZSBhbGlhcyBvZiBhIG1hcmtkb3duIGxpbmsuXG4gKlxuICogQHBhcmFtIGVzY2FwZWRBbGlhcyAtIEFuIGVzY2FwZWQgYWxpYXMuXG4gKiBAcmV0dXJucyBBbiB1bmVzY2FwZWQgYWxpYXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiB1bmVzY2FwZUFsaWFzKCdcXFxcKlxcXFwqYWxpYXNcXFxcKlxcXFwqJykgLy8gJyoqYWxpYXMqKidcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdW5lc2NhcGVBbGlhcyhlc2NhcGVkQWxpYXM6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiByZXBsYWNlQWxsKHtcbiAgICAkc3RyaW5nOiBlc2NhcGVkQWxpYXMsXG4gICAgcmVwbGFjZXI6ICh7IGNhcHR1cmVkR3JvdXBBcmd1bWVudHM6IFtiYWNrc2xhc2hlcyA9ICcnLCBzcGVjaWFsQ2hhciA9ICcnXSB9KSA9PiB7XG4gICAgICBjb25zdCBFU0NBUEVEX0JBQ0tTTEFTSF9MRU5HVEggPSAyO1xuICAgICAgY29uc3QgYmFja3NsYXNoQ291bnQgPSBiYWNrc2xhc2hlcy5sZW5ndGg7XG4gICAgICBjb25zdCBrZWVwQ291bnQgPSBNYXRoLmZsb29yKGJhY2tzbGFzaENvdW50IC8gRVNDQVBFRF9CQUNLU0xBU0hfTEVOR1RIKTtcbiAgICAgIHJldHVybiAnXFxcXCcucmVwZWF0KGtlZXBDb3VudCkgKyBzcGVjaWFsQ2hhcjtcbiAgICB9LFxuICAgIHNlYXJjaFZhbHVlOiAvKD88QmFja3NsYXNoZXM+XFxcXCspKD88U3BlY2lhbENoYXJhY3Rlcj5bIVwiIyQlJicoKSorLC0uLzo7PD0+P0BbXFxcXFxcXV5fYHt8fX5dKS9nXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjb3VudE9jY3VycmVuY2VzKCRzdHJpbmc6IHN0cmluZywgY2hhcmFjdGVyOiBzdHJpbmcpOiBudW1iZXIge1xuICByZXR1cm4gJHN0cmluZy5zcGxpdChjaGFyYWN0ZXIpLmxlbmd0aCAtIDE7XG59XG5cbmZ1bmN0aW9uIGRlY29kZVVybFNhZmVseShwYXJhbXM6IERlY29kZVVybFNhZmVseVBhcmFtcyk6IHN0cmluZyB7XG4gIGNvbnN0IHsgaGFzQW5nbGVCcmFja2V0cywgaXNFeHRlcm5hbCwgdXJsIH0gPSBwYXJhbXM7XG4gIC8vIGBmaWxlOi8vYCBVUkxzIGFyZSBleHRlcm5hbCwgYnV0IHRoZWlyIHBlcmNlbnQtZW5jb2RpbmcgaXMgcHVyZWx5IGNvc21ldGljLCBzbyBkZWNvZGUgdGhlbSBsaWtlXG4gIC8vIGludGVybmFsIGxpbmtzLiBFdmVyeSBvdGhlciBleHRlcm5hbCBVUkwgaXMgbGVmdCB1bnRvdWNoZWQgKGl0cyBlbmNvZGluZyBtYXkgYmUgc2lnbmlmaWNhbnQpLlxuICBpZiAoKGlzRXh0ZXJuYWwgfHwgaGFzQW5nbGVCcmFja2V0cykgJiYgIWlzRmlsZVVybCh1cmwpKSB7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh1cmwpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBkZWNvZGUgVVJMICR7dXJsfWAsIGVycm9yKTtcbiAgICByZXR1cm4gdXJsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RBbGlhcyhwYXJhbXM6IEV4dHJhY3RBbGlhc1BhcmFtcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHsgJHN0cmluZywgYWxpYXNFbmRPZmZzZXQsIGFsaWFzU3RhcnRPZmZzZXQgfSA9IHBhcmFtcztcbiAgcmV0dXJuIGFsaWFzU3RhcnRPZmZzZXQgPCBhbGlhc0VuZE9mZnNldFxuICAgID8gJHN0cmluZy5zbGljZShhbGlhc1N0YXJ0T2Zmc2V0LCBhbGlhc0VuZE9mZnNldClcbiAgICA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFRleHRMaW5rcyhwYXJhbXM6IEV4dHJhY3RUZXh0TGlua3NQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyAkc3RyaW5nLCBlbmRPZmZzZXQsIHNob3VsZFJlY29nbml6ZVd3d0F1dG9saW5rTGl0ZXJhbHMsIHN0YXJ0T2Zmc2V0LCB0ZXh0TGlua3MgfSA9IHBhcmFtcztcbiAgaWYgKHN0YXJ0T2Zmc2V0ID4gZW5kT2Zmc2V0KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgdGV4dFBhcnQgPSAkc3RyaW5nLnNsaWNlKHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQgKyAxKTtcbiAgY29uc3Qgc2NoZW1lTGlua3M6IFBhcnNlTGlua1Jlc3VsdFtdID0gW107XG4gIHJlcGxhY2VBbGwoe1xuICAgICRzdHJpbmc6IHRleHRQYXJ0LFxuICAgIHJlcGxhY2VyOiAoeyBjYXB0dXJlZEdyb3VwQXJndW1lbnRzOiBbcmF3VXJsID0gJyddLCBvZmZzZXQgfSkgPT4ge1xuICAgICAgaWYgKCFpc1VybChyYXdVcmwpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gRGVjb2RlIGJhcmUgYGZpbGU6Ly9gIFVSTHMgbGlrZSB0aGUgYnJhY2tldGVkIHBhdGggKGBwYXJzZUxpbmtOb2RlYCkgZG9lcy5cbiAgICAgIC8vIE9mZnNldHMgYW5kIGByYXdgIHN0YXkgYmFzZWQgb24gdGhlIG9yaWdpbmFsIChwb3NzaWJseSBwZXJjZW50LWVuY29kZWQpIHRleHQuXG4gICAgICBjb25zdCB1cmwgPSBkZWNvZGVVcmxTYWZlbHkoe1xuICAgICAgICBoYXNBbmdsZUJyYWNrZXRzOiBmYWxzZSxcbiAgICAgICAgaXNFeHRlcm5hbDogdHJ1ZSxcbiAgICAgICAgdXJsOiByYXdVcmxcbiAgICAgIH0pO1xuICAgICAgc2NoZW1lTGlua3MucHVzaCh7XG4gICAgICAgIGVuY29kZWRVcmw6IGVuY29kZVVybCh1cmwpLFxuICAgICAgICBlbmRPZmZzZXQ6IHN0YXJ0T2Zmc2V0ICsgb2Zmc2V0ICsgcmF3VXJsLmxlbmd0aCxcbiAgICAgICAgaGFzQW5nbGVCcmFja2V0czogZmFsc2UsXG4gICAgICAgIGlzRW1iZWQ6IGZhbHNlLFxuICAgICAgICBpc0V4dGVybmFsOiB0cnVlLFxuICAgICAgICBpc0ZpbGVVcmw6IGlzRmlsZVVybCh1cmwpLFxuICAgICAgICBpc1dpa2lsaW5rOiBmYWxzZSxcbiAgICAgICAgcmF3OiByYXdVcmwsXG4gICAgICAgIHN0YXJ0T2Zmc2V0OiBzdGFydE9mZnNldCArIG9mZnNldCxcbiAgICAgICAgdXJsXG4gICAgICB9KTtcbiAgICB9LFxuICAgIHNlYXJjaFZhbHVlOiAvKD88VXJsPlxcUyspL2dcbiAgfSk7XG4gIHRleHRMaW5rcy5wdXNoKC4uLnNjaGVtZUxpbmtzKTtcblxuICBpZiAoIXNob3VsZFJlY29nbml6ZVd3d0F1dG9saW5rTGl0ZXJhbHMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBmb3IgKGNvbnN0IG1hdGNoIG9mIHRleHRQYXJ0Lm1hdGNoQWxsKFdXV19BVVRPTElOS19MSVRFUkFMX0NBTkRJREFURV9SRUdfRVhQKSkge1xuICAgIGNvbnN0IGNhbmRpZGF0ZSA9IGdldE1hbmRhdG9yeU5hbWVkR3JvdXAobWF0Y2gsICdMaXRlcmFsJyk7XG4gICAgY29uc3QgbGl0ZXJhbCA9IHRyaW1Xd3dBdXRvbGlua0xpdGVyYWwoY2FuZGlkYXRlKTtcbiAgICBpZiAoIWlzVmFsaWRXd3dBdXRvbGlua0xpdGVyYWwobGl0ZXJhbCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGxpdGVyYWxTdGFydE9mZnNldCA9IHN0YXJ0T2Zmc2V0ICsgbWF0Y2guaW5kZXggKyBtYXRjaFswXS5sZW5ndGggLSBjYW5kaWRhdGUubGVuZ3RoO1xuICAgIGNvbnN0IGxpdGVyYWxFbmRPZmZzZXQgPSBsaXRlcmFsU3RhcnRPZmZzZXQgKyBsaXRlcmFsLmxlbmd0aDtcbiAgICBpZiAoc2NoZW1lTGlua3Muc29tZSgobGluaykgPT4gbGluay5zdGFydE9mZnNldCA8IGxpdGVyYWxFbmRPZmZzZXQgJiYgbGl0ZXJhbFN0YXJ0T2Zmc2V0IDwgbGluay5lbmRPZmZzZXQpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBoYXNBbmdsZUJyYWNrZXRzID0gJHN0cmluZ1tsaXRlcmFsU3RhcnRPZmZzZXQgLSAxXSA9PT0gJzwnICYmICRzdHJpbmdbbGl0ZXJhbEVuZE9mZnNldF0gPT09ICc+JztcbiAgICBjb25zdCBsaW5rU3RhcnRPZmZzZXQgPSBoYXNBbmdsZUJyYWNrZXRzID8gbGl0ZXJhbFN0YXJ0T2Zmc2V0IC0gMSA6IGxpdGVyYWxTdGFydE9mZnNldDtcbiAgICBjb25zdCBsaW5rRW5kT2Zmc2V0ID0gaGFzQW5nbGVCcmFja2V0cyA/IGxpdGVyYWxFbmRPZmZzZXQgKyAxIDogbGl0ZXJhbEVuZE9mZnNldDtcbiAgICBjb25zdCB1cmwgPSBXV1dfQVVUT0xJTktfTElURVJBTF9TQ0hFTUUgKyBsaXRlcmFsO1xuICAgIHRleHRMaW5rcy5wdXNoKHtcbiAgICAgIGVuY29kZWRVcmw6IGVuY29kZVVybCh1cmwpLFxuICAgICAgZW5kT2Zmc2V0OiBsaW5rRW5kT2Zmc2V0LFxuICAgICAgaGFzQW5nbGVCcmFja2V0cyxcbiAgICAgIGlzRW1iZWQ6IGZhbHNlLFxuICAgICAgaXNFeHRlcm5hbDogdHJ1ZSxcbiAgICAgIGlzRmlsZVVybDogZmFsc2UsXG4gICAgICBpc1dpa2lsaW5rOiBmYWxzZSxcbiAgICAgIHJhdzogJHN0cmluZy5zbGljZShsaW5rU3RhcnRPZmZzZXQsIGxpbmtFbmRPZmZzZXQpLFxuICAgICAgc3RhcnRPZmZzZXQ6IGxpbmtTdGFydE9mZnNldCxcbiAgICAgIHVybFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFJhd0xpbmsobm9kZTogTm9kZSwgJHN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcG9zID0gZW5zdXJlTm9uTnVsbGFibGUobm9kZS5wb3NpdGlvbik7XG4gIHJldHVybiAkc3RyaW5nLnNsaWNlKHBvcy5zdGFydC5vZmZzZXQsIHBvcy5lbmQub2Zmc2V0KTtcbn1cblxuZnVuY3Rpb24gaGFzQW5nbGVCcmFja2V0c0luTGluayhwYXJhbXM6IEhhc0FuZ2xlQnJhY2tldHNJbkxpbmtQYXJhbXMpOiBib29sZWFuIHtcbiAgY29uc3QgeyByYXcsIHJhd1VybCB9ID0gcGFyYW1zO1xuICBjb25zdCBPUEVOX0FOR0xFX0JSQUNLRVQgPSAnPCc7XG4gIHJldHVybiByYXcuc3RhcnRzV2l0aChPUEVOX0FOR0xFX0JSQUNLRVQpIHx8IHJhd1VybC5zdGFydHNXaXRoKE9QRU5fQU5HTEVfQlJBQ0tFVCk7XG59XG5cbmZ1bmN0aW9uIGlzVmFsaWRXd3dBdXRvbGlua0xpdGVyYWwobGl0ZXJhbDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IGRvbWFpbiA9IFdXV19BVVRPTElOS19MSVRFUkFMX0RPTUFJTl9SRUdfRVhQLmV4ZWMobGl0ZXJhbCk/LlswXTtcbiAgaWYgKGRvbWFpbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gR0ZNOiBubyB1bmRlcnNjb3JlIGluIHRoZSBsYXN0IHR3byBzZWdtZW50cyBvZiB0aGUgZG9tYWluLlxuICBjb25zdCBMQVNUX1NFR01FTlRTX0NPVU5UID0gMjtcbiAgcmV0dXJuIGRvbWFpbi5zcGxpdCgnLicpLnNsaWNlKC1MQVNUX1NFR01FTlRTX0NPVU5UKS5ldmVyeSgoc2VnbWVudCkgPT4gIXNlZ21lbnQuaW5jbHVkZXMoJ18nKSk7XG59XG5cbmZ1bmN0aW9uIG9mZnNldFRvTG9jKGNvbnRlbnQ6IHN0cmluZywgb2Zmc2V0OiBudW1iZXIpOiBMb2Mge1xuICBjb25zdCBwcmVjZWRpbmdDb250ZW50ID0gY29udGVudC5zbGljZSgwLCBvZmZzZXQpO1xuICBjb25zdCBsaW5lID0gKHByZWNlZGluZ0NvbnRlbnQubWF0Y2goL1xcbi9nKSA/PyBbXSkubGVuZ3RoO1xuICBjb25zdCBsYXN0TmV3bGluZU9mZnNldCA9IHByZWNlZGluZ0NvbnRlbnQubGFzdEluZGV4T2YoJ1xcbicpO1xuICByZXR1cm4ge1xuICAgIGNvbDogb2Zmc2V0IC0gKGxhc3ROZXdsaW5lT2Zmc2V0ICsgMSksXG4gICAgbGluZSxcbiAgICBvZmZzZXRcbiAgfTtcbn1cblxuZnVuY3Rpb24gcGFyc2VMaW5rTm9kZShub2RlOiBMaW5rLCAkc3RyaW5nOiBzdHJpbmcpOiBQYXJzZUxpbmtSZXN1bHQge1xuICBjb25zdCBMSU5LX0FMSUFTX1NVRkZJWCA9ICddKCc7XG4gIGNvbnN0IExJTktfU1VGRklYID0gJyknO1xuICBjb25zdCByYXcgPSBnZXRSYXdMaW5rKG5vZGUsICRzdHJpbmcpO1xuICBjb25zdCBwb3NpdGlvbiA9IGVuc3VyZU5vbk51bGxhYmxlKG5vZGUucG9zaXRpb24pO1xuICBjb25zdCBub2RlRW5kT2Zmc2V0ID0gZW5zdXJlTm9uTnVsbGFibGUocG9zaXRpb24uZW5kLm9mZnNldCk7XG4gIGNvbnN0IG5vZGVTdGFydE9mZnNldCA9IGVuc3VyZU5vbk51bGxhYmxlKHBvc2l0aW9uLnN0YXJ0Lm9mZnNldCk7XG4gIC8vIEFuIGVtcHR5IGxhYmVsIChgW10oLi4uKWApIGhhcyBubyBjaGlsZHJlbiwgc28gaXQgc3RhcnRzIGFuZCBlbmRzIGp1c3QgYWZ0ZXIgdGhlIG5vZGUncyBvd24gYFtgLiBBbiBlbWJlZCdzIGAhYCBpcyBvdXRzaWRlIHRoZSBub2RlLCBzaW5jZSBgcGFyc2VMaW5rc2AgbWFza3MgaXQgYmVmb3JlIHBhcnNpbmcuXG4gIGNvbnN0IGVtcHR5QWxpYXNPZmZzZXQgPSBub2RlU3RhcnRPZmZzZXQgKyAxO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9iZXR0ZXItZG9tLXRyYXZlcnNpbmcgLS0gYG5vZGVgIGlzIGFuIG1kYXN0IG5vZGUsIG5vdCBhIERPTSBub2RlLiBJdCBoYXMgbm8gYGZpcnN0RWxlbWVudENoaWxkYDsgdGhlIHJ1bGUgbWF0Y2hlcyB0aGUgYC5jaGlsZHJlblswXWAgc2hhcGUgd2l0aG91dCBjaGVja2luZyB3aGF0IGl0IGlzIG9uLlxuICBjb25zdCBhbGlhc05vZGVTdGFydE9mZnNldCA9IG5vZGUuY2hpbGRyZW5bMF0/LnBvc2l0aW9uPy5zdGFydC5vZmZzZXQgPz8gZW1wdHlBbGlhc09mZnNldDtcbiAgY29uc3QgYWxpYXNOb2RlRW5kT2Zmc2V0ID0gbm9kZS5jaGlsZHJlbi5hdCgtMSk/LnBvc2l0aW9uPy5lbmQub2Zmc2V0ID8/IGVtcHR5QWxpYXNPZmZzZXQ7XG4gIGNvbnN0IHJhd1VybCA9ICRzdHJpbmcuc2xpY2UoYWxpYXNOb2RlRW5kT2Zmc2V0ICsgTElOS19BTElBU19TVUZGSVgubGVuZ3RoLCBub2RlRW5kT2Zmc2V0IC0gTElOS19TVUZGSVgubGVuZ3RoKTtcbiAgY29uc3QgaGFzQW5nbGVCcmFja2V0cyA9IGhhc0FuZ2xlQnJhY2tldHNJbkxpbmsoe1xuICAgIHJhdyxcbiAgICByYXdVcmxcbiAgfSk7XG4gIGNvbnN0IGlzRXh0ZXJuYWwgPSBpc1VybChub2RlLnVybCk7XG4gIGNvbnN0IHVybCA9IGRlY29kZVVybFNhZmVseSh7XG4gICAgaGFzQW5nbGVCcmFja2V0cyxcbiAgICBpc0V4dGVybmFsLFxuICAgIHVybDogbm9kZS51cmxcbiAgfSk7XG4gIGNvbnN0IGFsaWFzID0gZXh0cmFjdEFsaWFzKHtcbiAgICAkc3RyaW5nLFxuICAgIGFsaWFzRW5kT2Zmc2V0OiBhbGlhc05vZGVFbmRPZmZzZXQsXG4gICAgYWxpYXNTdGFydE9mZnNldDogYWxpYXNOb2RlU3RhcnRPZmZzZXRcbiAgfSk7XG4gIHJldHVybiBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8UGFyc2VMaW5rUmVzdWx0Pih7XG4gICAgYWxpYXMsXG4gICAgZW5jb2RlZFVybDogaXNFeHRlcm5hbCA/IGVuY29kZVVybCh1cmwpIDogdW5kZWZpbmVkLFxuICAgIGVuZE9mZnNldDogbm9kZUVuZE9mZnNldCxcbiAgICBoYXNBbmdsZUJyYWNrZXRzLFxuICAgIGlzRW1iZWQ6IGZhbHNlLFxuICAgIGlzRXh0ZXJuYWwsXG4gICAgaXNGaWxlVXJsOiBpc0ZpbGVVcmwodXJsKSxcbiAgICBpc1dpa2lsaW5rOiBmYWxzZSxcbiAgICByYXcsXG4gICAgc3RhcnRPZmZzZXQ6IG5vZGVTdGFydE9mZnNldCxcbiAgICB0aXRsZTogbm9kZS50aXRsZSA/PyB1bmRlZmluZWQsXG4gICAgdW5lc2NhcGVkQWxpYXM6IGFsaWFzID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiB1bmVzY2FwZUFsaWFzKGFsaWFzKSxcbiAgICB1cmxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlV2lraWxpbmtOb2RlKG5vZGU6IFdpa2lMaW5rTm9kZSwgJHN0cmluZzogc3RyaW5nKTogUGFyc2VMaW5rUmVzdWx0IHtcbiAgY29uc3QgcG9zaXRpb24gPSBlbnN1cmVOb25OdWxsYWJsZShub2RlLnBvc2l0aW9uKTtcbiAgcmV0dXJuIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxQYXJzZUxpbmtSZXN1bHQ+KHtcbiAgICBhbGlhczogJHN0cmluZy5pbmNsdWRlcyhXSUtJTElOS19ESVZJREVSKSA/IG5vZGUuZGF0YS5hbGlhcyA6IHVuZGVmaW5lZCxcbiAgICBlbmRPZmZzZXQ6IGVuc3VyZU5vbk51bGxhYmxlKHBvc2l0aW9uLmVuZC5vZmZzZXQpLFxuICAgIGlzRW1iZWQ6IGZhbHNlLFxuICAgIGlzRXh0ZXJuYWw6IGZhbHNlLFxuICAgIGlzRmlsZVVybDogZmFsc2UsXG4gICAgaXNXaWtpbGluazogdHJ1ZSxcbiAgICByYXc6IGdldFJhd0xpbmsobm9kZSwgJHN0cmluZyksXG4gICAgc3RhcnRPZmZzZXQ6IGVuc3VyZU5vbk51bGxhYmxlKHBvc2l0aW9uLnN0YXJ0Lm9mZnNldCksXG4gICAgdXJsOiBub2RlLnZhbHVlXG4gIH0pO1xufVxuXG5mdW5jdGlvbiB0cmltV3d3QXV0b2xpbmtMaXRlcmFsKGxpdGVyYWw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHRyaW1tZWQgPSB0cmltV3d3QXV0b2xpbmtMaXRlcmFsRW5kKGxpdGVyYWwpO1xuICByZXR1cm4gdHJpbW1lZCA9PT0gbGl0ZXJhbCA/IGxpdGVyYWwgOiB0cmltV3d3QXV0b2xpbmtMaXRlcmFsKHRyaW1tZWQpO1xufVxuXG5mdW5jdGlvbiB0cmltV3d3QXV0b2xpbmtMaXRlcmFsRW5kKGxpdGVyYWw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGxhc3RDaGFyYWN0ZXIgPSBsaXRlcmFsLnNsaWNlKC0xKTtcbiAgaWYgKFdXV19BVVRPTElOS19MSVRFUkFMX1RSQUlMSU5HX1BVTkNUVUFUSU9OLmhhcyhsYXN0Q2hhcmFjdGVyKSkge1xuICAgIHJldHVybiBsaXRlcmFsLnNsaWNlKDAsIC0xKTtcbiAgfVxuXG4gIC8vIEdGTTogYSBjbG9zaW5nIHBhcmVudGhlc2lzIHdpdGggbm8gb3BlbmluZyBvbmUgdG8gbWF0Y2ggaXMgbm90IHBhcnQgb2YgdGhlIGxpdGVyYWwuXG4gIHJldHVybiBsYXN0Q2hhcmFjdGVyID09PSAnKScgJiYgY291bnRPY2N1cnJlbmNlcyhsaXRlcmFsLCAnKScpID4gY291bnRPY2N1cnJlbmNlcyhsaXRlcmFsLCAnKCcpXG4gICAgPyBsaXRlcmFsLnNsaWNlKDAsIC0xKVxuICAgIDogbGl0ZXJhbC5yZXBsYWNlKFRSQUlMSU5HX0VOVElUWV9SRUZFUkVOQ0VfUkVHX0VYUCwgJycpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpQkEsMEJBQTRDO0FBQzVDLHFCQUF1QztBQUN2QyxvQkFBMkI7QUFDM0IseUJBQWtDO0FBQ2xDLGlCQUlPO0FBQ1AsNkJBQXVDO0FBQ3ZDLG9CQUF1QjtBQUN2QiwwQkFBd0I7QUFDeEIsOEJBQStCO0FBQy9CLDhCQUFzQjtBQUt0QixNQUFNLHNDQUFzQztBQUU1QyxNQUFNLG1CQUFtQjtBQWF6QixNQUFNLHlDQUF5QztBQU0vQyxNQUFNLHNDQUFzQztBQUs1QyxNQUFNLDRDQUE0QyxvQkFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxHQUFHLENBQUM7QUFLbEcsTUFBTSxvQ0FBb0M7QUFLMUMsTUFBTSw4QkFBOEI7QUEwVnBDLE1BQU0sdUJBQXVCO0FBQUEsRUFDViwyQkFBNEQsQ0FBQztBQUFBLEVBQzdELHFDQUFpRixDQUFDO0FBQUEsRUFDbEYsNkJBQXlFLENBQUM7QUFBQSxFQUVwRixNQUFNLGFBQW1EO0FBQzlELFNBQUssV0FBVyxhQUFhLEVBQUU7QUFDL0IsV0FBTztBQUFBLE1BQ0wsMEJBQTBCLEtBQUs7QUFBQSxNQUMvQixvQ0FBb0MsS0FBSztBQUFBLE1BQ3pDLDRCQUE0QixLQUFLO0FBQUEsSUFDbkM7QUFBQSxFQUNGO0FBQUEsRUFFUSxXQUFXLFFBQStDO0FBQ2hFLFVBQU0sRUFBRSxjQUFjLEtBQUssaUJBQWlC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
|
|
@@ -2,13 +2,7 @@
|
|
|
2
2
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
5
|
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
10
|
-
}
|
|
11
|
-
|
|
12
6
|
function ensureBrowserProcess() {
|
|
13
7
|
const browserProcess = {
|
|
14
8
|
browser: true,
|
|
@@ -33,20 +27,7 @@ function ensureBrowserProcess() {
|
|
|
33
27
|
existingProcessRecord["browser"] = true;
|
|
34
28
|
}
|
|
35
29
|
|
|
36
|
-
|
|
37
|
-
return $unknown;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
(function initCjs() {
|
|
41
|
-
const globalThisRecord = globalThis;
|
|
42
|
-
ensureDisposeSymbols();
|
|
43
|
-
globalThisRecord["__name"] ??= keepName;
|
|
44
|
-
globalThisRecord["__extractDefault"] ??= extractDefault;
|
|
45
|
-
ensureBrowserProcess();
|
|
46
|
-
function extractDefault(module) {
|
|
47
|
-
return module && module.__esModule && "default" in module ? module.default : module;
|
|
48
|
-
}
|
|
49
|
-
})();
|
|
30
|
+
ensureBrowserProcess();
|
|
50
31
|
})();
|
|
51
32
|
(function patchObsidianRequire() {
|
|
52
33
|
const originalRequire = require;
|
|
@@ -266,4 +247,4 @@ function makeRegExp(paths, defaultRegExp) {
|
|
|
266
247
|
PathSettings,
|
|
267
248
|
pathsValidator
|
|
268
249
|
});
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BhdGgtc2V0dGluZ3MudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBjbGFzc2VzIGFuZCB2YWxpZGF0b3JzIGZvciBtYW5hZ2luZyBpbmNsdWRlL2V4Y2x1ZGUgcGF0aCBzZXR0aW5ncy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IE1heWJlUmV0dXJuIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUnO1xuXG5pbXBvcnQge1xuICBBTFdBWVNfTUFUQ0hfUkVHX0VYUCxcbiAgZXNjYXBlUmVnRXhwLFxuICBpc1ZhbGlkUmVnRXhwLFxuICBORVZFUl9NQVRDSF9SRUdfRVhQXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcbmltcG9ydCB7IHRyaW1FbmQgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RyaW5nJztcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcblxuaW1wb3J0IHsgdCB9IGZyb20gJy4vaTE4bi9pMThuLnRzJztcblxuZW51bSBQYXRoU2V0dGluZ1R5cGUge1xuICBFeGNsdWRlID0gJ0V4Y2x1ZGUnLFxuICBJbmNsdWRlID0gJ0luY2x1ZGUnXG59XG5cbmNsYXNzIFBhdGhTZXR0aW5nIHtcbiAgcHVibGljIGdldCBhcnJheSgpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2FycmF5O1xuICB9XG5cbiAgcHVibGljIHNldCBhcnJheSh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzLl9hcnJheSA9IHZhbHVlLmZpbHRlcihCb29sZWFuKTtcbiAgICB0aGlzLnJlZ0V4cCA9IG1ha2VSZWdFeHAodGhpcy5fYXJyYXksIHRoaXMuZGVmYXVsdFJlZ0V4cCkgPz8gdGhpcy5kZWZhdWx0UmVnRXhwO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXJyYXk6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdFJlZ0V4cDogUmVnRXhwO1xuICBwcml2YXRlIHJlZ0V4cDogUmVnRXhwO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHR5cGU6IFBhdGhTZXR0aW5nVHlwZSkge1xuICAgIHRoaXMuZGVmYXVsdFJlZ0V4cCA9IGdldERlZmF1bHRSZWdFeHAodHlwZSk7XG4gICAgdGhpcy5yZWdFeHAgPSB0aGlzLmRlZmF1bHRSZWdFeHA7XG4gIH1cblxuICBwdWJsaWMgaXNQYXRoSWdub3JlZChwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gQWxsIGJyYW5jaGVzIGNvdmVyZWQgYnV0IHY4IHJlcG9ydHMgc3dpdGNoIGFzIHBhcnRpYWwuICovXG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgICBjYXNlIFBhdGhTZXR0aW5nVHlwZS5FeGNsdWRlOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZ0V4cC50ZXN0KHBhdGgpO1xuICAgICAgfVxuICAgICAgY2FzZSBQYXRoU2V0dGluZ1R5cGUuSW5jbHVkZToge1xuICAgICAgICByZXR1cm4gIXRoaXMucmVnRXhwLnRlc3QocGF0aCk7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBFeGhhdXN0aXZlIHN3aXRjaCBndWFyZC4gKi9cbiAgICAgICAgYXNzZXJ0TmV2ZXIodGhpcy50eXBlKTtcbiAgICAgIH1cbiAgICAgICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBIGNsYXNzIGZvciBtYW5hZ2luZyBpbmNsdWRlL2V4Y2x1ZGUgcGF0aCBzZXR0aW5ncy5cbiAqL1xuZXhwb3J0IGNsYXNzIFBhdGhTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBHZXRzIHRoZSBleGNsdWRlIHBhdGhzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZXhjbHVkZSBwYXRocy5cbiAgICovXG4gIHB1YmxpYyBnZXQgZXhjbHVkZVBhdGhzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fZXhjbHVkZVBhdGhzLmFycmF5O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGV4Y2x1ZGUgcGF0aHMuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBleGNsdWRlIHBhdGhzLlxuICAgKi9cbiAgcHVibGljIHNldCBleGNsdWRlUGF0aHModmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fZXhjbHVkZVBhdGhzLmFycmF5ID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaW5jbHVkZSBwYXRocy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGluY2x1ZGUgcGF0aHMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGluY2x1ZGVQYXRocygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2luY2x1ZGVQYXRocy5hcnJheTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpbmNsdWRlIHBhdGhzLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgaW5jbHVkZSBwYXRocy5cbiAgICovXG4gIHB1YmxpYyBzZXQgaW5jbHVkZVBhdGhzKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX2luY2x1ZGVQYXRocy5hcnJheSA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZXhjbHVkZVBhdGhzID0gbmV3IFBhdGhTZXR0aW5nKFBhdGhTZXR0aW5nVHlwZS5FeGNsdWRlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5jbHVkZVBhdGhzID0gbmV3IFBhdGhTZXR0aW5nKFBhdGhTZXR0aW5nVHlwZS5JbmNsdWRlKTtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGEgcGF0aCBpcyBpZ25vcmVkIGJ5IHRoZSBpbmNsdWRlL2V4Y2x1ZGUgcGF0aCBzZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBjaGVjay5cbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBwYXRoIGlzIGlnbm9yZWQsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIGlzUGF0aElnbm9yZWQocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2luY2x1ZGVQYXRocy5pc1BhdGhJZ25vcmVkKHBhdGgpIHx8IHRoaXMuX2V4Y2x1ZGVQYXRocy5pc1BhdGhJZ25vcmVkKHBhdGgpO1xuICB9XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIGluY2x1ZGUvZXhjbHVkZSBwYXRoIGVudHJpZXMsIHJlcG9ydGluZyB0aGUgZmlyc3QgZW50cnkgdGhhdCBpcyBub3QgYSBwYXJzZWFibGUgcmVndWxhciBleHByZXNzaW9uLlxuICpcbiAqIEFuIGVudHJ5IHRoYXQgc3RhcnRzIGFuZCBlbmRzIHdpdGggYC9gIGlzIGEgcmVndWxhciBleHByZXNzaW9uIGxpdGVyYWw7IGV2ZXJ5IG90aGVyIGVudHJ5IGlzIGEgcGxhaW4gcGF0aCBhbmQgaXNcbiAqIGFsd2F5cyB2YWxpZC4gQW4gaW52YWxpZCBlbnRyeSBkb2VzIG5vdCB0aHJvdyB3aGVuIGFzc2lnbmVkIHRvIHtAbGluayBQYXRoU2V0dGluZ3N9IFx1MjAxNCB0aGUgd2hvbGUgbGlzdCBmYWxscyBiYWNrIHRvXG4gKiBpdHMgZGVmYXVsdCBwYXR0ZXJuIGluc3RlYWQgXHUyMDE0IHNvIHRoaXMgdmFsaWRhdG9yIGlzIHdoYXQgc3VyZmFjZXMgdGhlIHByb2JsZW0gdG8gdGhlIHVzZXIuXG4gKlxuICogQHBhcmFtIHBhdGhzIC0gVGhlIHBhdGggZW50cmllcyB0byB2YWxpZGF0ZS5cbiAqIEByZXR1cm5zIEEgbWVzc2FnZSBuYW1pbmcgdGhlIGZpcnN0IGludmFsaWQgZW50cnksIG9yIG5vdGhpbmcgd2hlbiBldmVyeSBlbnRyeSBpcyB2YWxpZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhdGhzVmFsaWRhdG9yKHBhdGhzOiBzdHJpbmdbXSk6IE1heWJlUmV0dXJuPHN0cmluZz4ge1xuICBmb3IgKGNvbnN0IHBhdGggb2YgcGF0aHMpIHtcbiAgICBpZiAocGF0aC5zdGFydHNXaXRoKCcvJykgJiYgcGF0aC5lbmRzV2l0aCgnLycpICYmICFpc1ZhbGlkUmVnRXhwKHBhdGguc2xpY2UoMSwgLTEpKSkge1xuICAgICAgcmV0dXJuIHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5wYXRoU2V0dGluZ3MuaW52YWxpZFJlZ3VsYXJFeHByZXNzaW9uLCB7IHJlZ0V4cDogcGF0aCB9KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0RGVmYXVsdFJlZ0V4cCh0eXBlOiBQYXRoU2V0dGluZ1R5cGUpOiBSZWdFeHAge1xuICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gQWxsIGJyYW5jaGVzIGNvdmVyZWQgYnV0IHY4IHJlcG9ydHMgc3dpdGNoIGFzIHBhcnRpYWwuICovXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgY2FzZSBQYXRoU2V0dGluZ1R5cGUuRXhjbHVkZToge1xuICAgICAgcmV0dXJuIE5FVkVSX01BVENIX1JFR19FWFA7XG4gICAgfVxuICAgIGNhc2UgUGF0aFNldHRpbmdUeXBlLkluY2x1ZGU6IHtcbiAgICAgIHJldHVybiBBTFdBWVNfTUFUQ0hfUkVHX0VYUDtcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIEV4aGF1c3RpdmUgc3dpdGNoIGd1YXJkLiAqL1xuICAgICAgYXNzZXJ0TmV2ZXIodHlwZSk7XG4gICAgfVxuICAgICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgfVxufVxuXG5mdW5jdGlvbiBtYWtlUmVnRXhwKHBhdGhzOiBzdHJpbmdbXSwgZGVmYXVsdFJlZ0V4cDogUmVnRXhwKTogbnVsbCB8IFJlZ0V4cCB7XG4gIGlmIChwYXRocy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gZGVmYXVsdFJlZ0V4cDtcbiAgfVxuXG4gIGNvbnN0IHJlZ0V4cFN0cmluZ0NvbWJpbmVkID0gcGF0aHMubWFwKChwYXRoKSA9PiB7XG4gICAgaWYgKHBhdGggPT09ICcvJykge1xuICAgICAgcmV0dXJuIGRlZmF1bHRSZWdFeHAuc291cmNlO1xuICAgIH1cblxuICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoJy8nKSAmJiBwYXRoLmVuZHNXaXRoKCcvJykpIHtcbiAgICAgIHJldHVybiBwYXRoLnNsaWNlKDEsIC0xKTtcbiAgICB9XG5cbiAgICBwYXRoID0gdHJpbUVuZCh7XG4gICAgICAkc3RyaW5nOiBwYXRoLFxuICAgICAgc3VmZml4OiAnLydcbiAgICB9KTtcbiAgICByZXR1cm4gYF4ke2VzY2FwZVJlZ0V4cChwYXRoKX0oL3wkKWA7XG4gIH0pXG4gICAgLm1hcCgocmVnRXhwU3RyaW5nKSA9PiBgKCR7cmVnRXhwU3RyaW5nfSlgKVxuICAgIC5qb2luKCd8Jyk7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gbmV3IFJlZ0V4cChyZWdFeHBTdHJpbmdDb21iaW5lZCk7XG4gIH0gY2F0Y2gge1xuICAgIC8vIEEgcGFydGlhbGx5IHR5cGVkIHJlZ2V4IGxpdGVyYWwgKGAvXkluYm94XFwvYCkgaXMgbm90IHBhcnNlYWJsZS5cbiAgICAvLyBSZXBvcnQgaXQgaW5zdGVhZCBvZiB0aHJvd2luZyBmcm9tIGEgc2V0dGluZ3Mgc2V0dGVyLCB3aGljaCB3b3VsZCBicmVhayBib3RoIHRoZSBzZXR0aW5ncyBVSSBhbmQgdGhlIHNhdmUgcGF0aC5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXRoLXNldHRpbmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBjbGFzc2VzIGFuZCB2YWxpZGF0b3JzIGZvciBtYW5hZ2luZyBpbmNsdWRlL2V4Y2x1ZGUgcGF0aCBzZXR0aW5ncy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IE1heWJlUmV0dXJuIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUnO1xuXG5pbXBvcnQge1xuICBBTFdBWVNfTUFUQ0hfUkVHX0VYUCxcbiAgZXNjYXBlUmVnRXhwLFxuICBpc1ZhbGlkUmVnRXhwLFxuICBORVZFUl9NQVRDSF9SRUdfRVhQXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcbmltcG9ydCB7IHRyaW1FbmQgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RyaW5nJztcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcblxuaW1wb3J0IHsgdCB9IGZyb20gJy4vaTE4bi9pMThuLnRzJztcblxuZW51bSBQYXRoU2V0dGluZ1R5cGUge1xuICBFeGNsdWRlID0gJ0V4Y2x1ZGUnLFxuICBJbmNsdWRlID0gJ0luY2x1ZGUnXG59XG5cbmNsYXNzIFBhdGhTZXR0aW5nIHtcbiAgcHVibGljIGdldCBhcnJheSgpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2FycmF5O1xuICB9XG5cbiAgcHVibGljIHNldCBhcnJheSh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzLl9hcnJheSA9IHZhbHVlLmZpbHRlcihCb29sZWFuKTtcbiAgICB0aGlzLnJlZ0V4cCA9IG1ha2VSZWdFeHAodGhpcy5fYXJyYXksIHRoaXMuZGVmYXVsdFJlZ0V4cCkgPz8gdGhpcy5kZWZhdWx0UmVnRXhwO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXJyYXk6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdFJlZ0V4cDogUmVnRXhwO1xuICBwcml2YXRlIHJlZ0V4cDogUmVnRXhwO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHR5cGU6IFBhdGhTZXR0aW5nVHlwZSkge1xuICAgIHRoaXMuZGVmYXVsdFJlZ0V4cCA9IGdldERlZmF1bHRSZWdFeHAodHlwZSk7XG4gICAgdGhpcy5yZWdFeHAgPSB0aGlzLmRlZmF1bHRSZWdFeHA7XG4gIH1cblxuICBwdWJsaWMgaXNQYXRoSWdub3JlZChwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gQWxsIGJyYW5jaGVzIGNvdmVyZWQgYnV0IHY4IHJlcG9ydHMgc3dpdGNoIGFzIHBhcnRpYWwuICovXG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgICBjYXNlIFBhdGhTZXR0aW5nVHlwZS5FeGNsdWRlOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZ0V4cC50ZXN0KHBhdGgpO1xuICAgICAgfVxuICAgICAgY2FzZSBQYXRoU2V0dGluZ1R5cGUuSW5jbHVkZToge1xuICAgICAgICByZXR1cm4gIXRoaXMucmVnRXhwLnRlc3QocGF0aCk7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBFeGhhdXN0aXZlIHN3aXRjaCBndWFyZC4gKi9cbiAgICAgICAgYXNzZXJ0TmV2ZXIodGhpcy50eXBlKTtcbiAgICAgIH1cbiAgICAgICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBIGNsYXNzIGZvciBtYW5hZ2luZyBpbmNsdWRlL2V4Y2x1ZGUgcGF0aCBzZXR0aW5ncy5cbiAqL1xuZXhwb3J0IGNsYXNzIFBhdGhTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBHZXRzIHRoZSBleGNsdWRlIHBhdGhzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZXhjbHVkZSBwYXRocy5cbiAgICovXG4gIHB1YmxpYyBnZXQgZXhjbHVkZVBhdGhzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fZXhjbHVkZVBhdGhzLmFycmF5O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGV4Y2x1ZGUgcGF0aHMuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBleGNsdWRlIHBhdGhzLlxuICAgKi9cbiAgcHVibGljIHNldCBleGNsdWRlUGF0aHModmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fZXhjbHVkZVBhdGhzLmFycmF5ID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaW5jbHVkZSBwYXRocy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGluY2x1ZGUgcGF0aHMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGluY2x1ZGVQYXRocygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2luY2x1ZGVQYXRocy5hcnJheTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpbmNsdWRlIHBhdGhzLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgaW5jbHVkZSBwYXRocy5cbiAgICovXG4gIHB1YmxpYyBzZXQgaW5jbHVkZVBhdGhzKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX2luY2x1ZGVQYXRocy5hcnJheSA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZXhjbHVkZVBhdGhzID0gbmV3IFBhdGhTZXR0aW5nKFBhdGhTZXR0aW5nVHlwZS5FeGNsdWRlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5jbHVkZVBhdGhzID0gbmV3IFBhdGhTZXR0aW5nKFBhdGhTZXR0aW5nVHlwZS5JbmNsdWRlKTtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGEgcGF0aCBpcyBpZ25vcmVkIGJ5IHRoZSBpbmNsdWRlL2V4Y2x1ZGUgcGF0aCBzZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBjaGVjay5cbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBwYXRoIGlzIGlnbm9yZWQsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIGlzUGF0aElnbm9yZWQocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2luY2x1ZGVQYXRocy5pc1BhdGhJZ25vcmVkKHBhdGgpIHx8IHRoaXMuX2V4Y2x1ZGVQYXRocy5pc1BhdGhJZ25vcmVkKHBhdGgpO1xuICB9XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIGluY2x1ZGUvZXhjbHVkZSBwYXRoIGVudHJpZXMsIHJlcG9ydGluZyB0aGUgZmlyc3QgZW50cnkgdGhhdCBpcyBub3QgYSBwYXJzZWFibGUgcmVndWxhciBleHByZXNzaW9uLlxuICpcbiAqIEFuIGVudHJ5IHRoYXQgc3RhcnRzIGFuZCBlbmRzIHdpdGggYC9gIGlzIGEgcmVndWxhciBleHByZXNzaW9uIGxpdGVyYWw7IGV2ZXJ5IG90aGVyIGVudHJ5IGlzIGEgcGxhaW4gcGF0aCBhbmQgaXNcbiAqIGFsd2F5cyB2YWxpZC4gQW4gaW52YWxpZCBlbnRyeSBkb2VzIG5vdCB0aHJvdyB3aGVuIGFzc2lnbmVkIHRvIHtAbGluayBQYXRoU2V0dGluZ3N9IOKAlCB0aGUgd2hvbGUgbGlzdCBmYWxscyBiYWNrIHRvXG4gKiBpdHMgZGVmYXVsdCBwYXR0ZXJuIGluc3RlYWQg4oCUIHNvIHRoaXMgdmFsaWRhdG9yIGlzIHdoYXQgc3VyZmFjZXMgdGhlIHByb2JsZW0gdG8gdGhlIHVzZXIuXG4gKlxuICogQHBhcmFtIHBhdGhzIC0gVGhlIHBhdGggZW50cmllcyB0byB2YWxpZGF0ZS5cbiAqIEByZXR1cm5zIEEgbWVzc2FnZSBuYW1pbmcgdGhlIGZpcnN0IGludmFsaWQgZW50cnksIG9yIG5vdGhpbmcgd2hlbiBldmVyeSBlbnRyeSBpcyB2YWxpZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhdGhzVmFsaWRhdG9yKHBhdGhzOiBzdHJpbmdbXSk6IE1heWJlUmV0dXJuPHN0cmluZz4ge1xuICBmb3IgKGNvbnN0IHBhdGggb2YgcGF0aHMpIHtcbiAgICBpZiAocGF0aC5zdGFydHNXaXRoKCcvJykgJiYgcGF0aC5lbmRzV2l0aCgnLycpICYmICFpc1ZhbGlkUmVnRXhwKHBhdGguc2xpY2UoMSwgLTEpKSkge1xuICAgICAgcmV0dXJuIHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5wYXRoU2V0dGluZ3MuaW52YWxpZFJlZ3VsYXJFeHByZXNzaW9uLCB7IHJlZ0V4cDogcGF0aCB9KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0RGVmYXVsdFJlZ0V4cCh0eXBlOiBQYXRoU2V0dGluZ1R5cGUpOiBSZWdFeHAge1xuICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gQWxsIGJyYW5jaGVzIGNvdmVyZWQgYnV0IHY4IHJlcG9ydHMgc3dpdGNoIGFzIHBhcnRpYWwuICovXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgY2FzZSBQYXRoU2V0dGluZ1R5cGUuRXhjbHVkZToge1xuICAgICAgcmV0dXJuIE5FVkVSX01BVENIX1JFR19FWFA7XG4gICAgfVxuICAgIGNhc2UgUGF0aFNldHRpbmdUeXBlLkluY2x1ZGU6IHtcbiAgICAgIHJldHVybiBBTFdBWVNfTUFUQ0hfUkVHX0VYUDtcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIEV4aGF1c3RpdmUgc3dpdGNoIGd1YXJkLiAqL1xuICAgICAgYXNzZXJ0TmV2ZXIodHlwZSk7XG4gICAgfVxuICAgICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgfVxufVxuXG5mdW5jdGlvbiBtYWtlUmVnRXhwKHBhdGhzOiBzdHJpbmdbXSwgZGVmYXVsdFJlZ0V4cDogUmVnRXhwKTogbnVsbCB8IFJlZ0V4cCB7XG4gIGlmIChwYXRocy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gZGVmYXVsdFJlZ0V4cDtcbiAgfVxuXG4gIGNvbnN0IHJlZ0V4cFN0cmluZ0NvbWJpbmVkID0gcGF0aHMubWFwKChwYXRoKSA9PiB7XG4gICAgaWYgKHBhdGggPT09ICcvJykge1xuICAgICAgcmV0dXJuIGRlZmF1bHRSZWdFeHAuc291cmNlO1xuICAgIH1cblxuICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoJy8nKSAmJiBwYXRoLmVuZHNXaXRoKCcvJykpIHtcbiAgICAgIHJldHVybiBwYXRoLnNsaWNlKDEsIC0xKTtcbiAgICB9XG5cbiAgICBwYXRoID0gdHJpbUVuZCh7XG4gICAgICAkc3RyaW5nOiBwYXRoLFxuICAgICAgc3VmZml4OiAnLydcbiAgICB9KTtcbiAgICByZXR1cm4gYF4ke2VzY2FwZVJlZ0V4cChwYXRoKX0oL3wkKWA7XG4gIH0pXG4gICAgLm1hcCgocmVnRXhwU3RyaW5nKSA9PiBgKCR7cmVnRXhwU3RyaW5nfSlgKVxuICAgIC5qb2luKCd8Jyk7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gbmV3IFJlZ0V4cChyZWdFeHBTdHJpbmdDb21iaW5lZCk7XG4gIH0gY2F0Y2gge1xuICAgIC8vIEEgcGFydGlhbGx5IHR5cGVkIHJlZ2V4IGxpdGVyYWwgKGAvXkluYm94XFwvYCkgaXMgbm90IHBhcnNlYWJsZS5cbiAgICAvLyBSZXBvcnQgaXQgaW5zdGVhZCBvZiB0aHJvd2luZyBmcm9tIGEgc2V0dGluZ3Mgc2V0dGVyLCB3aGljaCB3b3VsZCBicmVhayBib3RoIHRoZSBzZXR0aW5ncyBVSSBhbmQgdGhlIHNhdmUgcGF0aC5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFB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
|
package/dist/lib/cjs/pdf.cjs
CHANGED
|
@@ -2,13 +2,7 @@
|
|
|
2
2
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
5
|
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
10
|
-
}
|
|
11
|
-
|
|
12
6
|
function ensureBrowserProcess() {
|
|
13
7
|
const browserProcess = {
|
|
14
8
|
browser: true,
|
|
@@ -33,20 +27,7 @@ function ensureBrowserProcess() {
|
|
|
33
27
|
existingProcessRecord["browser"] = true;
|
|
34
28
|
}
|
|
35
29
|
|
|
36
|
-
|
|
37
|
-
return $unknown;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
(function initCjs() {
|
|
41
|
-
const globalThisRecord = globalThis;
|
|
42
|
-
ensureDisposeSymbols();
|
|
43
|
-
globalThisRecord["__name"] ??= keepName;
|
|
44
|
-
globalThisRecord["__extractDefault"] ??= extractDefault;
|
|
45
|
-
ensureBrowserProcess();
|
|
46
|
-
function extractDefault(module) {
|
|
47
|
-
return module && module.__esModule && "default" in module ? module.default : module;
|
|
48
|
-
}
|
|
49
|
-
})();
|
|
30
|
+
ensureBrowserProcess();
|
|
50
31
|
})();
|
|
51
32
|
(function patchObsidianRequire() {
|
|
52
33
|
const originalRequire = require;
|
|
@@ -170,4 +151,4 @@ async function printToPdf(element, options) {
|
|
|
170
151
|
0 && (module.exports = {
|
|
171
152
|
printToPdf
|
|
172
153
|
});
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wZGYudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBwcmludGluZyB0byBQREYuXG4gKi9cblxuaW1wb3J0IHsgZW5zdXJlTG9hZGVkIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2h0bWwtZWxlbWVudCc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ29ic2lkaWFuJztcblxuaW50ZXJmYWNlIFByaW50VG9QZGZPcHRpb25zIHtcbiAgcmVhZG9ubHkgZmlsZXBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgaW5jbHVkZU5hbWU6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGxhbmRzY2FwZTogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbWFyZ2luc1R5cGU6IG51bWJlcjtcbiAgcmVhZG9ubHkgb3BlbjogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcGFnZVNpemU6IHN0cmluZztcbiAgcmVhZG9ubHkgc2NhbGU6IG51bWJlcjtcbiAgcmVhZG9ubHkgc2NhbGVGYWN0b3I6IG51bWJlcjtcbn1cblxuY29uc3QgRUxFQ1RST05fUFJJTlRfVE9fUERGX0NIQU5ORUwgPSAncHJpbnQtdG8tcGRmJztcblxuLyoqXG4gKiBQcmludCB0aGUgZ2l2ZW4gZWxlbWVudCB0byBhIFBERiBmaWxlLlxuICpcbiAqIFdvcmtzIG9ubHkgb24gZGVza3RvcC5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIHByaW50LlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyB0byB1c2UgZm9yIHRoZSBwcmludC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByaW50VG9QZGYoZWxlbWVudDogSFRNTEVsZW1lbnQsIG9wdGlvbnM6IFBhcnRpYWw8UHJpbnRUb1BkZk9wdGlvbnM+KTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmIChQbGF0Zm9ybS5pc01vYmlsZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignUHJpbnRpbmcgdG8gUERGIGlzIG5vdCBzdXBwb3J0ZWQgb24gbW9iaWxlIGRldmljZXMuJyk7XG4gIH1cblxuICBjb25zdCBwcmludERpdiA9IGFjdGl2ZURvY3VtZW50LmJvZHkuY3JlYXRlRGl2KCdwcmludCcpO1xuICBwcmludERpdi5hcHBlbmQoZWxlbWVudCk7XG4gIGF3YWl0IGVuc3VyZUxvYWRlZChwcmludERpdik7XG5cbiAgY29uc3QgREVGQVVMVF9TQ0FMRV9GQUNUT1IgPSAxMDA7XG4gIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogUHJpbnRUb1BkZk9wdGlvbnMgPSB7XG4gICAgZmlsZXBhdGg6ICdVbnRpdGxlZC5wZGYnLFxuICAgIGluY2x1ZGVOYW1lOiBmYWxzZSxcbiAgICBsYW5kc2NhcGU6IGZhbHNlLFxuICAgIG1hcmdpbnNUeXBlOiAwLFxuICAgIG9wZW46IHRydWUsXG4gICAgcGFnZVNpemU6ICdBNCcsXG4gICAgc2NhbGU6IDEsXG4gICAgc2NhbGVGYWN0b3I6IERFRkFVTFRfU0NBTEVfRkFDVE9SXG4gIH07XG5cbiAgY29uc3QgZnVsbE9wdGlvbnMgPSB7IC4uLkRFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9ucyB9O1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGFjdGl2ZVdpbmRvdy5lbGVjdHJvbi5pcGNSZW5kZXJlci5vbmNlKEVMRUNUUk9OX1BSSU5UX1RPX1BERl9DSEFOTkVMLCByZXNvbHZlKTtcbiAgICAgIGFjdGl2ZVdpbmRvdy5lbGVjdHJvbi5pcGNSZW5kZXJlci5zZW5kKEVMRUNUUk9OX1BSSU5UX1RPX1BERl9DSEFOTkVMLCBmdWxsT3B0aW9ucyk7XG4gICAgfSk7XG4gIH0gZmluYWxseSB7XG4gICAgcHJpbnREaXYucmVtb3ZlKCk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsMEJBQTZCO0FBQzdCLHNCQUF5QjtBQWF6QixNQUFNLGdDQUFnQztBQVV0QyxlQUFzQixXQUFXLFNBQXNCLFNBQW9EO0FBQ3pHLE1BQUkseUJBQVMsVUFBVTtBQUNyQixVQUFNLElBQUksTUFBTSxxREFBcUQ7QUFBQSxFQUN2RTtBQUVBLFFBQU0sV0FBVyxlQUFlLEtBQUssVUFBVSxPQUFPO0FBQ3RELFdBQVMsT0FBTyxPQUFPO0FBQ3ZCLFlBQU0sa0NBQWEsUUFBUTtBQUUzQixRQUFNLHVCQUF1QjtBQUM3QixRQUFNLGtCQUFxQztBQUFBLElBQ3pDLFVBQVU7QUFBQSxJQUNWLGFBQWE7QUFBQSxJQUNiLFdBQVc7QUFBQSxJQUNYLGFBQWE7QUFBQSxJQUNiLE1BQU07QUFBQSxJQUNOLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGFBQWE7QUFBQSxFQUNmO0FBRUEsUUFBTSxjQUFjLEVBQUUsR0FBRyxpQkFBaUIsR0FBRyxRQUFRO0FBRXJELE1BQUk7QUFDRixVQUFNLElBQUksUUFBUSxDQUFDLFlBQVk7QUFDN0IsbUJBQWEsU0FBUyxZQUFZLEtBQUssK0JBQStCLE9BQU87QUFDN0UsbUJBQWEsU0FBUyxZQUFZLEtBQUssK0JBQStCLFdBQVc7QUFBQSxJQUNuRixDQUFDO0FBQUEsRUFDSCxVQUFFO0FBQ0EsYUFBUyxPQUFPO0FBQUEsRUFDbEI7QUFDRjsiLCJuYW1lcyI6W119
|
package/dist/lib/cjs/pdf.d.cts
CHANGED
|
@@ -2,52 +2,6 @@
|
|
|
2
2
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
|
-
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function ensureBrowserProcess() {
|
|
13
|
-
const browserProcess = {
|
|
14
|
-
browser: true,
|
|
15
|
-
cwd() {
|
|
16
|
-
return "/";
|
|
17
|
-
},
|
|
18
|
-
env: {},
|
|
19
|
-
platform: "android"
|
|
20
|
-
};
|
|
21
|
-
const existingProcess = globalThis.process;
|
|
22
|
-
if (!existingProcess) {
|
|
23
|
-
globalThis.process = browserProcess;
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
if (existingProcess.versions?.node) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
const existingProcessRecord = existingProcess;
|
|
30
|
-
for (const [key, value] of Object.entries(browserProcess)) {
|
|
31
|
-
existingProcessRecord[key] ??= value;
|
|
32
|
-
}
|
|
33
|
-
existingProcessRecord["browser"] = true;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function keepName($unknown) {
|
|
37
|
-
return $unknown;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
(function initCjs() {
|
|
41
|
-
const globalThisRecord = globalThis;
|
|
42
|
-
ensureDisposeSymbols();
|
|
43
|
-
globalThisRecord["__name"] ??= keepName;
|
|
44
|
-
globalThisRecord["__extractDefault"] ??= extractDefault;
|
|
45
|
-
ensureBrowserProcess();
|
|
46
|
-
function extractDefault(module) {
|
|
47
|
-
return module && module.__esModule && "default" in module ? module.default : module;
|
|
48
|
-
}
|
|
49
|
-
})();
|
|
50
|
-
})();
|
|
51
5
|
(function patchObsidianRequire() {
|
|
52
6
|
const originalRequire = require;
|
|
53
7
|
if (!originalRequire || originalRequire.__isPatched) {
|
|
@@ -153,15 +107,15 @@ __export(plugin_exports, {
|
|
|
153
107
|
"settings-migration-api": () => settings_migration_api
|
|
154
108
|
});
|
|
155
109
|
module.exports = __toCommonJS(plugin_exports);
|
|
156
|
-
var plugin_api_schema = __toESM(
|
|
157
|
-
var plugin_api = __toESM(
|
|
158
|
-
var plugin_context = __toESM(
|
|
159
|
-
var plugin_event_source = __toESM(
|
|
160
|
-
var plugin_install_state = __toESM(
|
|
161
|
-
var plugin_lifecycle_events = __toESM(
|
|
162
|
-
var plugin_settings_tab = __toESM(
|
|
163
|
-
var plugin = __toESM(
|
|
164
|
-
var settings_migration_api = __toESM(
|
|
110
|
+
var plugin_api_schema = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./plugin-api-schema.cjs')), 1);
|
|
111
|
+
var plugin_api = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./plugin-api.cjs')), 1);
|
|
112
|
+
var plugin_context = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./plugin-context.cjs')), 1);
|
|
113
|
+
var plugin_event_source = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./plugin-event-source.cjs')), 1);
|
|
114
|
+
var plugin_install_state = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./plugin-install-state.cjs')), 1);
|
|
115
|
+
var plugin_lifecycle_events = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./plugin-lifecycle-events.cjs')), 1);
|
|
116
|
+
var plugin_settings_tab = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./plugin-settings-tab.cjs')), 1);
|
|
117
|
+
var plugin = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./plugin.cjs')), 1);
|
|
118
|
+
var settings_migration_api = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./settings-migration-api.cjs')), 1);
|
|
165
119
|
// Annotate the CommonJS export names for ESM import in node:
|
|
166
120
|
0 && (module.exports = {
|
|
167
121
|
plugin,
|
|
@@ -174,4 +128,4 @@ var settings_migration_api = __toESM(__extractDefault(require('./settings-migrat
|
|
|
174
128
|
"plugin-settings-tab": null,
|
|
175
129
|
"settings-migration-api": null
|
|
176
130
|
});
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW4vaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzICdwbHVnaW4tYXBpLXNjaGVtYScgZnJvbSAnLi9wbHVnaW4tYXBpLXNjaGVtYS50cyc7XG5leHBvcnQgKiBhcyAncGx1Z2luLWFwaScgZnJvbSAnLi9wbHVnaW4tYXBpLnRzJztcbmV4cG9ydCAqIGFzICdwbHVnaW4tY29udGV4dCcgZnJvbSAnLi9wbHVnaW4tY29udGV4dC50cyc7XG5leHBvcnQgKiBhcyAncGx1Z2luLWV2ZW50LXNvdXJjZScgZnJvbSAnLi9wbHVnaW4tZXZlbnQtc291cmNlLnRzJztcbmV4cG9ydCAqIGFzICdwbHVnaW4taW5zdGFsbC1zdGF0ZScgZnJvbSAnLi9wbHVnaW4taW5zdGFsbC1zdGF0ZS50cyc7XG5leHBvcnQgKiBhcyAncGx1Z2luLWxpZmVjeWNsZS1ldmVudHMnIGZyb20gJy4vcGx1Z2luLWxpZmVjeWNsZS1ldmVudHMudHMnO1xuZXhwb3J0ICogYXMgJ3BsdWdpbi1zZXR0aW5ncy10YWInIGZyb20gJy4vcGx1Z2luLXNldHRpbmdzLXRhYi50cyc7XG5leHBvcnQgKiBhcyAncGx1Z2luJyBmcm9tICcuL3BsdWdpbi50cyc7XG5leHBvcnQgKiBhcyAnc2V0dGluZ3MtbWlncmF0aW9uLWFwaScgZnJvbSAnLi9zZXR0aW5ncy1taWdyYXRpb24tYXBpLnRzJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUEsc0JBQUFBO0FBQUEsRUFBQSwyQkFBQUM7QUFBQSxFQUFBLHdCQUFBQztBQUFBLEVBQUEsNkJBQUFDO0FBQUEsRUFBQSw4QkFBQUM7QUFBQSxFQUFBLGlDQUFBQztBQUFBLEVBQUEsNkJBQUFDO0FBQUEsRUFBQSxnQ0FBQUM7QUFBQTtBQUFBO0FBRUEsSUFBQU4sb0JBQXFDO0FBQ3JDLElBQUFELGFBQThCO0FBQzlCLElBQUFFLGlCQUFrQztBQUNsQyxJQUFBQyxzQkFBdUM7QUFDdkMsSUFBQUMsdUJBQXdDO0FBQ3hDLElBQUFDLDBCQUEyQztBQUMzQyxJQUFBQyxzQkFBdUM7QUFDdkMsYUFBMEI7QUFDMUIsSUFBQUMseUJBQTBDOyIsIm5hbWVzIjpbInBsdWdpbi1hcGkiLCJwbHVnaW4tYXBpLXNjaGVtYSIsInBsdWdpbi1jb250ZXh0IiwicGx1Z2luLWV2ZW50LXNvdXJjZSIsInBsdWdpbi1pbnN0YWxsLXN0YXRlIiwicGx1Z2luLWxpZmVjeWNsZS1ldmVudHMiLCJwbHVnaW4tc2V0dGluZ3MtdGFiIiwic2V0dGluZ3MtbWlncmF0aW9uLWFwaSJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/// <reference path="../library.d.cts" />
|
|
1
|
+
/// <reference path="../library-references.d.cts" />
|
|
2
2
|
export * as 'plugin-api-schema' from './plugin-api-schema.cjs';
|
|
3
3
|
export * as 'plugin-api' from './plugin-api.cjs';
|
|
4
4
|
export * as 'plugin-context' from './plugin-context.cjs';
|
|
@@ -2,13 +2,7 @@
|
|
|
2
2
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
5
|
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
10
|
-
}
|
|
11
|
-
|
|
12
6
|
function ensureBrowserProcess() {
|
|
13
7
|
const browserProcess = {
|
|
14
8
|
browser: true,
|
|
@@ -33,20 +27,7 @@ function ensureBrowserProcess() {
|
|
|
33
27
|
existingProcessRecord["browser"] = true;
|
|
34
28
|
}
|
|
35
29
|
|
|
36
|
-
|
|
37
|
-
return $unknown;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
(function initCjs() {
|
|
41
|
-
const globalThisRecord = globalThis;
|
|
42
|
-
ensureDisposeSymbols();
|
|
43
|
-
globalThisRecord["__name"] ??= keepName;
|
|
44
|
-
globalThisRecord["__extractDefault"] ??= extractDefault;
|
|
45
|
-
ensureBrowserProcess();
|
|
46
|
-
function extractDefault(module) {
|
|
47
|
-
return module && module.__esModule && "default" in module ? module.default : module;
|
|
48
|
-
}
|
|
49
|
-
})();
|
|
30
|
+
ensureBrowserProcess();
|
|
50
31
|
})();
|
|
51
32
|
(function patchObsidianRequire() {
|
|
52
33
|
const originalRequire = require;
|
|
@@ -142,4 +123,4 @@ var import_api_contract = require('@mnaoumov/typescript-lib/api-contract');
|
|
|
142
123
|
createArgumentsSchema,
|
|
143
124
|
createTypeGuardSchema
|
|
144
125
|
});
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW4vcGx1Z2luLWFwaS1zY2hlbWEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSB7QGxpbmsgaHR0cHM6Ly9zdGFuZGFyZHNjaGVtYS5kZXYgfCBTdGFuZGFyZCBTY2hlbWF9IGJ1aWxkZXJzIGZvciB0aGUgcGF5bG9hZCBoYWx2ZXMgb2YgYSBwbHVnaW4gQVBJXG4gKiBjb250cmFjdCwgcmUtZXhwb3J0ZWQgZnJvbSBgQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FwaS1jb250cmFjdGAsIHdoZXJlIHRoZXkgbm93IGxpdmUuXG4gKlxuICogTm90aGluZyBhYm91dCB0aGVtIGlzIE9ic2lkaWFuLXNwZWNpZmljOiBhIGNvbnRyYWN0J3Mgc2NoZW1hcyBhcmUgcGxhaW4gb2JqZWN0cyBvdmVyIHBsYWluIGZ1bmN0aW9ucywgd2hpY2ggYVxuICogdHlwZSBndWFyZCBhbHJlYWR5IGlzLiBJbXBvcnQgdGhlbSBmcm9tIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXBpLWNvbnRyYWN0YCBpbnN0ZWFkOyB0aGVzZSByZS1leHBvcnRzIHN0YXlcbiAqIG9ubHkgc28gdGhhdCBtb3ZlIGxhbmRzIGluIGEgbWlub3IsIGFuZCBnbyBpbiB0aGUgbmV4dCBtYWpvci5cbiAqL1xuXG5leHBvcnQge1xuICAvKipcbiAgICogT25lIHR5cGUgZ3VhcmQgcGVyIHBhcmFtZXRlciBvZiBhIG1ldGhvZCwgaW4gb3JkZXIuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIEltcG9ydCBgQXJndW1lbnRUeXBlR3VhcmRzYCBmcm9tIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXBpLWNvbnRyYWN0YC5cbiAgICovXG4gIHR5cGUgQXJndW1lbnRUeXBlR3VhcmRzLFxuICAvKipcbiAgICogQnVpbGRzIHRoZSBpbnB1dCBzY2hlbWEgb2YgYSBtZXRob2QgY29udHJhY3QuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIEltcG9ydCBgY3JlYXRlQXJndW1lbnRzU2NoZW1hYCBmcm9tIGBAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXBpLWNvbnRyYWN0YC5cbiAgICovXG4gIGNyZWF0ZUFyZ3VtZW50c1NjaGVtYSxcbiAgLyoqXG4gICAqIEJ1aWxkcyBhIHNjaGVtYSBvdmVyIG9uZSB2YWx1ZSBmcm9tIGEgdHlwZSBndWFyZC5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgSW1wb3J0IGBjcmVhdGVUeXBlR3VhcmRTY2hlbWFgIGZyb20gYEBtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hcGktY29udHJhY3RgLlxuICAgKi9cbiAgY3JlYXRlVHlwZUd1YXJkU2NoZW1hLFxuICAvKipcbiAgICogT25lIHZhbHVlIGEgc2NoZW1hIGFjY2VwdHMsIGRlc2NyaWJlZCBieSBhIHR5cGUgZ3VhcmQuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIEltcG9ydCBgQ3JlYXRlVHlwZUd1YXJkU2NoZW1hUGFyYW1zYCAob3IgYEV4cGVjdGVkVHlwZUd1YXJkYCkgZnJvbVxuICAgKiBgQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FwaS1jb250cmFjdGAuXG4gICAqL1xuICB0eXBlIENyZWF0ZVR5cGVHdWFyZFNjaGVtYVBhcmFtc1xufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXBpLWNvbnRyYWN0JztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSwwQkEwQk87IiwibmFtZXMiOltdfQ==
|