From 97dd72b9f7ab3bde71980f41919a17a8a57f528a Mon Sep 17 00:00:00 2001 From: Joshua Ramon Enslin Date: Mon, 20 Jan 2025 14:14:44 +0100 Subject: [PATCH] Initial commit (as a partial copy of md:quality) --- .gitignore | 1 + compile.php | 102 + constants.php | 30 + dependencies/MDAllowedValueSets | 1 + dependencies/MDErrorReporter | 1 + dependencies/MDImporterConcordanceLists | 1 + dependencies/MDTlLoader | 1 + dependencies/MD_STD | 1 + functions.php | 104 + l10n/translation-concordance | 1 + phpstan.neon | 38 + phpunit.xml | 17 + provideEnv.php | 23 + public/api.php | 53 + public/index.htm | 35 + public/static/README.md | 1 + public/static/css/README.md | 1 + public/static/css/dialogue.css | 46 + public/static/css/editMenu.css | 44 + public/static/css/qa.css | 329 + public/static/css/qa.min.css/css/dialogue.css | 1 + public/static/css/qa.min.css/css/editMenu.css | 1 + public/static/css/qa.min.css/css/qa.css | 1 + public/static/fonts/SourceSansPro-Light.ttf | Bin 0 -> 292680 bytes public/static/fonts/SourceSansPro-Regular.ttf | Bin 0 -> 293516 bytes .../static/fonts/SourceSansPro-Regular.woff2 | Bin 0 -> 86844 bytes public/static/img/mdlogo-code-128px.png | Bin 0 -> 1957 bytes public/static/img/mdlogo-code-512px.png | Bin 0 -> 4715 bytes public/static/img/mdlogo-code.svg | 423 + .../static/img/more/20231010-Presentation.png | Bin 0 -> 75329 bytes .../img/more/20231010-Presentation.webp | Bin 0 -> 28014 bytes public/static/js/README.md | 1 + public/static/js/qa.js | 1129 + public/static/js/qa.min.js | 1 + .../js/swagger/swagger-ui-5.17.14/.agignore | 1 + .../swagger-ui-5.17.14/.browserslistrc | 29 + .../swagger-ui-5.17.14/.commitlintrc.json | 25 + .../swagger/swagger-ui-5.17.14/.dockerignore | 8 + .../swagger/swagger-ui-5.17.14/.editorconfig | 10 + .../swagger/swagger-ui-5.17.14/.eslintignore | 3 + .../js/swagger/swagger-ui-5.17.14/.eslintrc | 38 + .../swagger/swagger-ui-5.17.14/.gitattributes | 1 + .../.github/ISSUE_TEMPLATE/Bug_report.md | 73 + .../.github/ISSUE_TEMPLATE/Feature_request.md | 42 + .../.github/ISSUE_TEMPLATE/Support.md | 46 + .../.github/dependabot.yaml | 35 + .../swagger-ui-5.17.14/.github/lock.yml | 15 + .../.github/pull_request_template.md | 55 + .../.github/workflows/codeql.yml | 63 + .../.github/workflows/dependabot-merge.yml | 40 + .../.github/workflows/docker-build-push.yml | 143 + .../.github/workflows/docker-image-check.yml | 23 + .../.github/workflows/nodejs.yml | 86 + .../workflows/release-swagger-ui-react.yml | 79 + .../.github/workflows/release-swagger-ui.yml | 73 + .../js/swagger/swagger-ui-5.17.14/.gitignore | 29 + .../swagger-ui-5.17.14/.husky/commit-msg | 1 + .../swagger-ui-5.17.14/.husky/pre-commit | 1 + .../swagger/swagger-ui-5.17.14/.lintstagedrc | 3 + .../js/swagger/swagger-ui-5.17.14/.npmignore | 15 + .../js/swagger/swagger-ui-5.17.14/.npmrc | 1 + .../js/swagger/swagger-ui-5.17.14/.nvmrc | 1 + .../swagger-ui-5.17.14/.prettierrc.yaml | 5 + .../js/swagger/swagger-ui-5.17.14/.releaserc | 35 + .../js/swagger/swagger-ui-5.17.14/Dockerfile | 30 + .../js/swagger/swagger-ui-5.17.14/LICENSE | 202 + .../js/swagger/swagger-ui-5.17.14/NOTICE | 2 + .../js/swagger/swagger-ui-5.17.14/README.md | 99 + .../js/swagger/swagger-ui-5.17.14/SECURITY.md | 23 + .../swagger-ui-5.17.14/babel.config.js | 140 + .../swagger/swagger-ui-5.17.14/composer.json | 40 + .../swagger-ui-5.17.14/config/.eslintrc | 8 + .../config/jest/jest.artifact.config.js | 9 + .../config/jest/jest.unit.config.js | 23 + .../swagger-ui-5.17.14/cypress.config.js | 19 + .../dev-helpers/dev-helper-initializer.js | 33 + .../swagger-ui-5.17.14/dev-helpers/index.html | 21 + .../dev-helpers/oauth2-redirect.html | 76 + .../swagger-ui-5.17.14/dev-helpers/style.css | 19 + .../swagger-ui-5.17.14/dist/favicon-16x16.png | Bin 0 -> 665 bytes .../swagger-ui-5.17.14/dist/favicon-32x32.png | Bin 0 -> 628 bytes .../swagger/swagger-ui-5.17.14/dist/index.css | 16 + .../swagger-ui-5.17.14/dist/index.html | 19 + .../dist/oauth2-redirect.html | 79 + .../dist/swagger-initializer.js | 20 + .../dist/swagger-ui-bundle.js | 2 + .../dist/swagger-ui-bundle.js.map | 1 + .../dist/swagger-ui-es-bundle-core.js | 3 + .../dist/swagger-ui-es-bundle-core.js.map | 1 + .../dist/swagger-ui-es-bundle.js | 2 + .../dist/swagger-ui-es-bundle.js.map | 1 + .../dist/swagger-ui-standalone-preset.js | 2 + .../dist/swagger-ui-standalone-preset.js.map | 1 + .../swagger-ui-5.17.14/dist/swagger-ui.css | 3 + .../dist/swagger-ui.css.map | 1 + .../swagger-ui-5.17.14/dist/swagger-ui.js | 2 + .../swagger-ui-5.17.14/dist/swagger-ui.js.map | 1 + .../docker/configurator/helpers.js | 13 + .../docker/configurator/index.js | 52 + .../docker/configurator/oauth.js | 55 + .../docker/configurator/translator.js | 111 + .../docker/configurator/variables.js | 125 + .../swagger-ui-5.17.14/docker/cors.conf | 14 + .../docker/default.conf.template | 43 + .../docker-entrypoint.d/40-swagger-ui.sh | 52 + .../swagger-ui-5.17.14/docker/embedding.conf | 5 + .../swagger/swagger-ui-5.17.14/docs/README.md | 26 + .../swagger/swagger-ui-5.17.14/docs/book.json | 3 + .../docs/customization/add-plugin.md | 127 + .../docs/customization/custom-layout.md | 92 + .../docs/customization/overview.md | 71 + .../docs/customization/plug-points.md | 415 + .../docs/customization/plugin-api.md | 455 + .../docs/development/scripts.md | 38 + .../docs/development/setting-up.md | 38 + .../docs/images/swagger-ui2.png | Bin 0 -> 99657 bytes .../docs/images/swagger-ui3.png | Bin 0 -> 79791 bytes .../samples/webpack-getting-started/README.md | 14 + .../_sample_package.json | 26 + .../webpack-getting-started/index.html | 10 + .../webpack-getting-started/src/index.js | 15 + .../src/swagger-config.yaml | 30 + .../webpack-getting-started/webpack.config.js | 52 + .../docs/usage/configuration.md | 383 + .../swagger-ui-5.17.14/docs/usage/cors.md | 60 + .../docs/usage/deep-linking.md | 36 + .../docs/usage/installation.md | 190 + .../docs/usage/limitations.md | 38 + .../swagger-ui-5.17.14/docs/usage/oauth2.md | 31 + .../docs/usage/version-detection.md | 54 + .../flavors/swagger-ui-react/README.md | 195 + .../flavors/swagger-ui-react/index.jsx | 174 + .../release/create-manifest.js | 9 + .../flavors/swagger-ui-react/release/run.sh | 42 + .../swagger-ui-react/release/template.json | 53 + .../swagger-ui-5.17.14/package-lock.json | 28881 +++++++ .../swagger/swagger-ui-5.17.14/package.json | 201 + .../release/.release-it.json | 28 + .../release/check-for-breaking-changes.sh | 14 + .../release/get-changelog.sh | 5 + .../swagger/swagger-ui-5.17.14/renovate.json | 45 + .../swagger/swagger-ui-5.17.14/snapcraft.yaml | 28 + .../swagger/swagger-ui-5.17.14/src/.eslintrc | 10 + .../src/core/assets/rolling-load.svg | 1 + .../src/core/components/app.jsx | 30 + .../src/core/components/auth/api-key-auth.jsx | 91 + .../src/core/components/auth/auth-item.jsx | 56 + .../components/auth/authorization-popup.jsx | 59 + .../core/components/auth/authorize-btn.jsx | 30 + .../auth/authorize-operation-btn.jsx | 35 + .../src/core/components/auth/auths.jsx | 123 + .../src/core/components/auth/basic-auth.jsx | 108 + .../src/core/components/auth/error.jsx | 24 + .../src/core/components/auth/oauth2.jsx | 281 + .../src/core/components/clear.jsx | 25 + .../src/core/components/contact.jsx | 45 + .../src/core/components/content-type.jsx | 61 + .../core/components/copy-to-clipboard-btn.jsx | 29 + .../src/core/components/curl.jsx | 38 + .../src/core/components/debug.jsx | 50 + .../src/core/components/deep-link.jsx | 20 + .../src/core/components/errors.jsx | 132 + .../src/core/components/example.jsx | 42 + .../examples-select-value-retainer.jsx | 258 + .../src/core/components/examples-select.jsx | 139 + .../src/core/components/execute.jsx | 103 + .../src/core/components/footer.jsx | 9 + .../src/core/components/headers.jsx | 58 + .../src/core/components/info.jsx | 156 + .../src/core/components/initialized-input.jsx | 36 + .../src/core/components/jump-to-path.jsx | 9 + .../src/core/components/layout-utils.jsx | 263 + .../src/core/components/layouts/base.jsx | 151 + .../src/core/components/layouts/xpane.jsx | 73 + .../src/core/components/license.jsx | 41 + .../src/core/components/live-response.jsx | 133 + .../components/online-validator-badge.jsx | 119 + .../src/core/components/openapi-version.jsx | 15 + .../components/operation-extension-row.jsx | 17 + .../core/components/operation-extensions.jsx | 35 + .../components/operation-summary-method.jsx | 25 + .../components/operation-summary-path.jsx | 54 + .../src/core/components/operation-summary.jsx | 111 + .../src/core/components/operation-tag.jsx | 120 + .../src/core/components/operation.jsx | 260 + .../src/core/components/operations.jsx | 100 + .../src/core/components/overview.jsx | 119 + .../src/core/components/param-body.jsx | 156 + .../core/components/parameter-extension.jsx | 12 + .../components/parameter-include-empty.jsx | 59 + .../src/core/components/parameter-row.jsx | 398 + .../src/core/components/parameters/index.js | 1 + .../core/components/parameters/parameters.jsx | 284 + .../src/core/components/property.jsx | 16 + .../src/core/components/providers/README.md | 6 + .../core/components/providers/markdown.jsx | 72 + .../src/core/components/response-body.jsx | 170 + .../core/components/response-extension.jsx | 12 + .../src/core/components/response.jsx | 272 + .../src/core/components/responses.jsx | 169 + .../src/core/components/svg-assets.jsx | 48 + .../src/core/components/system-wrapper.jsx | 0 .../src/core/components/try-it-out-button.jsx | 41 + .../core/components/version-pragma-filter.jsx | 54 + .../src/core/components/version-stamp.jsx | 12 + .../src/core/config/defaults.js | 92 + .../config/factorization/inline-plugin.js | 10 + .../src/core/config/factorization/system.js | 44 + .../src/core/config/index.js | 12 + .../src/core/config/merge.js | 58 + .../src/core/config/sources/query.js | 28 + .../src/core/config/sources/runtime.js | 18 + .../src/core/config/sources/url.js | 38 + .../src/core/config/type-cast/index.js | 24 + .../src/core/config/type-cast/mappings.js | 134 + .../config/type-cast/type-casters/array.js | 7 + .../config/type-cast/type-casters/boolean.js | 11 + .../config/type-cast/type-casters/dom-node.js | 7 + .../config/type-cast/type-casters/filter.js | 11 + .../config/type-cast/type-casters/function.js | 7 + .../type-cast/type-casters/nullable-array.js | 6 + .../type-casters/nullable-function.js | 7 + .../type-cast/type-casters/nullable-string.js | 7 + .../config/type-cast/type-casters/number.js | 9 + .../config/type-cast/type-casters/object.js | 9 + .../config/type-cast/type-casters/sorter.js | 7 + .../config/type-cast/type-casters/string.js | 6 + .../type-casters/syntax-highlight.js | 14 + .../type-casters/undefined-string.js | 7 + .../core/containers/OperationContainer.jsx | 252 + .../src/core/containers/authorize-btn.jsx | 31 + .../src/core/containers/filter.jsx | 44 + .../src/core/containers/info.jsx | 34 + .../swagger-ui-5.17.14/src/core/index.js | 174 + .../src/core/oauth2-authorize.js | 132 + .../src/core/plugins/auth/actions.js | 288 + .../auth/components/lock-auth-icon.jsx | 27 + .../auth/components/unlock-auth-icon.jsx | 27 + .../auth/configs-extensions/wrap-actions.js | 19 + .../src/core/plugins/auth/index.js | 94 + .../src/core/plugins/auth/reducers.js | 77 + .../src/core/plugins/auth/selectors.js | 113 + .../auth/spec-extensions/wrap-actions.js | 10 + .../src/core/plugins/auth/wrap-actions.js | 64 + .../src/core/plugins/configs/actions.js | 58 + .../src/core/plugins/configs/fn.js | 12 + .../src/core/plugins/configs/index.js | 16 + .../src/core/plugins/configs/reducers.js | 20 + .../src/core/plugins/configs/selectors.js | 4 + .../src/core/plugins/deep-linking/README.md | 1 + .../src/core/plugins/deep-linking/helpers.js | 7 + .../src/core/plugins/deep-linking/index.js | 24 + .../src/core/plugins/deep-linking/layout.js | 209 + .../deep-linking/operation-tag-wrapper.jsx | 25 + .../deep-linking/operation-wrapper.jsx | 27 + .../src/core/plugins/download-url/index.js | 126 + .../src/core/plugins/err/actions.js | 60 + .../plugins/err/error-transformers/README.md | 31 + .../plugins/err/error-transformers/hook.js | 38 + .../transformers/not-of-type.js | 29 + .../transformers/parameter-oneof.js | 59 + .../src/core/plugins/err/index.js | 15 + .../src/core/plugins/err/reducers.js | 100 + .../src/core/plugins/err/selectors.js | 15 + .../src/core/plugins/filter/index.js | 9 + .../src/core/plugins/filter/opsFilter.js | 3 + .../plugins/icons/components/arrow-down.jsx | 28 + .../plugins/icons/components/arrow-up.jsx | 28 + .../core/plugins/icons/components/arrow.jsx | 28 + .../core/plugins/icons/components/close.jsx | 28 + .../core/plugins/icons/components/copy.jsx | 34 + .../core/plugins/icons/components/lock.jsx | 28 + .../core/plugins/icons/components/unlock.jsx | 28 + .../src/core/plugins/icons/index.js | 24 + .../fn/api/encoderAPI.js | 20 + .../fn/api/formatAPI.js | 20 + .../fn/api/mediaTypeAPI.js | 27 + .../fn/api/optionAPI.js | 17 + .../fn/class/EncoderRegistry.js | 33 + .../fn/class/FormatRegistry.js | 65 + .../fn/class/MediaTypeRegistry.js | 27 + .../fn/class/OptionRegistry.js | 16 + .../fn/class/Registry.js | 24 + .../fn/core/constants.js | 6 + .../fn/core/example.js | 57 + .../fn/core/merge.js | 83 + .../fn/core/predicates.js | 16 + .../fn/core/random.js | 35 + .../fn/core/type.js | 153 + .../fn/core/utils.js | 23 + .../fn/encoders/7bit.js | 6 + .../fn/encoders/8bit.js | 6 + .../fn/encoders/base16.js | 6 + .../fn/encoders/base32.js | 34 + .../fn/encoders/base64.js | 6 + .../fn/encoders/base64url.js | 6 + .../fn/encoders/binary.js | 6 + .../fn/encoders/quoted-printable.js | 38 + .../fn/generators/date-time.js | 6 + .../fn/generators/date.js | 6 + .../fn/generators/double.js | 6 + .../fn/generators/duration.js | 6 + .../fn/generators/email.js | 6 + .../fn/generators/float.js | 6 + .../fn/generators/hostname.js | 6 + .../fn/generators/idn-email.js | 6 + .../fn/generators/idn-hostname.js | 6 + .../fn/generators/int32.js | 6 + .../fn/generators/int64.js | 6 + .../fn/generators/ipv4.js | 6 + .../fn/generators/ipv6.js | 6 + .../fn/generators/iri-reference.js | 6 + .../fn/generators/iri.js | 6 + .../fn/generators/json-pointer.js | 6 + .../fn/generators/media-types/application.js | 17 + .../fn/generators/media-types/audio.js | 10 + .../fn/generators/media-types/image.js | 10 + .../fn/generators/media-types/text.js | 17 + .../fn/generators/media-types/video.js | 10 + .../fn/generators/password.js | 6 + .../fn/generators/regex.js | 6 + .../fn/generators/relative-json-pointer.js | 6 + .../fn/generators/time.js | 6 + .../fn/generators/uri-reference.js | 6 + .../fn/generators/uri-template.js | 7 + .../fn/generators/uri.js | 6 + .../fn/generators/uuid.js | 6 + .../fn/get-json-sample-schema.js | 36 + .../fn/get-sample-schema.js | 39 + .../fn/get-xml-sample-schema.js | 35 + .../fn/get-yaml-sample-schema.js | 34 + .../json-schema-2020-12-samples/fn/index.js | 15 + .../json-schema-2020-12-samples/fn/main.js | 536 + .../fn/types/array.js | 52 + .../fn/types/boolean.js | 9 + .../fn/types/index.js | 30 + .../fn/types/integer.js | 43 + .../fn/types/null.js | 9 + .../fn/types/number.js | 65 + .../fn/types/object.js | 9 + .../fn/types/string.js | 80 + .../json-schema-2020-12-samples/index.js | 49 + .../components/Accordion/Accordion.jsx | 45 + .../components/Accordion/_accordion.scss | 34 + .../ExpandDeepButton/ExpandDeepButton.jsx | 31 + .../ExpandDeepButton/_expand-deep-button.scss | 7 + .../components/JSONSchema/JSONSchema.jsx | 218 + .../components/JSONSchema/_json-schema.scss | 30 + .../json-schema-2020-12/components/_all.scss | 9 + .../components/icons/ChevronRight.jsx | 17 + .../components/keywords/$anchor.jsx | 27 + .../components/keywords/$comment.jsx | 27 + .../components/keywords/$defs.jsx | 75 + .../components/keywords/$dynamicAnchor.jsx | 27 + .../components/keywords/$dynamicRef.jsx | 27 + .../components/keywords/$id.jsx | 27 + .../components/keywords/$ref.jsx | 27 + .../components/keywords/$schema.jsx | 27 + .../keywords/$vocabulary/$vocabulary.jsx | 63 + .../keywords/$vocabulary/_$vocabulary.scss | 15 + .../keywords/AdditionalProperties.jsx | 52 + .../components/keywords/AllOf.jsx | 83 + .../components/keywords/AnyOf.jsx | 83 + .../components/keywords/Const.jsx | 30 + .../keywords/Constraint/Constraint.jsx | 26 + .../keywords/Constraint/_constraint.scss | 14 + .../components/keywords/Contains.jsx | 35 + .../components/keywords/ContentSchema.jsx | 35 + .../components/keywords/Default.jsx | 30 + .../DependentRequired/DependentRequired.jsx | 35 + .../_dependent-required.scss | 12 + .../components/keywords/DependentSchemas.jsx | 74 + .../components/keywords/Deprecated.jsx | 22 + .../keywords/Description/Description.jsx | 24 + .../keywords/Description/_description.scss | 9 + .../components/keywords/Else.jsx | 35 + .../components/keywords/Enum/Enum.jsx | 40 + .../components/keywords/Enum/_enum.scss | 12 + .../components/keywords/If.jsx | 35 + .../components/keywords/Items.jsx | 35 + .../components/keywords/Not.jsx | 35 + .../components/keywords/OneOf.jsx | 83 + .../PatternProperties/PatternProperties.jsx | 37 + .../_pattern-properties.scss | 19 + .../components/keywords/PrefixItems.jsx | 83 + .../keywords/Properties/Properties.jsx | 57 + .../keywords/Properties/_properties.scss | 21 + .../components/keywords/PropertyNames.jsx | 35 + .../components/keywords/ReadOnly.jsx | 22 + .../components/keywords/Then.jsx | 35 + .../components/keywords/Title/Title.jsx | 24 + .../components/keywords/Title/_title.scss | 23 + .../components/keywords/Type.jsx | 27 + .../components/keywords/UnevaluatedItems.jsx | 36 + .../keywords/UnevaluatedProperties.jsx | 36 + .../components/keywords/WriteOnly.jsx | 22 + .../components/keywords/_all.scss | 95 + .../plugins/json-schema-2020-12/context.js | 15 + .../core/plugins/json-schema-2020-12/fn.js | 384 + .../core/plugins/json-schema-2020-12/hoc.jsx | 146 + .../core/plugins/json-schema-2020-12/hooks.js | 63 + .../core/plugins/json-schema-2020-12/index.js | 111 + .../plugins/json-schema-2020-12/prop-types.js | 10 + .../fn/get-json-sample-schema.js | 32 + .../fn/get-sample-schema.js | 30 + .../fn/get-xml-sample-schema.js | 31 + .../fn/get-yaml-sample-schema.js | 34 + .../plugins/json-schema-5-samples/fn/index.js | 637 + .../plugins/json-schema-5-samples/index.js | 54 + .../json-schema-5/components/array-model.jsx | 80 + .../json-schema-5/components/enum-model.jsx | 19 + .../components/json-schema-components.jsx | 420 + .../components/model-collapse.jsx | 99 + .../components/model-example.jsx | 159 + .../components/model-wrapper.jsx | 44 + .../json-schema-5/components/model.jsx | 136 + .../json-schema-5/components/models.jsx | 137 + .../json-schema-5/components/object-model.jsx | 273 + .../components/primitive-model.jsx | 88 + .../json-schema-5/components/schemes.jsx | 53 + .../json-schema-5/containers/schemes.jsx | 30 + .../src/core/plugins/json-schema-5/index.js | 34 + .../src/core/plugins/layout/actions.js | 39 + .../src/core/plugins/layout/index.js | 19 + .../src/core/plugins/layout/reducers.js | 32 + .../src/core/plugins/layout/selectors.js | 24 + .../layout/spec-extensions/wrap-selector.js | 22 + .../src/core/plugins/logs/index.js | 28 + .../src/core/plugins/oas3/actions.js | 99 + .../oas3/auth-extensions/wrap-selectors.js | 92 + .../oas3/components/auth/http-auth.jsx | 155 + .../plugins/oas3/components/callbacks.jsx | 51 + .../src/core/plugins/oas3/components/index.js | 19 + .../oas3/components/operation-link.jsx | 43 + .../oas3/components/operation-servers.jsx | 102 + .../oas3/components/request-body-editor.jsx | 103 + .../plugins/oas3/components/request-body.jsx | 333 + .../oas3/components/servers-container.jsx | 33 + .../core/plugins/oas3/components/servers.jsx | 153 + .../src/core/plugins/oas3/helpers.jsx | 49 + .../src/core/plugins/oas3/index.js | 32 + .../src/core/plugins/oas3/reducers.js | 113 + .../src/core/plugins/oas3/selectors.js | 308 + .../plugins/oas3/spec-extensions/selectors.js | 97 + .../oas3/spec-extensions/wrap-selectors.js | 71 + .../oas3/wrap-components/auth/auth-item.jsx | 24 + .../plugins/oas3/wrap-components/index.js | 15 + .../wrap-components/json-schema-string.jsx | 27 + .../plugins/oas3/wrap-components/markdown.jsx | 45 + .../plugins/oas3/wrap-components/model.jsx | 40 + .../wrap-components/online-validator-badge.js | 5 + .../oas3/wrap-components/openapi-version.jsx | 7 + .../src/core/plugins/oas31/after-load.js | 43 + .../oas31/auth-extensions/wrap-selectors.js | 28 + .../core/plugins/oas31/components/_all.scss | 2 + .../plugins/oas31/components/auth/auths.jsx | 184 + .../oas31/components/auth/mutual-tls-auth.jsx | 29 + .../core/plugins/oas31/components/contact.jsx | 43 + .../core/plugins/oas31/components/info.jsx | 99 + .../oas31/components/json-schema-dialect.jsx | 60 + .../core/plugins/oas31/components/license.jsx | 38 + .../oas31/components/model/_model.scss | 19 + .../plugins/oas31/components/model/model.jsx | 52 + .../oas31/components/models/_models.scss | 3 + .../oas31/components/models/models.jsx | 133 + .../components/version-pragma-filter.jsx | 73 + .../plugins/oas31/components/webhooks.jsx | 46 + .../src/core/plugins/oas31/fn.js | 124 + .../src/core/plugins/oas31/index.js | 164 + .../components/keywords/Description.jsx | 27 + .../keywords/Discriminator/Discriminator.jsx | 92 + .../Discriminator/DiscriminatorMapping.jsx | 32 + .../components/keywords/Example.jsx | 30 + .../components/keywords/ExternalDocs.jsx | 113 + .../components/keywords/Properties.jsx | 56 + .../components/keywords/Xml.jsx | 131 + .../json-schema-2020-12-extensions/fn.js | 39 + .../wrap-components/keywords/Default.jsx | 31 + .../wrap-components/keywords/Description.jsx | 9 + .../wrap-components/keywords/Properties.jsx | 9 + .../src/core/plugins/oas31/selectors.js | 26 + .../oas31/spec-extensions/selectors.js | 198 + .../oas31/spec-extensions/wrap-selectors.js | 18 + .../oas31/wrap-components/auth/auth-item.jsx | 22 + .../plugins/oas31/wrap-components/auths.jsx | 17 + .../plugins/oas31/wrap-components/contact.jsx | 15 + .../plugins/oas31/wrap-components/info.jsx | 15 + .../plugins/oas31/wrap-components/license.jsx | 15 + .../plugins/oas31/wrap-components/model.jsx | 147 + .../plugins/oas31/wrap-components/models.jsx | 143 + .../wrap-components/version-pragma-filter.jsx | 16 + .../src/core/plugins/on-complete/index.js | 28 + .../src/core/plugins/request-snippets/fn.js | 172 + .../core/plugins/request-snippets/index.js | 16 + .../request-snippets/request-snippets.jsx | 163 + .../plugins/request-snippets/selectors.js | 45 + .../safe-render/components/error-boundary.jsx | 52 + .../safe-render/components/fallback.jsx | 13 + .../src/core/plugins/safe-render/fn.jsx | 32 + .../src/core/plugins/safe-render/index.js | 42 + .../src/core/plugins/spec/actions.js | 531 + .../src/core/plugins/spec/index.js | 20 + .../src/core/plugins/spec/reducers.js | 176 + .../src/core/plugins/spec/selectors.js | 579 + .../src/core/plugins/spec/wrap-actions.js | 38 + .../swagger-client/configs-wrap-actions.js | 6 + .../src/core/plugins/swagger-client/index.js | 54 + .../plugins/syntax-highlighting/after-load.js | 25 + .../components/HighlightCode.jsx | 107 + .../components/PlainTextViewer.jsx | 17 + .../components/SyntaxHighlighter.jsx | 42 + .../core/plugins/syntax-highlighting/index.js | 34 + .../syntax-highlighting/root-injects.js | 22 + .../wrap-components/SyntaxHighlighter.jsx | 31 + .../src/core/plugins/util/index.js | 7 + .../src/core/plugins/versions/after-load.js | 19 + .../src/core/plugins/versions/index.js | 10 + .../src/core/plugins/view-legacy/index.js | 25 + .../core/plugins/view-legacy/root-injects.jsx | 12 + .../src/core/plugins/view/fn.js | 1 + .../src/core/plugins/view/index.js | 34 + .../src/core/plugins/view/root-injects.jsx | 118 + .../src/core/presets/apis/index.js | 18 + .../src/core/presets/base/index.js | 55 + .../base/plugins/core-components/index.js | 130 + .../base/plugins/form-components/index.js | 10 + .../swagger-ui-5.17.14/src/core/system.js | 506 + .../src/core/utils/create-html-ready-id.js | 10 + .../src/core/utils/get-parameter-schema.js | 92 + .../src/core/utils/index.js | 845 + .../src/core/utils/jsonParse.js | 15 + .../src/core/utils/memoizeN.js | 48 + .../swagger-ui-5.17.14/src/core/utils/url.js | 39 + .../swagger-ui-5.17.14/src/core/window.js | 30 + .../swagger/swagger-ui-5.17.14/src/index.js | 3 + .../components/StandaloneLayout.jsx | 40 + .../plugins/stadalone-layout/index.js | 12 + .../plugins/top-bar/assets/logo_small.svg | 60 + .../plugins/top-bar/components/Logo.jsx | 9 + .../plugins/top-bar/components/TopBar.jsx | 181 + .../src/standalone/plugins/top-bar/index.js | 11 + .../standalone/presets/standalone/index.js | 19 + .../src/style/_authorize.scss | 107 + .../src/style/_buttons.scss | 226 + .../swagger-ui-5.17.14/src/style/_errors.scss | 83 + .../swagger-ui-5.17.14/src/style/_form.scss | 235 + .../src/style/_information.scss | 104 + .../swagger-ui-5.17.14/src/style/_layout.scss | 1071 + .../src/style/_markdown.scss | 29 + .../swagger-ui-5.17.14/src/style/_mixins.scss | 173 + .../swagger-ui-5.17.14/src/style/_modal.scss | 102 + .../swagger-ui-5.17.14/src/style/_models.scss | 366 + .../src/style/_servers.scss | 66 + .../src/style/_split-pane-mode.scss | 3 + .../swagger-ui-5.17.14/src/style/_table.scss | 207 + .../swagger-ui-5.17.14/src/style/_topbar.scss | 113 + .../swagger-ui-5.17.14/src/style/_type.scss | 21 + .../src/style/_variables.scss | 229 + .../swagger-ui-5.17.14/src/style/main.scss | 23 + .../swagger-ui-dist-package/.npmignore | 2 + .../swagger-ui-dist-package/.npmrc | 1 + .../swagger-ui-dist-package/README.md | 22 + .../swagger-ui-dist-package/absolute-path.js | 14 + .../swagger-ui-dist-package/deploy.sh | 25 + .../swagger-ui-dist-package/index.js | 17 + .../swagger-ui-dist-package/package.json | 18 + .../swagger/swagger-ui-5.17.14/test/.eslintrc | 7 + .../test/build-artifacts/.eslintrc | 14 + .../test/build-artifacts/es-bundle-core.js | 8 + .../test/build-artifacts/es-bundle.js | 8 + .../test/build-artifacts/umd.js | 8 + .../test/e2e-cypress/.eslintrc | 8 + .../e2e-cypress/e2e/a11y/response-tabs.cy.js | 35 + .../test/e2e-cypress/e2e/bugs/4442.cy.js | 37 + .../test/e2e-cypress/e2e/bugs/4641.cy.js | 95 + .../test/e2e-cypress/e2e/bugs/4838.cy.js | 11 + .../test/e2e-cypress/e2e/bugs/4865.cy.js | 19 + .../test/e2e-cypress/e2e/bugs/4867.cy.js | 17 + .../test/e2e-cypress/e2e/bugs/4943.cy.js | 20 + .../test/e2e-cypress/e2e/bugs/5043.cy.js | 30 + .../test/e2e-cypress/e2e/bugs/5060.cy.js | 15 + .../test/e2e-cypress/e2e/bugs/5070.cy.js | 32 + .../test/e2e-cypress/e2e/bugs/5072.cy.js | 22 + .../test/e2e-cypress/e2e/bugs/5129.cy.js | 121 + .../test/e2e-cypress/e2e/bugs/5138.cy.js | 10 + .../test/e2e-cypress/e2e/bugs/5164.cy.js | 19 + .../test/e2e-cypress/e2e/bugs/5188.cy.js | 18 + .../test/e2e-cypress/e2e/bugs/5452.cy.js | 38 + .../test/e2e-cypress/e2e/bugs/5453.cy.js | 11 + .../test/e2e-cypress/e2e/bugs/5455.cy.js | 11 + .../test/e2e-cypress/e2e/bugs/5458.cy.js | 22 + .../test/e2e-cypress/e2e/bugs/5660.cy.js | 20 + .../test/e2e-cypress/e2e/bugs/6016.cy.js | 42 + .../test/e2e-cypress/e2e/bugs/6158.cy.js | 54 + .../test/e2e-cypress/e2e/bugs/6183.cy.js | 45 + .../test/e2e-cypress/e2e/bugs/6276.cy.js | 43 + .../test/e2e-cypress/e2e/bugs/6351.cy.js | 11 + .../test/e2e-cypress/e2e/bugs/6369.cy.js | 44 + .../test/e2e-cypress/e2e/bugs/6442.cy.js | 33 + .../test/e2e-cypress/e2e/bugs/6475.cy.js | 65 + .../test/e2e-cypress/e2e/bugs/6540.cy.js | 11 + .../test/e2e-cypress/e2e/bugs/6627.cy.js | 11 + .../test/e2e-cypress/e2e/bugs/7996.cy.js | 14 + .../test/e2e-cypress/e2e/bugs/8217.cy.js | 24 + .../e2e-cypress/e2e/bugs/editor-1868.cy.js | 26 + .../test/e2e-cypress/e2e/bugs/swos-63.cy.js | 35 + .../e2e/features/auth-bearer-flow.cy.js | 51 + .../auth-code-flow-pkce-without-secret.cy.js | 47 + .../e2e/features/deep-linking.cy.js | 292 + .../features/default-model-rendering.cy.js | 39 + .../e2e/features/dynamic-default-oauth.cy.js | 26 + .../e2e/features/external-docs.cy.js | 108 + .../test/e2e-cypress/e2e/features/info.cy.js | 84 + .../e2e-cypress/e2e/features/license.cy.js | 113 + .../e2e/features/model-collapse.cy.js | 50 + .../e2e/features/multiple-examples-core.cy.js | 665 + .../e2e-cypress/e2e/features/oas-badge.cy.js | 25 + .../e2e/features/oas3-callbacks.cy.js | 19 + .../features/oas3-multiple-media-type.cy.js | 184 + .../e2e/features/oas3-multiple-servers.cy.js | 82 + ...oas3-request-body-allow-empty-values.cy.js | 152 + .../oas3-request-body-default-views.cy.js | 16 + .../features/oas3-request-body-required.cy.js | 252 + .../oas3-user-edit-request-body-flows.cy.js | 106 + .../e2e-cypress/e2e/features/oas3-xml.cy.js | 70 + .../e2e/features/oas31-auth-mutual-tls.cy.js | 30 + .../features/oauth2-flows/application.cy.js | 71 + .../e2e/features/oauth2-flows/password.cy.js | 118 + .../parameter-array-missing-items.cy.js | 10 + .../e2e/features/parameter-order.cy.js | 30 + .../features/parameters-one-of-any-of.cy.js | 49 + .../json-schema-2020-12/expansion.cy.js | 20 + .../json-schema-2020-12/schema-title.cy.js | 21 + .../plugins/oas3/all-of-circular-ref.cy.js | 31 + .../features/plugins/oas3/complex-spec.cy.js | 33 + .../plugins/oas3/one-of-any-of-example.cy.js | 28 + .../oas31/oas31-response-empty-content.cy.js | 21 + .../oas31-response-empty-media-type.cy.js | 21 + .../oas31/oas31-response-no-content.cy.js | 21 + .../oas31/oas31-webhook-examples.cy.js | 35 + .../topbar/linking-to-configured-urls.cy.js | 23 + .../features/request-body-upload-file.cy.js | 114 + .../response-empty-examples-object.cy.js | 16 + .../e2e/features/response-extension.cy.js | 49 + .../features/schema-form-enum-boolean.cy.js | 129 + .../e2e/features/schema-form.cy.js | 835 + .../e2e/features/spec-parse-to-json.cy.js | 31 + .../features/syntax-highlighting-json.cy.js | 40 + .../e2e/features/try-it-out-enabled.cy.js | 22 + .../try-it-out-non-200-response-body.cy.js | 26 + ...out-schema-required-override-allowed.cy.js | 15 + .../test/e2e-cypress/e2e/features/urls.cy.js | 114 + .../e2e-cypress/e2e/features/webhooks.cy.js | 26 + .../e2e-cypress/e2e/security/anonymous.cy.js | 22 + .../e2e-cypress/e2e/security/apikey.cy.js | 13 + .../e2e-cypress/e2e/security/oauth2.cy.js | 23 + .../security/sequential-import-chaining.cy.js | 58 + .../test/e2e-cypress/fixtures/example.json | 5 + .../configs/oas31-response-no-content.yaml | 3 + .../static/configs/urls-primary-name.yaml | 6 + .../static/configs/urls-server-variables.yaml | 5 + .../test/e2e-cypress/static/configs/urls.yaml | 5 + .../static/documents/bugs/4442.yaml | 41 + .../static/documents/bugs/4641.yaml | 47 + .../static/documents/bugs/4838.yaml | 12 + .../static/documents/bugs/4867.yaml | 24 + .../static/documents/bugs/4943.yaml | 43 + .../static/documents/bugs/5043/status.yaml | 17 + .../static/documents/bugs/5043/swagger.yaml | 44 + .../static/documents/bugs/5060.yaml | 10 + .../documents/bugs/5072/additional.yaml | 35 + .../static/documents/bugs/5072/empty.yaml | 33 + .../static/documents/bugs/5129.yaml | 26 + .../static/documents/bugs/5164.yaml | 23 + .../static/documents/bugs/5181.yaml | 27 + .../static/documents/bugs/5188.yaml | 24 + .../static/documents/bugs/5452/openapi.yaml | 20 + .../static/documents/bugs/5452/swagger.yaml | 19 + .../static/documents/bugs/5453.yaml | 10 + .../static/documents/bugs/5455.yaml | 25 + .../static/documents/bugs/5458.yaml | 37 + .../static/documents/bugs/5660-model.yaml | 14 + .../static/documents/bugs/5660-property.yaml | 17 + .../static/documents/bugs/6016-oas2.yaml | 28 + .../static/documents/bugs/6016-oas3.yaml | 31 + .../static/documents/bugs/6158.yaml | 57 + .../static/documents/bugs/6183.yaml | 37 + .../static/documents/bugs/6351.yaml | 13 + .../documents/bugs/6369-oas2-display.yaml | 26 + .../documents/bugs/6369-oas2-no-display.yaml | 26 + .../documents/bugs/6369-oas3-display.yaml | 28 + .../documents/bugs/6369-oas3-no-display.yaml | 28 + .../static/documents/bugs/6442.yaml | 52 + .../static/documents/bugs/6475.yaml | 57 + .../static/documents/bugs/6540.yaml | 85 + .../static/documents/bugs/6627.yaml | 41 + .../bugs/7996-tags-externalDocs.yaml | 28 + .../static/documents/bugs/8217.yaml | 28 + .../static/documents/bugs/editor-1868.yaml | 13 + .../documents/features/auth-bearer-flow.yaml | 20 + .../auth-code-flow-pkce-without-secret.yaml | 25 + .../features/deep-linking.openapi.yaml | 58 + .../features/deep-linking.swagger.yaml | 34 + .../features/default-model-rendering.yaml | 31 + .../features/external-docs.openapi.yaml | 148 + .../features/external-docs.swagger.yaml | 116 + .../documents/features/info-openAPI2.yaml | 7 + .../documents/features/info-openAPI30.yaml | 6 + .../documents/features/info-openAPI31.yaml | 7 + .../features/json-schema-2020-12-title.yaml | 114 + .../documents/features/license-openAPI2.yaml | 8 + .../documents/features/license-openAPI30.yaml | 8 + ...enAPI31-error-both-identifier-and-url.yaml | 9 + .../license-openAPI31-identifier.yaml | 8 + .../features/license-openAPI31-url.yaml | 9 + .../documents/features/models.openapi.yaml | 93 + .../documents/features/models.swagger.yaml | 92 + .../multiple-examples-core.openapi.yaml | 400 + .../features/oas3-all-of-circular-ref.yaml | 69 + .../documents/features/oas3-callbacks.yaml | 41 + .../documents/features/oas3-complex-spec.json | 62961 ++++++++++++++++ .../features/oas3-multiple-media-type.yaml | 50 + .../oas3-multiple-servers-switch.yaml | 16 + .../features/oas3-multiple-servers.yaml | 16 + .../features/oas3-one-of-any-of-example.yaml | 206 + .../static/documents/features/oas3-xml.json | 309 + .../oas31-response-empty-content.yaml | 91 + .../oas31-response-empty-media-type.yaml | 92 + .../features/oas31-response-no-content.yaml | 91 + .../features/oas31-webhook-examples.yaml | 59 + .../parameter-array-missing-items.yaml | 24 + .../documents/features/parameter-order.yaml | 63 + .../parameters-one-of-any-of-oas3.yaml | 50 + .../parameters-one-of-any-of-oas31.yaml | 50 + .../features/petstore-only-pet.openapi.yaml | 418 + .../features/request-body-upload-file.yaml | 105 + .../request-body/multipart/default-views.yaml | 28 + .../features/request-body/multipart/enum.yaml | 29 + .../response-empty-examples-object.yaml | 25 + .../features/response-extension.openapi.yaml | 19 + .../features/response-extension.swagger.yaml | 15 + .../documents/features/schema-form-core.yaml | 339 + .../features/schema-form-enum-boolean.yaml | 87 + .../features/schema-form-missing-values.yaml | 119 + .../features/spec-parse-to-json.yaml | 26 + .../syntax-highlighting-json-oas2.yaml | 97 + .../syntax-highlighting-json-oas3.yaml | 94 + .../features/try-it-out-enabled.yaml | 13 + .../try-it-out-non-200-response-body.yaml | 12 + ...-out-schema-required-override-allowed.yaml | 34 + .../static/documents/features/urls/1.yaml | 12 + .../static/documents/features/urls/2.yaml | 12 + .../features/urls/server-variables-1.yaml | 38 + .../features/urls/server-variables-2.yaml | 38 + .../features/webhooks-openAPI30.yaml | 24 + .../features/webhooks-openAPI31.yaml | 50 + .../documents/petstore-expanded.openapi.yaml | 166 + .../static/documents/petstore.swagger.yaml | 707 + .../static/documents/security/anonymous.yaml | 35 + .../static/documents/security/mutual-tls.yaml | 10 + .../sequential-import-chaining/injection.css | 7 + .../sequential-import-chaining/openapi.yaml | 10 + .../sequential-import-chaining/swagger.yaml | 10 + .../static/documents/security/xss-oauth2.yaml | 5 + .../test/e2e-cypress/static/index.html | 77 + .../e2e-cypress/static/pages/5085/index.html | 67 + .../static/pages/5138/api-with-examples.yaml | 167 + .../e2e-cypress/static/pages/5138/index.html | 77 + .../e2e-cypress/static/pages/5138/uspto.yaml | 210 + .../expansion.yaml | 100 + .../json-schema-2020-12-expansion/index.html | 65 + .../static/pages/multiple-urls/index.html | 80 + .../test/e2e-cypress/support/commands.js | 25 + .../test/e2e-cypress/support/e2e.js | 25 + .../support/helpers/multiple-examples.js | 679 + .../support/helpers/oauth2-server/index.js | 50 + .../support/helpers/oauth2-server/model.js | 141 + .../helpers/oauth2-server/swagger.yaml | 36 + .../test/e2e-selenium/README.md | 2 + .../test/e2e-selenium/db.json | 220 + .../test/e2e-selenium/nightwatch.json | 31 + .../test/e2e-selenium/pages/main.js | 544 + .../test/e2e-selenium/scenarios/bugs/4196.js | 42 + .../test/e2e-selenium/scenarios/bugs/4374.js | 31 + .../test/e2e-selenium/scenarios/bugs/4409.js | 28 + .../test/e2e-selenium/scenarios/bugs/4445.js | 28 + .../test/e2e-selenium/scenarios/bugs/4485.js | 28 + .../test/e2e-selenium/scenarios/bugs/4536.js | 28 + .../test/e2e-selenium/scenarios/bugs/4587.js | 35 + .../test/e2e-selenium/scenarios/bugs/4756.js | 42 + .../scenarios/bugs/frozen-array-input.js | 44 + .../features/allow-empty-value.openapi.js | 433 + .../features/allow-empty-value.swagger.js | 433 + .../scenarios/features/example.js | 240 + .../features/parameter-enum-rendering.js | 58 + .../features/parameter-example-rendering.js | 64 + .../scenarios/informationContainer.js | 78 + .../test/e2e-selenium/scenarios/models.js | 78 + .../e2e-selenium/scenarios/oas3/callbacks.js | 40 + .../test/e2e-selenium/scenarios/oas3/pet.js | 52 + .../e2e-selenium/scenarios/on-complete.js | 28 + .../e2e-selenium/scenarios/operations/pet.js | 112 + .../scenarios/operations/store.js | 112 + .../e2e-selenium/scenarios/operations/user.js | 78 + .../test/e2e-selenium/scenarios/refs.js | 26 + .../e2e-selenium/scenarios/schemeContainer.js | 61 + .../test/e2e-selenium/scenarios/topbar.js | 51 + .../test/e2e-selenium/static/index.html | 111 + .../static/test-specs/bugs/4196.yaml | 85 + .../static/test-specs/bugs/4374.yaml | 228 + .../static/test-specs/bugs/4409.yaml | 24 + .../static/test-specs/bugs/4445.yaml | 64 + .../static/test-specs/bugs/4485/book.yaml | 15 + .../static/test-specs/bugs/4485/main.yaml | 5 + .../static/test-specs/bugs/4536.yaml | 9 + .../static/test-specs/bugs/4587.yaml | 126 + .../static/test-specs/bugs/4756.yaml | 51 + .../test-specs/bugs/frozen-array-input.yaml | 35 + .../static/test-specs/callbacks.openapi.yaml | 41 + .../features/allow-empty-value.openapi.yaml | 64 + .../features/allow-empty-value.swagger.yaml | 57 + .../test-specs/features/example.openapi.yaml | 156 + .../test-specs/features/example.swagger.yaml | 127 + .../parameter-enum-rendering.openapi.yaml | 21 + .../parameter-enum-rendering.swagger.yaml | 20 + .../static/test-specs/petstore.json | 1043 + .../static/test-specs/petstore.openapi.yaml | 689 + .../static/test-specs/refs/api1.yaml | 32 + .../static/test-specs/refs/api2.yaml | 32 + .../unit/bugs/3199-sanitization-escaping.jsx | 21 + .../unit/bugs/3279-empty-markdown-source.jsx | 35 + .../bugs/4557-default-parameter-values.jsx | 130 + .../test/unit/components/filter.jsx | 47 + .../test/unit/components/highlight-code.jsx | 43 + .../test/unit/components/info-wrapper.jsx | 67 + .../test/unit/components/live-response.jsx | 101 + .../test/unit/components/markdown.jsx | 110 + .../components/online-validator-badge.jsx | 75 + .../test/unit/components/operation-tag.jsx | 53 + .../test/unit/components/operation.jsx | 30 + .../test/unit/components/operations.jsx | 128 + .../test/unit/components/parameter-row.jsx | 354 + .../test/unit/components/response-body.jsx | 63 + .../unit/components/version-pragma-filter.jsx | 67 + .../test/unit/core/config/type-cast/index.js | 104 + .../test/unit/core/curlify.js | 436 + .../test/unit/core/helpers/get-model-name.js | 39 + .../unit/core/helpers/get-parameter-schema.js | 147 + .../test/unit/core/oauth2-authorize.js | 201 + .../test/unit/core/plugins/auth/actions.js | 346 + .../auth/configs-extensions/wrap-actions.js | 41 + .../unit/core/plugins/auth/preauthorize.js | 153 + .../test/unit/core/plugins/auth/selectors.js | 228 + .../auth/spec-extensions/wrap-actions.js | 39 + .../unit/core/plugins/auth/wrap-actions.js | 119 + .../test/unit/core/plugins/configs/actions.js | 25 + .../plugins/err/transformers/not-of-type.js | 54 + .../err/transformers/parameter-oneof.js | 131 + .../unit/core/plugins/filter/opsFilter.js | 24 + .../plugins/json-schema-2020-12-samples/fn.js | 3068 + .../get-sample-schema.js | 197 + .../fn/get-sample-schema.js | 195 + .../plugins/json-schema-5-samples/fn/index.js | 2498 + .../components/json-schema-form.jsx | 256 + .../components/model-example.jsx | 122 + .../json-schema-5/components/models.jsx | 54 + .../json-schema-5/components/object-model.jsx | 109 + .../components/primitive-model.jsx | 55 + .../json-schema-5/components/response.jsx | 86 + .../components/schemes-wrapper.jsx | 88 + .../json-schema-5/components/schemes.jsx | 69 + .../test/unit/core/plugins/oas3/helpers.js | 67 + .../test/unit/core/plugins/oas3/reducers.js | 582 + .../test/unit/core/plugins/oas3/selectors.js | 62 + .../core/plugins/oas3/servers-wrapper.jsx | 75 + .../core/plugins/oas3/state-integration.js | 367 + .../core/plugins/oas3/wrap-auth-selectors.js | 241 + .../core/plugins/oas3/wrap-spec-selectors.js | 98 + .../components/version-pragma-filter.jsx | 84 + .../unit/core/plugins/safe-render/index.jsx | 253 + .../test/unit/core/plugins/spec/actions.js | 229 + .../core/plugins/spec/assets/petstore.json | 1035 + .../test/unit/core/plugins/spec/reducer.js | 224 + .../test/unit/core/plugins/spec/selectors.js | 1495 + .../plugins/swagger-js/withCredentials.js | 55 + .../test/unit/core/system/system.jsx | 915 + .../test/unit/core/system/wrapComponent.jsx | 304 + .../test/unit/core/system/wrapSelectors.js | 45 + .../test/unit/core/utils.js | 1795 + .../test/unit/docker/oauth.js | 66 + .../test/unit/docker/translator.js | 345 + .../swagger-ui-5.17.14/test/unit/jest-shim.js | 4 + .../swagger-ui-5.17.14/test/unit/setup.js | 41 + .../swagger-ui-dist-package/absolute-path.js | 12 + .../test/unit/xss/anchor-target-rel/info.jsx | 110 + .../test/unit/xss/anchor-target-rel/link.jsx | 39 + .../unit/xss/anchor-target-rel/markdown.jsx | 64 + .../online-validator-badge.jsx | 29 + .../test/unit/xss/info-sanitization.jsx | 32 + .../unit/xss/markdown-script-sanitization.jsx | 46 + .../webpack/_config-builder.js | 169 + .../swagger-ui-5.17.14/webpack/_helpers.js | 27 + .../swagger-ui-5.17.14/webpack/bundle.js | 55 + .../swagger-ui-5.17.14/webpack/core.js | 29 + .../swagger-ui-5.17.14/webpack/dev-e2e.js | 74 + .../swagger/swagger-ui-5.17.14/webpack/dev.js | 127 + .../webpack/es-bundle-core.js | 90 + .../swagger-ui-5.17.14/webpack/es-bundle.js | 54 + .../swagger-ui-5.17.14/webpack/standalone.js | 30 + .../swagger-ui-5.17.14/webpack/stylesheets.js | 83 + public/static/js/swagger/update.txt | 2 + public/static/json/tls.de.json | 1 + public/static/json/tls.en.json | 1 + public/static/json/tls.uk.json | 1 + public/sw.js | 81 + src/ConcordanceChecker.php | 220 + tests/ConcordanceCheckerTest.php | 160 + tests/bootstrap.php | 10 + 918 files changed, 167509 insertions(+) create mode 100644 .gitignore create mode 100644 compile.php create mode 100644 constants.php create mode 160000 dependencies/MDAllowedValueSets create mode 160000 dependencies/MDErrorReporter create mode 160000 dependencies/MDImporterConcordanceLists create mode 160000 dependencies/MDTlLoader create mode 160000 dependencies/MD_STD create mode 100644 functions.php create mode 160000 l10n/translation-concordance create mode 100644 phpstan.neon create mode 100644 phpunit.xml create mode 100644 provideEnv.php create mode 100644 public/api.php create mode 100644 public/index.htm create mode 100644 public/static/README.md create mode 100644 public/static/css/README.md create mode 100644 public/static/css/dialogue.css create mode 100644 public/static/css/editMenu.css create mode 100644 public/static/css/qa.css create mode 100644 public/static/css/qa.min.css/css/dialogue.css create mode 100644 public/static/css/qa.min.css/css/editMenu.css create mode 100644 public/static/css/qa.min.css/css/qa.css create mode 100644 public/static/fonts/SourceSansPro-Light.ttf create mode 100644 public/static/fonts/SourceSansPro-Regular.ttf create mode 100644 public/static/fonts/SourceSansPro-Regular.woff2 create mode 100644 public/static/img/mdlogo-code-128px.png create mode 100644 public/static/img/mdlogo-code-512px.png create mode 100644 public/static/img/mdlogo-code.svg create mode 100644 public/static/img/more/20231010-Presentation.png create mode 100644 public/static/img/more/20231010-Presentation.webp create mode 100644 public/static/js/README.md create mode 100644 public/static/js/qa.js create mode 100644 public/static/js/qa.min.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.agignore create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.browserslistrc create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.commitlintrc.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.dockerignore create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.editorconfig create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.eslintignore create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.eslintrc create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.gitattributes create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.github/ISSUE_TEMPLATE/Bug_report.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.github/ISSUE_TEMPLATE/Feature_request.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.github/ISSUE_TEMPLATE/Support.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.github/dependabot.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.github/lock.yml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.github/pull_request_template.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/codeql.yml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/dependabot-merge.yml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/docker-build-push.yml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/docker-image-check.yml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/nodejs.yml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/release-swagger-ui-react.yml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/release-swagger-ui.yml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.gitignore create mode 100755 public/static/js/swagger/swagger-ui-5.17.14/.husky/commit-msg create mode 100755 public/static/js/swagger/swagger-ui-5.17.14/.husky/pre-commit create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.lintstagedrc create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.npmignore create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.npmrc create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.nvmrc create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.prettierrc.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/.releaserc create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/Dockerfile create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/LICENSE create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/NOTICE create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/README.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/SECURITY.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/babel.config.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/composer.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/config/.eslintrc create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/config/jest/jest.artifact.config.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/config/jest/jest.unit.config.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/cypress.config.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/dev-helper-initializer.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/index.html create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/oauth2-redirect.html create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/style.css create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/favicon-16x16.png create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/favicon-32x32.png create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/index.css create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/index.html create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/oauth2-redirect.html create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-initializer.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui-bundle.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui-bundle.js.map create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui-es-bundle-core.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui-es-bundle-core.js.map create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui-es-bundle.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui-es-bundle.js.map create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui-standalone-preset.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui-standalone-preset.js.map create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui.css create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui.css.map create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui.js.map create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docker/configurator/helpers.js create mode 100755 public/static/js/swagger/swagger-ui-5.17.14/docker/configurator/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docker/configurator/oauth.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docker/configurator/translator.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docker/configurator/variables.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docker/cors.conf create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docker/default.conf.template create mode 100755 public/static/js/swagger/swagger-ui-5.17.14/docker/docker-entrypoint.d/40-swagger-ui.sh create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docker/embedding.conf create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/README.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/book.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/customization/add-plugin.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/customization/custom-layout.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/customization/overview.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/customization/plug-points.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/customization/plugin-api.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/development/scripts.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/development/setting-up.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/images/swagger-ui2.png create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/images/swagger-ui3.png create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/samples/webpack-getting-started/README.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/samples/webpack-getting-started/_sample_package.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/samples/webpack-getting-started/index.html create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/samples/webpack-getting-started/src/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/samples/webpack-getting-started/src/swagger-config.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/samples/webpack-getting-started/webpack.config.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/usage/configuration.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/usage/cors.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/usage/deep-linking.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/usage/installation.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/usage/limitations.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/usage/oauth2.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/docs/usage/version-detection.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/flavors/swagger-ui-react/README.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/flavors/swagger-ui-react/index.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/flavors/swagger-ui-react/release/create-manifest.js create mode 100755 public/static/js/swagger/swagger-ui-5.17.14/flavors/swagger-ui-react/release/run.sh create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/flavors/swagger-ui-react/release/template.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/package-lock.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/package.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/release/.release-it.json create mode 100755 public/static/js/swagger/swagger-ui-5.17.14/release/check-for-breaking-changes.sh create mode 100755 public/static/js/swagger/swagger-ui-5.17.14/release/get-changelog.sh create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/renovate.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/snapcraft.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/.eslintrc create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/assets/rolling-load.svg create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/app.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/auth/api-key-auth.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/auth/auth-item.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/auth/authorization-popup.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/auth/authorize-btn.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/auth/authorize-operation-btn.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/auth/auths.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/auth/basic-auth.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/auth/error.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/auth/oauth2.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/clear.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/contact.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/content-type.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/copy-to-clipboard-btn.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/curl.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/debug.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/deep-link.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/errors.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/example.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/examples-select-value-retainer.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/examples-select.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/execute.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/footer.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/headers.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/info.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/initialized-input.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/jump-to-path.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/layout-utils.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/layouts/base.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/layouts/xpane.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/license.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/live-response.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/online-validator-badge.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/openapi-version.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/operation-extension-row.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/operation-extensions.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/operation-summary-method.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/operation-summary-path.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/operation-summary.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/operation-tag.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/operation.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/operations.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/overview.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/param-body.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/parameter-extension.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/parameter-include-empty.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/parameter-row.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/parameters/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/parameters/parameters.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/property.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/providers/README.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/providers/markdown.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/response-body.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/response-extension.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/response.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/responses.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/svg-assets.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/system-wrapper.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/try-it-out-button.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/version-pragma-filter.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/components/version-stamp.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/defaults.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/factorization/inline-plugin.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/factorization/system.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/merge.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/sources/query.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/sources/runtime.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/sources/url.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/mappings.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/type-casters/array.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/type-casters/boolean.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/type-casters/dom-node.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/type-casters/filter.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/type-casters/function.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/type-casters/nullable-array.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/type-casters/nullable-function.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/type-casters/nullable-string.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/type-casters/number.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/type-casters/object.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/type-casters/sorter.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/type-casters/string.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/type-casters/syntax-highlight.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/config/type-cast/type-casters/undefined-string.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/containers/OperationContainer.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/containers/authorize-btn.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/containers/filter.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/containers/info.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/oauth2-authorize.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/auth/actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/auth/components/lock-auth-icon.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/auth/components/unlock-auth-icon.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/auth/configs-extensions/wrap-actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/auth/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/auth/reducers.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/auth/selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/auth/spec-extensions/wrap-actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/auth/wrap-actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/configs/actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/configs/fn.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/configs/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/configs/reducers.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/configs/selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/deep-linking/README.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/deep-linking/helpers.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/deep-linking/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/deep-linking/layout.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/deep-linking/operation-tag-wrapper.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/deep-linking/operation-wrapper.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/download-url/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/err/actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/err/error-transformers/README.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/err/error-transformers/hook.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/err/error-transformers/transformers/not-of-type.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/err/error-transformers/transformers/parameter-oneof.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/err/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/err/reducers.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/err/selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/filter/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/filter/opsFilter.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/icons/components/arrow-down.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/icons/components/arrow-up.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/icons/components/arrow.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/icons/components/close.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/icons/components/copy.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/icons/components/lock.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/icons/components/unlock.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/icons/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/api/encoderAPI.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/api/formatAPI.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/api/mediaTypeAPI.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/api/optionAPI.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/class/EncoderRegistry.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/class/FormatRegistry.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/class/MediaTypeRegistry.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/class/OptionRegistry.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/class/Registry.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/core/constants.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/core/example.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/core/merge.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/core/predicates.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/core/random.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/core/type.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/core/utils.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/encoders/7bit.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/encoders/8bit.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base16.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base32.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base64.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base64url.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/encoders/binary.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/encoders/quoted-printable.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/date-time.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/date.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/double.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/duration.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/email.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/float.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/hostname.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/idn-email.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/idn-hostname.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/int32.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/int64.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/ipv4.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/ipv6.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/iri-reference.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/iri.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/json-pointer.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/application.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/audio.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/image.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/text.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/video.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/password.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/regex.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/relative-json-pointer.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/time.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/uri-reference.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/uri-template.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/uri.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/generators/uuid.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/get-json-sample-schema.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/get-sample-schema.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/get-xml-sample-schema.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/get-yaml-sample-schema.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/main.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/types/array.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/types/boolean.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/types/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/types/integer.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/types/null.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/types/number.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/types/object.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/fn/types/string.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12-samples/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/Accordion/Accordion.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/Accordion/_accordion.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/ExpandDeepButton/ExpandDeepButton.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/ExpandDeepButton/_expand-deep-button.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/JSONSchema/JSONSchema.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/JSONSchema/_json-schema.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/_all.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/icons/ChevronRight.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/$anchor.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/$comment.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/$defs.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/$dynamicAnchor.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/$dynamicRef.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/$id.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/$ref.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/$schema.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/$vocabulary/$vocabulary.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/$vocabulary/_$vocabulary.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/AdditionalProperties.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/AllOf.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/AnyOf.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Const.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Constraint/Constraint.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Constraint/_constraint.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Contains.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/ContentSchema.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Default.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/DependentRequired/DependentRequired.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/DependentRequired/_dependent-required.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/DependentSchemas.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Deprecated.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Description/Description.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Description/_description.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Else.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Enum/Enum.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Enum/_enum.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/If.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Items.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Not.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/OneOf.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/PatternProperties/PatternProperties.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/PatternProperties/_pattern-properties.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/PrefixItems.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Properties/Properties.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Properties/_properties.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/PropertyNames.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/ReadOnly.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Then.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Title/Title.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Title/_title.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/Type.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/UnevaluatedItems.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/UnevaluatedProperties.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/WriteOnly.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/components/keywords/_all.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/context.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/fn.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/hoc.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/hooks.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-2020-12/prop-types.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5-samples/fn/get-json-sample-schema.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5-samples/fn/get-sample-schema.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5-samples/fn/get-xml-sample-schema.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5-samples/fn/get-yaml-sample-schema.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5-samples/fn/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5-samples/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5/components/array-model.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5/components/enum-model.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5/components/json-schema-components.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5/components/model-collapse.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5/components/model-example.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5/components/model-wrapper.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5/components/model.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5/components/models.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5/components/object-model.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5/components/primitive-model.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5/components/schemes.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5/containers/schemes.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/json-schema-5/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/layout/actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/layout/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/layout/reducers.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/layout/selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/layout/spec-extensions/wrap-selector.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/logs/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/auth-extensions/wrap-selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/components/auth/http-auth.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/components/callbacks.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/components/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/components/operation-link.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/components/operation-servers.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/components/request-body-editor.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/components/request-body.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/components/servers-container.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/components/servers.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/helpers.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/reducers.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/spec-extensions/selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/spec-extensions/wrap-selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/wrap-components/auth/auth-item.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/wrap-components/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/wrap-components/json-schema-string.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/wrap-components/markdown.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/wrap-components/model.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/wrap-components/online-validator-badge.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas3/wrap-components/openapi-version.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/after-load.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/auth-extensions/wrap-selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/components/_all.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/components/auth/auths.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/components/auth/mutual-tls-auth.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/components/contact.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/components/info.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/components/json-schema-dialect.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/components/license.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/components/model/_model.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/components/model/model.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/components/models/_models.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/components/models/models.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/components/version-pragma-filter.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/components/webhooks.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/fn.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Description.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Discriminator/Discriminator.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Discriminator/DiscriminatorMapping.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Example.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/ExternalDocs.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Properties.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/json-schema-2020-12-extensions/components/keywords/Xml.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/json-schema-2020-12-extensions/fn.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/json-schema-2020-12-extensions/wrap-components/keywords/Default.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/json-schema-2020-12-extensions/wrap-components/keywords/Description.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/json-schema-2020-12-extensions/wrap-components/keywords/Properties.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/spec-extensions/selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/spec-extensions/wrap-selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/wrap-components/auth/auth-item.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/wrap-components/auths.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/wrap-components/contact.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/wrap-components/info.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/wrap-components/license.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/wrap-components/model.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/wrap-components/models.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/oas31/wrap-components/version-pragma-filter.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/on-complete/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/request-snippets/fn.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/request-snippets/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/request-snippets/request-snippets.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/request-snippets/selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/safe-render/components/error-boundary.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/safe-render/components/fallback.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/safe-render/fn.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/safe-render/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/spec/actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/spec/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/spec/reducers.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/spec/selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/spec/wrap-actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/swagger-client/configs-wrap-actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/swagger-client/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/syntax-highlighting/after-load.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/syntax-highlighting/components/HighlightCode.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/syntax-highlighting/components/PlainTextViewer.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/syntax-highlighting/components/SyntaxHighlighter.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/syntax-highlighting/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/syntax-highlighting/root-injects.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/syntax-highlighting/wrap-components/SyntaxHighlighter.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/util/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/versions/after-load.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/versions/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/view-legacy/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/view-legacy/root-injects.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/view/fn.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/view/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/plugins/view/root-injects.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/presets/apis/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/presets/base/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/presets/base/plugins/core-components/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/presets/base/plugins/form-components/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/system.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/utils/create-html-ready-id.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/utils/get-parameter-schema.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/utils/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/utils/jsonParse.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/utils/memoizeN.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/utils/url.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/core/window.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/standalone/plugins/stadalone-layout/components/StandaloneLayout.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/standalone/plugins/stadalone-layout/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/standalone/plugins/top-bar/assets/logo_small.svg create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/standalone/plugins/top-bar/components/Logo.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/standalone/plugins/top-bar/components/TopBar.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/standalone/plugins/top-bar/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/standalone/presets/standalone/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_authorize.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_buttons.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_errors.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_form.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_information.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_layout.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_markdown.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_mixins.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_modal.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_models.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_servers.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_split-pane-mode.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_table.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_topbar.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_type.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/_variables.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/src/style/main.scss create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/swagger-ui-dist-package/.npmignore create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/swagger-ui-dist-package/.npmrc create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/swagger-ui-dist-package/README.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/swagger-ui-dist-package/absolute-path.js create mode 100755 public/static/js/swagger/swagger-ui-5.17.14/swagger-ui-dist-package/deploy.sh create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/swagger-ui-dist-package/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/swagger-ui-dist-package/package.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/.eslintrc create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/build-artifacts/.eslintrc create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/build-artifacts/es-bundle-core.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/build-artifacts/es-bundle.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/build-artifacts/umd.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/.eslintrc create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/a11y/response-tabs.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/4442.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/4641.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/4838.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/4865.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/4867.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/4943.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/5043.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/5060.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/5070.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/5072.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/5129.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/5138.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/5164.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/5188.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/5452.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/5453.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/5455.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/5458.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/5660.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/6016.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/6158.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/6183.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/6276.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/6351.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/6369.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/6442.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/6475.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/6540.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/6627.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/7996.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/8217.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/editor-1868.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/bugs/swos-63.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/auth-bearer-flow.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/auth-code-flow-pkce-without-secret.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/deep-linking.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/default-model-rendering.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/dynamic-default-oauth.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/external-docs.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/info.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/license.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/model-collapse.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/multiple-examples-core.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/oas-badge.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/oas3-callbacks.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/oas3-multiple-media-type.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/oas3-multiple-servers.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/oas3-request-body-allow-empty-values.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/oas3-request-body-default-views.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/oas3-request-body-required.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/oas3-user-edit-request-body-flows.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/oas3-xml.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/oas31-auth-mutual-tls.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/oauth2-flows/application.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/oauth2-flows/password.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/parameter-array-missing-items.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/parameter-order.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/parameters-one-of-any-of.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/plugins/json-schema-2020-12/expansion.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/plugins/json-schema-2020-12/schema-title.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/plugins/oas3/all-of-circular-ref.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/plugins/oas3/complex-spec.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/plugins/oas3/one-of-any-of-example.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/plugins/oas31/oas31-response-empty-content.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/plugins/oas31/oas31-response-empty-media-type.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/plugins/oas31/oas31-response-no-content.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/plugins/oas31/oas31-webhook-examples.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/plugins/topbar/linking-to-configured-urls.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/request-body-upload-file.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/response-empty-examples-object.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/response-extension.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/schema-form-enum-boolean.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/schema-form.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/spec-parse-to-json.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/syntax-highlighting-json.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/try-it-out-enabled.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/try-it-out-non-200-response-body.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/try-it-out-schema-required-override-allowed.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/urls.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/features/webhooks.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/security/anonymous.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/security/apikey.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/security/oauth2.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/e2e/security/sequential-import-chaining.cy.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/fixtures/example.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/configs/oas31-response-no-content.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/configs/urls-primary-name.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/configs/urls-server-variables.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/configs/urls.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/4442.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/4641.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/4838.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/4867.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/4943.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5043/status.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5043/swagger.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5060.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5072/additional.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5072/empty.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5129.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5164.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5181.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5188.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5452/openapi.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5452/swagger.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5453.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5455.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5458.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5660-model.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/5660-property.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/6016-oas2.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/6016-oas3.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/6158.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/6183.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/6351.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/6369-oas2-display.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/6369-oas2-no-display.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/6369-oas3-display.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/6369-oas3-no-display.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/6442.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/6475.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/6540.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/6627.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/7996-tags-externalDocs.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/8217.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/bugs/editor-1868.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/auth-bearer-flow.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/auth-code-flow-pkce-without-secret.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/deep-linking.openapi.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/deep-linking.swagger.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/default-model-rendering.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/external-docs.openapi.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/external-docs.swagger.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/info-openAPI2.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/info-openAPI30.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/info-openAPI31.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/json-schema-2020-12-title.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/license-openAPI2.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/license-openAPI30.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/license-openAPI31-error-both-identifier-and-url.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/license-openAPI31-identifier.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/license-openAPI31-url.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/models.openapi.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/models.swagger.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/multiple-examples-core.openapi.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/oas3-all-of-circular-ref.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/oas3-callbacks.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/oas3-complex-spec.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/oas3-multiple-media-type.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/oas3-multiple-servers-switch.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/oas3-multiple-servers.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/oas3-one-of-any-of-example.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/oas3-xml.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/oas31-response-empty-content.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/oas31-response-empty-media-type.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/oas31-response-no-content.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/oas31-webhook-examples.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/parameter-array-missing-items.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/parameter-order.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/parameters-one-of-any-of-oas3.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/parameters-one-of-any-of-oas31.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/petstore-only-pet.openapi.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/request-body-upload-file.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/request-body/multipart/default-views.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/request-body/multipart/enum.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/response-empty-examples-object.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/response-extension.openapi.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/response-extension.swagger.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/schema-form-core.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/schema-form-enum-boolean.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/schema-form-missing-values.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/spec-parse-to-json.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/syntax-highlighting-json-oas2.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/syntax-highlighting-json-oas3.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/try-it-out-enabled.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/try-it-out-non-200-response-body.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/try-it-out-schema-required-override-allowed.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/urls/1.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/urls/2.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/urls/server-variables-1.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/urls/server-variables-2.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/webhooks-openAPI30.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/features/webhooks-openAPI31.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/petstore-expanded.openapi.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/petstore.swagger.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/security/anonymous.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/security/mutual-tls.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/security/sequential-import-chaining/injection.css create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/security/sequential-import-chaining/openapi.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/security/sequential-import-chaining/swagger.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/documents/security/xss-oauth2.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/index.html create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/pages/5085/index.html create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/pages/5138/api-with-examples.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/pages/5138/index.html create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/pages/5138/uspto.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/pages/json-schema-2020-12-expansion/expansion.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/pages/json-schema-2020-12-expansion/index.html create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/static/pages/multiple-urls/index.html create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/support/commands.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/support/e2e.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/support/helpers/multiple-examples.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/support/helpers/oauth2-server/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/support/helpers/oauth2-server/model.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-cypress/support/helpers/oauth2-server/swagger.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/README.md create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/db.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/nightwatch.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/pages/main.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/bugs/4196.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/bugs/4374.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/bugs/4409.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/bugs/4445.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/bugs/4485.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/bugs/4536.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/bugs/4587.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/bugs/4756.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/bugs/frozen-array-input.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/features/allow-empty-value.openapi.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/features/allow-empty-value.swagger.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/features/example.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/features/parameter-enum-rendering.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/features/parameter-example-rendering.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/informationContainer.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/models.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/oas3/callbacks.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/oas3/pet.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/on-complete.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/operations/pet.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/operations/store.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/operations/user.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/refs.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/schemeContainer.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/scenarios/topbar.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/index.html create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/bugs/4196.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/bugs/4374.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/bugs/4409.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/bugs/4445.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/bugs/4485/book.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/bugs/4485/main.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/bugs/4536.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/bugs/4587.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/bugs/4756.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/bugs/frozen-array-input.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/callbacks.openapi.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/features/allow-empty-value.openapi.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/features/allow-empty-value.swagger.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/features/example.openapi.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/features/example.swagger.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/features/parameter-enum-rendering.openapi.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/features/parameter-enum-rendering.swagger.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/petstore.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/petstore.openapi.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/refs/api1.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/e2e-selenium/static/test-specs/refs/api2.yaml create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/bugs/3199-sanitization-escaping.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/bugs/3279-empty-markdown-source.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/bugs/4557-default-parameter-values.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/components/filter.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/components/highlight-code.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/components/info-wrapper.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/components/live-response.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/components/markdown.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/components/online-validator-badge.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/components/operation-tag.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/components/operation.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/components/operations.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/components/parameter-row.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/components/response-body.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/components/version-pragma-filter.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/config/type-cast/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/curlify.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/helpers/get-model-name.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/helpers/get-parameter-schema.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/oauth2-authorize.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/auth/actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/auth/configs-extensions/wrap-actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/auth/preauthorize.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/auth/selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/auth/spec-extensions/wrap-actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/auth/wrap-actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/configs/actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/err/transformers/not-of-type.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/err/transformers/parameter-oneof.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/filter/opsFilter.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/json-schema-2020-12-samples/fn.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/json-schema-2020-12-samples/get-sample-schema.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/json-schema-5-samples/fn/get-sample-schema.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/json-schema-5-samples/fn/index.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/json-schema-5/components/json-schema-form.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/json-schema-5/components/model-example.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/json-schema-5/components/models.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/json-schema-5/components/object-model.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/json-schema-5/components/primitive-model.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/json-schema-5/components/response.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/json-schema-5/components/schemes-wrapper.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/json-schema-5/components/schemes.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/oas3/helpers.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/oas3/reducers.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/oas3/selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/oas3/servers-wrapper.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/oas3/state-integration.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/oas3/wrap-auth-selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/oas3/wrap-spec-selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/oas31/components/version-pragma-filter.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/safe-render/index.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/spec/actions.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/spec/assets/petstore.json create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/spec/reducer.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/spec/selectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/plugins/swagger-js/withCredentials.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/system/system.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/system/wrapComponent.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/system/wrapSelectors.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/core/utils.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/docker/oauth.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/docker/translator.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/jest-shim.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/setup.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/swagger-ui-dist-package/absolute-path.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/xss/anchor-target-rel/info.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/xss/anchor-target-rel/link.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/xss/anchor-target-rel/markdown.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/xss/anchor-target-rel/online-validator-badge.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/xss/info-sanitization.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/test/unit/xss/markdown-script-sanitization.jsx create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/webpack/_config-builder.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/webpack/_helpers.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/webpack/bundle.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/webpack/core.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/webpack/dev-e2e.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/webpack/dev.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/webpack/es-bundle-core.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/webpack/es-bundle.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/webpack/standalone.js create mode 100644 public/static/js/swagger/swagger-ui-5.17.14/webpack/stylesheets.js create mode 100644 public/static/js/swagger/update.txt create mode 100644 public/static/json/tls.de.json create mode 100644 public/static/json/tls.en.json create mode 100644 public/static/json/tls.uk.json create mode 100644 public/sw.js create mode 100644 src/ConcordanceChecker.php create mode 100644 tests/ConcordanceCheckerTest.php create mode 100644 tests/bootstrap.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..06cf653 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +cache diff --git a/compile.php b/compile.php new file mode 100644 index 0000000..915b85c --- /dev/null +++ b/compile.php @@ -0,0 +1,102 @@ + $tlLoader->tl('concordance', 'concordance', 'concordance_checker'), + ]); + +} + +/** + * Generate index.htm. + * + * @return string + */ +function generateAppShell():string { + + return ' + + + + + + + + + + Quality assessment :: museum-digital + + + + + + + + + + + + + + + + + + + + + + + +'; + +} + +const ALLOWED_LANGS = ['de', 'en', 'uk']; +const SERVED_ROOT = __DIR__ . '/public/'; +const SERVED_JSON_ROOT = __DIR__ . '/public/static/json/'; + +if (!is_dir(SERVED_JSON_ROOT)) { + echo "Will generate JSON root directory (" . SERVED_JSON_ROOT . ")" . PHP_EOL; + MD_STD::mkdir(SERVED_JSON_ROOT); +} + +foreach (ALLOWED_LANGS as $lang) { + echo "Will generate JSON list of translations for language: " . $lang . PHP_EOL; + file_put_contents(SERVED_JSON_ROOT . 'tls.' . $lang . '.json', generateTranslationFile($lang)); +} + +echo "Will generate app shell" . PHP_EOL; +file_put_contents(SERVED_ROOT . 'index.htm', generateAppShell()); + +echo "Will minify CSS" . PHP_EOL; +exec("minify \\ + -o " . escapeshellarg(__DIR__ . '/public/static/css/qa.min.css') . '\\ + ' . escapeshellarg(__DIR__ . '/public/static/css/editMenu.css') . '\\ + ' . escapeshellarg(__DIR__ . '/public/static/css/dialogue.css') . '\\ + ' . escapeshellarg(__DIR__ . '/public/static/css/qa.css')); + +echo "Will minify JS" . PHP_EOL; +exec("minify \\ + -o " . escapeshellarg(__DIR__ . '/public/static/js/qa.min.js') . '\ + ' . escapeshellarg(__DIR__ . '/public/static/js/qa.js')); diff --git a/constants.php b/constants.php new file mode 100644 index 0000000..171108a --- /dev/null +++ b/constants.php @@ -0,0 +1,30 @@ + + * @author Joshua Ramon Enslin + */ +declare(strict_types = 1); + +/** + * Autoloader for museum-digital.org. + * + * @param string $className Name of the class to load. + * + * @return void + */ +function mdConcAutoloader(string $className):void { + + // Fallback: Load classes by autoload directories + + foreach (AUTOLOAD_DIRS as $classDir) { + if (\file_exists("$classDir/$className.php")) { + include "$classDir/$className.php"; + return; + } + } + +} + +/** + * Own error handler: Set to enforce exit on any error. + * + * @param integer $errno Error number. + * @param string $string Error message. + * @param string $file File in which the error occured. + * @param integer $line Line number. + * + * @return boolean + */ +function mdConcErrorHandler(int $errno, string $string, string $file, int $line):bool { + + $getStr = []; + foreach ($_GET as $key => $value) { + if (is_array($value)) $getStr[] = "$key\[\]={$value[0]}"; + else $getStr[] = $key . "=" . $value; + } + + if (!empty($_SERVER) and !empty($_SERVER['HTTP_HOST'])) { + $errorPage = $_SERVER['PHP_SELF'] . "?" . \implode("&", $getStr); + $errorPageFull = "https://" . $_SERVER["HTTP_HOST"] . $errorPage; + + $errorMsg = "*$errno ($string) at $file: line_ $line _"; + $errorMsg .= " |-- Error generating page: $errorPage"; + $errorMsg .= " |-- Used RAM / Peak RAM / Allowed: " . MD_STD::human_filesize(\memory_get_usage()) . " / " . MD_STD::human_filesize(\memory_get_peak_usage()) . " / " . ini_get("memory_limit"); + if (isset($_SESSION['anmnam'])) $errorMsg .= " |-- User: " . $_SESSION["anmnam"]; + if (isset($_SESSION['username'])) $errorMsg .= " (" . $_SESSION["username"] . ")"; + + $errorMsg = \str_replace(PHP_EOL, " ", $errorMsg); + } + else { + $errorMsg = "*$errno ($string) at $file: line_ $line _"; + $errorMsg .= " |-- Used RAM / Peak RAM / Allowed: " . MD_STD::human_filesize(\memory_get_usage()) . " / " . MD_STD::human_filesize(\memory_get_peak_usage()) . " / " . ini_get("memory_limit"); + } + + $errorMsg = \str_replace(PHP_EOL, " ", $errorMsg); + + \error_log($errorMsg); + + if ($errno === E_ERROR) exit; + return false; + +} + +/** + * Exception handler to also be able to handle custom exceptions. + * + * @param Throwable $exception Exception. + * + * @return void + */ +function mdConcExceptionHandler(Throwable $exception):void { + + if (ob_get_level() !== 0) { + ob_end_clean(); + } + $errorReporter = new MDErrorReporter("md:frontend", "bugs-frontend@museum-digital.de"); + # $errorCategory = MDErrorReporter::categorizeError($exception); + + if (headers_sent() === false) { + http_response_code(404); + } + if (PHP_SAPI !== 'cli') { + + header('Content-type: text/plain'); + if ($exception instanceof MDParserIncomplete) { + echo 'Parser incomplete - Encountered a field that is thus far unknown / unhandled' . PHP_EOL; + } + echo $exception->getMessage(); + + } + $errorReporter->sendErrorReport($exception, "joshua@museum-digital.de"); + +} diff --git a/l10n/translation-concordance b/l10n/translation-concordance new file mode 160000 index 0000000..b3b894c --- /dev/null +++ b/l10n/translation-concordance @@ -0,0 +1 @@ +Subproject commit b3b894c247710d1aa53850020d9f0a193aa989fc diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 0000000..89a193d --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,38 @@ +parameters: + level: 8 + paths: + - conf + - src + - tests + - constants.php + - functions.php + - provideEnv.php + - dependencies/MDQualityAssessment + bootstrapFiles: + - constants.php + scanDirectories: + - dependencies + ergebnis: + classesAllowedToBeExtended: + - mysqli + - mysqli_stmt + - Exception + - MDGenericWriter + - MDGenericObject + - ImporterParserAbstract + - ImporterParserXmlAbstract + - ImporterTestAbstract + - ImporterDataTypesTestAbstract + - ImporterParserCsvAbstract + - ImporterParserTestAbstract + - XML_Parser + - JSONParser + - MDValueSet + - MDMysqliInvalidInput + - MDMysqliExpectedError + - MDgenericInvalidInputsException + - MDExpectedException +includes: + - phpstan-baseline.neon + - dependencies/MD_QA/rules/phpstan-rules.neon + - vendor/spaze/phpstan-disallowed-calls/extension.neon diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 0000000..02b8a66 --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,17 @@ + + + + tests + + + + ./src + + + diff --git a/provideEnv.php b/provideEnv.php new file mode 100644 index 0000000..4637fe8 --- /dev/null +++ b/provideEnv.php @@ -0,0 +1,23 @@ + QARunnerLimitMode::main, + 'minimaldatensatz' => QARunnerLimitMode::minimaldatensatz, + 'count_vocabulary_entries_to_be_added' => QARunnerLimitMode::count_new_vocab_entries, + }; + + $runner = new QARunner($lang, $parser, $data, $limitMode); + + header('Content-Type: application/json; charset=utf-8'); + echo json_encode([ + 'results' => match($subject) { + 'object' => $runner->evaluateObjects(), + 'minimaldatensatz' => $runner->evaluateObjectsForMinimaldatensatz(), + 'count_vocabulary_entries_to_be_added' => $runner->countNewlyRequestedVocabularyEntries(), + }, + ]); + +} +else if ($verb === 'convert_to_xml' && in_array($subject, QaConvertToXml::listAvailableOutputFormats(), true)) { + + $institution_name = MD_STD_IN::get_http_input_text("institution_name"); + $institution_identifier = MD_STD_IN::get_http_input_text("institution_identifier"); + + $runner = new QARunner($lang, $parser, $data, null); // TODO: Add limit modes per format + header('Content-Type: text/xml; charset=utf-8'); + echo $runner->convertToXml($subject, $institution_name, $institution_identifier); + +} diff --git a/public/index.htm b/public/index.htm new file mode 100644 index 0000000..13aedab --- /dev/null +++ b/public/index.htm @@ -0,0 +1,35 @@ + + + + + + + + + + + Quality assessment :: museum-digital + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/static/README.md b/public/static/README.md new file mode 100644 index 0000000..5f32fa4 --- /dev/null +++ b/public/static/README.md @@ -0,0 +1 @@ +# Static assets of the public web interface to museum-digital's quality assessment tools diff --git a/public/static/css/README.md b/public/static/css/README.md new file mode 100644 index 0000000..17c0ffa --- /dev/null +++ b/public/static/css/README.md @@ -0,0 +1 @@ +# CSS files for styling the web interface to museum-digital's quality assessment tools diff --git a/public/static/css/dialogue.css b/public/static/css/dialogue.css new file mode 100644 index 0000000..0da0325 --- /dev/null +++ b/public/static/css/dialogue.css @@ -0,0 +1,46 @@ +/* ======== +| Reference overlay +|= ======== */ + +#dialogueArea { display: block; position: fixed; left: 0; top: 0; + width: 100%; height: 100%; + max-width: initial; max-height: initial; + background: rgba(0,0,0,.7); backdrop-filter: blur(3px); + z-index: 10000; } +#dialogue { display: block; position: absolute; left: 50%; top: 50%; + transform: translate(-50%, -50%); min-width: 60vw; min-height: 2em; + max-width: 90vw; max-height: 90vh; overflow-y: auto; + padding: 1.5em 1em; + background: var(--color-bg-normal); border-radius: .3em; + box-shadow: 2px 2px 4px var(--color-fg-less), -2px -2px 4px var(--color-fg-less); } +#dialogue h3 { margin-top: 0; padding-top: 0; text-transform: initial; color: var(--color-fg-less); } +h4 { font-size: 1.05em; } +h5 { font-size: 1.02em; } +h6 { font-size: 1em; } + +#dialogue section > div > h5, +#dialogue section > div > h6 { margin: .5em 0; } + +#confirmButtons { text-align: right; } +#dialogue .buttonLike { margin: .5em 0 .2em .5em; background: transparent; transition: background .4s, color .4s; } +#dialogue .buttonLike:hover { background: var(--color-borders-dark); color: var(--color-bg-normal); } + +#dialogue input[type="text"], +#dialogue textarea { padding: .5em; border-radius: .1em; border: 2px solid var(--color-borders); transition: border .4s; } +#dialogue input[type="text"]:hover, +#dialogue textarea:hover { border-color: var(--color-fg-normal); } +#dialogue button { padding: .6em .8em; font-size: .8em; background: var(--color-bg-normal); border: 1px solid var(--color-borders); + transition: .4s; } +#dialogue button:focus, +#dialogue button:hover { background: var(--color-fg-less); color: var(--color-bg-normal); border-color: var(--color-fg-less); } +#dialogue form > * { display: block; width: 100%; } +#dialogue form label { font-weight: bold; color: var(--color-fg-less); } +#dialogueClose { float: right; display: inline-block; padding: 0 .6em .2em .6em; background: var(--color-bg-raised); + border-radius: 100%; cursor: pointer; transition: .4s; } +#dialogueClose:hover { background: var(--color-fg-less); color: var(--color-bg-normal); } + +#dialogue ul { margin-left: 1em; padding-left: 0; transition: .4s; } +#dialogue ul.minimized { height: 20px; background-color: var(--color-accent-normal); + background-size: 20px 20px; + background-image: repeating-linear-gradient(to right, var(--color-fg-normal), var(--color-fg-normal) 1px, var(--color-accent-normal) 1px, var(--color-accent-normal)); } +#dialogue ul.minimized > * { display: none; } diff --git a/public/static/css/editMenu.css b/public/static/css/editMenu.css new file mode 100644 index 0000000..b428069 --- /dev/null +++ b/public/static/css/editMenu.css @@ -0,0 +1,44 @@ +/* ======== +| New tooltip +|= ======== */ + +.newToolTip { position: fixed; display: none !important; min-width: 300px !important; max-width: 600px; + background: var(--color-fg-less) !important; color: var(--color-bg-normal); text-align: left; font-size: .95rem; + border-radius: .2em; box-shadow: 1px 1px 4px var(--color-borders-dark); z-index: 3000; white-space: initial !important; } +#newToolTipMain:before { content: attr(data-title); display: block; padding: .5em 1em; max-width: 598px; + background: var(--color-fg-less); color: var(--color-bg-raised2); font-weight: bold; + box-shadow: 0px 4px 2px -2px var(--color-borders-dark); } +#newToolTipMain > * { padding: .5rem 1rem !important; } +#newToolTipMain > table td { padding: .5rem 1em; vertical-align: top; } +@media screen and (min-width: 768px) { + #newToolTipMain.visible { display: block !important; } +} + +#newToolTipMain img { max-width: 200px; max-height: 300px; } + +dl#newToolTipMain dt { padding-bottom: 0; font-weight: bold; } +dl#newToolTipMain dd { margin: -1em 0 0 0; padding: 0 0 0 0; } + +.newToolTipMain p + .toolTipHierarchy { padding-bottom: 0 !important; } +#newToolTipMain > h5 { padding: 0 1rem !important; margin: -.5rem 0 !important; } + +.copyToDialogue { cursor: pointer; } + +/* ======== +| Animations +|= ======== */ + +@keyframes pulseBorderSize { + 0% { border-width: 1em; } + 50% { border-width: 1.2em; } + 100% { border-width: 1em; } +} +@keyframes fade-in-and-vanish { + 0% { opacity: 0; z-index: 1000; } + 5% { opacity: .4; } + 15% { opacity: 1; padding: .8em; } + 75% { opacity: 1; padding: .8em; } + 85% { opacity: .4; transform: translateY(0px);} + 99% { opacity: 0; transform: translateY(-30px);} + 100% { opacity: 0; z-index: 0; } +} diff --git a/public/static/css/qa.css b/public/static/css/qa.css new file mode 100644 index 0000000..90b66aa --- /dev/null +++ b/public/static/css/qa.css @@ -0,0 +1,329 @@ +/* + * @import 'editMenu.css'; +@import 'dialogue.css'; + */@import 'editMenu.css'; +@import 'dialogue.css'; +:root { + --color-bg-normal: #FFF; + --color-bg-raised: #EEE; + --color-bg-raised2: #FAFAFA; + --color-fg-normal: #000; + --color-fg-less: #212121; + --color-borders: #D6D6D6; + --color-borders-dark: #646464; + + --color-accent-normal: #1976D2; + --color-accent-hover: #0D47A1; + + --color-green: #388E3C; + --color-red: #D32F2F; +} + +@media (prefers-color-scheme: dark) { + + :root { + --color-bg-normal: #000; + --color-bg-raised: #273000; + --color-bg-raised2: #121212; + --color-fg-normal: #FFF; + --color-fg-less: #EEE; + --color-borders: #37474F; + --color-borders-dark: #BDBDBD; + + --color-accent-normal: #FFC107; + --color-accent-hover: #FFA000; + + --color-green: #81C784; + --color-red: #EF5350; + } + +} + +/* ============== +| Load fonts +|================ */ + +@font-face { + font-family: sourceSansPro; + src: local('Source-Sans-Pro'), local('Source Sans Pro'), + url(../fonts/SourceSansPro-Regular.woff2) format('woff2'), + url(../fonts/SourceSansPro-Regular.ttf) format('truetype'); + font-display: swap; +} + +/* ============== +| General +|================ */ + +* { box-sizing: border-box; z-index: 1; } + +body { margin: 0; background: var(--color-bg-normal); color: var(--color-fg-normal); + font-family: sourceSansPro, Arial, Helvetica, Times; font-size: 1.2em; line-height: 1.5em; } +#contentWrapper { display: grid; grid-template-columns: auto auto; grid-gap: 2em 2em; } + +a { text-decoration: none; color: inherit; } + +h1 { display: block; width: 100%; text-align: center; margin: 0 auto .8em auto; + padding: 1em 0; + font-size: 2.5em; line-height: 1.2em; } +h1 > * { display: inline-block; vertical-align: middle; color: var(--color-fg-less); } +h1 img { margin-right: .5em; border-radius: .1em; opacity: .7; transition: opacity .4s; } +h1 img:hover { opacity: 1; } + +main, +#contentWrapper > section, +#contentWrapper > div, +#contentWrapper > form { grid-row: auto; grid-column: 1 / span 2; display: block; width: 90%; margin: 0 auto 3em auto; } + +div#uploader #uploaderMenu { display: block; padding: .5em 0; } + +#parserList { display: block; margin: 0 0; padding: 0 0; } +#parserList > li { display: grid; grid-template-columns: 15fr 1fr; + margin: 0 0; padding: 0 0; border-bottom: 1px solid var(--color-borders); + cursor: pointer; + transition: .2s ease-out; } +#parserList > li > :first-child:before { content: " > "; margin-right: .5em; } +#parserList > li > * { display: inline-block; grid-column: auto; grid-row: 1; + margin: 0 0; padding: .3rem 1em; } +#parserList > li:hover { background: var(--color-bg-raised); color: var(--color-accent-hover); } + +main p, +section p:not(.threeCol p) { white-space: pre-wrap; } + +@media screen and (min-width: 768px) { + #contentWrapper { grid-template-columns: 400px 1fr; } + #contentWrapper > div#uploader { position: relative; min-width: initial; } + #contentWrapper > main { padding-left: 2em; border-left: 1px dashed var(--color-fg-normal); } + div#uploader #uploaderMenu { position: sticky; top: 0; } + #contentWrapper > div#uploader, #contentWrapper > main { grid-column: auto; width: initial; } + #contentWrapper > div#uploader { margin-left: 5vw; } + #contentWrapper > main { margin-right: 5vw; } +} + +form > div { margin-bottom: 1em; } +label { display: block; font-weight: bold; margin-bottom: .5em; } + +form > h4 { margin-top: 0; } + +body > footer { padding: 1em 5% 3em 5%; background: var(--color-fg-normal); color: var(--color-bg-normal); border-top: .1em solid var(--color-borders); } + +body > footer > div { display: block; } +body > footer > div a, +body > footer > div span { display: block; font-weight: bold; cursor: pointer; + color: inherit; transition: color .4s; } +body > footer > div a:hover, +body > footer > div span:hover { color: var(--color-accent-hover); } + +.invisible { display: none !important; opacity: 0; } + +.buttonLike, +select, +button, +textarea, +input { display: block; width: 100%; padding: .5em .5em; border: 2.5px solid var(--color-bg-raised); + background: inherit; color: var(--color-fg-less); font-family: sourceSansPro; font-size: 1em; + border-radius: .2em; transition: border .2s; } + +select:hover, +textarea:hover, +input:hover { border-color: #888; } + +button { width: 100%; padding: .5em .8em; + border: 1px solid var(--color-fg-normal); font-weight: bold; + border-radius: .1em; + text-transform: uppercase; transition: color .2s, color .2s; } +textarea { line-height: 1.2em; } + +button:focus, +button:hover { color: var(--color-accent-hover); border-color: var(--color-accent-hover); } +button.backButton { margin-top: 1.5em; } + +button + button { margin-top: .5em; } +aside > h4:first-child { margin-top: 0; } + +select:focus, +textarea:focus, +input:focus { border-color: var(--color-accent-hover); box-shadow: none; } + +textarea:invalid, +input:invalid { box-shadow: none; } +textarea:invalid:focus, +input:invalid:focus { border-right-width: 1em; } + +textarea { min-height: 30vh; } + +table { width: 100%; max-height: 60vh; margin: 2em 0; border-collapse: collapse; overflow: auto; } + +th { padding: .3em .5em; text-align: left; border-bottom: 2px solid var(--color-fg-less); } +tbody > tr:nth-child(2n + 1) { background: var(--color-bg-raised2); } +td { padding: .3em .5em; border-bottom: 1px solid var(--color-borders); } + +#contentWrapper > div.uploader { margin-bottom: 0; } +#contentWrapper > div.uploader > form { border: 1px solid var(--color-bg-raised); padding: 1em 1em; margin-bottom: 0; } + +.loading:before, +.loading:after { content: " "; display: block; + position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); + height: 64px; width: 64px; margin: 0; padding: 0; + border-radius: 50%; + border: 8px solid var(--color-accent-hover); + border-color: var(--color-accent-hover) transparent transparent transparent; + z-index: 100; + animation: rotating 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite; animation-delay: -0.15s; } + +.loading:after { animation-delay: -0.45s; } + +@keyframes rotating { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} + + +header { display: block; width: 100%; padding: 0 2em; font-size: 1rem; z-index: 2; } +header#mainHeader { margin-bottom: 2em; + background: var(--color-fg-less); color: var(--color-bg-raised2); display: table; } +header#mainHeader > * { display: table-cell; } +@media screen and (max-width: 768px) { + header#mainHeader > * { min-width: 20%; } +} +header#mainHeader > *:last-child { text-align: right; } + +header#mainHeader, header#mainHeader * { z-index: 5; } +header#mainHeader:hover, +header#mainHeader *:hover { z-index: 6; } +header * { z-index: 2; } +header > * { display: inline-block; vertical-align: middle; } + +header h2 { font-size: 1.1em; color: inherit; } +main h2, section h2, +#more h3 { text-transform: uppercase; + font-weight: normal; } + +header select { background: inherit; font-size: .85rem; border: 0; } +header select option { color: var(--color-fg-normal); } + +header nav { color: var(--color-bg-raised2); } +header nav > * { position: relative; display: inline-block; flex: 1; font-size: 1rem; padding: .7em 0; } + +header#mainHeader img { display: inline-block; height: 1.9em; margin-right: .5em; vertical-align: middle; filter: invert(1); transition: opacity .4s; } +header#mainHeader h2 { display: inline-block; vertical-align: middle; font-weight: normal; } +header#mainHeader > a:focus > img, +header#mainHeader > a:hover > img { opacity: .7; } + +.summary { display: block; + padding: 0 1em; + border: 1px solid var(--color-borders); + border-radius: .1em; } +.accordion { max-height: 0; overflow-y: hidden; + transition: max-height 0.2s ease-out, border 0.2s ease-out; } +.accordion.active { display: block; padding: 1em 0; border-top: 1px dotted var(--color-borders); + border-bottom: 1px dotted var(--color-borders); } + +.threeCol { display: grid; grid-template-columns: 1fr; grid-gap: 2em; } +.threeCol > * { max-height: 300px; overflow-y: hidden; padding: 0 1em; + transition: max-height 0.2s ease-out, border 0.2s ease-out; + cursor: pointer; border: 1px solid var(--color-borders); border-bottom-style: dashed; } +.threeCol > .active { border-bottom-style: solid; } +.threeCol > :hover { border-color: var(--color-accent-hover); } + +.threeCol a { transition: color .4s; } +.threeCol a:hover { color: var(--color-accent-hover); } + +@media screen and (min-width: 1024px) { + .threeCol { display: block; overflow-x: auto; white-space: nowrap; } + .threeCol > * { display: inline-block; margin-right: 5%; width: 30%; white-space: initial; vertical-align: top; } + .threeCol > :last-child { margin-right: 0; } +} + + +/* + * Accordions + */ + /* Style the buttons that are used to open and close the accordion panel */ +.faq_question { position: relative; display: block; width: 100%; + padding: .6rem .8rem .6rem 2.4rem; cursor: pointer; + margin: .2em 0; + border: 1px solid var(--color-borders); border-radius: .2rem; + outline: none; transition: .4s ease-out; } + +.faq_question:before { display: inline-block; content: " > "; + position: absolute; left: .8rem; top: 50%; transform: translate(0, -50%); + font-size: 1.6rem; + color: var(--color-accent-normal); + font-weight: bold; } + +/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */ +.active, .faq_question:hover { background: var(--color-bg-raised2); } +.accordion.faq_answer { padding-left: 18px; padding-right: 18px; white-space: pre-wrap; } + +section h2 { margin-top: 2em; } + +#more { border-top: 1px solid var(--color-borders); margin-top: 2em;} + +.moreTiles { display: block; max-width: 100%; position: relative; } +.moreTiles > a { display: inline-block; border: 1px solid var(--color-borders); + border-radius: .1rem; + font-size: .7em; + transition: border .4s; } +.moreTiles > a:hover, +.moreTiles > a:focus { border-color: var(--color-accent-hover); } +.moreTiles > a img { display: block; width: 400px; height: 225px; border-radius: inherit; } +.moreTiles .moreTilesMeta { position: absolute; bottom: .5em; + max-width: 400px; + padding: .5em; background: rgba(0, 0, 0, .8); + color: #FFF; } +.moreTiles .moreTilesMeta p { margin: 0 0; padding: 0 0; font-weight: bold; } +.moreTilesTitle { font-weight: bold; font-size: 1.15em; transition: color .4s; } + +.moreTiles > a:hover .moreTilesTitle, +.moreTiles > a:focus .moreTilesTitle { color: var(--color-accent-hover); } + +@media screen and (min-width: 768px) { + + header nav > div > div { display: none; position: absolute; right: 0; top: 100%; width: 300px; + background: var(--color-fg-less); text-align: left; } + header nav > div > a { padding: .95em 1em; transition: background .4s, color .4s; } + header nav > div:focus > a, + header nav > div:hover > a { color: var(--color-gray); } + header nav > div > a:focus + div, + header nav > div:hover > div { display: block; animation: fade-in .4s; } + header nav > div > a:focus + div > a, + header nav > div:hover > div > a { display: block; padding: .5em 1em; cursor: pointer; + transition: background .4s, color .4s; } + header nav > div > a:focus + div > a:focus, + header nav > div:hover > div > a:hover { background: var(--color-fg-normal); color: var(--color-bg-normal); } + header { padding: 0 10em; } +} + +@media screen and (max-width: 768px) { + body { font-size: 1.08em; } + h1 img { display: none; } + header .branding { padding: .7rem; } + header nav:before { content: " \2630 "; display: inline-block; position: absolute; right: 3rem; top: 0; + padding: .8rem 0; font-size: 1.5em; text-align: right; } + header nav > * { display: none; } + + header nav:hover:before { display: none; } + header nav:hover { position: absolute; left: 0; top: 0; display: flex; + width: 100%; min-height: 90vh; padding: 2em 1em .5em 1em; background: var(--color-bg-normal); color: var(--color-fg-normal); + border-bottom: 1px solid var(--color-borders); box-shadow: 2px 2px 4px var(--color-borders); + z-index: 3; animation: fade-in .4s; } + + header nav:hover > * { display: block; flex: 1; min-width: 40vw; padding: 1em; font-size: 1em; } + header nav:hover > div a { display: block; padding: .2em 0; } + header { padding: 0 1em; } +} + +@media (prefers-color-scheme: dark) { + header#mainHeader, + body > footer, + header nav, + header nav > div > div { background: inherit; color: inherit; } + header#mainHeader { border-bottom: 1px solid var(--color-bg-raised2); } +} + +@media screen and (min-width: 1600px) { + #contentWrapper { + max-width: 1400px; margin: 0 auto; + } +} diff --git a/public/static/css/qa.min.css/css/dialogue.css b/public/static/css/qa.min.css/css/dialogue.css new file mode 100644 index 0000000..a5fe669 --- /dev/null +++ b/public/static/css/qa.min.css/css/dialogue.css @@ -0,0 +1 @@ +#dialogueArea{display:block;position:fixed;left:0;top:0;width:100%;height:100%;max-width:initial;max-height:initial;background:rgba(0,0,0,.7);backdrop-filter:blur(3px);z-index:10000}#dialogue{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:60vw;min-height:2em;max-width:90vw;max-height:90vh;overflow-y:auto;padding:1.5em 1em;background:var(--color-bg-normal);border-radius:.3em;box-shadow:2px 2px 4px var(--color-fg-less),-2px -2px 4px var(--color-fg-less)}#dialogue h3{margin-top:0;padding-top:0;text-transform:initial;color:var(--color-fg-less)}h4{font-size:1.05em}h5{font-size:1.02em}h6{font-size:1em}#dialogue section>div>h5,#dialogue section>div>h6{margin:.5em 0}#confirmButtons{text-align:right}#dialogue .buttonLike{margin:.5em 0 .2em .5em;background:0 0;transition:background .4s,color .4s}#dialogue .buttonLike:hover{background:var(--color-borders-dark);color:var(--color-bg-normal)}#dialogue input[type=text],#dialogue textarea{padding:.5em;border-radius:.1em;border:2px solid var(--color-borders);transition:border .4s}#dialogue input[type=text]:hover,#dialogue textarea:hover{border-color:var(--color-fg-normal)}#dialogue button{padding:.6em .8em;font-size:.8em;background:var(--color-bg-normal);border:1px solid var(--color-borders);transition:.4s}#dialogue button:focus,#dialogue button:hover{background:var(--color-fg-less);color:var(--color-bg-normal);border-color:var(--color-fg-less)}#dialogue form>*{display:block;width:100%}#dialogue form label{font-weight:700;color:var(--color-fg-less)}#dialogueClose{float:right;display:inline-block;padding:0 .6em .2em;background:var(--color-bg-raised);border-radius:100%;cursor:pointer;transition:.4s}#dialogueClose:hover{background:var(--color-fg-less);color:var(--color-bg-normal)}#dialogue ul{margin-left:1em;padding-left:0;transition:.4s}#dialogue ul.minimized{height:20px;background-color:var(--color-accent-normal);background-size:20px 20px;background-image:repeating-linear-gradient(to right,var(--color-fg-normal),var(--color-fg-normal) 1px,var(--color-accent-normal) 1px,var(--color-accent-normal))}#dialogue ul.minimized>*{display:none} \ No newline at end of file diff --git a/public/static/css/qa.min.css/css/editMenu.css b/public/static/css/qa.min.css/css/editMenu.css new file mode 100644 index 0000000..f4c2bf0 --- /dev/null +++ b/public/static/css/qa.min.css/css/editMenu.css @@ -0,0 +1 @@ +.newToolTip{position:fixed;display:none!important;min-width:300px!important;max-width:600px;background:var(--color-fg-less)!important;color:var(--color-bg-normal);text-align:left;font-size:.95rem;border-radius:.2em;box-shadow:1px 1px 4px var(--color-borders-dark);z-index:3000;white-space:initial!important}#newToolTipMain:before{content:attr(data-title);display:block;padding:.5em 1em;max-width:598px;background:var(--color-fg-less);color:var(--color-bg-raised2);font-weight:700;box-shadow:0 4px 2px -2px var(--color-borders-dark)}#newToolTipMain>*{padding:.5rem 1rem!important}#newToolTipMain>table td{padding:.5rem 1em;vertical-align:top}@media screen and (min-width:768px){#newToolTipMain.visible{display:block!important}}#newToolTipMain img{max-width:200px;max-height:300px}dl#newToolTipMain dt{padding-bottom:0;font-weight:700}dl#newToolTipMain dd{margin:-1em 0 0;padding:0}.newToolTipMain p+.toolTipHierarchy{padding-bottom:0!important}#newToolTipMain>h5{padding:0 1rem!important;margin:-.5rem 0!important}.copyToDialogue{cursor:pointer}@keyframes pulseBorderSize{0%{border-width:1em}50%{border-width:1.2em}100%{border-width:1em}}@keyframes fade-in-and-vanish{0%{opacity:0;z-index:1000}5%{opacity:.4}15%{opacity:1;padding:.8em}75%{opacity:1;padding:.8em}85%{opacity:.4;transform:translateY(0)}99%{opacity:0;transform:translateY(-30px)}100%{opacity:0;z-index:0}} \ No newline at end of file diff --git a/public/static/css/qa.min.css/css/qa.css b/public/static/css/qa.min.css/css/qa.css new file mode 100644 index 0000000..c41d1ae --- /dev/null +++ b/public/static/css/qa.min.css/css/qa.css @@ -0,0 +1 @@ +@import 'editMenu.css';@import 'dialogue.css';:root{--color-bg-normal:#FFF;--color-bg-raised:#EEE;--color-bg-raised2:#FAFAFA;--color-fg-normal:#000;--color-fg-less:#212121;--color-borders:#D6D6D6;--color-borders-dark:#646464;--color-accent-normal:#1976D2;--color-accent-hover:#0D47A1;--color-green:#388E3C;--color-red:#D32F2F}@media(prefers-color-scheme:dark){:root{--color-bg-normal:#000;--color-bg-raised:#273000;--color-bg-raised2:#121212;--color-fg-normal:#FFF;--color-fg-less:#EEE;--color-borders:#37474F;--color-borders-dark:#BDBDBD;--color-accent-normal:#FFC107;--color-accent-hover:#FFA000;--color-green:#81C784;--color-red:#EF5350}}@font-face{font-family:sourceSansPro;src:local('Source-Sans-Pro'),local('Source Sans Pro'),url(../fonts/SourceSansPro-Regular.woff2)format('woff2'),url(../fonts/SourceSansPro-Regular.ttf)format('truetype');font-display:swap}*{box-sizing:border-box;z-index:1}body{margin:0;background:var(--color-bg-normal);color:var(--color-fg-normal);font-family:sourceSansPro,Arial,Helvetica,Times;font-size:1.2em;line-height:1.5em}#contentWrapper{display:grid;grid-template-columns:auto auto;grid-gap:2em 2em}a{text-decoration:none;color:inherit}h1{display:block;width:100%;text-align:center;margin:0 auto .8em;padding:1em 0;font-size:2.5em;line-height:1.2em}h1>*{display:inline-block;vertical-align:middle;color:var(--color-fg-less)}h1 img{margin-right:.5em;border-radius:.1em;opacity:.7;transition:opacity .4s}h1 img:hover{opacity:1}main,#contentWrapper>section,#contentWrapper>div,#contentWrapper>form{grid-row:auto;grid-column:1/span 2;display:block;width:90%;margin:0 auto 3em}div#uploader #uploaderMenu{display:block;padding:.5em 0}#parserList{display:block;margin:0;padding:0}#parserList>li{display:grid;grid-template-columns:15fr 1fr;margin:0;padding:0;border-bottom:1px solid var(--color-borders);cursor:pointer;transition:.2s ease-out}#parserList>li>:first-child:before{content:" > ";margin-right:.5em}#parserList>li>*{display:inline-block;grid-column:auto;grid-row:1;margin:0;padding:.3rem 1em}#parserList>li:hover{background:var(--color-bg-raised);color:var(--color-accent-hover)}main p,section p:not(.threeCol p){white-space:pre-wrap}@media screen and (min-width:768px){#contentWrapper{grid-template-columns:400px 1fr}#contentWrapper>div#uploader{position:relative;min-width:initial}#contentWrapper>main{padding-left:2em;border-left:1px dashed var(--color-fg-normal)}div#uploader #uploaderMenu{position:sticky;top:0}#contentWrapper>div#uploader,#contentWrapper>main{grid-column:auto;width:initial}#contentWrapper>div#uploader{margin-left:5vw}#contentWrapper>main{margin-right:5vw}}form>div{margin-bottom:1em}label{display:block;font-weight:700;margin-bottom:.5em}form>h4{margin-top:0}body>footer{padding:1em 5% 3em;background:var(--color-fg-normal);color:var(--color-bg-normal);border-top:.1em solid var(--color-borders)}body>footer>div{display:block}body>footer>div a,body>footer>div span{display:block;font-weight:700;cursor:pointer;color:inherit;transition:color .4s}body>footer>div a:hover,body>footer>div span:hover{color:var(--color-accent-hover)}.invisible{display:none!important;opacity:0}.buttonLike,select,button,textarea,input{display:block;width:100%;padding:.5em;border:2.5px solid var(--color-bg-raised);background:inherit;color:var(--color-fg-less);font-family:sourceSansPro;font-size:1em;border-radius:.2em;transition:border .2s}select:hover,textarea:hover,input:hover{border-color:#888}button{width:100%;padding:.5em .8em;border:1px solid var(--color-fg-normal);font-weight:700;border-radius:.1em;text-transform:uppercase;transition:color .2s,color .2s}textarea{line-height:1.2em}button:focus,button:hover{color:var(--color-accent-hover);border-color:var(--color-accent-hover)}button.backButton{margin-top:1.5em}button+button{margin-top:.5em}aside>h4:first-child{margin-top:0}select:focus,textarea:focus,input:focus{border-color:var(--color-accent-hover);box-shadow:none}textarea:invalid,input:invalid{box-shadow:none}textarea:invalid:focus,input:invalid:focus{border-right-width:1em}textarea{min-height:30vh}table{width:100%;max-height:60vh;margin:2em 0;border-collapse:collapse;overflow:auto}th{padding:.3em .5em;text-align:left;border-bottom:2px solid var(--color-fg-less)}tbody>tr:nth-child(2n+1){background:var(--color-bg-raised2)}td{padding:.3em .5em;border-bottom:1px solid var(--color-borders)}#contentWrapper>div.uploader{margin-bottom:0}#contentWrapper>div.uploader>form{border:1px solid var(--color-bg-raised);padding:1em;margin-bottom:0}.loading:before,.loading:after{content:" ";display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:64px;width:64px;margin:0;padding:0;border-radius:50%;border:8px solid var(--color-accent-hover);border-color:var(--color-accent-hover)transparent transparent transparent;z-index:100;animation:rotating 1.2s cubic-bezier(.5,0,.5,1)infinite;animation-delay:-.15s}.loading:after{animation-delay:-.45s}@keyframes rotating{from{transform:rotate(0)}to{transform:rotate(360deg)}}header{display:block;width:100%;padding:0 2em;font-size:1rem;z-index:2}header#mainHeader{margin-bottom:2em;background:var(--color-fg-less);color:var(--color-bg-raised2);display:table}header#mainHeader>*{display:table-cell}@media screen and (max-width:768px){header#mainHeader>*{min-width:20%}}header#mainHeader>*:last-child{text-align:right}header#mainHeader,header#mainHeader *{z-index:5}header#mainHeader:hover,header#mainHeader *:hover{z-index:6}header *{z-index:2}header>*{display:inline-block;vertical-align:middle}header h2{font-size:1.1em;color:inherit}main h2,section h2,#more h3{text-transform:uppercase;font-weight:400}header select{background:inherit;font-size:.85rem;border:0}header select option{color:var(--color-fg-normal)}header nav{color:var(--color-bg-raised2)}header nav>*{position:relative;display:inline-block;flex:1;font-size:1rem;padding:.7em 0}header#mainHeader img{display:inline-block;height:1.9em;margin-right:.5em;vertical-align:middle;filter:invert(1);transition:opacity .4s}header#mainHeader h2{display:inline-block;vertical-align:middle;font-weight:400}header#mainHeader>a:focus>img,header#mainHeader>a:hover>img{opacity:.7}.summary{display:block;padding:0 1em;border:1px solid var(--color-borders);border-radius:.1em}.accordion{max-height:0;overflow-y:hidden;transition:max-height .2s ease-out,border .2s ease-out}.accordion.active{display:block;padding:1em 0;border-top:1px dotted var(--color-borders);border-bottom:1px dotted var(--color-borders)}.threeCol{display:grid;grid-template-columns:1fr;grid-gap:2em}.threeCol>*{max-height:300px;overflow-y:hidden;padding:0 1em;transition:max-height .2s ease-out,border .2s ease-out;cursor:pointer;border:1px solid var(--color-borders);border-bottom-style:dashed}.threeCol>.active{border-bottom-style:solid}.threeCol>:hover{border-color:var(--color-accent-hover)}.threeCol a{transition:color .4s}.threeCol a:hover{color:var(--color-accent-hover)}@media screen and (min-width:1024px){.threeCol{display:block;overflow-x:auto;white-space:nowrap}.threeCol>*{display:inline-block;margin-right:5%;width:30%;white-space:initial;vertical-align:top}.threeCol>:last-child{margin-right:0}}.faq_question{position:relative;display:block;width:100%;padding:.6rem .8rem .6rem 2.4rem;cursor:pointer;margin:.2em 0;border:1px solid var(--color-borders);border-radius:.2rem;outline:none;transition:.4s ease-out}.faq_question:before{display:inline-block;content:" > ";position:absolute;left:.8rem;top:50%;transform:translate(0,-50%);font-size:1.6rem;color:var(--color-accent-normal);font-weight:700}.active,.faq_question:hover{background:var(--color-bg-raised2)}.accordion.faq_answer{padding-left:18px;padding-right:18px;white-space:pre-wrap}section h2{margin-top:2em}#more{border-top:1px solid var(--color-borders);margin-top:2em}.moreTiles{display:block;max-width:100%;position:relative}.moreTiles>a{display:inline-block;border:1px solid var(--color-borders);border-radius:.1rem;font-size:.7em;transition:border .4s}.moreTiles>a:hover,.moreTiles>a:focus{border-color:var(--color-accent-hover)}.moreTiles>a img{display:block;width:400px;height:225px;border-radius:inherit}.moreTiles .moreTilesMeta{position:absolute;bottom:.5em;max-width:400px;padding:.5em;background:rgba(0,0,0,.8);color:#fff}.moreTiles .moreTilesMeta p{margin:0;padding:0;font-weight:700}.moreTilesTitle{font-weight:700;font-size:1.15em;transition:color .4s}.moreTiles>a:hover .moreTilesTitle,.moreTiles>a:focus .moreTilesTitle{color:var(--color-accent-hover)}@media screen and (min-width:768px){header nav>div>div{display:none;position:absolute;right:0;top:100%;width:300px;background:var(--color-fg-less);text-align:left}header nav>div>a{padding:.95em 1em;transition:background .4s,color .4s}header nav>div:focus>a,header nav>div:hover>a{color:var(--color-gray)}header nav>div>a:focus+div,header nav>div:hover>div{display:block;animation:fade-in .4s}header nav>div>a:focus+div>a,header nav>div:hover>div>a{display:block;padding:.5em 1em;cursor:pointer;transition:background .4s,color .4s}header nav>div>a:focus+div>a:focus,header nav>div:hover>div>a:hover{background:var(--color-fg-normal);color:var(--color-bg-normal)}header{padding:0 10em}}@media screen and (max-width:768px){body{font-size:1.08em}h1 img{display:none}header .branding{padding:.7rem}header nav:before{content:" \2630 ";display:inline-block;position:absolute;right:3rem;top:0;padding:.8rem 0;font-size:1.5em;text-align:right}header nav>*{display:none}header nav:hover:before{display:none}header nav:hover{position:absolute;left:0;top:0;display:flex;width:100%;min-height:90vh;padding:2em 1em .5em;background:var(--color-bg-normal);color:var(--color-fg-normal);border-bottom:1px solid var(--color-borders);box-shadow:2px 2px 4px var(--color-borders);z-index:3;animation:fade-in .4s}header nav:hover>*{display:block;flex:1;min-width:40vw;padding:1em;font-size:1em}header nav:hover>div a{display:block;padding:.2em 0}header{padding:0 1em}}@media(prefers-color-scheme:dark){header#mainHeader,body>footer,header nav,header nav>div>div{background:inherit;color:inherit}header#mainHeader{border-bottom:1px solid var(--color-bg-raised2)}}@media screen and (min-width:1600px){#contentWrapper{max-width:1400px;margin:0 auto}} \ No newline at end of file diff --git a/public/static/fonts/SourceSansPro-Light.ttf b/public/static/fonts/SourceSansPro-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ea1104b133de66107bd598940f533ddb289b8575 GIT binary patch literal 292680 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�DZx`31rtL1sy4RXMpnjun?JmUM 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
+ + + + + + diff --git a/public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/oauth2-redirect.html b/public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/oauth2-redirect.html new file mode 100644 index 0000000..87a2eed --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/oauth2-redirect.html @@ -0,0 +1,76 @@ + + + + + + diff --git a/public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/style.css b/public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/style.css new file mode 100644 index 0000000..75a5daa --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/style.css @@ -0,0 +1,19 @@ +html +{ + box-sizing: border-box; + overflow: -moz-scrollbars-vertical; + overflow-y: scroll; +} + +*, +*:before, +*:after +{ + box-sizing: inherit; +} + +body +{ + margin:0; + background: #fafafa; +} diff --git a/public/static/js/swagger/swagger-ui-5.17.14/dist/favicon-16x16.png b/public/static/js/swagger/swagger-ui-5.17.14/dist/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..8b194e617af1c135e6b37939591d24ac3a5efa18 GIT binary patch literal 665 zcmV;K0%rY*P)}JKSduyL>)s!A4EhTMMEM%Q;aL6%l#xiZiF>S;#Y{N2Zz%pvTGHJduXuC6Lx-)0EGfRy*N{Tv4i8@4oJ41gw zKzThrcRe|7J~(YYIBq{SYCkn-KQm=N8$CrEK1CcqMI1dv9z#VRL_{D)L|`QmF8}}l zJ9JV`Q}p!p_4f7m_U`WQ@apR4;o;!mnU<7}iG_qr zF(e)x9~BG-3IzcG2M4an0002kNkl41`ZiN1i62V%{PM@Ry|IS_+Yc7{bb`MM~xm(7p4|kMHP&!VGuDW4kFixat zXw43VmgwEvB$hXt_u=vZ>+v4i7E}n~eG6;n4Z=zF1n?T*yg<;W6kOfxpC6nao>VR% z?fpr=asSJ&`L*wu^rLJ5Peq*PB0;alL#XazZCBxJLd&giTfw@!hW167F^`7kobi;( ze<<>qNlP|xy7S1zl@lZNIBR7#o9ybJsptO#%}P0hz~sBp00000NkvXXu0mjfUsDF? literal 0 HcmV?d00001 diff --git a/public/static/js/swagger/swagger-ui-5.17.14/dist/favicon-32x32.png b/public/static/js/swagger/swagger-ui-5.17.14/dist/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..249737fe44558e679f0b67134e274461d988fa98 GIT binary patch literal 628 zcmV-)0*n2LP)Ma*GM0}OV<074bNCP7P7GVd{iMr*I6y~TMLss@FjvgL~HxU z%Vvj33AwpD(Z4*$Mfx=HaU16axM zt2xG_rloN<$iy9j9I5 + + + + + Swagger UI + + + + + + + +
+ + + + + diff --git a/public/static/js/swagger/swagger-ui-5.17.14/dist/oauth2-redirect.html b/public/static/js/swagger/swagger-ui-5.17.14/dist/oauth2-redirect.html new file mode 100644 index 0000000..5640917 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/dist/oauth2-redirect.html @@ -0,0 +1,79 @@ + + + + Swagger UI: OAuth2 Redirect + + + + + diff --git a/public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-initializer.js b/public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-initializer.js new file mode 100644 index 0000000..f7b0fa9 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-initializer.js @@ -0,0 +1,20 @@ +window.onload = function() { + // + + // the following lines will be replaced by docker/configurator, when it runs in a docker-container + window.ui = SwaggerUIBundle({ + url: "/api", + dom_id: '#swagger-ui', + deepLinking: true, + presets: [ + SwaggerUIBundle.presets.apis, + SwaggerUIStandalonePreset + ], + plugins: [ + SwaggerUIBundle.plugins.DownloadUrl + ], + layout: "StandaloneLayout" + }); + + // +}; diff --git a/public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui-bundle.js b/public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui-bundle.js new file mode 100644 index 0000000..551e172 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/dist/swagger-ui-bundle.js @@ -0,0 +1,2 @@ +/*! For license information please see swagger-ui-bundle.js.LICENSE.txt */ +!function webpackUniversalModuleDefinition(o,s){"object"==typeof exports&&"object"==typeof module?module.exports=s():"function"==typeof define&&define.amd?define([],s):"object"==typeof exports?exports.SwaggerUIBundle=s():o.SwaggerUIBundle=s()}(this,(()=>(()=>{var o,s,i={69119:(o,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.BLANK_URL=s.relativeFirstCharacters=s.whitespaceEscapeCharsRegex=s.urlSchemeRegex=s.ctrlCharactersRegex=s.htmlCtrlEntityRegex=s.htmlEntitiesRegex=s.invalidProtocolRegex=void 0,s.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,s.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,s.htmlCtrlEntityRegex=/&(newline|tab);/gi,s.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,s.urlSchemeRegex=/^.+(:|:)/gim,s.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,s.relativeFirstCharacters=[".","/"],s.BLANK_URL="about:blank"},16750:(o,s,i)=>{"use strict";s.J=void 0;var u=i(69119);function decodeURI(o){try{return decodeURIComponent(o)}catch(s){return o}}s.J=function sanitizeUrl(o){if(!o)return u.BLANK_URL;var s,i,_=decodeURI(o);do{s=(_=decodeURI(_=(i=_,i.replace(u.ctrlCharactersRegex,"").replace(u.htmlEntitiesRegex,(function(o,s){return String.fromCharCode(s)}))).replace(u.htmlCtrlEntityRegex,"").replace(u.ctrlCharactersRegex,"").replace(u.whitespaceEscapeCharsRegex,"").trim())).match(u.ctrlCharactersRegex)||_.match(u.htmlEntitiesRegex)||_.match(u.htmlCtrlEntityRegex)||_.match(u.whitespaceEscapeCharsRegex)}while(s&&s.length>0);var w=_;if(!w)return u.BLANK_URL;if(function isRelativeUrlWithoutProtocol(o){return u.relativeFirstCharacters.indexOf(o[0])>-1}(w))return w;var x=w.match(u.urlSchemeRegex);if(!x)return w;var C=x[0];return u.invalidProtocolRegex.test(C)?u.BLANK_URL:w}},67526:(o,s)=>{"use strict";s.byteLength=function byteLength(o){var s=getLens(o),i=s[0],u=s[1];return 3*(i+u)/4-u},s.toByteArray=function toByteArray(o){var s,i,w=getLens(o),x=w[0],C=w[1],j=new _(function _byteLength(o,s,i){return 3*(s+i)/4-i}(0,x,C)),L=0,B=C>0?x-4:x;for(i=0;i>16&255,j[L++]=s>>8&255,j[L++]=255&s;2===C&&(s=u[o.charCodeAt(i)]<<2|u[o.charCodeAt(i+1)]>>4,j[L++]=255&s);1===C&&(s=u[o.charCodeAt(i)]<<10|u[o.charCodeAt(i+1)]<<4|u[o.charCodeAt(i+2)]>>2,j[L++]=s>>8&255,j[L++]=255&s);return j},s.fromByteArray=function fromByteArray(o){for(var s,u=o.length,_=u%3,w=[],x=16383,C=0,j=u-_;Cj?j:C+x));1===_?(s=o[u-1],w.push(i[s>>2]+i[s<<4&63]+"==")):2===_&&(s=(o[u-2]<<8)+o[u-1],w.push(i[s>>10]+i[s>>4&63]+i[s<<2&63]+"="));return w.join("")};for(var i=[],u=[],_="undefined"!=typeof Uint8Array?Uint8Array:Array,w="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",x=0;x<64;++x)i[x]=w[x],u[w.charCodeAt(x)]=x;function getLens(o){var s=o.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var i=o.indexOf("=");return-1===i&&(i=s),[i,i===s?0:4-i%4]}function encodeChunk(o,s,u){for(var _,w,x=[],C=s;C>18&63]+i[w>>12&63]+i[w>>6&63]+i[63&w]);return x.join("")}u["-".charCodeAt(0)]=62,u["_".charCodeAt(0)]=63},48287:(o,s,i)=>{"use strict";const u=i(67526),_=i(251),w="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;s.Buffer=Buffer,s.SlowBuffer=function SlowBuffer(o){+o!=o&&(o=0);return Buffer.alloc(+o)},s.INSPECT_MAX_BYTES=50;const x=2147483647;function createBuffer(o){if(o>x)throw new RangeError('The value "'+o+'" is invalid for option "size"');const s=new Uint8Array(o);return Object.setPrototypeOf(s,Buffer.prototype),s}function Buffer(o,s,i){if("number"==typeof o){if("string"==typeof s)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(o)}return from(o,s,i)}function from(o,s,i){if("string"==typeof o)return function fromString(o,s){"string"==typeof s&&""!==s||(s="utf8");if(!Buffer.isEncoding(s))throw new TypeError("Unknown encoding: "+s);const i=0|byteLength(o,s);let u=createBuffer(i);const _=u.write(o,s);_!==i&&(u=u.slice(0,_));return u}(o,s);if(ArrayBuffer.isView(o))return function fromArrayView(o){if(isInstance(o,Uint8Array)){const s=new Uint8Array(o);return fromArrayBuffer(s.buffer,s.byteOffset,s.byteLength)}return fromArrayLike(o)}(o);if(null==o)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof o);if(isInstance(o,ArrayBuffer)||o&&isInstance(o.buffer,ArrayBuffer))return fromArrayBuffer(o,s,i);if("undefined"!=typeof SharedArrayBuffer&&(isInstance(o,SharedArrayBuffer)||o&&isInstance(o.buffer,SharedArrayBuffer)))return fromArrayBuffer(o,s,i);if("number"==typeof o)throw new TypeError('The "value" argument must not be of type number. Received type number');const u=o.valueOf&&o.valueOf();if(null!=u&&u!==o)return Buffer.from(u,s,i);const _=function fromObject(o){if(Buffer.isBuffer(o)){const s=0|checked(o.length),i=createBuffer(s);return 0===i.length||o.copy(i,0,0,s),i}if(void 0!==o.length)return"number"!=typeof o.length||numberIsNaN(o.length)?createBuffer(0):fromArrayLike(o);if("Buffer"===o.type&&Array.isArray(o.data))return fromArrayLike(o.data)}(o);if(_)return _;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof o[Symbol.toPrimitive])return Buffer.from(o[Symbol.toPrimitive]("string"),s,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof o)}function assertSize(o){if("number"!=typeof o)throw new TypeError('"size" argument must be of type number');if(o<0)throw new RangeError('The value "'+o+'" is invalid for option "size"')}function allocUnsafe(o){return assertSize(o),createBuffer(o<0?0:0|checked(o))}function fromArrayLike(o){const s=o.length<0?0:0|checked(o.length),i=createBuffer(s);for(let u=0;u=x)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+x.toString(16)+" bytes");return 0|o}function byteLength(o,s){if(Buffer.isBuffer(o))return o.length;if(ArrayBuffer.isView(o)||isInstance(o,ArrayBuffer))return o.byteLength;if("string"!=typeof o)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof o);const i=o.length,u=arguments.length>2&&!0===arguments[2];if(!u&&0===i)return 0;let _=!1;for(;;)switch(s){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":return utf8ToBytes(o).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return base64ToBytes(o).length;default:if(_)return u?-1:utf8ToBytes(o).length;s=(""+s).toLowerCase(),_=!0}}function slowToString(o,s,i){let u=!1;if((void 0===s||s<0)&&(s=0),s>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(s>>>=0))return"";for(o||(o="utf8");;)switch(o){case"hex":return hexSlice(this,s,i);case"utf8":case"utf-8":return utf8Slice(this,s,i);case"ascii":return asciiSlice(this,s,i);case"latin1":case"binary":return latin1Slice(this,s,i);case"base64":return base64Slice(this,s,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,s,i);default:if(u)throw new TypeError("Unknown encoding: "+o);o=(o+"").toLowerCase(),u=!0}}function swap(o,s,i){const u=o[s];o[s]=o[i],o[i]=u}function bidirectionalIndexOf(o,s,i,u,_){if(0===o.length)return-1;if("string"==typeof i?(u=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),numberIsNaN(i=+i)&&(i=_?0:o.length-1),i<0&&(i=o.length+i),i>=o.length){if(_)return-1;i=o.length-1}else if(i<0){if(!_)return-1;i=0}if("string"==typeof s&&(s=Buffer.from(s,u)),Buffer.isBuffer(s))return 0===s.length?-1:arrayIndexOf(o,s,i,u,_);if("number"==typeof s)return s&=255,"function"==typeof Uint8Array.prototype.indexOf?_?Uint8Array.prototype.indexOf.call(o,s,i):Uint8Array.prototype.lastIndexOf.call(o,s,i):arrayIndexOf(o,[s],i,u,_);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(o,s,i,u,_){let w,x=1,C=o.length,j=s.length;if(void 0!==u&&("ucs2"===(u=String(u).toLowerCase())||"ucs-2"===u||"utf16le"===u||"utf-16le"===u)){if(o.length<2||s.length<2)return-1;x=2,C/=2,j/=2,i/=2}function read(o,s){return 1===x?o[s]:o.readUInt16BE(s*x)}if(_){let u=-1;for(w=i;wC&&(i=C-j),w=i;w>=0;w--){let i=!0;for(let u=0;u_&&(u=_):u=_;const w=s.length;let x;for(u>w/2&&(u=w/2),x=0;x>8,_=i%256,w.push(_),w.push(u);return w}(s,o.length-i),o,i,u)}function base64Slice(o,s,i){return 0===s&&i===o.length?u.fromByteArray(o):u.fromByteArray(o.slice(s,i))}function utf8Slice(o,s,i){i=Math.min(o.length,i);const u=[];let _=s;for(;_239?4:s>223?3:s>191?2:1;if(_+x<=i){let i,u,C,j;switch(x){case 1:s<128&&(w=s);break;case 2:i=o[_+1],128==(192&i)&&(j=(31&s)<<6|63&i,j>127&&(w=j));break;case 3:i=o[_+1],u=o[_+2],128==(192&i)&&128==(192&u)&&(j=(15&s)<<12|(63&i)<<6|63&u,j>2047&&(j<55296||j>57343)&&(w=j));break;case 4:i=o[_+1],u=o[_+2],C=o[_+3],128==(192&i)&&128==(192&u)&&128==(192&C)&&(j=(15&s)<<18|(63&i)<<12|(63&u)<<6|63&C,j>65535&&j<1114112&&(w=j))}}null===w?(w=65533,x=1):w>65535&&(w-=65536,u.push(w>>>10&1023|55296),w=56320|1023&w),u.push(w),_+=x}return function decodeCodePointsArray(o){const s=o.length;if(s<=C)return String.fromCharCode.apply(String,o);let i="",u=0;for(;uu.length?(Buffer.isBuffer(s)||(s=Buffer.from(s)),s.copy(u,_)):Uint8Array.prototype.set.call(u,s,_);else{if(!Buffer.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(u,_)}_+=s.length}return u},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function swap16(){const o=this.length;if(o%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let s=0;si&&(o+=" ... "),""},w&&(Buffer.prototype[w]=Buffer.prototype.inspect),Buffer.prototype.compare=function compare(o,s,i,u,_){if(isInstance(o,Uint8Array)&&(o=Buffer.from(o,o.offset,o.byteLength)),!Buffer.isBuffer(o))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof o);if(void 0===s&&(s=0),void 0===i&&(i=o?o.length:0),void 0===u&&(u=0),void 0===_&&(_=this.length),s<0||i>o.length||u<0||_>this.length)throw new RangeError("out of range index");if(u>=_&&s>=i)return 0;if(u>=_)return-1;if(s>=i)return 1;if(this===o)return 0;let w=(_>>>=0)-(u>>>=0),x=(i>>>=0)-(s>>>=0);const C=Math.min(w,x),j=this.slice(u,_),L=o.slice(s,i);for(let o=0;o>>=0,isFinite(i)?(i>>>=0,void 0===u&&(u="utf8")):(u=i,i=void 0)}const _=this.length-s;if((void 0===i||i>_)&&(i=_),o.length>0&&(i<0||s<0)||s>this.length)throw new RangeError("Attempt to write outside buffer bounds");u||(u="utf8");let w=!1;for(;;)switch(u){case"hex":return hexWrite(this,o,s,i);case"utf8":case"utf-8":return utf8Write(this,o,s,i);case"ascii":case"latin1":case"binary":return asciiWrite(this,o,s,i);case"base64":return base64Write(this,o,s,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,o,s,i);default:if(w)throw new TypeError("Unknown encoding: "+u);u=(""+u).toLowerCase(),w=!0}},Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const C=4096;function asciiSlice(o,s,i){let u="";i=Math.min(o.length,i);for(let _=s;_u)&&(i=u);let _="";for(let u=s;ui)throw new RangeError("Trying to access beyond buffer length")}function checkInt(o,s,i,u,_,w){if(!Buffer.isBuffer(o))throw new TypeError('"buffer" argument must be a Buffer instance');if(s>_||so.length)throw new RangeError("Index out of range")}function wrtBigUInt64LE(o,s,i,u,_){checkIntBI(s,u,_,o,i,7);let w=Number(s&BigInt(4294967295));o[i++]=w,w>>=8,o[i++]=w,w>>=8,o[i++]=w,w>>=8,o[i++]=w;let x=Number(s>>BigInt(32)&BigInt(4294967295));return o[i++]=x,x>>=8,o[i++]=x,x>>=8,o[i++]=x,x>>=8,o[i++]=x,i}function wrtBigUInt64BE(o,s,i,u,_){checkIntBI(s,u,_,o,i,7);let w=Number(s&BigInt(4294967295));o[i+7]=w,w>>=8,o[i+6]=w,w>>=8,o[i+5]=w,w>>=8,o[i+4]=w;let x=Number(s>>BigInt(32)&BigInt(4294967295));return o[i+3]=x,x>>=8,o[i+2]=x,x>>=8,o[i+1]=x,x>>=8,o[i]=x,i+8}function checkIEEE754(o,s,i,u,_,w){if(i+u>o.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function writeFloat(o,s,i,u,w){return s=+s,i>>>=0,w||checkIEEE754(o,0,i,4),_.write(o,s,i,u,23,4),i+4}function writeDouble(o,s,i,u,w){return s=+s,i>>>=0,w||checkIEEE754(o,0,i,8),_.write(o,s,i,u,52,8),i+8}Buffer.prototype.slice=function slice(o,s){const i=this.length;(o=~~o)<0?(o+=i)<0&&(o=0):o>i&&(o=i),(s=void 0===s?i:~~s)<0?(s+=i)<0&&(s=0):s>i&&(s=i),s>>=0,s>>>=0,i||checkOffset(o,s,this.length);let u=this[o],_=1,w=0;for(;++w>>=0,s>>>=0,i||checkOffset(o,s,this.length);let u=this[o+--s],_=1;for(;s>0&&(_*=256);)u+=this[o+--s]*_;return u},Buffer.prototype.readUint8=Buffer.prototype.readUInt8=function readUInt8(o,s){return o>>>=0,s||checkOffset(o,1,this.length),this[o]},Buffer.prototype.readUint16LE=Buffer.prototype.readUInt16LE=function readUInt16LE(o,s){return o>>>=0,s||checkOffset(o,2,this.length),this[o]|this[o+1]<<8},Buffer.prototype.readUint16BE=Buffer.prototype.readUInt16BE=function readUInt16BE(o,s){return o>>>=0,s||checkOffset(o,2,this.length),this[o]<<8|this[o+1]},Buffer.prototype.readUint32LE=Buffer.prototype.readUInt32LE=function readUInt32LE(o,s){return o>>>=0,s||checkOffset(o,4,this.length),(this[o]|this[o+1]<<8|this[o+2]<<16)+16777216*this[o+3]},Buffer.prototype.readUint32BE=Buffer.prototype.readUInt32BE=function readUInt32BE(o,s){return o>>>=0,s||checkOffset(o,4,this.length),16777216*this[o]+(this[o+1]<<16|this[o+2]<<8|this[o+3])},Buffer.prototype.readBigUInt64LE=defineBigIntMethod((function readBigUInt64LE(o){validateNumber(o>>>=0,"offset");const s=this[o],i=this[o+7];void 0!==s&&void 0!==i||boundsError(o,this.length-8);const u=s+256*this[++o]+65536*this[++o]+this[++o]*2**24,_=this[++o]+256*this[++o]+65536*this[++o]+i*2**24;return BigInt(u)+(BigInt(_)<>>=0,"offset");const s=this[o],i=this[o+7];void 0!==s&&void 0!==i||boundsError(o,this.length-8);const u=s*2**24+65536*this[++o]+256*this[++o]+this[++o],_=this[++o]*2**24+65536*this[++o]+256*this[++o]+i;return(BigInt(u)<>>=0,s>>>=0,i||checkOffset(o,s,this.length);let u=this[o],_=1,w=0;for(;++w=_&&(u-=Math.pow(2,8*s)),u},Buffer.prototype.readIntBE=function readIntBE(o,s,i){o>>>=0,s>>>=0,i||checkOffset(o,s,this.length);let u=s,_=1,w=this[o+--u];for(;u>0&&(_*=256);)w+=this[o+--u]*_;return _*=128,w>=_&&(w-=Math.pow(2,8*s)),w},Buffer.prototype.readInt8=function readInt8(o,s){return o>>>=0,s||checkOffset(o,1,this.length),128&this[o]?-1*(255-this[o]+1):this[o]},Buffer.prototype.readInt16LE=function readInt16LE(o,s){o>>>=0,s||checkOffset(o,2,this.length);const i=this[o]|this[o+1]<<8;return 32768&i?4294901760|i:i},Buffer.prototype.readInt16BE=function readInt16BE(o,s){o>>>=0,s||checkOffset(o,2,this.length);const i=this[o+1]|this[o]<<8;return 32768&i?4294901760|i:i},Buffer.prototype.readInt32LE=function readInt32LE(o,s){return o>>>=0,s||checkOffset(o,4,this.length),this[o]|this[o+1]<<8|this[o+2]<<16|this[o+3]<<24},Buffer.prototype.readInt32BE=function readInt32BE(o,s){return o>>>=0,s||checkOffset(o,4,this.length),this[o]<<24|this[o+1]<<16|this[o+2]<<8|this[o+3]},Buffer.prototype.readBigInt64LE=defineBigIntMethod((function readBigInt64LE(o){validateNumber(o>>>=0,"offset");const s=this[o],i=this[o+7];void 0!==s&&void 0!==i||boundsError(o,this.length-8);const u=this[o+4]+256*this[o+5]+65536*this[o+6]+(i<<24);return(BigInt(u)<>>=0,"offset");const s=this[o],i=this[o+7];void 0!==s&&void 0!==i||boundsError(o,this.length-8);const u=(s<<24)+65536*this[++o]+256*this[++o]+this[++o];return(BigInt(u)<>>=0,s||checkOffset(o,4,this.length),_.read(this,o,!0,23,4)},Buffer.prototype.readFloatBE=function readFloatBE(o,s){return o>>>=0,s||checkOffset(o,4,this.length),_.read(this,o,!1,23,4)},Buffer.prototype.readDoubleLE=function readDoubleLE(o,s){return o>>>=0,s||checkOffset(o,8,this.length),_.read(this,o,!0,52,8)},Buffer.prototype.readDoubleBE=function readDoubleBE(o,s){return o>>>=0,s||checkOffset(o,8,this.length),_.read(this,o,!1,52,8)},Buffer.prototype.writeUintLE=Buffer.prototype.writeUIntLE=function writeUIntLE(o,s,i,u){if(o=+o,s>>>=0,i>>>=0,!u){checkInt(this,o,s,i,Math.pow(2,8*i)-1,0)}let _=1,w=0;for(this[s]=255&o;++w>>=0,i>>>=0,!u){checkInt(this,o,s,i,Math.pow(2,8*i)-1,0)}let _=i-1,w=1;for(this[s+_]=255&o;--_>=0&&(w*=256);)this[s+_]=o/w&255;return s+i},Buffer.prototype.writeUint8=Buffer.prototype.writeUInt8=function writeUInt8(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,1,255,0),this[s]=255&o,s+1},Buffer.prototype.writeUint16LE=Buffer.prototype.writeUInt16LE=function writeUInt16LE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,2,65535,0),this[s]=255&o,this[s+1]=o>>>8,s+2},Buffer.prototype.writeUint16BE=Buffer.prototype.writeUInt16BE=function writeUInt16BE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,2,65535,0),this[s]=o>>>8,this[s+1]=255&o,s+2},Buffer.prototype.writeUint32LE=Buffer.prototype.writeUInt32LE=function writeUInt32LE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,4,4294967295,0),this[s+3]=o>>>24,this[s+2]=o>>>16,this[s+1]=o>>>8,this[s]=255&o,s+4},Buffer.prototype.writeUint32BE=Buffer.prototype.writeUInt32BE=function writeUInt32BE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,4,4294967295,0),this[s]=o>>>24,this[s+1]=o>>>16,this[s+2]=o>>>8,this[s+3]=255&o,s+4},Buffer.prototype.writeBigUInt64LE=defineBigIntMethod((function writeBigUInt64LE(o,s=0){return wrtBigUInt64LE(this,o,s,BigInt(0),BigInt("0xffffffffffffffff"))})),Buffer.prototype.writeBigUInt64BE=defineBigIntMethod((function writeBigUInt64BE(o,s=0){return wrtBigUInt64BE(this,o,s,BigInt(0),BigInt("0xffffffffffffffff"))})),Buffer.prototype.writeIntLE=function writeIntLE(o,s,i,u){if(o=+o,s>>>=0,!u){const u=Math.pow(2,8*i-1);checkInt(this,o,s,i,u-1,-u)}let _=0,w=1,x=0;for(this[s]=255&o;++_>>=0,!u){const u=Math.pow(2,8*i-1);checkInt(this,o,s,i,u-1,-u)}let _=i-1,w=1,x=0;for(this[s+_]=255&o;--_>=0&&(w*=256);)o<0&&0===x&&0!==this[s+_+1]&&(x=1),this[s+_]=(o/w|0)-x&255;return s+i},Buffer.prototype.writeInt8=function writeInt8(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,1,127,-128),o<0&&(o=255+o+1),this[s]=255&o,s+1},Buffer.prototype.writeInt16LE=function writeInt16LE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,2,32767,-32768),this[s]=255&o,this[s+1]=o>>>8,s+2},Buffer.prototype.writeInt16BE=function writeInt16BE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,2,32767,-32768),this[s]=o>>>8,this[s+1]=255&o,s+2},Buffer.prototype.writeInt32LE=function writeInt32LE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,4,2147483647,-2147483648),this[s]=255&o,this[s+1]=o>>>8,this[s+2]=o>>>16,this[s+3]=o>>>24,s+4},Buffer.prototype.writeInt32BE=function writeInt32BE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,4,2147483647,-2147483648),o<0&&(o=4294967295+o+1),this[s]=o>>>24,this[s+1]=o>>>16,this[s+2]=o>>>8,this[s+3]=255&o,s+4},Buffer.prototype.writeBigInt64LE=defineBigIntMethod((function writeBigInt64LE(o,s=0){return wrtBigUInt64LE(this,o,s,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),Buffer.prototype.writeBigInt64BE=defineBigIntMethod((function writeBigInt64BE(o,s=0){return wrtBigUInt64BE(this,o,s,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),Buffer.prototype.writeFloatLE=function writeFloatLE(o,s,i){return writeFloat(this,o,s,!0,i)},Buffer.prototype.writeFloatBE=function writeFloatBE(o,s,i){return writeFloat(this,o,s,!1,i)},Buffer.prototype.writeDoubleLE=function writeDoubleLE(o,s,i){return writeDouble(this,o,s,!0,i)},Buffer.prototype.writeDoubleBE=function writeDoubleBE(o,s,i){return writeDouble(this,o,s,!1,i)},Buffer.prototype.copy=function copy(o,s,i,u){if(!Buffer.isBuffer(o))throw new TypeError("argument should be a Buffer");if(i||(i=0),u||0===u||(u=this.length),s>=o.length&&(s=o.length),s||(s=0),u>0&&u=this.length)throw new RangeError("Index out of range");if(u<0)throw new RangeError("sourceEnd out of bounds");u>this.length&&(u=this.length),o.length-s>>=0,i=void 0===i?this.length:i>>>0,o||(o=0),"number"==typeof o)for(_=s;_=u+4;i-=3)s=`_${o.slice(i-3,i)}${s}`;return`${o.slice(0,i)}${s}`}function checkIntBI(o,s,i,u,_,w){if(o>i||o3?0===s||s===BigInt(0)?`>= 0${u} and < 2${u} ** ${8*(w+1)}${u}`:`>= -(2${u} ** ${8*(w+1)-1}${u}) and < 2 ** ${8*(w+1)-1}${u}`:`>= ${s}${u} and <= ${i}${u}`,new j.ERR_OUT_OF_RANGE("value",_,o)}!function checkBounds(o,s,i){validateNumber(s,"offset"),void 0!==o[s]&&void 0!==o[s+i]||boundsError(s,o.length-(i+1))}(u,_,w)}function validateNumber(o,s){if("number"!=typeof o)throw new j.ERR_INVALID_ARG_TYPE(s,"number",o)}function boundsError(o,s,i){if(Math.floor(o)!==o)throw validateNumber(o,i),new j.ERR_OUT_OF_RANGE(i||"offset","an integer",o);if(s<0)throw new j.ERR_BUFFER_OUT_OF_BOUNDS;throw new j.ERR_OUT_OF_RANGE(i||"offset",`>= ${i?1:0} and <= ${s}`,o)}E("ERR_BUFFER_OUT_OF_BOUNDS",(function(o){return o?`${o} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),E("ERR_INVALID_ARG_TYPE",(function(o,s){return`The "${o}" argument must be of type number. Received type ${typeof s}`}),TypeError),E("ERR_OUT_OF_RANGE",(function(o,s,i){let u=`The value of "${o}" is out of range.`,_=i;return Number.isInteger(i)&&Math.abs(i)>2**32?_=addNumericalSeparator(String(i)):"bigint"==typeof i&&(_=String(i),(i>BigInt(2)**BigInt(32)||i<-(BigInt(2)**BigInt(32)))&&(_=addNumericalSeparator(_)),_+="n"),u+=` It must be ${s}. Received ${_}`,u}),RangeError);const L=/[^+/0-9A-Za-z-_]/g;function utf8ToBytes(o,s){let i;s=s||1/0;const u=o.length;let _=null;const w=[];for(let x=0;x55295&&i<57344){if(!_){if(i>56319){(s-=3)>-1&&w.push(239,191,189);continue}if(x+1===u){(s-=3)>-1&&w.push(239,191,189);continue}_=i;continue}if(i<56320){(s-=3)>-1&&w.push(239,191,189),_=i;continue}i=65536+(_-55296<<10|i-56320)}else _&&(s-=3)>-1&&w.push(239,191,189);if(_=null,i<128){if((s-=1)<0)break;w.push(i)}else if(i<2048){if((s-=2)<0)break;w.push(i>>6|192,63&i|128)}else if(i<65536){if((s-=3)<0)break;w.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((s-=4)<0)break;w.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return w}function base64ToBytes(o){return u.toByteArray(function base64clean(o){if((o=(o=o.split("=")[0]).trim().replace(L,"")).length<2)return"";for(;o.length%4!=0;)o+="=";return o}(o))}function blitBuffer(o,s,i,u){let _;for(_=0;_=s.length||_>=o.length);++_)s[_+i]=o[_];return _}function isInstance(o,s){return o instanceof s||null!=o&&null!=o.constructor&&null!=o.constructor.name&&o.constructor.name===s.name}function numberIsNaN(o){return o!=o}const B=function(){const o="0123456789abcdef",s=new Array(256);for(let i=0;i<16;++i){const u=16*i;for(let _=0;_<16;++_)s[u+_]=o[i]+o[_]}return s}();function defineBigIntMethod(o){return"undefined"==typeof BigInt?BufferBigIntNotDefined:o}function BufferBigIntNotDefined(){throw new Error("BigInt not supported")}},38075:(o,s,i)=>{"use strict";var u=i(70453),_=i(10487),w=_(u("String.prototype.indexOf"));o.exports=function callBoundIntrinsic(o,s){var i=u(o,!!s);return"function"==typeof i&&w(o,".prototype.")>-1?_(i):i}},10487:(o,s,i)=>{"use strict";var u=i(66743),_=i(70453),w=i(96897),x=i(69675),C=_("%Function.prototype.apply%"),j=_("%Function.prototype.call%"),L=_("%Reflect.apply%",!0)||u.call(j,C),B=i(30655),$=_("%Math.max%");o.exports=function callBind(o){if("function"!=typeof o)throw new x("a function is required");var s=L(u,j,arguments);return w(s,1+$(0,o.length-(arguments.length-1)),!0)};var V=function applyBind(){return L(u,C,arguments)};B?B(o.exports,"apply",{value:V}):o.exports.apply=V},57427:(o,s)=>{"use strict";s.parse=function parse(o,s){if("string"!=typeof o)throw new TypeError("argument str must be a string");var i={},u=(s||{}).decode||decode,_=0;for(;_{"use strict";var u=i(16426),_={"text/plain":"Text","text/html":"Url",default:"Text"};o.exports=function copy(o,s){var i,w,x,C,j,L,B=!1;s||(s={}),i=s.debug||!1;try{if(x=u(),C=document.createRange(),j=document.getSelection(),(L=document.createElement("span")).textContent=o,L.ariaHidden="true",L.style.all="unset",L.style.position="fixed",L.style.top=0,L.style.clip="rect(0, 0, 0, 0)",L.style.whiteSpace="pre",L.style.webkitUserSelect="text",L.style.MozUserSelect="text",L.style.msUserSelect="text",L.style.userSelect="text",L.addEventListener("copy",(function(u){if(u.stopPropagation(),s.format)if(u.preventDefault(),void 0===u.clipboardData){i&&console.warn("unable to use e.clipboardData"),i&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var w=_[s.format]||_.default;window.clipboardData.setData(w,o)}else u.clipboardData.clearData(),u.clipboardData.setData(s.format,o);s.onCopy&&(u.preventDefault(),s.onCopy(u.clipboardData))})),document.body.appendChild(L),C.selectNodeContents(L),j.addRange(C),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");B=!0}catch(u){i&&console.error("unable to copy using execCommand: ",u),i&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(s.format||"text",o),s.onCopy&&s.onCopy(window.clipboardData),B=!0}catch(u){i&&console.error("unable to copy using clipboardData: ",u),i&&console.error("falling back to prompt"),w=function format(o){var s=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return o.replace(/#{\s*key\s*}/g,s)}("message"in s?s.message:"Copy to clipboard: #{key}, Enter"),window.prompt(w,o)}}finally{j&&("function"==typeof j.removeRange?j.removeRange(C):j.removeAllRanges()),L&&document.body.removeChild(L),x()}return B}},2205:function(o,s,i){var u;u=void 0!==i.g?i.g:this,o.exports=function(o){if(o.CSS&&o.CSS.escape)return o.CSS.escape;var cssEscape=function(o){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var s,i=String(o),u=i.length,_=-1,w="",x=i.charCodeAt(0);++_=1&&s<=31||127==s||0==_&&s>=48&&s<=57||1==_&&s>=48&&s<=57&&45==x?"\\"+s.toString(16)+" ":0==_&&1==u&&45==s||!(s>=128||45==s||95==s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122)?"\\"+i.charAt(_):i.charAt(_):w+="�";return w};return o.CSS||(o.CSS={}),o.CSS.escape=cssEscape,cssEscape}(u)},81919:(o,s,i)=>{"use strict";var u=i(48287).Buffer;function isSpecificValue(o){return o instanceof u||o instanceof Date||o instanceof RegExp}function cloneSpecificValue(o){if(o instanceof u){var s=u.alloc?u.alloc(o.length):new u(o.length);return o.copy(s),s}if(o instanceof Date)return new Date(o.getTime());if(o instanceof RegExp)return new RegExp(o);throw new Error("Unexpected situation")}function deepCloneArray(o){var s=[];return o.forEach((function(o,i){"object"==typeof o&&null!==o?Array.isArray(o)?s[i]=deepCloneArray(o):isSpecificValue(o)?s[i]=cloneSpecificValue(o):s[i]=_({},o):s[i]=o})),s}function safeGetProperty(o,s){return"__proto__"===s?void 0:o[s]}var _=o.exports=function(){if(arguments.length<1||"object"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var o,s,i=arguments[0];return Array.prototype.slice.call(arguments,1).forEach((function(u){"object"!=typeof u||null===u||Array.isArray(u)||Object.keys(u).forEach((function(w){return s=safeGetProperty(i,w),(o=safeGetProperty(u,w))===i?void 0:"object"!=typeof o||null===o?void(i[w]=o):Array.isArray(o)?void(i[w]=deepCloneArray(o)):isSpecificValue(o)?void(i[w]=cloneSpecificValue(o)):"object"!=typeof s||null===s||Array.isArray(s)?void(i[w]=_({},o)):void(i[w]=_(s,o))}))})),i}},14744:o=>{"use strict";var s=function isMergeableObject(o){return function isNonNullObject(o){return!!o&&"object"==typeof o}(o)&&!function isSpecial(o){var s=Object.prototype.toString.call(o);return"[object RegExp]"===s||"[object Date]"===s||function isReactElement(o){return o.$$typeof===i}(o)}(o)};var i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function cloneUnlessOtherwiseSpecified(o,s){return!1!==s.clone&&s.isMergeableObject(o)?deepmerge(function emptyTarget(o){return Array.isArray(o)?[]:{}}(o),o,s):o}function defaultArrayMerge(o,s,i){return o.concat(s).map((function(o){return cloneUnlessOtherwiseSpecified(o,i)}))}function getKeys(o){return Object.keys(o).concat(function getEnumerableOwnPropertySymbols(o){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(o).filter((function(s){return Object.propertyIsEnumerable.call(o,s)})):[]}(o))}function propertyIsOnObject(o,s){try{return s in o}catch(o){return!1}}function mergeObject(o,s,i){var u={};return i.isMergeableObject(o)&&getKeys(o).forEach((function(s){u[s]=cloneUnlessOtherwiseSpecified(o[s],i)})),getKeys(s).forEach((function(_){(function propertyIsUnsafe(o,s){return propertyIsOnObject(o,s)&&!(Object.hasOwnProperty.call(o,s)&&Object.propertyIsEnumerable.call(o,s))})(o,_)||(propertyIsOnObject(o,_)&&i.isMergeableObject(s[_])?u[_]=function getMergeFunction(o,s){if(!s.customMerge)return deepmerge;var i=s.customMerge(o);return"function"==typeof i?i:deepmerge}(_,i)(o[_],s[_],i):u[_]=cloneUnlessOtherwiseSpecified(s[_],i))})),u}function deepmerge(o,i,u){(u=u||{}).arrayMerge=u.arrayMerge||defaultArrayMerge,u.isMergeableObject=u.isMergeableObject||s,u.cloneUnlessOtherwiseSpecified=cloneUnlessOtherwiseSpecified;var _=Array.isArray(i);return _===Array.isArray(o)?_?u.arrayMerge(o,i,u):mergeObject(o,i,u):cloneUnlessOtherwiseSpecified(i,u)}deepmerge.all=function deepmergeAll(o,s){if(!Array.isArray(o))throw new Error("first argument should be an array");return o.reduce((function(o,i){return deepmerge(o,i,s)}),{})};var u=deepmerge;o.exports=u},30041:(o,s,i)=>{"use strict";var u=i(30655),_=i(58068),w=i(69675),x=i(75795);o.exports=function defineDataProperty(o,s,i){if(!o||"object"!=typeof o&&"function"!=typeof o)throw new w("`obj` must be an object or a function`");if("string"!=typeof s&&"symbol"!=typeof s)throw new w("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new w("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new w("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new w("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new w("`loose`, if provided, must be a boolean");var C=arguments.length>3?arguments[3]:null,j=arguments.length>4?arguments[4]:null,L=arguments.length>5?arguments[5]:null,B=arguments.length>6&&arguments[6],$=!!x&&x(o,s);if(u)u(o,s,{configurable:null===L&&$?$.configurable:!L,enumerable:null===C&&$?$.enumerable:!C,value:i,writable:null===j&&$?$.writable:!j});else{if(!B&&(C||j||L))throw new _("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");o[s]=i}}},42838:function(o){o.exports=function(){"use strict";const{entries:o,setPrototypeOf:s,isFrozen:i,getPrototypeOf:u,getOwnPropertyDescriptor:_}=Object;let{freeze:w,seal:x,create:C}=Object,{apply:j,construct:L}="undefined"!=typeof Reflect&&Reflect;w||(w=function freeze(o){return o}),x||(x=function seal(o){return o}),j||(j=function apply(o,s,i){return o.apply(s,i)}),L||(L=function construct(o,s){return new o(...s)});const B=unapply(Array.prototype.forEach),$=unapply(Array.prototype.pop),V=unapply(Array.prototype.push),U=unapply(String.prototype.toLowerCase),z=unapply(String.prototype.toString),Y=unapply(String.prototype.match),Z=unapply(String.prototype.replace),ee=unapply(String.prototype.indexOf),ie=unapply(String.prototype.trim),ae=unapply(Object.prototype.hasOwnProperty),ce=unapply(RegExp.prototype.test),le=unconstruct(TypeError);function numberIsNaN(o){return"number"==typeof o&&isNaN(o)}function unapply(o){return function(s){for(var i=arguments.length,u=new Array(i>1?i-1:0),_=1;_2&&void 0!==arguments[2]?arguments[2]:U;s&&s(o,null);let w=u.length;for(;w--;){let s=u[w];if("string"==typeof s){const o=_(s);o!==s&&(i(u)||(u[w]=o),s=o)}o[s]=!0}return o}function cleanArray(o){for(let s=0;s/gm),$e=x(/\${[\w\W]*}/gm),ze=x(/^data-[\-\w.\u00B7-\uFFFF]/),We=x(/^aria-[\-\w]+$/),He=x(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ye=x(/^(?:\w+script|data):/i),Xe=x(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Qe=x(/^html$/i),et=x(/^[a-z][.\w]*(-[.\w]+)+$/i);var tt=Object.freeze({__proto__:null,MUSTACHE_EXPR:Re,ERB_EXPR:qe,TMPLIT_EXPR:$e,DATA_ATTR:ze,ARIA_ATTR:We,IS_ALLOWED_URI:He,IS_SCRIPT_OR_DATA:Ye,ATTR_WHITESPACE:Xe,DOCTYPE_NAME:Qe,CUSTOM_ELEMENT:et});const rt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},nt=function getGlobal(){return"undefined"==typeof window?null:window},ot=function _createTrustedTypesPolicy(o,s){if("object"!=typeof o||"function"!=typeof o.createPolicy)return null;let i=null;const u="data-tt-policy-suffix";s&&s.hasAttribute(u)&&(i=s.getAttribute(u));const _="dompurify"+(i?"#"+i:"");try{return o.createPolicy(_,{createHTML:o=>o,createScriptURL:o=>o})}catch(o){return console.warn("TrustedTypes policy "+_+" could not be created."),null}};function createDOMPurify(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:nt();const DOMPurify=o=>createDOMPurify(o);if(DOMPurify.version="3.1.4",DOMPurify.removed=[],!s||!s.document||s.document.nodeType!==rt.document)return DOMPurify.isSupported=!1,DOMPurify;let{document:i}=s;const u=i,_=u.currentScript,{DocumentFragment:x,HTMLTemplateElement:j,Node:L,Element:Re,NodeFilter:qe,NamedNodeMap:$e=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:ze,DOMParser:We,trustedTypes:Ye}=s,Xe=Re.prototype,et=lookupGetter(Xe,"cloneNode"),st=lookupGetter(Xe,"nextSibling"),it=lookupGetter(Xe,"childNodes"),at=lookupGetter(Xe,"parentNode");if("function"==typeof j){const o=i.createElement("template");o.content&&o.content.ownerDocument&&(i=o.content.ownerDocument)}let ct,lt="";const{implementation:ut,createNodeIterator:pt,createDocumentFragment:ht,getElementsByTagName:dt}=i,{importNode:mt}=u;let gt={};DOMPurify.isSupported="function"==typeof o&&"function"==typeof at&&ut&&void 0!==ut.createHTMLDocument;const{MUSTACHE_EXPR:yt,ERB_EXPR:vt,TMPLIT_EXPR:bt,DATA_ATTR:_t,ARIA_ATTR:Et,IS_SCRIPT_OR_DATA:wt,ATTR_WHITESPACE:St,CUSTOM_ELEMENT:xt}=tt;let{IS_ALLOWED_URI:kt}=tt,Ot=null;const Ct=addToSet({},[...pe,...de,...fe,...be,...we]);let At=null;const jt=addToSet({},[...Se,...xe,...Pe,...Te]);let Pt=Object.seal(C(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),It=null,Mt=null,Nt=!0,Tt=!0,Rt=!1,Dt=!0,Lt=!1,Bt=!0,Ft=!1,qt=!1,$t=!1,Vt=!1,Ut=!1,zt=!1,Wt=!0,Kt=!1;const Ht="user-content-";let Jt=!0,Gt=!1,Yt={},Xt=null;const Qt=addToSet({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Zt=null;const er=addToSet({},["audio","video","img","source","image","track"]);let tr=null;const rr=addToSet({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),nr="http://www.w3.org/1998/Math/MathML",sr="http://www.w3.org/2000/svg",ir="http://www.w3.org/1999/xhtml";let ar=ir,cr=!1,lr=null;const ur=addToSet({},[nr,sr,ir],z);let pr=null;const dr=["application/xhtml+xml","text/html"],fr="text/html";let mr=null,gr=null;const yr=255,vr=i.createElement("form"),br=function isRegexOrFunction(o){return o instanceof RegExp||o instanceof Function},_r=function _parseConfig(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!gr||gr!==o){if(o&&"object"==typeof o||(o={}),o=clone(o),pr=-1===dr.indexOf(o.PARSER_MEDIA_TYPE)?fr:o.PARSER_MEDIA_TYPE,mr="application/xhtml+xml"===pr?z:U,Ot=ae(o,"ALLOWED_TAGS")?addToSet({},o.ALLOWED_TAGS,mr):Ct,At=ae(o,"ALLOWED_ATTR")?addToSet({},o.ALLOWED_ATTR,mr):jt,lr=ae(o,"ALLOWED_NAMESPACES")?addToSet({},o.ALLOWED_NAMESPACES,z):ur,tr=ae(o,"ADD_URI_SAFE_ATTR")?addToSet(clone(rr),o.ADD_URI_SAFE_ATTR,mr):rr,Zt=ae(o,"ADD_DATA_URI_TAGS")?addToSet(clone(er),o.ADD_DATA_URI_TAGS,mr):er,Xt=ae(o,"FORBID_CONTENTS")?addToSet({},o.FORBID_CONTENTS,mr):Qt,It=ae(o,"FORBID_TAGS")?addToSet({},o.FORBID_TAGS,mr):{},Mt=ae(o,"FORBID_ATTR")?addToSet({},o.FORBID_ATTR,mr):{},Yt=!!ae(o,"USE_PROFILES")&&o.USE_PROFILES,Nt=!1!==o.ALLOW_ARIA_ATTR,Tt=!1!==o.ALLOW_DATA_ATTR,Rt=o.ALLOW_UNKNOWN_PROTOCOLS||!1,Dt=!1!==o.ALLOW_SELF_CLOSE_IN_ATTR,Lt=o.SAFE_FOR_TEMPLATES||!1,Bt=!1!==o.SAFE_FOR_XML,Ft=o.WHOLE_DOCUMENT||!1,Vt=o.RETURN_DOM||!1,Ut=o.RETURN_DOM_FRAGMENT||!1,zt=o.RETURN_TRUSTED_TYPE||!1,$t=o.FORCE_BODY||!1,Wt=!1!==o.SANITIZE_DOM,Kt=o.SANITIZE_NAMED_PROPS||!1,Jt=!1!==o.KEEP_CONTENT,Gt=o.IN_PLACE||!1,kt=o.ALLOWED_URI_REGEXP||He,ar=o.NAMESPACE||ir,Pt=o.CUSTOM_ELEMENT_HANDLING||{},o.CUSTOM_ELEMENT_HANDLING&&br(o.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Pt.tagNameCheck=o.CUSTOM_ELEMENT_HANDLING.tagNameCheck),o.CUSTOM_ELEMENT_HANDLING&&br(o.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Pt.attributeNameCheck=o.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),o.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof o.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Pt.allowCustomizedBuiltInElements=o.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Lt&&(Tt=!1),Ut&&(Vt=!0),Yt&&(Ot=addToSet({},we),At=[],!0===Yt.html&&(addToSet(Ot,pe),addToSet(At,Se)),!0===Yt.svg&&(addToSet(Ot,de),addToSet(At,xe),addToSet(At,Te)),!0===Yt.svgFilters&&(addToSet(Ot,fe),addToSet(At,xe),addToSet(At,Te)),!0===Yt.mathMl&&(addToSet(Ot,be),addToSet(At,Pe),addToSet(At,Te))),o.ADD_TAGS&&(Ot===Ct&&(Ot=clone(Ot)),addToSet(Ot,o.ADD_TAGS,mr)),o.ADD_ATTR&&(At===jt&&(At=clone(At)),addToSet(At,o.ADD_ATTR,mr)),o.ADD_URI_SAFE_ATTR&&addToSet(tr,o.ADD_URI_SAFE_ATTR,mr),o.FORBID_CONTENTS&&(Xt===Qt&&(Xt=clone(Xt)),addToSet(Xt,o.FORBID_CONTENTS,mr)),Jt&&(Ot["#text"]=!0),Ft&&addToSet(Ot,["html","head","body"]),Ot.table&&(addToSet(Ot,["tbody"]),delete It.tbody),o.TRUSTED_TYPES_POLICY){if("function"!=typeof o.TRUSTED_TYPES_POLICY.createHTML)throw le('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof o.TRUSTED_TYPES_POLICY.createScriptURL)throw le('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ct=o.TRUSTED_TYPES_POLICY,lt=ct.createHTML("")}else void 0===ct&&(ct=ot(Ye,_)),null!==ct&&"string"==typeof lt&&(lt=ct.createHTML(""));w&&w(o),gr=o}},Er=addToSet({},["mi","mo","mn","ms","mtext"]),wr=addToSet({},["foreignobject","annotation-xml"]),Sr=addToSet({},["title","style","font","a","script"]),xr=addToSet({},[...de,...fe,...ye]),kr=addToSet({},[...be,..._e]),Or=function _checkValidNamespace(o){let s=at(o);s&&s.tagName||(s={namespaceURI:ar,tagName:"template"});const i=U(o.tagName),u=U(s.tagName);return!!lr[o.namespaceURI]&&(o.namespaceURI===sr?s.namespaceURI===ir?"svg"===i:s.namespaceURI===nr?"svg"===i&&("annotation-xml"===u||Er[u]):Boolean(xr[i]):o.namespaceURI===nr?s.namespaceURI===ir?"math"===i:s.namespaceURI===sr?"math"===i&&wr[u]:Boolean(kr[i]):o.namespaceURI===ir?!(s.namespaceURI===sr&&!wr[u])&&!(s.namespaceURI===nr&&!Er[u])&&!kr[i]&&(Sr[i]||!xr[i]):!("application/xhtml+xml"!==pr||!lr[o.namespaceURI]))},Cr=function _forceRemove(o){V(DOMPurify.removed,{element:o});try{o.parentNode.removeChild(o)}catch(s){o.remove()}},Ar=function _removeAttribute(o,s){try{V(DOMPurify.removed,{attribute:s.getAttributeNode(o),from:s})}catch(o){V(DOMPurify.removed,{attribute:null,from:s})}if(s.removeAttribute(o),"is"===o&&!At[o])if(Vt||Ut)try{Cr(s)}catch(o){}else try{s.setAttribute(o,"")}catch(o){}},jr=function _initDocument(o){let s=null,u=null;if($t)o=""+o;else{const s=Y(o,/^[\r\n\t ]+/);u=s&&s[0]}"application/xhtml+xml"===pr&&ar===ir&&(o=''+o+"");const _=ct?ct.createHTML(o):o;if(ar===ir)try{s=(new We).parseFromString(_,pr)}catch(o){}if(!s||!s.documentElement){s=ut.createDocument(ar,"template",null);try{s.documentElement.innerHTML=cr?lt:_}catch(o){}}const w=s.body||s.documentElement;return o&&u&&w.insertBefore(i.createTextNode(u),w.childNodes[0]||null),ar===ir?dt.call(s,Ft?"html":"body")[0]:Ft?s.documentElement:w},Pr=function _createNodeIterator(o){return pt.call(o.ownerDocument||o,o,qe.SHOW_ELEMENT|qe.SHOW_COMMENT|qe.SHOW_TEXT|qe.SHOW_PROCESSING_INSTRUCTION|qe.SHOW_CDATA_SECTION,null)},Ir=function _isClobbered(o){return o instanceof ze&&(void 0!==o.__depth&&"number"!=typeof o.__depth||void 0!==o.__removalCount&&"number"!=typeof o.__removalCount||"string"!=typeof o.nodeName||"string"!=typeof o.textContent||"function"!=typeof o.removeChild||!(o.attributes instanceof $e)||"function"!=typeof o.removeAttribute||"function"!=typeof o.setAttribute||"string"!=typeof o.namespaceURI||"function"!=typeof o.insertBefore||"function"!=typeof o.hasChildNodes)},Mr=function _isNode(o){return"function"==typeof L&&o instanceof L},Nr=function _executeHook(o,s,i){gt[o]&&B(gt[o],(o=>{o.call(DOMPurify,s,i,gr)}))},Tr=function _sanitizeElements(o){let s=null;if(Nr("beforeSanitizeElements",o,null),Ir(o))return Cr(o),!0;const i=mr(o.nodeName);if(Nr("uponSanitizeElement",o,{tagName:i,allowedTags:Ot}),o.hasChildNodes()&&!Mr(o.firstElementChild)&&ce(/<[/\w]/g,o.innerHTML)&&ce(/<[/\w]/g,o.textContent))return Cr(o),!0;if(o.nodeType===rt.progressingInstruction)return Cr(o),!0;if(Bt&&o.nodeType===rt.comment&&ce(/<[/\w]/g,o.data))return Cr(o),!0;if(!Ot[i]||It[i]){if(!It[i]&&Dr(i)){if(Pt.tagNameCheck instanceof RegExp&&ce(Pt.tagNameCheck,i))return!1;if(Pt.tagNameCheck instanceof Function&&Pt.tagNameCheck(i))return!1}if(Jt&&!Xt[i]){const s=at(o)||o.parentNode,i=it(o)||o.childNodes;if(i&&s)for(let u=i.length-1;u>=0;--u){const _=et(i[u],!0);_.__removalCount=(o.__removalCount||0)+1,s.insertBefore(_,st(o))}}return Cr(o),!0}return o instanceof Re&&!Or(o)?(Cr(o),!0):"noscript"!==i&&"noembed"!==i&&"noframes"!==i||!ce(/<\/no(script|embed|frames)/i,o.innerHTML)?(Lt&&o.nodeType===rt.text&&(s=o.textContent,B([yt,vt,bt],(o=>{s=Z(s,o," ")})),o.textContent!==s&&(V(DOMPurify.removed,{element:o.cloneNode()}),o.textContent=s)),Nr("afterSanitizeElements",o,null),!1):(Cr(o),!0)},Rr=function _isValidAttribute(o,s,u){if(Wt&&("id"===s||"name"===s)&&(u in i||u in vr||"__depth"===u||"__removalCount"===u))return!1;if(Tt&&!Mt[s]&&ce(_t,s));else if(Nt&&ce(Et,s));else if(!At[s]||Mt[s]){if(!(Dr(o)&&(Pt.tagNameCheck instanceof RegExp&&ce(Pt.tagNameCheck,o)||Pt.tagNameCheck instanceof Function&&Pt.tagNameCheck(o))&&(Pt.attributeNameCheck instanceof RegExp&&ce(Pt.attributeNameCheck,s)||Pt.attributeNameCheck instanceof Function&&Pt.attributeNameCheck(s))||"is"===s&&Pt.allowCustomizedBuiltInElements&&(Pt.tagNameCheck instanceof RegExp&&ce(Pt.tagNameCheck,u)||Pt.tagNameCheck instanceof Function&&Pt.tagNameCheck(u))))return!1}else if(tr[s]);else if(ce(kt,Z(u,St,"")));else if("src"!==s&&"xlink:href"!==s&&"href"!==s||"script"===o||0!==ee(u,"data:")||!Zt[o])if(Rt&&!ce(wt,Z(u,St,"")));else if(u)return!1;return!0},Dr=function _isBasicCustomElement(o){return"annotation-xml"!==o&&Y(o,xt)},Lr=function _sanitizeAttributes(o){Nr("beforeSanitizeAttributes",o,null);const{attributes:s}=o;if(!s)return;const i={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:At};let u=s.length;for(;u--;){const _=s[u],{name:w,namespaceURI:x,value:C}=_,j=mr(w);let L="value"===w?C:ie(C);if(i.attrName=j,i.attrValue=L,i.keepAttr=!0,i.forceKeepAttr=void 0,Nr("uponSanitizeAttribute",o,i),L=i.attrValue,i.forceKeepAttr)continue;if(Ar(w,o),!i.keepAttr)continue;if(!Dt&&ce(/\/>/i,L)){Ar(w,o);continue}if(Bt&&ce(/((--!?|])>)|<\/(style|title)/i,L)){Ar(w,o);continue}Lt&&B([yt,vt,bt],(o=>{L=Z(L,o," ")}));const V=mr(o.nodeName);if(Rr(V,j,L)){if(!Kt||"id"!==j&&"name"!==j||(Ar(w,o),L=Ht+L),ct&&"object"==typeof Ye&&"function"==typeof Ye.getAttributeType)if(x);else switch(Ye.getAttributeType(V,j)){case"TrustedHTML":L=ct.createHTML(L);break;case"TrustedScriptURL":L=ct.createScriptURL(L)}try{x?o.setAttributeNS(x,w,L):o.setAttribute(w,L),Ir(o)?Cr(o):$(DOMPurify.removed)}catch(o){}}}Nr("afterSanitizeAttributes",o,null)},Br=function _sanitizeShadowDOM(o){let s=null;const i=Pr(o);for(Nr("beforeSanitizeShadowDOM",o,null);s=i.nextNode();){if(Nr("uponSanitizeShadowNode",s,null),Tr(s))continue;const o=at(s);s.nodeType===rt.element&&(o&&o.__depth?s.__depth=(s.__removalCount||0)+o.__depth+1:s.__depth=1),(s.__depth>=yr||s.__depth<0||numberIsNaN(s.__depth))&&Cr(s),s.content instanceof x&&(s.content.__depth=s.__depth,_sanitizeShadowDOM(s.content)),Lr(s)}Nr("afterSanitizeShadowDOM",o,null)};return DOMPurify.sanitize=function(o){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=null,_=null,w=null,C=null;if(cr=!o,cr&&(o="\x3c!--\x3e"),"string"!=typeof o&&!Mr(o)){if("function"!=typeof o.toString)throw le("toString is not a function");if("string"!=typeof(o=o.toString()))throw le("dirty is not a string, aborting")}if(!DOMPurify.isSupported)return o;if(qt||_r(s),DOMPurify.removed=[],"string"==typeof o&&(Gt=!1),Gt){if(o.nodeName){const s=mr(o.nodeName);if(!Ot[s]||It[s])throw le("root node is forbidden and cannot be sanitized in-place")}}else if(o instanceof L)i=jr("\x3c!----\x3e"),_=i.ownerDocument.importNode(o,!0),_.nodeType===rt.element&&"BODY"===_.nodeName||"HTML"===_.nodeName?i=_:i.appendChild(_);else{if(!Vt&&!Lt&&!Ft&&-1===o.indexOf("<"))return ct&&zt?ct.createHTML(o):o;if(i=jr(o),!i)return Vt?null:zt?lt:""}i&&$t&&Cr(i.firstChild);const j=Pr(Gt?o:i);for(;w=j.nextNode();){if(Tr(w))continue;const o=at(w);w.nodeType===rt.element&&(o&&o.__depth?w.__depth=(w.__removalCount||0)+o.__depth+1:w.__depth=1),(w.__depth>=yr||w.__depth<0||numberIsNaN(w.__depth))&&Cr(w),w.content instanceof x&&(w.content.__depth=w.__depth,Br(w.content)),Lr(w)}if(Gt)return o;if(Vt){if(Ut)for(C=ht.call(i.ownerDocument);i.firstChild;)C.appendChild(i.firstChild);else C=i;return(At.shadowroot||At.shadowrootmode)&&(C=mt.call(u,C,!0)),C}let $=Ft?i.outerHTML:i.innerHTML;return Ft&&Ot["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&ce(Qe,i.ownerDocument.doctype.name)&&($="\n"+$),Lt&&B([yt,vt,bt],(o=>{$=Z($,o," ")})),ct&&zt?ct.createHTML($):$},DOMPurify.setConfig=function(){_r(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),qt=!0},DOMPurify.clearConfig=function(){gr=null,qt=!1},DOMPurify.isValidAttribute=function(o,s,i){gr||_r({});const u=mr(o),_=mr(s);return Rr(u,_,i)},DOMPurify.addHook=function(o,s){"function"==typeof s&&(gt[o]=gt[o]||[],V(gt[o],s))},DOMPurify.removeHook=function(o){if(gt[o])return $(gt[o])},DOMPurify.removeHooks=function(o){gt[o]&&(gt[o]=[])},DOMPurify.removeAllHooks=function(){gt={}},DOMPurify}return createDOMPurify()}()},78004:o=>{"use strict";class SubRange{constructor(o,s){this.low=o,this.high=s,this.length=1+s-o}overlaps(o){return!(this.higho.high)}touches(o){return!(this.high+1o.high)}add(o){return new SubRange(Math.min(this.low,o.low),Math.max(this.high,o.high))}subtract(o){return o.low<=this.low&&o.high>=this.high?[]:o.low>this.low&&o.higho+s.length),0)}add(o,s){var _add=o=>{for(var s=0;s{for(var s=0;s{for(var s=0;s{for(var i=s.low;i<=s.high;)o.push(i),i++;return o}),[])}subranges(){return this.ranges.map((o=>({low:o.low,high:o.high,length:1+o.high-o.low})))}}o.exports=DRange},30655:(o,s,i)=>{"use strict";var u=i(70453)("%Object.defineProperty%",!0)||!1;if(u)try{u({},"a",{value:1})}catch(o){u=!1}o.exports=u},41237:o=>{"use strict";o.exports=EvalError},69383:o=>{"use strict";o.exports=Error},79290:o=>{"use strict";o.exports=RangeError},79538:o=>{"use strict";o.exports=ReferenceError},58068:o=>{"use strict";o.exports=SyntaxError},69675:o=>{"use strict";o.exports=TypeError},35345:o=>{"use strict";o.exports=URIError},37007:o=>{"use strict";var s,i="object"==typeof Reflect?Reflect:null,u=i&&"function"==typeof i.apply?i.apply:function ReflectApply(o,s,i){return Function.prototype.apply.call(o,s,i)};s=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function ReflectOwnKeys(o){return Object.getOwnPropertyNames(o).concat(Object.getOwnPropertySymbols(o))}:function ReflectOwnKeys(o){return Object.getOwnPropertyNames(o)};var _=Number.isNaN||function NumberIsNaN(o){return o!=o};function EventEmitter(){EventEmitter.init.call(this)}o.exports=EventEmitter,o.exports.once=function once(o,s){return new Promise((function(i,u){function errorListener(i){o.removeListener(s,resolver),u(i)}function resolver(){"function"==typeof o.removeListener&&o.removeListener("error",errorListener),i([].slice.call(arguments))}eventTargetAgnosticAddListener(o,s,resolver,{once:!0}),"error"!==s&&function addErrorHandlerIfEventEmitter(o,s,i){"function"==typeof o.on&&eventTargetAgnosticAddListener(o,"error",s,i)}(o,errorListener,{once:!0})}))},EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var w=10;function checkListener(o){if("function"!=typeof o)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof o)}function _getMaxListeners(o){return void 0===o._maxListeners?EventEmitter.defaultMaxListeners:o._maxListeners}function _addListener(o,s,i,u){var _,w,x;if(checkListener(i),void 0===(w=o._events)?(w=o._events=Object.create(null),o._eventsCount=0):(void 0!==w.newListener&&(o.emit("newListener",s,i.listener?i.listener:i),w=o._events),x=w[s]),void 0===x)x=w[s]=i,++o._eventsCount;else if("function"==typeof x?x=w[s]=u?[i,x]:[x,i]:u?x.unshift(i):x.push(i),(_=_getMaxListeners(o))>0&&x.length>_&&!x.warned){x.warned=!0;var C=new Error("Possible EventEmitter memory leak detected. "+x.length+" "+String(s)+" listeners added. Use emitter.setMaxListeners() to increase limit");C.name="MaxListenersExceededWarning",C.emitter=o,C.type=s,C.count=x.length,function ProcessEmitWarning(o){console&&console.warn&&console.warn(o)}(C)}return o}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(o,s,i){var u={fired:!1,wrapFn:void 0,target:o,type:s,listener:i},_=onceWrapper.bind(u);return _.listener=i,u.wrapFn=_,_}function _listeners(o,s,i){var u=o._events;if(void 0===u)return[];var _=u[s];return void 0===_?[]:"function"==typeof _?i?[_.listener||_]:[_]:i?function unwrapListeners(o){for(var s=new Array(o.length),i=0;i0&&(x=s[0]),x instanceof Error)throw x;var C=new Error("Unhandled error."+(x?" ("+x.message+")":""));throw C.context=x,C}var j=w[o];if(void 0===j)return!1;if("function"==typeof j)u(j,this,s);else{var L=j.length,B=arrayClone(j,L);for(i=0;i=0;w--)if(i[w]===s||i[w].listener===s){x=i[w].listener,_=w;break}if(_<0)return this;0===_?i.shift():function spliceOne(o,s){for(;s+1=0;u--)this.removeListener(o,s[u]);return this},EventEmitter.prototype.listeners=function listeners(o){return _listeners(this,o,!0)},EventEmitter.prototype.rawListeners=function rawListeners(o){return _listeners(this,o,!1)},EventEmitter.listenerCount=function(o,s){return"function"==typeof o.listenerCount?o.listenerCount(s):listenerCount.call(o,s)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?s(this._events):[]}},85587:(o,s,i)=>{"use strict";var u=i(26311),_=create(Error);function create(o){return FormattedError.displayName=o.displayName||o.name,FormattedError;function FormattedError(s){return s&&(s=u.apply(null,arguments)),new o(s)}}o.exports=_,_.eval=create(EvalError),_.range=create(RangeError),_.reference=create(ReferenceError),_.syntax=create(SyntaxError),_.type=create(TypeError),_.uri=create(URIError),_.create=create},26311:o=>{!function(){var s;function format(o){for(var s,i,u,_,w=1,x=[].slice.call(arguments),C=0,j=o.length,L="",B=!1,$=!1,nextArg=function(){return x[w++]},slurpNumber=function(){for(var i="";/\d/.test(o[C]);)i+=o[C++],s=o[C];return i.length>0?parseInt(i):null};C{"use strict";var s=Object.prototype.toString,i=Math.max,u=function concatty(o,s){for(var i=[],u=0;u{"use strict";var u=i(89353);o.exports=Function.prototype.bind||u},70453:(o,s,i)=>{"use strict";var u,_=i(69383),w=i(41237),x=i(79290),C=i(79538),j=i(58068),L=i(69675),B=i(35345),$=Function,getEvalledConstructor=function(o){try{return $('"use strict"; return ('+o+").constructor;")()}catch(o){}},V=Object.getOwnPropertyDescriptor;if(V)try{V({},"")}catch(o){V=null}var throwTypeError=function(){throw new L},U=V?function(){try{return throwTypeError}catch(o){try{return V(arguments,"callee").get}catch(o){return throwTypeError}}}():throwTypeError,z=i(64039)(),Y=i(80024)(),Z=Object.getPrototypeOf||(Y?function(o){return o.__proto__}:null),ee={},ie="undefined"!=typeof Uint8Array&&Z?Z(Uint8Array):u,ae={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?u:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?u:ArrayBuffer,"%ArrayIteratorPrototype%":z&&Z?Z([][Symbol.iterator]()):u,"%AsyncFromSyncIteratorPrototype%":u,"%AsyncFunction%":ee,"%AsyncGenerator%":ee,"%AsyncGeneratorFunction%":ee,"%AsyncIteratorPrototype%":ee,"%Atomics%":"undefined"==typeof Atomics?u:Atomics,"%BigInt%":"undefined"==typeof BigInt?u:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?u:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?u:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?u:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":_,"%eval%":eval,"%EvalError%":w,"%Float32Array%":"undefined"==typeof Float32Array?u:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?u:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?u:FinalizationRegistry,"%Function%":$,"%GeneratorFunction%":ee,"%Int8Array%":"undefined"==typeof Int8Array?u:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?u:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?u:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":z&&Z?Z(Z([][Symbol.iterator]())):u,"%JSON%":"object"==typeof JSON?JSON:u,"%Map%":"undefined"==typeof Map?u:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&z&&Z?Z((new Map)[Symbol.iterator]()):u,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?u:Promise,"%Proxy%":"undefined"==typeof Proxy?u:Proxy,"%RangeError%":x,"%ReferenceError%":C,"%Reflect%":"undefined"==typeof Reflect?u:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?u:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&z&&Z?Z((new Set)[Symbol.iterator]()):u,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?u:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":z&&Z?Z(""[Symbol.iterator]()):u,"%Symbol%":z?Symbol:u,"%SyntaxError%":j,"%ThrowTypeError%":U,"%TypedArray%":ie,"%TypeError%":L,"%Uint8Array%":"undefined"==typeof Uint8Array?u:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?u:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?u:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?u:Uint32Array,"%URIError%":B,"%WeakMap%":"undefined"==typeof WeakMap?u:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?u:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?u:WeakSet};if(Z)try{null.error}catch(o){var ce=Z(Z(o));ae["%Error.prototype%"]=ce}var le=function doEval(o){var s;if("%AsyncFunction%"===o)s=getEvalledConstructor("async function () {}");else if("%GeneratorFunction%"===o)s=getEvalledConstructor("function* () {}");else if("%AsyncGeneratorFunction%"===o)s=getEvalledConstructor("async function* () {}");else if("%AsyncGenerator%"===o){var i=doEval("%AsyncGeneratorFunction%");i&&(s=i.prototype)}else if("%AsyncIteratorPrototype%"===o){var u=doEval("%AsyncGenerator%");u&&Z&&(s=Z(u.prototype))}return ae[o]=s,s},pe={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},de=i(66743),fe=i(9957),ye=de.call(Function.call,Array.prototype.concat),be=de.call(Function.apply,Array.prototype.splice),_e=de.call(Function.call,String.prototype.replace),we=de.call(Function.call,String.prototype.slice),Se=de.call(Function.call,RegExp.prototype.exec),xe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Pe=/\\(\\)?/g,Te=function getBaseIntrinsic(o,s){var i,u=o;if(fe(pe,u)&&(u="%"+(i=pe[u])[0]+"%"),fe(ae,u)){var _=ae[u];if(_===ee&&(_=le(u)),void 0===_&&!s)throw new L("intrinsic "+o+" exists, but is not available. Please file an issue!");return{alias:i,name:u,value:_}}throw new j("intrinsic "+o+" does not exist!")};o.exports=function GetIntrinsic(o,s){if("string"!=typeof o||0===o.length)throw new L("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof s)throw new L('"allowMissing" argument must be a boolean');if(null===Se(/^%?[^%]*%?$/,o))throw new j("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var i=function stringToPath(o){var s=we(o,0,1),i=we(o,-1);if("%"===s&&"%"!==i)throw new j("invalid intrinsic syntax, expected closing `%`");if("%"===i&&"%"!==s)throw new j("invalid intrinsic syntax, expected opening `%`");var u=[];return _e(o,xe,(function(o,s,i,_){u[u.length]=i?_e(_,Pe,"$1"):s||o})),u}(o),u=i.length>0?i[0]:"",_=Te("%"+u+"%",s),w=_.name,x=_.value,C=!1,B=_.alias;B&&(u=B[0],be(i,ye([0,1],B)));for(var $=1,U=!0;$=i.length){var ee=V(x,z);x=(U=!!ee)&&"get"in ee&&!("originalValue"in ee.get)?ee.get:x[z]}else U=fe(x,z),x=x[z];U&&!C&&(ae[w]=x)}}return x}},75795:(o,s,i)=>{"use strict";var u=i(70453)("%Object.getOwnPropertyDescriptor%",!0);if(u)try{u([],"length")}catch(o){u=null}o.exports=u},30592:(o,s,i)=>{"use strict";var u=i(30655),_=function hasPropertyDescriptors(){return!!u};_.hasArrayLengthDefineBug=function hasArrayLengthDefineBug(){if(!u)return null;try{return 1!==u([],"length",{value:1}).length}catch(o){return!0}},o.exports=_},80024:o=>{"use strict";var s={__proto__:null,foo:{}},i=Object;o.exports=function hasProto(){return{__proto__:s}.foo===s.foo&&!(s instanceof i)}},64039:(o,s,i)=>{"use strict";var u="undefined"!=typeof Symbol&&Symbol,_=i(41333);o.exports=function hasNativeSymbols(){return"function"==typeof u&&("function"==typeof Symbol&&("symbol"==typeof u("foo")&&("symbol"==typeof Symbol("bar")&&_())))}},41333:o=>{"use strict";o.exports=function hasSymbols(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var o={},s=Symbol("test"),i=Object(s);if("string"==typeof s)return!1;if("[object Symbol]"!==Object.prototype.toString.call(s))return!1;if("[object Symbol]"!==Object.prototype.toString.call(i))return!1;for(s in o[s]=42,o)return!1;if("function"==typeof Object.keys&&0!==Object.keys(o).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(o).length)return!1;var u=Object.getOwnPropertySymbols(o);if(1!==u.length||u[0]!==s)return!1;if(!Object.prototype.propertyIsEnumerable.call(o,s))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var _=Object.getOwnPropertyDescriptor(o,s);if(42!==_.value||!0!==_.enumerable)return!1}return!0}},9957:(o,s,i)=>{"use strict";var u=Function.prototype.call,_=Object.prototype.hasOwnProperty,w=i(66743);o.exports=w.call(u,_)},45981:o=>{function deepFreeze(o){return o instanceof Map?o.clear=o.delete=o.set=function(){throw new Error("map is read-only")}:o instanceof Set&&(o.add=o.clear=o.delete=function(){throw new Error("set is read-only")}),Object.freeze(o),Object.getOwnPropertyNames(o).forEach((function(s){var i=o[s];"object"!=typeof i||Object.isFrozen(i)||deepFreeze(i)})),o}var s=deepFreeze,i=deepFreeze;s.default=i;class Response{constructor(o){void 0===o.data&&(o.data={}),this.data=o.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function escapeHTML(o){return o.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function inherit(o,...s){const i=Object.create(null);for(const s in o)i[s]=o[s];return s.forEach((function(o){for(const s in o)i[s]=o[s]})),i}const emitsWrappingTags=o=>!!o.kind;class HTMLRenderer{constructor(o,s){this.buffer="",this.classPrefix=s.classPrefix,o.walk(this)}addText(o){this.buffer+=escapeHTML(o)}openNode(o){if(!emitsWrappingTags(o))return;let s=o.kind;o.sublanguage||(s=`${this.classPrefix}${s}`),this.span(s)}closeNode(o){emitsWrappingTags(o)&&(this.buffer+="")}value(){return this.buffer}span(o){this.buffer+=``}}class TokenTree{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(o){this.top.children.push(o)}openNode(o){const s={kind:o,children:[]};this.add(s),this.stack.push(s)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(o){return this.constructor._walk(o,this.rootNode)}static _walk(o,s){return"string"==typeof s?o.addText(s):s.children&&(o.openNode(s),s.children.forEach((s=>this._walk(o,s))),o.closeNode(s)),o}static _collapse(o){"string"!=typeof o&&o.children&&(o.children.every((o=>"string"==typeof o))?o.children=[o.children.join("")]:o.children.forEach((o=>{TokenTree._collapse(o)})))}}class TokenTreeEmitter extends TokenTree{constructor(o){super(),this.options=o}addKeyword(o,s){""!==o&&(this.openNode(s),this.addText(o),this.closeNode())}addText(o){""!==o&&this.add(o)}addSublanguage(o,s){const i=o.root;i.kind=s,i.sublanguage=!0,this.add(i)}toHTML(){return new HTMLRenderer(this,this.options).value()}finalize(){return!0}}function source(o){return o?"string"==typeof o?o:o.source:null}const u=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;const _="[a-zA-Z]\\w*",w="[a-zA-Z_]\\w*",x="\\b\\d+(\\.\\d+)?",C="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",j="\\b(0b[01]+)",L={begin:"\\\\[\\s\\S]",relevance:0},B={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[L]},$={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[L]},V={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT=function(o,s,i={}){const u=inherit({className:"comment",begin:o,end:s,contains:[]},i);return u.contains.push(V),u.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),u},U=COMMENT("//","$"),z=COMMENT("/\\*","\\*/"),Y=COMMENT("#","$"),Z={className:"number",begin:x,relevance:0},ee={className:"number",begin:C,relevance:0},ie={className:"number",begin:j,relevance:0},ae={className:"number",begin:x+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},ce={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[L,{begin:/\[/,end:/\]/,relevance:0,contains:[L]}]}]},le={className:"title",begin:_,relevance:0},pe={className:"title",begin:w,relevance:0},de={begin:"\\.\\s*"+w,relevance:0};var fe=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:_,UNDERSCORE_IDENT_RE:w,NUMBER_RE:x,C_NUMBER_RE:C,BINARY_NUMBER_RE:j,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(o={})=>{const s=/^#![ ]*\//;return o.binary&&(o.begin=function concat(...o){return o.map((o=>source(o))).join("")}(s,/.*\b/,o.binary,/\b.*/)),inherit({className:"meta",begin:s,end:/$/,relevance:0,"on:begin":(o,s)=>{0!==o.index&&s.ignoreMatch()}},o)},BACKSLASH_ESCAPE:L,APOS_STRING_MODE:B,QUOTE_STRING_MODE:$,PHRASAL_WORDS_MODE:V,COMMENT,C_LINE_COMMENT_MODE:U,C_BLOCK_COMMENT_MODE:z,HASH_COMMENT_MODE:Y,NUMBER_MODE:Z,C_NUMBER_MODE:ee,BINARY_NUMBER_MODE:ie,CSS_NUMBER_MODE:ae,REGEXP_MODE:ce,TITLE_MODE:le,UNDERSCORE_TITLE_MODE:pe,METHOD_GUARD:de,END_SAME_AS_BEGIN:function(o){return Object.assign(o,{"on:begin":(o,s)=>{s.data._beginMatch=o[1]},"on:end":(o,s)=>{s.data._beginMatch!==o[1]&&s.ignoreMatch()}})}});function skipIfhasPrecedingDot(o,s){"."===o.input[o.index-1]&&s.ignoreMatch()}function beginKeywords(o,s){s&&o.beginKeywords&&(o.begin="\\b("+o.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",o.__beforeBegin=skipIfhasPrecedingDot,o.keywords=o.keywords||o.beginKeywords,delete o.beginKeywords,void 0===o.relevance&&(o.relevance=0))}function compileIllegal(o,s){Array.isArray(o.illegal)&&(o.illegal=function either(...o){return"("+o.map((o=>source(o))).join("|")+")"}(...o.illegal))}function compileMatch(o,s){if(o.match){if(o.begin||o.end)throw new Error("begin & end are not supported with match");o.begin=o.match,delete o.match}}function compileRelevance(o,s){void 0===o.relevance&&(o.relevance=1)}const ye=["of","and","for","in","not","or","if","then","parent","list","value"],be="keyword";function compileKeywords(o,s,i=be){const u={};return"string"==typeof o?compileList(i,o.split(" ")):Array.isArray(o)?compileList(i,o):Object.keys(o).forEach((function(i){Object.assign(u,compileKeywords(o[i],s,i))})),u;function compileList(o,i){s&&(i=i.map((o=>o.toLowerCase()))),i.forEach((function(s){const i=s.split("|");u[i[0]]=[o,scoreForKeyword(i[0],i[1])]}))}}function scoreForKeyword(o,s){return s?Number(s):function commonKeyword(o){return ye.includes(o.toLowerCase())}(o)?0:1}function compileLanguage(o,{plugins:s}){function langRe(s,i){return new RegExp(source(s),"m"+(o.case_insensitive?"i":"")+(i?"g":""))}class MultiRegex{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,s){s.position=this.position++,this.matchIndexes[this.matchAt]=s,this.regexes.push([s,o]),this.matchAt+=function countMatchGroups(o){return new RegExp(o.toString()+"|").exec("").length-1}(o)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const o=this.regexes.map((o=>o[1]));this.matcherRe=langRe(function join(o,s="|"){let i=0;return o.map((o=>{i+=1;const s=i;let _=source(o),w="";for(;_.length>0;){const o=u.exec(_);if(!o){w+=_;break}w+=_.substring(0,o.index),_=_.substring(o.index+o[0].length),"\\"===o[0][0]&&o[1]?w+="\\"+String(Number(o[1])+s):(w+=o[0],"("===o[0]&&i++)}return w})).map((o=>`(${o})`)).join(s)}(o),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;const s=this.matcherRe.exec(o);if(!s)return null;const i=s.findIndex(((o,s)=>s>0&&void 0!==o)),u=this.matchIndexes[i];return s.splice(0,i),Object.assign(s,u)}}class ResumableMultiRegex{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];const s=new MultiRegex;return this.rules.slice(o).forEach((([o,i])=>s.addRule(o,i))),s.compile(),this.multiRegexes[o]=s,s}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(o,s){this.rules.push([o,s]),"begin"===s.type&&this.count++}exec(o){const s=this.getMatcher(this.regexIndex);s.lastIndex=this.lastIndex;let i=s.exec(o);if(this.resumingScanAtSamePosition())if(i&&i.index===this.lastIndex);else{const s=this.getMatcher(0);s.lastIndex=this.lastIndex+1,i=s.exec(o)}return i&&(this.regexIndex+=i.position+1,this.regexIndex===this.count&&this.considerAll()),i}}if(o.compilerExtensions||(o.compilerExtensions=[]),o.contains&&o.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return o.classNameAliases=inherit(o.classNameAliases||{}),function compileMode(s,i){const u=s;if(s.isCompiled)return u;[compileMatch].forEach((o=>o(s,i))),o.compilerExtensions.forEach((o=>o(s,i))),s.__beforeBegin=null,[beginKeywords,compileIllegal,compileRelevance].forEach((o=>o(s,i))),s.isCompiled=!0;let _=null;if("object"==typeof s.keywords&&(_=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=compileKeywords(s.keywords,o.case_insensitive)),s.lexemes&&_)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return _=_||s.lexemes||/\w+/,u.keywordPatternRe=langRe(_,!0),i&&(s.begin||(s.begin=/\B|\b/),u.beginRe=langRe(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(u.endRe=langRe(s.end)),u.terminatorEnd=source(s.end)||"",s.endsWithParent&&i.terminatorEnd&&(u.terminatorEnd+=(s.end?"|":"")+i.terminatorEnd)),s.illegal&&(u.illegalRe=langRe(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(o){return function expandOrCloneMode(o){o.variants&&!o.cachedVariants&&(o.cachedVariants=o.variants.map((function(s){return inherit(o,{variants:null},s)})));if(o.cachedVariants)return o.cachedVariants;if(dependencyOnParent(o))return inherit(o,{starts:o.starts?inherit(o.starts):null});if(Object.isFrozen(o))return inherit(o);return o}("self"===o?s:o)}))),s.contains.forEach((function(o){compileMode(o,u)})),s.starts&&compileMode(s.starts,i),u.matcher=function buildModeRegex(o){const s=new ResumableMultiRegex;return o.contains.forEach((o=>s.addRule(o.begin,{rule:o,type:"begin"}))),o.terminatorEnd&&s.addRule(o.terminatorEnd,{type:"end"}),o.illegal&&s.addRule(o.illegal,{type:"illegal"}),s}(u),u}(o)}function dependencyOnParent(o){return!!o&&(o.endsWithParent||dependencyOnParent(o.starts))}function BuildVuePlugin(o){const s={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!o.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,escapeHTML(this.code);let s={};return this.autoDetect?(s=o.highlightAuto(this.code),this.detectedLanguage=s.language):(s=o.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),s.value},autoDetect(){return!this.language||function hasValueOrEmptyAttribute(o){return Boolean(o||""===o)}(this.autodetect)},ignoreIllegals:()=>!0},render(o){return o("pre",{},[o("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:s,VuePlugin:{install(o){o.component("highlightjs",s)}}}}const _e={"after:highlightElement":({el:o,result:s,text:i})=>{const u=nodeStream(o);if(!u.length)return;const _=document.createElement("div");_.innerHTML=s.value,s.value=function mergeStreams(o,s,i){let u=0,_="";const w=[];function selectStream(){return o.length&&s.length?o[0].offset!==s[0].offset?o[0].offset"}function close(o){_+=""}function render(o){("start"===o.event?open:close)(o.node)}for(;o.length||s.length;){let s=selectStream();if(_+=escapeHTML(i.substring(u,s[0].offset)),u=s[0].offset,s===o){w.reverse().forEach(close);do{render(s.splice(0,1)[0]),s=selectStream()}while(s===o&&s.length&&s[0].offset===u);w.reverse().forEach(open)}else"start"===s[0].event?w.push(s[0].node):w.pop(),render(s.splice(0,1)[0])}return _+escapeHTML(i.substr(u))}(u,nodeStream(_),i)}};function tag(o){return o.nodeName.toLowerCase()}function nodeStream(o){const s=[];return function _nodeStream(o,i){for(let u=o.firstChild;u;u=u.nextSibling)3===u.nodeType?i+=u.nodeValue.length:1===u.nodeType&&(s.push({event:"start",offset:i,node:u}),i=_nodeStream(u,i),tag(u).match(/br|hr|img|input/)||s.push({event:"stop",offset:i,node:u}));return i}(o,0),s}const we={},error=o=>{console.error(o)},warn=(o,...s)=>{console.log(`WARN: ${o}`,...s)},deprecated=(o,s)=>{we[`${o}/${s}`]||(console.log(`Deprecated as of ${o}. ${s}`),we[`${o}/${s}`]=!0)},Se=escapeHTML,xe=inherit,Pe=Symbol("nomatch");var Te=function(o){const i=Object.create(null),u=Object.create(null),_=[];let w=!0;const x=/(^(<[^>]+>|\t|)+|\n)/gm,C="Could not find the language '{}', did you forget to load/include a language module?",j={disableAutodetect:!0,name:"Plain text",contains:[]};let L={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:TokenTreeEmitter};function shouldNotHighlight(o){return L.noHighlightRe.test(o)}function highlight(o,s,i,u){let _="",w="";"object"==typeof s?(_=o,i=s.ignoreIllegals,w=s.language,u=void 0):(deprecated("10.7.0","highlight(lang, code, ...args) has been deprecated."),deprecated("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),w=o,_=s);const x={code:_,language:w};fire("before:highlight",x);const C=x.result?x.result:_highlight(x.language,x.code,i,u);return C.code=x.code,fire("after:highlight",C),C}function _highlight(o,s,u,x){function keywordData(o,s){const i=B.case_insensitive?s[0].toLowerCase():s[0];return Object.prototype.hasOwnProperty.call(o.keywords,i)&&o.keywords[i]}function processBuffer(){null!=U.subLanguage?function processSubLanguage(){if(""===Z)return;let o=null;if("string"==typeof U.subLanguage){if(!i[U.subLanguage])return void Y.addText(Z);o=_highlight(U.subLanguage,Z,!0,z[U.subLanguage]),z[U.subLanguage]=o.top}else o=highlightAuto(Z,U.subLanguage.length?U.subLanguage:null);U.relevance>0&&(ee+=o.relevance),Y.addSublanguage(o.emitter,o.language)}():function processKeywords(){if(!U.keywords)return void Y.addText(Z);let o=0;U.keywordPatternRe.lastIndex=0;let s=U.keywordPatternRe.exec(Z),i="";for(;s;){i+=Z.substring(o,s.index);const u=keywordData(U,s);if(u){const[o,_]=u;if(Y.addText(i),i="",ee+=_,o.startsWith("_"))i+=s[0];else{const i=B.classNameAliases[o]||o;Y.addKeyword(s[0],i)}}else i+=s[0];o=U.keywordPatternRe.lastIndex,s=U.keywordPatternRe.exec(Z)}i+=Z.substr(o),Y.addText(i)}(),Z=""}function startNewMode(o){return o.className&&Y.openNode(B.classNameAliases[o.className]||o.className),U=Object.create(o,{parent:{value:U}}),U}function endOfMode(o,s,i){let u=function startsWith(o,s){const i=o&&o.exec(s);return i&&0===i.index}(o.endRe,i);if(u){if(o["on:end"]){const i=new Response(o);o["on:end"](s,i),i.isMatchIgnored&&(u=!1)}if(u){for(;o.endsParent&&o.parent;)o=o.parent;return o}}if(o.endsWithParent)return endOfMode(o.parent,s,i)}function doIgnore(o){return 0===U.matcher.regexIndex?(Z+=o[0],1):(ce=!0,0)}function doBeginMatch(o){const s=o[0],i=o.rule,u=new Response(i),_=[i.__beforeBegin,i["on:begin"]];for(const i of _)if(i&&(i(o,u),u.isMatchIgnored))return doIgnore(s);return i&&i.endSameAsBegin&&(i.endRe=function escape(o){return new RegExp(o.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}(s)),i.skip?Z+=s:(i.excludeBegin&&(Z+=s),processBuffer(),i.returnBegin||i.excludeBegin||(Z=s)),startNewMode(i),i.returnBegin?0:s.length}function doEndMatch(o){const i=o[0],u=s.substr(o.index),_=endOfMode(U,o,u);if(!_)return Pe;const w=U;w.skip?Z+=i:(w.returnEnd||w.excludeEnd||(Z+=i),processBuffer(),w.excludeEnd&&(Z=i));do{U.className&&Y.closeNode(),U.skip||U.subLanguage||(ee+=U.relevance),U=U.parent}while(U!==_.parent);return _.starts&&(_.endSameAsBegin&&(_.starts.endRe=_.endRe),startNewMode(_.starts)),w.returnEnd?0:i.length}let j={};function processLexeme(i,_){const x=_&&_[0];if(Z+=i,null==x)return processBuffer(),0;if("begin"===j.type&&"end"===_.type&&j.index===_.index&&""===x){if(Z+=s.slice(_.index,_.index+1),!w){const s=new Error("0 width match regex");throw s.languageName=o,s.badRule=j.rule,s}return 1}if(j=_,"begin"===_.type)return doBeginMatch(_);if("illegal"===_.type&&!u){const o=new Error('Illegal lexeme "'+x+'" for mode "'+(U.className||"")+'"');throw o.mode=U,o}if("end"===_.type){const o=doEndMatch(_);if(o!==Pe)return o}if("illegal"===_.type&&""===x)return 1;if(ae>1e5&&ae>3*_.index){throw new Error("potential infinite loop, way more iterations than matches")}return Z+=x,x.length}const B=getLanguage(o);if(!B)throw error(C.replace("{}",o)),new Error('Unknown language: "'+o+'"');const $=compileLanguage(B,{plugins:_});let V="",U=x||$;const z={},Y=new L.__emitter(L);!function processContinuations(){const o=[];for(let s=U;s!==B;s=s.parent)s.className&&o.unshift(s.className);o.forEach((o=>Y.openNode(o)))}();let Z="",ee=0,ie=0,ae=0,ce=!1;try{for(U.matcher.considerAll();;){ae++,ce?ce=!1:U.matcher.considerAll(),U.matcher.lastIndex=ie;const o=U.matcher.exec(s);if(!o)break;const i=processLexeme(s.substring(ie,o.index),o);ie=o.index+i}return processLexeme(s.substr(ie)),Y.closeAllNodes(),Y.finalize(),V=Y.toHTML(),{relevance:Math.floor(ee),value:V,language:o,illegal:!1,emitter:Y,top:U}}catch(i){if(i.message&&i.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:i.message,context:s.slice(ie-100,ie+100),mode:i.mode},sofar:V,relevance:0,value:Se(s),emitter:Y};if(w)return{illegal:!1,relevance:0,value:Se(s),emitter:Y,language:o,top:U,errorRaised:i};throw i}}function highlightAuto(o,s){s=s||L.languages||Object.keys(i);const u=function justTextHighlightResult(o){const s={relevance:0,emitter:new L.__emitter(L),value:Se(o),illegal:!1,top:j};return s.emitter.addText(o),s}(o),_=s.filter(getLanguage).filter(autoDetection).map((s=>_highlight(s,o,!1)));_.unshift(u);const w=_.sort(((o,s)=>{if(o.relevance!==s.relevance)return s.relevance-o.relevance;if(o.language&&s.language){if(getLanguage(o.language).supersetOf===s.language)return 1;if(getLanguage(s.language).supersetOf===o.language)return-1}return 0})),[x,C]=w,B=x;return B.second_best=C,B}const B={"before:highlightElement":({el:o})=>{L.useBR&&(o.innerHTML=o.innerHTML.replace(/\n/g,"").replace(//g,"\n"))},"after:highlightElement":({result:o})=>{L.useBR&&(o.value=o.value.replace(/\n/g,"
"))}},$=/^(<[^>]+>|\t)+/gm,V={"after:highlightElement":({result:o})=>{L.tabReplace&&(o.value=o.value.replace($,(o=>o.replace(/\t/g,L.tabReplace))))}};function highlightElement(o){let s=null;const i=function blockLanguage(o){let s=o.className+" ";s+=o.parentNode?o.parentNode.className:"";const i=L.languageDetectRe.exec(s);if(i){const s=getLanguage(i[1]);return s||(warn(C.replace("{}",i[1])),warn("Falling back to no-highlight mode for this block.",o)),s?i[1]:"no-highlight"}return s.split(/\s+/).find((o=>shouldNotHighlight(o)||getLanguage(o)))}(o);if(shouldNotHighlight(i))return;fire("before:highlightElement",{el:o,language:i}),s=o;const _=s.textContent,w=i?highlight(_,{language:i,ignoreIllegals:!0}):highlightAuto(_);fire("after:highlightElement",{el:o,result:w,text:_}),o.innerHTML=w.value,function updateClassName(o,s,i){const _=s?u[s]:i;o.classList.add("hljs"),_&&o.classList.add(_)}(o,i,w.language),o.result={language:w.language,re:w.relevance,relavance:w.relevance},w.second_best&&(o.second_best={language:w.second_best.language,re:w.second_best.relevance,relavance:w.second_best.relevance})}const initHighlighting=()=>{if(initHighlighting.called)return;initHighlighting.called=!0,deprecated("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead.");document.querySelectorAll("pre code").forEach(highlightElement)};let U=!1;function highlightAll(){if("loading"===document.readyState)return void(U=!0);document.querySelectorAll("pre code").forEach(highlightElement)}function getLanguage(o){return o=(o||"").toLowerCase(),i[o]||i[u[o]]}function registerAliases(o,{languageName:s}){"string"==typeof o&&(o=[o]),o.forEach((o=>{u[o.toLowerCase()]=s}))}function autoDetection(o){const s=getLanguage(o);return s&&!s.disableAutodetect}function fire(o,s){const i=o;_.forEach((function(o){o[i]&&o[i](s)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function boot(){U&&highlightAll()}),!1),Object.assign(o,{highlight,highlightAuto,highlightAll,fixMarkup:function deprecateFixMarkup(o){return deprecated("10.2.0","fixMarkup will be removed entirely in v11.0"),deprecated("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),function fixMarkup(o){return L.tabReplace||L.useBR?o.replace(x,(o=>"\n"===o?L.useBR?"
":o:L.tabReplace?o.replace(/\t/g,L.tabReplace):o)):o}(o)},highlightElement,highlightBlock:function deprecateHighlightBlock(o){return deprecated("10.7.0","highlightBlock will be removed entirely in v12.0"),deprecated("10.7.0","Please use highlightElement now."),highlightElement(o)},configure:function configure(o){o.useBR&&(deprecated("10.3.0","'useBR' will be removed entirely in v11.0"),deprecated("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),L=xe(L,o)},initHighlighting,initHighlightingOnLoad:function initHighlightingOnLoad(){deprecated("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),U=!0},registerLanguage:function registerLanguage(s,u){let _=null;try{_=u(o)}catch(o){if(error("Language definition for '{}' could not be registered.".replace("{}",s)),!w)throw o;error(o),_=j}_.name||(_.name=s),i[s]=_,_.rawDefinition=u.bind(null,o),_.aliases&®isterAliases(_.aliases,{languageName:s})},unregisterLanguage:function unregisterLanguage(o){delete i[o];for(const s of Object.keys(u))u[s]===o&&delete u[s]},listLanguages:function listLanguages(){return Object.keys(i)},getLanguage,registerAliases,requireLanguage:function requireLanguage(o){deprecated("10.4.0","requireLanguage will be removed entirely in v11."),deprecated("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const s=getLanguage(o);if(s)return s;throw new Error("The '{}' language is required, but not loaded.".replace("{}",o))},autoDetection,inherit:xe,addPlugin:function addPlugin(o){!function upgradePluginAPI(o){o["before:highlightBlock"]&&!o["before:highlightElement"]&&(o["before:highlightElement"]=s=>{o["before:highlightBlock"](Object.assign({block:s.el},s))}),o["after:highlightBlock"]&&!o["after:highlightElement"]&&(o["after:highlightElement"]=s=>{o["after:highlightBlock"](Object.assign({block:s.el},s))})}(o),_.push(o)},vuePlugin:BuildVuePlugin(o).VuePlugin}),o.debugMode=function(){w=!1},o.safeMode=function(){w=!0},o.versionString="10.7.3";for(const o in fe)"object"==typeof fe[o]&&s(fe[o]);return Object.assign(o,fe),o.addPlugin(B),o.addPlugin(_e),o.addPlugin(V),o}({});o.exports=Te},35344:o=>{function concat(...o){return o.map((o=>function source(o){return o?"string"==typeof o?o:o.source:null}(o))).join("")}o.exports=function bash(o){const s={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[s]}]};Object.assign(s,{className:"variable",variants:[{begin:concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});const u={className:"subst",begin:/\$\(/,end:/\)/,contains:[o.BACKSLASH_ESCAPE]},_={begin:/<<-?\s*(?=\w+)/,starts:{contains:[o.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},w={className:"string",begin:/"/,end:/"/,contains:[o.BACKSLASH_ESCAPE,s,u]};u.contains.push(w);const x={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},o.NUMBER_MODE,s]},C=o.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),j={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[o.inherit(o.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp"},contains:[C,o.SHEBANG(),j,x,o.HASH_COMMENT_MODE,_,w,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}},73402:o=>{function concat(...o){return o.map((o=>function source(o){return o?"string"==typeof o?o:o.source:null}(o))).join("")}o.exports=function http(o){const s="HTTP/(2|1\\.[01])",i={className:"attribute",begin:concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},u=[i,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+s+" \\d{3})",end:/$/,contains:[{className:"meta",begin:s},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:u}},{begin:"(?=^[A-Z]+ (.*?) "+s+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:s},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:u}},o.inherit(i,{relevance:0})]}}},95089:o=>{const s="[A-Za-z$_][0-9A-Za-z$_]*",i=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],u=["true","false","null","undefined","NaN","Infinity"],_=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function lookahead(o){return concat("(?=",o,")")}function concat(...o){return o.map((o=>function source(o){return o?"string"==typeof o?o:o.source:null}(o))).join("")}o.exports=function javascript(o){const w=s,x="<>",C="",j={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(o,s)=>{const i=o[0].length+o.index,u=o.input[i];"<"!==u?">"===u&&(((o,{after:s})=>{const i="",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:L,contains:le}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:x,end:C},{begin:j.begin,"on:begin":j.isTrulyOpeningTag,end:j.end}],subLanguage:"xml",contains:[{begin:j.begin,end:j.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:L,contains:["self",o.inherit(o.TITLE_MODE,{begin:w}),pe],illegal:/%/},{beginKeywords:"while if switch catch for"},{className:"function",begin:o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,contains:[pe,o.inherit(o.TITLE_MODE,{begin:w})]},{variants:[{begin:"\\."+w},{begin:"\\$"+w}],relevance:0},{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{beginKeywords:"extends"},o.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/,end:/[{;]/,excludeEnd:!0,contains:[o.inherit(o.TITLE_MODE,{begin:w}),"self",pe]},{begin:"(get|set)\\s+(?="+w+"\\()",end:/\{/,keywords:"get set",contains:[o.inherit(o.TITLE_MODE,{begin:w}),{begin:/\(\)/},pe]},{begin:/\$[(.]/}]}}},65772:o=>{o.exports=function json(o){const s={literal:"true false null"},i=[o.C_LINE_COMMENT_MODE,o.C_BLOCK_COMMENT_MODE],u=[o.QUOTE_STRING_MODE,o.C_NUMBER_MODE],_={end:",",endsWithParent:!0,excludeEnd:!0,contains:u,keywords:s},w={begin:/\{/,end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/,contains:[o.BACKSLASH_ESCAPE],illegal:"\\n"},o.inherit(_,{begin:/:/})].concat(i),illegal:"\\S"},x={begin:"\\[",end:"\\]",contains:[o.inherit(_)],illegal:"\\S"};return u.push(w,x),i.forEach((function(o){u.push(o)})),{name:"JSON",contains:u,keywords:s,illegal:"\\S"}}},26571:o=>{o.exports=function powershell(o){const s={$pattern:/-?[A-z\.\-]+\b/,keyword:"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter",built_in:"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write"},i={begin:"`[\\s\\S]",relevance:0},u={className:"variable",variants:[{begin:/\$\B/},{className:"keyword",begin:/\$this/},{begin:/\$[\w\d][\w\d_:]*/}]},_={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}],contains:[i,u,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},w={className:"string",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}]},x=o.inherit(o.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/,end:/#>/}],contains:[{className:"doctag",variants:[{begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]}]}),C={className:"built_in",variants:[{begin:"(".concat("Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where",")+(-)[\\w\\d]+")}]},j={className:"class",beginKeywords:"class enum",end:/\s*[{]/,excludeEnd:!0,relevance:0,contains:[o.TITLE_MODE]},L={className:"function",begin:/function\s+/,end:/\s*\{|$/,excludeEnd:!0,returnBegin:!0,relevance:0,contains:[{begin:"function",relevance:0,className:"keyword"},{className:"title",begin:/\w[\w\d]*((-)[\w\d]+)*/,relevance:0},{begin:/\(/,end:/\)/,className:"params",relevance:0,contains:[u]}]},B={begin:/using\s/,end:/$/,returnBegin:!0,contains:[_,w,{className:"keyword",begin:/(using|assembly|command|module|namespace|type)/}]},$={variants:[{className:"operator",begin:"(".concat("-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor",")\\b")},{className:"literal",begin:/(-)[\w\d]+/,relevance:0}]},V={className:"function",begin:/\[.*\]\s*[\w]+[ ]??\(/,end:/$/,returnBegin:!0,relevance:0,contains:[{className:"keyword",begin:"(".concat(s.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:!0,relevance:0},o.inherit(o.TITLE_MODE,{endsParent:!0})]},U=[V,x,i,o.NUMBER_MODE,_,w,C,u,{className:"literal",begin:/\$(null|true|false)\b/},{className:"selector-tag",begin:/@\B/,relevance:0}],z={begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat("self",U,{begin:"("+["string","char","byte","int","long","bool","decimal","single","double","DateTime","xml","array","hashtable","void"].join("|")+")",className:"built_in",relevance:0},{className:"type",begin:/[\.\w\d]+/,relevance:0})};return V.contains.unshift(z),{name:"PowerShell",aliases:["ps","ps1"],case_insensitive:!0,keywords:s,contains:U.concat(j,L,B,$,z)}}},17285:o=>{function source(o){return o?"string"==typeof o?o:o.source:null}function lookahead(o){return concat("(?=",o,")")}function concat(...o){return o.map((o=>source(o))).join("")}function either(...o){return"("+o.map((o=>source(o))).join("|")+")"}o.exports=function xml(o){const s=concat(/[A-Z_]/,function optional(o){return concat("(",o,")?")}(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),i={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},u={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},_=o.inherit(u,{begin:/\(/,end:/\)/}),w=o.inherit(o.APOS_STRING_MODE,{className:"meta-string"}),x=o.inherit(o.QUOTE_STRING_MODE,{className:"meta-string"}),C={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin://,relevance:10,contains:[u,x,w,_,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[u,_,x,w]}]}]},o.COMMENT(//,{relevance:10}),{begin://,relevance:10},i,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[C],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[C],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:s,relevance:0,starts:C}]},{className:"tag",begin:concat(/<\//,lookahead(concat(s,/>/))),contains:[{className:"name",begin:s,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}},17533:o=>{o.exports=function yaml(o){var s="true false yes no null",i="[\\w#;/?:@&=+$,.~*'()[\\]]+",u={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[o.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},_=o.inherit(u,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),w={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},x={end:",",endsWithParent:!0,excludeEnd:!0,keywords:s,relevance:0},C={begin:/\{/,end:/\}/,contains:[x],illegal:"\\n",relevance:0},j={begin:"\\[",end:"\\]",contains:[x],illegal:"\\n",relevance:0},L=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+i},{className:"type",begin:"!<"+i+">"},{className:"type",begin:"!"+i},{className:"type",begin:"!!"+i},{className:"meta",begin:"&"+o.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+o.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},o.HASH_COMMENT_MODE,{beginKeywords:s,keywords:{literal:s}},w,{className:"number",begin:o.C_NUMBER_RE+"\\b",relevance:0},C,j,u],B=[...L];return B.pop(),B.push(_),x.contains=B,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:L}}},251:(o,s)=>{s.read=function(o,s,i,u,_){var w,x,C=8*_-u-1,j=(1<>1,B=-7,$=i?_-1:0,V=i?-1:1,U=o[s+$];for($+=V,w=U&(1<<-B)-1,U>>=-B,B+=C;B>0;w=256*w+o[s+$],$+=V,B-=8);for(x=w&(1<<-B)-1,w>>=-B,B+=u;B>0;x=256*x+o[s+$],$+=V,B-=8);if(0===w)w=1-L;else{if(w===j)return x?NaN:1/0*(U?-1:1);x+=Math.pow(2,u),w-=L}return(U?-1:1)*x*Math.pow(2,w-u)},s.write=function(o,s,i,u,_,w){var x,C,j,L=8*w-_-1,B=(1<>1,V=23===_?Math.pow(2,-24)-Math.pow(2,-77):0,U=u?0:w-1,z=u?1:-1,Y=s<0||0===s&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(C=isNaN(s)?1:0,x=B):(x=Math.floor(Math.log(s)/Math.LN2),s*(j=Math.pow(2,-x))<1&&(x--,j*=2),(s+=x+$>=1?V/j:V*Math.pow(2,1-$))*j>=2&&(x++,j/=2),x+$>=B?(C=0,x=B):x+$>=1?(C=(s*j-1)*Math.pow(2,_),x+=$):(C=s*Math.pow(2,$-1)*Math.pow(2,_),x=0));_>=8;o[i+U]=255&C,U+=z,C/=256,_-=8);for(x=x<<_|C,L+=_;L>0;o[i+U]=255&x,U+=z,x/=256,L-=8);o[i+U-z]|=128*Y}},9404:function(o){o.exports=function(){"use strict";var o=Array.prototype.slice;function createClass(o,s){s&&(o.prototype=Object.create(s.prototype)),o.prototype.constructor=o}function Iterable(o){return isIterable(o)?o:Seq(o)}function KeyedIterable(o){return isKeyed(o)?o:KeyedSeq(o)}function IndexedIterable(o){return isIndexed(o)?o:IndexedSeq(o)}function SetIterable(o){return isIterable(o)&&!isAssociative(o)?o:SetSeq(o)}function isIterable(o){return!(!o||!o[s])}function isKeyed(o){return!(!o||!o[i])}function isIndexed(o){return!(!o||!o[u])}function isAssociative(o){return isKeyed(o)||isIndexed(o)}function isOrdered(o){return!(!o||!o[_])}createClass(KeyedIterable,Iterable),createClass(IndexedIterable,Iterable),createClass(SetIterable,Iterable),Iterable.isIterable=isIterable,Iterable.isKeyed=isKeyed,Iterable.isIndexed=isIndexed,Iterable.isAssociative=isAssociative,Iterable.isOrdered=isOrdered,Iterable.Keyed=KeyedIterable,Iterable.Indexed=IndexedIterable,Iterable.Set=SetIterable;var s="@@__IMMUTABLE_ITERABLE__@@",i="@@__IMMUTABLE_KEYED__@@",u="@@__IMMUTABLE_INDEXED__@@",_="@@__IMMUTABLE_ORDERED__@@",w="delete",x=5,C=1<>>0;if(""+i!==s||4294967295===i)return NaN;s=i}return s<0?ensureSize(o)+s:s}function returnTrue(){return!0}function wholeSlice(o,s,i){return(0===o||void 0!==i&&o<=-i)&&(void 0===s||void 0!==i&&s>=i)}function resolveBegin(o,s){return resolveIndex(o,s,0)}function resolveEnd(o,s){return resolveIndex(o,s,s)}function resolveIndex(o,s,i){return void 0===o?i:o<0?Math.max(0,s+o):void 0===s?o:Math.min(s,o)}var V=0,U=1,z=2,Y="function"==typeof Symbol&&Symbol.iterator,Z="@@iterator",ee=Y||Z;function Iterator(o){this.next=o}function iteratorValue(o,s,i,u){var _=0===o?s:1===o?i:[s,i];return u?u.value=_:u={value:_,done:!1},u}function iteratorDone(){return{value:void 0,done:!0}}function hasIterator(o){return!!getIteratorFn(o)}function isIterator(o){return o&&"function"==typeof o.next}function getIterator(o){var s=getIteratorFn(o);return s&&s.call(o)}function getIteratorFn(o){var s=o&&(Y&&o[Y]||o[Z]);if("function"==typeof s)return s}function isArrayLike(o){return o&&"number"==typeof o.length}function Seq(o){return null==o?emptySequence():isIterable(o)?o.toSeq():seqFromValue(o)}function KeyedSeq(o){return null==o?emptySequence().toKeyedSeq():isIterable(o)?isKeyed(o)?o.toSeq():o.fromEntrySeq():keyedSeqFromValue(o)}function IndexedSeq(o){return null==o?emptySequence():isIterable(o)?isKeyed(o)?o.entrySeq():o.toIndexedSeq():indexedSeqFromValue(o)}function SetSeq(o){return(null==o?emptySequence():isIterable(o)?isKeyed(o)?o.entrySeq():o:indexedSeqFromValue(o)).toSetSeq()}Iterator.prototype.toString=function(){return"[Iterator]"},Iterator.KEYS=V,Iterator.VALUES=U,Iterator.ENTRIES=z,Iterator.prototype.inspect=Iterator.prototype.toSource=function(){return this.toString()},Iterator.prototype[ee]=function(){return this},createClass(Seq,Iterable),Seq.of=function(){return Seq(arguments)},Seq.prototype.toSeq=function(){return this},Seq.prototype.toString=function(){return this.__toString("Seq {","}")},Seq.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},Seq.prototype.__iterate=function(o,s){return seqIterate(this,o,s,!0)},Seq.prototype.__iterator=function(o,s){return seqIterator(this,o,s,!0)},createClass(KeyedSeq,Seq),KeyedSeq.prototype.toKeyedSeq=function(){return this},createClass(IndexedSeq,Seq),IndexedSeq.of=function(){return IndexedSeq(arguments)},IndexedSeq.prototype.toIndexedSeq=function(){return this},IndexedSeq.prototype.toString=function(){return this.__toString("Seq [","]")},IndexedSeq.prototype.__iterate=function(o,s){return seqIterate(this,o,s,!1)},IndexedSeq.prototype.__iterator=function(o,s){return seqIterator(this,o,s,!1)},createClass(SetSeq,Seq),SetSeq.of=function(){return SetSeq(arguments)},SetSeq.prototype.toSetSeq=function(){return this},Seq.isSeq=isSeq,Seq.Keyed=KeyedSeq,Seq.Set=SetSeq,Seq.Indexed=IndexedSeq;var ie,ae,ce,le="@@__IMMUTABLE_SEQ__@@";function ArraySeq(o){this._array=o,this.size=o.length}function ObjectSeq(o){var s=Object.keys(o);this._object=o,this._keys=s,this.size=s.length}function IterableSeq(o){this._iterable=o,this.size=o.length||o.size}function IteratorSeq(o){this._iterator=o,this._iteratorCache=[]}function isSeq(o){return!(!o||!o[le])}function emptySequence(){return ie||(ie=new ArraySeq([]))}function keyedSeqFromValue(o){var s=Array.isArray(o)?new ArraySeq(o).fromEntrySeq():isIterator(o)?new IteratorSeq(o).fromEntrySeq():hasIterator(o)?new IterableSeq(o).fromEntrySeq():"object"==typeof o?new ObjectSeq(o):void 0;if(!s)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+o);return s}function indexedSeqFromValue(o){var s=maybeIndexedSeqFromValue(o);if(!s)throw new TypeError("Expected Array or iterable object of values: "+o);return s}function seqFromValue(o){var s=maybeIndexedSeqFromValue(o)||"object"==typeof o&&new ObjectSeq(o);if(!s)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+o);return s}function maybeIndexedSeqFromValue(o){return isArrayLike(o)?new ArraySeq(o):isIterator(o)?new IteratorSeq(o):hasIterator(o)?new IterableSeq(o):void 0}function seqIterate(o,s,i,u){var _=o._cache;if(_){for(var w=_.length-1,x=0;x<=w;x++){var C=_[i?w-x:x];if(!1===s(C[1],u?C[0]:x,o))return x+1}return x}return o.__iterateUncached(s,i)}function seqIterator(o,s,i,u){var _=o._cache;if(_){var w=_.length-1,x=0;return new Iterator((function(){var o=_[i?w-x:x];return x++>w?iteratorDone():iteratorValue(s,u?o[0]:x-1,o[1])}))}return o.__iteratorUncached(s,i)}function fromJS(o,s){return s?fromJSWith(s,o,"",{"":o}):fromJSDefault(o)}function fromJSWith(o,s,i,u){return Array.isArray(s)?o.call(u,i,IndexedSeq(s).map((function(i,u){return fromJSWith(o,i,u,s)}))):isPlainObj(s)?o.call(u,i,KeyedSeq(s).map((function(i,u){return fromJSWith(o,i,u,s)}))):s}function fromJSDefault(o){return Array.isArray(o)?IndexedSeq(o).map(fromJSDefault).toList():isPlainObj(o)?KeyedSeq(o).map(fromJSDefault).toMap():o}function isPlainObj(o){return o&&(o.constructor===Object||void 0===o.constructor)}function is(o,s){if(o===s||o!=o&&s!=s)return!0;if(!o||!s)return!1;if("function"==typeof o.valueOf&&"function"==typeof s.valueOf){if((o=o.valueOf())===(s=s.valueOf())||o!=o&&s!=s)return!0;if(!o||!s)return!1}return!("function"!=typeof o.equals||"function"!=typeof s.equals||!o.equals(s))}function deepEqual(o,s){if(o===s)return!0;if(!isIterable(s)||void 0!==o.size&&void 0!==s.size&&o.size!==s.size||void 0!==o.__hash&&void 0!==s.__hash&&o.__hash!==s.__hash||isKeyed(o)!==isKeyed(s)||isIndexed(o)!==isIndexed(s)||isOrdered(o)!==isOrdered(s))return!1;if(0===o.size&&0===s.size)return!0;var i=!isAssociative(o);if(isOrdered(o)){var u=o.entries();return s.every((function(o,s){var _=u.next().value;return _&&is(_[1],o)&&(i||is(_[0],s))}))&&u.next().done}var _=!1;if(void 0===o.size)if(void 0===s.size)"function"==typeof o.cacheResult&&o.cacheResult();else{_=!0;var w=o;o=s,s=w}var x=!0,C=s.__iterate((function(s,u){if(i?!o.has(s):_?!is(s,o.get(u,L)):!is(o.get(u,L),s))return x=!1,!1}));return x&&o.size===C}function Repeat(o,s){if(!(this instanceof Repeat))return new Repeat(o,s);if(this._value=o,this.size=void 0===s?1/0:Math.max(0,s),0===this.size){if(ae)return ae;ae=this}}function invariant(o,s){if(!o)throw new Error(s)}function Range(o,s,i){if(!(this instanceof Range))return new Range(o,s,i);if(invariant(0!==i,"Cannot step a Range by 0"),o=o||0,void 0===s&&(s=1/0),i=void 0===i?1:Math.abs(i),su?iteratorDone():iteratorValue(o,_,i[s?u-_++:_++])}))},createClass(ObjectSeq,KeyedSeq),ObjectSeq.prototype.get=function(o,s){return void 0===s||this.has(o)?this._object[o]:s},ObjectSeq.prototype.has=function(o){return this._object.hasOwnProperty(o)},ObjectSeq.prototype.__iterate=function(o,s){for(var i=this._object,u=this._keys,_=u.length-1,w=0;w<=_;w++){var x=u[s?_-w:w];if(!1===o(i[x],x,this))return w+1}return w},ObjectSeq.prototype.__iterator=function(o,s){var i=this._object,u=this._keys,_=u.length-1,w=0;return new Iterator((function(){var x=u[s?_-w:w];return w++>_?iteratorDone():iteratorValue(o,x,i[x])}))},ObjectSeq.prototype[_]=!0,createClass(IterableSeq,IndexedSeq),IterableSeq.prototype.__iterateUncached=function(o,s){if(s)return this.cacheResult().__iterate(o,s);var i=getIterator(this._iterable),u=0;if(isIterator(i))for(var _;!(_=i.next()).done&&!1!==o(_.value,u++,this););return u},IterableSeq.prototype.__iteratorUncached=function(o,s){if(s)return this.cacheResult().__iterator(o,s);var i=getIterator(this._iterable);if(!isIterator(i))return new Iterator(iteratorDone);var u=0;return new Iterator((function(){var s=i.next();return s.done?s:iteratorValue(o,u++,s.value)}))},createClass(IteratorSeq,IndexedSeq),IteratorSeq.prototype.__iterateUncached=function(o,s){if(s)return this.cacheResult().__iterate(o,s);for(var i,u=this._iterator,_=this._iteratorCache,w=0;w<_.length;)if(!1===o(_[w],w++,this))return w;for(;!(i=u.next()).done;){var x=i.value;if(_[w]=x,!1===o(x,w++,this))break}return w},IteratorSeq.prototype.__iteratorUncached=function(o,s){if(s)return this.cacheResult().__iterator(o,s);var i=this._iterator,u=this._iteratorCache,_=0;return new Iterator((function(){if(_>=u.length){var s=i.next();if(s.done)return s;u[_]=s.value}return iteratorValue(o,_,u[_++])}))},createClass(Repeat,IndexedSeq),Repeat.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},Repeat.prototype.get=function(o,s){return this.has(o)?this._value:s},Repeat.prototype.includes=function(o){return is(this._value,o)},Repeat.prototype.slice=function(o,s){var i=this.size;return wholeSlice(o,s,i)?this:new Repeat(this._value,resolveEnd(s,i)-resolveBegin(o,i))},Repeat.prototype.reverse=function(){return this},Repeat.prototype.indexOf=function(o){return is(this._value,o)?0:-1},Repeat.prototype.lastIndexOf=function(o){return is(this._value,o)?this.size:-1},Repeat.prototype.__iterate=function(o,s){for(var i=0;i=0&&s=0&&ii?iteratorDone():iteratorValue(o,w++,x)}))},Range.prototype.equals=function(o){return o instanceof Range?this._start===o._start&&this._end===o._end&&this._step===o._step:deepEqual(this,o)},createClass(Collection,Iterable),createClass(KeyedCollection,Collection),createClass(IndexedCollection,Collection),createClass(SetCollection,Collection),Collection.Keyed=KeyedCollection,Collection.Indexed=IndexedCollection,Collection.Set=SetCollection;var pe="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function imul(o,s){var i=65535&(o|=0),u=65535&(s|=0);return i*u+((o>>>16)*u+i*(s>>>16)<<16>>>0)|0};function smi(o){return o>>>1&1073741824|3221225471&o}function hash(o){if(!1===o||null==o)return 0;if("function"==typeof o.valueOf&&(!1===(o=o.valueOf())||null==o))return 0;if(!0===o)return 1;var s=typeof o;if("number"===s){if(o!=o||o===1/0)return 0;var i=0|o;for(i!==o&&(i^=4294967295*o);o>4294967295;)i^=o/=4294967295;return smi(i)}if("string"===s)return o.length>Se?cachedHashString(o):hashString(o);if("function"==typeof o.hashCode)return o.hashCode();if("object"===s)return hashJSObj(o);if("function"==typeof o.toString)return hashString(o.toString());throw new Error("Value type "+s+" cannot be hashed.")}function cachedHashString(o){var s=Te[o];return void 0===s&&(s=hashString(o),Pe===xe&&(Pe=0,Te={}),Pe++,Te[o]=s),s}function hashString(o){for(var s=0,i=0;i0)switch(o.nodeType){case 1:return o.uniqueID;case 9:return o.documentElement&&o.documentElement.uniqueID}}var ye,be="function"==typeof WeakMap;be&&(ye=new WeakMap);var _e=0,we="__immutablehash__";"function"==typeof Symbol&&(we=Symbol(we));var Se=16,xe=255,Pe=0,Te={};function assertNotInfinite(o){invariant(o!==1/0,"Cannot perform this action with an infinite size.")}function Map(o){return null==o?emptyMap():isMap(o)&&!isOrdered(o)?o:emptyMap().withMutations((function(s){var i=KeyedIterable(o);assertNotInfinite(i.size),i.forEach((function(o,i){return s.set(i,o)}))}))}function isMap(o){return!(!o||!o[qe])}createClass(Map,KeyedCollection),Map.of=function(){var s=o.call(arguments,0);return emptyMap().withMutations((function(o){for(var i=0;i=s.length)throw new Error("Missing value for key: "+s[i]);o.set(s[i],s[i+1])}}))},Map.prototype.toString=function(){return this.__toString("Map {","}")},Map.prototype.get=function(o,s){return this._root?this._root.get(0,void 0,o,s):s},Map.prototype.set=function(o,s){return updateMap(this,o,s)},Map.prototype.setIn=function(o,s){return this.updateIn(o,L,(function(){return s}))},Map.prototype.remove=function(o){return updateMap(this,o,L)},Map.prototype.deleteIn=function(o){return this.updateIn(o,(function(){return L}))},Map.prototype.update=function(o,s,i){return 1===arguments.length?o(this):this.updateIn([o],s,i)},Map.prototype.updateIn=function(o,s,i){i||(i=s,s=void 0);var u=updateInDeepMap(this,forceIterator(o),s,i);return u===L?void 0:u},Map.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):emptyMap()},Map.prototype.merge=function(){return mergeIntoMapWith(this,void 0,arguments)},Map.prototype.mergeWith=function(s){return mergeIntoMapWith(this,s,o.call(arguments,1))},Map.prototype.mergeIn=function(s){var i=o.call(arguments,1);return this.updateIn(s,emptyMap(),(function(o){return"function"==typeof o.merge?o.merge.apply(o,i):i[i.length-1]}))},Map.prototype.mergeDeep=function(){return mergeIntoMapWith(this,deepMerger,arguments)},Map.prototype.mergeDeepWith=function(s){var i=o.call(arguments,1);return mergeIntoMapWith(this,deepMergerWith(s),i)},Map.prototype.mergeDeepIn=function(s){var i=o.call(arguments,1);return this.updateIn(s,emptyMap(),(function(o){return"function"==typeof o.mergeDeep?o.mergeDeep.apply(o,i):i[i.length-1]}))},Map.prototype.sort=function(o){return OrderedMap(sortFactory(this,o))},Map.prototype.sortBy=function(o,s){return OrderedMap(sortFactory(this,s,o))},Map.prototype.withMutations=function(o){var s=this.asMutable();return o(s),s.wasAltered()?s.__ensureOwner(this.__ownerID):this},Map.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new OwnerID)},Map.prototype.asImmutable=function(){return this.__ensureOwner()},Map.prototype.wasAltered=function(){return this.__altered},Map.prototype.__iterator=function(o,s){return new MapIterator(this,o,s)},Map.prototype.__iterate=function(o,s){var i=this,u=0;return this._root&&this._root.iterate((function(s){return u++,o(s[1],s[0],i)}),s),u},Map.prototype.__ensureOwner=function(o){return o===this.__ownerID?this:o?makeMap(this.size,this._root,o,this.__hash):(this.__ownerID=o,this.__altered=!1,this)},Map.isMap=isMap;var Re,qe="@@__IMMUTABLE_MAP__@@",$e=Map.prototype;function ArrayMapNode(o,s){this.ownerID=o,this.entries=s}function BitmapIndexedNode(o,s,i){this.ownerID=o,this.bitmap=s,this.nodes=i}function HashArrayMapNode(o,s,i){this.ownerID=o,this.count=s,this.nodes=i}function HashCollisionNode(o,s,i){this.ownerID=o,this.keyHash=s,this.entries=i}function ValueNode(o,s,i){this.ownerID=o,this.keyHash=s,this.entry=i}function MapIterator(o,s,i){this._type=s,this._reverse=i,this._stack=o._root&&mapIteratorFrame(o._root)}function mapIteratorValue(o,s){return iteratorValue(o,s[0],s[1])}function mapIteratorFrame(o,s){return{node:o,index:0,__prev:s}}function makeMap(o,s,i,u){var _=Object.create($e);return _.size=o,_._root=s,_.__ownerID=i,_.__hash=u,_.__altered=!1,_}function emptyMap(){return Re||(Re=makeMap(0))}function updateMap(o,s,i){var u,_;if(o._root){var w=MakeRef(B),x=MakeRef($);if(u=updateNode(o._root,o.__ownerID,0,void 0,s,i,w,x),!x.value)return o;_=o.size+(w.value?i===L?-1:1:0)}else{if(i===L)return o;_=1,u=new ArrayMapNode(o.__ownerID,[[s,i]])}return o.__ownerID?(o.size=_,o._root=u,o.__hash=void 0,o.__altered=!0,o):u?makeMap(_,u):emptyMap()}function updateNode(o,s,i,u,_,w,x,C){return o?o.update(s,i,u,_,w,x,C):w===L?o:(SetRef(C),SetRef(x),new ValueNode(s,u,[_,w]))}function isLeafNode(o){return o.constructor===ValueNode||o.constructor===HashCollisionNode}function mergeIntoNode(o,s,i,u,_){if(o.keyHash===u)return new HashCollisionNode(s,u,[o.entry,_]);var w,C=(0===i?o.keyHash:o.keyHash>>>i)&j,L=(0===i?u:u>>>i)&j;return new BitmapIndexedNode(s,1<>>=1)x[j]=1&i?s[w++]:void 0;return x[u]=_,new HashArrayMapNode(o,w+1,x)}function mergeIntoMapWith(o,s,i){for(var u=[],_=0;_>1&1431655765))+(o>>2&858993459))+(o>>4)&252645135,o+=o>>8,127&(o+=o>>16)}function setIn(o,s,i,u){var _=u?o:arrCopy(o);return _[s]=i,_}function spliceIn(o,s,i,u){var _=o.length+1;if(u&&s+1===_)return o[s]=i,o;for(var w=new Array(_),x=0,C=0;C<_;C++)C===s?(w[C]=i,x=-1):w[C]=o[C+x];return w}function spliceOut(o,s,i){var u=o.length-1;if(i&&s===u)return o.pop(),o;for(var _=new Array(u),w=0,x=0;x=ze)return createNodes(o,j,u,_);var U=o&&o===this.ownerID,z=U?j:arrCopy(j);return V?C?B===$-1?z.pop():z[B]=z.pop():z[B]=[u,_]:z.push([u,_]),U?(this.entries=z,this):new ArrayMapNode(o,z)}},BitmapIndexedNode.prototype.get=function(o,s,i,u){void 0===s&&(s=hash(i));var _=1<<((0===o?s:s>>>o)&j),w=this.bitmap;return w&_?this.nodes[popCount(w&_-1)].get(o+x,s,i,u):u},BitmapIndexedNode.prototype.update=function(o,s,i,u,_,w,C){void 0===i&&(i=hash(u));var B=(0===s?i:i>>>s)&j,$=1<=We)return expandNodes(o,Y,V,B,ee);if(U&&!ee&&2===Y.length&&isLeafNode(Y[1^z]))return Y[1^z];if(U&&ee&&1===Y.length&&isLeafNode(ee))return ee;var ie=o&&o===this.ownerID,ae=U?ee?V:V^$:V|$,ce=U?ee?setIn(Y,z,ee,ie):spliceOut(Y,z,ie):spliceIn(Y,z,ee,ie);return ie?(this.bitmap=ae,this.nodes=ce,this):new BitmapIndexedNode(o,ae,ce)},HashArrayMapNode.prototype.get=function(o,s,i,u){void 0===s&&(s=hash(i));var _=(0===o?s:s>>>o)&j,w=this.nodes[_];return w?w.get(o+x,s,i,u):u},HashArrayMapNode.prototype.update=function(o,s,i,u,_,w,C){void 0===i&&(i=hash(u));var B=(0===s?i:i>>>s)&j,$=_===L,V=this.nodes,U=V[B];if($&&!U)return this;var z=updateNode(U,o,s+x,i,u,_,w,C);if(z===U)return this;var Y=this.count;if(U){if(!z&&--Y0&&u=0&&o>>s&j;if(u>=this.array.length)return new VNode([],o);var _,w=0===u;if(s>0){var C=this.array[u];if((_=C&&C.removeBefore(o,s-x,i))===C&&w)return this}if(w&&!_)return this;var L=editableVNode(this,o);if(!w)for(var B=0;B>>s&j;if(_>=this.array.length)return this;if(s>0){var w=this.array[_];if((u=w&&w.removeAfter(o,s-x,i))===w&&_===this.array.length-1)return this}var C=editableVNode(this,o);return C.array.splice(_+1),u&&(C.array[_]=u),C};var Qe,et,tt={};function iterateList(o,s){var i=o._origin,u=o._capacity,_=getTailOffset(u),w=o._tail;return iterateNodeOrLeaf(o._root,o._level,0);function iterateNodeOrLeaf(o,s,i){return 0===s?iterateLeaf(o,i):iterateNode(o,s,i)}function iterateLeaf(o,x){var j=x===_?w&&w.array:o&&o.array,L=x>i?0:i-x,B=u-x;return B>C&&(B=C),function(){if(L===B)return tt;var o=s?--B:L++;return j&&j[o]}}function iterateNode(o,_,w){var j,L=o&&o.array,B=w>i?0:i-w>>_,$=1+(u-w>>_);return $>C&&($=C),function(){for(;;){if(j){var o=j();if(o!==tt)return o;j=null}if(B===$)return tt;var i=s?--$:B++;j=iterateNodeOrLeaf(L&&L[i],_-x,w+(i<<_))}}}}function makeList(o,s,i,u,_,w,x){var C=Object.create(Xe);return C.size=s-o,C._origin=o,C._capacity=s,C._level=i,C._root=u,C._tail=_,C.__ownerID=w,C.__hash=x,C.__altered=!1,C}function emptyList(){return Qe||(Qe=makeList(0,0,x))}function updateList(o,s,i){if((s=wrapIndex(o,s))!=s)return o;if(s>=o.size||s<0)return o.withMutations((function(o){s<0?setListBounds(o,s).set(0,i):setListBounds(o,0,s+1).set(s,i)}));s+=o._origin;var u=o._tail,_=o._root,w=MakeRef($);return s>=getTailOffset(o._capacity)?u=updateVNode(u,o.__ownerID,0,s,i,w):_=updateVNode(_,o.__ownerID,o._level,s,i,w),w.value?o.__ownerID?(o._root=_,o._tail=u,o.__hash=void 0,o.__altered=!0,o):makeList(o._origin,o._capacity,o._level,_,u):o}function updateVNode(o,s,i,u,_,w){var C,L=u>>>i&j,B=o&&L0){var $=o&&o.array[L],V=updateVNode($,s,i-x,u,_,w);return V===$?o:((C=editableVNode(o,s)).array[L]=V,C)}return B&&o.array[L]===_?o:(SetRef(w),C=editableVNode(o,s),void 0===_&&L===C.array.length-1?C.array.pop():C.array[L]=_,C)}function editableVNode(o,s){return s&&o&&s===o.ownerID?o:new VNode(o?o.array.slice():[],s)}function listNodeFor(o,s){if(s>=getTailOffset(o._capacity))return o._tail;if(s<1<0;)i=i.array[s>>>u&j],u-=x;return i}}function setListBounds(o,s,i){void 0!==s&&(s|=0),void 0!==i&&(i|=0);var u=o.__ownerID||new OwnerID,_=o._origin,w=o._capacity,C=_+s,L=void 0===i?w:i<0?w+i:_+i;if(C===_&&L===w)return o;if(C>=L)return o.clear();for(var B=o._level,$=o._root,V=0;C+V<0;)$=new VNode($&&$.array.length?[void 0,$]:[],u),V+=1<<(B+=x);V&&(C+=V,_+=V,L+=V,w+=V);for(var U=getTailOffset(w),z=getTailOffset(L);z>=1<U?new VNode([],u):Y;if(Y&&z>U&&Cx;ie-=x){var ae=U>>>ie&j;ee=ee.array[ae]=editableVNode(ee.array[ae],u)}ee.array[U>>>x&j]=Y}if(L=z)C-=z,L-=z,B=x,$=null,Z=Z&&Z.removeBefore(u,0,C);else if(C>_||z>>B&j;if(ce!==z>>>B&j)break;ce&&(V+=(1<_&&($=$.removeBefore(u,B,C-V)),$&&z_&&(_=C.size),isIterable(x)||(C=C.map((function(o){return fromJS(o)}))),u.push(C)}return _>o.size&&(o=o.setSize(_)),mergeIntoCollectionWith(o,s,u)}function getTailOffset(o){return o>>x<=C&&x.size>=2*w.size?(u=(_=x.filter((function(o,s){return void 0!==o&&j!==s}))).toKeyedSeq().map((function(o){return o[0]})).flip().toMap(),o.__ownerID&&(u.__ownerID=_.__ownerID=o.__ownerID)):(u=w.remove(s),_=j===x.size-1?x.pop():x.set(j,void 0))}else if(B){if(i===x.get(j)[1])return o;u=w,_=x.set(j,[s,i])}else u=w.set(s,x.size),_=x.set(x.size,[s,i]);return o.__ownerID?(o.size=u.size,o._map=u,o._list=_,o.__hash=void 0,o):makeOrderedMap(u,_)}function ToKeyedSequence(o,s){this._iter=o,this._useKeys=s,this.size=o.size}function ToIndexedSequence(o){this._iter=o,this.size=o.size}function ToSetSequence(o){this._iter=o,this.size=o.size}function FromEntriesSequence(o){this._iter=o,this.size=o.size}function flipFactory(o){var s=makeSequence(o);return s._iter=o,s.size=o.size,s.flip=function(){return o},s.reverse=function(){var s=o.reverse.apply(this);return s.flip=function(){return o.reverse()},s},s.has=function(s){return o.includes(s)},s.includes=function(s){return o.has(s)},s.cacheResult=cacheResultThrough,s.__iterateUncached=function(s,i){var u=this;return o.__iterate((function(o,i){return!1!==s(i,o,u)}),i)},s.__iteratorUncached=function(s,i){if(s===z){var u=o.__iterator(s,i);return new Iterator((function(){var o=u.next();if(!o.done){var s=o.value[0];o.value[0]=o.value[1],o.value[1]=s}return o}))}return o.__iterator(s===U?V:U,i)},s}function mapFactory(o,s,i){var u=makeSequence(o);return u.size=o.size,u.has=function(s){return o.has(s)},u.get=function(u,_){var w=o.get(u,L);return w===L?_:s.call(i,w,u,o)},u.__iterateUncached=function(u,_){var w=this;return o.__iterate((function(o,_,x){return!1!==u(s.call(i,o,_,x),_,w)}),_)},u.__iteratorUncached=function(u,_){var w=o.__iterator(z,_);return new Iterator((function(){var _=w.next();if(_.done)return _;var x=_.value,C=x[0];return iteratorValue(u,C,s.call(i,x[1],C,o),_)}))},u}function reverseFactory(o,s){var i=makeSequence(o);return i._iter=o,i.size=o.size,i.reverse=function(){return o},o.flip&&(i.flip=function(){var s=flipFactory(o);return s.reverse=function(){return o.flip()},s}),i.get=function(i,u){return o.get(s?i:-1-i,u)},i.has=function(i){return o.has(s?i:-1-i)},i.includes=function(s){return o.includes(s)},i.cacheResult=cacheResultThrough,i.__iterate=function(s,i){var u=this;return o.__iterate((function(o,i){return s(o,i,u)}),!i)},i.__iterator=function(s,i){return o.__iterator(s,!i)},i}function filterFactory(o,s,i,u){var _=makeSequence(o);return u&&(_.has=function(u){var _=o.get(u,L);return _!==L&&!!s.call(i,_,u,o)},_.get=function(u,_){var w=o.get(u,L);return w!==L&&s.call(i,w,u,o)?w:_}),_.__iterateUncached=function(_,w){var x=this,C=0;return o.__iterate((function(o,w,j){if(s.call(i,o,w,j))return C++,_(o,u?w:C-1,x)}),w),C},_.__iteratorUncached=function(_,w){var x=o.__iterator(z,w),C=0;return new Iterator((function(){for(;;){var w=x.next();if(w.done)return w;var j=w.value,L=j[0],B=j[1];if(s.call(i,B,L,o))return iteratorValue(_,u?L:C++,B,w)}}))},_}function countByFactory(o,s,i){var u=Map().asMutable();return o.__iterate((function(_,w){u.update(s.call(i,_,w,o),0,(function(o){return o+1}))})),u.asImmutable()}function groupByFactory(o,s,i){var u=isKeyed(o),_=(isOrdered(o)?OrderedMap():Map()).asMutable();o.__iterate((function(w,x){_.update(s.call(i,w,x,o),(function(o){return(o=o||[]).push(u?[x,w]:w),o}))}));var w=iterableClass(o);return _.map((function(s){return reify(o,w(s))}))}function sliceFactory(o,s,i,u){var _=o.size;if(void 0!==s&&(s|=0),void 0!==i&&(i===1/0?i=_:i|=0),wholeSlice(s,i,_))return o;var w=resolveBegin(s,_),x=resolveEnd(i,_);if(w!=w||x!=x)return sliceFactory(o.toSeq().cacheResult(),s,i,u);var C,j=x-w;j==j&&(C=j<0?0:j);var L=makeSequence(o);return L.size=0===C?C:o.size&&C||void 0,!u&&isSeq(o)&&C>=0&&(L.get=function(s,i){return(s=wrapIndex(this,s))>=0&&sC)return iteratorDone();var o=_.next();return u||s===U?o:iteratorValue(s,j-1,s===V?void 0:o.value[1],o)}))},L}function takeWhileFactory(o,s,i){var u=makeSequence(o);return u.__iterateUncached=function(u,_){var w=this;if(_)return this.cacheResult().__iterate(u,_);var x=0;return o.__iterate((function(o,_,C){return s.call(i,o,_,C)&&++x&&u(o,_,w)})),x},u.__iteratorUncached=function(u,_){var w=this;if(_)return this.cacheResult().__iterator(u,_);var x=o.__iterator(z,_),C=!0;return new Iterator((function(){if(!C)return iteratorDone();var o=x.next();if(o.done)return o;var _=o.value,j=_[0],L=_[1];return s.call(i,L,j,w)?u===z?o:iteratorValue(u,j,L,o):(C=!1,iteratorDone())}))},u}function skipWhileFactory(o,s,i,u){var _=makeSequence(o);return _.__iterateUncached=function(_,w){var x=this;if(w)return this.cacheResult().__iterate(_,w);var C=!0,j=0;return o.__iterate((function(o,w,L){if(!C||!(C=s.call(i,o,w,L)))return j++,_(o,u?w:j-1,x)})),j},_.__iteratorUncached=function(_,w){var x=this;if(w)return this.cacheResult().__iterator(_,w);var C=o.__iterator(z,w),j=!0,L=0;return new Iterator((function(){var o,w,B;do{if((o=C.next()).done)return u||_===U?o:iteratorValue(_,L++,_===V?void 0:o.value[1],o);var $=o.value;w=$[0],B=$[1],j&&(j=s.call(i,B,w,x))}while(j);return _===z?o:iteratorValue(_,w,B,o)}))},_}function concatFactory(o,s){var i=isKeyed(o),u=[o].concat(s).map((function(o){return isIterable(o)?i&&(o=KeyedIterable(o)):o=i?keyedSeqFromValue(o):indexedSeqFromValue(Array.isArray(o)?o:[o]),o})).filter((function(o){return 0!==o.size}));if(0===u.length)return o;if(1===u.length){var _=u[0];if(_===o||i&&isKeyed(_)||isIndexed(o)&&isIndexed(_))return _}var w=new ArraySeq(u);return i?w=w.toKeyedSeq():isIndexed(o)||(w=w.toSetSeq()),(w=w.flatten(!0)).size=u.reduce((function(o,s){if(void 0!==o){var i=s.size;if(void 0!==i)return o+i}}),0),w}function flattenFactory(o,s,i){var u=makeSequence(o);return u.__iterateUncached=function(u,_){var w=0,x=!1;function flatDeep(o,C){var j=this;o.__iterate((function(o,_){return(!s||C0}function zipWithFactory(o,s,i){var u=makeSequence(o);return u.size=new ArraySeq(i).map((function(o){return o.size})).min(),u.__iterate=function(o,s){for(var i,u=this.__iterator(U,s),_=0;!(i=u.next()).done&&!1!==o(i.value,_++,this););return _},u.__iteratorUncached=function(o,u){var _=i.map((function(o){return o=Iterable(o),getIterator(u?o.reverse():o)})),w=0,x=!1;return new Iterator((function(){var i;return x||(i=_.map((function(o){return o.next()})),x=i.some((function(o){return o.done}))),x?iteratorDone():iteratorValue(o,w++,s.apply(null,i.map((function(o){return o.value}))))}))},u}function reify(o,s){return isSeq(o)?s:o.constructor(s)}function validateEntry(o){if(o!==Object(o))throw new TypeError("Expected [K, V] tuple: "+o)}function resolveSize(o){return assertNotInfinite(o.size),ensureSize(o)}function iterableClass(o){return isKeyed(o)?KeyedIterable:isIndexed(o)?IndexedIterable:SetIterable}function makeSequence(o){return Object.create((isKeyed(o)?KeyedSeq:isIndexed(o)?IndexedSeq:SetSeq).prototype)}function cacheResultThrough(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):Seq.prototype.cacheResult.call(this)}function defaultComparator(o,s){return o>s?1:o=0;i--)s={value:arguments[i],next:s};return this.__ownerID?(this.size=o,this._head=s,this.__hash=void 0,this.__altered=!0,this):makeStack(o,s)},Stack.prototype.pushAll=function(o){if(0===(o=IndexedIterable(o)).size)return this;assertNotInfinite(o.size);var s=this.size,i=this._head;return o.reverse().forEach((function(o){s++,i={value:o,next:i}})),this.__ownerID?(this.size=s,this._head=i,this.__hash=void 0,this.__altered=!0,this):makeStack(s,i)},Stack.prototype.pop=function(){return this.slice(1)},Stack.prototype.unshift=function(){return this.push.apply(this,arguments)},Stack.prototype.unshiftAll=function(o){return this.pushAll(o)},Stack.prototype.shift=function(){return this.pop.apply(this,arguments)},Stack.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):emptyStack()},Stack.prototype.slice=function(o,s){if(wholeSlice(o,s,this.size))return this;var i=resolveBegin(o,this.size);if(resolveEnd(s,this.size)!==this.size)return IndexedCollection.prototype.slice.call(this,o,s);for(var u=this.size-i,_=this._head;i--;)_=_.next;return this.__ownerID?(this.size=u,this._head=_,this.__hash=void 0,this.__altered=!0,this):makeStack(u,_)},Stack.prototype.__ensureOwner=function(o){return o===this.__ownerID?this:o?makeStack(this.size,this._head,o,this.__hash):(this.__ownerID=o,this.__altered=!1,this)},Stack.prototype.__iterate=function(o,s){if(s)return this.reverse().__iterate(o);for(var i=0,u=this._head;u&&!1!==o(u.value,i++,this);)u=u.next;return i},Stack.prototype.__iterator=function(o,s){if(s)return this.reverse().__iterator(o);var i=0,u=this._head;return new Iterator((function(){if(u){var s=u.value;return u=u.next,iteratorValue(o,i++,s)}return iteratorDone()}))},Stack.isStack=isStack;var ct,lt="@@__IMMUTABLE_STACK__@@",ut=Stack.prototype;function makeStack(o,s,i,u){var _=Object.create(ut);return _.size=o,_._head=s,_.__ownerID=i,_.__hash=u,_.__altered=!1,_}function emptyStack(){return ct||(ct=makeStack(0))}function mixin(o,s){var keyCopier=function(i){o.prototype[i]=s[i]};return Object.keys(s).forEach(keyCopier),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(s).forEach(keyCopier),o}ut[lt]=!0,ut.withMutations=$e.withMutations,ut.asMutable=$e.asMutable,ut.asImmutable=$e.asImmutable,ut.wasAltered=$e.wasAltered,Iterable.Iterator=Iterator,mixin(Iterable,{toArray:function(){assertNotInfinite(this.size);var o=new Array(this.size||0);return this.valueSeq().__iterate((function(s,i){o[i]=s})),o},toIndexedSeq:function(){return new ToIndexedSequence(this)},toJS:function(){return this.toSeq().map((function(o){return o&&"function"==typeof o.toJS?o.toJS():o})).__toJS()},toJSON:function(){return this.toSeq().map((function(o){return o&&"function"==typeof o.toJSON?o.toJSON():o})).__toJS()},toKeyedSeq:function(){return new ToKeyedSequence(this,!0)},toMap:function(){return Map(this.toKeyedSeq())},toObject:function(){assertNotInfinite(this.size);var o={};return this.__iterate((function(s,i){o[i]=s})),o},toOrderedMap:function(){return OrderedMap(this.toKeyedSeq())},toOrderedSet:function(){return OrderedSet(isKeyed(this)?this.valueSeq():this)},toSet:function(){return Set(isKeyed(this)?this.valueSeq():this)},toSetSeq:function(){return new ToSetSequence(this)},toSeq:function(){return isIndexed(this)?this.toIndexedSeq():isKeyed(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return Stack(isKeyed(this)?this.valueSeq():this)},toList:function(){return List(isKeyed(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(o,s){return 0===this.size?o+s:o+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+s},concat:function(){return reify(this,concatFactory(this,o.call(arguments,0)))},includes:function(o){return this.some((function(s){return is(s,o)}))},entries:function(){return this.__iterator(z)},every:function(o,s){assertNotInfinite(this.size);var i=!0;return this.__iterate((function(u,_,w){if(!o.call(s,u,_,w))return i=!1,!1})),i},filter:function(o,s){return reify(this,filterFactory(this,o,s,!0))},find:function(o,s,i){var u=this.findEntry(o,s);return u?u[1]:i},forEach:function(o,s){return assertNotInfinite(this.size),this.__iterate(s?o.bind(s):o)},join:function(o){assertNotInfinite(this.size),o=void 0!==o?""+o:",";var s="",i=!0;return this.__iterate((function(u){i?i=!1:s+=o,s+=null!=u?u.toString():""})),s},keys:function(){return this.__iterator(V)},map:function(o,s){return reify(this,mapFactory(this,o,s))},reduce:function(o,s,i){var u,_;return assertNotInfinite(this.size),arguments.length<2?_=!0:u=s,this.__iterate((function(s,w,x){_?(_=!1,u=s):u=o.call(i,u,s,w,x)})),u},reduceRight:function(o,s,i){var u=this.toKeyedSeq().reverse();return u.reduce.apply(u,arguments)},reverse:function(){return reify(this,reverseFactory(this,!0))},slice:function(o,s){return reify(this,sliceFactory(this,o,s,!0))},some:function(o,s){return!this.every(not(o),s)},sort:function(o){return reify(this,sortFactory(this,o))},values:function(){return this.__iterator(U)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some((function(){return!0}))},count:function(o,s){return ensureSize(o?this.toSeq().filter(o,s):this)},countBy:function(o,s){return countByFactory(this,o,s)},equals:function(o){return deepEqual(this,o)},entrySeq:function(){var o=this;if(o._cache)return new ArraySeq(o._cache);var s=o.toSeq().map(entryMapper).toIndexedSeq();return s.fromEntrySeq=function(){return o.toSeq()},s},filterNot:function(o,s){return this.filter(not(o),s)},findEntry:function(o,s,i){var u=i;return this.__iterate((function(i,_,w){if(o.call(s,i,_,w))return u=[_,i],!1})),u},findKey:function(o,s){var i=this.findEntry(o,s);return i&&i[0]},findLast:function(o,s,i){return this.toKeyedSeq().reverse().find(o,s,i)},findLastEntry:function(o,s,i){return this.toKeyedSeq().reverse().findEntry(o,s,i)},findLastKey:function(o,s){return this.toKeyedSeq().reverse().findKey(o,s)},first:function(){return this.find(returnTrue)},flatMap:function(o,s){return reify(this,flatMapFactory(this,o,s))},flatten:function(o){return reify(this,flattenFactory(this,o,!0))},fromEntrySeq:function(){return new FromEntriesSequence(this)},get:function(o,s){return this.find((function(s,i){return is(i,o)}),void 0,s)},getIn:function(o,s){for(var i,u=this,_=forceIterator(o);!(i=_.next()).done;){var w=i.value;if((u=u&&u.get?u.get(w,L):L)===L)return s}return u},groupBy:function(o,s){return groupByFactory(this,o,s)},has:function(o){return this.get(o,L)!==L},hasIn:function(o){return this.getIn(o,L)!==L},isSubset:function(o){return o="function"==typeof o.includes?o:Iterable(o),this.every((function(s){return o.includes(s)}))},isSuperset:function(o){return(o="function"==typeof o.isSubset?o:Iterable(o)).isSubset(this)},keyOf:function(o){return this.findKey((function(s){return is(s,o)}))},keySeq:function(){return this.toSeq().map(keyMapper).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(o){return this.toKeyedSeq().reverse().keyOf(o)},max:function(o){return maxFactory(this,o)},maxBy:function(o,s){return maxFactory(this,s,o)},min:function(o){return maxFactory(this,o?neg(o):defaultNegComparator)},minBy:function(o,s){return maxFactory(this,s?neg(s):defaultNegComparator,o)},rest:function(){return this.slice(1)},skip:function(o){return this.slice(Math.max(0,o))},skipLast:function(o){return reify(this,this.toSeq().reverse().skip(o).reverse())},skipWhile:function(o,s){return reify(this,skipWhileFactory(this,o,s,!0))},skipUntil:function(o,s){return this.skipWhile(not(o),s)},sortBy:function(o,s){return reify(this,sortFactory(this,s,o))},take:function(o){return this.slice(0,Math.max(0,o))},takeLast:function(o){return reify(this,this.toSeq().reverse().take(o).reverse())},takeWhile:function(o,s){return reify(this,takeWhileFactory(this,o,s))},takeUntil:function(o,s){return this.takeWhile(not(o),s)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=hashIterable(this))}});var pt=Iterable.prototype;pt[s]=!0,pt[ee]=pt.values,pt.__toJS=pt.toArray,pt.__toStringMapper=quoteString,pt.inspect=pt.toSource=function(){return this.toString()},pt.chain=pt.flatMap,pt.contains=pt.includes,mixin(KeyedIterable,{flip:function(){return reify(this,flipFactory(this))},mapEntries:function(o,s){var i=this,u=0;return reify(this,this.toSeq().map((function(_,w){return o.call(s,[w,_],u++,i)})).fromEntrySeq())},mapKeys:function(o,s){var i=this;return reify(this,this.toSeq().flip().map((function(u,_){return o.call(s,u,_,i)})).flip())}});var ht=KeyedIterable.prototype;function keyMapper(o,s){return s}function entryMapper(o,s){return[s,o]}function not(o){return function(){return!o.apply(this,arguments)}}function neg(o){return function(){return-o.apply(this,arguments)}}function quoteString(o){return"string"==typeof o?JSON.stringify(o):String(o)}function defaultZipper(){return arrCopy(arguments)}function defaultNegComparator(o,s){return os?-1:0}function hashIterable(o){if(o.size===1/0)return 0;var s=isOrdered(o),i=isKeyed(o),u=s?1:0;return murmurHashOfSize(o.__iterate(i?s?function(o,s){u=31*u+hashMerge(hash(o),hash(s))|0}:function(o,s){u=u+hashMerge(hash(o),hash(s))|0}:s?function(o){u=31*u+hash(o)|0}:function(o){u=u+hash(o)|0}),u)}function murmurHashOfSize(o,s){return s=pe(s,3432918353),s=pe(s<<15|s>>>-15,461845907),s=pe(s<<13|s>>>-13,5),s=pe((s=s+3864292196^o)^s>>>16,2246822507),s=smi((s=pe(s^s>>>13,3266489909))^s>>>16)}function hashMerge(o,s){return o^s+2654435769+(o<<6)+(o>>2)}return ht[i]=!0,ht[ee]=pt.entries,ht.__toJS=pt.toObject,ht.__toStringMapper=function(o,s){return JSON.stringify(s)+": "+quoteString(o)},mixin(IndexedIterable,{toKeyedSeq:function(){return new ToKeyedSequence(this,!1)},filter:function(o,s){return reify(this,filterFactory(this,o,s,!1))},findIndex:function(o,s){var i=this.findEntry(o,s);return i?i[0]:-1},indexOf:function(o){var s=this.keyOf(o);return void 0===s?-1:s},lastIndexOf:function(o){var s=this.lastKeyOf(o);return void 0===s?-1:s},reverse:function(){return reify(this,reverseFactory(this,!1))},slice:function(o,s){return reify(this,sliceFactory(this,o,s,!1))},splice:function(o,s){var i=arguments.length;if(s=Math.max(0|s,0),0===i||2===i&&!s)return this;o=resolveBegin(o,o<0?this.count():this.size);var u=this.slice(0,o);return reify(this,1===i?u:u.concat(arrCopy(arguments,2),this.slice(o+s)))},findLastIndex:function(o,s){var i=this.findLastEntry(o,s);return i?i[0]:-1},first:function(){return this.get(0)},flatten:function(o){return reify(this,flattenFactory(this,o,!1))},get:function(o,s){return(o=wrapIndex(this,o))<0||this.size===1/0||void 0!==this.size&&o>this.size?s:this.find((function(s,i){return i===o}),void 0,s)},has:function(o){return(o=wrapIndex(this,o))>=0&&(void 0!==this.size?this.size===1/0||o{"function"==typeof Object.create?o.exports=function inherits(o,s){s&&(o.super_=s,o.prototype=Object.create(s.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}))}:o.exports=function inherits(o,s){if(s){o.super_=s;var TempCtor=function(){};TempCtor.prototype=s.prototype,o.prototype=new TempCtor,o.prototype.constructor=o}}},5419:o=>{o.exports=function(o,s,i,u){var _=new Blob(void 0!==u?[u,o]:[o],{type:i||"application/octet-stream"});if(void 0!==window.navigator.msSaveBlob)window.navigator.msSaveBlob(_,s);else{var w=window.URL&&window.URL.createObjectURL?window.URL.createObjectURL(_):window.webkitURL.createObjectURL(_),x=document.createElement("a");x.style.display="none",x.href=w,x.setAttribute("download",s),void 0===x.download&&x.setAttribute("target","_blank"),document.body.appendChild(x),x.click(),setTimeout((function(){document.body.removeChild(x),window.URL.revokeObjectURL(w)}),200)}}},20181:(o,s,i)=>{var u=NaN,_="[object Symbol]",w=/^\s+|\s+$/g,x=/^[-+]0x[0-9a-f]+$/i,C=/^0b[01]+$/i,j=/^0o[0-7]+$/i,L=parseInt,B="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,$="object"==typeof self&&self&&self.Object===Object&&self,V=B||$||Function("return this")(),U=Object.prototype.toString,z=Math.max,Y=Math.min,now=function(){return V.Date.now()};function isObject(o){var s=typeof o;return!!o&&("object"==s||"function"==s)}function toNumber(o){if("number"==typeof o)return o;if(function isSymbol(o){return"symbol"==typeof o||function isObjectLike(o){return!!o&&"object"==typeof o}(o)&&U.call(o)==_}(o))return u;if(isObject(o)){var s="function"==typeof o.valueOf?o.valueOf():o;o=isObject(s)?s+"":s}if("string"!=typeof o)return 0===o?o:+o;o=o.replace(w,"");var i=C.test(o);return i||j.test(o)?L(o.slice(2),i?2:8):x.test(o)?u:+o}o.exports=function debounce(o,s,i){var u,_,w,x,C,j,L=0,B=!1,$=!1,V=!0;if("function"!=typeof o)throw new TypeError("Expected a function");function invokeFunc(s){var i=u,w=_;return u=_=void 0,L=s,x=o.apply(w,i)}function shouldInvoke(o){var i=o-j;return void 0===j||i>=s||i<0||$&&o-L>=w}function timerExpired(){var o=now();if(shouldInvoke(o))return trailingEdge(o);C=setTimeout(timerExpired,function remainingWait(o){var i=s-(o-j);return $?Y(i,w-(o-L)):i}(o))}function trailingEdge(o){return C=void 0,V&&u?invokeFunc(o):(u=_=void 0,x)}function debounced(){var o=now(),i=shouldInvoke(o);if(u=arguments,_=this,j=o,i){if(void 0===C)return function leadingEdge(o){return L=o,C=setTimeout(timerExpired,s),B?invokeFunc(o):x}(j);if($)return C=setTimeout(timerExpired,s),invokeFunc(j)}return void 0===C&&(C=setTimeout(timerExpired,s)),x}return s=toNumber(s)||0,isObject(i)&&(B=!!i.leading,w=($="maxWait"in i)?z(toNumber(i.maxWait)||0,s):w,V="trailing"in i?!!i.trailing:V),debounced.cancel=function cancel(){void 0!==C&&clearTimeout(C),L=0,u=j=_=C=void 0},debounced.flush=function flush(){return void 0===C?x:trailingEdge(now())},debounced}},55580:(o,s,i)=>{var u=i(56110)(i(9325),"DataView");o.exports=u},21549:(o,s,i)=>{var u=i(22032),_=i(63862),w=i(66721),x=i(12749),C=i(35749);function Hash(o){var s=-1,i=null==o?0:o.length;for(this.clear();++s{var u=i(39344),_=i(94033);function LazyWrapper(o){this.__wrapped__=o,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}LazyWrapper.prototype=u(_.prototype),LazyWrapper.prototype.constructor=LazyWrapper,o.exports=LazyWrapper},80079:(o,s,i)=>{var u=i(63702),_=i(70080),w=i(24739),x=i(48655),C=i(31175);function ListCache(o){var s=-1,i=null==o?0:o.length;for(this.clear();++s{var u=i(39344),_=i(94033);function LodashWrapper(o,s){this.__wrapped__=o,this.__actions__=[],this.__chain__=!!s,this.__index__=0,this.__values__=void 0}LodashWrapper.prototype=u(_.prototype),LodashWrapper.prototype.constructor=LodashWrapper,o.exports=LodashWrapper},68223:(o,s,i)=>{var u=i(56110)(i(9325),"Map");o.exports=u},53661:(o,s,i)=>{var u=i(63040),_=i(17670),w=i(90289),x=i(4509),C=i(72949);function MapCache(o){var s=-1,i=null==o?0:o.length;for(this.clear();++s{var u=i(56110)(i(9325),"Promise");o.exports=u},76545:(o,s,i)=>{var u=i(56110)(i(9325),"Set");o.exports=u},38859:(o,s,i)=>{var u=i(53661),_=i(31380),w=i(51459);function SetCache(o){var s=-1,i=null==o?0:o.length;for(this.__data__=new u;++s{var u=i(80079),_=i(51420),w=i(90938),x=i(63605),C=i(29817),j=i(80945);function Stack(o){var s=this.__data__=new u(o);this.size=s.size}Stack.prototype.clear=_,Stack.prototype.delete=w,Stack.prototype.get=x,Stack.prototype.has=C,Stack.prototype.set=j,o.exports=Stack},51873:(o,s,i)=>{var u=i(9325).Symbol;o.exports=u},37828:(o,s,i)=>{var u=i(9325).Uint8Array;o.exports=u},28303:(o,s,i)=>{var u=i(56110)(i(9325),"WeakMap");o.exports=u},91033:o=>{o.exports=function apply(o,s,i){switch(i.length){case 0:return o.call(s);case 1:return o.call(s,i[0]);case 2:return o.call(s,i[0],i[1]);case 3:return o.call(s,i[0],i[1],i[2])}return o.apply(s,i)}},83729:o=>{o.exports=function arrayEach(o,s){for(var i=-1,u=null==o?0:o.length;++i{o.exports=function arrayFilter(o,s){for(var i=-1,u=null==o?0:o.length,_=0,w=[];++i{var u=i(96131);o.exports=function arrayIncludes(o,s){return!!(null==o?0:o.length)&&u(o,s,0)>-1}},70695:(o,s,i)=>{var u=i(78096),_=i(72428),w=i(56449),x=i(3656),C=i(30361),j=i(37167),L=Object.prototype.hasOwnProperty;o.exports=function arrayLikeKeys(o,s){var i=w(o),B=!i&&_(o),$=!i&&!B&&x(o),V=!i&&!B&&!$&&j(o),U=i||B||$||V,z=U?u(o.length,String):[],Y=z.length;for(var Z in o)!s&&!L.call(o,Z)||U&&("length"==Z||$&&("offset"==Z||"parent"==Z)||V&&("buffer"==Z||"byteLength"==Z||"byteOffset"==Z)||C(Z,Y))||z.push(Z);return z}},34932:o=>{o.exports=function arrayMap(o,s){for(var i=-1,u=null==o?0:o.length,_=Array(u);++i{o.exports=function arrayPush(o,s){for(var i=-1,u=s.length,_=o.length;++i{o.exports=function arrayReduce(o,s,i,u){var _=-1,w=null==o?0:o.length;for(u&&w&&(i=o[++_]);++_{o.exports=function arraySome(o,s){for(var i=-1,u=null==o?0:o.length;++i{o.exports=function asciiToArray(o){return o.split("")}},1733:o=>{var s=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;o.exports=function asciiWords(o){return o.match(s)||[]}},87805:(o,s,i)=>{var u=i(43360),_=i(75288);o.exports=function assignMergeValue(o,s,i){(void 0!==i&&!_(o[s],i)||void 0===i&&!(s in o))&&u(o,s,i)}},16547:(o,s,i)=>{var u=i(43360),_=i(75288),w=Object.prototype.hasOwnProperty;o.exports=function assignValue(o,s,i){var x=o[s];w.call(o,s)&&_(x,i)&&(void 0!==i||s in o)||u(o,s,i)}},26025:(o,s,i)=>{var u=i(75288);o.exports=function assocIndexOf(o,s){for(var i=o.length;i--;)if(u(o[i][0],s))return i;return-1}},74733:(o,s,i)=>{var u=i(21791),_=i(95950);o.exports=function baseAssign(o,s){return o&&u(s,_(s),o)}},43838:(o,s,i)=>{var u=i(21791),_=i(37241);o.exports=function baseAssignIn(o,s){return o&&u(s,_(s),o)}},43360:(o,s,i)=>{var u=i(93243);o.exports=function baseAssignValue(o,s,i){"__proto__"==s&&u?u(o,s,{configurable:!0,enumerable:!0,value:i,writable:!0}):o[s]=i}},9999:(o,s,i)=>{var u=i(37217),_=i(83729),w=i(16547),x=i(74733),C=i(43838),j=i(93290),L=i(23007),B=i(92271),$=i(48948),V=i(50002),U=i(83349),z=i(5861),Y=i(76189),Z=i(77199),ee=i(35529),ie=i(56449),ae=i(3656),ce=i(87730),le=i(23805),pe=i(38440),de=i(95950),fe=i(37241),ye="[object Arguments]",be="[object Function]",_e="[object Object]",we={};we[ye]=we["[object Array]"]=we["[object ArrayBuffer]"]=we["[object DataView]"]=we["[object Boolean]"]=we["[object Date]"]=we["[object Float32Array]"]=we["[object Float64Array]"]=we["[object Int8Array]"]=we["[object Int16Array]"]=we["[object Int32Array]"]=we["[object Map]"]=we["[object Number]"]=we[_e]=we["[object RegExp]"]=we["[object Set]"]=we["[object String]"]=we["[object Symbol]"]=we["[object Uint8Array]"]=we["[object Uint8ClampedArray]"]=we["[object Uint16Array]"]=we["[object Uint32Array]"]=!0,we["[object Error]"]=we[be]=we["[object WeakMap]"]=!1,o.exports=function baseClone(o,s,i,Se,xe,Pe){var Te,Re=1&s,qe=2&s,$e=4&s;if(i&&(Te=xe?i(o,Se,xe,Pe):i(o)),void 0!==Te)return Te;if(!le(o))return o;var ze=ie(o);if(ze){if(Te=Y(o),!Re)return L(o,Te)}else{var We=z(o),He=We==be||"[object GeneratorFunction]"==We;if(ae(o))return j(o,Re);if(We==_e||We==ye||He&&!xe){if(Te=qe||He?{}:ee(o),!Re)return qe?$(o,C(Te,o)):B(o,x(Te,o))}else{if(!we[We])return xe?o:{};Te=Z(o,We,Re)}}Pe||(Pe=new u);var Ye=Pe.get(o);if(Ye)return Ye;Pe.set(o,Te),pe(o)?o.forEach((function(u){Te.add(baseClone(u,s,i,u,o,Pe))})):ce(o)&&o.forEach((function(u,_){Te.set(_,baseClone(u,s,i,_,o,Pe))}));var Xe=ze?void 0:($e?qe?U:V:qe?fe:de)(o);return _(Xe||o,(function(u,_){Xe&&(u=o[_=u]),w(Te,_,baseClone(u,s,i,_,o,Pe))})),Te}},39344:(o,s,i)=>{var u=i(23805),_=Object.create,w=function(){function object(){}return function(o){if(!u(o))return{};if(_)return _(o);object.prototype=o;var s=new object;return object.prototype=void 0,s}}();o.exports=w},80909:(o,s,i)=>{var u=i(30641),_=i(38329)(u);o.exports=_},2523:o=>{o.exports=function baseFindIndex(o,s,i,u){for(var _=o.length,w=i+(u?1:-1);u?w--:++w<_;)if(s(o[w],w,o))return w;return-1}},83120:(o,s,i)=>{var u=i(14528),_=i(45891);o.exports=function baseFlatten(o,s,i,w,x){var C=-1,j=o.length;for(i||(i=_),x||(x=[]);++C0&&i(L)?s>1?baseFlatten(L,s-1,i,w,x):u(x,L):w||(x[x.length]=L)}return x}},86649:(o,s,i)=>{var u=i(83221)();o.exports=u},30641:(o,s,i)=>{var u=i(86649),_=i(95950);o.exports=function baseForOwn(o,s){return o&&u(o,s,_)}},47422:(o,s,i)=>{var u=i(31769),_=i(77797);o.exports=function baseGet(o,s){for(var i=0,w=(s=u(s,o)).length;null!=o&&i{var u=i(14528),_=i(56449);o.exports=function baseGetAllKeys(o,s,i){var w=s(o);return _(o)?w:u(w,i(o))}},72552:(o,s,i)=>{var u=i(51873),_=i(659),w=i(59350),x=u?u.toStringTag:void 0;o.exports=function baseGetTag(o){return null==o?void 0===o?"[object Undefined]":"[object Null]":x&&x in Object(o)?_(o):w(o)}},20426:o=>{var s=Object.prototype.hasOwnProperty;o.exports=function baseHas(o,i){return null!=o&&s.call(o,i)}},28077:o=>{o.exports=function baseHasIn(o,s){return null!=o&&s in Object(o)}},96131:(o,s,i)=>{var u=i(2523),_=i(85463),w=i(76959);o.exports=function baseIndexOf(o,s,i){return s==s?w(o,s,i):u(o,_,i)}},27534:(o,s,i)=>{var u=i(72552),_=i(40346);o.exports=function baseIsArguments(o){return _(o)&&"[object Arguments]"==u(o)}},60270:(o,s,i)=>{var u=i(87068),_=i(40346);o.exports=function baseIsEqual(o,s,i,w,x){return o===s||(null==o||null==s||!_(o)&&!_(s)?o!=o&&s!=s:u(o,s,i,w,baseIsEqual,x))}},87068:(o,s,i)=>{var u=i(37217),_=i(25911),w=i(21986),x=i(50689),C=i(5861),j=i(56449),L=i(3656),B=i(37167),$="[object Arguments]",V="[object Array]",U="[object Object]",z=Object.prototype.hasOwnProperty;o.exports=function baseIsEqualDeep(o,s,i,Y,Z,ee){var ie=j(o),ae=j(s),ce=ie?V:C(o),le=ae?V:C(s),pe=(ce=ce==$?U:ce)==U,de=(le=le==$?U:le)==U,fe=ce==le;if(fe&&L(o)){if(!L(s))return!1;ie=!0,pe=!1}if(fe&&!pe)return ee||(ee=new u),ie||B(o)?_(o,s,i,Y,Z,ee):w(o,s,ce,i,Y,Z,ee);if(!(1&i)){var ye=pe&&z.call(o,"__wrapped__"),be=de&&z.call(s,"__wrapped__");if(ye||be){var _e=ye?o.value():o,we=be?s.value():s;return ee||(ee=new u),Z(_e,we,i,Y,ee)}}return!!fe&&(ee||(ee=new u),x(o,s,i,Y,Z,ee))}},29172:(o,s,i)=>{var u=i(5861),_=i(40346);o.exports=function baseIsMap(o){return _(o)&&"[object Map]"==u(o)}},41799:(o,s,i)=>{var u=i(37217),_=i(60270);o.exports=function baseIsMatch(o,s,i,w){var x=i.length,C=x,j=!w;if(null==o)return!C;for(o=Object(o);x--;){var L=i[x];if(j&&L[2]?L[1]!==o[L[0]]:!(L[0]in o))return!1}for(;++x{o.exports=function baseIsNaN(o){return o!=o}},45083:(o,s,i)=>{var u=i(1882),_=i(87296),w=i(23805),x=i(47473),C=/^\[object .+?Constructor\]$/,j=Function.prototype,L=Object.prototype,B=j.toString,$=L.hasOwnProperty,V=RegExp("^"+B.call($).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");o.exports=function baseIsNative(o){return!(!w(o)||_(o))&&(u(o)?V:C).test(x(o))}},16038:(o,s,i)=>{var u=i(5861),_=i(40346);o.exports=function baseIsSet(o){return _(o)&&"[object Set]"==u(o)}},4901:(o,s,i)=>{var u=i(72552),_=i(30294),w=i(40346),x={};x["[object Float32Array]"]=x["[object Float64Array]"]=x["[object Int8Array]"]=x["[object Int16Array]"]=x["[object Int32Array]"]=x["[object Uint8Array]"]=x["[object Uint8ClampedArray]"]=x["[object Uint16Array]"]=x["[object Uint32Array]"]=!0,x["[object Arguments]"]=x["[object Array]"]=x["[object ArrayBuffer]"]=x["[object Boolean]"]=x["[object DataView]"]=x["[object Date]"]=x["[object Error]"]=x["[object Function]"]=x["[object Map]"]=x["[object Number]"]=x["[object Object]"]=x["[object RegExp]"]=x["[object Set]"]=x["[object String]"]=x["[object WeakMap]"]=!1,o.exports=function baseIsTypedArray(o){return w(o)&&_(o.length)&&!!x[u(o)]}},15389:(o,s,i)=>{var u=i(93663),_=i(87978),w=i(83488),x=i(56449),C=i(50583);o.exports=function baseIteratee(o){return"function"==typeof o?o:null==o?w:"object"==typeof o?x(o)?_(o[0],o[1]):u(o):C(o)}},88984:(o,s,i)=>{var u=i(55527),_=i(3650),w=Object.prototype.hasOwnProperty;o.exports=function baseKeys(o){if(!u(o))return _(o);var s=[];for(var i in Object(o))w.call(o,i)&&"constructor"!=i&&s.push(i);return s}},72903:(o,s,i)=>{var u=i(23805),_=i(55527),w=i(90181),x=Object.prototype.hasOwnProperty;o.exports=function baseKeysIn(o){if(!u(o))return w(o);var s=_(o),i=[];for(var C in o)("constructor"!=C||!s&&x.call(o,C))&&i.push(C);return i}},94033:o=>{o.exports=function baseLodash(){}},93663:(o,s,i)=>{var u=i(41799),_=i(10776),w=i(67197);o.exports=function baseMatches(o){var s=_(o);return 1==s.length&&s[0][2]?w(s[0][0],s[0][1]):function(i){return i===o||u(i,o,s)}}},87978:(o,s,i)=>{var u=i(60270),_=i(58156),w=i(80631),x=i(28586),C=i(30756),j=i(67197),L=i(77797);o.exports=function baseMatchesProperty(o,s){return x(o)&&C(s)?j(L(o),s):function(i){var x=_(i,o);return void 0===x&&x===s?w(i,o):u(s,x,3)}}},85250:(o,s,i)=>{var u=i(37217),_=i(87805),w=i(86649),x=i(42824),C=i(23805),j=i(37241),L=i(14974);o.exports=function baseMerge(o,s,i,B,$){o!==s&&w(s,(function(w,j){if($||($=new u),C(w))x(o,s,j,i,baseMerge,B,$);else{var V=B?B(L(o,j),w,j+"",o,s,$):void 0;void 0===V&&(V=w),_(o,j,V)}}),j)}},42824:(o,s,i)=>{var u=i(87805),_=i(93290),w=i(71961),x=i(23007),C=i(35529),j=i(72428),L=i(56449),B=i(83693),$=i(3656),V=i(1882),U=i(23805),z=i(11331),Y=i(37167),Z=i(14974),ee=i(69884);o.exports=function baseMergeDeep(o,s,i,ie,ae,ce,le){var pe=Z(o,i),de=Z(s,i),fe=le.get(de);if(fe)u(o,i,fe);else{var ye=ce?ce(pe,de,i+"",o,s,le):void 0,be=void 0===ye;if(be){var _e=L(de),we=!_e&&$(de),Se=!_e&&!we&&Y(de);ye=de,_e||we||Se?L(pe)?ye=pe:B(pe)?ye=x(pe):we?(be=!1,ye=_(de,!0)):Se?(be=!1,ye=w(de,!0)):ye=[]:z(de)||j(de)?(ye=pe,j(pe)?ye=ee(pe):U(pe)&&!V(pe)||(ye=C(de))):be=!1}be&&(le.set(de,ye),ae(ye,de,ie,ce,le),le.delete(de)),u(o,i,ye)}}},47237:o=>{o.exports=function baseProperty(o){return function(s){return null==s?void 0:s[o]}}},17255:(o,s,i)=>{var u=i(47422);o.exports=function basePropertyDeep(o){return function(s){return u(s,o)}}},54552:o=>{o.exports=function basePropertyOf(o){return function(s){return null==o?void 0:o[s]}}},85558:o=>{o.exports=function baseReduce(o,s,i,u,_){return _(o,(function(o,_,w){i=u?(u=!1,o):s(i,o,_,w)})),i}},69302:(o,s,i)=>{var u=i(83488),_=i(56757),w=i(32865);o.exports=function baseRest(o,s){return w(_(o,s,u),o+"")}},73170:(o,s,i)=>{var u=i(16547),_=i(31769),w=i(30361),x=i(23805),C=i(77797);o.exports=function baseSet(o,s,i,j){if(!x(o))return o;for(var L=-1,B=(s=_(s,o)).length,$=B-1,V=o;null!=V&&++L{var u=i(83488),_=i(48152),w=_?function(o,s){return _.set(o,s),o}:u;o.exports=w},19570:(o,s,i)=>{var u=i(37334),_=i(93243),w=i(83488),x=_?function(o,s){return _(o,"toString",{configurable:!0,enumerable:!1,value:u(s),writable:!0})}:w;o.exports=x},25160:o=>{o.exports=function baseSlice(o,s,i){var u=-1,_=o.length;s<0&&(s=-s>_?0:_+s),(i=i>_?_:i)<0&&(i+=_),_=s>i?0:i-s>>>0,s>>>=0;for(var w=Array(_);++u<_;)w[u]=o[u+s];return w}},90916:(o,s,i)=>{var u=i(80909);o.exports=function baseSome(o,s){var i;return u(o,(function(o,u,_){return!(i=s(o,u,_))})),!!i}},78096:o=>{o.exports=function baseTimes(o,s){for(var i=-1,u=Array(o);++i{var u=i(51873),_=i(34932),w=i(56449),x=i(44394),C=u?u.prototype:void 0,j=C?C.toString:void 0;o.exports=function baseToString(o){if("string"==typeof o)return o;if(w(o))return _(o,baseToString)+"";if(x(o))return j?j.call(o):"";var s=o+"";return"0"==s&&1/o==-1/0?"-0":s}},54128:(o,s,i)=>{var u=i(31800),_=/^\s+/;o.exports=function baseTrim(o){return o?o.slice(0,u(o)+1).replace(_,""):o}},27301:o=>{o.exports=function baseUnary(o){return function(s){return o(s)}}},19931:(o,s,i)=>{var u=i(31769),_=i(68090),w=i(68969),x=i(77797);o.exports=function baseUnset(o,s){return s=u(s,o),null==(o=w(o,s))||delete o[x(_(s))]}},51234:o=>{o.exports=function baseZipObject(o,s,i){for(var u=-1,_=o.length,w=s.length,x={};++u<_;){var C=u{o.exports=function cacheHas(o,s){return o.has(s)}},31769:(o,s,i)=>{var u=i(56449),_=i(28586),w=i(61802),x=i(13222);o.exports=function castPath(o,s){return u(o)?o:_(o,s)?[o]:w(x(o))}},28754:(o,s,i)=>{var u=i(25160);o.exports=function castSlice(o,s,i){var _=o.length;return i=void 0===i?_:i,!s&&i>=_?o:u(o,s,i)}},49653:(o,s,i)=>{var u=i(37828);o.exports=function cloneArrayBuffer(o){var s=new o.constructor(o.byteLength);return new u(s).set(new u(o)),s}},93290:(o,s,i)=>{o=i.nmd(o);var u=i(9325),_=s&&!s.nodeType&&s,w=_&&o&&!o.nodeType&&o,x=w&&w.exports===_?u.Buffer:void 0,C=x?x.allocUnsafe:void 0;o.exports=function cloneBuffer(o,s){if(s)return o.slice();var i=o.length,u=C?C(i):new o.constructor(i);return o.copy(u),u}},76169:(o,s,i)=>{var u=i(49653);o.exports=function cloneDataView(o,s){var i=s?u(o.buffer):o.buffer;return new o.constructor(i,o.byteOffset,o.byteLength)}},73201:o=>{var s=/\w*$/;o.exports=function cloneRegExp(o){var i=new o.constructor(o.source,s.exec(o));return i.lastIndex=o.lastIndex,i}},93736:(o,s,i)=>{var u=i(51873),_=u?u.prototype:void 0,w=_?_.valueOf:void 0;o.exports=function cloneSymbol(o){return w?Object(w.call(o)):{}}},71961:(o,s,i)=>{var u=i(49653);o.exports=function cloneTypedArray(o,s){var i=s?u(o.buffer):o.buffer;return new o.constructor(i,o.byteOffset,o.length)}},91596:o=>{var s=Math.max;o.exports=function composeArgs(o,i,u,_){for(var w=-1,x=o.length,C=u.length,j=-1,L=i.length,B=s(x-C,0),$=Array(L+B),V=!_;++j{var s=Math.max;o.exports=function composeArgsRight(o,i,u,_){for(var w=-1,x=o.length,C=-1,j=u.length,L=-1,B=i.length,$=s(x-j,0),V=Array($+B),U=!_;++w<$;)V[w]=o[w];for(var z=w;++L{o.exports=function copyArray(o,s){var i=-1,u=o.length;for(s||(s=Array(u));++i{var u=i(16547),_=i(43360);o.exports=function copyObject(o,s,i,w){var x=!i;i||(i={});for(var C=-1,j=s.length;++C{var u=i(21791),_=i(4664);o.exports=function copySymbols(o,s){return u(o,_(o),s)}},48948:(o,s,i)=>{var u=i(21791),_=i(86375);o.exports=function copySymbolsIn(o,s){return u(o,_(o),s)}},55481:(o,s,i)=>{var u=i(9325)["__core-js_shared__"];o.exports=u},58523:o=>{o.exports=function countHolders(o,s){for(var i=o.length,u=0;i--;)o[i]===s&&++u;return u}},20999:(o,s,i)=>{var u=i(69302),_=i(36800);o.exports=function createAssigner(o){return u((function(s,i){var u=-1,w=i.length,x=w>1?i[w-1]:void 0,C=w>2?i[2]:void 0;for(x=o.length>3&&"function"==typeof x?(w--,x):void 0,C&&_(i[0],i[1],C)&&(x=w<3?void 0:x,w=1),s=Object(s);++u{var u=i(64894);o.exports=function createBaseEach(o,s){return function(i,_){if(null==i)return i;if(!u(i))return o(i,_);for(var w=i.length,x=s?w:-1,C=Object(i);(s?x--:++x{o.exports=function createBaseFor(o){return function(s,i,u){for(var _=-1,w=Object(s),x=u(s),C=x.length;C--;){var j=x[o?C:++_];if(!1===i(w[j],j,w))break}return s}}},11842:(o,s,i)=>{var u=i(82819),_=i(9325);o.exports=function createBind(o,s,i){var w=1&s,x=u(o);return function wrapper(){return(this&&this!==_&&this instanceof wrapper?x:o).apply(w?i:this,arguments)}}},12507:(o,s,i)=>{var u=i(28754),_=i(49698),w=i(63912),x=i(13222);o.exports=function createCaseFirst(o){return function(s){s=x(s);var i=_(s)?w(s):void 0,C=i?i[0]:s.charAt(0),j=i?u(i,1).join(""):s.slice(1);return C[o]()+j}}},45539:(o,s,i)=>{var u=i(40882),_=i(50828),w=i(66645),x=RegExp("['’]","g");o.exports=function createCompounder(o){return function(s){return u(w(_(s).replace(x,"")),o,"")}}},82819:(o,s,i)=>{var u=i(39344),_=i(23805);o.exports=function createCtor(o){return function(){var s=arguments;switch(s.length){case 0:return new o;case 1:return new o(s[0]);case 2:return new o(s[0],s[1]);case 3:return new o(s[0],s[1],s[2]);case 4:return new o(s[0],s[1],s[2],s[3]);case 5:return new o(s[0],s[1],s[2],s[3],s[4]);case 6:return new o(s[0],s[1],s[2],s[3],s[4],s[5]);case 7:return new o(s[0],s[1],s[2],s[3],s[4],s[5],s[6])}var i=u(o.prototype),w=o.apply(i,s);return _(w)?w:i}}},77078:(o,s,i)=>{var u=i(91033),_=i(82819),w=i(37471),x=i(18073),C=i(11287),j=i(36306),L=i(9325);o.exports=function createCurry(o,s,i){var B=_(o);return function wrapper(){for(var _=arguments.length,$=Array(_),V=_,U=C(wrapper);V--;)$[V]=arguments[V];var z=_<3&&$[0]!==U&&$[_-1]!==U?[]:j($,U);return(_-=z.length){var u=i(15389),_=i(64894),w=i(95950);o.exports=function createFind(o){return function(s,i,x){var C=Object(s);if(!_(s)){var j=u(i,3);s=w(s),i=function(o){return j(C[o],o,C)}}var L=o(s,i,x);return L>-1?C[j?s[L]:L]:void 0}}},37471:(o,s,i)=>{var u=i(91596),_=i(53320),w=i(58523),x=i(82819),C=i(18073),j=i(11287),L=i(68294),B=i(36306),$=i(9325);o.exports=function createHybrid(o,s,i,V,U,z,Y,Z,ee,ie){var ae=128&s,ce=1&s,le=2&s,pe=24&s,de=512&s,fe=le?void 0:x(o);return function wrapper(){for(var ye=arguments.length,be=Array(ye),_e=ye;_e--;)be[_e]=arguments[_e];if(pe)var we=j(wrapper),Se=w(be,we);if(V&&(be=u(be,V,U,pe)),z&&(be=_(be,z,Y,pe)),ye-=Se,pe&&ye1&&be.reverse(),ae&&ee{var u=i(91033),_=i(82819),w=i(9325);o.exports=function createPartial(o,s,i,x){var C=1&s,j=_(o);return function wrapper(){for(var s=-1,_=arguments.length,L=-1,B=x.length,$=Array(B+_),V=this&&this!==w&&this instanceof wrapper?j:o;++L{var u=i(85087),_=i(54641),w=i(70981);o.exports=function createRecurry(o,s,i,x,C,j,L,B,$,V){var U=8&s;s|=U?32:64,4&(s&=~(U?64:32))||(s&=-4);var z=[o,s,C,U?j:void 0,U?L:void 0,U?void 0:j,U?void 0:L,B,$,V],Y=i.apply(void 0,z);return u(o)&&_(Y,z),Y.placeholder=x,w(Y,o,s)}},66977:(o,s,i)=>{var u=i(68882),_=i(11842),w=i(77078),x=i(37471),C=i(24168),j=i(37381),L=i(3209),B=i(54641),$=i(70981),V=i(61489),U=Math.max;o.exports=function createWrap(o,s,i,z,Y,Z,ee,ie){var ae=2&s;if(!ae&&"function"!=typeof o)throw new TypeError("Expected a function");var ce=z?z.length:0;if(ce||(s&=-97,z=Y=void 0),ee=void 0===ee?ee:U(V(ee),0),ie=void 0===ie?ie:V(ie),ce-=Y?Y.length:0,64&s){var le=z,pe=Y;z=Y=void 0}var de=ae?void 0:j(o),fe=[o,s,i,z,Y,le,pe,Z,ee,ie];if(de&&L(fe,de),o=fe[0],s=fe[1],i=fe[2],z=fe[3],Y=fe[4],!(ie=fe[9]=void 0===fe[9]?ae?0:o.length:U(fe[9]-ce,0))&&24&s&&(s&=-25),s&&1!=s)ye=8==s||16==s?w(o,s,ie):32!=s&&33!=s||Y.length?x.apply(void 0,fe):C(o,s,i,z);else var ye=_(o,s,i);return $((de?u:B)(ye,fe),o,s)}},53138:(o,s,i)=>{var u=i(11331);o.exports=function customOmitClone(o){return u(o)?void 0:o}},24647:(o,s,i)=>{var u=i(54552)({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"});o.exports=u},93243:(o,s,i)=>{var u=i(56110),_=function(){try{var o=u(Object,"defineProperty");return o({},"",{}),o}catch(o){}}();o.exports=_},25911:(o,s,i)=>{var u=i(38859),_=i(14248),w=i(19219);o.exports=function equalArrays(o,s,i,x,C,j){var L=1&i,B=o.length,$=s.length;if(B!=$&&!(L&&$>B))return!1;var V=j.get(o),U=j.get(s);if(V&&U)return V==s&&U==o;var z=-1,Y=!0,Z=2&i?new u:void 0;for(j.set(o,s),j.set(s,o);++z{var u=i(51873),_=i(37828),w=i(75288),x=i(25911),C=i(20317),j=i(84247),L=u?u.prototype:void 0,B=L?L.valueOf:void 0;o.exports=function equalByTag(o,s,i,u,L,$,V){switch(i){case"[object DataView]":if(o.byteLength!=s.byteLength||o.byteOffset!=s.byteOffset)return!1;o=o.buffer,s=s.buffer;case"[object ArrayBuffer]":return!(o.byteLength!=s.byteLength||!$(new _(o),new _(s)));case"[object Boolean]":case"[object Date]":case"[object Number]":return w(+o,+s);case"[object Error]":return o.name==s.name&&o.message==s.message;case"[object RegExp]":case"[object String]":return o==s+"";case"[object Map]":var U=C;case"[object Set]":var z=1&u;if(U||(U=j),o.size!=s.size&&!z)return!1;var Y=V.get(o);if(Y)return Y==s;u|=2,V.set(o,s);var Z=x(U(o),U(s),u,L,$,V);return V.delete(o),Z;case"[object Symbol]":if(B)return B.call(o)==B.call(s)}return!1}},50689:(o,s,i)=>{var u=i(50002),_=Object.prototype.hasOwnProperty;o.exports=function equalObjects(o,s,i,w,x,C){var j=1&i,L=u(o),B=L.length;if(B!=u(s).length&&!j)return!1;for(var $=B;$--;){var V=L[$];if(!(j?V in s:_.call(s,V)))return!1}var U=C.get(o),z=C.get(s);if(U&&z)return U==s&&z==o;var Y=!0;C.set(o,s),C.set(s,o);for(var Z=j;++${var u=i(35970),_=i(56757),w=i(32865);o.exports=function flatRest(o){return w(_(o,void 0,u),o+"")}},34840:(o,s,i)=>{var u="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g;o.exports=u},50002:(o,s,i)=>{var u=i(82199),_=i(4664),w=i(95950);o.exports=function getAllKeys(o){return u(o,w,_)}},83349:(o,s,i)=>{var u=i(82199),_=i(86375),w=i(37241);o.exports=function getAllKeysIn(o){return u(o,w,_)}},37381:(o,s,i)=>{var u=i(48152),_=i(63950),w=u?function(o){return u.get(o)}:_;o.exports=w},62284:(o,s,i)=>{var u=i(84629),_=Object.prototype.hasOwnProperty;o.exports=function getFuncName(o){for(var s=o.name+"",i=u[s],w=_.call(u,s)?i.length:0;w--;){var x=i[w],C=x.func;if(null==C||C==o)return x.name}return s}},11287:o=>{o.exports=function getHolder(o){return o.placeholder}},12651:(o,s,i)=>{var u=i(74218);o.exports=function getMapData(o,s){var i=o.__data__;return u(s)?i["string"==typeof s?"string":"hash"]:i.map}},10776:(o,s,i)=>{var u=i(30756),_=i(95950);o.exports=function getMatchData(o){for(var s=_(o),i=s.length;i--;){var w=s[i],x=o[w];s[i]=[w,x,u(x)]}return s}},56110:(o,s,i)=>{var u=i(45083),_=i(10392);o.exports=function getNative(o,s){var i=_(o,s);return u(i)?i:void 0}},28879:(o,s,i)=>{var u=i(74335)(Object.getPrototypeOf,Object);o.exports=u},659:(o,s,i)=>{var u=i(51873),_=Object.prototype,w=_.hasOwnProperty,x=_.toString,C=u?u.toStringTag:void 0;o.exports=function getRawTag(o){var s=w.call(o,C),i=o[C];try{o[C]=void 0;var u=!0}catch(o){}var _=x.call(o);return u&&(s?o[C]=i:delete o[C]),_}},4664:(o,s,i)=>{var u=i(79770),_=i(63345),w=Object.prototype.propertyIsEnumerable,x=Object.getOwnPropertySymbols,C=x?function(o){return null==o?[]:(o=Object(o),u(x(o),(function(s){return w.call(o,s)})))}:_;o.exports=C},86375:(o,s,i)=>{var u=i(14528),_=i(28879),w=i(4664),x=i(63345),C=Object.getOwnPropertySymbols?function(o){for(var s=[];o;)u(s,w(o)),o=_(o);return s}:x;o.exports=C},5861:(o,s,i)=>{var u=i(55580),_=i(68223),w=i(32804),x=i(76545),C=i(28303),j=i(72552),L=i(47473),B="[object Map]",$="[object Promise]",V="[object Set]",U="[object WeakMap]",z="[object DataView]",Y=L(u),Z=L(_),ee=L(w),ie=L(x),ae=L(C),ce=j;(u&&ce(new u(new ArrayBuffer(1)))!=z||_&&ce(new _)!=B||w&&ce(w.resolve())!=$||x&&ce(new x)!=V||C&&ce(new C)!=U)&&(ce=function(o){var s=j(o),i="[object Object]"==s?o.constructor:void 0,u=i?L(i):"";if(u)switch(u){case Y:return z;case Z:return B;case ee:return $;case ie:return V;case ae:return U}return s}),o.exports=ce},10392:o=>{o.exports=function getValue(o,s){return null==o?void 0:o[s]}},75251:o=>{var s=/\{\n\/\* \[wrapped with (.+)\] \*/,i=/,? & /;o.exports=function getWrapDetails(o){var u=o.match(s);return u?u[1].split(i):[]}},49326:(o,s,i)=>{var u=i(31769),_=i(72428),w=i(56449),x=i(30361),C=i(30294),j=i(77797);o.exports=function hasPath(o,s,i){for(var L=-1,B=(s=u(s,o)).length,$=!1;++L{var s=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");o.exports=function hasUnicode(o){return s.test(o)}},45434:o=>{var s=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;o.exports=function hasUnicodeWord(o){return s.test(o)}},22032:(o,s,i)=>{var u=i(81042);o.exports=function hashClear(){this.__data__=u?u(null):{},this.size=0}},63862:o=>{o.exports=function hashDelete(o){var s=this.has(o)&&delete this.__data__[o];return this.size-=s?1:0,s}},66721:(o,s,i)=>{var u=i(81042),_=Object.prototype.hasOwnProperty;o.exports=function hashGet(o){var s=this.__data__;if(u){var i=s[o];return"__lodash_hash_undefined__"===i?void 0:i}return _.call(s,o)?s[o]:void 0}},12749:(o,s,i)=>{var u=i(81042),_=Object.prototype.hasOwnProperty;o.exports=function hashHas(o){var s=this.__data__;return u?void 0!==s[o]:_.call(s,o)}},35749:(o,s,i)=>{var u=i(81042);o.exports=function hashSet(o,s){var i=this.__data__;return this.size+=this.has(o)?0:1,i[o]=u&&void 0===s?"__lodash_hash_undefined__":s,this}},76189:o=>{var s=Object.prototype.hasOwnProperty;o.exports=function initCloneArray(o){var i=o.length,u=new o.constructor(i);return i&&"string"==typeof o[0]&&s.call(o,"index")&&(u.index=o.index,u.input=o.input),u}},77199:(o,s,i)=>{var u=i(49653),_=i(76169),w=i(73201),x=i(93736),C=i(71961);o.exports=function initCloneByTag(o,s,i){var j=o.constructor;switch(s){case"[object ArrayBuffer]":return u(o);case"[object Boolean]":case"[object Date]":return new j(+o);case"[object DataView]":return _(o,i);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return C(o,i);case"[object Map]":case"[object Set]":return new j;case"[object Number]":case"[object String]":return new j(o);case"[object RegExp]":return w(o);case"[object Symbol]":return x(o)}}},35529:(o,s,i)=>{var u=i(39344),_=i(28879),w=i(55527);o.exports=function initCloneObject(o){return"function"!=typeof o.constructor||w(o)?{}:u(_(o))}},62060:o=>{var s=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;o.exports=function insertWrapDetails(o,i){var u=i.length;if(!u)return o;var _=u-1;return i[_]=(u>1?"& ":"")+i[_],i=i.join(u>2?", ":" "),o.replace(s,"{\n/* [wrapped with "+i+"] */\n")}},45891:(o,s,i)=>{var u=i(51873),_=i(72428),w=i(56449),x=u?u.isConcatSpreadable:void 0;o.exports=function isFlattenable(o){return w(o)||_(o)||!!(x&&o&&o[x])}},30361:o=>{var s=/^(?:0|[1-9]\d*)$/;o.exports=function isIndex(o,i){var u=typeof o;return!!(i=null==i?9007199254740991:i)&&("number"==u||"symbol"!=u&&s.test(o))&&o>-1&&o%1==0&&o{var u=i(75288),_=i(64894),w=i(30361),x=i(23805);o.exports=function isIterateeCall(o,s,i){if(!x(i))return!1;var C=typeof s;return!!("number"==C?_(i)&&w(s,i.length):"string"==C&&s in i)&&u(i[s],o)}},28586:(o,s,i)=>{var u=i(56449),_=i(44394),w=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,x=/^\w*$/;o.exports=function isKey(o,s){if(u(o))return!1;var i=typeof o;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=o&&!_(o))||(x.test(o)||!w.test(o)||null!=s&&o in Object(s))}},74218:o=>{o.exports=function isKeyable(o){var s=typeof o;return"string"==s||"number"==s||"symbol"==s||"boolean"==s?"__proto__"!==o:null===o}},85087:(o,s,i)=>{var u=i(30980),_=i(37381),w=i(62284),x=i(53758);o.exports=function isLaziable(o){var s=w(o),i=x[s];if("function"!=typeof i||!(s in u.prototype))return!1;if(o===i)return!0;var C=_(i);return!!C&&o===C[0]}},87296:(o,s,i)=>{var u,_=i(55481),w=(u=/[^.]+$/.exec(_&&_.keys&&_.keys.IE_PROTO||""))?"Symbol(src)_1."+u:"";o.exports=function isMasked(o){return!!w&&w in o}},55527:o=>{var s=Object.prototype;o.exports=function isPrototype(o){var i=o&&o.constructor;return o===("function"==typeof i&&i.prototype||s)}},30756:(o,s,i)=>{var u=i(23805);o.exports=function isStrictComparable(o){return o==o&&!u(o)}},63702:o=>{o.exports=function listCacheClear(){this.__data__=[],this.size=0}},70080:(o,s,i)=>{var u=i(26025),_=Array.prototype.splice;o.exports=function listCacheDelete(o){var s=this.__data__,i=u(s,o);return!(i<0)&&(i==s.length-1?s.pop():_.call(s,i,1),--this.size,!0)}},24739:(o,s,i)=>{var u=i(26025);o.exports=function listCacheGet(o){var s=this.__data__,i=u(s,o);return i<0?void 0:s[i][1]}},48655:(o,s,i)=>{var u=i(26025);o.exports=function listCacheHas(o){return u(this.__data__,o)>-1}},31175:(o,s,i)=>{var u=i(26025);o.exports=function listCacheSet(o,s){var i=this.__data__,_=u(i,o);return _<0?(++this.size,i.push([o,s])):i[_][1]=s,this}},63040:(o,s,i)=>{var u=i(21549),_=i(80079),w=i(68223);o.exports=function mapCacheClear(){this.size=0,this.__data__={hash:new u,map:new(w||_),string:new u}}},17670:(o,s,i)=>{var u=i(12651);o.exports=function mapCacheDelete(o){var s=u(this,o).delete(o);return this.size-=s?1:0,s}},90289:(o,s,i)=>{var u=i(12651);o.exports=function mapCacheGet(o){return u(this,o).get(o)}},4509:(o,s,i)=>{var u=i(12651);o.exports=function mapCacheHas(o){return u(this,o).has(o)}},72949:(o,s,i)=>{var u=i(12651);o.exports=function mapCacheSet(o,s){var i=u(this,o),_=i.size;return i.set(o,s),this.size+=i.size==_?0:1,this}},20317:o=>{o.exports=function mapToArray(o){var s=-1,i=Array(o.size);return o.forEach((function(o,u){i[++s]=[u,o]})),i}},67197:o=>{o.exports=function matchesStrictComparable(o,s){return function(i){return null!=i&&(i[o]===s&&(void 0!==s||o in Object(i)))}}},62224:(o,s,i)=>{var u=i(50104);o.exports=function memoizeCapped(o){var s=u(o,(function(o){return 500===i.size&&i.clear(),o})),i=s.cache;return s}},3209:(o,s,i)=>{var u=i(91596),_=i(53320),w=i(36306),x="__lodash_placeholder__",C=128,j=Math.min;o.exports=function mergeData(o,s){var i=o[1],L=s[1],B=i|L,$=B<131,V=L==C&&8==i||L==C&&256==i&&o[7].length<=s[8]||384==L&&s[7].length<=s[8]&&8==i;if(!$&&!V)return o;1&L&&(o[2]=s[2],B|=1&i?0:4);var U=s[3];if(U){var z=o[3];o[3]=z?u(z,U,s[4]):U,o[4]=z?w(o[3],x):s[4]}return(U=s[5])&&(z=o[5],o[5]=z?_(z,U,s[6]):U,o[6]=z?w(o[5],x):s[6]),(U=s[7])&&(o[7]=U),L&C&&(o[8]=null==o[8]?s[8]:j(o[8],s[8])),null==o[9]&&(o[9]=s[9]),o[0]=s[0],o[1]=B,o}},48152:(o,s,i)=>{var u=i(28303),_=u&&new u;o.exports=_},81042:(o,s,i)=>{var u=i(56110)(Object,"create");o.exports=u},3650:(o,s,i)=>{var u=i(74335)(Object.keys,Object);o.exports=u},90181:o=>{o.exports=function nativeKeysIn(o){var s=[];if(null!=o)for(var i in Object(o))s.push(i);return s}},86009:(o,s,i)=>{o=i.nmd(o);var u=i(34840),_=s&&!s.nodeType&&s,w=_&&o&&!o.nodeType&&o,x=w&&w.exports===_&&u.process,C=function(){try{var o=w&&w.require&&w.require("util").types;return o||x&&x.binding&&x.binding("util")}catch(o){}}();o.exports=C},59350:o=>{var s=Object.prototype.toString;o.exports=function objectToString(o){return s.call(o)}},74335:o=>{o.exports=function overArg(o,s){return function(i){return o(s(i))}}},56757:(o,s,i)=>{var u=i(91033),_=Math.max;o.exports=function overRest(o,s,i){return s=_(void 0===s?o.length-1:s,0),function(){for(var w=arguments,x=-1,C=_(w.length-s,0),j=Array(C);++x{var u=i(47422),_=i(25160);o.exports=function parent(o,s){return s.length<2?o:u(o,_(s,0,-1))}},84629:o=>{o.exports={}},68294:(o,s,i)=>{var u=i(23007),_=i(30361),w=Math.min;o.exports=function reorder(o,s){for(var i=o.length,x=w(s.length,i),C=u(o);x--;){var j=s[x];o[x]=_(j,i)?C[j]:void 0}return o}},36306:o=>{var s="__lodash_placeholder__";o.exports=function replaceHolders(o,i){for(var u=-1,_=o.length,w=0,x=[];++u<_;){var C=o[u];C!==i&&C!==s||(o[u]=s,x[w++]=u)}return x}},9325:(o,s,i)=>{var u=i(34840),_="object"==typeof self&&self&&self.Object===Object&&self,w=u||_||Function("return this")();o.exports=w},14974:o=>{o.exports=function safeGet(o,s){if(("constructor"!==s||"function"!=typeof o[s])&&"__proto__"!=s)return o[s]}},31380:o=>{o.exports=function setCacheAdd(o){return this.__data__.set(o,"__lodash_hash_undefined__"),this}},51459:o=>{o.exports=function setCacheHas(o){return this.__data__.has(o)}},54641:(o,s,i)=>{var u=i(68882),_=i(51811)(u);o.exports=_},84247:o=>{o.exports=function setToArray(o){var s=-1,i=Array(o.size);return o.forEach((function(o){i[++s]=o})),i}},32865:(o,s,i)=>{var u=i(19570),_=i(51811)(u);o.exports=_},70981:(o,s,i)=>{var u=i(75251),_=i(62060),w=i(32865),x=i(75948);o.exports=function setWrapToString(o,s,i){var C=s+"";return w(o,_(C,x(u(C),i)))}},51811:o=>{var s=Date.now;o.exports=function shortOut(o){var i=0,u=0;return function(){var _=s(),w=16-(_-u);if(u=_,w>0){if(++i>=800)return arguments[0]}else i=0;return o.apply(void 0,arguments)}}},51420:(o,s,i)=>{var u=i(80079);o.exports=function stackClear(){this.__data__=new u,this.size=0}},90938:o=>{o.exports=function stackDelete(o){var s=this.__data__,i=s.delete(o);return this.size=s.size,i}},63605:o=>{o.exports=function stackGet(o){return this.__data__.get(o)}},29817:o=>{o.exports=function stackHas(o){return this.__data__.has(o)}},80945:(o,s,i)=>{var u=i(80079),_=i(68223),w=i(53661);o.exports=function stackSet(o,s){var i=this.__data__;if(i instanceof u){var x=i.__data__;if(!_||x.length<199)return x.push([o,s]),this.size=++i.size,this;i=this.__data__=new w(x)}return i.set(o,s),this.size=i.size,this}},76959:o=>{o.exports=function strictIndexOf(o,s,i){for(var u=i-1,_=o.length;++u<_;)if(o[u]===s)return u;return-1}},63912:(o,s,i)=>{var u=i(61074),_=i(49698),w=i(42054);o.exports=function stringToArray(o){return _(o)?w(o):u(o)}},61802:(o,s,i)=>{var u=i(62224),_=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,w=/\\(\\)?/g,x=u((function(o){var s=[];return 46===o.charCodeAt(0)&&s.push(""),o.replace(_,(function(o,i,u,_){s.push(u?_.replace(w,"$1"):i||o)})),s}));o.exports=x},77797:(o,s,i)=>{var u=i(44394);o.exports=function toKey(o){if("string"==typeof o||u(o))return o;var s=o+"";return"0"==s&&1/o==-1/0?"-0":s}},47473:o=>{var s=Function.prototype.toString;o.exports=function toSource(o){if(null!=o){try{return s.call(o)}catch(o){}try{return o+""}catch(o){}}return""}},31800:o=>{var s=/\s/;o.exports=function trimmedEndIndex(o){for(var i=o.length;i--&&s.test(o.charAt(i)););return i}},42054:o=>{var s="\\ud800-\\udfff",i="["+s+"]",u="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",_="\\ud83c[\\udffb-\\udfff]",w="[^"+s+"]",x="(?:\\ud83c[\\udde6-\\uddff]){2}",C="[\\ud800-\\udbff][\\udc00-\\udfff]",j="(?:"+u+"|"+_+")"+"?",L="[\\ufe0e\\ufe0f]?",B=L+j+("(?:\\u200d(?:"+[w,x,C].join("|")+")"+L+j+")*"),$="(?:"+[w+u+"?",u,x,C,i].join("|")+")",V=RegExp(_+"(?="+_+")|"+$+B,"g");o.exports=function unicodeToArray(o){return o.match(V)||[]}},22225:o=>{var s="\\ud800-\\udfff",i="\\u2700-\\u27bf",u="a-z\\xdf-\\xf6\\xf8-\\xff",_="A-Z\\xc0-\\xd6\\xd8-\\xde",w="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",x="["+w+"]",C="\\d+",j="["+i+"]",L="["+u+"]",B="[^"+s+w+C+i+u+_+"]",$="(?:\\ud83c[\\udde6-\\uddff]){2}",V="[\\ud800-\\udbff][\\udc00-\\udfff]",U="["+_+"]",z="(?:"+L+"|"+B+")",Y="(?:"+U+"|"+B+")",Z="(?:['’](?:d|ll|m|re|s|t|ve))?",ee="(?:['’](?:D|LL|M|RE|S|T|VE))?",ie="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",ae="[\\ufe0e\\ufe0f]?",ce=ae+ie+("(?:\\u200d(?:"+["[^"+s+"]",$,V].join("|")+")"+ae+ie+")*"),le="(?:"+[j,$,V].join("|")+")"+ce,pe=RegExp([U+"?"+L+"+"+Z+"(?="+[x,U,"$"].join("|")+")",Y+"+"+ee+"(?="+[x,U+z,"$"].join("|")+")",U+"?"+z+"+"+Z,U+"+"+ee,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",C,le].join("|"),"g");o.exports=function unicodeWords(o){return o.match(pe)||[]}},75948:(o,s,i)=>{var u=i(83729),_=i(15325),w=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]];o.exports=function updateWrapDetails(o,s){return u(w,(function(i){var u="_."+i[0];s&i[1]&&!_(o,u)&&o.push(u)})),o.sort()}},80257:(o,s,i)=>{var u=i(30980),_=i(56017),w=i(23007);o.exports=function wrapperClone(o){if(o instanceof u)return o.clone();var s=new _(o.__wrapped__,o.__chain__);return s.__actions__=w(o.__actions__),s.__index__=o.__index__,s.__values__=o.__values__,s}},64626:(o,s,i)=>{var u=i(66977);o.exports=function ary(o,s,i){return s=i?void 0:s,s=o&&null==s?o.length:s,u(o,128,void 0,void 0,void 0,void 0,s)}},84058:(o,s,i)=>{var u=i(14792),_=i(45539)((function(o,s,i){return s=s.toLowerCase(),o+(i?u(s):s)}));o.exports=_},14792:(o,s,i)=>{var u=i(13222),_=i(55808);o.exports=function capitalize(o){return _(u(o).toLowerCase())}},32629:(o,s,i)=>{var u=i(9999);o.exports=function clone(o){return u(o,4)}},37334:o=>{o.exports=function constant(o){return function(){return o}}},49747:(o,s,i)=>{var u=i(66977);function curry(o,s,i){var _=u(o,8,void 0,void 0,void 0,void 0,void 0,s=i?void 0:s);return _.placeholder=curry.placeholder,_}curry.placeholder={},o.exports=curry},38221:(o,s,i)=>{var u=i(23805),_=i(10124),w=i(99374),x=Math.max,C=Math.min;o.exports=function debounce(o,s,i){var j,L,B,$,V,U,z=0,Y=!1,Z=!1,ee=!0;if("function"!=typeof o)throw new TypeError("Expected a function");function invokeFunc(s){var i=j,u=L;return j=L=void 0,z=s,$=o.apply(u,i)}function shouldInvoke(o){var i=o-U;return void 0===U||i>=s||i<0||Z&&o-z>=B}function timerExpired(){var o=_();if(shouldInvoke(o))return trailingEdge(o);V=setTimeout(timerExpired,function remainingWait(o){var i=s-(o-U);return Z?C(i,B-(o-z)):i}(o))}function trailingEdge(o){return V=void 0,ee&&j?invokeFunc(o):(j=L=void 0,$)}function debounced(){var o=_(),i=shouldInvoke(o);if(j=arguments,L=this,U=o,i){if(void 0===V)return function leadingEdge(o){return z=o,V=setTimeout(timerExpired,s),Y?invokeFunc(o):$}(U);if(Z)return clearTimeout(V),V=setTimeout(timerExpired,s),invokeFunc(U)}return void 0===V&&(V=setTimeout(timerExpired,s)),$}return s=w(s)||0,u(i)&&(Y=!!i.leading,B=(Z="maxWait"in i)?x(w(i.maxWait)||0,s):B,ee="trailing"in i?!!i.trailing:ee),debounced.cancel=function cancel(){void 0!==V&&clearTimeout(V),z=0,j=U=L=V=void 0},debounced.flush=function flush(){return void 0===V?$:trailingEdge(_())},debounced}},50828:(o,s,i)=>{var u=i(24647),_=i(13222),w=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,x=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");o.exports=function deburr(o){return(o=_(o))&&o.replace(w,u).replace(x,"")}},75288:o=>{o.exports=function eq(o,s){return o===s||o!=o&&s!=s}},60680:(o,s,i)=>{var u=i(13222),_=/[\\^$.*+?()[\]{}|]/g,w=RegExp(_.source);o.exports=function escapeRegExp(o){return(o=u(o))&&w.test(o)?o.replace(_,"\\$&"):o}},7309:(o,s,i)=>{var u=i(62006)(i(24713));o.exports=u},24713:(o,s,i)=>{var u=i(2523),_=i(15389),w=i(61489),x=Math.max;o.exports=function findIndex(o,s,i){var C=null==o?0:o.length;if(!C)return-1;var j=null==i?0:w(i);return j<0&&(j=x(C+j,0)),u(o,_(s,3),j)}},35970:(o,s,i)=>{var u=i(83120);o.exports=function flatten(o){return(null==o?0:o.length)?u(o,1):[]}},73424:(o,s,i)=>{var u=i(16962),_=i(2874),w=Array.prototype.push;function baseAry(o,s){return 2==s?function(s,i){return o(s,i)}:function(s){return o(s)}}function cloneArray(o){for(var s=o?o.length:0,i=Array(s);s--;)i[s]=o[s];return i}function wrapImmutable(o,s){return function(){var i=arguments.length;if(i){for(var u=Array(i);i--;)u[i]=arguments[i];var _=u[0]=s.apply(void 0,u);return o.apply(void 0,u),_}}}o.exports=function baseConvert(o,s,i,x){var C="function"==typeof s,j=s===Object(s);if(j&&(x=i,i=s,s=void 0),null==i)throw new TypeError;x||(x={});var L={cap:!("cap"in x)||x.cap,curry:!("curry"in x)||x.curry,fixed:!("fixed"in x)||x.fixed,immutable:!("immutable"in x)||x.immutable,rearg:!("rearg"in x)||x.rearg},B=C?i:_,$="curry"in x&&x.curry,V="fixed"in x&&x.fixed,U="rearg"in x&&x.rearg,z=C?i.runInContext():void 0,Y=C?i:{ary:o.ary,assign:o.assign,clone:o.clone,curry:o.curry,forEach:o.forEach,isArray:o.isArray,isError:o.isError,isFunction:o.isFunction,isWeakMap:o.isWeakMap,iteratee:o.iteratee,keys:o.keys,rearg:o.rearg,toInteger:o.toInteger,toPath:o.toPath},Z=Y.ary,ee=Y.assign,ie=Y.clone,ae=Y.curry,ce=Y.forEach,le=Y.isArray,pe=Y.isError,de=Y.isFunction,fe=Y.isWeakMap,ye=Y.keys,be=Y.rearg,_e=Y.toInteger,we=Y.toPath,Se=ye(u.aryMethod),xe={castArray:function(o){return function(){var s=arguments[0];return le(s)?o(cloneArray(s)):o.apply(void 0,arguments)}},iteratee:function(o){return function(){var s=arguments[1],i=o(arguments[0],s),u=i.length;return L.cap&&"number"==typeof s?(s=s>2?s-2:1,u&&u<=s?i:baseAry(i,s)):i}},mixin:function(o){return function(s){var i=this;if(!de(i))return o(i,Object(s));var u=[];return ce(ye(s),(function(o){de(s[o])&&u.push([o,i.prototype[o]])})),o(i,Object(s)),ce(u,(function(o){var s=o[1];de(s)?i.prototype[o[0]]=s:delete i.prototype[o[0]]})),i}},nthArg:function(o){return function(s){var i=s<0?1:_e(s)+1;return ae(o(s),i)}},rearg:function(o){return function(s,i){var u=i?i.length:0;return ae(o(s,i),u)}},runInContext:function(s){return function(i){return baseConvert(o,s(i),x)}}};function castCap(o,s){if(L.cap){var i=u.iterateeRearg[o];if(i)return function iterateeRearg(o,s){return overArg(o,(function(o){var i=s.length;return function baseArity(o,s){return 2==s?function(s,i){return o.apply(void 0,arguments)}:function(s){return o.apply(void 0,arguments)}}(be(baseAry(o,i),s),i)}))}(s,i);var _=!C&&u.iterateeAry[o];if(_)return function iterateeAry(o,s){return overArg(o,(function(o){return"function"==typeof o?baseAry(o,s):o}))}(s,_)}return s}function castFixed(o,s,i){if(L.fixed&&(V||!u.skipFixed[o])){var _=u.methodSpread[o],x=_&&_.start;return void 0===x?Z(s,i):function flatSpread(o,s){return function(){for(var i=arguments.length,u=i-1,_=Array(i);i--;)_[i]=arguments[i];var x=_[s],C=_.slice(0,s);return x&&w.apply(C,x),s!=u&&w.apply(C,_.slice(s+1)),o.apply(this,C)}}(s,x)}return s}function castRearg(o,s,i){return L.rearg&&i>1&&(U||!u.skipRearg[o])?be(s,u.methodRearg[o]||u.aryRearg[i]):s}function cloneByPath(o,s){for(var i=-1,u=(s=we(s)).length,_=u-1,w=ie(Object(o)),x=w;null!=x&&++i1?ae(s,i):s}(0,_=castCap(w,_),o),!1}})),!_})),_||(_=x),_==s&&(_=$?ae(_,1):function(){return s.apply(this,arguments)}),_.convert=createConverter(w,s),_.placeholder=s.placeholder=i,_}if(!j)return wrap(s,i,B);var Pe=i,Te=[];return ce(Se,(function(o){ce(u.aryMethod[o],(function(o){var s=Pe[u.remap[o]||o];s&&Te.push([o,wrap(o,s,Pe)])}))})),ce(ye(Pe),(function(o){var s=Pe[o];if("function"==typeof s){for(var i=Te.length;i--;)if(Te[i][0]==o)return;s.convert=createConverter(o,s),Te.push([o,s])}})),ce(Te,(function(o){Pe[o[0]]=o[1]})),Pe.convert=function convertLib(o){return Pe.runInContext.convert(o)(void 0)},Pe.placeholder=Pe,ce(ye(Pe),(function(o){ce(u.realToAlias[o]||[],(function(s){Pe[s]=Pe[o]}))})),Pe}},16962:(o,s)=>{s.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},s.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},s.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},s.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},s.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},s.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},s.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},s.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},s.realToAlias=function(){var o=Object.prototype.hasOwnProperty,i=s.aliasToReal,u={};for(var _ in i){var w=i[_];o.call(u,w)?u[w].push(_):u[w]=[_]}return u}(),s.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},s.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},s.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},47934:(o,s,i)=>{o.exports={ary:i(64626),assign:i(74733),clone:i(32629),curry:i(49747),forEach:i(83729),isArray:i(56449),isError:i(23546),isFunction:i(1882),isWeakMap:i(47886),iteratee:i(33855),keys:i(88984),rearg:i(84195),toInteger:i(61489),toPath:i(42072)}},56367:(o,s,i)=>{o.exports=i(77731)},79920:(o,s,i)=>{var u=i(73424),_=i(47934);o.exports=function convert(o,s,i){return u(_,o,s,i)}},2874:o=>{o.exports={}},77731:(o,s,i)=>{var u=i(79920)("set",i(63560));u.placeholder=i(2874),o.exports=u},58156:(o,s,i)=>{var u=i(47422);o.exports=function get(o,s,i){var _=null==o?void 0:u(o,s);return void 0===_?i:_}},61448:(o,s,i)=>{var u=i(20426),_=i(49326);o.exports=function has(o,s){return null!=o&&_(o,s,u)}},80631:(o,s,i)=>{var u=i(28077),_=i(49326);o.exports=function hasIn(o,s){return null!=o&&_(o,s,u)}},83488:o=>{o.exports=function identity(o){return o}},72428:(o,s,i)=>{var u=i(27534),_=i(40346),w=Object.prototype,x=w.hasOwnProperty,C=w.propertyIsEnumerable,j=u(function(){return arguments}())?u:function(o){return _(o)&&x.call(o,"callee")&&!C.call(o,"callee")};o.exports=j},56449:o=>{var s=Array.isArray;o.exports=s},64894:(o,s,i)=>{var u=i(1882),_=i(30294);o.exports=function isArrayLike(o){return null!=o&&_(o.length)&&!u(o)}},83693:(o,s,i)=>{var u=i(64894),_=i(40346);o.exports=function isArrayLikeObject(o){return _(o)&&u(o)}},53812:(o,s,i)=>{var u=i(72552),_=i(40346);o.exports=function isBoolean(o){return!0===o||!1===o||_(o)&&"[object Boolean]"==u(o)}},3656:(o,s,i)=>{o=i.nmd(o);var u=i(9325),_=i(89935),w=s&&!s.nodeType&&s,x=w&&o&&!o.nodeType&&o,C=x&&x.exports===w?u.Buffer:void 0,j=(C?C.isBuffer:void 0)||_;o.exports=j},62193:(o,s,i)=>{var u=i(88984),_=i(5861),w=i(72428),x=i(56449),C=i(64894),j=i(3656),L=i(55527),B=i(37167),$=Object.prototype.hasOwnProperty;o.exports=function isEmpty(o){if(null==o)return!0;if(C(o)&&(x(o)||"string"==typeof o||"function"==typeof o.splice||j(o)||B(o)||w(o)))return!o.length;var s=_(o);if("[object Map]"==s||"[object Set]"==s)return!o.size;if(L(o))return!u(o).length;for(var i in o)if($.call(o,i))return!1;return!0}},2404:(o,s,i)=>{var u=i(60270);o.exports=function isEqual(o,s){return u(o,s)}},23546:(o,s,i)=>{var u=i(72552),_=i(40346),w=i(11331);o.exports=function isError(o){if(!_(o))return!1;var s=u(o);return"[object Error]"==s||"[object DOMException]"==s||"string"==typeof o.message&&"string"==typeof o.name&&!w(o)}},1882:(o,s,i)=>{var u=i(72552),_=i(23805);o.exports=function isFunction(o){if(!_(o))return!1;var s=u(o);return"[object Function]"==s||"[object GeneratorFunction]"==s||"[object AsyncFunction]"==s||"[object Proxy]"==s}},30294:o=>{o.exports=function isLength(o){return"number"==typeof o&&o>-1&&o%1==0&&o<=9007199254740991}},87730:(o,s,i)=>{var u=i(29172),_=i(27301),w=i(86009),x=w&&w.isMap,C=x?_(x):u;o.exports=C},5187:o=>{o.exports=function isNull(o){return null===o}},98023:(o,s,i)=>{var u=i(72552),_=i(40346);o.exports=function isNumber(o){return"number"==typeof o||_(o)&&"[object Number]"==u(o)}},23805:o=>{o.exports=function isObject(o){var s=typeof o;return null!=o&&("object"==s||"function"==s)}},40346:o=>{o.exports=function isObjectLike(o){return null!=o&&"object"==typeof o}},11331:(o,s,i)=>{var u=i(72552),_=i(28879),w=i(40346),x=Function.prototype,C=Object.prototype,j=x.toString,L=C.hasOwnProperty,B=j.call(Object);o.exports=function isPlainObject(o){if(!w(o)||"[object Object]"!=u(o))return!1;var s=_(o);if(null===s)return!0;var i=L.call(s,"constructor")&&s.constructor;return"function"==typeof i&&i instanceof i&&j.call(i)==B}},38440:(o,s,i)=>{var u=i(16038),_=i(27301),w=i(86009),x=w&&w.isSet,C=x?_(x):u;o.exports=C},85015:(o,s,i)=>{var u=i(72552),_=i(56449),w=i(40346);o.exports=function isString(o){return"string"==typeof o||!_(o)&&w(o)&&"[object String]"==u(o)}},44394:(o,s,i)=>{var u=i(72552),_=i(40346);o.exports=function isSymbol(o){return"symbol"==typeof o||_(o)&&"[object Symbol]"==u(o)}},37167:(o,s,i)=>{var u=i(4901),_=i(27301),w=i(86009),x=w&&w.isTypedArray,C=x?_(x):u;o.exports=C},47886:(o,s,i)=>{var u=i(5861),_=i(40346);o.exports=function isWeakMap(o){return _(o)&&"[object WeakMap]"==u(o)}},33855:(o,s,i)=>{var u=i(9999),_=i(15389);o.exports=function iteratee(o){return _("function"==typeof o?o:u(o,1))}},95950:(o,s,i)=>{var u=i(70695),_=i(88984),w=i(64894);o.exports=function keys(o){return w(o)?u(o):_(o)}},37241:(o,s,i)=>{var u=i(70695),_=i(72903),w=i(64894);o.exports=function keysIn(o){return w(o)?u(o,!0):_(o)}},68090:o=>{o.exports=function last(o){var s=null==o?0:o.length;return s?o[s-1]:void 0}},50104:(o,s,i)=>{var u=i(53661);function memoize(o,s){if("function"!=typeof o||null!=s&&"function"!=typeof s)throw new TypeError("Expected a function");var memoized=function(){var i=arguments,u=s?s.apply(this,i):i[0],_=memoized.cache;if(_.has(u))return _.get(u);var w=o.apply(this,i);return memoized.cache=_.set(u,w)||_,w};return memoized.cache=new(memoize.Cache||u),memoized}memoize.Cache=u,o.exports=memoize},55364:(o,s,i)=>{var u=i(85250),_=i(20999)((function(o,s,i){u(o,s,i)}));o.exports=_},6048:o=>{o.exports=function negate(o){if("function"!=typeof o)throw new TypeError("Expected a function");return function(){var s=arguments;switch(s.length){case 0:return!o.call(this);case 1:return!o.call(this,s[0]);case 2:return!o.call(this,s[0],s[1]);case 3:return!o.call(this,s[0],s[1],s[2])}return!o.apply(this,s)}}},63950:o=>{o.exports=function noop(){}},10124:(o,s,i)=>{var u=i(9325);o.exports=function(){return u.Date.now()}},90179:(o,s,i)=>{var u=i(34932),_=i(9999),w=i(19931),x=i(31769),C=i(21791),j=i(53138),L=i(38816),B=i(83349),$=L((function(o,s){var i={};if(null==o)return i;var L=!1;s=u(s,(function(s){return s=x(s,o),L||(L=s.length>1),s})),C(o,B(o),i),L&&(i=_(i,7,j));for(var $=s.length;$--;)w(i,s[$]);return i}));o.exports=$},50583:(o,s,i)=>{var u=i(47237),_=i(17255),w=i(28586),x=i(77797);o.exports=function property(o){return w(o)?u(x(o)):_(o)}},84195:(o,s,i)=>{var u=i(66977),_=i(38816),w=_((function(o,s){return u(o,256,void 0,void 0,void 0,s)}));o.exports=w},40860:(o,s,i)=>{var u=i(40882),_=i(80909),w=i(15389),x=i(85558),C=i(56449);o.exports=function reduce(o,s,i){var j=C(o)?u:x,L=arguments.length<3;return j(o,w(s,4),i,L,_)}},63560:(o,s,i)=>{var u=i(73170);o.exports=function set(o,s,i){return null==o?o:u(o,s,i)}},42426:(o,s,i)=>{var u=i(14248),_=i(15389),w=i(90916),x=i(56449),C=i(36800);o.exports=function some(o,s,i){var j=x(o)?u:w;return i&&C(o,s,i)&&(s=void 0),j(o,_(s,3))}},63345:o=>{o.exports=function stubArray(){return[]}},89935:o=>{o.exports=function stubFalse(){return!1}},17400:(o,s,i)=>{var u=i(99374),_=1/0;o.exports=function toFinite(o){return o?(o=u(o))===_||o===-1/0?17976931348623157e292*(o<0?-1:1):o==o?o:0:0===o?o:0}},61489:(o,s,i)=>{var u=i(17400);o.exports=function toInteger(o){var s=u(o),i=s%1;return s==s?i?s-i:s:0}},80218:(o,s,i)=>{var u=i(13222);o.exports=function toLower(o){return u(o).toLowerCase()}},99374:(o,s,i)=>{var u=i(54128),_=i(23805),w=i(44394),x=/^[-+]0x[0-9a-f]+$/i,C=/^0b[01]+$/i,j=/^0o[0-7]+$/i,L=parseInt;o.exports=function toNumber(o){if("number"==typeof o)return o;if(w(o))return NaN;if(_(o)){var s="function"==typeof o.valueOf?o.valueOf():o;o=_(s)?s+"":s}if("string"!=typeof o)return 0===o?o:+o;o=u(o);var i=C.test(o);return i||j.test(o)?L(o.slice(2),i?2:8):x.test(o)?NaN:+o}},42072:(o,s,i)=>{var u=i(34932),_=i(23007),w=i(56449),x=i(44394),C=i(61802),j=i(77797),L=i(13222);o.exports=function toPath(o){return w(o)?u(o,j):x(o)?[o]:_(C(L(o)))}},69884:(o,s,i)=>{var u=i(21791),_=i(37241);o.exports=function toPlainObject(o){return u(o,_(o))}},13222:(o,s,i)=>{var u=i(77556);o.exports=function toString(o){return null==o?"":u(o)}},55808:(o,s,i)=>{var u=i(12507)("toUpperCase");o.exports=u},66645:(o,s,i)=>{var u=i(1733),_=i(45434),w=i(13222),x=i(22225);o.exports=function words(o,s,i){return o=w(o),void 0===(s=i?void 0:s)?_(o)?x(o):u(o):o.match(s)||[]}},53758:(o,s,i)=>{var u=i(30980),_=i(56017),w=i(94033),x=i(56449),C=i(40346),j=i(80257),L=Object.prototype.hasOwnProperty;function lodash(o){if(C(o)&&!x(o)&&!(o instanceof u)){if(o instanceof _)return o;if(L.call(o,"__wrapped__"))return j(o)}return new _(o)}lodash.prototype=w.prototype,lodash.prototype.constructor=lodash,o.exports=lodash},47248:(o,s,i)=>{var u=i(16547),_=i(51234);o.exports=function zipObject(o,s){return _(o||[],s||[],u)}},43768:(o,s,i)=>{"use strict";var u=i(45981),_=i(85587);s.highlight=highlight,s.highlightAuto=function highlightAuto(o,s){var i,x,C,j,L=s||{},B=L.subset||u.listLanguages(),$=L.prefix,V=B.length,U=-1;null==$&&($=w);if("string"!=typeof o)throw _("Expected `string` for value, got `%s`",o);x={relevance:0,language:null,value:[]},i={relevance:0,language:null,value:[]};for(;++Ux.relevance&&(x=C),C.relevance>i.relevance&&(x=i,i=C));x.language&&(i.secondBest=x);return i},s.registerLanguage=function registerLanguage(o,s){u.registerLanguage(o,s)},s.listLanguages=function listLanguages(){return u.listLanguages()},s.registerAlias=function registerAlias(o,s){var i,_=o;s&&((_={})[o]=s);for(i in _)u.registerAliases(_[i],{languageName:i})},Emitter.prototype.addText=function text(o){var s,i,u=this.stack;if(""===o)return;s=u[u.length-1],(i=s.children[s.children.length-1])&&"text"===i.type?i.value+=o:s.children.push({type:"text",value:o})},Emitter.prototype.addKeyword=function addKeyword(o,s){this.openNode(s),this.addText(o),this.closeNode()},Emitter.prototype.addSublanguage=function addSublanguage(o,s){var i=this.stack,u=i[i.length-1],_=o.rootNode.children,w=s?{type:"element",tagName:"span",properties:{className:[s]},children:_}:_;u.children=u.children.concat(w)},Emitter.prototype.openNode=function open(o){var s=this.stack,i=this.options.classPrefix+o,u=s[s.length-1],_={type:"element",tagName:"span",properties:{className:[i]},children:[]};u.children.push(_),s.push(_)},Emitter.prototype.closeNode=function close(){this.stack.pop()},Emitter.prototype.closeAllNodes=noop,Emitter.prototype.finalize=noop,Emitter.prototype.toHTML=function toHtmlNoop(){return""};var w="hljs-";function highlight(o,s,i){var x,C=u.configure({}),j=(i||{}).prefix;if("string"!=typeof o)throw _("Expected `string` for name, got `%s`",o);if(!u.getLanguage(o))throw _("Unknown language: `%s` is not registered",o);if("string"!=typeof s)throw _("Expected `string` for value, got `%s`",s);if(null==j&&(j=w),u.configure({__emitter:Emitter,classPrefix:j}),x=u.highlight(s,{language:o,ignoreIllegals:!0}),u.configure(C||{}),x.errorRaised)throw x.errorRaised;return{relevance:x.relevance,language:x.language,value:x.emitter.rootNode.children}}function Emitter(o){this.options=o,this.rootNode={children:[]},this.stack=[this.rootNode]}function noop(){}},92340:(o,s,i)=>{const u=i(6048);function coerceElementMatchingCallback(o){return"string"==typeof o?s=>s.element===o:o.constructor&&o.extend?s=>s instanceof o:o}class ArraySlice{constructor(o){this.elements=o||[]}toValue(){return this.elements.map((o=>o.toValue()))}map(o,s){return this.elements.map(o,s)}flatMap(o,s){return this.map(o,s).reduce(((o,s)=>o.concat(s)),[])}compactMap(o,s){const i=[];return this.forEach((u=>{const _=o.bind(s)(u);_&&i.push(_)})),i}filter(o,s){return o=coerceElementMatchingCallback(o),new ArraySlice(this.elements.filter(o,s))}reject(o,s){return o=coerceElementMatchingCallback(o),new ArraySlice(this.elements.filter(u(o),s))}find(o,s){return o=coerceElementMatchingCallback(o),this.elements.find(o,s)}forEach(o,s){this.elements.forEach(o,s)}reduce(o,s){return this.elements.reduce(o,s)}includes(o){return this.elements.some((s=>s.equals(o)))}shift(){return this.elements.shift()}unshift(o){this.elements.unshift(this.refract(o))}push(o){return this.elements.push(this.refract(o)),this}add(o){this.push(o)}get(o){return this.elements[o]}getValue(o){const s=this.elements[o];if(s)return s.toValue()}get length(){return this.elements.length}get isEmpty(){return 0===this.elements.length}get first(){return this.elements[0]}}"undefined"!=typeof Symbol&&(ArraySlice.prototype[Symbol.iterator]=function symbol(){return this.elements[Symbol.iterator]()}),o.exports=ArraySlice},55973:o=>{class KeyValuePair{constructor(o,s){this.key=o,this.value=s}clone(){const o=new KeyValuePair;return this.key&&(o.key=this.key.clone()),this.value&&(o.value=this.value.clone()),o}}o.exports=KeyValuePair},3110:(o,s,i)=>{const u=i(5187),_=i(85015),w=i(98023),x=i(53812),C=i(23805),j=i(85105),L=i(86804);class Namespace{constructor(o){this.elementMap={},this.elementDetection=[],this.Element=L.Element,this.KeyValuePair=L.KeyValuePair,o&&o.noDefault||this.useDefault(),this._attributeElementKeys=[],this._attributeElementArrayKeys=[]}use(o){return o.namespace&&o.namespace({base:this}),o.load&&o.load({base:this}),this}useDefault(){return this.register("null",L.NullElement).register("string",L.StringElement).register("number",L.NumberElement).register("boolean",L.BooleanElement).register("array",L.ArrayElement).register("object",L.ObjectElement).register("member",L.MemberElement).register("ref",L.RefElement).register("link",L.LinkElement),this.detect(u,L.NullElement,!1).detect(_,L.StringElement,!1).detect(w,L.NumberElement,!1).detect(x,L.BooleanElement,!1).detect(Array.isArray,L.ArrayElement,!1).detect(C,L.ObjectElement,!1),this}register(o,s){return this._elements=void 0,this.elementMap[o]=s,this}unregister(o){return this._elements=void 0,delete this.elementMap[o],this}detect(o,s,i){return void 0===i||i?this.elementDetection.unshift([o,s]):this.elementDetection.push([o,s]),this}toElement(o){if(o instanceof this.Element)return o;let s;for(let i=0;i{const s=o[0].toUpperCase()+o.substr(1);this._elements[s]=this.elementMap[o]}))),this._elements}get serialiser(){return new j(this)}}j.prototype.Namespace=Namespace,o.exports=Namespace},10866:(o,s,i)=>{const u=i(6048),_=i(92340);class ObjectSlice extends _{map(o,s){return this.elements.map((i=>o.bind(s)(i.value,i.key,i)))}filter(o,s){return new ObjectSlice(this.elements.filter((i=>o.bind(s)(i.value,i.key,i))))}reject(o,s){return this.filter(u(o.bind(s)))}forEach(o,s){return this.elements.forEach(((i,u)=>{o.bind(s)(i.value,i.key,i,u)}))}keys(){return this.map(((o,s)=>s.toValue()))}values(){return this.map((o=>o.toValue()))}}o.exports=ObjectSlice},86804:(o,s,i)=>{const u=i(10316),_=i(41067),w=i(71167),x=i(40239),C=i(12242),j=i(6233),L=i(87726),B=i(61045),$=i(86303),V=i(14540),U=i(92340),z=i(10866),Y=i(55973);function refract(o){if(o instanceof u)return o;if("string"==typeof o)return new w(o);if("number"==typeof o)return new x(o);if("boolean"==typeof o)return new C(o);if(null===o)return new _;if(Array.isArray(o))return new j(o.map(refract));if("object"==typeof o){return new B(o)}return o}u.prototype.ObjectElement=B,u.prototype.RefElement=V,u.prototype.MemberElement=L,u.prototype.refract=refract,U.prototype.refract=refract,o.exports={Element:u,NullElement:_,StringElement:w,NumberElement:x,BooleanElement:C,ArrayElement:j,MemberElement:L,ObjectElement:B,LinkElement:$,RefElement:V,refract,ArraySlice:U,ObjectSlice:z,KeyValuePair:Y}},86303:(o,s,i)=>{const u=i(10316);o.exports=class LinkElement extends u{constructor(o,s,i){super(o||[],s,i),this.element="link"}get relation(){return this.attributes.get("relation")}set relation(o){this.attributes.set("relation",o)}get href(){return this.attributes.get("href")}set href(o){this.attributes.set("href",o)}}},14540:(o,s,i)=>{const u=i(10316);o.exports=class RefElement extends u{constructor(o,s,i){super(o||[],s,i),this.element="ref",this.path||(this.path="element")}get path(){return this.attributes.get("path")}set path(o){this.attributes.set("path",o)}}},34035:(o,s,i)=>{const u=i(3110),_=i(86804);s.g$=u,s.KeyValuePair=i(55973),s.G6=_.ArraySlice,s.ot=_.ObjectSlice,s.Hg=_.Element,s.Om=_.StringElement,s.kT=_.NumberElement,s.bd=_.BooleanElement,s.Os=_.NullElement,s.wE=_.ArrayElement,s.Sh=_.ObjectElement,s.Pr=_.MemberElement,s.sI=_.RefElement,s.Ft=_.LinkElement,s.e=_.refract,i(85105),i(75147)},6233:(o,s,i)=>{const u=i(6048),_=i(10316),w=i(92340);class ArrayElement extends _{constructor(o,s,i){super(o||[],s,i),this.element="array"}primitive(){return"array"}get(o){return this.content[o]}getValue(o){const s=this.get(o);if(s)return s.toValue()}getIndex(o){return this.content[o]}set(o,s){return this.content[o]=this.refract(s),this}remove(o){const s=this.content.splice(o,1);return s.length?s[0]:null}map(o,s){return this.content.map(o,s)}flatMap(o,s){return this.map(o,s).reduce(((o,s)=>o.concat(s)),[])}compactMap(o,s){const i=[];return this.forEach((u=>{const _=o.bind(s)(u);_&&i.push(_)})),i}filter(o,s){return new w(this.content.filter(o,s))}reject(o,s){return this.filter(u(o),s)}reduce(o,s){let i,u;void 0!==s?(i=0,u=this.refract(s)):(i=1,u="object"===this.primitive()?this.first.value:this.first);for(let s=i;s{o.bind(s)(i,this.refract(u))}))}shift(){return this.content.shift()}unshift(o){this.content.unshift(this.refract(o))}push(o){return this.content.push(this.refract(o)),this}add(o){this.push(o)}findElements(o,s){const i=s||{},u=!!i.recursive,_=void 0===i.results?[]:i.results;return this.forEach(((s,i,w)=>{u&&void 0!==s.findElements&&s.findElements(o,{results:_,recursive:u}),o(s,i,w)&&_.push(s)})),_}find(o){return new w(this.findElements(o,{recursive:!0}))}findByElement(o){return this.find((s=>s.element===o))}findByClass(o){return this.find((s=>s.classes.includes(o)))}getById(o){return this.find((s=>s.id.toValue()===o)).first}includes(o){return this.content.some((s=>s.equals(o)))}contains(o){return this.includes(o)}empty(){return new this.constructor([])}"fantasy-land/empty"(){return this.empty()}concat(o){return new this.constructor(this.content.concat(o.content))}"fantasy-land/concat"(o){return this.concat(o)}"fantasy-land/map"(o){return new this.constructor(this.map(o))}"fantasy-land/chain"(o){return this.map((s=>o(s)),this).reduce(((o,s)=>o.concat(s)),this.empty())}"fantasy-land/filter"(o){return new this.constructor(this.content.filter(o))}"fantasy-land/reduce"(o,s){return this.content.reduce(o,s)}get length(){return this.content.length}get isEmpty(){return 0===this.content.length}get first(){return this.getIndex(0)}get second(){return this.getIndex(1)}get last(){return this.getIndex(this.length-1)}}ArrayElement.empty=function empty(){return new this},ArrayElement["fantasy-land/empty"]=ArrayElement.empty,"undefined"!=typeof Symbol&&(ArrayElement.prototype[Symbol.iterator]=function symbol(){return this.content[Symbol.iterator]()}),o.exports=ArrayElement},12242:(o,s,i)=>{const u=i(10316);o.exports=class BooleanElement extends u{constructor(o,s,i){super(o,s,i),this.element="boolean"}primitive(){return"boolean"}}},10316:(o,s,i)=>{const u=i(2404),_=i(55973),w=i(92340);class Element{constructor(o,s,i){s&&(this.meta=s),i&&(this.attributes=i),this.content=o}freeze(){Object.isFrozen(this)||(this._meta&&(this.meta.parent=this,this.meta.freeze()),this._attributes&&(this.attributes.parent=this,this.attributes.freeze()),this.children.forEach((o=>{o.parent=this,o.freeze()}),this),this.content&&Array.isArray(this.content)&&Object.freeze(this.content),Object.freeze(this))}primitive(){}clone(){const o=new this.constructor;return o.element=this.element,this.meta.length&&(o._meta=this.meta.clone()),this.attributes.length&&(o._attributes=this.attributes.clone()),this.content?this.content.clone?o.content=this.content.clone():Array.isArray(this.content)?o.content=this.content.map((o=>o.clone())):o.content=this.content:o.content=this.content,o}toValue(){return this.content instanceof Element?this.content.toValue():this.content instanceof _?{key:this.content.key.toValue(),value:this.content.value?this.content.value.toValue():void 0}:this.content&&this.content.map?this.content.map((o=>o.toValue()),this):this.content}toRef(o){if(""===this.id.toValue())throw Error("Cannot create reference to an element that does not contain an ID");const s=new this.RefElement(this.id.toValue());return o&&(s.path=o),s}findRecursive(...o){if(arguments.length>1&&!this.isFrozen)throw new Error("Cannot find recursive with multiple element names without first freezing the element. Call `element.freeze()`");const s=o.pop();let i=new w;const append=(o,s)=>(o.push(s),o),checkElement=(o,i)=>{i.element===s&&o.push(i);const u=i.findRecursive(s);return u&&u.reduce(append,o),i.content instanceof _&&(i.content.key&&checkElement(o,i.content.key),i.content.value&&checkElement(o,i.content.value)),o};return this.content&&(this.content.element&&checkElement(i,this.content),Array.isArray(this.content)&&this.content.reduce(checkElement,i)),o.isEmpty||(i=i.filter((s=>{let i=s.parents.map((o=>o.element));for(const s in o){const u=o[s],_=i.indexOf(u);if(-1===_)return!1;i=i.splice(0,_)}return!0}))),i}set(o){return this.content=o,this}equals(o){return u(this.toValue(),o)}getMetaProperty(o,s){if(!this.meta.hasKey(o)){if(this.isFrozen){const o=this.refract(s);return o.freeze(),o}this.meta.set(o,s)}return this.meta.get(o)}setMetaProperty(o,s){this.meta.set(o,s)}get element(){return this._storedElement||"element"}set element(o){this._storedElement=o}get content(){return this._content}set content(o){if(o instanceof Element)this._content=o;else if(o instanceof w)this.content=o.elements;else if("string"==typeof o||"number"==typeof o||"boolean"==typeof o||"null"===o||null==o)this._content=o;else if(o instanceof _)this._content=o;else if(Array.isArray(o))this._content=o.map(this.refract);else{if("object"!=typeof o)throw new Error("Cannot set content to given value");this._content=Object.keys(o).map((s=>new this.MemberElement(s,o[s])))}}get meta(){if(!this._meta){if(this.isFrozen){const o=new this.ObjectElement;return o.freeze(),o}this._meta=new this.ObjectElement}return this._meta}set meta(o){o instanceof this.ObjectElement?this._meta=o:this.meta.set(o||{})}get attributes(){if(!this._attributes){if(this.isFrozen){const o=new this.ObjectElement;return o.freeze(),o}this._attributes=new this.ObjectElement}return this._attributes}set attributes(o){o instanceof this.ObjectElement?this._attributes=o:this.attributes.set(o||{})}get id(){return this.getMetaProperty("id","")}set id(o){this.setMetaProperty("id",o)}get classes(){return this.getMetaProperty("classes",[])}set classes(o){this.setMetaProperty("classes",o)}get title(){return this.getMetaProperty("title","")}set title(o){this.setMetaProperty("title",o)}get description(){return this.getMetaProperty("description","")}set description(o){this.setMetaProperty("description",o)}get links(){return this.getMetaProperty("links",[])}set links(o){this.setMetaProperty("links",o)}get isFrozen(){return Object.isFrozen(this)}get parents(){let{parent:o}=this;const s=new w;for(;o;)s.push(o),o=o.parent;return s}get children(){if(Array.isArray(this.content))return new w(this.content);if(this.content instanceof _){const o=new w([this.content.key]);return this.content.value&&o.push(this.content.value),o}return this.content instanceof Element?new w([this.content]):new w}get recursiveChildren(){const o=new w;return this.children.forEach((s=>{o.push(s),s.recursiveChildren.forEach((s=>{o.push(s)}))})),o}}o.exports=Element},87726:(o,s,i)=>{const u=i(55973),_=i(10316);o.exports=class MemberElement extends _{constructor(o,s,i,_){super(new u,i,_),this.element="member",this.key=o,this.value=s}get key(){return this.content.key}set key(o){this.content.key=this.refract(o)}get value(){return this.content.value}set value(o){this.content.value=this.refract(o)}}},41067:(o,s,i)=>{const u=i(10316);o.exports=class NullElement extends u{constructor(o,s,i){super(o||null,s,i),this.element="null"}primitive(){return"null"}set(){return new Error("Cannot set the value of null")}}},40239:(o,s,i)=>{const u=i(10316);o.exports=class NumberElement extends u{constructor(o,s,i){super(o,s,i),this.element="number"}primitive(){return"number"}}},61045:(o,s,i)=>{const u=i(6048),_=i(23805),w=i(6233),x=i(87726),C=i(10866);o.exports=class ObjectElement extends w{constructor(o,s,i){super(o||[],s,i),this.element="object"}primitive(){return"object"}toValue(){return this.content.reduce(((o,s)=>(o[s.key.toValue()]=s.value?s.value.toValue():void 0,o)),{})}get(o){const s=this.getMember(o);if(s)return s.value}getMember(o){if(void 0!==o)return this.content.find((s=>s.key.toValue()===o))}remove(o){let s=null;return this.content=this.content.filter((i=>i.key.toValue()!==o||(s=i,!1))),s}getKey(o){const s=this.getMember(o);if(s)return s.key}set(o,s){if(_(o))return Object.keys(o).forEach((s=>{this.set(s,o[s])})),this;const i=o,u=this.getMember(i);return u?u.value=s:this.content.push(new x(i,s)),this}keys(){return this.content.map((o=>o.key.toValue()))}values(){return this.content.map((o=>o.value.toValue()))}hasKey(o){return this.content.some((s=>s.key.equals(o)))}items(){return this.content.map((o=>[o.key.toValue(),o.value.toValue()]))}map(o,s){return this.content.map((i=>o.bind(s)(i.value,i.key,i)))}compactMap(o,s){const i=[];return this.forEach(((u,_,w)=>{const x=o.bind(s)(u,_,w);x&&i.push(x)})),i}filter(o,s){return new C(this.content).filter(o,s)}reject(o,s){return this.filter(u(o),s)}forEach(o,s){return this.content.forEach((i=>o.bind(s)(i.value,i.key,i)))}}},71167:(o,s,i)=>{const u=i(10316);o.exports=class StringElement extends u{constructor(o,s,i){super(o,s,i),this.element="string"}primitive(){return"string"}get length(){return this.content.length}}},75147:(o,s,i)=>{const u=i(85105);o.exports=class JSON06Serialiser extends u{serialise(o){if(!(o instanceof this.namespace.elements.Element))throw new TypeError(`Given element \`${o}\` is not an Element instance`);let s;o._attributes&&o.attributes.get("variable")&&(s=o.attributes.get("variable"));const i={element:o.element};o._meta&&o._meta.length>0&&(i.meta=this.serialiseObject(o.meta));const u="enum"===o.element||-1!==o.attributes.keys().indexOf("enumerations");if(u){const s=this.enumSerialiseAttributes(o);s&&(i.attributes=s)}else if(o._attributes&&o._attributes.length>0){let{attributes:u}=o;u.get("metadata")&&(u=u.clone(),u.set("meta",u.get("metadata")),u.remove("metadata")),"member"===o.element&&s&&(u=u.clone(),u.remove("variable")),u.length>0&&(i.attributes=this.serialiseObject(u))}if(u)i.content=this.enumSerialiseContent(o,i);else if(this[`${o.element}SerialiseContent`])i.content=this[`${o.element}SerialiseContent`](o,i);else if(void 0!==o.content){let u;s&&o.content.key?(u=o.content.clone(),u.key.attributes.set("variable",s),u=this.serialiseContent(u)):u=this.serialiseContent(o.content),this.shouldSerialiseContent(o,u)&&(i.content=u)}else this.shouldSerialiseContent(o,o.content)&&o instanceof this.namespace.elements.Array&&(i.content=[]);return i}shouldSerialiseContent(o,s){return"parseResult"===o.element||"httpRequest"===o.element||"httpResponse"===o.element||"category"===o.element||"link"===o.element||void 0!==s&&(!Array.isArray(s)||0!==s.length)}refSerialiseContent(o,s){return delete s.attributes,{href:o.toValue(),path:o.path.toValue()}}sourceMapSerialiseContent(o){return o.toValue()}dataStructureSerialiseContent(o){return[this.serialiseContent(o.content)]}enumSerialiseAttributes(o){const s=o.attributes.clone(),i=s.remove("enumerations")||new this.namespace.elements.Array([]),u=s.get("default");let _=s.get("samples")||new this.namespace.elements.Array([]);if(u&&u.content&&(u.content.attributes&&u.content.attributes.remove("typeAttributes"),s.set("default",new this.namespace.elements.Array([u.content]))),_.forEach((o=>{o.content&&o.content.element&&o.content.attributes.remove("typeAttributes")})),o.content&&0!==i.length&&_.unshift(o.content),_=_.map((o=>o instanceof this.namespace.elements.Array?[o]:new this.namespace.elements.Array([o.content]))),_.length&&s.set("samples",_),s.length>0)return this.serialiseObject(s)}enumSerialiseContent(o){if(o._attributes){const s=o.attributes.get("enumerations");if(s&&s.length>0)return s.content.map((o=>{const s=o.clone();return s.attributes.remove("typeAttributes"),this.serialise(s)}))}if(o.content){const s=o.content.clone();return s.attributes.remove("typeAttributes"),[this.serialise(s)]}return[]}deserialise(o){if("string"==typeof o)return new this.namespace.elements.String(o);if("number"==typeof o)return new this.namespace.elements.Number(o);if("boolean"==typeof o)return new this.namespace.elements.Boolean(o);if(null===o)return new this.namespace.elements.Null;if(Array.isArray(o))return new this.namespace.elements.Array(o.map(this.deserialise,this));const s=this.namespace.getElementClass(o.element),i=new s;i.element!==o.element&&(i.element=o.element),o.meta&&this.deserialiseObject(o.meta,i.meta),o.attributes&&this.deserialiseObject(o.attributes,i.attributes);const u=this.deserialiseContent(o.content);if(void 0===u&&null!==i.content||(i.content=u),"enum"===i.element){i.content&&i.attributes.set("enumerations",i.content);let o=i.attributes.get("samples");if(i.attributes.remove("samples"),o){const u=o;o=new this.namespace.elements.Array,u.forEach((u=>{u.forEach((u=>{const _=new s(u);_.element=i.element,o.push(_)}))}));const _=o.shift();i.content=_?_.content:void 0,i.attributes.set("samples",o)}else i.content=void 0;let u=i.attributes.get("default");if(u&&u.length>0){u=u.get(0);const o=new s(u);o.element=i.element,i.attributes.set("default",o)}}else if("dataStructure"===i.element&&Array.isArray(i.content))[i.content]=i.content;else if("category"===i.element){const o=i.attributes.get("meta");o&&(i.attributes.set("metadata",o),i.attributes.remove("meta"))}else"member"===i.element&&i.key&&i.key._attributes&&i.key._attributes.getValue("variable")&&(i.attributes.set("variable",i.key.attributes.get("variable")),i.key.attributes.remove("variable"));return i}serialiseContent(o){if(o instanceof this.namespace.elements.Element)return this.serialise(o);if(o instanceof this.namespace.KeyValuePair){const s={key:this.serialise(o.key)};return o.value&&(s.value=this.serialise(o.value)),s}return o&&o.map?o.map(this.serialise,this):o}deserialiseContent(o){if(o){if(o.element)return this.deserialise(o);if(o.key){const s=new this.namespace.KeyValuePair(this.deserialise(o.key));return o.value&&(s.value=this.deserialise(o.value)),s}if(o.map)return o.map(this.deserialise,this)}return o}shouldRefract(o){return!!(o._attributes&&o.attributes.keys().length||o._meta&&o.meta.keys().length)||"enum"!==o.element&&(o.element!==o.primitive()||"member"===o.element)}convertKeyToRefract(o,s){return this.shouldRefract(s)?this.serialise(s):"enum"===s.element?this.serialiseEnum(s):"array"===s.element?s.map((s=>this.shouldRefract(s)||"default"===o?this.serialise(s):"array"===s.element||"object"===s.element||"enum"===s.element?s.children.map((o=>this.serialise(o))):s.toValue())):"object"===s.element?(s.content||[]).map(this.serialise,this):s.toValue()}serialiseEnum(o){return o.children.map((o=>this.serialise(o)))}serialiseObject(o){const s={};return o.forEach(((o,i)=>{if(o){const u=i.toValue();s[u]=this.convertKeyToRefract(u,o)}})),s}deserialiseObject(o,s){Object.keys(o).forEach((i=>{s.set(i,this.deserialise(o[i]))}))}}},85105:o=>{o.exports=class JSONSerialiser{constructor(o){this.namespace=o||new this.Namespace}serialise(o){if(!(o instanceof this.namespace.elements.Element))throw new TypeError(`Given element \`${o}\` is not an Element instance`);const s={element:o.element};o._meta&&o._meta.length>0&&(s.meta=this.serialiseObject(o.meta)),o._attributes&&o._attributes.length>0&&(s.attributes=this.serialiseObject(o.attributes));const i=this.serialiseContent(o.content);return void 0!==i&&(s.content=i),s}deserialise(o){if(!o.element)throw new Error("Given value is not an object containing an element name");const s=new(this.namespace.getElementClass(o.element));s.element!==o.element&&(s.element=o.element),o.meta&&this.deserialiseObject(o.meta,s.meta),o.attributes&&this.deserialiseObject(o.attributes,s.attributes);const i=this.deserialiseContent(o.content);return void 0===i&&null!==s.content||(s.content=i),s}serialiseContent(o){if(o instanceof this.namespace.elements.Element)return this.serialise(o);if(o instanceof this.namespace.KeyValuePair){const s={key:this.serialise(o.key)};return o.value&&(s.value=this.serialise(o.value)),s}if(o&&o.map){if(0===o.length)return;return o.map(this.serialise,this)}return o}deserialiseContent(o){if(o){if(o.element)return this.deserialise(o);if(o.key){const s=new this.namespace.KeyValuePair(this.deserialise(o.key));return o.value&&(s.value=this.deserialise(o.value)),s}if(o.map)return o.map(this.deserialise,this)}return o}serialiseObject(o){const s={};if(o.forEach(((o,i)=>{o&&(s[i.toValue()]=this.serialise(o))})),0!==Object.keys(s).length)return s}deserialiseObject(o,s){Object.keys(o).forEach((i=>{s.set(i,this.deserialise(o[i]))}))}}},58859:(o,s,i)=>{var u="function"==typeof Map&&Map.prototype,_=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,w=u&&_&&"function"==typeof _.get?_.get:null,x=u&&Map.prototype.forEach,C="function"==typeof Set&&Set.prototype,j=Object.getOwnPropertyDescriptor&&C?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,L=C&&j&&"function"==typeof j.get?j.get:null,B=C&&Set.prototype.forEach,$="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,V="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,U="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,z=Boolean.prototype.valueOf,Y=Object.prototype.toString,Z=Function.prototype.toString,ee=String.prototype.match,ie=String.prototype.slice,ae=String.prototype.replace,ce=String.prototype.toUpperCase,le=String.prototype.toLowerCase,pe=RegExp.prototype.test,de=Array.prototype.concat,fe=Array.prototype.join,ye=Array.prototype.slice,be=Math.floor,_e="function"==typeof BigInt?BigInt.prototype.valueOf:null,we=Object.getOwnPropertySymbols,Se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,xe="function"==typeof Symbol&&"object"==typeof Symbol.iterator,Pe="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===xe||"symbol")?Symbol.toStringTag:null,Te=Object.prototype.propertyIsEnumerable,Re=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(o){return o.__proto__}:null);function addNumericSeparator(o,s){if(o===1/0||o===-1/0||o!=o||o&&o>-1e3&&o<1e3||pe.call(/e/,s))return s;var i=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof o){var u=o<0?-be(-o):be(o);if(u!==o){var _=String(u),w=ie.call(s,_.length+1);return ae.call(_,i,"$&_")+"."+ae.call(ae.call(w,/([0-9]{3})/g,"$&_"),/_$/,"")}}return ae.call(s,i,"$&_")}var qe=i(42634),$e=qe.custom,ze=isSymbol($e)?$e:null;function wrapQuotes(o,s,i){var u="double"===(i.quoteStyle||s)?'"':"'";return u+o+u}function quote(o){return ae.call(String(o),/"/g,""")}function isArray(o){return!("[object Array]"!==toStr(o)||Pe&&"object"==typeof o&&Pe in o)}function isRegExp(o){return!("[object RegExp]"!==toStr(o)||Pe&&"object"==typeof o&&Pe in o)}function isSymbol(o){if(xe)return o&&"object"==typeof o&&o instanceof Symbol;if("symbol"==typeof o)return!0;if(!o||"object"!=typeof o||!Se)return!1;try{return Se.call(o),!0}catch(o){}return!1}o.exports=function inspect_(o,s,u,_){var C=s||{};if(has(C,"quoteStyle")&&"single"!==C.quoteStyle&&"double"!==C.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(has(C,"maxStringLength")&&("number"==typeof C.maxStringLength?C.maxStringLength<0&&C.maxStringLength!==1/0:null!==C.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var j=!has(C,"customInspect")||C.customInspect;if("boolean"!=typeof j&&"symbol"!==j)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(has(C,"indent")&&null!==C.indent&&"\t"!==C.indent&&!(parseInt(C.indent,10)===C.indent&&C.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(has(C,"numericSeparator")&&"boolean"!=typeof C.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var Y=C.numericSeparator;if(void 0===o)return"undefined";if(null===o)return"null";if("boolean"==typeof o)return o?"true":"false";if("string"==typeof o)return inspectString(o,C);if("number"==typeof o){if(0===o)return 1/0/o>0?"0":"-0";var ce=String(o);return Y?addNumericSeparator(o,ce):ce}if("bigint"==typeof o){var pe=String(o)+"n";return Y?addNumericSeparator(o,pe):pe}var be=void 0===C.depth?5:C.depth;if(void 0===u&&(u=0),u>=be&&be>0&&"object"==typeof o)return isArray(o)?"[Array]":"[Object]";var we=function getIndent(o,s){var i;if("\t"===o.indent)i="\t";else{if(!("number"==typeof o.indent&&o.indent>0))return null;i=fe.call(Array(o.indent+1)," ")}return{base:i,prev:fe.call(Array(s+1),i)}}(C,u);if(void 0===_)_=[];else if(indexOf(_,o)>=0)return"[Circular]";function inspect(o,s,i){if(s&&(_=ye.call(_)).push(s),i){var w={depth:C.depth};return has(C,"quoteStyle")&&(w.quoteStyle=C.quoteStyle),inspect_(o,w,u+1,_)}return inspect_(o,C,u+1,_)}if("function"==typeof o&&!isRegExp(o)){var $e=function nameOf(o){if(o.name)return o.name;var s=ee.call(Z.call(o),/^function\s*([\w$]+)/);if(s)return s[1];return null}(o),We=arrObjKeys(o,inspect);return"[Function"+($e?": "+$e:" (anonymous)")+"]"+(We.length>0?" { "+fe.call(We,", ")+" }":"")}if(isSymbol(o)){var He=xe?ae.call(String(o),/^(Symbol\(.*\))_[^)]*$/,"$1"):Se.call(o);return"object"!=typeof o||xe?He:markBoxed(He)}if(function isElement(o){if(!o||"object"!=typeof o)return!1;if("undefined"!=typeof HTMLElement&&o instanceof HTMLElement)return!0;return"string"==typeof o.nodeName&&"function"==typeof o.getAttribute}(o)){for(var Ye="<"+le.call(String(o.nodeName)),Xe=o.attributes||[],Qe=0;Qe"}if(isArray(o)){if(0===o.length)return"[]";var et=arrObjKeys(o,inspect);return we&&!function singleLineValues(o){for(var s=0;s=0)return!1;return!0}(et)?"["+indentedJoin(et,we)+"]":"[ "+fe.call(et,", ")+" ]"}if(function isError(o){return!("[object Error]"!==toStr(o)||Pe&&"object"==typeof o&&Pe in o)}(o)){var tt=arrObjKeys(o,inspect);return"cause"in Error.prototype||!("cause"in o)||Te.call(o,"cause")?0===tt.length?"["+String(o)+"]":"{ ["+String(o)+"] "+fe.call(tt,", ")+" }":"{ ["+String(o)+"] "+fe.call(de.call("[cause]: "+inspect(o.cause),tt),", ")+" }"}if("object"==typeof o&&j){if(ze&&"function"==typeof o[ze]&&qe)return qe(o,{depth:be-u});if("symbol"!==j&&"function"==typeof o.inspect)return o.inspect()}if(function isMap(o){if(!w||!o||"object"!=typeof o)return!1;try{w.call(o);try{L.call(o)}catch(o){return!0}return o instanceof Map}catch(o){}return!1}(o)){var rt=[];return x&&x.call(o,(function(s,i){rt.push(inspect(i,o,!0)+" => "+inspect(s,o))})),collectionOf("Map",w.call(o),rt,we)}if(function isSet(o){if(!L||!o||"object"!=typeof o)return!1;try{L.call(o);try{w.call(o)}catch(o){return!0}return o instanceof Set}catch(o){}return!1}(o)){var nt=[];return B&&B.call(o,(function(s){nt.push(inspect(s,o))})),collectionOf("Set",L.call(o),nt,we)}if(function isWeakMap(o){if(!$||!o||"object"!=typeof o)return!1;try{$.call(o,$);try{V.call(o,V)}catch(o){return!0}return o instanceof WeakMap}catch(o){}return!1}(o))return weakCollectionOf("WeakMap");if(function isWeakSet(o){if(!V||!o||"object"!=typeof o)return!1;try{V.call(o,V);try{$.call(o,$)}catch(o){return!0}return o instanceof WeakSet}catch(o){}return!1}(o))return weakCollectionOf("WeakSet");if(function isWeakRef(o){if(!U||!o||"object"!=typeof o)return!1;try{return U.call(o),!0}catch(o){}return!1}(o))return weakCollectionOf("WeakRef");if(function isNumber(o){return!("[object Number]"!==toStr(o)||Pe&&"object"==typeof o&&Pe in o)}(o))return markBoxed(inspect(Number(o)));if(function isBigInt(o){if(!o||"object"!=typeof o||!_e)return!1;try{return _e.call(o),!0}catch(o){}return!1}(o))return markBoxed(inspect(_e.call(o)));if(function isBoolean(o){return!("[object Boolean]"!==toStr(o)||Pe&&"object"==typeof o&&Pe in o)}(o))return markBoxed(z.call(o));if(function isString(o){return!("[object String]"!==toStr(o)||Pe&&"object"==typeof o&&Pe in o)}(o))return markBoxed(inspect(String(o)));if("undefined"!=typeof window&&o===window)return"{ [object Window] }";if(o===i.g)return"{ [object globalThis] }";if(!function isDate(o){return!("[object Date]"!==toStr(o)||Pe&&"object"==typeof o&&Pe in o)}(o)&&!isRegExp(o)){var ot=arrObjKeys(o,inspect),st=Re?Re(o)===Object.prototype:o instanceof Object||o.constructor===Object,it=o instanceof Object?"":"null prototype",at=!st&&Pe&&Object(o)===o&&Pe in o?ie.call(toStr(o),8,-1):it?"Object":"",ct=(st||"function"!=typeof o.constructor?"":o.constructor.name?o.constructor.name+" ":"")+(at||it?"["+fe.call(de.call([],at||[],it||[]),": ")+"] ":"");return 0===ot.length?ct+"{}":we?ct+"{"+indentedJoin(ot,we)+"}":ct+"{ "+fe.call(ot,", ")+" }"}return String(o)};var We=Object.prototype.hasOwnProperty||function(o){return o in this};function has(o,s){return We.call(o,s)}function toStr(o){return Y.call(o)}function indexOf(o,s){if(o.indexOf)return o.indexOf(s);for(var i=0,u=o.length;is.maxStringLength){var i=o.length-s.maxStringLength,u="... "+i+" more character"+(i>1?"s":"");return inspectString(ie.call(o,0,s.maxStringLength),s)+u}return wrapQuotes(ae.call(ae.call(o,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,lowbyte),"single",s)}function lowbyte(o){var s=o.charCodeAt(0),i={8:"b",9:"t",10:"n",12:"f",13:"r"}[s];return i?"\\"+i:"\\x"+(s<16?"0":"")+ce.call(s.toString(16))}function markBoxed(o){return"Object("+o+")"}function weakCollectionOf(o){return o+" { ? }"}function collectionOf(o,s,i,u){return o+" ("+s+") {"+(u?indentedJoin(i,u):fe.call(i,", "))+"}"}function indentedJoin(o,s){if(0===o.length)return"";var i="\n"+s.prev+s.base;return i+fe.call(o,","+i)+"\n"+s.prev}function arrObjKeys(o,s){var i=isArray(o),u=[];if(i){u.length=o.length;for(var _=0;_{var s,i,u=o.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(o){if(s===setTimeout)return setTimeout(o,0);if((s===defaultSetTimout||!s)&&setTimeout)return s=setTimeout,setTimeout(o,0);try{return s(o,0)}catch(i){try{return s.call(null,o,0)}catch(i){return s.call(this,o,0)}}}!function(){try{s="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(o){s=defaultSetTimout}try{i="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(o){i=defaultClearTimeout}}();var _,w=[],x=!1,C=-1;function cleanUpNextTick(){x&&_&&(x=!1,_.length?w=_.concat(w):C=-1,w.length&&drainQueue())}function drainQueue(){if(!x){var o=runTimeout(cleanUpNextTick);x=!0;for(var s=w.length;s;){for(_=w,w=[];++C1)for(var i=1;i{"use strict";var u=i(6925);function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction,o.exports=function(){function shim(o,s,i,_,w,x){if(x!==u){var C=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw C.name="Invariant Violation",C}}function getShim(){return shim}shim.isRequired=shim;var o={array:shim,bigint:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,elementType:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};return o.PropTypes=o,o}},5556:(o,s,i)=>{o.exports=i(2694)()},6925:o=>{"use strict";o.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},74765:o=>{"use strict";var s=String.prototype.replace,i=/%20/g,u="RFC1738",_="RFC3986";o.exports={default:_,formatters:{RFC1738:function(o){return s.call(o,i,"+")},RFC3986:function(o){return String(o)}},RFC1738:u,RFC3986:_}},55373:(o,s,i)=>{"use strict";var u=i(98636),_=i(62642),w=i(74765);o.exports={formats:w,parse:_,stringify:u}},62642:(o,s,i)=>{"use strict";var u=i(37720),_=Object.prototype.hasOwnProperty,w=Array.isArray,x={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:u.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},interpretNumericEntities=function(o){return o.replace(/&#(\d+);/g,(function(o,s){return String.fromCharCode(parseInt(s,10))}))},parseArrayValue=function(o,s){return o&&"string"==typeof o&&s.comma&&o.indexOf(",")>-1?o.split(","):o},C=function parseQueryStringKeys(o,s,i,u){if(o){var w=i.allowDots?o.replace(/\.([^.[]+)/g,"[$1]"):o,x=/(\[[^[\]]*])/g,C=i.depth>0&&/(\[[^[\]]*])/.exec(w),j=C?w.slice(0,C.index):w,L=[];if(j){if(!i.plainObjects&&_.call(Object.prototype,j)&&!i.allowPrototypes)return;L.push(j)}for(var B=0;i.depth>0&&null!==(C=x.exec(w))&&B=0;--w){var x,C=o[w];if("[]"===C&&i.parseArrays)x=[].concat(_);else{x=i.plainObjects?Object.create(null):{};var j="["===C.charAt(0)&&"]"===C.charAt(C.length-1)?C.slice(1,-1):C,L=parseInt(j,10);i.parseArrays||""!==j?!isNaN(L)&&C!==j&&String(L)===j&&L>=0&&i.parseArrays&&L<=i.arrayLimit?(x=[])[L]=_:"__proto__"!==j&&(x[j]=_):x={0:_}}_=x}return _}(L,s,i,u)}};o.exports=function(o,s){var i=function normalizeParseOptions(o){if(!o)return x;if(null!==o.decoder&&void 0!==o.decoder&&"function"!=typeof o.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==o.charset&&"utf-8"!==o.charset&&"iso-8859-1"!==o.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var s=void 0===o.charset?x.charset:o.charset;return{allowDots:void 0===o.allowDots?x.allowDots:!!o.allowDots,allowPrototypes:"boolean"==typeof o.allowPrototypes?o.allowPrototypes:x.allowPrototypes,allowSparse:"boolean"==typeof o.allowSparse?o.allowSparse:x.allowSparse,arrayLimit:"number"==typeof o.arrayLimit?o.arrayLimit:x.arrayLimit,charset:s,charsetSentinel:"boolean"==typeof o.charsetSentinel?o.charsetSentinel:x.charsetSentinel,comma:"boolean"==typeof o.comma?o.comma:x.comma,decoder:"function"==typeof o.decoder?o.decoder:x.decoder,delimiter:"string"==typeof o.delimiter||u.isRegExp(o.delimiter)?o.delimiter:x.delimiter,depth:"number"==typeof o.depth||!1===o.depth?+o.depth:x.depth,ignoreQueryPrefix:!0===o.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof o.interpretNumericEntities?o.interpretNumericEntities:x.interpretNumericEntities,parameterLimit:"number"==typeof o.parameterLimit?o.parameterLimit:x.parameterLimit,parseArrays:!1!==o.parseArrays,plainObjects:"boolean"==typeof o.plainObjects?o.plainObjects:x.plainObjects,strictNullHandling:"boolean"==typeof o.strictNullHandling?o.strictNullHandling:x.strictNullHandling}}(s);if(""===o||null==o)return i.plainObjects?Object.create(null):{};for(var j="string"==typeof o?function parseQueryStringValues(o,s){var i,C={},j=s.ignoreQueryPrefix?o.replace(/^\?/,""):o,L=s.parameterLimit===1/0?void 0:s.parameterLimit,B=j.split(s.delimiter,L),$=-1,V=s.charset;if(s.charsetSentinel)for(i=0;i-1&&(z=w(z)?[z]:z),_.call(C,U)?C[U]=u.combine(C[U],z):C[U]=z}return C}(o,i):o,L=i.plainObjects?Object.create(null):{},B=Object.keys(j),$=0;${"use strict";var u=i(920),_=i(37720),w=i(74765),x=Object.prototype.hasOwnProperty,C={brackets:function brackets(o){return o+"[]"},comma:"comma",indices:function indices(o,s){return o+"["+s+"]"},repeat:function repeat(o){return o}},j=Array.isArray,L=String.prototype.split,B=Array.prototype.push,pushToArray=function(o,s){B.apply(o,j(s)?s:[s])},$=Date.prototype.toISOString,V=w.default,U={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:_.encode,encodeValuesOnly:!1,format:V,formatter:w.formatters[V],indices:!1,serializeDate:function serializeDate(o){return $.call(o)},skipNulls:!1,strictNullHandling:!1},z={},Y=function stringify(o,s,i,w,x,C,B,$,V,Y,Z,ee,ie,ae,ce,le){for(var pe=o,de=le,fe=0,ye=!1;void 0!==(de=de.get(z))&&!ye;){var be=de.get(o);if(fe+=1,void 0!==be){if(be===fe)throw new RangeError("Cyclic object value");ye=!0}void 0===de.get(z)&&(fe=0)}if("function"==typeof $?pe=$(s,pe):pe instanceof Date?pe=Z(pe):"comma"===i&&j(pe)&&(pe=_.maybeMap(pe,(function(o){return o instanceof Date?Z(o):o}))),null===pe){if(x)return B&&!ae?B(s,U.encoder,ce,"key",ee):s;pe=""}if(function isNonNullishPrimitive(o){return"string"==typeof o||"number"==typeof o||"boolean"==typeof o||"symbol"==typeof o||"bigint"==typeof o}(pe)||_.isBuffer(pe)){if(B){var _e=ae?s:B(s,U.encoder,ce,"key",ee);if("comma"===i&&ae){for(var we=L.call(String(pe),","),Se="",xe=0;xe0?pe.join(",")||null:void 0}];else if(j($))Pe=$;else{var Re=Object.keys(pe);Pe=V?Re.sort(V):Re}for(var qe=w&&j(pe)&&1===pe.length?s+"[]":s,$e=0;$e0?ce+ae:""}},37720:(o,s,i)=>{"use strict";var u=i(74765),_=Object.prototype.hasOwnProperty,w=Array.isArray,x=function(){for(var o=[],s=0;s<256;++s)o.push("%"+((s<16?"0":"")+s.toString(16)).toUpperCase());return o}(),C=function arrayToObject(o,s){for(var i=s&&s.plainObjects?Object.create(null):{},u=0;u1;){var s=o.pop(),i=s.obj[s.prop];if(w(i)){for(var u=[],_=0;_=48&&B<=57||B>=65&&B<=90||B>=97&&B<=122||w===u.RFC1738&&(40===B||41===B)?j+=C.charAt(L):B<128?j+=x[B]:B<2048?j+=x[192|B>>6]+x[128|63&B]:B<55296||B>=57344?j+=x[224|B>>12]+x[128|B>>6&63]+x[128|63&B]:(L+=1,B=65536+((1023&B)<<10|1023&C.charCodeAt(L)),j+=x[240|B>>18]+x[128|B>>12&63]+x[128|B>>6&63]+x[128|63&B])}return j},isBuffer:function isBuffer(o){return!(!o||"object"!=typeof o)&&!!(o.constructor&&o.constructor.isBuffer&&o.constructor.isBuffer(o))},isRegExp:function isRegExp(o){return"[object RegExp]"===Object.prototype.toString.call(o)},maybeMap:function maybeMap(o,s){if(w(o)){for(var i=[],u=0;u{"use strict";var i=Object.prototype.hasOwnProperty;function decode(o){try{return decodeURIComponent(o.replace(/\+/g," "))}catch(o){return null}}function encode(o){try{return encodeURIComponent(o)}catch(o){return null}}s.stringify=function querystringify(o,s){s=s||"";var u,_,w=[];for(_ in"string"!=typeof s&&(s="?"),o)if(i.call(o,_)){if((u=o[_])||null!=u&&!isNaN(u)||(u=""),_=encode(_),u=encode(u),null===_||null===u)continue;w.push(_+"="+u)}return w.length?s+w.join("&"):""},s.parse=function querystring(o){for(var s,i=/([^=?#&]+)=?([^&]*)/g,u={};s=i.exec(o);){var _=decode(s[1]),w=decode(s[2]);null===_||null===w||_ in u||(u[_]=w)}return u}},41859:(o,s,i)=>{const u=i(27096),_=i(78004),w=u.types;o.exports=class RandExp{constructor(o,s){if(this._setDefaults(o),o instanceof RegExp)this.ignoreCase=o.ignoreCase,this.multiline=o.multiline,o=o.source;else{if("string"!=typeof o)throw new Error("Expected a regexp or string");this.ignoreCase=s&&-1!==s.indexOf("i"),this.multiline=s&&-1!==s.indexOf("m")}this.tokens=u(o)}_setDefaults(o){this.max=null!=o.max?o.max:null!=RandExp.prototype.max?RandExp.prototype.max:100,this.defaultRange=o.defaultRange?o.defaultRange:this.defaultRange.clone(),o.randInt&&(this.randInt=o.randInt)}gen(){return this._gen(this.tokens,[])}_gen(o,s){var i,u,_,x,C;switch(o.type){case w.ROOT:case w.GROUP:if(o.followedBy||o.notFollowedBy)return"";for(o.remember&&void 0===o.groupNumber&&(o.groupNumber=s.push(null)-1),u="",x=0,C=(i=o.options?this._randSelect(o.options):o.stack).length;x{"use strict";var u=i(65606),_=65536,w=4294967295;var x=i(92861).Buffer,C=i.g.crypto||i.g.msCrypto;C&&C.getRandomValues?o.exports=function randomBytes(o,s){if(o>w)throw new RangeError("requested too many random bytes");var i=x.allocUnsafe(o);if(o>0)if(o>_)for(var j=0;j{"use strict";function _typeof(o){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}Object.defineProperty(s,"__esModule",{value:!0}),s.CopyToClipboard=void 0;var u=_interopRequireDefault(i(96540)),_=_interopRequireDefault(i(17965)),w=["text","onCopy","options","children"];function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function ownKeys(o,s){var i=Object.keys(o);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(o);s&&(u=u.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),i.push.apply(i,u)}return i}function _objectSpread(o){for(var s=1;s=0||(_[i]=o[i]);return _}(o,s);if(Object.getOwnPropertySymbols){var w=Object.getOwnPropertySymbols(o);for(u=0;u=0||Object.prototype.propertyIsEnumerable.call(o,i)&&(_[i]=o[i])}return _}function _defineProperties(o,s){for(var i=0;i{"use strict";var u=i(25264).CopyToClipboard;u.CopyToClipboard=u,o.exports=u},81214:(o,s,i)=>{"use strict";function _typeof(o){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}Object.defineProperty(s,"__esModule",{value:!0}),s.DebounceInput=void 0;var u=_interopRequireDefault(i(96540)),_=_interopRequireDefault(i(20181)),w=["element","onChange","value","minLength","debounceTimeout","forceNotifyByEnter","forceNotifyOnBlur","onKeyDown","onBlur","inputRef"];function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,s){if(null==o)return{};var i,u,_=function _objectWithoutPropertiesLoose(o,s){if(null==o)return{};var i,u,_={},w=Object.keys(o);for(u=0;u=0||(_[i]=o[i]);return _}(o,s);if(Object.getOwnPropertySymbols){var w=Object.getOwnPropertySymbols(o);for(u=0;u=0||Object.prototype.propertyIsEnumerable.call(o,i)&&(_[i]=o[i])}return _}function ownKeys(o,s){var i=Object.keys(o);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(o);s&&(u=u.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),i.push.apply(i,u)}return i}function _objectSpread(o){for(var s=1;s=u?i.notify(o):s.length>_.length&&i.notify(_objectSpread(_objectSpread({},o),{},{target:_objectSpread(_objectSpread({},o.target),{},{value:""})}))}))})),_defineProperty(_assertThisInitialized(i),"onKeyDown",(function(o){"Enter"===o.key&&i.forceNotify(o);var s=i.props.onKeyDown;s&&(o.persist(),s(o))})),_defineProperty(_assertThisInitialized(i),"onBlur",(function(o){i.forceNotify(o);var s=i.props.onBlur;s&&(o.persist(),s(o))})),_defineProperty(_assertThisInitialized(i),"createNotifier",(function(o){if(o<0)i.notify=function(){return null};else if(0===o)i.notify=i.doNotify;else{var s=(0,_.default)((function(o){i.isDebouncing=!1,i.doNotify(o)}),o);i.notify=function(o){i.isDebouncing=!0,s(o)},i.flush=function(){return s.flush()},i.cancel=function(){i.isDebouncing=!1,s.cancel()}}})),_defineProperty(_assertThisInitialized(i),"doNotify",(function(){i.props.onChange.apply(void 0,arguments)})),_defineProperty(_assertThisInitialized(i),"forceNotify",(function(o){var s=i.props.debounceTimeout;if(i.isDebouncing||!(s>0)){i.cancel&&i.cancel();var u=i.state.value,_=i.props.minLength;u.length>=_?i.doNotify(o):i.doNotify(_objectSpread(_objectSpread({},o),{},{target:_objectSpread(_objectSpread({},o.target),{},{value:u})}))}})),i.isDebouncing=!1,i.state={value:void 0===o.value||null===o.value?"":o.value};var u=i.props.debounceTimeout;return i.createNotifier(u),i}return function _createClass(o,s,i){return s&&_defineProperties(o.prototype,s),i&&_defineProperties(o,i),Object.defineProperty(o,"prototype",{writable:!1}),o}(DebounceInput,[{key:"componentDidUpdate",value:function componentDidUpdate(o){if(!this.isDebouncing){var s=this.props,i=s.value,u=s.debounceTimeout,_=o.debounceTimeout,w=o.value,x=this.state.value;void 0!==i&&w!==i&&x!==i&&this.setState({value:i}),u!==_&&this.createNotifier(u)}}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.flush&&this.flush()}},{key:"render",value:function render(){var o,s,i=this.props,_=i.element,x=(i.onChange,i.value,i.minLength,i.debounceTimeout,i.forceNotifyByEnter),C=i.forceNotifyOnBlur,j=i.onKeyDown,L=i.onBlur,B=i.inputRef,$=_objectWithoutProperties(i,w),V=this.state.value;o=x?{onKeyDown:this.onKeyDown}:j?{onKeyDown:j}:{},s=C?{onBlur:this.onBlur}:L?{onBlur:L}:{};var U=B?{ref:B}:{};return u.default.createElement(_,_objectSpread(_objectSpread(_objectSpread(_objectSpread({},$),{},{onChange:this.onChange,value:V},o),s),U))}}]),DebounceInput}(u.default.PureComponent);s.DebounceInput=x,_defineProperty(x,"defaultProps",{element:"input",type:"text",onKeyDown:void 0,onBlur:void 0,value:void 0,minLength:0,debounceTimeout:100,forceNotifyByEnter:!0,forceNotifyOnBlur:!0,inputRef:void 0})},24677:(o,s,i)=>{"use strict";var u=i(81214).DebounceInput;u.DebounceInput=u,o.exports=u},22551:(o,s,i)=>{"use strict";var u=i(96540),_=i(69982);function p(o){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+o,i=1;i

UyYaA;PaVtBo%Z(yNJ;i09SDi>M|d#9t7C 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%0ACauZ%OI`!GPd*?{ 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 !Ih$)5?K~W=vG3ozB3)0nf!55x3ZA5aar=Ra8Fj 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⋘wLzui*CzrQxHdC>qAqVXWf(Lwuz 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 literal 0 HcmV?d00001 diff --git a/public/static/img/mdlogo-code-128px.png b/public/static/img/mdlogo-code-128px.png new file mode 100644 index 0000000000000000000000000000000000000000..99e028cdee9bc3dc13b5a9a3ed9efe237d313fd6 GIT binary patch literal 1957 zcmb_dc{JPG7XAexEm|%OC3RbO8QZI&gP~q|X0CdgmJXqWtK>?87($CGHKa7<(wc|H zP&GtV4Jk1XL6o3ZNO}$7hANsEQyw?{+HSP+UI=h>~9mDoorh@NDzaE~qlK+#Vg1chh z!H*-7pK_J?$I|C8juKpNG@0TzM?R&mVyKerV8`(jmxgNUeN=wJw1c2JI(N)jes)iY z(z3YFJ{zlw3|F;d-6mty>DY|xtxorG3s;SJndd=&FsOvP(JLJ4(>bxCldpSdQ^(|7 zmE>cL)q!9u;EyDLArH#>K@4sy;YotD!~TarMok!4!Z&P{LzFtImdb5zZe~tT*SI7= zoI5eB*PsqhIR_o>g_b1t0={DbKl`znFy)g3_{T87caD_E{rJ6j< zKsIV~0DXLIWAgCAlMs^@FL% zzn;m&N!)1(m&anU^E(L%l957zb)zyWegs#|r1sj$8iz(}RkW5$mmoI_)-3z0GEzprxhcr8hy1Kgg z9j~ut@e#d!eaz8O3(|vweOlOY0~iB_7KhvJLgi#6gO)}$@OvLBZ(Q~8cot^l>5a7JgW44^cr2-@CE7`J%X3oJOOSS5$}r7*3P?g$ozT ztE#$3M&t@EM?LO)`aM^Kd2WB8VBS9Oa+C`1eSRF4ot2l@&0;BI*a?WkCr+FQ=g)zG znXjA6q)j(R-DjQI=X?Ri*&|UKi}F+_cX#*2<>j%<(CXQ)K%=S*gl@hQFKV)(Is-8P zm-)cqRGk?dFn%NyuKR+`Y4meo4x^LpmQP;ozweE zOdjl;3U?XqAk61qEsXM}cC>6D#%dnwnwNOsAK@`!tq!de4gk^A`%d zu;v#Ton47XYtdt6EwzR?j&?X7R756wP3o}_b*tc_mSqmkumQ_X@Pua>t_l_gBPN!7 zd2HH!Ln^7V|DBRKFF$f6+c%F2U! zlhd(~)Siuvx7-FI@lds!39Yn}DDu$hN!*M1TGHkoSsyGU=w3J+t{=a2xbAjU77+gx zh?y%)SE_SW>u>u@l{~``|R-7{%^85s*1+6?&hd>zT+QIAGn@Bj`Qgw6nv$8? z{+=*+me=2JFQ^@2F!o%^-c#TIp7}UM(!h2KU@%+3pINoy_qSIy`W}4UIP~gzg=Zd0 znbi_;PKQ@$_TUSjYm4|i+m+alO}0{>H5%*Z@{1@GQic>@V{5B_@uCfBIDTTerz1|P zpYPEYZG8qhruVX(X|9`qN)_C-5!Xo}k$zpybtt7rh&15D`p!S2tGPITf22aPNLSKy)!c>S3frMnrIXX#Sc^>PycsO zx`ufAPyorwjoRIs-QjadY=3|Mi^=3zMOC5|tZlEN ztV~kWNF}E2dlo~!!v!Fqa~AHDZ(=>QCTb2p3`PQOMjxA;wAT|!MS7&_P|=Su(`&XT z<+P2K^y>bYWqwBt)}!`@|;y15C@QhyFAcgFt*x!2HW z$8UfjLgp&OK{Gwcrg$ElT!#Kt(8~=%Wa`7)J|zs$=@8x1r|oOwp^2Yh1cU6o(`PqX wZ`y8lo*yC)mZ%p$WTXwd{Xa*^zplwMQ@v;6ow@i@T{Kbwdut~viiKzFpBO!?qW}N^ literal 0 HcmV?d00001 diff --git a/public/static/img/mdlogo-code-512px.png b/public/static/img/mdlogo-code-512px.png new file mode 100644 index 0000000000000000000000000000000000000000..4748c5a3481e524e4f362b1bc7376e15347a04f8 GIT binary patch literal 4715 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 literal 0 HcmV?d00001 diff --git a/public/static/img/mdlogo-code.svg b/public/static/img/mdlogo-code.svg new file mode 100644 index 0000000..3d530ea --- /dev/null +++ b/public/static/img/mdlogo-code.svg @@ -0,0 +1,423 @@ + + + + + General logo for museum-digital (black background) + + + + + + image/svg+xml + + + General logo for museum-digital (black background) + 2019 + + + museum-digital + + + + + + + + + + + + + + +   + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/static/img/more/20231010-Presentation.png b/public/static/img/more/20231010-Presentation.png new file mode 100644 index 0000000000000000000000000000000000000000..8bd24d5efe676a35eb3ceb3f66540fbfc0fd5a2d GIT binary patch literal 75329 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 M*lxt~JHP+{0Gb6|c>n+a literal 0 HcmV?d00001 diff --git a/public/static/js/README.md b/public/static/js/README.md new file mode 100644 index 0000000..b273545 --- /dev/null +++ b/public/static/js/README.md @@ -0,0 +1 @@ +# JS for building the web interface of the quality assessment tools of md diff --git a/public/static/js/qa.js b/public/static/js/qa.js new file mode 100644 index 0000000..c50cf66 --- /dev/null +++ b/public/static/js/qa.js @@ -0,0 +1,1129 @@ +"use strict"; + +const MAX_INPUT_SIZE = 1048576; + +if ('serviceWorker' in navigator) { + console.log("Registering service worker"); + navigator.serviceWorker.register('/sw.js'); +} + +class QaPage { + + lang; + tls; + domWrapper; + domUploaderWrapper; + domUploaderCurrentWrapper; + domMainWrapper; + + parser; + selectedActivity; + selectedApi; + + constructor(lang, tls) { + + this.lang = lang; + this.tls = Object.freeze(tls); + + let wrapper = document.createElement("div"); + wrapper.id = "contentWrapper"; + this.domWrapper = wrapper; + + let domUploaderWrapper = document.createElement("div"); + domUploaderWrapper.id = "uploader"; + domUploaderWrapper.classList.add("uploader"); + this.domUploaderWrapper = domUploaderWrapper; + + let domUploaderCurrentWrapper = document.createElement("div"); + domUploaderCurrentWrapper.id = "uploaderMenu"; + this.domUploaderCurrentWrapper = domUploaderCurrentWrapper; + + let domMainWrapper = document.createElement("main"); + this.domMainWrapper = domMainWrapper; + } + + goForwardInMenuPages(from) { + + const app = this; + + switch (from) { + case "parserSelection": + app.drawUpActivitySelection(); + break; + case "activityTypeSelection": + app.drawUpApiTypeSelection(); + break; + case "apiTypeSelection": + app.drawUpUploadTypeSelection(); + break; + default: + console.log("Invalid page to go forward from selected."); + } + + } + + generateDialogueCloseButton() { + + const cancelB = document.createElement("a"); + cancelB.classList.add("icons"); + cancelB.classList.add("iconsClose"); + cancelB.classList.add("dialogueCloseX"); + cancelB.id = "dialogueClose"; + cancelB.textContent = "X"; + cancelB.title = this.tls.close; + cancelB.href = "#" + location.href; + cancelB.addEventListener('click', QaDialogue.closeDialogue); + return cancelB; + + } + + /** + * Setter for selectedActivity. Checks if the first argument of the API works with the intended + * activity. + */ + setSelectedActivity(selected) { + + if (['evaluate', 'convert_to_xml'].includes(selected)) { + this.selectedActivity = selected; + } + else { + window.alert("Invalid activity selected"); + } + + } + + /** + * Setter for selectedApi. Checks if the second argument of the API works with the intended + * activity. + */ + setSelectedApi(selected) { + + let api_whitelist; + switch (this.selectedActivity) { + case "evaluate": + api_whitelist = ['object', 'count_vocabulary_entries_to_be_added', 'minimaldatensatz']; + break; + case "convert_to_xml": + const allowedXmlConversionTargets = document.documentElement.getAttribute("data-allowed-xml-conversion-targets").split(','); + api_whitelist = allowedXmlConversionTargets; + break; + default: + window.alert("Invalid activity set: " + this.selectedActivity); + } + + if (api_whitelist.includes(selected)) { + this.selectedApi = selected; + } + else { + window.alert("Invalid activity selected"); + } + + } + + downloadFromString(filename, text) { + + const blob = new Blob([text], { type: "text/plain" }); + const link = document.createElement("a"); + + link.download = filename; + link.href = window.URL.createObjectURL(blob); + link.dataset.downloadurl = ["text/plain", link.download, link.href].join(":"); + + const evt = new MouseEvent("click", { + view: window, + bubbles: true, + cancelable: true, + }); + + link.dispatchEvent(evt); + link.remove() + + } + + generateValidationOutputsForCountNewToVocabs(results) { + + const validation_overlay_intro = document.getElementById("validation_overlay_intro"); + if (validation_overlay_intro !== undefined && validation_overlay_intro !== null) { + validation_overlay_intro.parentElement.removeChild(validation_overlay_intro); + } + + const resultsSection = document.createElement("div"); + + const h5 = document.createElement("h5"); + h5.textContent = this.tls.count_new_to_vocabs; + resultsSection.appendChild(h5); + + const table = document.createElement("table"); + + function createTr(th_value, td_value) { + + const tr = document.createElement("tr"); + + const th = document.createElement("th"); + th.textContent = th_value; + tr.appendChild(th); + + const tdText = document.createElement("td"); + tdText.textContent = td_value; + tr.appendChild(tdText); + + return tr; + + } + + for (let result of results.count) { + table.appendChild(createTr(result.category_name, result.count)); + } + + resultsSection.appendChild(table); + + const h6 = document.createElement("h6"); + h6.textContent = this.tls.samples; + resultsSection.appendChild(h6); + + const tableSamples = document.createElement("table"); + + for (let result of results.samples) { + tableSamples.appendChild(createTr(result.category_name, result.entries.join(", "))); + } + + resultsSection.appendChild(tableSamples); + + return resultsSection; + + } + + generateValidationOutputsForMinimaldatensatz(results) { + + const resultsSection = document.createElement("div"); + + for (let object of results) { + + const li = document.createElement("div"); + + const h5 = document.createElement("h5"); + h5.textContent = this.tls.inventory_number + ': ' + object.invno; + li.appendChild(h5); + + const table = document.createElement("table"); + for (let field of object.evaluations) { + + const tr = document.createElement("tr"); + + const td = document.createElement("td"); + td.style.width = "40px"; + if (field.passed === true) { + td.style.background = "var(--color-green)"; + } + else td.style.background = "var(--color-red)"; + tr.appendChild(td); + + const tdText = document.createElement("td"); + tdText.textContent = field.text; + tr.appendChild(tdText); + + table.appendChild(tr) + + } + li.appendChild(table); + resultsSection.appendChild(li); + + } + + return resultsSection; + + } + + generateRegularValidationOutputs(results) { + + const resultsSection = document.createElement("div"); + + function createTr(thText, tdChild) { + + const tr = document.createElement("tr"); + + const th = document.createElement("th"); + th.textContent = thText; + tr.appendChild(th); + + const td = document.createElement("td"); + td.appendChild(tdChild); + tr.appendChild(td); + + return tr; + + } + + for (let object of results) { + + const li = document.createElement("div"); + + const h5 = document.createElement("h5"); + h5.textContent = this.tls.inventory_number + ': ' + object.invno; + li.appendChild(h5); + + const liContent = document.createElement("div"); + + const table = document.createElement("table"); + + const score = document.createElement("span"); + score.textContent = object.puqi.score; + table.appendChild(createTr(this.tls.puqi_score, score)); + + const plausiStatus = document.createElement("span"); + if (object.plausi.warn === false) { + plausiStatus.textContent = this.tls.check_passed; + } + else plausiStatus.textContent = this.tls.warning; + table.appendChild(createTr(this.tls.plausi + ': ' + this.tls.status, plausiStatus)); + + const plausiLegalStatus = document.createElement("span"); + if (object.plausi_legal.warn === false) { + plausiLegalStatus.textContent = this.tls.check_passed; + } + else plausiLegalStatus.textContent = this.tls.warning; + table.appendChild(createTr(this.tls.plausi_legal + ': ' + this.tls.status, plausiLegalStatus)); + + liContent.appendChild(table); + + // Generate section for plausi warnings + if (object.plausi.msg.length !== 0) { + + const h6plausi = document.createElement("h6"); + h6plausi.textContent = this.tls.plausibility_warnings; + liContent.appendChild(h6plausi); + + const plausiMsgUl = document.createElement("ul"); + for (let msg of object.plausi.msg) { + + const plausiMsgLi = document.createElement("li"); + plausiMsgLi.textContent = msg; + plausiMsgUl.appendChild(plausiMsgLi); + + } + liContent.appendChild(plausiMsgUl); + + } + + // Generate section for plausiLegal warnings + if (object.plausi_legal.warn === true) { + + const h6plausiLegal = document.createElement("h6"); + h6plausiLegal.textContent = this.tls.plausibility_warnings_licenses; + liContent.appendChild(h6plausiLegal); + + const plausiLegalMsgUl = document.createElement("ul"); + for (let msg of object.plausi_legal.msg) { + + const plausiLegalMsgLi = document.createElement("li"); + + if (msg.link !== '') { + const plausiLegalA = document.createElement("a"); + plausiLegalA.href = msg.link; + plausiLegalA.textContent = msg.text; + plausiLegalMsgLi.appendChild(plausiLegalA); + } + else plausiLegalMsgLi.textContent = msg.text; + + plausiLegalMsgUl.appendChild(plausiLegalMsgLi); + + } + liContent.appendChild(plausiLegalMsgUl); + + } + + const h6puq = document.createElement("h6"); + h6puq.textContent = this.tls.puqi_notices; + liContent.appendChild(h6puq); + + const puqiMsgUl = document.createElement("ul"); + + for (let msg of object.puqi.msg) { + + const puqiMsgLi = document.createElement("li"); + puqiMsgLi.textContent = msg.message; + puqiMsgUl.appendChild(puqiMsgLi); + + } + + liContent.appendChild(puqiMsgUl); + + li.appendChild(liContent); + + resultsSection.appendChild(li); + + } + + return resultsSection; + + } + + listValidationOutputs(elements) { + + console.log("Listing validation errors"); + + const dialogueContent = document.createElement("div"); + + const headline = document.createElement("h3"); + headline.textContent = this.tls.validation_errors; + headline.appendChild(this.generateDialogueCloseButton()); + dialogueContent.appendChild(headline); + + const intro = document.createElement("p"); + intro.id = "validation_overlay_intro"; + intro.textContent = this.tls.objects_identified.replace("[placeholder_for_count]", elements.results.length); + dialogueContent.appendChild(intro); + + const resultsSection = document.createElement("section"); + dialogueContent.appendChild(resultsSection); + + const resultsSectionH4 = document.createElement("h4"); + resultsSectionH4.textContent = this.tls.results; + resultsSection.appendChild(resultsSectionH4); + + switch (this.selectedApi) { + case "count_vocabulary_entries_to_be_added": + resultsSection.appendChild(this.generateValidationOutputsForCountNewToVocabs(elements.results)); + break; + case "minimaldatensatz": + resultsSection.appendChild(this.generateValidationOutputsForMinimaldatensatz(elements.results)); + break; + default: + resultsSection.appendChild(this.generateRegularValidationOutputs(elements.results)); + break; + } + + dialogue = QaDialogue.drawDialogue(dialogueContent); + + } + + async runApiQuery(data) { + + if (navigator.onLine === false) { + window.alert(this.tls.currently_offline_msg); + document.body.classList.remove("loading"); + return false; + } + + let app = this; + + (async function() { + const result = data; + if (result.includes('�')) { + window.alert('The file encoding appears to not be UTF-8-encoded!'); + } + })(); + + let bodyParams = { + parser: app.parser, + lang: app.lang, + data: data, + }; + + if (app.selectedActivity === 'convert_to_xml') { + bodyParams.institution_name = window.prompt("The institution's name cannot automatically be reused from what may be stated in the uploaded data. If you would like to have one in the output data, please enter it here."); + bodyParams.institution_identifier = window.prompt("The institution's identifier (e.g. an ISIL ID) cannot automatically be reused from what may be stated in the uploaded data. If you would like to have one in the output data, please enter it here."); + } + + try { + + let requestBody = []; + for (let param in bodyParams) { + requestBody.push(param + '=' + encodeURIComponent(bodyParams[param])); + } + const response = await window.fetch('/api/' + app.selectedActivity + '/' + app.selectedApi, { + method: 'POST', cache: 'no-cache', + headers: {'Content-Type': 'application/x-www-form-urlencoded'}, + body: requestBody.join("&"), + }); + + document.body.classList.remove("loading"); + if (response.status === 200) { + + switch (app.selectedActivity) { + case "evaluate": + try { + const elements = await response.json(); + app.listValidationOutputs(elements); + } + catch (error) { + console.log(error); + } + break; + case "convert_to_xml": + const text = await response.text(); + app.downloadFromString('converted-' + app.selectedActivity + '.xml', text); + break; + default: + window.alert("Invalid activity selected"); + } + } + else { + const text = await response.text(); + window.alert(text); + } + } + catch(error) { + console.log(error); + }; + + app.drawUpParserSelection(); + + } + + uploadFileForValidation(file) { + + let app = this; + + if (file.size >= MAX_INPUT_SIZE) { + window.alert(this.tls.filesize_too_big.replace("[placeholder]", MAX_INPUT_SIZE)); + return false; + } + + const reader = new FileReader(); + reader.readAsText(file, 'UTF-8'); + + document.body.classList.add("loading"); + + reader.onload = function() { + + function handleValidation() { + app.runApiQuery(reader.result); + + } + + handleValidation(); + + }; + reader.onerror = function() { + alert(reader.error); + }; + + } + + renderGenHeader() { + + const header = document.createElement("header"); + header.id = "mainHeader"; + + const logoArea = document.createElement("a"); + logoArea.id = "logoArea"; + logoArea.href = "https://www.museum-digital.org/"; + + const logoImg = document.createElement("img"); + logoImg.src = "/static/img/mdlogo-code.svg"; + logoImg.alt = "Logo of museum-digital"; + logoArea.appendChild(logoImg); + + const h2 = document.createElement("h2"); + h2.textContent = "museum-digital"; + logoArea.appendChild(h2); + + header.appendChild(logoArea); + + // Right side of the header + const nav = document.createElement("nav"); + + const lAbout = document.createElement("a"); + lAbout.href = "https://en.about.museum-digital.org/about"; + lAbout.textContent = this.tls.about; + nav.appendChild(lAbout); + + const lContactList = document.createElement("div"); + + const lContact = document.createElement("a"); + lContact.textContent = this.tls.contact; + lContact.href = "https://en.about.museum-digital.org/contact/"; + lContactList.appendChild(lContact); + + const lContactDiv = document.createElement("div"); + + const lImprint = document.createElement("a"); + lImprint.textContent = this.tls.imprint; + lImprint.href = "https://en.about.museum-digital.org/impressum"; + lContactDiv.appendChild(lImprint); + + const lPrivacy = document.createElement("a"); + lPrivacy.textContent = this.tls.privacy_policy; + lPrivacy.href = "https://en.about.museum-digital.org/privacy/"; + lContactDiv.appendChild(lPrivacy); + + lContactList.appendChild(lContactDiv); + nav.appendChild(lContactList); + + const lNews = document.createElement("a") + lNews.textContent = this.tls.news; + lNews.href = "https://blog.museum-digital.org/"; + nav.appendChild(lNews); + + header.appendChild(nav); + document.body.appendChild(header); + + } + + renderHeader() { + + const appHeader = document.createElement("header"); + appHeader.id = "appHeader"; + + const h1 = document.createElement("h1"); + + const img = document.createElement("img"); + img.width = "70"; + img.height = "70"; + img.src = "/static/img/mdlogo-code.svg"; + img.alt = ""; + h1.appendChild(img); + + const h1Span = document.createElement("span"); + h1Span.textContent = "museum-digital:qa"; + h1.appendChild(h1Span); + + appHeader.appendChild(h1); + + document.body.appendChild(appHeader); + + } + + createP(text) { + const output = document.createElement("p"); + output.textContent = text; + return output; + } + + createPlainTextElem(type, text) { + const output = document.createElement(type); + output.textContent = text; + return output; + } + + renderText() { + + const domH2 = document.createElement("h2"); + domH2.textContent = this.tls.quality_assessment_tools; + this.domMainWrapper.appendChild(domH2); + + this.domMainWrapper.appendChild(this.createP(this.tls.intro_text)); + + this.domWrapper.appendChild(this.domMainWrapper); + + } + + // Setup + renderUploader() { + + const textarea = document.createElement("textarea"); + this.domUploaderWrapper.appendChild(textarea); + + const submitB = document.createElement("button"); + submitB.textContent = "Submittt"; + this.domUploaderWrapper.appendChild(submitB); + + this.domWrapper.appendChild(this.domUploaderWrapper); + + } + + renderStartpageSectionTechBackground() { + + const app = this; + + function toggleAccordionBox(elem) { + + elem.classList.toggle("active"); + const panel = elem; + if (panel.style.maxHeight) { + panel.style.maxHeight = null + } else { + panel.style.maxHeight = panel.scrollHeight + "px" + } + + } + + function appendTypesOfEvaluations(section) { + + section.appendChild(app.createPlainTextElem("h3", app.tls.types_of_evaluations)); + + const threeColumnDiv = document.createElement("div"); + threeColumnDiv.classList.add("threeCol"); + + function generatePuqiDiv() { + + const puqiDiv = document.createElement("div"); + puqiDiv.id = "puqi_ex"; + puqiDiv.appendChild(app.createPlainTextElem("h4", app.tls.puqi)); + puqiDiv.appendChild(app.createP(app.tls.puqi_explica)); + puqiDiv.appendChild(app.createPlainTextElem("h5", app.tls.see)); + + const puqiCitUl = document.createElement("ul"); + + const puqiCit3 = document.createElement("li"); + puqiCit3.innerHTML = 'Rohde-Enslin, S. (2014). "PuQi - Eine Versuchung." Paper presented at the Autumn Seminar of the Working Group Documentation of the German Museum Association, 2014 (Herbsttagung der FG Dokumentation des Deutschen Museumsbunds). https://files.museum-digital.org/de/Praesentationen/2014-10-06_PuQI-Eine-Versuchung_SRE.pdf'; + puqiCitUl.appendChild(puqiCit3);; + + const puqiCit1 = document.createElement("li"); + puqiCit1.innerHTML = 'Rohde-Enslin, S. (2015). "PuQI – A Smart Way to Create Better Data." Uncommon Culture, 6 (2), 122-129. https://uncommonculture.org/ojs/index.php/UC/article/view/6218'; + puqiCitUl.appendChild(puqiCit1); + + const puqiCit2 = document.createElement("li"); + puqiCit2.innerHTML = 'Rohde-Enslin, S. (2021). "PuQi – Verführung zu Qualität." museum-digital:blog, https://blog.museum-digital.org/de/2021/01/22/ein-publikations-qualitaets-index-fuer-museumsobjektinformationen/'; + puqiCitUl.appendChild(puqiCit2);; + puqiDiv.appendChild(puqiCitUl); + + puqiDiv.addEventListener('click', function() { toggleAccordionBox(puqiDiv); }, {passive: true}) + + return puqiDiv; + + } + function generatePlausiDiv() { + + const plausiDiv = document.createElement("div"); + plausiDiv.id = "plausi_ex"; + plausiDiv.appendChild(app.createPlainTextElem("h4", app.tls.plausi)); + plausiDiv.appendChild(app.createP(app.tls.plausi_explica)); + plausiDiv.appendChild(app.createP(app.tls.plausi_explica_2)); + plausiDiv.appendChild(app.createPlainTextElem("h5", app.tls.see)); + + const plausiCitUl = document.createElement("ul"); + const plausiCit1 = document.createElement("li"); + plausiCit1.innerHTML = 'Rohde-Enslin, S. (2017). "Plausi - PuQI hat einen Freund bekommen." Paper presented at the Autumn Seminar of the Working Group Documentation of the German Museum Association, 2017 (Herbsttagung der FG Dokumentation des Deutschen Museumsbunds). https://files.museum-digital.org/de/Praesentationen/2017-11_Plausi-FG-Doku-Berlin_SRE.pdf'; + plausiCitUl.appendChild(plausiCit1);; + plausiDiv.appendChild(plausiCitUl); + + plausiDiv.addEventListener('click', function() { toggleAccordionBox(plausiDiv); }, {passive: true}) + return plausiDiv; + + } + function generatePlausiLegalDiv() { + + const plausiLegalDiv = document.createElement("div"); + plausiLegalDiv.id = "plausi_legal_ex"; + plausiLegalDiv.appendChild(app.createPlainTextElem("h4", app.tls.plausi_legal)); + plausiLegalDiv.appendChild(app.createP(app.tls.plausi_legal_explica)); + plausiLegalDiv.appendChild(app.createP(app.tls.plausi_legal_explica_2)); + + plausiLegalDiv.addEventListener('click', function() { toggleAccordionBox(plausiLegalDiv); }, {passive: true}) + return plausiLegalDiv; + + } + function generateCountNewToVocabsDiv() { + + const div = document.createElement("div"); + div.id = "minimaldatensatz_ex"; + div.appendChild(app.createPlainTextElem("h4", app.tls.count_new_to_vocabs)); + div.appendChild(app.createP(app.tls.count_new_to_vocabs_explica_1)); + // div.appendChild(app.createPlainTextElem("h5", app.tls.see)); + + div.addEventListener('click', function() { toggleAccordionBox(div); }, {passive: true}) + return div; + + } + function generateMinimaldatensatzDiv() { + + const div = document.createElement("div"); + div.id = "minimaldatensatz_ex"; + div.appendChild(app.createPlainTextElem("h4", "AG Minimaldatensatz")); + div.appendChild(app.createP(app.tls.minimaldatensatz_explica_1)); + div.appendChild(app.createP(app.tls.minimaldatensatz_explica_2)); + div.appendChild(app.createPlainTextElem("h5", app.tls.see)); + + const citUl = document.createElement("ul"); + const cit1 = document.createElement("li"); + cit1.innerHTML = 'AG Minimaldatensatz. (2023). "Minimaldatensatz-Empfehlung." http://minimaldatensatz.de'; + citUl.appendChild(cit1);; + + const cit2 = document.createElement("li"); + cit2.innerHTML = 'Marchini C. & Greisinger S. (2023). "Ein Fuß in der Tür: Die Minimaldatensatz-Empfehlung für Museen und Sammlungen." Paper presented at the Autumn Seminar of the Working Group Documentation of the German Museum Association, 2023 (Herbsttagung der FG Dokumentation des Deutschen Museumsbunds).'; + citUl.appendChild(cit2);; + div.appendChild(citUl); + + div.addEventListener('click', function() { toggleAccordionBox(div); }, {passive: true}) + return div; + + } + + threeColumnDiv.appendChild(generatePuqiDiv()); + threeColumnDiv.appendChild(generatePlausiDiv()); + threeColumnDiv.appendChild(generatePlausiLegalDiv()); + threeColumnDiv.appendChild(generateCountNewToVocabsDiv()); + threeColumnDiv.appendChild(generateMinimaldatensatzDiv()); + + section.appendChild(threeColumnDiv); + + } + + function appendOtherFeatures(section) { + + section.appendChild(app.createPlainTextElem("h3", app.tls.other_features)); + + const threeColumnDiv = document.createElement("div"); + threeColumnDiv.classList.add("threeCol"); + + function generateXmlConversionExp() { + + const xmlCDiv = document.createElement("div"); + xmlCDiv.id = "xmlC_ex"; + xmlCDiv.appendChild(app.createPlainTextElem("h4", app.tls.convert_to_xml)); + xmlCDiv.appendChild(app.createP(app.tls.convert_to_xml_explica)); + + xmlCDiv.appendChild(app.createPlainTextElem("h5", app.tls.see)); + const citUl = document.createElement("ul"); + const citLi = document.createElement("li"); + + const eodemA = document.createElement("a"); + eodemA.textContent = "EODEM"; + eodemA.href = "https://cidoc.mini.icom.museum/working-groups/documentation-standards/eodem-home/"; + citLi.appendChild(eodemA); + + citUl.appendChild(citLi); + xmlCDiv.appendChild(citUl); + + xmlCDiv.addEventListener('click', function() { toggleAccordionBox(xmlCDiv); }, {passive: true}) + + return xmlCDiv; + + } + + threeColumnDiv.appendChild(generateXmlConversionExp()); + + section.appendChild(threeColumnDiv); + + } + + const section = document.createElement("div"); + section.appendChild(this.createPlainTextElem("h2", this.tls.tech_background_hl)); + + const summaryDiv = document.createElement("div"); + summaryDiv.classList.add("summary"); + summaryDiv.appendChild(this.createPlainTextElem("h3", this.tls.summary)); + summaryDiv.appendChild(this.createP(this.tls.tech_background_summary)); + summaryDiv.appendChild(this.createP(this.tls.click_read_more)); + section.appendChild(summaryDiv); + + const techBackgroundDetails = this.createP(this.tls.tech_background_text); + techBackgroundDetails.classList.add("accordion"); + section.appendChild(techBackgroundDetails); + + summaryDiv.addEventListener('click', function() { toggleAccordionBox(techBackgroundDetails); }, {passive: true}) + + appendTypesOfEvaluations(section); + appendOtherFeatures(section); + + return section; + + } + + renderStartpageSectionFuture() { + + const section = document.createElement("div"); + section.appendChild(this.createPlainTextElem("h2", this.tls.outlook)); + section.appendChild(this.createP(this.tls.outlook_text)); + return section; + + } + + renderStartpageSectionFaq() { + + function toggleAccordionBox(elem) { + + elem.classList.toggle("active"); + const panel = elem; + if (panel.style.maxHeight) { + panel.style.maxHeight = null + } else { + panel.style.maxHeight = panel.scrollHeight + "px" + } + + } + + function buildFaqEntry(question, answer) { + + const entry = document.createElement("div"); + entry.id = "faqEntry"; + + const q = document.createElement("p"); + q.classList.add("faq_question"); + q.textContent = question; + entry.appendChild(q); + + const a = document.createElement("div"); + a.classList.add("faq_answer", "accordion"); + a.textContent = answer; + entry.appendChild(a); + + q.addEventListener('click', function() { toggleAccordionBox(a); }, {passive: true}) + + return entry; + + } + + const section = document.createElement("div"); + section.id = "faq"; + section.appendChild(this.createPlainTextElem("h2", "FAQ")); + + section.appendChild(buildFaqEntry(this.tls.faq_q_1, this.tls.faq_a_1)); + section.appendChild(buildFaqEntry(this.tls.faq_q_2, this.tls.faq_a_2)); + + return section; + + } + + renderStartpageSectionMore() { + + // More / Links to further content + + const moreSec = document.createElement("div"); + moreSec.id = "more"; + + moreSec.appendChild(this.createPlainTextElem("h2", this.tls.more)); + + const moreTiles = document.createElement("div"); + moreTiles.classList.add("moreTiles"); + moreTiles.setAttribute("property", "itemListElement"); + moreTiles.setAttribute("typeof", "http://schema.org/ListItem"); + + let counter = 1; + function createMoreTile(url, title, subtitle, img_url_webp, img_url_fallback, img_alt) { + + const tile = document.createElement("a"); + tile.href = url; + tile.setAttribute("property", "position"); + tile.setAttribute("content", counter); + counter++; + + const pic = document.createElement("picture"); + pic.loading = "lazy"; + + const source_webp = document.createElement("source"); + source_webp.type = "image/webp"; + source_webp.srcset = img_url_webp; + pic.appendChild(source_webp); + + const source_fallback = document.createElement("source"); + source_fallback.type = "image/png"; + source_fallback.srcset = img_url_fallback; + pic.appendChild(source_fallback); + + const img = document.createElement("img"); + img.loading = "lazy"; + img.src = img_url_fallback; + img.alt = img_alt; + img.width = "400"; + img.height = "225"; + img.setAttribute("property", "image"); + pic.appendChild(img); + + tile.appendChild(pic); + + const meta = document.createElement("div"); + meta.classList.add("moreTilesMeta"); + + const e_title = document.createElement("p"); + e_title.textContent = title; + e_title.setAttribute("property", "name"); + e_title.classList.add("moreTilesTitle"); + meta.appendChild(e_title); + + const e_subtitle = document.createElement("p"); + e_subtitle.textContent = subtitle; + e_subtitle.classList.add("moreTilesSubtitle"); + meta.appendChild(e_subtitle); + + tile.appendChild(meta); + + return tile; + + } + + moreTiles.appendChild(createMoreTile( + "https://files.museum-digital.org/", + "Vortragsfolien", + "Vortrag auf der Herbsttagung der Fachgruppe Dokumentation des DMB, 10.10.2023.", "CC BY 4.0 @ Joshua Ramon Enslin, Freies Deutsches Hochstift", + "/static/img/more/20231010-Presentation.webp", + "/static/img/more/20231010-Presentation.png", + "Folie zur Nachnutzbarkeit von vorliegendem Code im Vortrag auf der Herbsttagung der FG Doku.", + ) + ); + + moreSec.appendChild(moreTiles); + + // Log + + moreSec.appendChild(this.createPlainTextElem("h3", this.tls.log)); + + const logUl = document.createElement("ul"); + + const app = this; + function generateLogEntry(date, text) { + const logLi1 = document.createElement("li"); + logLi1.textContent = new Intl.DateTimeFormat([app.lang, 'de']).format(date) + ': ' + text; + return logLi1; + } + + logUl.appendChild(generateLogEntry( + new Date(Date.UTC(2023, 11, 16, 3, 45, 0, 738)), "Add options to convert input data to XML formats" + )); + + logUl.appendChild(generateLogEntry( + new Date(Date.UTC(2023, 9, 10, 3, 45, 0, 738)), this.tls.launch // 9 = October + )); + + moreSec.appendChild(logUl); + + + // Say thanks + moreSec.appendChild(this.createPlainTextElem("h3", this.tls.thanks)); + + const thanksP = document.createElement("p"); + + moreSec.appendChild(thanksP); + + return moreSec; + + } + + renderFooter() { + + const footer = document.createElement("footer"); + + /* + + const licenseStatement = document.createElement("p"); + licenseStatement.textContent = "This work is licensed under the GNU Affero Public License Version 3."; + footer.appendChild(licenseStatement); + + */ + + const footerOptions = document.createElement("div"); + + /* + const codeLink = document.createElement("a"); + codeLink.textContent = "Source code"; + codeLink.href = "https://gitea.armuli.eu/museum-digital/csvxml"; + footerOptions.appendChild(codeLink); + */ + + const codeLink = document.createElement("a"); + codeLink.textContent = "API"; // TODO + codeLink.href = "/swagger"; + footerOptions.appendChild(codeLink); + + if ('serviceWorker' in navigator) { + const refreshB = document.createElement("span"); + refreshB.textContent = this.tls.reload_application; + refreshB.setAttribute("tabindex", 1); + refreshB.addEventListener('click', function(e) { + + Promise.all(['qa-cache-v1'].map(function(cache) { + caches.has(cache).then(function(hasCache) { + if (hasCache === true) { + caches.delete(cache).then(function(deletionStatus) {}); + } + }) + })) + location.reload() + + }, {passive: true, once: true}); + footerOptions.appendChild(refreshB); + } + + const allowedLangs = document.documentElement.getAttribute("data-allowed-langs").split(','); + const langSel = document.createElement("div"); + for (let lang of allowedLangs) { + const l = document.createElement("a"); + l.href = "#" + lang; + l.textContent = lang; + l.style.textTranform = "uppercase"; + l.addEventListener('click', function(e) { + e.preventDefault(); + sessionStorage.setItem("lang", lang); + location.reload(); + }); + langSel.appendChild(l); + } + footerOptions.appendChild(langSel); + + footer.appendChild(footerOptions); + + const licenseLine = document.createElement("p"); + + const license = document.createElement("a"); + license.textContent = "CC BY 4.0"; + license.href = "https://creativecommons.org/licenses/by/4.0/"; + licenseLine.appendChild(license); + + licenseLine.appendChild(this.createPlainTextElem("span", " @ ")); + + const author = document.createElement("a"); + author.textContent = "Joshua Ramon Enslin"; + author.href = "https://www.jrenslin.de"; + author.setAttribute("rel", "author"); + licenseLine.appendChild(author); + + licenseLine.appendChild(this.createPlainTextElem("span", ", ")); + + const attributionYear = document.createElement("span"); + attributionYear.textContent = "2023"; + licenseLine.appendChild(attributionYear); + + footer.appendChild(licenseLine); + + document.body.appendChild(footer); + + } + +} + +(async function() { + + function getLang() { + + const allowedLangs = document.documentElement.getAttribute("data-allowed-langs").split(','); + + const langFromSession = sessionStorage.getItem("lang"); + if (langFromSession !== undefined && allowedLangs.includes(langFromSession)) { + return langFromSession; + } + + if (navigator.language === undefined) return 'en'; + + const browserLang = navigator.language.toLowerCase().substr(0, 2); + console.log(browserLang); + + if (allowedLangs.includes(browserLang)) return browserLang; + else return 'en'; + + } + + const lang = getLang(); + document.documentElement.setAttribute("lang", lang); + + document.body.classList.add("loading"); + + let loaded = 0; + + let tls; + + function loadPage() { + + document.body.classList.remove("loading"); + + const page = new QaPage(lang, tls); + page.renderGenHeader(); + page.renderHeader(); + page.renderUploader(); + page.renderText(); + document.body.appendChild(page.domWrapper); + page.renderFooter(); + + } + + window.fetch('/static/json/tls.' + lang + '.json', { + method: 'GET', cache: 'no-cache', credentials: 'same-origin', + }).then(function(response) { + return response.json(); + }).then(function(elements) { + tls = elements; + loadPage(); + }); + +})(); diff --git a/public/static/js/qa.min.js b/public/static/js/qa.min.js new file mode 100644 index 0000000..1389a8c --- /dev/null +++ b/public/static/js/qa.min.js @@ -0,0 +1 @@ +"use strict";const MAX_INPUT_SIZE=1048576;'serviceWorker'in navigator&&(console.log("Registering service worker"),navigator.serviceWorker.register('/sw.js'));class QaPage{lang;tls;domWrapper;domUploaderWrapper;domUploaderCurrentWrapper;domMainWrapper;parser;selectedActivity;selectedApi;constructor(d,e){this.lang=d,this.tls=Object.freeze(e);let b=document.createElement("div");b.id="contentWrapper",this.domWrapper=b;let a=document.createElement("div");a.id="uploader",a.classList.add("uploader"),this.domUploaderWrapper=a;let c=document.createElement("div");c.id="uploaderMenu",this.domUploaderCurrentWrapper=c;let f=document.createElement("main");this.domMainWrapper=f}goForwardInMenuPages(b){const a=this;switch(b){case"parserSelection":a.drawUpActivitySelection();break;case"activityTypeSelection":a.drawUpApiTypeSelection();break;case"apiTypeSelection":a.drawUpUploadTypeSelection();break;default:console.log("Invalid page to go forward from selected.")}}generateDialogueCloseButton(){const a=document.createElement("a");return a.classList.add("icons"),a.classList.add("iconsClose"),a.classList.add("dialogueCloseX"),a.id="dialogueClose",a.textContent="X",a.title=this.tls.close,a.href="#"+location.href,a.addEventListener('click',QaDialogue.closeDialogue),a}setSelectedActivity(a){['evaluate','convert_to_xml'].includes(a)?this.selectedActivity=a:window.alert("Invalid activity selected")}setSelectedApi(b){let a;switch(this.selectedActivity){case"evaluate":a=['object','count_vocabulary_entries_to_be_added','minimaldatensatz'];break;case"convert_to_xml":const b=document.documentElement.getAttribute("data-allowed-xml-conversion-targets").split(',');a=b;break;default:window.alert("Invalid activity set: "+this.selectedActivity)}a.includes(b)?this.selectedApi=b:window.alert("Invalid activity selected")}downloadFromString(b,c){const d=new Blob([c],{type:"text/plain"}),a=document.createElement("a");a.download=b,a.href=window.URL.createObjectURL(d),a.dataset.downloadurl=["text/plain",a.download,a.href].join(":");const e=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0});a.dispatchEvent(e),a.remove()}generateValidationOutputsForCountNewToVocabs(c){const b=document.getElementById("validation_overlay_intro");b!==void 0&&b!==null&&b.parentElement.removeChild(b);const a=document.createElement("div"),d=document.createElement("h5");d.textContent=this.tls.count_new_to_vocabs,a.appendChild(d);const e=document.createElement("table");function f(d,e){const a=document.createElement("tr"),b=document.createElement("th");b.textContent=d,a.appendChild(b);const c=document.createElement("td");return c.textContent=e,a.appendChild(c),a}for(let a of c.count)e.appendChild(f(a.category_name,a.count));a.appendChild(e);const g=document.createElement("h6");g.textContent=this.tls.samples,a.appendChild(g);const h=document.createElement("table");for(let a of c.samples)h.appendChild(f(a.category_name,a.entries.join(", ")));return a.appendChild(h),a}generateValidationOutputsForMinimaldatensatz(b){const a=document.createElement("div");for(let d of b){const c=document.createElement("div"),e=document.createElement("h5");e.textContent=this.tls.inventory_number+': '+d.invno,c.appendChild(e);const f=document.createElement("table");for(let c of d.evaluations){const b=document.createElement("tr"),a=document.createElement("td");a.style.width="40px",c.passed===!0?a.style.background="var(--color-green)":a.style.background="var(--color-red)",b.appendChild(a);const e=document.createElement("td");e.textContent=c.text,b.appendChild(e),f.appendChild(b)}c.appendChild(f),a.appendChild(c)}return a}generateRegularValidationOutputs(c){const b=document.createElement("div");function a(d,e){const a=document.createElement("tr"),b=document.createElement("th");b.textContent=d,a.appendChild(b);const c=document.createElement("td");return c.appendChild(e),a.appendChild(c),a}for(let d of c){const g=document.createElement("div"),j=document.createElement("h5");j.textContent=this.tls.inventory_number+': '+d.invno,g.appendChild(j);const e=document.createElement("div"),f=document.createElement("table"),k=document.createElement("span");k.textContent=d.puqi.score,f.appendChild(a(this.tls.puqi_score,k));const h=document.createElement("span");d.plausi.warn===!1?h.textContent=this.tls.check_passed:h.textContent=this.tls.warning,f.appendChild(a(this.tls.plausi+': '+this.tls.status,h));const i=document.createElement("span");if(d.plausi_legal.warn===!1?i.textContent=this.tls.check_passed:i.textContent=this.tls.warning,f.appendChild(a(this.tls.plausi_legal+': '+this.tls.status,i)),e.appendChild(f),d.plausi.msg.length!==0){const a=document.createElement("h6");a.textContent=this.tls.plausibility_warnings,e.appendChild(a);const b=document.createElement("ul");for(let c of d.plausi.msg){const a=document.createElement("li");a.textContent=c,b.appendChild(a)}e.appendChild(b)}if(d.plausi_legal.warn===!0){const a=document.createElement("h6");a.textContent=this.tls.plausibility_warnings_licenses,e.appendChild(a);const b=document.createElement("ul");for(let a of d.plausi_legal.msg){const c=document.createElement("li");if(a.link!==''){const b=document.createElement("a");b.href=a.link,b.textContent=a.text,c.appendChild(b)}else c.textContent=a.text;b.appendChild(c)}e.appendChild(b)}const l=document.createElement("h6");l.textContent=this.tls.puqi_notices,e.appendChild(l);const m=document.createElement("ul");for(let b of d.puqi.msg){const a=document.createElement("li");a.textContent=b.message,m.appendChild(a)}e.appendChild(m),g.appendChild(e),b.appendChild(g)}return b}listValidationOutputs(b){console.log("Listing validation errors");const c=document.createElement("div"),d=document.createElement("h3");d.textContent=this.tls.validation_errors,d.appendChild(this.generateDialogueCloseButton()),c.appendChild(d);const e=document.createElement("p");e.id="validation_overlay_intro",e.textContent=this.tls.objects_identified.replace("[placeholder_for_count]",b.results.length),c.appendChild(e);const a=document.createElement("section");c.appendChild(a);const f=document.createElement("h4");switch(f.textContent=this.tls.results,a.appendChild(f),this.selectedApi){case"count_vocabulary_entries_to_be_added":a.appendChild(this.generateValidationOutputsForCountNewToVocabs(b.results));break;case"minimaldatensatz":a.appendChild(this.generateValidationOutputsForMinimaldatensatz(b.results));break;default:a.appendChild(this.generateRegularValidationOutputs(b.results));break}dialogue=QaDialogue.drawDialogue(c)}async runApiQuery(c){if(navigator.onLine===!1)return window.alert(this.tls.currently_offline_msg),document.body.classList.remove("loading"),!1;let a=this;(async function(){const a=c;a.includes('�')&&window.alert('The file encoding appears to not be UTF-8-encoded!')})();let b={parser:a.parser,lang:a.lang,data:c};a.selectedActivity==='convert_to_xml'&&(b.institution_name=window.prompt("The institution's name cannot automatically be reused from what may be stated in the uploaded data. If you would like to have one in the output data, please enter it here."),b.institution_identifier=window.prompt("The institution's identifier (e.g. an ISIL ID) cannot automatically be reused from what may be stated in the uploaded data. If you would like to have one in the output data, please enter it here."));try{let d=[];for(let a in b)d.push(a+'='+encodeURIComponent(b[a]));const c=await window.fetch('/api/'+a.selectedActivity+'/'+a.selectedApi,{method:'POST',cache:'no-cache',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:d.join("&")});if(document.body.classList.remove("loading"),c.status===200)switch(a.selectedActivity){case"evaluate":try{const b=await c.json();a.listValidationOutputs(b)}catch(a){console.log(a)}break;case"convert_to_xml":const b=await c.text();a.downloadFromString('converted-'+a.selectedActivity+'.xml',b);break;default:window.alert("Invalid activity selected")}else{const a=await c.text();window.alert(a)}}catch(a){console.log(a)}a.drawUpParserSelection()}uploadFileForValidation(b){let c=this;if(b.size>=MAX_INPUT_SIZE)return window.alert(this.tls.filesize_too_big.replace("[placeholder]",MAX_INPUT_SIZE)),!1;const a=new FileReader;a.readAsText(b,'UTF-8'),document.body.classList.add("loading"),a.onload=function(){function b(){c.runApiQuery(a.result)}b()},a.onerror=function(){alert(a.error)}}renderGenHeader(){const b=document.createElement("header");b.id="mainHeader";const a=document.createElement("a");a.id="logoArea",a.href="https://www.museum-digital.org/";const d=document.createElement("img");d.src="/static/img/mdlogo-code.svg",d.alt="Logo of museum-digital",a.appendChild(d);const l=document.createElement("h2");l.textContent="museum-digital",a.appendChild(l),b.appendChild(a);const c=document.createElement("nav"),f=document.createElement("a");f.href="https://en.about.museum-digital.org/about",f.textContent=this.tls.about,c.appendChild(f);const g=document.createElement("div"),h=document.createElement("a");h.textContent=this.tls.contact,h.href="https://en.about.museum-digital.org/contact/",g.appendChild(h);const i=document.createElement("div"),e=document.createElement("a");e.textContent=this.tls.imprint,e.href="https://en.about.museum-digital.org/impressum",i.appendChild(e);const j=document.createElement("a");j.textContent=this.tls.privacy_policy,j.href="https://en.about.museum-digital.org/privacy/",i.appendChild(j),g.appendChild(i),c.appendChild(g);const k=document.createElement("a");k.textContent=this.tls.news,k.href="https://blog.museum-digital.org/",c.appendChild(k),b.appendChild(c),document.body.appendChild(b)}renderHeader(){const b=document.createElement("header");b.id="appHeader";const c=document.createElement("h1"),a=document.createElement("img");a.width="70",a.height="70",a.src="/static/img/mdlogo-code.svg",a.alt="",c.appendChild(a);const d=document.createElement("span");d.textContent="museum-digital:qa",c.appendChild(d),b.appendChild(c),document.body.appendChild(b)}createP(b){const a=document.createElement("p");return a.textContent=b,a}createPlainTextElem(b,c){const a=document.createElement(b);return a.textContent=c,a}renderText(){const a=document.createElement("h2");a.textContent=this.tls.quality_assessment_tools,this.domMainWrapper.appendChild(a),this.domMainWrapper.appendChild(this.createP(this.tls.intro_text)),this.domWrapper.appendChild(this.domMainWrapper)}renderUploader(){const a=document.createElement("textarea");this.domUploaderWrapper.appendChild(a);const b=document.createElement("button");this.domUploaderWrapper.appendChild(b),this.domWrapper.appendChild(this.domUploaderWrapper)}renderStartpageSectionTechBackground(){const a=this;function b(b){b.classList.toggle("active");const a=b;a.style.maxHeight?a.style.maxHeight=null:a.style.maxHeight=a.scrollHeight+"px"}function f(d){d.appendChild(a.createPlainTextElem("h3",a.tls.types_of_evaluations));const c=document.createElement("div");c.classList.add("threeCol");function e(){const c=document.createElement("div");c.id="puqi_ex",c.appendChild(a.createPlainTextElem("h4",a.tls.puqi)),c.appendChild(a.createP(a.tls.puqi_explica)),c.appendChild(a.createPlainTextElem("h5",a.tls.see));const d=document.createElement("ul"),e=document.createElement("li");e.innerHTML='Rohde-Enslin, S. (2014). "PuQi - Eine Versuchung." Paper presented at the Autumn Seminar of the Working Group Documentation of the German Museum Association, 2014 (Herbsttagung der FG Dokumentation des Deutschen Museumsbunds). https://files.museum-digital.org/de/Praesentationen/2014-10-06_PuQI-Eine-Versuchung_SRE.pdf',d.appendChild(e);const f=document.createElement("li");f.innerHTML='Rohde-Enslin, S. (2015). "PuQI – A Smart Way to Create Better Data." Uncommon Culture, 6 (2), 122-129. https://uncommonculture.org/ojs/index.php/UC/article/view/6218',d.appendChild(f);const g=document.createElement("li");return g.innerHTML='Rohde-Enslin, S. (2021). "PuQi – Verführung zu Qualität." museum-digital:blog, https://blog.museum-digital.org/de/2021/01/22/ein-publikations-qualitaets-index-fuer-museumsobjektinformationen/',d.appendChild(g),c.appendChild(d),c.addEventListener('click',function(){b(c)},{passive:!0}),c}function f(){const c=document.createElement("div");c.id="plausi_ex",c.appendChild(a.createPlainTextElem("h4",a.tls.plausi)),c.appendChild(a.createP(a.tls.plausi_explica)),c.appendChild(a.createP(a.tls.plausi_explica_2)),c.appendChild(a.createPlainTextElem("h5",a.tls.see));const d=document.createElement("ul"),e=document.createElement("li");return e.innerHTML='Rohde-Enslin, S. (2017). "Plausi - PuQI hat einen Freund bekommen." Paper presented at the Autumn Seminar of the Working Group Documentation of the German Museum Association, 2017 (Herbsttagung der FG Dokumentation des Deutschen Museumsbunds). https://files.museum-digital.org/de/Praesentationen/2017-11_Plausi-FG-Doku-Berlin_SRE.pdf',d.appendChild(e),c.appendChild(d),c.addEventListener('click',function(){b(c)},{passive:!0}),c}function g(){const c=document.createElement("div");return c.id="plausi_legal_ex",c.appendChild(a.createPlainTextElem("h4",a.tls.plausi_legal)),c.appendChild(a.createP(a.tls.plausi_legal_explica)),c.appendChild(a.createP(a.tls.plausi_legal_explica_2)),c.addEventListener('click',function(){b(c)},{passive:!0}),c}function h(){const c=document.createElement("div");return c.id="minimaldatensatz_ex",c.appendChild(a.createPlainTextElem("h4",a.tls.count_new_to_vocabs)),c.appendChild(a.createP(a.tls.count_new_to_vocabs_explica_1)),c.addEventListener('click',function(){b(c)},{passive:!0}),c}function i(){const c=document.createElement("div");c.id="minimaldatensatz_ex",c.appendChild(a.createPlainTextElem("h4","AG Minimaldatensatz")),c.appendChild(a.createP(a.tls.minimaldatensatz_explica_1)),c.appendChild(a.createP(a.tls.minimaldatensatz_explica_2)),c.appendChild(a.createPlainTextElem("h5",a.tls.see));const d=document.createElement("ul"),e=document.createElement("li");e.innerHTML='AG Minimaldatensatz. (2023). "Minimaldatensatz-Empfehlung." http://minimaldatensatz.de',d.appendChild(e);const f=document.createElement("li");return f.innerHTML='Marchini C. & Greisinger S. (2023). "Ein Fuß in der Tür: Die Minimaldatensatz-Empfehlung für Museen und Sammlungen." Paper presented at the Autumn Seminar of the Working Group Documentation of the German Museum Association, 2023 (Herbsttagung der FG Dokumentation des Deutschen Museumsbunds).',d.appendChild(f),c.appendChild(d),c.addEventListener('click',function(){b(c)},{passive:!0}),c}c.appendChild(e()),c.appendChild(f()),c.appendChild(g()),c.appendChild(h()),c.appendChild(i()),d.appendChild(c)}function g(d){d.appendChild(a.createPlainTextElem("h3",a.tls.other_features));const c=document.createElement("div");c.classList.add("threeCol");function e(){const c=document.createElement("div");c.id="xmlC_ex",c.appendChild(a.createPlainTextElem("h4",a.tls.convert_to_xml)),c.appendChild(a.createP(a.tls.convert_to_xml_explica)),c.appendChild(a.createPlainTextElem("h5",a.tls.see));const e=document.createElement("ul"),f=document.createElement("li"),d=document.createElement("a");return d.textContent="EODEM",d.href="https://cidoc.mini.icom.museum/working-groups/documentation-standards/eodem-home/",f.appendChild(d),e.appendChild(f),c.appendChild(e),c.addEventListener('click',function(){b(c)},{passive:!0}),c}c.appendChild(e()),d.appendChild(c)}const c=document.createElement("div");c.appendChild(this.createPlainTextElem("h2",this.tls.tech_background_hl));const d=document.createElement("div");d.classList.add("summary"),d.appendChild(this.createPlainTextElem("h3",this.tls.summary)),d.appendChild(this.createP(this.tls.tech_background_summary)),d.appendChild(this.createP(this.tls.click_read_more)),c.appendChild(d);const e=this.createP(this.tls.tech_background_text);return e.classList.add("accordion"),c.appendChild(e),d.addEventListener('click',function(){b(e)},{passive:!0}),f(c),g(c),c}renderStartpageSectionFuture(){const a=document.createElement("div");return a.appendChild(this.createPlainTextElem("h2",this.tls.outlook)),a.appendChild(this.createP(this.tls.outlook_text)),a}renderStartpageSectionFaq(){function c(b){b.classList.toggle("active");const a=b;a.style.maxHeight?a.style.maxHeight=null:a.style.maxHeight=a.scrollHeight+"px"}function b(e,f){const a=document.createElement("div");a.id="faqEntry";const b=document.createElement("p");b.classList.add("faq_question"),b.textContent=e,a.appendChild(b);const d=document.createElement("div");return d.classList.add("faq_answer","accordion"),d.textContent=f,a.appendChild(d),b.addEventListener('click',function(){c(d)},{passive:!0}),a}const a=document.createElement("div");return a.id="faq",a.appendChild(this.createPlainTextElem("h2","FAQ")),a.appendChild(b(this.tls.faq_q_1,this.tls.faq_a_1)),a.appendChild(b(this.tls.faq_q_2,this.tls.faq_a_2)),a}renderStartpageSectionMore(){const a=document.createElement("div");a.id="more",a.appendChild(this.createPlainTextElem("h2",this.tls.more));const b=document.createElement("div");b.classList.add("moreTiles"),b.setAttribute("property","itemListElement"),b.setAttribute("typeof","http://schema.org/ListItem");let d=1;function f(o,n,m,l,j,k){const b=document.createElement("a");b.href=o,b.setAttribute("property","position"),b.setAttribute("content",d),d++;const c=document.createElement("picture");c.loading="lazy";const h=document.createElement("source");h.type="image/webp",h.srcset=l,c.appendChild(h);const g=document.createElement("source");g.type="image/png",g.srcset=j,c.appendChild(g);const a=document.createElement("img");a.loading="lazy",a.src=j,a.alt=k,a.width="400",a.height="225",a.setAttribute("property","image"),c.appendChild(a),b.appendChild(c);const f=document.createElement("div");f.classList.add("moreTilesMeta");const e=document.createElement("p");e.textContent=n,e.setAttribute("property","name"),e.classList.add("moreTilesTitle"),f.appendChild(e);const i=document.createElement("p");return i.textContent=m,i.classList.add("moreTilesSubtitle"),f.appendChild(i),b.appendChild(f),b}b.appendChild(f("https://files.museum-digital.org/","Vortragsfolien","Vortrag auf der Herbsttagung der Fachgruppe Dokumentation des DMB, 10.10.2023.","CC BY 4.0 @ Joshua Ramon Enslin, Freies Deutsches Hochstift","/static/img/more/20231010-Presentation.webp","/static/img/more/20231010-Presentation.png","Folie zur Nachnutzbarkeit von vorliegendem Code im Vortrag auf der Herbsttagung der FG Doku.")),a.appendChild(b),a.appendChild(this.createPlainTextElem("h3",this.tls.log));const c=document.createElement("ul"),g=this;function e(b,c){const a=document.createElement("li");return a.textContent=new Intl.DateTimeFormat([g.lang,'de']).format(b)+': '+c,a}c.appendChild(e(new Date(Date.UTC(2023,11,16,3,45,0,738)),"Add options to convert input data to XML formats")),c.appendChild(e(new Date(Date.UTC(2023,9,10,3,45,0,738)),this.tls.launch)),a.appendChild(c),a.appendChild(this.createPlainTextElem("h3",this.tls.thanks));const h=document.createElement("p");return a.appendChild(h),a}renderFooter(){const d=document.createElement("footer"),b=document.createElement("div"),e=document.createElement("a");if(e.textContent="API",e.href="/swagger",b.appendChild(e),'serviceWorker'in navigator){const a=document.createElement("span");a.textContent=this.tls.reload_application,a.setAttribute("tabindex",1),a.addEventListener('click',function(a){Promise.all(['qa-cache-v1'].map(function(a){caches.has(a).then(function(b){b===!0&&caches.delete(a).then(function(a){})})})),location.reload()},{passive:!0,once:!0}),b.appendChild(a)}const i=document.documentElement.getAttribute("data-allowed-langs").split(','),g=document.createElement("div");for(let b of i){const a=document.createElement("a");a.href="#"+b,a.textContent=b,a.style.textTranform="uppercase",a.addEventListener('click',function(a){a.preventDefault(),sessionStorage.setItem("lang",b),location.reload()}),g.appendChild(a)}b.appendChild(g),d.appendChild(b);const a=document.createElement("p"),f=document.createElement("a");f.textContent="CC BY 4.0",f.href="https://creativecommons.org/licenses/by/4.0/",a.appendChild(f),a.appendChild(this.createPlainTextElem("span"," @ "));const c=document.createElement("a");c.textContent="Joshua Ramon Enslin",c.href="https://www.jrenslin.de",c.setAttribute("rel","author"),a.appendChild(c),a.appendChild(this.createPlainTextElem("span",", "));const h=document.createElement("span");h.textContent="2023",a.appendChild(h),d.appendChild(a),document.body.appendChild(d)}}(async function(){function c(){const c=document.documentElement.getAttribute("data-allowed-langs").split(','),a=sessionStorage.getItem("lang");if(a!==void 0&&c.includes(a))return a;if(navigator.language===void 0)return'en';const b=navigator.language.toLowerCase().substr(0,2);return console.log(b),c.includes(b)?b:'en'}const a=c();document.documentElement.setAttribute("lang",a),document.body.classList.add("loading");let e=0,b;function d(){document.body.classList.remove("loading");const c=new QaPage(a,b);c.renderGenHeader(),c.renderHeader(),c.renderUploader(),c.renderText(),document.body.appendChild(c.domWrapper),c.renderFooter()}window.fetch('/static/json/tls.'+a+'.json',{method:'GET',cache:'no-cache',credentials:'same-origin'}).then(function(a){return a.json()}).then(function(a){b=a,d()})})() \ No newline at end of file diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.agignore b/public/static/js/swagger/swagger-ui-5.17.14/.agignore new file mode 100644 index 0000000..849ddff --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.agignore @@ -0,0 +1 @@ +dist/ diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.browserslistrc b/public/static/js/swagger/swagger-ui-5.17.14/.browserslistrc new file mode 100644 index 0000000..7894c03 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.browserslistrc @@ -0,0 +1,29 @@ +[node-production] +maintained node versions + +[node-development] +node 20.3.0 + +[browser-production] +> 1% +last 2 versions +Firefox ESR +not dead + +[browser-development] +last 1 chrome version +last 1 firefox version +last 1 safari version + +[isomorphic-production] +> 1% +last 2 versions +Firefox ESR +not dead +maintained node versions + +[isomorphic-development] +last 1 chrome version +last 1 firefox version +last 1 safari version +node 20.3.0 diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.commitlintrc.json b/public/static/js/swagger/swagger-ui-5.17.14/.commitlintrc.json new file mode 100644 index 0000000..a55865b --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.commitlintrc.json @@ -0,0 +1,25 @@ +{ + "extends": [ + "@commitlint/config-conventional" + ], + "rules": { + "header-max-length": [ + 2, + "always", + 69 + ], + "scope-case": [ + 2, + "always", + [ + "camel-case", + "kebab-case", + "upper-case" + ] + ], + "subject-case": [ + 0, + "always" + ] + } +} diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.dockerignore b/public/static/js/swagger/swagger-ui-5.17.14/.dockerignore new file mode 100644 index 0000000..47c624e --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.dockerignore @@ -0,0 +1,8 @@ +/.git +/.github +/dev-helpers +/docs +/src +/swagger-ui-dist-package +/test +/node_modules \ No newline at end of file diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.editorconfig b/public/static/js/swagger/swagger-ui-5.17.14/.editorconfig new file mode 100644 index 0000000..2d95946 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.editorconfig @@ -0,0 +1,10 @@ +root = true + +[*] +end_of_line = lf +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true +insert_final_newline = true +[*.md] +trim_trailing_whitespace = false diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.eslintignore b/public/static/js/swagger/swagger-ui-5.17.14/.eslintignore new file mode 100644 index 0000000..5e20fb0 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.eslintignore @@ -0,0 +1,3 @@ +dist/ +node_modules/ +test/e2e-selenium/ diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.eslintrc b/public/static/js/swagger/swagger-ui-5.17.14/.eslintrc new file mode 100644 index 0000000..3f24d9a --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.eslintrc @@ -0,0 +1,38 @@ +parser: "@babel/eslint-parser" +env: + browser: true + node: true + es6: true + jest: true + jest/globals: true +parserOptions: + ecmaFeatures: + jsx: true +extends: + - eslint:recommended + - plugin:react/recommended +plugins: + - react + - import + - jest +settings: + react: + pragma: React + version: '15.0' +rules: + semi: [2, never] + strict: 0 + quotes: [2, double, { avoidEscape: true, allowTemplateLiterals: true }] + no-unused-vars: 2 + no-multi-spaces: 1 + camelcase: 1 + no-use-before-define: [2, nofunc] + no-underscore-dangle: 0 + no-unused-expressions: 1 + comma-dangle: 0 + no-console: [2, { allow: [warn, error] }] + react/jsx-no-bind: 1 + react/jsx-no-target-blank: 2 + react/display-name: 0 + import/no-extraneous-dependencies: 2 + react/jsx-filename-extension: 2 diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.gitattributes b/public/static/js/swagger/swagger-ui-5.17.14/.gitattributes new file mode 100644 index 0000000..dad06c5 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.gitattributes @@ -0,0 +1 @@ +docker-run.sh text eol=lf diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.github/ISSUE_TEMPLATE/Bug_report.md b/public/static/js/swagger/swagger-ui-5.17.14/.github/ISSUE_TEMPLATE/Bug_report.md new file mode 100644 index 0000000..48861bf --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.github/ISSUE_TEMPLATE/Bug_report.md @@ -0,0 +1,73 @@ +--- +name: Bug report +about: Report an issue you're experiencing + +--- + + + +### Q&A (please complete the following information) + - OS: [e.g. macOS] + - Browser: [e.g. chrome, safari] + - Version: [e.g. 22] + - Method of installation: [e.g. npm, dist assets] + - Swagger-UI version: [e.g. 3.10.0] + - Swagger/OpenAPI version: [e.g. Swagger 2.0, OpenAPI 3.0] + +### Content & configuration + + +Example Swagger/OpenAPI definition: +```yaml +# your YAML here +``` + +Swagger-UI configuration options: +```js +SwaggerUI({ + // your config options here +}) +``` + +``` +?yourQueryStringConfig +``` + +### Describe the bug you're encountering + + +### To reproduce... + +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +### Expected behavior + + +### Screenshots + + +### Additional context or thoughts + diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.github/ISSUE_TEMPLATE/Feature_request.md b/public/static/js/swagger/swagger-ui-5.17.14/.github/ISSUE_TEMPLATE/Feature_request.md new file mode 100644 index 0000000..5b18f43 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.github/ISSUE_TEMPLATE/Feature_request.md @@ -0,0 +1,42 @@ +--- +name: Feature request +about: Suggest a new feature or enhancement for this project + +--- + + ### Content & configuration + +Swagger/OpenAPI definition: + ```yaml + # your YAML here + ``` + + Swagger-UI configuration options: + ```js + SwaggerUI({ + // your config options here + }) + ``` + + ``` + ?yourQueryStringConfig + ``` + + +### Is your feature request related to a problem? + + +### Describe the solution you'd like + + +### Describe alternatives you've considered + + +### Additional context + diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.github/ISSUE_TEMPLATE/Support.md b/public/static/js/swagger/swagger-ui-5.17.14/.github/ISSUE_TEMPLATE/Support.md new file mode 100644 index 0000000..92eb5e9 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.github/ISSUE_TEMPLATE/Support.md @@ -0,0 +1,46 @@ +--- +name: Support +about: Ask a question or request help with your implementation. + +--- + + + +### Q&A (please complete the following information) + - OS: [e.g. macOS] + - Browser: [e.g. chrome, safari] + - Version: [e.g. 22] + - Method of installation: [e.g. npm, dist assets] + - Swagger-UI version: [e.g. 3.10.0] + - Swagger/OpenAPI version: [e.g. Swagger 2.0, OpenAPI 3.0] + +### Content & configuration + + +Swagger/OpenAPI definition: +```yaml +# your YAML here +``` + +Swagger-UI configuration options: +```js +SwaggerUI({ + // your config options here +}) +``` + +``` +?yourQueryStringConfig +``` + +### Screenshots + + +### How can we help? + diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.github/dependabot.yaml b/public/static/js/swagger/swagger-ui-5.17.14/.github/dependabot.yaml new file mode 100644 index 0000000..6475663 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.github/dependabot.yaml @@ -0,0 +1,35 @@ +version: 2 +updates: + - package-ecosystem: npm + directory: "/" + schedule: + interval: daily + time: "23:00" + commit-message: + prefix: "chore" + include: "scope" + open-pull-requests-limit: 3 + ignore: + # node-fetch must be synced manually + - dependency-name: "node-fetch" + + - package-ecosystem: "docker" + # Look for a `Dockerfile` in the `root` directory + directory: "/" + # Check for updates once a week + schedule: + interval: "weekly" + time: "23:00" + + - package-ecosystem: "github-actions" + target-branch: "master" + directory: "/" + schedule: + interval: "daily" + time: "23:00" + commit-message: + prefix: "chore" + include: "scope" + open-pull-requests-limit: 3 + + diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.github/lock.yml b/public/static/js/swagger/swagger-ui-5.17.14/.github/lock.yml new file mode 100644 index 0000000..e0b8c11 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.github/lock.yml @@ -0,0 +1,15 @@ +daysUntilLock: 365 +skipCreatedBefore: 2017-03-29 # initial release of Swagger UI 3.0.0 +exemptLabels: [] +lockLabel: "locked-by: lock-bot" +setLockReason: false +only: issues +lockComment: false +# lockComment: | +# Locking due to inactivity. + +# This is done to avoid resurrecting old issues and bumping long threads with new, possibly unrelated content. + +# If you think you're experiencing something similar to what you've found here: please [open a new issue](https://github.com/swagger-api/swagger-ui/issues/new/choose), follow the template, and reference this issue in your report. + +# Thanks! diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.github/pull_request_template.md b/public/static/js/swagger/swagger-ui-5.17.14/.github/pull_request_template.md new file mode 100644 index 0000000..64e9cf6 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.github/pull_request_template.md @@ -0,0 +1,55 @@ + + +### Description + + + + +### Motivation and Context + + + + + + + +### How Has This Been Tested? + + + + + + +### Screenshots (if appropriate): + + + +## Checklist + + + +### My PR contains... + +- [ ] No code changes (`src/` is unmodified: changes to documentation, CI, metadata, etc.) +- [ ] Dependency changes (any modification to dependencies in `package.json`) +- [ ] Bug fixes (non-breaking change which fixes an issue) +- [ ] Improvements (misc. changes to existing features) +- [ ] Features (non-breaking change which adds functionality) + +### My changes... +- [ ] are breaking changes to a public API (config options, System API, major UI change, etc). +- [ ] are breaking changes to a private API (Redux, component props, utility functions, etc.). +- [ ] are breaking changes to a developer API (npm script behavior changes, new dev system dependencies, etc). +- [ ] are not breaking changes. + +### Documentation +- [ ] My changes do not require a change to the project documentation. +- [ ] My changes require a change to the project documentation. +- [ ] If yes to above: I have updated the documentation accordingly. + +### Automated tests +- [ ] My changes can not or do not need to be tested. +- [ ] My changes can and should be tested by unit and/or integration tests. +- [ ] If yes to above: I have added tests to cover my changes. +- [ ] If yes to above: I have taken care to cover edge cases in my tests. +- [ ] All new and existing tests passed. diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/codeql.yml b/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/codeql.yml new file mode 100644 index 0000000..464ec9d --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/codeql.yml @@ -0,0 +1,63 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ "master" ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ "master" ] + schedule: + - cron: '16 04 * * 2' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'javascript' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Use only 'java' to analyze code written in Java, Kotlin or both + # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + config: | + paths-ignore: + - 'dist/' + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/dependabot-merge.yml b/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/dependabot-merge.yml new file mode 100644 index 0000000..1f01c6b --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/dependabot-merge.yml @@ -0,0 +1,40 @@ +name: Merge me! + +on: + pull_request_target: + branches: [ master, next ] + +permissions: + contents: read + +jobs: + merge-me: + name: Merge me! + if: github.actor == 'dependabot[bot]' + runs-on: ubuntu-latest + steps: + # This first step will fail if there's no metadata and so the approval + # will not occur. + - name: Dependabot metadata + id: dependabot-metadata + uses: dependabot/fetch-metadata@v2.1.0 + with: + github-token: "${{ secrets.GITHUB_TOKEN }}" + # Here the PR gets approved. + - name: Approve a PR + if: ${{ steps.dependabot-metadata.outputs.update-type != 'version-update:semver-major' }} + run: gh pr review --approve "$PR_URL" + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GITHUB_TOKEN: ${{ secrets.SWAGGER_BOT_GITHUB_TOKEN }} + # Finally, tell dependabot to merge the PR if all checks are successful + - name: Instruct dependabot to squash & merge + if: ${{ steps.dependabot-metadata.outputs.update-type != 'version-update:semver-major' }} + uses: mshick/add-pr-comment@v2 + with: + repo-token: ${{ secrets.SWAGGER_BOT_GITHUB_TOKEN }} + allow-repeats: true + message: | + @dependabot squash and merge + env: + GITHUB_TOKEN: ${{ secrets.SWAGGER_BOT_GITHUB_TOKEN }} diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/docker-build-push.yml b/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/docker-build-push.yml new file mode 100644 index 0000000..3a71256 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/docker-build-push.yml @@ -0,0 +1,143 @@ +# inspired by https://securitylab.github.com/research/github-actions-preventing-pwn-requests/ +name: Build & Push SwaggerUI multi platform Docker image + +on: + workflow_dispatch: + inputs: + git_ref: + description: Git branch, tag or SHA to checkout. + type: string + required: true + docker_tag: + description: Docker tag associated with the `git_ref` + type: string + required: true + + repository_dispatch: + type: [docker_build_push] + +env: + REGISTRY_IMAGE: swaggerapi/swagger-ui + +jobs: + inputs: + name: Normalize inputs + runs-on: ubuntu-latest + outputs: + git_ref: ${{ steps.workflow_dispatch.outputs.git_ref || steps.repository_dispatch.outputs.git_ref }} + docker_tag: ${{ steps.workflow_dispatch.outputs.docker_tag || steps.repository_dispatch.outputs.docker_tag }} + + steps: + - name: Normalize inputs of `workflow_dispatch` event + id: workflow_dispatch + if: ${{ github.event_name == 'workflow_dispatch' }} + run: | + echo "git_ref=${{ inputs.git_ref }}" >> "$GITHUB_OUTPUT" + echo "docker_tag=${{ inputs.docker_tag }}" >> "$GITHUB_OUTPUT" + + - name: Normalize inputs of `repository_dispatch` event + id: repository_dispatch + if: ${{ github.event_name == 'repository_dispatch' }} + run: | + echo "git_ref=${{ github.event.client_payload.git_ref }}" >> "$GITHUB_OUTPUT" + echo "docker_tag=${{ github.event.client_payload.docker_tag }}" >> "$GITHUB_OUTPUT" + + + + build: + name: Build & Push SwaggerUI platform specific Docker images + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + platform: + # linux/amd64 is already built by Jenkins + - linux/arm/v6 + - linux/arm64 + - linux/386 + - linux/ppc64le + needs: + - inputs + + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ needs.inputs.outputs.git_ref }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_SB_USERNAME }} + password: ${{ secrets.DOCKERHUB_SB_PASSWORD }} + + - name: Build and push by digest + id: build + uses: docker/build-push-action@v5 + with: + context: . + platforms: ${{ matrix.platform }} + provenance: false + outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true + + - name: Export digest + run: | + mkdir -p /tmp/digests + digest="${{ steps.build.outputs.digest }}" + touch "/tmp/digests/${digest#sha256:}" + + - name: Sanitize platform variable + id: sanitize_platform + run: | + SANITIZED_PLATFORM="${{ matrix.platform }}" # Assuming direct usage for simplicity + SANITIZED_PLATFORM="${SANITIZED_PLATFORM//[^a-zA-Z0-9_-]/}" # Remove special chars + echo "SANITIZED_PLATFORM=${SANITIZED_PLATFORM}" # Echo for debug + echo "::set-output name=sanitized_platform::${SANITIZED_PLATFORM}" + + - name: Upload digest + uses: actions/upload-artifact@v4 + with: + name: digest-${{ steps.sanitize_platform.outputs.sanitized_platform }} + path: /tmp/digests/* + if-no-files-found: error + retention-days: 1 + + merge: + name: Merge platform specific Docker image into multi platform image + runs-on: ubuntu-latest + needs: + - inputs + - build + + steps: + - name: Download digests + uses: actions/download-artifact@v4 + with: + pattern: digest-* + path: /tmp/digests + merge-multiple: true + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_SB_USERNAME }} + password: ${{ secrets.DOCKERHUB_SB_PASSWORD }} + + - name: Create manifest list and push + working-directory: /tmp/digests + run: | + docker buildx imagetools create -t ${{ env.REGISTRY_IMAGE }}:${{ needs.inputs.outputs.docker_tag }} \ + ${{ env.REGISTRY_IMAGE }}:${{ needs.inputs.outputs.docker_tag }} \ + $(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *) + + - name: Inspect image + run: | + docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ needs.inputs.outputs.docker_tag }} diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/docker-image-check.yml b/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/docker-image-check.yml new file mode 100644 index 0000000..fb377fc --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/docker-image-check.yml @@ -0,0 +1,23 @@ +name: Security scan for docker image + +on: + workflow_dispatch: + schedule: + - cron: '30 4 * * *' + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Run Trivy vulnerability scanner + uses: aquasecurity/trivy-action@master + with: + image-ref: 'docker.io/swaggerapi/swagger-ui:unstable' + format: 'table' + exit-code: '1' + ignore-unfixed: true + vuln-type: 'os,library' + severity: 'CRITICAL,HIGH' diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/nodejs.yml b/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/nodejs.yml new file mode 100644 index 0000000..38604fd --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/nodejs.yml @@ -0,0 +1,86 @@ +# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions + +name: Node.js CI + +on: + push: + branches: [ master, next ] + pull_request: + branches: [ master, next ] + +env: + CYPRESS_CACHE_FOLDER: cypress/cache + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Use Node.js 20.x + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Cache Node Modules and Cypress binary + uses: actions/cache@v4 + id: cache-primes + with: + path: | + node_modules + ${{ env.CYPRESS_CACHE_FOLDER }} + key: ${{ runner.os }}-node-and-cypress-${{ hashFiles('package-lock.json') }} + + - name: Install dependencies + if: steps.cache-primes.outputs.cache-hit != 'true' + run: npm ci + + - name: Lint code for errors only + run: npm run lint-errors + + - name: Run all tests + run: npm run test:unit + env: + CI: true + + - name: Build SwaggerUI + run: npm run build + + - name: Test build artifacts + run: npm run test:artifact + + e2e-tests: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + containers: ['+(a11y|security|bugs)/**/*cy.js', 'features/**/+(o|d)*.cy.js', 'features/**/m*.cy.js', 'features/**/!(o|d|m)*.cy.js'] + + steps: + - uses: actions/checkout@v4 + + - name: Use Node.js 20.x + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Cache Node Modules and Cypress binary + uses: actions/cache@v4 + id: cache-primes + with: + path: | + node_modules + ${{ env.CYPRESS_CACHE_FOLDER }} + key: ${{ runner.os }}-node-and-cypress-${{ hashFiles('package-lock.json') }} + + - name: Install dependencies + if: steps.cache-primes.outputs.cache-hit != 'true' + run: npm ci + + - name: Cypress Test + run: npx start-server-and-test cy:start http://localhost:3204 'npm run cy:run -- --spec "test/e2e-cypress/e2e/${{ matrix.containers }}"' diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/release-swagger-ui-react.yml b/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/release-swagger-ui-react.yml new file mode 100644 index 0000000..e078a03 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/release-swagger-ui-react.yml @@ -0,0 +1,79 @@ +name: Build & Release SwaggerUI-React@next + +# single-stage +on: + workflow_dispatch: + branches: + - next + +# multi-stage automation +# on: +# workflow_run: +# workflows: ["Release SwaggerUI@next"] +# types: +# - completed +# branches: [next] + +defaults: + run: + working-directory: flavors/swagger-ui-react/release +jobs: + release-swagger-ui-react: + name: Release SwaggerUI React + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + persist-credentials: false + ref: next + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Prepare SwaggerUI dist + run: | + cd ../../../ + npm ci + npm run build + + - name: Install dependencies (to create package manifest) + run: npm ci + + - name: MKDIR `dist` working directory + run: mkdir -p ../dist + + - name: Copy SwaggerUI dist files to MKDIR + run: | + ls ../dist + cp ../../../dist/swagger-ui-es-bundle-core.js ../dist + cp ../../../dist/swagger-ui-es-bundle-core.js.map ../dist + cp ../../../dist/swagger-ui.css ../dist + cp ../../../dist/swagger-ui.css.map ../dist + + - name: Create a releasable package manifest + run: node create-manifest.js > ../dist/package.json + + - name: Transpile our top-level React Component + run: | + ../../../node_modules/.bin/cross-env BABEL_ENV=commonjs ../../../node_modules/.bin/babel --config-file ../../../babel.config.js ../index.jsx > ../dist/commonjs.js + ../../../node_modules/.bin/cross-env BABEL_ENV=es ../../../node_modules/.bin/babel --config-file ../../../babel.config.js ../index.jsx > ../dist/index.js + + - name: Copy our README into the dist folder for npm + run: cp ../README.md ../dist + + - name: Copy LICENSE & NOTICE into the dist folder for npm + run: | + cp ../../../LICENSE ../dist + cp ../../../NOTICE ../dist + + - name: Run the release from the dist folder + run: | + cd ../dist + pwd + npm publish . --tag alpha + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/release-swagger-ui.yml b/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/release-swagger-ui.yml new file mode 100644 index 0000000..417ff08 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.github/workflows/release-swagger-ui.yml @@ -0,0 +1,73 @@ +name: Release SwaggerUI@next + +on: + workflow_dispatch: + branches: + - next + +jobs: + release-swagger-ui: + name: Release SwaggerUI + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + persist-credentials: false + ref: next + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Determine the next release version + uses: cycjimmy/semantic-release-action@v4 + with: + dry_run: true + extra_plugins: | + @semantic-release/git + @semantic-release/exec + env: + GITHUB_TOKEN: ${{ secrets.SWAGGER_BOT_GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Nothing to release + if: ${{ env.NEXT_RELEASE_VERSION == '' }} + uses: actions/github-script@v7 + with: + script: | + core.setFailed('Nothing to release') + + - name: Install dependencies + run: npm ci + + - name: Prepare release + run: | + npm run build + + - name: Semantic Release + id: semantic + uses: cycjimmy/semantic-release-action@v4 + with: + dry_run: false + extra_plugins: | + @semantic-release/git + env: + GITHUB_TOKEN: ${{ secrets.SWAGGER_BOT_GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Release failed + if: steps.semantic.outputs.new_release_published == 'false' + uses: actions/github-script@v7 + with: + script: | + core.setFailed('Release failed') + + - name: Release published + run: | + echo ${{ steps.semantic.outputs.new_release_version }} + echo ${{ steps.semantic.outputs.new_release_major_version }} + echo ${{ steps.semantic.outputs.new_release_minor_version }} + echo ${{ steps.semantic.outputs.new_release_patch_version }} diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.gitignore b/public/static/js/swagger/swagger-ui-5.17.14/.gitignore new file mode 100644 index 0000000..e957857 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.gitignore @@ -0,0 +1,29 @@ +node_modules +.idea +.vscode +.deps_check +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local +.nyc_output +npm-debug.log* +.eslintcache +*.iml +selenium-debug.log +chromedriver.log +test/e2e/db.json +docs/_book +dev-helpers/examples + +# dist +flavors/**/dist/* +/lib +/es +dist/log* +/swagger-ui-*.tgz + +# Cypress +test/e2e-cypress/screenshots +test/e2e-cypress/videos diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.husky/commit-msg b/public/static/js/swagger/swagger-ui-5.17.14/.husky/commit-msg new file mode 100755 index 0000000..951570f --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.husky/commit-msg @@ -0,0 +1 @@ +npx commitlint -e diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.husky/pre-commit b/public/static/js/swagger/swagger-ui-5.17.14/.husky/pre-commit new file mode 100755 index 0000000..2312dc5 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.husky/pre-commit @@ -0,0 +1 @@ +npx lint-staged diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.lintstagedrc b/public/static/js/swagger/swagger-ui-5.17.14/.lintstagedrc new file mode 100644 index 0000000..5189da9 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.lintstagedrc @@ -0,0 +1,3 @@ +{ + "*.js": "eslint" +} diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.npmignore b/public/static/js/swagger/swagger-ui-5.17.14/.npmignore new file mode 100644 index 0000000..59950fe --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.npmignore @@ -0,0 +1,15 @@ +* +*/ +!README.md +!NOTICE +!package.json +!dist/swagger-ui.js +!dist/swagger-ui.js.map +!dist/swagger-ui-bundle.js +!dist/swagger-ui-standalone-preset.js +!dist/swagger-ui-es-bundle.js +!dist/swagger-ui-es-bundle-core.js +!dist/swagger-ui-es-bundle-core.js.map +!dist/swagger-ui.css +!dist/swagger-ui.css.map +!dist/oauth2-redirect.html diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.npmrc b/public/static/js/swagger/swagger-ui-5.17.14/.npmrc new file mode 100644 index 0000000..d508edc --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.npmrc @@ -0,0 +1 @@ +save-prefix="=" diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.nvmrc b/public/static/js/swagger/swagger-ui-5.17.14/.nvmrc new file mode 100644 index 0000000..4adfbc3 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.nvmrc @@ -0,0 +1 @@ +20.3.0 diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.prettierrc.yaml b/public/static/js/swagger/swagger-ui-5.17.14/.prettierrc.yaml new file mode 100644 index 0000000..2e34d75 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.prettierrc.yaml @@ -0,0 +1,5 @@ +semi: false +trailingComma: es5 +endOfLine: lf +requirePragma: true +insertPragma: true diff --git a/public/static/js/swagger/swagger-ui-5.17.14/.releaserc b/public/static/js/swagger/swagger-ui-5.17.14/.releaserc new file mode 100644 index 0000000..4efddee --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/.releaserc @@ -0,0 +1,35 @@ +{ + "branches": [ + { + "name": "master" + }, + { + "name": "next", + "channel": "alpha", + "prerelease": "alpha" + } + ], + "tagFormat": "v${version}", + "plugins": [ + "@semantic-release/commit-analyzer", + [ + "@semantic-release/exec", + { + "verifyReleaseCmd": "echo \"NEXT_RELEASE_VERSION=${nextRelease.version}\" >> $GITHUB_ENV" + } + ], + "@semantic-release/release-notes-generator", + "@semantic-release/npm", + "@semantic-release/github", + [ + "@semantic-release/git", + { + "assets": [ + "package.json", + "package-lock.json" + ], + "message": "chore(release): cut the ${nextRelease.version} release\n\n${nextRelease.notes}" + } + ] + ] +} \ No newline at end of file diff --git a/public/static/js/swagger/swagger-ui-5.17.14/Dockerfile b/public/static/js/swagger/swagger-ui-5.17.14/Dockerfile new file mode 100644 index 0000000..3ea5801 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/Dockerfile @@ -0,0 +1,30 @@ +# Looking for information on environment variables? +# We don't declare them here — take a look at our docs. +# https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md + +FROM nginx:1.26.0-alpine + +RUN apk update && apk add --no-cache "nodejs>=18.20.1-r0 " + +LABEL maintainer="char0n" + +ENV API_KEY="**None**" \ + SWAGGER_JSON="/app/swagger.json" \ + PORT="8080" \ + PORT_IPV6="" \ + BASE_URL="/" \ + SWAGGER_JSON_URL="" \ + CORS="true" \ + EMBEDDING="false" + +COPY --chown=nginx:nginx --chmod=0666 ./docker/default.conf.template ./docker/cors.conf ./docker/embedding.conf /etc/nginx/templates/ + +COPY --chmod=0666 ./dist/* /usr/share/nginx/html/ +COPY --chmod=0555 ./docker/docker-entrypoint.d/ /docker-entrypoint.d/ +COPY --chmod=0666 ./docker/configurator /usr/share/nginx/configurator + +# Simulates running NGINX as a non root; in future we want to use nginxinc/nginx-unprivileged. +# In future we will have separate unpriviledged images tagged as v5.1.2-unprivileged. +RUN chmod 777 /usr/share/nginx/html/ /etc/nginx/conf.d/ /etc/nginx/conf.d/default.conf /var/cache/nginx/ /var/run/ + +EXPOSE 8080 diff --git a/public/static/js/swagger/swagger-ui-5.17.14/LICENSE b/public/static/js/swagger/swagger-ui-5.17.14/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/public/static/js/swagger/swagger-ui-5.17.14/NOTICE b/public/static/js/swagger/swagger-ui-5.17.14/NOTICE new file mode 100644 index 0000000..ab788a2 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/NOTICE @@ -0,0 +1,2 @@ +swagger-ui +Copyright 2020-2021 SmartBear Software Inc. diff --git a/public/static/js/swagger/swagger-ui-5.17.14/README.md b/public/static/js/swagger/swagger-ui-5.17.14/README.md new file mode 100644 index 0000000..f01a3ff --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/README.md @@ -0,0 +1,99 @@ +# + +[![NPM version](https://badge.fury.io/js/swagger-ui.svg)](http://badge.fury.io/js/swagger-ui) +[![Build Status](https://jenkins.swagger.io/view/OSS%20-%20JavaScript/job/oss-swagger-ui-master/badge/icon?subject=jenkins%20build)](https://jenkins.swagger.io/view/OSS%20-%20JavaScript/job/oss-swagger-ui-master/) +[![npm audit](https://jenkins.swagger.io/buildStatus/icon?job=oss-swagger-ui-security-audit&subject=npm%20audit)](https://jenkins.swagger.io/job/oss-swagger-ui-security-audit/lastBuild/console) +![total GitHub contributors](https://img.shields.io/github/contributors-anon/swagger-api/swagger-ui.svg) + +![monthly npm installs](https://img.shields.io/npm/dm/swagger-ui.svg?label=npm%20downloads) +![total docker pulls](https://img.shields.io/docker/pulls/swaggerapi/swagger-ui.svg) +![monthly packagist installs](https://img.shields.io/packagist/dm/swagger-api/swagger-ui.svg?label=packagist%20installs) +![gzip size](https://img.shields.io/bundlephobia/minzip/swagger-ui.svg?label=gzip%20size) + +## Introduction +[Swagger UI](https://swagger.io/tools/swagger-ui/) allows anyone — be it your development team or your end consumers — to visualize and interact with the API’s resources without having any of the implementation logic in place. It’s automatically generated from your OpenAPI (formerly known as Swagger) Specification, with the visual documentation making it easy for back end implementation and client side consumption. + +## General +**👉🏼 Want to score an easy open-source contribution?** Check out our [Good first issue](https://github.com/swagger-api/swagger-ui/issues?q=is%3Aissue+is%3Aopen+label%3A%22Good+first+issue%22) label. + +**🕰️ Looking for the older version of Swagger UI?** Refer to the [*2.x* branch](https://github.com/swagger-api/swagger-ui/tree/2.x). + + +This repository publishes three different NPM modules: + +* [swagger-ui](https://www.npmjs.com/package/swagger-ui) is a traditional npm module intended for use in single-page applications that are capable of resolving dependencies (via Webpack, Browserify, etc.). +* [swagger-ui-dist](https://www.npmjs.com/package/swagger-ui-dist) is a dependency-free module that includes everything you need to serve Swagger UI in a server-side project, or a single-page application that can't resolve npm module dependencies. +* [swagger-ui-react](https://www.npmjs.com/package/swagger-ui-react) is Swagger UI packaged as a React component for use in React applications. + +We strongly suggest that you use `swagger-ui` instead of `swagger-ui-dist` if you're building a single-page application, since `swagger-ui-dist` is significantly larger. + +If you are looking for plain ol' HTML/JS/CSS, [download the latest release](https://github.com/swagger-api/swagger-ui/releases/latest) and copy the contents of the `/dist` folder to your server. + + +## Compatibility +The OpenAPI Specification has undergone 5 revisions since initial creation in 2010. Compatibility between Swagger UI and the OpenAPI Specification is as follows: + +| Swagger UI Version | Release Date | OpenAPI Spec compatibility | Notes | +|--------------------|--------------|----------------------------------------|-----------------------------------------------------------------------| +| 5.0.0 | 2023-06-12 | 2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.1.0 | [tag v5.0.0](https://github.com/swagger-api/swagger-ui/tree/v5.0.0) | +| 4.0.0 | 2021-11-03 | 2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3 | [tag v4.0.0](https://github.com/swagger-api/swagger-ui/tree/v4.0.0) | +| 3.18.3 | 2018-08-03 | 2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3 | [tag v3.18.3](https://github.com/swagger-api/swagger-ui/tree/v3.18.3) | +| 3.0.21 | 2017-07-26 | 2.0 | [tag v3.0.21](https://github.com/swagger-api/swagger-ui/tree/v3.0.21) | +| 2.2.10 | 2017-01-04 | 1.1, 1.2, 2.0 | [tag v2.2.10](https://github.com/swagger-api/swagger-ui/tree/v2.2.10) | +| 2.1.5 | 2016-07-20 | 1.1, 1.2, 2.0 | [tag v2.1.5](https://github.com/swagger-api/swagger-ui/tree/v2.1.5) | +| 2.0.24 | 2014-09-12 | 1.1, 1.2 | [tag v2.0.24](https://github.com/swagger-api/swagger-ui/tree/v2.0.24) | +| 1.0.13 | 2013-03-08 | 1.1, 1.2 | [tag v1.0.13](https://github.com/swagger-api/swagger-ui/tree/v1.0.13) | +| 1.0.1 | 2011-10-11 | 1.0, 1.1 | [tag v1.0.1](https://github.com/swagger-api/swagger-ui/tree/v1.0.1) | + +## Documentation + +#### Usage +- [Installation](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/usage/installation.md) +- [Configuration](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/usage/configuration.md) +- [CORS](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/usage/cors.md) +- [OAuth2](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/usage/oauth2.md) +- [Deep Linking](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/usage/deep-linking.md) +- [Limitations](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/usage/limitations.md) +- [Version detection](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/usage/version-detection.md) + +#### Customization +- [Overview](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/customization/overview.md) +- [Plugin API](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/customization/plugin-api.md) +- [Custom layout](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/customization/custom-layout.md) + +#### Development +- [Setting up](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/development/setting-up.md) +- [Scripts](https://github.com/swagger-api/swagger-ui/blob/HEAD/docs/development/scripts.md) + +#### Contributing +- [Contributing](https://github.com/swagger-api/.github/blob/HEAD/CONTRIBUTING.md) + +##### Integration Tests + +You will need JDK of version 7 or higher as instructed here +https://nightwatchjs.org/guide/getting-started/installation.html#install-selenium-server + +Integration tests can be run locally with `npm run e2e` - be sure you aren't running a dev server when testing! + +### Browser support +Swagger UI works in the latest versions of Chrome, Safari, Firefox, and Edge. + +### Known Issues + +To help with the migration, here are the currently known issues with 3.X. This list will update regularly, and will not include features that were not implemented in previous versions. + +- Only part of the parameters previously supported are available. +- The JSON Form Editor is not implemented. +- Support for `collectionFormat` is partial. +- l10n (translations) is not implemented. +- Relative path support for external files is not implemented. + +## Security contact + +Please disclose any security-related issues or vulnerabilities by emailing [security@swagger.io](mailto:security@swagger.io), instead of using the public issue tracker. + +## License + +SwaggerUI is licensed under [Apache 2.0 license](https://github.com/swagger-api/swagger-ui/blob/master/LICENSE). +SwaggerUI comes with an explicit [NOTICE](https://github.com/swagger-api/swagger-ui/blob/master/NOTICE) file +containing additional legal notices and information. diff --git a/public/static/js/swagger/swagger-ui-5.17.14/SECURITY.md b/public/static/js/swagger/swagger-ui-5.17.14/SECURITY.md new file mode 100644 index 0000000..6c1d117 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/SECURITY.md @@ -0,0 +1,23 @@ +# Security Policy + +If you believe you've found an exploitable security issue in Swagger UI, +**please don't create a public issue**. + + +## Supported versions + +This is the list of versions of `swagger-ui` which are +currently being supported with security updates. + +| Version | Supported | Notes | +|---------|--------------------|---------------------------------| +| 5.x | :white_check_mark: | Active LTS | +| 4.x | :x: | End-of-life as of August 2023 | +| 3.x | :x: | End-of-life as of November 2021 | +| 2.x | :x: | End-of-life as of 2017 | + +## Reporting a vulnerability + +To report a vulnerability please send an email with the details to [security@swagger.io](mailto:security@swagger.io). + +We'll acknowledge receipt of your report ASAP, and set expectations on how we plan to handle it. diff --git a/public/static/js/swagger/swagger-ui-5.17.14/babel.config.js b/public/static/js/swagger/swagger-ui-5.17.14/babel.config.js new file mode 100644 index 0000000..d071bde --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/babel.config.js @@ -0,0 +1,140 @@ +const browser = { + presets: [ + [ + "@babel/preset-env", + { + debug: false, + modules: "auto", + useBuiltIns: false, + forceAllTransforms: false, + ignoreBrowserslistConfig: false, + } + ], + "@babel/preset-react", + ], + plugins: [ + [ + "@babel/plugin-transform-runtime", + { + corejs: { version: 3, proposals: false }, + absoluteRuntime: false, + helpers: true, + regenerator: false, + version: "^7.22.11", + } + ], + [ + "transform-react-remove-prop-types", + { + additionalLibraries: [ + "react-immutable-proptypes" + ] + } + ], + [ + "babel-plugin-module-resolver", + { + alias: { + root: ".", + core: "./src/core", + } + } + ] + ], +} + +module.exports = { + env: { + commonjs: { + presets: [ + [ + "@babel/preset-env", + { + debug: false, + modules: "commonjs", + loose: true, + useBuiltIns: false, + forceAllTransforms: false, + ignoreBrowserslistConfig: false, + } + ], + "@babel/preset-react", + ], + plugins: [ + [ + "@babel/plugin-transform-runtime", + { + corejs: { version: 3, proposals: false }, + absoluteRuntime: false, + helpers: true, + regenerator: false, + version: "^7.22.11", + } + ], + [ + "transform-react-remove-prop-types", + { + additionalLibraries: [ + "react-immutable-proptypes" + ] + } + ], + [ + "babel-plugin-module-resolver", + { + alias: { + root: ".", + core: "./src/core", + } + } + ] + ], + }, + esm: { + presets: [ + [ + "@babel/env", + { + debug: false, + modules: false, + ignoreBrowserslistConfig: false, + useBuiltIns: false, + } + ], + "@babel/preset-react" + ], + plugins: [ + [ + "@babel/plugin-transform-runtime", + { + corejs: { version: 3, proposals: false }, + absoluteRuntime: false, + helpers: true, + regenerator: false, + version: "^7.22.11", + } + ], + [ + "transform-react-remove-prop-types", + { + additionalLibraries: [ + "react-immutable-proptypes" + ] + } + ], + [ + "babel-plugin-module-resolver", + { + alias: { + root: ".", + core: "./src/core", + } + } + ] + ] + }, + development: browser, + production: browser, + }, +} + diff --git a/public/static/js/swagger/swagger-ui-5.17.14/composer.json b/public/static/js/swagger/swagger-ui-5.17.14/composer.json new file mode 100644 index 0000000..76288f6 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/composer.json @@ -0,0 +1,40 @@ +{ + "name": "swagger-api/swagger-ui", + "description": " Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.", + "keywords": [ + "Swagger", + "OpenAPI", + "specification", + "documentation", + "API", + "UI" + ], + "homepage": "http://swagger.io", + "license": "Apache-2.0", + "authors": [ + { + "name": "Anna Bodnia", + "email": "anna.bodnia@gmail.com" + }, + { + "name": "Buu Nguyen", + "email": "buunguyen@gmail.com" + }, + { + "name": "Josh Ponelat", + "email": "jponelat@gmail.com" + }, + { + "name": "Kyle Shockey", + "email": "kyleshockey1@gmail.com" + }, + { + "name": "Robert Barnwell", + "email": "robert@robertismy.name" + }, + { + "name": "Sahar Jafari", + "email": "shr.jafari@gmail.com" + } + ] +} diff --git a/public/static/js/swagger/swagger-ui-5.17.14/config/.eslintrc b/public/static/js/swagger/swagger-ui-5.17.14/config/.eslintrc new file mode 100644 index 0000000..85ec702 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/config/.eslintrc @@ -0,0 +1,8 @@ +{ + "rules": { + "import/no-unresolved": 0, + "import/extensions": 0, + "quotes": ["error", "single"], + "semi": ["error", "always"] + } +} diff --git a/public/static/js/swagger/swagger-ui-5.17.14/config/jest/jest.artifact.config.js b/public/static/js/swagger/swagger-ui-5.17.14/config/jest/jest.artifact.config.js new file mode 100644 index 0000000..47db45f --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/config/jest/jest.artifact.config.js @@ -0,0 +1,9 @@ +const path = require('path'); + +module.exports = { + rootDir: path.join(__dirname, '..', '..'), + testEnvironment: 'jsdom', + testMatch: ['**/test/build-artifacts/**/*.js'], + setupFiles: ['/test/unit/jest-shim.js'], + transformIgnorePatterns: ['/node_modules/(?!(swagger-client|react-syntax-highlighter)/)'], +}; diff --git a/public/static/js/swagger/swagger-ui-5.17.14/config/jest/jest.unit.config.js b/public/static/js/swagger/swagger-ui-5.17.14/config/jest/jest.unit.config.js new file mode 100644 index 0000000..af5b3ad --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/config/jest/jest.unit.config.js @@ -0,0 +1,23 @@ +const path = require('path'); + +module.exports = { + rootDir: path.join(__dirname, '..', '..'), + testEnvironment: 'jest-environment-jsdom', + testMatch: [ + '**/test/unit/*.js?(x)', + '**/test/unit/**/*.js?(x)', + ], + setupFiles: ['/test/unit/jest-shim.js'], + setupFilesAfterEnv: ['/test/unit/setup.js'], + testPathIgnorePatterns: [ + '/node_modules/', + '/test/build-artifacts/', + '/test/unit/jest-shim.js', + '/test/unit/setup.js', + ], + moduleNameMapper: { + '^.+\\.svg$': 'jest-transform-stub' + }, + transformIgnorePatterns: ['/node_modules/(?!(sinon|react-syntax-highlighter)/)'], + silent: true, // set to `false` to allow console.* calls to be printed +}; diff --git a/public/static/js/swagger/swagger-ui-5.17.14/cypress.config.js b/public/static/js/swagger/swagger-ui-5.17.14/cypress.config.js new file mode 100644 index 0000000..a948ea0 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/cypress.config.js @@ -0,0 +1,19 @@ +const { defineConfig } = require("cypress") + +const startOAuthServer = require("./test/e2e-cypress/support/helpers/oauth2-server") + +module.exports = defineConfig({ + fileServerFolder: "test/e2e-cypress/static", + fixturesFolder: "test/e2e-cypress/fixtures", + screenshotsFolder: "test/e2e-cypress/screenshots", + videosFolder: "test/e2e-cypress/videos", + video: false, + e2e: { + baseUrl: "http://localhost:3230/", + supportFile: "test/e2e-cypress/support/e2e.js", + specPattern: "test/e2e-cypress/e2e/**/*.cy.{js,jsx}", + setupNodeEvents: () => { + startOAuthServer() + }, + }, +}) diff --git a/public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/dev-helper-initializer.js b/public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/dev-helper-initializer.js new file mode 100644 index 0000000..ec330dc --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/dev-helper-initializer.js @@ -0,0 +1,33 @@ +/* eslint-disable no-undef */ +window.onload = function() { + window["SwaggerUIBundle"] = window["swagger-ui-bundle"] + window["SwaggerUIStandalonePreset"] = window["swagger-ui-standalone-preset"] + // Build a system + const ui = SwaggerUIBundle({ + url: "https://petstore.swagger.io/v2/swagger.json", + dom_id: "#swagger-ui", + presets: [ + SwaggerUIBundle.presets.apis, + SwaggerUIStandalonePreset + ], + plugins: [ + SwaggerUIBundle.plugins.DownloadUrl + ], + // requestSnippetsEnabled: true, + layout: "StandaloneLayout" + }) + + window.ui = ui + + ui.initOAuth({ + clientId: "your-client-id", + clientSecret: "your-client-secret-if-required", + realm: "your-realms", + appName: "your-app-name", + scopeSeparator: " ", + scopes: "openid profile email phone address", + additionalQueryStringParams: {}, + useBasicAuthenticationWithAccessCodeGrant: false, + usePkceWithAuthorizationCodeGrant: false + }) +} diff --git a/public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/index.html b/public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/index.html new file mode 100644 index 0000000..9432ef7 --- /dev/null +++ b/public/static/js/swagger/swagger-ui-5.17.14/dev-helpers/index.html @@ -0,0 +1,21 @@ + + + + + + + Swagger UI + + + + + +

\n \n)\n\nCopy.propTypes = {\n className: PropTypes.string,\n width: PropTypes.string,\n height: PropTypes.string,\n}\n\nexport default Copy\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Lock = ({ className = null, width = 20, height = 20, ...rest }) => (\n \n \n \n)\n\nLock.propTypes = {\n className: PropTypes.string,\n width: PropTypes.string,\n height: PropTypes.string,\n}\n\nexport default Lock\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst Unlock = ({ className = null, width = 20, height = 20, ...rest }) => (\n \n \n \n)\n\nUnlock.propTypes = {\n className: PropTypes.string,\n width: PropTypes.string,\n height: PropTypes.string,\n}\n\nexport default Unlock\n","/**\n * @prettier\n */\nimport ArrowUpIcon from \"./components/arrow-up\"\nimport ArrowDownIcon from \"./components/arrow-down\"\nimport ArrowIcon from \"./components/arrow\"\nimport CloseIcon from \"./components/close\"\nimport CopyIcon from \"./components/copy\"\nimport LockIcon from \"./components/lock\"\nimport UnlockIcon from \"./components/unlock\"\n\nconst IconsPlugin = () => ({\n components: {\n ArrowUpIcon,\n ArrowDownIcon,\n ArrowIcon,\n CloseIcon,\n CopyIcon,\n LockIcon,\n UnlockIcon,\n }\n})\n\nexport default IconsPlugin","import { normalizeArray } from \"core/utils\"\n\nexport const UPDATE_LAYOUT = \"layout_update_layout\"\nexport const UPDATE_FILTER = \"layout_update_filter\"\nexport const UPDATE_MODE = \"layout_update_mode\"\nexport const SHOW = \"layout_show\"\n\n// export const ONLY_SHOW = \"layout_only_show\"\n\nexport function updateLayout(layout) {\n return {\n type: UPDATE_LAYOUT,\n payload: layout\n }\n}\n\nexport function updateFilter(filter) {\n return {\n type: UPDATE_FILTER,\n payload: filter\n }\n}\n\nexport function show(thing, shown=true) {\n thing = normalizeArray(thing)\n return {\n type: SHOW,\n payload: {thing, shown}\n }\n}\n\n// Simple string key-store, used for\nexport function changeMode(thing, mode=\"\") {\n thing = normalizeArray(thing)\n return {\n type: UPDATE_MODE,\n payload: {thing, mode}\n }\n}\n","import { fromJS } from \"immutable\"\nimport {\n UPDATE_LAYOUT,\n UPDATE_FILTER,\n UPDATE_MODE,\n SHOW\n} from \"./actions\"\n\nexport default {\n\n [UPDATE_LAYOUT]: (state, action) => state.set(\"layout\", action.payload),\n\n [UPDATE_FILTER]: (state, action) => state.set(\"filter\", action.payload),\n\n [SHOW]: (state, action) => {\n const isShown = action.payload.shown\n // This is one way to serialize an array, another (preferred) is to convert to json-pointer\n // TODO: use json-pointer serilization instead of fromJS(...), for performance\n const thingToShow = fromJS(action.payload.thing)\n // This is a map of paths to bools\n // eg: [one, two] => true\n // eg: [one] => false\n return state.update(\"shown\", fromJS({}), a => a.set(thingToShow, isShown))\n },\n\n [UPDATE_MODE]: (state, action) => {\n let thing = action.payload.thing\n let mode = action.payload.mode\n return state.setIn([\"modes\"].concat(thing), (mode || \"\") + \"\")\n }\n\n}\n","import { createSelector } from \"reselect\"\nimport { normalizeArray } from \"core/utils\"\nimport { fromJS } from \"immutable\"\n\nconst state = state => state\n\nexport const current = state => state.get(\"layout\")\n\nexport const currentFilter = state => state.get(\"filter\")\n\nexport const isShown = (state, thing, def) => {\n thing = normalizeArray(thing)\n return state.get(\"shown\", fromJS({})).get(fromJS(thing), def)\n}\n\nexport const whatMode = (state, thing, def=\"\") => {\n thing = normalizeArray(thing)\n return state.getIn([\"modes\", ...thing], def)\n}\n\nexport const showSummary = createSelector(\n state,\n state => !isShown(state, \"editor\")\n)\n","\nexport const taggedOperations = (oriSelector, system) => (state, ...args) => {\n let taggedOps = oriSelector(state, ...args)\n\n const { fn, layoutSelectors, getConfigs } = system.getSystem()\n const configs = getConfigs()\n const { maxDisplayedTags } = configs\n\n // Filter, if requested\n let filter = layoutSelectors.currentFilter()\n if (filter) {\n if (filter !== true) {\n taggedOps = fn.opsFilter(taggedOps, filter)\n }\n }\n // Limit to [max] items, if specified\n if (maxDisplayedTags >= 0) {\n taggedOps = taggedOps.slice(0, maxDisplayedTags)\n }\n\n return taggedOps\n}\n","import reducers from \"./reducers\"\nimport * as actions from \"./actions\"\nimport * as selectors from \"./selectors\"\nimport * as wrapSelectors from \"./spec-extensions/wrap-selector\"\n\nexport default function() {\n return {\n statePlugins: {\n layout: {\n reducers,\n actions,\n selectors\n },\n spec: {\n wrapSelectors\n }\n }\n }\n}\n","export default function ({configs}) {\n\n const levels = {\n \"debug\": 0,\n \"info\": 1,\n \"log\": 2,\n \"warn\": 3,\n \"error\": 4\n }\n\n const getLevel = (level) => levels[level] || -1\n\n let { logLevel } = configs\n let logLevelInt = getLevel(logLevel)\n\n function log(level, ...args) {\n if(getLevel(level) >= logLevelInt)\n // eslint-disable-next-line no-console\n console[level](...args)\n }\n\n log.warn = log.bind(null, \"warn\")\n log.error = log.bind(null, \"error\")\n log.info = log.bind(null, \"info\")\n log.debug = log.bind(null, \"debug\")\n\n return { rootInjects: { log } }\n}\n","let engaged = false\n\nexport default function() {\n\n return {\n statePlugins: {\n spec: {\n wrapActions: {\n updateSpec: (ori) => (...args) => {\n engaged = true\n return ori(...args)\n },\n updateJsonSpec: (ori, system) => (...args) => {\n const cb = system.getConfigs().onComplete\n if(engaged && typeof cb === \"function\") {\n // call `onComplete` on next tick, which allows React to\n // reconcile the DOM before we notify the user\n setTimeout(cb, 0)\n engaged = false\n }\n\n return ori(...args)\n }\n }\n }\n }\n }\n}\n","import { List, Map } from \"immutable\"\nimport win from \"../../window\"\n\n\n/**\n * if duplicate key name existed from FormData entries,\n * we mutated the key name by appending a hashIdx\n * @param {String} k - possibly mutated key name\n * @return {String} - src key name\n */\nconst extractKey = (k) => {\n const hashIdx = \"_**[]\"\n if (k.indexOf(hashIdx) < 0) {\n return k\n }\n return k.split(hashIdx)[0].trim()\n}\n\nconst escapeShell = (str) => {\n if (str === \"-d \") {\n return str\n }\n // eslint-disable-next-line no-useless-escape\n if (!/^[_\\/-]/g.test(str))\n return (\"'\" + str\n .replace(/'/g, \"'\\\\''\") + \"'\")\n else\n return str\n}\n\nconst escapeCMD = (str) => {\n str = str\n .replace(/\\^/g, \"^^\")\n .replace(/\\\\\"/g, \"\\\\\\\\\\\"\")\n .replace(/\"/g, \"\\\"\\\"\")\n .replace(/\\n/g, \"^\\n\")\n if (str === \"-d \") {\n return str\n .replace(/-d /g, \"-d ^\\n\")\n }\n // eslint-disable-next-line no-useless-escape\n if (!/^[_\\/-]/g.test(str))\n return \"\\\"\" + str + \"\\\"\"\n else\n return str\n}\n\nconst escapePowershell = (str) => {\n if (str === \"-d \") {\n return str\n }\n if (/\\n/.test(str)) {\n const escaped = str.replace(/`/g, \"``\").replace(/\\$/g, \"`$\")\n return `@\"\\n${escaped}\\n\"@`\n }\n if (!/^[_\\/-]/.test(str)) { // eslint-disable-line no-useless-escape\n const escaped = str.replace(/'/g, \"''\")\n return `'${escaped}'`\n }\n return str\n}\n\nfunction getStringBodyOfMap(request) {\n let curlifyToJoin = []\n for (let [k, v] of request.get(\"body\").entrySeq()) {\n let extractedKey = extractKey(k)\n if (v instanceof win.File) {\n curlifyToJoin.push(` \"${extractedKey}\": {\\n \"name\": \"${v.name}\"${v.type ? `,\\n \"type\": \"${v.type}\"` : \"\"}\\n }`)\n } else {\n curlifyToJoin.push(` \"${extractedKey}\": ${JSON.stringify(v, null, 2).replace(/(\\r\\n|\\r|\\n)/g, \"\\n \")}`)\n }\n }\n return `{\\n${curlifyToJoin.join(\",\\n\")}\\n}`\n}\n\nconst curlify = (request, escape, newLine, ext = \"\") => {\n let isMultipartFormDataRequest = false\n let curlified = \"\"\n const addWords = (...args) => curlified += \" \" + args.map(escape).join(\" \")\n const addWordsWithoutLeadingSpace = (...args) => curlified += args.map(escape).join(\" \")\n const addNewLine = () => curlified += ` ${newLine}`\n const addIndent = (level = 1) => curlified += \" \".repeat(level)\n let headers = request.get(\"headers\")\n curlified += \"curl\" + ext\n\n const curlOptions = request.get(\"curlOptions\")\n if (List.isList(curlOptions) && !curlOptions.isEmpty()) {\n addWords(...request.get(\"curlOptions\"))\n }\n\n addWords(\"-X\", request.get(\"method\"))\n\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(`${request.get(\"url\")}`)\n\n if (headers && headers.size) {\n for (let p of request.get(\"headers\").entries()) {\n addNewLine()\n addIndent()\n let [h, v] = p\n addWordsWithoutLeadingSpace(\"-H\", `${h}: ${v}`)\n isMultipartFormDataRequest = isMultipartFormDataRequest || /^content-type$/i.test(h) && /^multipart\\/form-data$/i.test(v)\n }\n }\n\n const body = request.get(\"body\")\n if (body) {\n if (isMultipartFormDataRequest && [\"POST\", \"PUT\", \"PATCH\"].includes(request.get(\"method\"))) {\n for (let [k, v] of body.entrySeq()) {\n let extractedKey = extractKey(k)\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-F\")\n\n /**\n * SwaggerClient produces specialized sub-class of File class, that only\n * accepts string data and retain this data in `data`\n * public property throughout the lifecycle of its instances.\n *\n * This sub-class is exclusively used only when Encoding Object\n * is defined within the Media Type Object (OpenAPI 3.x.y).\n */\n if (v instanceof win.File && typeof v.valueOf() === \"string\") {\n addWords(`${extractedKey}=${v.data}${v.type ? `;type=${v.type}` : \"\"}`)\n } else if (v instanceof win.File) {\n addWords(`${extractedKey}=@${v.name}${v.type ? `;type=${v.type}` : \"\"}`)\n } else {\n addWords(`${extractedKey}=${v}`)\n }\n }\n } else if(body instanceof win.File) {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(`--data-binary '@${body.name}'`)\n } else {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-d \")\n let reqBody = body\n if (!Map.isMap(reqBody)) {\n if (typeof reqBody !== \"string\") {\n reqBody = JSON.stringify(reqBody)\n }\n addWordsWithoutLeadingSpace(reqBody)\n } else {\n addWordsWithoutLeadingSpace(getStringBodyOfMap(request))\n }\n }\n } else if (!body && request.get(\"method\") === \"POST\") {\n addNewLine()\n addIndent()\n addWordsWithoutLeadingSpace(\"-d ''\")\n }\n\n return curlified\n}\n\n// eslint-disable-next-line camelcase\nexport const requestSnippetGenerator_curl_powershell = (request) => {\n return curlify(request, escapePowershell, \"`\\n\", \".exe\")\n}\n\n// eslint-disable-next-line camelcase\nexport const requestSnippetGenerator_curl_bash = (request) => {\n return curlify(request, escapeShell, \"\\\\\\n\")\n}\n\n// eslint-disable-next-line camelcase\nexport const requestSnippetGenerator_curl_cmd = (request) => {\n return curlify(request, escapeCMD, \"^\\n\")\n}\n","import { createSelector } from \"reselect\"\nimport { Map } from \"immutable\"\n\nconst state = state => state || Map()\n\nexport const getGenerators = createSelector(\n state,\n state => {\n const languageKeys = state\n .get(\"languages\")\n const generators = state\n .get(\"generators\", Map())\n if(!languageKeys || languageKeys.isEmpty()) {\n return generators\n }\n return generators\n .filter((v, key) => languageKeys.includes(key))\n }\n)\n\nexport const getSnippetGenerators = (state) => ({ fn }) => {\n const getGenFn = (key) => fn[`requestSnippetGenerator_${key}`]\n return getGenerators(state)\n .map((gen, key) => {\n const genFn = getGenFn(key)\n if(typeof genFn !== \"function\") {\n return null\n }\n\n return gen.set(\"fn\", genFn)\n })\n .filter(v => v)\n}\n\nexport const getActiveLanguage = createSelector(\n state,\n state => state\n .get(\"activeLanguage\")\n)\n\nexport const getDefaultExpanded = createSelector(\n state,\n state => state\n .get(\"defaultExpanded\")\n)\n","var x = function(y) {\n\tvar x = {}; __webpack_require__.d(x, y); return x\n} \nvar y = function(x) { return function() { return x; }; }\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: function() { return __WEBPACK_EXTERNAL_MODULE_classnames__[\"default\"]; } });","var x = function(y) {\n\tvar x = {}; __webpack_require__.d(x, y); return x\n} \nvar y = function(x) { return function() { return x; }; }\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"CopyToClipboard\"]: function() { return __WEBPACK_EXTERNAL_MODULE_react_copy_to_clipboard_5b11dd57__.CopyToClipboard; } });","import React, { useRef, useEffect, useState } from \"react\"\nimport classNames from \"classnames\"\nimport PropTypes from \"prop-types\"\nimport { CopyToClipboard } from \"react-copy-to-clipboard\"\n\nconst style = {\n cursor: \"pointer\",\n lineHeight: 1,\n display: \"inline-flex\",\n backgroundColor: \"rgb(250, 250, 250)\",\n paddingBottom: \"0\",\n paddingTop: \"0\",\n border: \"1px solid rgb(51, 51, 51)\",\n borderRadius: \"4px 4px 0 0\",\n boxShadow: \"none\",\n borderBottom: \"none\"\n}\n\nconst activeStyle = {\n cursor: \"pointer\",\n lineHeight: 1,\n display: \"inline-flex\",\n backgroundColor: \"rgb(51, 51, 51)\",\n boxShadow: \"none\",\n border: \"1px solid rgb(51, 51, 51)\",\n paddingBottom: \"0\",\n paddingTop: \"0\",\n borderRadius: \"4px 4px 0 0\",\n marginTop: \"-5px\",\n marginRight: \"-5px\",\n marginLeft: \"-5px\",\n zIndex: \"9999\",\n borderBottom: \"none\"\n}\n\nconst RequestSnippets = ({ request, requestSnippetsSelectors, getComponent }) => {\n const rootRef = useRef(null)\n\n const ArrowIcon = getComponent(\"ArrowUpIcon\")\n const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n const SyntaxHighlighter = getComponent(\"SyntaxHighlighter\", true)\n\n const [activeLanguage, setActiveLanguage] = useState(requestSnippetsSelectors.getSnippetGenerators()?.keySeq().first())\n const [isExpanded, setIsExpanded] = useState(requestSnippetsSelectors?.getDefaultExpanded())\n\n const snippetGenerators = requestSnippetsSelectors.getSnippetGenerators()\n const activeGenerator = snippetGenerators.get(activeLanguage)\n const snippet = activeGenerator.get(\"fn\")(request)\n\n const handleGenChange = (key) => {\n const needsChange = activeLanguage !== key\n if (needsChange) {\n setActiveLanguage(key)\n }\n }\n\n const handleSetIsExpanded = () => {\n setIsExpanded(!isExpanded)\n }\n\n const handleGetBtnStyle = (key) => {\n if (key === activeLanguage) {\n return activeStyle\n }\n return style\n }\n\n const handlePreventYScrollingBeyondElement = (e) => {\n const { target, deltaY } = e\n const { scrollHeight: contentHeight, offsetHeight: visibleHeight, scrollTop } = target\n const scrollOffset = visibleHeight + scrollTop\n const isElementScrollable = contentHeight > visibleHeight\n const isScrollingPastTop = scrollTop === 0 && deltaY < 0\n const isScrollingPastBottom = scrollOffset >= contentHeight && deltaY > 0\n\n if (isElementScrollable && (isScrollingPastTop || isScrollingPastBottom)) {\n e.preventDefault()\n }\n }\n\n useEffect(() => {\n const doIt = () => {\n\n }\n doIt()\n }, [])\n\n useEffect(() => {\n const childNodes = Array\n .from(rootRef.current.childNodes)\n .filter(node => !!node.nodeType && node.classList?.contains(\"curl-command\"))\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.addEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement, { passive: false }))\n\n return () => {\n // eslint-disable-next-line no-use-before-define\n childNodes.forEach(node => node.removeEventListener(\"mousewheel\", handlePreventYScrollingBeyondElement))\n }\n }, [request])\n\n return (\n
\n
\n handleSetIsExpanded()}\n style={{ cursor: \"pointer\" }}\n >Snippets\n handleSetIsExpanded()}\n style={{ border: \"none\", background: \"none\" }}\n title={isExpanded ? \"Collapse operation\" : \"Expand operation\"}\n >\n {isExpanded ? : }\n \n
\n {\n isExpanded &&
\n
\n {\n snippetGenerators.entrySeq().map(([key, gen]) => {\n return (\n handleGenChange(key)}\n >\n

{gen.get(\"title\")}

\n
\n )\n })\n }\n
\n
\n \n
\n
\n (\n {children}\n )}\n >\n {snippet}\n \n
\n
\n }\n \n )\n}\n\nRequestSnippets.propTypes = {\n request: PropTypes.object.isRequired,\n requestSnippetsSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n requestSnippetsActions: PropTypes.object,\n}\n\nexport default RequestSnippets\n","import * as fn from \"./fn\"\nimport * as selectors from \"./selectors\"\nimport RequestSnippets from \"./request-snippets\"\nexport default () => {\n return {\n components: {\n RequestSnippets\n },\n fn,\n statePlugins: {\n requestSnippets: {\n selectors\n }\n }\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport Im from \"immutable\"\n\nexport default class ModelCollapse extends Component {\n static propTypes = {\n collapsedContent: PropTypes.any,\n expanded: PropTypes.bool,\n children: PropTypes.any,\n title: PropTypes.element,\n modelName: PropTypes.string,\n classes: PropTypes.string,\n onToggle: PropTypes.func,\n hideSelfOnExpand: PropTypes.bool,\n layoutActions: PropTypes.object,\n layoutSelectors: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n }\n\n static defaultProps = {\n collapsedContent: \"{...}\",\n expanded: false,\n title: null,\n onToggle: () => {},\n hideSelfOnExpand: false,\n specPath: Im.List([]),\n }\n\n constructor(props, context) {\n super(props, context)\n\n let { expanded, collapsedContent } = this.props\n\n this.state = {\n expanded : expanded,\n collapsedContent: collapsedContent || ModelCollapse.defaultProps.collapsedContent\n }\n }\n\n componentDidMount() {\n const { hideSelfOnExpand, expanded, modelName } = this.props\n if(hideSelfOnExpand && expanded) {\n // We just mounted pre-expanded, and we won't be going back..\n // So let's give our parent an `onToggle` call..\n // Since otherwise it will never be called.\n this.props.onToggle(modelName, expanded)\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps){\n if(this.props.expanded !== nextProps.expanded){\n this.setState({expanded: nextProps.expanded})\n }\n }\n\n toggleCollapsed=()=>{\n if(this.props.onToggle){\n this.props.onToggle(this.props.modelName,!this.state.expanded)\n }\n\n this.setState({\n expanded: !this.state.expanded\n })\n }\n\n onLoad = (ref) => {\n if (ref && this.props.layoutSelectors) {\n const scrollToKey = this.props.layoutSelectors.getScrollToKey()\n\n if( Im.is(scrollToKey, this.props.specPath) ) this.toggleCollapsed()\n this.props.layoutActions.readyToScroll(this.props.specPath, ref.parentElement)\n }\n }\n\n render () {\n const { title, classes } = this.props\n\n if(this.state.expanded ) {\n if(this.props.hideSelfOnExpand) {\n return \n {this.props.children}\n \n }\n }\n\n return (\n \n \n\n { this.state.expanded && this.props.children }\n \n )\n }\n}\n","/**\n * @prettier\n */\nimport React, { useMemo, useState, useEffect, useCallback, useRef } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport cx from \"classnames\"\nimport randomBytes from \"randombytes\"\n\nconst usePrevious = (value) => {\n const ref = useRef()\n useEffect(() => {\n ref.current = value\n })\n return ref.current\n}\n\nconst useTabs = ({ initialTab, isExecute, schema, example }) => {\n const tabs = useMemo(() => ({ example: \"example\", model: \"model\" }), [])\n const allowedTabs = useMemo(() => Object.keys(tabs), [tabs])\n const tab =\n !allowedTabs.includes(initialTab) || !schema || isExecute\n ? tabs.example\n : initialTab\n const prevIsExecute = usePrevious(isExecute)\n const [activeTab, setActiveTab] = useState(tab)\n const handleTabChange = useCallback((e) => {\n setActiveTab(e.target.dataset.name)\n }, [])\n\n useEffect(() => {\n if (prevIsExecute && !isExecute && example) {\n setActiveTab(tabs.example)\n }\n }, [prevIsExecute, isExecute, example])\n\n return { activeTab, onTabChange: handleTabChange, tabs }\n}\n\nconst ModelExample = ({\n schema,\n example,\n isExecute = false,\n specPath,\n includeWriteOnly = false,\n includeReadOnly = false,\n getComponent,\n getConfigs,\n specSelectors,\n}) => {\n const { defaultModelRendering, defaultModelExpandDepth } = getConfigs()\n const ModelWrapper = getComponent(\"ModelWrapper\")\n const HighlightCode = getComponent(\"HighlightCode\", true)\n const exampleTabId = randomBytes(5).toString(\"base64\")\n const examplePanelId = randomBytes(5).toString(\"base64\")\n const modelTabId = randomBytes(5).toString(\"base64\")\n const modelPanelId = randomBytes(5).toString(\"base64\")\n const isOAS3 = specSelectors.isOAS3()\n const { activeTab, tabs, onTabChange } = useTabs({\n initialTab: defaultModelRendering,\n isExecute,\n schema,\n example,\n })\n\n return (\n
\n
    \n \n \n {isExecute ? \"Edit Value\" : \"Example Value\"}\n \n \n {schema && (\n \n \n {isOAS3 ? \"Schema\" : \"Model\"}\n \n \n )}\n
\n {activeTab === tabs.example && (\n \n {example ? (\n example\n ) : (\n (no example available\n )}\n
\n )}\n\n {activeTab === tabs.model && (\n \n \n \n )}\n \n )\n}\n\nModelExample.propTypes = {\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.shape({ isOAS3: PropTypes.func.isRequired })\n .isRequired,\n schema: PropTypes.object.isRequired,\n example: PropTypes.any.isRequired,\n isExecute: PropTypes.bool,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n}\n\nexport default ModelExample\n","import React, { Component, } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class ModelWrapper extends Component {\n\n static propTypes = {\n schema: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n fullPath: PropTypes.array.isRequired,\n specPath: ImPropTypes.list.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n expandDepth: PropTypes.number,\n layoutActions: PropTypes.object,\n layoutSelectors: PropTypes.object.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n onToggle = (name,isShown) => {\n // If this prop is present, we'll have deepLinking for it\n if(this.props.layoutActions) {\n this.props.layoutActions.show(this.props.fullPath, isShown)\n }\n }\n\n render(){\n let { getComponent, getConfigs } = this.props\n const Model = getComponent(\"Model\")\n\n let expanded\n if(this.props.layoutSelectors) {\n // If this is prop is present, we'll have deepLinking for it\n expanded = this.props.layoutSelectors.isShown(this.props.fullPath)\n }\n\n return
\n \n
\n }\n}\n","var x = function(y) {\n\tvar x = {}; __webpack_require__.d(x, y); return x\n} \nvar y = function(x) { return function() { return x; }; }\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: function() { return __WEBPACK_EXTERNAL_MODULE_react_immutable_pure_component_cbcfaebd__[\"default\"]; } });","var _circle;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nconst SvgRollingLoad = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 200,\n height: 200,\n className: \"rolling-load_svg__lds-rolling\",\n preserveAspectRatio: \"xMidYMid\",\n style: {\n backgroundImage: \"none\",\n backgroundPosition: \"initial initial\",\n backgroundRepeat: \"initial initial\"\n },\n viewBox: \"0 0 100 100\"\n}, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 50,\n cy: 50,\n r: 35,\n fill: \"none\",\n stroke: \"#555\",\n strokeDasharray: \"164.93361431346415 56.97787143782138\",\n strokeWidth: 10\n}, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeName: \"transform\",\n begin: \"0s\",\n calcMode: \"linear\",\n dur: \"1s\",\n keyTimes: \"0;1\",\n repeatCount: \"indefinite\",\n type: \"rotate\",\n values: \"0 50 50;360 50 50\"\n}))));\nexport default SvgRollingLoad;","import React from \"react\"\nimport ImmutablePureComponent from \"react-immutable-pure-component\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport PropTypes from \"prop-types\"\nimport { Map } from \"immutable\"\n\nimport RollingLoadSVG from \"core/assets/rolling-load.svg\"\n\nconst decodeRefName = uri => {\n const unescaped = uri.replace(/~1/g, \"/\").replace(/~0/g, \"~\")\n\n try {\n return decodeURIComponent(unescaped)\n } catch {\n return unescaped\n }\n}\n\nexport default class Model extends ImmutablePureComponent {\n static propTypes = {\n schema: ImPropTypes.map.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n isRef: PropTypes.bool,\n required: PropTypes.bool,\n expandDepth: PropTypes.number,\n depth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n getModelName =( ref )=> {\n if ( ref.indexOf(\"#/definitions/\") !== -1 ) {\n return decodeRefName(ref.replace(/^.*#\\/definitions\\//, \"\"))\n }\n if ( ref.indexOf(\"#/components/schemas/\") !== -1 ) {\n return decodeRefName(ref.replace(/^.*#\\/components\\/schemas\\//, \"\"))\n }\n }\n\n getRefSchema =( model )=> {\n let { specSelectors } = this.props\n\n return specSelectors.findDefinition(model)\n }\n\n render () {\n let { getComponent, getConfigs, specSelectors, schema, required, name, isRef, specPath, displayName,\n includeReadOnly, includeWriteOnly} = this.props\n const ObjectModel = getComponent(\"ObjectModel\")\n const ArrayModel = getComponent(\"ArrayModel\")\n const PrimitiveModel = getComponent(\"PrimitiveModel\")\n let type = \"object\"\n let $$ref = schema && schema.get(\"$$ref\")\n let $ref = schema && schema.get(\"$ref\")\n\n // If we weren't passed a `name` but have a resolved ref, grab the name from the ref\n if (!name && $$ref) {\n name = this.getModelName($$ref)\n }\n\n /*\n * If we have an unresolved ref, get the schema and name from the ref.\n * If the ref is external, we can't resolve it, so we just display the ref location.\n * This is for situations where: \n * - the ref was not resolved by Swagger Client because we reached the traversal depth limit\n * - we had a circular ref inside the allOf keyword\n */\n if ($ref) {\n const refName = this.getModelName($ref)\n const refSchema = this.getRefSchema(refName)\n if (Map.isMap(refSchema)) {\n schema = refSchema.mergeDeep(schema) \n if (!$$ref) {\n schema = schema.set(\"$$ref\", $ref) \n $$ref = $ref\n }\n } else if (Map.isMap(schema) && schema.size === 1) {\n schema = null\n name = $ref\n }\n }\n\n if(!schema) {\n return \n { displayName || name }\n {!$ref && }\n \n }\n\n const deprecated = specSelectors.isOAS3() && schema.get(\"deprecated\")\n isRef = isRef !== undefined ? isRef : !!$$ref\n type = schema && schema.get(\"type\") || type\n\n switch(type) {\n case \"object\":\n return \n case \"array\":\n return \n case \"string\":\n case \"number\":\n case \"integer\":\n case \"boolean\":\n default:\n return \n }\n }\n}\n","import React, { Component } from \"react\"\nimport Im, { Map } from \"immutable\"\nimport PropTypes from \"prop-types\"\n\nexport default class Models extends Component {\n static propTypes = {\n getComponent: PropTypes.func,\n specSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object,\n layoutActions: PropTypes.object,\n getConfigs: PropTypes.func.isRequired\n }\n\n getSchemaBasePath = () => {\n const isOAS3 = this.props.specSelectors.isOAS3()\n return isOAS3 ? [\"components\", \"schemas\"] : [\"definitions\"]\n }\n\n getCollapsedContent = () => {\n return \" \"\n }\n\n handleToggle = (name, isExpanded) => {\n const { layoutActions } = this.props\n layoutActions.show([...this.getSchemaBasePath(), name], isExpanded)\n if(isExpanded) {\n this.props.specActions.requestResolvedSubtree([...this.getSchemaBasePath(), name])\n }\n }\n\n onLoadModels = (ref) => {\n if (ref) {\n this.props.layoutActions.readyToScroll(this.getSchemaBasePath(), ref)\n }\n }\n\n onLoadModel = (ref) => {\n if (ref) {\n const name = ref.getAttribute(\"data-name\")\n this.props.layoutActions.readyToScroll([...this.getSchemaBasePath(), name], ref)\n }\n }\n\n render(){\n let { specSelectors, getComponent, layoutSelectors, layoutActions, getConfigs } = this.props\n let definitions = specSelectors.definitions()\n let { docExpansion, defaultModelsExpandDepth } = getConfigs()\n if (!definitions.size || defaultModelsExpandDepth < 0) return null\n\n const specPathBase = this.getSchemaBasePath()\n let showModels = layoutSelectors.isShown(specPathBase, defaultModelsExpandDepth > 0 && docExpansion !== \"none\")\n const isOAS3 = specSelectors.isOAS3()\n\n const ModelWrapper = getComponent(\"ModelWrapper\")\n const Collapse = getComponent(\"Collapse\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const ArrowUpIcon = getComponent(\"ArrowUpIcon\")\n const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n\n return
\n

\n layoutActions.show(specPathBase, !showModels)}\n >\n {isOAS3 ? \"Schemas\" : \"Models\"}\n {showModels ? : }\n \n

\n \n {\n definitions.entrySeq().map(([name])=>{\n\n const fullPath = [...specPathBase, name]\n const specPath = Im.List(fullPath)\n\n const schemaValue = specSelectors.specResolvedSubtree(fullPath)\n const rawSchemaValue = specSelectors.specJson().getIn(fullPath)\n\n const schema = Map.isMap(schemaValue) ? schemaValue : Im.Map()\n const rawSchema = Map.isMap(rawSchemaValue) ? rawSchemaValue : Im.Map()\n\n const displayName = schema.get(\"title\") || rawSchema.get(\"title\") || name\n const isShown = layoutSelectors.isShown(fullPath, false)\n\n if( isShown && (schema.size === 0 && rawSchema.size > 0) ) {\n // Firing an action in a container render is not great,\n // but it works for now.\n this.props.specActions.requestResolvedSubtree(fullPath)\n }\n\n const content = \n\n const title = \n \n {displayName}\n \n \n\n return
\n \n 0 && isShown }\n >{content}\n
\n }).toArray()\n }\n
\n
\n }\n}\n","import React from \"react\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst EnumModel = ({ value, getComponent }) => {\n let ModelCollapse = getComponent(\"ModelCollapse\")\n let collapsedContent = Array [ { value.count() } ]\n return \n Enum:
\n \n [ { value.map(String).join(\", \") } ]\n \n
\n}\nEnumModel.propTypes = {\n value: ImPropTypes.iterable,\n getComponent: ImPropTypes.func\n}\n\nexport default EnumModel\n","import React, { Component, } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { sanitizeUrl } from \"core/utils\"\n\nconst braceOpen = \"{\"\nconst braceClose = \"}\"\nconst propClass = \"property\"\n\nexport default class ObjectModel extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n expanded: PropTypes.bool,\n onToggle: PropTypes.func,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n isRef: PropTypes.bool,\n expandDepth: PropTypes.number,\n depth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n render(){\n let { schema, name, displayName, isRef, getComponent, getConfigs, depth, onToggle, expanded, specPath, ...otherProps } = this.props\n let { specSelectors,expandDepth, includeReadOnly, includeWriteOnly} = otherProps\n const { isOAS3 } = specSelectors\n\n if(!schema) {\n return null\n }\n\n const { showExtensions } = getConfigs()\n\n let description = schema.get(\"description\")\n let properties = schema.get(\"properties\")\n let additionalProperties = schema.get(\"additionalProperties\")\n let title = schema.get(\"title\") || displayName || name\n let requiredProperties = schema.get(\"required\")\n let infoProperties = schema\n .filter( ( v, key) => [\"maxProperties\", \"minProperties\", \"nullable\", \"example\"].indexOf(key) !== -1 )\n let deprecated = schema.get(\"deprecated\")\n let externalDocsUrl = schema.getIn([\"externalDocs\", \"url\"])\n let externalDocsDescription = schema.getIn([\"externalDocs\", \"description\"])\n\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n const Model = getComponent(\"Model\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const Property = getComponent(\"Property\")\n const Link = getComponent(\"Link\")\n\n const JumpToPathSection = () => {\n return \n }\n const collapsedContent = (\n { braceOpen }...{ braceClose }\n {\n isRef ? : \"\"\n }\n )\n\n const allOf = specSelectors.isOAS3() ? schema.get(\"allOf\") : null\n const anyOf = specSelectors.isOAS3() ? schema.get(\"anyOf\") : null\n const oneOf = specSelectors.isOAS3() ? schema.get(\"oneOf\") : null\n const not = specSelectors.isOAS3() ? schema.get(\"not\") : null\n\n const titleEl = title && \n { isRef && schema.get(\"$$ref\") && { schema.get(\"$$ref\") } }\n { title }\n \n\n return \n \n\n { braceOpen }\n {\n !isRef ? null : \n }\n \n {\n \n {\n !description ? null : \n \n \n \n }\n {\n externalDocsUrl &&\n \n \n \n \n }\n {\n !deprecated ? null :\n \n \n \n \n }\n {\n !(properties && properties.size) ? null : properties.entrySeq().filter(\n ([, value]) => {\n return (!value.get(\"readOnly\") || includeReadOnly) &&\n (!value.get(\"writeOnly\") || includeWriteOnly)\n }\n ).map(\n ([key, value]) => {\n let isDeprecated = isOAS3() && value.get(\"deprecated\")\n let isRequired = List.isList(requiredProperties) && requiredProperties.contains(key)\n\n let classNames = [\"property-row\"]\n\n if (isDeprecated) {\n classNames.push(\"deprecated\")\n }\n\n if (isRequired) {\n classNames.push(\"required\")\n }\n\n return (\n \n \n )\n }).toArray()\n }\n {\n // empty row before extensions...\n !showExtensions ? null : \n }\n {\n !showExtensions ? null :\n schema.entrySeq().map(\n ([key, value]) => {\n if(key.slice(0,2) !== \"x-\") {\n return\n }\n\n const normalizedValue = !value ? null : value.toJS ? value.toJS() : value\n\n return (\n \n \n )\n }).toArray()\n }\n {\n !additionalProperties || !additionalProperties.size ? null\n : \n \n \n \n }\n {\n !allOf ? null\n : \n \n \n \n }\n {\n !anyOf ? null\n : \n \n \n \n }\n {\n !oneOf ? null\n : \n \n \n \n }\n {\n !not ? null\n : \n \n \n \n }\n
description:\n \n
\n externalDocs:\n \n {externalDocsDescription || externalDocsUrl}\n
\n deprecated:\n \n true\n
\n { key }{ isRequired && * }\n \n \n
 
\n { key }\n \n { JSON.stringify(normalizedValue) }\n
{ \"< * >:\" }\n \n
{ \"allOf ->\" }\n {allOf.map((schema, k) => {\n return
\n })}\n
{ \"anyOf ->\" }\n {anyOf.map((schema, k) => {\n return
\n })}\n
{ \"oneOf ->\" }\n {oneOf.map((schema, k) => {\n return
\n })}\n
{ \"not ->\" }\n
\n \n
\n
\n }\n
\n { braceClose }\n \n {\n infoProperties.size ? infoProperties.entrySeq().map( ( [ key, v ] ) => ) : null\n }\n
\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { sanitizeUrl } from \"core/utils\"\n\nconst propClass = \"property\"\n\nexport default class ArrayModel extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n required: PropTypes.bool,\n expandDepth: PropTypes.number,\n specPath: ImPropTypes.list.isRequired,\n depth: PropTypes.number,\n includeReadOnly: PropTypes.bool,\n includeWriteOnly: PropTypes.bool,\n }\n\n render(){\n let { getComponent, getConfigs, schema, depth, expandDepth, name, displayName, specPath } = this.props\n let description = schema.get(\"description\")\n let items = schema.get(\"items\")\n let title = schema.get(\"title\") || displayName || name\n let properties = schema.filter( ( v, key) => [\"type\", \"items\", \"description\", \"$$ref\", \"externalDocs\"].indexOf(key) === -1 )\n let externalDocsUrl = schema.getIn([\"externalDocs\", \"url\"])\n let externalDocsDescription = schema.getIn([\"externalDocs\", \"description\"])\n\n\n const Markdown = getComponent(\"Markdown\", true)\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const Model = getComponent(\"Model\")\n const Property = getComponent(\"Property\")\n const Link = getComponent(\"Link\")\n\n const titleEl = title &&\n \n { title }\n \n\n /*\n Note: we set `name={null}` in below because we don't want\n the name of the current Model passed (and displayed) as the name of the array element Model\n */\n\n return \n \n [\n {\n properties.size ? properties.entrySeq().map( ( [ key, v ] ) => ) : null\n }\n {\n !description ? (properties.size ?
: null) :\n \n }\n { externalDocsUrl &&\n
\n {externalDocsDescription || externalDocsUrl}\n
\n }\n \n \n \n ]\n
\n
\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { getExtensions, sanitizeUrl } from \"core/utils\"\n\nconst propClass = \"property primitive\"\n\nexport default class Primitive extends Component {\n static propTypes = {\n schema: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n name: PropTypes.string,\n displayName: PropTypes.string,\n depth: PropTypes.number,\n expandDepth: PropTypes.number\n }\n\n render() {\n let { schema, getComponent, getConfigs, name, displayName, depth, expandDepth } = this.props\n\n const { showExtensions } = getConfigs()\n\n if (!schema || !schema.get) {\n // don't render if schema isn't correctly formed\n return
\n }\n\n let type = schema.get(\"type\")\n let format = schema.get(\"format\")\n let xml = schema.get(\"xml\")\n let enumArray = schema.get(\"enum\")\n let title = schema.get(\"title\") || displayName || name\n let description = schema.get(\"description\")\n let extensions = getExtensions(schema)\n let properties = schema\n .filter((_, key) => [\"enum\", \"type\", \"format\", \"description\", \"$$ref\", \"externalDocs\"].indexOf(key) === -1)\n .filterNot((_, key) => extensions.has(key))\n let externalDocsUrl = schema.getIn([\"externalDocs\", \"url\"])\n let externalDocsDescription = schema.getIn([\"externalDocs\", \"description\"])\n\n const Markdown = getComponent(\"Markdown\", true)\n const EnumModel = getComponent(\"EnumModel\")\n const Property = getComponent(\"Property\")\n const ModelCollapse = getComponent(\"ModelCollapse\")\n const Link = getComponent(\"Link\")\n\n const titleEl = title &&\n \n {title}\n \n\n return \n \n \n {name && depth > 1 && {title}}\n {type}\n {format && (${format})}\n {\n properties.size ? properties.entrySeq().map(([key, v]) => ) : null\n }\n {\n showExtensions && extensions.size ? extensions.entrySeq().map(([key, v]) => ) : null\n }\n {\n !description ? null :\n \n }\n {\n externalDocsUrl &&\n
\n {externalDocsDescription || externalDocsUrl}\n
\n }\n {\n xml && xml.size ? (
xml:\n {\n xml.entrySeq().map(([key, v]) =>
   {key}: {String(v)}
).toArray()\n }\n
) : null\n }\n {\n enumArray && \n }\n
\n
\n
\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Schemes extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n schemes: PropTypes.object.isRequired,\n currentScheme: PropTypes.string.isRequired,\n path: PropTypes.string,\n method: PropTypes.string,\n }\n\n UNSAFE_componentWillMount() {\n let { schemes } = this.props\n\n //fire 'change' event to set default 'value' of select\n this.setScheme(schemes.first())\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if ( !this.props.currentScheme || !nextProps.schemes.includes(this.props.currentScheme) ) {\n // if we don't have a selected currentScheme or if our selected scheme is no longer an option,\n // then fire 'change' event and select the first scheme in the list of options\n this.setScheme(nextProps.schemes.first())\n }\n }\n\n onChange =( e ) => {\n this.setScheme( e.target.value )\n }\n\n setScheme = ( value ) => {\n let { path, method, specActions } = this.props\n\n specActions.setScheme( value, path, method )\n }\n\n render() {\n let { schemes, currentScheme } = this.props\n\n return (\n \n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class SchemesContainer extends React.Component {\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n render () {\n const {specActions, specSelectors, getComponent} = this.props\n\n const currentScheme = specSelectors.operationScheme()\n const schemes = specSelectors.schemes()\n\n const Schemes = getComponent(\"schemes\")\n\n const schemesArePresent = schemes && schemes.size\n\n return schemesArePresent ? (\n \n ) : null\n }\n}\n","var x = function(y) {\n\tvar x = {}; __webpack_require__.d(x, y); return x\n} \nvar y = function(x) { return function() { return x; }; }\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: function() { return __WEBPACK_EXTERNAL_MODULE_react_debounce_input_7ed3e068__[\"default\"]; } });","import React, { PureComponent, Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List, fromJS } from \"immutable\"\nimport cx from \"classnames\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport DebounceInput from \"react-debounce-input\"\nimport { stringify } from \"core/utils\"\n\nconst noop = ()=> {}\nconst JsonSchemaPropShape = {\n getComponent: PropTypes.func.isRequired,\n value: PropTypes.any,\n onChange: PropTypes.func,\n keyName: PropTypes.any,\n fn: PropTypes.object.isRequired,\n schema: PropTypes.object,\n errors: ImPropTypes.list,\n required: PropTypes.bool,\n dispatchInitialValue: PropTypes.bool,\n description: PropTypes.any,\n disabled: PropTypes.bool,\n}\n\nconst JsonSchemaDefaultProps = {\n value: \"\",\n onChange: noop,\n schema: {},\n keyName: \"\",\n required: false,\n errors: List()\n}\n\nexport class JsonSchemaForm extends Component {\n\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n componentDidMount() {\n const { dispatchInitialValue, value, onChange } = this.props\n if(dispatchInitialValue) {\n onChange(value)\n } else if(dispatchInitialValue === false) {\n onChange(\"\")\n }\n }\n\n render() {\n let { schema, errors, value, onChange, getComponent, fn, disabled } = this.props\n const format = schema && schema.get ? schema.get(\"format\") : null\n const type = schema && schema.get ? schema.get(\"type\") : null\n\n let getComponentSilently = (name) => getComponent(name, false, { failSilently: true })\n let Comp = type ? format ?\n getComponentSilently(`JsonSchema_${type}_${format}`) :\n getComponentSilently(`JsonSchema_${type}`) :\n getComponent(\"JsonSchema_string\")\n if (!Comp) {\n Comp = getComponent(\"JsonSchema_string\")\n }\n return \n }\n}\n\nexport class JsonSchema_string extends Component {\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n onChange = (e) => {\n const value = this.props.schema && this.props.schema.get(\"type\") === \"file\" ? e.target.files[0] : e.target.value\n this.props.onChange(value, this.props.keyName)\n }\n onEnumChange = (val) => this.props.onChange(val)\n render() {\n let { getComponent, value, schema, errors, required, description, disabled } = this.props\n const enumValue = schema && schema.get ? schema.get(\"enum\") : null\n const format = schema && schema.get ? schema.get(\"format\") : null\n const type = schema && schema.get ? schema.get(\"type\") : null\n const schemaIn = schema && schema.get ? schema.get(\"in\") : null\n if (!value) {\n value = \"\" // value should not be null; this fixes a Debounce error\n }\n errors = errors.toJS ? errors.toJS() : []\n\n if ( enumValue ) {\n const Select = getComponent(\"Select\")\n return (\n )\n }\n else {\n return (\n \n )\n }\n }\n}\n\nexport class JsonSchema_array extends PureComponent {\n\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n constructor(props, context) {\n super(props, context)\n this.state = { value: valueOrEmptyList(props.value), schema: props.schema}\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const value = valueOrEmptyList(props.value)\n if(value !== this.state.value)\n this.setState({ value })\n\n if(props.schema !== this.state.schema)\n this.setState({ schema: props.schema })\n }\n\n onChange = () => {\n this.props.onChange(this.state.value)\n }\n\n onItemChange = (itemVal, i) => {\n this.setState(({ value }) => ({\n value: value.set(i, itemVal)\n }), this.onChange)\n }\n\n removeItem = (i) => {\n this.setState(({ value }) => ({\n value: value.delete(i)\n }), this.onChange)\n }\n\n addItem = () => {\n const { fn } = this.props\n let newValue = valueOrEmptyList(this.state.value)\n this.setState(() => ({\n value: newValue.push(fn.getSampleSchema(this.state.schema.get(\"items\"), false, {\n includeWriteOnly: true\n }))\n }), this.onChange)\n }\n\n onEnumChange = (value) => {\n this.setState(() => ({\n value: value\n }), this.onChange)\n }\n\n render() {\n let { getComponent, required, schema, errors, fn, disabled } = this.props\n\n errors = errors.toJS ? errors.toJS() : Array.isArray(errors) ? errors : []\n const arrayErrors = errors.filter(e => typeof e === \"string\")\n const needsRemoveError = errors.filter(e => e.needRemove !== undefined)\n .map(e => e.error)\n const value = this.state.value // expect Im List\n const shouldRenderValue =\n value && value.count && value.count() > 0 ? true : false\n const schemaItemsEnum = schema.getIn([\"items\", \"enum\"])\n const schemaItemsType = schema.getIn([\"items\", \"type\"])\n const schemaItemsFormat = schema.getIn([\"items\", \"format\"])\n const schemaItemsSchema = schema.get(\"items\")\n let ArrayItemsComponent\n let isArrayItemText = false\n let isArrayItemFile = (schemaItemsType === \"file\" || (schemaItemsType === \"string\" && schemaItemsFormat === \"binary\")) ? true : false\n if (schemaItemsType && schemaItemsFormat) {\n ArrayItemsComponent = getComponent(`JsonSchema_${schemaItemsType}_${schemaItemsFormat}`)\n } else if (schemaItemsType === \"boolean\" || schemaItemsType === \"array\" || schemaItemsType === \"object\") {\n ArrayItemsComponent = getComponent(`JsonSchema_${schemaItemsType}`)\n }\n // if ArrayItemsComponent not assigned or does not exist,\n // use default schemaItemsType === \"string\" & JsonSchemaArrayItemText component\n if (!ArrayItemsComponent && !isArrayItemFile) {\n isArrayItemText = true\n }\n\n if ( schemaItemsEnum ) {\n const Select = getComponent(\"Select\")\n return ()\n }\n}\n\nexport class JsonSchema_boolean extends Component {\n static propTypes = JsonSchemaPropShape\n static defaultProps = JsonSchemaDefaultProps\n\n onEnumChange = (val) => this.props.onChange(val)\n render() {\n let { getComponent, value, errors, schema, required, disabled } = this.props\n errors = errors.toJS ? errors.toJS() : []\n let enumValue = schema && schema.get ? schema.get(\"enum\") : null\n let allowEmptyValue = !enumValue || !required\n let booleanValue = !enumValue && [\"true\", \"false\"]\n const Select = getComponent(\"Select\")\n\n return (\n \n }\n \n {\n errors.valueSeq().map( (error, key) => {\n return \n } )\n }\n \n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class BasicAuth extends React.Component {\n static propTypes = {\n authorized: ImPropTypes.map,\n schema: ImPropTypes.map,\n getComponent: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n errSelectors: PropTypes.object.isRequired,\n }\n\n constructor(props, context) {\n super(props, context)\n let { schema, name } = this.props\n\n let value = this.getValue()\n let username = value.username\n\n this.state = {\n name: name,\n schema: schema,\n value: !username ? {} : {\n username: username\n }\n }\n }\n\n getValue () {\n let { authorized, name } = this.props\n\n return authorized && authorized.getIn([name, \"value\"]) || {}\n }\n\n onChange =(e) => {\n let { onChange } = this.props\n let { value, name } = e.target\n\n let newValue = this.state.value\n newValue[name] = value\n\n this.setState({ value: newValue })\n\n onChange(this.state)\n }\n\n render() {\n let { schema, getComponent, name, errSelectors } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const AuthError = getComponent(\"authError\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n let username = this.getValue().username\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n\n return (\n
\n

Basic authorization

\n { username &&
Authorized
}\n \n \n \n \n \n {\n username ? { username } \n : \n \n \n }\n \n \n \n {\n username ? ****** \n : \n \n \n }\n \n {\n errors.valueSeq().map( (error, key) => {\n return \n } )\n }\n
\n )\n }\n\n}\n","/**\n * @prettier\n */\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { stringify } from \"core/utils\"\n\nexport default function Example(props) {\n const { example, showValue, getComponent } = props\n\n const Markdown = getComponent(\"Markdown\", true)\n const HighlightCode = getComponent(\"HighlightCode\", true)\n\n if (!example) return null\n\n return (\n
\n {example.get(\"description\") ? (\n
\n
Example Description
\n

\n \n

\n
\n ) : null}\n {showValue && example.has(\"value\") ? (\n
\n
Example Value
\n {stringify(example.get(\"value\"))}\n
\n ) : null}\n
\n )\n}\n\nExample.propTypes = {\n example: ImPropTypes.map.isRequired,\n showValue: PropTypes.bool,\n getComponent: PropTypes.func.isRequired,\n}\n","/**\n * @prettier\n */\n\nimport React from \"react\"\nimport Im from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class ExamplesSelect extends React.PureComponent {\n static propTypes = {\n examples: ImPropTypes.map.isRequired,\n onSelect: PropTypes.func,\n currentExampleKey: PropTypes.string,\n isModifiedValueAvailable: PropTypes.bool,\n isValueModified: PropTypes.bool,\n showLabels: PropTypes.bool,\n }\n\n static defaultProps = {\n examples: Im.Map({}),\n onSelect: (...args) =>\n console.log( // eslint-disable-line no-console\n // FIXME: remove before merging to master...\n `DEBUG: ExamplesSelect was not given an onSelect callback`,\n ...args\n ),\n currentExampleKey: null,\n showLabels: true,\n }\n\n _onSelect = (key, { isSyntheticChange = false } = {}) => {\n if (typeof this.props.onSelect === \"function\") {\n this.props.onSelect(key, {\n isSyntheticChange,\n })\n }\n }\n\n _onDomSelect = e => {\n if (typeof this.props.onSelect === \"function\") {\n const element = e.target.selectedOptions[0]\n const key = element.getAttribute(\"value\")\n\n this._onSelect(key, {\n isSyntheticChange: false,\n })\n }\n }\n\n getCurrentExample = () => {\n const { examples, currentExampleKey } = this.props\n\n const currentExamplePerProps = examples.get(currentExampleKey)\n\n const firstExamplesKey = examples.keySeq().first()\n const firstExample = examples.get(firstExamplesKey)\n\n return currentExamplePerProps || firstExample || Map({})\n }\n\n componentDidMount() {\n // this is the not-so-great part of ExamplesSelect... here we're\n // artificially kicking off an onSelect event in order to set a default\n // value in state. the consumer has the option to avoid this by checking\n // `isSyntheticEvent`, but we should really be doing this in a selector.\n // TODO: clean this up\n // FIXME: should this only trigger if `currentExamplesKey` is nullish?\n const { onSelect, examples } = this.props\n\n if (typeof onSelect === \"function\") {\n const firstExample = examples.first()\n const firstExampleKey = examples.keyOf(firstExample)\n\n this._onSelect(firstExampleKey, {\n isSyntheticChange: true,\n })\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { currentExampleKey, examples } = nextProps\n if (examples !== this.props.examples && !examples.has(currentExampleKey)) {\n // examples have changed from under us, and the currentExampleKey is no longer\n // valid.\n const firstExample = examples.first()\n const firstExampleKey = examples.keyOf(firstExample)\n\n this._onSelect(firstExampleKey, {\n isSyntheticChange: true,\n })\n }\n }\n\n render() {\n const {\n examples,\n currentExampleKey,\n isValueModified,\n isModifiedValueAvailable,\n showLabels,\n } = this.props\n\n return (\n
\n {\n showLabels ? (\n Examples: \n ) : null\n }\n \n {isModifiedValueAvailable ? (\n \n ) : null}\n {examples\n .map((example, exampleName) => {\n return (\n \n {example.get(\"summary\") || exampleName}\n \n )\n })\n .valueSeq()}\n \n
\n )\n }\n}\n","/**\n * @prettier\n */\nimport React from \"react\"\nimport { Map, List } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nimport { stringify } from \"core/utils\"\n\n// This stateful component lets us avoid writing competing values (user\n// modifications vs example values) into global state, and the mess that comes\n// with that: tracking which of the two values are currently used for\n// Try-It-Out, which example a modified value came from, etc...\n//\n// The solution here is to retain the last user-modified value in\n// ExamplesSelectValueRetainer's component state, so that our global state can stay\n// clean, always simply being the source of truth for what value should be both\n// displayed to the user and used as a value during request execution.\n//\n// This approach/tradeoff was chosen in order to encapsulate the particular\n// logic of Examples within the Examples component tree, and to avoid\n// regressions within our current implementation elsewhere (non-Examples\n// definitions, OpenAPI 2.0, etc). A future refactor to global state might make\n// this component unnecessary.\n//\n// TL;DR: this is not our usual approach, but the choice was made consciously.\n\n// Note that `currentNamespace` isn't currently used anywhere!\n\nconst stringifyUnlessList = input =>\n List.isList(input) ? input : stringify(input)\n\nexport default class ExamplesSelectValueRetainer extends React.PureComponent {\n static propTypes = {\n examples: ImPropTypes.map,\n onSelect: PropTypes.func,\n updateValue: PropTypes.func, // mechanism to update upstream value\n userHasEditedBody: PropTypes.bool,\n getComponent: PropTypes.func.isRequired,\n currentUserInputValue: PropTypes.any,\n currentKey: PropTypes.string,\n currentNamespace: PropTypes.string,\n setRetainRequestBodyValueFlag: PropTypes.func.isRequired,\n // (also proxies props for Examples)\n }\n\n static defaultProps = {\n userHasEditedBody: false,\n examples: Map({}),\n currentNamespace: \"__DEFAULT__NAMESPACE__\",\n setRetainRequestBodyValueFlag: () => {\n // NOOP\n },\n onSelect: (...args) =>\n console.log( // eslint-disable-line no-console\n \"ExamplesSelectValueRetainer: no `onSelect` function was provided\",\n ...args\n ),\n updateValue: (...args) =>\n console.log( // eslint-disable-line no-console\n \"ExamplesSelectValueRetainer: no `updateValue` function was provided\",\n ...args\n ),\n }\n\n constructor(props) {\n super(props)\n\n const valueFromExample = this._getCurrentExampleValue()\n\n this.state = {\n // user edited: last value that came from the world around us, and didn't\n // match the current example's value\n // internal: last value that came from user selecting an Example\n [props.currentNamespace]: Map({\n lastUserEditedValue: this.props.currentUserInputValue,\n lastDownstreamValue: valueFromExample,\n isModifiedValueSelected:\n // valueFromExample !== undefined &&\n this.props.userHasEditedBody ||\n this.props.currentUserInputValue !== valueFromExample,\n }),\n }\n }\n\n componentWillUnmount() {\n this.props.setRetainRequestBodyValueFlag(false)\n }\n\n _getStateForCurrentNamespace = () => {\n const { currentNamespace } = this.props\n\n return (this.state[currentNamespace] || Map()).toObject()\n }\n\n _setStateForCurrentNamespace = obj => {\n const { currentNamespace } = this.props\n\n return this._setStateForNamespace(currentNamespace, obj)\n }\n\n _setStateForNamespace = (namespace, obj) => {\n const oldStateForNamespace = this.state[namespace] || Map()\n const newStateForNamespace = oldStateForNamespace.mergeDeep(obj)\n return this.setState({\n [namespace]: newStateForNamespace,\n })\n }\n\n _isCurrentUserInputSameAsExampleValue = () => {\n const { currentUserInputValue } = this.props\n\n const valueFromExample = this._getCurrentExampleValue()\n\n return valueFromExample === currentUserInputValue\n }\n\n _getValueForExample = (exampleKey, props) => {\n // props are accepted so that this can be used in UNSAFE_componentWillReceiveProps,\n // which has access to `nextProps`\n const { examples } = props || this.props\n return stringifyUnlessList(\n (examples || Map({})).getIn([exampleKey, \"value\"])\n )\n }\n\n _getCurrentExampleValue = props => {\n // props are accepted so that this can be used in UNSAFE_componentWillReceiveProps,\n // which has access to `nextProps`\n const { currentKey } = props || this.props\n return this._getValueForExample(currentKey, props || this.props)\n }\n\n _onExamplesSelect = (key, { isSyntheticChange } = {}, ...otherArgs) => {\n const {\n onSelect,\n updateValue,\n currentUserInputValue,\n userHasEditedBody,\n } = this.props\n const { lastUserEditedValue } = this._getStateForCurrentNamespace()\n\n const valueFromExample = this._getValueForExample(key)\n\n if (key === \"__MODIFIED__VALUE__\") {\n updateValue(stringifyUnlessList(lastUserEditedValue))\n return this._setStateForCurrentNamespace({\n isModifiedValueSelected: true,\n })\n }\n\n if (typeof onSelect === \"function\") {\n onSelect(key, { isSyntheticChange }, ...otherArgs)\n }\n\n this._setStateForCurrentNamespace({\n lastDownstreamValue: valueFromExample,\n isModifiedValueSelected:\n (isSyntheticChange && userHasEditedBody) ||\n (!!currentUserInputValue && currentUserInputValue !== valueFromExample),\n })\n\n // we never want to send up value updates from synthetic changes\n if (isSyntheticChange) return\n\n if (typeof updateValue === \"function\") {\n updateValue(stringifyUnlessList(valueFromExample))\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n // update `lastUserEditedValue` as new currentUserInput values come in\n\n const {\n currentUserInputValue: newValue,\n examples,\n onSelect,\n userHasEditedBody,\n } = nextProps\n\n const {\n lastUserEditedValue,\n lastDownstreamValue,\n } = this._getStateForCurrentNamespace()\n\n const valueFromCurrentExample = this._getValueForExample(\n nextProps.currentKey,\n nextProps\n )\n\n const examplesMatchingNewValue = examples.filter(\n (example) =>\n example.get(\"value\") === newValue ||\n // sometimes data is stored as a string (e.g. in Request Bodies), so\n // let's check against a stringified version of our example too\n stringify(example.get(\"value\")) === newValue\n )\n\n if (examplesMatchingNewValue.size) {\n let key\n if(examplesMatchingNewValue.has(nextProps.currentKey))\n {\n key = nextProps.currentKey\n } else {\n key = examplesMatchingNewValue.keySeq().first()\n }\n onSelect(key, {\n isSyntheticChange: true,\n })\n } else if (\n newValue !== this.props.currentUserInputValue && // value has changed\n newValue !== lastUserEditedValue && // value isn't already tracked\n newValue !== lastDownstreamValue // value isn't what we've seen on the other side\n ) {\n this.props.setRetainRequestBodyValueFlag(true)\n this._setStateForNamespace(nextProps.currentNamespace, {\n lastUserEditedValue: nextProps.currentUserInputValue,\n isModifiedValueSelected:\n userHasEditedBody || newValue !== valueFromCurrentExample,\n })\n }\n }\n\n render() {\n const {\n currentUserInputValue,\n examples,\n currentKey,\n getComponent,\n userHasEditedBody,\n } = this.props\n const {\n lastDownstreamValue,\n lastUserEditedValue,\n isModifiedValueSelected,\n } = this._getStateForCurrentNamespace()\n\n const ExamplesSelect = getComponent(\"ExamplesSelect\")\n\n return (\n \n )\n }\n}\n","import parseUrl from \"url-parse\"\nimport Im from \"immutable\"\nimport { btoa, sanitizeUrl, generateCodeVerifier, createCodeChallenge } from \"core/utils\"\n\nexport default function authorize ( { auth, authActions, errActions, configs, authConfigs={}, currentServer } ) {\n let { schema, scopes, name, clientId } = auth\n let flow = schema.get(\"flow\")\n let query = []\n\n switch (flow) {\n case \"password\":\n authActions.authorizePassword(auth)\n return\n\n case \"application\":\n authActions.authorizeApplication(auth)\n return\n\n case \"accessCode\":\n query.push(\"response_type=code\")\n break\n\n case \"implicit\":\n query.push(\"response_type=token\")\n break\n\n case \"clientCredentials\":\n case \"client_credentials\":\n // OAS3\n authActions.authorizeApplication(auth)\n return\n\n case \"authorizationCode\":\n case \"authorization_code\":\n // OAS3\n query.push(\"response_type=code\")\n break\n }\n\n if (typeof clientId === \"string\") {\n query.push(\"client_id=\" + encodeURIComponent(clientId))\n }\n\n let redirectUrl = configs.oauth2RedirectUrl\n\n // todo move to parser\n if (typeof redirectUrl === \"undefined\") {\n errActions.newAuthErr( {\n authId: name,\n source: \"validation\",\n level: \"error\",\n message: \"oauth2RedirectUrl configuration is not passed. Oauth2 authorization cannot be performed.\"\n })\n return\n }\n query.push(\"redirect_uri=\" + encodeURIComponent(redirectUrl))\n\n let scopesArray = []\n if (Array.isArray(scopes)) {\n scopesArray = scopes\n } else if (Im.List.isList(scopes)) {\n scopesArray = scopes.toArray()\n }\n\n if (scopesArray.length > 0) {\n let scopeSeparator = authConfigs.scopeSeparator || \" \"\n\n query.push(\"scope=\" + encodeURIComponent(scopesArray.join(scopeSeparator)))\n }\n\n let state = btoa(new Date())\n\n query.push(\"state=\" + encodeURIComponent(state))\n\n if (typeof authConfigs.realm !== \"undefined\") {\n query.push(\"realm=\" + encodeURIComponent(authConfigs.realm))\n }\n\n if ((flow === \"authorizationCode\" || flow === \"authorization_code\" || flow === \"accessCode\") && authConfigs.usePkceWithAuthorizationCodeGrant) {\n const codeVerifier = generateCodeVerifier()\n const codeChallenge = createCodeChallenge(codeVerifier)\n\n query.push(\"code_challenge=\" + codeChallenge)\n query.push(\"code_challenge_method=S256\")\n\n // storing the Code Verifier so it can be sent to the token endpoint\n // when exchanging the Authorization Code for an Access Token\n auth.codeVerifier = codeVerifier\n }\n\n let { additionalQueryStringParams } = authConfigs\n\n for (let key in additionalQueryStringParams) {\n if (typeof additionalQueryStringParams[key] !== \"undefined\") {\n query.push([key, additionalQueryStringParams[key]].map(encodeURIComponent).join(\"=\"))\n }\n }\n\n const authorizationUrl = schema.get(\"authorizationUrl\")\n let sanitizedAuthorizationUrl\n if (currentServer) {\n // OpenAPI 3\n sanitizedAuthorizationUrl = parseUrl(\n sanitizeUrl(authorizationUrl),\n currentServer,\n true\n ).toString()\n } else {\n sanitizedAuthorizationUrl = sanitizeUrl(authorizationUrl)\n }\n let url = [sanitizedAuthorizationUrl, query.join(\"&\")].join(authorizationUrl.indexOf(\"?\") === -1 ? \"?\" : \"&\")\n\n // pass action authorizeOauth2 and authentication data through window\n // to authorize with oauth2\n\n let callback\n if (flow === \"implicit\") {\n callback = authActions.preAuthorizeImplicit\n } else if (authConfigs.useBasicAuthenticationWithAccessCodeGrant) {\n callback = authActions.authorizeAccessCodeWithBasicAuthentication\n } else {\n callback = authActions.authorizeAccessCodeWithFormParams\n }\n\n authActions.authPopup(url, {\n auth: auth,\n state: state,\n redirectUrl: redirectUrl,\n callback: callback,\n errCb: errActions.newAuthErr\n })\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport oauth2Authorize from \"core/oauth2-authorize\"\n\nexport default class Oauth2 extends React.Component {\n static propTypes = {\n name: PropTypes.string,\n authorized: PropTypes.object,\n getComponent: PropTypes.func.isRequired,\n schema: PropTypes.object.isRequired,\n authSelectors: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n errSelectors: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n errActions: PropTypes.object.isRequired,\n getConfigs: PropTypes.any\n }\n\n constructor(props, context) {\n super(props, context)\n let { name, schema, authorized, authSelectors } = this.props\n let auth = authorized && authorized.get(name)\n let authConfigs = authSelectors.getConfigs() || {}\n let username = auth && auth.get(\"username\") || \"\"\n let clientId = auth && auth.get(\"clientId\") || authConfigs.clientId || \"\"\n let clientSecret = auth && auth.get(\"clientSecret\") || authConfigs.clientSecret || \"\"\n let passwordType = auth && auth.get(\"passwordType\") || \"basic\"\n let scopes = auth && auth.get(\"scopes\") || authConfigs.scopes || []\n if (typeof scopes === \"string\") {\n scopes = scopes.split(authConfigs.scopeSeparator || \" \")\n }\n\n this.state = {\n appName: authConfigs.appName,\n name: name,\n schema: schema,\n scopes: scopes,\n clientId: clientId,\n clientSecret: clientSecret,\n username: username,\n password: \"\",\n passwordType: passwordType\n }\n }\n\n close = (e) => {\n e.preventDefault()\n let { authActions } = this.props\n\n authActions.showDefinitions(false)\n }\n\n authorize =() => {\n let { authActions, errActions, getConfigs, authSelectors, oas3Selectors } = this.props\n let configs = getConfigs()\n let authConfigs = authSelectors.getConfigs()\n\n errActions.clear({authId: name,type: \"auth\", source: \"auth\"})\n oauth2Authorize({\n auth: this.state,\n currentServer: oas3Selectors.serverEffectiveValue(oas3Selectors.selectedServer()),\n authActions,\n errActions,\n configs,\n authConfigs\n })\n }\n\n onScopeChange =(e) => {\n let { target } = e\n let { checked } = target\n let scope = target.dataset.value\n\n if ( checked && this.state.scopes.indexOf(scope) === -1 ) {\n let newScopes = this.state.scopes.concat([scope])\n this.setState({ scopes: newScopes })\n } else if ( !checked && this.state.scopes.indexOf(scope) > -1) {\n this.setState({ scopes: this.state.scopes.filter((val) => val !== scope) })\n }\n }\n\n onInputChange =(e) => {\n let { target : { dataset : { name }, value } } = e\n let state = {\n [name]: value\n }\n\n this.setState(state)\n }\n\n selectScopes =(e) => {\n if (e.target.dataset.all) {\n this.setState({\n scopes: Array.from((this.props.schema.get(\"allowedScopes\") || this.props.schema.get(\"scopes\")).keys())\n })\n } else {\n this.setState({ scopes: [] })\n }\n }\n\n logout =(e) => {\n e.preventDefault()\n let { authActions, errActions, name } = this.props\n\n errActions.clear({authId: name, type: \"auth\", source: \"auth\"})\n authActions.logoutWithPersistOption([ name ])\n }\n\n render() {\n let {\n schema, getComponent, authSelectors, errSelectors, name, specSelectors\n } = this.props\n const Input = getComponent(\"Input\")\n const Row = getComponent(\"Row\")\n const Col = getComponent(\"Col\")\n const Button = getComponent(\"Button\")\n const AuthError = getComponent(\"authError\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const Markdown = getComponent(\"Markdown\", true)\n const InitializedInput = getComponent(\"InitializedInput\")\n\n const { isOAS3 } = specSelectors\n\n let oidcUrl = isOAS3() ? schema.get(\"openIdConnectUrl\") : null\n\n // Auth type consts\n const AUTH_FLOW_IMPLICIT = \"implicit\"\n const AUTH_FLOW_PASSWORD = \"password\"\n const AUTH_FLOW_ACCESS_CODE = isOAS3() ? (oidcUrl ? \"authorization_code\" : \"authorizationCode\") : \"accessCode\"\n const AUTH_FLOW_APPLICATION = isOAS3() ? (oidcUrl ? \"client_credentials\" : \"clientCredentials\") : \"application\"\n\n let authConfigs = authSelectors.getConfigs() || {}\n let isPkceCodeGrant = !!authConfigs.usePkceWithAuthorizationCodeGrant\n\n let flow = schema.get(\"flow\")\n let flowToDisplay = flow === AUTH_FLOW_ACCESS_CODE && isPkceCodeGrant ? flow + \" with PKCE\" : flow\n let scopes = schema.get(\"allowedScopes\") || schema.get(\"scopes\")\n let authorizedAuth = authSelectors.authorized().get(name)\n let isAuthorized = !!authorizedAuth\n let errors = errSelectors.allErrors().filter( err => err.get(\"authId\") === name)\n let isValid = !errors.filter( err => err.get(\"source\") === \"validation\").size\n let description = schema.get(\"description\")\n\n return (\n
\n

{name} (OAuth2, { flowToDisplay })

\n { !this.state.appName ? null :
Application: { this.state.appName }
}\n { description && }\n\n { isAuthorized &&
Authorized
}\n\n { oidcUrl &&

OpenID Connect URL: { oidcUrl }

}\n { ( flow === AUTH_FLOW_IMPLICIT || flow === AUTH_FLOW_ACCESS_CODE ) &&

Authorization URL: { schema.get(\"authorizationUrl\") }

}\n { ( flow === AUTH_FLOW_PASSWORD || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_APPLICATION ) &&

Token URL: { schema.get(\"tokenUrl\") }

}\n

Flow: { flowToDisplay }

\n\n {\n flow !== AUTH_FLOW_PASSWORD ? null\n : \n \n \n {\n isAuthorized ? { this.state.username } \n : \n \n \n }\n \n {\n\n }\n \n \n {\n isAuthorized ? ****** \n : \n \n \n }\n \n \n \n {\n isAuthorized ? { this.state.passwordType } \n : \n \n \n }\n \n \n }\n {\n ( flow === AUTH_FLOW_APPLICATION || flow === AUTH_FLOW_IMPLICIT || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_PASSWORD ) &&\n ( !isAuthorized || isAuthorized && this.state.clientId) && \n \n {\n isAuthorized ? ****** \n : \n \n \n }\n \n }\n\n {\n ( (flow === AUTH_FLOW_APPLICATION || flow === AUTH_FLOW_ACCESS_CODE || flow === AUTH_FLOW_PASSWORD) && \n \n {\n isAuthorized ? ****** \n : \n \n \n }\n\n \n )}\n\n {\n !isAuthorized && scopes && scopes.size ?
\n

\n Scopes:\n select all\n select none\n

\n { scopes.map((description, name) => {\n return (\n \n
\n \n \n
\n
\n )\n }).toArray()\n }\n
: null\n }\n\n {\n errors.valueSeq().map( (error, key) => {\n return \n } )\n }\n
\n { isValid &&\n ( isAuthorized ? \n : \n )\n }\n \n
\n\n
\n )\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Clear extends Component {\n\n onClick =() => {\n let { specActions, path, method } = this.props\n specActions.clearResponse( path, method )\n specActions.clearRequest( path, method )\n }\n\n render(){\n return (\n \n )\n }\n\n static propTypes = {\n specActions: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nconst Headers = ( { headers } )=>{\n return (\n
\n
Response headers
\n
{headers}
\n
)\n}\nHeaders.propTypes = {\n headers: PropTypes.array.isRequired\n}\n\nconst Duration = ( { duration } ) => {\n return (\n
\n
Request duration
\n
{duration} ms
\n
\n )\n}\nDuration.propTypes = {\n duration: PropTypes.number.isRequired\n}\n\n\nexport default class LiveResponse extends React.Component {\n static propTypes = {\n response: ImPropTypes.map,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n displayRequestDuration: PropTypes.bool.isRequired,\n specSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired\n }\n\n shouldComponentUpdate(nextProps) {\n // BUG: props.response is always coming back as a new Immutable instance\n // same issue as responses.jsx (tryItOutResponse)\n return this.props.response !== nextProps.response\n || this.props.path !== nextProps.path\n || this.props.method !== nextProps.method\n || this.props.displayRequestDuration !== nextProps.displayRequestDuration\n }\n\n render() {\n const { response, getComponent, getConfigs, displayRequestDuration, specSelectors, path, method } = this.props\n const { showMutatedRequest, requestSnippetsEnabled } = getConfigs()\n\n const curlRequest = showMutatedRequest ? specSelectors.mutatedRequestFor(path, method) : specSelectors.requestFor(path, method)\n const status = response.get(\"status\")\n const url = curlRequest.get(\"url\")\n const headers = response.get(\"headers\").toJS()\n const notDocumented = response.get(\"notDocumented\")\n const isError = response.get(\"error\")\n const body = response.get(\"text\")\n const duration = response.get(\"duration\")\n const headersKeys = Object.keys(headers)\n const contentType = headers[\"content-type\"] || headers[\"Content-Type\"]\n\n const ResponseBody = getComponent(\"responseBody\")\n const returnObject = headersKeys.map(key => {\n var joinedHeaders = Array.isArray(headers[key]) ? headers[key].join() : headers[key]\n return {key}: {joinedHeaders} \n })\n const hasHeaders = returnObject.length !== 0\n const Markdown = getComponent(\"Markdown\", true)\n const RequestSnippets = getComponent(\"RequestSnippets\", true)\n const Curl = getComponent(\"curl\", true)\n\n return (\n
\n { curlRequest && requestSnippetsEnabled \n ? \n : \n }\n { url &&
\n
\n

Request URL

\n
{url}
\n
\n
\n }\n

Server response

\n \n \n \n \n \n \n \n \n \n \n \n \n \n
CodeDetails
\n { status }\n {\n notDocumented ?
\n Undocumented \n
\n : null\n }\n
\n {\n isError ? \n : null\n }\n {\n body ? \n : null\n }\n {\n hasHeaders ? : null\n }\n {\n displayRequestDuration && duration ? : null\n }\n
\n
\n )\n }\n}\n","import React from \"react\"\nimport URL from \"url-parse\"\n\nimport PropTypes from \"prop-types\"\nimport { sanitizeUrl, requiresValidationURL } from \"core/utils\"\nimport win from \"core/window\"\n\nexport default class OnlineValidatorBadge extends React.Component {\n static propTypes = {\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired\n }\n\n constructor(props, context) {\n super(props, context)\n let { getConfigs } = props\n let { validatorUrl } = getConfigs()\n this.state = {\n url: this.getDefinitionUrl(),\n validatorUrl: validatorUrl === undefined ? \"https://validator.swagger.io/validator\" : validatorUrl\n }\n }\n\n getDefinitionUrl = () => {\n // TODO: test this behavior by stubbing `window.location` in an Enzyme/JSDom env\n let { specSelectors } = this.props\n\n const urlObject = new URL(specSelectors.url(), win.location)\n return urlObject.toString()\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n let { getConfigs } = nextProps\n let { validatorUrl } = getConfigs()\n\n this.setState({\n url: this.getDefinitionUrl(),\n validatorUrl: validatorUrl === undefined ? \"https://validator.swagger.io/validator\" : validatorUrl\n })\n }\n\n render() {\n let { getConfigs } = this.props\n let { spec } = getConfigs()\n\n let sanitizedValidatorUrl = sanitizeUrl(this.state.validatorUrl)\n\n if ( typeof spec === \"object\" && Object.keys(spec).length) return null\n\n if (!this.state.url || !requiresValidationURL(this.state.validatorUrl)\n || !requiresValidationURL(this.state.url)) {\n return null\n }\n\n return (\n \n \n \n )\n }\n}\n\n\nclass ValidatorImage extends React.Component {\n static propTypes = {\n src: PropTypes.string,\n alt: PropTypes.string\n }\n\n constructor(props) {\n super(props)\n this.state = {\n loaded: false,\n error: false\n }\n }\n\n componentDidMount() {\n const img = new Image()\n img.onload = () => {\n this.setState({\n loaded: true\n })\n }\n img.onerror = () => {\n this.setState({\n error: true\n })\n }\n img.src = this.props.src\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.src !== this.props.src) {\n const img = new Image()\n img.onload = () => {\n this.setState({\n loaded: true\n })\n }\n img.onerror = () => {\n this.setState({\n error: true\n })\n }\n img.src = nextProps.src\n }\n }\n\n render() {\n if (this.state.error) {\n return {\"Error\"}\n } else if (!this.state.loaded) {\n return null\n }\n return {this.props.alt}\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Im from \"immutable\"\n\nexport default class Operations extends React.Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n oas3Selectors: PropTypes.func.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n authActions: PropTypes.object.isRequired,\n authSelectors: PropTypes.object.isRequired,\n getConfigs: PropTypes.func.isRequired,\n fn: PropTypes.func.isRequired\n }\n\n render() {\n let {\n specSelectors,\n } = this.props\n\n const taggedOps = specSelectors.taggedOperations()\n\n if(taggedOps.size === 0) {\n return

No operations defined in spec!

\n }\n\n return (\n
\n { taggedOps.map(this.renderOperationTag).toArray() }\n { taggedOps.size < 1 ?

No operations defined in spec!

: null }\n
\n )\n }\n\n renderOperationTag = (tagObj, tag) => {\n const {\n specSelectors,\n getComponent,\n oas3Selectors,\n layoutSelectors,\n layoutActions,\n getConfigs,\n } = this.props\n const validOperationMethods = specSelectors.validOperationMethods()\n const OperationContainer = getComponent(\"OperationContainer\", true)\n const OperationTag = getComponent(\"OperationTag\")\n const operations = tagObj.get(\"operations\")\n return (\n \n
\n {\n operations.map(op => {\n const path = op.get(\"path\")\n const method = op.get(\"method\")\n const specPath = Im.List([\"paths\", path, method])\n\n if (validOperationMethods.indexOf(method) === -1) {\n return null\n }\n\n return (\n \n )\n }).toArray()\n }\n
\n \n )\n }\n\n}\n\nOperations.propTypes = {\n layoutActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n fn: PropTypes.object.isRequired\n}\n","export function isAbsoluteUrl(url) {\n return url.match(/^(?:[a-z]+:)?\\/\\//i) // Matches http://, HTTP://, https://, ftp://, //example.com,\n}\n\nexport function addProtocol(url) {\n if (!url.match(/^\\/\\//i)) return url // Checks if protocol is missing e.g. //example.com\n\n return `${window.location.protocol}${url}`\n}\n\nexport function buildBaseUrl(selectedServer, specUrl) {\n if (!selectedServer) return specUrl\n if (isAbsoluteUrl(selectedServer)) return addProtocol(selectedServer)\n\n return new URL(selectedServer, specUrl).href\n}\n\nexport function buildUrl(url, specUrl, { selectedServer=\"\" } = {}) {\n if (!url) return undefined\n if (isAbsoluteUrl(url)) return url\n\n const baseUrl = buildBaseUrl(selectedServer, specUrl)\n if (!isAbsoluteUrl(baseUrl)) {\n return new URL(url, window.location.href).href\n }\n return new URL(url, baseUrl).href\n}\n\n/**\n * Safe version of buildUrl function. `selectedServer` can contain server variables\n * which can fail the URL resolution.\n */\nexport function safeBuildUrl(url, specUrl, { selectedServer=\"\" } = {}) {\n try {\n return buildUrl(url, specUrl, { selectedServer })\n } catch {\n return undefined\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport Im from \"immutable\"\nimport { createDeepLinkPath, escapeDeepLinkPath, sanitizeUrl } from \"core/utils\"\nimport { safeBuildUrl } from \"core/utils/url\"\nimport { isFunc } from \"core/utils\"\n\nexport default class OperationTag extends React.Component {\n\n static defaultProps = {\n tagObj: Im.fromJS({}),\n tag: \"\",\n }\n\n static propTypes = {\n tagObj: ImPropTypes.map.isRequired,\n tag: PropTypes.string.isRequired,\n\n oas3Selectors: PropTypes.func.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n\n getConfigs: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n\n specUrl: PropTypes.string.isRequired,\n\n children: PropTypes.element,\n }\n\n render() {\n const {\n tagObj,\n tag,\n children,\n oas3Selectors,\n layoutSelectors,\n layoutActions,\n getConfigs,\n getComponent,\n specUrl,\n } = this.props\n\n let {\n docExpansion,\n deepLinking,\n } = getConfigs()\n\n const Collapse = getComponent(\"Collapse\")\n const Markdown = getComponent(\"Markdown\", true)\n const DeepLink = getComponent(\"DeepLink\")\n const Link = getComponent(\"Link\")\n const ArrowUpIcon = getComponent(\"ArrowUpIcon\")\n const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n\n let tagDescription = tagObj.getIn([\"tagDetails\", \"description\"], null)\n let tagExternalDocsDescription = tagObj.getIn([\"tagDetails\", \"externalDocs\", \"description\"])\n let rawTagExternalDocsUrl = tagObj.getIn([\"tagDetails\", \"externalDocs\", \"url\"])\n let tagExternalDocsUrl\n if (isFunc(oas3Selectors) && isFunc(oas3Selectors.selectedServer)) {\n tagExternalDocsUrl = safeBuildUrl(rawTagExternalDocsUrl, specUrl, { selectedServer: oas3Selectors.selectedServer() })\n } else {\n tagExternalDocsUrl = rawTagExternalDocsUrl\n }\n\n let isShownKey = [\"operations-tag\", tag]\n let showTag = layoutSelectors.isShown(isShownKey, docExpansion === \"full\" || docExpansion === \"list\")\n\n return (\n
\n\n layoutActions.show(isShownKey, !showTag)}\n className={!tagDescription ? \"opblock-tag no-desc\" : \"opblock-tag\"}\n id={isShownKey.map(v => escapeDeepLinkPath(v)).join(\"-\")}\n data-tag={tag}\n data-is-open={showTag}\n >\n \n {!tagDescription ? :\n \n \n \n }\n\n {!tagExternalDocsUrl ? null :\n
\n \n e.stopPropagation()}\n target=\"_blank\"\n >{tagExternalDocsDescription || tagExternalDocsUrl}\n \n
\n }\n\n\n layoutActions.show(isShownKey, !showTag)}>\n\n {showTag ? : }\n \n \n\n \n {children}\n \n
\n )\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { getList } from \"core/utils\"\nimport { getExtensions, sanitizeUrl, escapeDeepLinkPath } from \"core/utils\"\nimport { safeBuildUrl } from \"core/utils/url\"\nimport { Iterable, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nimport RollingLoadSVG from \"core/assets/rolling-load.svg\"\n\nexport default class Operation extends PureComponent {\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operation: PropTypes.instanceOf(Iterable).isRequired,\n summary: PropTypes.string,\n response: PropTypes.instanceOf(Iterable),\n request: PropTypes.instanceOf(Iterable),\n\n toggleShown: PropTypes.func.isRequired,\n onTryoutClick: PropTypes.func.isRequired,\n onResetClick: PropTypes.func.isRequired,\n onCancelClick: PropTypes.func.isRequired,\n onExecute: PropTypes.func.isRequired,\n\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n authSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired\n }\n\n static defaultProps = {\n operation: null,\n response: null,\n request: null,\n specPath: List(),\n summary: \"\"\n }\n\n render() {\n let {\n specPath,\n response,\n request,\n toggleShown,\n onTryoutClick,\n onResetClick,\n onCancelClick,\n onExecute,\n fn,\n getComponent,\n getConfigs,\n specActions,\n specSelectors,\n authActions,\n authSelectors,\n oas3Actions,\n oas3Selectors\n } = this.props\n let operationProps = this.props.operation\n\n let {\n deprecated,\n isShown,\n path,\n method,\n op,\n tag,\n operationId,\n allowTryItOut,\n displayRequestDuration,\n tryItOutEnabled,\n executeInProgress\n } = operationProps.toJS()\n\n let {\n description,\n externalDocs,\n schemes\n } = op\n\n const externalDocsUrl = externalDocs ? safeBuildUrl(externalDocs.url, specSelectors.url(), { selectedServer: oas3Selectors.selectedServer() }) : \"\"\n let operation = operationProps.getIn([\"op\"])\n let responses = operation.get(\"responses\")\n let parameters = getList(operation, [\"parameters\"])\n let operationScheme = specSelectors.operationScheme(path, method)\n let isShownKey = [\"operations\", tag, operationId]\n let extensions = getExtensions(operation)\n\n const Responses = getComponent(\"responses\")\n const Parameters = getComponent( \"parameters\" )\n const Execute = getComponent( \"execute\" )\n const Clear = getComponent( \"clear\" )\n const Collapse = getComponent( \"Collapse\" )\n const Markdown = getComponent(\"Markdown\", true)\n const Schemes = getComponent( \"schemes\" )\n const OperationServers = getComponent( \"OperationServers\" )\n const OperationExt = getComponent( \"OperationExt\" )\n const OperationSummary = getComponent( \"OperationSummary\" )\n const Link = getComponent( \"Link\" )\n\n const { showExtensions } = getConfigs()\n\n // Merge in Live Response\n if(responses && response && response.size > 0) {\n let notDocumented = !responses.get(String(response.get(\"status\"))) && !responses.get(\"default\")\n response = response.set(\"notDocumented\", notDocumented)\n }\n\n let onChangeKey = [ path, method ] // Used to add values to _this_ operation ( indexed by path and method )\n\n const validationErrors = specSelectors.validationErrors([path, method])\n\n return (\n
\n \n \n
\n { (operation && operation.size) || operation === null ? null :\n \n }\n { deprecated &&

Warning: Deprecated

}\n { description &&\n
\n
\n \n
\n
\n }\n {\n externalDocsUrl ?\n
\n

Find more details

\n
\n {externalDocs.description &&\n \n \n \n }\n {externalDocsUrl}\n
\n
: null\n }\n\n { !operation || !operation.size ? null :\n \n }\n\n { !tryItOutEnabled ? null :\n \n }\n\n {!tryItOutEnabled || !allowTryItOut ? null : schemes && schemes.size ?
\n \n
: null\n }\n\n { !tryItOutEnabled || !allowTryItOut || validationErrors.length <= 0 ? null :
\n Please correct the following validation errors and try again.\n
    \n { validationErrors.map((error, index) =>
  • { error }
  • ) }\n
\n
\n }\n\n
\n { !tryItOutEnabled || !allowTryItOut ? null :\n\n \n }\n\n { (!tryItOutEnabled || !response || !allowTryItOut) ? null :\n \n }\n
\n\n {executeInProgress ?
: null}\n\n { !responses ? null :\n \n }\n\n { !showExtensions || !extensions.size ? null :\n \n }\n
\n
\n
\n )\n }\n\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { opId } from \"swagger-client/es/helpers\"\nimport { Iterable, fromJS, Map } from \"immutable\"\n\nexport default class OperationContainer extends PureComponent {\n constructor(props, context) {\n super(props, context)\n\n const { tryItOutEnabled } = props.getConfigs()\n\n this.state = {\n tryItOutEnabled,\n executeInProgress: false\n }\n }\n\n static propTypes = {\n op: PropTypes.instanceOf(Iterable).isRequired,\n tag: PropTypes.string.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n operationId: PropTypes.string.isRequired,\n showSummary: PropTypes.bool.isRequired,\n isShown: PropTypes.bool.isRequired,\n jumpToKey: PropTypes.string.isRequired,\n allowTryItOut: PropTypes.bool,\n displayOperationId: PropTypes.bool,\n isAuthorized: PropTypes.bool,\n displayRequestDuration: PropTypes.bool,\n response: PropTypes.instanceOf(Iterable),\n request: PropTypes.instanceOf(Iterable),\n security: PropTypes.instanceOf(Iterable),\n isDeepLinkingEnabled: PropTypes.bool.isRequired,\n specPath: ImPropTypes.list.isRequired,\n getComponent: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n oas3Actions: PropTypes.object,\n oas3Selectors: PropTypes.object,\n authSelectors: PropTypes.object,\n specActions: PropTypes.object.isRequired,\n specSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired,\n getConfigs: PropTypes.func.isRequired\n }\n\n static defaultProps = {\n showSummary: true,\n response: null,\n allowTryItOut: true,\n displayOperationId: false,\n displayRequestDuration: false\n }\n\n mapStateToProps(nextState, props) {\n const { op, layoutSelectors, getConfigs } = props\n const { docExpansion, deepLinking, displayOperationId, displayRequestDuration, supportedSubmitMethods } = getConfigs()\n const showSummary = layoutSelectors.showSummary()\n const operationId = op.getIn([\"operation\", \"__originalOperationId\"]) || op.getIn([\"operation\", \"operationId\"]) || opId(op.get(\"operation\"), props.path, props.method) || op.get(\"id\")\n const isShownKey = [\"operations\", props.tag, operationId]\n const allowTryItOut = supportedSubmitMethods.indexOf(props.method) >= 0 && (typeof props.allowTryItOut === \"undefined\" ?\n props.specSelectors.allowTryItOutFor(props.path, props.method) : props.allowTryItOut)\n const security = op.getIn([\"operation\", \"security\"]) || props.specSelectors.security()\n\n return {\n operationId,\n isDeepLinkingEnabled: deepLinking,\n showSummary,\n displayOperationId,\n displayRequestDuration,\n allowTryItOut,\n security,\n isAuthorized: props.authSelectors.isAuthorized(security),\n isShown: layoutSelectors.isShown(isShownKey, docExpansion === \"full\" ),\n jumpToKey: `paths.${props.path}.${props.method}`,\n response: props.specSelectors.responseFor(props.path, props.method),\n request: props.specSelectors.requestFor(props.path, props.method)\n }\n }\n\n componentDidMount() {\n const { isShown } = this.props\n const resolvedSubtree = this.getResolvedSubtree()\n\n if(isShown && resolvedSubtree === undefined) {\n this.requestResolvedSubtree()\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { response, isShown } = nextProps\n const resolvedSubtree = this.getResolvedSubtree()\n\n if(response !== this.props.response) {\n this.setState({ executeInProgress: false })\n }\n\n if(isShown && resolvedSubtree === undefined) {\n this.requestResolvedSubtree()\n }\n }\n\n toggleShown =() => {\n let { layoutActions, tag, operationId, isShown } = this.props\n const resolvedSubtree = this.getResolvedSubtree()\n if(!isShown && resolvedSubtree === undefined) {\n // transitioning from collapsed to expanded\n this.requestResolvedSubtree()\n }\n layoutActions.show([\"operations\", tag, operationId], !isShown)\n }\n\n onCancelClick=() => {\n this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})\n }\n\n onTryoutClick =() => {\n this.setState({tryItOutEnabled: !this.state.tryItOutEnabled})\n }\n\n onResetClick = (pathMethod) => {\n const defaultRequestBodyValue = this.props.oas3Selectors.selectDefaultRequestBodyValue(...pathMethod)\n this.props.oas3Actions.setRequestBodyValue({ value: defaultRequestBodyValue, pathMethod })\n }\n\n onExecute = () => {\n this.setState({ executeInProgress: true })\n }\n\n getResolvedSubtree = () => {\n const {\n specSelectors,\n path,\n method,\n specPath\n } = this.props\n\n if(specPath) {\n return specSelectors.specResolvedSubtree(specPath.toJS())\n }\n\n return specSelectors.specResolvedSubtree([\"paths\", path, method])\n }\n\n requestResolvedSubtree = () => {\n const {\n specActions,\n path,\n method,\n specPath\n } = this.props\n\n\n if(specPath) {\n return specActions.requestResolvedSubtree(specPath.toJS())\n }\n\n return specActions.requestResolvedSubtree([\"paths\", path, method])\n }\n\n render() {\n let {\n op: unresolvedOp,\n tag,\n path,\n method,\n security,\n isAuthorized,\n operationId,\n showSummary,\n isShown,\n jumpToKey,\n allowTryItOut,\n response,\n request,\n displayOperationId,\n displayRequestDuration,\n isDeepLinkingEnabled,\n specPath,\n specSelectors,\n specActions,\n getComponent,\n getConfigs,\n layoutSelectors,\n layoutActions,\n authActions,\n authSelectors,\n oas3Actions,\n oas3Selectors,\n fn\n } = this.props\n\n const Operation = getComponent( \"operation\" )\n\n const resolvedSubtree = this.getResolvedSubtree() || Map()\n\n const operationProps = fromJS({\n op: resolvedSubtree,\n tag,\n path,\n summary: unresolvedOp.getIn([\"operation\", \"summary\"]) || \"\",\n deprecated: resolvedSubtree.get(\"deprecated\") || unresolvedOp.getIn([\"operation\", \"deprecated\"]) || false,\n method,\n security,\n isAuthorized,\n operationId,\n originalOperationId: resolvedSubtree.getIn([\"operation\", \"__originalOperationId\"]),\n showSummary,\n isShown,\n jumpToKey,\n allowTryItOut,\n request,\n displayOperationId,\n displayRequestDuration,\n isDeepLinkingEnabled,\n executeInProgress: this.state.executeInProgress,\n tryItOutEnabled: this.state.tryItOutEnabled\n })\n\n return (\n \n )\n }\n\n}\n","var x = function(y) {\n\tvar x = {}; __webpack_require__.d(x, y); return x\n} \nvar y = function(x) { return function() { return x; }; }\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: function() { return __WEBPACK_EXTERNAL_MODULE_lodash_toString_da931f05__[\"default\"]; } });","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport toString from \"lodash/toString\"\n\n\nexport default class OperationSummary extends PureComponent {\n\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n isShown: PropTypes.bool.isRequired,\n toggleShown: PropTypes.func.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n authActions: PropTypes.object,\n authSelectors: PropTypes.object,\n }\n\n static defaultProps = {\n operationProps: null,\n specPath: List(),\n summary: \"\"\n }\n\n render() {\n\n let {\n isShown,\n toggleShown,\n getComponent,\n authActions,\n authSelectors,\n operationProps,\n specPath,\n } = this.props\n\n let {\n summary,\n isAuthorized,\n method,\n op,\n showSummary,\n path,\n operationId,\n originalOperationId,\n displayOperationId,\n } = operationProps.toJS()\n\n let {\n summary: resolvedSummary,\n } = op\n\n let security = operationProps.get(\"security\")\n\n const AuthorizeOperationBtn = getComponent(\"authorizeOperationBtn\", true)\n const OperationSummaryMethod = getComponent(\"OperationSummaryMethod\")\n const OperationSummaryPath = getComponent(\"OperationSummaryPath\")\n const JumpToPath = getComponent(\"JumpToPath\", true)\n const CopyToClipboardBtn = getComponent(\"CopyToClipboardBtn\", true)\n const ArrowUpIcon = getComponent(\"ArrowUpIcon\")\n const ArrowDownIcon = getComponent(\"ArrowDownIcon\")\n\n const hasSecurity = security && !!security.count()\n const securityIsOptional = hasSecurity && security.size === 1 && security.first().isEmpty()\n const allowAnonymous = !hasSecurity || securityIsOptional\n return (\n
\n \n \n
\n \n\n {!showSummary ? null :\n
\n {toString(resolvedSummary || summary)}\n
\n }\n
\n\n {displayOperationId && (originalOperationId || operationId) ? {originalOperationId || operationId} : null}\n \n \n {\n allowAnonymous ? null :\n {\n const applicableDefinitions = authSelectors.definitionsForRequirements(security)\n authActions.showDefinitions(applicableDefinitions)\n }}\n />\n }\n {/* TODO: use wrapComponents here, swagger-ui doesn't care about jumpToPath */}\n \n {isShown ? : }\n \n
\n )\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable } from \"immutable\"\n\nexport default class OperationSummaryMethod extends PureComponent {\n\n static propTypes = {\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n method: PropTypes.string.isRequired,\n }\n\n static defaultProps = {\n operationProps: null,\n }\n render() {\n\n let {\n method,\n } = this.props\n\n return (\n {method.toUpperCase()}\n )\n }\n}\n","import React, { PureComponent } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Iterable } from \"immutable\"\nimport { createDeepLinkPath } from \"core/utils\"\nimport ImPropTypes from \"react-immutable-proptypes\"\n\nexport default class OperationSummaryPath extends PureComponent{\n\n static propTypes = {\n specPath: ImPropTypes.list.isRequired,\n operationProps: PropTypes.instanceOf(Iterable).isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n render(){\n let {\n getComponent,\n operationProps,\n } = this.props\n\n\n let {\n deprecated,\n isShown,\n path,\n tag,\n operationId,\n isDeepLinkingEnabled,\n } = operationProps.toJS()\n\n /**\n * Add word-break elements between each segment, before the slash\n * to allow browsers an opportunity to break long paths into sensible segments.\n */\n const pathParts = path.split(/(?=\\/)/g)\n for (let i = 1; i < pathParts.length; i += 2) {\n pathParts.splice(i, 0, )\n }\n\n const DeepLink = getComponent( \"DeepLink\" )\n\n return(\n \n \n \n\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const OperationExt = ({ extensions, getComponent }) => {\n let OperationExtRow = getComponent(\"OperationExtRow\")\n return (\n
\n
\n

Extensions

\n
\n
\n\n \n \n \n \n \n \n \n \n {\n extensions.entrySeq().map(([k, v]) => )\n }\n \n
FieldValue
\n
\n
\n )\n}\nOperationExt.propTypes = {\n extensions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n}\n\nexport default OperationExt\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const OperationExtRow = ({ xKey, xVal }) => {\n const xNormalizedValue = !xVal ? null : xVal.toJS ? xVal.toJS() : xVal\n\n return (\n { xKey }\n { JSON.stringify(xNormalizedValue) }\n )\n}\nOperationExtRow.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default OperationExtRow\n","/**\n * Replace invalid characters from a string to create an html-ready ID\n *\n * @param {string} id A string that may contain invalid characters for the HTML ID attribute\n * @param {string} [replacement=_] The string to replace invalid characters with; \"_\" by default\n * @return {string} Information about the parameter schema\n */\nexport default function createHtmlReadyId(id, replacement = \"_\") {\n return id.replace(/[^\\w-]/g, replacement)\n}\n","import React from \"react\"\nimport { fromJS, Iterable } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { defaultStatusCode, getAcceptControllingResponse } from \"core/utils\"\nimport createHtmlReadyId from \"core/utils/create-html-ready-id\"\n\nexport default class Responses extends React.Component {\n static propTypes = {\n tryItOutResponse: PropTypes.instanceOf(Iterable),\n responses: PropTypes.instanceOf(Iterable).isRequired,\n produces: PropTypes.instanceOf(Iterable),\n producesValue: PropTypes.any,\n displayRequestDuration: PropTypes.bool.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n fn: PropTypes.object.isRequired\n }\n\n static defaultProps = {\n tryItOutResponse: null,\n produces: fromJS([\"application/json\"]),\n displayRequestDuration: false\n }\n\n // These performance-enhancing checks were disabled as part of Multiple Examples\n // because they were causing data-consistency issues\n //\n // shouldComponentUpdate(nextProps) {\n // // BUG: props.tryItOutResponse is always coming back as a new Immutable instance\n // let render = this.props.tryItOutResponse !== nextProps.tryItOutResponse\n // || this.props.responses !== nextProps.responses\n // || this.props.produces !== nextProps.produces\n // || this.props.producesValue !== nextProps.producesValue\n // || this.props.displayRequestDuration !== nextProps.displayRequestDuration\n // || this.props.path !== nextProps.path\n // || this.props.method !== nextProps.method\n // return render\n // }\n\n\tonChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue([this.props.path, this.props.method], val)\n\n onResponseContentTypeChange = ({ controlsAcceptHeader, value }) => {\n const { oas3Actions, path, method } = this.props\n if(controlsAcceptHeader) {\n oas3Actions.setResponseContentType({\n value,\n path,\n method\n })\n }\n }\n\n render() {\n let {\n responses,\n tryItOutResponse,\n getComponent,\n getConfigs,\n specSelectors,\n fn,\n producesValue,\n displayRequestDuration,\n specPath,\n path,\n method,\n oas3Selectors,\n oas3Actions,\n } = this.props\n let defaultCode = defaultStatusCode( responses )\n\n const ContentType = getComponent( \"contentType\" )\n const LiveResponse = getComponent( \"liveResponse\" )\n const Response = getComponent( \"response\" )\n\n let produces = this.props.produces && this.props.produces.size ? this.props.produces : Responses.defaultProps.produces\n\n const isSpecOAS3 = specSelectors.isOAS3()\n\n const acceptControllingResponse = isSpecOAS3 ?\n getAcceptControllingResponse(responses) : null\n\n const regionId = createHtmlReadyId(`${method}${path}_responses`)\n const controlId = `${regionId}_select`\n\n return (\n
\n
\n

Responses

\n { specSelectors.isOAS3() ? null : }\n
\n
\n {\n !tryItOutResponse ? null\n :
\n \n

Responses

\n
\n\n }\n\n \n \n \n \n \n { specSelectors.isOAS3() ? : null }\n \n \n \n {\n responses.entrySeq().map( ([code, response]) => {\n\n let className = tryItOutResponse && tryItOutResponse.get(\"status\") == code ? \"response_current\" : \"\"\n return (\n \n )\n }).toArray()\n }\n \n
CodeDescriptionLinks
\n
\n
\n )\n }\n}\n","export function canJsonParse(str) {\n try {\n let testValueForJson = JSON.parse(str)\n return testValueForJson ? true : false\n } catch (e) {\n // exception: string is not valid json\n return null\n }\n}\n\nexport function getKnownSyntaxHighlighterLanguage(val) {\n // to start, only check for json. can expand as needed in future\n const isValidJson = canJsonParse(val)\n return isValidJson ? \"json\" : null\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport cx from \"classnames\"\nimport { fromJS, Seq, Iterable, List, Map } from \"immutable\"\nimport { getExtensions, fromJSOrdered, stringify } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\n\n\nconst getExampleComponent = ( sampleResponse, HighlightCode ) => {\n if (sampleResponse == null) return null\n\n const testValueForJson = getKnownSyntaxHighlighterLanguage(sampleResponse)\n const language = testValueForJson ? \"json\" : null\n\n return (\n
\n {stringify(sampleResponse)}\n
\n )\n}\n\nexport default class Response extends React.Component {\n constructor(props, context) {\n super(props, context)\n\n this.state = {\n responseContentType: \"\",\n }\n }\n\n static propTypes = {\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n code: PropTypes.string.isRequired,\n response: PropTypes.instanceOf(Iterable),\n className: PropTypes.string,\n getComponent: PropTypes.func.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n specPath: ImPropTypes.list.isRequired,\n fn: PropTypes.object.isRequired,\n contentType: PropTypes.string,\n activeExamplesKey: PropTypes.string,\n controlsAcceptHeader: PropTypes.bool,\n onContentTypeChange: PropTypes.func\n }\n\n static defaultProps = {\n response: fromJS({}),\n onContentTypeChange: () => {}\n }\n\n _onContentTypeChange = (value) => {\n const { onContentTypeChange, controlsAcceptHeader } = this.props\n this.setState({ responseContentType: value })\n onContentTypeChange({\n value: value,\n controlsAcceptHeader\n })\n }\n\n getTargetExamplesKey = () => {\n const { response, contentType, activeExamplesKey } = this.props\n\n const activeContentType = this.state.responseContentType || contentType\n const activeMediaType = response.getIn([\"content\", activeContentType], Map({}))\n const examplesForMediaType = activeMediaType.get(\"examples\", null)\n\n const firstExamplesKey = examplesForMediaType.keySeq().first()\n return activeExamplesKey || firstExamplesKey\n }\n\n render() {\n let {\n path,\n method,\n code,\n response,\n className,\n specPath,\n fn,\n getComponent,\n getConfigs,\n specSelectors,\n contentType,\n controlsAcceptHeader,\n oas3Actions,\n } = this.props\n\n let { inferSchema, getSampleSchema } = fn\n let isOAS3 = specSelectors.isOAS3()\n const { showExtensions } = getConfigs()\n\n let extensions = showExtensions ? getExtensions(response) : null\n let headers = response.get(\"headers\")\n let links = response.get(\"links\")\n const ResponseExtension = getComponent(\"ResponseExtension\")\n const Headers = getComponent(\"headers\")\n const HighlightCode = getComponent(\"HighlightCode\", true)\n const ModelExample = getComponent(\"modelExample\")\n const Markdown = getComponent(\"Markdown\", true)\n const OperationLink = getComponent(\"operationLink\")\n const ContentType = getComponent(\"contentType\")\n const ExamplesSelect = getComponent(\"ExamplesSelect\")\n const Example = getComponent(\"Example\")\n\n\n var schema, specPathWithPossibleSchema\n\n const activeContentType = this.state.responseContentType || contentType\n const activeMediaType = response.getIn([\"content\", activeContentType], Map({}))\n const examplesForMediaType = activeMediaType.get(\"examples\", null)\n\n // Goal: find a schema value for `schema`\n if(isOAS3) {\n const oas3SchemaForContentType = activeMediaType.get(\"schema\")\n\n schema = oas3SchemaForContentType ? inferSchema(oas3SchemaForContentType.toJS()) : null\n specPathWithPossibleSchema = oas3SchemaForContentType ? List([\"content\", this.state.responseContentType, \"schema\"]) : specPath\n } else {\n schema = response.get(\"schema\")\n specPathWithPossibleSchema = response.has(\"schema\") ? specPath.push(\"schema\") : specPath\n }\n\n let mediaTypeExample\n let shouldOverrideSchemaExample = false\n let sampleSchema\n let sampleGenConfig = {\n includeReadOnly: true\n }\n\n // Goal: find an example value for `sampleResponse`\n if(isOAS3) {\n sampleSchema = activeMediaType.get(\"schema\")?.toJS()\n if(Map.isMap(examplesForMediaType) && !examplesForMediaType.isEmpty()) {\n const targetExamplesKey = this.getTargetExamplesKey()\n const targetExample = examplesForMediaType\n .get(targetExamplesKey, Map({}))\n const getMediaTypeExample = (targetExample) =>\n targetExample.get(\"value\")\n mediaTypeExample = getMediaTypeExample(targetExample)\n if(mediaTypeExample === undefined) {\n mediaTypeExample = getMediaTypeExample(examplesForMediaType.values().next().value)\n }\n shouldOverrideSchemaExample = true\n } else if(activeMediaType.get(\"example\") !== undefined) {\n // use the example key's value\n mediaTypeExample = activeMediaType.get(\"example\")\n shouldOverrideSchemaExample = true\n }\n } else {\n sampleSchema = schema\n sampleGenConfig = {...sampleGenConfig, includeWriteOnly: true}\n const oldOASMediaTypeExample = response.getIn([\"examples\", activeContentType])\n if(oldOASMediaTypeExample) {\n mediaTypeExample = oldOASMediaTypeExample\n shouldOverrideSchemaExample = true\n }\n }\n\n const sampleResponse = getSampleSchema(\n sampleSchema,\n activeContentType,\n sampleGenConfig,\n shouldOverrideSchemaExample ? mediaTypeExample : undefined\n )\n\n const example = getExampleComponent( sampleResponse, HighlightCode )\n\n return (\n \n \n { code }\n \n \n\n
\n \n
\n\n { !showExtensions || !extensions.size ? null : extensions.entrySeq().map(([key, v]) => )}\n\n {isOAS3 && response.get(\"content\") ? (\n
\n \n \n Media type\n \n \n {controlsAcceptHeader ? (\n \n Controls Accept header.\n \n ) : null}\n \n {Map.isMap(examplesForMediaType) && !examplesForMediaType.isEmpty() ? (\n
\n \n Examples\n \n \n oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: [path, method],\n contextType: \"responses\",\n contextName: code\n })\n }\n showLabels={false}\n />\n
\n ) : null}\n
\n ) : null}\n\n { example || schema ? (\n \n ) : null }\n\n { isOAS3 && examplesForMediaType ? (\n \n ) : null}\n\n { headers ? (\n \n ) : null}\n\n \n {isOAS3 ? \n { links ?\n links.toSeq().entrySeq().map(([key, link]) => {\n return \n })\n : No links}\n : null}\n \n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const ResponseExtension = ({ xKey, xVal }) => {\n return
{ xKey }: { String(xVal) }
\n}\nResponseExtension.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default ResponseExtension\n","var x = function(y) {\n\tvar x = {}; __webpack_require__.d(x, y); return x\n} \nvar y = function(x) { return function() { return x; }; }\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: function() { return __WEBPACK_EXTERNAL_MODULE_xml_but_prettier_2ed4d5cb__[\"default\"]; } });","var x = function(y) {\n\tvar x = {}; __webpack_require__.d(x, y); return x\n} \nvar y = function(x) { return function() { return x; }; }\nvar __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: function() { return __WEBPACK_EXTERNAL_MODULE_lodash_toLower_c29ee2b0__[\"default\"]; } });","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport formatXml from \"xml-but-prettier\"\nimport toLower from \"lodash/toLower\"\nimport { extractFileNameFromContentDispositionHeader } from \"core/utils\"\nimport { getKnownSyntaxHighlighterLanguage } from \"core/utils/jsonParse\"\nimport win from \"core/window\"\n\nexport default class ResponseBody extends React.PureComponent {\n state = {\n parsedContent: null\n }\n\n static propTypes = {\n content: PropTypes.any.isRequired,\n contentType: PropTypes.string,\n getComponent: PropTypes.func.isRequired,\n headers: PropTypes.object,\n url: PropTypes.string\n }\n\n updateParsedContent = (prevContent) => {\n const { content } = this.props\n\n if(prevContent === content) {\n return\n }\n\n if(content && content instanceof Blob) {\n var reader = new FileReader()\n reader.onload = () => {\n this.setState({\n parsedContent: reader.result\n })\n }\n reader.readAsText(content)\n } else {\n this.setState({\n parsedContent: content.toString()\n })\n }\n }\n\n componentDidMount() {\n this.updateParsedContent(null)\n }\n\n componentDidUpdate(prevProps) {\n this.updateParsedContent(prevProps.content)\n }\n\n render() {\n let { content, contentType, url, headers={}, getComponent } = this.props\n const { parsedContent } = this.state\n const HighlightCode = getComponent(\"HighlightCode\", true)\n const downloadName = \"response_\" + new Date().getTime()\n let body, bodyEl\n url = url || \"\"\n\n if (\n (/^application\\/octet-stream/i.test(contentType) ||\n (headers[\"Content-Disposition\"] && /attachment/i.test(headers[\"Content-Disposition\"])) ||\n (headers[\"content-disposition\"] && /attachment/i.test(headers[\"content-disposition\"])) ||\n (headers[\"Content-Description\"] && /File Transfer/i.test(headers[\"Content-Description\"])) ||\n (headers[\"content-description\"] && /File Transfer/i.test(headers[\"content-description\"]))) &&\n (content.size > 0 || content.length > 0)\n ) {\n // Download\n\n if (\"Blob\" in window) {\n let type = contentType || \"text/html\"\n let blob = (content instanceof Blob) ? content : new Blob([content], {type: type})\n let href = window.URL.createObjectURL(blob)\n let fileName = url.substr(url.lastIndexOf(\"/\") + 1)\n let download = [type, fileName, href].join(\":\")\n\n // Use filename from response header,\n // First check if filename is quoted (e.g. contains space), if no, fallback to not quoted check\n let disposition = headers[\"content-disposition\"] || headers[\"Content-Disposition\"]\n if (typeof disposition !== \"undefined\") {\n let responseFilename = extractFileNameFromContentDispositionHeader(disposition)\n if (responseFilename !== null) {\n download = responseFilename\n }\n }\n\n if(win.navigator && win.navigator.msSaveOrOpenBlob) {\n bodyEl = \n } else {\n bodyEl = \n }\n } else {\n bodyEl =
Download headers detected but your browser does not support downloading binary via XHR (Blob).
\n }\n\n // Anything else (CORS)\n } else if (/json/i.test(contentType)) {\n // JSON\n let language = null\n let testValueForJson = getKnownSyntaxHighlighterLanguage(content)\n if (testValueForJson) {\n language = \"json\"\n }\n try {\n body = JSON.stringify(JSON.parse(content), null, \" \")\n } catch (error) {\n body = \"can't parse JSON. Raw result:\\n\\n\" + content\n }\n\n bodyEl = {body}\n\n // XML\n } else if (/xml/i.test(contentType)) {\n body = formatXml(content, {\n textNodesOnSameLine: true,\n indentor: \" \"\n })\n bodyEl = {body}\n\n // HTML or Plain Text\n } else if (toLower(contentType) === \"text/html\" || /text\\/plain/.test(contentType)) {\n bodyEl = {content}\n\n // CSV\n } else if (toLower(contentType) === \"text/csv\" || /text\\/csv/.test(contentType)) {\n bodyEl = {content}\n\n // Image\n } else if (/^image\\//i.test(contentType)) {\n if(contentType.includes(\"svg\")) {\n bodyEl =
{ content }
\n } else {\n bodyEl = \n }\n\n // Audio\n } else if (/^audio\\//i.test(contentType)) {\n bodyEl =
\n } else if (typeof content === \"string\") {\n bodyEl = {content}\n } else if ( content.size > 0 ) {\n // We don't know the contentType, but there was some content returned\n if(parsedContent) {\n // We were able to squeeze something out of content\n // in `updateParsedContent`, so let's display it\n bodyEl =
\n

\n Unrecognized response type; displaying content as text.\n

\n {parsedContent}\n
\n\n } else {\n // Give up\n bodyEl =

\n Unrecognized response type; unable to display.\n

\n }\n } else {\n // We don't know the contentType and there was no content returned\n bodyEl = null\n }\n\n return ( !bodyEl ? null :
\n
Response body
\n { bodyEl }\n
\n )\n }\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Map, List } from \"immutable\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport createHtmlReadyId from \"core/utils/create-html-ready-id\"\n\nexport default class Parameters extends Component {\n\n constructor(props) {\n super(props)\n this.state = {\n callbackVisible: false,\n parametersVisible: true,\n }\n }\n\n static propTypes = {\n parameters: ImPropTypes.list.isRequired,\n operation: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n fn: PropTypes.object.isRequired,\n tryItOutEnabled: PropTypes.bool,\n allowTryItOut: PropTypes.bool,\n onTryoutClick: PropTypes.func,\n onResetClick: PropTypes.func,\n onCancelClick: PropTypes.func,\n onChangeKey: PropTypes.array,\n pathMethod: PropTypes.array.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n }\n\n\n static defaultProps = {\n onTryoutClick: Function.prototype,\n onCancelClick: Function.prototype,\n tryItOutEnabled: false,\n allowTryItOut: true,\n onChangeKey: [],\n specPath: [],\n }\n\n onChange = (param, value, isXml) => {\n let {\n specActions: { changeParamByIdentity },\n onChangeKey,\n } = this.props\n\n changeParamByIdentity(onChangeKey, param, value, isXml)\n }\n\n onChangeConsumesWrapper = (val) => {\n let {\n specActions: { changeConsumesValue },\n onChangeKey,\n } = this.props\n\n changeConsumesValue(onChangeKey, val)\n }\n\n toggleTab = (tab) => {\n if (tab === \"parameters\") {\n return this.setState({\n parametersVisible: true,\n callbackVisible: false,\n })\n } else if (tab === \"callbacks\") {\n return this.setState({\n callbackVisible: true,\n parametersVisible: false,\n })\n }\n }\n \n onChangeMediaType = ({ value, pathMethod }) => {\n let { specActions, oas3Selectors, oas3Actions } = this.props\n const userHasEditedBody = oas3Selectors.hasUserEditedBody(...pathMethod)\n const shouldRetainRequestBodyValue = oas3Selectors.shouldRetainRequestBodyValue(...pathMethod)\n oas3Actions.setRequestContentType({ value, pathMethod })\n oas3Actions.initRequestBodyValidateError({ pathMethod })\n if (!userHasEditedBody) {\n if(!shouldRetainRequestBodyValue) {\n oas3Actions.setRequestBodyValue({ value: undefined, pathMethod })\n }\n specActions.clearResponse(...pathMethod)\n specActions.clearRequest(...pathMethod)\n specActions.clearValidateParams(pathMethod)\n }\n }\n\n render() {\n\n let {\n onTryoutClick,\n onResetClick,\n parameters,\n allowTryItOut,\n tryItOutEnabled,\n specPath,\n fn,\n getComponent,\n getConfigs,\n specSelectors,\n specActions,\n pathMethod,\n oas3Actions,\n oas3Selectors,\n operation,\n } = this.props\n\n const ParameterRow = getComponent(\"parameterRow\")\n const TryItOutButton = getComponent(\"TryItOutButton\")\n const ContentType = getComponent(\"contentType\")\n const Callbacks = getComponent(\"Callbacks\", true)\n const RequestBody = getComponent(\"RequestBody\", true)\n\n const isExecute = tryItOutEnabled && allowTryItOut\n const isOAS3 = specSelectors.isOAS3()\n\n const regionId = createHtmlReadyId(`${pathMethod[1]}${pathMethod[0]}_requests`)\n const controlId = `${regionId}_select`\n\n const requestBody = operation.get(\"requestBody\")\n\n const groupedParametersArr = Object.values(parameters\n .reduce((acc, x) => {\n const key = x.get(\"in\")\n acc[key] ??= []\n acc[key].push(x)\n return acc\n }, {}))\n .reduce((acc, x) => acc.concat(x), [])\n\n const retainRequestBodyValueFlagForOperation = (f) => oas3Actions.setRetainRequestBodyValueFlag({ value: f, pathMethod })\n return (\n
\n
\n {isOAS3 ? (\n
\n
this.toggleTab(\"parameters\")}\n className={`tab-item ${this.state.parametersVisible && \"active\"}`}>\n

Parameters

\n
\n {operation.get(\"callbacks\") ?\n (\n
this.toggleTab(\"callbacks\")}\n className={`tab-item ${this.state.callbackVisible && \"active\"}`}>\n

Callbacks

\n
\n ) : null\n }\n
\n ) : (\n
\n

Parameters

\n
\n )}\n {allowTryItOut ? (\n onResetClick(pathMethod)}/>\n ) : null}\n
\n {this.state.parametersVisible ?
\n {!groupedParametersArr.length ?

No parameters

:\n
\n \n \n \n \n \n \n \n \n {\n groupedParametersArr.map((parameter, i) => (\n \n ))\n }\n \n
NameDescription
\n
\n }\n
: null}\n\n {this.state.callbackVisible ?
\n \n
: null}\n {\n isOAS3 && requestBody && this.state.parametersVisible &&\n
\n
\n

Request\n body

\n \n
\n
\n {\n this.props.oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: this.props.pathMethod,\n contextType: \"requestBody\",\n contextName: \"requestBody\", // RBs are currently not stored per-mediaType\n })\n }\n }\n onChange={(value, path) => {\n if (path) {\n const lastValue = oas3Selectors.requestBodyValue(...pathMethod)\n const usableValue = Map.isMap(lastValue) ? lastValue : Map()\n return oas3Actions.setRequestBodyValue({\n pathMethod,\n value: usableValue.setIn(path, value),\n })\n }\n oas3Actions.setRequestBodyValue({ value, pathMethod })\n }}\n onChangeIncludeEmpty={(name, value) => {\n oas3Actions.setRequestBodyInclusion({\n pathMethod,\n value,\n name,\n })\n }}\n contentType={oas3Selectors.requestContentType(...pathMethod)} />\n
\n
\n }\n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport const ParameterExt = ({ xKey, xVal }) => {\n return
{ xKey }: { String(xVal) }
\n}\nParameterExt.propTypes = {\n xKey: PropTypes.string,\n xVal: PropTypes.any\n}\n\nexport default ParameterExt\n","import React, { Component } from \"react\"\nimport cx from \"classnames\"\nimport PropTypes from \"prop-types\"\n\n\nconst noop = () => { }\n\nconst ParameterIncludeEmptyPropTypes = {\n isIncluded: PropTypes.bool.isRequired,\n isDisabled: PropTypes.bool.isRequired,\n isIncludedOptions: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n}\n\nconst ParameterIncludeEmptyDefaultProps = {\n onChange: noop,\n isIncludedOptions: {},\n}\nexport default class ParameterIncludeEmpty extends Component {\n static propTypes = ParameterIncludeEmptyPropTypes\n static defaultProps = ParameterIncludeEmptyDefaultProps\n\n componentDidMount() {\n const { isIncludedOptions, onChange } = this.props\n const { shouldDispatchInit, defaultValue } = isIncludedOptions\n if (shouldDispatchInit) {\n onChange(defaultValue)\n }\n }\n\n onCheckboxChange = e => {\n const { onChange } = this.props\n onChange(e.target.checked)\n }\n\n render() {\n let { isIncluded, isDisabled } = this.props\n\n return (\n
\n \n
\n )\n }\n}\n","import React, { Component } from \"react\"\nimport { Map, List, fromJS } from \"immutable\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport win from \"core/window\"\nimport { getExtensions, getCommonExtensions, numberToString, stringify, isEmptyValue } from \"core/utils\"\nimport getParameterSchema from \"core/utils/get-parameter-schema.js\"\n\nexport default class ParameterRow extends Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n param: PropTypes.object.isRequired,\n rawParam: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n fn: PropTypes.object.isRequired,\n isExecute: PropTypes.bool,\n onChangeConsumes: PropTypes.func.isRequired,\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n pathMethod: PropTypes.array.isRequired,\n getConfigs: PropTypes.func.isRequired,\n specPath: ImPropTypes.list.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n }\n\n constructor(props, context) {\n super(props, context)\n\n this.setDefaultValue()\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n let { specSelectors, pathMethod, rawParam } = props\n let isOAS3 = specSelectors.isOAS3()\n\n let parameterWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || new Map()\n // fallback, if the meta lookup fails\n parameterWithMeta = parameterWithMeta.isEmpty() ? rawParam : parameterWithMeta\n\n let enumValue\n\n if(isOAS3) {\n let { schema } = getParameterSchema(parameterWithMeta, { isOAS3 })\n enumValue = schema ? schema.get(\"enum\") : undefined\n } else {\n enumValue = parameterWithMeta ? parameterWithMeta.get(\"enum\") : undefined\n }\n let paramValue = parameterWithMeta ? parameterWithMeta.get(\"value\") : undefined\n\n let value\n\n if ( paramValue !== undefined ) {\n value = paramValue\n } else if ( rawParam.get(\"required\") && enumValue && enumValue.size ) {\n value = enumValue.first()\n }\n\n if ( value !== undefined && value !== paramValue ) {\n this.onChangeWrapper(numberToString(value))\n }\n // todo: could check if schema here; if not, do not call. impact?\n this.setDefaultValue()\n }\n\n onChangeWrapper = (value, isXml = false) => {\n let { onChange, rawParam } = this.props\n let valueForUpstream\n\n // Coerce empty strings and empty Immutable objects to null\n if(value === \"\" || (value && value.size === 0)) {\n valueForUpstream = null\n } else {\n valueForUpstream = value\n }\n\n return onChange(rawParam, valueForUpstream, isXml)\n }\n\n _onExampleSelect = (key, /* { isSyntheticChange } = {} */) => {\n this.props.oas3Actions.setActiveExamplesMember({\n name: key,\n pathMethod: this.props.pathMethod,\n contextType: \"parameters\",\n contextName: this.getParamKey()\n })\n }\n\n onChangeIncludeEmpty = (newValue) => {\n let { specActions, param, pathMethod } = this.props\n const paramName = param.get(\"name\")\n const paramIn = param.get(\"in\")\n return specActions.updateEmptyParamInclusion(pathMethod, paramName, paramIn, newValue)\n }\n\n setDefaultValue = () => {\n let { specSelectors, pathMethod, rawParam, oas3Selectors, fn } = this.props\n\n const paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || Map()\n let { schema } = getParameterSchema(paramWithMeta, { isOAS3: specSelectors.isOAS3() })\n const parameterMediaType = paramWithMeta\n .get(\"content\", Map())\n .keySeq()\n .first()\n\n // getSampleSchema could return null\n const generatedSampleValue = schema ? fn.getSampleSchema(schema.toJS(), parameterMediaType, {\n\n includeWriteOnly: true\n }) : null\n\n if (!paramWithMeta || paramWithMeta.get(\"value\") !== undefined) {\n return\n }\n\n if( paramWithMeta.get(\"in\") !== \"body\" ) {\n let initialValue\n\n //// Find an initial value\n\n if (specSelectors.isSwagger2()) {\n initialValue =\n paramWithMeta.get(\"x-example\") !== undefined\n ? paramWithMeta.get(\"x-example\")\n : paramWithMeta.getIn([\"schema\", \"example\"]) !== undefined\n ? paramWithMeta.getIn([\"schema\", \"example\"])\n : (schema && schema.getIn([\"default\"]))\n } else if (specSelectors.isOAS3()) {\n schema = this.composeJsonSchema(schema)\n\n const currentExampleKey = oas3Selectors.activeExamplesMember(...pathMethod, \"parameters\", this.getParamKey())\n initialValue =\n paramWithMeta.getIn([\"examples\", currentExampleKey, \"value\"]) !== undefined\n ? paramWithMeta.getIn([\"examples\", currentExampleKey, \"value\"])\n : paramWithMeta.getIn([\"content\", parameterMediaType, \"example\"]) !== undefined\n ? paramWithMeta.getIn([\"content\", parameterMediaType, \"example\"])\n : paramWithMeta.get(\"example\") !== undefined\n ? paramWithMeta.get(\"example\")\n : (schema && schema.get(\"example\")) !== undefined\n ? (schema && schema.get(\"example\"))\n : (schema && schema.get(\"default\")) !== undefined\n ? (schema && schema.get(\"default\"))\n : paramWithMeta.get(\"default\") // ensures support for `parameterMacro`\n }\n\n //// Process the initial value\n\n if(initialValue !== undefined && !List.isList(initialValue)) {\n // Stringify if it isn't a List\n initialValue = stringify(initialValue)\n }\n\n //// Dispatch the initial value\n\n if(initialValue !== undefined) {\n this.onChangeWrapper(initialValue)\n } else if(\n schema && schema.get(\"type\") === \"object\"\n && generatedSampleValue\n && !paramWithMeta.get(\"examples\")\n ) {\n // Object parameters get special treatment.. if the user doesn't set any\n // default or example values, we'll provide initial values generated from\n // the schema.\n // However, if `examples` exist for the parameter, we won't do anything,\n // so that the appropriate `examples` logic can take over.\n this.onChangeWrapper(\n List.isList(generatedSampleValue) ? (\n generatedSampleValue\n ) : (\n stringify(generatedSampleValue)\n )\n )\n }\n }\n }\n\n getParamKey() {\n const { param } = this.props\n\n if(!param) return null\n\n return `${param.get(\"name\")}-${param.get(\"in\")}`\n }\n\n composeJsonSchema(schema) {\n const { fn } = this.props\n const oneOf = schema.get(\"oneOf\")?.get(0)?.toJS()\n const anyOf = schema.get(\"anyOf\")?.get(0)?.toJS()\n return fromJS(fn.mergeJsonSchema(schema.toJS(), oneOf ?? anyOf ?? {}))\n }\n\n render() {\n let {param, rawParam, getComponent, getConfigs, isExecute, fn, onChangeConsumes, specSelectors, pathMethod, specPath, oas3Selectors} = this.props\n\n let isOAS3 = specSelectors.isOAS3()\n\n const { showExtensions, showCommonExtensions } = getConfigs()\n\n if(!param) {\n param = rawParam\n }\n\n if(!rawParam) return null\n\n // const onChangeWrapper = (value) => onChange(param, value)\n const JsonSchemaForm = getComponent(\"JsonSchemaForm\")\n const ParamBody = getComponent(\"ParamBody\")\n let inType = param.get(\"in\")\n let bodyParam = inType !== \"body\" ? null\n : \n\n const ModelExample = getComponent(\"modelExample\")\n const Markdown = getComponent(\"Markdown\", true)\n const ParameterExt = getComponent(\"ParameterExt\")\n const ParameterIncludeEmpty = getComponent(\"ParameterIncludeEmpty\")\n const ExamplesSelectValueRetainer = getComponent(\"ExamplesSelectValueRetainer\")\n const Example = getComponent(\"Example\")\n\n let { schema } = getParameterSchema(param, { isOAS3 })\n let paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || Map()\n\n if (isOAS3) {\n schema = this.composeJsonSchema(schema)\n }\n \n let format = schema ? schema.get(\"format\") : null\n let type = schema ? schema.get(\"type\") : null\n let itemType = schema ? schema.getIn([\"items\", \"type\"]) : null\n let isFormData = inType === \"formData\"\n let isFormDataSupported = \"FormData\" in win\n let required = param.get(\"required\")\n\n let value = paramWithMeta ? paramWithMeta.get(\"value\") : \"\"\n let commonExt = showCommonExtensions ? getCommonExtensions(schema) : null\n let extensions = showExtensions ? getExtensions(param) : null\n\n let paramItems // undefined\n let paramEnum // undefined\n let paramDefaultValue // undefined\n let paramExample // undefined\n let isDisplayParamEnum = false\n\n if ( param !== undefined && schema ) {\n paramItems = schema.get(\"items\")\n }\n\n if (paramItems !== undefined) {\n paramEnum = paramItems.get(\"enum\")\n paramDefaultValue = paramItems.get(\"default\")\n } else if (schema) {\n paramEnum = schema.get(\"enum\")\n }\n\n if ( paramEnum && paramEnum.size && paramEnum.size > 0) {\n isDisplayParamEnum = true\n }\n\n // Default and Example Value for readonly doc\n if ( param !== undefined ) {\n if (schema) {\n paramDefaultValue = schema.get(\"default\")\n }\n if (paramDefaultValue === undefined) {\n paramDefaultValue = param.get(\"default\")\n }\n paramExample = param.get(\"example\")\n if (paramExample === undefined) {\n paramExample = param.get(\"x-example\")\n }\n }\n\n return (\n \n \n
\n { param.get(\"name\") }\n { !required ? null :  * }\n
\n
\n { type }\n { itemType && `[${itemType}]` }\n { format && (${format})}\n
\n
\n { isOAS3 && param.get(\"deprecated\") ? \"deprecated\": null }\n
\n
({ param.get(\"in\") })
\n \n\n \n { param.get(\"description\") ? : null }\n\n { (bodyParam || !isExecute) && isDisplayParamEnum ?\n Available values
: \" + paramEnum.map(function(item) {\n return item\n }).toArray().map(String).join(\", \")}/>\n : null\n }\n\n { (bodyParam || !isExecute) && paramDefaultValue !== undefined ?\n Default value
: \" + paramDefaultValue}/>\n : null\n }\n\n { (bodyParam || !isExecute) && paramExample !== undefined ?\n Example
: \" + paramExample}/>\n : null\n }\n\n {(isFormData && !isFormDataSupported) &&
Error: your browser does not support FormData
}\n\n {\n isOAS3 && param.get(\"examples\") ? (\n
\n \n
\n ) : null\n }\n\n { bodyParam ? null\n : \n }\n\n\n {\n bodyParam && schema ? \n : null\n }\n\n {\n !bodyParam && isExecute && param.get(\"allowEmptyValue\") ?\n \n : null\n }\n\n {\n isOAS3 && param.get(\"examples\") ? (\n \n ) : null\n }\n\n { !showCommonExtensions || !commonExt.size ? null : commonExt.entrySeq().map(([key, v]) => )}\n { !showExtensions || !extensions.size ? null : extensions.entrySeq().map(([key, v]) => )}\n\n \n\n \n )\n\n }\n\n}\n","import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\n\nexport default class Execute extends Component {\n\n static propTypes = {\n specSelectors: PropTypes.object.isRequired,\n specActions: PropTypes.object.isRequired,\n operation: PropTypes.object.isRequired,\n path: PropTypes.string.isRequired,\n method: PropTypes.string.isRequired,\n oas3Selectors: PropTypes.object.isRequired,\n oas3Actions: PropTypes.object.isRequired,\n onExecute: PropTypes.func,\n disabled: PropTypes.bool\n }\n\n handleValidateParameters = () => {\n let { specSelectors, specActions, path, method } = this.props\n specActions.validateParams([path, method])\n return specSelectors.validateBeforeExecute([path, method])\n }\n\n handleValidateRequestBody = () => {\n let { path, method, specSelectors, oas3Selectors, oas3Actions } = this.props\n let validationErrors = {\n missingBodyValue: false,\n missingRequiredKeys: []\n }\n // context: reset errors, then (re)validate\n oas3Actions.clearRequestBodyValidateError({ path, method })\n let oas3RequiredRequestBodyContentType = specSelectors.getOAS3RequiredRequestBodyContentType([path, method])\n let oas3RequestBodyValue = oas3Selectors.requestBodyValue(path, method)\n let oas3ValidateBeforeExecuteSuccess = oas3Selectors.validateBeforeExecute([path, method])\n let oas3RequestContentType = oas3Selectors.requestContentType(path, method)\n\n if (!oas3ValidateBeforeExecuteSuccess) {\n validationErrors.missingBodyValue = true\n oas3Actions.setRequestBodyValidateError({ path, method, validationErrors })\n return false\n }\n if (!oas3RequiredRequestBodyContentType) {\n return true\n }\n let missingRequiredKeys = oas3Selectors.validateShallowRequired({\n oas3RequiredRequestBodyContentType,\n oas3RequestContentType,\n oas3RequestBodyValue\n })\n if (!missingRequiredKeys || missingRequiredKeys.length < 1) {\n return true\n }\n missingRequiredKeys.forEach((missingKey) => {\n validationErrors.missingRequiredKeys.push(missingKey)\n })\n oas3Actions.setRequestBodyValidateError({ path, method, validationErrors })\n return false\n }\n\n handleValidationResultPass = () => {\n let { specActions, operation, path, method } = this.props\n if (this.props.onExecute) {\n // loading spinner\n this.props.onExecute()\n }\n specActions.execute({ operation, path, method })\n }\n\n handleValidationResultFail = () => {\n let { specActions, path, method } = this.props\n // deferred by 40ms, to give element class change time to settle.\n specActions.clearValidateParams([path, method])\n setTimeout(() => {\n specActions.validateParams([path, method])\n }, 40)\n }\n\n handleValidationResult = (isPass) => {\n if (isPass) {\n this.handleValidationResultPass()\n } else {\n this.handleValidationResultFail()\n }\n }\n\n onClick = () => {\n let paramsResult = this.handleValidateParameters()\n let requestBodyResult = this.handleValidateRequestBody()\n let isPass = paramsResult && requestBodyResult\n this.handleValidationResult(isPass)\n }\n\n onChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue([this.props.path, this.props.method], val)\n\n render(){\n const { disabled } = this.props\n return (\n \n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Im from \"immutable\"\n\nconst propClass = \"header-example\"\n\nexport default class Headers extends React.Component {\n static propTypes = {\n headers: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired\n }\n\n render() {\n let { headers, getComponent } = this.props\n\n const Property = getComponent(\"Property\")\n const Markdown = getComponent(\"Markdown\", true)\n\n if ( !headers || !headers.size )\n return null\n\n return (\n
\n

Headers:

\n \n \n \n \n \n \n \n \n \n {\n headers.entrySeq().map( ([ key, header ]) => {\n if(!Im.Map.isMap(header)) {\n return null\n }\n\n const description = header.get(\"description\")\n const type = header.getIn([\"schema\"]) ? header.getIn([\"schema\", \"type\"]) : header.getIn([\"type\"])\n const schemaExample = header.getIn([\"schema\", \"example\"])\n\n return (\n \n \n \n )\n }).toArray()\n }\n \n
NameDescriptionType
{ key }{\n !description ? null : \n }{ type } { schemaExample ? : null }
\n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { List } from \"immutable\"\n\nexport default class Errors extends React.Component {\n\n static propTypes = {\n editorActions: PropTypes.object,\n errSelectors: PropTypes.object.isRequired,\n layoutSelectors: PropTypes.object.isRequired,\n layoutActions: PropTypes.object.isRequired,\n getComponent: PropTypes.func.isRequired,\n }\n\n render() {\n let { editorActions, errSelectors, layoutSelectors, layoutActions, getComponent } = this.props\n\n const Collapse = getComponent(\"Collapse\")\n\n if(editorActions && editorActions.jumpToLine) {\n var jumpToLine = editorActions.jumpToLine\n }\n\n let errors = errSelectors.allErrors()\n\n // all thrown errors, plus error-level everything else\n let allErrorsToDisplay = errors.filter(err => err.get(\"type\") === \"thrown\" ? true :err.get(\"level\") === \"error\")\n\n if(!allErrorsToDisplay || allErrorsToDisplay.count() < 1) {\n return null\n }\n\n let isVisible = layoutSelectors.isShown([\"errorPane\"], true)\n let toggleVisibility = () => layoutActions.show([\"errorPane\"], !isVisible)\n\n let sortedJSErrors = allErrorsToDisplay.sortBy(err => err.get(\"line\"))\n\n return (\n
\n        
\n

Errors

\n \n
\n \n
\n { sortedJSErrors.map((err, i) => {\n let type = err.get(\"type\")\n if(type === \"thrown\" || type === \"auth\") {\n return \n }\n if(type === \"spec\") {\n return \n }\n }) }\n
\n
\n
\n )\n }\n}\n\nconst ThrownErrorItem = ( { error, jumpToLine } ) => {\n if(!error) {\n return null\n }\n let errorLine = error.get(\"line\")\n\n return (\n
\n { !error ? null :\n
\n

{ (error.get(\"source\") && error.get(\"level\")) ?\n toTitleCase(error.get(\"source\")) + \" \" + error.get(\"level\") : \"\" }\n { error.get(\"path\") ? at {error.get(\"path\")}: null }

\n \n { error.get(\"message\") }\n \n
\n { errorLine && jumpToLine ? Jump to line { errorLine } : null }\n
\n
\n }\n
\n )\n }\n\nconst SpecErrorItem = ( { error, jumpToLine = null } ) => {\n let locationMessage = null\n\n if(error.get(\"path\")) {\n if(List.isList(error.get(\"path\"))) {\n locationMessage = at { error.get(\"path\").join(\".\") }\n } else {\n locationMessage = at { error.get(\"path\") }\n }\n } else if(error.get(\"line\") && !jumpToLine) {\n locationMessage = on line { error.get(\"line\") }\n }\n\n return (\n
\n { !error ? null :\n
\n

{ toTitleCase(error.get(\"source\")) + \" \" + error.get(\"level\") } { locationMessage }

\n { error.get(\"message\") }\n
\n { jumpToLine ? (\n Jump to line { error.get(\"line\") }\n ) : null }\n
\n
\n }\n
\n )\n }\n\nfunction toTitleCase(str) {\n return (str || \"\")\n .split(\" \")\n .map(substr => substr[0].toUpperCase() + substr.slice(1))\n .join(\" \")\n}\n\nThrownErrorItem.propTypes = {\n error: PropTypes.object.isRequired,\n jumpToLine: PropTypes.func\n}\n\nSpecErrorItem.propTypes = {\n error: PropTypes.object.isRequired,\n jumpToLine: PropTypes.func\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport ImPropTypes from \"react-immutable-proptypes\"\nimport { fromJS } from \"immutable\"\n\nconst noop = ()=>{}\n\nexport default class ContentType extends React.Component {\n\n static propTypes = {\n ariaControls: PropTypes.string,\n contentTypes: PropTypes.oneOfType([ImPropTypes.list, ImPropTypes.set, ImPropTypes.seq]),\n controlId: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n className: PropTypes.string,\n ariaLabel: PropTypes.string\n }\n\n static defaultProps = {\n onChange: noop,\n value: null,\n contentTypes: fromJS([\"application/json\"]),\n }\n\n componentDidMount() {\n // Needed to populate the form, initially\n if(this.props.contentTypes) {\n this.props.onChange(this.props.contentTypes.first())\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if(!nextProps.contentTypes || !nextProps.contentTypes.size) {\n return\n }\n\n if(!nextProps.contentTypes.includes(nextProps.value)) {\n nextProps.onChange(nextProps.contentTypes.first())\n }\n }\n\n onChangeWrapper = e => this.props.onChange(e.target.value)\n\n render() {\n let { ariaControls, ariaLabel, className, contentTypes, controlId, value } = this.props\n\n if ( !contentTypes || !contentTypes.size )\n return null\n\n return (\n
\n \n
\n )\n }\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nfunction xclass(...args) {\n return args.filter(a => !!a).join(\" \").trim()\n}\n\nexport class Container extends React.Component {\n render() {\n let { fullscreen, full, ...rest } = this.props\n // Normal element\n\n if(fullscreen)\n return
\n\n let containerClass = \"swagger-container\" + (full ? \"-full\" : \"\")\n return (\n
\n )\n }\n}\n\nContainer.propTypes = {\n fullscreen: PropTypes.bool,\n full: PropTypes.bool,\n className: PropTypes.string\n}\n\nconst DEVICES = {\n \"mobile\": \"\",\n \"tablet\": \"-tablet\",\n \"desktop\": \"-desktop\",\n \"large\": \"-hd\"\n}\n\nexport class Col extends React.Component {\n\n render() {\n const {\n hide,\n keepContents,\n /* we don't want these in the `rest` object that passes to the final component,\n since React now complains. So we extract them */\n /* eslint-disable no-unused-vars */\n mobile,\n tablet,\n desktop,\n large,\n /* eslint-enable no-unused-vars */\n ...rest\n } = this.props\n\n if(hide && !keepContents)\n return \n\n let classesAr = []\n\n for (let device in DEVICES) {\n if (!Object.prototype.hasOwnProperty.call(DEVICES, device)) {\n continue\n }\n let deviceClass = DEVICES[device]\n if(device in this.props) {\n let val = this.props[device]\n\n if(val < 1) {\n classesAr.push(\"none\" + deviceClass)\n continue\n }\n\n classesAr.push(\"block\" + deviceClass)\n classesAr.push(\"col-\" + val + deviceClass)\n }\n }\n\n if (hide) {\n classesAr.push(\"hidden\")\n }\n\n let classes = xclass(rest.className, ...classesAr)\n\n return (\n
\n )\n }\n\n}\n\nCol.propTypes = {\n hide: PropTypes.bool,\n keepContents: PropTypes.bool,\n mobile: PropTypes.number,\n tablet: PropTypes.number,\n desktop: PropTypes.number,\n large: PropTypes.number,\n className: PropTypes.string\n}\n\nexport class Row extends React.Component {\n\n render() {\n return
\n }\n\n}\n\nRow.propTypes = {\n className: PropTypes.string\n}\n\nexport class Button extends React.Component {\n\n static propTypes = {\n className: PropTypes.string\n }\n\n static defaultProps = {\n className: \"\"\n }\n\n render() {\n return